@font-face{font-family:'JetBrains Mono';font-weight:400;font-display:swap;src:url('../fonts/jetbrainsmono-400.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url('../fonts/jetbrainsmono-500.woff2') format('woff2');}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#EDE8DC;--bg-2:#E5DFD0;--ink:#100F0C;--ink-2:#56503F;--ink-3:#8A8270;--accent:#F0431F;
  --disp:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;--sans:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
  --pad:clamp(18px,4vw,60px);--max:1180px;
}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{text-wrap:pretty;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);}

.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:9000;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.cnav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);mix-blend-mode:difference;color:#fff;}
.cnav a{color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
.cnav__logo{font-family:var(--disp)!important;font-weight:600;font-size:22px;letter-spacing:-.02em;text-transform:none!important;}
.cnav__logo b{color:var(--accent);}
.cnav__right{display:flex;gap:24px;}

.chero{padding:140px var(--pad) clamp(40px,7vh,80px);max-width:var(--max);margin:0 auto;}
.chero__meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--ink-2);border-bottom:1px solid var(--ink);padding-bottom:16px;margin-bottom:clamp(26px,5vh,54px);}
.chero__meta b{color:var(--accent);font-weight:500;}
.chero h1{font-family:var(--disp);font-weight:700;line-height:.9;letter-spacing:-.03em;font-size:clamp(54px,13vw,180px);}
.chero__lead{font-family:var(--disp);font-weight:600;font-size:clamp(22px,3vw,40px);line-height:1.2;letter-spacing:-.01em;max-width:20ch;margin-top:clamp(24px,4vh,44px);}

.cbody{padding:clamp(50px,8vh,100px) 0;border-top:1px solid var(--ink);}
.cbody__cols{display:grid;grid-template-columns:200px 1fr;gap:clamp(24px,5vw,70px);align-items:start;max-width:var(--max);margin:0 auto;padding:0 var(--pad);}
.cbody__role{color:var(--ink-2);position:sticky;top:90px;}
.cbody__role span{display:block;color:var(--ink);font-family:var(--disp);font-size:20px;letter-spacing:-.01em;margin-top:6px;text-transform:none;}
.cbody__text p{font-size:clamp(18px,1.9vw,23px);line-height:1.6;color:var(--ink-2);margin-bottom:22px;}
.cbody__text p strong{color:var(--ink);font-weight:600;}
.cbody__text p:first-child{font-size:clamp(22px,2.4vw,30px);color:var(--ink);line-height:1.45;}
.cbody__link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:5px;transition:color .3s,border-color .3s;}
.cbody__link:hover{color:var(--accent);border-color:var(--accent);}
@media(max-width:760px){.cbody__cols{grid-template-columns:1fr;gap:18px;}.cbody__role{position:static;}}

.cresults{border-top:1px solid var(--ink);padding:clamp(50px,8vh,100px) 0;}
.cresults .wrap>.mono{color:var(--accent);display:block;margin-bottom:34px;}
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink);}
.cstat{background:var(--bg);padding:clamp(24px,3vw,40px);}
.cstat .n{font-family:var(--disp);font-weight:700;font-size:clamp(38px,6vw,76px);line-height:.9;letter-spacing:-.02em;color:var(--accent);}
.cstat .l{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:12px;}
@media(max-width:560px){.cgrid{grid-template-columns:1fr;}}

.cmedia{padding:clamp(40px,7vh,90px) 0;border-top:1px solid var(--ink);}
.cmedia .wrap>.mono{color:var(--ink-2);display:block;margin-bottom:30px;}
.cmedia__img{border:1px solid var(--ink);margin-bottom:18px;background:var(--bg-2);}
.cmedia__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.cmedia__grid .cmedia__img{margin-bottom:0;}
.cvideo{position:relative;width:100%;aspect-ratio:16/9;border:1px solid var(--ink);background:#000;margin-bottom:18px;}
.cvideo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

.cnext{border-top:1px solid var(--ink);}
.cnext a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(40px,7vh,90px) var(--pad);max-width:var(--max);margin:0 auto;transition:padding-left .4s,color .35s;}
.cnext a:hover{color:var(--accent);padding-left:calc(var(--pad) + 16px);}
.cnext .mono{color:var(--ink-2);}
.cnext .big{font-family:var(--disp);font-weight:700;font-size:clamp(30px,6vw,68px);line-height:1;letter-spacing:-.02em;}

footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:24px var(--pad);border-top:1px solid var(--ink);}
footer span,footer a{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);}

html.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
html.js .rv.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;}}

/* pull quote */
.cpull{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:clamp(44px,7vh,86px) auto;padding:clamp(34px,5.5vh,64px) var(--pad);max-width:var(--max);}
.cpull blockquote{font-family:var(--disp);font-weight:600;font-size:clamp(26px,4.4vw,58px);line-height:1.08;letter-spacing:-.02em;max-width:19ch;margin:0;text-wrap:balance;}
.cpull blockquote em{color:var(--accent);font-style:normal;}
@media(max-width:640px){.cpull blockquote{max-width:none;}}

/* writing specimen */
.cspec{max-width:var(--max);margin:clamp(44px,7vh,86px) auto;padding:0 var(--pad);}
.cspec__inner{border:1px solid var(--ink);background:var(--bg-2);padding:clamp(28px,4.5vw,56px);}
.cspec__label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:22px;}
.cspec__copy p{font-family:var(--disp);font-weight:600;font-size:clamp(18px,2.1vw,27px);line-height:1.35;letter-spacing:-.01em;max-width:44ch;margin-bottom:18px;}
.cspec__copy p:last-of-type{margin-bottom:0;}
.cspec__foot{margin-top:26px;padding-top:18px;border-top:1px solid var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}

.cmedia__zoom{display:block;position:relative;cursor:zoom-in;}
.cmedia__zoom::after{content:"Open full size 97";position:absolute;right:12px;bottom:12px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:7px 11px;opacity:0;transition:opacity .3s;}
.cmedia__zoom:hover::after{opacity:1;}
@media(hover:none){.cmedia__zoom::after{opacity:1;}}

/* image set inside the body copy, to break long runs of text */
.cbody__fig{margin:clamp(30px,4.5vh,52px) 0;border:1px solid var(--ink);background:var(--bg-2);}
.cbody__fig img{display:block;width:100%;}

/* no orphaned last words on the case studies either */
h1,h2,h3,.chero__lead,.cstat .l{text-wrap:balance;}
