@font-face{font-family:"Archivo";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/archivo-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/archivo-latin-300-italic.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/archivo-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/archivo-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/archivo-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/archivo-latin-600-italic.woff2) format("woff2")}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
[hidden]{display:none!important}

/* Layout: factory grid on Cream; Deep Olive bands carry the brand line graphic and the track record.
   One bold moment: the Sand line graphic rising in the hero, with the factory-to-building sequence straddling its edge. */
:root{
  --deep:#2F3529;      /* Deep Olive: primary dark ground, text on light */
  --olive:#454D42;     /* Fabrik Olive: secondary text, secondary ground */
  --sand:#D8C8A8;      /* Sand: line graphic, secondary text on dark */
  --sand-deep:#C2B497; /* Sand, 10% darker: foot of the hero strips */
  --sage:#CCDCC1;      /* Sage: advisory on dark, labels on dark */
  --cream:#EFE7DA;     /* Cream: primary light ground */
  --cream-2:#E6DCCA;   /* Cream, one step deeper: tinted bands and panels */
  --hl:#CA653C;        /* Orange: focus and the one highlight */
  --rule:rgba(47,53,41,.2);
  --rule-dark:rgba(239,231,218,.2);
  --ff:"Archivo","Helvetica Neue",Arial,sans-serif;
  --fs-label:.78rem;
  --fs-sm:.9375rem;
  --fs-base:1.0625rem;
  --fs-lede:clamp(1.15rem,1.55vw,1.35rem);
  --fs-h3:clamp(1.25rem,1.9vw,1.55rem);
  --fs-h2:clamp(1.85rem,3.5vw,2.9rem);
  --fs-h1:clamp(2.35rem,5.2vw,4.4rem);
  --fs-hero:clamp(2.8rem,6.4vw,5.5rem);
  --gut:clamp(16px,4vw,56px);
  --max:1280px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(80px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--cream);color:var(--deep);font-family:var(--ff);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--deep)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-weight:600;letter-spacing:-.03em;line-height:1.05;margin:0;text-wrap:balance}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);line-height:1.15;letter-spacing:-.02em}
p{margin:0}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--hl);outline-offset:3px}
.wrap{max-width:var(--max);margin-inline:auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.label{font-size:var(--fs-label);font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--olive)}
.band-dark{background:var(--deep);color:var(--cream)}
.band-dark .label{color:var(--sage)}
.lede{font-size:var(--fs-lede);line-height:1.45;max-width:40rem}
.muted{color:var(--olive)}
.credit{font-size:.8rem;color:var(--olive);margin-top:10px}
.band-dark .credit{color:var(--sand)}
.skip{position:absolute;left:-999px;top:0;background:var(--cream);color:var(--deep);padding:10px 14px;z-index:50}
.skip:focus{left:16px;top:calc(16px + env(safe-area-inset-top,0px))}

/* Header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--deep);color:var(--cream);border-bottom:1px solid var(--rule-dark)}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo svg{height:42px;width:auto;aspect-ratio:492.46/181.3;display:block}
.logo .m,.logo .f{fill:var(--cream)}
.logo .a{fill:var(--sage)}
#site-nav{display:flex;gap:30px;align-items:center}
#site-nav a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--cream);padding-block:6px;border-bottom:1px solid transparent}
#site-nav a:hover{border-bottom-color:var(--sand)}
#site-nav a[aria-current="page"]{border-bottom-color:var(--sage)}
#site-nav a.nav-cta{border:1px solid var(--sand);padding:9px 16px}
#site-nav a.nav-cta:hover{background:var(--cream);color:var(--deep);border-color:var(--cream)}
.menu-btn{display:none;background:none;border:1px solid var(--rule-dark);color:var(--cream);font:inherit;font-size:.9rem;font-weight:500;padding:9px 16px;cursor:pointer}

/* Buttons and links */
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font-weight:500;font-size:.98rem;text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn-light{background:var(--cream);color:var(--deep)}
.btn-light:hover{background:var(--sand)}
.btn-ghost{border-color:rgba(239,231,218,.5);color:var(--cream)}
.btn-ghost:hover{border-color:var(--cream)}
.btn-dark{background:var(--deep);color:var(--cream)}
.btn-dark:hover{background:var(--olive)}
.textlink{display:inline-flex;gap:8px;align-items:center;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.textlink::after{content:"\2192"}
.textlink:hover{color:var(--olive)}
.band-dark .textlink:hover{color:var(--sand)}

/* Hero: Deep Olive band over a barely visible factory photo; copy left, the folding mark right */
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--deep)}
.hero-bg{position:absolute;inset:0;z-index:0;background:url(/img/hero-bg-ry.jpg) center 40%/cover no-repeat;mix-blend-mode:luminosity;opacity:0;transition:opacity 1.8s ease;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.6),#000 75%);mask-image:linear-gradient(90deg,rgba(0,0,0,.6),#000 75%)}
.hero-bg.is-in{opacity:.1}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px)}
.hero-copy{padding-block:clamp(80px,10vw,148px)}
.hero .label{color:var(--sage)}
.hero-title{font-size:var(--fs-hero);line-height:.94;margin-top:22px;max-width:11ch}
.hero .lede{margin-top:30px;color:var(--cream)}
.hero-mark{min-height:240px}
.mark-layer{position:absolute;left:0;top:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none}
.mark-layer path{fill:none;stroke:url(#mark-grad);stroke-linejoin:miter;stroke-linecap:butt;stroke-dasharray:1 1;stroke-dashoffset:1}
.block.block-first{padding-top:clamp(40px,4vw,56px)}

/* Reveal: headlines wipe in behind a solid bar in their own colour, everything else fades up */
.rv-h{visibility:hidden}
.rv-h.rv-go{visibility:visible}
.ln{display:block;width:fit-content;max-width:100%;position:relative}
.ln::after{content:"";position:absolute;inset:-.03em -.05em;background:currentColor;transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.rv-go .ln::after{animation:rvBar .9s cubic-bezier(.625,.05,0,1) var(--ld,0s) both}
.rv-go .ln-t{animation:rvTxt .9s linear var(--ld,0s) both}
@keyframes rvBar{0%{transform:scaleX(0);transform-origin:0 50%}50%{transform:scaleX(1);transform-origin:0 50%}50.1%{transform:scaleX(1);transform-origin:100% 50%}100%{transform:scaleX(0);transform-origin:100% 50%}}
@keyframes rvTxt{0%,50%{opacity:0}50.1%,100%{opacity:1}}
.rv{opacity:0;transform:translateY(14px)}
.rv.rv-go{opacity:1;transform:none;transition:opacity .8s ease var(--fd,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--fd,0s)}
.num{font-variant-numeric:tabular-nums;font-size:var(--fs-label);letter-spacing:.06em;color:var(--olive);font-weight:500}

/* What we do: one image per line of work */
.svc-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto);column-gap:clamp(20px,2.4vw,32px);row-gap:10px;margin-top:48px}
.svc-tile{grid-row:span 4;display:grid;grid-template-rows:subgrid;row-gap:10px;color:inherit;text-decoration:none}
.svc-tile .img-crop{margin-bottom:10px}
.svc-tile img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.svc-tile:hover img{transform:scale(1.03)}
.tile-text{grid-row:span 3;display:grid;grid-template-rows:subgrid;row-gap:10px;align-content:start}
.svc-tile h3{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.svc-tile h3::after{content:"\2192";font-weight:400;flex:none;transition:transform .2s}
.svc-tile:hover h3::after{transform:translateX(4px)}
.svc-tile .desc{color:var(--olive)}
.svc-tile .for{font-size:var(--fs-sm);padding-top:12px;margin-top:4px;border-top:1px solid var(--rule)}

/* Generic sections */
.block{padding-block:clamp(64px,9vw,128px)}
.block-tint{background:var(--cream-2)}
.section-head{display:grid;gap:16px;max-width:52rem}
.section-head .lede{margin-top:8px}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.split-head{display:grid;gap:16px;align-content:start}

/* Where we come in */
.moments-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:32px;padding-bottom:12px}
.moments{list-style:none;padding:0;margin:0}
.moments li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-block:20px;border-top:1px solid var(--rule)}
.moments li:last-child{border-bottom:1px solid var(--rule)}
.moments strong{font-weight:600;line-height:1.3}
.moments span{color:var(--olive);font-size:var(--fs-sm)}

/* What we do */
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:48px}
.panel{background:var(--cream);padding:clamp(24px,2.6vw,36px);display:grid;gap:14px;align-content:start}
.panel p{color:var(--olive)}
.panel .for{font-size:var(--fs-sm);color:var(--deep);padding-top:14px;border-top:1px solid var(--rule)}
.steps{list-style:none;padding:0;margin:64px 0 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.steps li{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:2px solid var(--deep)}
.steps p{color:var(--olive)}
.steps-title{margin-top:72px}

/* Track record teaser */
.tr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);margin-top:56px}
.tr-card{display:grid;gap:18px;color:inherit;text-decoration:none;align-content:start}
.img-crop{position:relative;overflow:hidden;background:var(--olive)}
.img-crop::after{content:"";position:absolute;inset:0;background:var(--olive);opacity:.25;transition:opacity .45s ease;pointer-events:none}
.img-crop:hover::after,.svc-tile:hover .img-crop::after,.tr-card:hover .img-crop::after,.svc-tile:focus-visible .img-crop::after,.tr-card:focus-visible .img-crop::after{opacity:0}
.tr-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tr-card:hover img{transform:scale(1.03)}
.meta{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--olive)}
.band-dark .meta{color:var(--sage)}
.tr-card h3{margin-top:8px}
.tr-card .desc{color:var(--sand);margin-top:8px;max-width:34rem}
.tr-card .role{font-size:var(--fs-sm);color:var(--sage);margin-top:10px}
.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:64px 0 40px;padding-top:28px;border-top:1px solid var(--rule-dark)}
.figures div{min-width:0}
.figures dt{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.figures dd{margin:8px 0 0;color:var(--sand);font-size:var(--fs-sm)}
.fig-note{font-size:.8rem;color:var(--sand);margin-top:-24px;margin-bottom:40px}

/* Insight cards */
.post-card{display:grid;gap:12px;align-content:start;padding-top:20px;border-top:2px solid var(--deep);color:inherit;text-decoration:none}
.post-card h3{font-size:clamp(1.2rem,1.7vw,1.4rem)}
.post-card p{color:var(--olive);font-size:var(--fs-sm)}
a.post-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;padding:3px 8px;background:var(--cream-2);color:var(--olive);justify-self:start}
.tag-draft{background:var(--sage);color:var(--deep)}

/* Founder */
.founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.portrait{margin:0;max-width:100%;background:var(--olive)}
.portrait img{width:100%;aspect-ratio:7/8;object-fit:cover}
.founder-text{display:grid;gap:18px;max-width:42rem}
.founder-text p{color:var(--deep)}
.creds{list-style:none;padding:0;margin:8px 0 8px;display:grid;gap:0}
.creds li{padding-block:12px;border-top:1px solid var(--rule);font-size:var(--fs-sm);display:grid;grid-template-columns:9rem minmax(0,1fr);gap:16px}
.creds li:last-child{border-bottom:1px solid var(--rule)}
.creds b{font-weight:500;color:var(--olive)}

/* Contact */
.contact{background:var(--sand);color:var(--deep)}
.contact-inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);padding-block:clamp(64px,8vw,112px);align-items:start}
.contact h2{margin-top:16px}
.contact .lede{margin-top:20px}
.contact-card{background:var(--cream);padding:clamp(24px,3vw,40px);display:grid;gap:6px}
.contact-card .label{margin-top:14px}
.contact-card .label:first-child{margin-top:0}
.email{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:500;letter-spacing:-.01em}
.email span{user-select:all;overflow-wrap:anywhere}
.copy{font:inherit;font-size:.82rem;font-weight:500;padding:6px 12px;background:var(--deep);color:var(--cream);border:0;cursor:pointer}
.copy:hover{background:var(--olive)}

/* Footer */
.site-foot{padding-block:56px 40px}
.foot-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);gap:40px}
.foot-brand{display:grid;gap:18px;align-content:start}
.foot-brand p{color:var(--sand);max-width:22rem;font-size:var(--fs-sm)}
.foot-nav{display:grid;gap:8px;align-content:start}
.foot-nav a{text-decoration:none;color:var(--cream);font-size:var(--fs-sm)}
.foot-nav a:hover{text-decoration:underline}
.foot-legal{display:grid;gap:10px;align-content:start;font-size:.82rem;color:var(--sand)}

/* Inner page hero */
.page-hero{padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,72px)}
.page-hero h1{font-size:var(--fs-h1);margin-top:18px;max-width:18ch}
.page-hero .lede{margin-top:24px;color:var(--olive)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.jump button{font:inherit;font-size:.9rem;font-weight:500;padding:9px 14px;background:transparent;border:1px solid var(--rule);color:var(--deep);cursor:pointer}
.jump button:hover{border-color:var(--deep)}

/* Services page */
.svc-block{padding-block:clamp(56px,7vw,96px);border-top:1px solid var(--rule)}
.svc-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start}
.svc-block.flip .svc-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.svc-block.flip .svc-fig{order:-1}
.svc-text{display:grid;gap:18px}
.svc-text .lede{color:var(--deep)}
.svc-fig{margin:0}
.svc-fig img{width:100%;aspect-ratio:3/2;object-fit:cover}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:16px}
.h-small{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.09em;font-weight:500;color:var(--olive)}
.plain{list-style:none;padding:0;margin:12px 0 0}
.plain li{padding-block:12px;border-top:1px solid var(--rule);font-size:var(--fs-sm);line-height:1.4}
.plain.q li{font-size:1.02rem;font-weight:500;color:var(--deep)}
.pairs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;margin-top:16px}
.pairs .h-small{margin:0;padding-bottom:12px}
.pairs .q,.pairs .a{margin:0;padding-block:12px;border-top:1px solid var(--rule);font-size:var(--fs-sm);line-height:1.4}
.pairs .q{font-size:1.02rem;font-weight:500;color:var(--deep)}
.table-wrap{overflow-x:auto;margin-top:40px}
table{width:100%;border-collapse:collapse;min-width:620px;font-size:var(--fs-sm)}
th,td{text-align:left;vertical-align:top;padding:18px 20px 18px 0;border-top:1px solid var(--rule)}
thead th{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.09em;font-weight:500;color:var(--olive);border-top:0;padding-top:0}
tbody th{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;width:22%}
td.len{font-variant-numeric:tabular-nums;white-space:nowrap;width:20%}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:1px solid var(--rule)}
.who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:40px}
.who div{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:2px solid var(--deep)}
.who p{color:var(--olive);font-size:var(--fs-sm)}
.also{margin-top:32px;color:var(--olive)}
.note{margin-top:56px;background:var(--cream);padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:24px}

/* Track record page */
.group-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap;padding-top:clamp(40px,5vw,64px)}
.entry{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);padding-block:clamp(40px,5vw,72px);border-top:1px solid var(--rule);align-items:start}
.entry:first-of-type{margin-top:28px}
.entry.flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.entry.flip figure{order:2}
.entry figure{margin:0}
.entry img{width:100%;aspect-ratio:3/2;object-fit:cover}
.entry-text{display:grid;gap:12px;align-content:start}
.entry-text h3{font-size:clamp(1.6rem,2.8vw,2.3rem);letter-spacing:-.03em}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 20px;margin:14px 0 0;font-size:var(--fs-sm)}
.facts dt{color:var(--olive);font-weight:500}
.facts dd{margin:0}
.shows{margin-top:14px;padding-top:18px;border-top:1px solid var(--rule);display:grid;gap:8px}
.shows p:last-child{font-size:1.08rem;line-height:1.45}
.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:28px;padding-top:clamp(28px,4vw,48px);border-top:1px solid var(--rule)}
.research-grid article{display:grid;gap:12px;align-content:start}
.research-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}
.research-grid h3{margin-top:6px}

/* Insights page */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.chip{font:inherit;font-size:.9rem;font-weight:500;padding:9px 14px;background:transparent;border:1px solid var(--rule);color:var(--deep);cursor:pointer}
.chip:hover{border-color:var(--deep)}
.chip[aria-pressed="true"]{background:var(--deep);color:var(--cream);border-color:var(--deep)}
.post-list{list-style:none;padding:0;margin:8px 0 0}
.post-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr) minmax(0,2fr);gap:24px;padding-block:30px;border-top:1px solid var(--rule)}
.post-row:last-child{border-bottom:1px solid var(--rule)}
.post-row .cat{display:grid;gap:8px;align-content:start}
.post-row h2{font-size:clamp(1.35rem,2.3vw,1.85rem);letter-spacing:-.025em}
.post-row h2 a{text-decoration:none}
.post-row h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.post-row .dek{color:var(--olive);margin-top:10px;max-width:40rem}
.post-row .time{font-size:var(--fs-sm);color:var(--olive);text-align:right;font-variant-numeric:tabular-nums}

/* Article */
.article-head{padding-block:clamp(48px,7vw,96px) clamp(32px,4vw,48px);max-width:52rem}
.back{font-size:var(--fs-sm);font-weight:500;text-decoration:none;display:inline-flex;gap:8px}
.back::before{content:"\2190"}
.article-head h1{font-size:var(--fs-h1);margin-top:22px}
.article-head .dek{font-size:var(--fs-lede);line-height:1.45;color:var(--olive);margin-top:22px;max-width:44rem}
.byline{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:28px;font-size:var(--fs-sm);color:var(--olive)}
.article-fig{margin:0}
.article-fig img{width:100%;aspect-ratio:2/1;object-fit:cover}
.prose{max-width:40rem;margin-inline:auto;padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,96px)}
.prose p{font-size:1.125rem;line-height:1.62;margin-top:1.15em}
.prose p:first-child{margin-top:0;font-size:var(--fs-lede);line-height:1.5}
.prose h2{font-size:clamp(1.4rem,2.3vw,1.75rem);letter-spacing:-.025em;margin-top:2.2em}
.prose b{font-weight:600}
.prose h3{font-size:1.2rem;letter-spacing:-.015em;margin-top:1.9em}
.prose h2 + h3{margin-top:1em}
.prose ul,.prose ol{margin:1em 0 0;padding-left:1.3em}
.prose li{font-size:1.125rem;line-height:1.6;margin-top:.55em;padding-left:.2em}
.prose ul.lines{list-style:none;padding-left:0}
.prose ul.lines li{margin-top:.3em;padding-left:0}
.prose a{overflow-wrap:anywhere}
.prose figure{width:min(52rem,calc(100vw - 32px));margin:2.4em 0 0 calc(50% - min(26rem,50vw - 16px))}
.prose figure img{width:100%;height:auto;background:var(--cream-2)}
.prose figure video{display:block;width:100%;height:auto;background:var(--cream-2)}
.prose figure.blend{mix-blend-mode:multiply}
.prose figure.blend img{background:transparent}
.prose figcaption{font-size:.85rem;line-height:1.45;color:var(--olive);margin-top:10px;max-width:44rem}
.prose figure + p,.prose figure + h2,.prose figure + h3{margin-top:2em}
.prose blockquote{margin:2em 0 0;padding-left:22px;border-left:2px solid var(--deep)}
.prose blockquote p{font-size:var(--fs-lede);line-height:1.45;font-weight:500;margin-top:0}
.prose blockquote cite{display:block;margin-top:10px;font-style:normal;font-size:var(--fs-sm);color:var(--olive)}
.li-note{margin-top:20px;font-size:var(--fs-sm);color:var(--olive)}
.li-note a{color:var(--deep)}
.article-head h1{font-size:clamp(2.1rem,4.4vw,3.5rem)}
.post-date{font-size:var(--fs-sm);color:var(--olive);font-variant-numeric:tabular-nums}
.author{margin-top:56px;padding-top:24px;border-top:2px solid var(--deep);display:grid;gap:8px}
.author p{font-size:var(--fs-sm);color:var(--olive);margin:0;line-height:1.5}
.author p + p{margin-top:8px}

/* About */
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:48px}
.values div{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:2px solid var(--deep)}
.values p{color:var(--olive);font-size:var(--fs-sm)}
.independent{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.independent p{font-size:var(--fs-lede);line-height:1.45}
.independent p + p{margin-top:16px}
.about-photo{margin:0}
.about-photo img{width:100%;aspect-ratio:21/8;object-fit:cover}
.creds-wide li{grid-template-columns:11rem minmax(0,1fr)}

/* Responsive */
@media (max-width:1000px){
  .values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .menu-btn{display:inline-block}
  #site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--deep);flex-direction:column;align-items:stretch;gap:0;padding-block:4px 20px;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px));border-bottom:1px solid var(--rule-dark)}
  #site-nav.open{display:flex}
  #site-nav a{padding-block:14px;border-bottom:1px solid var(--rule-dark)}
  #site-nav a.nav-cta{border:0;border-bottom:1px solid var(--rule-dark);padding:14px 0}
  .hero-grid,.split,.svc-grid,.svc-block.flip .svc-grid,.entry,.entry.flip,.founder,.contact-inner,.independent,.note{grid-template-columns:minmax(0,1fr)}
  .hero-grid{gap:0}
  .hero-copy{padding-block:72px 16px}
  .hero{--mark-h:clamp(280px,74vw,420px)}
  .hero-mark{height:var(--mark-h);min-height:0}
  .mark-layer{top:auto;bottom:0;height:var(--mark-h);-webkit-mask-image:linear-gradient(180deg,transparent,#000 45%);mask-image:linear-gradient(180deg,transparent,#000 45%)}
  .svc-tiles{grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:40px}
  .svc-tile{grid-row:auto;grid-template-rows:none;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:start}
  .svc-tile .img-crop{margin-bottom:0}
  .tile-text{grid-row:auto;grid-template-rows:none}
  .entry.flip figure,.svc-block.flip .svc-fig{order:0}
  .cols3,.steps,.who{grid-template-columns:minmax(0,1fr)}
  .figures{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-inner{grid-template-columns:minmax(0,1fr)}
  .post-row{grid-template-columns:minmax(0,1fr);gap:10px}
  .post-row .time{text-align:left}
  .portrait{max-width:320px}
}
@media (max-width:640px){
  .svc-tile{grid-template-columns:minmax(0,1fr);gap:16px}
  .tr-grid,.research-grid,.two{grid-template-columns:minmax(0,1fr)}
  .moments li{grid-template-columns:minmax(0,1fr);gap:6px}
  .moments-head{display:none}
  .moments{margin-top:24px}
  .pairs{grid-template-columns:minmax(0,1fr)}
  .pairs .h-small{display:none}
  .pairs .a{border-top:0;padding-top:0;color:var(--olive)}
  .creds li,.creds-wide li{grid-template-columns:minmax(0,1fr);gap:2px}
  .values{grid-template-columns:minmax(0,1fr)}
  .article-fig img{aspect-ratio:3/2}
}
@media (prefers-reduced-motion:reduce){
  .tr-card img,.svc-tile img,.btn,.svc-tile h3::after,.hero-bg{transition:none}
}
