/* Ellsworth Capitol design system, premium build (Oct 2026).
   One display serif (Cormorant Garamond) + one sans (Inter). Strict type and spacing scales. */
:root{
--navy:#0e1a33;--navy-2:#14213d;--navy-3:#1d2d51;
--ink:#0e1a33;--text:#2f3849;--muted:#5d6577;--faint:#8a90a0;
--paper:#fbfaf7;--stone:#f3f0e9;--white:#fff;
--line:rgba(14,26,51,.11);--line-2:rgba(14,26,51,.2);--line-d:rgba(255,255,255,.13);
--gold:#c9a96e;--gold-2:#b8955a;--gold-ink:#86672f;--cream:#f4efe4;--on-dark:#c3c8d4;
--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
--sans:"Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
--t-display:clamp(3.1rem,7.4vw,6.5rem);--t-h1:clamp(2.75rem,5.6vw,4.75rem);--t-h2:clamp(2.25rem,4.4vw,3.6rem);
--t-h3:1.25rem;--t-stage:clamp(2rem,3.2vw,2.75rem);--t-lead:clamp(1.125rem,1.45vw,1.3125rem);--t-body:1.0625rem;--t-small:.9375rem;--t-micro:.75rem;
--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;
--sec:clamp(96px,11vw,168px);--maxw:1160px;--measure:62ch;--r:20px;--r-sm:12px;
--ease:cubic-bezier(.2,.7,.15,1);--shadow:0 1px 2px rgba(14,26,51,.04),0 12px 32px rgba(14,26,51,.07);
--navh:64px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--navh) + 24px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-weight:400;font-size:var(--t-body);line-height:1.6;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}
img,video,svg{max-width:100%}img{height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--navy);padding:10px 16px;z-index:100;border-radius:8px}.skip:focus{left:8px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-nb{white-space:nowrap}
p{margin:0 0 1em}

/* Type */
h1,h2,.display{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.012em;color:var(--ink);margin:0;text-wrap:balance}
h1{font-size:var(--t-h1)}h2{font-size:var(--t-h2)}
.display{font-size:var(--t-display);line-height:.98}
h3{font-family:var(--sans);font-weight:600;font-size:var(--t-h3);line-height:1.3;letter-spacing:-.01em;color:var(--ink);margin:0}
h4{font-family:var(--sans);font-weight:600;font-size:1rem;margin:0 0 .4em;color:var(--ink)}
.eyebrow{display:block;font-family:var(--sans);font-weight:600;font-size:var(--t-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 var(--s3)}
.eyebrow a{text-decoration:none}
.lead{font-size:var(--t-lead);line-height:1.55;color:var(--muted);max-width:var(--measure);margin:var(--s3) 0 0;text-wrap:pretty}
.small,.fine{font-size:var(--t-small);color:var(--muted)}
.fine{font-size:.8125rem;line-height:1.6;color:var(--faint);max-width:80ch}
hr.rule{display:none}
a.inline,.prose a:not(.btn),.post-body a:not(.btn){color:var(--ink);text-decoration:underline;text-decoration-color:rgba(201,169,110,.8);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .2s,text-decoration-color .2s}
a.inline:hover,.prose a:not(.btn):hover,.post-body a:not(.btn):hover{color:var(--gold-ink);text-decoration-color:var(--gold-ink)}

/* Layout */
.wrap{width:min(100% - 48px,var(--maxw));margin-inline:auto;padding-inline:0}
.wrap-n{width:min(100% - 48px,760px);margin-inline:auto}
.sec{padding-block:var(--sec)}
.sec-stone{background:var(--stone)}.sec-white{background:var(--white)}
.sec-dark{background:var(--navy);color:var(--on-dark)}
.sec-dark h1,.sec-dark h2,.sec-dark h3{color:#fff}.sec-dark .eyebrow{color:var(--gold)}.sec-dark .lead{color:var(--on-dark)}
.sec-dark a.inline{color:#fff}
.head{max-width:780px;margin:0 0 var(--s6)}
.head.c{margin-inline:auto;text-align:center}.head.c .lead{margin-inline:auto}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6) var(--s7);align-items:start}

/* Buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 26px;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:500 .96875rem/1 var(--sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .25s var(--ease),color .25s,border-color .25s,transform .25s var(--ease)}
.btn:hover{background:var(--navy-3);border-color:var(--navy-3)}
.btn:active{transform:scale(.98)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn-gold:hover{background:#d6b983;border-color:#d6b983}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn-ghost:hover{background:rgba(14,26,51,.04);border-color:var(--ink)}
.sec-dark .btn-ghost,.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}.sec-dark .btn-ghost:hover,.hero .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn-sm{height:36px;padding:0 16px;font-size:.875rem}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn-outline:hover{background:rgba(14,26,51,.04);border-color:var(--ink)}
.go{display:inline-flex;align-items:center;gap:.35em;color:var(--gold-ink);font-weight:500;text-decoration:none;font-size:var(--t-body)}
.go::after{content:"";width:.42em;height:.42em;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease);margin-left:.1em}
.go:hover::after{transform:translateX(3px) rotate(45deg)}
.sec-dark .go,.hero .go{color:var(--gold)}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);margin-top:var(--s5)}

/* Header */
.nav{position:sticky;top:0;z-index:60;height:var(--navh);background:rgba(14,26,51,.97);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.nav.scrolled{border-bottom-color:rgba(255,255,255,.08);background:rgba(14,26,51,.97)}
.home .nav{position:fixed;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.home .nav.scrolled,.home.menu-open .nav{background:rgba(14,26,51,.94);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px)}
.nav-in{height:100%;display:flex;align-items:center;gap:var(--s4);width:min(100% - 48px,1240px);margin-inline:auto}
.nav-logo{display:block;line-height:0;flex:none}.nav-logo img{height:17px;width:auto;display:block}
#site-nav{display:flex;gap:var(--s4);margin-left:auto}
#site-nav a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.875rem;font-weight:400;letter-spacing:.005em;transition:color .2s}
#site-nav a:hover,#site-nav a[aria-current]{color:#fff}
#site-nav .m-only{display:none}
.nav-end{display:flex;align-items:center;gap:var(--s3)}
.nav-end .btn{height:36px}
.nav-signin{color:rgba(255,255,255,.62);font-size:.875rem;text-decoration:none}.nav-signin:hover{color:#fff}
.nav-toggle{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;position:relative}
.nav-toggle span{position:absolute;left:12px;right:12px;height:1.5px;background:#fff;border-radius:2px;transition:transform .35s var(--ease),top .35s var(--ease)}
.nav-toggle span:nth-child(1){top:18px}.nav-toggle span:nth-child(2){top:25px}
.nav-toggle[aria-expanded=true] span:nth-child(1){top:21.5px;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){top:21.5px;transform:rotate(-45deg)}

/* Hero (home) */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:max(640px,min(100svh,980px));display:flex;align-items:center;background:var(--navy) url(/assets/media/hero-poster.webp) center/cover no-repeat;color:#fff}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(calc(1.04 + var(--hp,0)*.06));transition:opacity 1.2s ease}
.hero-media video{opacity:0}.hero-media video.ready{opacity:1}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,26,51,.7) 0%,rgba(14,26,51,.25) 34%,rgba(14,26,51,.2) 58%,rgba(14,26,51,.9) 100%),radial-gradient(80% 60% at 50% 40%,rgba(14,26,51,.35),transparent 70%)}
.hero-copy{position:relative;width:min(100% - 48px,1040px);margin:0 auto;padding:calc(var(--navh) + 72px) 0 140px;text-align:center;opacity:calc(1 - var(--hp,0)*1.6);transform:translateY(calc(var(--hp,0)*-40px))}
.hero .eyebrow{color:var(--gold);margin-bottom:var(--s4)}
.hero h1{color:#fff;font-size:var(--t-display);line-height:.98;max-width:14ch;margin-inline:auto}
.hero-tag{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold);font-size:clamp(1.375rem,2.4vw,2rem);letter-spacing:.005em;margin:var(--s3) 0 0}
.hero-lead{font-size:var(--t-lead);line-height:1.55;color:rgba(255,255,255,.82);max-width:46ch;margin:var(--s4) auto 0;text-wrap:balance}
.hero .acts{justify-content:center;margin-top:var(--s5)}
.hero-ctl{position:absolute;right:max(24px,calc((100vw - 1240px)/2));bottom:28px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(14,26,51,.35);color:#fff;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s}
.hero-ctl:hover{border-color:#fff}.hero-ctl svg{width:12px;height:12px;fill:currentColor}
.hero-ctl .i-play{display:none}.hero-ctl[aria-pressed=true] .i-play{display:block}.hero-ctl[aria-pressed=true] .i-pause{display:none}
.hero-cue{position:absolute;left:50%;bottom:28px;width:1px;height:48px;background:rgba(255,255,255,.18);overflow:hidden;transform:translateX(-50%)}
.hero-cue::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--gold);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{to{top:110%}}
.js-motion .hero .ld{opacity:0;transform:translateY(18px);animation:ld 1.1s var(--ease) forwards;animation-delay:calc(.15s + var(--d,0)*.12s)}
@keyframes ld{to{opacity:1;transform:none}}

/* Page head (inner pages) */
.phead{padding:calc(var(--sec)*.85) 0 calc(var(--sec)*.55);background:var(--paper)}
.phead h1{max-width:18ch}
.phead .lead{max-width:58ch}
.phead.dark{background:var(--navy);color:var(--on-dark)}.phead.dark h1{color:#fff}.phead.dark .eyebrow{color:var(--gold)}.phead.dark .lead{color:var(--on-dark)}
.crumb{display:inline-flex;gap:.5em;align-items:center;text-decoration:none;color:var(--gold-ink)}
.crumb:hover{color:var(--ink)}

/* Stage timeline */
.tl{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3);list-style:none;margin:0;padding:0;--p:0}
.tl::before,.tl::after{content:"";position:absolute;left:0;right:0;top:111px;height:1px;background:var(--line-2)}
.tl::after{background:var(--gold);transform-origin:left;transform:scaleX(var(--p));height:2px;top:110.5px}
.tl li{position:relative}
.tl a{display:block;text-decoration:none;color:inherit;padding:0 0 var(--s2)}
.tl .ill{width:64px;height:64px;display:block;margin:0 0 var(--s4);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform .4s var(--ease)}
.tl a:hover .ill{transform:translateY(-4px)}
.tl .dot{position:relative;z-index:1;display:block;width:13px;height:13px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line-2);margin:0 0 var(--s4);transition:background .5s,border-color .5s,box-shadow .5s}
.tl li.on .dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px rgba(201,169,110,.18)}
.tl .n{display:block;font:500 var(--t-micro)/1 var(--sans);letter-spacing:.16em;color:var(--faint);margin-bottom:var(--s2);font-variant-numeric:tabular-nums}
.tl .t{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.05;color:var(--ink);margin-bottom:var(--s1)}
.tl .o{display:block;font-size:var(--t-small);color:var(--muted);line-height:1.5;max-width:22ch}
.ill .c{stroke:var(--ink)}.ill .g{stroke:var(--gold-2)}.ill .k{fill:var(--paper);stroke:var(--ink)}
.sec-dark .ill .c{stroke:#e9e2d1}.sec-dark .ill .k{fill:var(--navy)}
.js-motion .tl .ill [pathLength]{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease)}
.js-motion .tl .ill .k{opacity:0;transition:opacity .6s}
.js-motion .tl li.on .ill [pathLength]{stroke-dashoffset:0}.js-motion .tl li.on .ill .k{opacity:1}

/* Stage detail */
.stage{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s5) var(--s7);padding:var(--s7) 0;border-top:1px solid var(--line)}
.stage:first-of-type{border-top:0;padding-top:0}
.stage-side{position:sticky;top:calc(var(--navh) + 40px);align-self:start}
.stage-num{display:block;font:500 var(--t-micro)/1 var(--sans);letter-spacing:.16em;color:var(--gold-ink);margin-bottom:var(--s2)}
.stage-side h3,.stage-side h2{font-family:var(--serif);font-weight:500;font-size:var(--t-stage);line-height:1.05;letter-spacing:-.01em;margin:0 0 var(--s2)}
.stage-for{display:block;font-size:var(--t-small);color:var(--faint);margin-bottom:var(--s2)}
.stage-out{font-size:1.125rem;line-height:1.55;color:var(--muted);max-width:34ch;margin:0}
.stage-side .ill{width:56px;height:56px;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:0 0 var(--s3);display:block}
.svcs{list-style:none;margin:0;padding:0}
.svc{display:grid;grid-template-columns:1fr auto;gap:var(--s1) var(--s4);padding:var(--s4) 0;border-top:1px solid var(--line)}
.svc:first-child{border-top:0;padding-top:0}
.svc h3 a,.svc h3 span{text-decoration:none;color:var(--ink)}
.svc h3 a:hover{color:var(--gold-ink)}
.svc .pr{font:500 1.125rem/1.3 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.svc .ds{grid-column:1/-1;margin:0;color:var(--text);max-width:60ch}
.svc .meta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s3);margin-top:var(--s1);font-size:var(--t-small);color:var(--faint)}
.svc .meta .go{font-size:var(--t-small)}
.stages-fine{margin-top:0;padding-top:var(--s4);border-top:1px solid var(--line)}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s3)}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5) var(--s4) var(--s4);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card .kick{font:600 var(--t-micro)/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 var(--s3)}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.875rem;line-height:1.1;letter-spacing:-.01em;margin:0 0 var(--s3)}
.card h3 a{text-decoration:none;color:inherit}
.card .price{font:500 1.5rem/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;margin:0}
.card .cad{font-size:var(--t-small);color:var(--faint);margin:4px 0 var(--s3)}
.card .ds{margin:0 0 var(--s4);color:var(--text)}
.card .cfoot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}
.card.dark{background:var(--navy);border-color:var(--navy);color:var(--on-dark)}
.card.dark h3,.card.dark .price{color:#fff}.card.dark .kick{color:var(--gold)}.card.dark .cad{color:#9aa1b2}.card.dark .ds{color:var(--on-dark)}.card.dark .go{color:var(--gold)}.card.dark .btn-gold,.card.dark .btn-gold:hover{color:var(--navy)}

/* Founder */
.founder .split{align-items:start}
.founder h2{margin-bottom:0}
.founder p{font-size:1.1875rem;line-height:1.65;color:var(--text);max-width:56ch}
.founder p:first-child{font-family:var(--serif);font-size:clamp(1.625rem,2.4vw,2.125rem);line-height:1.3;color:var(--ink);font-weight:500;letter-spacing:-.005em}

/* Long game */
.network{position:relative;overflow:hidden}
.network .split{align-items:center}
.net-art{position:relative;aspect-ratio:1/1;max-width:520px;width:100%;justify-self:end}
.net-art svg{width:100%;height:100%;overflow:visible}
.net-art .ln{stroke:rgba(201,169,110,.38);stroke-width:1;fill:none}
.net-art .nd{fill:var(--navy);stroke:var(--gold);stroke-width:1.25}
.net-art .nd.hub{fill:var(--gold)}
.net-art .halo{fill:none;stroke:rgba(201,169,110,.25)}
.js-motion .net-art .ln{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js-motion .net-art .nd{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .8s,transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js-motion .net-art.in .ln{stroke-dashoffset:0}.js-motion .net-art.in .nd{opacity:1;transform:none}
.js-motion .net-art.in .halo{animation:halo 4.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes halo{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.points{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:0}
.points li{padding:var(--s3) 0;border-top:1px solid var(--line-d)}
.points strong{display:block;color:#fff;font-weight:500;margin-bottom:4px}
.points span{color:var(--on-dark);font-size:var(--t-small)}
.sec:not(.sec-dark) .points li{border-top-color:var(--line)}.sec:not(.sec-dark) .points strong{color:var(--ink)}.sec:not(.sec-dark) .points span{color:var(--muted)}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);counter-reset:st}
.steps li{counter-increment:st;padding-top:var(--s3);border-top:1px solid var(--line-2)}
.steps li::before{content:"0" counter(st);display:block;font:500 var(--t-micro)/1 var(--sans);letter-spacing:.16em;color:var(--gold-ink);margin-bottom:var(--s3)}
.steps h3{margin-bottom:var(--s1)}.steps p{margin:0;color:var(--muted);font-size:var(--t-small)}

/* Facts row (service page) */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.facts>div{padding-top:var(--s3);border-top:1px solid var(--line-2)}
.facts p{margin:0;color:var(--muted);font-size:var(--t-small)}

/* Service hero */
.svc-hero .price-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s3);margin-top:var(--s4)}
.svc-hero .price-big{font:500 clamp(2rem,3.4vw,2.75rem)/1 var(--sans);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.svc-hero .cad{color:var(--faint)}
.svc-hero .lead{color:var(--text)}

/* Sub nav (services page) */
.subnav{position:sticky;top:var(--navh);z-index:40;background:rgba(251,250,247,.86);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:var(--s4);overflow-x:auto;scrollbar-width:none;height:52px;align-items:center}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .2s}
.subnav a:hover,.subnav a.on{color:var(--ink)}
.subnav a span{color:var(--faint);font-variant-numeric:tabular-nums;margin-right:.45em;font-size:.75rem;letter-spacing:.08em}

/* FAQ */
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;font-weight:500;font-size:1.125rem;color:var(--ink)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;transition:transform .35s var(--ease);color:var(--gold-ink)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin:0 0 var(--s3);max-width:68ch;color:var(--muted)}

/* Contact */
.contact .split{align-items:start}
.cinfo{list-style:none;margin:var(--s5) 0 0;padding:0}
.cinfo li{padding:var(--s2) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:96px 1fr;gap:var(--s2)}
.cinfo li:last-child{border-bottom:1px solid var(--line)}
.cinfo b{font-weight:500;font-size:var(--t-small);color:var(--faint)}
.cinfo a{color:var(--ink);text-decoration:none}.cinfo a:hover{color:var(--gold-ink)}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5)}
.form-card .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.field{display:block;margin:0 0 var(--s3)}
.field>span{display:block;font-size:.8125rem;font-weight:500;color:var(--muted);margin-bottom:6px}
.field em{font-style:normal;color:var(--faint);font-weight:400}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),textarea,select{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:13px 14px;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,169,110,.18);background:#fff}
textarea{resize:vertical;min-height:120px}
::placeholder{color:var(--faint)}
form button[type=submit],form .btn-submit{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 28px;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:500 .96875rem/1 var(--sans);cursor:pointer;transition:background .25s}
form button[type=submit]:hover{background:var(--navy-3)}
button:disabled{opacity:.55;cursor:default}
[role=alert]{color:#9b2c2c;font-size:var(--t-small);margin:var(--s2) 0 0}
.form-thanks h3{font-family:var(--serif);font-weight:500;font-size:2rem;margin-bottom:var(--s2)}
.form-note{font-size:.8125rem;color:var(--faint);margin:var(--s2) 0 0}

/* Closing band */
.close{background:var(--navy);color:var(--on-dark);text-align:center;padding:var(--sec) 0}
.close h2{color:#fff;max-width:20ch;margin-inline:auto}
.close p{max-width:52ch;margin:var(--s3) auto 0;color:var(--on-dark);font-size:var(--t-lead)}
.close .acts{justify-content:center}
.close .go{color:var(--gold)}

/* About */
.about-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s7);align-items:start}
.portrait{margin:0;border-radius:var(--r);overflow:hidden;background:var(--stone)}
.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.portrait figcaption{font-size:.8125rem;color:var(--faint);padding:var(--s2) 0 0;background:var(--paper)}
.prose{max-width:var(--measure)}
.prose p,.prose li{font-size:1.125rem;line-height:1.7;color:var(--text)}
.prose h2{font-size:clamp(1.875rem,3vw,2.5rem);margin:var(--s6) 0 var(--s3)}
.prose h2:first-child{margin-top:0}

/* Footer */
.foot{background:var(--navy);color:#9aa1b2;font-size:.875rem;line-height:1.6;padding:var(--s7) 0 var(--s5);border-top:1px solid rgba(255,255,255,.06)}
.foot a{color:#c3c8d4;text-decoration:none;transition:color .2s}.foot a:hover{color:#fff}
.foot-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:var(--s5) var(--s4);padding-bottom:var(--s6);border-bottom:1px solid var(--line-d)}
.foot-brand img{height:15px;width:auto;display:block;margin-bottom:var(--s3)}
.foot-brand p{margin:0 0 var(--s2);max-width:30ch}
.foot h2{font:600 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:0 0 var(--s3)}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:0 0 10px}
.foot button.linkish{background:none;border:0;padding:0;font:inherit;color:#c3c8d4;cursor:pointer}.foot button.linkish:hover{color:#fff}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2) var(--s4);padding-top:var(--s4);font-size:.8125rem}
.foot-bot nav{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3)}
.social{display:flex;gap:var(--s2);list-style:none;margin:var(--s3) 0 0;padding:0}
.social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-d)}
.social a:hover{border-color:var(--gold)}
.social svg{width:16px;height:16px}
.foot-fine{margin:var(--s4) 0 0;font-size:.75rem;line-height:1.6;color:#7f8799;max-width:110ch}
address{font-style:normal}

/* Reveal */
.js-motion .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js-motion .rv.in{opacity:1;transform:none}

/* Chat (discreet; floats only where the page has a side margin) */
.ecchat{position:fixed;right:24px;bottom:24px;z-index:70;font-family:var(--sans)}
.ecchat [hidden]{display:none!important}
.ecchat button{font:inherit;cursor:pointer}
.ecchat-launch{width:48px;height:48px;border-radius:50%;border:1px solid rgba(201,169,110,.5);background:var(--navy);color:var(--gold);display:grid;place-items:center;padding:0;box-shadow:0 8px 24px rgba(14,26,51,.2);transition:transform .3s var(--ease),border-color .2s}
.ecchat-launch:hover{transform:translateY(-2px);border-color:var(--gold)}
.ecchat-launch svg{width:20px;height:20px}
@media(max-width:1299px){.ecchat-launch{display:none!important}}
.ecchat-panel{width:min(380px,calc(100vw - 32px));max-height:min(600px,calc(100svh - 48px));display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 24px 64px rgba(14,26,51,.22);animation:ecchat-in .4s var(--ease)}
.ecchat-head{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;padding:12px 10px 12px 20px}
.ecchat-title{margin:0;font-family:var(--serif);font-size:1.25rem;font-weight:500}
.ecchat .ecchat-x{background:transparent;border:0;color:var(--gold);font-size:1.5rem;width:40px;height:40px;border-radius:50%;line-height:1}
.ecchat .ecchat-x:hover{background:rgba(255,255,255,.08)}
.ecchat-log{overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.ecchat-msg{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:.9rem;line-height:1.5;color:var(--text);max-width:92%}
.ecchat-msg p{margin:0}
.ecchat-msg a{display:inline-block;margin:8px 12px 0 0;color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.ecchat-you{align-self:flex-end;background:var(--navy);color:#fff;border-color:var(--navy)}
.ecchat-quick{display:flex;flex-direction:column;gap:6px;padding:12px 20px 0}
.ecchat .ecchat-quick button{background:var(--white);color:var(--ink);border:1px solid var(--line-2);border-radius:999px;padding:9px 14px;text-align:left;font-size:.875rem}
.ecchat .ecchat-quick button:hover{border-color:var(--gold)}
.ecchat-form{display:grid;gap:8px;padding:12px 20px 16px}
.ecchat-form textarea,.ecchat-form input{font-size:.9rem!important;padding:9px 12px!important;min-height:0}
.ecchat-form textarea{min-height:64px}
.ecchat-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ecchat-err{margin:0;font-size:.8rem;color:#9b2c2c}
.ecchat-actions{display:flex;gap:8px}
.ecchat-actions button{height:38px;padding:0 18px;border-radius:999px;font-size:.875rem;border:1px solid var(--navy);background:var(--navy);color:#fff}
.ecchat .ecchat-ask{background:var(--white);color:var(--ink);border-color:var(--line-2)}
@keyframes ecchat-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:640px){.ecchat{right:12px;left:12px;bottom:12px}.ecchat-panel{width:100%}}

/* Legacy content blocks (blog, legal, membership, intake pages) */
.legacy main>section{padding:var(--s7) 0}
.legacy main>section:not(.page-head)>*:not(.wrap):not(.lgrid-wrap){width:min(100% - 48px,var(--maxw));margin-left:auto;margin-right:auto}
.legacy .page-head{padding-top:calc(var(--sec)*.8);padding-bottom:var(--s5)}
.legacy main>.page-head>*{width:auto;margin-left:max(24px,calc((100% - var(--maxw))/2));margin-right:max(24px,calc((100% - var(--maxw))/2))}
.legacy .page-head>h1{max-width:18ch}
.legacy .page-head>.lead,.legacy .page-head>p{max-width:62ch}
.legacy main section h2{font-size:clamp(1.75rem,3vw,2.5rem);margin:var(--s5) 0 var(--s2)}
.legacy main section h3{margin:var(--s3) 0 var(--s1)}
.legacy main section ul,.legacy main section ol{padding-left:1.2em}
.legacy main section li{margin:0 0 .45em}
.legacy .terms,.legacy .legal{max-width:none}
.legacy .terms>*{max-width:760px!important}
.legacy .terms p,.legacy .terms li{color:var(--text)}
.legacy .bg-ivory{background:var(--paper)}.legacy .bg-white{background:var(--white)}
.note{font-size:var(--t-small);color:var(--muted)}
.footnote{font-size:.8125rem;color:var(--faint);line-height:1.6;margin-top:var(--s5)}
.legacy .tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s3);margin:var(--s5) auto 0}
.legacy .tier{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.legacy .tier h3{font-family:var(--serif);font-weight:500;font-size:1.75rem;margin:0 0 var(--s2)}
.legacy .tier .price{font:500 1.375rem/1.25 var(--sans);color:var(--ink);margin:0 0 var(--s2)}
.legacy .tier ul{padding-left:1.1em;font-size:var(--t-small)}
.legacy .tier .btn,.legacy .tier button.sel{margin-top:auto;align-self:flex-start;height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:#fff;font:500 .9375rem/1 var(--sans);cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}
.legacy .tier.prem{background:var(--navy);color:var(--on-dark);border-color:var(--navy)}.legacy .tier.prem h3,.legacy .tier.prem .price,.legacy .tier.prem strong{color:#fff}
.legacy .tier.prem .btn{background:var(--gold);border-color:var(--gold);color:var(--navy)}.legacy .tier.prem a.inline{color:#fff}
.badge{position:absolute;top:-11px;left:24px;background:var(--gold);color:var(--navy);font:600 .6875rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.legacy .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4)}
.legacy .faq details,.legacy details{border-bottom:1px solid var(--line);padding:var(--s2) 0}
.legacy summary{cursor:pointer;font-weight:500;color:var(--ink);padding:var(--s1) 0}
.legacy .intake-card,.legacy form#intake{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5);max-width:760px;margin-top:var(--s5)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-small);color:var(--muted);margin:var(--s3) 0}
.check input{margin-top:4px;accent-color:var(--navy);width:18px;height:18px;flex:none}
.radio-group{display:flex;flex-wrap:wrap;gap:var(--s2);border:0;padding:0;margin:0 0 var(--s3)}
.radio-group label{display:flex;gap:8px;align-items:center}
.legacy table{border-collapse:collapse;width:100%;font-size:var(--t-small)}.legacy th,.legacy td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.legacy blockquote{margin:var(--s4) 0;padding-left:var(--s3);border-left:2px solid var(--gold);font-family:var(--serif);font-size:1.5rem;color:var(--ink)}
/* Blog */
.journal-head{padding-top:calc(var(--sec)*.8)}
.legacy .journal{padding-top:0}
.kicker{display:block;font:600 var(--t-micro)/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);text-decoration:none;margin:0 0 var(--s3)}
.journal-head h1{margin-bottom:var(--s2)}
.journal-intro{font-size:var(--t-lead);color:var(--muted);max-width:56ch}
.feature{margin-top:var(--s6)!important;padding:var(--s5)!important;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.feature .label,.index .label{font:600 var(--t-micro)/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 var(--s3)}
.feature-link{text-decoration:none}.feature h2{margin:0 0 var(--s2)!important;font-size:var(--t-h2)!important}
.feature-dek{font-size:var(--t-lead);color:var(--muted);max-width:56ch}
.byline{display:flex;flex-wrap:wrap;gap:var(--s3);font-size:var(--t-small);color:var(--faint);margin:var(--s2) 0 var(--s3)}
.index{margin-top:var(--s6)!important}
.entries{list-style:none;padding:0!important;margin:0;border-top:1px solid var(--line)}
.entries li{margin:0!important;border-bottom:1px solid var(--line)}
.entry{display:grid;grid-template-columns:120px 1fr auto;gap:var(--s3);padding:var(--s4) 0;text-decoration:none;color:inherit}
.entry time,.entry-time{font-size:var(--t-small);color:var(--faint)}
.entry-title{display:block;font-family:var(--serif);font-size:1.75rem;font-weight:500;line-height:1.15;color:var(--ink);margin-bottom:6px;transition:color .2s}
.entry:hover .entry-title{color:var(--gold-ink)}
.entry-dek{color:var(--muted)}
.journal-cta{margin-top:var(--s5)!important;color:var(--muted)}
.post{max-width:720px;margin:0 auto}
.post-head{padding-top:calc(var(--sec)*.6);margin-bottom:var(--s5)}
.post-head h1{font-size:clamp(2.5rem,5vw,4rem)}
.dek{font-size:var(--t-lead);color:var(--muted);margin:var(--s3) 0 0}
.post-body p,.post-body li{font-size:1.1875rem;line-height:1.75;color:var(--text)}
.post-body h2{font-size:clamp(1.75rem,2.6vw,2.25rem)!important;margin:var(--s6) 0 var(--s2)!important}
.post .cta{margin-top:var(--s6);padding:var(--s4);background:var(--stone);border-radius:var(--r)}
/* Opportunities (listings.css loads after and keeps its grid) */
.legacy .lhero{background:var(--navy)!important}
.legacy .lhero .eyebrow{color:var(--gold)}.legacy .lfacts{background:none!important;gap:0 var(--s4)!important}.legacy .lfacts li{background:none!important;padding:var(--s3) 0!important;border-top:1px solid rgba(201,169,110,.35)}.legacy .lfacts strong{color:var(--gold)!important;font-size:.75rem}
.legacy .lcard{border-radius:var(--r-sm);border-top:1px solid var(--line)!important}
.legacy .lcard h3{font-family:var(--serif)}.legacy .lfacts,.legacy .lgrid{padding-left:0!important}
.signin-cols h3{font-family:var(--serif);font-weight:500;font-size:1.75rem}

/* Responsive */
@media(max-width:1060px){
 .split{grid-template-columns:1fr;gap:var(--s4)}
 .stage{grid-template-columns:1fr;gap:var(--s4);padding:var(--s6) 0}
 .stage-side{position:static}
 .cards.c3{grid-template-columns:1fr 1fr}
 .foot-top{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}
 .about-split{grid-template-columns:1fr;gap:var(--s5)}.portrait{max-width:440px}
 .net-art{justify-self:start;max-width:420px}
 .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 #site-nav{position:fixed;inset:var(--navh) 0 0 0;z-index:59;flex-direction:column;gap:0;margin:0;padding:var(--s3) 24px var(--s5);background:var(--navy);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s}
 #site-nav.open{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
 #site-nav a,#site-nav button{display:block;font-family:var(--serif);font-size:2rem;font-weight:500;color:#fff;padding:10px 0;border-bottom:1px solid var(--line-d);text-align:left;background:none;border-left:0;border-right:0;border-top:0;width:100%;cursor:pointer}
 #site-nav .m-only{display:block}
 #site-nav .m-small{font-family:var(--sans);font-size:1rem;color:rgba(255,255,255,.7);border-bottom:0;padding:14px 0 0}
 .nav-toggle{display:block}
 .nav-signin{display:none}
 body.menu-open{overflow:hidden}
 .tl{grid-template-columns:1fr;gap:0;padding-left:36px}
 .tl::before,.tl::after{left:6px;right:auto;top:8px;bottom:8px;width:1px;height:auto}
 .tl::after{width:2px;left:5.5px;transform:scaleY(var(--p));transform-origin:top}
 .tl li{padding:0 0 var(--s5)}
 .tl li:last-child{padding-bottom:0}
 .tl a{display:grid;grid-template-columns:56px 1fr;gap:0 var(--s3);align-items:start;padding:0}
 .tl .dot{position:absolute;left:-36px;top:2px;margin:0}
 .tl .ill{grid-row:1/4;width:48px;height:48px;margin:0}
 .tl .n{margin-bottom:var(--s1)}
 .tl .o{max-width:none}
 .facts{grid-template-columns:1fr;gap:var(--s3)}
}
@media(max-width:700px){
 :root{--navh:56px}
 body{font-size:1rem}
 .wrap,.wrap-n{width:min(100% - 40px,var(--maxw))}
 .nav-in{width:min(100% - 40px,1240px)}
 .nav-end .btn{display:none}
 .nav-logo img{height:14px}
 .hero{min-height:max(620px,92svh)}
 .hero-copy{padding:calc(var(--navh) + 56px) 0 120px}
 .hero h1{font-size:clamp(2.875rem,12.4vw,3.5rem)}
 .hero .acts{flex-direction:column;gap:var(--s3)}
 .hero-ctl{right:20px;bottom:20px}
 .head{margin-bottom:var(--s5)}
 .cards.c3,.cards.c2{grid-template-columns:1fr}
 .card{padding:var(--s4) var(--s3) var(--s3)}
 .svc{grid-template-columns:1fr;gap:6px}
 .svc .pr{text-align:left;order:-1;font-size:1rem;color:var(--gold-ink)}
 .svc h3{order:-2}
 .form-card{padding:var(--s4) var(--s3)}
 .form-card .row{grid-template-columns:1fr;gap:0}
 .cinfo li{grid-template-columns:80px 1fr}
 .foot-top{grid-template-columns:1fr 1fr;gap:var(--s4)}
 .foot-bot{flex-direction:column}
 .steps{grid-template-columns:1fr}
 .entry{grid-template-columns:1fr;gap:6px}
 .entry-time{display:none}
 .feature{padding:var(--s4) var(--s3)!important}
 .legacy .intake-card,.legacy form#intake{padding:var(--s4) var(--s3)}
 .acts .btn{width:auto}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .hero-media video{display:none}
 .hero-cue{display:none}
}
@media print{.nav,.foot,.ecchat,.close,.hero-media{display:none}}

/* Utah local (2026-10-27) */
.hero-loc{font-size:var(--t-small);line-height:1.6;letter-spacing:.01em;color:rgba(255,255,255,.7);max-width:52ch;margin:var(--s4) auto 0;text-wrap:balance}
.foot-hours{color:var(--faint,inherit);font-size:var(--t-small)}
.ut-stages{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4)}
.ut-stages li{padding-top:var(--s3);border-top:1px solid var(--line-2)}
.ut-stages h3{margin:0 0 var(--s1)}.ut-stages h3 a{color:inherit;text-decoration:none}.ut-stages h3 a:hover{color:var(--gold-ink)}
.ut-stages p{margin:0;color:var(--muted);font-size:var(--t-small)}
.ut-n{display:block;font:500 var(--t-micro)/1 var(--sans);letter-spacing:.16em;color:var(--gold-ink);margin-bottom:var(--s3)}
.ut-res{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.ut-res li{padding-top:var(--s3);border-top:1px solid var(--line-2)}
.ut-res h3{margin:0 0 var(--s1)}.ut-res h3 a{color:inherit;text-decoration:none}.ut-res h3 a:hover{color:var(--gold-ink)}
.ut-res p{margin:0;color:var(--muted);font-size:var(--t-small)}
.ut-ext{font-size:.75em;margin-left:.3em;color:var(--gold-ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ut-map{margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--stone);aspect-ratio:4/3}
.ut-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.02)}
@media (max-width:960px){.ut-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.ut-res{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ut-stages,.ut-res{grid-template-columns:1fr}}
