*{margin:0;padding:0;box-sizing:border-box}
:root{
--deep:#11112D; --indigo:#2D317D; --indigo-lt:#3E44A0; --indigo-pale:#ECEDF7;
--green:#166232; --green-d:#082111; --green-lt:#7FCB9E; --green-pale:#E9F2EC;
--mist:#F1F6F2; --mist-2:#E6EFE9; --line:#D9E4DC; --line-2:#E8EDE9;
--ink:#12181D; --mut:#5A6660; --gold:#C9922E; --white:#fff;
--disp:Copperplate,'Copperplate Gothic Bold','Copperplate Gothic Light',Cinzel,Georgia,serif;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:Calibri,Carlito,'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--white);line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,.dsp{font-family:var(--disp);font-weight:600;line-height:1.2;letter-spacing:.02em;text-transform:uppercase}
h3,h4{font-family:Calibri,Carlito,'Segoe UI',system-ui,sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
a{color:inherit} img{max-width:100%;display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 30px;border-radius:6px;font-weight:600;font-size:15px;text-decoration:none;transition:.2s;border:1.5px solid transparent}
.btn-p{background:var(--green);color:#fff;border-color:var(--green)}
.btn-p:hover{background:var(--green-d);border-color:var(--green-d)}
.btn-g{background:transparent;color:var(--indigo);border-color:#C2C6DF}
.btn-g:hover{border-color:var(--indigo);background:var(--indigo-pale)}
.btn-w{background:#fff;color:var(--indigo);border-color:#fff}
.btn-w:hover{background:var(--green-pale)}
.btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-o:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* NAV — links intentionally removed pending full menu */
.sitehead{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px;gap:14px}
.logo{display:block;text-decoration:none;flex-shrink:0}
.logo img{height:54px;width:auto;max-width:none}
.logo img[alt]{font-size:13px;color:var(--deep);font-weight:600}
.navnote{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#A9B3AD;border:1px dashed #CBD6CE;border-radius:4px;padding:5px 11px;font-weight:600;white-space:nowrap}
.nav-r{display:flex;align-items:center;gap:16px;flex-shrink:0}
.lbl-s{display:none}
.navcta{white-space:nowrap}
.tel{font-size:15px;font-weight:600;text-decoration:none;color:var(--indigo);white-space:nowrap}


/* MEGA MENU */
.nav{position:relative}
.mainnav{display:flex;gap:2px;list-style:none;margin-left:auto;margin-right:18px}
.mainnav>li{position:relative}
.mainnav>li>a{display:flex;align-items:center;gap:5px;text-decoration:none;font-size:14.5px;font-weight:600;padding:12px 13px;border-radius:6px;color:var(--deep);white-space:nowrap}
.mainnav>li>a:after{content:"";width:5px;height:5px;border-right:1.6px solid var(--mut);border-bottom:1.6px solid var(--mut);transform:rotate(45deg) translateY(-1px);transition:.15s}
.mainnav>li>a.solo:after{display:none}
.mainnav>li>a.solo[aria-current="page"]{background:var(--green-pale);color:var(--green-d)}
.mainnav>li:hover>a{background:var(--green-pale);color:var(--green-d)}
.mainnav>li:hover>a:after{border-color:var(--green-d);transform:rotate(-135deg) translateY(-2px)}
.drop{position:absolute;top:100%;left:0;min-width:310px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 50px rgba(27,33,89,.15);padding:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:70}
.mainnav>li:hover .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:block;padding:13px;border-radius:8px;text-decoration:none;transition:.13s}
.drop a:hover{background:var(--mist)}
.drop a b{display:block;font-size:14.5px;font-weight:600;color:var(--deep);line-height:1.3}
.drop .dhead{font-family:var(--disp);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);padding:9px 13px 5px;font-weight:600}
.drop hr{border:0;border-top:1px solid var(--line-2);margin:7px 13px}
.burger{display:none;background:none;border:1.5px solid var(--line);border-radius:8px;width:46px;height:46px;font-size:20px;color:var(--deep);cursor:pointer;align-items:center;justify-content:center}
/* mobile drawer */
.drawer{display:none;position:fixed;inset:0 0 0 auto;width:min(400px,88vw);background:#fff;z-index:90;overflow-y:auto;padding:18px;box-shadow:-8px 0 40px rgba(0,0,0,.18)}
.drawer.open{display:block}
.drawer .dtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.drawer .dtop img{height:44px}
.drawer .x{background:none;border:0;font-size:28px;color:var(--mut);cursor:pointer;line-height:1;padding:6px 10px}
.drawer .dhome{display:block;padding:15px 4px;font-size:16px;font-weight:600;color:var(--deep);text-decoration:none;border-bottom:1px solid var(--line-2);min-height:52px}
.drawer details{border-bottom:1px solid var(--line-2);padding:0}
.drawer summary{padding:15px 4px;font-size:16px;font-weight:600;color:var(--deep);min-height:52px}
.drawer details a{display:block;padding:11px 4px 11px 16px;text-decoration:none;font-size:14.5px;color:var(--mut);border-left:2px solid var(--line)}
.drawer details a b{color:var(--deep);font-weight:500;display:block;font-size:14.5px}
.drawer .dcta{margin-top:18px}
.drawer .dcta .btn{width:100%}
.scrim{display:none;position:fixed;inset:0;background:rgba(18,24,29,.45);z-index:85}
.scrim.open{display:block}


.credcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 20px 48px rgba(27,33,89,.10)}
.cc-top{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line-2)}
.cc-face{width:104px;height:104px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--green-pale)}
.cc-top b{display:block;font-family:var(--disp);font-size:17px;letter-spacing:.04em;color:var(--deep);margin-bottom:4px}
.cc-top span{display:block;font-size:14px;color:var(--mut);line-height:1.4}
.cc-top .cc-loc{font-size:12.5px;color:#8B968F;margin-top:2px}
.cc-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px 0}
.cc-badges img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid var(--line-2);border-radius:9px;padding:5px}
.cc-foot{font-size:13px;color:var(--mut);line-height:1.55;padding-top:16px;border-top:1px solid var(--line-2)}
/* PODCAST */
.pod{background:var(--ink);color:#fff}
.pod-in{display:grid;grid-template-columns:auto 1fr auto;gap:38px;align-items:center}
.pod img{width:170px;height:170px;border-radius:14px;flex-shrink:0}
.pod .tag{color:#8FE39F}
.pod h2{color:#fff;font-size:clamp(21px,2.7vw,31px);margin-bottom:12px}
.pod p{color:#9FAAA4;font-size:16.5px;max-width:520px}

/* HERO */
.hero{background:linear-gradient(170deg,var(--mist) 0%,#FBFDFB 100%);padding:74px 0 70px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-300px;right:-240px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(22,98,50,.09),transparent 70%);pointer-events:none}
.hero-in{display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center;position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:20px}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--green)}
.hero h1{font-size:clamp(28px,3.9vw,47px);margin-bottom:20px;color:var(--deep)}
.hero h1 em{font-style:normal;color:var(--green)}
.lede{font-size:18px;color:var(--mut);max-width:510px;margin-bottom:30px}
.hbtns{display:flex;gap:12px;flex-wrap:wrap}
.gstrip{display:flex;align-items:center;gap:13px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.stars{color:var(--gold);font-size:18px;letter-spacing:1.5px;line-height:1;white-space:nowrap}
.gstrip .gt{font-size:13.5px;color:var(--mut);line-height:1.45}
.gstrip .gt b{color:var(--ink);display:block;font-size:14.5px}
.gl{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:17px;color:#4285F4;flex-shrink:0}

/* PORTRAIT */
.port{position:relative;border-radius:14px;background:linear-gradient(155deg,var(--mist-2),#DCE8E0);min-height:220px}
.port img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border-radius:14px;box-shadow:0 22px 54px rgba(27,33,89,.16)}
.port .ring{position:absolute;inset:-12px -12px auto auto;width:130px;height:130px;border:2px solid var(--green-lt);border-radius:50%;opacity:.5;pointer-events:none}

section{padding:84px 0}
.tag{font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:13px}
.sec-head{max-width:730px;margin-bottom:46px}
.sec-head h2{font-size:clamp(23px,3.1vw,36px);color:var(--deep);margin-bottom:15px}
.sec-head p{font-size:17px;color:var(--mut)}
.center{margin-left:auto;margin-right:auto;text-align:center}
.alt{background:var(--mist)}

/* QUESTIONS */
.qs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.q{padding:34px 30px 34px 0;border-right:1px solid var(--line)}
.q:last-child{border-right:0;padding-right:0}
.q:not(:first-child){padding-left:30px}
.qn{font-family:var(--disp);font-size:13.5px;color:var(--green);font-weight:600;margin-bottom:14px;display:block;letter-spacing:.1em}
.q h3{font-size:19px;line-height:1.33;margin-bottom:10px;color:var(--deep)}
.q p{font-size:15px;color:var(--mut)}

/* VOICE */
.voice{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
.vcard{background:linear-gradient(155deg,var(--deep),var(--indigo));color:#fff;border-radius:14px;padding:44px}
.vcard .qm{font-family:Georgia,serif;font-size:58px;color:var(--green-lt);line-height:.5;display:block;margin-bottom:24px}
.vcard p{font-size:19.5px;line-height:1.5;margin-bottom:16px}
.vcard p:last-of-type{margin-bottom:26px}
.qa{display:flex;align-items:center;gap:14px;border-top:1px solid rgba(255,255,255,.22);padding-top:22px}
.qav{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex-shrink:0;border:2px solid var(--green-lt);background:var(--green-d)}
.qa b{display:block;font-size:14.5px}
.qa span{font-size:12.5px;color:#B6BAE0}
.plist{list-style:none;margin-top:22px}
.plist li{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--line-2)}
.plist li:last-child{border-bottom:0}
.pn{flex:0 0 34px;height:34px;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;font-family:var(--disp)}
.plist h4{font-size:16.5px;margin-bottom:4px;color:var(--deep)}
.plist p{font-size:15px;color:var(--mut)}

/* CARDS */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;transition:.22s}
.card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 14px 30px rgba(27,33,89,.09)}
.ic{width:46px;height:46px;border-radius:10px;background:var(--green-pale);display:grid;place-items:center;margin-bottom:17px}
.ic svg{width:23px;height:23px;stroke:var(--green);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:18.5px;margin-bottom:8px;color:var(--deep)}
.card p{font-size:14.5px;color:var(--mut)}
.more{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--green);text-decoration:none}
.more:hover{text-decoration:underline}

/* REVIEWS */
.rev{background:linear-gradient(160deg,var(--deep),var(--indigo));color:#fff}
.rev h2{color:#fff}.rev .tag{color:var(--green-lt)}.rev .sec-head p{color:#BFC3E4}
.rsum{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:38px;padding:24px 28px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:12px}
.rsum .big{font-family:var(--disp);font-size:42px;line-height:1}
.rsum .rt{font-size:13.5px;color:#BFC3E4;line-height:1.45}
.rsum .rt b{color:#fff;display:block;font-size:14.5px}
.rcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rcard{background:#fff;color:var(--ink);border-radius:12px;padding:26px;display:flex;flex-direction:column}
.rcard .stars{font-size:15px;margin-bottom:13px}
.rcard .rq{font-size:15px;line-height:1.6;color:var(--mut);font-style:italic;flex:1;border-left:2px solid var(--line);padding-left:14px}
.rcard .rf{display:flex;align-items:center;gap:11px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line-2)}
.rav{width:36px;height:36px;border-radius:50%;background:var(--mist-2);display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--mut);flex-shrink:0}
.rcard .rf b{font-size:13.5px;display:block;color:var(--ink)}
.rcard .rf span{font-size:12px;color:var(--mut)}
.phnote{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8A6A1E;background:#FBF3E2;border:1px solid #EEDFBE;border-radius:4px;padding:3px 8px;display:inline-block;margin-bottom:11px;font-weight:700}

/* CREDENTIALS */
.creds{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.cgroup h3{font-family:var(--disp);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:22px}
.crow{display:flex;gap:18px;align-items:center;margin-bottom:20px}
.crow img{width:74px;height:74px;object-fit:contain;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px}
.crow h4{font-size:15.5px;color:var(--deep);margin-bottom:3px}
.crow p{font-size:13.5px;color:var(--mut);line-height:1.5}

/* COLLECTIVE */
.coll{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.pcard{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.pic{width:40px;height:40px;border-radius:9px;background:var(--indigo-pale);display:grid;place-items:center;flex-shrink:0}
.pic svg{width:20px;height:20px;stroke:var(--indigo);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pcard b{font-size:15px;display:block;line-height:1.25;color:var(--deep)}
.pcard span{font-size:12.5px;color:var(--mut)}

/* TOOLS */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tool{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;text-decoration:none;transition:.2s;display:block}
.tool:hover{border-color:var(--green);box-shadow:0 12px 28px rgba(27,33,89,.09);transform:translateY(-3px)}
.tool .ic{width:40px;height:40px;margin-bottom:15px;border-radius:9px}
.tool .ic svg{width:20px;height:20px}
.tool h4{font-size:16.5px;margin-bottom:7px;color:var(--deep)}
.tool p{font-size:14px;color:var(--mut);line-height:1.55}
.tool .go{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--green)}

/* INSIGHTS */
.post{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;display:block;transition:.2s}
.post:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 14px 30px rgba(27,33,89,.09)}
.pcap{aspect-ratio:16/9;display:grid;place-items:center;padding:20px;text-align:center}
.pcap .kicker{font-family:var(--disp);font-size:18px;letter-spacing:.06em;line-height:1.3;color:#fff;text-transform:uppercase}
.pcap.c1{background:linear-gradient(140deg,var(--deep),var(--indigo))}
.pcap.c2{background:linear-gradient(140deg,var(--green),var(--green-d))}
.pcap.c3{background:linear-gradient(140deg,var(--indigo),var(--green-d))}
.pbody{padding:22px}
.pmeta{font-family:Calibri,Carlito,'Segoe UI',system-ui,sans-serif;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:9px}
.post h3{font-size:17.5px;line-height:1.32;margin-bottom:8px;color:var(--deep)}
.post p{font-size:14px;color:var(--mut);line-height:1.55}

/* LOCAL */
.local{background:var(--deep);color:#fff}
.local h2{color:#fff}.local .sec-head p{color:#BFC3E4}.local .tag{color:var(--green-lt)}
.areas{display:flex;flex-wrap:wrap;gap:9px}
.areas span{padding:9px 16px;border:1px solid rgba(255,255,255,.28);border-radius:100px;font-size:13.5px;color:#DCDEF0}

/* FAQ */
details{border-bottom:1px solid var(--line);padding:22px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{font-family:Calibri,Carlito,'Segoe UI',system-ui,sans-serif;font-weight:600;font-size:17px;color:var(--deep);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;min-height:32px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--green);font-size:25px;line-height:.95;flex-shrink:0}
details[open] summary::after{content:"\2212"}
details p{margin-top:13px;color:var(--mut);font-size:15.5px;line-height:1.68;max-width:820px}

/* CTA */
.cta{background:linear-gradient(150deg,var(--green) 0%,var(--green-d) 100%);color:#fff;text-align:center}
.cta h2{font-size:clamp(24px,3.4vw,39px);color:#fff;margin-bottom:16px}
.cta p{font-size:17.5px;color:#CFE8D8;max-width:570px;margin:0 auto 32px}
.cta .hbtns{justify-content:center}

footer{background:var(--ink);color:#8B9691;padding:68px 0 30px;font-size:14px}
.fg{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.11)}
footer h5{color:#fff;font-family:var(--disp);font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
footer ul{list-style:none}footer li{margin-bottom:9px}
footer a{text-decoration:none}footer a:hover{color:var(--green-lt)}
footer .flogo{height:64px;width:auto;margin-bottom:16px;opacity:.95}
.disc{margin-top:22px;font-size:12px;color:#6B7570;line-height:1.65;max-width:740px}
.lic{margin-top:16px;font-size:12.5px;color:#8B9691;line-height:1.6;max-width:740px}
.fbot{padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:#6B7570}

/* ---------- MOBILE ---------- */
@media(min-width:1001px) and (max-width:1120px){.logo img{height:44px}}
@media(max-width:1000px){
 .hero-in,.voice,.coll,.creds{grid-template-columns:1fr;gap:40px}
 .grid4,.grid3,.tools,.rcards,.fg{grid-template-columns:repeat(2,1fr)}
 .qs{grid-template-columns:1fr}
 .q{border-right:0;border-bottom:1px solid var(--line);padding:26px 0!important}
 .q:last-child{border-bottom:0}
 .mainnav{display:none}.burger{display:flex}
 section{padding:58px 0}.hero{padding:44px 0 52px}
 .voice{display:flex;flex-direction:column-reverse}
}
@media(max-width:720px){
 .wrap{padding:0 18px}
 .nav{height:70px}
 .logo img{height:44px}
 .tel{display:none}
 .nav-r .btn{padding:12px 16px;font-size:14px;min-height:44px}
 .lbl-l{display:none}.lbl-s{display:inline}
 .hero h1{font-size:27px;line-height:1.25}
 .lede{font-size:16.5px}
 .hbtns{gap:10px}
 .hbtns .btn{flex:1 1 100%;width:100%}
 .credcard{padding:22px}
 .cc-face{width:84px;height:84px}
 .cc-badges{gap:8px;padding:16px 0}
 .pod-in{grid-template-columns:1fr;gap:22px;text-align:center}
 .pod img{margin:0 auto;width:140px;height:140px}
 .grid4,.grid3,.tools,.pgrid,.rcards,.fg{grid-template-columns:1fr}
 .sec-head{margin-bottom:32px}
 .more{padding:11px 0;min-height:44px;display:inline-flex;align-items:center}
 .sec-head h2{font-size:22px}.sec-head p{font-size:15.5px}
 .vcard{padding:30px 24px}.vcard p{font-size:17.5px}
 .rsum{padding:20px;gap:14px}.rsum .big{font-size:34px}
 .crow img{width:62px;height:62px}
 .areas span{font-size:12.5px;padding:8px 14px}
 summary{font-size:15.5px}
 details p{font-size:14.5px}
 footer .flogo{height:56px}
 .fg{gap:30px}
 .fbot{flex-direction:column;gap:8px}
}
@media(max-width:380px){
 .wrap{padding:0 15px}
 .hero h1{font-size:24px}
 .logo img{height:36px}
 .nav-r .btn{padding:10px 12px;font-size:12.5px}
 .sec-head h2{font-size:20px}
 .stars{font-size:15px;letter-spacing:1px}
 .gstrip{gap:10px}.gstrip .gt{font-size:12.5px}
 .card,.tool,.rcard{padding:22px}
}

/* EMBED SLOTS */
.embed{border:1.5px dashed #B9C9BF;background:linear-gradient(160deg,var(--mist),#fff);border-radius:14px;padding:34px 26px;text-align:center;color:#7C8A82}
.embed .elabel{display:inline-block;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#8A6A1E;background:#FBF3E2;border:1px solid #EEDFBE;border-radius:4px;padding:4px 10px;margin-bottom:14px}
.embed h4{font-size:17px;color:var(--deep);margin-bottom:7px}
.embed p{font-size:14px;max-width:520px;margin:0 auto;line-height:1.6}
.embed.tall{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.embed.wide{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center}
/* geography */
.geo{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.geo-group{margin-bottom:22px}
.geo-group h4{font-family:var(--disp);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-lt);margin-bottom:12px}
.local .geo-group h4{color:var(--green-lt)}
.province{margin-top:26px;padding:20px 24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:15px;color:#DCDEF0;line-height:1.6}
.province b{color:#fff}
@media(max-width:1000px){.geo{grid-template-columns:1fr;gap:28px}}

/* ---------- REVERSE MORTGAGES PAGE ---------- */
.crumb{font-size:12.5px;color:var(--mut);margin-bottom:18px}
.crumb a{text-decoration:none;color:var(--mut)}
.crumb a:hover{color:var(--green)}
.crumb span{color:var(--ink);font-weight:600}
.hero-in.narrow{grid-template-columns:1.1fr .9fr}
.keyfacts{list-style:none;margin-top:26px;display:grid;gap:10px}
.keyfacts li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:var(--mut)}
.keyfacts svg{width:19px;height:19px;flex-shrink:0;margin-top:3px;stroke:var(--green);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.keyfacts b{color:var(--ink);font-weight:600}
.split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
.chk{list-style:none;display:grid;gap:14px}
.chk li{display:flex;gap:13px;align-items:flex-start;font-size:15.5px;color:var(--mut);line-height:1.6}
.chk li b{display:block;color:var(--deep);font-size:16px;font-weight:600;margin-bottom:2px}
.chk .mk{flex:0 0 26px;height:26px;border-radius:50%;background:var(--green-pale);display:grid;place-items:center;margin-top:1px}
.chk .mk svg{width:14px;height:14px;stroke:var(--green);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.chk.warn .mk{background:#FBF3E2}
.chk.warn .mk svg{stroke:#8A6A1E}
.note{background:var(--indigo-pale);border-left:3px solid var(--indigo);border-radius:0 10px 10px 0;padding:20px 24px;font-size:15px;color:var(--mut);line-height:1.65;margin-top:26px}
.note b{color:var(--deep)}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}
.panel h3{font-size:18.5px;color:var(--deep);margin-bottom:14px}
.panel p{font-size:15px;color:var(--mut)}
.cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:#fff}
table.cmp{border-collapse:collapse;width:100%;min-width:760px;font-size:14.5px}
table.cmp th,table.cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--mut)}
table.cmp thead th{font-family:var(--disp);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);background:var(--mist);border-bottom:1px solid var(--line);font-weight:600}
table.cmp thead th.hl{color:var(--green)}
table.cmp tbody th{font-weight:600;color:var(--deep);font-size:14.5px;width:23%}
table.cmp tbody tr:last-child th,table.cmp tbody tr:last-child td{border-bottom:0}
table.cmp td.hl{background:var(--green-pale);color:var(--green-d)}
.scrollhint{font-size:12.5px;color:var(--mut);margin-top:11px}
.sh-only{display:none}
@media(max-width:1000px){.sh-only{display:inline}}
.steps{counter-reset:st;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.steps .sn{font-family:var(--disp);font-size:12.5px;letter-spacing:.12em;color:var(--green);font-weight:600;display:block;margin-bottom:11px}
.steps h4{font-size:17px;color:var(--deep);margin-bottom:7px}
.steps p{font-size:14.5px;color:var(--mut)}
.illus{background:linear-gradient(155deg,var(--deep),var(--indigo));color:#fff;border-radius:14px;padding:34px}
.illus h3{font-size:19px;margin-bottom:8px;color:#fff}
.illus .ilabel{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#0F1A12;background:var(--green-lt);border-radius:4px;padding:4px 9px;display:inline-block;margin-bottom:14px;font-weight:700}
.illus p{font-size:15px;color:#BFC3E4;line-height:1.65}
.illus dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 18px}
.illus dt{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#9FA6D8;margin-bottom:4px}
.illus dd{font-family:var(--disp);font-size:22px;color:#fff;letter-spacing:.02em}
.illus .fine{font-size:13px;color:#9FA6D8;border-top:1px solid rgba(255,255,255,.2);padding-top:15px;line-height:1.6}
.ccard{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}
.ccard img{width:86px;height:86px;object-fit:contain;flex-shrink:0;background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:7px}
.ccard h3{font-size:17.5px;color:var(--deep);margin-bottom:6px}
.ccard p{font-size:14.5px;color:var(--mut)}
@media(max-width:1000px){
 .split{grid-template-columns:1fr;gap:34px}
 .steps{grid-template-columns:1fr}
 .hero-in.narrow{grid-template-columns:1fr}
}
@media(max-width:720px){
 .illus{padding:26px 22px}
 .illus dl{grid-template-columns:1fr;gap:16px}
 .panel{padding:24px}
 .ccard{flex-direction:column;align-items:flex-start;gap:16px}
 .keyfacts li{font-size:15px}
 .note{padding:18px 20px;font-size:14.5px}
}
.note.warn{background:#FBF3E2;border-left-color:#C9922E}
.note.warn b{color:#7A5C15}

/* ---------- MOBILE FRIENDLINESS ---------- */
@media(max-width:720px){
 /* tap targets — 44px minimum on anything interactive */
 footer li{margin-bottom:0}
 footer li a{display:flex;align-items:center;min-height:44px;padding:4px 0}
 footer .fbot span{display:block;padding:4px 0}
 summary{min-height:48px;padding:4px 0}
 details{padding:16px 0}
 .crumb{font-size:13px}
 .crumb a,.fcrumb a{display:inline-block;padding:10px 2px;min-height:44px;line-height:24px}
 .fcrumb{font-size:13px}
 .logo{display:flex;align-items:center;min-height:44px}
 .more,.tool .go{min-height:44px;display:inline-flex;align-items:center}
 .areas span{min-height:40px;display:inline-flex;align-items:center}
 .note a{display:inline-flex;align-items:center;min-height:44px}
 /* legible floors — nothing under 12px on a phone */
 .embed .elabel,.illus .ilabel{font-size:11.5px;letter-spacing:.1em}
 .illus dt{font-size:12px}
 .disc{font-size:12.5px}

 /* comparison table becomes stacked cards — no sideways scrolling */
 .cmp-wrap{overflow-x:visible;border:0;background:transparent;border-radius:0}
 table.cmp{min-width:0;display:block;font-size:14.5px}
 table.cmp thead{display:none}
 table.cmp tbody,table.cmp tr,table.cmp th,table.cmp td{display:block;width:auto}
 table.cmp tbody tr{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}
 table.cmp tbody tr:last-child{margin-bottom:0}
 table.cmp tbody th{width:auto;font-size:15.5px;color:var(--deep);background:var(--mist);padding:13px 16px;border-bottom:1px solid var(--line)}
 table.cmp tbody td{padding:11px 16px;border-bottom:1px solid var(--line-2);display:flex;gap:14px;align-items:baseline}
 table.cmp tbody tr td:last-child{border-bottom:0}
 table.cmp tbody td::before{content:attr(data-col);flex:0 0 38%;font-family:var(--disp);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--deep);font-weight:600;line-height:1.45}
 table.cmp tbody td.hl{background:var(--green-pale);color:var(--green-d)}
 table.cmp tbody td.hl::before{color:var(--green)}
 .scrollhint .sh-only{display:none}
}
@media(max-width:380px){
 table.cmp tbody td{display:block}
 table.cmp tbody td::before{display:block;margin-bottom:3px}
}

/* ---------- CALCULATORS ---------- */
.calcs{display:grid;gap:14px}
details.calc{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0;overflow:hidden;transition:border-color .18s,box-shadow .18s}
details.calc:first-of-type{border-top:1px solid var(--line)}
details.calc[open]{border-color:var(--green);box-shadow:0 14px 32px rgba(27,33,89,.09)}
details.calc>summary{display:flex;align-items:center;gap:16px;padding:18px 20px;min-height:68px;cursor:pointer;list-style:none;font-family:Calibri,Carlito,'Segoe UI',system-ui,sans-serif}
details.calc>summary::-webkit-details-marker{display:none}
details.calc>summary::after{content:"";flex-shrink:0;width:11px;height:11px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg) translateY(-3px);transition:transform .18s;margin-left:auto}
details.calc[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
details.calc>summary:hover{background:var(--mist)}
.calc-ic{flex:0 0 46px;height:46px;border-radius:11px;background:var(--green-pale);display:grid;place-items:center;font-size:22px;line-height:1}
.calc-t{min-width:0}
.calc-t b{display:block;font-size:17px;font-weight:600;color:var(--deep);line-height:1.3}
.calc-t span{display:block;font-size:14px;color:var(--mut);line-height:1.45;margin-top:2px}
.calc-body{border-top:1px solid var(--line-2);background:var(--mist)}
iframe.broki{width:100%;border:0;display:block;height:640px;background:var(--mist);transition:height .18s ease}
.calc-load{padding:38px 18px;text-align:center;color:var(--mut);font-size:14px}
.calc-fail{padding:22px;margin:0;font-size:14px;color:var(--mut);line-height:1.6}
.calc-fail b{color:var(--deep);display:block;margin-bottom:6px}
.calc-fail a{color:var(--green);font-weight:600}
.calc-disc{font-size:12.5px;color:var(--mut);line-height:1.6;padding:14px 20px;border-top:1px solid var(--line-2);background:#fff}
@media(max-width:720px){
 details.calc>summary{padding:15px 16px;gap:13px;min-height:64px}
 .calc-ic{flex:0 0 40px;height:40px;font-size:19px;border-radius:10px}
 .calc-t b{font-size:15.5px}
 .calc-t span{font-size:13px}
 iframe.broki{height:600px}
}

/* ---------- ARTICLE / BLOG POST ---------- */
.artwrap{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.draftbar{background:#FBF3E2;border-bottom:1px solid #EEDFBE;color:#7A5C15;font-size:13.5px;padding:11px 0}
.draftbar .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.draftbar b{font-family:var(--disp);font-size:11px;letter-spacing:.13em;text-transform:uppercase;background:#7A5C15;color:#fff;padding:4px 9px;border-radius:4px}
.arthead{padding:44px 0 30px;border-bottom:1px solid var(--line);margin-bottom:36px}
.artcat{display:inline-block;font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:14px}
.arthead h1{font-size:clamp(26px,3.6vw,44px);color:var(--deep);margin-bottom:18px;text-transform:none;letter-spacing:0;line-height:1.18}
.artsum{font-size:19px;color:var(--mut);line-height:1.6;max-width:720px}
.byline{display:flex;align-items:center;gap:14px;margin-top:26px;flex-wrap:wrap}
.byline img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid var(--green-pale);flex-shrink:0}
.byline b{display:block;font-size:15px;color:var(--deep)}
.byline .bmeta{font-size:13.5px;color:var(--mut);line-height:1.5}
.byline .sep{color:var(--line);margin:0 4px}
.takeaways{background:var(--green-pale);border-radius:14px;padding:26px 28px;margin-bottom:34px}
.takeaways h2{font-family:var(--disp);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-d);margin-bottom:15px}
.takeaways ul{list-style:none;display:grid;gap:11px}
.takeaways li{position:relative;padding-left:19px;font-size:16px;color:var(--ink);line-height:1.55}
.takeaways li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--green)}
.prose{max-width:720px;font-size:17.5px;line-height:1.75;color:#26302B}
.prose>*+*{margin-top:22px}
.prose h2{font-size:clamp(21px,2.6vw,28px);color:var(--deep);margin-top:44px;text-transform:none;letter-spacing:0;line-height:1.25}
.prose h3{font-size:20px;color:var(--deep);margin-top:32px}
.prose ul,.prose ol{padding-left:22px}
.prose li+li{margin-top:9px}
.prose a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--green-d)}
.prose strong{color:var(--deep)}
.pquote{border-left:3px solid var(--green);padding:6px 0 6px 26px;font-size:21px;line-height:1.5;color:var(--deep);font-style:italic}
.pquote cite{display:block;font-size:14px;color:var(--mut);font-style:normal;margin-top:12px}
/* Client review quotes on /reviews. Whole reviews, so a card is as tall as the
   review is long -- columns, not a grid, so a short quote does not leave a hole
   under a long one. Never cap the height: a clipped review is an edited one. */
.quotes{columns:2;column-gap:22px;margin-top:26px}
.qcard{break-inside:avoid;display:inline-block;width:100%;margin:0 0 22px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px}
.qcard blockquote{margin:0;font-size:15.5px;line-height:1.68;color:var(--ink)}
.qcard blockquote p{margin:0 0 12px}
.qcard blockquote p:last-child{margin-bottom:0}
.qcard figcaption{margin-top:18px;padding-top:15px;border-top:1px solid var(--line-2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qcard figcaption b{font-size:14.5px;color:var(--deep)}
.qstars{color:var(--gold);font-size:13px;letter-spacing:1px;line-height:1}
.qdate{font-size:12.5px;color:var(--mut);margin-left:auto}
@media(max-width:860px){.quotes{columns:1}}
.moreqs{margin-top:4px}
.moreqs summary{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:12px 22px;background:#fff;border:1.5px solid var(--line);border-radius:9px;font-size:14.5px;font-weight:600;color:var(--deep);cursor:pointer;list-style:none;transition:.15s}
.moreqs summary::-webkit-details-marker{display:none}
.moreqs summary:after{content:"";width:6px;height:6px;border-right:1.8px solid var(--mut);border-bottom:1.8px solid var(--mut);transform:rotate(45deg) translateY(-2px);transition:.15s}
.moreqs summary:hover{border-color:var(--green);color:var(--green-d)}
.moreqs summary:hover:after{border-color:var(--green-d)}
.moreqs[open] summary{margin-bottom:24px}
.moreqs[open] summary:after{transform:rotate(-135deg) translateY(-2px)}
.moreqs .quotes{margin-top:0}
.callout{background:var(--indigo-pale);border-left:3px solid var(--indigo);border-radius:0 10px 10px 0;padding:22px 26px;font-size:16px;line-height:1.65;color:var(--mut)}
.callout b{color:var(--deep);display:block;margin-bottom:5px}
.artside{position:sticky;top:104px;display:grid;gap:20px}
.toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.toc h2{font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin-bottom:14px}
.toc ol{list-style:none;counter-reset:t;display:grid;gap:2px}
.toc a{display:block;padding:8px 0;font-size:14.5px;color:var(--mut);text-decoration:none;line-height:1.45;border-left:2px solid var(--line-2);padding-left:13px}
.toc a:hover{color:var(--green);border-left-color:var(--green)}
.sidecta{background:linear-gradient(155deg,var(--deep),var(--indigo));color:#fff;border-radius:12px;padding:24px}
.sidecta b{font-family:var(--disp);font-size:15px;letter-spacing:.03em;display:block;margin-bottom:9px}
.sidecta p{font-size:14px;color:#BFC3E4;line-height:1.6;margin-bottom:16px}
.sidecta .btn{width:100%;min-height:46px;font-size:14px}
.authorbox{display:flex;gap:20px;align-items:flex-start;background:var(--mist);border-radius:14px;padding:26px;margin-top:44px}
.authorbox img{width:78px;height:78px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex-shrink:0;border:3px solid #fff}
.authorbox b{display:block;font-family:var(--disp);font-size:15px;color:var(--deep);letter-spacing:.03em;margin-bottom:4px}
.authorbox .arole{font-size:13px;color:var(--green);font-weight:600;margin-bottom:9px}
.authorbox p{font-size:14.5px;color:var(--mut);line-height:1.6}
.artfoot{max-width:720px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);line-height:1.65}
@media(max-width:1000px){
 .artwrap{grid-template-columns:1fr;gap:34px;padding:0 18px}
 .artside{position:static;grid-row:2}
 .toc{display:none}
}
@media(max-width:720px){
 .arthead{padding:26px 0 22px;margin-bottom:26px}
 .artsum{font-size:16.5px}
 .prose{font-size:16.5px;line-height:1.72}
 .prose h2{margin-top:34px}
 .takeaways{padding:20px}
 .takeaways li{font-size:15.5px}
 .pquote{font-size:18px;padding-left:18px}
 .callout{padding:18px 20px;font-size:15px}
 .authorbox{flex-direction:column;gap:14px;padding:22px}
 .byline img{width:44px;height:44px}
}

/* ---------- MAGAZINE FEATURE TREATMENT ---------- */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--green-lt);z-index:200;transition:width .1s linear}
.feature{background:linear-gradient(155deg,var(--deep) 0%,var(--indigo) 62%,#1C2060 100%);color:#fff;position:relative;overflow:hidden;padding:64px 0 56px}
.feature::before{content:"";position:absolute;top:-220px;right:-180px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(127,203,158,.16),transparent 68%);pointer-events:none}
.feature::after{content:"";position:absolute;bottom:-140px;left:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(45,49,125,.5),transparent 70%);pointer-events:none}
.feature .wrap{position:relative;z-index:2;max-width:900px}
.fcrumb{font-size:12.5px;color:#9FA6D8;margin-bottom:22px}
.fcrumb a{color:#9FA6D8;text-decoration:none}
.fcrumb a:hover{color:#fff}
.fcrumb span{color:#fff;font-weight:600}
.fchip{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--green-d);background:var(--green-lt);padding:6px 13px;border-radius:100px;font-weight:600;margin-bottom:20px}
.feature h1{font-size:clamp(30px,5vw,58px);line-height:1.08;color:#fff;text-transform:none;letter-spacing:-.005em;margin-bottom:22px;font-family:var(--disp)}
.deck{font-size:clamp(17px,2vw,21px);line-height:1.55;color:#C6CAEC;max-width:700px;font-weight:400}
.fbyline{display:flex;align-items:center;gap:15px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.2);flex-wrap:wrap}
.fbyline img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid var(--green-lt);flex-shrink:0}
.fbyline b{display:block;font-size:15.5px;color:#fff}
.fbyline .bmeta{font-size:13.5px;color:#9FA6D8;line-height:1.5}
.fbyline .sep{color:rgba(255,255,255,.28);margin:0 6px}
.prose>p.lead{font-size:20px;line-height:1.62;color:var(--deep)}
.prose>p.lead::first-letter{float:left;font-family:var(--disp);font-size:64px;line-height:.82;padding:5px 12px 0 0;color:var(--green);font-weight:600}
.prose h2::before{content:"";display:block;width:38px;height:2px;background:var(--green);margin-bottom:16px}
.rule{border:0;border-top:1px solid var(--line);margin:44px 0}
/* magazine index */
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mlead{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;transition:.2s}
.mlead:hover{border-color:var(--green);box-shadow:0 18px 40px rgba(27,33,89,.11);transform:translateY(-3px)}
.mlead .mcap{min-height:290px;display:grid;place-items:center;padding:34px;text-align:center}
.mlead .mbody{padding:36px 38px;display:flex;flex-direction:column;justify-content:center}
.mlead h3{font-size:clamp(21px,2.4vw,29px);line-height:1.22;color:var(--deep);margin-bottom:12px}
.mlead p{font-size:16px;color:var(--mut);line-height:1.62}
.mcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.2s}
.mcard:hover{border-color:var(--green);box-shadow:0 14px 32px rgba(27,33,89,.09);transform:translateY(-3px)}
.mcap{aspect-ratio:16/9;display:grid;place-items:center;padding:22px;text-align:center}
.mcap .kicker{font-family:var(--disp);font-size:17px;letter-spacing:.05em;line-height:1.3;color:#fff;text-transform:uppercase}
.mcap.c1{background:linear-gradient(140deg,var(--deep),var(--indigo))}
.mcap.c2{background:linear-gradient(140deg,var(--green),var(--green-d))}
.mcap.c3{background:linear-gradient(140deg,var(--indigo),var(--green-d))}
.mcap.c4{background:linear-gradient(140deg,#2A2F6B,#0E1633)}
.mcap-none{background:linear-gradient(140deg,var(--deep),var(--indigo))}
.mgrid-empty{grid-template-columns:1fr}
.mnone{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:44px 26px;text-align:center}
.mnone h3{font-family:var(--disp);font-size:22px;color:var(--deep);margin-bottom:10px}
.mnone p{font-size:15px;color:var(--mut);line-height:1.62;max-width:52ch;margin:0 auto 16px}
.mbody{padding:24px;flex:1;display:flex;flex-direction:column}
.mmeta{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:10px}
.mcard h3{font-size:18.5px;line-height:1.3;color:var(--deep);margin-bottom:9px}
.mcard p{font-size:14.5px;color:var(--mut);line-height:1.58;flex:1}
.mfoot{font-size:12.5px;color:#8B968F;margin-top:16px;padding-top:13px;border-top:1px solid var(--line-2)}
@media(max-width:1000px){
 .mgrid{grid-template-columns:repeat(2,1fr)}
 .mlead{grid-template-columns:1fr}
 .mlead .mcap{min-height:190px;aspect-ratio:auto}
 .mlead .mbody{padding:26px}
}
@media(max-width:720px){
 .feature{padding:34px 0 32px}
 .feature h1{font-size:29px;line-height:1.14}
 .deck{font-size:16.5px}
 .fbyline{margin-top:24px;padding-top:20px;gap:12px}
 .fbyline img{width:44px;height:44px}
 .prose>p.lead{font-size:18px}
 .prose>p.lead::first-letter{font-size:52px;padding-right:10px}
 .mgrid{grid-template-columns:1fr;gap:18px}
 .mlead h3{font-size:20px}
}

/* ---------- CONTACT ---------- */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.way{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;text-decoration:none;transition:.2s}
.way:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 14px 30px rgba(27,33,89,.09)}
.way .ic{width:48px;height:48px;border-radius:11px;background:var(--green-pale);display:grid;place-items:center;margin-bottom:18px}
.way .ic svg{width:23px;height:23px;stroke:var(--green);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.way h3{font-size:19px;color:var(--deep);margin-bottom:7px}
.way p{font-size:15px;color:var(--mut);line-height:1.6;flex:1}
.way .big{font-family:var(--disp);font-size:21px;color:var(--indigo);letter-spacing:.02em;margin-top:14px;word-break:break-word}
.way .sub{font-size:13px;color:var(--mut);margin-top:6px}
.nextsteps{counter-reset:ns;list-style:none;display:grid;gap:0;margin-top:8px}
.nextsteps li{display:grid;grid-template-columns:38px 1fr;gap:17px;padding:0 0 24px;position:relative}
.nextsteps li::before{counter-increment:ns;content:counter(ns);grid-row:1;width:34px;height:34px;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-size:14px;font-weight:600}
.nextsteps li::after{content:"";position:absolute;left:17px;top:38px;bottom:-2px;width:2px;background:var(--line)}
.nextsteps li:last-child{padding-bottom:0}
.nextsteps li:last-child::after{display:none}
.nextsteps h4{font-size:17px;color:var(--deep);margin-bottom:4px}
.nextsteps p{font-size:15px;color:var(--mut);margin:0}
@media(max-width:1000px){.ways{grid-template-columns:1fr}}
@media(max-width:720px){
 .way{padding:22px}
 .way .big{font-size:19px}
}
.bookwrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;scroll-margin-top:100px}
iframe.zbook{width:100%;height:750px;border:0;display:block}
@media(max-width:720px){iframe.zbook{height:820px}}

/* ---------- LEAD FORM — Zoho CRM Web-to-Lead, restyled ---------- */
.leadform{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;position:relative}
.lf-intro{font-size:14.5px;color:var(--mut);line-height:1.6;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line-2)}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lf-row{display:flex;flex-direction:column;gap:7px;min-width:0}
.lf-row.full{grid-column:1/-1}
.lf-row label{font-size:13.5px;font-weight:600;color:var(--deep)}
.lf-row label .req{color:var(--green);margin-left:2px}
.lf-row label .opt{font-weight:400;font-size:12.5px;color:var(--mut);margin-left:4px}
.lf-row input,.lf-row select,.lf-row textarea{width:100%;min-height:50px;padding:13px 14px;font-size:16px;font-family:Calibri,Carlito,'Segoe UI',system-ui,sans-serif;line-height:1.4;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.lf-row textarea{min-height:132px;resize:vertical;line-height:1.6}
.lf-row select{padding-right:42px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6660' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:13px}
.lf-row input:focus,.lf-row select:focus,.lf-row textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-pale)}
.lf-row input::placeholder,.lf-row textarea::placeholder{color:#9AA6A0}
.lf-row.bad input,.lf-row.bad select,.lf-row.bad textarea{border-color:#B03024;background:#FDF7F6}
.lf-row.bad input:focus,.lf-row.bad select:focus,.lf-row.bad textarea:focus{box-shadow:0 0 0 3px #F7E3E1}
.lf-err{display:none;font-size:13px;color:#95251A;font-weight:600;line-height:1.45}
.lf-row.bad .lf-err{display:block}
.lf-actions{grid-column:1/-1;margin-top:4px}
.lf-submit{width:100%;cursor:pointer;font-family:inherit;font-size:16px;min-height:52px}
.lf-submit[disabled]{opacity:.6;cursor:default}
.lf-fine{grid-column:1/-1;font-size:12.5px;color:var(--mut);line-height:1.6}
.lf-fine a{color:var(--indigo);font-weight:600;text-decoration:none}
.lf-hp{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){
 .leadform{padding:24px 20px}
 .lf-grid{grid-template-columns:1fr;gap:18px}
 .lf-row label{font-size:14px}
}

/* ---------- THANK YOU ---------- */
.tyhero{background:linear-gradient(155deg,var(--deep) 0%,var(--indigo) 62%,#1C2060 100%);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.tyhero::before{content:"";position:absolute;top:-200px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(127,203,158,.16),transparent 68%);pointer-events:none}
.tyhero .wrap{position:relative;z-index:2;max-width:760px;text-align:center}
.tytick{width:74px;height:74px;border-radius:50%;background:var(--green-lt);display:grid;place-items:center;margin:0 auto 26px}
.tytick svg{width:36px;height:36px;stroke:var(--green-d);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tyhero h1{font-size:clamp(28px,4.6vw,50px);color:#fff;margin-bottom:18px}
.tyhero p{font-size:clamp(16px,2vw,19px);color:#C6CAEC;line-height:1.6}
.tyhero .hbtns{justify-content:center;margin-top:30px}

/* APP SCREENSHOT GALLERY (/mortgageapp) */
.screens{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:6px}
.screens figure{margin:0;display:flex;flex-direction:column;gap:12px}
.screens img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:16px;background:#fff}
.screens figcaption{font-size:14px;color:var(--mut);line-height:1.5}
.screens figcaption b{display:block;color:var(--deep);font-size:15px;margin-bottom:2px}
@media(max-width:900px){.screens{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:480px){.screens{grid-template-columns:1fr;gap:26px;max-width:330px;margin-inline:auto}}

/* TRUST ANCHOR — editorial variants. Selling pages use .credcard in the hero;
   editorial pages carry the person as a byline instead, so the two never
   compete on the same screen. */
.whowrites{display:flex;align-items:center;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);max-width:640px}
.whowrites img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.28)}
.whowrites p{margin:0;font-size:14.5px;line-height:1.55;color:#C3C7E6}
.whowrites b{display:block;color:#fff;font-size:15.5px;margin-bottom:2px}
.whowrites a{color:var(--mint,#7FCB9E);font-weight:600;white-space:nowrap}
.signedby{display:inline-flex;align-items:center;gap:14px;margin-top:24px;text-align:left}
.signedby img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}
.signedby span{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.82)}
.signedby b{display:block;color:#fff;font-size:16px}
@media(max-width:560px){.whowrites{flex-direction:column;align-items:flex-start;gap:14px}}

/* TOPIC PAGES — a photograph of the subject in the hero, with the person
   reduced to a slim strip under the buttons. The card stays on the identity
   pages (home, about, contact); these are the pages where the visitor has
   already been told who Stephen is and came for the topic. */
.topicshot{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;
  border:1px solid var(--line);box-shadow:0 20px 48px rgba(27,33,89,.10);background:var(--mist)}
.shotcap{margin:12px 2px 0;font-size:12.5px;line-height:1.55;color:var(--mut)}

/* the person, quietly — avatar, name, and the one badge relevant to the page */
.bstrip{display:flex;align-items:center;gap:13px;margin-top:26px;padding-top:20px;
  border-top:1px solid var(--line-2);flex-wrap:wrap}
.bstrip .bs-face{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid var(--green-pale)}
.bstrip .bs-who{font-size:13px;line-height:1.45;color:var(--mut)}
.bstrip .bs-who b{display:block;font-size:14px;color:var(--deep);font-weight:600}
.bstrip .bs-cert{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:11.5px;
  color:var(--mut);line-height:1.35;max-width:215px}
.bstrip .bs-cert img{width:40px;height:40px;object-fit:contain;flex-shrink:0}
@media(max-width:1000px){
 .topicshot{aspect-ratio:16/9}
 .bstrip .bs-cert{margin-left:0;max-width:none}
}
@media(max-width:560px){
 .topicshot{aspect-ratio:3/2}
}

/* PODCAST — the one page where the show's own artwork replaces the credential
   card. Stephen's name is inside the logo, so a credit underneath would repeat
   it. Square artwork, so it fills the hero's aside column without a crop. */
.showart{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:0 20px 48px rgba(27,33,89,.10);background:#000}
.showcap{margin:14px 0 0;font-size:13px;line-height:1.55;color:var(--mut)}
.showcap b{display:block;font-family:var(--disp);font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--deep);margin-bottom:4px}
@media(max-width:1000px){.showart{max-width:400px;margin-inline:auto}.showcap{max-width:400px;margin-inline:auto;text-align:center}}

/* ABOUT — the one page where the credential card becomes the portrait itself.
   Same card, same hero position; the badges get a proper explained section
   further down instead of being repeated here. */
.credcard.portrait{padding:0;overflow:hidden}
.pt-face{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 18%;display:block;background:var(--green-pale)}
.pt-body{padding:26px 28px 30px}
.pt-body b{display:block;font-family:var(--disp);font-size:21px;letter-spacing:.03em;color:var(--deep);margin-bottom:5px}
.pt-body span{display:block;font-size:15px;color:var(--mut);line-height:1.45}
.pt-body .cc-loc{font-size:13px;color:#8B968F;margin-top:5px}
.pt-body p{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--mut);line-height:1.55}
@media(max-width:1000px){.credcard.portrait{max-width:400px;margin-inline:auto}}

/* ABOUT — the three figures. Sits directly under the hero, where credibility
   belongs on a bio page. */
.figband{background:var(--deep);color:#fff;padding:38px 0}
.figs{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;text-align:center}
.figs div{display:flex;flex-direction:column;gap:7px}
.figs b{font-family:var(--disp);font-size:clamp(28px,3.6vw,40px);line-height:1;color:var(--green-lt);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.figs span{font-size:14.5px;color:#C3C7E6;line-height:1.45}
@media(max-width:720px){.figs{grid-template-columns:1fr;gap:26px}}

/* FIRST HOME HUB — regional assistance programmes */
.dpa{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dpa a{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px 18px;text-decoration:none;transition:border-color .18s,transform .18s}
.dpa a:hover,.dpa a:focus-visible{border-color:var(--green);transform:translateY(-2px);outline:none}
.dpa a:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.dpa b{font-size:15.5px;color:var(--deep)}
.dpa span{font-size:13px;color:var(--green);font-weight:600}
@media(max-width:900px){.dpa{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.dpa{grid-template-columns:1fr}}

/* REVIEWS — slots for Stephen's own supplied quotes. Renders nothing until
   real, attributable reviews exist; see QUOTES in the page generator. */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.qcard{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:16px}
.qcard blockquote{margin:0;font-size:16px;line-height:1.6;color:var(--deep)}
.qcard blockquote::before{content:"\201C";font-family:Georgia,serif;font-size:40px;color:var(--green-lt);line-height:0;display:block;margin-bottom:14px}
.qcard figcaption{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2)}
.qcard figcaption b{display:block;font-size:15px;color:var(--deep)}
.qcard figcaption span{font-size:13px;color:var(--mut)}
#rma-widget-embed{min-height:120px}
@media(max-width:900px){.qgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.qgrid{grid-template-columns:1fr}}

/* ---------- LEDGER + FORMULA (bridge financing) ---------- */
.fx{background:var(--mist);border:1px solid var(--line);border-radius:10px;padding:17px 19px;margin:20px 0;font-size:15px;color:var(--mut);line-height:1.75;overflow-x:auto}
.fx b{color:var(--deep);font-weight:600}
.fx em{font-style:normal;color:var(--green-d);font-weight:600}
.ledger{list-style:none;display:grid;gap:0;margin-top:18px}
.ledger li{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line-2);font-size:15px;color:var(--mut)}
.ledger li:last-child{border-bottom:0}
.ledger .lg-l{display:flex;gap:11px;align-items:baseline;min-width:0}
.ledger .op{font-family:var(--disp);font-size:13.5px;font-weight:600;color:var(--green);flex:0 0 14px}
.ledger .op.mi{color:#8A6A1E}
.ledger .lg-v{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;color:var(--ink)}
.ledger li.tot{border-top:2px solid var(--line);border-bottom:0;margin-top:7px;padding-top:15px}
.ledger li.tot .lg-l{font-weight:700;color:var(--deep);font-size:16px}
.ledger li.tot .lg-v{font-family:var(--disp);font-size:20px;color:var(--green-d)}
@media(max-width:720px){
 .ledger li{font-size:14.5px;padding:13px 0}
 .fx{font-size:14.5px}
}
