/* ================================================================
   CRESTFORGE WEALTH — light theme
   STEP 1: foundation (top strip, header, hero carousel, footer)
   ================================================================ */
:root{
  --navy:#0F2A4A;        /* headings, footer, dark UI */
  --navy-2:#173A63;
  --navy-3:#1E4A7C;
  --gold:#C9A253;        /* primary action */
  --gold-d:#B08B3A;      /* hover / deep gold */
  --gold-l:#F0E3C4;      /* tint */
  --ink:#22303F;         /* body text */
  --ink-2:#5A6979;       /* secondary text */
  --ink-3:#8B97A5;       /* muted */
  --line:#E3E8EF;
  --band:#F5F7FB;        /* pale section band */
  --band-2:#EDF1F7;
  --white:#FFFFFF;
  --shadow:0 8px 26px -14px rgba(15,42,74,.28);
  --shadow-lg:0 24px 60px -34px rgba(15,42,74,.42);
  --r:14px;
  --maxw:1220px;
  --pad:clamp(18px,4vw,44px);
  --f:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;font-family:var(--f);font-size:16px;line-height:1.65;color:var(--ink);
  background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{margin:0;color:var(--navy);font-weight:700;line-height:1.22;letter-spacing:-.015em}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
img[width][height]{height:auto}
.brand img{height:74px}
button,input,select{font:inherit;color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border-radius:100px;padding:13px 28px;font-size:15px;font-weight:600;
  border:2px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s,transform .18s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn-gold{background:var(--gold);color:#1E1502;box-shadow:0 10px 24px -14px rgba(176,139,58,.9)}
.btn-gold:hover{background:var(--gold-d);color:#fff;box-shadow:0 16px 32px -16px rgba(176,139,58,.95)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-3)}
.btn-out{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-out:hover{background:var(--navy);color:#fff}
.btn-sm{padding:9px 20px;font-size:14px;border-width:1.5px}

/* ================= TOP CONTACT STRIP ================= */
.topbar{background:var(--navy);color:#C9D6E6;font-size:13.5px}
.topbar-in{display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  max-width:var(--maxw);margin:0 auto;padding:9px var(--pad)}
.topbar a{display:inline-flex;align-items:center;gap:8px;transition:color .18s}
.topbar a:hover{color:#fff}
.topbar svg{flex:none;color:var(--gold)}
.topbar .hours{display:inline-flex;align-items:center;gap:8px}
.topbar .spacer{margin-left:auto}
.topbar .auth{display:flex;gap:9px}
@media (max-width:760px){
  .topbar-in{gap:14px;justify-content:center;padding:8px var(--pad)}
  .topbar .hide-sm{display:none}
  .topbar .spacer{margin:0}
}

/* ================= HEADER ================= */
.hdr{position:sticky;top:0;z-index:60;background:#fff;
  box-shadow:0 1px 0 var(--line);transition:box-shadow .25s}
.hdr.stuck{box-shadow:0 6px 22px -14px rgba(15,42,74,.35)}
.hdr-in{display:flex;align-items:center;gap:22px;
  max-width:var(--maxw);margin:0 auto;padding:12px var(--pad)}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand img{width:74px;height:74px;object-fit:contain;flex:none}
.brand b{display:block;font-size:31px;font-weight:700;color:var(--navy);
  letter-spacing:-.025em;line-height:1.1;white-space:nowrap}
.brand .motto{display:block;font-size:13px;font-weight:700;color:var(--gold-d);
  letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;margin-top:4px}
.brand .amfi{display:block;font-size:12.5px;color:var(--ink-2);letter-spacing:.01em;
  white-space:nowrap;margin-top:4px}
@media (max-width:1320px){
  .brand img{width:62px;height:62px}
  .brand b{font-size:26px}
  .brand .motto{font-size:11.5px}
  .brand .amfi{font-size:11px}
}
@media (max-width:520px){
  .brand img{width:52px;height:52px}
  .brand b{font-size:21px}
  .brand .motto{font-size:9.5px;letter-spacing:.02em}
  .brand .amfi{font-size:9.5px}
}

/* nav + dropdowns */
.nav{display:flex;align-items:center}
.nav > li{list-style:none;position:relative}
.nav ul{list-style:none;margin:0;padding:0}
.nav{margin:0;padding:0}
.nav > li > a,.nav > li > button{display:flex;align-items:center;gap:5px;
  padding:10px 12px;font-size:15px;font-weight:500;color:var(--navy);white-space:nowrap;
  background:none;border:0;cursor:pointer;border-radius:8px;transition:color .18s,background .18s}
.nav > li > a:hover,.nav > li > button:hover,.nav > li.open > button{color:var(--gold-d);background:#FAF7F0}
.nav > li > a.active{color:var(--gold-d);font-weight:600}
.caret{width:9px;height:9px;transition:transform .2s}
.nav > li.open .caret{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 6px);left:0;min-width:250px;background:#fff;
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s,transform .18s,visibility .18s;z-index:5}
.nav > li.open .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:block;padding:9px 14px;border-radius:8px;font-size:14.5px;color:var(--ink)}
.drop a:hover{background:var(--band);color:var(--navy)}
.drop .grp{padding:10px 14px 4px;font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3)}
.drop.wide{min-width:460px;columns:2;column-gap:6px}
.burger{display:none;width:46px;height:46px;border:1.5px solid var(--line);border-radius:10px;
  background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{width:19px;height:2px;background:var(--navy);border-radius:2px;transition:.25s}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1320px){
  .nav > li > a,.nav > li > button{padding:10px 10px;font-size:14.5px}
}
@media (max-width:1180px){
  .nav,.hdr-in .desk{display:none}
  .burger{display:flex}
}

/* mobile drawer */
.drawer{position:fixed;inset:0;top:0;z-index:70;background:#fff;padding:18px var(--pad) 60px;
  overflow-y:auto;display:none}
.drawer.open{display:block}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.drawer details{border-bottom:1px solid var(--line)}
.drawer details > summary,.drawer > a{display:block;padding:15px 2px;font-size:17px;
  font-weight:500;color:var(--navy);cursor:pointer;list-style:none;
  border-bottom:1px solid var(--line)}
.drawer details > summary::-webkit-details-marker{display:none}
.drawer details > summary::after{content:"+";float:right;color:var(--gold-d);font-weight:600}
.drawer details[open] > summary::after{content:"–"}
.drawer details a{display:block;padding:11px 2px 11px 16px;font-size:15px;color:var(--ink-2)}
.drawer .btn{width:100%;margin-top:18px}

/* ================= HERO CAROUSEL ================= */
.hero{position:relative;background:
  radial-gradient(900px 480px at 82% 18%,rgba(201,162,83,.14),transparent 62%),
  linear-gradient(180deg,#FAFCFF,var(--band));
  overflow:hidden}
.slides{position:relative}
.slide{display:none}
.slide.on{display:block;animation:fade .55s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.slide-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);
  align-items:center;min-height:clamp(430px,52vw,540px);
  max-width:var(--maxw);margin:0 auto;padding:clamp(38px,5vw,64px) var(--pad)}
@media (max-width:900px){.slide-in{grid-template-columns:1fr;min-height:0;text-align:center}}
.kicker{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-d);background:#fff;border:1px solid var(--gold-l);
  padding:6px 14px;border-radius:100px;margin-bottom:18px}
.slide h1,.slide .ttl{font-size:clamp(29px,4.3vw,50px);letter-spacing:-.03em}
.slide h1 em,.slide .ttl em{font-style:normal;color:var(--gold-d)}
.slide p.sub{margin-top:18px;font-size:clamp(15.5px,1.35vw,17.5px);color:var(--ink-2);max-width:52ch}
@media (max-width:900px){.slide p.sub{margin-left:auto;margin-right:auto}}
.slide-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
@media (max-width:900px){.slide-cta{justify-content:center}}

/* image slot */
.shot{position:relative;aspect-ratio:3/2;border-radius:20px;overflow:hidden;
  background:linear-gradient(150deg,#E9EFF7,#DCE5F0);border:1px solid var(--line);
  box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot .ph{text-align:center;color:#8494A8;font-size:13px;padding:22px;line-height:1.6}
.shot .ph strong{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-d);margin-bottom:8px}
.shot-wrap{position:relative}
.blob{position:absolute;border-radius:50%;z-index:0}
.blob.a{width:120px;height:120px;background:rgba(201,162,83,.22);right:-26px;top:-26px}
.blob.b{width:66px;height:66px;border:8px solid rgba(15,42,74,.11);left:-38px;bottom:-16px;background:none}
.dots-deco{position:absolute;left:-34px;top:-18px;width:88px;height:88px;z-index:0;
  background-image:radial-gradient(rgba(15,42,74,.2) 1.6px,transparent 1.6px);
  background-size:11px 11px}
@media (max-width:900px){.blob,.dots-deco{display:none}}

/* carousel controls */
.dots{display:flex;gap:9px;justify-content:center;padding:0 0 26px}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:#C3CEDC;cursor:pointer;
  padding:0;transition:width .25s,background .25s}
.dots button[aria-current="true"]{width:28px;border-radius:5px;background:var(--gold)}
.dots button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.arw{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--navy);z-index:4;
  transition:background .2s,color .2s}
.arw:hover{background:var(--navy);color:#fff}
.arw.prev{left:max(10px,calc((100vw - var(--maxw))/2 - 16px))}
.arw.next{right:max(10px,calc((100vw - var(--maxw))/2 - 16px))}
@media (max-width:1000px){.arw{display:none}}

/* ================= FOOTER ================= */
.ftr{background:var(--navy);color:#B7C6D8;font-size:14.5px}
.ftr-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(22px,3vw,46px);
  padding:clamp(44px,6vw,68px) 0 40px}
@media (max-width:940px){.ftr-main{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr-main{grid-template-columns:1fr}}
.ftr h4{color:#fff;font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:600;margin-bottom:16px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr a:hover{color:var(--gold)}
.ftr-logo{width:200px;height:auto;margin:-6px 0 18px -4px}
.ftr .contact-li{display:flex;gap:10px;align-items:flex-start}
.ftr .contact-li svg{flex:none;color:var(--gold);margin-top:4px}
.regs{display:flex;flex-wrap:wrap;gap:10px 32px;padding:20px 0;
  border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);
  font-size:13.5px}
.regs b{color:#fff;font-weight:600}
.disc{padding:22px 0;font-size:12.5px;line-height:1.62;color:#8FA0B4}
.disc b{color:#C3D2E2}
.ftr-bot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:16px 0 26px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px}

/* build-progress note — remove when the page is complete */
.wip{background:var(--gold-l);border-top:2px solid var(--gold);padding:26px var(--pad);
  text-align:center;color:#6B5215;font-size:14.5px}
.wip b{color:#4A390E}
/* ================================================================
   ABOUT PAGE
   ================================================================ */
.sec{padding:clamp(48px,6vw,84px) 0}
.sec.band{background:var(--band)}
.sec-h{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.sec-h.center{text-align:center}
.lead{font-size:clamp(15.5px,1.3vw,17px);color:var(--ink-2)}
.rule-s{display:block;width:56px;height:4px;border-radius:4px;background:var(--gold);margin:14px 0 26px}
.rule-s.center{margin-left:auto;margin-right:auto}

/* page banner card */
.pagehero{padding:clamp(26px,4vw,48px) 0 0}
.pagehero-card{background:var(--navy);border-radius:22px;color:#fff;position:relative;
  overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(20px,3vw,44px);
  align-items:center;padding:clamp(30px,4.4vw,58px)}
@media (max-width:880px){.pagehero-card{grid-template-columns:1fr;text-align:center}}
.pagehero-card::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,83,.20),transparent 66%)}
.pagehero-card h1{color:#fff;font-size:clamp(28px,4vw,46px);position:relative;z-index:2}
.pagehero-card p{margin-top:18px;color:#C3D2E4;font-size:clamp(15px,1.3vw,17px);
  position:relative;z-index:2;max-width:54ch}
@media (max-width:880px){.pagehero-card p{margin-left:auto;margin-right:auto}}
.pagehero-art{position:relative;z-index:2}
.crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ink-3);
  padding:16px 0 0}
.pagehero + .sec{padding-top:clamp(28px,3vw,44px)}
.crumb a:hover{color:var(--gold-d)}
.crumb span{color:var(--navy);font-weight:500}

/* prose */
.prose{max-width:none}
.prose p{font-size:16.5px;line-height:1.78;color:var(--ink-2)}
.prose p+p{margin-top:16px}
.prose h3{font-size:clamp(19px,2.1vw,24px);margin:34px 0 12px;color:var(--navy)}
.prose h3:first-child{margin-top:0}
.prose ul{margin:14px 0 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
@media (max-width:700px){.prose ul{grid-template-columns:1fr}}
.prose li{position:relative;padding-left:28px;font-size:16px;color:var(--ink-2)}
.prose li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;
  border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(201,162,83,.18)}

/* who we serve chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chip{background:#fff;border:1px solid var(--line);border-radius:100px;padding:9px 18px;
  font-size:14.5px;font-weight:500;color:var(--navy);box-shadow:var(--shadow)}
.chip-note{margin-top:16px;font-size:13.5px;color:var(--ink-3)}

/* philosophy strip */
.philos{margin-top:36px;background:var(--navy);border-radius:20px;color:#fff;
  padding:clamp(28px,3.4vw,46px) clamp(26px,3.4vw,52px);position:relative;overflow:hidden}
.philos::before{content:"";position:absolute;width:620px;height:620px;right:-200px;top:-260px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,83,.22),transparent 65%)}
.philos-in{position:relative;display:grid;grid-template-columns:1.12fr .88fr;
  gap:clamp(24px,3.4vw,48px);align-items:center}
@media (max-width:860px){.philos-in{grid-template-columns:1fr;gap:22px}}
.philos b{display:block;font-size:clamp(20px,2.6vw,31px);font-weight:700;
  line-height:1.34;letter-spacing:-.015em}
.philos b em{font-style:normal;color:var(--gold)}
.philos-r{border-left:3px solid var(--gold);padding-left:clamp(20px,2.4vw,32px)}
@media (max-width:860px){.philos-r{border-left:0;border-top:3px solid var(--gold);
  padding:20px 0 0}}
.philos p{color:#C3D2E4;font-size:16px;line-height:1.72}

/* founder */
.founder{display:grid;grid-template-columns:340px 1fr;gap:clamp(24px,4vw,52px);align-items:start}
@media (max-width:880px){.founder{grid-template-columns:1fr}}
.portrait{aspect-ratio:4/5;border-radius:18px;border:1px solid var(--line);overflow:hidden;
  background:linear-gradient(160deg,#E9EFF7,#DCE5F0);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#8494A8;font-size:13px;padding:20px;
  box-shadow:var(--shadow-lg);position:sticky;top:150px}
@media (max-width:880px){.portrait{position:static;max-width:320px;margin:0 auto}}
.portrait strong{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-d);margin-bottom:8px}
.founder-name{font-size:clamp(22px,2.6vw,29px)}
.founder-role{color:var(--gold-d);font-weight:600;font-size:14.5px;margin-top:6px;
  letter-spacing:.02em}

/* vision + mission */
.vm-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);align-items:center}
.vm-row + .vm-row{margin-top:clamp(40px,5vw,76px)}
@media (max-width:880px){
  .vm-row{grid-template-columns:1fr;gap:26px}
  .vm-row.rev .vm-img{order:-1}
}
.vm-img{margin:0 auto;border-radius:20px;overflow:hidden;border:1px solid var(--line);
  background:#F4F2EC;box-shadow:var(--shadow-lg);max-width:470px;width:100%}
.vm-img img{width:100%;height:auto;display:block}
.vm-ico{width:56px;height:56px;border-radius:16px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;
  color:var(--gold-d);margin-bottom:16px}
.vm-copy h3{font-size:clamp(22px,2.5vw,29px)}
.vm-copy .rule-s{margin:12px 0 16px}
.vm-copy p{color:var(--ink-2);font-size:clamp(16px,1.4vw,17.5px);line-height:1.78}

/* process band */
.process{background:var(--navy);color:#C3D2E4}
.process h2,.process h3{color:#fff}
.process .lead{color:#AFC0D4}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:clamp(14px,1.8vw,22px);margin-top:40px}
.step{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);
  border-radius:16px;padding:26px 24px 28px;transition:background .22s,transform .22s,border-color .22s}
.step:hover{background:rgba(255,255,255,.09);border-color:rgba(201,162,83,.45);transform:translateY(-4px)}
.step .n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:12px;background:var(--gold);color:#1E1502;font-weight:700;font-size:16px;
  margin-bottom:18px}
.step h3{font-size:19px}
.step p{margin-top:10px;font-size:14.8px;line-height:1.66;color:#AFC0D4}
.step .btn{margin-top:18px}

/* why cards */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(14px,1.8vw,22px);margin-top:40px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;
  box-shadow:var(--shadow);transition:transform .22s,box-shadow .22s}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.why-ico{width:52px;height:52px;border-radius:14px;background:#FAF6EC;border:1px solid var(--gold-l);
  display:flex;align-items:center;justify-content:center;color:var(--gold-d);margin-bottom:18px}
.why-card h3{font-size:18.5px}
.why-card p{margin-top:9px;font-size:15px;color:var(--ink-2);line-height:1.66}

/* credentials strip */
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  margin-top:40px}
.cred{background:#fff;padding:24px}
.cred b{display:block;font-size:20px;color:var(--navy);letter-spacing:-.01em}
.cred span{display:block;font-size:13px;color:var(--ink-3);margin-top:5px;
  text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* cta band */
.ctaband{background:linear-gradient(120deg,#FAF6EC,#F5F7FB);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);text-align:center}
.ctaband h2{font-size:clamp(24px,3vw,34px)}
.ctaband p{margin-top:12px;color:var(--ink-2);max-width:58ch;margin-left:auto;margin-right:auto}
.ctaband .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}

/* five process steps across on wide screens (no orphan card) */
@media (min-width:1080px){ .steps{grid-template-columns:repeat(5,1fr)} }
@media (min-width:700px) and (max-width:1079px){ .steps{grid-template-columns:repeat(3,1fr)} }

/* ================================================================
   SERVICES PAGE
   ================================================================ */
.kicker-dark{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,162,83,.45);
  background:rgba(201,162,83,.10);padding:6px 15px;border-radius:100px;margin-bottom:18px;
  position:relative;z-index:2}

/* two-column section intro */
.svc-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);
  align-items:start;margin-bottom:clamp(30px,4vw,52px)}
@media (max-width:820px){.svc-head{grid-template-columns:1fr;gap:16px}}
.svc-head h2{font-size:clamp(28px,3.8vw,44px)}
.svc-head p{font-size:16.5px;line-height:1.75;color:var(--ink-2)}
.svc-head p+p{margin-top:14px}

/* lined grid, four across */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:18px;overflow:hidden}
@media (max-width:1100px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.svc-grid{grid-template-columns:1fr}}
.svc{background:#fff;padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column;
  transition:background .22s ease}
.svc:hover{background:#FCFAF4}
.svc-art{height:96px;display:flex;align-items:flex-end;margin-bottom:20px}
.svc-art svg{width:auto;height:88px;overflow:visible}
.svc h3{font-size:19px;line-height:1.3}
.svc p{margin-top:12px;font-size:15px;line-height:1.7;color:var(--ink-2);flex:1}
.svc .more{margin-top:20px;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;background:#FAF6EC;border:1px solid var(--gold-l);
  color:var(--gold-d);transition:background .22s,color .22s,transform .22s}
.svc:hover .more{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateX(4px)}
.svc-fill{background:#fff;display:none}
@media (min-width:821px){.svc-fill{display:block}}
.svc-note{margin-top:34px;background:var(--band);border:1px solid var(--line);border-radius:14px;
  padding:22px 26px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.svc-note b{color:var(--navy)}

/* ================================================================
   SERVICE DETAIL PAGES
   ================================================================ */
.art{max-width:900px}
.art h2{font-size:clamp(21px,2.4vw,28px);margin-top:40px}
.art h2:first-child{margin-top:0}
.art h2+.rule-s{margin:12px 0 18px}
.art p{font-size:16.5px;line-height:1.78;color:var(--ink-2)}
.art p+p{margin-top:15px}
.art ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:11px}
.art li{position:relative;padding-left:30px;font-size:16px;line-height:1.72;color:var(--ink-2)}
.art li::before{content:"";position:absolute;left:0;top:.66em;width:9px;height:9px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px rgba(201,162,83,.18)}
.art li b{color:var(--navy)}
.art .callout{margin-top:24px;background:var(--band);border-left:4px solid var(--gold);
  border-radius:0 14px 14px 0;padding:20px 24px;font-size:15px;line-height:1.72;color:var(--ink-2)}
.art .callout b{color:var(--navy)}
.art table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px}
.art th,.art td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);
  vertical-align:top}
.art th{background:var(--band);color:var(--navy);font-weight:600;font-size:13.5px;
  letter-spacing:.03em;text-transform:uppercase}
.art td b{color:var(--navy)}

/* contact block above the article */
.contact-block{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);flex-wrap:wrap;
  background:var(--navy);border-radius:18px;padding:clamp(22px,2.6vw,30px) clamp(24px,3vw,36px);
  margin-bottom:clamp(30px,4vw,46px);position:relative;overflow:hidden}
.contact-block::before{content:"";position:absolute;width:420px;height:420px;right:-150px;top:-190px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,83,.20),transparent 66%);
  pointer-events:none}
.contact-block h3{color:#fff;font-size:21px;position:relative;z-index:2;margin-right:auto}
.contact-block h3 span{display:block;font-size:14px;font-weight:400;color:#A9BDD4;margin-top:5px}
.contact-block .cb-li{display:inline-flex;align-items:center;gap:10px;color:#DCE6F2;
  font-size:15.5px;font-weight:500;position:relative;z-index:2;white-space:nowrap}
.contact-block .cb-li svg{flex:none;color:var(--gold)}
.contact-block .cb-li a:hover{color:#fff}
.contact-block .btn{position:relative;z-index:2}
@media (max-width:820px){
  .contact-block{gap:14px}
  .contact-block h3{margin-right:0;width:100%}
  .contact-block .cb-li{white-space:normal}
  .contact-block .btn{width:100%}
}

/* ================================================================
   CALCULATORS
   ================================================================ */
.calc{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--line);
  border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
@media (max-width:900px){.calc{grid-template-columns:1fr}}
.calc-in{padding:clamp(24px,3vw,36px);background:#fff}
.calc-out{padding:clamp(24px,3vw,36px);background:var(--navy);color:#C3D2E4;
  position:relative;overflow:hidden}
.calc-out::before{content:"";position:absolute;width:420px;height:420px;right:-170px;top:-200px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,83,.22),transparent 66%);
  pointer-events:none}
.calc-out h3{color:#fff;font-size:19px;position:relative;z-index:2}

.fld{margin-bottom:26px;position:relative}
.fld:last-child{margin-bottom:0}
.fld label{display:block;font-size:15px;font-weight:500;color:var(--navy);margin-bottom:12px;
  line-height:1.5}
.fld .val{display:inline-block;background:#FAF6EC;border:1px solid var(--gold-l);border-radius:8px;
  padding:5px 12px;font-size:16px;font-weight:600;color:var(--gold-d);margin-bottom:12px;
  font-variant-numeric:tabular-nums;min-width:96px;text-align:center}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;
  background:#E3E8EF;outline:none;cursor:pointer;display:block}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;
  border-radius:50%;background:linear-gradient(180deg,#D8B468,#B08B3A);border:3px solid #fff;
  box-shadow:0 2px 8px rgba(15,42,74,.35);cursor:grab}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;
  background:linear-gradient(180deg,#D8B468,#B08B3A);border:3px solid #fff;cursor:grab}
input[type=range]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.ticks{display:flex;justify-content:space-between;margin-top:9px;font-size:11.5px;color:var(--ink-3);
  font-variant-numeric:tabular-nums}
.numfld input[type=number]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;
  font-size:16px;background:#fff;font-variant-numeric:tabular-nums}
.numfld input[type=number]:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,83,.16)}

.res{position:relative;z-index:2;margin-top:22px}
.res-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.res-item:last-child{border-bottom:0}
.res-item .k{font-size:13.5px;color:#A9BDD4;letter-spacing:.02em}
.res-item .v{font-family:var(--f);font-size:clamp(24px,3vw,32px);font-weight:700;color:#fff;
  margin-top:6px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.res-item.primary{background:rgba(201,162,83,.14);border:1px solid rgba(201,162,83,.4);
  border-radius:14px;padding:20px 22px;margin-bottom:6px}
.res-item.primary .k{color:var(--gold)}
.res-item.primary .v{font-size:clamp(28px,3.6vw,40px);color:var(--gold)}
.calc-note{position:relative;z-index:2;margin-top:22px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;line-height:1.62;color:#8FA0B4}

/* calculator index */
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:0;
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  margin-top:8px}
.calc-card{background:#fff;padding:26px 24px;display:flex;flex-direction:column;gap:10px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transition:background .2s}
.calc-card:hover{background:#FCFAF4}
.calc-card .ci{width:48px;height:48px;border-radius:14px;background:#FAF6EC;
  border:1px solid var(--gold-l);display:flex;align-items:center;justify-content:center;
  color:var(--gold-d);margin-bottom:6px}
.calc-card:hover .ci{background:var(--gold);color:#fff;border-color:var(--gold)}
.calc-card h3{font-size:17.5px;line-height:1.32}
.calc-card p{font-size:14px;color:var(--ink-2);line-height:1.62;flex:1}
.calc-card .go{font-size:13.5px;font-weight:600;color:var(--gold-d)}

/* ================================================================
   GOAL WIZARD
   ================================================================ */
.wiz{border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);
  background:#fff}
.wiz-steps{display:flex;background:var(--band);border-bottom:1px solid var(--line);
  overflow-x:auto}
.wiz-steps div{flex:1;min-width:130px;padding:16px 14px;text-align:center;font-size:13.5px;
  font-weight:500;color:var(--ink-3);position:relative;white-space:nowrap}
.wiz-steps div .n{display:inline-flex;align-items:center;justify-content:center;width:24px;
  height:24px;border-radius:50%;background:#DDE4EE;color:#fff;font-size:12.5px;font-weight:600;
  margin-right:8px}
.wiz-steps div.on{color:var(--navy);font-weight:600}
.wiz-steps div.on .n{background:var(--gold);color:#1E1502}
.wiz-steps div.done .n{background:var(--navy);color:#fff}
.wiz-body{padding:clamp(24px,3vw,38px)}
.wiz-pane{display:none}
.wiz-pane.on{display:block}
.wiz-pane h3{font-size:clamp(19px,2.2vw,24px)}
.wiz-pane .hint{font-size:14.5px;color:var(--ink-2);margin-top:8px;margin-bottom:24px}
.wiz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(18px,2.4vw,32px)}
.wiz-nav{display:flex;gap:12px;justify-content:space-between;padding:22px clamp(24px,3vw,38px);
  border-top:1px solid var(--line);background:var(--band);flex-wrap:wrap}
.wiz-nav .spacer{flex:1}

/* risk questions */
.q{margin-bottom:26px}
.q p{font-size:16px;font-weight:500;color:var(--navy);margin-bottom:12px;line-height:1.5}
.q .opts{display:grid;gap:8px}
.q label{display:flex;align-items:flex-start;gap:11px;padding:12px 15px;border:1px solid var(--line);
  border-radius:12px;font-size:15px;color:var(--ink-2);cursor:pointer;transition:.16s;
  line-height:1.55}
.q label:hover{border-color:var(--gold-l);background:#FCFAF4}
.q input[type=radio]{accent-color:var(--gold-d);margin-top:3px;flex:none;width:17px;height:17px}
.q input[type=radio]:checked + span{color:var(--navy);font-weight:500}
.q label:has(input:checked){border-color:var(--gold);background:#FAF6EC}

/* summary */
.sum{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:16px;overflow:hidden;
  border:1px solid var(--line)}
@media (max-width:760px){.sum{grid-template-columns:1fr}}
.sum-l{background:var(--navy);color:#C3D2E4;padding:clamp(24px,3vw,32px);position:relative;
  overflow:hidden}
.sum-l::before{content:"";position:absolute;width:400px;height:400px;right:-160px;top:-190px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,83,.22),transparent 66%)}
.sum-l h4{color:var(--gold);font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  position:relative;z-index:2}
.sum-l .big{font-size:clamp(30px,4vw,42px);font-weight:700;color:#fff;margin-top:10px;
  line-height:1.1;position:relative;z-index:2;font-variant-numeric:tabular-nums}
.sum-l .sub{font-size:14.5px;margin-top:12px;position:relative;z-index:2;line-height:1.65}
.sum-r{background:#fff;padding:clamp(20px,2.4vw,28px)}
.sum-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;
  border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.sum-row:last-child{border-bottom:0}
.sum-row b{color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.riskpill{display:inline-block;margin-top:14px;background:#FAF6EC;border:1px solid var(--gold-l);
  color:var(--gold-d);border-radius:100px;padding:7px 16px;font-size:13.5px;font-weight:600}

/* goal cards */
.goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:0;
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:8px}
.goal-card{background:#fff;padding:28px 26px;display:flex;flex-direction:column;gap:11px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.goal-card:hover{background:#FCFAF4}
.goal-card .gi{width:60px;height:60px;border-radius:16px;background:#FAF6EC;
  border:1px solid var(--gold-l);display:flex;align-items:center;justify-content:center;
  color:var(--gold-d);margin-bottom:6px;transition:.2s}
.goal-card:hover .gi{background:var(--gold);color:#fff;border-color:var(--gold)}
.goal-card h3{font-size:19px}
.goal-card p{font-size:14.5px;color:var(--ink-2);line-height:1.65;flex:1}
.goal-card .go{font-size:14px;font-weight:600;color:var(--gold-d)}

/* ================================================================
   HOME PAGE SECTIONS
   ================================================================ */
.about-home{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,4vw,64px);
  align-items:center}
@media (max-width:900px){.about-home{grid-template-columns:1fr}}
.about-art{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#F4F2EC;
  box-shadow:var(--shadow-lg)}
.about-art img{width:100%;height:auto;display:block}
.about-home h2{font-size:clamp(26px,3.4vw,40px)}
.about-home p{color:var(--ink-2);font-size:16.5px;line-height:1.78;margin-top:16px}
.about-home .btn{margin-top:26px}

/* trust row */
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(14px,1.8vw,22px);margin-top:44px}
.trust-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 24px;
  box-shadow:var(--shadow);transition:transform .22s,box-shadow .22s}
.trust-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.trust-ico{width:52px;height:52px;border-radius:14px;background:#FAF6EC;border:1px solid var(--gold-l);
  display:flex;align-items:center;justify-content:center;color:var(--gold-d);margin-bottom:18px}
.trust-card h3{font-size:18px}
.trust-card p{margin-top:9px;font-size:14.5px;color:var(--ink-2);line-height:1.65}

/* asset comparison */
.cmp{margin-top:40px}
.cmp-in{max-width:520px;margin:0 auto 34px;text-align:center}
.cmp-in label{display:block;font-size:15px;font-weight:500;color:var(--navy);margin-bottom:12px}
.cmp-in .val{display:inline-block;background:#FAF6EC;border:1px solid var(--gold-l);
  border-radius:10px;padding:8px 18px;font-size:20px;font-weight:700;color:var(--gold-d);
  margin-bottom:14px;font-variant-numeric:tabular-nums}
.cmp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.4vw,18px)}
@media (max-width:1000px){.cmp-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.cmp-grid{grid-template-columns:repeat(2,1fr)}}
.cmp-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 18px;
  text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.cmp-card.best{background:var(--navy);border-color:var(--navy);box-shadow:var(--shadow-lg)}
.cmp-card .nm{font-size:14.5px;font-weight:600;color:var(--navy)}
.cmp-card.best .nm{color:#fff}
.cmp-card .rt{font-size:12.5px;color:var(--ink-3);letter-spacing:.04em}
.cmp-card.best .rt{color:var(--gold)}
.cmp-card .amt{font-size:clamp(19px,2.2vw,25px);font-weight:700;color:var(--navy);margin-top:8px;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cmp-card.best .amt{color:var(--gold)}
.cmp-card .bar{height:5px;border-radius:5px;background:#E9EEF5;margin-top:12px;overflow:hidden}
.cmp-card .bar i{display:block;height:100%;border-radius:5px;background:var(--navy-3);
  transition:width .5s cubic-bezier(.3,.8,.3,1)}
.cmp-card.best .bar{background:rgba(255,255,255,.16)}
.cmp-card.best .bar i{background:var(--gold)}

/* callback band */
.callback{background:var(--navy);border-radius:22px;padding:clamp(28px,4vw,52px);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px);align-items:center;
  position:relative;overflow:hidden}
@media (max-width:900px){.callback{grid-template-columns:1fr}}
.callback::before{content:"";position:absolute;width:560px;height:560px;right:-200px;top:-240px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,83,.22),transparent 66%);
  pointer-events:none}
.callback h2{color:#fff;font-size:clamp(25px,3.2vw,38px);position:relative;z-index:2}
.callback p{color:#A9BDD4;margin-top:14px;font-size:16px;line-height:1.7;position:relative;z-index:2}
.cb-form{position:relative;z-index:2;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:clamp(20px,2.6vw,28px);
  display:grid;gap:12px}
.cb-form input,.cb-form select{width:100%;padding:13px 15px;border-radius:10px;
  border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font-size:15.5px}
.cb-form input::placeholder{color:#8FA0B4}
.cb-form select option{color:#16233A}
.cb-form input:focus,.cb-form select:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,83,.2)}
.cb-form .btn{width:100%;justify-content:center;margin-top:4px}
.cb-form .fine{font-size:12px;color:#8FA0B4;line-height:1.6}

/* app strip */
.app{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,60px);align-items:center}
@media (max-width:900px){.app{grid-template-columns:1fr;text-align:center}}
.app h2{font-size:clamp(25px,3.2vw,38px)}
.app p{color:var(--ink-2);margin-top:14px;font-size:16.5px;line-height:1.75}
.store-row{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
@media (max-width:900px){.store-row{justify-content:center}}
.store{display:inline-flex;align-items:center;gap:11px;background:#000;color:#fff;
  border-radius:12px;padding:12px 20px;transition:.2s}
.store:hover{background:#1B1B1B;transform:translateY(-2px)}
.store svg{flex:none;color:#fff}
.store .tx>span{display:block;font-size:9.5px;color:#D6D6D6;letter-spacing:.04em;text-transform:uppercase}
.store b{text-transform:none}
.store b{display:block;font-size:16px;font-weight:600;margin-top:0;letter-spacing:-.01em}
.phone-art{display:flex;justify-content:center}
.appshot{width:100%;max-width:560px;background:linear-gradient(158deg,#F3F6FA 0%,#E7EDF5 100%);
  border:1px solid var(--line);border-radius:26px;padding:26px 18px 0;overflow:hidden;
  line-height:0}
.appshot svg{display:block;margin-bottom:-26px}
@media (max-width:900px){.appshot{max-width:460px;margin:0 auto}}
.phone{width:min(260px,80%);aspect-ratio:9/17;border-radius:32px;background:var(--navy);
  border:8px solid #1B3557;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;
  color:#8FA0B4;font-size:12.5px;line-height:1.6}
.phone strong{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px}

/* blog + news */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:40px}
@media (max-width:900px){.post-grid{grid-template-columns:1fr}}
.post{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .22s,box-shadow .22s}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.post .thumb{aspect-ratio:16/9;background:linear-gradient(150deg,#E9EFF7,#DCE5F0);
  display:flex;align-items:center;justify-content:center;color:#8494A8;font-size:12px;
  border-bottom:1px solid var(--line);text-align:center;padding:14px}
.post .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.post .date{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);
  font-weight:600}
.post h3{font-size:18px;line-height:1.36}
.post p{font-size:14.5px;color:var(--ink-2);line-height:1.65;flex:1}
.post .more{font-size:14px;font-weight:600;color:var(--gold-d)}
.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:40px}
@media (max-width:900px){.news-list{grid-template-columns:1fr}}
.news{background:#fff;padding:26px 24px;display:flex;flex-direction:column;gap:9px;
  transition:background .2s}
.news:hover{background:#FCFAF4}
.news .date{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);
  font-weight:600}
.news h3{font-size:17px;line-height:1.4}
.news p{font-size:14.5px;color:var(--ink-2);line-height:1.62}

/* AMC logos */
/* AMC logo marquee */
.amc-marquee{position:relative;overflow:hidden;margin-top:22px;
  border:1px solid var(--line);border-radius:16px;background:#fff;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.amc-marquee + .amc-marquee{margin-top:14px}
.amc-track{display:flex;width:max-content;will-change:transform;
  animation:amc-scroll 70s linear infinite}
.amc-track.rev{animation-direction:reverse}
.amc-marquee:hover .amc-track,
.amc-marquee:focus-within .amc-track{animation-play-state:paused}
@keyframes amc-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.amc-item{flex:0 0 auto;width:clamp(150px,15vw,196px);height:clamp(74px,7vw,96px);
  display:flex;align-items:center;justify-content:center;padding:14px 22px}
.amc-item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media (prefers-reduced-motion:reduce){
  .amc-track{animation:none}
  .amc-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* ================================================================
   CONTACT · FAQ · LEGAL PAGES
   ================================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4vw,60px);
  align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;margin-top:26px}
.contact-row{background:#fff;display:flex;gap:16px;padding:22px 24px;align-items:flex-start}
.contact-row .ci{width:44px;height:44px;border-radius:12px;background:#FAF6EC;
  border:1px solid var(--gold-l);display:flex;align-items:center;justify-content:center;
  color:var(--gold-d);flex:none}
.contact-row b{display:block;font-size:16.5px;color:var(--navy);font-weight:600}
.contact-row span{display:block;font-size:15px;color:var(--ink-2);margin-top:3px;line-height:1.6}
.contact-row a:hover{color:var(--gold-d)}
.cform{background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:clamp(24px,3vw,34px);box-shadow:var(--shadow)}
.cform h3{font-size:21px}
.cform .f{margin-top:18px}
.cform label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
.cform input,.cform select,.cform textarea{width:100%;padding:13px 15px;border-radius:10px;
  border:1px solid var(--line);background:#fff;font-size:15.5px;font-family:inherit}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,83,.16)}
.cform textarea{min-height:110px;resize:vertical}
.cform .btn{width:100%;justify-content:center;margin-top:22px}
.cform .fine{font-size:12px;color:var(--ink-3);margin-top:14px;line-height:1.6}

/* FAQ — native details, no JS */
.faq-list{max-width:900px;margin-top:8px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-size:clamp(16.5px,1.8vw,19px);font-weight:600;color:var(--navy);line-height:1.45}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{color:var(--gold-d)}
.faq-list summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;
  margin-top:-7px;border-right:2px solid var(--gold-d);border-bottom:2px solid var(--gold-d);
  transform:rotate(45deg);transition:transform .22s}
.faq-list details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq-list .ans{padding:0 0 24px}
.faq-list .ans p{font-size:16px;line-height:1.75;color:var(--ink-2)}
.faq-list .ans p+p{margin-top:13px}
.faq-list .ans ul{margin:13px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.faq-list .ans li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.7;
  color:var(--ink-2)}
.faq-list .ans li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;
  border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,83,.18)}
.faq-cat{margin-top:44px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-d);font-weight:600}
.faq-cat:first-of-type{margin-top:0}

/* legal prose */
.legal{max-width:860px}
.legal .updated{display:inline-block;background:var(--band);border:1px solid var(--line);
  border-radius:100px;padding:7px 16px;font-size:13px;color:var(--ink-2);margin-bottom:30px}
.legal h2{font-size:clamp(19px,2.1vw,24px);margin-top:38px}
.legal h2:first-of-type{margin-top:0}
.legal h2+.rule-s{margin:12px 0 16px}
.legal p{font-size:16px;line-height:1.78;color:var(--ink-2)}
.legal p+p,.legal ul+p,.legal ol+p,.legal .box+p,.legal .table-wrap+p{margin-top:16px}
.legal ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.legal li{position:relative;padding-left:28px;font-size:15.5px;line-height:1.72;color:var(--ink-2)}
.legal li::before{content:"";position:absolute;left:0;top:.64em;width:8px;height:8px;
  border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,83,.18)}
.legal li b,.legal p b{color:var(--navy)}
.legal .box{margin-top:22px;background:var(--band);border-left:4px solid var(--gold);
  border-radius:0 14px 14px 0;padding:20px 24px;font-size:15px;line-height:1.72;color:var(--ink-2)}
.legal .box b{color:var(--navy)}
.step-list{counter-reset:s;display:grid;gap:16px;margin-top:22px}
.step-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 26px;
  box-shadow:var(--shadow);display:flex;gap:18px;align-items:flex-start}
.step-item .num{flex:none;width:40px;height:40px;border-radius:12px;background:var(--navy);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
.step-item h3{font-size:18px}
.step-item p{margin-top:8px;font-size:15.5px;line-height:1.7;color:var(--ink-2)}
.step-item a{color:var(--gold-d);font-weight:600}

/* thank-you page */
.ty{min-height:64vh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(48px,8vw,90px) var(--pad)}
.ty-in{max-width:600px}
.ty-mark{width:88px;height:88px;border-radius:50%;background:#FAF6EC;border:1px solid var(--gold-l);
  display:flex;align-items:center;justify-content:center;margin:0 auto 28px;color:var(--gold-d)}
.ty h1{font-size:clamp(28px,4vw,44px)}
.ty p{margin-top:18px;color:var(--ink-2);font-size:17px;line-height:1.75}
.ty .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* centred reading column for legal, faq and step pages */
.narrow{max-width:940px;margin-left:auto;margin-right:auto}
.legal{margin-left:auto;margin-right:auto}
.step-list{margin-left:auto;margin-right:auto}

.regs .regs-addr{flex-basis:100%;color:var(--ink-3);font-weight:400;line-height:1.6;max-width:70ch}

/* commission disclosure rate table */
.table-wrap{margin-top:22px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;
  background:#fff}
.rate-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:620px}
.rate-table caption{caption-side:top;text-align:left;padding:18px 20px 14px;font-size:13.5px;
  color:var(--ink-3);line-height:1.6}
.rate-table th,.rate-table td{padding:12px 16px;text-align:right;
  border-top:1px solid var(--line)}
.rate-table thead th{background:var(--band);color:var(--navy);font-weight:600;font-size:13px;
  letter-spacing:.02em;text-transform:uppercase;border-top:none}
.rate-table th[scope="row"]{text-align:left;font-weight:500;color:var(--navy)}
.rate-table thead th:first-child{text-align:left}
.rate-table tbody tr:hover{background:#FCFDFE}
.rate-table .na{color:var(--ink-3)}

/* ================================================================
   RISK PROFILER
   ================================================================ */
.rp-wrap{max-width:860px;margin:0 auto}
.rp-intro{background:var(--band);border:1px solid var(--line);border-radius:16px;
  padding:clamp(20px,3vw,28px);margin-bottom:clamp(26px,3.4vw,38px)}
.rp-intro h3{font-size:17px;color:var(--navy)}
.rp-intro p{margin-top:10px;font-size:15.5px;line-height:1.75;color:var(--ink-2)}
.rp-intro ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.rp-intro li{position:relative;padding-left:26px;font-size:15px;line-height:1.7;color:var(--ink-2)}
.rp-intro li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;
  border-radius:2px;background:var(--gold)}

/* sticky progress */
.rp-bar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
  padding:13px 0;margin-bottom:clamp(22px,3vw,32px)}
.rp-bar-in{max-width:860px;margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;gap:16px}
.rp-bar-track{flex:1;height:7px;border-radius:4px;background:var(--line);overflow:hidden}
.rp-bar-track i{display:block;height:100%;border-radius:4px;
  background:linear-gradient(90deg,var(--gold-d),var(--gold));width:0;transition:width .3s ease}
.rp-bar-txt{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}

/* questions */
.rp-group{font-size:clamp(19px,2.2vw,24px);color:var(--navy);margin-top:clamp(30px,3.6vw,44px)}
.rp-group:first-of-type{margin-top:0}
.rp-group+.rule-s{margin:12px 0 20px}
.rp-q{border:1px solid var(--line);border-radius:16px;padding:clamp(20px,2.6vw,26px);
  margin:0 0 16px;background:#fff;transition:border-color .18s,box-shadow .18s}
.rp-q.done{border-color:var(--gold-l);box-shadow:0 2px 12px rgba(15,42,74,.05)}
.rp-q.missing{border-color:#C0554A;box-shadow:0 0 0 3px rgba(192,85,74,.12)}
.rp-q legend{float:left;width:100%;display:flex;gap:12px;align-items:flex-start;
  font-size:16.5px;font-weight:600;color:var(--navy);line-height:1.5;padding:0}
.rp-q::after{content:"";display:block;clear:both}
.rp-n{flex:none;width:26px;height:26px;border-radius:8px;background:var(--navy);color:#fff;
  font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;
  margin-top:1px}
.rp-q.done .rp-n{background:var(--gold-d)}
.rp-help{margin:10px 0 0 38px;font-size:13.5px;line-height:1.65;color:var(--ink-3)}
.rp-opts{margin:16px 0 0 38px;display:grid;gap:8px}
.rp-opts input{position:absolute;opacity:0;width:0;height:0}
.rp-opts label{display:block;padding:12px 16px;border:1px solid var(--line);border-radius:10px;
  font-size:15px;color:var(--ink-2);cursor:pointer;transition:.15s;line-height:1.5}
.rp-opts label:hover{border-color:var(--gold);background:#FCFAF4}
.rp-opts input:checked+label{border-color:var(--gold-d);background:#FAF6EC;color:var(--navy);
  font-weight:600;box-shadow:inset 0 0 0 1px var(--gold-d)}
.rp-opts input:focus-visible+label{outline:2px solid var(--navy-3);outline-offset:2px}
@media (max-width:620px){
  .rp-help,.rp-opts{margin-left:0}
}

.rp-submit-row{margin-top:clamp(26px,3.4vw,36px);text-align:center}
.rp-submit-row .btn{min-width:min(340px,100%);justify-content:center}
.rp-submit-row .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
#rp-warn{margin-top:12px;font-size:14px;color:#C0554A;font-weight:600}

/* ---------------- result ---------------- */
.rp-res-head{text-align:center;margin-bottom:clamp(24px,3vw,34px)}
.rp-res-head .rule-s{margin-left:auto;margin-right:auto}
.rp-band{margin-top:14px;font-size:16px;color:var(--ink-2);letter-spacing:.02em}
.rp-res-grid{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:stretch}
@media (max-width:760px){.rp-res-grid{grid-template-columns:1fr}}
.rp-card{background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:clamp(22px,2.8vw,30px);box-shadow:0 2px 14px rgba(15,42,74,.05);margin-bottom:16px}
.rp-res-grid .rp-card{margin-bottom:0}
.rp-card h3{font-size:17px;color:var(--navy)}
.rp-card p{margin-top:12px;font-size:15.5px;line-height:1.75;color:var(--ink-2)}
.rp-card-gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#FCFDFE,#F3F6FA);min-width:290px}
.rp-gauge{width:240px;height:auto;display:block}
.rp-g-num{font:700 46px/1 'Poppins',sans-serif;fill:var(--navy)}
.rp-g-lab{font:500 12px/1 'Poppins',sans-serif;fill:var(--ink-3);letter-spacing:.08em;
  text-transform:uppercase}
.rp-card-cap{margin-top:2px !important;font-size:13px !important;color:var(--ink-3) !important;
  text-align:center}
.rp-fall{padding-top:14px;margin-top:14px !important;border-top:1px solid var(--line);
  font-size:14.5px !important;color:var(--ink-3) !important}

.rp-axes h3{margin-bottom:6px}
.rp-axis{margin-top:22px}
.rp-axis-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rp-axis-top b{font-size:15.5px;color:var(--navy)}
.rp-axis-top span{font-size:13.5px;font-weight:600;color:var(--gold-d)}
.rp-axis-track{margin-top:9px;height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.rp-axis-track i{display:block;height:100%;border-radius:5px;
  background:linear-gradient(90deg,var(--navy-3),var(--gold))}
.rp-axis p{margin-top:9px !important;font-size:13.5px !important;color:var(--ink-3) !important}
.rp-governed{margin-top:20px !important;padding-top:16px;border-top:1px solid var(--line)}
.rp-governed b{color:var(--navy)}

.rp-note{background:#FAF6EC;border:1px solid var(--gold-l);border-left:4px solid var(--gold);
  border-radius:14px;padding:20px 24px;margin-bottom:16px;font-size:15px;line-height:1.75;
  color:var(--ink-2)}
.rp-note b{color:var(--navy)}

.rp-alloc{display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,38px);align-items:center}
@media (max-width:760px){.rp-alloc{grid-template-columns:1fr}}
.rp-donut{width:160px;height:160px;flex:none;justify-self:center}
.rp-d-num{font:700 30px/1 'Poppins',sans-serif;fill:var(--navy)}
.rp-d-lab{font:500 12px/1 'Poppins',sans-serif;fill:var(--ink-3);letter-spacing:.06em;
  text-transform:uppercase}
.rp-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px}
.rp-legend span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}
.rp-legend i{width:13px;height:13px;border-radius:3px}
.sw-eq{background:var(--gold)}
.sw-de{background:#DCE3EC}

.rp-cta{background:var(--navy);color:#fff;border-radius:18px;
  padding:clamp(24px,3vw,34px);margin-bottom:16px}
.rp-cta h3{font-size:19px;color:#fff}
.rp-cta p{margin-top:11px;font-size:15.5px;line-height:1.75;color:#9FB4CC}
.rp-cta-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px}
.rp-cta .btn-out{border-color:rgba(255,255,255,.34);color:#fff}
.rp-cta .btn-out:hover{background:rgba(255,255,255,.1);border-color:#fff}
.rp-disc{font-size:12.5px;line-height:1.75;color:var(--ink-3)}
.rp-disc b{color:var(--ink-2)}

@media print{
  .topbar,.hdr,.drawer,.ftr,.rp-bar,.rp-cta-row,.crumb,.pagehero-art{display:none !important}
  .rp-card{break-inside:avoid;box-shadow:none}
  .rp-cta{background:#fff;color:var(--ink);border:1px solid var(--line)}
  .rp-cta h3{color:var(--navy)}.rp-cta p{color:var(--ink-2)}
}
.rp-g-end{font:600 9px/1 'Poppins',sans-serif;fill:var(--ink-3);letter-spacing:.06em;
  text-transform:uppercase}

/* homepage risk profiler band */
.rpx{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4.5vw,64px);align-items:center}
@media (max-width:900px){.rpx{grid-template-columns:1fr;text-align:center}
  .rpx-art{max-width:300px;margin:0 auto}
  .rpx .rule-s{margin-left:auto;margin-right:auto}
  .rpx-list li{text-align:left}}
.rpx-art{background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:clamp(22px,3vw,34px);box-shadow:0 4px 18px rgba(15,42,74,.06)}
.rpx h2{font-size:clamp(25px,3.2vw,38px)}
.rpx>div>p{color:var(--ink-2);margin-top:16px;font-size:16.5px;line-height:1.75}
.rpx-list{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.rpx-list li{position:relative;padding-left:28px;font-size:15.5px;line-height:1.7;
  color:var(--ink-2)}
.rpx-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;
  border-radius:2px;background:var(--gold)}
