:root{--tvd-navy:#14243A;--tvd-gold:#C79B4A;--tvd-cream:#F5EFE4;--tvd-body:#263342;--tvd-line:#E5DECF}
*{box-sizing:border-box}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-underline-offset:3px}
:where(a,button,input,summary):focus-visible{outline:2px solid var(--tvd-gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Header */
.tvd-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid var(--tvd-line)}
/* Three-part single-line header: logo | nav | CTA */
.tvd-header .tvd-header__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,1.8vw,32px);max-width:1320px;margin-inline:auto;padding-inline:clamp(16px,3vw,28px)}
.tvd-header .tvd-header__inner>.wp-block-buttons{margin:0}
.tvd-header .wp-block-site-logo img{max-height:60px;width:auto}
.tvd-header .wp-block-button__link{white-space:nowrap}
.tvd-nav{justify-content:flex-end;align-items:center}
.tvd-nav .wp-block-navigation-item__content{font-size:.95rem;font-weight:500;letter-spacing:.01em}
.tvd-nav .wp-block-navigation-submenu>.wp-block-navigation__submenu-container{border:1px solid var(--tvd-line);box-shadow:0 18px 40px rgba(20,36,58,.12);border-radius:4px;padding:.4rem 0;background:#fff}
.tvd-nav .wp-block-navigation__submenu-container a{padding:.55rem 1.1rem}
/* Desktop: force every top-level item onto one line, scale spacing/type to fit */
@media (min-width:1200px){
  .tvd-header .tvd-nav{flex-wrap:nowrap!important;gap:clamp(.55rem,.95vw,1.15rem)!important}
  .tvd-header .tvd-nav>.wp-block-navigation-item{white-space:nowrap}
  .tvd-header .tvd-nav .wp-block-navigation-item__content{font-size:clamp(.83rem,.6rem + .3vw,.95rem)}
}
/* Below desktop the 8-item menu can't fit on one line — use the hamburger overlay
   instead of a cramped 2-row inline menu (raises WP's default 600px breakpoint to 1199px). */
@media (max-width:1199px){
  .tvd-header .wp-block-navigation__responsive-container-open{display:flex!important}
  .tvd-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
}
@media (max-width:1024px){.tvd-header .wp-block-site-logo img{max-height:56px}}
@media (max-width:781px){.tvd-header .wp-block-site-logo img{max-height:48px}}

/* ===== MOBILE MENU FIX (<=1199px) =====
   Root cause: .tvd-header's backdrop-filter established a containing block, trapping WP's
   position:fixed overlay inside the ~72px header bar (shallow top panel + clipped items).
   Fix: drop the filter at mobile so the overlay is viewport-relative, then render a complete,
   opaque, full-height, scrollable panel with the nav items stacked. Desktop (>=1200px) unchanged. */
@media (max-width:1199px){
  .tvd-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .tvd-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed;inset-inline:0;top:0;bottom:0;width:100%;height:100vh;height:100dvh;
    background:var(--tvd-cream)!important;z-index:10000;overflow-y:auto;overflow-x:hidden;padding:0;display:block}
  .tvd-header .is-menu-open .wp-block-navigation__responsive-close{max-width:none;width:100%;height:auto;min-height:100%}
  .tvd-header .is-menu-open .wp-block-navigation__responsive-dialog{margin:0;padding:1.1rem 1.4rem calc(1.6rem + env(safe-area-inset-bottom))}
  .tvd-header .is-menu-open .wp-block-navigation__responsive-container-close{position:absolute;top:1rem;right:1.1rem;z-index:3;color:var(--tvd-navy)}
  .tvd-header .is-menu-open .wp-block-navigation__container{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%;margin-top:2.4rem}
  .tvd-header .is-menu-open .wp-block-navigation-item{width:100%}
  .tvd-header .is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:.95rem .2rem;font-size:1.12rem;color:var(--tvd-navy);border-bottom:1px solid var(--tvd-line)}
  .tvd-header .is-menu-open .wp-block-navigation-submenu__toggle{color:var(--tvd-navy)}
  .tvd-header .is-menu-open .wp-block-navigation__submenu-container{position:static!important;width:100%;border:0;box-shadow:none;background:transparent;padding:0 0 0 1rem;opacity:1;visibility:visible}
  .tvd-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:1rem;border-bottom:1px solid rgba(199,155,74,.25)}
  .tvd-header .is-menu-open .wp-block-buttons{margin-top:1.4rem}
  .tvd-header .is-menu-open .wp-block-button__link{display:block;text-align:center}
  /* while the menu modal is open: lock body scroll, hide the sticky bottom action bar */
  html.has-modal-open,body.has-modal-open{overflow:hidden!important}
  html.has-modal-open .tvd-actionbar,body.has-modal-open .tvd-actionbar{display:none!important}
}

/* Sticky mobile action bar */
.tvd-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:1px;background:var(--tvd-line);padding-bottom:env(safe-area-inset-bottom)}
.tvd-ab{flex:1;text-align:center;padding:.95rem .5rem;font-size:.82rem;font-weight:600;letter-spacing:.03em;text-decoration:none;background:#fff;color:var(--tvd-navy)}
.tvd-ab--cta{background:var(--tvd-navy);color:#fff}
.tvd-ab--wa{background:#0b7a54;color:#fff}
.tvd-ab--call{background:var(--tvd-cream)}
@media (max-width:781px){.tvd-actionbar{display:flex}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.tvd-footer{padding-bottom:calc(var(--wp--preset--spacing--40) + 12px)}}

/* Hero */
.tvd-hero{position:relative;isolation:isolate;color:#fff}
.tvd-hero .tvd-hero__bg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-2}
.tvd-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,36,58,.30),rgba(20,36,58,.72))}
/* Townhouses hero: extra left-anchored scrim so the left-aligned copy stays legible over a busier image */
.th-hero:not(.th-finalcta):before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,30,50,.86) 0%,rgba(16,30,50,.72) 42%,rgba(16,30,50,.42) 66%,rgba(16,30,50,0) 88%)}

/* Strategy / community / insight cards */
.tvd-card{background:#fff;border:1px solid var(--tvd-line);border-radius:6px;overflow:hidden;height:100%;transition:transform .25s ease,box-shadow .25s ease}
.tvd-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(20,36,58,.13)}
.tvd-card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.tvd-eyebrow{font-family:-apple-system,Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700}

/* Decision comparison */
.tvd-compare{border:1px solid var(--tvd-line);border-radius:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tvd-compare table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:520px}
@media (max-width:600px){.tvd-compare{position:relative}.tvd-compare:after{content:"⟷ scroll";position:sticky;left:0;display:block;font-size:.7rem;color:var(--tvd-gold);padding:.2rem .6rem;background:var(--tvd-cream)}}
.tvd-compare th,.tvd-compare td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--tvd-line);vertical-align:top}
.tvd-compare thead th{background:var(--tvd-navy);color:#fff;font-weight:600}

/* Process steps */
.tvd-step{border-left:2px solid var(--tvd-gold);padding-left:1.1rem}
.tvd-step .tvd-step__n{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.8rem;color:var(--tvd-gold);line-height:1}

/* Evidence / disclaimer note */
.tvd-note{background:var(--tvd-cream);border:1px solid var(--tvd-line);border-left:3px solid var(--tvd-gold);border-radius:4px;padding:1rem 1.2rem;font-size:.92rem;color:#4a4030}
.tvd-note strong{color:var(--tvd-navy)}

/* FAQ accordion (native details) */
.tvd-faq details{border-bottom:1px solid var(--tvd-line)}
.tvd-faq summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-weight:600;color:var(--tvd-navy);display:flex;justify-content:space-between;gap:1rem;font-size:1.05rem}
.tvd-faq summary::-webkit-details-marker{display:none}
.tvd-faq summary:after{content:"+";color:var(--tvd-gold);font-size:1.4rem;line-height:1}
.tvd-faq details[open] summary:after{content:"\2013"}
.tvd-faq details>div{padding:0 0 1.1rem;color:var(--tvd-body)}

/* Footer */
.tvd-footer{background:var(--tvd-navy);color:#cdd6e2}
.tvd-footer a{color:#e7ecf3}
.tvd-footer a:hover{color:var(--tvd-gold)}
.tvd-footer .tvd-role{font-size:.82rem;color:#95a2b6;line-height:1.6}
.tvd-footer__credit{font-size:.72rem;letter-spacing:.02em;color:#7d8ba1;margin-top:.35rem;text-transform:lowercase}

/* WhatsApp button — brand navy/gold, restrained green only in the glyph (§16) */
.tvd-wa-btn{display:inline-flex;align-items:center;gap:.55rem;background:transparent;color:var(--tvd-navy)!important;border:1.5px solid var(--tvd-navy);border-radius:4px;padding:.8rem 1.4rem;font-size:.88rem;font-weight:600;letter-spacing:.02em;text-decoration:none;margin:.5rem .5rem .2rem 0;transition:background .18s ease,color .18s ease,border-color .18s ease}
.tvd-wa-btn:hover{background:var(--tvd-navy);color:#fff!important;border-color:var(--tvd-navy)}
.tvd-wa-btn:hover .tvd-wa-ico{color:#25D366}
.tvd-wa-btn .tvd-wa-ico{flex:0 0 auto;color:#25D366}
.tvd-hero .tvd-wa-btn{color:#fff!important;border-color:rgba(255,255,255,.7)}
.tvd-hero .tvd-wa-btn:hover{background:#fff;color:var(--tvd-navy)!important;border-color:#fff}
@media (max-width:781px){.tvd-wa-btn{display:flex;justify-content:center;width:100%;min-height:48px}}

/* Home hero — left-aligned content */
.tvd-hero--home .tvd-hero__inner{margin-left:0;margin-right:auto;text-align:left}
.tvd-hero--home .tvd-hero__inner > p,.tvd-hero--home .tvd-hero__inner > h1{max-width:620px}
.tvd-hero--home{display:flex;align-items:center}

/* Strategy-first callout + trust line */
.tvd-quote{border-left:3px solid var(--tvd-gold);padding:.4rem 0 .4rem 1.4rem;margin:1.6rem auto;max-width:640px}
.tvd-quote p{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;line-height:1.35;color:var(--tvd-navy)}
.tvd-trustline{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700}

/* Six-factor framework */
.tvd-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin:2rem 0}
.tvd-factor{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:6px;padding:1.3rem 1.2rem}
.tvd-factor__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--tvd-cream);color:var(--tvd-gold);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;font-weight:600;margin-bottom:.6rem}
.tvd-factor h3{font-size:1.15rem;margin:.2rem 0 .4rem}
.tvd-factor p{font-size:.92rem;color:var(--tvd-body)}
@media (max-width:900px){.tvd-factors{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tvd-factors{grid-template-columns:1fr}}
.tvd-callout{background:var(--tvd-navy);color:#dfe6ef;border-radius:8px;padding:1.6rem 1.8rem;margin-top:1.6rem}
.tvd-callout h3{color:var(--tvd-gold)!important;margin-bottom:.5rem}
.tvd-callout p{color:#dfe6ef}

/* Value routes */
.tvd-vroute .wp-block-column img{border-radius:6px;aspect-ratio:4/3;object-fit:cover;width:100%}

/* Comparison cards */
.tvd-compare-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0}
.tvd-cc{background:#fff;border:1px solid var(--tvd-line);border-radius:6px;padding:1.2rem 1.1rem}
.tvd-cc h3{font-size:1.1rem;color:var(--tvd-navy);border-bottom:2px solid var(--tvd-gold);padding-bottom:.5rem;margin-bottom:.7rem}
.tvd-cc__k{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin-top:.6rem}
.tvd-cc__row p{font-size:.9rem;margin:.15rem 0 .4rem}
@media (max-width:900px){.tvd-compare-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.tvd-compare-cards{grid-template-columns:1fr}}

/* Six-stage process (on navy) */
.villa-process__steps{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;counter-reset:none}
.villa-process__step{position:relative;padding-top:.5rem}
.villa-process__number{width:44px;height:44px;border-radius:50%;background:var(--tvd-gold);color:var(--tvd-navy);display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-weight:700;margin-bottom:.8rem}
.villa-process__content h3{color:#fff;font-size:1.05rem;margin:0 0 .35rem}
.villa-process__content p{color:#c4cede;font-size:.86rem}
.villa-process__steps:before{content:"";position:absolute;top:22px;left:22px;right:22px;height:1px;background:rgba(199,155,74,.4);z-index:0}
.villa-process__step{z-index:1}
@media (max-width:900px){.villa-process__steps{grid-template-columns:repeat(3,1fr)}.villa-process__steps:before{display:none}}
@media (max-width:560px){.villa-process__steps{grid-template-columns:1fr;gap:0}.villa-process__step{padding:0 0 1.4rem 0;border-left:2px solid rgba(199,155,74,.4);margin-left:22px;padding-left:1.4rem}.villa-process__number{margin-left:-44px}}
.tvd-partner{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:1.2rem 1.4rem;margin-top:2rem}
.tvd-partner p{color:#c4cede;font-size:.9rem}

/* Evidence key */
.tvd-evkey{background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:6px;padding:1.2rem 1.4rem;margin-top:1.6rem}
.tvd-evkey ul{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.tvd-evkey li{background:#fff;border:1px solid var(--tvd-line);border-radius:20px;padding:.35rem .9rem;font-size:.82rem}
.tvd-evkey__note{font-size:.82rem;color:#6a6250;margin-top:.4rem}

/* ================= HOMEPAGE V3 POLISH ================= */
/* Consistent section rhythm (overrides per-section inline padding) */
body.home main > .wp-block-group,
body.home main > section.wp-block-group{padding-top:clamp(2.75rem,5.2vw,4.5rem)!important;padding-bottom:clamp(2.75rem,5.2vw,4.5rem)!important}
body.home .tvd-hero--home{padding-top:clamp(3.5rem,7vw,6rem)!important;padding-bottom:clamp(3.5rem,7vw,6rem)!important}
body.home .tvd-hero:not(.tvd-hero--home){padding-top:clamp(3.25rem,6vw,5.25rem)!important;padding-bottom:clamp(3.25rem,6vw,5.25rem)!important}
/* Tighten heading rhythm */
body.home .tvd-eyebrow{margin-bottom:.35rem}
body.home h2.wp-block-heading{margin-top:.15rem;margin-bottom:.5rem}
body.home .wp-block-columns{margin-top:1.6rem!important}

/* Equal-height cards with CTA pinned to bottom — SCOPED to columns that hold a card only */
.wp-block-column:has(> .tvd-card){display:flex}
.wp-block-column > .tvd-card{width:100%}
/* never let footer/text columns collapse words */
.tvd-footer .wp-block-column{display:block!important}
.tvd-footer p,.tvd-footer li,.tvd-footer a{overflow-wrap:normal;word-break:normal;hyphens:none}
.tvd-card{display:flex;flex-direction:column;height:100%}
.tvd-card > .wp-block-image{margin:0}
.tvd-card > .wp-block-group{flex:1 1 auto;display:flex;flex-direction:column}
.tvd-card .wp-block-buttons,
.tvd-card p:last-child{margin-top:auto}
.tvd-card .wp-block-buttons{padding-top:.7rem}
.tvd-card .wp-block-list{margin:.3rem 0 .5rem}
/* Card CTAs: consistent, not forced full-width on desktop */
.tvd-card .wp-block-button__link{padding-top:.7rem;padding-bottom:.7rem}

/* Strategy cards: image ratio consistent */
.tvd-strat > .wp-block-image img{aspect-ratio:16/10;object-fit:cover;width:100%}

/* Six-factor + six-stage: equal cells (grid already stretches) — normalise inner top */
.tvd-factor h3,.villa-process__content h3{margin-top:0}
/* reserve 2 lines for step/factor headings so descriptions align on one baseline */
.villa-process__content h3{min-height:2.5em;display:flex;align-items:flex-start}
@media (max-width:560px){.villa-process__content h3{min-height:0}}
.tvd-factor h3{min-height:1.4em}

/* Value routes: consistent image + balanced gutter */
.tvd-vroute{margin-top:2.2rem!important}
.tvd-vroute .wp-block-column img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:6px}

/* Callouts / notes align to component width */
body.home .tvd-callout,body.home .tvd-note,body.home .tvd-partner,body.home .tvd-evkey{max-width:100%}

/* Strategy cards (Buy Smart / Build Right / Upgrade): equal-height cards already,
   but the CTA sits directly after uneven content. Pin it to a common bottom
   baseline (the theme's block-gap otherwise overrides margin-top:auto) and centre
   it. Scoped by the INCLUDES list that only the three strategy cards carry, so no
   other homepage card (none of which has a CTA) is affected. */
body.home .tvd-card:has(.wp-block-list) .wp-block-buttons{margin-top:auto!important;justify-content:center}

/* Evidence labels: keep all four pills on one centred row at desktop widths.
   The pill box sits in a ~760px constrained column; widen it into the section's
   spare width (entry-content ~1265px) so the fourth label no longer wraps. */
@media (min-width:1000px){
  body.home .tvd-evkey{width:calc(100% + 104px);max-width:none;margin-inline:-52px;padding-left:1.1rem;padding-right:1.1rem}
  body.home .tvd-evkey ul{flex-wrap:nowrap;gap:.85rem}
  body.home .tvd-evkey li{white-space:nowrap}
}
/* Tablet: two labels per row (rather than 3+1); shrinkable columns avoid overflow. */
@media (max-width:999px){
  body.home .tvd-evkey ul{display:grid;grid-template-columns:1fr 1fr;justify-items:center;gap:.6rem}
}
/* Small mobile: one label per row. */
@media (max-width:439px){
  body.home .tvd-evkey ul{grid-template-columns:1fr}
}

/* Buttons: consistent height + gaps */
.wp-block-buttons{gap:.7rem;align-items:center}
.wp-block-button__link{min-height:46px;display:inline-flex;align-items:center;justify-content:center}

/* MOBILE refinement */
@media (max-width:781px){
  body.home .wp-block-columns{margin-top:1.1rem!important;gap:1.1rem}
  .tvd-vroute{margin-top:1.4rem!important}
  body.home main > .wp-block-group,body.home main > section.wp-block-group{padding-top:clamp(2.25rem,7vw,3rem)!important;padding-bottom:clamp(2.25rem,7vw,3rem)!important}
  .tvd-card .wp-block-buttons .wp-block-button,.tvd-card .wp-block-button__link{width:100%}
  .villa-process__steps{gap:0}
}
@media (max-width:600px){
  .tvd-quote p{font-size:1.25rem}
  .tvd-evkey ul{gap:.4rem}
}

/* Unified CTA rows — all buttons one line, equal height */
.tvd-hero--home .tvd-hero__inner{max-width:780px}
.tvd-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem;align-items:stretch}
.tvd-cta-row--center{justify-content:center}
.tvd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.8rem 1.25rem;border-radius:4px;font-size:.875rem;font-weight:600;letter-spacing:.015em;line-height:1.1;text-decoration:none;border:1.5px solid transparent;white-space:nowrap}
.tvd-btn--primary{background:var(--tvd-navy);color:#fff}
.tvd-btn--primary:hover{background:var(--tvd-gold);color:var(--tvd-navy)}
.tvd-btn--outline{background:transparent;border-color:var(--tvd-navy);color:var(--tvd-navy)}
.tvd-btn--outline:hover{background:var(--tvd-navy);color:#fff}
.tvd-cta-row .tvd-wa-btn{margin:0;min-height:52px;white-space:nowrap}
.tvd-hero .tvd-btn--outline{color:#fff;border-color:rgba(255,255,255,.8)}
.tvd-hero .tvd-btn--outline:hover{background:#fff;color:var(--tvd-navy)}
.tvd-hero .tvd-wa-btn{color:#fff;border-color:rgba(255,255,255,.8)}
.tvd-hero .tvd-wa-btn:hover{background:#fff;color:var(--tvd-navy)}
@media (max-width:781px){.tvd-cta-row{flex-direction:column}.tvd-cta-row .tvd-btn,.tvd-cta-row .tvd-wa-btn{width:100%;white-space:normal}}

/* Stronger Sharjah/Ajman coverage note + general note contrast */
.tvd-note{background:#fbf7ee;border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);color:#3d3626;padding:1.1rem 1.4rem}
.tvd-note strong{color:var(--tvd-navy)}
body.home section .tvd-note{background:#fff;box-shadow:0 2px 14px rgba(20,36,58,.05)}

/* Insight / card read-more CTA — more prominent (gold, uppercase micro-cta) */
.tvd-card a[href="/insights/"],.tvd-card a[href="/case-studies/"]{color:var(--tvd-gold)!important;font-weight:700;letter-spacing:.03em}
.tvd-card a[href="/insights/"]:hover,.tvd-card a[href="/case-studies/"]:hover{color:var(--tvd-navy)!important}

/* Footer: full readable logo, readable columns */
.tvd-footer__logo img{max-width:190px!important;width:100%;height:auto;margin-bottom:1rem}
.tvd-footer .wp-block-columns{gap:2rem}
.tvd-footer__credit{color:#8794a8}
.tvd-footer .tvd-wa-btn{color:#fff!important;border-color:rgba(255,255,255,.55);margin:.6rem 0}
.tvd-footer .tvd-wa-btn:hover{background:#fff;color:var(--tvd-navy)!important;border-color:#fff}
.tvd-footer .tvd-wa-btn .tvd-wa-ico{color:#25D366}
.tvd-footer ul{list-style:none;padding:0}
.tvd-footer .tvd-eyebrow{margin-bottom:.5rem}

/* Footer logo — reverse vector master (icon + wordmark) */
@media (max-width:781px){.tvd-footer__logo img{max-width:160px!important}}

/* Strategy Call form */
.tvd-form{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.6rem;max-width:720px;margin:1rem auto}
.tvd-form__row{margin-bottom:1rem}
.tvd-form__row.tvd-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.tvd-form__row.tvd-2{grid-template-columns:1fr}}
.tvd-f{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--tvd-navy)}
.tvd-f input,.tvd-f select,.tvd-f textarea{font:inherit;font-weight:400;padding:.7rem .8rem;border:1px solid var(--tvd-line);border-radius:4px;background:#fff;color:var(--tvd-body);min-height:44px}
.tvd-f input:focus,.tvd-f select:focus,.tvd-f textarea:focus{outline:2px solid var(--tvd-gold);outline-offset:1px;border-color:var(--tvd-gold)}
.tvd-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;margin:.6rem 0;color:var(--tvd-body);font-weight:400}
.tvd-check input{margin-top:.2rem;min-width:18px;min-height:18px}
.tvd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.tvd-form__actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
.tvd-form__submit{min-height:48px}
.tvd-form__msg{margin-top:1rem;font-size:.92rem;min-height:1.2em}
.tvd-form__msg.is-ok{color:#0b7a54;font-weight:600}
.tvd-form__msg.is-err{color:#b3402f;font-weight:600}
@media (max-width:600px){.tvd-form__actions>*{width:100%;justify-content:center}}

/* ================= COMMUNITY VILLAS PAGE V3 ================= */
/* Consistent section rhythm (scoped to this page via body slug class) */
.page-slug-community-villas-dubai main > .wp-block-group,
.page-slug-community-villas-dubai main > section.wp-block-group{padding-top:clamp(2.75rem,5.2vw,4.5rem)!important;padding-bottom:clamp(2.75rem,5.2vw,4.5rem)!important}
.page-slug-community-villas-dubai .cv-hero{padding-top:clamp(3.5rem,7vw,6rem)!important;padding-bottom:clamp(3.5rem,7vw,6rem)!important}
.page-slug-community-villas-dubai .cv-finalcta{padding-top:clamp(3.25rem,6vw,5.25rem)!important;padding-bottom:clamp(3.25rem,6vw,5.25rem)!important}
.page-slug-community-villas-dubai h2.wp-block-heading{margin-top:.15rem;margin-bottom:.5rem;font-size:clamp(1.7rem,1.3rem + 1.8vw,2.5rem)}
.page-slug-community-villas-dubai .tvd-eyebrow{margin-bottom:.4rem}

/* Hero — left content */
.cv-hero{display:flex;align-items:center;min-height:74vh}
.cv-hero__inner{margin-right:auto;text-align:left;max-width:820px}
.cv-hero__inner h1{color:#fff;font-size:clamp(2.4rem,1.7rem + 2.7vw,3.9rem);line-height:1.08;margin:.2rem 0 .6rem;max-width:680px}
.cv-hero__lead{color:#fff;font-size:1.25rem;font-weight:600;max-width:640px;margin:0 0 .4rem}
.cv-hero__sub{color:#f2ede3;font-size:1.08rem;max-width:640px}

/* Intro editorial + architectural graphic */
.cv-intro__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.cv-intro__text h2{font-size:clamp(1.8rem,1.4rem + 1.9vw,2.6rem);margin-bottom:.6rem}
.cv-intro__text p{font-size:1.05rem;color:var(--tvd-body);margin:.6rem 0}
.cv-principle{border-left:3px solid var(--tvd-gold);padding:.3rem 0 .3rem 1.3rem;margin-top:1.3rem!important;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);line-height:1.3;color:var(--tvd-navy)!important;font-weight:500}
.cv-intro__figure img{width:100%;border-radius:10px;border:1px solid var(--tvd-line);display:block}
@media (max-width:820px){.cv-intro__grid{grid-template-columns:1fr}.cv-intro__figure{order:-1}}

/* Shared gold-bullet checklist */
.cv-check{list-style:none;padding:0;margin:.4rem 0 1rem}
.cv-check li{position:relative;padding-left:1.35rem;margin:.42rem 0;font-size:.94rem;color:var(--tvd-body);line-height:1.45}
.cv-check li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border:1px solid var(--tvd-gold);border-radius:50%;transform:translateY(-50%)}
.cv-lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:1rem 0 .1rem}

/* Gold SVG icon medallion (shared) */
.cv-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--tvd-gold);background:rgba(245,239,228,.45);margin-bottom:1rem;flex:0 0 auto}
.cv-ico svg{width:28px;height:28px;fill:none;stroke:var(--tvd-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* §3 Six-factor framework */
.cv-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.1rem}
.cv-fcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.5rem 1.4rem;display:flex;flex-direction:column}
.cv-fcard h3{font-size:1.12rem;margin:.1rem 0 .4rem;color:var(--tvd-navy)}
.cv-fcard p{font-size:.92rem;color:var(--tvd-body)}
@media (max-width:920px){.cv-factors{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cv-factors{grid-template-columns:1fr}}

/* §4 Pathways */
.cv-pathways{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2.1rem;align-items:stretch}
.cv-path{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.cv-path:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(20,36,58,.13)}
.cv-path__figure{margin:0}
.cv-path__img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.cv-path__body{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1 1 auto}
.cv-path__body h3{font-size:1.3rem;margin:0 0 .2rem;color:var(--tvd-navy)}
.cv-path__sub{font-weight:600;color:var(--tvd-navy);margin:0 0 .5rem}
.cv-path__body>p{font-size:.95rem;color:var(--tvd-body)}
.cv-path__cta{margin-top:auto;padding-top:.6rem}
.cv-path__cta .tvd-btn{width:100%}
@media (max-width:820px){.cv-pathways{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

/* §5 Off-plan vs ready comparison (desktop grid table -> mobile cards) */
.cv-vs{margin-top:2.1rem;border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden;background:#fff}
.cv-vs__row{display:grid;grid-template-columns:1.05fr 1.45fr 1.45fr}
.cv-vs__row+.cv-vs__row{border-top:1px solid var(--tvd-line)}
.cv-vs__head{background:var(--tvd-navy);color:#fff}
.cv-vs__head .cv-vs__cell{font-weight:600;color:#fff}
.cv-vs__head .cv-vs__cell--factor{background:var(--tvd-navy);color:#fff}
.cv-vs__cell{padding:.95rem 1.1rem;font-size:.95rem;color:var(--tvd-body);line-height:1.45}
.cv-vs__cell+.cv-vs__cell{border-left:1px solid var(--tvd-line)}
.cv-vs__cell--factor{font-weight:600;color:var(--tvd-navy);background:#fbf7ee}
.cv-vs__k{display:none}
@media (max-width:760px){
  .cv-vs{border:none;background:transparent}
  .cv-vs__head{display:none}
  .cv-vs__row{grid-template-columns:1fr;border:1px solid var(--tvd-line)!important;border-radius:8px;margin-bottom:1rem;overflow:hidden;background:#fff}
  .cv-vs__cell{border-left:none!important}
  .cv-vs__cell+.cv-vs__cell{border-top:1px solid var(--tvd-line)}
  .cv-vs__cell--factor{font-size:1.05rem;background:#fbf7ee}
  .cv-vs__k{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin-bottom:.2rem}
}

/* §6 Community stages */
.cv-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.1rem;align-items:stretch}
.cv-stage{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.cv-stage__figure{margin:0}
.cv-stage__img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.cv-stage__body{padding:1.4rem;display:flex;flex-direction:column;flex:1 1 auto}
.cv-stage__body h3{font-size:1.2rem;margin:0;color:var(--tvd-navy)}
.cv-stage .cv-lbl:first-of-type{margin-top:.7rem}
@media (max-width:900px){.cv-stages{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

/* §7 Practical comparison cards (distinct from §3: flat, header row, checklist) */
.cv-grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.1rem}
.cv-ccard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.4rem 1.35rem}
.cv-ccard:nth-child(2n){background:linear-gradient(180deg,rgba(245,239,228,.5),#fff)}
.cv-ccard__h{display:flex;align-items:center;gap:.8rem;margin-bottom:.5rem}
.cv-ccard__h .cv-ico{width:44px;height:44px;margin:0}
.cv-ccard__h .cv-ico svg{width:22px;height:22px}
.cv-ccard__h h3{font-size:1.08rem;margin:0;color:var(--tvd-navy)}
.cv-ccard .cv-check{margin-bottom:0}
@media (max-width:920px){.cv-grid6{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cv-grid6{grid-template-columns:1fr}}

/* §8 Objective cards (compact, cream section, thin gold rule) */
.cv-objectives{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.1rem}
.cv-ocard{background:#fff;border:1px solid var(--tvd-line);border-top:2px solid var(--tvd-gold);border-radius:6px;padding:1.3rem 1.25rem}
.cv-ocard .cv-ico{width:48px;height:48px;margin-bottom:.85rem}
.cv-ocard .cv-ico svg{width:24px;height:24px}
.cv-ocard h3{font-size:1.04rem;margin:0 0 .35rem;color:var(--tvd-navy)}
.cv-ocard p{font-size:.9rem;color:var(--tvd-body);margin:0}
.tvd-fineprint{color:#6a6250;max-width:760px;margin-left:auto;margin-right:auto;margin-top:1.6rem}
@media (max-width:920px){.cv-objectives{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cv-objectives{grid-template-columns:1fr}}

/* §10 Sharjah/Ajman cream info block */
.cv-beyond{position:relative;overflow:hidden;background:linear-gradient(135deg,#faf7f1,#f5efe4);border:1px solid var(--tvd-line);border-radius:10px;padding:clamp(1.6rem,3vw,2.2rem) clamp(1.6rem,3.5vw,2.4rem)}
.cv-beyond:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--tvd-gold)}
.cv-beyond__grid{display:grid;grid-template-columns:1.5fr auto;gap:clamp(1.2rem,3vw,2.4rem);align-items:center}
.cv-beyond__text h2{margin:.2rem 0 .5rem;font-size:clamp(1.5rem,1.2rem + 1.4vw,2rem);color:var(--tvd-navy)}
.cv-beyond__text p{color:#3d3626;margin:.4rem 0}
.cv-beyond__cta .tvd-wa-btn{margin:0;white-space:nowrap}
@media (max-width:760px){.cv-beyond__grid{grid-template-columns:1fr}.cv-beyond__cta .tvd-wa-btn{width:100%}}

/* §11 Community intelligence cards */
.cv-insights{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2rem;align-items:stretch}
.cv-icard{display:flex;flex-direction:column;height:100%}
.cv-icard__figure{margin:0}
.cv-icard__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.cv-icard__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1 1 auto}
.cv-icard__body h3{font-size:1.02rem;margin:0 0 .35rem;color:var(--tvd-navy);line-height:1.25}
.cv-icard__body p{font-size:.88rem;color:var(--tvd-body);margin:0}
.cv-icard__more{margin-top:auto;padding-top:.7rem;font-size:.82rem;font-weight:700;letter-spacing:.03em}
.cv-icard__more a{color:var(--tvd-gold)}
.cv-icard__more a:hover{color:var(--tvd-navy)}
@media (max-width:980px){.cv-insights{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cv-insights{grid-template-columns:1fr}}

/* Final CTA reuses .tvd-hero; center content */
.cv-finalcta{text-align:center}
.cv-finalcta .tvd-cta-row{justify-content:center}

/* Mobile: full-width buttons for pathways/beyond */
@media (max-width:781px){
  .page-slug-community-villas-dubai main > .wp-block-group,
  .page-slug-community-villas-dubai main > section.wp-block-group{padding-top:clamp(2.25rem,7vw,3rem)!important;padding-bottom:clamp(2.25rem,7vw,3rem)!important}
  .cv-hero__lead{font-size:1.12rem}
}

/* ================= OFF-PLAN VILLAS PAGE V3 ================= */
.page-slug-off-plan-villas-dubai main > .wp-block-group,
.page-slug-off-plan-villas-dubai main > section.wp-block-group{padding-top:clamp(2.75rem,5.2vw,4.5rem)!important;padding-bottom:clamp(2.75rem,5.2vw,4.5rem)!important}
.page-slug-off-plan-villas-dubai .op-hero{padding-top:clamp(3.5rem,7vw,6rem)!important;padding-bottom:clamp(3.5rem,7vw,6rem)!important}
.page-slug-off-plan-villas-dubai .op-finalcta{padding-top:clamp(3.25rem,6vw,5.25rem)!important;padding-bottom:clamp(3.25rem,6vw,5.25rem)!important}
.page-slug-off-plan-villas-dubai h2.wp-block-heading{margin-top:.15rem;margin-bottom:.5rem;font-size:clamp(1.7rem,1.3rem + 1.8vw,2.5rem)}
.page-slug-off-plan-villas-dubai .tvd-eyebrow{margin-bottom:.4rem}

/* Hero */
.op-hero{display:flex;align-items:center;min-height:74vh}
.op-hero__inner{margin-right:auto;text-align:left;max-width:820px}
.op-hero__inner h1{color:#fff;font-size:clamp(2.4rem,1.7rem + 2.7vw,3.9rem);line-height:1.08;margin:.2rem 0 .6rem;max-width:660px}
.op-hero__lead{color:#fff;font-size:1.2rem;font-weight:600;max-width:640px;margin:0 0 .4rem}
.op-hero__sub{color:#f2ede3;font-size:1.05rem;max-width:640px}

/* Shared icon medallion + checklists + labels */
.op-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--tvd-gold);background:rgba(245,239,228,.45);margin-bottom:1rem;flex:0 0 auto}
.op-ico svg{width:28px;height:28px;fill:none;stroke:var(--tvd-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.op-ico--sm{width:40px;height:40px;margin:0}.op-ico--sm svg{width:22px;height:22px}
.op-check{list-style:none;padding:0;margin:.4rem 0 0}
.op-check li{position:relative;padding-left:1.35rem;margin:.4rem 0;font-size:.92rem;color:var(--tvd-body);line-height:1.45}
.op-check li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border:1px solid var(--tvd-gold);border-radius:50%;transform:translateY(-50%)}
.op-check--q li:before{border-radius:1px}
.op-check--caution li:before{border-radius:1px;border-color:#b9962f;background:rgba(185,150,47,.15)}
.op-lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:1rem 0 .1rem}
.op-subhead{text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;color:var(--tvd-navy);margin:1.8rem 0 0}
.op-fineprint{text-align:center;color:#6a6250;font-size:.82rem;max-width:760px;margin:1.4rem auto 0}

/* Notes / callouts with icon */
.op-note{display:flex;gap:1rem;align-items:flex-start;background:#fbf7ee;border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);border-radius:8px;padding:1.15rem 1.4rem;margin-top:1.6rem;color:#3d3626;font-size:.95rem}
.op-note strong{color:var(--tvd-navy)}
.op-note p{margin:0}
.op-note .op-ico--sm{border-color:var(--tvd-gold);background:rgba(245,239,228,.6)}
.op-note--gold{justify-content:center;text-align:center;background:#fbf7ee}

/* 2. Six decision elements */
.op-elements{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.op-elcard{position:relative;background:var(--tvd-cream);border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.5rem 1.4rem 1.4rem}
.op-elnum{position:absolute;top:1rem;right:1.2rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;color:rgba(199,155,74,.55);font-weight:700;line-height:1}
.op-elcard .op-ico{margin-bottom:.8rem;background:#fff}
.op-elcard h3{font-size:1.12rem;margin:0 0 .35rem;color:var(--tvd-navy)}
.op-elcard p{font-size:.92rem;color:var(--tvd-body);margin:0}
@media(max-width:920px){.op-elements{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.op-elements{grid-template-columns:1fr}}

/* 3. Why off-plan — lead + supporting */
.op-why{display:grid;grid-template-columns:.92fr 1.08fr;gap:1.6rem;margin-top:2rem;align-items:stretch}
.op-why__lead{background:var(--tvd-navy);color:#fff;border-radius:12px;padding:1.8rem 1.9rem;display:flex;flex-direction:column;justify-content:center}
.op-eyebrow-inline{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700}
.op-why__lead h3{color:#fff;font-size:clamp(1.4rem,1.1rem + 1.1vw,1.85rem);margin:.4rem 0 .5rem;font-family:"Cormorant Garamond",Georgia,serif}
.op-why__lead p{color:#dfe6ef;font-size:1rem;margin:0}
.op-why__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.6rem}
.op-supp{border-top:2px solid var(--tvd-line);padding-top:.7rem}
.op-supp h3{font-size:1rem;margin:0 0 .2rem;color:var(--tvd-navy)}
.op-supp p{font-size:.88rem;color:var(--tvd-body);margin:0}
@media(max-width:820px){.op-why{grid-template-columns:1fr}.op-why__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.op-why__grid{grid-template-columns:1fr}}

/* 4. Lifestyle */
.op-lifegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.op-lifecard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.5rem 1.4rem}
.op-lifecard h3{font-size:1.08rem;margin:.1rem 0 .4rem;color:var(--tvd-navy)}
.op-lifecard p{font-size:.9rem;color:var(--tvd-body);margin:0}
.op-wideimg{margin:2rem 0 0}
.op-wideimg img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:12px;display:block}
/* Assessment ("Look Beyond the Brochure") band — same full width as the process bands, taller editorial ratio so the villa frontage isn't over-cropped */
.op-assessimg img{aspect-ratio:16/9}
.op-advisory{background:var(--tvd-navy);border-radius:12px;padding:1.5rem 1.9rem;margin-top:1.4rem;text-align:center}
.op-advisory p{color:#f2ede3;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.2rem,1rem + 1vw,1.55rem);line-height:1.4;margin:0}
@media(max-width:920px){.op-lifegrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.op-lifegrid{grid-template-columns:1fr}.op-wideimg img{aspect-ratio:16/10}}

/* 5. Payment timeline + review factors */
.op-timeline{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem;position:relative}
.op-timeline:before{content:"";position:absolute;top:26px;left:7%;right:7%;height:2px;background:rgba(199,155,74,.4);z-index:0}
.op-tstep{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.op-tnum{width:52px;height:52px;border-radius:50%;background:var(--tvd-navy);color:#fff;border:2px solid var(--tvd-gold);display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;font-weight:700;margin-bottom:.6rem}
.op-tlabel{font-size:.8rem;color:var(--tvd-navy);font-weight:600;line-height:1.25;max-width:120px}
.op-review{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.op-rev{background:#fff;border:1px solid var(--tvd-line);border-radius:6px;padding:1rem 1.1rem}
.op-rev h4{font-size:.96rem;margin:0 0 .3rem;color:var(--tvd-navy)}
.op-rev p{font-size:.85rem;color:var(--tvd-body);margin:0;line-height:1.4}
@media(max-width:900px){.op-review{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.op-timeline{grid-template-columns:1fr;gap:0;max-width:440px;margin-inline:auto}.op-timeline:before{left:26px;right:auto;top:26px;bottom:26px;width:2px;height:auto}.op-tstep{flex-direction:row;gap:1rem;text-align:left;padding:.45rem 0}.op-tlabel{max-width:none;font-size:.95rem}}
@media(max-width:520px){.op-review{grid-template-columns:1fr}}

/* 6. Buyer fit — navy head strip */
.op-buyerfit{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2rem;align-items:stretch}
.op-bfcard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.op-bfhead{background:var(--tvd-navy);color:#fff;padding:1rem 1.2rem;display:flex;align-items:center;gap:.7rem}
.op-bfhead .op-ico{margin:0;width:40px;height:40px;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08)}
.op-bfhead h3{color:#fff;font-size:1.02rem;margin:0;line-height:1.2}
.op-bfbody{padding:1.2rem;border-top:2px solid var(--tvd-gold);flex:1 1 auto}
.op-bfbody>p{font-size:.9rem;color:var(--tvd-body);margin:0}
@media(max-width:920px){.op-buyerfit{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.op-buyerfit{grid-template-columns:1fr}}

/* 7. Strategy-fit two-column panel */
.op-stratfit{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;background:#fff;border:1px solid var(--tvd-line);border-radius:14px;padding:clamp(1.6rem,3vw,2.4rem)}
.op-stratfit__intro h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.1rem);margin:.2rem 0 .6rem;color:var(--tvd-navy)}
.op-stratfit__intro p{color:var(--tvd-body);margin-bottom:1.2rem}
.op-stratfit__list{background:#fbf7ee;border-radius:10px;padding:1.4rem 1.6rem}
.op-stratfit__list .op-lbl{margin-top:0}
@media(max-width:820px){.op-stratfit{grid-template-columns:1fr;gap:1.4rem}}

/* 8. Developer + 14 risks (shared restrained card look) */
.op-devgrid,.op-risks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.op-devcard,.op-riskcard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.4rem 1.35rem}
.op-devcard .op-ico,.op-riskcard .op-ico{width:48px;height:48px}
.op-devcard h3,.op-riskcard h3{font-size:1.04rem;margin:0 0 .35rem;color:var(--tvd-navy)}
.op-devcard p,.op-riskcard p{font-size:.9rem;color:var(--tvd-body);margin:0}
@media(max-width:920px){.op-devgrid,.op-risks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.op-devgrid,.op-risks{grid-template-columns:1fr}}

/* 9. Master plan — 3 large cards */
.op-mplan{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem;align-items:stretch}
.op-mpcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.6rem 1.5rem;display:flex;flex-direction:column}
.op-mpcard:nth-child(2){border-top-width:5px}
.op-mpcard:nth-child(3){border-top-width:7px}
.op-mpstage{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700}
.op-mpcard h3{font-size:1.22rem;margin:.3rem 0 .4rem;color:var(--tvd-navy);font-family:"Cormorant Garamond",Georgia,serif}
.op-mpdef{font-size:.92rem;color:var(--tvd-body);font-style:italic;margin:0}
@media(max-width:900px){.op-mplan{grid-template-columns:1fr;max-width:580px;margin-inline:auto}.op-mpcard,.op-mpcard:nth-child(2),.op-mpcard:nth-child(3){border-top-width:3px}}

/* 10. Project assessment — numbered masonry-ish 2-col */
.op-assess{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;margin-top:2rem;grid-auto-rows:1fr}
.op-ascard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.4rem 1.5rem}
.op-ashead{display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem}
.op-asnum{width:32px;height:32px;border-radius:50%;background:var(--tvd-cream);color:var(--tvd-gold);font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;display:grid;place-items:center;font-size:1.05rem;flex:0 0 auto}
.op-ashead .op-ico{width:40px;height:40px;margin:0}
.op-ashead h3{font-size:1.08rem;margin:0;color:var(--tvd-navy)}
.op-ascard>p{font-size:.9rem;color:var(--tvd-body);margin:.2rem 0 0}
@media(max-width:760px){.op-assess{grid-template-columns:1fr}}

/* 11. Purchase process — compact node line (top) + balanced 4+3 detail grid */
.op-steprail{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;position:relative}
.op-steprail:before{content:"";position:absolute;top:22px;left:7%;right:7%;height:2px;background:rgba(199,155,74,.4);z-index:0}
.op-railstep{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.op-railnum{width:44px;height:44px;border-radius:50%;background:var(--tvd-gold);color:var(--tvd-navy);display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:1.15rem;margin-bottom:.5rem}
.op-raillabel{font-size:.75rem;color:var(--tvd-navy);font-weight:600;line-height:1.2;max-width:120px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Detail cards: 12-col grid → four span-3 (row 1) + three span-4 (row 2) */
.op-stages{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.4rem;margin-top:2.6rem}
.op-stagecard{grid-column:span 3;display:flex;flex-direction:column;min-height:330px;background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.5rem 1.4rem;box-shadow:0 14px 34px rgba(18,36,59,.06)}
.op-stagecard:nth-child(n+5){grid-column:span 4}
.op-stagehead{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.op-stagenum{width:38px;height:38px;border-radius:50%;background:var(--tvd-navy);color:#fff;display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;flex:0 0 auto}
.op-stagehead h3{font-size:1.06rem;margin:0;color:var(--tvd-navy)}
/* Tablet: node line wraps 4+3 (no connector); cards two-per-row, last centred */
@media(max-width:1050px){
  .op-steprail{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem 1.3rem}
  .op-steprail:before{display:none}
  .op-railstep{flex:0 0 21%}
  .op-raillabel{max-width:none}
  .op-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-stagecard:nth-child(n){grid-column:auto}
  .op-stagecard:last-child{grid-column:1 / -1;width:calc(50% - .7rem);justify-self:center}
}
/* Mobile: single column; hide the compressed node line (cards carry the process) */
@media(max-width:680px){
  .op-steprail{display:none}
  .op-stages{grid-template-columns:1fr;gap:1rem}
  .op-stagecard:nth-child(n),.op-stagecard:last-child{grid-column:auto;width:100%;min-height:auto;padding:1.4rem 1.3rem}
}

/* 12. Due diligence checklist */
.op-ddblock{background:var(--tvd-cream);border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);border-radius:8px;padding:1.6rem 1.8rem;margin-top:1.6rem}
.op-ddlist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem 1.6rem}
.op-ddlist li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--tvd-navy);line-height:1.4}
.op-ddlist li:before{content:"";position:absolute;left:0;top:.15em;width:15px;height:15px;border:1.5px solid var(--tvd-gold);border-radius:50%}
.op-ddlist li:after{content:"";position:absolute;left:4.5px;top:.42em;width:5px;height:3px;border-left:1.6px solid var(--tvd-gold);border-bottom:1.6px solid var(--tvd-gold);transform:rotate(-45deg)}
@media(max-width:820px){.op-ddlist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.op-ddlist{grid-template-columns:1fr}}

/* 15. Self-check + guidance */
.op-selfcheck{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.op-sccard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.4rem 1.35rem}
.op-scico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--tvd-gold);background:rgba(245,239,228,.45);margin-bottom:.9rem}
.op-scico svg{width:24px;height:24px;fill:none;stroke:var(--tvd-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.op-sccard h3{font-size:1.04rem;margin:0 0 .3rem;color:var(--tvd-navy)}
.op-sccard p{font-size:.9rem;color:var(--tvd-body);margin:0}
.op-guidance{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.6rem}
.op-gcard{background:#fbf7ee;border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);border-radius:8px;padding:1.3rem 1.4rem}
.op-gcard--a{border-left-color:var(--tvd-navy)}
.op-gcard--b{border-left-color:var(--tvd-gold)}
.op-gcard--c{border-left-color:#9aa6b5}
.op-gcard h4{font-size:1.05rem;color:var(--tvd-navy);margin:0 0 .4rem}
.op-gcard p{font-size:.9rem;color:var(--tvd-body);margin:0}
@media(max-width:920px){.op-selfcheck{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.op-selfcheck,.op-guidance{grid-template-columns:1fr}}

/* 17. Final CTA (flat navy — buttons need dark-background treatment) */
.op-finalcta{text-align:center}
.op-finalcta .tvd-cta-row{justify-content:center}
.op-finalcta .tvd-btn--primary{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.op-finalcta .tvd-btn--primary:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.op-finalcta .tvd-wa-btn{color:#fff!important;border-color:rgba(255,255,255,.75)}
.op-finalcta .tvd-wa-btn:hover{background:#fff;color:var(--tvd-navy)!important;border-color:#fff}
.op-finalcta .tvd-wa-btn .tvd-wa-ico{color:#25D366}
.op-supportline{color:#cdd6e2;font-size:.95rem;margin-top:1.2rem;max-width:660px;margin-left:auto;margin-right:auto}

@media(max-width:781px){
  .page-slug-off-plan-villas-dubai main > .wp-block-group,
  .page-slug-off-plan-villas-dubai main > section.wp-block-group{padding-top:clamp(2.25rem,7vw,3rem)!important;padding-bottom:clamp(2.25rem,7vw,3rem)!important}
  .op-hero__lead{font-size:1.12rem}
}

/* Off-Plan — villa-frontage editorial figure (non-panoramic) + image CTA button on dark bg */
.op-fignarrow{margin:2rem auto 0;max-width:940px}
.op-fignarrow img{width:100%;height:auto;border-radius:12px;display:block}
.op-cta-image{text-align:center}
.op-cta-image .tvd-cta-row{justify-content:center}
.op-cta-image .tvd-btn--primary{border-color:rgba(255,255,255,.35)}
.op-cta-image .tvd-btn--primary:hover{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.op-cta-image .op-supportline{color:#eef2f7}

/* ============================================================
   READY VILLAS V3 — rdy-* components (page /ready-villas-dubai/)
   ============================================================ */
/* Hero emphasis line */
.rdy-hero__emph{margin:.9rem 0 1.6rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.2rem,1.05rem + .8vw,1.55rem);line-height:1.4;color:#fff;max-width:46ch}
.rdy-hero__emph strong{color:var(--tvd-gold);font-weight:600}
/* Full-width editorial band at 16/9 (villa/interior subjects) */
.rdy-band169 img{aspect-ratio:16/9}
/* 2. "Ready does not automatically mean" + intro note */
.rdy-notmean{max-width:760px;margin:1.6rem auto 0;background:#fff;border:1px solid var(--tvd-line);border-left:3px solid var(--tvd-gold);border-radius:8px;padding:1.2rem 1.5rem}
.rdy-notmean .op-check{columns:2;column-gap:1.6rem;margin:.2rem 0 0}
.rdy-lead-note{max-width:820px;margin:1.8rem auto .4rem;text-align:center;color:var(--tvd-body);font-size:1.02rem}
/* 2. Six decision cards (icon + heading + desc), equal height */
.rdy-dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.6rem;grid-auto-rows:1fr}
.rdy-dcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.5rem 1.4rem;display:flex;flex-direction:column}
.rdy-dcard h3{font-size:1.1rem;margin:.7rem 0 .4rem;color:var(--tvd-navy)}
.rdy-dcard p{margin:0;color:var(--tvd-body);font-size:.94rem;line-height:1.55}
/* 3/11. Balanced 4 + 3 benefit grid (12-col) */
.rdy-grid43{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.3rem;margin-top:1.8rem}
.rdy-gcard{grid-column:span 3;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.5rem 1.4rem;display:flex;flex-direction:column;min-height:230px}
.rdy-gcard:nth-child(n+5){grid-column:span 4}
.rdy-gcard h3{font-size:1.06rem;margin:.7rem 0 .4rem;color:var(--tvd-navy)}
.rdy-gcard p{margin:0;color:var(--tvd-body);font-size:.92rem;line-height:1.55}
/* 4. Two objectives */
.rdy-obj{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.8rem;align-items:stretch}
.rdy-objcol{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.7rem 1.8rem;display:flex;flex-direction:column}
.rdy-objhead{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.rdy-objhead h3{margin:0;font-size:1.3rem;color:var(--tvd-navy)}
.rdy-objstate{color:var(--tvd-body);margin:.2rem 0 1rem;font-size:1rem}
.rdy-keystate{margin-top:auto;background:var(--tvd-cream);border-left:3px solid var(--tvd-gold);border-radius:6px;padding:1rem 1.2rem}
.rdy-keystate p{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.16rem;line-height:1.4;color:var(--tvd-navy)}
/* 5/14. Eight-node summary rail */
.rdy-rail8{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(8,1fr);gap:.4rem;position:relative}
.rdy-rail8:before{content:"";position:absolute;top:22px;left:6%;right:6%;height:2px;background:rgba(199,155,74,.4);z-index:0}
.rdy-railstep{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.rdy-railnum{width:44px;height:44px;border-radius:50%;background:var(--tvd-gold);color:var(--tvd-navy);display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:1.15rem;margin-bottom:.5rem}
.rdy-raillabel{font-size:.72rem;color:var(--tvd-navy);font-weight:600;line-height:1.2;max-width:110px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* 5/14. Four-plus-four detail cards */
.rdy-proc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:2.4rem}
.rdy-pcard{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.3rem 1.35rem;display:flex;flex-direction:column}
.rdy-phead{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.rdy-pnum{width:34px;height:34px;border-radius:50%;background:var(--tvd-navy);color:#fff;display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;flex:0 0 auto}
.rdy-phead h3{font-size:1rem;margin:0;color:var(--tvd-navy);line-height:1.25}
.rdy-proc--desc .rdy-pcard p{margin:0;color:var(--tvd-body);font-size:.92rem;line-height:1.55}
.rdy-proc--desc{grid-auto-rows:1fr}
/* 5. Highlight statement */
.rdy-highlight{margin-top:2rem;background:var(--tvd-navy);border-radius:12px;padding:1.5rem 1.9rem;text-align:center}
.rdy-highlight p{margin:0;color:#f2ede3;font-size:1.05rem;line-height:1.5}
.rdy-highlight strong{color:#fff}
/* 6. Four condition cards (2x2 large) */
.rdy-cond{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.8rem;align-items:stretch}
.rdy-condcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:10px;padding:1.6rem 1.7rem;display:flex;flex-direction:column}
.rdy-condtag{display:inline-block;align-self:flex-start;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin-bottom:.4rem}
.rdy-condcard h3{font-size:1.2rem;margin:0 0 .4rem;color:var(--tvd-navy)}
.rdy-conddef{color:var(--tvd-body);margin:0 0 1rem;font-size:.96rem}
/* 8. Maturity panels (2-col, larger) */
.rdy-mat{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.8rem;align-items:stretch}
.rdy-mat:nth-of-type(n){margin-top:1.8rem}
.rdy-matcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.6rem 1.7rem;display:flex;flex-direction:column}
.rdy-matcard h3{font-size:1.22rem;margin:0 0 .4rem;color:var(--tvd-navy)}
.rdy-matdef{color:var(--tvd-body);margin:0 0 1rem;font-size:.96rem}
/* 10. Daily-routine hub-and-spoke */
.rdy-routine{margin-top:1.8rem}
.rdy-routine__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;align-items:stretch}
.rdy-node{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.2rem;text-align:center;position:relative}
.rdy-node h4{margin:.5rem 0 .3rem;font-size:1rem;color:var(--tvd-navy)}
.rdy-node p{margin:0;font-size:.86rem;color:var(--tvd-body);line-height:1.45}
.rdy-node .op-ico{margin:0 auto}
.rdy-node--a{grid-column:1;grid-row:1}
.rdy-node--b{grid-column:3;grid-row:1}
.rdy-hub{grid-column:2;grid-row:2;background:var(--tvd-navy);color:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.4rem;box-shadow:0 16px 40px rgba(18,36,59,.18)}
.rdy-hub__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);margin-bottom:.5rem}
.rdy-hub__ic svg{width:26px;height:26px;fill:none;stroke:var(--tvd-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rdy-hub__t{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-weight:700;line-height:1}
.rdy-hub small{color:#cdd6e3;font-size:.8rem;margin-top:.2rem}
.rdy-node--c{grid-column:1;grid-row:2}
.rdy-node--d{grid-column:3;grid-row:2}
.rdy-node--e{grid-column:2;grid-row:3;max-width:60%;justify-self:center}
.rdy-node:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--tvd-gold);opacity:.55}
.rdy-node--a:before,.rdy-node--c:before{right:-6px;top:50%;transform:translateY(-50%)}
.rdy-node--b:before,.rdy-node--d:before{left:-6px;top:50%;transform:translateY(-50%)}
.rdy-node--e:before{top:-6px;left:50%;transform:translateX(-50%)}
.rdy-routine__chk{max-width:820px;margin:1.6rem auto 0;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.5rem}
.rdy-routine__chk .op-check{columns:2;column-gap:1.6rem;margin:.2rem 0 0}
/* 11. Investor wealth statement */
.rdy-wealth{max-width:860px;margin:2rem auto 0;text-align:center}
.rdy-wealth__lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.15rem,1rem + .8vw,1.45rem);line-height:1.45;color:var(--tvd-navy);background:var(--tvd-cream);border-radius:12px;padding:1.4rem 1.7rem;margin:0}
.rdy-wealth__disc{margin:.8rem 0 0;font-size:.85rem;color:#6a7482;letter-spacing:.01em}
/* 12. Value formula */
.rdy-fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.8rem;grid-auto-rows:1fr}
.rdy-fcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.3rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.rdy-fcard .op-ico{margin:0 0 .4rem}
.rdy-fcard h4{margin:0 0 .3rem;font-size:1rem;color:var(--tvd-navy)}
.rdy-fcard p{margin:0;font-size:.86rem;color:var(--tvd-body);line-height:1.45}
.rdy-formula{margin-top:1.6rem;background:var(--tvd-navy);border-radius:14px;padding:1.6rem 1.4rem;text-align:center}
.rdy-formula__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem}
.rdy-fchip{display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(199,155,74,.5);color:#fff;border-radius:999px;padding:.45rem .95rem;font-size:.9rem;font-weight:600}
.rdy-op{color:var(--tvd-gold);font-weight:700;font-size:1.1rem}
.rdy-formula__eq{margin-top:1rem;color:var(--tvd-gold);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-weight:700}
.rdy-formula__eq span{color:#fff;margin-right:.3rem}
.rdy-twovilla{max-width:820px;margin:1.6rem auto 0;text-align:center;color:var(--tvd-body)}
.rdy-twovilla p{margin:.4rem 0}
/* 13. Two-column review cards (per-row height) */
.rdy-review{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin-top:1.8rem;align-items:stretch}
.rdy-revcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.5rem 1.6rem;display:flex;flex-direction:column}
.rdy-revhead{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.rdy-revnum{width:34px;height:34px;border-radius:50%;background:var(--tvd-cream);color:var(--tvd-gold);font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;display:grid;place-items:center;flex:0 0 auto}
.rdy-revhead h3{font-size:1.1rem;margin:0;color:var(--tvd-navy)}
/* 15. Total-capital 3+2 */
.rdy-capital{display:grid;grid-template-columns:repeat(6,1fr);gap:1.3rem;margin-top:1.8rem;grid-auto-rows:1fr}
.rdy-capcard{grid-column:span 2;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.5rem 1.5rem;display:flex;flex-direction:column}
.rdy-capcard:nth-child(4){grid-column:2 / span 2}
.rdy-capcard:nth-child(5){grid-column:4 / span 2}
.rdy-caphead{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.rdy-caphead h3{font-size:1.05rem;margin:0;color:var(--tvd-navy)}
/* 16. Three-path comparison (grid-table -> mobile cards) */
.rdy-vs3{margin-top:1.8rem;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;background:#fff}
.rdy-vs3__row{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr}
.rdy-vs3__row+.rdy-vs3__row{border-top:1px solid var(--tvd-line)}
.rdy-vs3__cell{padding:1rem 1.1rem;font-size:.92rem;color:var(--tvd-body);line-height:1.45;border-left:1px solid var(--tvd-line)}
.rdy-vs3__cell:first-child{border-left:0}
.rdy-vs3__cell--factor{font-weight:600;color:var(--tvd-navy);background:#fbfaf6}
.rdy-vs3__head{background:var(--tvd-navy)}
.rdy-vs3__head .rdy-vs3__cell{color:#fff;font-weight:600;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.02rem;border-left-color:rgba(255,255,255,.14)}
.rdy-vs3__head .rdy-vs3__cell--factor{background:transparent;color:#fff}
.rdy-vs3__k{display:none}
/* 17. Verify 4+4 small cards */
.rdy-verify{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;margin-top:1.6rem;grid-auto-rows:1fr}
.rdy-vcard{background:#fff;border:1px solid var(--tvd-line);border-radius:9px;padding:1.25rem 1.25rem;display:flex;flex-direction:column}
.rdy-vcard h3{font-size:.98rem;margin:.6rem 0 .35rem;color:var(--tvd-navy)}
.rdy-vcard p{margin:0;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
.rdy-subhead{text-align:center;margin:2.2rem 0 .2rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;color:var(--tvd-navy)}
.rdy-selfcheck .op-sccard p{margin:0;color:var(--tvd-body);font-size:.95rem;line-height:1.45}
/* ---- Responsive ---- */
@media(max-width:1050px){
  .rdy-dgrid{grid-template-columns:repeat(2,1fr)}
  .rdy-grid43{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rdy-gcard:nth-child(n){grid-column:auto}
  .rdy-gcard:last-child{grid-column:1 / -1;width:calc(50% - .65rem);justify-self:center}
  .rdy-rail8{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 1.2rem}
  .rdy-rail8:before{display:none}
  .rdy-railstep{flex:0 0 20%}
  .rdy-raillabel{max-width:none}
  .rdy-proc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rdy-verify{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rdy-fgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .rdy-obj,.rdy-cond,.rdy-mat,.rdy-review{grid-template-columns:1fr}
  .rdy-capital{grid-template-columns:1fr 1fr}
  .rdy-capcard,.rdy-capcard:nth-child(4),.rdy-capcard:nth-child(5){grid-column:auto}
  .rdy-capcard:last-child{grid-column:1 / -1;width:calc(50% - .65rem);justify-self:center}
}
@media(max-width:680px){
  .rdy-dgrid{grid-template-columns:1fr}
  .rdy-notmean .op-check,.rdy-routine__chk .op-check{columns:1}
  .rdy-grid43{grid-template-columns:1fr}
  .rdy-gcard:nth-child(n),.rdy-gcard:last-child{grid-column:auto;width:100%;min-height:auto}
  .rdy-rail8{display:none}
  .rdy-proc{grid-template-columns:1fr}
  .rdy-verify{grid-template-columns:1fr}
  .rdy-fgrid{grid-template-columns:1fr}
  .rdy-capital{grid-template-columns:1fr}
  .rdy-capcard:last-child{width:100%}
  /* routine -> vertical stack with hub first */
  .rdy-routine__grid{display:flex;flex-direction:column;gap:.9rem}
  .rdy-hub{order:-1}
  .rdy-node--e{max-width:none}
  .rdy-node:before{display:none}
  /* 3-path comparison -> stacked per-factor cards */
  .rdy-vs3{border:0;background:transparent;overflow:visible}
  .rdy-vs3__row{display:block;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;margin-bottom:1rem}
  .rdy-vs3 .rdy-vs3__head{display:none}
  .rdy-vs3__row+.rdy-vs3__row{border-top:1px solid var(--tvd-line)}
  .rdy-vs3__cell{border-left:0;border-top:1px solid var(--tvd-line);padding:.85rem 1.1rem}
  .rdy-vs3__cell--factor{border-top:0;background:var(--tvd-navy);color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.08rem;border-radius:10px 10px 0 0}
  .rdy-vs3__k{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tvd-gold);font-weight:700;margin-bottom:.15rem}
}

/* ============================================================
   CUSTOM BUILD VILLAS V3 — bld-* components (/custom-build-villas-dubai/)
   ============================================================ */
/* 3/9. Two-column comparison */
.bld-cmp{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.8rem;align-items:stretch}
.bld-cmpcol{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.7rem 1.8rem;display:flex;flex-direction:column}
.bld-cmphead{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.bld-cmphead h3{margin:0;font-size:1.3rem;color:var(--tvd-navy)}
.bld-cmpintro{color:var(--tvd-body);margin:.2rem 0 .9rem;font-size:.98rem}
.bld-conclude{max-width:900px;margin:1.6rem auto 0;text-align:center;background:var(--tvd-navy);border-radius:12px;padding:1.4rem 1.8rem}
.bld-conclude p{margin:0;color:#f2ede3;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;line-height:1.45}
/* 6. Strategy boundary (explanation | checklist) */
.bld-boundary{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1.4rem;align-items:stretch}
.bld-boundary__lead{background:var(--tvd-navy);border-radius:12px;padding:1.8rem 1.9rem;color:#fff;display:flex;flex-direction:column;justify-content:center}
.bld-boundary__lead .tvd-eyebrow{color:var(--tvd-gold);text-align:left}
.bld-boundary__lead h3{color:#fff;font-size:1.4rem;margin:.2rem 0 .6rem}
.bld-boundary__lead p{color:#e7ecf3;margin:0;font-size:.98rem;line-height:1.55}
.bld-boundary__list{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.7rem 1.8rem}
/* 8/12. Process node rails (reuse rdy-railstep/num/label) */
.bld-rail6,.bld-rail10{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.4rem;position:relative}
.bld-rail6{grid-template-columns:repeat(6,1fr)}
.bld-rail10{grid-template-columns:repeat(10,1fr);gap:.3rem}
.bld-rail6:before,.bld-rail10:before{content:"";position:absolute;top:22px;left:5%;right:5%;height:2px;background:rgba(199,155,74,.4);z-index:0}
.bld-rail10 .rdy-raillabel{max-width:96px;font-size:.68rem}
/* 8/12. Detail card grids (reuse rdy-pcard/phead/pnum) */
.bld-proc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.4rem}
.bld-proc5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:2.4rem;grid-auto-rows:1fr}
.bld-proc5 .rdy-pcard{padding:1.15rem 1.15rem}
.bld-proc5 .rdy-phead h3{font-size:.94rem}
.bld-proc5 .rdy-pcard p{margin:0;color:var(--tvd-body);font-size:.86rem;line-height:1.5}
/* 13. Timeline (reuse op-timeline mechanics, 6 nodes; horizontal only >860px — below that op-timeline's vertical rule applies) */
@media(min-width:861px){.bld-timeline{grid-template-columns:repeat(6,1fr)}}
.bld-deps{max-width:860px;margin:1.6rem auto 0;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.5rem}
.bld-deps .op-check{columns:2;column-gap:1.6rem;margin:.2rem 0 0}
/* 16. End-user requirements block */
.bld-reqs{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;margin-top:1.8rem;align-items:start}
.bld-reqs__col{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.5rem 1.7rem}
.bld-reqs__col:first-child .op-check{columns:2;column-gap:1.4rem}
/* 18. Data-led three stages */
.bld-data3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.8rem;grid-auto-rows:1fr}
.bld-datacard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:10px;padding:1.6rem 1.6rem;display:flex;flex-direction:column}
.bld-datanum{width:40px;height:40px;border-radius:50%;background:var(--tvd-cream);color:var(--tvd-gold);font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;display:grid;place-items:center;font-size:1.2rem;margin-bottom:.5rem}
.bld-datacard h3{font-size:1.12rem;margin:0 0 .5rem;color:var(--tvd-navy)}
/* 19. Risk & control cards (4+4) */
.bld-risk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:1.6rem;grid-auto-rows:1fr}
.bld-riskcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.35rem 1.35rem;display:flex;flex-direction:column}
.bld-risklbl{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#b9962f;font-weight:700;margin:0 0 .25rem}
.bld-riskcard h3{font-size:1.02rem;margin:0 0 .5rem;color:var(--tvd-navy)}
.bld-ctrl{margin:auto 0 0;font-size:.9rem;color:var(--tvd-body);line-height:1.5;border-top:1px solid var(--tvd-line);padding-top:.6rem}
.bld-ctrl span{color:var(--tvd-navy);font-weight:700}
/* ---- Responsive ---- */
@media(max-width:1050px){
  .bld-rail6,.bld-rail10{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 1.2rem}
  .bld-rail6:before,.bld-rail10:before{display:none}
  .bld-rail6 .rdy-railstep{flex:0 0 26%}
  .bld-rail10 .rdy-railstep{flex:0 0 18%}
  .bld-rail10 .rdy-raillabel{max-width:none;font-size:.72rem}
  .bld-proc3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bld-proc5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bld-risk{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .bld-cmp,.bld-boundary,.bld-reqs{grid-template-columns:1fr}
  .bld-data3{grid-template-columns:1fr}
  .bld-reqs__col:first-child .op-check{columns:1}
}
@media(max-width:680px){
  .bld-rail6,.bld-rail10{display:none}
  .bld-proc3,.bld-proc5{grid-template-columns:1fr}
  .bld-risk{grid-template-columns:1fr}
  .bld-deps .op-check{columns:1}
}

/* ============================================================
   UPGRADE VILLAS V3 — upg-* components (/villa-upgrade-dubai/)
   ============================================================ */
/* 2/16. Connected flow (thesis 5-stage / capital 6-node) */
.upg-flow{list-style:none;padding:0;margin:1.8rem 0 0;display:flex;gap:.7rem;align-items:stretch}
.upg-fnode{flex:1;position:relative;background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:10px;padding:1.2rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.upg-fnum{width:40px;height:40px;border-radius:50%;background:var(--tvd-navy);color:#fff;display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;margin-bottom:.5rem}
.upg-fnode h4{margin:0;font-size:1rem;color:var(--tvd-navy);line-height:1.25}
.upg-fnode:not(:last-child):after{content:"";position:absolute;right:-.55rem;top:50%;transform:translateY(-50%) rotate(45deg);width:11px;height:11px;border-top:2px solid var(--tvd-gold);border-right:2px solid var(--tvd-gold);z-index:2}
.upg-flow--capital .upg-fnode{border-top-color:var(--tvd-navy)}
.upg-improve,.upg-ctrl,.upg-consider{max-width:860px;margin:1.6rem auto 0;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.6rem}
.upg-improve .op-check,.upg-ctrl .op-check,.upg-consider .op-check{columns:2;column-gap:1.6rem;margin:.2rem 0 0}
/* 10. Feasibility questions + formula label */
.upg-formula-lbl,.upg-subhead{text-align:center;margin:2rem 0 .2rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;color:var(--tvd-navy)}
.upg-formula-lbl{margin-bottom:.6rem}
.upg-feas{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.2rem}
.upg-feascard{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.1rem 1.3rem}
.upg-feasnum{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--tvd-cream);color:var(--tvd-gold);font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;display:grid;place-items:center;font-size:.95rem}
.upg-feascard p{margin:0;color:var(--tvd-navy);font-size:.95rem;line-height:1.4}
/* 18. Capital 5+4 grid */
.upg-cap9{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:1rem;margin-top:1.6rem;grid-auto-rows:1fr}
.upg-capcard{grid-column:span 4;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.3rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.upg-capcard:nth-child(n+6){grid-column:span 5}
.upg-capcard .op-ico{margin:0 0 .4rem}
.upg-capcard h3{margin:0;font-size:.98rem;color:var(--tvd-navy);line-height:1.25}
/* 20. DLD transaction evidence cards */
.upg-dld{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.8rem;grid-auto-rows:1fr}
.upg-dldcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.upg-dld__fig{position:relative;margin:0}
.upg-dld__fig img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.upg-dld__ctx{position:absolute;left:.5rem;bottom:.5rem;background:rgba(20,36,58,.82);color:#fff;font-size:.66rem;letter-spacing:.02em;padding:.2rem .5rem;border-radius:4px}
.upg-dld__body{padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1 1 auto}
.upg-dld__body h3{margin:0 0 .6rem;font-size:1.02rem;color:var(--tvd-navy);line-height:1.25}
.upg-dld__data{margin:0;display:grid;gap:.5rem}
.upg-dld__data div{border-top:1px solid var(--tvd-line);padding-top:.5rem}
.upg-dld__data dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#8a94a3;font-weight:700}
.upg-dld__data dd{margin:.15rem 0 0;font-size:.9rem;color:var(--tvd-navy);font-weight:600;line-height:1.35}
.upg-dld__label{margin:.9rem 0 0;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tvd-gold);font-weight:700}
.upg-obsbar{margin:1.6rem 0 0;background:var(--tvd-navy);border-radius:10px;padding:1.2rem 1.6rem;text-align:center}
.upg-obsbar p{margin:0;color:#f2ede3;font-size:1.02rem;line-height:1.5}
.upg-disclose{max-width:900px;margin:1.4rem auto 0;background:#fbf7ee;border:1px solid rgba(199,155,74,.4);border-radius:10px;padding:1.3rem 1.7rem}
.upg-disclose>p{margin:.2rem 0;color:var(--tvd-body);font-size:.92rem}
.upg-disclose .op-check{columns:2;column-gap:1.6rem;margin:.4rem 0}
.upg-disclose__foot{font-weight:600;color:var(--tvd-navy)}
/* 22. Risk / control 2-col table -> mobile cards */
.upg-risk2{margin-top:1.6rem;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;background:#fff}
.upg-risk2__row{display:grid;grid-template-columns:1fr 1.4fr}
.upg-risk2__row+.upg-risk2__row{border-top:1px solid var(--tvd-line)}
.upg-risk2__cell{padding:.95rem 1.2rem;font-size:.94rem;color:var(--tvd-body);line-height:1.45;border-left:1px solid var(--tvd-line)}
.upg-risk2__cell:first-child{border-left:0}
.upg-risk2__cell--r{font-weight:600;color:var(--tvd-navy);background:#fbfaf6}
.upg-risk2__head{background:var(--tvd-navy)}
.upg-risk2__head .upg-risk2__cell{color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.02rem;border-left-color:rgba(255,255,255,.14)}
.upg-risk2__head .upg-risk2__cell--r{background:transparent}
.upg-risk2__k{display:none}
/* 23. Four-path comparison (5-col) -> mobile cards */
.upg-vs4{margin-top:1.8rem;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;background:#fff}
.upg-vs4__row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1fr}
.upg-vs4__row+.upg-vs4__row{border-top:1px solid var(--tvd-line)}
.upg-vs4__cell{padding:.9rem 1rem;font-size:.9rem;color:var(--tvd-body);line-height:1.4;border-left:1px solid var(--tvd-line)}
.upg-vs4__cell:first-child{border-left:0}
.upg-vs4__cell--factor{font-weight:600;color:var(--tvd-navy);background:#fbfaf6}
.upg-vs4__cell--hl{background:rgba(199,155,74,.08)}
.upg-vs4__head{background:var(--tvd-navy)}
.upg-vs4__head .upg-vs4__cell{color:#fff;font-weight:600;font-family:"Cormorant Garamond",Georgia,serif;font-size:.98rem;border-left-color:rgba(255,255,255,.14)}
.upg-vs4__head .upg-vs4__cell--factor{background:transparent}
.upg-vs4__head .upg-vs4__cell--hl{background:rgba(199,155,74,.22)}
.upg-vs4__k{display:none}
/* ---- Responsive ---- */
@media(max-width:1050px){
  .upg-cap9{grid-template-columns:repeat(3,minmax(0,1fr))}
  .upg-cap9 .upg-capcard,.upg-cap9 .upg-capcard:nth-child(n+6){grid-column:auto}
  .upg-dld{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .upg-flow{flex-direction:column;gap:1.4rem}
  .upg-fnode{width:100%}
  .upg-fnode:not(:last-child):after{right:auto;left:50%;top:auto;bottom:-.95rem;transform:translateX(-50%) rotate(135deg)}
  .upg-feas{grid-template-columns:1fr}
  .upg-vs4__cell{font-size:.84rem;padding:.75rem .7rem}
}
@media(max-width:680px){
  .upg-improve .op-check,.upg-ctrl .op-check,.upg-consider .op-check,.upg-disclose .op-check{columns:1}
  .upg-cap9{grid-template-columns:1fr}
  .upg-dld{grid-template-columns:1fr}
  /* risk table -> stacked cards */
  .upg-risk2{border:0;background:transparent;overflow:visible}
  .upg-risk2__row{display:block;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;margin-bottom:.9rem}
  .upg-risk2 .upg-risk2__head{display:none}
  .upg-risk2__cell{border-left:0;border-top:1px solid var(--tvd-line);padding:.8rem 1.1rem}
  .upg-risk2__cell--r{border-top:0;background:var(--tvd-navy);color:#fff;border-radius:10px 10px 0 0;font-family:"Cormorant Garamond",Georgia,serif}
  .upg-risk2__k{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tvd-gold);font-weight:700;margin-bottom:.15rem}
  .upg-risk2__cell--r .upg-risk2__k{color:var(--tvd-gold)}
  /* four-path -> stacked per-factor cards */
  .upg-vs4{border:0;background:transparent;overflow:visible}
  .upg-vs4__row{display:block;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;margin-bottom:1rem}
  .upg-vs4 .upg-vs4__head{display:none}
  .upg-vs4__cell{border-left:0;border-top:1px solid var(--tvd-line);padding:.8rem 1.1rem}
  .upg-vs4__cell--factor{border-top:0;background:var(--tvd-navy);color:#fff;border-radius:10px 10px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.05rem}
  .upg-vs4__cell--hl{background:rgba(199,155,74,.12)}
  .upg-vs4__k{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tvd-gold);font-weight:700;margin-bottom:.15rem}
}

/* §21 before / proposed-design-concept comparison */
.upg-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:center;margin-top:1.8rem}
.upg-ba__item{margin:0;background:#fff;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;align-self:stretch;display:flex;flex-direction:column}
.upg-ba__item--after{border-color:rgba(199,155,74,.5)}
.upg-ba__imgwrap{margin:0}
.upg-ba__imgwrap img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.upg-ba__cap{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.15rem}
.upg-ba__tag{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.12rem;font-weight:700;color:var(--tvd-navy);line-height:1.2}
.upg-ba__tag--after{color:var(--tvd-gold)}
.upg-ba__note{font-size:.78rem;color:#6a7482;letter-spacing:.01em}
.upg-ba__arrow{color:var(--tvd-gold);display:grid;place-items:center}
.upg-ba__arrow svg{width:34px;height:34px}
@media(max-width:760px){
  .upg-ba{grid-template-columns:1fr;gap:1rem}
  .upg-ba__arrow{transform:rotate(90deg);margin:.1rem auto}
}

/* §24 self-check — dedicated 5×2 grid (10 cards; even divisors 5/2/1 keep every row full) */
.upg-self{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.05rem;margin-top:1.6rem;grid-auto-rows:1fr}
.upg-self .rdy-vcard{padding:1.3rem 1.15rem}
.upg-self .rdy-vcard h3{font-size:.96rem}
/* outcome boxes — equal height, aligned */
.op-guidance--3{grid-auto-rows:1fr}
.op-guidance--3 .op-gcard{display:flex;flex-direction:column}
@media(max-width:900px){ .upg-self{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:520px){ .upg-self{grid-template-columns:1fr} }

/* §22 advisory-led control — objective statement + closing line */
.upg-advobj{max-width:900px;margin:2rem auto 0;display:flex;gap:1.1rem;align-items:flex-start;background:var(--tvd-navy);border-radius:14px;padding:1.6rem 1.9rem}
.upg-advobj__ic{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.upg-advobj__ic svg{width:26px;height:26px;fill:none;stroke:var(--tvd-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.upg-advobj__lbl{margin:0 0 .35rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;font-weight:700;color:#fff}
.upg-advobj p{margin:0;color:#e7ecf3;line-height:1.55}
.upg-advclose{text-align:center;margin:1.6rem auto 0;max-width:840px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;color:var(--tvd-navy);line-height:1.4}
.upg-advclose strong{color:var(--tvd-gold)}
@media(max-width:600px){.upg-advobj{flex-direction:column;gap:.7rem}}

/* §21 Upgrade Value Shift — before/after value boxes */
.upg-shift-intro{max-width:820px;margin:1rem auto 0;text-align:center;color:var(--tvd-body);font-size:1.02rem;line-height:1.6}
.upg-shift{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2rem;align-items:stretch}
.upg-shiftcol{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.7rem 1.8rem;display:flex;flex-direction:column}
.upg-shiftcol--after{border-color:rgba(199,155,74,.5);background:#fbf7ee}
.upg-shift__lbl{margin:0 0 .2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8a94a3;font-weight:700}
.upg-shift__lbl--gold{color:var(--tvd-gold)}
.upg-shiftcol h3{margin:0 0 .9rem;font-size:1.22rem;color:var(--tvd-navy)}
@media(max-width:760px){.upg-shift{grid-template-columns:1fr}}

/* ============================================================
   TOWNHOUSES V3 — th-* components (/townhouses-dubai/)
   ============================================================ */
/* 2. Apartment–Townhouse–Villa spectrum */
.th-spectrum{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.9rem;align-items:stretch;margin-top:1.8rem}
.th-spcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.5rem 1.4rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.th-spcard--mid{border-color:rgba(199,155,74,.6);background:#fbf7ee;box-shadow:0 14px 34px rgba(18,36,59,.06)}
.th-spcard .op-ico{margin:0 auto .5rem}
.th-spcard h3{margin:0 0 .4rem;font-size:1.15rem;color:var(--tvd-navy)}
.th-spcard p{margin:0;font-size:.9rem;color:var(--tvd-body);line-height:1.5}
.th-sparrow{align-self:center;color:var(--tvd-gold);display:grid;place-items:center}
.th-sparrow svg{width:26px;height:26px}
/* 2. Dimension scale */
.th-dots{display:inline-flex;align-items:center}
.th-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--tvd-gold);display:inline-block;margin-right:3px}
.th-dot--on{background:var(--tvd-gold)}
.th-scale{max-width:840px;margin:1.8rem auto 0;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;background:#fff}
.th-scale__row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:center}
.th-scale__row+.th-scale__row{border-top:1px solid var(--tvd-line)}
.th-scale__row>span{padding:.7rem 1rem;text-align:center}
.th-scale__dim{text-align:left!important;font-weight:600;color:var(--tvd-navy);font-size:.92rem}
.th-scale__head{background:var(--tvd-navy)}
.th-scale__head>span{color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:.98rem}
.th-twolist{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;max-width:900px;margin:1.6rem auto 0}
.th-twolist__col{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.3rem 1.5rem}
/* 7. Townhouse vs Apartment transition */
.th-trans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.8rem;grid-auto-rows:1fr}
.th-transcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.4rem 1.5rem;display:flex;flex-direction:column}
.th-transtag{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#8a94a3;font-weight:700;margin-bottom:.7rem}
.th-transtag svg{width:16px;height:16px;color:var(--tvd-gold)}
.th-transtag--to{color:var(--tvd-gold)}
.th-transhead{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.th-transhead h3{margin:0;font-size:1.05rem;color:var(--tvd-navy)}
.th-transcard p{margin:0;font-size:.9rem;color:var(--tvd-body);line-height:1.55}
/* 8. Townhouse formats */
.th-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.8rem;align-items:stretch}
.th-fmtcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:10px;padding:1.5rem 1.5rem;display:flex;flex-direction:column}
.th-fmttag{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tvd-gold);font-weight:700;margin-bottom:.3rem}
.th-fmtcard h3{margin:0 0 .4rem;font-size:1.12rem;color:var(--tvd-navy)}
.th-fmtdef{color:var(--tvd-body);font-size:.92rem;margin:0 0 .8rem}
/* 10. Community stages */
.th-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.8rem;align-items:stretch}
.th-stgcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.6rem 1.7rem;display:flex;flex-direction:column}
.th-stgtag{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tvd-gold);font-weight:700;margin-bottom:.3rem}
.th-stgcard h3{margin:0 0 .4rem;font-size:1.2rem;color:var(--tvd-navy)}
.th-stgdef{color:var(--tvd-body);font-size:.94rem;margin:0 0 .9rem}
/* 11. Community example cards */
.th-comm{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.8rem;align-items:stretch}
.th-commcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.th-commcard__fig{position:relative;margin:0}
.th-commcard__fig img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.th-commcard__fig figcaption{position:absolute;left:.6rem;bottom:.6rem;background:rgba(20,36,58,.82);color:#fff;font-size:.68rem;padding:.22rem .55rem;border-radius:4px}
.th-commcard__body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;flex:1 1 auto}
.th-commcard__body h3{margin:0 0 .6rem;font-size:1.14rem;color:var(--tvd-navy)}
.th-commcard__note{margin:.7rem 0 0;font-size:.86rem;color:var(--tvd-body);line-height:1.55}
/* 12. Budget bands + historic note */
.th-budget{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.8rem;align-items:stretch}
.th-budcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.6rem 1.7rem;display:flex;flex-direction:column}
.th-budcard:nth-child(2){border-color:rgba(199,155,74,.5);background:#fbf7ee}
.th-budcard h3{margin:0 0 .8rem;font-size:1.18rem;color:var(--tvd-navy)}
.th-historic{max-width:860px;margin:1.6rem auto 0;background:var(--tvd-cream);border-left:3px solid var(--tvd-gold);border-radius:8px;padding:1.2rem 1.5rem}
.th-historic__lbl{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tvd-gold);font-weight:700;margin-bottom:.3rem}
.th-historic p{margin:0;color:var(--tvd-body);font-size:.92rem;line-height:1.55}
/* 15. Investor checks */
.th-invchecks{max-width:860px;margin:1.6rem auto 0;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.6rem}
.th-invchecks .op-check{columns:2;column-gap:1.6rem;margin:.2rem 0 0}
/* ---- Responsive ---- */
@media(max-width:900px){
  .th-trans,.th-formats{grid-template-columns:repeat(2,1fr)}
  .th-stages,.th-comm,.th-budget{grid-template-columns:1fr}
}
@media(max-width:760px){ .th-spectrum{grid-template-columns:1fr;gap:1rem} .th-sparrow{transform:rotate(90deg);margin:0 auto} }
@media(max-width:680px){
  .th-twolist{grid-template-columns:1fr}
  .th-trans,.th-formats{grid-template-columns:1fr}
  .th-invchecks .op-check{columns:1}
  .th-scale__head{display:none}
  .th-scale__row{grid-template-columns:1fr}
  .th-scale__row>span{text-align:left;padding:.5rem 1rem}
  .th-scale__dim{background:#fbfaf6}
  .th-scale__row>span[data-l]{display:flex;justify-content:space-between;align-items:center}
  .th-scale__row>span[data-l]:before{content:attr(data-l);font-size:.8rem;color:#6a7482;font-weight:600}
}

/* 3-column variant of the comparison table (factor + 2) */
.rdy-vs3--3col .rdy-vs3__row{grid-template-columns:1.3fr 1fr 1fr}

/* ============================================================
   DUBAI VILLA COMMUNITIES GUIDE — comg-* components (/dubai-villa-communities-guide/)
   ============================================================ */
.comg-lead2{max-width:820px;margin:1rem auto 0;text-align:center;color:var(--tvd-body);font-size:1.02rem;line-height:1.6}
.comg-mnote{max-width:900px;margin:1.4rem auto 0}
/* 2A market summary cards */
.comg-mcards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.9rem;align-items:stretch}
.comg-mcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-navy);border-radius:12px;padding:1.6rem 1.5rem;display:flex;flex-direction:column}
.comg-mcard__val{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.05rem;line-height:1.05;color:var(--tvd-navy);margin:0 0 .3rem;font-weight:700}
.comg-mcard__lbl{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--tvd-navy);margin:0 0 .5rem}
.comg-mcard__desc{font-size:.86rem;color:var(--tvd-body);line-height:1.5;margin:0}
.comg-mcard--ytd{border-top-color:var(--tvd-gold);background:#fbf7ee}
.comg-mcard__tag{display:inline-block;align-self:flex-start;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--tvd-gold);border-radius:4px;padding:.16rem .5rem;margin-bottom:.7rem}
.comg-mcard--ytd .comg-mcard__val{color:#a97c26}
/* 2B/2C charts */
.comg-chart{margin-top:1.5rem;background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.6rem 1.6rem 1.2rem}
.comg-chart__title{font-size:.95rem;font-weight:600;color:var(--tvd-navy);margin:0 0 1.2rem}
.comg-chart__bars{display:flex;align-items:stretch;gap:.55rem;height:240px}
.comg-bar{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center}
.comg-bar__val{font-size:.72rem;font-weight:700;color:var(--tvd-navy);white-space:nowrap;margin-bottom:.3rem}
.comg-bar__track{flex:1 1 auto;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:0}
.comg-bar__fill{width:100%;max-width:44px;height:var(--h);min-height:3px;background:linear-gradient(180deg,#22436e,#14243a);border-radius:5px 5px 0 0}
.comg-bar__yr{font-size:.7rem;color:#6a7482;margin-top:.45rem;white-space:nowrap}
.comg-bar--ytd .comg-bar__fill{background:repeating-linear-gradient(45deg,#c79b4a,#c79b4a 7px,#e6d0a2 7px,#e6d0a2 14px)}
.comg-bar--ytd .comg-bar__val{color:#a97c26}
.comg-chart__legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.76rem;color:#6a7482}
.comg-chart__legend span{display:inline-flex;align-items:center;gap:.4rem}
.comg-swatch{width:14px;height:14px;border-radius:3px;display:inline-block}
.comg-swatch--navy{background:linear-gradient(180deg,#22436e,#14243a)}
.comg-swatch--gold{background:repeating-linear-gradient(45deg,#c79b4a,#c79b4a 5px,#e6d0a2 5px,#e6d0a2 10px)}
.comg-swatch--rgold{background:var(--tvd-gold)}
.comg-datatoggle{margin-top:.9rem}
.comg-datatoggle summary{cursor:pointer;font-size:.82rem;font-weight:600;color:var(--tvd-navy);padding:.3rem 0}
.comg-datatoggle[open] summary{margin-bottom:.5rem}
/* 2D primary/resale split */
.comg-split{margin-top:1.5rem;background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.5rem 1.6rem}
.comg-splitrow{display:grid;grid-template-columns:64px 1fr;gap:.7rem 1rem;align-items:center;padding:.55rem 0}
.comg-splitrow+.comg-splitrow{border-top:1px solid var(--tvd-line)}
.comg-splitrow__yr{font-size:.82rem;font-weight:700;color:var(--tvd-navy)}
.comg-splitbars{display:flex;flex-direction:column;gap:.35rem}
.comg-sbar{display:flex;align-items:center;gap:.6rem}
.comg-sbar__k{font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6a7482;flex:0 0 58px}
.comg-sbar__track{position:relative;flex:1 1 auto;min-width:0;width:100%;height:10px;background:#f1eee7;border-radius:999px;overflow:hidden}
.comg-sbar__fill{display:block;height:100%;width:var(--bar-width,var(--w));border-radius:inherit}
.comg-sbar--p .comg-sbar__fill{background:linear-gradient(90deg,#22436e,#14243a)}
.comg-sbar--r .comg-sbar__fill{background:var(--tvd-gold)}
.comg-sbar__v{font-size:.74rem;font-weight:600;color:var(--tvd-navy);flex:0 0 auto;min-width:96px;text-align:right;font-variant-numeric:tabular-nums}
/* 2E tabs */
.comg-tabs{margin-top:1.6rem}
.comg-tabs__list{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:2px solid var(--tvd-line);margin-bottom:1.2rem}
.comg-tabradio{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}
.comg-tablabel{display:inline-block;padding:.7rem 1.2rem;font-weight:600;font-size:.92rem;color:#6a7482;cursor:pointer;border-radius:8px 8px 0 0;position:relative;top:2px}
.comg-tablabel:hover{color:var(--tvd-navy)}
.comg-tabradio:focus-visible+.comg-tablabel{outline:2px solid var(--tvd-gold);outline-offset:2px}
.comg-tabpanel{display:none}
#comg-tab-p:checked~.comg-tabs__list label[for=comg-tab-p],
#comg-tab-r:checked~.comg-tabs__list label[for=comg-tab-r]{color:var(--tvd-navy);border-bottom:2px solid var(--tvd-gold)}
#comg-tab-p:checked~#comg-panel-p,#comg-tab-r:checked~#comg-panel-r{display:block}
/* data table (tabs + comparison) → mobile cards */
.comg-dtable{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden}
.comg-dtable caption{text-align:left;font-size:.86rem;color:#6a7482;padding:.2rem 0 .6rem}
.comg-dtable th,.comg-dtable td{padding:.72rem .95rem;text-align:left;border-bottom:1px solid var(--tvd-line);vertical-align:top}
.comg-dtable thead th{background:var(--tvd-navy);color:#fff;font-weight:600;font-size:.86rem}
.comg-dtable tbody tr:last-child td{border-bottom:0}
.comg-dtable .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.comg-dtable th[scope=row]{font-weight:600;color:var(--tvd-navy)}
/* 2F methodology accordion */
.comg-acc{max-width:920px;margin:1.4rem auto 0;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden}
.comg-acc summary{cursor:pointer;list-style:none;padding:1rem 1.3rem;font-weight:600;color:var(--tvd-navy);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.comg-acc summary::-webkit-details-marker{display:none}
.comg-acc summary:after{content:"+";font-size:1.3rem;color:var(--tvd-gold);line-height:1}
.comg-acc[open] summary:after{content:"\2212"}
.comg-acc__body{padding:0 1.3rem 1.2rem}
.comg-acc__body ul{margin:.2rem 0 0;padding-left:1.1rem;color:var(--tvd-body);font-size:.92rem;line-height:1.6}
/* 3 interpretation 3+2 */
.comg-influences{max-width:900px;margin:1.2rem auto 0;background:var(--tvd-cream);border-radius:10px;padding:1.2rem 1.6rem}
.comg-influences .op-check{columns:2;column-gap:2rem}
.comg-grid32{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem;margin-top:1.7rem}
.comg-grid32>*:nth-child(-n+3){grid-column:span 2}
.comg-grid32>*:nth-child(n+4){grid-column:span 3}
.comg-icard{background:#fff;border:1px solid var(--tvd-line);border-left:3px solid var(--tvd-gold);border-radius:10px;padding:1.4rem 1.5rem}
.comg-icard h3{margin:0 0 .35rem;font-size:1.06rem;color:var(--tvd-navy)}
.comg-icard p{margin:0;font-size:.92rem;color:var(--tvd-body);line-height:1.55}
/* 4 community anatomy */
.comg-anatomy__hub{margin-top:1.8rem;background:var(--tvd-navy);border-radius:14px;padding:1.5rem 1.8rem;text-align:center;color:#dfe6ef}
.comg-anatomy__hub strong{color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;display:block;margin-bottom:.3rem}
.comg-anagrid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;margin-top:1.2rem}
.comg-anacard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.2rem;display:flex;flex-direction:column;position:relative}
.comg-anacard .op-ico{margin-bottom:.5rem}
.comg-anacard h3{margin:0 0 .3rem;font-size:.98rem;color:var(--tvd-navy);line-height:1.25}
.comg-anacard p{margin:0;font-size:.82rem;color:var(--tvd-body);line-height:1.5}
.comg-anatag{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tvd-gold);margin-bottom:.4rem}
/* 5 evolution timeline */
.comg-tl{margin-top:2rem;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;position:relative}
.comg-tl:before{content:"";position:absolute;top:19px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--tvd-gold),rgba(199,155,74,.35))}
.comg-tlnode{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.comg-tlnum{width:40px;height:40px;border-radius:50%;background:var(--tvd-navy);color:#fff;border:2px solid var(--tvd-gold);display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:1.05rem;position:relative;z-index:1}
.comg-tlnode h3{margin:.7rem 0 .3rem;font-size:.94rem;color:var(--tvd-navy);line-height:1.25}
.comg-tlnode p{margin:0;font-size:.8rem;color:var(--tvd-body);line-height:1.5}
/* 6 stage image cards */
.comg-scards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.9rem;align-items:stretch}
.comg-scard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.comg-scard__fig{margin:0;position:relative}
.comg-scard__fig img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.comg-scard__tag{position:absolute;left:.7rem;top:.7rem;background:rgba(20,36,58,.9);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.24rem .6rem;border-radius:4px}
.comg-scard__body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;flex:1 1 auto}
.comg-scard__body h3{margin:0 0 .4rem;font-size:1.18rem;color:var(--tvd-navy)}
.comg-scard__def{font-size:.9rem;color:var(--tvd-body);margin:0 0 .8rem;line-height:1.55}
/* 7/8/9 editorial split */
.comg-ed{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-top:1.6rem}
.comg-ed__fig{margin:0}
.comg-ed__fig img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.comg-ed__body h3{margin:.1rem 0 .6rem;font-size:1.35rem;color:var(--tvd-navy)}
.comg-relevance{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.1rem}
.comg-relcard{background:var(--tvd-cream);border-radius:10px;padding:1rem 1.2rem}
.comg-relcard h4{margin:0 0 .3rem;font-size:.86rem;color:var(--tvd-navy)}
.comg-relcard p{margin:0;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
/* 10 lifestyle cards */
.comg-life{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:1.9rem;align-items:stretch}
.comg-lcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.comg-lcard__fig{margin:0}
.comg-lcard__fig img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.comg-lcard__body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;flex:1 1 auto}
.comg-lcard__body h3{margin:0 0 .3rem;font-size:1.05rem;color:var(--tvd-navy)}
.comg-lcard__body p{margin:0;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
/* 11 zones */
.comg-znote{display:inline-flex;align-items:center;gap:.45rem;font-size:.76rem;color:#6a7482;background:var(--tvd-cream);border-radius:20px;padding:.35rem .9rem;margin:1.2rem auto 0}
.comg-zwrap{margin-top:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;align-items:start}
.comg-zfig{margin:0}
.comg-zfig img{width:100%;height:auto;border-radius:12px;border:1px solid var(--tvd-line);display:block}
.comg-zlist{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.comg-zcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1rem 1.1rem}
.comg-zcard__h{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}
.comg-znum{width:26px;height:26px;flex:0 0 auto;border-radius:50%;background:var(--tvd-gold);color:var(--tvd-navy);display:grid;place-items:center;font-weight:700;font-size:.82rem}
.comg-zcard h3{margin:0;font-size:.94rem;color:var(--tvd-navy);line-height:1.2}
.comg-zcard p{margin:0;font-size:.82rem;color:var(--tvd-body);line-height:1.5}
/* 12 developer roles */
.comg-roles__spine{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.7rem;flex-wrap:wrap}
.comg-roles__spine span{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem;color:var(--tvd-navy)}
.comg-roles__spine .comg-arrow{color:var(--tvd-gold);font-size:1.3rem}
.comg-rolegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.3rem}
.comg-rolecard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-navy);border-radius:10px;padding:1.3rem 1.4rem;display:flex;flex-direction:column}
.comg-rolecard--specialist{border-top-color:var(--tvd-navy)}
/* Final CTA: stronger scrim so centred copy stays legible over the dusk image */
.comg-finalcta:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,30,50,.58),rgba(16,30,50,.34) 45%,rgba(16,30,50,.64))}
.comg-rolenum{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--tvd-gold);margin-bottom:.3rem}
.comg-rolecard h3{margin:0 0 .35rem;font-size:1.05rem;color:var(--tvd-navy)}
.comg-rolecard p{margin:0;font-size:.88rem;color:var(--tvd-body);line-height:1.55}
.comg-compare{max-width:920px;margin:1.5rem auto 0;background:var(--tvd-cream);border-radius:12px;padding:1.3rem 1.7rem}
.comg-compare .op-check{columns:3;column-gap:1.8rem}
/* 13 & 16 five-up card grid */
.comg-g5{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;margin-top:1.9rem;align-items:stretch}
.comg-gcard{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.3rem 1.3rem;display:flex;flex-direction:column}
.comg-gcard .op-ico{margin-bottom:.45rem}
.comg-gcard h3{margin:0 0 .3rem;font-size:1rem;color:var(--tvd-navy);line-height:1.25}
.comg-gcard p{margin:0;font-size:.85rem;color:var(--tvd-body);line-height:1.5}
/* 14 static 18-community grid */
.comg-stagehdr{margin:2rem 0 0;display:flex;align-items:center;gap:.8rem}
.comg-stagehdr h3{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;color:var(--tvd-navy)}
.comg-stagehdr:before{content:"";width:34px;height:2px;background:var(--tvd-gold);flex:0 0 auto}
.comg-commgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.1rem;align-items:stretch}
.comg-ccard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.4rem 1.5rem;display:flex;flex-direction:column}
.comg-ccard--growing{border-top:3px solid #6a8bbf}
.comg-ccard--established{border-top:3px solid var(--tvd-navy)}
.comg-ccard--upcoming{border-top:3px solid var(--tvd-gold)}
.comg-ccard h4{margin:0 0 .5rem;font-size:1.14rem;color:var(--tvd-navy)}
.comg-ccard__meta{margin:0 0 .3rem;font-size:.8rem;color:var(--tvd-body)}
.comg-ccard__meta b{color:var(--tvd-navy);font-weight:600}
.comg-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}
.comg-chip{font-size:.68rem;font-weight:600;color:var(--tvd-navy);background:var(--tvd-cream);border-radius:20px;padding:.2rem .6rem}
.comg-ccard__desc{margin:.5rem 0 0;font-size:.86rem;color:var(--tvd-body);line-height:1.55}
/* 17 field comparison table */
.comg-fieldtable{width:100%;border-collapse:collapse;margin-top:1.7rem;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden;font-size:.93rem}
.comg-fieldtable th,.comg-fieldtable td{padding:.8rem 1.1rem;text-align:left;border-bottom:1px solid var(--tvd-line);line-height:1.5}
.comg-fieldtable thead th{background:var(--tvd-navy);color:#fff;font-weight:600}
.comg-fieldtable th[scope=row]{color:var(--tvd-navy);font-weight:600;width:34%}
.comg-fieldtable tbody tr:last-child td,.comg-fieldtable tbody tr:last-child th{border-bottom:0}
/* 18 insights grid */
.comg-artgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.7rem;align-items:stretch}
.comg-artcard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.comg-artcard__fig{margin:0}
.comg-artcard__fig img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.comg-artcard__body{padding:1.2rem 1.4rem;display:flex;flex-direction:column;flex:1 1 auto}
.comg-artcard__body h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--tvd-navy);line-height:1.3}
.comg-artcard__body p{margin:0 0 .8rem;font-size:.87rem;color:var(--tvd-body);line-height:1.55}
.comg-artcard__more{margin-top:auto;font-weight:600;color:var(--tvd-gold);font-size:.88rem;text-decoration:none}
.comg-artcard__more:hover{color:var(--tvd-navy)}
.comg-3proc{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.4rem}
/* ---- comg responsive ---- */
@media(max-width:1024px){
  .comg-mcards{grid-template-columns:repeat(2,1fr)}
  .comg-anagrid{grid-template-columns:repeat(3,1fr)}
  .comg-g5{grid-template-columns:repeat(3,1fr)}
  .comg-life{grid-template-columns:repeat(2,1fr)}
  .comg-rolegrid,.comg-3proc{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .comg-scards,.comg-commgrid,.comg-artgrid{grid-template-columns:1fr}
  .comg-tl{grid-template-columns:repeat(3,1fr);row-gap:1.6rem}
  .comg-tl:before{display:none}
  .comg-grid32{grid-template-columns:1fr}
  .comg-grid32>.comg-icard{grid-column:auto!important}
  .comg-zwrap{grid-template-columns:1fr}
  .comg-compare .op-check{columns:2}
}
@media(max-width:768px){
  .comg-ed{grid-template-columns:1fr;gap:1.2rem}
  .comg-ed__fig{order:-1}
  .comg-relevance{grid-template-columns:1fr}
  .comg-rolegrid,.comg-3proc{grid-template-columns:1fr}
}
@media(max-width:640px){
  .comg-mcards{grid-template-columns:1fr}
  .comg-anagrid{grid-template-columns:1fr}
  .comg-g5{grid-template-columns:1fr}
  .comg-life{grid-template-columns:1fr}
  .comg-tl{grid-template-columns:1fr;row-gap:1.2rem}
  .comg-zlist{grid-template-columns:1fr}
  .comg-influences .op-check,.comg-compare .op-check{columns:1}
  /* charts → horizontal rows */
  .comg-chart__bars{flex-direction:column;align-items:stretch;height:auto;gap:.5rem}
  .comg-bar{flex-direction:row;align-items:center;gap:.6rem}
  .comg-bar__yr{order:0;flex:0 0 56px;margin:0;text-align:left}
  .comg-bar__track{order:1;height:16px;width:auto;align-items:center}
  .comg-bar__fill{width:var(--h);max-width:none;height:16px;border-radius:0 4px 4px 0}
  .comg-bar__val{order:2;margin:0;flex:0 0 auto;min-width:56px;text-align:right}
  .comg-splitrow{grid-template-columns:1fr}
  .comg-sbar__v{min-width:84px}
  /* data tables → stacked cards */
  .comg-dtable,.comg-dtable tbody,.comg-dtable tr,.comg-dtable td{display:block;width:100%}
  .comg-dtable thead{position:absolute;left:-9999px}
  .comg-dtable tr{border:1px solid var(--tvd-line);border-radius:10px;margin-bottom:.8rem;background:#fff}
  .comg-dtable td{border:0;border-bottom:1px solid var(--tvd-line);display:flex;justify-content:space-between;gap:1rem;text-align:right}
  .comg-dtable tr td:last-child{border-bottom:0}
  .comg-dtable td:before{content:attr(data-l);font-weight:600;color:var(--tvd-navy);text-align:left}
  .comg-dtable .num{text-align:right}
  .comg-fieldtable,.comg-fieldtable tbody,.comg-fieldtable tr,.comg-fieldtable td,.comg-fieldtable th{display:block;width:100%}
  .comg-fieldtable thead{position:absolute;left:-9999px}
  .comg-fieldtable tr{border:1px solid var(--tvd-line);border-radius:10px;margin-bottom:.8rem;background:#fff;padding:.3rem .2rem}
  .comg-fieldtable th[scope=row]{width:auto;border-bottom:0;padding-bottom:.2rem}
  .comg-fieldtable td{border-bottom:0;padding-top:.2rem;color:var(--tvd-body)}
}

/* ============================================================
   WHY VILLAS? — whyv-* components (/why-villas-dubai/)
   ============================================================ */
/* hero: extra left-anchored scrim so the left-aligned copy stays legible over a bright villa image */
.whyv-hero:not(.whyv-finalcta):before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,30,50,.78) 0%,rgba(16,30,50,.55) 42%,rgba(16,30,50,.18) 70%,rgba(16,30,50,0) 90%)}
.whyv-lead{max-width:840px;margin:1rem auto 0;text-align:center;color:var(--tvd-body);font-size:1.02rem;line-height:1.6}
.whyv-sublead{max-width:820px;margin:.4rem auto 0;text-align:center;color:var(--tvd-body);font-size:.98rem;line-height:1.6}
/* hero quality list (on dark hero) */
.whyv-herolist{columns:2;column-gap:1.8rem;margin:.5rem 0 .2rem;max-width:560px;list-style:none;padding:0}
.whyv-herolist li{position:relative;padding-left:1.3rem;margin:.25rem 0;color:#eef2f7;font-size:.95rem;break-inside:avoid}
.whyv-herolist li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--tvd-gold)}
/* generic whyv card (used in comg-grid32 3+2 layouts: value pillars, opportunity, lifestyle, pathways) */
.whyv-card{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.5rem 1.5rem;display:flex;flex-direction:column;height:100%}
.whyv-card--accent{border-top:3px solid var(--tvd-gold)}
.whyv-card__n{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:var(--tvd-gold);font-weight:700;line-height:1;margin-bottom:.2rem}
.whyv-card .op-ico{margin-bottom:.45rem}
.whyv-card h3{margin:0 0 .4rem;font-size:1.08rem;color:var(--tvd-navy);line-height:1.25}
.whyv-card p{margin:0 0 .5rem;font-size:.9rem;color:var(--tvd-body);line-height:1.55}
.whyv-card .op-check{margin:.1rem 0 0}
.whyv-card__link{margin-top:auto;padding-top:.7rem;font-weight:600;color:var(--tvd-gold);font-size:.9rem;text-decoration:none}
.whyv-card__link:hover{color:var(--tvd-navy)}
.whyv-vlead{text-align:center;margin:1.8rem 0 .2rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;color:var(--tvd-navy)}
/* two equal panels (perspective, owner/investor, advantages/responsibilities) */
.whyv-two{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.6rem;align-items:stretch}
.whyv-panel{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.6rem 1.7rem;display:flex;flex-direction:column}
.whyv-panel--cream{background:var(--tvd-cream)}
.whyv-panel--gold{border-top:3px solid var(--tvd-gold)}
.whyv-panel--navytop{border-top:3px solid var(--tvd-navy)}
.whyv-panel h3{margin:0 0 .5rem;font-size:1.18rem;color:var(--tvd-navy)}
.whyv-panel h4{margin:1rem 0 .3rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tvd-gold);font-weight:700}
.whyv-quote{margin:1rem 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.08rem;line-height:1.4;color:var(--tvd-navy);border-left:3px solid var(--tvd-gold);padding-left:1rem}
.whyv-impnote{margin:1.4rem 0 0;background:var(--tvd-navy);color:#dfe6ef;border-radius:12px;padding:1.4rem 1.8rem;text-align:center;line-height:1.55}
.whyv-impnote strong{color:#fff}
/* §5 building-plot-outdoor-adaptability-repositioning nodes */
.whyv-nodes{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1.6rem;position:relative}
.whyv-nodes:before{content:"";position:absolute;top:34px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--tvd-gold),rgba(199,155,74,.3));z-index:0}
.whyv-node{position:relative;z-index:1;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.2rem 1.2rem;display:flex;flex-direction:column;align-items:flex-start}
.whyv-node .op-ico{margin-bottom:.45rem;background:#fff}
.whyv-node h3{margin:0 0 .35rem;font-size:.98rem;color:var(--tvd-navy);line-height:1.2}
.whyv-node p{margin:0 0 .3rem;font-size:.83rem;color:var(--tvd-body);line-height:1.5}
.whyv-node .op-check li{font-size:.8rem}
/* §6 equation hub + factors reuse rdy-grid43; formula reuse rdy-formula */
.whyv-eqhub{margin-top:1.6rem;background:var(--tvd-navy);border-radius:14px;padding:1.4rem 1.8rem;text-align:center;color:#dfe6ef;line-height:1.5}
.whyv-eqhub strong{display:block;color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;margin-bottom:.2rem}
/* §7 comparison table (desktop) + format panels (mobile) */
.whyv-cmp{width:100%;border-collapse:collapse;margin-top:1.6rem;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden;font-size:.9rem}
.whyv-cmp caption{caption-side:top;text-align:left;font-size:.82rem;color:#6a7482;padding:0 0 .5rem}
.whyv-cmp th,.whyv-cmp td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--tvd-line);border-right:1px solid var(--tvd-line);vertical-align:top;line-height:1.45}
.whyv-cmp thead th{background:var(--tvd-navy);color:#fff;font-weight:600}
.whyv-cmp thead th:first-child{background:#0f1d31}
.whyv-cmp th[scope=row]{color:var(--tvd-navy);font-weight:600;background:#fbfaf6}
.whyv-cmp tr td:last-child,.whyv-cmp tr th:last-child{border-right:0}
.whyv-cmp tbody tr:last-child td,.whyv-cmp tbody tr:last-child th{border-bottom:0}
.whyv-fmtpanels{display:none;margin-top:1.6rem}
.whyv-fmtpanel{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.3rem 1.5rem;margin-bottom:1rem}
.whyv-fmtpanel--villa{border-top:3px solid var(--tvd-gold)}
.whyv-fmtpanel h3{margin:0 0 .5rem;color:var(--tvd-navy)}
.whyv-fmtpanel dl{margin:0;display:grid;grid-template-columns:1fr;gap:.4rem}
.whyv-fmtpanel dt{font-weight:600;color:var(--tvd-navy);font-size:.8rem}
.whyv-fmtpanel dd{margin:.05rem 0 0;font-size:.88rem;color:var(--tvd-body);line-height:1.45}
/* §8 concentration/diversification */
.whyv-conc{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.6rem;align-items:stretch}
.whyv-concpanel{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.6rem 1.7rem;display:flex;flex-direction:column}
.whyv-concpanel--villa{border-top:3px solid var(--tvd-gold)}
.whyv-concpanel--apts{border-top:3px solid var(--tvd-navy)}
.whyv-concpanel h3{margin:0 0 .6rem;font-size:1.2rem;color:var(--tvd-navy)}
.whyv-limit{margin-top:auto;padding-top:.9rem;font-size:.88rem;color:var(--tvd-body);border-top:1px solid var(--tvd-line);margin-top:1rem}
.whyv-limit b{color:var(--tvd-navy)}
.whyv-mixed{max-width:840px;margin:1.3rem auto 0;background:var(--tvd-cream);border:1px dashed rgba(199,155,74,.65);border-radius:12px;padding:1.3rem 1.7rem;text-align:center}
.whyv-mixed h3{margin:0 0 .4rem;color:var(--tvd-navy);font-size:1.1rem}
.whyv-mixed p{margin:0 0 .5rem;font-size:.9rem;color:var(--tvd-body)}
.whyv-mixed .op-check{max-width:520px;margin:.2rem auto 0;text-align:left;columns:2;column-gap:1.4rem}
/* §10 value routes */
.whyv-routes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.6rem;align-items:stretch}
.whyv-routecard{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.4rem 1.5rem;display:flex;flex-direction:column}
.whyv-routecard .op-ico{margin-bottom:.4rem}
.whyv-routecard h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--tvd-navy)}
.whyv-routecard p{margin:0 0 .6rem;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
.whyv-caution{margin-top:auto;font-size:.8rem;color:#8a6d2f;background:#fbf7ee;border-radius:8px;padding:.55rem .75rem;line-height:1.4}
/* §14 advisory + disclosure */
.whyv-advgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.6rem}
.whyv-advcard{background:#fff;border:1px solid var(--tvd-line);border-left:3px solid var(--tvd-gold);border-radius:10px;padding:1.3rem 1.4rem}
.whyv-advcard__n{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--tvd-gold);margin-bottom:.2rem}
.whyv-advcard h3{margin:0 0 .3rem;font-size:1.02rem;color:var(--tvd-navy)}
.whyv-advcard p{margin:0;font-size:.87rem;color:var(--tvd-body);line-height:1.5}
.whyv-donot{max-width:920px;margin:1.6rem auto 0;background:var(--tvd-navy);border-radius:12px;padding:1.5rem 1.9rem;color:#dfe6ef}
.whyv-donot h3{margin:0 0 .6rem;color:#fff;font-size:1.1rem}
.whyv-donot ul{margin:0;padding-left:1.1rem;line-height:1.65;font-size:.92rem}
/* ---- whyv responsive ---- */
@media(max-width:1024px){
  .whyv-nodes{grid-template-columns:repeat(3,1fr);row-gap:1.4rem}
  .whyv-nodes:before{display:none}
  .whyv-routes{grid-template-columns:repeat(2,1fr)}
  .whyv-advgrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){ .whyv-advgrid{grid-template-columns:1fr} }
@media(max-width:768px){
  .whyv-two,.whyv-conc{grid-template-columns:1fr}
  .whyv-nodes{grid-template-columns:1fr}
  .whyv-cmp{display:none}
  .whyv-fmtpanels{display:block}
}
@media(max-width:640px){
  .whyv-routes{grid-template-columns:1fr}
  .whyv-herolist{columns:1}
  .whyv-mixed .op-check{columns:1}
}

/* ============================================================
   WHY THEVILLASDUBAI? — whytd-* components (/why-thevillasdubai/)
   ============================================================ */
.whytd-tagline{margin:.5rem 0 1.1rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700}
.whytd-lead{max-width:840px;margin:1rem auto 0;text-align:center;color:var(--tvd-body);font-size:1.02rem;line-height:1.6}
/* §2 intro two lists */
.whytd-triggers{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;max-width:960px;margin:1.4rem auto 0;align-items:stretch}
/* §2 Emotion–Evidence–Strategy flow */
.whytd-ees{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:stretch;margin-top:1.8rem}
.whytd-eespanel{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.5rem 1.6rem;display:flex;flex-direction:column}
.whytd-eespanel--mid{border-top:3px solid var(--tvd-gold);background:#fbf7ee}
.whytd-eespanel__k{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tvd-gold);margin-bottom:.3rem}
.whytd-eespanel h3{margin:0 0 .5rem;font-size:1.14rem;color:var(--tvd-navy)}
.whytd-eespanel p{margin:0 0 .4rem;font-size:.9rem;color:var(--tvd-body);line-height:1.55}
.whytd-eesarrow{align-self:center;color:var(--tvd-gold);display:grid;place-items:center}
.whytd-eesarrow svg{width:26px;height:26px}
/* §3 six-layer intelligence model */
.whytd-hub{margin-top:1.8rem;background:var(--tvd-navy);border-radius:14px;padding:1.5rem 1.9rem;text-align:center;color:#dfe6ef;line-height:1.5}
.whytd-hub strong{display:block;color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;margin-bottom:.2rem}
.whytd-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.2rem;align-items:stretch}
.whytd-layer{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:12px;padding:1.4rem 1.5rem;display:flex;flex-direction:column}
.whytd-layer .op-ico{margin-bottom:.4rem}
.whytd-layernum{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--tvd-gold);margin-bottom:.2rem}
.whytd-layer h3{margin:0 0 .4rem;font-size:1.06rem;color:var(--tvd-navy);line-height:1.25}
.whytd-layer .op-check{margin:.1rem 0 0}
.whytd-layer .op-check li{font-size:.84rem}
.whytd-layernote{margin:.6rem 0 0;font-size:.8rem;color:#8a6d2f;background:#fbf7ee;border-radius:8px;padding:.5rem .7rem;line-height:1.4}
/* §4 pathway cards (reuse whyv-card) + decision-focus tag */
.whytd-p3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.8rem;align-items:stretch}
.whytd-q{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tvd-gold);margin:-.1rem 0 .5rem}
/* §6 brand statement */
.whytd-brandstmt{max-width:900px;margin:1.9rem auto 0;background:var(--tvd-navy);border-radius:14px;padding:1.9rem 2rem;text-align:center}
.whytd-brandstmt p{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;line-height:1.4;color:#fff}
.whytd-brandstmt strong{color:var(--tvd-gold)}
.whytd-more{text-align:center;margin:1rem 0 0;font-size:.9rem;color:var(--tvd-body)}
.whytd-more a{color:var(--tvd-gold);font-weight:600;text-decoration:none}
.whytd-more a:hover{color:var(--tvd-navy)}
/* §7 final CTA objective chips */
.whytd-objchips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:680px;margin:.3rem auto .5rem}
.whytd-objchips span{font-size:.8rem;color:#f2ede3;border:1px solid rgba(255,255,255,.32);border-radius:20px;padding:.25rem .8rem}
/* ---- whytd responsive ---- */
@media(max-width:900px){ .whytd-layers,.whytd-p3{grid-template-columns:repeat(2,1fr)} }
@media(max-width:768px){
  .whytd-ees{grid-template-columns:1fr}
  .whytd-eesarrow{transform:rotate(90deg);margin:0 auto}
  .whytd-triggers{grid-template-columns:1fr}
}
@media(max-width:640px){ .whytd-layers,.whytd-p3{grid-template-columns:1fr} }

/* ============================================================
   VILLA PERFORMANCE CASE STUDIES — case-* components (/case-studies/)
   ============================================================ */
.case-lead{max-width:860px;margin:1rem auto 0;text-align:center;color:var(--tvd-body);font-size:1.02rem;line-height:1.6}
.case-sub{text-align:center;margin:1.9rem 0 .2rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;color:var(--tvd-navy)}
/* hero evidence indicators */
.case-ind{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.3rem 0 .3rem}
.case-indcard{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:1rem 1.1rem}
.case-indcard b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:#fff;line-height:1.1}
.case-indcard span{font-size:.78rem;color:#e7ecf3;line-height:1.4;display:block;margin-top:.25rem}
/* global disclosure band */
.case-disclosure{max-width:940px;margin:1.5rem auto 0;background:var(--tvd-cream);border-left:3px solid var(--tvd-gold);border-radius:8px;padding:1.1rem 1.5rem;font-size:.92rem;color:var(--tvd-body);line-height:1.55}
.case-disclosure strong{color:var(--tvd-navy)}
/* §2 three lenses + current buyer */
.case-lens{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.8rem;align-items:stretch}
.case-lenscard{border-radius:12px;padding:1.6rem 1.6rem;display:flex;flex-direction:column;background:#fff}
.case-lenscard__k{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}
.case-lenscard h3{margin:0 0 .5rem;font-size:1.14rem;color:var(--tvd-navy)}
.case-lenscard p{margin:0 0 .5rem;font-size:.9rem;color:var(--tvd-body);line-height:1.55}
.case-lenscard--high{border:1.5px solid var(--tvd-navy)}
.case-lenscard--high .case-lenscard__k{color:var(--tvd-navy)}
.case-lenscard--rep{border:1px solid rgba(199,155,74,.55);border-top:3px solid var(--tvd-gold);background:#fbf7ee}
.case-lenscard--rep .case-lenscard__k{color:#a97c26}
.case-lenscard--avg{background:var(--tvd-navy);color:#dfe6ef}
.case-lenscard--avg h3{color:#fff}.case-lenscard--avg p{color:#cdd6e2}.case-lenscard--avg .case-lenscard__k{color:var(--tvd-gold)}
.case-lenslabel{margin-top:auto;font-size:.78rem;font-weight:600;border-radius:6px;padding:.4rem .6rem;line-height:1.35}
.case-lenscard--high .case-lenslabel{background:#f3f5f8;color:var(--tvd-navy)}
.case-lenscard--rep .case-lenslabel{background:#f3e9d4;color:#7a5b1e}
.case-lenscard--avg .case-lenslabel{background:rgba(255,255,255,.12);color:#fff}
.case-cbuyer{margin-top:1.3rem;background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:1.5rem 1.7rem}
.case-cbuyer h3{margin:0 0 .5rem;color:var(--tvd-navy);font-size:1.14rem}
.case-cbuyer .op-check{columns:3;column-gap:1.6rem}
/* §3A capital timeline (reuse rail look) */
.case-tl{display:grid;grid-template-columns:repeat(8,1fr);gap:.7rem;margin-top:1.6rem;position:relative}
.case-tl:before{content:"";position:absolute;top:19px;left:5%;right:5%;height:2px;background:linear-gradient(90deg,var(--tvd-gold),rgba(199,155,74,.3))}
.case-tlnode{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.case-tlnum{width:38px;height:38px;border-radius:50%;background:var(--tvd-navy);color:#fff;border:2px solid var(--tvd-gold);display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;position:relative;z-index:1;font-size:1rem}
.case-tlnode span{font-size:.76rem;color:var(--tvd-body);line-height:1.3;margin-top:.5rem}
/* §3B rental method + §3C legend */
.case-method{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1.4rem}
.case-mcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:10px;padding:1rem 1.1rem}
.case-mcard b{color:var(--tvd-gold);font-size:.8rem;font-weight:700}
.case-mcard p{margin:.3rem 0 0;font-size:.84rem;color:var(--tvd-body);line-height:1.45}
.case-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.case-status{border-radius:10px;padding:1rem 1.2rem;border:1px solid var(--tvd-line);background:#fff}
.case-status b{font-size:.95rem}
.case-status p{margin:.3rem 0 0;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
.case-status--pub{border-left:4px solid var(--tvd-navy)}.case-status--pub b{color:var(--tvd-navy)}
.case-status--con{border-left:4px solid var(--tvd-gold)}.case-status--con b{color:#a97c26}
.case-status--exc{border-left:4px solid #8a94a3}.case-status--exc b{color:#6a7482}
/* evidence-status badge (inline) */
.case-badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:.2rem .55rem}
.case-badge--con{background:#f3e9d4;color:#7a5b1e}
.case-badge--clean{background:#e7edf5;color:var(--tvd-navy)}
.case-badge--small{background:#eceff3;color:#5a6472}
.case-badge--varied{background:#f3e9d4;color:#7a5b1e}
/* §4 overview tables → cards */
.case-otable{width:100%;border-collapse:collapse;margin-top:1.4rem;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden;font-size:.9rem}
.case-otable caption{caption-side:top;text-align:left;font-size:.86rem;color:#6a7482;padding:0 0 .5rem}
.case-otable th,.case-otable td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--tvd-line);vertical-align:top;line-height:1.4}
.case-otable thead th{background:var(--tvd-navy);color:#fff;font-weight:600;font-size:.82rem}
.case-otable th[scope=row]{color:var(--tvd-navy);font-weight:600}
.case-otable .hi{font-weight:700;color:var(--tvd-navy)}
.case-otable .avg{background:#f4f6f9;color:var(--tvd-navy);font-weight:600}
.case-otable .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.case-otable tbody tr:last-child td,.case-otable tbody tr:last-child th{border-bottom:0}
/* community module */
.case-mod{border:1px solid var(--tvd-line);border-radius:16px;overflow:hidden;margin-top:1.6rem;background:#fff}
.case-mod__fig{margin:0;position:relative}
.case-mod__fig img{width:100%;height:auto;aspect-ratio:21/8;object-fit:cover;display:block}
.case-mod__cap{position:absolute;left:.7rem;bottom:.7rem;background:rgba(20,36,58,.85);color:#fff;font-size:.66rem;padding:.24rem .6rem;border-radius:4px}
.case-mod__head{padding:1.4rem 1.7rem;border-bottom:1px solid var(--tvd-line)}
.case-mod__head h3{margin:0 0 .5rem;font-size:1.4rem;color:var(--tvd-navy)}
.case-meta{display:flex;flex-wrap:wrap;gap:.4rem .5rem}
.case-metachip{font-size:.72rem;background:var(--tvd-cream);color:var(--tvd-navy);border-radius:20px;padding:.24rem .7rem}
.case-metachip b{font-weight:700}
.case-mod__body{padding:1.5rem 1.7rem}
/* tabs (CSS-radio, per module) */
.case-tabs{position:relative}
.case-tabradio{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}
.case-tablist{display:flex;gap:.5rem;border-bottom:2px solid var(--tvd-line);margin-bottom:1.3rem}
.case-tab{display:inline-block;padding:.7rem 1.3rem;min-height:44px;font-weight:600;font-size:.95rem;color:#6a7482;cursor:pointer;border-radius:8px 8px 0 0;position:relative;top:2px}
.case-tab:hover{color:var(--tvd-navy)}
.case-tabradio:focus-visible + * .case-tab, .case-tabradio:focus-visible ~ .case-tablist .case-tab{outline:2px solid var(--tvd-gold);outline-offset:2px}
.case-cap:checked ~ .case-tablist .case-tab--cap{color:var(--tvd-navy);border-bottom:2px solid var(--tvd-gold)}
.case-rent:checked ~ .case-tablist .case-tab--rent{color:var(--tvd-navy);border-bottom:2px solid var(--tvd-gold)}
.case-pane{display:none}
.case-cap:checked ~ .case-panes .case-pane--cap{display:block}
.case-rent:checked ~ .case-panes .case-pane--rent{display:block}
.case-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:stretch}
.case-panel{border-radius:12px;padding:1.4rem 1.5rem;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tvd-line)}
.case-panel__k{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem}
.case-panel h4{margin:0 0 .3rem;font-size:1rem;color:var(--tvd-navy);line-height:1.25}
.case-fig{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.9rem;font-weight:700;line-height:1;margin:.2rem 0 .5rem}
.case-panel dl{margin:.3rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;font-size:.82rem}
.case-panel dt{color:#6a7482}.case-panel dd{margin:0;color:var(--tvd-navy);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.case-panel--high{border:1.5px solid var(--tvd-navy)}
.case-panel--high .case-panel__k,.case-panel--high .case-fig{color:var(--tvd-navy)}
.case-panel--rep{border-color:rgba(199,155,74,.55);border-top:3px solid var(--tvd-gold);background:#fbf7ee}
.case-panel--rep .case-panel__k,.case-panel--rep .case-fig{color:#a97c26}
.case-panel--avg{background:var(--tvd-navy);color:#dfe6ef}
.case-panel--avg h4,.case-panel--avg .case-fig{color:#fff}.case-panel--avg .case-panel__k{color:var(--tvd-gold)}
.case-panel--avg dt{color:#9fb0c6}.case-panel--avg dd{color:#fff}
.case-panelnote{margin-top:.6rem;font-size:.8rem;line-height:1.4}
.case-panel--rep .case-panelnote,.case-panel--high .case-panelnote{color:#6a7482}
.case-panel--avg .case-panelnote{color:#b9c6d8}
/* evidence drawer */
.case-drawer{margin-top:1.3rem}
.case-drawer summary{cursor:pointer;list-style:none;padding:.9rem 1.2rem;font-weight:600;color:var(--tvd-navy);background:var(--tvd-cream);border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.case-drawer summary::-webkit-details-marker{display:none}
.case-drawer summary:after{content:"+";color:var(--tvd-gold);font-size:1.3rem}
.case-drawer[open] summary:after{content:"\2212"}
.case-drawer__body{padding:1.1rem 1.3rem;border:1px solid var(--tvd-line);border-top:0;border-radius:0 0 10px 10px}
.case-drawer__body p{margin:.2rem 0 .6rem;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
.case-drawer__body .op-lbl{margin-top:.6rem}
/* §12 drivers 4+4 */
.case-drivers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:1.6rem;align-items:stretch}
.case-driver{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.3rem 1.3rem;display:flex;flex-direction:column}
.case-driver .op-ico{margin-bottom:.4rem}
.case-driver h3{margin:0 0 .3rem;font-size:1rem;color:var(--tvd-navy);line-height:1.25}
.case-driver p{margin:0;font-size:.86rem;color:var(--tvd-body);line-height:1.5}
/* §13 integrity 3 panels */
.case-integrity{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.6rem;align-items:stretch}
.case-intcard{border-radius:12px;padding:1.4rem 1.5rem;background:#fff;border:1px solid var(--tvd-line);display:flex;flex-direction:column}
.case-intcard--pub{border-top:3px solid var(--tvd-navy)}
.case-intcard--con{border-top:3px solid var(--tvd-gold)}
.case-intcard--exc{border-top:3px solid #8a94a3}
.case-intcard h3{margin:0 0 .4rem;font-size:1.08rem;color:var(--tvd-navy)}
.case-exlist{max-width:920px;margin:1.4rem auto 0;background:var(--tvd-cream);border-radius:12px;padding:1.3rem 1.6rem}
.case-exlist .op-check li{font-size:.9rem}
/* ---- case responsive ---- */
@media(max-width:1024px){
  .case-ind{grid-template-columns:repeat(2,1fr)}
  .case-tl{grid-template-columns:repeat(4,1fr);row-gap:1.3rem}.case-tl:before{display:none}
  .case-method{grid-template-columns:repeat(2,1fr)}
  .case-drivers{grid-template-columns:repeat(2,1fr)}
  .case-cbuyer .op-check{columns:2}
}
@media(max-width:900px){
  .case-lens,.case-legend,.case-integrity{grid-template-columns:1fr}
  .case-cols{grid-template-columns:1fr}
}
@media(max-width:768px){
  /* MANDATORY mobile panel order: Representative -> Average -> Highest */
  .case-lens{display:flex;flex-direction:column}
  .case-lenscard--rep{order:1}.case-lenscard--avg{order:2}.case-lenscard--high{order:3}
  .case-cols{display:flex;flex-direction:column}
  .case-panel--rep{order:1}.case-panel--avg{order:2}.case-panel--high{order:3}
  .case-mod__fig img{aspect-ratio:16/9}
  /* overview tables -> stacked cards */
  .case-otable,.case-otable tbody,.case-otable tr,.case-otable td,.case-otable th{display:block;width:100%}
  .case-otable thead{position:absolute;left:-9999px}
  .case-otable tr{border:1px solid var(--tvd-line);border-radius:10px;margin-bottom:.8rem;background:#fff}
  .case-otable td,.case-otable th[scope=row]{border:0;border-bottom:1px solid var(--tvd-line);display:flex;justify-content:space-between;gap:1rem;text-align:right}
  .case-otable th[scope=row]{background:#fbfaf6;font-size:1rem}
  .case-otable td:before{content:attr(data-l);font-weight:600;color:var(--tvd-navy);text-align:left}
  .case-otable tr td:last-child{border-bottom:0}
}
@media(max-width:640px){
  .case-ind{grid-template-columns:1fr}
  .case-method,.case-drivers{grid-template-columns:1fr}
  .case-tl{grid-template-columns:repeat(2,1fr)}
  .case-cbuyer .op-check{columns:1}
}

/* ============================================================
   INSIGHTS SYSTEM (hub .ins-*, article .art-*, category .cat-*)
   Editorial decision-guide design language — navy/cream/gold.
   ============================================================ */
.ins-wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}
.ins-narrow{max-width:820px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}
.ins-sec{padding-block:clamp(2.6rem,5vw,4.4rem)}
.ins-eyebrow{font-family:-apple-system,Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .55rem}
.ins-h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;margin:0 0 .7rem;letter-spacing:.005em}
.ins-lead{color:var(--tvd-body);font-size:clamp(1.02rem,1.5vw,1.14rem);line-height:1.65;max-width:64ch;margin:0 0 1.1rem}
.ins-arrow{display:inline-block;transition:transform .2s ease}

/* Shared button row: equal height, one-line labels, wrap only on mobile */
.ins-ctarow{display:flex;flex-wrap:wrap;gap:.7rem;align-items:stretch;margin-top:1.2rem}
.ins-ctarow .tvd-btn,.ins-ctarow .tvd-wa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;white-space:nowrap;margin:0}
.tvd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid transparent;border-radius:4px;padding:.85rem 1.5rem;font-size:.9rem;font-weight:600;letter-spacing:.02em;text-decoration:none;line-height:1.1;transition:background .18s,color .18s,border-color .18s}

/* ---------- 1. Editorial hero (INS-HTML-01) — cream, no photo ---------- */
.ins-hero{background:linear-gradient(180deg,#fbf7ef,var(--tvd-cream));border-bottom:1px solid var(--tvd-line)}
.ins-hero__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.ins-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(2.2rem,5.2vw,3.5rem);line-height:1.06;margin:.2rem 0 .8rem;letter-spacing:.005em}
.ins-hero__lead{color:var(--tvd-body);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;max-width:52ch}
.ins-hero__aud{margin:1.1rem 0 .2rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem .5rem}
.ins-hero__aud li{font-size:.82rem;color:#4a4a3d;background:#fff;border:1px solid var(--tvd-line);border-radius:100px;padding:.32rem .7rem;line-height:1.2}
.ins-hero__support{margin-top:1.1rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;color:var(--tvd-navy);font-style:italic}
/* right: architectural line panel + 6 subject indicators */
.ins-hero__panel{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:clamp(1.1rem,2vw,1.6rem);box-shadow:0 24px 50px rgba(20,36,58,.07)}
.ins-hero__art{display:block;width:100%;height:auto;margin-bottom:1rem}
.ins-subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.ins-subject{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:.7rem .3rem;border:1px solid var(--tvd-line);border-radius:8px;background:#fdfbf6}
.ins-subject svg{width:26px;height:26px;color:var(--tvd-gold)}
.ins-subject span{font-size:.72rem;font-weight:600;color:var(--tvd-navy);letter-spacing:.01em;line-height:1.15}
@media(max-width:860px){.ins-hero__grid{grid-template-columns:1fr}.ins-hero__panel{order:2}}

/* ---------- 2. Topic navigation (INS-HTML-02) ---------- */
.ins-topicsbar{border-bottom:1px solid var(--tvd-line);background:#fff;position:relative}
.ins-topics{display:flex;gap:.55rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:1.1rem 0;margin:0;list-style:none;scrollbar-width:thin}
.ins-topics::-webkit-scrollbar{height:6px}
.ins-topics::-webkit-scrollbar-thumb{background:var(--tvd-line);border-radius:100px}
.ins-topic{scroll-snap-align:start;flex:0 0 auto}
.ins-topic a,.ins-topic button{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.05rem;border:1.5px solid var(--tvd-navy);border-radius:100px;background:#fff;color:var(--tvd-navy);font-size:.86rem;font-weight:600;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .18s,color .18s;font-family:inherit}
.ins-topic a:hover,.ins-topic button:hover{background:var(--tvd-cream)}
.ins-topic.is-active a,.ins-topic.is-active button,.ins-topic a[aria-current="true"],.ins-topic button[aria-pressed="true"]{background:var(--tvd-navy);color:#fff}
.ins-topics__hint{display:none;font-size:.7rem;color:var(--tvd-gold);font-weight:700;letter-spacing:.04em}
@media(max-width:781px){.ins-topics__hint{display:block;position:absolute;right:clamp(16px,4vw,28px);top:.35rem}}

/* ---------- Shared editorial article card ---------- */
.ins-artcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden;height:100%;transition:border-color .2s ease,box-shadow .25s ease,transform .25s ease}
.ins-artcard:hover{border-color:var(--tvd-gold);box-shadow:0 20px 42px rgba(20,36,58,.12)}
.ins-artcard__imgwrap{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--tvd-cream)}
.ins-artcard__imgwrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.ins-artcard:hover .ins-artcard__imgwrap img{transform:scale(1.03)}
.ins-artcard__body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.2rem 1.25rem;gap:.55rem}
.ins-pill{align-self:flex-start;font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--tvd-gold);background:#fbf5e8;border:1px solid #ecdcbb;border-radius:100px;padding:.28rem .6rem}
.ins-artcard__title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.2rem,1.9vw,1.42rem);line-height:1.18;margin:0}
.ins-artcard__title a{color:inherit;text-decoration:none}
.ins-artcard__title a::after{content:"";position:absolute;inset:0;z-index:1}
.ins-artcard__desc{color:var(--tvd-body);font-size:.94rem;line-height:1.55;margin:0}
.ins-artcard__meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.8rem;color:#5c6470;padding-top:.5rem}
.ins-artcard__meta b{color:var(--tvd-navy);font-weight:600}
.ins-artcard__cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.86rem;font-weight:700;letter-spacing:.02em;color:var(--tvd-navy)}
.ins-artcard:hover .ins-artcard__cta .ins-arrow{transform:translateX(4px)}
.ins-artcard__rel{font-size:.76rem;color:#7a8290;border-top:1px dashed var(--tvd-line);padding-top:.5rem}
.ins-artcard__rel a{color:#5c6470;position:relative;z-index:2}

/* ---------- 3. Editorial article grid (INS-HTML-03): feature 8 + secondary 4, then four 3-col cards ---------- */
.ins-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch}
.ins-bento>.ins-artcard{grid-column:span 3}                       /* row 2: four equal cards */
.ins-bento>.ins-card--feat{grid-column:span 8}                    /* row 1: featured */
.ins-bento>.ins-card--feat + .ins-artcard{grid-column:span 4}     /* row 1: secondary (article 2) */
/* Featured = horizontal editorial card (image ~52% / content ~48%); no row-span, no forced height */
.ins-card--feat{display:grid;grid-template-columns:52% 48%;align-items:stretch}
.ins-card--feat .ins-artcard__imgwrap{aspect-ratio:auto;height:100%;min-height:100%}
.ins-card--feat .ins-artcard__body{justify-content:center}
.ins-card--feat .ins-artcard__title{font-size:clamp(1.4rem,2.2vw,1.9rem)}
.ins-card--feat .ins-artcard__desc{font-size:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ins-bento>.ins-artcard:not(.ins-card--feat) .ins-artcard__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1024px){
  .ins-bento>.ins-artcard,.ins-bento>.ins-card--feat,.ins-bento>.ins-card--feat + .ins-artcard{grid-column:span 6}
  .ins-card--feat{grid-template-columns:1fr}                       /* featured becomes a stacked standard card */
  .ins-card--feat .ins-artcard__imgwrap{aspect-ratio:16/9;height:auto;min-height:0}
}
@media(max-width:768px){
  .ins-bento{grid-template-columns:1fr}
  .ins-bento>.ins-artcard,.ins-bento>.ins-card--feat,.ins-bento>.ins-card--feat + .ins-artcard{grid-column:1 / -1}
}
/* hidden by topic filter */
.ins-artcard[hidden]{display:none}

/* ---------- 4. Browse by objective (INS-HTML-04) ---------- */
.ins-obj{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,1.8vw,1.4rem)}
.ins-objcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.3rem 1.3rem 1.4rem;height:100%;transition:box-shadow .25s,transform .25s}
.ins-objcard:hover{box-shadow:0 18px 38px rgba(20,36,58,.12);transform:translateY(-3px)}
.ins-objcard h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.28rem;line-height:1.15;margin:0 0 .5rem}
.ins-objcard p{color:var(--tvd-body);font-size:.92rem;line-height:1.55;margin:0 0 1rem}
.ins-objcard__cta{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--tvd-navy)}
.ins-objcard__cta::after{content:"";position:absolute;inset:0}
.ins-objcard:hover .ins-arrow{transform:translateX(4px)}
@media(max-width:900px){.ins-obj{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ins-obj{grid-template-columns:1fr}}

/* ---------- 5. Final CTA (INS-HTML-05 / art-finalcta) — image + navy overlay ---------- */
.ins-finalcta{position:relative;isolation:isolate;color:#fff;text-align:center;overflow:hidden}
.ins-finalcta .ins-finalcta__bg{position:absolute;inset:0;z-index:-2}
.ins-finalcta .ins-finalcta__bg img{width:100%;height:100%;object-fit:cover}
.ins-finalcta:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,36,58,.78),rgba(20,36,58,.9))}
.ins-finalcta h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.1;margin:0 0 .8rem;color:#fff}
.ins-finalcta p{color:#dfe6ef;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.6;max-width:60ch;margin:0 auto 1rem}
.ins-finalcta__support{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2rem;color:#fff!important;margin-top:1.1rem!important}
.ins-finalcta .ins-ctarow{justify-content:center}
.ins-finalcta .tvd-btn--primary{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.ins-finalcta .tvd-btn--primary:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.ins-finalcta .tvd-btn--outline{border-color:rgba(255,255,255,.75);color:#fff}
.ins-finalcta .tvd-btn--outline:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.ins-finalcta--flat{background:var(--tvd-navy)}
.ins-finalcta--flat:after{background:linear-gradient(180deg,rgba(20,36,58,.2),rgba(20,36,58,.2))}

/* ============================================================
   ARTICLE TEMPLATE (.art-*)
   ============================================================ */
.art-header{background:linear-gradient(180deg,#fbf7ef,var(--tvd-cream));border-bottom:1px solid var(--tvd-line);padding-block:clamp(1.6rem,3vw,2.4rem)}
.art-crumbs{font-size:.8rem;color:#6a7280;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.art-crumbs a{color:#6a7280;text-decoration:none}
.art-crumbs a:hover{color:var(--tvd-navy)}
.art-crumbs .sep{color:var(--tvd-gold)}
.art-header h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.08;margin:.5rem 0 .7rem;letter-spacing:.005em}
.art-summary{color:var(--tvd-body);font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.6;max-width:64ch;margin:0 0 1rem}
.art-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:center;font-size:.84rem;color:#5c6470;border-top:1px solid var(--tvd-line);padding-top:.9rem;margin-top:.4rem}
.art-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--tvd-gold);display:inline-block}
.art-meta b{color:var(--tvd-navy);font-weight:600}
.art-reviewed{font-style:italic;color:#6a7280}

.art-hero{margin:0 auto;max-width:1120px;padding-inline:clamp(16px,4vw,28px)}
.art-hero figure{margin:clamp(1.4rem,3vw,2.2rem) 0 0}
.art-hero__frame{aspect-ratio:21/9;border-radius:10px;overflow:hidden;background:var(--tvd-cream)}
.art-hero__frame img{width:100%;height:100%;object-fit:cover;display:block}
.art-hero figcaption{font-size:.8rem;color:#7a8290;margin-top:.5rem;text-align:center}
@media(max-width:640px){.art-hero__frame{aspect-ratio:4/3}}

/* Key takeaways (ARTICLE-HTML-03) */
.art-takeaways{background:#fff}
.art-tk{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.art-tk__card{background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:8px;padding:1.15rem 1.2rem;display:flex;gap:.7rem;align-items:flex-start}
.art-tk__card svg{flex:0 0 auto;width:22px;height:22px;color:var(--tvd-gold);margin-top:.15rem}
.art-tk__card p{margin:0;color:var(--tvd-navy);font-size:.95rem;line-height:1.5;font-weight:500}

/* Body + sticky TOC (ARTICLE-HTML-04) */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:clamp(1.6rem,3.5vw,3rem);align-items:start;max-width:1120px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}
.art-main{min-width:0;max-width:780px}
.art-main>h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.5rem,3vw,2.05rem);line-height:1.15;margin:2.2rem 0 .7rem;scroll-margin-top:90px}
.art-main>h2:first-of-type{margin-top:0}
.art-main>h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.25rem;margin:1.5rem 0 .5rem}
.art-main p{color:var(--tvd-body);font-size:1.04rem;line-height:1.72;margin:0 0 1rem}
.art-main ul,.art-main ol{color:var(--tvd-body);font-size:1.02rem;line-height:1.7;padding-left:1.2rem;margin:0 0 1.1rem}
.art-main li{margin-bottom:.4rem}
.art-main strong{color:var(--tvd-navy)}
.art-toc{position:sticky;top:96px;align-self:start}
.art-toc__inner{border-left:2px solid var(--tvd-line);padding-left:1.1rem}
.art-toc__label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .7rem}
.art-toc ol{list-style:none;margin:0;padding:0}
.art-toc li{margin:0 0 .55rem}
.art-toc a{color:#5c6470;text-decoration:none;font-size:.86rem;line-height:1.4;display:block;transition:color .15s}
.art-toc a:hover{color:var(--tvd-navy)}
/* Mobile TOC = accordion above body */
.art-toc-m{display:none;margin:0 auto 1.4rem;max-width:780px}
.art-toc-m details{border:1px solid var(--tvd-line);border-radius:8px;background:var(--tvd-cream)}
.art-toc-m summary{cursor:pointer;list-style:none;padding:.9rem 1.1rem;font-weight:700;color:var(--tvd-navy);font-size:.9rem;display:flex;justify-content:space-between;align-items:center;min-height:44px}
.art-toc-m summary::-webkit-details-marker{display:none}
.art-toc-m summary:after{content:"+";color:var(--tvd-gold);font-size:1.3rem}
.art-toc-m details[open] summary:after{content:"\2013"}
.art-toc-m ol{margin:0;padding:0 1.1rem 1rem 2.1rem}
.art-toc-m a{color:#5c6470;text-decoration:none;font-size:.9rem;line-height:1.6}
@media(max-width:900px){
  .art-layout{grid-template-columns:1fr}
  .art-toc{display:none}
  .art-toc-m{display:block}
}

/* Wide full-bleed diagram wrapper inside the text column */
.art-wide{margin:1.6rem 0;max-width:100%}

/* Article frameworks (ARTICLE-HTML-05 / ARTICLE-FRAME-01..06) */
.art-frame{background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:10px;padding:clamp(1.2rem,2.4vw,1.8rem);margin:1.8rem 0}
.art-frame__label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .3rem}
.art-frame__h{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.4rem;margin:0 0 1rem}
/* FRAME-01 eight-factor grid */
.art-f8{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.art-f8__c{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:6px;padding:.9rem .95rem}
.art-f8__n{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:var(--tvd-gold);line-height:1;font-weight:600}
.art-f8__c h4{margin:.3rem 0 .3rem;color:var(--tvd-navy);font-size:.98rem;line-height:1.2}
.art-f8__c p{margin:0;font-size:.84rem;color:var(--tvd-body);line-height:1.45}
@media(max-width:900px){.art-f8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.art-f8{grid-template-columns:1fr}}
/* FRAME scorecard (family) — qualitative rows, no numeric scores */
.art-score{display:grid;gap:.6rem}
.art-score__row{display:grid;grid-template-columns:1.1fr 2fr;gap:1rem;background:#fff;border:1px solid var(--tvd-line);border-radius:6px;padding:.85rem 1rem}
.art-score__row b{color:var(--tvd-navy);font-size:.95rem}
.art-score__row span{color:var(--tvd-body);font-size:.9rem;line-height:1.5}
@media(max-width:560px){.art-score__row{grid-template-columns:1fr;gap:.3rem}}
/* FRAME matrix (villa vs townhouse / ready vs offplan) */
.art-matrix{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.art-matrix__col{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.1rem 1.2rem}
.art-matrix__col h4{margin:0 0 .6rem;color:var(--tvd-navy);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;border-bottom:2px solid var(--tvd-gold);padding-bottom:.4rem}
.art-matrix__col ul{margin:0;padding-left:1.1rem}
.art-matrix__col li{font-size:.9rem;color:var(--tvd-body);line-height:1.5;margin-bottom:.4rem}
@media(max-width:560px){.art-matrix{grid-template-columns:1fr}}
/* FRAME pathway (custom build / upgrade) — connected nodes horizontal→vertical */
.art-path{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;position:relative}
.art-path__n{position:relative;padding:0 .6rem;text-align:center}
.art-path__dot{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;background:var(--tvd-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;font-weight:600;margin:0 auto .5rem}
.art-path__n:not(:last-child):after{content:"";position:absolute;top:20px;left:50%;width:100%;height:2px;background:var(--tvd-line);z-index:0}
.art-path__n h4{margin:0 0 .2rem;font-size:.9rem;color:var(--tvd-navy)}
.art-path__n p{margin:0;font-size:.78rem;color:var(--tvd-body);line-height:1.4}
@media(max-width:760px){
  .art-path{grid-auto-flow:row;grid-auto-columns:auto;gap:.2rem}
  .art-path__n{text-align:left;display:grid;grid-template-columns:40px 1fr;gap:.7rem;padding:.4rem 0}
  .art-path__dot{margin:0}
  .art-path__n:not(:last-child):after{top:40px;left:20px;width:2px;height:100%}
}

/* Related strategy panel (ARTICLE-HTML-06) */
.art-strategy{background:var(--tvd-navy);color:#dfe6ef;border-radius:10px;padding:clamp(1.3rem,2.6vw,1.9rem);margin:2rem 0}
.art-strategy__label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .35rem}
.art-strategy h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:#fff;font-size:1.5rem;margin:0 0 .5rem}
.art-strategy p{color:#c9d3e0;font-size:.98rem;line-height:1.6;margin:0 0 1rem}
.art-strategy .tvd-btn--primary{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.art-strategy .tvd-btn--primary:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.art-strategy__cta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}
.art-strategy__cta .tvd-btn{min-height:48px;display:inline-flex;align-items:center;white-space:nowrap}
.art-strategy .tvd-btn--ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.art-strategy .tvd-btn--ghost:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
@media(max-width:480px){.art-strategy__cta .tvd-btn{width:100%;justify-content:center}}

/* Conclusion */
.art-conc{background:var(--tvd-cream);border-left:4px solid var(--tvd-gold);border-radius:6px;padding:clamp(1.2rem,2.4vw,1.7rem);margin:2rem 0}
.art-conc h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.5rem;margin:0 0 .6rem}
.art-conc p{color:var(--tvd-body);font-size:1rem;line-height:1.65;margin:0 0 .7rem}

/* Related insights (ARTICLE-HTML-07) — 3 cards */
.art-related{background:#fff;border-top:1px solid var(--tvd-line)}
.art-rel3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.art-relcard{position:relative;background:#fff;border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden;transition:border-color .2s,box-shadow .25s}
.art-relcard:hover{border-color:var(--tvd-gold);box-shadow:0 16px 34px rgba(20,36,58,.1)}
.art-relcard>a{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--tvd-cream)}
.art-relcard__img{width:100%;height:100%;object-fit:cover;display:block}
.art-relcard__b{padding:.9rem 1rem 1.1rem}
.art-relcard__b .ins-pill{margin-bottom:.4rem}
.art-relcard__b h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.12rem;line-height:1.2;margin:.2rem 0 .45rem}
.art-relcard__b h3 a{color:inherit;text-decoration:none}
.art-relcard__b h3 a::after{content:"";position:absolute;inset:0}
.art-relcard__rt{font-size:.8rem;color:#5c6470}
@media(max-width:840px){.art-rel3{grid-template-columns:1fr}}

/* ============================================================
   CATEGORY ARCHIVE (.cat-*)
   ============================================================ */
.cat-header{background:linear-gradient(180deg,#fbf7ef,var(--tvd-cream));border-bottom:1px solid var(--tvd-line);padding-block:clamp(1.8rem,3.4vw,2.6rem)}
.cat-header h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.1;margin:.4rem 0 .5rem}
.cat-header p{color:var(--tvd-body);font-size:1.05rem;line-height:1.6;max-width:70ch;margin:0}
.cat-topics{margin-top:1rem}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr}}
/* Horizontal feature card (1-2 article mode) */
.cat-feature{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .25s}
.cat-feature:hover{border-color:var(--tvd-gold);box-shadow:0 20px 44px rgba(20,36,58,.12)}
.cat-feature__img{position:relative;overflow:hidden;min-height:260px}
.cat-feature__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat-feature__b{padding:clamp(1.3rem,2.5vw,2rem);display:flex;flex-direction:column;gap:.6rem}
.cat-feature__b h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.15;margin:0}
.cat-feature__b h2 a{color:inherit;text-decoration:none}
.cat-feature__b h2 a::after{content:"";position:absolute;inset:0}
.cat-feature__b p{color:var(--tvd-body);font-size:.98rem;line-height:1.6;margin:0}
.cat-feature__meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.82rem;color:#5c6470}
.cat-feature__meta b{color:var(--tvd-navy)}
@media(max-width:700px){.cat-feature{grid-template-columns:1fr}.cat-feature__img{min-height:0;aspect-ratio:16/10}}
.cat-fallback{border-top:1px solid var(--tvd-line)}
.cat-empty{color:var(--tvd-body);background:var(--tvd-cream);border:1px dashed var(--tvd-line);border-radius:8px;padding:1.4rem;text-align:center}

/* Single-post baked article keeps its own full-width layout */
.tvd-insight main>.wp-block-post-content{margin-top:0}

/* ---------- Article body callouts (approved copy: key statements, equations, lead quote) ---------- */
.art-quote{border-left:3px solid var(--tvd-gold);padding:.2rem 0 .2rem 1.3rem;margin:0 0 1.6rem}
.art-quote p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.55rem);line-height:1.35;color:var(--tvd-navy);margin:0}
.art-key{background:#fff;border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);border-radius:6px;padding:.9rem 1.15rem;margin:1.3rem 0}
.art-key span{display:block;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin-bottom:.35rem}
.art-key p{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.22rem;color:var(--tvd-navy);line-height:1.38}
.art-formula{background:var(--tvd-navy);color:#eaf0f8;border-radius:8px;padding:.95rem 1.15rem;margin:1.3rem 0;font-size:1.02rem;line-height:1.5;text-align:center}
.art-formula b{color:var(--tvd-gold);font-weight:600}
.art-main>h4{font-family:-apple-system,Inter,sans-serif;font-weight:700;color:var(--tvd-navy);font-size:1rem;letter-spacing:.01em;margin:1.2rem 0 .35rem}

/* ---------- FRAME-01 — eight-segment decision wheel (hub + 8 around) ---------- */
.art-wheel{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;align-items:stretch}
.art-wheel__hub{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--tvd-navy);color:#fff;border-radius:50%;aspect-ratio:1;padding:1rem;align-self:center;justify-self:center;width:100%;max-width:170px}
.art-wheel__hub b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;font-weight:600;line-height:1.1}
.art-wheel__hub span{font-size:.72rem;color:var(--tvd-gold);letter-spacing:.06em;margin-top:.3rem}
.art-wheel__seg{position:relative;background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:.75rem .85rem;display:flex;gap:.55rem;align-items:flex-start}
.art-wheel__seg .n{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--tvd-cream);color:#8a6a1f;font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center}
.art-wheel__seg h4{margin:.1rem 0 .1rem;font-size:.92rem;color:var(--tvd-navy)}
.art-wheel__seg p{margin:0;font-size:.78rem;color:var(--tvd-body);line-height:1.4}
.art-wheel__seg:nth-of-type(1){grid-column:1;grid-row:1}
.art-wheel__seg:nth-of-type(2){grid-column:2;grid-row:1}
.art-wheel__seg:nth-of-type(3){grid-column:3;grid-row:1}
.art-wheel__seg:nth-of-type(4){grid-column:3;grid-row:2}
.art-wheel__seg:nth-of-type(5){grid-column:3;grid-row:3}
.art-wheel__seg:nth-of-type(6){grid-column:2;grid-row:3}
.art-wheel__seg:nth-of-type(7){grid-column:1;grid-row:3}
.art-wheel__seg:nth-of-type(8){grid-column:1;grid-row:2}
@media(max-width:700px){
  .art-wheel{grid-template-columns:1fr 1fr}
  .art-wheel__hub{grid-column:1/-1;grid-row:auto;border-radius:10px;aspect-ratio:auto;max-width:none;padding:.9rem}
  .art-wheel__seg{grid-column:auto!important;grid-row:auto!important}
}
@media(max-width:430px){.art-wheel{grid-template-columns:1fr}}

/* ---------- FRAME-02 — family scorecard with status marks (not colour-only) ---------- */
.art-score__row{display:grid;grid-template-columns:1.1fr 1.7fr auto;gap:1rem;align-items:center}
.art-marks{display:flex;flex-wrap:wrap;gap:.3rem}
.art-mark{font-size:.66rem;font-weight:600;border:1px solid;border-radius:100px;padding:.2rem .55rem;white-space:nowrap}
.art-mark--strong{border-color:var(--tvd-gold);background:#fbf5e8;color:#7a5b16}
.art-mark--ok{border-color:#9fb0c4;color:#41506a}
.art-mark--review{border-color:#c2ccd8;color:#5c6470;border-style:dashed}
.art-score__legend{font-size:.8rem;color:#6a7280;margin:.7rem 0 0}
@media(max-width:640px){.art-score__row{grid-template-columns:1fr}.art-score__row .art-marks{margin-top:.2rem}}

/* ---------- FRAME-03/04 — comparison / matrix table → mobile cards ---------- */
.art-cmp-wrap{border:1px solid var(--tvd-line);border-radius:8px;overflow:hidden}
.art-cmp{width:100%;border-collapse:collapse}
.art-cmp caption{caption-side:top;text-align:left;padding:.2rem 0 .7rem;font-size:.8rem;color:#6a7280}
.art-cmp th,.art-cmp td{padding:.75rem .9rem;border-bottom:1px solid var(--tvd-line);text-align:left;vertical-align:top;font-size:.92rem;line-height:1.45}
.art-cmp thead th{background:var(--tvd-navy);color:#fff;font-weight:600}
.art-cmp tbody th{background:var(--tvd-cream);color:var(--tvd-navy);font-weight:600}
.art-cmp tbody tr:last-child th,.art-cmp tbody tr:last-child td{border-bottom:0}
@media(max-width:640px){
  .art-cmp,.art-cmp tbody,.art-cmp tr,.art-cmp td,.art-cmp th{display:block}
  .art-cmp thead{display:none}
  .art-cmp-wrap{border:0}
  .art-cmp tr{border:1px solid var(--tvd-line);border-radius:8px;margin-bottom:.8rem;overflow:hidden}
  .art-cmp tbody th{background:var(--tvd-navy);color:#fff}
  .art-cmp td{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--tvd-line)}
  .art-cmp td:last-child{border-bottom:0}
  .art-cmp td::before{content:attr(data-label);font-weight:600;color:var(--tvd-navy);flex:0 0 40%}
}

/* ---------- FRAME-05 — ten-stage process (5+5 → 2/3 col → vertical) ---------- */
.art-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}
.art-steps__c{position:relative;background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:.85rem .8rem}
.art-steps__n{width:30px;height:30px;border-radius:50%;background:var(--tvd-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1rem;margin-bottom:.5rem}
.art-steps__c h4{margin:0;font-size:.86rem;color:var(--tvd-navy);line-height:1.25}
@media(max-width:900px){.art-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.art-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.art-steps{grid-template-columns:1fr}}

/* ============================================================
   ABOUT PAGE (.abt-*) — focused, corporate; navy/cream/gold
   ============================================================ */
.abt-sec{padding-block:clamp(2.4rem,4.5vw,3.8rem)}
.abt-wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}
.abt-eyebrow{font-family:-apple-system,Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .5rem}
.abt-h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.65rem,3.2vw,2.4rem);line-height:1.13;margin:0 0 .7rem}
.abt-lead{color:var(--tvd-body);font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.65;max-width:66ch;margin:0 0 1.1rem}

/* 1 — Hero */
.abt-hero{position:relative;isolation:isolate;color:#fff;overflow:hidden}
.abt-hero__bg{position:absolute;inset:0;z-index:-2}
.abt-hero__bg img{width:100%;height:100%;object-fit:cover}
.abt-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,28,48,.9) 0%,rgba(16,28,48,.74) 42%,rgba(16,28,48,.4) 70%,rgba(16,28,48,.15) 100%)}
.abt-hero__inner{padding-block:clamp(3rem,7vw,5.5rem);max-width:640px}
.abt-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.05;margin:.3rem 0 .8rem;color:#fff}
.abt-hero__lead{font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.6;color:#e9eef5;margin:0 0 .8rem;max-width:52ch}
.abt-hero__note{font-size:.98rem;line-height:1.55;color:#cdd7e6;margin:0 0 .3rem;max-width:52ch}
.abt-hero__note b{color:#fff}
.abt-hero__caps{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.1rem 0 .2rem}
.abt-cap{font-size:.74rem;color:#eaf0f8;border:1px solid rgba(255,255,255,.34);border-radius:100px;padding:.28rem .66rem;line-height:1.2}
.abt-hero__support{margin-top:1.1rem;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.15rem;color:#fff}
.abt-hero .ins-ctarow{margin-top:1.2rem}
.abt-hero .tvd-btn--primary{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.abt-hero .tvd-btn--primary:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.abt-hero .tvd-btn--outline{border-color:rgba(255,255,255,.75);color:#fff}
.abt-hero .tvd-btn--outline:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
@media(max-width:640px){.abt-hero:before{background:linear-gradient(180deg,rgba(16,28,48,.72),rgba(16,28,48,.9))}}

/* highlighted statement band */
.abt-highlight{background:var(--tvd-navy);color:#fff;text-align:center}
.abt-highlight p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.3;margin:0;color:#fff}
.abt-highlight--cream{background:var(--tvd-cream)}
.abt-highlight--cream p{color:var(--tvd-navy)}
.abt-highlight--cream b{color:var(--tvd-gold)}

/* 2 — Mission / Vision / Position */
.abt-mvp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.5rem)}
.abt-panel{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:clamp(1.2rem,2.2vw,1.7rem)}
.abt-panel h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.3rem;margin:0 0 .5rem}
.abt-panel p{color:var(--tvd-body);font-size:1rem;line-height:1.6;margin:0}
.abt-position{grid-column:1/-1;background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:8px;padding:clamp(1.2rem,2.4vw,1.8rem)}
.abt-position h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.3rem;margin:0 0 1rem}
.abt-tworow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,2rem)}
.abt-are h4,.abt-arenot h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin:0 0 .6rem}
.abt-are h4{color:var(--tvd-gold)}
.abt-arenot h4{color:#7f8794}
.abt-are ul,.abt-arenot ul{list-style:none;margin:0;padding:0}
.abt-are li,.abt-arenot li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;font-size:.95rem;color:var(--tvd-body);line-height:1.45}
.abt-are li:before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--tvd-gold)}
.abt-arenot li:before{content:"";position:absolute;left:2px;top:.62em;width:11px;height:1.5px;background:#aab3c0}
@media(max-width:760px){.abt-mvp{grid-template-columns:1fr}.abt-tworow{grid-template-columns:1fr}}

/* 3 — Seven expertise cards (4 + 3) */
.abt-cards7{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,1.8vw,1.4rem)}
.abt-cards7>*{grid-column:span 3}
.abt-cards7>*:nth-child(n+5){grid-column:span 4}
.abt-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.2rem 1.2rem 1.3rem;height:100%;transition:box-shadow .25s,transform .25s}
.abt-card:hover{box-shadow:0 16px 34px rgba(20,36,58,.1);transform:translateY(-3px)}
.abt-card__ico{width:38px;height:38px;color:var(--tvd-gold);margin-bottom:.55rem}
.abt-card__ico svg{width:100%;height:100%}
.abt-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.16rem;line-height:1.15;margin:0 0 .5rem}
.abt-card ul{list-style:none;margin:0 0 .5rem;padding:0}
.abt-card li{position:relative;padding-left:.9rem;margin-bottom:.3rem;font-size:.86rem;color:var(--tvd-body);line-height:1.4}
.abt-card li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--tvd-gold)}
.abt-card__link{margin-top:auto;font-size:.82rem;font-weight:700;color:var(--tvd-navy);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.abt-card__link:hover{color:var(--tvd-gold)}
@media(max-width:1000px){.abt-cards7>*,.abt-cards7>*:nth-child(n+5){grid-column:span 6}}
@media(max-width:600px){.abt-cards7>*,.abt-cards7>*:nth-child(n+5){grid-column:span 12}}

/* full-width editorial image band */
.abt-band{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:21/8;background:var(--tvd-cream)}
.abt-band img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.abt-band{aspect-ratio:16/10}}

/* 4 — Knowledge & Network model */
.abt-know__hub{background:var(--tvd-navy);color:#fff;border-radius:10px;padding:1.1rem 1.3rem;text-align:center;margin-bottom:1.2rem}
.abt-know__hub b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-weight:600;color:#fff}
.abt-know__hub span{display:block;font-size:.9rem;color:#c9d3e0;margin-top:.2rem}
.abt-know__layers{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.9rem,1.6vw,1.3rem)}
.abt-know__layer{grid-column:span 2;background:#fff;border:1px solid var(--tvd-line);border-left:3px solid var(--tvd-gold);border-radius:8px;padding:1.05rem 1.1rem}
.abt-know__layer:nth-child(n+4){grid-column:span 3}
.abt-know__layer h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.1rem;margin:0 0 .4rem}
.abt-know__layer ul{list-style:none;margin:0;padding:0}
.abt-know__layer li{font-size:.84rem;color:var(--tvd-body);line-height:1.45;margin-bottom:.2rem}
.abt-know__layer .abt-qual{margin-top:.5rem;font-size:.8rem;color:#6a7280;font-style:italic;line-height:1.4}
@media(max-width:920px){.abt-know__layers{grid-template-columns:repeat(2,1fr)}.abt-know__layer,.abt-know__layer:nth-child(n+4){grid-column:auto}}
@media(max-width:520px){.abt-know__layers{grid-template-columns:1fr}}

/* 5 — Service ecosystem (3 + 2) */
.abt-eco{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(1rem,1.8vw,1.4rem)}
.abt-eco>*{grid-column:span 2}
.abt-eco>*:nth-child(n+4){grid-column:span 3}
@media(max-width:900px){.abt-eco{grid-template-columns:repeat(2,1fr)}.abt-eco>*,.abt-eco>*:nth-child(n+4){grid-column:auto}}
@media(max-width:560px){.abt-eco{grid-template-columns:1fr}}

/* 5B — Direct / Licensed-Partner responsibility model */
.abt-resp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.5rem);align-items:stretch}
.abt-resp__panel{border:1px solid var(--tvd-line);border-radius:8px;padding:clamp(1.2rem,2.2vw,1.6rem)}
.abt-resp__panel--direct{background:var(--tvd-navy);color:#eaf0f8}
.abt-resp__panel--direct h3{color:#fff}
.abt-resp__panel--partner{background:#fff}
.abt-resp__panel h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.25rem;color:var(--tvd-navy);margin:0 0 .3rem}
.abt-resp__panel .abt-resp__tag{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--tvd-gold);display:block;margin-bottom:.7rem}
.abt-resp__panel ul{list-style:none;margin:0;padding:0;columns:2;column-gap:1.4rem}
.abt-resp__panel li{position:relative;padding-left:.9rem;margin-bottom:.35rem;font-size:.88rem;line-height:1.4;break-inside:avoid}
.abt-resp__panel li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--tvd-gold)}
.abt-resp__panel--direct li{color:#dbe3ee}
.abt-resp__panel--partner li{color:var(--tvd-body)}
.abt-respnote{margin-top:clamp(1rem,2vw,1.4rem);background:var(--tvd-cream);border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);border-radius:8px;padding:clamp(1.1rem,2.2vw,1.5rem)}
.abt-respnote p{margin:0 0 .6rem;color:#3d3626;font-size:1rem;line-height:1.6}
.abt-respnote p:last-child{margin-bottom:0}
.abt-respnote strong{color:var(--tvd-navy)}
@media(max-width:760px){.abt-resp{grid-template-columns:1fr}.abt-resp__panel ul{columns:1}}

/* 6 — FIMCO three-layer relationship */
.abt-fimco{display:grid;gap:1rem;position:relative}
.abt-layer{background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:clamp(1.1rem,2.2vw,1.6rem);position:relative}
.abt-layer--fimco{border-top:4px solid var(--tvd-gold)}
.abt-layer--tvd{border-top:4px solid var(--tvd-navy)}
.abt-layer--partners{border-top:4px solid #9fb0c4}
.abt-layer__n{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--tvd-gold);margin:0 0 .2rem}
.abt-layer h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.3rem;margin:0 0 .2rem}
.abt-layer__label{font-size:.9rem;color:#5c6470;margin:0 0 .7rem}
.abt-layer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.abt-layer li{font-size:.82rem;color:var(--tvd-body);background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:100px;padding:.25rem .6rem;line-height:1.2}
.abt-fimco__arrow{text-align:center;color:var(--tvd-gold);font-size:1.3rem;line-height:1;margin:-.2rem 0}
.abt-powered{margin-top:clamp(1rem,2vw,1.4rem);text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--tvd-navy);font-weight:600;letter-spacing:.01em}
.abt-powered b{color:var(--tvd-gold);font-weight:600}

/* 7A — Six-stage process (3 + 3) */
.abt-proc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
.abt-proc__c{background:#fff;border:1px solid var(--tvd-line);border-radius:8px;padding:1.2rem 1.2rem 1.3rem;position:relative}
.abt-proc__n{width:44px;height:44px;border-radius:50%;background:var(--tvd-gold);color:var(--tvd-navy);display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-weight:700;margin-bottom:.6rem}
.abt-proc__c h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.16rem;margin:0 0 .4rem}
.abt-proc__c p{color:var(--tvd-body);font-size:.9rem;line-height:1.5;margin:0}
.abt-proc__c ul{list-style:none;margin:.2rem 0 0;padding:0}
.abt-proc__c li{position:relative;padding-left:.9rem;font-size:.84rem;color:var(--tvd-body);line-height:1.4;margin-bottom:.2rem}
.abt-proc__c li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--tvd-gold)}
@media(max-width:820px){.abt-proc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.abt-proc{grid-template-columns:1fr}}

/* 7B — Six operating principles (3 + 3) */
.abt-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.6vw,1.3rem)}
.abt-princ{background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:8px;padding:1.1rem 1.2rem;display:flex;gap:.8rem;align-items:flex-start}
.abt-princ__ico{flex:0 0 auto;width:30px;height:30px;color:var(--tvd-gold)}
.abt-princ h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.1rem;margin:0 0 .25rem}
.abt-princ p{color:var(--tvd-body);font-size:.88rem;line-height:1.5;margin:0}
@media(max-width:820px){.abt-principles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.abt-principles{grid-template-columns:1fr}}

/* ============================================================
   BOOK CONSULTATION PAGE (.bk-*)
   ============================================================ */
.bk-wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}
.bk-sec{padding-block:clamp(2.4rem,4.5vw,3.6rem)}
.bk-eyebrow{font-family:-apple-system,Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .5rem}
.bk-h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.13;margin:0 0 .7rem}

/* 1 — Hero */
.bk-hero{position:relative;isolation:isolate;color:#fff;overflow:hidden}
.bk-hero__bg{position:absolute;inset:0;z-index:-2}
.bk-hero__bg img{width:100%;height:100%;object-fit:cover}
.bk-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,28,48,.9) 0%,rgba(16,28,48,.72) 44%,rgba(16,28,48,.35) 72%,rgba(16,28,48,.1) 100%)}
.bk-hero__inner{padding-block:clamp(3rem,7vw,5.5rem);max-width:620px}
.bk-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.05;margin:.3rem 0 .8rem;color:#fff}
.bk-hero p{font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.6;color:#e9eef5;margin:0 0 .7rem;max-width:52ch}
.bk-hero .ins-ctarow{margin-top:1.1rem}
.bk-hero__support{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.1rem;color:#fff;margin-top:1rem!important}
.bk-hero .tvd-btn--primary{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.bk-hero .tvd-btn--primary:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.bk-hero .tvd-btn--outline{border-color:rgba(255,255,255,.75);color:#fff}
.bk-hero .tvd-btn--outline:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
@media(max-width:640px){.bk-hero:before{background:linear-gradient(180deg,rgba(16,28,48,.66),rgba(16,28,48,.9))}}

/* 2 — Benefits split */
.bk-benefits{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:clamp(1.4rem,3vw,2.6rem);align-items:stretch}
.bk-benefits__img{border-radius:12px;overflow:hidden;background:var(--tvd-cream)}
.bk-benefits__img img{width:100%;height:100%;object-fit:cover;display:block}
/* desktop: image column stretches to the full height of the content column (no blank space above) */
@media(min-width:901px){.bk-benefits__img{min-height:520px}}
.bk-benefits__lead{color:var(--tvd-body);font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.6;margin:0 0 1.2rem;max-width:60ch}
.bk-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.bk-bcard{background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.1rem 1.15rem;height:100%}
.bk-bcard__ico{width:32px;height:32px;color:var(--tvd-gold);margin-bottom:.5rem}
.bk-bcard h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.12rem;line-height:1.15;margin:0 0 .35rem}
.bk-bcard p{color:var(--tvd-body);font-size:.9rem;line-height:1.5;margin:0}
.bk-highlight{margin-top:1.3rem;background:var(--tvd-cream);border-left:4px solid var(--tvd-gold);border-radius:6px;padding:1rem 1.2rem}
.bk-highlight p{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem;line-height:1.4;color:var(--tvd-navy)}
@media(max-width:900px){.bk-benefits{grid-template-columns:1fr}.bk-benefits__img{aspect-ratio:1/1;max-width:520px}}
@media(max-width:520px){.bk-cards{grid-template-columns:1fr}.bk-benefits__img{aspect-ratio:4/3}}

/* 3 — Form */
.bk-formsec{background:var(--tvd-cream)}
.bk-formwrap{width:100%;max-width:900px;margin:1.3rem auto 0}
.bk-form{background:#fff;border:1px solid var(--tvd-line);border-radius:12px;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 20px 50px rgba(20,36,58,.07)}
.bk-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem 1.1rem}
.bk-c12{grid-column:span 12}
.bk-c6{grid-column:span 6}
@media(max-width:640px){.bk-c6{grid-column:span 12}}
.bk-field{display:flex;flex-direction:column;min-width:0}
.bk-label{font-size:.85rem;font-weight:600;color:var(--tvd-navy);margin:0 0 .35rem;line-height:1.3}
.bk-req{color:var(--tvd-gold)}
.bk-opt{font-weight:500;color:#8a94a3;font-size:.78rem}
.bk-input,.bk-select,.bk-textarea{width:100%;min-height:48px;border:1.5px solid var(--tvd-line);border-radius:6px;background:#fff;padding:.7rem .85rem;font-size:.98rem;color:var(--tvd-navy);font-family:inherit;transition:border-color .15s,box-shadow .15s}
.bk-textarea{min-height:110px;resize:vertical;line-height:1.5}
.bk-input::placeholder,.bk-textarea::placeholder{color:#9aa3b0}
.bk-input:focus,.bk-select:focus,.bk-textarea:focus{outline:none;border-color:var(--tvd-gold);box-shadow:0 0 0 3px rgba(199,155,74,.18)}
.bk-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2314243A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem}
.bk-tel{display:grid;grid-template-columns:auto 1fr;gap:.5rem}
.bk-tel__cc{min-height:48px;border:1.5px solid var(--tvd-line);border-radius:6px;background:#fff;padding:.5rem .6rem;font-size:.9rem;color:var(--tvd-navy);max-width:110px}
.bk-tel__cc:focus{outline:none;border-color:var(--tvd-gold);box-shadow:0 0 0 3px rgba(199,155,74,.18)}
.bk-help{font-size:.8rem;color:#6a7280;margin:.35rem 0 0}
.bk-err{font-size:.8rem;color:#b23b3b;margin:.3rem 0 0;min-height:0;font-weight:600}
.bk-err:empty{display:none}
.bk-field--err .bk-input,.bk-field--err .bk-select,.bk-field--err .bk-textarea,.bk-field--err .bk-tel__num{border-color:#c0533f;box-shadow:0 0 0 3px rgba(192,83,63,.14)}

/* radio cards */
.bk-comm{border:0;padding:0;margin:0;min-width:0}
.bk-comm legend{padding:0}
.bk-comm__cards{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.bk-commcard{position:relative;display:block;cursor:pointer}
.bk-commcard input{position:absolute;opacity:0;width:1px;height:1px}
.bk-commcard__box{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:56px;border:1.5px solid var(--tvd-line);border-radius:8px;background:#fff;color:var(--tvd-navy);font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s}
.bk-commcard__box svg{width:22px;height:22px;color:var(--tvd-gold)}
.bk-commcard:hover .bk-commcard__box{border-color:var(--tvd-gold);background:#fbf7ee}
.bk-commcard input:checked + .bk-commcard__box{border-color:var(--tvd-navy);background:var(--tvd-navy);color:#fff}
.bk-commcard input:checked + .bk-commcard__box svg{color:var(--tvd-gold)}
.bk-commcard input:focus-visible + .bk-commcard__box{outline:2px solid var(--tvd-gold);outline-offset:2px}
.bk-field--err .bk-commcard__box{border-color:#c0533f}

/* submit + footer lines */
.bk-submit{width:100%;margin-top:1.3rem;min-height:54px;border:0;border-radius:6px;background:var(--tvd-navy);color:#fff;font-size:1rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .18s}
.bk-submit:hover{background:#0e1c30}
.bk-submit:disabled{opacity:.72;cursor:default}
.bk-submit:focus-visible{outline:2px solid var(--tvd-gold);outline-offset:3px}
.bk-powered{text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1rem;color:var(--tvd-navy);margin:.8rem 0 0}
.bk-powered b{color:var(--tvd-gold);font-weight:600}
.bk-privacy{text-align:center;font-size:.78rem;color:#7a8290;margin:.35rem 0 0}
.bk-privacy a{color:#5c6470}
.bk-formmsg{text-align:center;font-size:.9rem;margin:.7rem 0 0;min-height:0}
.bk-formmsg:empty{display:none}
.bk-formmsg--err{color:#b23b3b;font-weight:600}
.bk-formmsg--ok{color:#0b7a54;font-weight:600}

/* 4 — Confirmation */
.bk-confirm{max-width:720px;margin:1.3rem auto 0}
.bk-confirm__card{background:#fff;border:1px solid var(--tvd-line);border-top:4px solid var(--tvd-gold);border-radius:12px;padding:clamp(1.6rem,3.5vw,2.6rem);text-align:center;box-shadow:0 20px 50px rgba(20,36,58,.08)}
.bk-confirm__ico{display:inline-flex;width:56px;height:56px;color:var(--tvd-gold);margin-bottom:.6rem}
.bk-confirm__ico svg{width:100%;height:100%}
.bk-confirm__h{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15;margin:.2rem 0 .5rem}
.bk-confirm__body{color:var(--tvd-body);font-size:1rem;line-height:1.6;margin:0 0 1rem;max-width:52ch;margin-inline:auto}
.bk-confirm__summary{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;text-align:left;max-width:420px;margin:1rem auto;background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:8px;padding:1rem 1.2rem}
.bk-confirm__summary dt{font-size:.8rem;color:#6a7280;font-weight:600}
.bk-confirm__summary dd{margin:0;font-size:.9rem;color:var(--tvd-navy);font-weight:600}
.bk-confirm__support{color:var(--tvd-body);font-size:.92rem;margin:.4rem 0 1.1rem}
.bk-confirm__cta{display:inline-flex}

/* ============================================================
   CONTACT PAGE (.ct-*) — reuses .bk-* form + .bk-hero + .abt-proc
   ============================================================ */
/* 3-card reply method */
/* Three reply-method cards (Call / WhatsApp / Email): equal columns that never overflow.
   Stacked icon-over-label keeps every card readable inside the narrow contact-form column. */
.bk-comm__cards--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.bk-comm__cards--3 .bk-commcard__box{flex-direction:column;gap:.35rem;min-height:76px;padding:.7rem .35rem;text-align:center;line-height:1.15}
.bk-comm__cards--3 .bk-commcard__box b{font-size:.92rem;line-height:1.1}
.bk-comm__cards--3 .bk-commcard__box{gap:.5rem;min-height:56px}
.bk-comm__cards--3 .bk-commcard__box svg{width:24px;height:24px}
.bk-comm__cards--3 .bk-commcard__box svg[fill="currentColor"]{width:23px;height:23px} /* balance filled WhatsApp glyph against stroke icons */

/* Contact form grid (§3): Full Name / Subject / Reply Method / Message full width (bk-c12 in
   markup); Mobile Number + Email Address remain the one 2-column row (bk-c6, stacks <=640). */

/* Integrated international phone field (intl-tel-input) — styled same-origin; flag sprite omitted (§2). */
.bk-tel--iti{display:block;min-width:0}
.iti{position:relative;display:block;width:100%}
.iti__flag-container{position:absolute;top:0;bottom:0;left:0;padding:2px;z-index:2}
.iti__selected-flag{display:flex;align-items:center;height:100%;padding:0 8px;background:#fff;border:1.5px solid var(--tvd-line);border-right:0;border-radius:6px 0 0 6px;cursor:pointer}
.iti__flag{display:none}
.iti--separate-dial-code .iti__selected-dial-code{font-size:.9rem;color:var(--tvd-navy);white-space:nowrap}
.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #6a6a6a}
.iti__arrow--up{border-top:0;border-bottom:4px solid #6a6a6a}
.bk-tel--iti .bk-tel__num{width:100%;min-width:0;min-height:48px;border-radius:6px;padding-left:78px}
.bk-tel--iti .bk-tel__num:focus{outline:none;border-color:var(--tvd-gold);box-shadow:0 0 0 3px rgba(199,155,74,.18)}
.iti__country-list{position:absolute;z-index:1002;top:100%;left:0;list-style:none;margin:2px 0 0;padding:4px 0;background:#fff;border:1px solid var(--tvd-line);border-radius:6px;box-shadow:0 8px 24px rgba(20,36,58,.18);max-height:240px;overflow-y:auto;overflow-x:hidden;width:288px;max-width:calc(100vw - 40px);text-align:left}
.iti__country-list--dropup{top:auto;bottom:100%;margin:0 0 2px}
.iti__country{display:flex;align-items:center;gap:.5rem;padding:7px 12px;cursor:pointer;font-size:.85rem;color:var(--tvd-navy);white-space:nowrap}
.iti__country .iti__dial-code{color:#8a8378;margin-left:auto}
.iti__country.iti__highlight{background:#f5efe4}
.iti__hide{display:none}
/* §4 — contact-page consultation modal trigger styled like the original inline link */
button.ct-formsplit__link{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}

/* hero display line under the H1 */
.ct-hero__display{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.1;color:#fff;margin:.1rem 0 .7rem}

/* 2 — three contact-path cards */
.ct-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
.ct-pathcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tvd-line);border-top:3px solid var(--tvd-gold);border-radius:8px;padding:1.4rem 1.4rem 1.5rem;height:100%;transition:box-shadow .25s,transform .25s}
.ct-pathcard:hover{box-shadow:0 18px 38px rgba(20,36,58,.12);transform:translateY(-3px)}
.ct-pathcard__ico{width:38px;height:38px;color:var(--tvd-gold);margin-bottom:.6rem}
.ct-pathcard__ico svg{width:100%;height:100%}
.ct-pathcard h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.28rem;line-height:1.15;margin:0 0 .5rem}
.ct-pathcard p{color:var(--tvd-body);font-size:.94rem;line-height:1.55;margin:0 0 1.1rem}
.ct-pathcard__cta{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:700;color:var(--tvd-navy)}
.ct-pathcard__cta::after{content:"";position:absolute;inset:0}
.ct-pathcard:hover .ins-arrow{transform:translateX(4px)}
@media(max-width:860px){.ct-paths{grid-template-columns:1fr}}

/* 3 — image-led form split */
.ct-formsplit{display:grid;grid-template-columns:44% 56%;gap:clamp(1.4rem,3vw,2.6rem);align-items:start}
.ct-formsplit__img{border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--tvd-cream);margin-bottom:1.1rem}
.ct-formsplit__img img{width:100%;height:100%;object-fit:cover;display:block}
.ct-formsplit__left .bk-benefits__lead{max-width:none}
.ct-list{list-style:none;margin:0 0 1rem;padding:0}
.ct-list li{position:relative;padding-left:1.3rem;margin-bottom:.45rem;font-size:.94rem;color:var(--tvd-body);line-height:1.5}
.ct-list li:before{content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:50%;background:var(--tvd-gold)}
.ct-formsplit__link{font-size:.88rem;font-weight:700;color:var(--tvd-navy);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.ct-formsplit__link:hover{color:var(--tvd-gold)}
.ct-formsplit .bk-formwrap{margin-top:0;max-width:none}
.ct-formsplit .bk-form{box-shadow:0 18px 44px rgba(20,36,58,.08)}
@media(max-width:900px){.ct-formsplit{grid-template-columns:1fr}.ct-formsplit__img{aspect-ratio:16/10;max-width:560px}}
@media(max-width:520px){.ct-formsplit__img{aspect-ratio:4/3}}
/* response-process supporting statement */
.ct-procnote{margin-top:1.3rem;background:var(--tvd-cream);border-left:4px solid var(--tvd-gold);border-radius:6px;padding:1rem 1.2rem}
.ct-procnote p{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.12rem;line-height:1.4;color:var(--tvd-navy)}

/* ============================================================
   FAQ KNOWLEDGE HUB (.faq-*)
   ============================================================ */
.faq-wrap{max-width:1000px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}
.faq-eyebrow{font-family:-apple-system,Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .5rem}

/* 1 — hero */
.faq-hero{position:relative;isolation:isolate;color:#fff;overflow:hidden}
.faq-hero__bg{position:absolute;inset:0;z-index:-2}
.faq-hero__bg img{width:100%;height:100%;object-fit:cover}
.faq-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,28,48,.62),rgba(16,28,48,.86))}
.faq-hero__inner{padding-block:clamp(2.6rem,6vw,4.4rem);text-align:center;max-width:780px;margin-inline:auto}
.faq-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.06;margin:.2rem 0 .8rem;color:#fff}
.faq-hero p{font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.6;color:#e9eef5;margin:0 auto .6rem;max-width:62ch}

/* live search */
.faq-search{max-width:720px;margin:1.4rem auto 0;text-align:left}
.faq-search__label{display:block;font-size:.9rem;font-weight:600;color:#fff;margin:0 0 .5rem;text-align:center}
.faq-search__box{position:relative;display:flex;align-items:center;background:#fff;border-radius:10px;box-shadow:0 20px 44px rgba(16,28,48,.28)}
.faq-search__ico{position:absolute;left:1rem;width:20px;height:20px;color:#8a94a3;pointer-events:none}
.faq-search__input{flex:1;min-height:54px;border:0;border-radius:10px;background:transparent;padding:.8rem 3rem;font-size:1rem;color:var(--tvd-navy);font-family:inherit}
.faq-search__input:focus{outline:none;box-shadow:0 0 0 3px var(--tvd-gold)}
.faq-search__clear{position:absolute;right:.5rem;width:40px;height:40px;border:0;background:transparent;color:#6a7280;font-size:1.4rem;line-height:1;cursor:pointer;border-radius:8px;display:none}
.faq-search__clear:hover{background:var(--tvd-cream);color:var(--tvd-navy)}
.faq-search__clear:focus-visible{outline:2px solid var(--tvd-gold);outline-offset:2px}
.faq-search.is-active .faq-search__clear{display:flex;align-items:center;justify-content:center}
.faq-search__count{text-align:center;font-size:.82rem;color:#dfe6ef;margin:.7rem 0 0}
.faq-hint{text-align:center;font-size:.86rem;color:#cdd7e6;margin:.6rem 0 0}

/* 2 — sticky subject nav */
.faq-nav{position:sticky;top:78px;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid var(--tvd-line)}
.faq-nav__scroll{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:.75rem 0;margin:0;list-style:none;scrollbar-width:thin}
.faq-nav__scroll::-webkit-scrollbar{height:6px}
.faq-nav__scroll::-webkit-scrollbar-thumb{background:var(--tvd-line);border-radius:100px}
.faq-chip{scroll-snap-align:start;flex:0 0 auto}
.faq-chip a{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .95rem;border:1.5px solid var(--tvd-navy);border-radius:100px;background:#fff;color:var(--tvd-navy);font-size:.84rem;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .18s,color .18s}
.faq-chip a:hover{background:var(--tvd-cream)}
.faq-chip.is-active a,.faq-chip a[aria-current="true"]{background:var(--tvd-navy);color:#fff}
@media(max-width:781px){.faq-nav{top:60px}}

/* empty state */
.faq-empty{display:none;text-align:center;background:var(--tvd-cream);border:1px solid var(--tvd-line);border-radius:12px;padding:clamp(1.6rem,4vw,2.6rem);margin:1.6rem auto 0;max-width:640px}
.faq-empty.is-shown{display:block}
.faq-empty h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.5rem;margin:0 0 .5rem}
.faq-empty p{color:var(--tvd-body);font-size:1rem;margin:0 0 1.1rem}
.faq-empty .ins-ctarow{justify-content:center}

/* 3 — subject groups */
.faq-lib{padding-block:clamp(2rem,4vw,3.2rem)}
.faq-group{padding-block:clamp(1.8rem,3.4vw,2.6rem);scroll-margin-top:150px}
.faq-group:nth-of-type(even){background:var(--tvd-cream)}
.faq-group[hidden]{display:none}
.faq-group__head{margin-bottom:1rem}
.faq-group h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.5rem,2.8vw,2.05rem);line-height:1.14;margin:0 0 .4rem}
.faq-group__desc{color:var(--tvd-body);font-size:1rem;line-height:1.6;margin:0;max-width:70ch}
.faq-acc{border-top:1px solid var(--tvd-line)}
.faq-item{border-bottom:1px solid var(--tvd-line);scroll-margin-top:150px}
.faq-item[hidden]{display:none}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;text-align:left;background:transparent;border:0;padding:1.1rem .2rem;cursor:pointer;font-family:inherit}
.faq-q:focus-visible{outline:2px solid var(--tvd-gold);outline-offset:2px;border-radius:4px}
.faq-q__t{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:clamp(1.08rem,1.7vw,1.24rem);line-height:1.3}
.faq-q__ico{flex:0 0 auto;width:26px;height:26px;position:relative;margin-top:.15rem}
.faq-q__ico:before,.faq-q__ico:after{content:"";position:absolute;background:var(--tvd-gold);border-radius:2px;transition:opacity .2s,transform .2s}
.faq-q__ico:before{top:12px;left:4px;width:18px;height:2.5px}
.faq-q__ico:after{top:4px;left:12px;width:2.5px;height:18px}
.faq-item.is-open .faq-q__ico:after{opacity:0;transform:rotate(90deg)}
.faq-a{overflow:hidden;max-height:0;transition:max-height .24s ease}
.faq-item.is-open .faq-a{max-height:1400px}
.faq-a__inner{padding:0 .2rem 1.3rem;max-width:74ch}
.faq-a__inner p{color:var(--tvd-body);font-size:1rem;line-height:1.65;margin:0 0 .8rem}
.faq-a__inner ul{color:var(--tvd-body);font-size:.98rem;line-height:1.6;margin:0 0 .8rem;padding-left:1.2rem}
.faq-a__inner li{margin-bottom:.3rem}
.faq-a__inner strong{color:var(--tvd-navy)}
/* related + back */
.faq-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--tvd-line)}
.faq-related{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center}
.faq-related__label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700}
.faq-related a{font-size:.88rem;font-weight:700;color:var(--tvd-navy);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.faq-related a:hover{color:var(--tvd-gold)}
.faq-back{font-size:.82rem;color:#6a7280;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.faq-back:hover{color:var(--tvd-navy)}

/* 4 — closing CTA (two paths over image) */
.faq-closing{position:relative;isolation:isolate;color:#fff;overflow:hidden}
.faq-closing__bg{position:absolute;inset:0;z-index:-2}
.faq-closing__bg img{width:100%;height:100%;object-fit:cover}
.faq-closing:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,28,48,.8),rgba(16,28,48,.92))}
.faq-closing__head{text-align:center;max-width:760px;margin:0 auto 1.6rem}
.faq-closing h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;margin:0 0 .7rem;color:#fff}
.faq-closing__head p{color:#dfe6ef;font-size:1rem;line-height:1.6;margin:0 auto}
.faq-closing__factors{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.9rem 0 0}
.faq-closing__factors span{font-size:.76rem;color:#eaf0f8;border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:.25rem .6rem}
.faq-paths{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.5rem);max-width:900px;margin:0 auto}
.faq-path{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:clamp(1.3rem,2.4vw,1.8rem);display:flex;flex-direction:column;text-align:center}
.faq-path h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:#fff;font-size:1.35rem;margin:0 0 .5rem}
.faq-path p{color:#cdd7e6;font-size:.94rem;line-height:1.55;margin:0 0 1.1rem}
.faq-path .tvd-btn{margin-top:auto;align-self:center}
.faq-path .tvd-btn--primary{background:var(--tvd-gold);color:var(--tvd-navy);border-color:var(--tvd-gold)}
.faq-path .tvd-btn--primary:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
.faq-path .tvd-btn--outline{border-color:rgba(255,255,255,.75);color:#fff}
.faq-path .tvd-btn--outline:hover{background:#fff;color:var(--tvd-navy);border-color:#fff}
@media(max-width:640px){.faq-paths{grid-template-columns:1fr}}

/* ================= LEGAL & SITEMAP PAGES (LEGAL-HTML-01..04 / SITEMAP-HTML-01..02) ================= */
/* Text-only legal template: no hero, no marketing CTA, narrow readable measure. */
.tvd-legal{max-width:840px;margin-inline:auto;padding:.25rem 0 1rem}
.tvd-legal__crumbs{font-size:.82rem;color:#6a6250;margin:0 0 1.4rem}
.tvd-legal__crumbs a{color:var(--tvd-gold);text-decoration:none}
.tvd-legal__crumbs a:hover{text-decoration:underline}
.tvd-legal__crumbs .sep{margin:0 .45rem;color:#c2b998}

/* LEGAL-HTML-01 — compact legal page header */
.tvd-legal__head{border-bottom:2px solid var(--tvd-line);padding-bottom:1.1rem;margin-bottom:1.5rem}
.tvd-legal__eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .5rem}
.tvd-legal__head h1{font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.12;color:var(--tvd-navy);margin:0 0 .5rem}
.tvd-legal__updated{font-size:.85rem;color:#6a6250;margin:0}
.tvd-legal__intro{margin:0 0 .4rem}
.tvd-legal__intro p{font-size:1.02rem;line-height:1.7;color:var(--tvd-body)}

/* LEGAL-HTML-02 — responsive contents navigation (accordion on mobile, open box on desktop) */
.tvd-legal__toc{border:1px solid var(--tvd-line);border-radius:6px;background:var(--tvd-cream);padding:.2rem 1.1rem;margin:0 0 2.2rem}
.tvd-legal__toc>summary{font-weight:700;color:var(--tvd-navy);cursor:pointer;padding:.8rem .1rem;font-size:.95rem;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px}
.tvd-legal__toc>summary::-webkit-details-marker{display:none}
.tvd-legal__toc>summary::after{content:"+";font-size:1.15rem;color:var(--tvd-gold);margin-left:1rem}
.tvd-legal__toc[open]>summary::after{content:"–"}
.tvd-legal__toc[open]>summary{border-bottom:1px solid var(--tvd-line)}
.tvd-legal__toc ol{columns:2;column-gap:2.4rem;margin:.7rem 0 .9rem;padding-left:1.2rem;font-size:.92rem}
.tvd-legal__toc li{margin:.15rem 0;break-inside:avoid}
.tvd-legal__toc a{color:var(--tvd-navy);text-decoration:none;line-height:1.85}
.tvd-legal__toc a:hover{color:var(--tvd-gold);text-decoration:underline}
@media(min-width:768px){
  .tvd-legal__toc{padding-top:.4rem;padding-bottom:.4rem}
  .tvd-legal__toc>summary{cursor:default}
  .tvd-legal__toc>summary::after{display:none}
}
@media(max-width:600px){.tvd-legal__toc ol{columns:1}}

/* LEGAL-HTML-03 — narrow legal content layout */
.tvd-legal__body h2{font-size:clamp(1.15rem,2.1vw,1.4rem);color:var(--tvd-navy);margin:2.3rem 0 .55rem;scroll-margin-top:90px;line-height:1.25}
.tvd-legal__body h3{font-size:1.02rem;color:var(--tvd-navy);margin:1.5rem 0 .4rem}
.tvd-legal__body p,.tvd-legal__body li{font-size:1rem;line-height:1.75;color:var(--tvd-body)}
.tvd-legal__body p{margin:.7rem 0}
.tvd-legal__body ul{padding-left:1.35rem;margin:.6rem 0 1rem}
.tvd-legal__body li{margin:.28rem 0}
.tvd-legal__body a{color:var(--tvd-gold);text-decoration:underline}
.tvd-legal__body hr{border:0;border-top:1px solid var(--tvd-line);margin:1.9rem 0}
.tvd-legal__body strong{color:var(--tvd-navy)}
.tvd-legal__sub{margin:.6rem 0 0;font-size:.98rem;line-height:1.7;color:var(--tvd-body)}

/* LEGAL-HTML-04 — email contact panel */
.tvd-legal__panel{border:1px solid var(--tvd-line);border-left:3px solid var(--tvd-gold);background:var(--tvd-cream);border-radius:6px;padding:1.5rem 1.6rem;margin:2.6rem 0 .5rem}
.tvd-legal__panel h2{margin:0 0 .5rem;font-size:1.2rem;color:var(--tvd-navy);scroll-margin-top:90px}
.tvd-legal__panel p{margin:0 0 1rem;font-size:.98rem;line-height:1.7;color:var(--tvd-body)}
.tvd-legal__emailbtn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.4rem;background:var(--tvd-navy);color:#fff;text-decoration:none;border-radius:4px;font-weight:600;font-size:.92rem;letter-spacing:.01em;border:1.5px solid var(--tvd-navy)}
.tvd-legal__emailbtn:hover{background:#0d1a2c;border-color:#0d1a2c;color:#fff}
.tvd-legal__emailbtn:focus-visible{outline:3px solid var(--tvd-gold);outline-offset:2px}

/* SITEMAP-HTML-01 — compact sitemap header (reuses .tvd-legal__head/crumbs); wider grid wrapper */
.tvd-sitemap{max-width:1080px;margin-inline:auto;padding:.25rem 0 1rem}
/* SITEMAP-HTML-02 — responsive grouped link grid */
.tvd-sitemap__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem 2rem;margin-top:1.8rem}
.tvd-sitemap__col h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tvd-gold);font-weight:700;border-bottom:1px solid var(--tvd-line);padding-bottom:.55rem;margin:0 0 .7rem}
.tvd-sitemap__col ul{list-style:none;padding:0;margin:0}
.tvd-sitemap__col li{margin:.32rem 0}
.tvd-sitemap__col a{color:var(--tvd-navy);text-decoration:none;font-size:.95rem;line-height:1.75}
.tvd-sitemap__col a:hover{color:var(--tvd-gold);text-decoration:underline}
@media(max-width:900px){.tvd-sitemap__grid{grid-template-columns:1fr 1fr;gap:1.6rem}}
@media(max-width:560px){.tvd-sitemap__grid{grid-template-columns:1fr}}

/* ================= GLOBAL CONSULTATION MODAL ================= */
html.tvd-modal-open,body.tvd-modal-open{overflow:hidden!important}
.tvd-modal[hidden]{display:none}
.tvd-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,4vh,3rem) 1rem}
.tvd-modal__overlay{position:fixed;inset:0;background:rgba(33,27,17,.58);backdrop-filter:saturate(1.05) blur(2px)}
.tvd-modal__panel{position:relative;background:#fff;width:100%;max-width:880px;margin:auto;border-radius:10px;box-shadow:0 22px 64px rgba(20,36,58,.30);overflow:hidden}
.tvd-modal__close{position:absolute;top:.5rem;right:.5rem;z-index:2;width:44px;height:44px;min-width:44px;border:0;background:transparent;color:var(--tvd-navy);font-size:1.7rem;line-height:1;cursor:pointer;border-radius:8px}
.tvd-modal__close:hover{background:var(--tvd-cream)}
.tvd-modal__close:focus-visible{outline:3px solid var(--tvd-gold);outline-offset:2px}
.tvd-modal__scroll{max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4rem);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(1.6rem,3vw,2.4rem)}
.tvd-modal__eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .5rem}
.tvd-modal__title{font-size:clamp(1.5rem,2.6vw,1.95rem);color:var(--tvd-navy);line-height:1.14;margin:0 0 .6rem}
.tvd-modal__sub{font-size:1rem;line-height:1.6;color:var(--tvd-body);margin:0 0 .4rem}
.tvd-modal__note{font-size:.88rem;color:#6a6250;margin:0 0 1.3rem}
.tvd-modal__panel .bk-formwrap{margin:0}
.tvd-modal__panel .bk-confirm{margin:0}
/* the [hidden] attribute must win over .bk-field/.bk-form display rules (conditional call-time, form/confirm swap) */
.bk-form[hidden],.bk-confirm[hidden],.bk-field[hidden],.bk-conditional[hidden]{display:none!important}
@media(max-width:600px){
  .tvd-modal{padding:0;align-items:stretch}
  .tvd-modal__overlay{backdrop-filter:none}
  .tvd-modal__panel{max-width:100%;min-height:100%;border-radius:0;margin:0}
  .tvd-modal__scroll{max-height:100vh;max-height:100dvh;padding:1.3rem 1.1rem calc(1.6rem + env(safe-area-inset-bottom))}
  .tvd-modal__close{top:.35rem;right:.35rem}
}

/* ================= BACK-TO-TOP ================= */
.tvd-backtotop{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:55;width:46px;height:46px;min-width:44px;min-height:44px;border:0;border-radius:50%;background:var(--tvd-navy);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .18s ease;box-shadow:0 6px 18px rgba(20,36,58,.30)}
.tvd-backtotop.is-show{opacity:1;visibility:visible;transform:none}
.tvd-backtotop:hover{background:#0d1a2c}
.tvd-backtotop:focus-visible{outline:3px solid var(--tvd-gold);outline-offset:2px}
.tvd-backtotop svg{width:20px;height:20px}
@media (prefers-reduced-motion: reduce){.tvd-backtotop{transition:opacity .2s ease,visibility .2s ease}}
@media (max-width:781px){.tvd-backtotop{bottom:calc(76px + env(safe-area-inset-bottom) + 12px)}}

/* ================= HEADER CONSULTATION CTA — brick-red accent (#B63A32) ================= */
.tvd-header .tvd-cta-consult .wp-block-button__link,.tvd-header .tvd-cta-consult.wp-block-button>.wp-block-button__link{background:#B63A32!important;background-image:none!important;color:#fff!important;border:0!important;box-shadow:none;font-weight:600;letter-spacing:.012em}
.tvd-header .tvd-cta-consult .wp-block-button__link:hover{background:#9C3029!important;color:#fff!important}
.tvd-header .tvd-cta-consult .wp-block-button__link:focus-visible{outline:3px solid var(--tvd-navy);outline-offset:2px}
.tvd-actionbar .tvd-ab--cta{background:#B63A32;color:#fff}

/* ================= WHATSAPP BUTTONS — consistent brand green everywhere ================= */
.tvd-wa-btn{background:#25D366!important;color:#fff!important;border:1.5px solid #25D366!important;min-height:46px}
.tvd-wa-btn:hover{background:#1FAF55!important;border-color:#1FAF55!important;color:#fff!important}
.tvd-wa-btn .tvd-wa-ico,.tvd-wa-btn:hover .tvd-wa-ico{color:#fff!important}
.tvd-wa-btn:focus-visible{outline:3px solid var(--tvd-navy);outline-offset:2px}
.tvd-hero .tvd-wa-btn,.tvd-footer .tvd-wa-btn{background:#25D366!important;color:#fff!important;border-color:#25D366!important}
.tvd-hero .tvd-wa-btn:hover,.tvd-footer .tvd-wa-btn:hover{background:#1FAF55!important;color:#fff!important;border-color:#1FAF55!important}
.tvd-hero .tvd-wa-btn .tvd-wa-ico,.tvd-footer .tvd-wa-btn .tvd-wa-ico{color:#fff!important}
.tvd-actionbar .tvd-ab--wa{background:#25D366;color:#fff}

/* ================= CORRECTION BATCH ================= */
/* §1 — Six-step decision rail (Why theVillasDubai): six TRUE equal columns.
   .comg-rail6 rides on .rdy-rail8 (8-col) which mis-distributed 6 steps — force 6 equal columns,
   run the connector through the circle centres, and give labels a consistent width/height. */
.comg-rail6{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.comg-rail6:before{left:calc(100%/12);right:calc(100%/12)}
.comg-rail6 .rdy-raillabel{max-width:170px;min-height:58px;-webkit-line-clamp:4}
@media(max-width:900px){.comg-rail6{grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important;row-gap:1.8rem}.comg-rail6:before{display:none}.comg-rail6 .rdy-railstep{flex:initial}}
@media(max-width:560px){.comg-rail6{grid-template-columns:1fr!important;gap:.2rem}}

/* §4 — Case Studies "Build the Strategy" advisory grid (was an unstyled vertical list). 3×2 cards. */
.whytd-advgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;margin-top:1.8rem}
.whytd-advcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tvd-line);border-radius:10px;padding:1.4rem 1.4rem 1.5rem;gap:.5rem}
.whytd-advcard__n{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:1.05rem;color:var(--tvd-navy);letter-spacing:.02em}
.whytd-advcard .op-ico{width:30px;height:30px;color:var(--tvd-gold)}
.whytd-advcard .op-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.whytd-advcard h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.2rem;margin:.1rem 0 .1rem;line-height:1.2}
.whytd-advcard p{color:var(--tvd-body);font-size:.92rem;line-height:1.55;margin:0}
@media(max-width:900px){.whytd-advgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.whytd-advgrid{grid-template-columns:1fr}}

/* §3 — Case Studies related "Why Villas?" panel (replaces the bare, easily-missed link). */
.case-relpanel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.2rem 1.6rem;background:var(--tvd-cream);border:1px solid var(--tvd-line);border-left:4px solid var(--tvd-gold);border-radius:10px;padding:1.6rem 1.8rem;margin-top:1.4rem}
.case-relpanel__eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tvd-gold);font-weight:700;margin:0 0 .35rem}
.case-relpanel__h{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--tvd-navy);font-size:1.5rem;margin:0 0 .35rem;line-height:1.15}
.case-relpanel__p{color:var(--tvd-body);font-size:.95rem;line-height:1.55;margin:0;max-width:60ch}
.case-relpanel__cta{grid-column:2;justify-self:end;background:var(--tvd-navy);color:#fff;border:1.5px solid var(--tvd-navy);min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:4px;font-weight:600;font-size:.9rem;letter-spacing:.015em;text-decoration:none;white-space:nowrap}
.case-relpanel__cta:hover{background:var(--tvd-gold);border-color:var(--tvd-gold);color:var(--tvd-navy)}
.case-relpanel__cta:focus-visible{outline:3px solid var(--tvd-navy);outline-offset:2px}
@media(max-width:720px){.case-relpanel{grid-template-columns:1fr;text-align:left}.case-relpanel__cta{grid-column:1;justify-self:start;width:100%}}

