

:root{
  --em:#164A3A; --em-d:#0F3629; --em-x:#0A2A20;
  --ivory:#F7F5F0; --ivory-d:#EFEBE2; --card:#FFFFFF;
  --bronze:#BA8D4F; --bronze-l:#E2C285; --bronze-d:#7A5A2E;
  --ink:#1A1A1A; --grey:#5F5F5F; --sage:#A8B5A0; --red:#A4171D;
  --line:rgba(22,74,58,.14); --line-w:rgba(247,245,240,.16);
  --display:'Barlow Semi Condensed','Bahnschrift','Arial Narrow',sans-serif;
  --body:'Lato','Segoe UI',system-ui,sans-serif;
  --quote:'Source Serif 4','Cambria',Georgia,serif;
  --p1:#630D3B; --p2:#B68C2A; --p3:#0F4A31; --p4:#1F4E79;
  --ease:cubic-bezier(.22,1,.36,1);
  --wrap:1280px; --gut:clamp(20px,4vw,56px);
  --h1:clamp(56px,9.4vw,150px);
  --h2:clamp(40px,6vw,92px);
  --h2s:clamp(34px,4.4vw,66px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--body);font-weight:400;color:var(--ink);background:var(--ivory);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
:focus-visible{outline:2px solid var(--bronze-l);outline-offset:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Screen-sized on purpose: an oversized fixed layer makes iOS Safari scroll past the footer. */
.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:240px 240px;
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-29px 19px}40%{background-position:19px -29px}60%{background-position:-10px 29px}80%{background-position:29px 10px}100%{background-position:0 0}}

.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--bronze-d);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--bronze),var(--bronze-l));box-shadow:0 0 8px rgba(226,194,133,.35)}
.hero .eyebrow,.thesis .eyebrow,.card .eyebrow,.impact .eyebrow,.voices .eyebrow,.founder .eyebrow,.contact .eyebrow,.mmenu .eyebrow{color:var(--bronze-l)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:.95;letter-spacing:-.01em}
h2{font-size:var(--h2)}
h1 em,h2 em{font-style:italic;font-weight:600}
p{max-width:58ch}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;min-height:48px;border:1px solid var(--bronze);border-radius:2px;color:var(--ivory);font-weight:600;font-size:14px;letter-spacing:.02em;position:relative;overflow:hidden;transition:color .4s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:0}
.btn:hover::before,.btn:focus-visible::before{transform:scaleX(1)}
.btn:hover{color:var(--em-x)}
.btn>*{position:relative;z-index:1}
.btn.solid{background:var(--bronze);color:var(--em-x);border-color:var(--bronze)}
.btn.solid::before{background:var(--bronze-l)}
.btn.solid:hover{color:var(--em-x)}
.btn.mag{will-change:transform;transition:color .4s var(--ease),transform .25s var(--ease)}
.btn.mag::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-130%);animation:sheen 6s ease-in-out infinite;pointer-events:none}
@keyframes sheen{0%,72%{transform:translateX(-130%)}88%,100%{transform:translateX(130%)}}
.link{font-weight:600;font-size:14px;color:var(--ivory);border-bottom:1px solid var(--line-w);padding-bottom:3px;min-height:44px;display:inline-flex;align-items:center}
.link:hover{border-color:var(--bronze-l)}

#nav{position:fixed;inset:0 0 auto 0;z-index:50;padding:18px 0;transition:background .4s,backdrop-filter .4s;color:var(--ivory)}
#nav.solid{background:rgba(10,42,32,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px 0}
#nav.solid .logo img{height:44px}
#nav .wrap{display:flex;align-items:center;gap:40px}
#nav .logo img{height:52px;width:auto}
#nav ul{display:flex;gap:30px;list-style:none;margin-left:auto}
#nav ul a{font-size:14px;font-weight:500;opacity:.85;min-height:44px;display:inline-flex;align-items:center;position:relative}
#nav ul a::after{content:"";position:absolute;left:0;bottom:8px;width:100%;height:1px;background:var(--bronze-l);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
#nav ul a:hover::after{transform:scaleX(1)}
#nav ul a.nx{color:var(--bronze-l);opacity:1}
.nx .xm{display:inline-block;width:1.15em;height:1em;vertical-align:-.12em;margin-left:.3em;fill:var(--bronze-l);stroke:var(--bronze-l);stroke-width:12;stroke-linejoin:round}
.mmenu .nx,footer .nx{color:var(--bronze-l)}
.mmenu .nx .xm{width:1em;height:.9em;margin-left:.18em}
#nav .cta{padding:12px 20px;min-height:44px}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.burger i{width:24px;height:1.5px;background:var(--ivory);display:block}
.mmenu{position:fixed;inset:0;z-index:70;background:var(--em-x);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;gap:22px;padding:var(--gut)}
.mmenu[hidden]{display:none}
.mmenu a{font-family:var(--display);font-size:44px;line-height:1.05;font-weight:600}
.mmenu .btn{font-family:var(--body);font-size:14px;align-self:flex-start;margin-top:20px}
.mmenu .close{position:absolute;top:18px;right:var(--gut);font-size:40px;width:48px;height:48px;line-height:1}

.silk{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;background:var(--em-x)}
.curtain{position:fixed;inset:0;z-index:80;background:var(--em-x);display:grid;place-items:center;transform-origin:top;pointer-events:none}
.curtain span{font-family:var(--display);font-weight:600;font-size:clamp(13px,1.6vw,20px);letter-spacing:.28em;text-transform:uppercase;color:var(--bronze-l);opacity:0;text-align:center;max-width:80vw;line-height:1.5}
.curtain.done{display:none}
main{position:relative;z-index:1}
html{background:var(--em-x)}
.no-gl .silk{display:none}
.no-gl .hero,.no-gl .thesis{background:radial-gradient(120% 80% at 30% 20%,var(--em) 0%,var(--em-x) 70%)}
#nav{z-index:50}

.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:100%;grid-template-rows:1fr auto;color:var(--ivory);overflow:hidden;background:transparent}
.hero>.hero-copy{grid-column:1;grid-row:1}
.hero>.marq{grid-column:1;grid-row:2}
.hero-film{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-film video{width:100%;height:100%;object-fit:cover;object-position:50% 60%;opacity:.38;filter:saturate(.35) contrast(1.15) brightness(.85);mix-blend-mode:luminosity}
.hero-film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,42,32,.35),rgba(10,42,32,.15) 40%,rgba(10,42,32,.85) 100%),radial-gradient(80% 60% at 20% 50%,rgba(10,42,32,.55),transparent 70%)}
.hero .dial{position:absolute;right:-8%;top:50%;width:min(56vw,760px);aspect-ratio:1;margin-top:calc(min(56vw,760px) / -2);color:var(--bronze-l);opacity:.22;pointer-events:none;will-change:transform;z-index:1}
.hero .dial path{fill:var(--ivory)}
.hero-copy{position:relative;z-index:2;align-self:center;padding:clamp(96px,14vh,140px) 0 clamp(24px,4vh,40px)}
.hero h1{font-size:var(--h1);line-height:.88;margin:28px 0 0 -.02em;font-weight:700;letter-spacing:-.02em}
.hero h1 .line{display:block;overflow:hidden;padding:.02em .1em .22em 0;margin:-.02em 0 -.08em 0}
.hero h1 .line.l2{padding-left:.9em}
.hero h1 .line>span{display:block}
.js .hero h1 .line>span{transform:translateY(110%)}
.hero h1 em{color:var(--bronze-l)}
.hero .meta{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:40px;margin-top:clamp(28px,4vh,44px);padding-top:26px;border-top:1px solid rgba(226,194,133,.3);position:relative}
.hero .meta::before{content:"";position:absolute;left:0;top:-1px;width:180px;height:1px;background:linear-gradient(90deg,var(--bronze-l),var(--bronze));box-shadow:0 0 14px rgba(226,194,133,.55)}
.hero .meta p{font-size:clamp(15px,1.15vw,17px);line-height:1.6;color:rgba(247,245,240,.82);max-width:38ch}
.hero .meta .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-l);margin-bottom:12px;font-weight:700}
.hero .meta .big{font-family:var(--display);font-weight:600;font-size:clamp(44px,4vw,60px);line-height:1;color:var(--ivory)}
.hero .meta .big b{font-weight:600;font-variant-numeric:tabular-nums}
.hero .meta .big small{font-size:13px;font-family:var(--body);font-weight:400;color:rgba(247,245,240,.7);display:block;margin-top:8px;letter-spacing:.04em;max-width:26ch}
.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.marq{position:relative;z-index:2;border-top:1px solid rgba(247,245,240,.14);padding:24px 0 24px;background:linear-gradient(180deg,transparent,rgba(10,42,32,.7))}
.marq .lbl{position:absolute;left:var(--gut);top:-7px;z-index:1;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze-l);background:var(--em-x);padding:0 10px;font-weight:700}
.marq .clip{overflow:hidden}
.marq .track{display:flex;gap:64px;width:max-content;animation:tick 50s linear infinite;font-family:var(--display);font-weight:600;font-size:clamp(22px,2.2vw,30px);letter-spacing:.02em;color:rgba(247,245,240,.7);white-space:nowrap}
.marq .track span::after{content:"·";color:var(--bronze);margin-left:64px}
@keyframes tick{to{transform:translateX(-50%)}}

.thesis{background:transparent;color:var(--ivory);position:relative}
.thesis .pin{min-height:100svh;display:flex;align-items:center;background:linear-gradient(90deg,rgba(10,42,32,.78) 0%,rgba(10,42,32,.55) 55%,rgba(10,42,32,.3) 100%)}
.thesis .statement{font-size:clamp(48px,9vw,140px);line-height:.95;margin-top:28px;font-weight:700}
.thesis .st{display:block}
.thesis .st-a{font-size:.48em;font-weight:600;color:rgba(247,245,240,.72);letter-spacing:-.005em;margin-bottom:.55em}
.thesis .st-b{line-height:.95}
.thesis .st-u{position:relative;display:inline-block;color:var(--bronze-l)}
.thesis .st-line{position:absolute;left:0;right:0;bottom:-.16em;width:100%;height:.2em;overflow:visible;fill:none;stroke:var(--bronze);stroke-width:5;stroke-linecap:round;stroke-dasharray:640;stroke-dashoffset:640;transition:stroke-dashoffset 1.2s var(--ease) .35s}
.thesis .st-b.on .st-line{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.thesis .st-line{stroke-dashoffset:0;transition:none}}
.js .thesis .st{opacity:.16;transform:translateY(.15em)}
.thesis .st.on{opacity:1;transform:none}
.thesis-body{background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:0 0 clamp(64px,9vh,110px);font-size:clamp(16px,1.25vw,19px);color:rgba(247,245,240,.82)}
.thesis-body strong{color:var(--ivory);font-weight:600}
.tension{border-top:1px solid var(--line-w);border-bottom:1px solid var(--line-w);overflow:hidden;padding:26px 0;background:rgba(10,42,32,.55)}
.tension .track{display:flex;gap:64px;width:max-content;animation:tick 40s linear infinite}
.tension span{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.4vw,34px);white-space:nowrap;display:inline-flex;align-items:baseline;gap:16px}
.tension small{font-family:var(--body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-l)}
@keyframes tick{to{transform:translateX(-50%)}}

.pillars{background:var(--ivory);padding:clamp(90px,14vh,160px) 0 clamp(60px,10vh,120px)}
.pillars .head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(40px,7vh,80px)}
.pillars .head .eyebrow{grid-column:1/-1}
.pillars .head h2{color:var(--em-d)}
.pillars .head p{color:var(--grey);font-size:17px;max-width:44ch;justify-self:end}
.stack{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
.card{position:sticky;top:calc(80px + var(--i)*18px);margin-bottom:24px;will-change:transform}
.card:last-child{margin-bottom:0}
.card-in{background:var(--em-d);color:var(--ivory);border-radius:14px;min-height:min(74vh,620px);display:grid;grid-template-columns:120px 1fr 1fr;gap:32px;padding:clamp(28px,4vw,56px);position:relative;overflow:hidden;box-shadow:0 -12px 40px rgba(10,42,32,.18);transform-origin:top center}
.card:nth-child(1) .card-in{--pc:var(--p1)}
.card:nth-child(2) .card-in{--pc:var(--p2);color:var(--ink)}
.card:nth-child(3) .card-in{--pc:var(--p3)}
.card:nth-child(4) .card-in{--pc:var(--p4)}
/* Satin metal: same-hue light-to-shade plate, brushed hairlines, a sheen band that travels with scroll (--sx), polished edge. Brand hex sits at the plate's centre. */
.card .card-in{background:linear-gradient(135deg,color-mix(in srgb,var(--pc) 72%,#fff) 0%,var(--pc) 34%,var(--pc) 58%,color-mix(in srgb,var(--pc) 68%,#000) 100%);box-shadow:0 -12px 40px rgba(10,42,32,.18),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.3)}
.card .card-in::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(112deg,transparent calc(var(--sx,38%) - 22%),rgba(255,255,255,.08) calc(var(--sx,38%) - 6%),rgba(255,255,255,.34) var(--sx,38%),rgba(255,255,255,.08) calc(var(--sx,38%) + 6%),transparent calc(var(--sx,38%) + 22%)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px);
  mix-blend-mode:soft-light}
.card:nth-child(2) .n,.card:nth-child(2) .progs i{color:#3D2A05;border-color:rgba(26,26,26,.28)}
.card:nth-child(2) .txt p{color:rgba(26,26,26,.82)}
.card:nth-child(2) .shape i{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.3),rgba(255,255,255,.08) 45%,rgba(255,255,255,0) 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35), inset 0 0 120px rgba(255,255,255,.12)}
.card:nth-child(2) .shape i::before,.card:nth-child(2) .shape i::after{border-color:rgba(255,255,255,.4)}
.card-in::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.2) 100%);pointer-events:none}
.card-in>:not(.shape){position:relative;z-index:1}
.card .shape{z-index:0}
.card .n{font-family:var(--display);font-weight:600;font-size:24px;color:var(--bronze-l);letter-spacing:.06em}
.card h3{font-size:var(--h2s);line-height:1}
.card .txt p{margin:22px 0 28px;color:rgba(247,245,240,.8);font-size:17px;max-width:40ch}
.progs{display:flex;flex-wrap:wrap;gap:10px}
.progs i{font-style:normal;font-size:12px;letter-spacing:.04em;padding:8px 12px;border:1px solid var(--line-w);border-radius:2px;color:var(--bronze-l)}
.card .shape{position:absolute;right:-6%;top:50%;width:52%;aspect-ratio:1;transform:translateY(-50%);pointer-events:none}
.card .shape i{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(226,194,133,.3),rgba(186,141,79,.08) 45%,rgba(186,141,79,0) 70%);
  box-shadow:inset 0 0 0 1px rgba(226,194,133,.25), inset 0 0 120px rgba(226,194,133,.12);
  filter:blur(.3px);will-change:transform}
.card .shape i::before{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(226,194,133,.28)}
.card .shape i::after{content:"";position:absolute;inset:34%;border-radius:50%;border:1px solid rgba(226,194,133,.35);background:radial-gradient(circle,rgba(226,194,133,.2),transparent 70%)}
.card .txt{align-self:center}
.card-btn{display:inline-flex;align-items:center;gap:10px;margin-top:26px;min-height:44px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ivory);border-bottom:1px solid rgba(247,245,240,.35);padding-bottom:6px}
.card:nth-child(2) .card-btn{color:var(--ink);border-color:rgba(26,26,26,.3)}
.card-btn i{width:18px;height:18px;border-radius:50%;border:1px solid currentColor;position:relative;flex:none;transition:transform .4s var(--ease)}
.card-btn i::before{content:"";position:absolute;inset:50% 22%;border-top:1px solid currentColor;transform:translateY(-50%)}
.card-btn i::after{content:"";position:absolute;inset:22% 50%;border-left:1px solid currentColor;transform:translateX(-50%);transition:opacity .3s}
.card-btn[aria-expanded="true"] i{transform:rotate(180deg)}
.card-btn[aria-expanded="true"] i::after{opacity:0}
.card-more{margin-top:26px;padding-top:24px;border-top:1px solid rgba(247,245,240,.25);display:grid;grid-template-columns:1fr 1fr;gap:22px 32px;animation:more .5s var(--ease)}
.card:nth-child(2) .card-more{border-color:rgba(26,26,26,.22)}
.card-more[hidden]{display:none}
@keyframes more{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pm h4{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.1}
.pm .tg{font-size:13px;color:var(--bronze-l);margin-top:6px;line-height:1.4;max-width:38ch}
.card:nth-child(2) .pm .tg{color:#3D2A05}
.pm dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-top:10px;font-size:13px;color:rgba(247,245,240,.75)}
.card:nth-child(2) .pm dl{color:rgba(26,26,26,.75)}
.pm dt{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px;padding-top:3px;opacity:.75}
.pm dd{margin:0}

.cform{margin-top:clamp(40px,6vh,64px);display:grid;gap:18px;max-width:760px;position:relative}
.cf-lead{font-size:16px;color:rgba(247,245,240,.78);max-width:46ch;margin:0}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.cform label{display:grid;gap:8px}
.cform label>span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--bronze-l)}
.cform input,.cform textarea{font:inherit;font-size:16px;color:var(--ivory);background:rgba(247,245,240,.06);border:1px solid rgba(247,245,240,.22);border-radius:2px;padding:14px 16px;min-height:52px;transition:border-color .3s,background .3s}
.cform textarea{resize:vertical;min-height:120px}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--bronze-l);background:rgba(247,245,240,.1)}
.cform input[aria-invalid="true"],.cform textarea[aria-invalid="true"]{border-color:var(--red)}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cf-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px}
.cf-note{font-size:14px;color:var(--bronze-l);margin:0}
.cf-note.err{color:#E58A8E}
.cform.sent{opacity:.55;pointer-events:none}

.advisor{background:var(--ivory);padding:clamp(70px,10vh,120px) 0}
.adv-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(28px,5vh,48px)}
.adv-head h2{color:var(--em-d);margin-top:22px}
.adv-head p{color:var(--grey);font-size:17px;max-width:44ch;justify-self:end}
.adv{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(22px,3vw,40px);box-shadow:0 20px 60px rgba(10,42,32,.08)}
.adv-steps{list-style:none;display:flex;gap:26px;margin-bottom:24px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);font-weight:700;counter-reset:st}
.adv-steps li{display:flex;align-items:center;gap:10px;counter-increment:st}
.adv-steps li::before{content:counter(st);width:24px;height:24px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:var(--grey)}
.adv-steps li.on{color:var(--em-d)}
.adv-steps li.on::before{background:var(--em-d);border-color:var(--em-d);color:var(--ivory)}
.adv-q-title{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.4vw,32px);color:var(--em-d);margin-bottom:18px}
.adv-q{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adv-q button{text-align:left;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--ivory);display:grid;gap:4px;transition:border-color .3s,transform .3s var(--ease),box-shadow .3s;min-height:44px}
.adv-q button b{font-family:var(--display);font-weight:600;font-size:19px;color:var(--em-d);line-height:1.1}
.adv-q button span{font-size:13px;color:var(--grey)}
.adv-q button:hover{border-color:var(--em-d);transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,42,32,.1)}
.adv-back{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--bronze-d);margin-bottom:16px;min-height:44px}
.adv-back:hover{color:var(--em-d)}
.adv-pane{animation:swap .5s var(--ease)}
.adv-a{background:var(--c,var(--p1));color:var(--ivory);border-radius:10px;padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:1.2fr .8fr;gap:16px 40px;transition:background .6s var(--ease)}
.adv-a .k{grid-column:1/-1;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(247,245,240,.85);font-weight:700}
.adv-a h3{font-size:clamp(30px,3.4vw,50px);line-height:1;grid-column:1}
.adv-a .tag{font-family:var(--quote);font-style:italic;font-size:18px;color:rgba(247,245,240,.9);grid-column:1}
.adv-meta{grid-column:2;grid-row:2/span 2;display:grid;gap:14px;align-content:start;border-left:1px solid rgba(247,245,240,.3);padding-left:24px}
.adv-meta dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,245,240,.7);font-weight:700}
.adv-meta dd{font-size:14px;margin-top:4px}
.adv-a ul{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.adv-a li{font-family:var(--display);font-weight:600;font-size:17px;padding:12px 0;border-top:1px solid rgba(247,245,240,.35)}
.adv-cta{grid-column:1/-1;display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:8px}
.adv-a .btn.solid{background:var(--ivory);color:var(--em-x);border-color:var(--ivory)}
.adv-a .btn.solid::before{background:var(--bronze-l)}
.link.dark{color:var(--ivory);border-color:rgba(247,245,240,.4)}

.sim{background:var(--em-d);color:var(--ivory);padding:clamp(80px,12vh,140px) 0}
.sim-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(28px,5vh,52px)}
.sim-head h2{margin-top:22px}
.sim-head p{color:rgba(247,245,240,.82);font-size:17px;max-width:46ch;justify-self:end}
.sim-head strong{color:var(--bronze-l);font-weight:700}
.sim-head>.rv{justify-self:end}
.sim-partner{display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-w)}
.sim-partner span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--bronze-l)}
.sim-partner img{height:26px;width:auto;opacity:.92}
.sim-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,3vw,40px);align-items:start}
.sim-shot{margin:0;border-radius:10px;overflow:hidden;background:var(--em-x)}
.sim-shot img{width:100%;height:auto;display:block}
.sim-shot figcaption{padding:16px 20px 18px;font-family:var(--quote);font-style:italic;font-size:18px;color:rgba(247,245,240,.85);background:var(--em-x)}
.sim-lab{background:var(--em-x);border:1px solid var(--line-w);border-radius:10px;padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:14px}
.sim-lab .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-l);font-weight:700}
.sim-lab p{font-size:14.5px;color:rgba(247,245,240,.75)}
.sim-lab label{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:13px;font-weight:700;letter-spacing:.04em}
.sim-lab output{color:var(--bronze-l);font-weight:600;font-family:var(--display);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.sim-lab input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--bronze);height:28px}
.bars{display:grid;gap:10px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line-w)}
.bars div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(247,245,240,.75)}
.bars i{display:block;height:10px;border-radius:2px;background:linear-gradient(90deg,var(--bronze),var(--bronze-l));width:50%;transition:width .5s var(--ease)}
.sim-list{font-size:12.5px;color:rgba(247,245,240,.7);line-height:1.6;margin-top:6px}
.sim-list b{color:var(--bronze-l)}

.how{background:var(--ivory-d);padding:clamp(90px,14vh,160px) 0}
.how .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);align-items:start}
.how .sticky{position:sticky;top:110px}
.how h2{color:var(--em-d);margin-top:26px}
.how .lead{margin-top:22px;font-size:18px;color:var(--grey);max-width:44ch}
.steps{list-style:none;margin-top:38px;border-top:1px solid var(--line);counter-reset:s}
.steps li{display:grid;grid-template-columns:44px 1fr;column-gap:10px;padding:20px 0;border-bottom:1px solid var(--line);counter-increment:s;align-items:baseline}
.steps li>*{grid-column:2}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--display);font-weight:600;font-size:20px;color:var(--bronze-d);grid-column:1;grid-row:1/span 2}
.steps b{font-family:var(--display);font-weight:600;font-size:28px;display:block;color:var(--em-d);line-height:1.1}
.steps span{display:block;color:var(--grey);font-size:15px;margin-top:4px}
.how .photos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);align-items:start}
.how .col{display:flex;flex-direction:column;gap:clamp(16px,2vw,28px);will-change:transform}
.how .col-b{padding-top:22%}
.how figure{position:relative;overflow:hidden;border-radius:6px;background:var(--em-x)}
.js .how figure.wipe{clip-path:inset(0 0 100% 0 round 6px)}
.js .how figure.wipe img{transform:scale(1.15)}
.how figure img,.how figure video{width:100%;height:auto;filter:saturate(.9);display:block}
.how figure.film video{aspect-ratio:2.4/1;object-fit:cover}
.js .how figure.wipe video{transform:scale(1.15)}
.how figcaption{position:absolute;inset:auto 0 0 0;padding:18px 20px;font-family:var(--quote);font-style:italic;font-size:20px;color:var(--ivory);background:linear-gradient(180deg,transparent,rgba(10,42,32,.85))}

.impact{background:var(--em-x);color:var(--ivory);padding:clamp(80px,12vh,140px) 0 clamp(60px,10vh,120px);overflow:hidden}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);margin-top:36px}
.num .v{font-family:var(--display);font-weight:700;font-size:clamp(76px,9.5vw,180px);line-height:.85;letter-spacing:-.02em;color:var(--ivory);display:flex;align-items:flex-start;gap:.05em}
.num .v b{font-weight:700;font-variant-numeric:tabular-nums}
.num .v sup{font-size:.35em;color:var(--bronze-l);margin-top:.35em}
.nums{grid-template-columns:1.35fr 1fr 1fr 1fr}
.num.lead .v{font-size:clamp(96px,12.5vw,236px);color:var(--bronze-l)}
.num.lead .v sup{color:var(--ivory)}
.num.lead .k{color:var(--ivory);font-weight:600;border-top-color:var(--bronze)}
.num .k{margin-top:22px;padding-top:16px;border-top:1px solid var(--line-w);font-size:13px;letter-spacing:.04em;color:rgba(247,245,240,.7);max-width:22ch}

.case{background:var(--ivory);padding:clamp(90px,14vh,160px) 0 clamp(40px,6vh,70px)}
.case-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(32px,5vh,56px)}
.case-head h2{color:var(--em-d);margin-top:22px}
.case-head p{color:var(--grey);font-size:17px;max-width:46ch;justify-self:end}
.case-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(28px,4vw,56px);align-items:center}
.poster{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:var(--em-x);text-align:left;box-shadow:0 30px 70px rgba(10,42,32,.28)}
.poster img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform 1.2s var(--ease)}
.poster:hover img{transform:scale(1.04)}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,42,32,.1),rgba(10,42,32,.55))}
.poster .play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--bronze);color:var(--em-x);display:grid;place-items:center;z-index:2;box-shadow:0 0 0 12px rgba(186,141,79,.25);transition:transform .4s var(--ease)}
.poster:hover .play{transform:scale(1.06)}
.poster .dur{position:absolute;left:22px;bottom:18px;z-index:2;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-l);font-weight:700}
.case-quotes blockquote{font-family:var(--quote);font-style:italic;font-size:clamp(20px,1.8vw,26px);line-height:1.3;color:var(--em-d);padding-left:22px;border-left:2px solid var(--bronze);margin-bottom:26px}
.case-quotes cite{display:block;font-family:var(--body);font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-d);margin-top:10px;font-weight:700}
.case-people{font-size:13px;color:var(--grey);line-height:1.6;max-width:44ch}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(10,42,32,.96);display:grid;place-items:center;padding:var(--gut)}
.lightbox[hidden]{display:none}
.lightbox video{width:min(1280px,100%);max-height:85vh;background:#000;border-radius:6px}
.lightbox .close{position:absolute;top:16px;right:var(--gut);width:52px;height:52px;font-size:40px;color:var(--ivory);line-height:1}
.voices{background:var(--ivory);padding:0}
.voices .panel{background:var(--em-d);color:var(--ivory);border-radius:40px 40px 0 0;position:relative;overflow:hidden;padding:clamp(90px,14vh,160px) 0;transform-origin:bottom center;will-change:transform}
.voices .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;filter:grayscale(1) contrast(1.1);mix-blend-mode:luminosity}
.voices .panel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--em-d) 20%,rgba(15,54,41,.4) 100%)}
.voices .wrap{position:relative;z-index:1}
.vids{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.vcard{position:relative;margin:0;border-radius:8px;overflow:hidden;background:var(--em-x);aspect-ratio:16/10;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.vcard video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
.vcard figcaption{position:absolute;inset:auto 0 0 0;padding:44px 14px 12px;background:linear-gradient(180deg,transparent,rgba(10,42,32,.92));pointer-events:none}
.vcard figcaption b{display:block;font-family:var(--display);font-weight:600;font-size:18px;line-height:1.05}
.vcard figcaption span{display:block;font-size:10.5px;letter-spacing:.06em;color:rgba(247,245,240,.75);margin-top:3px}
.vcard .snd{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:rgba(10,42,32,.7);border:1px solid rgba(226,194,133,.5);color:var(--bronze-l);display:grid;place-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vcard.on .snd{background:var(--bronze);color:var(--em-x)}
.voices .quote{margin-top:48px;min-height:220px;padding-top:40px;border-top:1px solid var(--line-w)}
.voices blockquote{font-family:var(--quote);font-size:clamp(26px,3.2vw,50px);line-height:1.18;max-width:24ch;font-style:italic;font-weight:400}
.voices cite{display:block;margin-top:26px;font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-l)}
.qnav{display:flex;align-items:center;gap:12px;margin-top:40px}
.qnav button{width:48px;height:48px;border:1px solid var(--line-w);border-radius:50%;display:grid;place-items:center;transition:background .3s,border-color .3s}
.qnav button:hover{background:rgba(226,194,133,.15);border-color:var(--bronze-l)}
.qnav .qi{margin-left:10px;font-size:12px;letter-spacing:.2em;color:rgba(247,245,240,.75)}

.founder{background:var(--em-d);color:var(--ivory);padding:0 0 clamp(70px,10vh,120px)}
.founder .grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);align-items:center}
.founder .portrait{max-width:520px}
.founder .portrait{position:relative;overflow:hidden;border-radius:6px;clip-path:inset(12% 8% 12% 8% round 6px);will-change:clip-path}
.founder .portrait img{width:100%;height:auto;filter:saturate(.85)}
.founder h2{font-family:var(--quote);font-style:italic;font-size:clamp(28px,3.2vw,50px);line-height:1.15;margin-top:26px;font-weight:400;letter-spacing:0}
.founder p{margin-top:26px;font-size:17px;color:rgba(247,245,240,.8)}
.founder .sig{margin-top:34px;padding-top:22px;border-top:1px solid var(--bronze);max-width:280px}
.founder .sig b{font-family:var(--display);font-size:28px;font-weight:600;display:block}
.founder .sig small{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-l);margin-top:6px}

.clients{background:var(--ivory);padding:clamp(90px,14vh,160px) 0}
.clients .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.clients h2{color:var(--em-d);margin-top:26px;font-size:var(--h2s)}
.clients p{margin-top:22px;color:var(--grey);font-size:15px;line-height:1.8}
.ticker{display:grid;grid-template-columns:1fr 1fr;gap:24px;height:520px;overflow:hidden;position:relative;
  mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent)}
.tcol{display:flex;flex-direction:column;gap:24px;will-change:transform}
.tcol img{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 26px;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.85}
.tcol.up{animation:tup 36s linear infinite}
.tcol.down{animation:tdown 42s linear infinite}
@keyframes tup{to{transform:translateY(-50%)}}
@keyframes tdown{from{transform:translateY(-50%)}to{transform:translateY(0)}}

.chx{background:var(--em-x);color:var(--ivory);padding:clamp(110px,18vh,200px) 0;position:relative;overflow:hidden}
.chx .eyebrow{color:var(--bronze-l)}
.chx h2{margin-top:22px;font-size:var(--h1);line-height:.9;letter-spacing:-.02em}
.chx h2 em{color:var(--bronze-l)}
.chx p{margin-top:26px;font-size:18px;color:rgba(247,245,240,.78);max-width:40ch}
.chx-mark{position:absolute;right:-6vw;top:50%;transform:translateY(-50%);width:min(58vw,700px);height:auto;aspect-ratio:94/80;fill:var(--bronze-l);stroke:var(--bronze-l);opacity:.09;stroke-width:12;stroke-linejoin:round;pointer-events:none}
.chx h2 .xm{display:inline-block;width:1.1em;height:.94em;vertical-align:-.08em;fill:var(--bronze-l);stroke:var(--bronze-l);stroke-width:12;stroke-linejoin:round;margin-left:.04em}
.chx .cform{max-width:680px}
.cform select{font:inherit;font-size:16px;color:var(--ivory);background:rgba(247,245,240,.06) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23E2C285' stroke-width='1.6'/></svg>") no-repeat right 16px center;border:1px solid rgba(247,245,240,.22);border-radius:2px;padding:14px 44px 14px 16px;min-height:52px;-webkit-appearance:none;appearance:none;transition:border-color .3s,background-color .3s}
.cform select:focus{outline:none;border-color:var(--bronze-l);background-color:rgba(247,245,240,.1)}
.cform select option{color:var(--ink);background:var(--ivory)}
.cf-checks{border:0;padding:0;margin:0;display:grid;gap:10px}
.cf-checks legend{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--bronze-l);margin-bottom:12px;padding:0}
.cf-checks legend small{display:block;font-size:12px;letter-spacing:.02em;text-transform:none;font-weight:400;color:rgba(247,245,240,.6);margin-top:4px}
.cf-checks label{display:flex;align-items:center;gap:14px;font-size:16px;line-height:1.35;cursor:pointer;padding:12px 16px;border:1px solid rgba(247,245,240,.16);border-radius:2px;transition:border-color .3s,background .3s}
.cf-checks label:hover{border-color:rgba(226,194,133,.5)}
.cf-checks[aria-invalid="true"] label{border-color:var(--red)}
.cform .req{color:var(--bronze-l);font-weight:700}
.cform label>span small{display:block;margin-top:4px;font-size:12px;letter-spacing:.02em;text-transform:none;font-weight:400;color:rgba(247,245,240,.6)}
.cform input::placeholder,.cform textarea::placeholder{color:rgba(247,245,240,.4)}
.cf-checks label:has(:checked){border-color:var(--bronze-l);background:rgba(226,194,133,.1)}
.cform .cf-checks label>span{font-size:16px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ivory)}
.cform .cf-checks input{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-height:0;padding:0;flex:none;background:none;border:1px solid rgba(247,245,240,.45);border-radius:2px;display:grid;place-items:center;margin:0}
.cform .cf-checks input:checked{border-color:var(--bronze-l);background:var(--bronze-l)}
.cf-checks input:checked::after{content:"";width:10px;height:6px;border-left:2px solid var(--em-x);border-bottom:2px solid var(--em-x);transform:translateY(-1px) rotate(-45deg)}
.cf-checks input:focus-visible{outline:2px solid var(--bronze-l);outline-offset:2px}
/* ---- multi-page: nav dropdown, sub-page headers, programme pages ---- */
#nav li.dd{position:relative}
#nav li.dd>ul{display:none;position:absolute;left:-18px;top:100%;margin:0;padding:10px 0;min-width:280px;list-style:none;flex-direction:column;gap:0;background:rgba(10,42,32,.96);border:1px solid var(--line-w);border-radius:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
#nav li.dd:hover>ul,#nav li.dd:focus-within>ul{display:flex}
#nav li.dd>ul a{display:block;padding:9px 18px;min-height:0;font-size:14px}
#nav li.dd>ul a::after{display:none}
#nav li.dd>ul a:hover{color:var(--bronze-l)}
.mmenu .sub{display:flex;flex-direction:column;gap:4px;margin:-10px 0 4px 18px}
.mmenu .sub a{font-size:22px;font-weight:500;opacity:.8}
body.sub main{background:var(--ivory)}
body.sub #nav{color:var(--ivory)}
.phead{background:radial-gradient(120% 90% at 25% 10%,var(--em) 0%,var(--em-x) 70%);color:var(--ivory);padding:clamp(150px,22vh,240px) 0 clamp(60px,10vh,110px);position:relative;overflow:hidden}
.phead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--c,var(--bronze))}
.phead .eyebrow{color:var(--bronze-l)}
.phead .eyebrow a{color:inherit}
.phead h1{font-size:var(--h2);line-height:.95;margin-top:22px;max-width:16ch}
.phead h1 em{color:var(--bronze-l)}
.phead p{margin-top:24px;font-size:18px;color:rgba(247,245,240,.8);max-width:52ch}
.phead p.tag{font-size:20px;color:var(--bronze-l);margin-top:14px}
.phead p.promise{font-family:var(--quote);font-style:italic;font-size:22px;color:rgba(247,245,240,.9)}
.ptension{background:var(--ivory-d);padding:clamp(50px,7vh,80px) 0}
.tension-list{list-style:none;margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.tension-list li{font-family:var(--quote);font-style:italic;font-size:22px;line-height:1.3;color:var(--em-d);padding-left:18px;border-left:2px solid var(--bronze)}
.pgroup{padding:clamp(60px,9vh,110px) 0;border-top:1px solid var(--line)}
.pgroup-head{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.pgroup-head h2{color:var(--em-d);font-size:var(--h2s);margin-top:14px}
.pgroup-head .link{color:var(--em-d);border-color:var(--line)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.pcard{display:flex;flex-direction:column;gap:12px;padding:26px 26px 22px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:4px;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,42,32,.12)}
.pcard .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bronze-d)}
.pcard h3{font-size:26px;line-height:1.05;color:var(--em-d)}
.pcard p{font-size:15px;color:var(--grey);margin:0}
.pcard dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;color:var(--grey);margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.pcard dt{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px;padding-top:3px;color:var(--em-d)}
.pcard dd{margin:0}
.pcard .more{font-size:13px;font-weight:700;color:var(--em);margin-top:6px}
.pcard .more::after{content:" →"}
.pcta{background:var(--em-x);color:var(--ivory);padding:clamp(80px,12vh,140px) 0}
.pcta h2{font-size:var(--h2s);max-width:18ch}
.pcta p{margin-top:16px;font-size:18px;color:rgba(247,245,240,.78)}
.pcta .rv:last-child{margin-top:32px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.pg{padding:clamp(60px,9vh,110px) 0}
.pg-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,6vw,90px);align-items:start}
.pg-quote{font-family:var(--quote);font-style:italic;font-size:clamp(24px,2.6vw,34px);line-height:1.25;color:var(--em-d);border-left:3px solid var(--bronze);padding-left:24px;margin-bottom:44px;max-width:30ch}
.pg-block{margin-bottom:40px}
.pg-block h2{font-size:26px;color:var(--em-d);margin-bottom:14px}
.pg-block p{font-size:17px;color:var(--grey);max-width:60ch}
.pg-list{list-style:none;display:grid;gap:10px;margin-top:10px}
.pg-list li{padding:12px 0 12px 22px;border-bottom:1px solid var(--line);position:relative;font-size:16px;color:var(--ink)}
.pg-list li::before{content:"";position:absolute;left:0;top:21px;width:8px;height:8px;border-radius:50%;background:var(--bronze)}
.pg-block .progs i{color:var(--em-d);border-color:var(--line)}
.pg-aside{position:sticky;top:110px;background:var(--em-d);color:var(--ivory);border-radius:6px;padding:28px;display:grid;gap:22px}
.pg-aside dl{display:grid;gap:14px}
.pg-aside dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bronze-l)}
.pg-aside dd{margin:4px 0 0;font-size:15px;line-height:1.5;color:rgba(247,245,240,.85)}
.pg-aside dd a{color:var(--ivory);border-bottom:1px solid var(--line-w)}
.pg-aside .btn{justify-content:center}
.pg-others .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bronze-l);margin-bottom:8px}
.pg-others a{display:block;padding:8px 0;border-top:1px solid var(--line-w);font-size:14px}
.pg-others a:hover{color:var(--bronze-l)}
.contact{background:var(--em);color:var(--ivory);padding:clamp(110px,18vh,200px) 0;position:relative;overflow:hidden}
.contact .mark{position:absolute;right:-8%;top:50%;width:min(60vw,640px);transform:translateY(-50%);fill:rgba(226,194,133,.06)}
.contact .wrap{position:relative;z-index:1}
.contact h2{font-size:clamp(48px,7.5vw,120px);line-height:.94;margin-top:26px;max-width:12ch;font-weight:700}
.contact h2 em{color:var(--bronze-l)}
.contact p{margin:30px 0 36px;font-size:18px;color:rgba(247,245,240,.8);max-width:48ch}

footer{position:relative;z-index:1;background:var(--em-x);color:rgba(247,245,240,.75);padding:64px 0 28px;font-size:14px}
footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
footer .flogo{height:64px;width:auto}
footer .tag{font-family:var(--quote);font-style:italic;font-size:20px;color:var(--ivory);margin:18px 0 10px}
footer h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-l);margin-bottom:14px;font-weight:600}
footer ul{list-style:none}
footer li{margin-bottom:4px;line-height:1.5}
footer li a{display:inline-block;padding:6px 0;min-height:32px}
footer a:hover{color:var(--ivory)}
.social{list-style:none;display:flex;gap:10px;margin-top:18px;padding:0}
.social a{width:44px;height:44px;border:1px solid var(--line-w);border-radius:50%;display:grid;place-items:center;color:var(--bronze-l);transition:background .3s,border-color .3s,color .3s}
.social a:hover{background:var(--bronze);border-color:var(--bronze);color:var(--em-x)}
.contact-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.contact-actions .social{margin-top:0}
.flink{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-l);font-weight:700;min-height:44px}
.flink .ico{width:18px;height:18px}
.flink:hover{color:var(--ivory)}
.ftr-base{margin-top:48px;padding-top:22px;border-top:1px solid var(--line-w);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;letter-spacing:.02em;align-items:center}
.ftr-base .credit{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.ftr-base .credit img{width:90px;height:auto;opacity:.9}

.js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.on{opacity:1;transform:none}

@media (max-width:1024px){
  .nums{grid-template-columns:1fr 1fr;gap:40px}
  .num.lead{grid-column:1/-1}
  .vids{grid-template-columns:1fr 1fr}
  .case-grid,.case-head,.adv-head,.sim-grid,.sim-head,.adv-q{grid-template-columns:1fr}
  .adv-a{grid-template-columns:1fr}
  .adv-meta{grid-column:1;grid-row:auto;border-left:0;padding-left:0;border-top:1px solid rgba(247,245,240,.3);padding-top:12px}
  .adv-a ul{grid-template-columns:1fr}
  .adv-steps{gap:14px;flex-wrap:wrap}
  .adv-head p,.sim-head p{justify-self:start}
  .card-in{grid-template-columns:70px 1fr;min-height:0}
  .card .shape{width:60%;right:-25%;top:auto;bottom:-30%;transform:none;opacity:.6}
  .card .txt{grid-column:2}
  .card-more{grid-template-columns:1fr}
  .cf-row{grid-template-columns:1fr}
  .chx-mark{width:min(80vw,420px);right:-14vw;top:auto;bottom:-6%;transform:none}
  .case-head p{justify-self:start}
  footer .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  #nav ul,#nav .cta{display:none}
  .burger{display:flex;margin-left:auto}
  .hero .meta{grid-template-columns:1fr;gap:26px}
  .hero h1 .line.l2{padding-left:0}
  .thesis-body,.pillars .head,.how .grid,.founder .grid,.clients .grid{grid-template-columns:1fr}
  .pillars .head p{justify-self:start}
  .card{top:76px}
  .pg-grid{grid-template-columns:1fr}
  .pg-aside{position:static}
  .phead{padding-top:120px}
  .how .sticky{position:static}
  .how .col-b{padding-top:14%}
  .ticker{height:380px}
  .founder .grid{gap:40px}
  .founder .portrait{max-width:420px;clip-path:none}
}
@media (max-width:600px){
  :root{--h1:clamp(52px,15vw,80px)}
  #nav .logo img{height:44px}
  .hero{min-height:auto;grid-template-rows:auto auto}
  .hero-copy{padding:104px 0 28px}
  .hero .meta{gap:22px;margin-top:24px}
  .hero .meta .big{font-size:44px}
  .marq{padding:18px 0}
  .marq .track{font-size:20px;gap:40px}
  .marq .track span::after{margin-left:40px}
  .thesis .pin{min-height:70svh}
  .thesis-body{gap:22px;padding-bottom:48px}
  .pillars,.how,.case,.clients{padding-top:64px;padding-bottom:56px}
  .card{position:relative;top:auto;margin-bottom:16px}
  .card h3{font-size:32px}
  .adv-q button b{font-size:17px}
  .how .photos{grid-template-columns:1fr 1fr;gap:10px}
  .how .col{gap:10px}
  .how .col-b{padding-top:18%}
  .how figure img{aspect-ratio:4/5;object-fit:cover;width:100%}
  .how figure.film video{aspect-ratio:4/5}
  .how figcaption{font-size:15px;padding:12px 12px}
  .impact{padding:56px 0 48px}
  .nums{grid-template-columns:1fr 1fr;gap:26px 18px;margin-top:24px}
  .num .v{font-size:60px}
  .num .k{margin-top:12px;padding-top:10px;font-size:12px}
  .case-head{gap:16px;margin-bottom:22px}
  .case-grid{gap:22px}
  .poster .play{width:64px;height:64px;margin:-32px 0 0 -32px}
  .case-quotes blockquote{font-size:19px;margin-bottom:18px}
  .vids{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .vcard{aspect-ratio:4/5}
  .vcard figcaption{padding:30px 10px 10px}
  .vcard figcaption b{font-size:15px}
  .vcard figcaption span{font-size:9.5px}
  .vcard .snd{width:34px;height:34px;top:8px;right:8px}
  .voices .panel{padding:56px 0 48px}
  .voices .quote{margin-top:28px;padding-top:26px;min-height:0}
  .founder{padding-bottom:56px}
  .founder .portrait img{max-height:62vh;object-fit:cover;object-position:top}
  .founder .grid{gap:26px}
  .ticker{height:300px}
  .contact{padding:72px 0}
  .contact h2{font-size:44px}
  footer{padding:44px 0 22px}
  footer .grid{gap:26px}
  .hero .dial{width:110vw;right:-45%;opacity:.14}
  .thesis .statement{font-size:clamp(40px,11vw,64px)}
  .hero-film video{opacity:.32}
  .how .photos{grid-template-columns:1fr}
  .how .col-b{padding-top:0}
  .voices .panel{border-radius:22px 22px 0 0}
  footer .grid{grid-template-columns:1fr}
  .ftr-base{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  .grain,.scroll-cue i,.tension .track,.tcol,.marq .track,.btn.mag::after{animation:none!important}
  .curtain{display:none}
  .how figure.wipe{clip-path:none!important}
  .hero-film{display:none}
  .how figure.wipe img{transform:none!important}
  .rv,.hero h1 .line>span,.thesis .st{opacity:1!important;transform:none!important;transition:none!important}
  .founder .portrait{clip-path:none}
  html{scroll-behavior:auto}
}
