@font-face{font-family:"Libre Caslon Condensed";src:url("../fonts/libre-caslon-condensed.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"BDO Grotesk";src:url("../fonts/bdo-grotesk.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}

:root{
  --cream:#FEFAF3;--sand:#F1EADD;--sand-2:#E8DECB;--line:#E2D7C3;
  --ink:#2F2C25;--ink-2:#5C5547;--green:#1F4A3F;--green-deep:#163A31;--green-tint:#DCE6DF;
  --gold:#CCAC78;--gold-deep:#7A5A22;--gold-tint:#EFE3CB;
  --serif:"Libre Caslon Condensed","Iowan Old Style","Times New Roman",serif;
  --sans:"BDO Grotesk","Helvetica Neue",Arial,sans-serif;
  --wrap:1200px;--gutter:clamp(20px,5vw,48px);
  --sec:clamp(76px,10vw,136px);
  --r:18px;--r-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-draw:cubic-bezier(.45,.05,.25,1);
  --ease-move:cubic-bezier(.65,0,.35,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.3vw + .92rem,1.0625rem);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.012em;margin:0 0 .5em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2.9rem,6.4vw,5.6rem)}
h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
h3{font-size:clamp(1.45rem,1.6vw + .8rem,1.9rem);line-height:1.15}
h4{font-size:1.3rem}
.lead{font-size:clamp(1.06rem,.4vw + .98rem,1.25rem);line-height:1.55;color:var(--ink-2)}
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-weight:500;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 1.2rem}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.muted{color:var(--ink-2)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--green);color:var(--cream);padding:10px 16px;border-radius:999px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sec{padding:var(--sec) 0;position:relative}
.sec-sand{background:var(--sand)}
.sec-green{background:var(--green);color:var(--cream)}
.sec-green h2,.sec-green h3{color:var(--cream)}
.sec-green .eyebrow{color:var(--gold)}
.sec-head{max-width:760px;margin-bottom:clamp(40px,5vw,72px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.grid{display:grid;gap:clamp(20px,3vw,36px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,96px);align-items:center}
@media (max-width:900px){.g3,.g2,.split{grid-template-columns:minmax(0,1fr)}}

/* Buttons */
.btn{--bg:var(--green);--fg:var(--cream);display:inline-flex;align-items:center;gap:.7em;background:var(--bg);color:var(--fg);font:500 1rem/1.2 var(--sans);text-decoration:none;padding:1.02em 1.6em;border-radius:999px;border:1px solid var(--bg);transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);text-align:left}
.btn:hover{background:var(--green-deep);transform:translateY(-1px)}
.btn .arr{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-light{--bg:var(--cream);--fg:var(--green)}
.btn-light:hover{background:var(--gold-tint)}
.btn-ghost{background:transparent;color:var(--green);border-color:var(--green)}
.btn-ghost:hover{background:var(--green);color:var(--cream)}
.btn-sm{padding:.72em 1.2em;font-size:.94rem}
.tlink{position:relative;display:inline-flex;align-items:center;gap:.5em;color:var(--green);font-weight:500;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:gap .3s var(--ease)}
.tlink::before{content:"";position:absolute;inset:-12px -8px}
.tlink:hover{gap:.8em}
.sec-green .tlink{color:var(--cream)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--cream);transition:box-shadow .3s var(--ease),border-color .3s;border-bottom:1px solid transparent}
.site-header.scrolled{border-bottom-color:var(--line)}
.hdr{display:flex;align-items:center;gap:24px;height:84px;position:relative}
.brand{display:block;width:clamp(178px,18vw,236px);color:#041210;flex:none}
.brand svg{width:100%;height:auto}
.nav{margin-left:auto}
.nav>ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
.nav a,.nav button{font:500 .98rem/1 var(--sans);color:var(--ink);text-decoration:none;background:none;border:0;padding:14px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav a:hover,.nav button:hover,.nav button[aria-expanded="true"]{background:var(--sand)}
.nav>ul>li>a[aria-current="page"],.nav .is-current>button{color:var(--green);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:7px}
.chev{width:10px;height:10px;transition:transform .3s var(--ease)}
.nav button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.has-menu{position:static}
.mega{position:absolute;top:calc(100% - 6px);right:var(--gutter);transform:translateY(8px);width:min(760px,calc(100% - 2 * var(--gutter)));background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .3s var(--ease),visibility 0s .3s;box-shadow:0 30px 60px -30px rgba(47,44,37,.25)}
.has-menu.open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .3s var(--ease)}
.mega-links{display:grid;gap:2px}
.nav .mega-links a{display:block;padding:12px 14px;border-radius:12px;line-height:1.35}
.mega-links a:hover{background:var(--sand)}
.mega-t{display:block;font-family:var(--serif);font-size:1.28rem;color:var(--ink);margin-bottom:2px}
.mega-d{display:block;font-weight:400;font-size:.9rem;color:var(--ink-2)}
.mega-new{font:500 .66rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);border:1px solid var(--gold);border-radius:999px;padding:3px 7px;margin-left:8px;vertical-align:3px}
.promo{background:var(--green);color:var(--cream);border-radius:14px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:relative;overflow:hidden}
.promo .eyebrow{color:var(--gold);margin:0}
.promo p.h{font-family:var(--serif);font-size:1.7rem;line-height:1.08;margin:0}
.promo svg.pm{position:absolute;right:-30px;top:-20px;width:150px;opacity:.18}
.nav .promo a.btn{align-self:flex-start;background:var(--cream);color:var(--green);padding:.8em 1.2em}
.hdr-cta{flex:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:999px;padding:10px 18px;min-height:44px;font:500 .95rem/1 var(--sans);color:var(--ink);cursor:pointer;align-items:center;gap:10px}
.menu-btn i{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:transform .3s}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .3s}
.menu-btn i::before{top:-6px}.menu-btn i::after{top:6px}
.menu-btn[aria-expanded="true"] i{background:transparent}
.menu-btn[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}
.mnav{display:none}
@media (max-width:1060px){
  .nav,.hdr-cta{display:none}
  .menu-btn{display:inline-flex}
  .mnav{display:block;position:fixed;inset:84px 0 0 0;background:var(--cream);overflow-y:auto;padding:12px var(--gutter) 48px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
  .mnav.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
  body.menu-open{overflow:hidden}
}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav>ul>li{border-bottom:1px solid var(--line)}
.mnav>ul>li>a,.mnav summary{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:1.9rem;padding:16px 0;text-decoration:none;color:var(--ink);cursor:pointer;list-style:none}
.mnav summary::-webkit-details-marker{display:none}
.mnav details[open] .chev{transform:rotate(180deg)}
.mnav .sub a{display:block;padding:10px 0 10px 4px;text-decoration:none}
.mnav .sub .mega-t{font-size:1.2rem}
.mnav .sub{padding-bottom:14px}
.mnav .btn{margin-top:28px}

/* Hero */
.hero{padding:clamp(28px,5vw,72px) 0 clamp(56px,7vw,96px);overflow:hidden}
.hero .split{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}
.hero h1{font-size:clamp(2.8rem,5.3vw,4.7rem)}
@media (max-width:900px){.hero .split{grid-template-columns:minmax(0,1fr)}.hero-art{max-width:560px}}
.hero h1{margin-bottom:.38em}
.hero .lead{max-width:34ch;margin-bottom:2rem}
.trust{display:flex;align-items:center;gap:12px;margin-top:2rem;font-size:.95rem;color:var(--ink-2)}
.trust svg{width:34px;flex:none}
.hero-art{position:relative}
.hero-art svg{width:100%;height:auto}
.amfi-chip{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:500;color:var(--green);background:var(--green-tint);border-radius:999px;padding:7px 14px 7px 8px;margin-bottom:1.6rem;text-decoration:none}
.amfi-chip b{background:var(--green);color:var(--cream);border-radius:999px;padding:3px 9px;font-weight:500;font-size:.8rem;letter-spacing:.06em}

/* Marquee */
.marquee{border-block:1px solid var(--line);background:var(--cream);overflow:hidden;padding:20px 0}
.marquee-track{display:flex;width:max-content;animation:marq 64s linear infinite;will-change:transform;backface-visibility:hidden}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;list-style:none;margin:0;padding:0}
.marquee li{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.9rem);white-space:nowrap;display:flex;align-items:center;color:var(--ink)}
.marquee li::after{content:"";width:9px;height:9px;margin:0 clamp(22px,3vw,40px);border:1px solid var(--gold);transform:rotate(45deg)}
@keyframes marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* Statement */
.statement{font-family:var(--serif);font-size:clamp(1.9rem,3.7vw,3.25rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 clamp(48px,6vw,80px);max-width:30ch}

/* Cards */
.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,36px);position:relative}
.sec-sand .card{background:var(--cream);border-color:transparent}
.card h3{margin-bottom:.45em}
.card p:last-child{margin-bottom:0}
.card .ico{width:76px;height:76px;margin-bottom:22px}
.num-tag{font:500 .8rem/1 var(--sans);letter-spacing:.12em;color:var(--gold-deep);display:block;margin-bottom:14px}

/* Story + timeline */
.prose p{max-width:62ch}
.prose p:first-of-type::first-letter{font-family:var(--serif);float:left;font-size:4.4em;line-height:.82;padding:.06em .1em 0 0;color:var(--green)}
.timeline{position:relative;list-style:none;margin:0;padding:0 0 0 46px}
.timeline::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:1px;background:var(--line)}
.timeline::after{content:"";position:absolute;left:11px;top:6px;width:1px;height:calc(100% - 12px);background:var(--gold-deep);transform-origin:top;transform:scaleY(var(--p,0));transition:transform .2s linear}
.timeline li{position:relative;padding:0 0 30px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-41px;top:7px;width:13px;height:13px;border-radius:50%;background:var(--cream);border:1px solid var(--gold-deep);transition:background .4s,transform .4s var(--ease)}
.timeline li.lit::before{background:var(--gold);transform:scale(1.15)}
.timeline b{font-family:var(--serif);font-weight:500;font-size:1.3rem;display:block;color:var(--green);margin-bottom:2px}
.timeline p{margin:0;color:var(--ink-2)}

/* Quote / founder */
.founder{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,88px);align-items:center}
@media (max-width:900px){.founder{grid-template-columns:minmax(0,1fr)}}
.photo-frame{position:relative;aspect-ratio:4/5;border-radius:220px 220px var(--r) var(--r);background:var(--sand-2);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.photo-frame .ph{position:absolute;inset:auto 0 22px 0;text-align:center;font-size:.85rem;color:var(--ink-2)}
.photo-frame svg{width:72%;margin-bottom:-2px}
.photo-wrap{position:relative;isolation:isolate;max-width:440px}
.photo-wrap::after{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold);border-radius:220px 220px var(--r) var(--r);z-index:-1}
blockquote.big{margin:0 0 1.6rem;font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.18;color:var(--ink)}
blockquote.big::before{content:"\201C";display:block;font-size:4.5rem;line-height:.6;color:var(--gold);margin-bottom:12px}
.sig{display:flex;flex-direction:column;margin-bottom:1.6rem}
.sig b{font-family:var(--serif);font-weight:500;font-size:1.4rem}
.sig span{color:var(--ink-2);font-size:.95rem}
.ticks{list-style:none;padding:0;margin:0 0 1.8rem;display:grid;gap:10px}
.ticks li{position:relative;padding-left:30px}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:8px;border-left:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);transform:rotate(-45deg) translateY(-3px)}
.spot{border-top:1px solid var(--line);padding-top:1.6rem;margin-top:.4rem}
.spot h3{font-size:1.25rem;font-family:var(--sans);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.8125rem;color:var(--gold-deep);margin-bottom:1rem}
.spot ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}
.spot li{font-size:.98rem;border-left:1px solid var(--gold);padding-left:14px;line-height:1.4}
@media (max-width:560px){.spot ul{grid-template-columns:minmax(0,1fr)}}

/* Testimonials */
.quotes{columns:3 300px;column-gap:clamp(18px,2.4vw,28px)}
.q{break-inside:avoid;background:var(--sand);border-radius:var(--r);padding:28px 28px 26px;margin:0 0 clamp(18px,2.4vw,28px);font-family:var(--serif);font-size:1.32rem;line-height:1.3;position:relative}
.q::before{content:"\201C";font-size:3rem;line-height:.6;color:var(--gold);display:block;margin-bottom:10px}
.q:nth-child(3n+2){background:var(--green-tint)}
.q:nth-child(4n){background:var(--gold-tint)}

/* Transformations */
.trans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
@media (max-width:900px){.trans{grid-template-columns:minmax(0,1fr)}}
.trans .card{padding:0;overflow:hidden;background:var(--cream)}
.trans .dia{background:var(--sand);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.trans .dia svg{width:78%;height:auto}
.trans .tx{padding:26px 28px 30px}
.trans h3{font-size:1.5rem}
.trans h3 .from{color:var(--ink-2);display:block}
.trans h3 .to{color:var(--green)}

/* Numbers */
.nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
@media (max-width:760px){.nums{grid-template-columns:minmax(0,1fr)}}
.numb{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:start}
.numb .n{font-family:var(--serif);font-size:clamp(5.5rem,10vw,8.5rem);line-height:.8;color:var(--gold);position:relative;min-width:1.1em}
.numb h3{color:var(--cream);font-size:1.6rem;margin-bottom:.4em}
.numb p{color:rgba(254,250,243,.78);margin:0}

/* Switching */
.switch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center;background:var(--gold-tint);border-radius:calc(var(--r) * 1.6);padding:clamp(28px,5vw,64px)}
@media (max-width:900px){.switch{grid-template-columns:minmax(0,1fr)}}
.switch h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}

/* Principles */
.princ{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
@media (max-width:900px){.princ{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.princ{grid-template-columns:minmax(0,1fr)}}
.princ article{padding:34px 30px 38px 0;border-bottom:1px solid var(--line)}
.princ .ico{width:54px;height:54px;margin-bottom:20px}
.princ h3{font-size:1.5rem}
.princ p{color:var(--ink-2);margin:0;max-width:40ch}

/* Closing CTA */
.closing{background:var(--green);color:var(--cream);overflow:hidden;position:relative;text-align:center}
.closing h2{color:var(--cream);max-width:18ch;margin:0 auto .45em}
.closing p{color:rgba(254,250,243,.82)}
.closing .btn{margin-top:1.4rem}
.closing .scar{display:inline-flex;align-items:center;gap:10px;margin-top:1.6rem;font-size:.92rem;color:var(--gold)}
.closing .scar::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(204,172,120,.22)}
.closing .bgmark{position:absolute;width:min(1040px,140vw);left:50%;top:50%;transform:translate(-50%,-50%);opacity:.5;pointer-events:none}
.closing .wrap{position:relative}

/* Footer */
.site-footer{background:var(--green-deep);color:rgba(254,250,243,.8);padding:clamp(64px,8vw,104px) 0 40px;font-size:.95rem}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--cream);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.ft-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(254,250,243,.14)}
@media (max-width:900px){.ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-brand{grid-column:1/-1}}
@media (max-width:520px){.ft-top{grid-template-columns:minmax(0,1fr)}}
.ft-brand .brand{color:var(--cream);width:236px;margin-bottom:22px}
.ft-brand p{font-family:var(--serif);font-size:1.5rem;line-height:1.2;color:var(--cream);max-width:18ch}
.site-footer h2{font:500 .8125rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ft-reg{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding:28px 0;border-bottom:1px solid rgba(254,250,243,.14);color:var(--cream)}
.ft-reg a{color:var(--gold)}
.ft-disc{padding:28px 0;font-size:.84rem;line-height:1.6;color:rgba(254,250,243,.62);max-width:110ch}
.ft-legal{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.84rem;color:rgba(254,250,243,.62)}

/* Page hero (inner) */
.phero{padding:clamp(32px,5vw,72px) 0 clamp(56px,7vw,104px)}
.crumbs{font-size:.88rem;color:var(--ink-2);margin-bottom:28px}
.crumbs ol{list-style:none;display:flex;gap:8px;padding:0;margin:0;flex-wrap:wrap}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--gold)}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* WealthOS */
.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
@media (max-width:760px){.pillars{grid-template-columns:minmax(0,1fr)}}
.pillar{display:grid;grid-template-columns:96px minmax(0,1fr);gap:26px;align-items:center;background:var(--cream);border-radius:var(--r);padding:30px}
.pillar svg{width:96px;height:auto}
.pillar h3{margin-bottom:.3em}
.pillar p{margin:0;color:var(--ink-2)}
.parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:980px){.parts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.parts{grid-template-columns:minmax(0,1fr)}}
.part{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:30px 30px 34px;transition:transform .5s var(--ease),border-color .4s}
.part:hover{transform:translateY(-4px);border-color:var(--gold)}
.part .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.part .top svg{width:72px;height:72px}
.part .no{font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--gold)}
.part .pil{display:inline-block;font:500 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:var(--green-tint);padding:5px 9px;border-radius:999px;margin-bottom:12px}
.part h3{font-size:1.6rem}
.part p{color:var(--ink-2);margin:0}
.year{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
@media (max-width:900px){.year{grid-template-columns:minmax(0,1fr)}}
.steps{list-style:none;margin:0;padding:0;position:relative}
.steps::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:1px;background:var(--line)}
.steps::after{content:"";position:absolute;left:23px;top:24px;width:1px;height:calc(100% - 48px);background:var(--gold-deep);transform-origin:top;transform:scaleY(var(--p,0));transition:transform .2s linear}
.steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:22px;padding-bottom:28px;position:relative}
.steps li:last-child{padding-bottom:0}
.steps .dot{width:48px;height:48px;border-radius:50%;background:var(--cream);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font:500 .9rem/1 var(--sans);color:var(--green);position:relative;z-index:1;transition:background .4s,color .4s}
.steps li.lit .dot{background:var(--green);color:var(--cream);border-color:var(--green)}
.steps .dot svg{width:22px;height:22px}
.steps b{font-family:var(--serif);font-weight:500;font-size:1.35rem;display:block;line-height:1.2;margin:10px 0 4px}
.steps p{margin:0;color:var(--ink-2)}
.nots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:900px){.nots{grid-template-columns:minmax(0,1fr)}}
.nots .card{padding-top:30px}
.nots .x{width:44px;height:44px;margin-bottom:18px}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:760px){.duo{grid-template-columns:minmax(0,1fr)}}
.duo .q{margin:0;font-size:clamp(1.4rem,2vw,1.75rem)}

/* Reveal and drawing (only when JS is running) */
.js [data-reveal]{opacity:0;transform:translate3d(0,14px,0);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}
.js .ill:not(.prepped) .draw,.js .ill:not(.prepped) .fade{opacity:0}
.js .ill.prepped .draw{stroke-dasharray:var(--len) var(--gap);stroke-dashoffset:var(--off)}
.js .ill.prepped.in .draw{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur,1.4s) var(--ease-draw) var(--dd,0s)}
.js .ill.prepped .fade{opacity:0}
.js .ill.prepped.in .fade{opacity:1;transition:opacity 1.1s cubic-bezier(.4,0,.2,1) var(--fd,0s)}
.js .ill .spin{opacity:0;transition:opacity 1.2s ease 1.4s}
.js .ill.in .spin{opacity:1}
.ill.in .steam{animation:steam 6s ease-in-out 2.2s infinite}
.ill.in .steam+.steam{animation-delay:3.4s}
@keyframes steam{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-5px,0)}}
.float{animation:flt 9s ease-in-out infinite}
@keyframes flt{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.orbit{transform-origin:center;transform-box:fill-box}
.ill.in .spin{animation:spin 24s linear 1.4s infinite}
.spin{transform-box:view-box;transform-origin:50% 50%}
@keyframes spin{to{transform:rotate(360deg)}}

/* Animated diagrams: scattered to seen */
.js .gather .pt{transition:transform 1.8s var(--ease-move);transition-delay:var(--md,0s);transform:translate(var(--x),var(--y))}
.js .gather.in .pt{transform:translate(0,0)}
.js .calm .jag{transition:opacity 1.4s cubic-bezier(.4,0,.2,1) 1.1s}
.js .calm.in .jag{opacity:0}
.js .tidy .itm{transition:transform 2s var(--ease-move);transition-delay:var(--md,0s);transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s,1))}
.js .tidy.in .itm{transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-reveal]{opacity:1;transform:none}
  .js .ill .draw,.js .ill.prepped .draw{stroke-dashoffset:0;opacity:1}
  .js .ill .fade,.js .ill.prepped .fade{opacity:1}
  .js .ill .spin{opacity:1}
  .js .gather .pt,.js .tidy .itm{transform:none}
  .js .calm .jag{opacity:0}
  .marquee-track{flex-wrap:wrap;width:auto}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tidy .itm{transform-box:fill-box;transform-origin:center}
.gather .pt{transform-box:fill-box}
.coin{opacity:0}
.ill.in .coin{animation:drop 7.5s linear 1.8s infinite}
.ill.in .coin.c2{animation-delay:4.3s}.ill.in .coin.c3{animation-delay:6.8s}
@keyframes drop{0%{opacity:0;transform:translate3d(0,-26px,0);animation-timing-function:cubic-bezier(.4,0,.2,1)}10%{opacity:1;transform:translate3d(0,-26px,0);animation-timing-function:cubic-bezier(.55,0,.85,.4)}36%{opacity:1;transform:translate3d(0,62px,0);animation-timing-function:linear}42%,100%{opacity:0;transform:translate3d(0,64px,0)}}
@media (prefers-reduced-motion:reduce){.coin.c1{opacity:1;animation:none!important;transform:translate3d(0,40px,0)}}
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:900px){.story{grid-template-columns:minmax(0,1fr)}}
.story-art{position:sticky;top:120px}
@media (max-width:900px){.story-art{position:static;max-width:460px}}
.clutter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
@media (max-width:900px){.clutter{grid-template-columns:minmax(0,1fr)}}
.wos-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,72px);align-items:center}
@media (max-width:900px){.wos-hero{grid-template-columns:minmax(0,1fr)}}
.wos-hero h1{font-size:clamp(2.9rem,6vw,5.2rem)}
.year-art{background:var(--cream);border-radius:var(--r);padding:clamp(20px,3vw,36px)}
.preview-note{background:var(--gold-tint);color:var(--ink);font-size:.86rem;text-align:center;padding:8px var(--gutter)}
.stub{min-height:52vh;display:flex;align-items:center}
.pillar.alt,.year-art.alt{background:var(--sand)}

/* ---------- Responsive refinements ---------- */
.only-sm{display:none}
@media (max-width:599px){.only-lg{display:none}.only-sm{display:block}}
@media (max-width:900px){
  .hero-art,.story-art{margin-inline:auto;max-width:520px;width:100%}
  .photo-wrap{max-width:380px}
  .hero{padding-top:20px}
}
@media (min-width:600px) and (max-width:900px){
  .g3 .card{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:28px;align-items:start}
  .g3 .card .ico{grid-row:1 / span 2;margin:0}
  .g3 .card h3{margin-top:4px}
  .trans .card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .trans .dia{aspect-ratio:auto;height:100%;min-height:200px}
  .trans .tx{align-self:center}
  .nots .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:22px}
  .nots .x{grid-row:1 / span 2;margin:0}
}
@media (max-width:600px){
  h1,.hero h1,.wos-hero h1{font-size:clamp(2.45rem,11.2vw,3.1rem)}
  h2{font-size:clamp(1.95rem,8.4vw,2.4rem)}
  .statement{font-size:clamp(1.65rem,7.2vw,2rem)}
  .numb{grid-template-columns:minmax(0,1fr);gap:14px}
  .numb .n{font-size:5rem}
  .pillar{grid-template-columns:64px minmax(0,1fr);gap:18px;padding:24px}
  .pillar svg{width:64px}
  .card{padding:24px}
  .part{padding:26px}
  .switch{padding:26px}
  .q{font-size:1.22rem;padding:24px}
}
@media (max-width:480px){
  .hero .btn,.wos-hero .btn,.closing .btn,.mnav .btn{width:100%;justify-content:center;text-align:center;padding:1.05em 1.2em}
  .amfi-chip{font-size:.8125rem;line-height:1.3;border-radius:16px}
  .trust{font-size:.9rem}
}
@media (min-width:1680px){
  html{font-size:17.5px}
  :root{--wrap:1360px}
  .brand{width:256px}
  .hdr{height:92px}
}
@media (min-width:2200px){
  html{font-size:20px}
  :root{--wrap:1560px}
  .brand{width:286px}
  .hdr{height:100px}
}
@media (prefers-reduced-motion:reduce){
  .marquee ul[aria-hidden="true"],.marquee li:nth-child(n+9){display:none}
  .marquee ul{flex-wrap:wrap;justify-content:center;row-gap:8px}
  .marquee-track{justify-content:center}
}
@media (max-width:900px){
  .clutter>div:last-child svg,.switch svg{max-width:440px;margin-inline:auto}
  .year-art{max-width:480px;width:100%;margin-inline:auto}
  .wos-hero .hero-art{max-width:600px}
}
@media (min-width:601px) and (max-width:900px){
  h1,.hero h1,.wos-hero h1{font-size:clamp(3.1rem,7.2vw,4.1rem)}
  .hero .lead,.wos-hero .lead{max-width:44ch}
}
@media (max-width:379px){.brand{width:152px}.hdr{gap:12px}.menu-btn{padding:10px 14px}}

/* Home hero: headline across the full width, always two lines */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top" "copy art";column-gap:clamp(32px,6vw,96px);align-items:center;container-type:inline-size}
.hero-top{grid-area:top}
.hero-copy{grid-area:copy;container-type:inline-size;align-self:center}
.hero-grid .hero-art{grid-area:art}
.hero .hero-top h1{font-size:min(5.6rem,calc(100cqi / 11.6));line-height:1.04;margin:0 0 clamp(20px,3vw,40px);text-wrap:balance}
.hero .hero-copy .lead{font-size:min(1.38rem,calc(100cqi / 22.9));max-width:none;margin-bottom:1.8rem}
@media (max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "copy" "art"}
  .hero-grid .hero-art{margin-top:28px}
}
/* AMFI registration chip */
.amfi-chip{display:inline-flex;align-items:center;gap:10px;background:var(--cream);color:var(--green);border:1px solid var(--gold);border-radius:999px;padding:7px 16px 7px 8px;margin-bottom:clamp(20px,2.6vw,32px);font-size:.86rem;font-weight:500;letter-spacing:.01em;line-height:1.3;text-decoration:none;transition:background .3s var(--ease),border-color .3s var(--ease)}
.amfi-chip:hover{background:var(--gold-tint)}
.amfi-chip .seal{width:24px;height:24px;flex:none}
.chip-dot{color:var(--gold)}
.chip-arn{color:var(--gold-deep);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:480px){
  .amfi-chip{border-radius:16px;font-size:.8125rem;padding:8px 14px 8px 8px;align-items:flex-start}
  .amfi-chip .seal{margin-top:-1px}
}
@media (max-width:600px){ h2{font-size:clamp(1.75rem,7.6vw,2.3rem)} }
@media (max-width:480px){.chip-dot{display:none}.chip-arn{display:block;margin-top:1px}}
@media (max-width:379px){.hero .btn,.wos-hero .btn,.closing .btn,.mnav .btn{font-size:.94rem;padding:1em .8em;gap:.5em}}

/* Trouble statement: three distinct rows */
.statement{max-width:none;margin:0 0 clamp(48px,6vw,80px);border-top:1px solid var(--line);font-size:inherit}
.statement p{display:grid;grid-template-columns:clamp(44px,6vw,88px) minmax(0,1fr);align-items:baseline;gap:clamp(12px,2vw,24px);margin:0;padding:clamp(18px,2.4vw,30px) 0;border-bottom:1px solid var(--line)}
.statement .st-n{font:500 .8125rem/1 var(--sans);letter-spacing:.14em;color:var(--gold-deep)}
.statement .st-t{font-family:var(--serif);font-weight:500;font-size:clamp(1.55rem,3.3vw,2.85rem);line-height:1.15;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.statement p:last-child .st-t{color:var(--green)}
@media (max-width:600px){.statement .st-t{font-size:clamp(1.4rem,6.4vw,1.75rem)}}

/* Marquee with a fixed label so visitors know what the words are */
.marquee{display:flex;align-items:center;padding:0}
.marquee-label{flex:none;display:inline-flex;align-items:center;gap:10px;align-self:stretch;padding:0 clamp(18px,2.4vw,32px) 0 max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)));border-right:1px solid var(--line);font:500 .8125rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none;background:var(--cream);position:relative;z-index:1}
.marquee-label svg{width:12px;height:12px;transition:transform .3s var(--ease)}
.marquee-label:hover svg{transform:translateY(3px)}
.marquee-view{flex:1;min-width:0;overflow:hidden;padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
@media (max-width:700px){
  .marquee{flex-direction:column;align-items:stretch}
  .marquee-label{justify-content:center;border-right:0;border-bottom:1px solid var(--line);padding:14px var(--gutter)}
  .marquee-view{padding:16px 0}
}

/* ---------- Comment round 3 ---------- */
/* Headings asked to sit on one line */
.fitc{container-type:inline-size}
.sec-head.wide{max-width:none}
@media (min-width:360px){ .fit-story{white-space:nowrap;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / 12.3))} }
@media (min-width:360px){
  .fit-year{white-space:nowrap;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / 11.7))}
}
@media (min-width:600px){ .fit-changes{white-space:nowrap;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / 16.5))} }
#h-story,#h-year{margin-bottom:clamp(28px,4vw,56px)}

/* Home quotes: an even grid */
.quotes{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.quotes .q{margin:0;font-size:1.2rem;background:var(--sand)}
.quotes .q:nth-child(2),.quotes .q:nth-child(7){background:var(--green-tint)}
.quotes .q:nth-child(4),.quotes .q:nth-child(5){background:var(--gold-tint)}
@media (max-width:1099px){.quotes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.quotes{grid-template-columns:minmax(0,1fr)}}

/* Numbers: tighter gap between figure and text */
.numb{gap:clamp(14px,1.6vw,22px)}
.numb .n{min-width:0}

/* Closing backgrounds: ripples and orbits */
.ripple{transform-box:fill-box;transform-origin:center;opacity:0}
.ill.in .ripple{animation:ripple 9s cubic-bezier(.2,.6,.35,1) infinite}
.ill.in .ripple.r2{animation-delay:3s}.ill.in .ripple.r3{animation-delay:6s}
@keyframes ripple{0%{transform:scale(.22);opacity:0}14%{opacity:.95}100%{transform:scale(1.04);opacity:0}}
.spin-a,.spin-b,.spin-c{transform-box:view-box;transform-origin:50% 50%}
.spin-a{animation:spin 26s linear infinite}
.spin-b{animation:spin 64s linear infinite reverse}
.spin-c{animation:spin 90s linear infinite}

/* Home hero: quiet looping life */
.nod-a,.nod-b,.sway,.glow{transform-box:fill-box}
.nod-a,.nod-b,.sway{transform-origin:50% 100%}
.glow{transform-origin:center}
.ill.in .nod-a{animation:nodA 8s ease-in-out 2.6s infinite}
.ill.in .nod-b{animation:nodB 9.5s ease-in-out 3.6s infinite}
.ill.in .sway{animation:sway 5.5s ease-in-out 2.4s infinite alternate}
.ill.in .glow{animation:glow 6s ease-in-out 2.4s infinite}
.ill.in .twinkle{animation:twinkle 3.4s ease-in-out 2.8s infinite}
@keyframes nodA{0%,100%{transform:rotate(0)}30%{transform:rotate(-3deg)}62%{transform:rotate(1.5deg)}}
@keyframes nodB{0%,100%{transform:rotate(0)}38%{transform:rotate(2.6deg)}70%{transform:rotate(-1deg)}}
@keyframes sway{from{transform:rotate(-2.6deg)}to{transform:rotate(2.6deg)}}
@keyframes glow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.5}}
@keyframes twinkle{0%,100%{opacity:1}50%{opacity:.15}}

/* WealthOS ring: nodes light up as the dot passes */
.node{transform-box:fill-box;transform-origin:center}
.ill.in .node{animation:nodepulse 24s ease-in-out infinite;animation-delay:calc(1.1s + var(--t,0s))}
.ill.in .node .nring{animation:nodering 24s ease-in-out infinite;animation-delay:calc(1.1s + var(--t,0s))}
@keyframes nodepulse{0%{transform:scale(1)}2.5%{transform:scale(1.15)}7%,100%{transform:scale(1)}}
@keyframes nodering{0%{stroke:#1F4A3F}2.5%{stroke:#CCAC78;stroke-width:3}8%,100%{stroke:#1F4A3F;stroke-width:1.8}}

/* WealthOS hero: headline and subhead always two lines */
.wos-copy{container-type:inline-size}
.wos-hero .wos-copy h1{font-size:min(5.2rem,calc(100cqi / 8.05));line-height:1.04;text-wrap:balance}
.wos-hero .wos-copy .lead{font-size:min(1.38rem,calc(100cqi / 23.1));max-width:none;text-wrap:balance}

/* Clutter section */
.clutter-h{font-size:clamp(2rem,4vw,3.4rem);max-width:none;margin-bottom:clamp(28px,4vw,56px)}
.clutter-h span{display:block}
.clutter-h span:first-child{color:var(--ink-2)}
.clutter-h span:last-child{color:var(--green)}
.clutter{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media (max-width:900px){.clutter{grid-template-columns:minmax(0,1fr)}.clutter-art svg{max-width:520px;margin-inline:auto}}

/* Year ring caption */
.year-art{margin:0}
.year-art figcaption{margin-top:18px;text-align:center}
.year-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;font-size:.9rem;font-weight:500;color:var(--green);margin-bottom:10px}
.year-legend>span{display:inline-flex;align-items:center;gap:8px}
.year-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}
.lg-q{background:var(--cream);border:2px solid var(--gold);box-shadow:inset 0 0 0 2px var(--cream),inset 0 0 0 6px var(--gold)}
.lg-y{background:var(--green);position:relative}
.lg-y::after{content:"";position:absolute;inset:3px;background:var(--gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.year-cap{display:block;font-size:.95rem;color:var(--ink-2);max-width:40ch;margin:0 auto}

/* "What WealthOS is not": titles on one line */
.nots .card{container-type:inline-size}
.nots h3{white-space:nowrap;font-size:min(1.9rem,calc(100cqi / 9.5))}
@media (min-width:600px) and (max-width:900px){.nots h3{font-size:min(1.9rem,calc((100cqi - 66px) / 9.5))}}

/* WealthOS quotes: six, evenly */
.duo{grid-template-columns:repeat(3,minmax(0,1fr))}
.duo .q{font-size:clamp(1.3rem,1.6vw,1.55rem);background:var(--sand)}
.duo .q:nth-child(2),.duo .q:nth-child(6){background:var(--green-tint)}
.duo .q:nth-child(4){background:var(--gold-tint)}
@media (max-width:1000px){.duo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.duo{grid-template-columns:minmax(0,1fr)}}

/* Distinct "OS" in WealthOS */
.wos{white-space:nowrap}
.wos .os{color:var(--gold-deep);letter-spacing:.04em;margin-left:.03em}
p .wos .os,li .wos .os,.mega-d .wos .os,.crumbs .wos .os{color:var(--green);font-weight:700}
.eyebrow .wos .os{display:inline-block;color:var(--green);border:1px solid currentColor;border-radius:4px;padding:2px 4px 1px;margin-left:4px;line-height:1;letter-spacing:.08em}
.site-footer .wos .os{color:var(--gold);font-weight:600}
.mega-t .wos .os{color:var(--gold-deep)}

/* Footer: two-line tagline, single-line service links */
.ft-brand{container-type:inline-size}
.ft-brand p{font-size:min(1.5rem,calc(100cqi / 11.8));max-width:11.7em;text-wrap:balance}
.ft-top{grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr) minmax(0,1.45fr) minmax(0,.75fr);grid-template-areas:"brand about serv oth"}
.ft-brand{grid-area:brand}.ft-about{grid-area:about}.ft-serv{grid-area:serv;container-type:inline-size}.ft-oth{grid-area:oth}
.ft-serv a{white-space:nowrap;font-size:min(.95rem,calc(100cqi / 20.4))}
@media (max-width:900px){.ft-top{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"brand brand" "about oth" "serv serv"}}
@media (max-width:420px){.ft-top{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "about" "serv" "oth"}}

/* Trouble cards: statement merged into cards */
.trouble .card{display:flex;flex-direction:column}
.trouble .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.trouble .top .ico{margin-bottom:0}
.trouble .no{font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--gold)}
.trouble .lbl{font:500 .75rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 12px}
.trouble h3{font-size:clamp(1.55rem,2.1vw,1.95rem);line-height:1.14;text-wrap:balance;margin-bottom:.6em}
.trouble .card:last-child h3{color:var(--green)}
.trouble p:not(.lbl){color:var(--ink-2)}
.g3.trouble .card{display:flex;flex-direction:column;align-items:stretch}
.g3.trouble .card .ico{margin:0}
.g3.trouble .card h3{margin-top:0}
/* Founder portrait */
.photo-frame picture{position:absolute;inset:0;display:block}
.photo-frame .photo{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
/* Hero still life: drifting birds, falling sand */
.drift{transform-box:fill-box}
.ill.in .drift{animation:drift 14s ease-in-out 2.4s infinite alternate}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(18px,-6px,0)}}
.sand{opacity:0}
.ill.in .sand{opacity:1;transition:opacity .6s 2s;animation:sand 1.4s linear 2s infinite}
@keyframes sand{to{stroke-dashoffset:-8}}
/* Values band: three defined values in place of the marquee */
.values{border-block:1px solid var(--line);background:var(--cream)}
.values-grid{display:grid;grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1fr));align-items:stretch}
.values-label{display:flex;align-items:center;gap:.6em;margin:0;padding:clamp(26px,3vw,40px) clamp(16px,2vw,28px) clamp(26px,3vw,40px) 0;font:500 .8125rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.values-label::before{content:"";width:22px;height:1px;background:currentColor;flex:none}
.value{position:relative;padding:clamp(26px,3vw,40px) clamp(18px,2.4vw,36px);border-left:1px solid var(--line)}
.value h3{display:flex;align-items:center;gap:12px;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.1;margin:0 0 .4em}
.value h3::before{content:"";width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg);flex:none}
.value p{margin:0;color:var(--ink-2);font-size:clamp(.95rem,1.05vw,1.02rem);line-height:1.5;max-width:26ch}
@media (max-width:900px){
  .values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .values-label{grid-column:1 / -1;padding:22px 0 0}
  .value{padding:18px 18px 26px}
  .value:nth-child(2){border-left:0;padding-left:0}
}
@media (max-width:600px){
  .values-grid{grid-template-columns:minmax(0,1fr)}
  .value,.value:nth-child(2){border-left:0;border-top:1px solid var(--line);padding:18px 0}
  .values-label{padding:22px 0 4px}
  .value:last-child{padding-bottom:22px}
}
/* Year caption: always two lines */
.year-art figcaption{container-type:inline-size}
.year-cap{max-width:none}
.year-cap>span{display:block;white-space:nowrap;font-size:min(.95rem,calc(100cqi / 21.8))}
/* ---------- About page ---------- */
.about-hero .wos-copy h1.fit2>span{display:block;white-space:nowrap}
.about-hero .wos-copy .lead{font-size:clamp(1.08rem,1.35vw,1.3rem);max-width:42ch;text-wrap:pretty}
.about-art svg{display:block;width:100%;max-width:540px;margin-inline:auto}
.sway-sm{transform-box:fill-box;transform-origin:50% 100%}
.ill.in .sway-sm{animation:swaysm 7s ease-in-out 2.4s infinite alternate}
@keyframes swaysm{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
.hover-sm{transform-box:fill-box}
.ill.in .hover-sm{animation:hoversm 6s ease-in-out 2s infinite alternate}
@keyframes hoversm{from{transform:translate3d(0,0,0)}to{transform:translate3d(-4px,3px,0)}}
.thread{opacity:0}
.ill.in .thread{opacity:1;transition:opacity .8s 2.2s;animation:thread 2.4s linear 2.2s infinite}
@keyframes thread{to{stroke-dashoffset:-12}}

/* Tabs */
.tabs{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.tablist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tablist [role=tab]{appearance:none;background:none;border:0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:16px;padding:22px 0;text-align:left;cursor:pointer;font:inherit;color:var(--ink-2);position:relative;-webkit-tap-highlight-color:transparent}
.tablist .tno{font:500 .8rem/1 var(--sans);letter-spacing:.12em;color:var(--gold-deep);flex:none}
.tablist .tlabel{font-family:var(--serif);font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.1;color:var(--ink-2);transition:color .3s}
.tablist [role=tab]::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.tablist [role=tab][aria-selected=true] .tlabel,.tablist [role=tab]:hover .tlabel{color:var(--ink)}
.tablist [role=tab][aria-selected=true]::after{transform:scaleX(1)}
.tablist [role=tab]:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}
.panels{display:grid}
.panel{grid-area:1 / 1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--cream);border-radius:var(--r);padding:clamp(24px,3.6vw,52px);opacity:0;visibility:hidden;transform:translate3d(0,8px,0);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s .45s}
.panel.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--ease),transform .55s var(--ease)}
.panel:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.panel h2{font-size:clamp(1.9rem,2.8vw,2.6rem);margin-bottom:.5em}
.panel p{color:var(--ink-2);margin:0}
.panel-art svg{display:block;width:100%;height:auto}
.pillars-row{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pillars-row li{font:500 .85rem/1 var(--sans);color:var(--green);background:var(--green-tint);padding:9px 14px;border-radius:999px}
@media (max-width:1100px){.panel{grid-template-columns:minmax(0,1fr);align-items:start}.panel-art{order:-1;max-width:340px}}
@media (max-width:900px){
  .tabs{grid-template-columns:minmax(0,1fr)}
  .tablist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;border-bottom:1px solid var(--line);gap:0 18px}
  .tablist [role=tab]{border-bottom:0;padding:12px 0 16px;flex-direction:column;gap:8px}
}
@media (max-width:600px){
  .tablist{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .tablist [role=tab]{border-bottom:1px solid var(--line);flex-direction:row;gap:10px;padding:14px 0}
  .tablist .tlabel{font-size:1.15rem}
  .panel-art{max-width:300px;margin-inline:auto}
}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.stat{border-top:1px solid rgba(204,172,120,.4);padding-top:26px}
.stat .n{display:block;font-family:var(--serif);font-size:clamp(4.4rem,7.6vw,6.8rem);line-height:.9;color:var(--gold);margin-bottom:20px}
.stat .n small{font-size:.5em;margin-left:.04em}
.stat p{color:rgba(254,250,243,.78);margin:0;max-width:30ch}
.stat p b{display:block;color:var(--cream);font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.7vw,1.5rem);line-height:1.2;margin-bottom:.4em;text-wrap:balance}
@media (max-width:760px){.stats{grid-template-columns:minmax(0,1fr);gap:34px}}

/* In our own words */
.words{text-align:center}
.words .eyebrow{justify-content:center}
.words-q{margin:20px auto 0;max-width:28ch;font-family:var(--serif);font-size:clamp(1.85rem,3.6vw,3.1rem);line-height:1.18;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.words-q p{margin:0}
.flourish{display:block;width:220px;margin:36px auto 0}

/* Generational wealth */
.gen-copy h2{margin-bottom:.6em}
.gen-copy p{color:var(--ink-2);max-width:52ch}
.gen-art svg{display:block;width:100%;height:auto}

/* Founder's letter */
.letter-wrap{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(32px,6vw,96px);align-items:start}
.letter-side{position:sticky;top:130px}
.photo-wrap.sm{max-width:300px;margin-bottom:28px}
.letter{background:#FFFDF8;border:1px solid var(--line);border-radius:var(--r);padding:clamp(28px,5vw,72px);box-shadow:0 30px 60px -44px rgba(47,44,37,.35);max-width:780px}
.letter .eyebrow{margin-bottom:1.6rem}
.letter p{font-size:clamp(1.04rem,1.2vw,1.14rem);line-height:1.75;color:var(--ink)}
.letter .salute{font-family:var(--serif);font-size:1.55rem;margin-bottom:1rem}
.letter .dropcap::first-letter{font-family:var(--serif);float:left;font-size:4.1em;line-height:.82;padding:.08em .12em 0 0;color:var(--green)}
.letter .freedom{font-family:var(--serif);font-size:clamp(2.3rem,3.8vw,3.2rem);line-height:1;color:var(--green);margin:.5em 0 .45em}
.letter .signoff{margin:2.2rem 0 0;padding-top:1.6rem;border-top:1px solid var(--line)}
.letter .signoff b{font-family:var(--serif);font-weight:400;font-size:1.55rem}
.letter .signoff span{color:var(--ink-2);font-size:.95rem}
@media (max-width:900px){
  .letter-wrap{grid-template-columns:minmax(0,1fr)}
  .letter-side{position:static;display:flex;align-items:center;gap:22px}
  .photo-wrap.sm{width:110px;flex:none;margin:0}
  .photo-wrap.sm::after{inset:-7px 7px 7px -7px}
  .letter-side .sig{margin:0}
}

/* Closing with oak sprigs */
.closing .bgmark.oakbg{width:100%;height:100%;left:0;top:0;transform:none;opacity:.7}
.about-hero .wos-copy h1.fit2{font-size:min(5rem,calc(100cqi / 10.5));line-height:1.04}
.panel{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.panel-art{background:var(--sand);border-radius:calc(var(--r) - 4px);padding:clamp(14px,2vw,26px)}
.panel h2{font-size:clamp(1.8rem,2.4vw,2.35rem)}
.gen-head{margin-bottom:clamp(24px,3vw,44px)}
@media (min-width:480px){ .fit-gen{white-space:nowrap;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / 11.5))} }
.closing p{max-width:54ch;margin-inline:auto}
/* Tabs: tab row across the top, wide panel beneath */
.tabs{grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,36px)}
.tablist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2vw,28px);border-top:0;border-bottom:1px solid var(--line)}
.tablist [role=tab]{border-bottom:0;padding:14px 0 18px}
.panel{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);padding:clamp(24px,4vw,60px)}
.panel-copy{max-width:58ch}
@media (max-width:1100px){.panel{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}.panel-art{order:0;max-width:none}}
@media (max-width:760px){.panel{grid-template-columns:minmax(0,1fr)}.panel-art{order:-1;max-width:340px}}
@media (max-width:900px){.tablist [role=tab]{flex-direction:column;gap:8px}}
@media (max-width:600px){
  .tablist{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:0}
  .tablist [role=tab]{border-bottom:1px solid var(--line);flex-direction:row;gap:10px;padding:14px 0}
  .panel-art{max-width:300px;margin-inline:auto}
}
@media (max-width:760px){
  .panels{display:block;position:relative}
  .panel{position:relative}
  .panel:not(.is-on){position:absolute;top:0;left:0;right:0}
}
/* Larger logo */
.hdr{height:92px}
.brand{width:clamp(196px,19vw,272px)}
@media (min-width:1680px){.brand{width:296px}.hdr{height:100px}}
@media (min-width:2200px){.brand{width:330px}.hdr{height:108px}}
@media (max-width:379px){.brand{width:160px}}
/* Principles: sticky heading beside a numbered list */
.princ2{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,6vw,104px);align-items:start}
.princ-head{position:sticky;top:132px}
.princ-head h2{margin-bottom:.45em}
.princ-head .lead{max-width:30ch;margin-bottom:0}
.rosette{display:block;width:clamp(120px,12vw,168px);margin-top:clamp(28px,4vw,48px)}
.princ-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.princ-list li{display:grid;grid-template-columns:auto 48px minmax(0,1fr);gap:0 clamp(16px,2vw,28px);align-items:start;padding:clamp(24px,2.8vw,36px) 0;border-bottom:1px solid var(--line)}
.princ-list .pn{font-family:var(--serif);font-size:clamp(1.9rem,2.4vw,2.4rem);line-height:.9;color:var(--gold);min-width:1.4em}
.princ-list .ico{width:46px;height:46px;margin:0}
.princ-list h3{font-size:clamp(1.4rem,1.9vw,1.75rem);line-height:1.15;margin:0 0 .4em}
.princ-list p{margin:0;color:var(--ink-2);max-width:58ch}
@media (min-width:901px){ .fit-stand{white-space:nowrap;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / 9.35))} }
@media (max-width:900px){
  .princ2{grid-template-columns:minmax(0,1fr)}
  .princ-head{position:static}
  .rosette{display:none}
}
@media (max-width:600px){
  .princ-list li{grid-template-columns:auto minmax(0,1fr);gap:12px 16px}
  .princ-list .ico{grid-column:2;width:40px;height:40px}
  .princ-list li>div{grid-column:2}
}
/* Values: centred label, three emblem columns */
.values{border-block:1px solid var(--line);background:var(--cream);padding:clamp(44px,6vw,84px) 0}
.values-label{justify-content:center;padding:0;margin:0 0 clamp(28px,4vw,48px);text-align:center}
.values-label::after{content:"";width:22px;height:1px;background:currentColor;flex:none}
.values-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}
.values-row .value{border-left:1px solid var(--line);padding:0 clamp(18px,3vw,44px)}
.values-row .value:first-child{border-left:0}
.values-row .value:nth-child(2){border-left:1px solid var(--line);padding-left:clamp(18px,3vw,44px)}
.vmedal{display:block;width:clamp(68px,6.4vw,88px);height:auto;margin:0 auto 18px}
.values-row .value h3{display:block;font-size:clamp(1.7rem,2.6vw,2.4rem);margin:0 0 .35em}
.values-row .value h3::before{display:none}
.values-row .value p{max-width:24ch;margin:0 auto;font-size:clamp(.98rem,1.15vw,1.08rem)}
@media (max-width:700px){
  .values-row{grid-template-columns:minmax(0,1fr)}
  .values-row .value,.values-row .value:nth-child(2){border-left:0;border-top:1px solid var(--line);padding:26px 0}
  .values-row .value:first-child{border-top:0;padding-top:0}
  .values-row .value:last-child{padding-bottom:0}
}
/* Hero: a living window */
.cloud,.flock,.bird,.rays,.leaf-fall,.pulse{transform-box:fill-box}
.ill.in .cloud.c1{animation:cloud1 38s ease-in-out 1.5s infinite alternate}
.ill.in .cloud.c2{animation:cloud2 46s ease-in-out 1.5s infinite alternate}
@keyframes cloud1{from{transform:translate3d(-26px,0,0)}to{transform:translate3d(34px,0,0)}}
@keyframes cloud2{from{transform:translate3d(30px,0,0)}to{transform:translate3d(-24px,0,0)}}
.flock{transform:translate3d(-80px,16px,0)}
.ill.in .flock{animation:flock 30s linear 2.2s infinite}
@keyframes flock{0%{transform:translate3d(-80px,16px,0)}100%{transform:translate3d(300px,-34px,0)}}
.bird{transform-origin:center}
.ill.in .bird{animation:flap 1.1s ease-in-out infinite}
@keyframes flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(-.45)}}
.rays{transform-origin:center}
.ill.in .rays{animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.beam{opacity:0}
.ill.in .beam{animation:beam 9s ease-in-out 2.4s infinite}
@keyframes beam{0%,100%{opacity:.25}50%{opacity:.75}}
.leaf-fall{opacity:0;transform-origin:center}
.ill.in .leaf-fall{animation:leaffall 16s ease-in 5s infinite}
@keyframes leaffall{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}4%{opacity:1}30%{transform:translate3d(14px,70px,0) rotate(120deg)}52%{opacity:1;transform:translate3d(30px,140px,0) rotate(250deg)}60%,100%{opacity:0;transform:translate3d(30px,140px,0) rotate(250deg)}}
.pulse{transform-origin:center}
.ill.in .pulse{animation:pulse 3.2s ease-in-out 3s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.7)}}
/* About hero: more air */
.about-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.about-hero .eyebrow{margin-bottom:clamp(18px,2vw,26px)}
.about-hero .wos-copy h1.fit2{margin-bottom:clamp(22px,2.4vw,34px)}
.about-hero .wos-copy .lead{line-height:1.6;max-width:40ch;margin-bottom:clamp(14px,1.6vw,20px)}
.about-hero .lead-sub{border-left:2px solid var(--gold);padding-left:16px;color:var(--ink-2);font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.6;max-width:44ch;margin:0 0 clamp(28px,3vw,40px)}
@media (max-width:900px){.about-hero{grid-template-columns:minmax(0,1fr)}}
/* In our own words: a rhythm of three */
.words-q{max-width:none;font-size:inherit;margin:22px auto 0}
.wq-lead{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.16;letter-spacing:-.01em;color:var(--ink);max-width:24ch;margin:0 auto;text-wrap:balance}
.wq-triad{list-style:none;padding:0;margin:clamp(30px,4vw,52px) auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;border-block:1px solid var(--line)}
.wq-triad li{position:relative;font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.75rem);line-height:1.2;color:var(--green);padding:clamp(22px,2.6vw,32px) clamp(12px,2vw,24px)}
.wq-triad li+li::before{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;margin-top:-5px;background:var(--cream);border:1px solid var(--gold);transform:rotate(45deg)}
.wq-triad li+li{border-left:1px solid var(--line)}
.wq-close{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);color:var(--gold-deep);margin:0}
@media (max-width:700px){
  .wq-triad{grid-template-columns:minmax(0,1fr);max-width:420px}
  .wq-triad li{padding:18px 0}
  .wq-triad li+li{border-left:0;border-top:1px solid var(--line)}
  .wq-triad li+li::before{left:50%;top:-5px;margin:0 0 0 -5px}
}
.words-q .wq-lead{margin:0 auto;max-width:31ch}
.words-q .wq-close{margin:0}
.about-hero .wos-copy .lead{margin-bottom:clamp(28px,3vw,40px)}
.letter-side .photo-wrap.sm{margin-bottom:0}
@media (max-width:900px){.letter-side{justify-content:center}.photo-wrap.sm{width:min(220px,60vw)}.photo-wrap.sm::after{inset:-10px 10px 10px -10px}}
/* About closing: sprigs sway, leaves drift down */
.sway-md{transform-box:fill-box;transform-origin:0% 100%}
.sway-md.alt{transform-origin:100% 100%}
.ill.in .sway-md{animation:swaymd 8s ease-in-out 2s infinite alternate}
.ill.in .sway-md.alt{animation-duration:9.5s;animation-delay:2.6s}
@keyframes swaymd{from{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}
.fall{transform-box:fill-box;transform-origin:center;opacity:0}
.ill.in .fall{animation:fall 22s linear infinite}
.ill.in .fall.f0{animation-delay:1s}
.ill.in .fall.f1{animation-delay:5s;animation-duration:26s}
.ill.in .fall.f2{animation-delay:9s}
.ill.in .fall.f3{animation-delay:13s;animation-duration:25s}
.ill.in .fall.f4{animation-delay:3s;animation-duration:24s}
.ill.in .fall.f5{animation-delay:16s;animation-duration:28s}
@keyframes fall{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}
  8%{opacity:1}
  25%{transform:translate3d(36px,170px,0) rotate(70deg)}
  50%{transform:translate3d(-20px,340px,0) rotate(150deg)}
  75%{transform:translate3d(30px,510px,0) rotate(230deg)}
  90%{opacity:1}
  100%{opacity:0;transform:translate3d(0,680px,0) rotate(300deg)}
}
/* AMFI registration tag under the header logo */
.brand-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:none}
.amfi-tag{display:inline-flex;align-items:center;gap:6px;font:500 .66rem/1 var(--sans);letter-spacing:.02em;color:var(--green);background:var(--cream);border:1px solid rgba(204,172,120,.75);border-radius:999px;padding:3px 9px 3px 4px;white-space:nowrap;transition:background .2s}
.amfi-tag:hover{background:var(--gold-tint)}
.amfi-tag .seal{width:14px;height:14px;flex:none}
.amfi-tag .dot{color:var(--gold)}
.amfi-tag .arn{color:var(--gold-deep);font-variant-numeric:tabular-nums}
.amfi-tag .abbr{display:none}
@media (max-width:1180px){.amfi-tag .full{display:none}.amfi-tag .abbr{display:inline}}
@media (max-width:379px){.amfi-tag{font-size:.6rem;padding:2px 7px 2px 3px;gap:4px}.amfi-tag .seal{width:12px;height:12px}}
.amfi-tag .abbr,.amfi-tag .full{display:inline}
@media (max-width:480px){.amfi-tag .reg{display:none}}
@media (max-width:1259px){.amfi-tag .reg{display:none}}
.hdr .amfi-tag,.hdr .amfi-tag:hover{text-decoration:none}
/* ==================== Inner pages ==================== */
:root{interpolate-size:allow-keywords}
/* Page hero: fitted two-line headline and lead (divisors are measured at build time) */
.ph-hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}
.wos-copy h1.fit2[data-fit]{font-size:min(5rem,calc(100cqi / var(--fit,10)));line-height:1.04;margin-bottom:clamp(20px,2.4vw,32px)}
.wos-copy h1.fit2[data-fit]>span,.wos-copy .lead.fit2[data-fit]>span{display:block;white-space:nowrap}
.wos-copy .lead.fit2[data-fit]{font-size:min(1.34rem,calc(100cqi / var(--fit,24)));line-height:1.5;max-width:none;margin-bottom:clamp(18px,2vw,26px)}
.ph-hero .wos-copy .lead.one{font-size:clamp(1.12rem,1.4vw,1.34rem)}
.ph-hero .tagline{font-family:var(--serif);font-size:clamp(1.25rem,1.6vw,1.5rem);color:var(--gold-deep);margin:-.4rem 0 1rem}
.lead-sub{border-left:2px solid var(--gold);padding-left:16px;color:var(--ink-2);font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.6;max-width:46ch;margin:0 0 clamp(26px,3vw,38px)}
.ph-hero .wos-copy>:last-child{margin-bottom:0}
.ph-hero .hero-art svg{display:block;width:100%;max-width:560px;margin-inline:auto;height:auto}
@media (max-width:900px){.ph-hero{grid-template-columns:minmax(0,1fr)}.ph-hero .hero-art{max-width:520px;width:100%;margin-inline:auto}}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* One-line section headings */
.fitc .fit1[data-fit]{white-space:nowrap;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / var(--fit,14)))}
.sec-head p{color:var(--ink-2);max-width:62ch}
.sec-head p:last-child{margin-bottom:0}
.sec-head.center p{margin-inline:auto}
.sec-head .lead{color:var(--ink-2)}
.after{max-width:68ch;color:var(--ink-2);margin:clamp(28px,3.4vw,44px) 0 0}
.after.center{text-align:center;margin-inline:auto}
.kicker{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.85rem);line-height:1.25;color:var(--green);margin:clamp(28px,3.4vw,44px) 0 0;max-width:40ch;text-wrap:balance}
.kicker.center{text-align:center;margin-inline:auto}

/* Icon cards */
.cards{display:grid;gap:clamp(18px,2.4vw,28px)}
.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.cards.c3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.cards.c2,.cards.c4{grid-template-columns:minmax(0,1fr)}}
.icard{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.8vw,34px);transition:transform .5s var(--ease),border-color .4s}
.icard:hover{transform:translateY(-3px);border-color:var(--gold)}
.sec-sand .icard{border-color:transparent}
.icard .ico{width:60px;height:60px;margin-bottom:20px}
.icard h3{font-size:clamp(1.4rem,1.8vw,1.7rem);margin-bottom:.4em}
.icard p{color:var(--ink-2);margin:0}
.icard p+p{margin-top:.8em}
.icard .ticks{margin:16px 0 0}
.icard .tag{display:block;font:500 .75rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px}
@media (min-width:600px) and (max-width:900px){
  .cards.c3 .icard{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:24px;align-items:start}
  .cards.c3 .icard .ico{grid-row:1 / span 4;margin:0}
}
.ticks li{color:var(--ink-2)}
.ticks.tight{gap:8px}
.xlist{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.xlist li{position:relative;padding-left:30px;color:var(--ink-2)}
.xlist li::before,.xlist li::after{content:"";position:absolute;left:2px;top:.75em;width:14px;height:1.5px;background:var(--gold-deep)}
.xlist li::before{transform:rotate(45deg)}.xlist li::after{transform:rotate(-45deg)}

/* Steps tabs with three or four tabs */
.tablist.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){
  .tablist.t3{grid-template-columns:minmax(0,1fr)}
  .tablist.t3 [role=tab]{padding:14px 0}
}
.panel .step-k{display:block;font:500 .78rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px}
.panel .panel-copy p+p,.panel .panel-copy p+ul,.panel .panel-copy ul+p{margin-top:1em}
.panel .ticks{margin:14px 0 0}
.panel .after-line{font-family:var(--serif);font-size:clamp(1.2rem,1.5vw,1.4rem);line-height:1.3;color:var(--green);margin-top:1.2em}
.panel-icons{display:grid;gap:14px}
.mini{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;background:var(--sand);border-radius:14px;padding:18px}
.mini .ico{width:48px;height:48px;margin:0}
.mini h3{font-size:1.25rem;margin:2px 0 .3em}
.mini p{font-size:.98rem;color:var(--ink-2);margin:0}
.panel.wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
@media (max-width:900px){.panel.wide{grid-template-columns:minmax(0,1fr)}}
.panel .looks{background:var(--sand);border-radius:14px;padding:clamp(20px,2.4vw,30px)}
.panel .looks h3{font:500 .78rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px}
.panel .looks .ticks{margin:0}
.panel .looks .ticks li{color:var(--ink)}
.panel-copy .q-title{font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.12;color:var(--ink);margin:0 0 .5em}

/* Single quote, centred */
.solo{max-width:900px;margin:0 auto;text-align:center}
.solo blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.2;color:var(--ink);text-wrap:balance}
.solo blockquote::before{content:"\201C";display:block;font-size:4.2rem;line-height:.5;color:var(--gold);margin-bottom:22px}
.q-attr{display:block;margin-top:22px;font:500 .8125rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.solo .btn{margin-top:30px}

/* Quote grids for three, four and five quotes */
.qgrid{display:grid;gap:clamp(16px,2vw,24px)}
.qgrid .q{margin:0;font-size:clamp(1.25rem,1.5vw,1.45rem);background:var(--sand)}
.qgrid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qgrid.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
.qgrid.n5{grid-template-columns:repeat(6,minmax(0,1fr))}
.qgrid.n5 .q{grid-column:span 2}
.qgrid.n5 .q:nth-child(-n+2){grid-column:span 3}
.qgrid .q:nth-child(2){background:var(--green-tint)}
.qgrid .q:nth-child(4){background:var(--gold-tint)}
.sec-sand .qgrid .q{background:var(--cream)}
.sec-sand .qgrid .q:nth-child(2){background:var(--green-tint)}
.sec-sand .qgrid .q:nth-child(4){background:var(--gold-tint)}
@media (max-width:1000px){.qgrid.n3{grid-template-columns:minmax(0,1fr)}.qgrid.n5{grid-template-columns:repeat(2,minmax(0,1fr))}.qgrid.n5 .q,.qgrid.n5 .q:nth-child(-n+2){grid-column:auto}.qgrid.n5 .q:last-child{grid-column:1 / -1}}
@media (max-width:640px){.qgrid.n4,.qgrid.n5{grid-template-columns:minmax(0,1fr)}}
@media (min-width:640px) and (max-width:1000px){.qgrid.n3{grid-template-columns:repeat(2,minmax(0,1fr))}.qgrid.n3 .q:last-child{grid-column:1 / -1}}

/* Stats on sand */
.stats.light .stat{border-top-color:var(--line)}
.stats.light .stat .n{color:var(--green)}
.stats.light .stat p{color:var(--ink-2)}
.stats.light .stat p b{color:var(--ink)}
.stat .src{display:block;margin-top:12px;font-size:.8rem;line-height:1.45;color:var(--ink-2);opacity:.85}
.sec-green .stat .src{color:rgba(254,250,243,.6)}
.stat-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.stat-intro h2{margin:0}
.stat-intro p{margin:0;color:var(--ink-2)}
.sec-green .stat-intro p{color:rgba(254,250,243,.8)}
@media (max-width:900px){.stat-intro{grid-template-columns:minmax(0,1fr);gap:18px}}
.prose-close{max-width:70ch;margin:clamp(36px,5vw,64px) 0 0;font-size:clamp(1.08rem,1.3vw,1.22rem);line-height:1.65;color:var(--ink-2)}
.sec-green .prose-close{color:rgba(254,250,243,.85)}

/* Fears and realities */
.fears{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.fears.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.fears.n3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.fears{grid-template-columns:minmax(0,1fr)}}
.fear{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,38px);display:flex;flex-direction:column}
.sec-sand .fear{border-color:transparent}
.fear h3{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.15;color:var(--green);margin-bottom:.55em}
.fear>p{color:var(--ink-2)}
.reality{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:.98rem;color:var(--ink)}
.reality b{display:block;font:500 .75rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px}

/* Heading card that sits in a grid with five cards */
.grid6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:1000px){.grid6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid6{grid-template-columns:minmax(0,1fr)}}
.grid6 .head-card{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(4px,1vw,12px) clamp(4px,1vw,12px) clamp(12px,2vw,24px) 0}
.grid6 .head-card h2{margin:0}
.grid6 .icard h3{color:var(--ink)}
.grid6 .icard .no{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--gold);display:block;margin-bottom:16px}

/* Numbered list on green */
.nlist{list-style:none;margin:0;padding:0;counter-reset:n;border-top:1px solid rgba(254,250,243,.16)}
.nlist li{counter-increment:n;display:grid;grid-template-columns:clamp(54px,7vw,96px) minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(12px,3vw,40px);padding:clamp(22px,2.8vw,34px) 0;border-bottom:1px solid rgba(254,250,243,.16);align-items:baseline}
.nlist li::before{content:counter(n,decimal-leading-zero);font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.2rem);color:var(--gold);line-height:1}
.nlist h3{color:var(--cream);font-size:clamp(1.4rem,2vw,1.8rem);margin:0}
.nlist p{color:rgba(254,250,243,.8);margin:0}
@media (max-width:800px){.nlist li{grid-template-columns:48px minmax(0,1fr)}.nlist p{grid-column:2}}
.sec:not(.sec-green) .nlist{border-top-color:var(--line)}
.sec:not(.sec-green) .nlist li{border-bottom-color:var(--line)}
.sec:not(.sec-green) .nlist h3{color:var(--ink)}
.sec:not(.sec-green) .nlist p{color:var(--ink-2)}

/* Won't and will */
.wonwill{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:760px){.wonwill{grid-template-columns:minmax(0,1fr)}}
.wonwill>div{border-radius:var(--r);padding:clamp(24px,3vw,40px)}
.wonwill .wont{background:var(--cream);border:1px solid var(--line)}
.wonwill .will{background:var(--green-tint)}
.wonwill h3{font:500 .8125rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 18px}
.wonwill .ticks,.wonwill .xlist{margin:0}
.wonwill .ticks li,.wonwill .xlist li{color:var(--ink)}
.closing .closing-note{font-family:var(--serif);font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.4;color:rgba(254,250,243,.86);max-width:46ch;margin:1.6rem auto 0}
.closing .closing-note+.closing-note{margin-top:.6rem}

/* Accordion */
.acc-list{border-top:1px solid var(--line);max-width:920px}
.acc-list.center{margin-inline:auto}
.acc{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:20px;align-items:center;padding:clamp(18px,2.2vw,26px) 0;font-family:var(--serif);font-size:clamp(1.25rem,1.7vw,1.6rem);line-height:1.25;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--green)}
.acc summary i{position:relative;width:32px;height:32px;border-radius:50%;border:1px solid var(--gold);transition:background .3s,border-color .3s}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--green);transition:transform .4s var(--ease)}
.acc summary i::after{transform:rotate(90deg)}
.acc[open] summary i{background:var(--green);border-color:var(--green)}
.acc[open] summary i::before,.acc[open] summary i::after{background:var(--cream)}
.acc[open] summary i::after{transform:rotate(0)}
.acc .ans{padding:0 56px clamp(20px,2.4vw,28px) 0;color:var(--ink-2);max-width:72ch}
.acc .ans p:last-child{margin:0}
.acc .ans a{color:var(--green);text-decoration-color:var(--gold);text-underline-offset:3px}
.acc::details-content{height:0;overflow:clip;transition:height .45s var(--ease),content-visibility .45s allow-discrete}
.acc[open]::details-content{height:auto}
@media (max-width:600px){.acc .ans{padding-right:0}}
.sec-sand .acc-list,.sec-sand .acc{border-color:var(--sand-2)}

/* Tables */
.ctable{width:100%;border-collapse:separate;border-spacing:0;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:1rem}
.sec-sand .ctable{border-color:transparent}
.ctable th,.ctable td{text-align:left;vertical-align:top;padding:clamp(14px,1.8vw,22px) clamp(16px,2vw,26px);border-bottom:1px solid var(--line);line-height:1.5}
.ctable tr:last-child th,.ctable tr:last-child td{border-bottom:0}
.ctable thead th{font-family:var(--serif);font-weight:500;font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.2;color:var(--ink);background:var(--sand);vertical-align:bottom}
.sec-sand .ctable thead th{background:var(--sand-2)}
.ctable thead th.us{background:var(--green);color:var(--cream)}
.ctable tbody th{font:500 .8rem/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);width:20%}
.ctable td{color:var(--ink-2)}
.ctable td.us{background:#F7F2E7;color:var(--ink)}
.sec-sand .ctable td.us{background:var(--gold-tint)}
.tbl-wrap{position:relative}
@media (max-width:760px){
  .ctable,.ctable tbody,.ctable tr,.ctable td,.ctable th{display:block;width:auto}
  .ctable thead{display:none}
  .ctable{background:none;border:0;border-radius:0}
  .ctable tr{background:var(--cream);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden}
  .sec-sand .ctable tr{border-color:transparent}
  .ctable tbody th{background:var(--sand);padding:12px 18px;border-bottom:1px solid var(--line)}
  .sec-sand .ctable tbody th{background:var(--sand-2)}
  .ctable td{padding:12px 18px;border-bottom:1px solid var(--line)}
  .ctable td::before{content:attr(data-label);display:block;font:500 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:4px}
  .ctable td.us{background:var(--gold-tint)}
}
/* Two-column role table */
.roles{border-top:1px solid var(--line)}
.role{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(14px,3vw,40px);align-items:center;padding:clamp(14px,1.8vw,20px) 0;border-bottom:1px solid var(--line)}
.role p{margin:0}
.who{justify-self:start;display:inline-flex;align-items:center;gap:8px;font:500 .9rem/1.2 var(--sans);padding:8px 14px;border-radius:999px;background:var(--cream);border:1px solid var(--line);color:var(--ink)}
.sec-sand .who{border-color:var(--sand-2)}
.who::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.who.tw{background:var(--green);border-color:var(--green);color:var(--cream)}
.roles-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(14px,3vw,40px);font:500 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);padding-bottom:12px}
@media (max-width:600px){.role{grid-template-columns:minmax(0,1fr);gap:10px}.roles-head{display:none}}
/* Paired rows: what a salary does */
.pairs{border-top:1px solid var(--line)}
.pairs-head,.pair{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:clamp(10px,2vw,24px);align-items:center}
.pairs-head{font:500 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);padding:0 0 12px}
.pairs-head span:last-child{grid-column:3}
.pair{padding:clamp(16px,2vw,22px) 0;border-bottom:1px solid var(--line)}
.pair p{margin:0}
.pair .from{color:var(--ink-2)}
.pair .to{color:var(--ink);font-weight:500}
.pair .arr{width:40px;height:14px;color:var(--gold-deep)}
@media (max-width:640px){
  .pairs-head{display:none}
  .pair{grid-template-columns:minmax(0,1fr);gap:6px}
  .pair .arr{transform:rotate(90deg);width:14px;height:14px;margin:2px 0}
  .pair .from::before,.pair .to::before{display:block;font:500 .7rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:2px}
  .pair .from::before{content:"A salary gives you"}
  .pair .to::before{content:"When you're self-employed"}
}

/* Terminal and tickets (Tech page) */
.term{background:#163A31;border-radius:14px;overflow:hidden;box-shadow:0 40px 70px -46px rgba(22,58,49,.7);max-width:820px}
.term-bar{display:flex;align-items:center;gap:8px;background:var(--green);padding:12px 16px}
.term-bar i{width:11px;height:11px;border-radius:50%;background:var(--gold)}
.term-bar i:nth-child(2){background:#E9C9A6}.term-bar i:nth-child(3){background:#A5BFAE}
.term-bar span{margin-left:10px;font:400 .82rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#C9D8CE}
.term pre{margin:0;padding:clamp(18px,2.6vw,30px);font:400 clamp(.82rem,1.25vw,.98rem)/1.85 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#E7EFE9;white-space:pre-wrap;overflow-wrap:anywhere}
.term .c{color:#8FB0A0}.term .p{color:var(--gold)}.term .hl{color:#F0DDB2}
.term .ln{display:block;padding-left:1.6em;text-indent:-1.6em}
.js .term .ln{opacity:0;transform:translate3d(0,4px,0);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i) * .14s + .2s)}
.js .term.in .ln{opacity:1;transform:none}
.term .cur{display:inline-block;width:.6em;height:1.1em;background:var(--gold);vertical-align:-.2em;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.stack{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
@media (max-width:900px){.stack{grid-template-columns:minmax(0,1fr)}}
.tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:860px){.tickets{grid-template-columns:minmax(0,1fr)}}
.ticket{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.sec-sand .ticket{border-color:transparent}
.ticket-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px clamp(20px,2.6vw,30px);border-bottom:1px dashed var(--line)}
.ticket-id{font:500 .82rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--gold-deep);letter-spacing:.04em}
.ticket-st{font:500 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:var(--green-tint);padding:6px 10px;border-radius:999px;white-space:nowrap}
.ticket h3{font-size:clamp(1.4rem,1.9vw,1.75rem);padding:clamp(20px,2.4vw,28px) clamp(20px,2.6vw,30px) 0;margin:0 0 .3em}
.ticket dl{margin:0;padding:6px clamp(20px,2.6vw,30px) clamp(22px,2.6vw,30px);display:grid;gap:14px}
.ticket dt{font:500 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:3px}
.ticket dd{margin:0;color:var(--ink-2)}
.ticket dd.fix{color:var(--ink);background:var(--sand);border-left:2px solid var(--green);padding:12px 14px;border-radius:0 10px 10px 0}
.ticket dd a,.changelog a,.rules a,.bucket-copy a,.stage a{color:var(--green);text-decoration-color:var(--gold);text-underline-offset:3px}
.changelog{list-style:none;margin:0;padding:0;position:relative;max-width:900px}
.changelog::before{content:"";position:absolute;left:clamp(98px,12vw,128px);top:8px;bottom:8px;width:1px;background:var(--line)}
.changelog li{display:grid;grid-template-columns:clamp(98px,12vw,128px) minmax(0,1fr);gap:0;padding:0 0 clamp(22px,2.6vw,32px);position:relative}
.changelog li:last-child{padding-bottom:0}
.changelog .ver{font:500 .9rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--gold-deep);padding-right:22px}
.changelog .ver small{display:block;font-size:.72rem;letter-spacing:.06em;color:var(--ink-2)}
.changelog li>div{padding-left:28px;position:relative}
.changelog li>div::before{content:"";position:absolute;left:-6px;top:.45em;width:11px;height:11px;border-radius:50%;background:var(--cream);border:1px solid var(--gold-deep)}
.changelog li.always>div::before{background:var(--green);border-color:var(--green)}
.changelog h3{font-size:clamp(1.35rem,1.8vw,1.65rem);margin:0 0 .25em}
.changelog p{margin:0;color:var(--ink-2)}

/* Returning NRIs: four stages */
.track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:clamp(26px,3vw,40px)}
.track::before{content:"";position:absolute;left:12.5%;right:12.5%;top:22px;height:1px;background:var(--line)}
.track::after{content:"";position:absolute;left:12.5%;right:12.5%;top:22px;height:1px;background:var(--gold-deep);transform-origin:left;transform:scaleX(0);transition:transform 2.2s var(--ease-draw) .3s}
.track.in::after{transform:scaleX(1)}
.track li{list-style:none;text-align:center;position:relative;z-index:1}
.track .tdot{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;background:var(--cream);border:1px solid var(--gold);font-family:var(--serif);font-size:1.25rem;color:var(--green);transition:background .5s,color .5s,border-color .5s;transition-delay:calc(var(--i) * .5s + .4s)}
.sec-sand .track .tdot{background:var(--sand)}
.track.in .tdot{background:var(--green);color:var(--cream);border-color:var(--green)}
.track b{display:block;font:500 .78rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.track{padding:0}
.stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.stage{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,38px);display:flex;flex-direction:column}
.sec-sand .stage{border-color:transparent}
.stage .sk{font:500 .75rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 10px}
.stage h3{font-size:clamp(1.6rem,2.2vw,2rem);margin-bottom:.6em}
.stage .ticks{margin:0 0 20px}
.stage .wedo{margin-top:auto;background:var(--green-tint);border-radius:12px;padding:16px 18px;color:var(--ink)}
.stage .wedo b{display:block;font:500 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:6px}
@media (max-width:860px){
  .track{display:none}
  .stages{grid-template-columns:minmax(0,1fr);position:relative;padding-left:34px}
  .stages::before{content:"";position:absolute;left:11px;top:30px;bottom:30px;width:1px;background:var(--gold)}
  .stage{position:relative}
  .stage::before{content:attr(data-n);position:absolute;left:-34px;top:28px;width:23px;height:23px;border-radius:50%;background:var(--green);color:var(--cream);font:500 .78rem/23px var(--sans);text-align:center}
}

/* Large-numeral rules */
.rules{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rules li{display:grid;grid-template-columns:clamp(84px,12vw,170px) minmax(0,1fr);gap:clamp(14px,3vw,48px);align-items:start;padding:clamp(26px,3.4vw,44px) 0;border-bottom:1px solid var(--line)}
.rules .big{font-family:var(--serif);font-size:clamp(4.4rem,9vw,8rem);line-height:.78;color:var(--gold)}
.rules h3{font-size:clamp(1.6rem,2.4vw,2.2rem);margin:.1em 0 .4em}
.rules p{margin:0;color:var(--ink-2);max-width:60ch}

/* Buckets explainer */
.bucket-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
@media (max-width:900px){.bucket-split{grid-template-columns:minmax(0,1fr)}.bucket-split .bucket-art{max-width:540px;width:100%;margin-inline:auto}}
.bucket-copy ol{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:14px}
.bucket-copy ol li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;align-items:baseline}
.bucket-copy ol li span{font-family:var(--serif);font-size:1.6rem;color:var(--gold);line-height:1}
.bucket-copy ol li p{margin:0;color:var(--ink-2)}
.bucket-copy ol li b{color:var(--ink);font-weight:500}
.bucket-art svg{display:block;width:100%;height:auto}

/* Sessions */
.series{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:1000px){.series{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.series{grid-template-columns:minmax(0,1fr)}}
.serie{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.8vw,32px);display:flex;flex-direction:column;gap:12px;transition:transform .5s var(--ease),border-color .4s}
.serie:hover{transform:translateY(-3px);border-color:var(--gold)}
.sec-sand .serie{border-color:transparent}
.serie.live{background:var(--green);color:var(--cream)}
.serie .st{align-self:flex-start;font:500 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--sand);color:var(--ink-2)}
.serie.live .st{background:var(--gold);color:var(--green-deep)}
.serie h3{font-size:clamp(1.5rem,2vw,1.8rem);margin:4px 0 0}
.serie.live h3{color:var(--cream)}
.serie p{margin:0;color:var(--ink-2)}
.serie.live p{color:rgba(254,250,243,.82)}
.serie .s-foot{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.serie.live .tlink{color:var(--cream)}
.serie .rel{font-size:.9rem;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.serie.live .rel{color:rgba(254,250,243,.8)}
.btn-line{display:inline-flex;align-items:center;gap:.5em;font:500 .92rem/1 var(--sans);color:var(--green);background:transparent;border:1px solid var(--green);border-radius:999px;padding:.72em 1.1em;cursor:pointer;text-decoration:none;transition:background .3s,color .3s}
.btn-line:hover{background:var(--green);color:var(--cream)}
.sched{width:100%;border-collapse:separate;border-spacing:0;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sched th,.sched td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
.sched thead th{font:500 .74rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);background:var(--sand)}
.sched tbody tr:last-child td{border-bottom:0}
.sched td.name{font-family:var(--serif);font-size:1.3rem;color:var(--ink)}
.sched td.fee{font-variant-numeric:tabular-nums}
@media (max-width:860px){
  .sched,.sched tbody,.sched tr,.sched td{display:block;width:auto}
  .sched thead{display:none}
  .sched tr{padding:8px 0}
  .sched td{border:0;padding:6px 20px}
  .sched td::before{content:attr(data-label);display:block;font:500 .7rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
  .sched td.name::before{display:none}
  .sched td.act{padding:12px 20px 16px}
}
.common{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--line)}
.common>div{padding:clamp(22px,2.6vw,34px) clamp(16px,2vw,26px);border-left:1px solid var(--line)}
.common>div:first-child{border-left:0;padding-left:0}
.common .ico{width:48px;height:48px;margin-bottom:16px}
.common h3{font-size:clamp(1.3rem,1.7vw,1.55rem);margin:0 0 .35em}
.common p{margin:0;color:var(--ink-2);font-size:.98rem}
@media (max-width:1000px){.common{grid-template-columns:repeat(2,minmax(0,1fr))}.common>div:nth-child(3){border-left:0;padding-left:0}.common>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.common{grid-template-columns:minmax(0,1fr)}.common>div{border-left:0;padding-left:0}.common>div+div{border-top:1px solid var(--line)}}
.host-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:center;background:var(--gold-tint);border-radius:calc(var(--r) * 1.4);padding:clamp(26px,4vw,56px)}
.host-band h2{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.host-band p{color:var(--ink-2)}
@media (max-width:860px){.host-band{grid-template-columns:minmax(0,1fr)}}
.host{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:center;max-width:820px}
.host .photo-frame{border-radius:120px 120px 14px 14px}
.host p{margin:0 0 .6em}
.host .small{font-size:.86rem;color:var(--ink-2);margin:0}
@media (max-width:520px){.host{grid-template-columns:90px minmax(0,1fr)}}

/* Forms */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.form .full{grid-column:1 / -1}
@media (max-width:560px){.form{grid-template-columns:minmax(0,1fr)}}
.field label{display:block;font:500 .88rem/1.3 var(--sans);color:var(--ink);margin-bottom:8px}
.field label .opt{font-weight:400;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#FFFDF8;border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:border-color .25s,box-shadow .25s;appearance:none;-webkit-appearance:none}
.field textarea{min-height:130px;resize:vertical}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3.5 L5 7 L8.5 3.5' fill='none' stroke='%231F4A3F' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:42px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(204,172,120,.28)}
.field input:user-invalid,.field select:user-invalid{border-color:#A0482F}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.consent{font-size:.86rem;line-height:1.55;color:var(--ink-2);margin:0}
.consent a{color:var(--green);text-decoration-color:var(--gold);text-underline-offset:3px}
.form .btn{justify-self:start;border:0;cursor:pointer}
.form .btn[disabled]{opacity:.6;cursor:progress}
.form-msg{grid-column:1 / -1;border-radius:12px;padding:14px 16px;font-size:.98rem;margin:0}
.form-msg.ok{background:var(--green-tint);color:var(--green)}
.form-msg.err{background:#F6E3DA;color:#7A2E16}
.form-msg.note{background:var(--gold-tint);color:var(--ink)}
.form-card{background:#FFFDF8;border:1px solid var(--line);border-radius:calc(var(--r) * 1.2);padding:clamp(22px,3.4vw,44px);box-shadow:0 40px 70px -54px rgba(47,44,37,.45)}
.form-card h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin-bottom:.3em}
.form-card .form-intro{color:var(--ink-2);margin-bottom:1.4rem}
.form.done>*:not(.form-msg){display:none}

/* Contact */
.contact-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:980px){.contact-hero{grid-template-columns:minmax(0,1fr)}}
.contact-hero .wos-copy p:not(.lead){color:var(--ink-2);max-width:48ch}
.visit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:center}
@media (max-width:860px){.visit{grid-template-columns:minmax(0,1fr)}.visit .visit-art{max-width:480px;width:100%;margin-inline:auto}}
address{font-style:normal}
.addr{font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.3;color:var(--ink);margin:0 0 1rem}
.addr span{display:block}
.visit .note{color:var(--ink-2);margin:0 0 1.4rem}
.visit-art svg{display:block;width:100%;height:auto}

/* Insights */
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:800px){.posts{grid-template-columns:minmax(0,1fr)}}
.post{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .4s}
.post:hover{transform:translateY(-3px);border-color:var(--gold)}
.post .post-art{background:var(--sand);aspect-ratio:16/8;display:flex;align-items:center;justify-content:center}
.post .post-art svg{width:min(260px,62%);height:auto}
.post .post-body{padding:clamp(22px,2.8vw,32px);display:flex;flex-direction:column;gap:12px;flex:1}
.post h2{font-size:clamp(1.55rem,2.2vw,2rem);margin:0}
.post h2 a{text-decoration:none}
.post h2 a::after{content:"";position:absolute;inset:0}
.post{position:relative}
.post p{color:var(--ink-2);margin:0}
.post .tlink{margin-top:auto;align-self:flex-start}
.signup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(18px,4vw,48px);align-items:center;background:var(--green);color:var(--cream);border-radius:calc(var(--r) * 1.4);padding:clamp(26px,4vw,56px);position:relative;overflow:hidden}
.signup h2{color:var(--cream);font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 .3em}
.signup p{margin:0;color:rgba(254,250,243,.82)}
.signup .btn{position:relative}
@media (max-width:760px){.signup{grid-template-columns:minmax(0,1fr)}}
.signup .bgmark{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}

/* Intro steps (For Partners) */
.hsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px);position:relative}
.hsteps::before{content:"";position:absolute;left:30px;right:calc(33.333% - 30px);top:30px;height:1px;background:var(--gold)}
.hsteps li{position:relative}
.hsteps .hn{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--green);color:var(--cream);font-family:var(--serif);font-size:1.6rem;margin-bottom:20px;position:relative}
.hsteps h3{font-size:clamp(1.4rem,1.9vw,1.7rem);margin:0 0 .3em}
.hsteps p{margin:0;color:var(--ink-2)}
@media (max-width:760px){
  .hsteps{grid-template-columns:minmax(0,1fr);gap:26px}
  .hsteps::before{left:30px;right:auto;top:30px;bottom:30px;width:1px;height:auto}
  .hsteps li{display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px;align-items:start}
  .hsteps .hn{margin:0}
}
.sheets{display:flex;flex-wrap:wrap;gap:12px}
.sheets .btn-line svg{width:16px;height:16px}

/* Legal pages */
.legal-wrap{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:start}
.toc{position:sticky;top:130px;border-top:1px solid var(--line);padding-top:18px}
.toc p{font:500 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.toc a{display:block;padding:7px 0;color:var(--ink-2);text-decoration:none;font-size:.95rem;line-height:1.35;border-left:2px solid transparent;padding-left:12px;margin-left:-14px;transition:color .2s,border-color .2s}
.toc a:hover,.toc a.on{color:var(--green);border-left-color:var(--gold)}
.legal{max-width:760px}
.legal section{padding:0 0 clamp(30px,3.6vw,44px);margin:0 0 clamp(30px,3.6vw,44px);border-bottom:1px solid var(--line);scroll-margin-top:120px}
.legal section:last-child{border-bottom:0;margin-bottom:0}
.legal h2{font-size:clamp(1.6rem,2.4vw,2.2rem);margin-bottom:.55em}
.legal h3{font-size:1.3rem;margin:1.2em 0 .4em}
.legal p,.legal li{color:var(--ink-2)}
.legal ul,.legal ol{padding-left:1.2em;margin:0 0 1em}
.legal li{margin-bottom:.4em}
.legal a{color:var(--green);text-decoration-color:var(--gold);text-underline-offset:3px}
.legal .ctable{margin:6px 0 16px}
.dl{border-top:1px solid var(--line);margin:0 0 1em}
.dl>div{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.dl dt{font:500 .78rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.dl dd{margin:0;color:var(--ink)}
@media (max-width:560px){.dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}
.updated{font-size:.9rem;color:var(--ink-2);margin:0}
.legal-hero .hero-art svg{max-width:300px}
.legal-plain{max-width:780px}
.legal-plain h1{font-size:clamp(2.6rem,5vw,4.2rem)}
@media (max-width:900px){.legal-wrap{grid-template-columns:minmax(0,1fr)}.toc{position:static}}
.contact-box{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;background:var(--sand);border-radius:var(--r);padding:clamp(22px,3vw,36px);margin-top:clamp(20px,3vw,36px)}
.contact-box p{margin:0;font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.6rem);color:var(--ink)}
.never{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.never li{position:relative;padding:12px 16px 12px 46px;background:var(--cream);border:1px solid var(--line);border-radius:12px;color:var(--ink)}
.never li::before,.never li::after{content:"";position:absolute;left:18px;top:50%;width:14px;height:1.5px;background:#A0482F}
.never li::before{transform:rotate(45deg)}.never li::after{transform:rotate(-45deg)}
.esc{list-style:none;margin:0;padding:0;counter-reset:e;display:grid;gap:0;border-top:1px solid var(--line)}
.esc li{counter-increment:e;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.esc li::before{content:counter(e);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--gold);font-family:var(--serif);font-size:1.1rem;color:var(--green)}
.esc b{color:var(--ink);font-weight:500}

/* Placeholders the owner still needs to supply (preview only) */
mark.ph{background:#FBE7A8;color:var(--ink);border-radius:4px;padding:0 .3em;font-size:.92em}

/* 404 */
.nf{min-height:62vh;display:flex;align-items:center}
.nf .wos-hero{width:100%}
.nf-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:1.6rem}

/* Small motion vocabulary for the new illustrations */
.seq{opacity:0}
.ill.in .seq{animation:seq 7.5s ease-in-out infinite}
.ill.in .seq.s1{animation-delay:2s}.ill.in .seq.s2{animation-delay:3.2s}.ill.in .seq.s3{animation-delay:4.4s}
@keyframes seq{0%{opacity:0}10%{opacity:1}55%{opacity:1}70%,100%{opacity:0}}
.bob{transform-box:fill-box;transform-origin:50% 100%}
.ill.in .bob{animation:bob 6.5s ease-in-out 2s infinite}
.ill.in .bob.b2{animation-duration:7.5s;animation-delay:2.8s}
@keyframes bob{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-5px,0) rotate(-1deg)}}
.wave{transform-box:view-box}
.ill.in .wave{animation:wave 16s ease-in-out 1.6s infinite alternate}
@keyframes wave{from{transform:translate3d(0,0,0)}to{transform:translate3d(-40px,0,0)}}
.spin-slow{transform-box:fill-box;transform-origin:center}
.ill.in .spin-slow{animation:spin 120s linear infinite}
.needle{transform-box:view-box;transform-origin:280px 206px}
.ill.in .needle{animation:needle 9s ease-in-out 1.8s infinite}
@keyframes needle{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(5deg)}}
.door{transform-box:fill-box;transform-origin:100% 50%}
.js .ill .door{transform:scaleX(.6);transition:transform 2.2s var(--ease-move) .6s}
.js .ill.in .door{transform:none}
.drip{opacity:0}
.ill.in .drip{opacity:1;transition:opacity .6s 2s;animation:sand 1.2s linear 2s infinite}
.shimmer{opacity:.2}
.ill.in .shimmer{animation:shimmer 5s ease-in-out 2s infinite}
@keyframes shimmer{0%,100%{opacity:.15}50%{opacity:.8}}
.flowdot{transform-box:fill-box;opacity:0}
.ill.in .flowdot{animation:flowx 6s cubic-bezier(.45,.05,.35,1) infinite}
.ill.in .flowdot.v{animation-name:flowy}
.ill.in .flowdot.d0{animation-delay:1.6s}.ill.in .flowdot.d1{animation-delay:3.2s}.ill.in .flowdot.d2{animation-delay:4.8s}
@keyframes flowx{0%{opacity:0;transform:translate3d(0,0,0)}8%{opacity:1}30%{opacity:1;transform:translate3d(var(--dx),0,0)}36%,100%{opacity:0;transform:translate3d(var(--dx),0,0)}}
@keyframes flowy{0%{opacity:0;transform:translate3d(0,0,0)}8%{opacity:1}30%{opacity:1;transform:translate3d(0,var(--dy),0)}36%,100%{opacity:0;transform:translate3d(0,var(--dy),0)}}
.sway-top{transform-box:view-box;transform-origin:280px 84px}
.ill.in .sway-top{animation:swaytop 7s ease-in-out 1.6s infinite alternate}
@keyframes swaytop{from{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}
.flicker{transform-box:fill-box;transform-origin:50% 100%}
.ill.in .flicker{animation:flicker 2.6s ease-in-out 1.6s infinite}
@keyframes flicker{0%,100%{transform:scale(1,1)}30%{transform:scale(.92,1.08)}60%{transform:scale(1.05,.95)}}
.cursor{animation:blink 1.1s steps(1) infinite}
.level{transform-box:view-box}
.ill.in .level{animation:level 8s ease-in-out 2s infinite alternate}
@keyframes level{from{transform:translate3d(0,0,0)}to{transform:translate3d(-28px,3px,0)}}
.tide{transform-box:view-box}
.ill.in .tide{animation:tide 7s ease-in-out 2s infinite alternate}
.ill.in .tide.t1{animation-duration:8.5s}.ill.in .tide.t2{animation-duration:10s}
@keyframes tide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-24px,2px,0)}}
.contour{transform-box:view-box}
.ill.in .contour{animation:contour 40s ease-in-out infinite alternate}
.ill.in .contour.k1{animation-duration:52s;animation-direction:alternate-reverse}
.ill.in .contour.k2{animation-duration:64s}
@keyframes contour{from{transform:translate3d(-40px,0,0)}to{transform:translate3d(40px,0,0)}}
.closing .bgmark.lines-bg,.closing .bgmark.stars-bg{width:100%;height:100%;left:0;top:0;transform:none;opacity:.9}
.plane{opacity:0}
.ill.in .plane{opacity:1;transition:opacity .8s 1.6s}
@media (prefers-reduced-motion:reduce){
  .js .ill .door{transform:none}
  .seq.s1{opacity:1}
  .drip{opacity:1}
  .js .term .ln{opacity:1;transform:none}
  .track::after{transform:scaleX(1)}
  .acc::details-content{transition:none}
}
/* Inner pages: layout details */
.solo .eyebrow{justify-content:center}
.solo .eyebrow::after{content:"";width:22px;height:1px;background:currentColor}
.flow-fig{margin:0 0 clamp(28px,4vw,48px);background:var(--cream);border-radius:var(--r);padding:clamp(18px,3vw,40px) clamp(12px,2vw,28px)}
.flow-fig svg{display:block;width:100%;height:auto}
.flow-fig .only-sm svg{max-width:400px;margin-inline:auto}
.flow-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,72px);align-items:start}
.flow-note p{margin:0;color:var(--ink-2)}
.flow-note .kicker{margin:0}
@media (max-width:800px){.flow-note{grid-template-columns:minmax(0,1fr)}}
.direct-art svg{display:block;width:100%;height:auto;max-width:560px;margin-inline:auto}
.serv-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
@media (max-width:1000px){.serv-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.serv-links{grid-template-columns:minmax(0,1fr)}}
.slink{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:4px;align-items:start;background:var(--cream);border-radius:var(--r);padding:clamp(20px,2.4vw,28px);padding-right:52px;text-decoration:none;color:var(--ink);transition:transform .5s var(--ease),box-shadow .4s}
.slink:hover{transform:translateY(-3px);box-shadow:0 26px 50px -34px rgba(47,44,37,.35)}
.slink .ico{grid-row:1 / span 2;width:52px;height:52px;margin:0}
.slink .st{font-family:var(--serif);font-size:clamp(1.3rem,1.6vw,1.5rem);line-height:1.15}
.slink .sd{font-size:.95rem;color:var(--ink-2);line-height:1.45}
.slink .sa{position:absolute;right:22px;top:24px;color:var(--gold-deep);transition:transform .35s var(--ease)}
.slink:hover .sa{transform:translateX(4px)}
.harder{align-items:start}
.harder h2{color:var(--cream);margin:0}
.lead-light{font-size:clamp(1.15rem,1.5vw,1.38rem);line-height:1.55;color:var(--cream)}
.muted-light{color:rgba(254,250,243,.75);margin:0}
.why-small{max-width:980px;margin:0 auto;text-align:center}
.why-small .eyebrow{justify-content:center}
.why-small .eyebrow::after{content:"";width:22px;height:1px;background:currentColor}
.statement-lg{font-family:var(--serif);font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0 0 .7em}
.why-small .lead{max-width:54ch;margin:0 auto}
.reg-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:900px){.reg-wrap{grid-template-columns:minmax(0,1fr)}}
.reg-copy .host{margin:clamp(26px,3vw,40px) 0 22px}
.reg-copy .host .eyebrow{margin-bottom:.5rem}
.small-print{font-size:.86rem;line-height:1.55;color:var(--ink-2);border-top:1px solid var(--sand-2);padding-top:16px;margin:0;max-width:52ch}
.host-art{display:flex;justify-content:center}
.host-art .big{width:clamp(120px,14vw,180px);height:auto;margin:0}
@media (max-width:860px){.host-art{display:none}}
.irows{border-top:1px solid var(--sand-2)}
.irows-head{display:grid;grid-template-columns:56px minmax(0,.7fr) minmax(0,1.3fr);gap:0 clamp(16px,2.4vw,32px);font:500 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);padding:14px 0}
.irows-head span:first-child{grid-column:2}
.irow{display:grid;grid-template-columns:56px minmax(0,.7fr) minmax(0,1.3fr);gap:0 clamp(16px,2.4vw,32px);align-items:center;padding:clamp(18px,2.2vw,26px) 0;border-top:1px solid var(--sand-2)}
.irow .ico{width:52px;height:52px;margin:0}
.irow h3{font-size:clamp(1.35rem,1.8vw,1.65rem);margin:0}
.irow p{margin:0;color:var(--ink-2)}
@media (max-width:760px){
  .irows-head{display:none}
  .irow{grid-template-columns:48px minmax(0,1fr);gap:6px 16px;align-items:start}
  .irow .ico{grid-row:1 / span 2;width:46px;height:46px}
  .irow p{grid-column:2}
}
.nots h3.wrap-h{white-space:normal;font-size:clamp(1.35rem,1.8vw,1.6rem);line-height:1.2;text-wrap:balance}
.soon{margin-top:auto;align-self:flex-start;font:500 .75rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);background:var(--gold-tint);padding:7px 11px;border-radius:999px}
.feature-h{font-size:clamp(1.7rem,2.6vw,2.3rem);color:var(--green);margin-bottom:.5em}
.cards.more{margin-top:clamp(36px,5vw,64px)}
.runs{align-items:start}
.runs h2{position:sticky;top:132px}
@media (max-width:900px){.runs h2{position:static}}
.term .ln{padding-left:3ch;text-indent:-3ch}
.legal-single .legal{max-width:820px;margin:0 auto}
.stats:has(>.stat:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.stats:has(>.stat:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}}
.sheets-wrap{align-items:center}
.princ-head .lead{max-width:34ch}
.princ-head .tlink{margin-top:.4rem}
.princ2 .acc-list{max-width:none}
.qa .icard h3{font-size:clamp(1.35rem,1.8vw,1.6rem)}
.qa .icard .ico{width:48px;height:48px}
.contact-hero .wos-copy p.kicker{margin-top:.6em}
.legal-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.legal-hero .hero-art svg{max-width:260px}
@media (max-width:900px){.legal-hero .hero-art{display:none}}
.legal-hero h1{font-size:clamp(2.8rem,5.4vw,4.6rem)}
.nf .hero-art svg{max-width:460px}
.panel.wide{align-items:start}
.panel.wide .looks,.panel.wide .panel-icons{align-self:start}
.tabs .panel .panel-copy{align-self:start}
@media (min-width:761px){.tabs .panel .panel-art{align-self:center}}
.stat-intro .si-lead{font-family:var(--serif);font-size:clamp(1.35rem,1.9vw,1.75rem);line-height:1.25;color:var(--ink);margin:0 0 .5em}
.sec-green .stat-intro .si-lead{color:var(--cream)}
.stat-intro .si-lead:last-child{margin:0}
.grid6 .head-card h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.08}
.sec-head.wide>p{max-width:62ch}
.form .btn,.sched .btn{white-space:nowrap}
.contact-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:980px){.contact-hero{grid-template-columns:minmax(0,1fr)}}
.contact-hero .wos-copy{padding-top:clamp(0px,1vw,12px)}
.ph-hero.wide-copy{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr)}
@media (max-width:900px){.ph-hero.wide-copy{grid-template-columns:minmax(0,1fr)}}
.ctable.comm tbody th{width:44%}
.acc{overflow-x:clip}
@media (max-width:760px){.ctable tbody th,.ctable.comm tbody th{width:auto}}
/* Header tag: full registration wording */
.amfi-tag{padding-right:10px}
@media (max-width:379px){
  .amfi-tag{font-size:9px;letter-spacing:0;padding:2px 8px 2px 3px}
  .menu-btn{padding:10px 12px;gap:0}
  .menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
/* Articles */
.byline{display:flex;align-items:center;gap:14px;margin-top:4px}
.byline .by-photo{width:52px;height:52px;border-radius:50%;overflow:hidden;position:relative;flex:none;background:var(--sand)}
.byline .by-photo picture,.byline .by-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.byline p{margin:0;display:flex;flex-direction:column;line-height:1.35}
.byline b{font-weight:500;color:var(--ink)}
.byline span{font-size:.9rem;color:var(--ink-2)}
.post-body-sec{padding-top:clamp(40px,5vw,72px)}
.article-body{max-width:700px;margin:0 auto;font-size:clamp(1.06rem,1.2vw,1.16rem);line-height:1.78;color:var(--ink)}
.article-body p{margin:0 0 1.15em;color:#3B3830}
.article-body .lede{font-family:var(--serif);font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.3;color:var(--green);margin-bottom:1.4em}
.article-body h2{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.15;margin:1.9em 0 .6em;color:var(--ink)}
.article-body h2:first-child{margin-top:0}
.article-body .pull{margin:1.6em 0;padding:4px 0 4px 24px;border-left:2px solid var(--gold);font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.25;color:var(--green)}
.article-body .steps-list{list-style:none;counter-reset:s;margin:0 0 1.3em;padding:0;display:grid;gap:14px}
.article-body .steps-list li{counter-increment:s;position:relative;padding:16px 18px 16px 62px;background:var(--sand);border-radius:12px;color:#3B3830}
.article-body .steps-list li::before{content:counter(s);position:absolute;left:18px;top:15px;width:30px;height:30px;border-radius:50%;background:var(--green);color:var(--cream);font:500 .9rem/30px var(--sans);text-align:center}
.article-body .steps-list b{color:var(--ink);font-weight:500}
.article-body .ask-list{list-style:none;margin:0 0 1.3em;padding:0;border-top:1px solid var(--line)}
.article-body .ask-list li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.25em;line-height:1.3;color:var(--ink)}
.article-body .ask-list li::before{content:"?";position:absolute;left:0;top:14px;width:22px;height:22px;border-radius:50%;border:1px solid var(--gold);font:500 .8rem/21px var(--sans);text-align:center;color:var(--gold-deep)}
.article-body .calc{margin:1.4em 0;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.6vw,28px)}
.article-body .calc>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.article-body .calc .k{font-size:.95rem;color:var(--ink-2);line-height:1.45}
.article-body .calc .v{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.7rem);color:var(--ink);white-space:nowrap}
.article-body .calc .gap{border-bottom:0}
.article-body .calc .gap .k{color:var(--ink);font-weight:500}
.article-body .calc .gap .v{color:var(--gold-deep)}
.article-body .calc figcaption{font-size:.82rem;color:var(--ink-2);margin-top:6px}
.next-post{max-width:900px}
.post-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.post-row .post-art{aspect-ratio:auto;min-height:100%}
.post-row h3{font-size:clamp(1.45rem,2vw,1.85rem);margin:0}
.post-row h3 a{text-decoration:none}
.post-row h3 a::after{content:"";position:absolute;inset:0}
@media (max-width:700px){.post-row{grid-template-columns:minmax(0,1fr)}.post-row .post-art{aspect-ratio:16/8}}
.post h2 a:hover,.post-row h3 a:hover{color:var(--green)}
/* Body sentences stay in the body face (BDO Grotesk). The serif is for headings, quotes and figures only. */
.kicker{font-family:var(--sans);font-weight:500;font-size:clamp(1.08rem,1.3vw,1.22rem);line-height:1.55;letter-spacing:0;color:var(--green);max-width:60ch;border-left:2px solid var(--gold);padding-left:16px;text-wrap:pretty}
.kicker.center{border-left:0;padding-left:0}
.flow-note .kicker{margin:0}
.panel .after-line{font-family:var(--sans);font-weight:500;font-size:clamp(1.02rem,1.2vw,1.12rem);line-height:1.55;color:var(--green)}
.closing .closing-note{font-family:var(--sans);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.6}
.article-body .lede{font-family:var(--sans);font-weight:400;font-size:clamp(1.18rem,1.5vw,1.35rem);line-height:1.55;color:var(--green)}
.stat-intro .si-lead{font-family:var(--sans);font-weight:500;font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.45}
.form .btn[type=submit]{margin-top:clamp(12px,1.6vw,20px)}
.visit .jn{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;margin:0 0 1.2rem;max-width:46ch}
.visit .jn .ico{width:40px;height:40px;margin:2px 0 0}
.visit .jn p{margin:0;color:var(--ink-2)}
/* No left-rule callouts anywhere: these lines read as ordinary paragraphs */
.kicker{border-left:0;padding-left:0;font-weight:400;color:var(--ink);font-size:clamp(1.06rem,1.2vw,1.14rem);line-height:1.65}
.lead-sub,.about-hero .lead-sub{border-left:0;padding-left:0}
.ticket dd.fix{border-left:0;border-radius:10px}
.article-body .pull{border-left:0;padding:0;margin:1.8em auto;text-align:center;max-width:30ch;text-wrap:balance}
.article-body .pull::before{content:"\201C";display:block;font-size:3.2rem;line-height:.5;color:var(--gold);margin-bottom:14px}
.spot li{border-left:0;padding-left:18px;position:relative}
.spot li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.kicker{font-size:inherit;line-height:inherit}
/* Contact: our office */
.office{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(28px,5vw,72px);align-items:center}
.office-art{margin:0}
.office-art svg{display:block;width:100%;height:auto}
.office-card{background:var(--cream);border-radius:calc(var(--r) * 1.2);padding:clamp(26px,3.4vw,46px);box-shadow:0 40px 70px -54px rgba(47,44,37,.4)}
.office-card .eyebrow{margin-bottom:.8rem}
.office-card h2{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08;margin:0 0 .4em}
.office-card address{font-style:normal;color:var(--ink-2);line-height:1.6;margin:0 0 1.3rem}
.office-card .jn-note{margin:0 0 1.3rem;padding-top:1.3rem;border-top:1px solid var(--line);color:var(--ink)}
.office-card .office-fact{display:flex;align-items:center;gap:12px;margin:0 0 1.5rem;color:var(--ink-2);font-size:.96rem}
.office-card .office-fact .ico{width:30px;height:30px;margin:0;flex:none}
@media (max-width:900px){.office{grid-template-columns:minmax(0,1fr)}.office-art{max-width:540px;width:100%;margin-inline:auto}}
.leafdrop{opacity:0;transform-box:fill-box;transform-origin:center}
.ill.in .leafdrop{animation:leafdrop 15s linear infinite}
.ill.in .leafdrop.d0{animation-delay:1.5s}
.ill.in .leafdrop.d1{animation-delay:4.5s;animation-duration:17s}
.ill.in .leafdrop.d2{animation-delay:7.5s}
.ill.in .leafdrop.d3{animation-delay:10.5s;animation-duration:16s}
.ill.in .leafdrop.d4{animation-delay:13s;animation-duration:18s}
@keyframes leafdrop{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}10%{opacity:1}35%{transform:translate3d(14px,70px,0) rotate(80deg)}65%{transform:translate3d(-10px,140px,0) rotate(170deg)}85%{opacity:.9}100%{opacity:0;transform:translate3d(8px,210px,0) rotate(260deg)}}
@media (max-width:429px){
  .amfi-tag{font-size:9px;letter-spacing:0;padding:2px 8px 2px 3px}
  .menu-btn{padding:10px 12px;gap:0}
  .menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
.office-art svg.ill{width:100%;max-width:620px;margin-inline:auto}
.office-card address span{white-space:nowrap}
@media (max-width:359px){.office-card address{font-size:.86rem}}
/* FAQ questions: sans, set as plain sentences */
.acc summary{font-family:var(--sans);font-weight:500;font-size:clamp(1.125rem,.5vw + .95rem,1.3rem);line-height:1.45;letter-spacing:-.003em;padding:clamp(18px,2vw,24px) 0}
.acc summary .qtxt{min-width:0}
.acc summary .wos .os{color:var(--green);font-weight:700}
/* Closing sections: light travelling along the contour lines */
.runner{stroke-dasharray:4 96;stroke-dashoffset:100;opacity:0;transition:opacity 1.4s ease 2.2s}
.runner.glow{stroke-dasharray:9 91;stroke-dashoffset:102.5}
.ill.in .runner{opacity:1;animation:run 15s linear infinite}
.ill.in .runner.glow{animation-name:runglow}
.ill.in .runner.rev{animation-direction:reverse}
@keyframes runglow{from{stroke-dashoffset:102.5}to{stroke-dashoffset:2.5}}
@keyframes run{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
/* Closing sections: constellations that draw in turn, and the odd falling star */
.cline{stroke-dasharray:100;stroke-dashoffset:100;opacity:0}
.ill.in .cline{animation:cline 15s ease-in-out infinite}
@keyframes cline{0%{stroke-dashoffset:100;opacity:0}5%{opacity:.8}38%{stroke-dashoffset:0;opacity:.8}72%{stroke-dashoffset:0;opacity:.8}90%,100%{stroke-dashoffset:0;opacity:0}}
.cstar{transform-box:fill-box;transform-origin:center}
.ill.in .cstar{animation:cstar 15s ease-in-out infinite}
@keyframes cstar{0%,14%,30%,100%{transform:scale(1)}20%{transform:scale(1.7)}}
.fall{opacity:0}
.ill.in .fall{animation:fall 22s cubic-bezier(.35,0,.65,1) infinite}
@keyframes fall{0%{transform:translateX(0);opacity:0}1%{opacity:1}7%{transform:translateX(330px);opacity:0}100%{transform:translateX(330px);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .runner,.fall{display:none}
  .ill.in .cline{animation:none;stroke-dashoffset:0;opacity:.6}
  .ill.in .cstar{animation:none}
}
/* Hero illustrations redraw on a loop: a soft fade out before each new pass */
.hero-art svg.ill{transition:opacity .9s ease}
.hero-art svg.ill.replay-out{opacity:0}
/* Sessions: host card beside the register form */
.reg-copy .host-card{grid-template-columns:92px minmax(0,1fr);gap:22px;align-items:center;max-width:440px;background:var(--cream);border-radius:calc(var(--r) * 1.2);padding:14px 28px 14px 14px;box-shadow:0 30px 60px -48px rgba(47,44,37,.45)}
.host-card .photo-frame{border-radius:92px 92px 12px 12px}
.host-card .eyebrow{margin-bottom:.45rem}
.host-card .host-name{font-family:var(--serif);font-size:clamp(1.45rem,1.9vw,1.75rem);line-height:1.1;color:var(--ink);margin:0 0 .25em}
.host-card .host-role{font-size:.95rem;color:var(--ink-2);margin:0}
@media (max-width:400px){.reg-copy .host-card{grid-template-columns:76px minmax(0,1fr);gap:16px;padding-right:18px}.host-card .photo-frame{border-radius:76px 76px 10px 10px}}
.form input[type=number]{-moz-appearance:textfield}
/* Buttons inside legal pages keep their own colours (the legal link style was turning the label green on green) */
.legal a.btn{color:var(--fg);text-decoration:none}
.contact-box p{text-wrap:balance}
.sec-sand .contact-box{background:var(--cream);box-shadow:0 30px 60px -50px rgba(47,44,37,.4)}
@media (max-width:600px){.contact-box{flex-direction:column;align-items:flex-start}.contact-box .btn{width:100%;justify-content:center}}
/* A section's conclusion, set as a band after a card grid */
.verdict{margin-top:clamp(28px,4vw,52px);background:var(--green);color:var(--cream);border-radius:calc(var(--r) * 1.2);padding:clamp(26px,3.6vw,44px) clamp(22px,4vw,56px);display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,32px);text-align:left;position:relative;overflow:hidden}
.verdict:before{content:"";position:absolute;right:-12%;top:-80%;width:22%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(204,172,120,.28);pointer-events:none}
.verdict-label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);white-space:nowrap;display:flex;align-items:center;gap:12px}
.verdict-label:after{content:"";width:clamp(24px,4vw,56px);height:1px;background:var(--gold)}
.verdict-line{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.15;color:var(--cream);text-wrap:balance}
@media (max-width:640px){.verdict{flex-direction:column;align-items:flex-start;gap:12px}}
/* Our Model: the honest note about conflicts, set as a small card */
.panel .looks.honest{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:clamp(24px,2.8vw,36px)}
.honest-lead{font-family:var(--serif);font-size:clamp(1.35rem,1.9vw,1.65rem);line-height:1.2;color:var(--ink);margin:0 0 20px;text-wrap:balance}
.honest-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:16px}
.honest-list li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;color:var(--ink-2);line-height:1.55}
.honest-list li+li{padding-top:16px;border-top:1px solid var(--line)}
.honest-list li svg{width:42px;height:42px;display:block}
.honest-list b{display:block;color:var(--green);font-weight:600;margin-bottom:2px}
.panel .looks.honest .honest-lead{margin:0 0 22px;color:var(--ink)}
.panel .looks.honest .tlink{display:inline-flex}
.sec:not(.sec-sand) .reg-copy .host-card{background:var(--sand);box-shadow:none}
/* Sessions: hosting invitation, inside the register section */
.reg-copy .host-invite{margin-top:clamp(26px,3vw,36px);padding-top:clamp(22px,2.6vw,30px);border-top:1px solid var(--line);display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;max-width:520px}
.host-invite svg.ico{width:52px;height:52px}
.host-invite h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,1.8vw,1.6rem);line-height:1.15;margin:0 0 .4em;color:var(--ink)}
.host-invite p{margin:0 0 16px;color:var(--ink-2)}
@media (max-width:480px){.reg-copy .host-invite{grid-template-columns:42px minmax(0,1fr);gap:14px}.host-invite svg.ico{width:42px;height:42px}}
/* live card CTA: filled cream button on green */
.serie.live .btn-line{background:var(--cream);color:var(--green-deep);border-color:var(--cream)}
.serie.live .btn-line:hover{background:var(--gold);border-color:var(--gold);color:var(--green-deep)}
/* series status: running vs coming soon */
.serie.run .st{background:var(--green);color:var(--cream);display:inline-flex;align-items:center;gap:7px}
.serie.run .st::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.serie.run .btn-line{background:var(--green);color:var(--cream)}
.serie.run .btn-line:hover{background:var(--green-deep);border-color:var(--green-deep)}
.sec-sand .serie.nextup{background:transparent;border:1px dashed var(--gold)}
.serie.nextup .st{background:var(--cream);color:var(--gold-deep)}
/* compass markers: gentle pulse so the label leaders always land on a marker */
.ill.in .twinkle-soft{animation:twinklesoft 3.4s ease-in-out 2.8s infinite}
@keyframes twinklesoft{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.ill.in .twinkle-soft{animation:none}}
/* guiding principles: a step smaller in all three columns */
.princ3 .ticks li{font-size:clamp(.98rem,.25vw + .92rem,1.0625rem);line-height:1.55}
.princ3 .ticks li::before{top:.5em}
/* women: truth section intro, heading on one line with a lead below */
.truth-head{max-width:none}
.truth-head .lead{color:rgba(254,250,243,.82);max-width:54ch;margin:clamp(14px,1.6vw,22px) 0 0;text-wrap:pretty}
/* six-quote grid: three across, two on tablets, one on phones */
.qgrid.n6{grid-template-columns:repeat(3,minmax(0,1fr))}
.qgrid.n6 .q:nth-child(6){background:var(--green-tint)}
.sec-sand .qgrid.n6 .q:nth-child(6){background:var(--green-tint)}
@media (max-width:1000px){.qgrid.n6{grid-template-columns:repeat(2,minmax(0,1fr))}.qgrid.n6 .q:nth-child(6){background:var(--sand)}.sec-sand .qgrid.n6 .q:nth-child(6){background:var(--cream)}.qgrid.n6 .q:nth-child(5),.sec-sand .qgrid.n6 .q:nth-child(5){background:var(--green-tint)}}
@media (max-width:640px){.qgrid.n6{grid-template-columns:minmax(0,1fr)}}
/* bug tickets: smaller body text, more air between parts */
.ticket h3{margin:0 0 .85em}
.ticket dl{gap:clamp(18px,1.8vw,22px);padding-top:4px}
.ticket dt{margin-bottom:7px}
.ticket dd{font-size:clamp(.97rem,.2vw + .92rem,1.0625rem);line-height:1.6}
.ticket dd.fix{padding:14px 16px}
.fear p{text-wrap:pretty}
/* closing headings: one or two fitted lines at every width */
.closing h2.fit2[data-fit]{max-width:none;font-size:min(clamp(2.2rem,4.4vw,3.6rem),calc(100cqi / var(--fit,14)));line-height:1.08}
.closing h2.fit2[data-fit]>span{display:block;white-space:nowrap}
/* Legibility floor (SEO and accessibility): no text under 12px, sentences at body size */
.amfi-tag{font-size:.75rem}
@media (max-width:429px){.amfi-tag{font-size:12px;letter-spacing:0;padding:3px 9px 3px 4px}}
.part .pil,.serie .st,.ticket-st,.ticket dt,.stage .wedo b,.changelog .ver small{font-size:.75rem}
@media (max-width:760px){.ctable td::before,.pair .from::before,.pair .to::before,.sched td::before{font-size:.75rem}}
.spot li,.mini p,.reality,.common p,.form-msg,.slink .sd,.article-body .calc .k{font-size:1rem}
.value p,.values-row .value p{font-size:clamp(1rem,1.05vw,1.0625rem)}
.princ3 .ticks li,.ticket dd{font-size:clamp(1rem,.2vw + .95rem,1.0625rem)}
/* Phones: logo and menu on one row, the registration badge on its own full-width row (keeps it at 12px) */
@media (max-width:519px){
  .hdr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px;align-items:center;align-content:center}
  .hdr .brand-wrap{display:contents}
  .hdr .brand{grid-column:1;grid-row:1;justify-self:start}
  .hdr .amfi-tag{grid-column:1 / -1;grid-row:2;justify-self:start}
  .hdr .menu-btn{grid-column:2;grid-row:1}
}
@media (max-width:359px){.year-cap>span{white-space:normal;font-size:12px}}
.year-cap>span{font-size:max(.75rem,min(.95rem,calc(100cqi / 21.8)))}
.stat .src a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.stat .src a:hover{text-decoration-color:currentColor}
.byline b a{color:inherit;text-decoration:none}
.byline b a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.ft-reg a{text-decoration:underline;text-decoration-color:rgba(204,172,120,.7);text-underline-offset:3px}
/* Form setup page (not linked from the site) */
.setup .lead{max-width:56ch}
.setup-grid{display:grid;gap:clamp(18px,2.4vw,28px);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:clamp(28px,4vw,44px);align-items:start}
.setup-card h2{font-size:clamp(1.3rem,1.2vw + 1rem,1.6rem);margin:0 0 12px}
.setup-card>p{margin:0 0 16px;color:var(--ink-2)}
.setup-card .form{grid-template-columns:1fr}
.setup-status{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.setup-status li:empty{display:none}
.setup-next{margin:16px 0 0!important;font-size:.95rem}
.setup-card[hidden]{display:none}
