/* Antara Innovations v2: shared design system for the marketing pages.
   Loads AFTER site.css and only acts when <body class="v2">, so the assessment tools are untouched. */

body.v2{background:#F6F7F9; color:var(--ink); overflow-x:hidden}
body.v2 ::selection{background:var(--gold-light); color:#0b1714}

/* ---------- Reading progress ---------- */
.v2-progress{position:fixed; top:0; left:0; height:3px; width:100%; z-index:200; transform-origin:0 50%; transform:scaleX(0); background:linear-gradient(90deg,var(--gold),var(--gold-light)); pointer-events:none}

/* ---------- Header ---------- */
body.v2 .site-header{
  position:fixed; left:0; right:0; top:0; z-index:100;
  background:transparent; border-bottom:1px solid transparent; backdrop-filter:none; box-shadow:none;
  transition:background .35s ease, border-color .35s ease, transform .35s ease;
}
body.v2 .site-header.scrolled{background:rgba(11,23,20,.88); backdrop-filter:blur(14px); border-bottom-color:rgba(255,255,255,.08)}
body.v2 .brand .word{color:#fff}
body.v2 .nav-links a{color:rgba(255,255,255,.78); position:relative}
body.v2 .nav-links a:not(.cta)::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:1px; background:var(--gold-light); transform:scaleX(0); transform-origin:0 50%; transition:transform .3s ease}
body.v2 .nav-links a:not(.cta):hover::after, body.v2 .nav-links a[aria-current="page"]::after{transform:scaleX(1)}
body.v2 .nav-links a:hover, body.v2 .nav-links a[aria-current="page"]{color:#fff}
body.v2 .nav-links .cta{background:transparent; border:1px solid rgba(255,176,58,.7); color:#fff; border-radius:999px; padding:9px 20px}
body.v2 .nav-links .cta:hover{background:var(--gold); border-color:var(--gold); color:#0b1714}
body.v2 .nav-toggle{color:#fff}
@media (max-width:820px){
  body.v2 .nav-links{background:#0b1714; border-color:rgba(255,255,255,.1)}
  body.v2 .nav-links a{color:#fff; border-bottom-color:rgba(255,255,255,.1)}
  body.v2 .nav-links a:not(.cta)::after{display:none}
}

/* ---------- Generic building blocks ---------- */
body.v2 .wrap{max-width:1180px}
.h-sec{padding:clamp(64px,9vw,120px) 0}
.h-kicker{font-size:12px; letter-spacing:2.2px; text-transform:uppercase; font-weight:700; color:var(--gold-text); margin:0 0 16px}
.h-h2{font-size:clamp(28px,4vw,52px); line-height:1.08; letter-spacing:-.03em; font-weight:600; color:var(--navy); margin:0 0 20px; max-width:17em}
.h-h2 .serif, .p-title .serif{font-weight:500; font-style:italic; letter-spacing:-.015em; color:var(--gold-text)}
.h-lead{font-size:clamp(16px,1.35vw,19px); line-height:1.75; color:var(--muted); max-width:40em; margin:0 0 18px}
.dark{background:linear-gradient(180deg,#0b1714,#0b1714); color:#e4ece8}
.dark .h-kicker{color:var(--gold-light)}
.dark .h-h2{color:#fff}
.dark .h-h2 .serif{color:var(--gold-light)}
.dark .h-lead, .dark p{color:rgba(228,236,232,.78)}
.h-eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:2.4px; text-transform:uppercase; font-weight:700; color:var(--gold-light); margin:0 0 24px}
.h-eyebrow::before{content:""; width:34px; height:1px; background:var(--gold-light)}
.h-fade{opacity:0; transform:translateY(14px); animation:v2fade .9s cubic-bezier(.16,1,.3,1) forwards; animation-delay:calc(.15s + var(--d,0)*120ms)}
@keyframes v2fade{to{opacity:1; transform:none}}
.h-btn{display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:999px; font-size:15px; font-weight:600; border:1px solid rgba(255,255,255,.35); color:#fff; background:transparent; cursor:pointer; font-family:inherit; transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease}
.h-btn:hover{transform:translateY(-2px); border-color:#fff}
.h-btn.solid{background:var(--gold); border-color:var(--gold); color:#0b1714}
.h-btn.solid:hover{background:var(--gold-light); border-color:var(--gold-light)}
.h-btn .arr{transition:transform .25s ease}
.h-btn:hover .arr{transform:translateX(4px)}
.h-btn.ink{color:var(--navy); border-color:var(--navy)}
.h-btn.ink:hover{background:var(--navy); color:#fff}
.h-btn.ink.solid{background:var(--navy); color:#fff}
.h-btn.ink.solid:hover{background:var(--navy2); border-color:var(--navy2)}
.h-cta{display:flex; gap:14px; flex-wrap:wrap}

/* ---------- Page hero ---------- */
.p-hero{
  position:relative; overflow:hidden; isolation:isolate; color:#fff;
  padding:clamp(130px,15vw,180px) 0 clamp(70px,8vw,110px);
  background:radial-gradient(900px 480px at 82% 20%, rgba(255,176,58,.16), transparent 62%), linear-gradient(180deg,#0b1714 0%,#0b1714 100%);
}
.p-orb{position:absolute; z-index:-1; border-radius:50%; filter:blur(60px); pointer-events:none; opacity:.55}
.p-orb.a{width:420px; height:420px; right:-80px; top:-60px; background:rgba(255,176,58,.35); animation:orbA 16s ease-in-out infinite alternate}
.p-orb.b{width:360px; height:360px; left:-120px; bottom:-140px; background:rgba(62,88,113,.7); animation:orbB 19s ease-in-out infinite alternate}
@keyframes orbA{to{transform:translate(-80px,60px) scale(1.15)}}
@keyframes orbB{to{transform:translate(90px,-40px) scale(1.2)}}
.p-glow{position:absolute; z-index:-1; width:520px; height:520px; margin:-260px 0 0 -260px; left:0; top:0; border-radius:50%; pointer-events:none; background:radial-gradient(circle,rgba(255,176,58,.20),transparent 66%); transform:translate3d(var(--gx,70%),var(--gy,40%),0); opacity:var(--go,0); transition:opacity .5s ease}
.p-title{font-size:clamp(36px,5.6vw,76px); line-height:1.04; letter-spacing:-.035em; font-weight:600; color:#fff; margin:0 0 26px; max-width:14em}
.p-title .serif{color:var(--gold-light)}
.p-sub{font-size:clamp(17px,1.5vw,21px); line-height:1.65; color:rgba(228,236,232,.82); max-width:38em; margin:0 0 32px}
.p-split{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(30px,6vw,90px); align-items:center}
@media (max-width:900px){.p-split{grid-template-columns:1fr}}

/* ---------- Legacy classes, restyled so existing markup looks new ---------- */
body.v2 section{padding:clamp(56px,7vw,100px) 0}
body.v2 .section-tight{padding:clamp(36px,5vw,64px) 0}
body.v2 .rule, body.v2 hr{opacity:.7}
body.v2 .kicker{font-size:12px; letter-spacing:2.2px}
body.v2 h2.h{font-size:clamp(26px,3.3vw,42px); line-height:1.1; letter-spacing:-.028em; font-weight:600; max-width:20em}
body.v2 .card{
  position:relative; overflow:hidden; border-radius:18px; padding:30px; background:#fff; border:1px solid var(--line);
  box-shadow:0 2px 10px rgba(11,23,20,.05); transition:transform .3s ease, box-shadow .3s ease;
}
body.v2 .card::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s ease; background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), rgba(255,176,58,.22), transparent 62%)}
body.v2 .card > *{position:relative}
@media (hover:hover) and (pointer:fine){
  body.v2 .card:hover{transform:translateY(-6px); box-shadow:0 22px 44px rgba(11,23,20,.13)}
  body.v2 .card:hover::before{opacity:1}
}
body.v2 .card h3{font-size:24px; letter-spacing:-.02em}
body.v2 .btn{border-radius:999px; padding:14px 26px; font-size:15px; transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease}
body.v2 .btn:hover{transform:translateY(-2px)}
body.v2 .btn-gold{color:#0b1714}
body.v2 .band{background:linear-gradient(180deg,#0b1714,#0b1714)}
body.v2 .stat-strip{border-radius:14px; background:#fff; border:1px solid var(--line); overflow:hidden}
body.v2 .stat-strip .stat{padding:24px 28px}
body.v2 .link{transition:color .2s ease, border-color .2s ease}
body.v2 .grid{gap:24px}

/* ---------- Footer ---------- */
.v2-foot{background:#0b1714; color:rgba(228,236,232,.7); padding:0 !important}
.foot-cta{display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; padding:clamp(48px,6vw,80px) 0; border-bottom:1px solid rgba(255,255,255,.1)}
.foot-cta h2{font-size:clamp(26px,3.4vw,44px); line-height:1.1; letter-spacing:-.03em; color:#fff; margin:0 0 10px; font-weight:600; max-width:15em}
.foot-cta h2 .serif{font-weight:500; font-style:italic; color:var(--gold-light)}
.foot-cta p{margin:0; color:rgba(228,236,232,.7); max-width:32em}
.foot-main{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:36px; padding:48px 0 56px}
.foot-main .brand .word{color:#fff}
.foot-main small{display:block; margin-top:14px; font-size:12.5px; color:rgba(228,236,232,.5); line-height:1.6}
.foot-col h4{margin:0 0 14px; font-size:11.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--gold-light)}
.foot-col a{display:block; font-size:14px; color:rgba(228,236,232,.75); padding:5px 0; transition:color .2s ease}
.foot-col a:hover{color:#fff}
@media (max-width:820px){.foot-main{grid-template-columns:1fr 1fr}.foot-main > div:first-child{grid-column:1/-1}}

/* ---------- Frameworks: the four cards ---------- */
.fw-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:-70px; position:relative; z-index:2}
@media (max-width:900px){.fw-grid{grid-template-columns:1fr; margin-top:-40px}}
.fw-card{position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; padding:34px; box-shadow:0 12px 40px rgba(11,23,20,.10); display:flex; flex-direction:column}
.fw-card::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s ease; background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,176,58,.22), transparent 62%)}
@media (hover:hover) and (pointer:fine){.fw-card:hover::before{opacity:1}}
.fw-card > *{position:relative}
.fw-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:6px}
.fw-card .tag{color:var(--gold-text); font-size:11.5px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase}
.fw-card h3{font-size:clamp(32px,3.4vw,44px); letter-spacing:-.035em; color:var(--navy); margin:6px 0 4px}
.fw-card .say{font-family:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif; font-style:italic; font-size:21px; color:var(--gold-text); margin:0 0 18px}
.fw-card p{margin:0 0 14px; color:var(--muted); line-height:1.7; font-size:15.5px}
.fw-card details{margin:2px 0 18px}
.fw-card summary{cursor:pointer; font-size:13.5px; font-weight:700; color:var(--navy); list-style:none; padding:6px 0}
.fw-card summary::-webkit-details-marker{display:none}
.fw-card summary::before{content:"+"; display:inline-block; width:18px; color:var(--gold-text)}
.fw-card details[open] summary::before{content:"\2212"}
.fw-actions{margin-top:auto; display:flex; gap:12px; flex-wrap:wrap; padding-top:8px}
.fw-actions .h-btn{padding:12px 20px; font-size:14px}

/* ---------- Frameworks: the chain explorer ---------- */
.cband{border-radius:18px; padding:22px 26px; display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:20px; align-items:center; color:#fff}
.cband.keel{background:linear-gradient(135deg,#12211d,#0b1714)}
.cband.soundings{background:linear-gradient(135deg,#3E5871,#12211d)}
.cband .side{font-size:11px; letter-spacing:1.6px; line-height:1.9; color:rgba(255,255,255,.62); font-weight:600}
.cband .side:last-child{text-align:right}
.cband .mid{text-align:center}
.cband .role{margin:0 0 4px; font-size:11.5px; letter-spacing:1.8px; text-transform:uppercase; color:var(--gold-light); font-weight:700}
.cband h3{margin:0 0 6px; font-size:30px; color:#fff; letter-spacing:-.03em}
.cband .desc{margin:0; color:rgba(255,255,255,.8); font-size:14px}
@media (max-width:760px){.cband{grid-template-columns:1fr; text-align:center}.cband .side,.cband .side:last-child{text-align:center}}
.arch-label{text-align:center; font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--steel); font-weight:700; margin:18px 0}
.chain{position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; padding:26px 0 8px}
.chain::before{content:""; position:absolute; left:calc(100%/12); right:calc(100%/12); top:51px; height:2px; background:#D5DBE4}
.chain-fill{position:absolute; left:calc(100%/12); top:51px; height:2px; width:calc((100% - 100%/6) * var(--p,0)); background:linear-gradient(90deg,var(--gold),var(--gold-light)); transition:width .7s cubic-bezier(.16,1,.3,1)}
.node{position:relative; background:none; border:none; cursor:pointer; font:inherit; color:var(--steel); text-align:center; padding:0 4px 10px}
.node .dot{display:block; width:50px; height:50px; margin:0 auto 12px; border-radius:50%; background:#fff; border:2px solid #D5DBE4; font-weight:700; font-size:15px; line-height:46px; color:var(--steel); position:relative; z-index:1; transition:all .35s ease}
.node .nm{display:block; font-size:14px; font-weight:700; color:var(--navy)}
.node:hover .dot{border-color:var(--gold)}
.node[aria-selected="true"] .dot{background:var(--navy); border-color:var(--navy); color:#fff; transform:scale(1.14); box-shadow:0 0 0 7px rgba(255,176,58,.28)}
.node.done .dot{border-color:var(--gold); color:var(--gold-text)}
.node[aria-selected="true"].done .dot{color:#fff}
.chain-detail{position:relative; margin-top:10px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 32px; box-shadow:0 10px 30px rgba(11,23,20,.07); min-height:190px}
.cd{display:none; grid-template-columns:1fr 1fr; gap:10px 40px; align-items:start}
.cd.on{display:grid; animation:cdIn .5s cubic-bezier(.16,1,.3,1)}
@keyframes cdIn{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
.cd h4{margin:0 0 4px; font-size:26px; letter-spacing:-.025em; color:var(--navy)}
.cd .q{margin:0; font-family:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif; font-style:italic; font-size:20px; color:var(--gold-text)}
.cd ul{margin:0; padding:0 0 0 18px; color:var(--muted); line-height:1.9}
.cd .close{grid-column:1/-1; margin:8px 0 0; padding-top:14px; border-top:1px solid var(--line); font-weight:600; color:var(--navy)}
@media (max-width:760px){
  .chain{grid-template-columns:repeat(3,1fr); gap:18px 6px}
  .chain::before,.chain-fill{display:none}
  .cd{grid-template-columns:1fr}
  .chain-detail{padding:22px}
}
.outcomes{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:26px 0 8px}
.outcomes span{border:1px solid var(--line); background:#fff; border-radius:999px; padding:9px 18px; font-size:13.5px; font-weight:600; color:var(--navy)}
.principle{text-align:center; font-size:clamp(18px,2vw,24px); color:var(--navy); margin:22px auto 0; max-width:30em; line-height:1.5}
.principle b{color:var(--gold-text)}
.fit-note{max-width:820px; margin:36px auto 0; color:var(--muted); line-height:1.8; font-size:16.5px}
.fit-note strong{color:var(--navy)}

/* ---------- Instruments: filter ---------- */
.filters{display:flex; gap:10px; flex-wrap:wrap; margin:0 0 34px}
.fchip{cursor:pointer; font:600 14px 'Hanken Grotesk',sans-serif; color:var(--navy); background:#fff; border:1px solid var(--line); border-radius:999px; padding:11px 20px; transition:all .25s ease}
.fchip:hover{border-color:var(--navy)}
.fchip[aria-pressed="true"]{background:var(--navy); color:#fff; border-color:var(--navy)}
.dgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px}
@media (max-width:900px){.dgrid{grid-template-columns:1fr}}
.dcard{position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; padding:32px; box-shadow:0 2px 10px rgba(11,23,20,.05); transition:transform .45s cubic-bezier(.16,1,.3,1), opacity .35s ease, box-shadow .3s ease}
.dcard::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s ease; background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,176,58,.22), transparent 62%)}
@media (hover:hover) and (pointer:fine){.dcard:hover{transform:translateY(-6px); box-shadow:0 22px 44px rgba(11,23,20,.13)}.dcard:hover::before{opacity:1}}
.dcard > *{position:relative}
.dcard.is-hidden{display:none}
.dsector{display:inline-block; font-size:11px; letter-spacing:1.4px; text-transform:uppercase; font-weight:700; color:var(--navy); background:#EEF1F6; border-radius:999px; padding:5px 12px; margin-bottom:14px}
.dcard .tag{color:var(--gold-text); font-size:11.5px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase}
.dcard h3{font-size:clamp(30px,3vw,40px); letter-spacing:-.035em; color:var(--navy); margin:8px 0 10px}
.dcard .say{font-family:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif; font-style:italic; font-size:19px; color:var(--gold-text); margin:0 0 14px; line-height:1.45}
.dcard p{margin:0 0 14px; color:var(--muted); line-height:1.7; font-size:15.5px}
.dcard .fw-actions{padding-top:10px}
.dsec-intro{max-width:46em; color:var(--muted); line-height:1.75; margin:0 0 22px}
.dgroup{margin-bottom:56px; scroll-margin-top:96px}
.dgroup h2{font-size:clamp(24px,2.8vw,34px); letter-spacing:-.03em; color:var(--navy); margin:0 0 8px}
.closing-v2{border-radius:26px; padding:clamp(34px,5vw,60px); background:linear-gradient(135deg,#0b1714,#12211d); color:#fff; position:relative; overflow:hidden}
.closing-v2::after{content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(255,176,58,.3),transparent 68%)}
.closing-v2 h2{color:#fff; font-size:clamp(26px,3.4vw,42px); letter-spacing:-.03em; margin:0 0 12px; position:relative}
.closing-v2 p{color:rgba(228,236,232,.8); max-width:36em; margin:0 0 24px; position:relative}
.closing-v2 .h-btn{position:relative}

/* ---------- Use cases: polish on the existing matrix and cases ---------- */
body.v2 .uc-mx-wrap{border-radius:22px; padding:14px 26px 20px; box-shadow:0 12px 40px rgba(11,23,20,.08)}
body.v2 .uc-mx tbody tr{transition:background .2s ease}
body.v2 .uc-case{border-radius:22px}
body.v2 .uc-case .stat .num{color:var(--navy)}
body.v2 .uc-dot{background:var(--gold); box-shadow:0 0 0 4px rgba(255,176,58,.25)}
body.v2 .uc-legend .uc-dot{box-shadow:none}
.case-nav{display:flex; gap:10px; flex-wrap:wrap; margin-top:30px}
.case-nav a{display:inline-flex; gap:8px; align-items:baseline; border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:9px 18px; color:#fff; font-size:13.5px; font-weight:600; transition:all .25s ease}
.case-nav a span{font-size:11px; color:var(--gold-light); letter-spacing:1px; text-transform:uppercase}
.case-nav a:hover{background:#fff; color:var(--navy); border-color:#fff}
.case-nav a:hover span{color:var(--gold-text)}
.hero-stats{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
.hstat{border:1px solid rgba(255,255,255,.16); border-radius:18px; padding:22px; background:rgba(255,255,255,.05); backdrop-filter:blur(6px)}
.hstat b{display:block; font-size:clamp(30px,3.6vw,46px); letter-spacing:-.035em; color:var(--gold-light); font-weight:600; line-height:1}
.hstat span{display:block; margin-top:8px; font-size:13px; color:rgba(228,236,232,.78); line-height:1.5}

/* ---------- About ---------- */
.portrait-wrap{position:relative; width:min(380px,78vw); margin:0 auto}
.portrait-wrap::before{content:""; position:absolute; inset:-14px; border-radius:50%; border:1px solid rgba(255,176,58,.5); animation:ringPulse 5s ease-in-out infinite}
.portrait-wrap::after{content:""; position:absolute; inset:-34px; border-radius:50%; border:1px solid rgba(255,176,58,.22); animation:ringPulse 5s ease-in-out infinite .8s}
@keyframes ringPulse{0%,100%{transform:scale(1); opacity:.9}50%{transform:scale(1.04); opacity:.4}}
.portrait-v2{width:100%; aspect-ratio:1; border-radius:50%; object-fit:cover; object-position:center top; border:2px solid var(--gold); padding:6px; background:#0b1714}
.q-lines{display:grid; gap:18px; margin-top:8px}
.q-lines p{margin:0; font-size:clamp(18px,1.9vw,24px); line-height:1.25; letter-spacing:-.025em; font-weight:600; color:var(--navy); padding-left:22px; border-left:3px solid var(--gold)}
.pull{font-size:clamp(24px,3.2vw,42px); line-height:1.2; letter-spacing:-.03em; font-weight:600; color:var(--navy); max-width:22em}
.pull em{font-family:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif; font-weight:500; color:var(--gold-text)}
.work-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:34px}
@media (max-width:820px){.work-grid{grid-template-columns:1fr}}

/* ---------- Newsletter ---------- */
.mf{font-size:clamp(30px,4.8vw,66px); line-height:1.12; letter-spacing:-.035em; font-weight:600; max-width:15em}
.mf .mfl{display:block}
.mf .mfl + .mfl{margin-top:1.1em}
.mf .mw{color:rgba(255,255,255,.2); transition:color .35s ease}
.mf .mw.lit{color:#fff}
.mf .mw.gold.lit{color:var(--gold-light)}
.nl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:34px}
@media (max-width:900px){.nl-grid{grid-template-columns:1fr}}
.nl-num{font-family:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif; font-style:italic; font-size:44px; line-height:1; color:var(--gold-text); margin-bottom:10px}
.nl-body{max-width:none; margin:0 auto}
.nl-body p{font-size:clamp(18px,1.7vw,23px); line-height:1.75; color:var(--muted); max-width:none; margin:0 0 24px}
.nl-body p.strong{color:var(--navy); font-weight:700}

/* ---------- Wellness ---------- */
.phone{position:relative; width:min(290px,70vw); aspect-ratio:9/18.5; margin:0 auto; border-radius:44px; background:#0b0b0e; padding:12px; box-shadow:0 40px 80px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.1); transform:rotate(calc(var(--tilt,0)*1deg)); will-change:transform}
.phone::before{content:""; position:absolute; top:18px; left:50%; width:84px; height:22px; margin-left:-42px; border-radius:14px; background:#000; z-index:3}
.phone-screen{position:relative; width:100%; height:100%; border-radius:34px; overflow:hidden; background:radial-gradient(circle at 50% 38%,#1b3a5f,#0b1714 70%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:26px}
.orb{position:relative; width:130px; height:130px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#ffc56b,#ffb03a 60%,#8C6A28); box-shadow:0 0 60px rgba(255,176,58,.55); animation:breathe 8s ease-in-out infinite}
.orb::before,.orb::after{content:""; position:absolute; inset:-18px; border-radius:50%; border:1px solid rgba(255,176,58,.4); animation:breathe 8s ease-in-out infinite}
.orb::after{inset:-40px; border-color:rgba(255,176,58,.2)}
@keyframes breathe{0%,100%{transform:scale(.82)}50%{transform:scale(1.12)}}
.breath-word{margin-top:64px; font-family:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif; font-style:italic; font-size:22px; color:rgba(255,255,255,.9); min-height:30px}
.breath-sub{font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:rgba(255,255,255,.5); margin-top:8px}
.badges-v2{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:8px}
.badges-v2 img{height:46px; width:auto; display:block; transition:transform .25s ease}
.badges-v2 a:hover img{transform:translateY(-3px)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .h-fade{animation:none; opacity:1; transform:none}
  .p-orb,.portrait-wrap::before,.portrait-wrap::after,.orb,.orb::before,.orb::after{animation:none}
  .cd.on{animation:none}
  .v2-progress{display:none}
  .mf .mw{color:#fff}
}

.fw-card.is-visible .card-icon .draw, .dcard.is-visible .card-icon .draw{stroke-dashoffset:0}
.fw-card .card-icon, .dcard .card-icon{color:var(--navy)}
.pull-up{position:relative; z-index:2}

.hstat b.word{font-size:clamp(20px,2.2vw,28px); line-height:1.15; padding:6px 0}
.p-title.sm{font-size:clamp(32px,4.4vw,60px)}
