/* A Cali Collective, site styles v1. Tokens locked by the designer brief. */
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
:root{
  --ink:#141414;--paper:#F7F6F2;--paper2:#EFEDE6;--char:#262624;--gray:#5C5B57;--y:#FED60F;
  --line:rgba(20,20,20,.16);--line-d:rgba(247,246,242,.2);
  --inset:clamp(1.25rem,6vw,6rem);--max:90rem;
  --ease:cubic-bezier(.16,1,.3,1);--ease2:cubic-bezier(.76,0,.24,1);
  --r:.625rem;--bar:4.25rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.1875rem;line-height:1.45;font-stretch:100%;padding-bottom:var(--bar);overflow-x:clip}
@media (min-width:64em){body{font-size:1.25rem;padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--ink)}
p{margin:0 0 1em;max-width:68ch}
h1,h2,h3,h4{margin:0;font-weight:900;line-height:.95;letter-spacing:-.025em}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--y)}
.dark :focus-visible{outline-color:var(--paper)}
.skip{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:var(--paper);padding:.875rem 1.25rem;border-radius:var(--r)}
.skip:focus{top:1rem}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--inset)}
section{position:relative}
.pad{padding-block:clamp(4.5rem,11vw,10rem)}
.pad-s{padding-block:clamp(3rem,7vw,6rem)}
.dark{background:var(--ink);color:var(--paper)}
.dark a:hover{text-decoration-color:var(--paper)}
.muted{color:var(--gray)}
.dark .muted{color:#C9C7C0}

/* type */
.d{font-weight:900;font-stretch:125%;letter-spacing:-.035em;line-height:.88}
.d-xxl{font-size:clamp(2.5rem,10.4vw,10.5rem)}
.d-xl{font-size:clamp(2.4rem,8vw,7.5rem)}
.d-l{font-size:clamp(2.1rem,5.6vw,5.25rem)}
.d-m{font-size:clamp(1.7rem,3.6vw,3.25rem);line-height:1}
.it{font-style:italic;font-weight:300;font-stretch:100%;letter-spacing:-.02em}
.lede{font-size:clamp(1.25rem,1.9vw,1.5rem);line-height:1.4;max-width:46ch}
.label{display:inline-flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;margin:0 0 1.25rem}
.label::before{content:"";width:.5rem;height:.5rem;background:var(--y);flex:none}
.hl{background:linear-gradient(transparent 72%,var(--y) 72%,var(--y) 92%,transparent 92%);padding:0 .04em}
.pill{display:inline-block;background:var(--y);color:var(--ink);font-weight:800;font-size:.9375rem;letter-spacing:.04em;padding:.3rem .75rem;border-radius:999px;line-height:1.2}
.kicker{font-size:.875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3rem;padding:.75rem 1.5rem;border-radius:var(--r);background:var(--ink);color:var(--paper);font:700 .9375rem/1.2 "Archivo",sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;overflow:hidden;border:0;cursor:pointer}
.btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease2)}
.btn:hover::after,.btn:focus-visible::after{transform:scaleX(1)}
.btn .arr{display:inline-block;transition:transform .48s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.dark .btn,.btn.inv{background:var(--paper);color:var(--ink)}
.btn.char{background:var(--char)}
.btn.big{min-height:3.75rem;font-size:1rem;padding:1rem 2rem}
.tlink{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:700;text-decoration:underline;text-underline-offset:.3em}
.ctas{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-top:2rem}
@media (max-width:40em){.ctas .btn{width:100%}}

/* header */
.hdr{position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;transition:border-color .3s}
/* six fixes: the blur lives on a pseudo element, so .hdr is no longer a containing block for the fixed mobile menu */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(247,246,242,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);pointer-events:none}
.hdr.scrolled{border-bottom-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:900;font-stretch:125%;letter-spacing:-.02em;font-size:1.0625rem;text-decoration:none;min-height:2.75rem}
.logo i{width:.625rem;height:.625rem;background:var(--y);display:inline-block;box-shadow:0 0 0 2px var(--ink)}
.nav{display:flex;align-items:center;gap:.25rem}
.nav a:not(.btn){display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .9rem;font-weight:700;font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:var(--r)}
.nav a[aria-current]:not(.btn){text-decoration:underline;text-underline-offset:.4em;text-decoration-thickness:2px}
.nav .btn{margin-left:.75rem;min-height:2.75rem;padding:.5rem 1.1rem}
.menu-btn{display:none}
@media (max-width:63.99em){
  .nav{display:none}
  .menu-btn{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;min-width:2.75rem;padding:0 .9rem;border:1px solid var(--ink);border-radius:var(--r);background:none;font:700 .875rem/1 "Archivo",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
  .nav.open{display:flex;flex-direction:column;align-items:stretch;position:fixed;inset:4.25rem 0 0 0;background:var(--ink);padding:2rem var(--inset);gap:.25rem;overflow:auto}
  .nav.open a:not(.btn){color:var(--paper);font-size:clamp(2.4rem,11vw,4rem);font-weight:900;font-stretch:125%;letter-spacing:-.03em;text-transform:none;padding:.4rem 0;min-height:3.5rem}
  .nav.open .btn{margin:1.5rem 0 0;background:var(--paper);color:var(--ink);min-height:3.5rem}
}

/* sticky book bar */
.bookbar{position:fixed;z-index:60;left:0;right:0;bottom:0;display:flex;gap:.5rem;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);transition:transform .35s var(--ease)}
.bookbar .btn{flex:1 1 auto;min-height:3rem;width:100%}
.bookbar.hide{transform:translateY(110%)}
.bookbar .bb-note{display:none}

.hero{padding-top:clamp(2.5rem,6vw,5rem);overflow:hidden}
.hero h1{margin:0 0 1.75rem}
.frame{border:2px solid var(--ink);background:var(--ink);border-radius:.25rem;overflow:hidden}
.frame img{width:100%;height:100%;object-fit:cover}
.tiltwrap{perspective:900px}

.hero-sticker{position:absolute;left:-1.25rem;bottom:-1.75rem;width:42%;transform:rotate(-5deg);z-index:3;box-shadow:0 18px 40px rgba(20,20,20,.25)}
.hero-tag{position:absolute;right:-.5rem;top:-1rem;z-index:3;transform:rotate(6deg)}
.playbtn{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:1rem;background:none;border:0;cursor:pointer;width:100%}
.playchip{display:inline-flex;align-items:center;gap:.6rem;background:var(--paper);color:var(--ink);font:800 .875rem/1 "Archivo",sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:.8rem 1rem;border-radius:999px;min-height:2.75rem}
.playchip::before{content:"";width:0;height:0;border-left:.7rem solid var(--ink);border-top:.42rem solid transparent;border-bottom:.42rem solid transparent}

/* problem line */
.problem{font-weight:800;font-stretch:112%;font-size:clamp(1.9rem,4.6vw,4rem);line-height:1.04;letter-spacing:-.03em;max-width:22ch}
.problem s{text-decoration-thickness:.09em;text-decoration-color:var(--ink)}

/* toolbox sticky scroll */
.tbx{display:grid;gap:3rem}
.tbx-side{display:none}
@media (min-width:64em){
  .tbx{grid-template-columns:5fr 7fr;gap:4rem}
  .tbx-side{display:block}
  .tbx-sticky{position:sticky;top:7rem}
  .tbx-num{font-weight:900;font-stretch:125%;font-size:clamp(8rem,15vw,15rem);line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--ink);margin:1rem 0 2rem;display:flex;overflow:hidden;height:1em}
  .tbx-num span{display:block;transition:transform .6s var(--ease)}
  .tbx-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
  .tbx-list li{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-weight:800;font-stretch:112%;font-size:1.5rem;color:var(--gray);transition:color .3s}
  .tbx-list li .pill{opacity:0;transform:scale(.6);transition:opacity .3s,transform .4s var(--ease)}
  .tbx-list li.on{color:var(--ink)}
  .tbx-list li.on .pill{opacity:1;transform:none}
}
.tbx-panel{padding-block:clamp(1rem,4vw,4rem);border-top:1px solid var(--line)}
.tbx-panel:first-child{border-top:0}
.tbx-panel .frame{aspect-ratio:16/10;margin-bottom:1.75rem}
.tbx-panel h3{font-size:clamp(2rem,4.4vw,3.75rem);font-stretch:112%;margin:.75rem 0 1rem;line-height:1}
.tbx-panel .q{font-weight:800}
.tbx-bridge{margin-top:3rem;padding-top:2.5rem;border-top:2px solid var(--ink)}

/* AI art card (no photo) */
.aicard{aspect-ratio:16/10;display:grid;place-items:center;background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:.25rem;overflow:hidden;position:relative;margin-bottom:1.75rem}
.aicard .big{font-weight:900;font-stretch:125%;font-size:clamp(5rem,14vw,11rem);letter-spacing:-.06em;line-height:.8}
.aicard .big b{display:inline-block;width:.18em;height:.18em;background:var(--y);margin-left:.05em}
.aicard small{position:absolute;left:1rem;bottom:1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8125rem}

/* quote flow diagram */
.flow{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.flow li{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border:2px solid var(--ink);border-radius:var(--r);background:var(--paper);font-weight:800;font-size:1.125rem;line-height:1.2;min-height:3.75rem;position:relative}
.flow li .pill{flex:none}
.flow li.cut{border-style:dashed;color:var(--gray);background:transparent}
.flow li.cut .t{text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:var(--ink)}
.flow li.cut .stamp{margin-left:auto;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--ink);border:2px solid var(--ink);padding:.3rem .5rem;border-radius:.3rem;transform:rotate(-4deg);white-space:nowrap}
.flow-pair{display:grid;gap:2rem}
@media (min-width:52em){.flow-pair{grid-template-columns:1fr 1fr;gap:3rem}}
.flow-h{font-weight:800;font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem}
.dark .flow li{background:var(--ink);border-color:var(--paper);color:var(--paper)}
.dark .flow li.cut{color:#BDBBB4}
.dark .flow li.cut .t{text-decoration-color:var(--paper)}
.dark .flow li.cut .stamp{color:var(--paper);border-color:var(--paper)}

/* case block */
.case{display:grid;gap:2.5rem}
@media (min-width:64em){.case{grid-template-columns:repeat(12,1fr);gap:2rem}.case-head{grid-column:1/6}.case-body{grid-column:7/13}}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps>li{padding:1.5rem 0;border-top:1px solid var(--line)}
.dark .steps>li{border-top-color:var(--line-d)}
.steps h3{font-size:clamp(1.4rem,2.4vw,2rem);font-stretch:112%;margin:.75rem 0 .75rem;line-height:1.05}
.steps ul{margin:0;padding-left:1.1em}
.steps ul li{margin:.4rem 0}
.meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:1.25rem 0 0}

/* proof grid */
.proof{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:48em){.proof{grid-template-columns:repeat(12,1fr);gap:1.5rem}}
.tile{position:relative;display:block;text-decoration:none;color:inherit}
.tile .frame{aspect-ratio:var(--ar,4/3)}
.tile .cap{display:flex;align-items:baseline;gap:.75rem;padding:.9rem 0 0}
.tile .cap h3{font-size:clamp(1.4rem,2.4vw,2.1rem);font-stretch:112%;line-height:1.05}
.tile .cap p{margin:.35rem 0 0;font-size:1.0625rem;color:var(--gray)}
.dark .tile .cap p{color:#C9C7C0}
.tile img{transition:transform .9s var(--ease)}
.tile:hover img{transform:scale(1.045)}
.tile:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
@media (min-width:48em){
  .t-a{grid-column:1/8}.t-b{grid-column:8/13;margin-top:6rem}
  .t-c{grid-column:2/6}.t-d{grid-column:6/13;margin-top:-3rem}
  .t-e{grid-column:1/7}.t-f{grid-column:7/13;margin-top:4rem}
  .t-full{grid-column:1/13}
}
.statcard{aspect-ratio:var(--ar,4/3);background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:.25rem;padding:clamp(1.25rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:space-between}
.statcard .n{font-weight:900;font-stretch:125%;font-size:clamp(4.5rem,11vw,9rem);line-height:.8;letter-spacing:-.05em}
.statcard p{margin:0;max-width:30ch}

/* stats */
.stats{display:grid;gap:0;grid-template-columns:1fr;border-top:2px solid var(--ink)}
@media (min-width:48em){.stats{grid-template-columns:1fr 1fr}}
.stat{padding:1.75rem 0;border-bottom:1px solid var(--line)}
@media (min-width:48em){.stat:nth-child(odd){padding-right:2rem;border-right:1px solid var(--line)}.stat:nth-child(even){padding-left:2rem}}
.stat .n{display:block;font-weight:900;font-stretch:125%;font-size:clamp(3.5rem,8vw,6.5rem);line-height:.85;letter-spacing:-.05em;margin-bottom:.75rem}
.note{font-size:1rem;color:var(--gray);margin-top:1.5rem}

/* zigzag numbered list */
.zz{list-style:none;margin:0;padding:0;display:grid;gap:clamp(3.5rem,8vw,7rem)}
.zz>li{position:relative;border-top:1px solid var(--line);padding-top:1.75rem}
.dark .zz>li{border-top-color:var(--line-d)}
.zz h3{font-size:clamp(2rem,3.6vw,3.25rem);font-stretch:112%;margin:1.25rem 0 1rem;line-height:1}
.zz p{position:relative;z-index:1}
.ghost{position:absolute;right:0;top:-.15em;font-weight:900;font-stretch:125%;font-size:clamp(7rem,16vw,14rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--ink);opacity:.12;transform:rotate(-4deg);pointer-events:none;user-select:none}
.dark .ghost{-webkit-text-stroke-color:var(--paper);opacity:.22}
@media (min-width:64em){
  .zz{grid-template-columns:repeat(12,1fr);column-gap:2rem}
  .zz>li{grid-column:1/8}
  .zz>li:nth-child(even){grid-column:6/13}
}

/* who teaser */
.duo{display:grid;gap:2.5rem;align-items:center}
@media (min-width:64em){.duo{grid-template-columns:repeat(12,1fr);gap:2rem}.duo-text{grid-column:1/7}.duo-media{grid-column:8/13}}
.amp{display:inline-grid;place-items:center;width:1.1em;height:1.1em;border-radius:50%;background:var(--y);color:var(--ink);transform:rotate(-6deg);line-height:1;font-size:.9em;vertical-align:middle;margin:0 .05em}
.ph{display:inline-block;border:2px dashed var(--ink);background:repeating-linear-gradient(-45deg,transparent 0 .6rem,rgba(20,20,20,.04) .6rem 1.2rem);padding:.25rem .55rem;border-radius:.3rem;font-size:.9375rem;font-weight:700;line-height:1.35;font-style:normal;letter-spacing:0;text-transform:none;font-stretch:100%;color:var(--ink)}
.dark .ph{border-color:var(--paper);color:var(--paper);background:none}
.phbox{display:grid;place-items:center;text-align:center;aspect-ratio:var(--ar,4/5);border:2px dashed var(--ink);border-radius:.25rem;padding:1.5rem;background:repeating-linear-gradient(-45deg,var(--paper) 0 .9rem,var(--paper2) .9rem 1.8rem)}
.phbox p{margin:0 auto;font-weight:700;font-size:1rem;max-width:32ch}

/* areas */
.areas{font-weight:900;font-stretch:125%;font-size:clamp(2.6rem,9vw,8.5rem);line-height:.9;letter-spacing:-.04em;margin:0}
.areas span{display:block}
.areas span:nth-child(2){padding-left:clamp(1rem,10vw,9rem)}
.areas span:nth-child(3){padding-left:clamp(2rem,20vw,18rem)}

/* faq */
.faq{border-top:2px solid var(--ink);max-width:62rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;gap:1rem;align-items:baseline;cursor:pointer;list-style:none;padding:1.25rem 0;min-height:3rem;font-weight:800;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-weight:400;font-size:1.6em;line-height:.6}
.faq details[open] summary::after{content:"×"}
.faq .a{padding:0 0 1.5rem 3.25rem}
.faq .idx{font-size:.9375rem;font-weight:800;min-width:2.25rem}

/* final CTA */
.final h2{margin-bottom:2rem}
.final .d{max-width:14ch}

/* page hero (inner) */
.phero{padding-top:clamp(2.5rem,7vw,6rem);padding-bottom:clamp(2.5rem,6vw,5rem)}
.phero h1{margin-bottom:1.5rem}
.crumb{font-size:.9375rem;font-weight:700;margin-bottom:1.5rem}
.crumb a{text-decoration:none}
.crumb a:hover{text-decoration:underline}

/* rows list (services hub, work hub) */
.rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.rows>li{border-bottom:1px solid var(--line)}
.row{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.5rem;align-items:center;padding:1.5rem 0;text-decoration:none;color:inherit;min-height:3rem}
.row .rt{font-weight:900;font-stretch:125%;font-size:clamp(2.1rem,6.5vw,5.75rem);letter-spacing:-.04em;line-height:.9;transition:transform .5s var(--ease)}
.row .rs{grid-column:2;font-size:1.0625rem;color:var(--gray);max-width:50ch}
.row .rimg{display:none}
.row:hover .rt{transform:translateX(.5rem)}
@media (min-width:64em){
  .row{grid-template-columns:5rem 1fr 18rem;padding:2rem 0}
  .row .rs{grid-column:2}
  .row .rimg{display:block;grid-column:3;grid-row:1/3;aspect-ratio:4/3;border:2px solid var(--ink);border-radius:.25rem;overflow:hidden;transform:rotate(2deg) scale(.96);transition:transform .5s var(--ease)}
  .row .rimg img{width:100%;height:100%;object-fit:cover}
  .row:hover .rimg{transform:rotate(-1deg) scale(1)}
  .rows>li:nth-child(even) .rimg{transform:rotate(-2deg) scale(.96)}
}
.newtag{display:inline-block;vertical-align:middle;margin-left:.5rem;font-size:.8125rem;letter-spacing:.12em;padding:.3rem .6rem;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:800;font-stretch:100%;transform:translateY(-.4em)}

/* galleries */
.gal{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:48em){.gal{grid-template-columns:repeat(12,1fr);gap:1.5rem}.g-7{grid-column:span 7}.g-5{grid-column:span 5}.g-6{grid-column:span 6}.g-4{grid-column:span 4}.g-8{grid-column:span 8}.g-12{grid-column:span 12}.g-3{grid-column:span 3}}
.gal figure{margin:0}
.gal .frame{height:100%}
.gal figcaption{font-size:.9375rem;color:var(--gray);padding-top:.5rem}

/* video */
.vid{position:relative;aspect-ratio:16/9;border:2px solid var(--ink);border-radius:.25rem;overflow:hidden;background:var(--ink)}
.vid img,.vid iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vid .playbtn{padding:clamp(1rem,2.5vw,2rem)}
.vid .playbtn:hover .playchip{background:var(--y)}

/* before after slider */
.ba{position:relative;border:2px solid var(--ink);border-radius:.25rem;overflow:hidden;--pos:50%;background:var(--ink)}
.ba img{width:100%;display:block}
.ba .after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.ba .after img{height:100%;object-fit:cover;object-position:top}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:var(--paper);box-shadow:0 0 0 1px var(--ink);pointer-events:none}
.ba .handle::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;background:var(--y);color:var(--ink);display:grid;place-items:center;font-weight:900;border:2px solid var(--ink)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba input:focus-visible+.handle::after{box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--ink)}
.ba .tag{position:absolute;top:.75rem;z-index:2;background:var(--ink);color:var(--paper);font-weight:800;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;padding:.45rem .7rem;border-radius:.3rem;pointer-events:none}
.ba .tag.l{left:.75rem}.ba .tag.r{right:.75rem;background:var(--paper);color:var(--ink);border:2px solid var(--ink)}
.flag{display:inline-flex;align-items:center;gap:.6rem;border:2px solid var(--ink);padding:.5rem .8rem;border-radius:.3rem;font-weight:800;font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase}
.flag::before{content:"";width:.6rem;height:.6rem;background:var(--y);box-shadow:0 0 0 2px var(--ink)}

/* quotes pending */
.pending{display:grid;gap:1rem}
@media (min-width:48em){.pending{grid-template-columns:repeat(3,1fr)}}
.pending figure{margin:0;padding:1.5rem;border:2px dashed currentColor;border-radius:var(--r);min-height:9rem;display:flex;flex-direction:column;justify-content:space-between}
.pending blockquote{margin:0;font-weight:800;font-size:1.25rem;line-height:1.25}

/* about */
.scene{display:grid;gap:2.5rem;align-items:start}
@media (min-width:64em){.scene{grid-template-columns:repeat(12,1fr);gap:2rem}.scene .s-photo{grid-column:1/7}.scene .s-copy{grid-column:7/13}.scene.mirror .s-photo{grid-column:7/13;grid-row:1}.scene.mirror .s-copy{grid-column:1/7;grid-row:1}}
.s-photo .phbox{border-width:2px}

.gname{font-weight:900;font-stretch:125%;font-size:clamp(3.5rem,9vw,8.5rem);line-height:.92;letter-spacing:-.04em;margin:.25rem 0 .5rem}
.fullname{font-weight:700;font-size:1rem;letter-spacing:.06em;margin-bottom:1.75rem}
.joiner{display:grid;place-items:center;padding-block:clamp(2rem,6vw,5rem)}
.joiner span{display:grid;place-items:center;width:1.1em;height:1.1em;border-radius:50%;background:var(--y);font-weight:900;font-stretch:125%;font-size:clamp(4.5rem,11vw,9rem);line-height:1;transform:rotate(-6deg)}
.tabs{margin-top:2.5rem}
.tablist{display:none}
.tabs.on .tablist{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.tab{min-height:3rem;padding:.75rem 1rem;border:1px solid rgba(20,20,20,.3);border-radius:var(--r);background:var(--paper);font:700 .875rem/1 "Archivo",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:.6rem}
.tab[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tab[aria-selected=true]::after{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--y)}
.tabpanel{min-height:8rem}
.tabpanel h4{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:1.5rem 0 .5rem}
.tabs.on .tabpanel h4{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
@media (min-width:48em){.facts{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.facts li{border-top:1px solid var(--line);padding-top:.6rem;font-size:1.1875rem;line-height:1.4}
.facts .i{display:block;font-weight:800;font-size:.875rem;margin-bottom:.25rem}
.crew{display:grid;gap:1.25rem}
@media (min-width:48em){.crew{grid-template-columns:1fr 1fr}}
.crewcard{border:2px solid var(--ink);border-radius:var(--r);padding:1.5rem}
.crewcard h3{font-size:2rem;font-stretch:112%;margin-bottom:.4rem}
.crewcard .role{font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.strip{display:grid;gap:1rem;grid-auto-flow:column;grid-auto-columns:minmax(15rem,80%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}
@media (min-width:64em){.strip{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}
.strip>*{scroll-snap-align:start}

/* book */
.bookgrid{display:grid;gap:3rem}
@media (min-width:64em){.bookgrid{grid-template-columns:repeat(12,1fr);gap:2rem}.bookgrid .bk-a{grid-column:1/7}.bookgrid .bk-b{grid-column:8/13}}
.cal{border:2px solid var(--ink);border-radius:var(--r);padding:clamp(1.25rem,3vw,2.25rem);background:#fff}
.cal .who{display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem}
.cal .who img{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover;border:2px solid var(--ink)}
.cal h2{font-size:clamp(1.8rem,3.4vw,2.75rem);font-stretch:112%;line-height:1;margin-bottom:1rem}
.cal .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}
.cal .chips li{border:1px solid var(--ink);border-radius:999px;padding:.35rem .8rem;font-weight:700;font-size:.9375rem}

/* start page */
.start{min-height:100svh;display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.5rem;max-width:30rem;margin:0 auto;gap:1rem}
.start .top{display:flex;gap:1rem;align-items:center}
.start .top img{width:4.75rem;height:4.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--ink);flex:none}
.start h1{font-size:clamp(1.6rem,7.4vw,2.2rem);font-stretch:112%;line-height:1.02}
.start .btn{width:100%;min-height:4rem;font-size:1.0625rem}
.feat{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;align-items:center;padding:.75rem;border:2px solid var(--ink);border-radius:var(--r);text-decoration:none;background:#fff;min-height:5.5rem}
.feat .fi{width:5.5rem;height:5.5rem;border-radius:.4rem;overflow:hidden;background:var(--ink)}
.feat .fi img{width:100%;height:100%;object-fit:cover}
.feat small{display:block;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.25rem}
.feat b{font-size:1.1875rem;line-height:1.2;display:block}
.minis{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.minis a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3rem;border:1px solid var(--ink);border-radius:var(--r);font-weight:700;font-size:1rem;text-decoration:none;padding:.4rem}
.start .full{text-align:center;font-size:.9375rem}
.start .full a{display:inline-flex;min-height:2.75rem;align-items:center}

/* footer */
.ftr{background:var(--ink);color:var(--paper);padding:clamp(4rem,9vw,7rem) 0 2.5rem}
.ftr .big{font-weight:900;font-stretch:125%;font-size:clamp(2.6rem,9vw,8rem);letter-spacing:-.04em;line-height:.88;margin:0 0 3rem}
.fcols{display:grid;gap:2rem;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-d);padding-top:2rem}
@media (min-width:64em){.fcols{grid-template-columns:repeat(4,1fr)}}
.fcols h2{font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:1rem;line-height:1.3}
.fcols ul{list-style:none;margin:0;padding:0}
.fcols a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:none;word-break:break-word}
.fcols a:hover{text-decoration:underline}
.fbase{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;font-size:.9375rem;color:#C9C7C0}

/* custom cursor (desktop only) */
.cur{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:.9rem;height:.9rem;margin:-.45rem 0 0 -.45rem;border-radius:50%;background:var(--y);box-shadow:0 0 0 1.5px var(--ink);display:grid;place-items:center;font:800 .75rem/1 "Archivo",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:transparent;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),color .2s;opacity:0}
.cur.on{opacity:1}
.cur.big{width:5.5rem;height:5.5rem;margin:-2.75rem 0 0 -2.75rem;color:var(--ink)}

/* reveal */
.pre{opacity:0;transform:translateY(2.5rem);clip-path:inset(12% 0 0 0)}
.reveal{transition:opacity .9s var(--ease),transform 1.1s var(--ease),clip-path 1.2s var(--ease)}
.reveal.in{opacity:1;transform:none;clip-path:inset(0 0 0 0)}

.center{text-align:center}
.mt0{margin-top:0}.mt1{margin-top:1rem}.mt2{margin-top:2rem}.mt3{margin-top:3rem}.mb2{margin-bottom:2rem}.mb3{margin-bottom:3rem}
hr.rule{border:0;border-top:2px solid var(--ink);margin:0}
.twocol{display:grid;gap:2rem}
@media (min-width:64em){.twocol{grid-template-columns:5fr 7fr;gap:4rem}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .pre{opacity:1;transform:none;clip-path:none}
  .cur{display:none}
  .hero-main,.hero-sticker,.hero-tag{transform:none}
}
@media (hover:none),(pointer:coarse){.cur{display:none}}

/* ===== Art direction alignment (ART-DIRECTION.md, Concept 1 tokens, full bleed variant) ===== */
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-display:swap}
:root{
  --ink:#141414;--ink-90:#2A2A28;--ink-80:#3A3A38;--ink-70:#4D4C49;--ink-60:#5C5B57;--ink-50:#6E6D69;--ink-30:#A9A8A3;--ink-15:#D6D4CE;--ink-08:#E7E5DF;
  --paper:#F7F6F2;--paper-2:#EFEDE6;--paper-3:#E6E3DA;--paper-70:#BDBBB5;--paper-60:#A6A5A0;--paper-50:#8E8D89;
  --yellow:#FED60F;--tape:rgb(254 214 15 / .82);--charcoal:var(--ink-90);--focus:var(--ink);
  --f-display:"Archivo",system-ui,sans-serif;--f-body:"Instrument Sans",system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --w-display:900;--w-title:800;--w-label:700;--w-body:400;--w-strong:600;--stretch-hero:112%;--stretch-h2:106%;
  --step--1:clamp(.875rem,.85rem + .1vw,.9375rem);--step-0:clamp(1.1875rem,1.15rem + .2vw,1.3125rem);--step-1:clamp(1.375rem,1.25rem + .55vw,1.75rem);
  --step-2:clamp(1.75rem,1.45rem + 1.3vw,2.75rem);--step-3:clamp(2.25rem,1.6rem + 2.9vw,4.5rem);--step-4:clamp(2.75rem,1.2rem + 5.4vw,6.5rem);
  --step-5:clamp(3.4rem,1rem + 9.6vw,10.5rem);--step-names:clamp(3.5rem,9vw,8.5rem);--step-ghost:clamp(7rem,16vw,14rem);
  --lh-display:.9;--lh-head:.95;--lh-body:1.45;--track-display:-.035em;--track-head:-.03em;--track-label:.14em;--measure:65ch;
  --gutter:clamp(1rem,2.5vw,2.5rem);--margin:clamp(1.25rem,5vw,6rem);--max:96rem;--section:clamp(4rem,8vw,9rem);
  --tap:2.75rem;--tap-gap:.5rem;--btn-h:3rem;--radius:.5rem;--radius-pill:999px;--tilt-max:4deg;
  --shadow-print:0 .1rem .2rem rgb(20 20 20 / .12),0 1.2rem 2.4rem -1rem rgb(20 20 20 / .35);
  --shadow-lift:0 .2rem .4rem rgb(20 20 20 / .14),0 2rem 3.5rem -1.25rem rgb(20 20 20 / .45);
  --dur-1:150ms;--dur-2:200ms;--dur-3:300ms;--dur-4:400ms;--dur-5:600ms;--dur-draw:700ms;--dur-sweep:500ms;--stagger:80ms;
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-inout:cubic-bezier(.76,0,.24,1);--ease-drop:cubic-bezier(.34,1.56,.64,1);
  /* aliases used by the earlier rules */
  --y:var(--yellow);--char:var(--charcoal);--gray:var(--ink-60);--inset:var(--margin);--r:var(--radius);--line:var(--ink-15);--line-d:rgba(247,246,242,.22);
}
@view-transition{navigation:auto}
body{font-family:var(--f-body);font-size:var(--step-0);line-height:var(--lh-body)}
p{max-width:var(--measure)}
h1,h2,h3,h4,.d,.label,.btn,.pill,.kicker,.logo,.nav a,.menu-btn,.flow li,.stat .n,.statcard .n,.areas,.tab,.gname,.joiner span,.rt,.problem,.ftr .big,.fcols h2,.faq summary,.flag,.playchip,.newtag,.ghost,.tbx-num,.tbx-list li,.aicard .big,.cal .chips li,.feat small{font-family:var(--f-display)}
h2.d,.h2{font-size:var(--step-3);font-weight:900;font-stretch:var(--stretch-h2);line-height:var(--lh-head);letter-spacing:var(--track-head)}
.hero h1{font-size:var(--step-4);font-stretch:var(--stretch-hero);line-height:var(--lh-display);letter-spacing:var(--track-display);max-width:13ch}
@media (max-width:40em){.hero h1{font-stretch:100%}}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:0 .25rem 0 var(--yellow)}
.dark :focus-visible{outline-color:var(--paper)}
.btn{background:var(--charcoal);border-radius:var(--radius);font-weight:800;letter-spacing:.08em;padding:1rem 1.5rem;min-height:var(--btn-h)}
.btn::after{transition:transform var(--dur-sweep) var(--ease-inout)}
.dark .btn,.btn.inv{background:var(--charcoal);color:var(--paper);box-shadow:inset 0 0 0 2px var(--paper)}
.logo{font-stretch:110%}
.logo i{border-radius:50%}
.tlink{text-decoration-thickness:2px}
.label::before{outline:1.5px solid var(--ink)}
.dark .label::before{outline-color:var(--paper)}
.muted{color:var(--ink-70)}.dark .muted{color:var(--paper-70)}
.tile .cap p{color:var(--ink-70)}

/* marker swash */
.mark{position:relative;white-space:nowrap;z-index:0;display:inline-block}
.mark svg{position:absolute;left:-.06em;right:-.08em;bottom:-.02em;width:calc(100% + .14em);height:.42em;z-index:-1;overflow:visible}
.mark path{fill:none;stroke:var(--yellow);stroke-width:26;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:no-preference){.mark path{stroke-dasharray:1000;animation:draw var(--dur-draw) var(--ease-inout) .35s both}@keyframes draw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}}

/* full bleed photo band (hero) */
.bleed{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;margin-top:clamp(2rem,5vw,4rem)}
.bleed figure{margin:0;position:relative;overflow:hidden;background:var(--ink)}
.bleed figure:first-child{grid-column:1/-1}
.bleed img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.bleed figure:first-child img{aspect-ratio:4/3}
.bleed figcaption{position:absolute;left:.75rem;bottom:.75rem;background:var(--ink);color:var(--paper);font:700 .8125rem/1.2 var(--f-display);letter-spacing:.1em;text-transform:uppercase;padding:.4rem .6rem;border-radius:.3rem}
@media (min-width:40em){.bleed{grid-template-columns:repeat(3,1fr)}.bleed figure:first-child{grid-column:auto}.bleed img,.bleed figure:first-child img{aspect-ratio:4/5}}
.hero{padding-bottom:0}
.hero-lede{display:grid;gap:1.5rem}
@media (min-width:64em){.hero-lede{grid-template-columns:7fr 5fr;align-items:end;gap:var(--gutter)}.hero-lede .sub{padding-bottom:.5rem}}
.sub{font-size:var(--step-1);line-height:1.4;max-width:34ch;margin:0}

/* even work grid, big photos */
.egrid{display:grid;grid-template-columns:1fr;gap:var(--gutter)}
@media (min-width:40em){.egrid{grid-template-columns:1fr 1fr}}
.egrid.three{}
@media (min-width:64em){.egrid.three{grid-template-columns:repeat(3,1fr)}}
.wt{display:block;text-decoration:none;color:inherit;position:relative}
.wt .ph-img{position:relative;overflow:hidden;background:var(--ink);aspect-ratio:3/2;border-radius:.25rem}
.wt .ph-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-5) var(--ease-out)}
.wt:hover .ph-img img,.wt:focus-visible .ph-img img{transform:scale(1.04)}
.wt .cap{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 0 0}
.wt h3{font-size:var(--step-1);font-weight:800;letter-spacing:-.015em;line-height:1.1}
.wt .cap p{margin:.35rem 0 0;color:var(--ink-70);font-size:1.0625rem}
.wt:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
.wt .stat-in{aspect-ratio:3/2;border:2px solid var(--ink);border-radius:.25rem;background:var(--paper);padding:clamp(1.25rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:space-between}
.wt .stat-in .n{font:900 clamp(4rem,2rem + 7vw,8rem)/.85 var(--f-display);letter-spacing:-.045em;font-stretch:110%}
.wt .stat-in p{margin:0;max-width:26ch;font-size:var(--step-1);line-height:1.25}
.wt .stat-in small{display:block;color:var(--ink-60);font-size:.9375rem;margin-top:.5rem}
.wide{grid-column:1/-1}
.wide .ph-img{aspect-ratio:21/9}
@media (max-width:40em){.wide .ph-img{aspect-ratio:3/2}}

/* stat cards (ink and paper) */
.scards{display:grid;gap:var(--gutter);grid-template-columns:1fr}
@media (min-width:40em){.scards{grid-template-columns:1fr 1fr}}
.scard{border:2px solid var(--ink);border-radius:.25rem;padding:clamp(1.25rem,3vw,2.25rem);background:var(--paper)}
.scard.ink{background:var(--ink);color:var(--paper)}
.scard .n{display:block;font:900 clamp(3.5rem,2rem + 6vw,7rem)/.85 var(--f-display);letter-spacing:-.045em;font-stretch:110%;margin-bottom:.75rem}
.scard p{margin:0;font-size:var(--step-1);line-height:1.25;max-width:24ch}
.scard small{display:block;margin-top:1rem;font-size:.9375rem;color:var(--ink-60)}
.scard.ink small{color:var(--paper-60)}

/* reel break */
.reel{background:var(--ink);color:var(--paper);padding-block:var(--section);overflow:hidden}
.reel .tc{font-family:var(--f-mono);font-size:var(--step--1);letter-spacing:.04em;color:var(--yellow);font-variant-numeric:tabular-nums}
.strip-film{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(17rem,78%);gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.75rem var(--margin);margin-top:2.5rem;background:#0b0b0b;
  background-image:radial-gradient(circle at center,var(--ink-80) .28rem,transparent .3rem),radial-gradient(circle at center,var(--ink-80) .28rem,transparent .3rem);background-size:1.4rem .8rem,1.4rem .8rem;background-position:0 .35rem,0 calc(100% - .35rem);background-repeat:repeat-x}
@media (min-width:64em){.strip-film{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;overflow:visible}}
.frm{scroll-snap-align:start;margin:0;position:relative}
.frm .vid,.frm .still{aspect-ratio:16/9;border:0;border-radius:.2rem;overflow:hidden;position:relative;background:var(--ink-90)}
.frm .still img{width:100%;height:100%;object-fit:cover}
.frm figcaption{font-family:var(--f-mono);font-size:var(--step--1);color:var(--paper-70);padding:.75rem .25rem 0;letter-spacing:.04em}
.frm figcaption b{color:var(--yellow);font-weight:500}
.frm::before,.frm::after{content:"";position:absolute;width:1.1rem;height:1.1rem;z-index:2;pointer-events:none}
.frm::before{left:.5rem;top:.5rem;border-left:3px solid var(--yellow);border-top:3px solid var(--yellow)}
.frm::after{right:.5rem;top:.5rem;border-right:3px solid var(--yellow);border-top:3px solid var(--yellow)}
.vid .playbtn:hover .playchip{background:var(--paper);box-shadow:0 0 0 3px var(--yellow)}
.vposter{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1rem;background:var(--ink-90);color:var(--paper);font:900 clamp(1.5rem,3vw,2.25rem)/1 var(--f-display);font-stretch:110%;letter-spacing:-.02em}

/* cursor bubble (lift and peek) */
.cur{width:.9rem;height:.9rem;background:var(--ink);box-shadow:0 0 0 .2rem var(--yellow);color:transparent}
.cur.big{width:6rem;height:6rem;margin:-3rem 0 0 -3rem;color:var(--paper);text-align:center;line-height:1.1;font-size:.75rem;padding:.5rem}

/* ghost drift, CSS only */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .ghost{animation:drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    @keyframes drift{from{translate:0 2.5rem}to{translate:0 -2.5rem}}
  }
}

/* book bar per art direction: phone only, one full width button, hidden while hero CTA is on screen */
.bookbar{border-top:1px solid var(--ink);background:rgb(247 246 242 / .95);padding:.625rem var(--margin) calc(.625rem + env(safe-area-inset-bottom));transition:transform var(--dur-3) var(--ease-out)}
.bookbar .btn{width:100%;min-height:3.25rem}
.bookbar.is-hidden{transform:translateY(110%)}
html{scroll-padding-bottom:6rem}
@media (min-width:64em){.bookbar{display:none!important}}
.hdr .wrap{min-height:4.5rem}

/* two step offer on /book */
.offer{list-style:none;margin:0;padding:0;display:grid;gap:var(--gutter)}
@media (min-width:48em){.offer{grid-template-columns:1fr 1fr}}
.offer>li{border:2px solid var(--ink);border-radius:.25rem;padding:clamp(1.25rem,3vw,2rem);position:relative}
.offer>li.next{border-style:dashed}
.offer h3{font-size:var(--step-2);font-stretch:106%;margin:1rem 0 .75rem;line-height:1}

@media (prefers-reduced-motion:reduce){
  :root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--dur-5:0ms;--dur-draw:0ms;--dur-sweep:0ms;--stagger:0ms}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  @view-transition{navigation:none}
}

.ar-45{--ar:4/5}.ar-32{--ar:3/2}.ar-169{--ar:16/9}.ar-11{--ar:1/1}.ar-916{--ar:9/16}
.feat .fi{display:grid;place-items:center;color:var(--paper);font:900 1.75rem/1 var(--f-display);position:relative}
.feat .fi img{position:absolute;inset:0}
.feat .fi img[hidden]{display:none}
.wt .ph-img.tall{aspect-ratio:4/5}
.wt .ph-img.fit img{object-fit:contain}
.sect-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.sect-head h2{margin:0;max-width:18ch}
.bigimg{margin:clamp(2rem,4vw,3rem) 0 0}
.bigimg img{width:100%;aspect-ratio:21/9;object-fit:cover}
@media (max-width:40em){.bigimg img{aspect-ratio:3/2}}
.list-clean{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.list-clean li{padding:1rem 0;border-bottom:1px solid var(--line);font-size:var(--step-0)}
.list-clean b{font-family:var(--f-display)}
.ba-pair{display:grid;gap:var(--gutter)}
@media (min-width:64em){.ba-pair{grid-template-columns:3fr 1fr;align-items:start}}
.ba.mob{max-width:22rem}
.mt-4{margin-top:4rem}.mt-35{margin-top:3.5rem}.mt-3{margin-top:3rem}.mt-25{margin-top:2.5rem}.mt-2{margin-top:2rem}.pt0{padding-top:0}
.tbx-num{line-height:1!important}.tbx-num .digits{display:flex;flex-direction:column}.tbx-num .digits span{height:1em;line-height:1}
.ctasub{margin:.75rem 0 0;font-size:1.0625rem;color:var(--ink-70)}
.dark .ctasub{color:var(--paper-70)}
.bk-b .offer{grid-template-columns:1fr}
.vposter{place-items:start;font-size:clamp(1.25rem,2.4vw,2rem)}
@media (prefers-reduced-motion:reduce){.tbx-list li .pill{opacity:1;transform:none}}
/* v2: [PENDING WILSON OK] stat placeholder. Deliberately looks unfinished: dashed, hatched, tagged. */
.pendstat{position:relative;border:3px dashed var(--ink);border-radius:.25rem;padding:clamp(2.75rem,4vw,3.25rem) clamp(1.25rem,3vw,2.25rem) clamp(1.25rem,3vw,2rem);background:repeating-linear-gradient(-45deg,var(--paper) 0 .9rem,var(--paper2) .9rem 1.8rem);color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;min-height:100%}
.wt .pendstat,.tbx-panel .pendstat{aspect-ratio:3/2}
.pendstat .ptag{position:absolute;top:.75rem;left:.75rem;background:var(--ink);color:var(--paper);font:800 .8125rem/1 var(--f-display,"Archivo"),sans-serif;letter-spacing:.06em;padding:.45rem .6rem;border-radius:.2rem}
.pendstat .n{font:900 clamp(3rem,1.5rem + 5vw,6rem)/.9 "Archivo",sans-serif;letter-spacing:-.04em;opacity:.55;text-decoration:line-through dashed 2px}
.pendstat p{margin:.4rem 0 0;max-width:34ch;font-size:1.0625rem;line-height:1.3}
.pendstat small{display:block;margin-top:.5rem;color:var(--gray);font-size:.9375rem}
.list-clean.dk{border-top-color:var(--paper)}
.list-clean.dk li{border-bottom-color:var(--line-d)}
.bookhero{display:grid;gap:2rem;align-items:center}
@media (min-width:64em){.bookhero{grid-template-columns:1.4fr 1fr;gap:4rem}}
.offer-one{border:2px solid var(--ink);border-radius:.25rem;padding:clamp(1.5rem,4vw,3rem);max-width:52rem}
.offer-one .price{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;margin:.5rem 0 1rem}
.offer-one .price .ph,.offer-one .price span{font-size:inherit}
.egrid>*,.strip>*,.tbx>*{min-width:0}
.wt .pendstat,.tbx-panel .pendstat{aspect-ratio:auto;min-height:15rem}
@media (min-width:40em){.wt .pendstat,.tbx-panel .pendstat{min-height:20rem}}
.dark .phbox{border-color:var(--paper);background:repeating-linear-gradient(-45deg,#1d1d1c 0 .9rem,#262624 .9rem 1.8rem)}
.dark .phbox p{color:var(--paper)}
.pendstat .n{text-decoration:none}
/* Labels that carry a date placeholder: wrap cleanly, drop the separator dot on phones */
.label{flex-wrap:wrap;row-gap:.5rem}
.label .sep{margin:0 .1rem 0 -.25rem}
@media (max-width:40em){.label .sep{display:none}}

/* ===== Revert oct26: original + photo book wides (proposals/original-plus-wides-oct26.md) ===== */
/* full-bleed bands, edge to edge: no frame, tilt, sticker or text on the photo */
.wideband{margin:0;width:100%;display:block;overflow:hidden;background:var(--paper2)}
.wideband.on-ink{background:var(--ink)}
.wideband .wide-img{display:block;width:100%;height:auto;object-fit:cover;object-position:50% 50%;border-radius:0}
.wide-line{margin:.75rem var(--margin,1.25rem) 0;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
/* phone ratios */
.m-169 .wide-img{aspect-ratio:16/9}.m-45 .wide-img{aspect-ratio:4/5}.m-31 .wide-img{aspect-ratio:3/1}.m-41 .wide-img{aspect-ratio:4/1}.m-219 .wide-img{aspect-ratio:21/9}
/* desktop ratios */
@media (min-width:40em){
  .w-219 .wide-img{aspect-ratio:21/9}.w-41 .wide-img{aspect-ratio:4/1}.w-169 .wide-img{aspect-ratio:16/9}.w-31 .wide-img{aspect-ratio:3/1}
}
/* focus */
.f-boat .wide-img{object-position:56% 46%}
.f-right .wide-img{object-position:86% 70%}
/* optional slow fade in, only when JS motion is on (off under prefers-reduced-motion) */
.js-motion .wideband.fade-pre .wide-img{opacity:0}
.js-motion .wideband .wide-img{transition:opacity 1.2s ease}
@media (prefers-reduced-motion:reduce){.js-motion .wideband.fade-pre .wide-img{opacity:1}.wideband .wide-img{transition:none}}

/* kept fixes */
.nw{white-space:nowrap}
@media (max-width:40em){.hero-second{display:none}}  /* See the work: desktop only on phones per copy/home.md */
.btn.pay{background:var(--char);color:var(--paper);text-align:center}
.btn.pay{min-height:44px}@media (max-width:39.99em){.btn.pay{display:flex;width:100%;justify-content:center}}
.btn.is-ph{opacity:.45;cursor:not-allowed;pointer-events:none}

/* ===== Six fixes (Oct 27) ===== */
/* mobile menu: full viewport below the header bar, above the book bar */
@media (max-width:63.99em){
  .nav.open{inset:0;top:0;padding-top:calc(4.5rem + 2rem);z-index:-1;height:100vh;height:100dvh}
  body:has(.nav.open) .bookbar{display:none}
  .hdr:has(.nav.open) .logo,.hdr:has(.nav.open) .menu-btn{color:var(--paper);border-color:var(--paper)}
  .hdr:has(.nav.open){border-bottom-color:transparent}
}
/* Strategy Session pay button stays hidden until sessionPayUrl is a real https link (site.js swaps in the live button) */
.pay-wait:has(.is-ph[data-pay]){display:none}
/* home W3 sunrise: keep the sun in the 4:5 phone crop */
.f-sun .wide-img{object-position:68% 50%}
/* home "who you work with": the & sticker fills the media column */
.duo-amp{padding-block:clamp(1rem,4vw,3rem)}
.duo-amp span{font-size:clamp(7rem,22vw,14rem)}
/* about: Patti sticker in the photo column */
.p-sticker{aspect-ratio:4/5;margin-bottom:0}
@media (max-width:63.99em){.p-sticker{aspect-ratio:16/10}}

/* ===== simple v1 additions ===== */
.sv-kicker{gap:.6rem;flex-wrap:wrap;font-size:clamp(.95rem,.8rem + .6vw,1.25rem);letter-spacing:.16em}
.sv-kicker::before{display:none}
.sv-dot{display:inline-block;width:.55em;height:.55em;background:var(--y);border:2px solid var(--ink);border-radius:50%}
.hero .sub{font-size:clamp(1.25rem,1rem + 1vw,1.6rem);line-height:1.35}
h2.d.sv-big,.sv-big{font-size:clamp(3rem,1.2rem + 9vw,9.5rem);font-weight:900;font-stretch:125%;line-height:.88;letter-spacing:-.045em;margin:0 0 1.5rem}
.sv-hl{background:var(--y);color:var(--ink);padding:0 .12em;border-radius:.08em;box-decoration-break:clone;-webkit-box-decoration-break:clone;display:inline-block;transform:rotate(-2deg)}
.dark .sv-hl{color:var(--ink)}
.sv-lede{max-width:40ch;font-size:clamp(1.2rem,1rem + .8vw,1.5rem)}
.sv-svc{list-style:none;margin:clamp(2.5rem,6vw,5rem) 0 0;padding:0;display:grid;gap:clamp(3rem,8vw,7rem)}
.sv-svc>li{display:grid;gap:1.5rem;align-items:center;border-top:2px solid var(--ink);padding-top:clamp(1.5rem,3vw,2.5rem)}
@media (min-width:56em){.sv-svc>li{grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,5rem)}.sv-svc>li:nth-child(even) .sv-media{order:2}}
.sv-copy{position:relative}
.sv-num{display:inline-block;background:var(--y);color:var(--ink);font:900 1rem/1 var(--f-display);letter-spacing:.06em;padding:.45rem .8rem;border:2px solid var(--ink);border-radius:999px;transform:rotate(-4deg)}
.sv-copy h3{font-size:clamp(3.25rem,1.5rem + 7vw,7.5rem);font-weight:900;font-stretch:125%;line-height:.85;letter-spacing:-.05em;margin:.9rem 0 1rem}
.sv-copy p{font-size:clamp(1.15rem,1rem + .4vw,1.35rem);max-width:34ch}
.sv-media .vid{aspect-ratio:16/10;transform:rotate(-1deg)}
.sv-stat{min-height:clamp(16rem,30vw,24rem);background:var(--ink);color:var(--paper);border-radius:.25rem;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,3rem);position:relative;overflow:hidden;transform:rotate(1deg)}
.sv-stat .n{font:900 clamp(4.5rem,2rem + 10vw,10rem)/.85 var(--f-display);font-stretch:125%;letter-spacing:-.05em;color:var(--y)}
.sv-stat p{margin:1rem 0 0;font-size:clamp(1.05rem,1rem + .4vw,1.35rem);color:var(--paper);max-width:24ch}
.sv-browser{aspect-ratio:16/10;border:2px solid var(--ink);border-radius:.5rem;background:var(--paper);overflow:hidden;display:flex;flex-direction:column;box-shadow:.6rem .6rem 0 var(--ink);transform:rotate(-1deg)}
.sv-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .8rem;background:var(--ink);color:var(--paper)}
.sv-bar i{width:.65rem;height:.65rem;border-radius:50%;background:var(--paper);opacity:.5}
.sv-bar i:first-child{background:var(--y);opacity:1}
.sv-bar span{margin-left:.6rem;font:600 .85rem/1 var(--f-body);background:rgba(247,246,242,.12);padding:.35rem .7rem;border-radius:999px}
.sv-page{flex:1;padding:clamp(1rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem;justify-content:center;background:linear-gradient(135deg,var(--paper) 60%,var(--y) 60%)}
.sv-page b{font:900 clamp(1.6rem,1rem + 3vw,3.25rem)/.9 var(--f-display);font-stretch:125%;letter-spacing:-.04em}
.sv-pbtn{align-self:flex-start;background:var(--ink);color:var(--paper);font:800 .8rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1rem;border-radius:.3rem}
.sv-lines{display:grid;gap:.4rem;max-width:60%}
.sv-lines i{height:.45rem;background:var(--ink);opacity:.15;border-radius:999px}
.sv-lines i:nth-child(2){width:80%}.sv-lines i:nth-child(3){width:55%}
.sv-flow{background:var(--ink);color:var(--paper);border-radius:.25rem;padding:clamp(1.25rem,3vw,2.25rem);transform:rotate(1deg)}
.sv-flow .sv-fh{font:800 .8rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--y);margin:0 0 .75rem}
.sv-flow ol{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sv-flow ol:last-child{margin-bottom:0}
.sv-flow li{display:inline-flex;align-items:center;gap:.5rem;border:2px solid var(--paper);border-radius:999px;padding:.4rem .8rem .4rem .4rem;font:800 clamp(.95rem,.85rem + .4vw,1.15rem)/1.1 var(--f-display)}
.sv-flow li .pill{font-size:.8rem;padding:.2rem .55rem}
.sv-flow li.cut{color:#BDBBB5;border-style:dashed}
.sv-flow li.cut s{text-decoration-thickness:2px}
.sv-flow li.cut em{font-style:normal;background:var(--y);color:var(--ink);padding:.15rem .45rem;border-radius:.2rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-6deg)}
.sv-flow li.yes{background:var(--y);color:var(--ink);border-color:var(--y)}
.sv-flowtile{display:flex;align-items:center;background:var(--ink);aspect-ratio:3/2}
.sv-flowtile .sv-flow{transform:none;width:100%}
.sv-unsure{margin-top:clamp(3rem,7vw,6rem);padding-top:2.5rem;border-top:2px solid var(--ink)}
.sv-unsure .d-m{max-width:24ch}
.dark .sv-big{color:var(--paper)}
.sv-steps h3{font-size:clamp(2rem,1.2rem + 3vw,3.5rem)}
.sv-face{aspect-ratio:1/1;max-width:26rem;border-radius:50%;transform:rotate(-3deg);box-shadow:.75rem .75rem 0 var(--y)}
.sv-face img{width:100%;height:100%;object-fit:cover}
.bleed figure:first-child figcaption{background:var(--y);color:var(--ink)}
.sv-namecard{aspect-ratio:4/5;background:var(--y);border:2px solid var(--ink);border-radius:.25rem;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,4vw,3rem)}
.sv-namecard span{font:900 clamp(4rem,2rem + 8vw,8rem)/.85 var(--f-display);font-stretch:125%;letter-spacing:-.05em}
.sv-namecard small{font:700 1rem/1.3 var(--f-display);letter-spacing:.12em;text-transform:uppercase;margin-top:1rem;max-width:20ch}
.sv-cards{display:grid;gap:1rem;max-width:30rem}
.sv-card{border:2px solid var(--ink);border-radius:.25rem;padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column}
.sv-card span{font:900 clamp(3rem,1.5rem + 6vw,6rem)/.85 var(--f-display);font-stretch:125%;letter-spacing:-.05em}
.sv-card small{font:700 .9rem/1.3 var(--f-display);letter-spacing:.12em;text-transform:uppercase;margin-top:.75rem}
.sv-card.ink{background:var(--ink);color:var(--paper);transform:rotate(-2deg)}
.sv-card.ink small{color:var(--y)}
.sv-card.yel{background:var(--y);color:var(--ink);transform:rotate(1.5deg);margin-left:clamp(1rem,6vw,4rem)}
@media (max-width:55.99em){.sv-svc .sv-media{order:2}}

/* ===== simple v1: real case studies ===== */
.sv-cases{list-style:none;margin:clamp(2rem,5vw,3.5rem) 0 0;padding:0;display:grid;gap:clamp(2.5rem,6vw,5rem)}
.sv-case{display:grid;gap:1.25rem;align-content:start}
.sv-cmedia .ph-img{position:relative;overflow:hidden;background:var(--ink);aspect-ratio:3/2;border-radius:.25rem}
.sv-cmedia .ph-img img{width:100%;height:100%;object-fit:cover}
.sv-ccopy .sv-num{font-size:.85rem;padding:.35rem .65rem}
.sv-ccopy .meta{margin:.9rem 0 .5rem}
.sv-ccopy h3,.sv-ccopy h2{font-size:clamp(1.75rem,1.2rem + 2.2vw,3rem);font-weight:900;font-stretch:115%;line-height:.95;letter-spacing:-.03em;margin:0 0 1rem}
.sv-cdl{margin:0;display:grid;gap:.35rem}
.sv-cdl dt{font:800 .8rem/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;margin-top:.6rem}
.sv-cdl dt::before{content:"";display:inline-block;width:.5rem;height:.5rem;background:var(--y);outline:1.5px solid var(--ink);margin-right:.5rem;vertical-align:.05em}
.sv-cdl dd{margin:0;font-size:1.0625rem;line-height:1.45;max-width:44ch}
.sv-cases.work>.sv-case{border-top:2px solid var(--ink);padding-top:clamp(1.25rem,3vw,2rem)}
@media (min-width:56em){.sv-cases.work>.sv-case{grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,4rem);align-items:center}}
.sv-cases.home{gap:clamp(2rem,4vw,3rem) var(--gutter)}
@media (min-width:40em){.sv-cases.home{grid-template-columns:1fr 1fr}}
.sv-cases.home .sv-ccopy h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
.sv-cases.home .sv-cdl dd{font-size:1rem}
.sv-cases.home .sv-flow{transform:none}
.sv-cases.home .sv-cstat .n{font-size:clamp(3rem,1.6rem + 3vw,4.25rem);white-space:nowrap}
.sv-tbox,.sv-cbox{display:flex}
.sv-cmedia .ph-img.sv-flowtile{aspect-ratio:auto;min-height:0;padding:clamp(1rem,3vw,2rem) 0}
@media (min-width:56em){.sv-cases.work .sv-cmedia .ph-img.sv-flowtile{aspect-ratio:3/2;padding:0 clamp(1rem,3vw,2rem)}}
.sv-tcard{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.25rem,3vw,2rem);background:var(--ink);color:var(--paper)}
.sv-tcard span{font:900 clamp(2.75rem,1.5rem + 4vw,4.5rem)/.9 var(--f-display);font-stretch:125%;letter-spacing:-.05em}
.sv-tcard span.y{color:var(--y)}
.sv-tcard small{font:700 .85rem/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;margin-top:1rem;color:#BDBBB5}
.sv-cstat{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.25rem,3vw,2.5rem);background:var(--ink);color:var(--paper)}
.sv-cstat .n{font:900 clamp(3.5rem,2rem + 5vw,7rem)/.85 var(--f-display);font-stretch:125%;letter-spacing:-.05em;color:var(--y)}
.sv-cstat p{margin:1rem 0 0;font-size:clamp(1.05rem,1rem + .4vw,1.3rem);max-width:24ch}
.sv-more{margin-top:clamp(2.5rem,6vw,4rem);padding-top:1.5rem;border-top:2px solid var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;font-weight:700}

/* ===== simple v1: case study pages ===== */
.cs-top .meta{margin:.25rem 0 1rem}
.cs-herowrap{padding-top:0}
.cs-hero{margin:0;max-width:60rem}
.cs-hero img{width:100%;height:auto;display:block;border-radius:.25rem;background:var(--ink)}
.cs-hero figcaption,.cs-gal figcaption,.cs-ba figcaption{font-size:.9375rem;line-height:1.4;margin-top:.6rem;color:var(--muted,#55534E)}
.cs-flowhero,.cs-stathero{max-width:40rem;display:flex}
.cs-flowhero .sv-flow{transform:none;flex:1}
.cs-stathero .sv-cstat{border-radius:.25rem}
.cs-sec{border-top:2px solid var(--ink)}
.cs-grid{display:grid;gap:.5rem}
@media (min-width:56em){.cs-grid{grid-template-columns:3fr 9fr;gap:2rem}}
.cs-sec p{max-width:60ch;font-size:1.0625rem;line-height:1.55}
.cs-list{margin:0;padding:0;list-style:none;display:grid;gap:.6rem;max-width:60ch}
.cs-list li{position:relative;padding-left:1.4rem;font-size:1.0625rem;line-height:1.5}
.cs-list li::before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;background:var(--y);outline:1.5px solid var(--ink)}
.cs-h3{font:800 1rem/1.2 var(--f-display);letter-spacing:.12em;text-transform:uppercase;margin:1.5rem 0 .75rem}
.cs-gal{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:1.25rem}
.cs-gal figure{margin:0}
.cs-gal img{width:100%;height:auto;display:block;border-radius:.25rem;background:var(--ink)}
.cs-gal.four{grid-template-columns:1fr 1fr}
@media (min-width:48em){.cs-gal.three{grid-template-columns:repeat(3,1fr)}.cs-gal.two{grid-template-columns:1fr 1fr;align-items:start}.cs-gal.four{grid-template-columns:repeat(4,1fr)}}
.cs-ba{display:grid;gap:1.25rem .75rem;margin-top:1.25rem;grid-template-columns:1fr 1fr}
@media (min-width:48em){.cs-ba{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cs-ba figure{margin:0}
.cs-ba img{width:100%;height:auto;display:block;border:2px solid var(--ink);border-radius:.75rem}
.cs-tag{display:inline-block;font:800 .8rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:.45rem .6rem;border-radius:.3rem;margin:0 0 .6rem}
.cs-tag.y{background:var(--y);color:var(--ink)}
.cs-psy{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:1.25rem;counter-reset:psy;max-width:62ch}
.cs-psy li{counter-increment:psy;position:relative;padding-left:3rem}
.cs-psy li::before{content:counter(psy);position:absolute;left:0;top:0;width:2rem;height:2rem;display:grid;place-items:center;background:var(--y);border:2px solid var(--ink);border-radius:50%;font:900 1rem/1 var(--f-display)}
.cs-psy h3{font:800 1.25rem/1.2 var(--f-display);margin:.2rem 0 .35rem}
.cs-psy p{margin:0}
.cs-more{margin-top:1.5rem;font-weight:700}

.bleed picture{display:block;width:100%;height:100%}
