/* =========================================================
   SAGE WEALTH ASSET SERVICES — Design System v2
   Cream / Forest Green / Gold — Premium Institutional
   ========================================================= */

/* ── Tokens ──────────────────────────────────────────────── */
:root {
  --cream:         #f0ebe0;
  --cream-dark:    #e6e0d4;
  --cream-border:  #d4cdc0;
  --forest:        #1e4d20;
  --forest-deep:   #0e2810;
  --forest-mid:    #265428;
  --gold:          #b8860b;
  --gold-light:    #cfa830;
  --gold-pale:     #f5ebd0;
  --teal:          #4ecdc4;
  --brand-green:   #1e5e1e;
  --brand-red:     #cc2200;
  --text:          #1a1714;
  --text-2:        #4a4540;
  --text-muted:    #7a7060;
  --text-light:    #a09880;
  --white:         #ffffff;

  --ff-serif:  'Cormorant Garamond', Georgia, serif;
  --ff-sans:   'DM Sans', system-ui, sans-serif;

  --r-sm:  4px;
  --r-md:  10px;
  --r-lg:  16px;
  --r-xl:  24px;

  --sh-sm: 0 2px 8px rgba(26,23,20,.07);
  --sh-md: 0 8px 32px rgba(26,23,20,.10);
  --sh-lg: 0 20px 64px rgba(26,23,20,.15);

  --t: 220ms ease;
  --mw: 1240px;
  --sv: 100px;
}

/* ── Reset ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--ff-sans);color:var(--text);background:var(--cream);line-height:1.6}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{border:none;background:none;cursor:pointer;font:inherit}
input,select,textarea{font:inherit}

/* ── Layout ──────────────────────────────────────────────── */
.container{width:100%;max-width:var(--mw);margin:0 auto;padding:0 48px}
.section{padding:var(--sv) 0}
.section--cream{background:var(--cream)}
.section--forest{background:var(--forest)}
.section--deep{background:var(--forest-deep)}
.section--border{border-top:1px solid var(--cream-border)}
.section--cta-bg{background:var(--cream-dark);border-top:1px solid var(--cream-border)}

/* ── Ticker Strip ────────────────────────────────────────── */
.ticker-wrap{
  background:var(--forest);
  border-bottom:1px solid rgba(240,235,224,.08);
  overflow:hidden;padding:11px 0;
  flex-shrink:0;
}
.ticker-track{
  display:flex;align-items:center;gap:0;
  white-space:nowrap;
  animation:ticker 40s linear infinite;
  width:max-content;
}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{
  display:flex;align-items:center;gap:36px;
  padding:0 36px;
}
.ticker-item span{
  font-size:.64rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(240,235,224,.48);
}
.ticker-sep{
  color:var(--gold) !important;
  font-size:.7rem !important;
  letter-spacing:0 !important;
  opacity:.7;
}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Buttons ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff-sans);font-size:.85rem;font-weight:500;letter-spacing:.04em;
  padding:14px 32px;border-radius:var(--r-sm);line-height:1;
  transition:background var(--t),color var(--t),border-color var(--t),transform var(--t),box-shadow var(--t);
  cursor:pointer;white-space:nowrap;border:1.5px solid transparent;text-transform:uppercase;
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.btn-lg{padding:17px 38px;font-size:.88rem}
.btn-sm{padding:9px 20px;font-size:.76rem}
.btn-full{width:100%;justify-content:center}

.btn-dark{background:var(--text);color:var(--cream);border-color:var(--text)}
.btn-dark:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.btn-forest{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.btn-forest:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.btn-outline{background:transparent;color:var(--text);border-color:var(--cream-border)}
.btn-outline:hover{background:var(--cream-dark);border-color:var(--text)}
.btn-outline-lt{background:transparent;color:var(--cream);border-color:rgba(240,235,224,.35)}
.btn-outline-lt:hover{background:rgba(240,235,224,.08);border-color:rgba(240,235,224,.7)}
.btn-outline-dark{background:transparent;color:var(--text);border-color:var(--cream-border)}
.btn-outline-dark:hover{border-color:var(--text);background:var(--cream-dark)}
.btn-gold{background:var(--gold);color:var(--white);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light)}

/* ── Header / Nav ────────────────────────────────────────── */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(240,235,224,.96);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--cream-border);
  transition:box-shadow var(--t);
}
.site-header.scrolled{box-shadow:0 4px 32px rgba(26,23,20,.09)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}

/* Logo */
.logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo-icon{flex-shrink:0;width:38px;height:38px}
.logo-text-group{display:flex;flex-direction:column;gap:1px;line-height:1}
.logo-main{font-family:var(--ff-serif);font-size:1.15rem;font-weight:600;letter-spacing:-.01em;color:var(--brand-green)}
.logo-sub{font-size:.56rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-red)}
.logo-main--light{color:rgba(240,235,224,.88)}
.logo-sub--light{color:rgba(240,235,224,.42)}

/* Nav links */
.nav-links{display:flex;align-items:center;gap:0}
.nav-link{
  font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--text-2);
  padding:8px 13px;border-radius:var(--r-sm);
  display:flex;align-items:center;gap:4px;
  transition:color var(--t),background var(--t);
  text-transform:uppercase;
}
.nav-link:hover,.nav-link.nav-active{color:var(--text);background:var(--cream-dark)}
.nav-dropdown{position:relative}
.dropdown-caret{transition:transform var(--t);flex-shrink:0}
.nav-dropdown:hover .dropdown-caret{transform:rotate(180deg)}
.dropdown-menu{
  position:absolute;top:calc(100% + 12px);left:0;
  background:var(--white);border:1px solid var(--cream-border);
  border-radius:var(--r-md);box-shadow:var(--sh-lg);
  padding:8px;min-width:256px;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity var(--t),visibility var(--t),transform var(--t);
  z-index:200;
}
.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-item{display:block;padding:12px 16px;border-radius:var(--r-sm);transition:background var(--t)}
.dropdown-item:hover,.dropdown-item.nav-active{background:var(--cream)}
.dropdown-item__label{display:block;font-size:.84rem;font-weight:500;color:var(--text);margin-bottom:3px}
.dropdown-item__desc{display:block;font-size:.73rem;color:var(--text-muted)}

.nav-actions{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--text);border-radius:2px;transition:var(--t)}

.flash-success{background:var(--forest);color:var(--cream);padding:14px 0;font-size:.84rem;text-align:center;letter-spacing:.02em}

/* ── Section Labels & Headings ───────────────────────────── */
.sec-label{
  display:flex;align-items:center;gap:16px;
  font-size:.65rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:22px;
}
.sec-label--gold{color:var(--gold)}
.lline{display:inline-block;width:32px;height:1px;background:currentColor;flex-shrink:0}

.sec-title{font-family:var(--ff-serif);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:400;line-height:1.1;color:var(--text)}
.sec-title--light{color:var(--cream)}
.sec-sub{font-size:1rem;color:var(--text-muted);max-width:520px;margin-top:18px;line-height:1.8}
.sec-sub--light{color:rgba(240,235,224,.58)}
.sec-hd{margin-bottom:68px}
.sec-hd--light{margin-bottom:68px}
.sec-hd-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:56px}
.sec-cta-c{text-align:center;margin-top:64px}

/* ── Hero ────────────────────────────────────────────────── */
.hero{background:var(--forest-deep);overflow:hidden;position:relative}
.hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,134,11,.4) 30%,rgba(184,134,11,.4) 70%,transparent);
}
.hero-inner{
  display:grid;
  grid-template-columns:1fr 296px;
  min-height:calc(92vh - 68px - 36px);
  align-items:stretch;
}
.hero-body{
  padding:120px 80px 120px 0;
  display:flex;flex-direction:column;justify-content:center;
  border-right:1px solid rgba(240,235,224,.07);
}
.hero-badge{
  display:flex;align-items:center;gap:14px;
  font-size:.63rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(240,235,224,.38);margin-bottom:36px;
}
.badge-dash{display:inline-block;width:28px;height:1px;background:currentColor;flex-shrink:0}
.hero-hl{
  font-family:var(--ff-serif);
  font-size:clamp(3rem,6vw,5.2rem);
  font-weight:400;line-height:1.06;
  color:var(--cream);margin-bottom:28px;
}
.hero-hl em{color:var(--gold);font-style:italic}
.hero-sub{font-size:1rem;color:rgba(240,235,224,.55);line-height:1.82;max-width:500px;margin-bottom:48px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}

/* Hero aside panel */
.hero-aside{
  display:flex;flex-direction:column;justify-content:center;
  padding:60px 48px;
}
.ha-stat{padding:28px 0}
.ha-rule{height:1px;background:rgba(240,235,224,.08)}
.ha-num{
  display:block;
  font-family:var(--ff-serif);font-size:2.6rem;font-weight:600;
  color:var(--gold);line-height:1;margin-bottom:8px;
}
.ha-lbl{
  display:block;font-size:.65rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(240,235,224,.38);
}

/* ── Product Cards ───────────────────────────────────────── */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod-card{
  background:var(--white);border:1px solid var(--cream-border);
  border-radius:var(--r-xl);padding:42px 38px;
  display:flex;flex-direction:column;
  transition:box-shadow var(--t),transform var(--t);
}
.prod-card:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.prod-card--dark{background:var(--forest);border-color:var(--forest)}
.prod-card--dark .prod-card__num{color:var(--gold)}
.prod-card--dark .prod-card__name{color:var(--cream)}
.prod-card--dark .prod-card__desc{color:rgba(240,235,224,.62)}
.prod-card--dark .prod-card__feat li{color:rgba(240,235,224,.7)}
.prod-card--dark .prod-card__feat li::before{color:var(--gold)}
.prod-card--dark .prod-card__cta{color:var(--gold)}
.prod-card__num{font-size:.63rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:26px}
.prod-card__name{font-family:var(--ff-serif);font-size:2.2rem;font-weight:400;color:var(--text);margin-bottom:16px;line-height:1.08}
.prod-card__desc{font-size:.88rem;color:var(--text-muted);line-height:1.8;margin-bottom:28px;flex:1}
.prod-card__feat{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.prod-card__feat li{font-size:.82rem;color:var(--text-muted);padding-left:20px;position:relative;line-height:1.5}
.prod-card__feat li::before{content:'—';position:absolute;left:0;color:var(--gold)}
.prod-card__cta{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text);display:flex;align-items:center;gap:10px;margin-top:auto;transition:gap var(--t),color var(--t)}
.prod-card__cta:hover{gap:16px;color:var(--gold)}

/* ── Why Grid ────────────────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.why-item{padding:52px;border:1px solid rgba(240,235,224,.08);transition:background var(--t)}
.why-item:hover{background:rgba(240,235,224,.04)}
.why-num{font-size:.63rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:20px}
.why-title{font-family:var(--ff-serif);font-size:1.55rem;font-weight:400;color:var(--cream);margin-bottom:14px}
.why-desc{font-size:.875rem;color:rgba(240,235,224,.56);line-height:1.82}

/* ── Steps ───────────────────────────────────────────────── */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(240,235,224,.08)}
.step-item{padding:48px 38px;border-right:1px solid rgba(240,235,224,.08)}
.step-item:last-child{border-right:none}
.step-num{font-size:.63rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:22px}
.step-title{font-family:var(--ff-serif);font-size:1.4rem;font-weight:400;color:var(--cream);margin-bottom:14px}
.step-desc{font-size:.85rem;color:rgba(240,235,224,.55);line-height:1.8}

/* ── Philosophy ──────────────────────────────────────────── */
.phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.body-p{font-size:.975rem;color:var(--text-muted);line-height:1.85;margin-bottom:18px}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.pillar{border-left:2px solid var(--gold);padding-left:18px}
.pillar-name{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:5px}
.pillar-desc{display:block;font-size:.78rem;color:var(--text-muted);line-height:1.65}

.compound-card{
  background:var(--white);border:1px solid var(--cream-border);
  border-radius:var(--r-xl);padding:40px;
  position:relative;overflow:hidden;
}
.compound-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.6;
}
.compound-lbl{font-size:.75rem;color:var(--text-muted);margin-bottom:24px;letter-spacing:.02em}
.compound-svg{width:100%}
.compound-note{font-size:.68rem;color:var(--text-light);text-align:center;margin-top:16px}

/* ── Article Cards ───────────────────────────────────────── */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.art-card{
  background:var(--white);border:1px solid var(--cream-border);
  border-radius:var(--r-lg);padding:34px;
  display:flex;flex-direction:column;
  transition:box-shadow var(--t),transform var(--t);
}
.art-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.art-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.art-tag{font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.art-time{font-size:.7rem;color:var(--text-light)}
.art-title{font-family:var(--ff-serif);font-size:1.4rem;font-weight:400;line-height:1.25;color:var(--text);margin-bottom:14px}
.art-sum{font-size:.85rem;color:var(--text-muted);line-height:1.78;flex:1;margin-bottom:26px}
.art-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--cream-border);padding-top:18px;margin-top:auto}
.art-author{font-size:.76rem;font-weight:500;color:var(--text-2)}
.art-date{font-size:.7rem;color:var(--text-light)}

/* ── Testimonials ────────────────────────────────────────── */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(240,235,224,.08)}
.test-card{
  padding:48px 44px;
  background:transparent;
  position:relative;
}
.test-card::before{
  content:'\201C';
  font-family:var(--ff-serif);
  font-size:8rem;line-height:.8;
  color:var(--gold);opacity:.18;
  position:absolute;top:32px;left:36px;
  pointer-events:none;
}
.test-q{
  font-family:var(--ff-serif);font-size:1.15rem;font-style:italic;
  color:rgba(240,235,224,.78);line-height:1.72;
  margin-bottom:28px;padding-top:32px;
}
.test-auth{
  font-size:.68rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(240,235,224,.36);
}
.test-auth::before{content:'— '}

/* ── Final CTA ───────────────────────────────────────────── */
.cta-wrap{display:flex;align-items:center;justify-content:space-between;gap:56px;padding:96px 0}
.cta-t{font-family:var(--ff-serif);font-size:clamp(2rem,3.8vw,3rem);font-weight:400;color:var(--text);margin-bottom:18px}
.cta-s{font-size:.975rem;color:var(--text-muted);max-width:480px;line-height:1.82}
.cta-acts{display:flex;flex-direction:column;gap:14px;flex-shrink:0}

/* ── Page Hero ───────────────────────────────────────────── */
.pg-hero{padding:108px 0 84px;position:relative}
.pg-hero--cream{background:var(--cream);border-bottom:1px solid var(--cream-border)}
.pg-hero--forest{background:var(--forest)}
.pg-badge{
  display:flex;align-items:center;gap:16px;
  font-size:.63rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:28px;
}
.pg-badge--gold{color:var(--gold)}
.pg-title{
  font-family:var(--ff-serif);
  font-size:clamp(2.6rem,5vw,4.2rem);
  font-weight:400;line-height:1.07;
  color:var(--text);margin-bottom:26px;
}
.pg-title--lt{color:var(--cream)}
.pg-sub{font-size:1rem;color:var(--text-muted);line-height:1.82;max-width:560px;margin-bottom:44px}
.pg-sub--lt{color:rgba(240,235,224,.62)}
.pg-ctas{display:flex;flex-wrap:wrap;gap:14px}

/* ── Category Cards ──────────────────────────────────────── */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--cream-border)}
.cat-card{
  background:var(--white);
  padding:36px 32px;display:flex;flex-direction:column;gap:16px;
  transition:background var(--t);
}
.cat-card:hover{background:var(--cream)}
.cat-icon{font-size:1.6rem;line-height:1}
.cat-num{
  font-size:.65rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);
}
.cat-card h3{font-family:var(--ff-serif);font-size:1.3rem;font-weight:400;color:var(--text)}
.cat-card p{font-size:.84rem;color:var(--text-muted);line-height:1.72;flex:1}

/* ── Risk Badges ─────────────────────────────────────────── */
.rbadge{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:2px;white-space:nowrap;display:inline-block}
.rbadge--low{background:#e8f5e9;color:#2e7d32}
.rbadge--moderate{background:#fff8e1;color:#e65100}
.rbadge--moderatelyhigh{background:#fff3e0;color:#bf360c}
.rbadge--high{background:#fce4ec;color:#b71c1c}
.rbadge--veryhigh{background:#f3e5f5;color:#6a1b9a}

/* ── Strategy Cards ──────────────────────────────────────── */
.strat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.strat-grid--full{grid-template-columns:repeat(3,1fr)}
.strat-card{
  background:var(--white);border:1px solid var(--cream-border);
  border-top:3px solid var(--cream-border);
  border-radius:var(--r-lg);padding:36px;
  display:flex;flex-direction:column;gap:18px;
  transition:box-shadow var(--t),border-top-color var(--t);
}
.strat-card:hover{box-shadow:var(--sh-md);border-top-color:var(--gold)}
.strat-card--prem{border-top-color:var(--gold)}
.strat-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.strat-type{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:5px}
.strat-name{font-family:var(--ff-serif);font-size:1.45rem;font-weight:400;color:var(--text)}
.strat-desc{font-size:.86rem;color:var(--text-muted);line-height:1.75}
.strat-metrics{background:var(--cream);border-radius:var(--r-sm);padding:18px;display:flex;flex-direction:column;gap:10px}
.metric{display:flex;justify-content:space-between;align-items:center}
.m-lbl{font-size:.72rem;color:var(--text-muted)}
.m-val{font-size:.8rem;font-weight:500;color:var(--text);text-align:right;max-width:55%}
.strat-feats{display:flex;flex-direction:column;gap:7px;flex:1}
.strat-feats li{font-size:.8rem;color:var(--text-muted);padding-left:16px;position:relative;line-height:1.55}
.strat-feats li::before{content:'→';position:absolute;left:0;color:var(--gold);font-size:.72rem}

/* ── Compare Table ───────────────────────────────────────── */
.tbl-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--cream-border)}
.cmp-tbl{width:100%;border-collapse:collapse}
.cmp-tbl th,.cmp-tbl td{padding:16px 22px;text-align:left;font-size:.855rem;border-bottom:1px solid var(--cream-border)}
.cmp-tbl th{font-weight:700;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:var(--cream-dark)}
.cmp-tbl tr:last-child td{border-bottom:none}
.cmp-tbl td:first-child{color:var(--text-muted)}
.col-hi{background:rgba(184,134,11,.06);color:var(--text);font-weight:500}
.cmp-tbl th.col-hi{color:var(--gold)}

/* ── AIF Categories ──────────────────────────────────────── */
.aif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.aif-cat{
  background:var(--white);border:1px solid var(--cream-border);
  border-top:3px solid var(--cream-border);
  border-radius:var(--r-lg);padding:38px;
  display:flex;flex-direction:column;gap:16px;
  transition:border-top-color var(--t),box-shadow var(--t);
}
.aif-cat:hover{border-top-color:var(--gold);box-shadow:var(--sh-md)}
.aif-cat--ft{border-top-color:var(--gold)}
.aif-tag{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.aif-tag--gold{color:var(--gold)}
.aif-cat h3{font-family:var(--ff-serif);font-size:1.35rem;font-weight:400;color:var(--text)}
.aif-cat p{font-size:.86rem;color:var(--text-muted);line-height:1.75;flex:1}
.aif-risk{font-size:.72rem;color:var(--text-light);border-top:1px solid var(--cream-border);padding-top:16px}

/* ── Suitability / Eligibility ───────────────────────────── */
.suit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(240,235,224,.08)}
.suit-item{display:flex;align-items:flex-start;gap:14px;padding:28px 32px;background:transparent}
.suit-icon{font-size:.95rem;flex-shrink:0;margin-top:2px}
.suit-item--yes .suit-icon{color:#6fcf97}
.suit-item--no .suit-icon{color:var(--gold)}
.suit-item p{font-size:.86rem;color:rgba(240,235,224,.72);line-height:1.68}
.elig-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.elig-item{display:flex;align-items:flex-start;gap:14px}
.elig-chk{color:#6fcf97;flex-shrink:0;margin-top:2px;font-size:1rem}
.elig-item p{font-size:.88rem;color:rgba(240,235,224,.72);line-height:1.7}
.elig-note-item{background:rgba(184,134,11,.12);border-radius:var(--r-sm);padding:20px;grid-column:1/-1}
.elig-note{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* ── Methodology / Principles ────────────────────────────── */
.method-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.method-item{padding:44px;border:1px solid rgba(240,235,224,.08)}
.method-num{font-size:.63rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:18px}
.method-item h3{font-family:var(--ff-serif);font-size:1.4rem;font-weight:400;color:var(--cream);margin-bottom:12px}
.method-item p{font-size:.86rem;color:rgba(240,235,224,.58);line-height:1.82}
.prin-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.prin-item{padding:44px;border:1px solid rgba(240,235,224,.08)}
.prin-num{font-size:.63rem;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:18px}
.prin-item h3{font-family:var(--ff-serif);font-size:1.4rem;font-weight:400;color:var(--cream);margin-bottom:12px}
.prin-item p{font-size:.86rem;color:rgba(240,235,224,.58);line-height:1.82}

/* ── About Stats ─────────────────────────────────────────── */
.ab-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--cream-border)}
.ab-stat{background:var(--white);padding:36px;text-align:center}
.ab-num{display:block;font-family:var(--ff-serif);font-size:2.8rem;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1}
.ab-lbl{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}

/* ── Compliance ──────────────────────────────────────────── */
.comp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.comp-item{
  background:var(--white);border:1px solid var(--cream-border);
  border-left:3px solid var(--gold);
  border-radius:var(--r-sm);padding:30px;
}
.comp-item h4{font-size:.84rem;font-weight:700;letter-spacing:.04em;color:var(--text);margin-bottom:8px}
.comp-item p{font-size:.82rem;color:var(--text-muted);line-height:1.7}

/* ── Filters ─────────────────────────────────────────────── */
.filter-bar{margin-bottom:56px;display:flex;flex-direction:column;gap:20px}
.filter-grp{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.filter-lbl{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);min-width:80px}
.fpills{display:flex;flex-wrap:wrap;gap:8px}
.fpill{
  font-size:.73rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  padding:7px 18px;border-radius:2px;border:1px solid var(--cream-border);
  color:var(--text-muted);transition:background var(--t),border-color var(--t),color var(--t);
}
.fpill:hover{border-color:var(--text);color:var(--text)}
.fpill--on{background:var(--text);border-color:var(--text);color:var(--cream)}

/* ── Contact ─────────────────────────────────────────────── */
.contact-lay{display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:start}
.form-t{font-family:var(--ff-serif);font-size:2.2rem;font-weight:400;color:var(--text);margin-bottom:44px}
.c-form{display:flex;flex-direction:column;gap:22px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f-grp{display:flex;flex-direction:column;gap:7px}
.f-lbl{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.f-inp,.f-sel,.f-ta{
  border:1.5px solid var(--cream-border);border-radius:var(--r-sm);
  padding:13px 16px;font-size:.9rem;color:var(--text);
  background:var(--white);transition:border-color var(--t);width:100%;outline:none;
}
.f-inp:focus,.f-sel:focus,.f-ta:focus{border-color:var(--forest)}
.f-ta{resize:vertical;min-height:110px}
.radio-grp{display:flex;gap:24px;flex-wrap:wrap}
.radio-lbl{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--text-muted);cursor:pointer}
.f-disc{font-size:.72rem;color:var(--text-light);line-height:1.68;padding:16px;background:var(--cream);border-radius:var(--r-sm)}
.f-disc a{text-decoration:underline;color:var(--text-muted)}
.ci-col{display:flex;flex-direction:column;gap:24px}
.ci-card{background:var(--forest-deep);color:var(--cream);border-radius:var(--r-lg);padding:40px;display:flex;flex-direction:column;gap:20px}
.ci-card h3{font-size:.63rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ci-card p{font-size:.88rem;color:rgba(240,235,224,.7);line-height:1.68}
.ci-card a{color:rgba(240,235,224,.88);text-decoration:underline}
.ci-trust{background:var(--white);border:1px solid var(--cream-border);border-radius:var(--r-lg);padding:32px}
.ci-trust h3{font-family:var(--ff-serif);font-size:1.25rem;font-weight:400;color:var(--text);margin-bottom:20px}
.ci-trust ul{display:flex;flex-direction:column;gap:12px}
.ci-trust li{font-size:.86rem;color:var(--text-muted);padding-left:20px;position:relative}
.ci-trust li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}

/* ── Empty state ─────────────────────────────────────────── */
.empty{grid-column:1/-1;text-align:center;padding:72px 20px;color:var(--text-muted)}
.empty a{color:var(--text);font-weight:500;text-decoration:underline}

/* ── Footer ──────────────────────────────────────────────── */
.site-footer{background:var(--forest-deep);color:var(--cream)}
.ft-top{height:3px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.35}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px;padding:80px 0 56px}
.ft-brand{display:flex;flex-direction:column;gap:18px}
.ft-tagline{font-size:.88rem;color:rgba(240,235,224,.52);line-height:1.72}
.ft-reg{font-size:.68rem;color:rgba(240,235,224,.34);line-height:1.68}
.ft-hd{font-size:.63rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(240,235,224,.36);margin-bottom:20px}
.ft-ul{display:flex;flex-direction:column;gap:12px}
.ft-ul a{font-size:.85rem;color:rgba(240,235,224,.55);transition:color var(--t)}
.ft-ul a:hover{color:var(--cream)}
.ft-disc{border-top:1px solid rgba(240,235,224,.07);padding:36px 0}
.ft-disc p{font-size:.68rem;color:rgba(240,235,224,.35);line-height:1.8;max-width:940px;margin-bottom:10px}
.ft-copy{color:rgba(240,235,224,.26)!important;margin-top:18px}

/* ── Animations ──────────────────────────────────────────── */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:1080px){
  :root{--sv:76px}
  .container{padding:0 28px}
  .hero-inner{grid-template-columns:1fr}
  .hero-body{padding:100px 0 60px;border-right:none;border-bottom:1px solid rgba(240,235,224,.07)}
  .hero-aside{flex-direction:row;flex-wrap:wrap;padding:40px 0;gap:0}
  .ha-stat{padding:20px 32px;flex:1;min-width:140px}
  .ha-rule{display:none}
  .prod-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .step-item{border-right:none;border-bottom:1px solid rgba(240,235,224,.08)}
  .phil-grid{grid-template-columns:1fr;gap:56px}
  .art-grid{grid-template-columns:repeat(2,1fr)}
  .test-grid{grid-template-columns:1fr;background:none;gap:1px}
  .test-card{border:1px solid rgba(240,235,224,.08)}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .strat-grid{grid-template-columns:1fr}
  .strat-grid--full{grid-template-columns:repeat(2,1fr)}
  .aif-grid{grid-template-columns:1fr}
  .contact-lay{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px}
  .cta-wrap{flex-direction:column;gap:36px}
  .ab-stats{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  :root{--sv:60px}
  .container{padding:0 20px}
  .nav-links{
    display:none;flex-direction:column;
    position:fixed;top:68px;left:0;right:0;
    background:rgba(240,235,224,.98);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--cream-border);
    padding:16px;gap:4px;z-index:99;box-shadow:var(--sh-lg);
  }
  .nav-links.open{display:flex}
  .nav-toggle{display:flex}
  .nav-dropdown{width:100%}
  .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:var(--cream-dark)}
  .hero-body{padding-top:72px}
  .art-grid{grid-template-columns:1fr}
  .suit-grid{grid-template-columns:1fr;background:none;gap:1px}
  .suit-item{border:1px solid rgba(240,235,224,.08)}
  .elig-grid{grid-template-columns:1fr}
  .method-grid{grid-template-columns:1fr}
  .prin-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .ab-stats{grid-template-columns:1fr}
  .comp-grid{grid-template-columns:1fr}
  .f-row{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .sec-hd-row{flex-direction:column;align-items:flex-start}
  .strat-grid--full{grid-template-columns:1fr}
  .ticker-wrap{display:none}
  .cat-grid{grid-template-columns:1fr}
}
