@font-face{font-family:"Newsreader";src:url(fonts/newsreader-latin-opsz-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader-latin-opsz-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Geist";src:url(fonts/geist-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Jonathon O'Neill: personal site, v7 */
:root{
  --ink:#FFFFFF; --pitch:#F5F6F3; --pitch-2:#EEF0EB;
  --chalk:#0D0F0C; --chalk-2:#33362F; --muted:#585B55; --muted-2:#6A6D66;
  --line:rgba(13,15,12,.12); --line-2:rgba(13,15,12,.24);
  --paper:#F5F6F3; --paper-2:#EEF0EB; --paper-ink:#0D0F0C; --paper-muted:#585B55; --paper-line:rgba(13,15,12,.12);
  --signal:#123A2B; --signal-hi:#0A2419; --green:#123A2B; --mint:#9FD8B4;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Geist", "Helvetica Neue", Arial, sans-serif;
  --mono:"Geist Mono", ui-monospace, Menlo, monospace;
  --wrap:1320px; --gutter:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--ink);color:var(--chalk);font-family:var(--sans);font-size:18px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--green);color:#fff}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* type */
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.eyebrow.signal{color:var(--signal)}
.display{font-family:var(--serif);font-weight:400;letter-spacing:-.022em;line-height:1.02;font-optical-sizing:auto}
.display em{font-style:italic;color:var(--signal)}
.h-xxl{font-size:clamp(46px,6.4vw,104px)}
.h-xl{font-size:clamp(40px,5.2vw,84px)}
.h-l{font-size:clamp(34px,3.9vw,60px);line-height:1.04}
.h-m{font-size:clamp(30px,3vw,44px);line-height:1.05}
.lede{font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--chalk-2);max-width:40ch}
.body{color:var(--chalk-2);max-width:62ch}
.body p+p{margin-top:1.1em}
.small{font-size:15px;color:var(--muted)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s var(--ease),border-color .4s var(--ease);border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand{display:flex;align-items:baseline;gap:14px}
.brand .name{font-family:var(--serif);font-size:26px;letter-spacing:-.01em}
.brand .tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.menu{display:flex;align-items:center;gap:34px;list-style:none}
.menu a{font-size:15px;color:var(--chalk-2);position:relative;transition:color .2s}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu a:hover,.menu a[aria-current="page"]{color:var(--chalk)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:.005em;transition:all .3s var(--ease);white-space:nowrap}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-signal{background:var(--signal);color:var(--ink);border:1px solid var(--signal)}
.btn-signal:hover{background:var(--signal-hi)}
.btn-ghost{border:1px solid var(--line-2);color:var(--chalk)}
.btn-ghost:hover{border-color:var(--chalk)}
.menu .btn{height:42px;padding:0 20px;color:var(--ink)}
.menu .btn::after{display:none}
.burger{display:none;background:none;border:0;color:var(--chalk);width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:22px;height:1px;background:currentColor;margin:6px auto;transition:transform .3s}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:150px 0 0;overflow:hidden;background:#fff}
.hero-art{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 78%);mask-image:linear-gradient(180deg,#000 55%,transparent 78%)}
.hero-art svg{position:absolute;right:-10%;top:8%;width:62%;height:auto;opacity:.85;-webkit-mask-image:linear-gradient(100deg,transparent 8%,#000 42%);mask-image:linear-gradient(100deg,transparent 8%,#000 42%)}
.hero-inner{position:relative;width:100%}
.hero h1{max-width:12.5ch;margin-top:28px}
.hero .lede{margin-top:34px}
.paths{display:grid;grid-template-columns:1fr 1fr;margin-top:88px;border-top:1px solid var(--line)}
.path{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:34px 0;transition:background .4s var(--ease)}
.path+.path{border-left:1px solid var(--line);padding-left:40px}
.path .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.path .t{font-family:var(--serif);font-size:clamp(28px,2.6vw,38px);line-height:1.05}
.path .d{font-size:15px;color:var(--muted);margin-top:6px}
.path .go{width:56px;height:56px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:all .35s var(--ease);margin-right:8px}
.path:hover .go{background:var(--signal);border-color:var(--signal);color:var(--ink)}

/* credibility strip */
.creds{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink)}
.creds ul{list-style:none;display:grid;grid-template-columns:repeat(5,1fr)}
.creds li{padding:34px 28px 34px 0}
.creds li+li{padding-left:28px;border-left:1px solid var(--line)}
.creds .v{font-family:var(--serif);font-size:clamp(28px,2.4vw,36px);line-height:1;letter-spacing:-.01em}
.creds .l{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.45}

/* sections */
section{position:relative}
.sec{padding:clamp(96px,12vw,176px) 0}
.sec-tight{padding:clamp(72px,8vw,120px) 0}
.light{background:var(--paper);color:var(--paper-ink)}
.light .eyebrow,.light .small{color:var(--paper-muted)}
.light .body,.light .lede{color:#33362F}
.light .display em{color:var(--paper-ink)}
.light .display em.u{background:linear-gradient(transparent 70%,var(--signal) 70%);padding:0 .06em}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:clamp(56px,6vw,96px)}
.sec-head .display{margin-top:22px}

/* equation */
.equation{display:grid;grid-template-columns:5fr 4fr;gap:clamp(40px,7vw,120px);align-items:end}
.equation .formula{font-family:var(--serif);font-size:clamp(42px,5.4vw,88px);line-height:1.02;letter-spacing:-.02em}
.equation .formula>span{white-space:nowrap}
.equation .formula>span{display:block}
.equation .formula .minus{font-style:italic}
.rule{height:1px;background:var(--paper-line);margin:48px 0}

/* service index */
.svc-list{border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:90px 1.1fr 1fr 64px;gap:32px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.svc-row .n{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.1em}
.svc-row .t{font-family:var(--serif);font-size:clamp(30px,3.2vw,48px);line-height:1}
.svc-row .d{color:var(--muted);font-size:16px;max-width:46ch}
.svc-row .go{justify-self:end;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:all .35s var(--ease)}
.svc-row:hover{padding-left:16px}
.svc-row:hover .go{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.svc-row:hover .t{color:var(--green)}

.feature{margin-top:64px;display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--green)}
.feature .copy{padding:clamp(36px,4vw,64px)}
.feature .copy .display{margin:20px 0 22px}
.feature .art{position:relative;border-left:1px solid var(--line);min-height:340px;overflow:hidden}
.feature .art svg{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px)}
.skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.chip{font-size:13px;padding:7px 14px;border:1px solid var(--line-2);border-radius:999px;color:var(--chalk-2)}

/* results */
.results{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--paper-line)}
.result{padding:40px 32px 8px 0}
.result+.result{padding-left:32px;border-left:1px solid var(--paper-line)}
.result .v{white-space:nowrap;font-family:var(--serif);font-size:clamp(40px,3.6vw,56px);line-height:1;letter-spacing:-.02em}
.result .club{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--paper-muted);margin-top:24px}
.result p{font-size:16px;color:#33362F;margin-top:10px;line-height:1.5}

/* video cards */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.vgrid.two{grid-template-columns:repeat(2,1fr)}
.vcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--pitch);transition:transform .45s var(--ease),border-color .3s}
.vcard:hover{transform:translateY(-4px);border-color:var(--line-2)}
.vposter{position:relative;aspect-ratio:16/10;background:var(--green);overflow:hidden;cursor:pointer;border:0;width:100%;color:inherit;font:inherit;text-align:left;padding:0}
.vposter svg{position:absolute;inset:0;width:100%;height:100%}
.vposter .play{position:absolute;left:24px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--signal);color:var(--ink);display:grid;place-items:center;transition:transform .35s var(--ease)}
.vcard:hover .play{transform:scale(1.08)}
.vposter .idx{position:absolute;right:22px;top:18px;font-family:var(--serif);font-size:64px;line-height:1;color:rgba(255,255,255,.16)}
.vposter .dur{position:absolute;right:22px;bottom:26px;font-family:var(--mono);font-size:12px;color:var(--chalk-2);letter-spacing:.08em}
.vposter iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vbody{padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.vtag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}
.vtitle{font-family:var(--serif);font-size:28px;line-height:1.08}
.vdesc{font-size:15px;color:var(--muted);line-height:1.55}
.vlink{margin-top:auto;padding-top:14px;font-size:14px;color:var(--chalk-2);display:inline-flex;gap:10px;align-items:center}
.vlink:hover{color:var(--signal)}

/* CTA */
.cta{position:relative;overflow:hidden;background:var(--ink);border-top:1px solid var(--line)}
.cta .art{position:absolute;inset:0;opacity:.35;-webkit-mask-image:linear-gradient(90deg,transparent,#000 50%,transparent);mask-image:linear-gradient(90deg,transparent,#000 50%,transparent)}
.cta .art svg{width:100%;height:100%}
.cta-inner{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end}
.cta .display{margin-top:22px}
.cta .actions{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.mail{font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);border-bottom:1px solid var(--line-2);padding-bottom:6px;transition:border-color .3s,color .3s}
.mail:hover{color:var(--signal);border-color:var(--signal)}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:56px 0 44px;background:var(--ink)}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.foot .name{font-family:var(--serif);font-size:34px;line-height:1}
.foot h4{font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.foot ul{list-style:none;display:grid;gap:8px;font-size:15px;color:var(--chalk-2)}
.foot a:hover{color:var(--signal)}
.foot-base{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--muted-2)}

/* page hero */
.phero{padding:200px 0 clamp(72px,8vw,120px);position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#fff}
.phero .art{position:absolute;right:-6%;top:-40px;width:48%;opacity:.7;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 62%);mask-image:linear-gradient(180deg,#000 10%,transparent 62%)}
.phero .lede{position:relative}
.phero .grid{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}
.phero h1{margin-top:26px}
.phero .lede{max-width:36ch}

/* about */
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(48px,7vw,120px);align-items:start}
.portrait{position:sticky;top:120px;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid var(--paper-line);background:var(--paper)}
.portrait svg{position:absolute;inset:0;width:100%;height:100%}
.portrait .cap{position:absolute;left:24px;bottom:22px;right:24px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted)}
.prose p{font-size:20px;line-height:1.6;color:#262824}
.prose p+p{margin-top:1.15em}
.prose p:first-child{font-family:var(--serif);font-size:clamp(28px,2.6vw,38px);line-height:1.2;color:var(--paper-ink);letter-spacing:-.005em}
.beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.belief{padding:44px 40px 8px 0}
.belief+.belief{padding-left:40px;border-left:1px solid var(--line)}
.belief .n{font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.12em}
.belief p{font-family:var(--serif);font-size:clamp(26px,2.3vw,34px);line-height:1.12;margin-top:22px}
.timeline{border-top:1px solid var(--paper-line)}
.trow{display:grid;grid-template-columns:200px 1fr 1.3fr;gap:40px;padding:36px 0;border-bottom:1px solid var(--paper-line)}
.trow .yr{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--paper-muted);padding-top:8px}
.trow .club{font-family:var(--serif);font-size:clamp(26px,2.2vw,34px);line-height:1.08}
.trow .role{font-size:15px;color:var(--paper-muted);margin-top:8px}
.trow p{color:#33362F;font-size:17px}
.quals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.qual{padding:28px 28px 28px 0;border-bottom:1px solid var(--line)}
.qual:nth-child(3n+2),.qual:nth-child(3n){padding-left:28px;border-left:1px solid var(--line)}
.qual .y{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.1em}
.qual .q{font-size:17px;margin-top:10px;line-height:1.4}

/* services page */
.svc{display:grid;grid-template-columns:4fr 7fr;gap:clamp(48px,7vw,120px);padding-top:clamp(80px,9vw,140px);padding-bottom:clamp(80px,9vw,140px);border-top:1px solid var(--line)}
.light .svc{border-color:var(--paper-line)}
.svc-side{position:sticky;top:120px;align-self:start}
.svc-side .num{font-family:var(--serif);font-size:clamp(90px,10vw,160px);line-height:.8;color:var(--signal);letter-spacing:-.04em}
.light .svc-side .num{color:var(--paper-ink)}
.svc-side h2{margin-top:28px}
.svc-side .sub{margin-top:18px;font-size:16px;color:var(--muted);max-width:30ch}
.light .svc-side .sub{color:var(--paper-muted)}
.kv{display:grid;grid-template-columns:150px 1fr;gap:32px;padding:30px 0;border-top:1px solid var(--line)}
.light .kv{border-color:var(--paper-line)}
.kv:first-child{border-top:0;padding-top:0}
.kv .k{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:6px}
.light .kv .k{color:var(--paper-muted)}
.kv .v{font-size:18px;line-height:1.6}
.ticks{list-style:none;display:grid;gap:16px}
.ticks li{position:relative;padding-left:30px}
.ticks li::before{content:"";position:absolute;left:0;top:.72em;width:16px;height:1px;background:var(--signal)}
.light .ticks li::before{background:var(--paper-ink)}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(30px,3vw,44px);line-height:1.1;margin-bottom:40px}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.step{padding:22px 24px 24px;border:1px solid var(--paper-line);border-radius:16px;background:rgba(255,255,255,.35)}
.step .s{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--paper-muted);text-transform:uppercase}
.step .st{font-family:var(--serif);font-size:24px;margin-top:10px;line-height:1.1}
.step p{font-size:15.5px;color:#33362F;margin-top:8px;line-height:1.5}
.ws{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.w{border:1px solid var(--paper-line);border-radius:18px;padding:26px 26px 28px;background:rgba(255,255,255,.35)}
.w .s{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted)}
.w .st{font-family:var(--serif);font-size:26px;margin-top:10px;line-height:1.1}
.w p{font-size:15.5px;color:#33362F;margin-top:10px;line-height:1.5}

/* methods */
.ideas{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--paper-line)}
.idea{padding:40px 36px 44px 0;border-bottom:1px solid var(--paper-line)}
.idea:nth-child(3n+2),.idea:nth-child(3n){padding-left:36px;border-left:1px solid var(--paper-line)}
.idea .s{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted)}
.idea h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,36px);line-height:1.05;margin-top:16px}
.idea p{font-size:16px;color:#33362F;margin-top:14px;line-height:1.55}

/* work */
.case{display:grid;grid-template-columns:4fr 7fr;gap:clamp(48px,7vw,120px);padding-top:clamp(80px,9vw,140px);padding-bottom:clamp(80px,9vw,140px);border-top:1px solid var(--line)}
.light .case{border-color:var(--paper-line)}
.case .meta{position:sticky;top:120px;align-self:start}
.case .meta .yr{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--signal);text-transform:uppercase}
.light .case .meta .yr{color:var(--paper-muted)}
.case .meta h2{margin-top:20px}
.case .lead{font-family:var(--serif);font-size:clamp(26px,2.4vw,34px);line-height:1.2;margin-bottom:36px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--paper-line);margin-top:40px}
.stat-row div{padding:24px 20px 0 0}
.stat-row div+div{padding-left:20px;border-left:1px solid var(--paper-line)}
.stat-row .v{font-family:var(--serif);font-size:48px;line-height:1}
.stat-row .l{font-size:14px;color:var(--paper-muted);margin-top:10px}

/* contact */
.contact-hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:180px 0 96px;position:relative;overflow:hidden;background:#fff}
.contact-hero .art{position:absolute;inset:0;opacity:.6;-webkit-mask-image:linear-gradient(100deg,transparent 25%,#000 60%);mask-image:linear-gradient(100deg,transparent 25%,#000 60%)}
.contact-hero .art svg{position:absolute;right:-12%;top:4%;width:62%}
.bigmail{display:inline-block;font-family:var(--serif);font-size:clamp(34px,5.6vw,92px);line-height:1;letter-spacing:-.02em;margin-top:40px;border-bottom:1px solid var(--line-2);padding-bottom:12px;transition:color .3s,border-color .3s;word-break:break-word}
.bigmail:hover{color:var(--signal);border-color:var(--signal)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:96px}
.three div{padding:30px 30px 0 0}
.three div+div{padding-left:30px;border-left:1px solid var(--line)}
.three .s{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--signal)}
.three p{font-family:var(--serif);font-size:clamp(24px,2.1vw,30px);line-height:1.15;margin-top:14px}

/* motion */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.draw path,.draw line,.draw circle.l,.draw rect{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000);animation:draw 2.6s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.run{stroke-dasharray:6 10;animation:run 1.6s linear infinite}
@keyframes run{to{stroke-dashoffset:-32}}
.pulse{animation:pulse 2.8s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}.draw path,.draw line,.draw rect,.draw circle.l{stroke-dashoffset:0}}

/* responsive */
@media (max-width:1100px){
  .creds ul{grid-template-columns:repeat(3,1fr)}
  .creds li:nth-child(4){padding-left:0;border-left:0}
  .creds li:nth-child(n+4){border-top:1px solid var(--line)}
  .svc-row{grid-template-columns:44px 1fr 48px;gap:16px}
  .svc-row .d{display:none}
  .vgrid{grid-template-columns:repeat(2,1fr)}
  .results{grid-template-columns:repeat(2,1fr)}
  .result:nth-child(3){padding-left:0;border-left:0}
  .result:nth-child(n+3){border-top:1px solid var(--paper-line)}
  .ideas,.quals{grid-template-columns:repeat(2,1fr)}
  .idea,.qual{padding-left:0!important;border-left:0!important}
  .idea:nth-child(2n),.qual:nth-child(2n){padding-left:36px!important;border-left:1px solid var(--paper-line)!important}
  .qual:nth-child(2n){border-left-color:var(--line)!important}
}
@media (max-width:860px){
  body{font-size:17px}
  .nav{height:72px}
  .brand .tag{display:none}
  .burger{display:block}
  .menu{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;background:rgba(10,13,11,.97);backdrop-filter:blur(14px);padding:12px var(--gutter) 28px;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;pointer-events:none;transition:all .3s var(--ease)}
  .menu li{width:100%;border-bottom:1px solid var(--line)}
  .menu li:last-child{border:0;padding-top:20px}
  .menu a{display:block;padding:16px 0;font-family:var(--serif);font-size:30px;color:var(--chalk)}
  .menu a::after{display:none}
  .menu .btn{font-family:var(--sans);font-size:15px;display:inline-flex;padding:0 22px;height:48px}
  .nav-open .menu{opacity:1;transform:none;pointer-events:auto}
  .nav-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .nav-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .hero{padding-top:130px}
  .hero-art svg{width:150%;right:-55%;top:4%;opacity:.45}
  .paths{grid-template-columns:1fr;margin-top:56px}
  .path+.path{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .path{grid-template-columns:1fr auto;gap:16px;padding:26px 0}
  .creds ul{grid-template-columns:1fr 1fr}
  .creds li{padding:26px 16px 26px 0!important;border-left:0!important;border-top:1px solid var(--line)}
  .creds li:nth-child(2n){padding-left:16px!important;border-left:1px solid var(--line)!important}
  .creds li:nth-child(-n+2){border-top:0}
  .creds li:last-child{grid-column:1/-1;border-left:0!important;padding-left:0!important}
  .sec-head,.equation,.cta-inner,.phero .grid,.about-grid,.svc,.case,.feature,.foot{grid-template-columns:1fr}
  .sec-head{gap:24px}
  .feature .art{border-left:0;border-top:1px solid var(--line);min-height:220px}
  .vgrid,.vgrid.two,.ideas,.quals,.beliefs,.three,.results,.ws{grid-template-columns:1fr}
  .idea,.qual,.belief,.three div,.result{padding-left:0!important;border-left:0!important}
  .belief,.three div{border-top:1px solid var(--line)}
  .beliefs,.three{border-top:0}
  .result{border-top:1px solid var(--paper-line)}
  .results{border-top:0}
  .svc-side,.case .meta,.portrait{position:relative;top:0}
  .portrait{max-width:420px}
  .trow{grid-template-columns:1fr;gap:10px}
  .kv{grid-template-columns:1fr;gap:12px}
  .steps{grid-template-columns:1fr}
  .stat-row{grid-template-columns:1fr}
  .stat-row div+div{padding-left:0;border-left:0;border-top:1px solid var(--paper-line)}
  .phero{padding-top:150px}
  .phero .art{width:110%;right:-40%;opacity:.35}
  .foot-base{flex-direction:column;gap:8px}
  .contact-hero .art svg{width:150%;right:-50%;opacity:.4}
}

@media (max-width:860px){
  .eyebrow{font-size:11px;letter-spacing:.12em}
  .hero .eyebrow::before{display:none}
  #cgrid{grid-template-columns:1fr!important}
  .svc-row .t{font-size:28px}
  .result .v{white-space:normal}
  .feature .art svg{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}
}

@media (max-width:860px){.hide-m{display:none}}

.vcard.feat{grid-column:1/-1;flex-direction:row}
.vcard.feat .vposter{flex:0 0 62%;aspect-ratio:16/9}
.vcard.feat .vbody{padding:clamp(28px,3vw,48px);justify-content:center}
.vcard.feat .vtitle{font-size:clamp(34px,3vw,48px)}
.vcard.feat .vdesc{font-size:17px}
.vcard.feat .idx{font-size:96px}
@media (max-width:860px){.vcard.feat{flex-direction:column}.vcard.feat .vposter{flex:none}}

/* v2 */
.infl{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.inf{padding:32px 32px 34px 0;border-bottom:1px solid var(--line)}
.inf:nth-child(3n+2),.inf:nth-child(3n){padding-left:32px;border-left:1px solid var(--line)}
.inf .who{font-family:var(--serif);font-size:clamp(24px,2vw,30px);line-height:1.1}
.inf p{font-size:15.5px;color:var(--muted);margin-top:10px;line-height:1.5}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillar{border:1px solid var(--line);border-radius:22px;padding:30px 28px 34px;background:var(--paper)}
.pillar .n{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--signal)}
.pillar h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,36px);line-height:1.02;margin-top:40px}
.pillar p{font-size:15.5px;color:var(--muted);margin-top:14px;line-height:1.5}
.mtips{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--paper-line)}
.mt{padding:34px 26px 10px 0}
.mt+.mt{padding-left:26px;border-left:1px solid var(--paper-line)}
.mt .l{font-family:var(--serif);font-size:clamp(64px,6vw,96px);line-height:.85;color:var(--paper-ink)}
.mt h3{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted);margin-top:22px}
.mt p{font-size:15.5px;color:#33362F;margin-top:12px;line-height:1.5}
.wt .lead-s{font-family:var(--serif);font-size:clamp(26px,2.4vw,34px);line-height:1.2;margin-bottom:32px}
.wt .body{margin-bottom:32px}
.light-in{border-radius:22px;margin-top:6px}
.light .ws .w{background:rgba(255,255,255,.45)}
@media (max-width:1100px){.pillars{grid-template-columns:repeat(2,1fr)}.mtips{grid-template-columns:repeat(3,1fr)}.mt:nth-child(4){padding-left:0;border-left:0}.mt:nth-child(n+4){border-top:1px solid var(--paper-line)}.infl{grid-template-columns:repeat(2,1fr)}.inf{padding-left:0!important;border-left:0!important}.inf:nth-child(2n){padding-left:32px!important;border-left:1px solid var(--line)!important}}
@media (max-width:860px){.pillars,.mtips,.infl{grid-template-columns:1fr}.mt,.inf{padding-left:0!important;border-left:0!important;border-top:1px solid var(--paper-line)}.inf{border-top-color:var(--line)}.mtips,.infl{border-top:0}.mt .l{font-size:64px}}
.svc.quiet .svc-side .num{font-size:clamp(56px,5vw,80px)}
.svc.quiet{padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
@media (max-width:860px){.home-v .vcard:nth-child(n+3){display:none}}

/* v3 */
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.wcol{padding:40px 36px 12px 0}
.wcol+.wcol{padding-left:36px;border-left:1px solid var(--line)}
.wh .mono{color:var(--signal)}
.wh h3{font-size:clamp(34px,3.2vw,48px);margin-top:14px;margin-bottom:26px}
.witem{display:block;padding:20px 0;border-top:1px solid var(--line);transition:padding .35s var(--ease)}
.witem:hover{padding-left:8px}
.witem .wt{display:block;font-family:var(--serif);font-size:24px;line-height:1.1;transition:color .3s}
.witem:hover .wt{color:var(--signal)}
.witem .wd{display:block;font-size:15px;color:var(--muted);margin-top:8px;line-height:1.5}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pcard{display:flex;flex-direction:column;border:1px solid var(--paper-line);border-radius:22px;padding:30px 30px 28px;background:rgba(255,255,255,.4);transition:transform .45s var(--ease),border-color .3s,background .3s;min-height:330px}
.pcard:hover{transform:translateY(-4px);border-color:rgba(13,17,14,.3);background:rgba(255,255,255,.7)}
.ptop{display:flex;justify-content:space-between;gap:12px}
.ptag,.pmeta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted)}
.pcard h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.2vw,32px);line-height:1.08;margin-top:34px}
.pcard p{font-size:15.5px;color:#33362F;margin-top:14px;line-height:1.55}
.pread{margin-top:auto;padding-top:26px;font-size:14px;display:inline-flex;gap:10px;align-items:center;color:var(--paper-ink)}
.plist{border-top:1px solid var(--line)}
.prow{display:grid;grid-template-columns:70px 1fr 150px 56px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.prow:hover{padding-left:14px}
.prow .n{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.1em}
.prow .pt{display:flex;flex-direction:column;gap:10px}
.prow .ptag{color:var(--signal)}
.prow .ptitle{font-family:var(--serif);font-size:clamp(28px,2.8vw,42px);line-height:1.05}
.prow .pdesc{font-size:16px;color:var(--muted);max-width:64ch}
.prow .pmeta{color:var(--muted)}
.prow .go{justify-self:end;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:all .35s var(--ease)}
.prow:hover .go{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.pull{max-width:24ch}
.pull p{font-family:var(--serif);font-style:italic;font-size:clamp(36px,4.4vw,68px);line-height:1.04;letter-spacing:-.015em;color:var(--paper-ink)}
.pull cite{display:block;margin-top:26px;font-style:normal;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted);max-width:none}
.now{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border-top:1px solid var(--paper-line)}
.now>div{padding:22px 20px 0 0}
.now>div+div{padding-left:20px;border-left:1px solid var(--paper-line)}
.now .mono{font-size:10.5px;color:var(--paper-muted)}
.prose .now p{font-family:var(--sans);font-size:16px;line-height:1.45;color:var(--paper-ink);margin-top:10px}
.inflg{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px}
.ig{margin-bottom:48px}
.igh{color:var(--signal);padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.irow{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.irow .who{font-family:var(--serif);font-size:24px;line-height:1.12}
.irow p{font-size:15.5px;color:var(--muted);line-height:1.5}
.clips{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cframe{position:relative;aspect-ratio:16/10;border:1px dashed var(--line-2);border-radius:22px;overflow:hidden;background:var(--green)}
.cframe svg{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.cframe .cl{position:absolute;left:22px;top:20px;color:var(--chalk-2)}
.cframe .cs{position:absolute;left:22px;bottom:20px;color:var(--signal)}
@media (max-width:1100px){.wgrid{grid-template-columns:1fr 1fr}.wcol:nth-child(3){padding-left:0;border-left:0;grid-column:1/-1}.pgrid{grid-template-columns:1fr 1fr}.pgrid .pcard:nth-child(3){display:none}.inflg{grid-template-columns:1fr}}
@media (max-width:860px){
 .wgrid{grid-template-columns:1fr}.wcol,.wcol+.wcol{padding:32px 0 8px;border-left:0}.wcol+.wcol{border-top:1px solid var(--line)}
 .pgrid{grid-template-columns:1fr}.pgrid .pcard:nth-child(3){display:flex}.pcard{min-height:0}
 .prow{grid-template-columns:1fr 44px;gap:16px}.prow .n,.prow .pmeta{display:none}
 .now{grid-template-columns:1fr}.now>div,.now>div+div{padding:16px 0;border-left:0;border-bottom:1px solid var(--paper-line)}
 .irow{grid-template-columns:1fr;gap:6px}
 .clips{grid-template-columns:1fr}
}
.pull{max-width:none}.pull p{max-width:21ch}
.nowh{margin-top:44px;color:var(--paper-muted);font-size:11px}
.now{margin-top:14px}
.prose .now p{font-family:var(--serif);font-size:22px;line-height:1.15;margin-top:0}
.now span{display:block;font-size:13.5px;color:var(--paper-muted);margin-top:8px}
@media (max-width:860px){.home-pg .pcard:nth-child(3){display:none}}
.pulls{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px)}
.pulls .pull+.pull{padding-left:clamp(40px,6vw,96px);border-left:1px solid var(--paper-line)}
.pulls .pull p{font-size:clamp(30px,3.2vw,50px)}
@media (max-width:860px){.pulls{grid-template-columns:1fr}.pulls .pull+.pull{padding-left:0;border-left:0;border-top:1px solid var(--paper-line);padding-top:40px}}

/* v7: green surface */
.dark,.feature,.vposter,.cta{--chalk:#fff;--chalk-2:rgba(255,255,255,.84);--muted:rgba(255,255,255,.74);--muted-2:rgba(255,255,255,.62);--line:rgba(255,255,255,.18);--line-2:rgba(255,255,255,.36);--signal:var(--mint);--signal-hi:#C4EBD2;--ink:var(--green);--paper-ink:#fff;--paper-muted:rgba(255,255,255,.74);--paper-line:rgba(255,255,255,.18)}
.dark,.cta{background:var(--green);color:#fff}
.feature{color:#fff}
.display em{color:var(--signal)}
.light .display em{color:var(--green)}
.light .display em.u{background:linear-gradient(transparent 72%,rgba(18,58,43,.22) 72%)}
.btn-ghost{border:1px solid var(--line-2);color:var(--chalk)}
.menu .btn{color:#fff}
.btn-quiet{height:auto;padding:0;border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding-bottom:4px;color:var(--chalk)}
.btn-quiet:hover{border-color:var(--chalk)}
.hero-art svg{opacity:.9}

/* hero with portrait */
.hero{min-height:0;padding:132px 0 clamp(56px,6vw,96px);justify-content:flex-start}
.hero-grid{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:clamp(36px,5vw,88px);align-items:center}
.hero h1{max-width:15ch}
.hero .lede{max-width:34ch;color:var(--chalk-2)}
.hero-acts{display:flex;flex-wrap:wrap;gap:22px 28px;align-items:center;margin-top:40px}
.hero-note{font-size:15px;color:var(--muted);margin-top:16px}
.hero-photo{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--paper)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 30%}
.hero-photo figcaption{position:absolute;left:20px;bottom:18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45)}

/* P = p - i band */
.eqband .equation{align-items:start}
.eqband .formula{color:#fff}
.eqband .formula em.u{color:var(--mint);font-style:italic}
.eqband .body p{color:rgba(255,255,255,.84)}
.eqband .body p.big{font-family:var(--serif);font-size:clamp(24px,2.1vw,30px);line-height:1.25;color:#fff}
.eqband .defs{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.eqband .defs li{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16.5px;color:rgba(255,255,255,.84)}
.eqband .defs b{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);padding-top:4px}
.film-wrap{margin-top:clamp(56px,6vw,88px);display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,80px);align-items:end}
.film{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;border-radius:18px}
.film video,.film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film .cover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:clamp(16px,2vw,26px);background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.62));color:#fff;border:0;width:100%;text-align:left;cursor:pointer;font:inherit}
.film .cover .lab{font-size:15px;line-height:1.4}
.film .cover .lab b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,28px)}
.film .cover .big{width:72px;height:72px;border-radius:50%;background:var(--mint);display:grid;place-items:center}
.film .cover .big::before{content:"";border-left:16px solid var(--green);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.film.playing .cover{display:none}
figure figcaption.fc{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted);margin-top:12px}
details.tx{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;font-size:15.5px;color:var(--chalk-2)}
details.tx summary{cursor:pointer;color:var(--chalk);list-style:none;display:flex;justify-content:space-between;font-weight:500}
details.tx summary::-webkit-details-marker{display:none}
details.tx summary::after{content:"+";font-family:var(--mono)}
details.tx[open] summary::after{content:"\00d7"}
details.tx p{margin-top:12px}
.quote-side p{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,32px);line-height:1.2;color:#fff}
.quote-side cite{display:block;margin-top:16px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.src{margin-top:clamp(40px,4vw,64px);padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);max-width:90ch}
.src a{border-bottom:1px solid var(--line-2)}
.src sup,.eqband sup{font-family:var(--mono);font-size:.62em;color:var(--mint)}

/* what changes lines */
.witem .wc{display:block;font-size:14.5px;color:var(--green);margin-top:8px;line-height:1.45}
.witem .wc::before{content:"What changes: ";font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vdesc .wc{display:block;margin-top:8px;color:var(--green)}
.home-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}

/* proof */
.proof-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px);align-items:start}
.proof-photo{border-radius:22px;overflow:hidden;background:var(--paper)}
.proof-photo img{width:100%;height:auto;display:block}
.proof-cap{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.cred-list{list-style:none;border-top:1px solid var(--line)}
.cred-list li{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.cred-list .k{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:6px}
.cred-list .v{font-family:var(--serif);font-size:clamp(21px,1.7vw,25px);line-height:1.25}
.cred-list .v a{border-bottom:1px solid var(--line-2)}
.deck{margin-top:clamp(64px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);padding:clamp(32px,4vw,56px);border-radius:24px;background:var(--paper);border:1px solid var(--line)}
.deck h3{margin:18px 0 18px}
.deck .qs{list-style:none;counter-reset:q;border-top:1px solid var(--line)}
.deck .qs li{counter-increment:q;display:grid;grid-template-columns:40px 1fr;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.4}
.deck .qs li::before{content:"0" counter(q);font-family:var(--mono);font-size:12px;color:var(--green);padding-top:3px}
.deck .acts{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:30px}
.quotes{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}

/* offers teaser + work page */
.svc-row .p{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;color:var(--green);text-transform:uppercase;margin-top:8px;display:block}
.svc-row .fit{display:block;color:var(--chalk);font-size:16px;margin-bottom:6px}
.svc-row.free .t{color:var(--green)}
.risk{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;margin-top:40px;font-size:16px;color:var(--muted)}
.tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.tier{border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:14px;background:#fff}
.tier .price{font-family:var(--serif);font-size:clamp(40px,3.6vw,56px);line-height:1;color:var(--chalk)}
.tier .price small{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-left:10px}
.tier .fit{font-size:17px;color:var(--chalk)}
.tier .kv{grid-template-columns:120px 1fr;gap:18px;padding:16px 0}
.tier .kv .v{font-size:16px;line-height:1.55}
.tier .acts{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:auto;padding-top:10px}
.days{list-style:none;margin-top:6px;border-top:1px solid var(--line)}
.days li{display:grid;grid-template-columns:70px 1fr;padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.days b{font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);padding-top:3px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--serif);font-size:clamp(22px,1.9vw,27px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:18px}
.faq details[open] summary::after{content:"\00d7"}
.faq details p{padding:0 0 24px;max-width:62ch;color:var(--chalk-2)}

/* contact form */
.form-wrap{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,96px);align-items:start}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;border:0}
.field label,.field legend{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk)}
.field input,.field select,.field textarea{font:inherit;font-size:18px;color:var(--chalk);background:transparent;border:0;border-bottom:1.5px solid var(--chalk);padding:12px 0;border-radius:0;width:100%}
.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%230D0F0C' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 4px center}
.field textarea{min-height:150px;resize:vertical;border:1.5px solid var(--chalk);padding:14px;border-radius:10px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0}
.chips span{display:inline-block;padding:9px 16px;border:1px solid var(--line-2);border-radius:999px;font-size:15px;font-family:var(--sans);text-transform:none;letter-spacing:0}
.chips input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.chips input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.form-note{font-size:14px;color:var(--muted);margin-top:14px}
button.btn{border:1px solid var(--signal);cursor:pointer;font:inherit;font-size:15px;font-weight:500}
.side-card{border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3vw,40px);background:var(--paper)}
.side-card ol{list-style:none;counter-reset:s;margin-top:18px}
.side-card li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.side-card li::before{content:"0" counter(s);font-family:var(--mono);font-size:12px;color:var(--green);padding-top:3px}

@media (max-width:1100px){
  .hero-grid,.film-wrap,.proof-grid,.deck,.form-wrap{grid-template-columns:1fr}
  .hero-photo{max-width:520px;aspect-ratio:4/4.4}
  .tiers{grid-template-columns:1fr}
}
@media (max-width:860px){
  .hero{padding-top:108px}
  .hero-photo{order:-1;max-width:none;aspect-ratio:4/3.6;border-radius:18px}
  .hero-grid{gap:30px}
  .eqband .defs li,.cred-list li{grid-template-columns:1fr;gap:6px}
  .quotes,.two{grid-template-columns:1fr}
  .tier .kv{grid-template-columns:1fr;gap:6px}
  .svc-row .go{display:none}
}
.idea .wc{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--green);font-size:15.5px;line-height:1.5}
.idea .wc .mono{display:block;color:var(--muted);font-size:10.5px;margin-bottom:6px}
.dark .idea .wc{color:var(--mint)}
.hero h1.h-xxl{font-size:clamp(40px,4.7vw,76px);max-width:17ch;line-height:1.03}
.hero .eyebrow{flex-wrap:wrap}
.tiers{grid-template-columns:1fr!important;gap:24px}
.tier .kv{grid-template-columns:140px 1fr!important}
.tier .price.txt{font-size:clamp(30px,2.6vw,40px)}
@media (max-width:860px){.tier .kv{grid-template-columns:1fr!important}}
.clipgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 28px}
.clip .film{border-radius:18px}
.clip .cover .lab b{font-size:clamp(19px,1.7vw,25px);line-height:1.15;max-width:22ch}
.clip .ctag{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:8px}
.clip .fc span{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--chalk-2);line-height:1.35}
.clip .cover .big{width:56px;height:56px;flex:0 0 56px}
@media (max-width:860px){.clipgrid{grid-template-columns:1fr}}
.clip .film .cover{background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.35))}
.clip .cc{display:block;margin-top:16px}
.clip .cc .ctag{color:var(--green)}
.clip .cc b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(22px,1.9vw,28px);line-height:1.15;color:var(--chalk)}
.clip .cc .q{display:block;margin-top:8px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted);line-height:1.4}

.clipgrid .clip:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 14px);justify-self:center}
@media (max-width:860px){.clipgrid .clip:last-child:nth-child(odd){width:100%}}
