/* Financial Horoscope™ 360 — V2 */
:root{
 --navy:#061a2e; --navy2:#0b2946; --navy3:#123b60; --ink:#0f2236; --muted:#5b6977;
 --gold:#c49a3a; --gold2:#e5c472; --goldDeep:#8a6514; --line:#e3e7ec; --soft:#f8f5ee;
 --red:#c2412f; --redBg:#fff3f1; --green:#1d8655; --greenBg:#eef9f3;
 --serif:"Playfair Display",Georgia,"Times New Roman",serif; --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --r:18px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
.nw{white-space:nowrap}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.ic{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:200;border-radius:6px}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:4px}

/* type */
.section{padding:clamp(72px,9vw,120px) max(5vw,20px)}
.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--goldDeep);display:flex;gap:8px;align-items:center;margin-bottom:14px}
.kicker.center{justify-content:center}
.kicker.light{color:var(--gold2)}
h2{font-family:var(--serif);font-weight:700;font-size:clamp(32px,4.2vw,58px);line-height:1.08;letter-spacing:-.02em;max-width:980px}
h2.center{margin:0 auto;text-align:center}
.center{text-align:center}
.gold{color:var(--goldDeep)} .gold2{color:var(--gold2)} .muted{color:#8a96a3}
.lead{font-size:clamp(16px,1.4vw,19px);color:var(--muted);line-height:1.7;max-width:640px;margin-top:18px}
.lead.center{margin-left:auto;margin-right:auto}
.signature{text-align:center;font-size:clamp(16px,1.5vw,20px);margin:48px auto 0;max-width:900px;color:var(--muted)}
.signature b{color:var(--ink);font-family:var(--serif);font-weight:700}
.dark{background:var(--navy);color:#fff}.dark .lead{color:#b4c2cf}
.soft{background:var(--soft)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;border-radius:10px;padding:12px 18px;transition:transform .2s var(--ease),box-shadow .2s,background .2s}
.btn-gold{background:linear-gradient(135deg,#f1d68e,var(--gold) 70%);color:#071525;box-shadow:0 10px 30px rgba(196,154,58,.28)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(196,154,58,.38)}
.btn-lg{padding:17px 24px;font-size:16px}.btn-xl{padding:20px 32px;font-size:18px}
.btn-line{border:1px solid #cdb26a;color:var(--ink);background:#fff}.btn-line:hover{border-color:var(--goldDeep);transform:translateY(-2px)}

/* nav */
.nav{position:sticky;top:0;z-index:100;height:76px;padding:0 max(3vw,16px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(6,26,46,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.brand{display:flex;align-items:center;gap:8px}
.brand img{height:46px;width:auto}
.brand360{font-family:var(--serif);font-weight:700;color:var(--gold2);font-size:20px;padding-left:8px;border-left:1px solid rgba(255,255,255,.25);line-height:1}
.navlinks{display:flex;align-items:center;gap:clamp(12px,1.5vw,24px);font-size:14px;font-weight:500}
.navlinks>a:not(.btn):not(.login){color:#d6dee6}.navlinks>a:not(.btn):not(.login):hover{color:var(--gold2)}
.login{border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:8px 12px;color:#d6dee6;font-size:13px}.login:hover{border-color:var(--gold2);color:#fff}
.navcta{padding:10px 14px;font-size:13px}
.menubtn{display:none;background:none;border:0;padding:8px;font-size:22px;color:#fff}

/* 1 hero */
.hero{position:relative;min-height:min(calc(100svh - 76px),860px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(40px,5vw,72px) max(5vw,20px) 140px}
.heroArt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 60%;transform:scale(1.04);animation:heroIn 2.4s var(--ease) forwards}
@keyframes heroIn{to{transform:scale(1)}}
.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,31,.94) 0%,rgba(4,17,31,.82) 32%,rgba(4,17,31,.25) 62%,rgba(4,17,31,.05) 100%),linear-gradient(0deg,rgba(4,17,31,.75) 0%,transparent 35%)}
.heroInner{position:relative;z-index:2;max-width:1400px;width:100%;margin:0 auto}
.heroContent{max-width:660px}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(38px,4.4vw,64px);line-height:1.04;letter-spacing:-.02em;margin:6px 0 18px}
.hero h1 span{display:block;color:var(--gold2);font-size:.7em;line-height:1.12;margin-top:14px}
.heroSub{font-size:clamp(16px,1.4vw,19px);color:#dde5ec;max-width:560px;margin-bottom:24px}
.trustMini{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-size:14px;color:#cfd9e2}
.trustMini span{display:flex;align-items:center;gap:7px}.trustMini .ic{color:var(--gold2)}
.milestones{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:30px;font-size:12.5px;color:#d7e0e8}
.milestones li{display:flex;align-items:center;white-space:nowrap}
.milestones li+li::before{content:"";width:12px;height:1px;background:linear-gradient(90deg,var(--gold2),rgba(229,196,114,.2));margin:0 6px}
.milestones .here{color:var(--navy);background:var(--gold2);padding:3px 10px;border-radius:99px;font-weight:700}
.heroJourney{position:absolute;z-index:3;left:max(3vw,12px);right:max(3vw,12px);bottom:24px;max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 26px;border-radius:18px;background:rgba(6,26,46,.82);border:1px solid rgba(229,196,114,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.heroJourney>div{display:flex;align-items:center;gap:12px}
.heroJourney>div>.ic{width:42px;height:42px;padding:9px;border-radius:50%;border:1px solid rgba(229,196,114,.6);color:var(--gold2)}
.heroJourney span{display:flex;flex-direction:column;font-size:12px;color:#aebccb;line-height:1.3}
.heroJourney b{color:#fff;font-size:15px;font-weight:600}
.heroJourney .sep{color:rgba(229,196,114,.6)}

/* 2 why */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1400px;margin:0 auto}
.whyQ{font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);margin-top:16px;font-weight:600}
.whyQ em{color:var(--goldDeep)}
.whyArt img{width:100%;height:auto;mix-blend-mode:multiply}
.whyChips{display:none}

/* 3 aspiration */
.aspiration{background:linear-gradient(#fff,#fbf6ea)}
.split{max-width:1160px;margin:52px auto 0;display:grid;grid-template-columns:1fr 70px 1.15fr;align-items:stretch}
.splitCard{border-radius:var(--r);padding:clamp(26px,3vw,40px)}
.splitCard small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.splitCard h3{font-family:var(--serif);font-size:clamp(28px,3vw,38px);margin:10px 0 22px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips li{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;font-size:14.5px;font-weight:500}
.obligation{background:#eef1f4;color:#56626e}.obligation .chips li{background:#fff;border:1px solid #dde2e7}
.dream{background:var(--navy);color:#fff;box-shadow:0 24px 60px rgba(6,26,46,.18)}
.dream small,.dream h3{color:var(--gold2)}
.dream .chips li{background:rgba(255,255,255,.06);border:1px solid rgba(229,196,114,.35)}.dream .chips .ic{color:var(--gold2)}
.splitArrow{display:grid;place-items:center;color:var(--gold)}.splitArrow .ic{width:34px;height:34px}
blockquote{font-family:var(--serif);font-weight:600;text-align:center;font-size:clamp(24px,3vw,38px);line-height:1.25;margin:64px auto 0;max-width:920px}
blockquote span{display:block;font-family:var(--sans);font-weight:400;font-size:16px;color:var(--muted);margin-top:14px}

/* 4 YOU */
.youMap{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(20px,4vw,60px);align-items:center;max-width:1180px;margin:56px auto 0}
.youCol{display:flex;flex-direction:column;gap:22px}
.youNode{position:relative;display:flex;align-items:center;gap:14px;padding:18px 22px;background:#fff;border:1px solid #ecdcb0;border-radius:16px;font-weight:600;font-size:16px;box-shadow:0 12px 34px rgba(156,116,24,.08)}
.youNode .ic{width:34px;height:34px;color:var(--goldDeep)}
.youCol .youNode::after{content:"";position:absolute;top:50%;right:-60px;width:60px;border-top:1.5px dotted var(--gold)}
.youCol.right .youNode::after{right:auto;left:-60px}
.youCol:not(.right) .youNode:nth-child(2){margin-right:-30px}.youCol.right .youNode:nth-child(2){margin-left:-30px}
.youCore{position:relative;width:clamp(240px,26vw,340px);aspect-ratio:1;border-radius:50%;padding:8px;background:conic-gradient(from 200deg,#f6e3a8,var(--gold),#f6e3a8,var(--gold),#f6e3a8);box-shadow:0 0 0 10px rgba(229,196,114,.15),0 30px 70px rgba(156,116,24,.25)}
.youCore img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.youCore span{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:var(--navy);color:var(--gold2);font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:.12em;padding:6px 22px;border-radius:99px;border:1px solid var(--gold)}

/* 5 questions */
.questions{background:radial-gradient(circle at 85% 0%,#123b60 0,var(--navy) 55%)}
.qHead{max-width:1300px;margin:0 auto}
.qGrid{max-width:1300px;margin:44px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:q}
.qGrid li{counter-increment:q;position:relative;padding:24px 22px 26px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(229,196,114,.18);font-size:17px;font-weight:500;line-height:1.4;color:#eef2f6;min-height:150px}
.qGrid li::before{content:counter(q,decimal-leading-zero);position:absolute;top:22px;right:22px;font-size:12px;color:#6f859a;font-weight:700}
.qGrid .ic{width:34px;height:34px;color:var(--gold2);display:block;margin-bottom:18px}
.pause{text-align:center;font-family:var(--serif);font-size:clamp(22px,2.6vw,34px);margin:64px auto 0;max-width:900px;line-height:1.3}
.pause span{display:block;color:var(--gold2)}

/* 6 what — engine */
.engine{max-width:1240px;margin:60px auto 0;display:grid;grid-template-columns:1fr 90px 280px 90px 1fr;align-items:center}
.inputs{display:flex;flex-direction:column;gap:26px;align-items:flex-end}
.inGroup{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:330px}
.inGroup b{width:100%;text-align:right;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--goldDeep)}
.inGroup span{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:14px;background:#fff}
.inGroup .ic{color:var(--goldDeep)}
.flow{position:relative;height:120px}
.flow i{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(196,154,58,.5),transparent)}
.flow i:nth-child(1){top:25%}.flow i:nth-child(2){top:50%}.flow i:nth-child(3){top:75%}
.flow i::after{content:"";position:absolute;top:-3px;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold2);opacity:0}
.core{width:280px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--navy3),var(--navy) 70%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;box-shadow:0 0 0 1px rgba(229,196,114,.4),0 0 0 12px rgba(196,154,58,.08),0 30px 70px rgba(6,26,46,.25)}
.core img{width:90px;height:90px;margin-bottom:6px}
.core b{font-family:var(--serif);font-size:24px;line-height:1.1}
.core small{font-size:12.5px;color:#9fb2c4;margin-top:10px;max-width:170px;line-height:1.4}
.outputs{display:flex;flex-direction:column;gap:10px}
.outputs li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:16px;padding:8px 14px 8px 8px;border-radius:12px;background:#fff;border:1px solid var(--line);max-width:300px}
.outputs .ic{width:34px;height:34px;padding:7px;border-radius:9px;background:#fbf4e1;color:var(--goldDeep)}

/* 7 how */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1300px;margin:56px auto 0}
.stepLine{position:absolute;left:12%;right:12%;top:58px;height:2px;background:rgba(196,154,58,.15)}
.stepLine i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold2),var(--gold));transform-origin:left;transform:scaleX(1)}
.steps article{position:relative;background:#fff;border:1px solid #e6e2d6;border-radius:var(--r);padding:28px 26px 30px;text-align:center}
.stepIc{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:50%;background:#fff;border:1.5px solid var(--gold);color:var(--goldDeep);position:relative;z-index:1;transition:background .4s,color .4s,box-shadow .4s}
.stepIc .ic{width:28px;height:28px}
.steps article>b{display:block;font-size:13px;letter-spacing:.2em;color:var(--goldDeep)}
.steps h3{font-family:var(--serif);font-size:23px;line-height:1.2;margin:8px 0 10px}
.steps p{color:var(--muted);font-size:15px}
.steps .final4{border-color:var(--gold);box-shadow:0 18px 44px rgba(156,116,24,.16);background:linear-gradient(#fff,#fffaf0)}
.steps .final4 .stepIc{background:var(--navy);color:var(--gold2);border-color:var(--navy)}

/* 8 reveal */
.compare{display:grid;grid-template-columns:1fr 170px 1fr;gap:22px;align-items:center;max-width:1200px;margin:52px auto 0}
.jCard{border-radius:22px;overflow:hidden;border:1px solid;background:#fff;box-shadow:0 22px 50px rgba(15,34,54,.08)}
.jCard header{padding:22px 26px}
.jCard header small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.85}
.jCard h3{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);margin-top:4px}
.current{border-color:#f0c9c2}.current header{background:linear-gradient(135deg,#b33a2a,#d5553f);color:#fff}
.recommended{border-color:#bfe2cf}.recommended header{background:linear-gradient(135deg,#17734a,#23995f);color:#fff}
.jCard dl{margin:0;padding:8px 26px}
.jCard dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef1f4}
.jCard dt{display:flex;align-items:center;gap:10px;color:#3b4b5b;font-size:15px}
.jCard dt .ic{width:22px;height:22px}
.current dt .ic{color:var(--red)}.recommended dt .ic{color:var(--green)}
.jCard dd{margin:0;font-weight:700;font-size:19px;white-space:nowrap}
.current dd{color:var(--red)}.recommended dd{color:var(--green)}
.zone{display:inline-block;font-size:14px;padding:4px 12px;border-radius:99px}
.zone.danger{background:var(--redBg);border:1px solid #f0c9c2}.zone.growth{background:var(--greenBg);border:1px solid #bfe2cf}
.bar{position:relative;margin:6px 26px 24px;height:10px;border-radius:99px;background:#eef1f4}
.bar i{position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:99px;transition:width 1.4s var(--ease) .3s}
.current .bar i{background:linear-gradient(90deg,#d5553f,#e98b5f)}.recommended .bar i{background:linear-gradient(90deg,#23995f,#56c38a)}
.bar span{position:absolute;right:0;top:14px;font-size:12px;color:var(--muted)}
.bar{margin-bottom:36px}
.transform{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:var(--ink)}
.transform img{width:96px;height:96px;padding:14px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 8px rgba(196,154,58,.12),0 16px 40px rgba(6,26,46,.25)}
.transform b{font-family:var(--serif);font-size:18px;line-height:1.15;margin-top:8px}
.transform .ic{width:34px;height:34px;color:var(--gold)}
.bigStatement{text-align:center;font-family:var(--serif);font-weight:700;font-size:clamp(26px,3vw,40px);margin-top:52px}
.bigStatement span{color:var(--goldDeep)}
.illus{max-width:820px;margin:22px auto 0;text-align:center;font-size:13.5px;line-height:1.6;color:var(--muted)}

/* 9 dreams */
.dreamGrid{max-width:1300px;margin:52px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dreamGrid article{position:relative;overflow:hidden;border-radius:20px;padding:24px 22px 22px;min-height:230px;display:flex;flex-direction:column;justify-content:flex-start;gap:0;color:#fff;background:radial-gradient(circle at 80% 15%,rgba(229,196,114,.35),transparent 45%),linear-gradient(160deg,var(--navy3),var(--navy) 75%);box-shadow:0 18px 40px rgba(6,26,46,.14);transition:transform .35s var(--ease),box-shadow .35s}
.dreamGrid article:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(6,26,46,.22)}
.dreamGrid article>.ic{width:58px;height:58px;color:var(--gold2);stroke-width:1.2;margin-bottom:auto;padding-bottom:18px;box-sizing:content-box}
.dreamGrid h3{font-family:var(--serif);font-size:22px;line-height:1.2}
.dreamGrid p{display:flex;gap:8px;margin-top:14px}
.dreamGrid p span{font-size:13px;padding:5px 10px;border-radius:99px;border:1px dashed rgba(229,196,114,.6);color:#f1dfae;transition:background .5s,border-style .5s}

/* 10 protect */
.protect{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1400px;margin:0 auto}
.protectArt img{width:100%;border-radius:26px;box-shadow:0 30px 70px rgba(6,26,46,.2)}
.protectGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.protectGrid li{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;border:1px solid #ecdcb0;background:#fffcf4;font-weight:600}
.protectGrid .ic{width:40px;height:40px;padding:8px;border-radius:50%;background:var(--navy);color:var(--gold2)}
.note{margin-top:24px;color:var(--muted)}.note b{color:var(--ink)}

/* 11 action */
.action{background:radial-gradient(circle at 10% 0%,#123b60 0,var(--navy) 60%)}
.cap3{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:22px;font-family:var(--serif);font-size:clamp(20px,2.4vw,30px)}
.cap3 span{color:#fff}.cap3 .ic{color:var(--gold2)}
.timeline{max-width:1240px;margin:54px auto 0}
.tlTrack{position:relative;height:2px;background:rgba(255,255,255,.12);margin:0 4% 54px}
.tlTrack i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold2),var(--gold));transform-origin:left}
.tlTrack em{position:absolute;top:-6px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);transform:translateX(-50%);padding-top:22px;white-space:nowrap}
.tlTrack em::before{content:"";position:absolute;top:0;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--navy);border:2px solid var(--gold2)}
.tlTrack .d0{left:0}.tlTrack .d1{left:25%}.tlTrack .d2{left:50%}.tlTrack .d3{left:100%}
.tlCols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tlCol h3{font-family:var(--serif);font-size:26px;margin-bottom:16px;color:#fff}
.tlCol h3 small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-bottom:2px}
.tlCol article{display:flex;gap:14px;padding:18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(229,196,114,.2);margin-bottom:12px}
.tlCol article>.ic{width:40px;height:40px;padding:8px;border-radius:10px;background:rgba(229,196,114,.12);color:var(--gold2)}
.tlCol b{display:block;font-size:16px}
.meta{display:block;font-size:12.5px;color:#9fb2c4;margin:3px 0 6px}
.meta i{font-style:normal;font-weight:700;color:#cfd9e2}.meta i.hi{color:#f2a48f}
.tlCol p{font-size:14.5px;color:#d9e2ea}

/* 12 audience */
.personaGrid{max-width:1300px;margin:52px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.personaGrid article{padding:30px 24px;border-radius:20px;border:1px solid var(--line);background:#fff;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.personaGrid article:hover{transform:translateY(-5px);border-color:#e3cd8e;box-shadow:0 22px 44px rgba(156,116,24,.12)}
.personaGrid .ic{width:64px;height:64px;color:var(--goldDeep);stroke-width:1.15;margin-bottom:20px}
.personaGrid h3{font-family:var(--serif);font-size:21px;line-height:1.2}
.personaGrid p{margin-top:8px;font-size:14.5px;color:var(--muted)}

/* 13 stories */
.videoGrid{max-width:1300px;margin:52px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.video{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.video:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(6,26,46,.12)}
.thumb{position:relative;display:block;aspect-ratio:16/10;background:#dfe5ea;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.video:hover .thumb img{transform:scale(1.04)}
.playBtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(6,26,46,.75);border:1.5px solid var(--gold2);color:var(--gold2);backdrop-filter:blur(4px)}
.playBtn .ic{width:26px;height:26px;stroke:none}
.video b{padding:16px 18px 2px;font-family:var(--serif);font-size:19px}
.video small{padding:0 18px 18px;color:var(--muted)}
.reviewTitle{text-align:center;font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);margin-top:72px}
.reviewGrid{max-width:1300px;margin:28px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.reviewGrid a{display:block;padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff;transition:box-shadow .3s}
.reviewGrid a:hover{box-shadow:0 18px 40px rgba(6,26,46,.1)}
.stars{display:flex;gap:2px;color:#f4b400;margin-bottom:10px}
.reviewGrid img{width:100%;height:auto;border-radius:8px}
.storiesCta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px}

/* 14 different */
.diff{display:grid;grid-template-columns:1fr 90px 1.35fr;max-width:1240px;margin:52px auto 0;align-items:stretch}
.path{border-radius:22px;padding:clamp(24px,3vw,36px)}
.path small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.path h3{font-family:var(--serif);font-size:30px;margin:8px 0 24px}
.path ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.path li{position:relative;display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:12px;font-weight:600;font-size:15px}
.path li:not(:last-child):not(.end):not(.br)::after{content:"";position:absolute;right:-18px;top:50%;width:14px;height:1.5px}
.path li.br{flex-basis:100%;height:0;padding:0;border:0!important;background:none!important;margin:0}
.trad{background:#f2f4f6;color:#5f6b78}.trad small{color:#5f6b78}
.trad li{background:#fff;border:1px solid #e1e5e9}.trad li::after{background:#c3cad1}
.trad .faint{opacity:.55;border-style:dashed}
.fh{background:var(--navy);color:#fff;box-shadow:0 26px 60px rgba(6,26,46,.22)}.fh small{color:var(--gold2)}.fh h3{color:#fff}
.fh li{background:rgba(255,255,255,.06);border:1px solid rgba(229,196,114,.35)}.fh li .ic{color:var(--gold2)}
.fh li::after{background:var(--gold)}
.fh .you{background:linear-gradient(135deg,#f1d68e,var(--gold));color:var(--navy);border-color:transparent;font-size:17px;letter-spacing:.06em}
.fh .you .ic{color:var(--navy)}
.vs{position:relative;display:grid;place-items:center}
.vs::before{content:"";position:absolute;top:8%;bottom:8%;left:50%;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}
.vs span{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--gold);font-family:var(--serif);font-weight:700;color:var(--goldDeep)}
.different blockquote span{font-family:var(--serif);font-weight:700;font-size:inherit;color:var(--goldDeep);margin-top:4px}

/* 15 team */
.about{background:radial-gradient(circle at 50% 0%,#123b60,var(--navy) 60%)}
.teamGrid{max-width:1300px;margin:52px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.teamGrid article{background:var(--navy2);border:1px solid #234360;border-radius:20px;overflow:hidden;padding-bottom:24px}
.teamPhoto{aspect-ratio:4/4.4;overflow:hidden;background:#e9edf1}
.teamPhoto img{width:100%;height:100%;object-fit:cover;object-position:top center}
.teamGrid h3{font-family:var(--serif);font-size:22px;margin:20px 20px 4px}
.teamGrid article>b{display:block;margin:0 20px;color:var(--gold2);font-size:14px}
.teamGrid p{margin:10px 20px 0;color:#a9b8c6;font-size:13px;line-height:1.6}
.arnLine{max-width:1100px;margin:36px auto 0;text-align:center;color:#d6dee6;font-size:16px}
.arnLine b{color:#fff}
.arnLine>span{display:block;margin-top:6px;color:var(--gold2);letter-spacing:.04em;font-size:15px}
.trustStrip{max-width:1200px;margin:24px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;border:1px solid #2c4b68;border-radius:16px;padding:18px 12px}
.trustStrip li{padding:0 18px;color:#d6dee6}
.trustStrip li+li{border-left:1px solid #2c4b68}
.trustStrip b{color:var(--gold2)}
.specialism{text-align:center;color:#a9b8c6;margin-top:16px}

/* 16 faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,80px);max-width:1300px;margin:0 auto;align-items:start}
.faqHead{position:sticky;top:110px}
.faqList details{border-bottom:1px solid var(--line)}
.faqList summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:700;font-size:17px}
.faqList summary::-webkit-details-marker{display:none}
.faqList summary .ic{color:var(--goldDeep);transition:transform .3s}
.faqList details[open] summary .ic{transform:rotate(180deg)}
.faqList details p{padding:0 0 22px;color:var(--muted);line-height:1.75}
.faqList details a{color:var(--goldDeep);text-decoration:underline}
.faqNote{margin-top:28px;padding:20px 22px;border-radius:14px;background:var(--soft);border:1px solid #ecdcb0;font-size:14px;line-height:1.65;color:#4b5966}

/* 17 final */
.final{position:relative;overflow:hidden;color:#fff;text-align:center;padding:clamp(90px,10vw,140px) 20px}
.finalArt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 55%}
.finalShade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(4,17,31,.55),rgba(4,17,31,.9) 75%)}
.finalInner{position:relative;z-index:2;max-width:980px;margin:0 auto}
.finalMark{width:84px;height:84px;margin:0 auto 18px;filter:drop-shadow(0 0 22px rgba(229,196,114,.55))}
.final h2{margin:0 auto;text-align:center;color:#fff}
.final h2 span{display:block;color:var(--gold2)}
.finalPoints{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:30px 0 38px;font-size:17px;color:#e3eaf0}
.finalPoints li{display:flex;align-items:center;gap:8px}.finalPoints .ic{color:var(--gold2)}
.finalSign{font-family:var(--serif);font-size:clamp(18px,2vw,24px);color:#e3eaf0;margin-top:30px}

/* footer */
.footer{background:#04121f;color:#c3cfda;padding:64px max(5vw,20px) 28px}
.footerGrid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.3fr .8fr 1.2fr 1fr;gap:36px}
.fBrand>img{height:56px;width:auto}
.fBrand p{margin-top:12px;color:#93a6b8}
.msn{margin-top:22px;display:inline-flex;flex-direction:column;gap:6px;padding:12px 14px;background:#fff;border-radius:12px}
.msn span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6b7784;font-weight:700}
.msn img{height:52px;width:auto}
.footer h4{margin:0 0 14px;color:#fff;font-size:15px}
.footerGrid>div>a{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px;font-size:14.5px;line-height:1.5}
.footerGrid>div>a:hover{color:var(--gold2)}
.footerGrid .ic{color:var(--gold2);margin-top:2px}
.social{display:flex;gap:10px;margin-bottom:16px}
.social a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid #2c4b68}.social a:hover{border-color:var(--gold2)}
.social .ic{margin:0}
.fCta{font-size:13.5px;margin-top:6px;padding:11px 14px}
.amfi{max-width:1300px;margin:44px auto 0;padding:16px 0;border-top:1px solid #1b3247;font-size:14px;color:#dbe3ea;text-align:center}
.amfi b{color:var(--gold2)}
.disclaimer{max-width:1300px;margin:0 auto;padding:18px 0;border-top:1px solid #1b3247;font-size:14px;line-height:1.6;color:#93a6b8}
.disclaimer p+p{margin-top:8px}.disclaimer b{color:#c3cfda}
.copyright{max-width:1300px;margin:0 auto;padding-top:18px;border-top:1px solid #1b3247;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}
.copyright nav{display:flex;gap:18px}.copyright nav a:hover{color:var(--gold2)}
.copyright>b{color:var(--gold2)}
.waFloat{position:fixed;right:18px;bottom:18px;z-index:90;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.waFloat .ic{width:28px;height:28px}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(3,12,22,.88);display:grid;place-items:center;padding:20px}
.lightbox[hidden]{display:none}
.lbInner{position:relative;width:min(1000px,100%)}
.lbFrame{aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.lbFrame iframe{width:100%;height:100%;border:0}
.lbClose{position:absolute;top:-48px;right:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;display:grid;place-items:center}

/* ===== one-time scroll motion (only when JS is on) ===== */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js [data-reveal].in{opacity:1;transform:none}
/* staggered children */
.js .qGrid li,.js .outputs li,.js .dreamGrid article,.js .personaGrid article,.js .protectGrid li,.js .tlCol article,.js .path li,.js .youNode,.js .inGroup span,.js .videoGrid .video,.js .teamGrid article{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0) * 100ms + var(--d,0ms))}
.js .in .qGrid li,.js .in.qGrid li,.js .in .outputs li,.js .in.dreamGrid article,.js .in.personaGrid article,.js .in .protectGrid li,.js .in .tlCol article,.js .in .path li,.js .in .youNode,.js .in .inGroup span,.js .in.videoGrid .video,.js .in.teamGrid article{opacity:1;transform:none}
/* engine: inputs → flow → core pulse → outputs */
.js .engine .outputs li{--d:1400ms}
.js .engine.in .flow i::after{animation:travel 1.1s var(--ease) .35s 1 both}
.js .engine.in .flow i:nth-child(2)::after{animation-delay:.5s}.js .engine.in .flow i:nth-child(3)::after{animation-delay:.65s}
.js .engine.in .flowOut i::after{animation-delay:1.25s}.js .engine.in .flowOut i:nth-child(2)::after{animation-delay:1.35s}.js .engine.in .flowOut i:nth-child(3)::after{animation-delay:1.45s}
@keyframes travel{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 7px);opacity:0}}
.js .engine.in .core{animation:pulse 1.2s var(--ease) 1s 1}
@keyframes pulse{0%{box-shadow:0 0 0 1px rgba(229,196,114,.4),0 0 0 12px rgba(196,154,58,.08),0 30px 70px rgba(6,26,46,.25)}45%{box-shadow:0 0 0 1px rgba(229,196,114,.9),0 0 0 26px rgba(229,196,114,.22),0 0 80px rgba(229,196,114,.45)}100%{box-shadow:0 0 0 1px rgba(229,196,114,.4),0 0 0 12px rgba(196,154,58,.08),0 30px 70px rgba(6,26,46,.25)}}
/* how: line travels 01→04, icons light in sequence */
.js .stepLine i{transform:scaleX(0);transition:transform 1.6s linear .2s}
.js .steps.in .stepLine i{transform:scaleX(1)}
.js .steps .stepIc{transition-delay:calc(var(--i,0) * 450ms + 200ms)}
.js .steps.in article:not(.final4) .stepIc{background:#fff8e6;box-shadow:0 0 0 6px rgba(229,196,114,.18)}
.js .steps.in .final4 .stepIc{box-shadow:0 0 0 7px rgba(229,196,114,.3)}
/* reveal bars start empty */
.js .compare .bar i{width:0}.js .compare.in .bar i{width:var(--w)}
.js .compare .recommended{opacity:.0;transform:translateX(20px);transition:opacity .8s var(--ease) .9s,transform .8s var(--ease) .9s}
.js .compare.in .recommended{opacity:1;transform:none}
.js .compare .transform{opacity:0;transition:opacity .6s .6s}.js .compare.in .transform{opacity:1}
/* dreams: "Amount/Year" chips firm up */
.js .dreamGrid.in p span{border-style:solid;background:rgba(229,196,114,.14);transition-delay:calc(var(--i,0) * 100ms + 700ms)}
/* action timeline */
.js .cap3 span{opacity:.25;transition:opacity .5s}.js .cap3.in span{opacity:1}
.js .cap3.in span:nth-of-type(2){transition-delay:.4s}.js .cap3.in span:nth-of-type(3){transition-delay:.8s}
.js .tlTrack i{transform:scaleX(0);transition:transform 2s var(--ease) .2s}.js .timeline.in .tlTrack i{transform:scaleX(1)}
.js .tlCols .tlCol:nth-child(1) article{--d:300ms}.js .tlCols .tlCol:nth-child(2) article{--d:900ms}.js .tlCols .tlCol:nth-child(3) article{--d:1500ms}
.js .path.trad li{--d:0ms}.js .path.fh li{--d:250ms}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .js [data-reveal],.js [data-reveal] *{opacity:1!important;transform:none!important}
 .js .compare .bar i{width:var(--w)!important}.js .stepLine i,.js .tlTrack i{transform:none!important}
}

/* ===== responsive ===== */
@media (max-width:1180px){
 .navlinks{display:none}
 .navlinks.open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:16px 20px 22px;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px rgba(0,0,0,.3)}
 .navlinks.open>a{padding:12px 4px;font-size:16px}
 .navlinks.open .login{text-align:center;margin-top:8px}
 .navlinks.open .navcta{margin-top:6px;padding:14px;font-size:15px}
 .menubtn{display:block}
 .engine{grid-template-columns:1fr;gap:18px;justify-items:center}
 .inputs{align-items:center}.inGroup{justify-content:center}.inGroup b{text-align:center}
 .flow{height:56px;width:2px}.flow i{top:0!important;bottom:0;left:50%;right:auto;width:1px;height:auto;background:linear-gradient(transparent,rgba(196,154,58,.6),transparent)}
 .flow i:nth-child(n+2){display:none}.flow i::after{display:none}
 .outputs{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:640px}.outputs li{max-width:none}
 .compare{grid-template-columns:1fr;max-width:640px}.transform .ic{transform:rotate(90deg)}
 .qGrid,.dreamGrid,.personaGrid{grid-template-columns:repeat(2,1fr)}
 .videoGrid,.teamGrid{grid-template-columns:repeat(2,1fr)}
 .footerGrid{grid-template-columns:1fr 1fr}
 .path ol{flex-direction:column;align-items:flex-start;gap:12px}.path li.br{display:none}
 .path li:not(:last-child):not(.br)::after{content:"";position:absolute;right:auto!important;left:22px;top:100%!important;width:1.5px!important;height:12px!important;display:block}
}
@media (max-width:900px){
 .why,.protect,.faq{grid-template-columns:1fr}
 .faqHead{position:static}
 .split{grid-template-columns:1fr}.splitArrow{padding:16px 0}.splitArrow .ic{transform:rotate(90deg)}
 .youMap{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .youNode{min-width:0}
 .youCore{grid-column:1/-1;grid-row:1;justify-self:center;margin-bottom:28px}
 .youCol{display:contents}
 .youCol .youNode{margin:0!important;padding:14px;font-size:14.5px}.youNode::after{display:none}
 .youNode .ic{width:28px;height:28px}
 .steps{grid-template-columns:1fr 1fr}.stepLine{display:none}
 .tlTrack{display:none}
 .tlCols{grid-template-columns:1fr;gap:6px;position:relative;padding-left:26px;border-left:2px solid rgba(229,196,114,.35);margin-left:8px}
 .tlCol h3{position:relative}
 .tlCol h3::before{content:"";position:absolute;left:-34px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--navy);border:2px solid var(--gold2)}
 .diff{grid-template-columns:1fr}.vs{height:70px}.vs::before{top:50%;bottom:auto;left:10%;right:10%;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
 .reviewGrid{grid-template-columns:1fr;max-width:560px}
 .milestones{display:none}
 .hero{padding-bottom:190px}
 .heroJourney{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}
 .heroJourney .sep{display:none}
 .heroJourney>div>.ic{width:34px;height:34px;padding:7px}
 .heroJourney b{font-size:13px}.heroJourney span{font-size:11px}
}
@media (max-width:600px){
 .nav{height:66px}.navlinks.open{top:66px}
 .brand img{height:36px}.brand360{font-size:16px}
 html{scroll-padding-top:72px}
 .hero{min-height:auto;padding-top:40px;padding-bottom:400px}
 .heroArt{object-position:74% 50%;height:100%}
 .heroShade{background:linear-gradient(180deg,rgba(4,17,31,.96) 0%,rgba(4,17,31,.88) 42%,rgba(4,17,31,.35) 62%,rgba(4,17,31,.15) 78%,rgba(4,17,31,.6) 100%)}
 .hero h1{font-size:36px}
 .btn-lg{width:100%;padding:16px}
 .btn-xl{width:100%;font-size:16px;padding:18px}
 .qGrid,.dreamGrid,.personaGrid,.videoGrid,.steps,.protectGrid{grid-template-columns:1fr}
 .teamGrid{gap:12px}.teamGrid h3{font-size:17px;margin:14px 12px 4px}.teamGrid article>b{margin:0 12px;font-size:12.5px}.teamGrid p{margin:8px 12px 0;font-size:11.5px}.teamGrid article{padding-bottom:16px}
 .whyArt{margin:0 -14px}
 .qGrid li{min-height:0;display:flex;align-items:center;gap:14px;padding:18px 44px 18px 18px;font-size:16px}
 .qGrid .ic{margin:0;width:30px;height:30px}
 .qGrid li::before{top:50%;transform:translateY(-50%);right:16px}
 .dreamGrid{grid-template-columns:1fr 1fr;gap:12px}
 .dreamGrid article{min-height:180px;padding:18px 16px}
 .dreamGrid article>.ic{width:40px;height:40px;padding-bottom:12px}
 .dreamGrid h3{font-size:16.5px}.dreamGrid p{flex-direction:column;gap:5px}.dreamGrid p span{font-size:12.5px;text-align:center}
 .personaGrid{grid-template-columns:1fr 1fr;gap:12px}
 .personaGrid article{padding:20px 16px}.personaGrid .ic{width:44px;height:44px;margin-bottom:12px}.personaGrid h3{font-size:17px}.personaGrid p{font-size:13px}
 .outputs{grid-template-columns:1fr}
 .core{width:240px}
 .jCard header,.jCard dl{padding-left:18px;padding-right:18px}.bar{margin-left:18px;margin-right:18px}
 .jCard dt{font-size:14px}.jCard dd{font-size:17px}
 .trustStrip{flex-direction:column;align-items:center;gap:8px}.trustStrip li+li{border-left:0}
 .footerGrid{grid-template-columns:1fr}
 .copyright{flex-direction:column}
 .cap3{gap:8px}
 .path li{font-size:14px;padding:8px 12px}
}

/* legal pages */
.legalNav{display:flex;align-items:center;gap:18px;font-size:14px;color:#d6dee6}
.legalNav>a:first-child:hover{color:var(--gold2)}
.legal{max-width:820px;margin:0 auto;padding:64px 20px 80px}
.legal h1{font-family:var(--serif);font-size:clamp(34px,4vw,52px);line-height:1.1}
.updated{color:var(--muted);margin-top:10px;font-size:14px}
.legalTabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 36px}
.legalTabs a{padding:8px 14px;border:1px solid var(--line);border-radius:99px;font-size:14px}
.legalTabs a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.legal article{font-size:16.5px;line-height:1.75;color:#2a3a4a}
.legal article h2{font-family:var(--serif);font-size:24px;margin:36px 0 10px;color:var(--ink);max-width:none}
.legal article p{margin:0 0 14px}
.legal article ul{list-style:disc;padding-left:22px;margin:0 0 14px}
.legal article li{margin-bottom:8px}
.legal article a{color:var(--goldDeep);text-decoration:underline}
.legalFoot{padding-top:10px}
.legalFoot .amfi{margin-top:0;border-top:0}
@media (max-width:700px){.legalNav>a:first-child{display:none}.legalNav .navcta{font-size:12px;padding:9px 11px}}
@media (min-width:901px) and (max-height:820px){.hero h1{font-size:clamp(36px,3.8vw,54px)}.hero h1 span{margin-top:8px}.milestones{margin-top:20px}.trustMini{margin-top:16px}}

/* ===== V2.1 fixes ===== */
.arns{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}
.arns span{white-space:nowrap}
.arnLine .arns{display:flex;margin-top:8px;color:var(--gold2);font-size:15px}
.amfi .arns{display:inline-flex;margin-left:18px}
.copyright nav{flex-wrap:wrap;column-gap:18px}.copyright nav a{white-space:nowrap}
.reviewHint{text-align:center;color:var(--muted);font-size:14px;margin-top:6px}
.review{cursor:zoom-in}
.lbImg{background:#fff;border-radius:14px;padding:14px;max-height:80vh;overflow:auto}
.lbImg img{width:100%;height:auto}
.lbImg a{display:inline-flex;gap:8px;align-items:center;margin-top:12px;color:var(--goldDeep);font-weight:700}
.waFloat{transition:opacity .3s,transform .3s}.waFloat.away{opacity:0;transform:translateY(20px);pointer-events:none}
@media (max-width:600px){
 .whyChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding:0 14px}
 .whyChips span{padding:7px 12px;border-radius:99px;border:1px dashed var(--gold);font-size:14px;font-weight:600;background:#fffcf4}
 .whyChips em{width:100%;font-style:normal;color:var(--muted);font-size:14.5px;margin-top:4px}
 .heroJourney span{font-size:12.5px}.heroJourney b{font-size:14px}
 .teamGrid{grid-template-columns:1fr;gap:16px}
 .teamPhoto{aspect-ratio:4/3.3}
 .teamGrid h3{font-size:21px;margin:16px 18px 4px}.teamGrid article>b{margin:0 18px;font-size:14px}.teamGrid p{margin:8px 18px 0;font-size:13.5px}
 .footerGrid>div>a{padding:11px 0;margin-bottom:0}
 .copyright nav a{padding:8px 0}
 .amfi .arns{display:flex;margin:8px 0 0}
 .footerGrid>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.footerGrid>div:nth-child(2) h4{grid-column:1/-1}
}
@media (max-width:400px){.youMap{grid-template-columns:1fr}.youCol .youNode{padding:12px 16px}}
@media (max-width:900px){
 .heroJourney span{font-size:12.5px}.heroJourney b{font-size:14px}
 .footerGrid>div>a{padding:11px 0;margin-bottom:0}
 .copyright nav a{padding:8px 0}
}

/* =====================================================================
   V2.2 — THEME B: IVORY HERITAGE
   Warm ivory paper, deep navy ink, antique gold. Dark only in hero + final.
   ===================================================================== */
:root{
 --ivory:#f6f1e6; --ivory2:#efe7d5; --paper:#fffdf8; --line:#e6dcc6; --ink:#10213a; --muted:#55606d;
 --navy:#10213a; --navy2:#16294a; --navy3:#1d3a63; --gold:#c7a04c; --gold2:#ead19a; --goldDeep:#86621a; --soft:var(--ivory2);
}
body{background:var(--ivory);color:var(--ink);font-size:17px}
.lead{font-size:clamp(17px,1.4vw,20px)}
.signature{font-size:clamp(17px,1.5vw,21px)}
.kicker{font-size:12.5px}

/* buttons: navy with gold text on light; gold kept on dark */
.btn-gold{background:var(--navy);color:var(--gold2);box-shadow:0 10px 26px rgba(16,33,58,.18)}
.btn-gold:hover{box-shadow:0 14px 32px rgba(16,33,58,.26)}
.hero .btn-gold,.final .btn-gold,.footer .btn-gold{background:linear-gradient(135deg,#f1d68e,var(--gold) 70%);color:#0b1626;box-shadow:0 10px 30px rgba(199,160,76,.3)}
.btn-line{background:var(--paper);border-color:var(--gold)}

/* nav: light ivory with full-colour logo */
.nav{background:rgba(251,248,241,.96);color:var(--ink);border-bottom:1px solid var(--line)}
.brand360{color:var(--goldDeep);border-left-color:var(--line)}
.navlinks>a:not(.btn):not(.login){color:#33414f}.navlinks>a:not(.btn):not(.login):hover{color:var(--goldDeep)}
.login{border-color:var(--line);color:#33414f}.login:hover{border-color:var(--goldDeep);color:var(--ink)}
.menubtn{color:var(--ink)}
@media (max-width:1180px){.navlinks.open{background:#fbf8f1;border-bottom-color:var(--line);box-shadow:0 20px 40px rgba(16,33,58,.12)}.navlinks.open>a:not(.btn):not(.login){color:var(--ink)}}

/* HERO: text further left, sentence case, labels on the roadmap */
.heroInner{max-width:none;margin:0}
.hero{padding-left:max(3.5vw,20px);padding-right:max(3.5vw,20px)}
.heroContent{max-width:600px}
.hero h1{font-size:clamp(38px,4.3vw,62px);letter-spacing:-.015em}
.hero h1 span{font-size:.74em}
.heroShade{background:linear-gradient(90deg,rgba(9,21,38,.93) 0%,rgba(9,21,38,.78) 30%,rgba(9,21,38,.2) 58%,rgba(9,21,38,0) 100%),linear-gradient(0deg,rgba(9,21,38,.7) 0%,transparent 32%)}
.trustMini span+span::before{content:"•";margin-right:22px;color:var(--gold2)}
.trustMini{gap:8px 22px;font-size:15px;letter-spacing:.02em}
.pins{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .6s .3s}
.pins.ready{opacity:1}
.pin{position:absolute;transform:translate(-50%,-145%);white-space:nowrap;font-size:13px;font-weight:700;color:var(--navy);background:rgba(251,248,241,.95);padding:4px 10px;border-radius:99px;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.pin::after{content:"";position:absolute;left:50%;top:100%;border:5px solid transparent;border-top-color:rgba(251,248,241,.95);transform:translateX(-50%)}
.pin.here{transform:translate(-50%,-50%);background:var(--gold);color:var(--navy);font-size:14px;padding:6px 14px;box-shadow:0 0 0 6px rgba(229,196,114,.25),0 8px 20px rgba(0,0,0,.4)}
.pin.here::after{border-top-color:var(--gold)}
.pin[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.pin.here{animation:herePulse 2.4s ease-out 1.2s 2}}
@keyframes herePulse{0%{box-shadow:0 0 0 0 rgba(229,196,114,.6),0 8px 20px rgba(0,0,0,.4)}100%{box-shadow:0 0 0 18px rgba(229,196,114,0),0 8px 20px rgba(0,0,0,.4)}}

/* light sections share ivory; alternate softly */
.why,.begins,.what,.reveal,.protect,.different,.faq,.audience{background:var(--ivory)}
.aspiration{background:linear-gradient(var(--ivory),var(--ivory2))}
.soft{background:var(--ivory2)}
.whyArt img{mix-blend-mode:multiply}

/* QUESTIONS — light, bigger icons, no numbers */
.questions{background:var(--paper);color:var(--ink)}
.questions .pause{color:var(--ink)}.questions .pause span{color:var(--goldDeep)}
.qGrid li{background:var(--ivory);border:1px solid var(--line);color:var(--ink);font-size:18px;padding:26px 24px;min-height:0}
.qGrid li::before{content:none!important}
.qGrid .ic{width:54px;height:54px;padding:12px;border-radius:50%;background:var(--navy);color:var(--gold2);stroke-width:1.4;margin-bottom:18px}

/* WHAT IS — larger input text */
.inGroup b{font-size:14px}
.inGroup span{font-size:16px;padding:10px 15px;background:var(--paper);border-color:var(--line)}
.inGroup .ic{width:1.35em;height:1.35em}
.outputs li{background:var(--paper);border-color:var(--line);font-size:17px}
.core{background:radial-gradient(circle at 50% 35%,var(--navy3),var(--navy) 70%)}

/* HOW */
.steps article{background:var(--paper);border-color:var(--line)}
.steps .final4{background:var(--paper)}

/* REVEAL cards on ivory */
.jCard{background:var(--paper)}
.transform img{background:var(--navy)}

/* DREAMS — bigger icons, worked examples */
.dreamGrid article{min-height:0;justify-content:flex-start;padding:26px 24px 24px;gap:0}
.dIc{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:rgba(229,196,114,.12);border:1px solid rgba(229,196,114,.45);margin-bottom:18px}
.dIc .ic{width:42px;height:42px;color:var(--gold2);stroke-width:1.3}
.dreamGrid h3{font-size:22px;margin-bottom:16px}
.dreamGrid dl{margin:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(229,196,114,.3);padding-top:14px}
.dreamGrid dl>div+div{border-left:1px solid rgba(229,196,114,.3);padding-left:12px}
.dreamGrid dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#a9b8c6}
.dreamGrid dd{margin:2px 0 0;font-family:var(--serif);font-size:20px;font-weight:700;color:#fff;line-height:1.15}
.dreamGrid .fut dd{color:var(--gold2)}
.dreamGrid dd small{display:block;font-family:var(--sans);font-size:11.5px;font-weight:500;color:#a9b8c6}
.dreams .illus{margin-top:26px}

/* PROTECT */
.protectGrid li{background:var(--paper);border-color:var(--line)}

/* ACTION — light timeline */
.action{background:var(--paper);color:var(--ink)}
.cap3 span{color:var(--ink)}.cap3 .ic{color:var(--goldDeep)}
.tlTrack{background:var(--line)}
.tlTrack em{color:var(--goldDeep)}.tlTrack em::before{background:var(--paper);border-color:var(--gold)}
.tlCol h3{color:var(--ink)}.tlCol h3 small{color:var(--goldDeep)}
.tlCol article{background:var(--ivory);border-color:var(--line)}
.tlCol article>.ic{background:var(--navy);color:var(--gold2)}
.tlCol p{color:#3d4b59}.meta{color:var(--muted)}.meta i{color:var(--ink)}.meta i.hi{color:#b5442f}
@media (max-width:900px){.tlCols{border-left-color:var(--gold)}.tlCol h3::before{background:var(--paper);border-color:var(--gold)}}

/* FOR WHOM — illustrated badges */
.personaGrid article{background:var(--paper);border-color:var(--line);text-align:center;padding:30px 22px 28px}
.badgeArt{position:relative;display:grid;place-items:center;width:112px;height:112px;margin:0 auto 20px;border-radius:50%;background:radial-gradient(circle at 50% 38%,var(--navy3),var(--navy) 72%);box-shadow:0 0 0 6px var(--ivory),0 0 0 7px var(--gold),0 14px 30px rgba(16,33,58,.2)}
.badgeArt::after{content:"";position:absolute;inset:10px;border-radius:50%;border:1px dashed rgba(229,196,114,.45)}
.personaGrid .badgeArt .ic{width:56px;height:56px;margin:0;color:var(--gold2);stroke-width:1.2}
.personaGrid h3{font-size:21px}
.personaGrid p{font-size:15px}

/* STORIES / DIFFERENT */
.video,.reviewGrid a{background:var(--paper);border-color:var(--line)}
.trad{background:var(--ivory2)}.trad li{background:var(--paper)}
.vs span{background:var(--paper)}

/* TEAM — light, big stats */
.about{background:var(--paper);color:var(--ink)}
.teamGrid article{background:var(--ivory);border:1px solid var(--line)}
.teamGrid h3{color:var(--ink)}.teamGrid article>b{color:var(--goldDeep)}.teamGrid p{color:var(--muted)}
.stats{max-width:1300px;margin:44px auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats li{padding:28px 14px;text-align:center}
.stats li+li{border-left:1px solid var(--line)}
.stats b{display:block;font-family:var(--serif);font-size:clamp(30px,3.4vw,46px);line-height:1.05;color:var(--navy)}
.stats li:first-child b,.stats li:nth-child(2) b{color:var(--goldDeep)}
.stats span{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.specialism{color:var(--muted);margin-top:22px}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats li{border-left:0!important;border-bottom:1px solid var(--line)}.stats li:nth-child(odd){border-right:1px solid var(--line)}.stats li:last-child{grid-column:1/-1;border-right:0;border-bottom:0}}

/* FAQ */
.faqList details{border-bottom-color:var(--line)}
.faqNote{background:var(--paper);border-color:var(--line)}

/* FINAL — new background (no reuse of hero): navy dusk + golden road */
.final{background:radial-gradient(ellipse at 50% 100%,#2a3f63 0%,var(--navy) 55%,#0a1628 100%)}
.finalRoad{position:absolute;inset:0;width:100%;height:100%}
.finalInner{z-index:2}

/* footer stays deep navy */
.footer{background:#0b1626}
.tlTrack em{color:#6f5214}.trad small{color:#4f5a66}
@media (max-width:600px){
 .personaGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .personaGrid article{padding:22px 12px 20px}
 .badgeArt{width:84px;height:84px;margin-bottom:14px;box-shadow:0 0 0 4px var(--ivory),0 0 0 5px var(--gold),0 10px 22px rgba(16,33,58,.18)}
 .badgeArt::after{inset:7px}
 .personaGrid .badgeArt .ic{width:42px;height:42px}
 .personaGrid h3{font-size:17px}.personaGrid p{font-size:13.5px}
 .dreamGrid{grid-template-columns:1fr}
 .dreamGrid article{flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 14px;padding:20px}
 .dIc{width:58px;height:58px;margin:0}.dIc .ic{width:32px;height:32px}
 .dreamGrid h3{flex:1;min-width:0;margin:0;font-size:19px}
 .dreamGrid dl{width:100%;margin-top:14px}
 .qGrid li{font-size:16.5px;padding:16px 18px}
 .qGrid .ic{width:46px;height:46px;padding:10px;margin:0}
 .stats b{font-size:30px}
 .pin.here{font-size:13px}
}
@media (max-width:600px){
 .heroShade{background:linear-gradient(180deg,rgba(9,21,38,.97) 0%,rgba(9,21,38,.92) 48%,rgba(9,21,38,.45) 66%,rgba(9,21,38,.12) 80%,rgba(9,21,38,.65) 100%)}
 .trustMini{gap:6px 14px;font-size:14px}.trustMini span+span::before{margin-right:14px}
}
.pin.side{transform:translate(30px,-50%)}
.pin.side::after{left:auto;right:100%;top:50%;transform:translateY(-50%);border-top-color:transparent;border-right-color:rgba(251,248,241,.95)}
.legalNav{color:#33414f}.legalNav>a:first-child:hover{color:var(--goldDeep)}
.legal article{color:#26364a}
.legalTabs a{background:var(--paper);border-color:var(--line)}
.legalTabs a[aria-current]{background:var(--navy);border-color:var(--navy);color:var(--gold2)}

/* ===== V2.3 fixes ===== */
/* #2 larger logo */
.nav{height:92px}
.brand img{height:64px}
.brand360{font-size:24px}
html{scroll-padding-top:100px}
@media (max-width:1180px){.navlinks.open{top:92px}}
@media (max-width:600px){.nav{height:72px}.navlinks.open{top:72px}.brand img{height:46px}.brand360{font-size:19px}html{scroll-padding-top:80px}}
/* #3 "You Are Here" stands out: navy pill, white text, gold ring, pin icon, pulsing halo */
.pin.here{background:var(--navy);color:#fff;border:2px solid var(--gold2);font-size:15px;padding:7px 16px 7px 30px;letter-spacing:.02em;box-shadow:0 0 0 0 rgba(229,196,114,.7),0 10px 24px rgba(0,0,0,.5)}
.pin.here::before{content:"";position:absolute;left:11px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#ff6b4a;box-shadow:0 0 0 3px rgba(255,107,74,.35)}
.pin.here::after{border-top-color:var(--gold2)}
@media (prefers-reduced-motion:no-preference){.pin.here{animation:herePulse2 2.2s ease-out infinite}}
@keyframes herePulse2{0%{box-shadow:0 0 0 0 rgba(229,196,114,.75),0 10px 24px rgba(0,0,0,.5)}70%{box-shadow:0 0 0 16px rgba(229,196,114,0),0 10px 24px rgba(0,0,0,.5)}100%{box-shadow:0 0 0 0 rgba(229,196,114,0),0 10px 24px rgba(0,0,0,.5)}}
/* #4 Why image fills its space */
.why{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(24px,4vw,64px);max-width:1500px;min-height:0}
.whyArt{margin:0}
.whyArt img{width:100%;max-width:none;transform:scale(1.04);transform-origin:center}
@media (max-width:900px){.whyArt img{transform:none}}
@media (max-width:900px){.why{grid-template-columns:1fr}.whyArt{margin:0 -10px}}
/* #5 catchy question icons */
.qGrid li{display:flex;flex-direction:column;gap:18px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.qGrid li:hover{transform:translateY(-5px);border-color:#e3cd8e;box-shadow:0 20px 40px rgba(16,33,58,.12)}
.qIc{display:grid;place-items:center;width:92px;height:92px;border-radius:24px;background:radial-gradient(circle at 30% 25%,#24426e,var(--navy) 70%);box-shadow:0 0 0 1px rgba(229,196,114,.35),0 12px 26px rgba(16,33,58,.28);transition:transform .35s var(--ease)}
.qGrid li:hover .qIc{transform:scale(1.06) rotate(-2deg)}
.qi{width:64px;height:64px;display:block}
@media (max-width:600px){.qGrid li{flex-direction:row;align-items:center;gap:16px}.qIc{width:68px;height:68px;border-radius:18px;flex:none}.qi{width:48px;height:48px}}
/* #6 bigger, bold "Your Life / Your Numbers" */
.engine{grid-template-columns:minmax(0,1.15fr) 80px 280px 80px minmax(0,1fr)}
.inputs{gap:30px}
.inGroup{max-width:440px;gap:10px}
.inGroup b{font-size:16px;letter-spacing:.16em;font-weight:800;color:var(--goldDeep);margin-bottom:2px}
.inGroup span{font-size:18px;font-weight:700;color:var(--ink);padding:11px 18px;border-width:1.5px;border-color:#e3cd8e}
.inGroup .ic{width:22px;height:22px;color:var(--goldDeep);stroke-width:1.8}
.outputs li{font-weight:700}
@media (max-width:1180px){.engine{grid-template-columns:1fr}.inGroup{max-width:none}}
@media (max-width:600px){.inGroup span{font-size:16px;padding:9px 14px}.inGroup b{font-size:14px}}
/* #7 catchy step icons */
.stepIc{width:96px;height:96px;margin-bottom:20px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#24426e,var(--navy) 70%);border:0;box-shadow:0 0 0 6px var(--paper),0 0 0 7.5px var(--gold),0 14px 30px rgba(16,33,58,.25);transition:transform .35s var(--ease),box-shadow .4s}
.steps .final4 .stepIc{background:radial-gradient(circle at 30% 25%,#2c5089,var(--navy) 70%);box-shadow:0 0 0 6px var(--paper),0 0 0 8px var(--gold2),0 0 30px rgba(229,196,114,.55),0 14px 30px rgba(16,33,58,.3)}
.si{width:60px;height:60px;display:block}
img.si{width:62px;height:62px}
.steps article:hover .stepIc{transform:scale(1.07) rotate(-3deg)}
.stepLine{top:76px}
.js .steps.in article:not(.final4) .stepIc{background:radial-gradient(circle at 30% 25%,#24426e,var(--navy) 70%);box-shadow:0 0 0 6px var(--paper),0 0 0 7.5px var(--gold),0 0 22px rgba(229,196,114,.4),0 14px 30px rgba(16,33,58,.25)}
.js .steps.in .final4 .stepIc{box-shadow:0 0 0 6px var(--paper),0 0 0 8px var(--gold2),0 0 34px rgba(229,196,114,.65),0 14px 30px rgba(16,33,58,.3)}
@media (max-width:600px){.stepIc{width:80px;height:80px}.si{width:50px;height:50px}img.si{width:52px;height:52px}}

/* ===== #9 Dream photo cards ===== */
.dreamGrid article{padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 14px 34px rgba(16,33,58,.10)}
.dPhoto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.dPhoto img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.dPhoto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(16,33,58,.55))}
.dreamGrid article:hover .dPhoto img{transform:scale(1.07)}
.dreamGrid .dIc{position:absolute;z-index:2;top:calc(min(100%,100vw)*0);margin:-36px 0 0 18px;width:64px;height:64px;background:var(--navy);border:2px solid var(--gold2);box-shadow:0 8px 20px rgba(16,33,58,.3)}
.dreamGrid article{position:relative}
.dreamGrid .dIc{position:relative;top:auto}
.dreamGrid .dIc .ic{width:32px;height:32px}
.dreamGrid h3{color:var(--ink);margin:8px 20px 14px;font-size:21px}
.dreamGrid dl{margin:auto 20px 20px;border-top-color:var(--line)}
.dreamGrid dl>div+div{border-left-color:var(--line)}
.dreamGrid dt{color:var(--muted)}
.dreamGrid dd{color:var(--ink)}
.dreamGrid .fut dd{color:var(--goldDeep)}
.dreamGrid dd small{color:var(--muted)}
@media (max-width:600px){
 .dreamGrid{grid-template-columns:1fr 1fr;gap:12px}
 .dreamGrid article{flex-direction:column;flex-wrap:nowrap;align-items:stretch;padding:0}
 .dreamGrid .dIc{width:48px;height:48px;margin:-26px 0 0 12px}.dreamGrid .dIc .ic{width:24px;height:24px}
 .dreamGrid h3{margin:6px 12px 10px;font-size:16px;flex:none}
 .dreamGrid dl{margin:auto 12px 12px;width:auto;grid-template-columns:1fr;gap:6px}
 .dreamGrid dl>div+div{border-left:0;padding-left:0;border-top:1px dashed var(--line);padding-top:6px}
 .dreamGrid dd{font-size:17px}
}

/* ===== #8 Persona scene cards (photo-ready) ===== */
.personaGrid article{padding:0;overflow:hidden;display:flex;flex-direction:column}
.pScene{position:relative;display:grid;place-items:center;height:170px;margin-bottom:18px;background:radial-gradient(circle at 50% 120%,rgba(229,196,114,.45),transparent 60%),radial-gradient(circle at 20% 10%,#24426e,var(--navy) 70%);overflow:hidden}
.pScene::before,.pScene::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(229,196,114,.25)}
.pScene::before{width:240px;height:240px}.pScene::after{width:330px;height:330px;border-style:dashed}
.pScene .badgeArt{margin:0;z-index:1;box-shadow:0 0 0 6px rgba(255,255,255,.06),0 0 0 7px rgba(229,196,114,.6),0 14px 30px rgba(0,0,0,.35)}
.pScene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.personaGrid h3,.personaGrid p{padding:0 18px}
.personaGrid p{padding-bottom:22px}
.personaGrid article:hover .badgeArt{transform:scale(1.06)}
.badgeArt{transition:transform .4s var(--ease)}
@media (max-width:600px){.pScene{height:120px;margin-bottom:12px}.pScene::before{width:170px;height:170px}.pScene::after{width:230px;height:230px}.personaGrid h3,.personaGrid p{padding:0 12px}.personaGrid p{padding-bottom:16px}}

/* ===== Health check ===== */
.healthCheck{background:linear-gradient(var(--paper),var(--ivory))}
.hcWrap{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:start}
.hcIntro{position:sticky;top:120px}
.hcForm{display:flex;flex-direction:column;gap:14px}
.hcQ{margin:0;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:16px 18px 18px}
.hcQ legend{float:left;width:100%;font-weight:700;font-size:16.5px;margin-bottom:12px;color:var(--ink)}
.opts{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative;cursor:pointer}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-block;padding:9px 14px;border-radius:99px;border:1.5px solid var(--line);background:var(--ivory);font-size:15px;font-weight:600;transition:all .2s}
.opt:hover span{border-color:var(--gold)}
.opt input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--gold2)}
.opt input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.hcResult{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;padding:22px;border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 18px 40px rgba(16,33,58,.2)}
.hcGauge{position:relative;width:170px;text-align:center}
.hcGauge svg{width:170px;height:auto;display:block}
.hcGauge #hcArc{transition:stroke-dashoffset 1s var(--ease),stroke .4s}
.hcGauge b{position:absolute;left:0;right:0;top:46px;font-family:var(--serif);font-size:38px;color:var(--gold2)}
.hcGauge span{font-size:12px;color:#a9b8c6}
.hcText p{margin:10px 0 16px;color:#d6dee6;font-size:15.5px}
.hcText .zone{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);font-weight:700}
.zone.danger{background:#c2412f;border-color:#c2412f;color:#fff}.zone.caution{background:#d99a2b;border-color:#d99a2b;color:#10213a}
.zone.stable{background:var(--gold);border-color:var(--gold);color:#10213a}.zone.growth{background:#1d8655;border-color:#1d8655;color:#fff}
@media (max-width:900px){.hcWrap{grid-template-columns:1fr}.hcIntro{position:static}}
@media (max-width:600px){.hcResult{grid-template-columns:1fr;justify-items:center;text-align:center}.hcText .btn{width:100%}.opt span{font-size:14px;padding:8px 12px}}

/* ===== Dream calculator ===== */
.calc{max-width:1300px;margin:44px auto 0;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,34px);box-shadow:0 18px 44px rgba(16,33,58,.08)}
.calcHead h3{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);margin:0}
.calcHead p{color:var(--muted);margin:6px 0 22px}
.calcGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px)}
.calcIn{display:flex;flex-direction:column;gap:8px}
.calcIn label{display:flex;justify-content:space-between;font-weight:700;font-size:15px;margin-top:10px}
.calcIn output{color:var(--goldDeep);font-variant-numeric:tabular-nums}
.calcIn select{font:inherit;font-weight:600;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--ivory);color:var(--ink)}
.calcIn input[type=range]{width:100%;accent-color:var(--navy);height:28px}
.calcOut{display:flex;flex-direction:column;gap:12px;background:var(--navy);color:#fff;border-radius:18px;padding:24px}
.calcOut div{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.calcOut span{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#a9b8c6}
.calcOut b{display:block;font-family:var(--serif);font-size:clamp(26px,3vw,36px);color:var(--gold2);font-variant-numeric:tabular-nums}
.calcOut .btn{margin-top:6px}
@media (max-width:900px){.calcGrid{grid-template-columns:1fr}}

/* ===== Hero spark ===== */
.spark{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffe7a3 35%,rgba(229,196,114,0) 70%);box-shadow:0 0 18px 6px rgba(255,214,120,.8);pointer-events:none;opacity:0;z-index:1}

/* ===== Mobile sticky action bar ===== */
.mBar{display:none}
@media (max-width:700px){
 .mBar{display:grid;grid-template-columns:auto auto 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(251,248,241,.97);border-top:1px solid var(--line);box-shadow:0 -10px 24px rgba(16,33,58,.12);backdrop-filter:blur(8px)}
 .mBar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 12px;border-radius:12px;font-weight:700;font-size:14px;border:1.5px solid var(--line);color:var(--ink);background:var(--paper)}
 .mBar a:nth-child(2) .ic{color:#1fa855}
 .mBar .mBarCta{background:var(--navy);border-color:var(--navy);color:var(--gold2);font-size:13px;text-align:center;line-height:1.2}
 .waFloat{display:none}
 body{padding-bottom:76px}
}
@media (max-width:700px){.mBar{transition:transform .35s var(--ease),opacity .35s}.mBar.away{transform:translateY(110%);opacity:0;pointer-events:none}}
/* #9b dream photos: intentional depth-of-field treatment so low-res sources read as a deliberate soft backdrop */
.dPhoto{aspect-ratio:16/10}
.dPhoto img{filter:blur(2.2px) saturate(1.15) contrast(1.04);transform:scale(1.08)}
.dreamGrid article:hover .dPhoto img{transform:scale(1.12)}
.dPhoto::after{background:radial-gradient(ellipse at 50% 55%,rgba(16,33,58,.05) 0%,rgba(16,33,58,.45) 100%),linear-gradient(180deg,rgba(16,33,58,0) 50%,rgba(16,33,58,.55))}
.dreamGrid .dIc{position:absolute;left:50%;top:0;margin:0;transform:translate(-50%,calc(min(16vw,9999px)*0));z-index:3}
.dreamGrid article{position:relative}
.dreamGrid .dPhoto+.dIc{top:calc((100% * 0) + 0px)}
.dPhoto .dIc{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0!important;width:88px!important;height:88px!important;background:rgba(16,33,58,.82)!important;border:2px solid var(--gold2)!important;box-shadow:0 0 0 8px rgba(255,255,255,.12),0 14px 34px rgba(0,0,0,.45)!important;backdrop-filter:blur(4px);transition:transform .4s var(--ease)}
.dPhoto .dIc .ic{width:44px!important;height:44px!important;color:var(--gold2);stroke-width:1.4}
.dreamGrid article:hover .dPhoto .dIc{transform:translate(-50%,-50%) scale(1.08)}
.dreamGrid h3{margin-top:16px}
@media (max-width:600px){.dPhoto .dIc{width:60px!important;height:60px!important}.dPhoto .dIc .ic{width:30px!important;height:30px!important}.dreamGrid h3{margin-top:10px}}
.dreamGrid .dPhoto .dIc{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
.dreamGrid article:hover .dPhoto .dIc{transform:translate(-50%,-50%) scale(1.08)!important}
/* #11 hero: keep the right side (Legacy tree, family) fully visible; trim the empty sky on the left instead */
@media (min-width:601px){.heroArt{object-position:100% 60%}}
