/* ============================================================
   Brittani's world — the new theme (home, about)
   Real photographs and cut-outs only. Text lives on things she
   actually uses at work: notebooks, reports, scripts, receipts.
   ============================================================ */
:root{
  --espresso:#22130e; --cocoa:#4a2f24; --mocha:#7a5444; --latte:#b8977e;
  --cream:#f4e8d4; --paper:#fbf4e7; --burgundy:#6b1424; --wine:#3f0a14;
  --blush:#e8a3b1; --butter:#f1d06e; --brass:#c9a24f; --ink:#2a1812; --ink-soft:#5b4136;
  --red:#c8202e; --pen:#b3263a;
  --f-display:"Gloock","Bodoni 72",Didot,Georgia,serif;
  --f-serif:"Instrument Serif","Cormorant Garamond",Georgia,serif;
  --f-body:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --f-hand:"Caveat","Bradley Hand","Segoe Print",cursive;
  --f-mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace;
  --f-news:"Anton","Impact","Arial Narrow",sans-serif;
  --gutter:clamp(18px,4vw,56px);
  --ease:cubic-bezier(.22,.8,.2,1);
  --spring:cubic-bezier(.3,1.35,.4,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
html.doors-on{overflow:hidden}
body.world{margin:0;background:var(--espresso);color:var(--cream);font:400 18px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
:where(.world) img,:where(.world) video{max-width:100%;display:block}
.world a{color:inherit}
.world button{font:inherit;color:inherit;cursor:pointer}
.world h1,.world h2,.world h3{font-weight:400;margin:0;line-height:.95;text-wrap:balance}
.world p{margin:0}
:focus-visible{outline:2px solid var(--butter);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--butter);color:var(--wine);padding:8px 14px;border-radius:99px}
.skip:focus{left:12px}
/* film grain on everything */
body.world::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes grain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}100%{transform:translate(0,0)}}

.w-kicker{font:600 12px/1.3 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--blush)}
.w-hand{font:600 clamp(24px,2.6vw,34px)/1.15 var(--f-hand);color:var(--butter)}
.mark{background:linear-gradient(transparent 55%,rgba(241,208,110,.55) 55% 92%,transparent 92%) no-repeat 0 0/0% 100%;transition:background-size 1s var(--ease) .5s;padding-inline:.1em}
.in .mark,.mark.in{background-size:100% 100%}
.mark--pink{background-image:linear-gradient(transparent 55%,rgba(232,163,177,.6) 55% 92%,transparent 92%)}
.pen{font:600 clamp(22px,2.2vw,30px)/1.1 var(--f-hand);color:var(--pen);transform:rotate(-4deg)}

/* ── reveal choreography (only when JS is on, so nothing hides without it) ── */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.js .slide-in{opacity:0;transform:translateX(60px) rotate(4deg);transition:opacity 1s var(--ease) var(--d,.1s),transform 1.1s var(--spring) var(--d,.1s)}
.js .slide-in.in{opacity:1;transform:rotate(var(--tilt,2deg))}
.js .float-in{opacity:0;transform:translateY(80px) scale(.9);transition:opacity 1s var(--ease),transform 1.3s var(--spring)}
.js .float-in.in{opacity:1;transform:none}
.js .write{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s steps(28,end) calc(var(--i,0)*.75s + .2s)}
.js .in .write,.js .write.in{clip-path:inset(0 -5% 0 0)}
[data-type].typing::after{content:"▌";margin-left:2px;animation:caret .8s steps(1) infinite;color:var(--pen)}
@keyframes caret{50%{opacity:0}}

/* ── header ─────────────────────────────── */
.w-top{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 14px;transition:background .4s,backdrop-filter .4s;color:var(--cream)}
.w-top.solid{background:rgba(34,19,14,.95)}
.w-mark{font:400 22px/1 var(--f-display);text-decoration:none;white-space:nowrap}
.w-mark i{font-family:var(--f-serif);color:var(--blush)}
.w-nav{display:flex;gap:clamp(12px,2.4vw,30px);align-items:center;font:500 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.w-nav a{text-decoration:none;opacity:.85}
.w-nav a:hover,.w-nav a[aria-current]{opacity:1;color:var(--butter)}
.w-nav .w-cta{border:1px solid var(--butter);color:var(--butter);border-radius:99px;padding:9px 14px;opacity:1}
@media (max-width:640px){.w-nav a:not(.w-cta){display:none}.w-mark{font-size:19px}}

/* ── 0 · the French doors ─────────────────── */
.doors{position:fixed;inset:0;z-index:120;display:none;pointer-events:auto;cursor:pointer}
.doors-on .doors{display:block}
.doors-box{position:absolute;left:50%;top:52%;height:min(125vh,204vw);aspect-ratio:2/3;transform:translate(-50%,-50%);perspective:2200px;container-type:inline-size;
  box-shadow:0 0 0 200vmax #1b120d;transition:transform 1.5s cubic-bezier(.6,0,.3,1) .85s,opacity .8s ease 1.5s}
.doors-box::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;
  background:linear-gradient(90deg,#1b120d 0,rgba(27,18,13,0) 13%,rgba(27,18,13,0) 87%,#1b120d 100%),linear-gradient(180deg,#1b120d 0,rgba(27,18,13,0) 7%,rgba(27,18,13,0) 88%,#1b120d 100%)}
.doors-frame{position:absolute;inset:0;width:100%;height:100%}
.leaf{position:absolute;top:10.556%;height:69.889%;transform-style:preserve-3d;transition:transform 1.7s cubic-bezier(.55,0,.25,1);z-index:2}
.leaf img{width:100%;height:100%;display:block;box-shadow:0 0 40px rgba(0,0,0,.45)}
.leaf--l{left:16.667%;width:33.722%;transform-origin:left center}
.leaf--r{left:50.389%;width:33.778%;transform-origin:right center}
.gilt{position:absolute;left:8%;right:8%;top:24%;text-align:center;color:transparent;background:linear-gradient(180deg,#fff2c4,#d8ac4c 38%,#8c661f 58%,#f2d68c 78%,#a77d2b);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 1px 0 rgba(60,40,10,.35));pointer-events:none}
.gilt--name{font:400 5.4cqw/.98 var(--f-display)}
.gilt--name em{display:block;font:italic 400 3.6cqw/1.4 var(--f-serif)}
.gilt--trade{font:600 1.9cqw/1.75 var(--f-body);letter-spacing:.3em;text-transform:uppercase;top:25%}
.gilt--trade small{display:block;margin-top:2cqw;font-size:1.3cqw;letter-spacing:.22em}
.doors-hint{position:absolute;left:50%;top:84%;translate:-50% 0;z-index:5;font:600 4cqw/1 var(--f-hand);color:var(--butter);transform:rotate(-3deg);opacity:.95;transition:opacity .3s;animation:nudge 2.2s ease-in-out infinite}
@keyframes nudge{50%{transform:rotate(-3deg) translateY(-.8cqw)}}
.doors-skip{position:absolute;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:5;border:1px solid rgba(244,232,212,.4);background:transparent;border-radius:99px;padding:9px 14px;font:600 11px/1 var(--f-body)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
.doors.open{pointer-events:none}
.doors.open .leaf--l{transform:rotateY(-108deg)}
.doors.open .leaf--r{transform:rotateY(108deg)}
.doors.open .doors-hint,.doors.open .doors-skip{opacity:0}
.doors.open .doors-box{transform:translate(-50%,-50%) scale(2.6);opacity:0}

/* ── 1 · breaking news hero ─────────────────── */
.s-news{position:relative;min-height:min(100svh,980px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);align-items:center;
  padding:calc(110px + env(safe-area-inset-top,0px)) var(--gutter) clamp(60px,7vw,90px);
  background:radial-gradient(ellipse at 25% 45%,rgba(232,163,177,.16),transparent 55%),linear-gradient(180deg,rgba(34,19,14,.55),rgba(34,19,14,.92)),url(/assets/velvet.jpg) center/cover;overflow:hidden}
.news-kicker b{background:var(--red);color:#fff;padding:4px 8px;border-radius:3px;margin-right:10px;letter-spacing:.1em}
.news-name{font-family:var(--f-display);font-size:clamp(68px,12.5vw,210px);line-height:.84;margin-top:22px;letter-spacing:-.02em}
.news-name .ln{display:block}
.news-name .ln--2{font-family:var(--f-serif);font-style:italic;color:var(--blush);padding-left:.35em}
.js .news-name .ln{opacity:0;transform:translateY(.4em) rotate(2deg);transition:opacity 1s var(--ease),transform 1.2s var(--spring)}
.js .news-name .ln--2{transition-delay:.15s}
.js .ready .news-name .ln{opacity:1;transform:none}
.news-note{margin-top:22px;max-width:18em}
.news-note .mark{color:var(--cream)}
.news-roles{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.news-roles li{border:1px solid rgba(244,232,212,.35);border-radius:99px;padding:8px 14px;font:500 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.news-where{margin-top:20px;font:500 15px/1.4 var(--f-body);color:rgba(244,232,212,.8);display:flex;align-items:center;gap:10px}
.dot{width:9px;height:9px;border-radius:50%;background:#5bd16a;box-shadow:0 0 0 0 rgba(91,209,106,.6);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(91,209,106,0)}100%{box-shadow:0 0 0 0 rgba(91,209,106,0)}}
.news-set{position:relative;padding-top:26%;width:100%;max-width:600px;justify-self:center}
.tv{position:relative;width:100%;aspect-ratio:930/985;z-index:3}
.tv-shell{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55))}
.tv-stage{position:absolute;left:0;top:0;width:1000px;height:1059px;transform-origin:0 0;transform:scale(var(--k,.5));z-index:3;pointer-events:none}
.tv-screen{position:absolute;left:0;top:0;width:857px;height:565px;transform-origin:0 0;overflow:hidden;background:#0b0a09;border-radius:28px;
  transform:matrix3d(0.8498334,0.1017279,0,0.0001235276,-0.02965371,0.924603,0,-4.842565e-05,0,0,1,0,230.1075,172.043,0,1)}
.tv-screen video{width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.tv-screen::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 2px,transparent 2px 4px),radial-gradient(ellipse at 50% 50%,transparent 52%,rgba(0,0,0,.65))}
.tv-bug{position:absolute;top:28px;left:36px;z-index:2;display:flex;gap:10px;align-items:center;font:700 26px/1 var(--f-body);letter-spacing:.08em;color:#fff}
.tv-bug b{background:var(--red);padding:6px 10px;border-radius:4px;animation:blinklive 1.6s infinite}
@keyframes blinklive{50%{opacity:.5}}
.tv-chan{position:absolute;top:26px;right:44px;z-index:2;font:400 36px/1 var(--f-display);color:rgba(255,255,255,.88)}
.tv-lower{position:absolute;left:0;right:0;bottom:62px;z-index:2;display:grid;grid-template-columns:auto 1fr}
.tv-bn{background:var(--red);color:#fff;font:400 36px/1 var(--f-news);padding:16px 18px 12px;text-transform:uppercase;display:grid;place-items:center}
.tv-hl{background:#fffaf0;color:#1a0f0b;padding:12px 20px 10px;transition:opacity .25s}
.tv-hl-main{display:block;font:400 32px/1.05 var(--f-news);text-transform:uppercase}
.tv-hl small{display:block;font:600 15px/1.2 var(--f-body);letter-spacing:.06em;color:var(--burgundy);text-transform:uppercase;margin-top:5px}
.tv-tick{position:absolute;left:0;right:0;bottom:0;height:62px;z-index:2;background:#1a0f0b;color:var(--butter);overflow:hidden;display:flex;align-items:center;border-top:3px solid var(--red)}
.tv-tick-run,.band-tick-run{display:inline-flex;white-space:nowrap;animation:tick 30s linear infinite;font:700 24px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase}
.tv-tick-run span,.band-tick-run span{padding-right:44px}
.tv-tick-run span::before,.band-tick-run span::before{content:"●";color:var(--red);margin-right:16px;font-size:.6em;vertical-align:middle}
@keyframes tick{to{transform:translateX(-50%)}}
.band-tick{position:relative;z-index:4;display:flex;align-items:stretch;background:var(--red);color:#fff;overflow:hidden;border-block:2px solid #8f1220}
.band-tick-label{flex:none;display:grid;place-items:center;padding:0 18px;background:#fff;color:var(--red);font:400 22px/1 var(--f-news);text-transform:uppercase;letter-spacing:.04em}
.band-tick-run{padding-block:14px;font:400 clamp(20px,2.4vw,30px)/1 var(--f-news);letter-spacing:.03em;animation-duration:40s}
.band-tick-run span::before{color:var(--butter)}

/* the peek: she comes out from behind things */
.peek{position:absolute;z-index:1;overflow:hidden;pointer-events:none}
.peek img{position:absolute;left:0;width:100%;top:0;transform:translateY(105%);transition:transform 1.2s var(--spring)}
.peek.from-side img{top:auto;bottom:0}
.peek.on img{transform:none}
.peek--tv{left:12%;top:-2%;width:40%;height:44%}
.thought{position:absolute;z-index:6;width:min(270px,52%);opacity:0;transform:scale(.8) translateY(10px);transform-origin:var(--tx,80%) 110%;transition:opacity .4s .6s,transform .6s .6s var(--spring);color:var(--ink);text-align:center;cursor:pointer}
.thought.on{opacity:1;transform:none}
.thought .cloud{position:relative;display:block;background:#fffaf0;border-radius:50%/46%;padding:24px 26px 26px;font:500 clamp(14px,1.3vw,16px)/1.3 var(--f-body);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.thought .cloud::before,.thought .cloud::after{content:"";position:absolute;background:#fffaf0;border-radius:50%;z-index:-1}
.thought .cloud::before{width:46%;height:62%;top:-17%;left:12%}
.thought .cloud::after{width:40%;height:58%;top:-12%;right:10%}
.thought .tx{position:relative;z-index:1;transition:opacity .25s}
.thought i{position:absolute;background:#fffaf0;border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.2)}
.thought i:nth-of-type(1){width:20px;height:20px;bottom:-24px;left:var(--tx,80%)}
.thought i:nth-of-type(2){width:12px;height:12px;bottom:-42px;left:calc(var(--tx,80%) + var(--td,12px))}
.thought--tv{left:46%;top:0;--tx:14%;--td:-12px}

/* ── 2 · notes to self ─────────────────── */
.s-notes{position:relative;padding:clamp(80px,10vw,150px) var(--gutter);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.6fr);gap:clamp(24px,4vw,60px);align-items:start;
  background:#e9dcc6 radial-gradient(rgba(122,84,68,.2) 1.6px,transparent 2px) 0 0/26px 26px;color:var(--ink)}
.notebook{position:relative;background:#fffdf6;border-radius:4px 10px 10px 4px;box-shadow:0 30px 60px rgba(42,24,18,.25),0 2px 0 #e6dcc8;padding:56px clamp(22px,4vw,56px) 50px clamp(64px,8vw,104px);transform:rotate(-1deg);max-width:820px}
.nb-page{background:repeating-linear-gradient(180deg,transparent 0 43px,rgba(80,120,170,.28) 43px 44px);background-position:0 30px;position:relative}
.nb-page::before{content:"";position:absolute;top:-56px;bottom:-50px;left:-26px;width:2px;background:rgba(200,32,46,.45)}
.nb-rings{position:absolute;top:24px;bottom:24px;left:18px;width:26px;background:radial-gradient(circle at 50% 50%,#3a2a24 0 6px,transparent 7px) 0 0/26px 44px repeat-y}
.nb-rings::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 50%,#d8d2c8 0 5px,transparent 6px) -6px 0/26px 44px repeat-y;opacity:.6}
.nb-head{display:flex;justify-content:space-between;font:700 30px/44px var(--f-hand);color:var(--burgundy)}
.nb-list{margin:0;padding-left:1.3em;font:500 clamp(25px,2.6vw,33px)/44px var(--f-hand);color:#1f2f4d}
.nb-list li{padding-left:.2em}
.nb-list li::marker{font-weight:700;color:var(--burgundy)}
.nb-margin{position:absolute;right:-6px;bottom:96px;font:700 28px/1 var(--f-hand);color:var(--pen);transform:rotate(-6deg)}
.nb-sign{font:700 34px/44px var(--f-hand);color:var(--burgundy);text-align:right;margin-top:6px}
.nb-photo{margin:40px 0 0;background:#fffdf6;padding:14px 14px 18px;box-shadow:0 24px 50px rgba(42,24,18,.3);--tilt:3deg;max-width:380px;justify-self:center}
.nb-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.nb-photo figcaption{color:var(--ink);text-align:center;margin-top:8px;font-size:30px}
.rip{grid-column:2;margin:0;padding:28px 26px 30px;background:#f9f1df;color:var(--ink);--tilt:-2.5deg;max-width:380px;justify-self:center;box-shadow:0 16px 30px rgba(42,24,18,.2);
  -webkit-mask:linear-gradient(#000 0 0),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 12V5l7 3 9-6 6 5 10-4 8 6 9-5 7 4 11-6 8 5 9-3 7 5 12-6 6 5 9-4 10 5 8-6 7 6 10-4 9 5 13-5V12Z'/%3E%3C/svg%3E") bottom/100% 12px no-repeat;
  -webkit-mask-composite:source-over;mask:linear-gradient(#000 0 0) top/100% calc(100% - 11px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 0V7l7-3 9 6 6-5 10 4 8-6 9 5 7-4 11 6 8-5 9 3 7-5 12 6 6-5 9 4 10-5 8 6 7-6 10 4 9-5 13 5V0Z'/%3E%3C/svg%3E") bottom/100% 12px no-repeat}
.rip p{font:italic 400 clamp(22px,2vw,28px)/1.25 var(--f-serif)}
.rip cite{display:block;margin-top:12px;font:600 22px/1 var(--f-hand);color:var(--pen);font-style:normal}

/* ── shared section heads ─────────────────── */
.s-head{text-align:center;display:grid;gap:12px;justify-items:center}
.s-title{font-family:var(--f-display);font-size:clamp(52px,8vw,124px);letter-spacing:-.015em}
.s-title em{font-family:var(--f-serif);color:var(--blush)}

/* ── 3 · the machine ─────────────────── */
.s-machine{position:relative;padding:clamp(80px,10vw,140px) var(--gutter);background:radial-gradient(ellipse at 50% 30%,rgba(241,208,110,.12),transparent 60%),linear-gradient(180deg,#2c1a13,#1d110c);overflow:hidden}
.machine-row{margin:clamp(40px,5vw,70px) auto 0;max-width:1100px;display:grid;grid-template-columns:minmax(0,560px) minmax(0,330px);gap:clamp(28px,5vw,70px);justify-content:center;align-items:start}
.vend{position:relative;aspect-ratio:1400/2097;container-type:inline-size;isolation:isolate}
.vend-body{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 50px 60px rgba(0,0,0,.6))}
.vend-glass{position:absolute;left:19%;top:4.96%;width:55.5%;height:59.5%;z-index:2;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));padding:2% 2.5% 0;overflow:visible}
.vend-glass::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(118deg,rgba(255,255,255,.12),rgba(255,255,255,0) 32%,rgba(255,255,255,0) 64%,rgba(255,255,255,.06) 80%,rgba(255,255,255,0))}
.vrow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-items:stretch;gap:2%;min-height:0}
.vrow::after{content:"";position:absolute;left:-2%;right:-2%;bottom:0;height:5.5cqw;max-height:28px;background:linear-gradient(180deg,#b9b7b4,#7d7b78 40%,#3c3a38);box-shadow:0 3px 6px rgba(0,0,0,.6);z-index:1;border-radius:1px}
.slot{position:relative;height:100%;min-height:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5cqw;border:0;background:none;padding-inline:0;z-index:2}
.slot img{max-height:calc(100% - 1cqw);max-width:96%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(0,0,0,.55));transform-origin:50% 100%;transition:transform .5s var(--spring)}
.slot:hover img,.slot:focus-visible img{transform:translateY(-3%) scale(1.06) rotate(-2deg)}
.slot .code{position:absolute;bottom:.9cqw;left:50%;transform:translateX(-50%);z-index:3;font:700 1.9cqw/1 var(--f-mono);color:#1a1210;background:#f4f0e6;padding:.5cqw .9cqw;border-radius:2px;white-space:nowrap}
.slot .name{position:absolute;bottom:calc(100% - 4cqw);left:50%;transform:translate(-50%,6px);z-index:6;opacity:0;transition:all .2s;background:var(--butter);color:var(--wine);font:700 2.4cqw/1 var(--f-mono);padding:1cqw 1.4cqw;border-radius:3px;white-space:nowrap;pointer-events:none}
.slot:hover .name,.slot:focus-visible .name{opacity:1;transform:translate(-50%,0)}
.slot.sold img{opacity:0}
.slot .soldout{font:400 3.4cqw/1 var(--f-news);color:var(--red);border:.4cqw solid var(--red);padding:1cqw 1.6cqw;transform:rotate(-12deg);margin-bottom:6cqw;letter-spacing:.05em;background:rgba(0,0,0,.2)}
.js .slot img.stock{animation:stock .8s var(--spring) both;animation-delay:var(--sd,0s)}
@keyframes stock{from{transform:translateY(-130%);opacity:0}}
.slot img.vending{animation:vendspin .55s ease-in-out both}
@keyframes vendspin{40%{transform:translateY(-4%) rotate(-6deg) scale(1.08)}100%{transform:translateY(6%) rotate(4deg)}}
.slot img.falling{animation:fall .75s cubic-bezier(.5,0,.9,.6) both}
@keyframes fall{to{transform:translateY(var(--fall,300%)) rotate(24deg);opacity:0}}
.vend-lcd{position:absolute;left:84.6%;top:16.3%;width:11%;height:12.4%;z-index:2;display:grid;place-items:center;text-align:center;background:#101a0c;color:#b6e08a;border-radius:3px;font:700 3cqw/1.2 var(--f-mono);text-shadow:0 0 8px rgba(182,224,138,.75);box-shadow:inset 0 0 14px rgba(0,0,0,.9)}
.vend-pop{position:absolute;left:8%;right:8%;top:63%;z-index:7;background:#fffaf0;color:var(--ink);border-radius:4px;padding:3.4cqw;display:grid;grid-template-columns:22cqw 1fr;gap:3.4cqw;align-items:center;box-shadow:0 24px 50px rgba(0,0,0,.6);opacity:0;transform:translateY(30%) scale(.7);transition:all .5s var(--spring);pointer-events:none}
.vend-pop.on{opacity:1;transform:none}
.vend-pop img{width:22cqw;height:22cqw;object-fit:contain}
.vend-pop .vp-code{font:700 2.6cqw/1 var(--f-mono);color:var(--burgundy)}
.vend-pop .vp-name{font:400 6.4cqw/1 var(--f-display);margin-top:1cqw}
.vend-pop .vp-val{font:600 4.8cqw/1.05 var(--f-hand);color:var(--pen);margin-top:1.4cqw}
.peek--vend{left:-30%;top:30%;width:32%;height:63%;z-index:-1}
.peek--vend img{top:auto;bottom:0;transform:translateX(100%)}
.peek--vend.on img{transform:translateX(18%)}
.thought--vend{left:-36%;top:31%;width:min(230px,52%);--tx:66%}
.receipt{position:relative;background:#fffdf7;color:#2a1812;font:13px/1.6 var(--f-mono);padding:26px 22px 34px;box-shadow:0 30px 50px rgba(0,0,0,.45);transform:rotate(1.6deg);transform-origin:top center;margin-top:8%;
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) bottom/16px 100% repeat-x;mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) bottom/16px 100% repeat-x}
.r-shop{font:400 26px/1 var(--f-display);text-align:center}
.r-sub{text-align:center;font-size:11px;margin-top:6px;color:#6b5547}
.r-rule{border-top:1px dashed #8d7a62;margin:12px 0}
.r-lines{min-height:120px;display:grid;gap:2px}
.r-line{display:grid;grid-template-columns:2.4em 1fr auto;gap:8px;animation:printline .45s var(--ease)}
.r-line span:last-child{text-align:right;color:var(--burgundy);font-weight:700}
@keyframes printline{from{opacity:0;transform:translateY(-8px)}}
.r-total p{display:flex;justify-content:space-between;gap:10px}
.r-big{font-weight:700;font-size:14px}
.r-pay{display:block;margin-top:14px;text-align:center;background:var(--burgundy);color:var(--cream)!important;text-decoration:none;padding:11px;border-radius:3px;font:700 12px/1 var(--f-mono);letter-spacing:.08em}
.r-thanks{text-align:center;margin-top:10px;font-size:11px;color:#6b5547}

/* ── 4 · filing tabs ─────────────────── */
.s-filing{padding:clamp(90px,11vw,170px) var(--gutter) clamp(60px,7vw,100px);background:var(--paper);color:var(--ink);text-align:center}
.s-filing .w-kicker{color:var(--burgundy)}
.filing-title{font-family:var(--f-display);font-size:clamp(60px,11vw,180px);margin-top:14px;letter-spacing:-.02em}
.filing-title em{font-family:var(--f-serif);color:var(--burgundy)}
.filing-tabs{margin:clamp(40px,5vw,70px) auto 0;max-width:1100px;display:flex;flex-wrap:wrap;justify-content:center;gap:0 6px;align-items:end}
.ftab{position:relative;display:grid;gap:4px;text-decoration:none;padding:18px 22px 22px;min-width:170px;background:#e8d6b8;border-radius:12px 12px 0 0;box-shadow:inset 0 -10px 16px rgba(0,0,0,.06);color:var(--ink);transition:transform .3s var(--spring),background .3s}
.ftab:nth-child(2){background:#f0c9cf}.ftab:nth-child(3){background:#ead48f}.ftab:nth-child(4){background:#d9b3a0}.ftab:nth-child(5){background:#c9b8a4}
.ftab:hover{transform:translateY(-10px)}
.ftab b{font:400 22px/1 var(--f-display)}
.ftab span{font:600 20px/1 var(--f-hand);color:var(--burgundy)}

/* ── the files ─────────────────── */
.s-file{position:relative;padding:clamp(90px,10vw,150px) var(--gutter);overflow:hidden}
.file-hero{max-width:1200px;margin:0 auto clamp(40px,5vw,70px);display:grid;gap:14px}
.file-name{font-family:var(--f-display);font-size:clamp(64px,11vw,180px);letter-spacing:-.02em}
.file-hand{max-width:24em}

.s-socielle{background:radial-gradient(ellipse at 20% 30%,rgba(232,163,177,.18),transparent 55%),linear-gradient(180deg,var(--wine),#2a0710)}
.soc-stage{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,70px);align-items:center}
.soc-tablet{width:100%;max-width:340px;justify-self:center;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55));rotate:-6deg}
.changelog{position:relative;background:#fbf7ee;color:#2a1812;border-radius:6px;padding:28px clamp(20px,3vw,40px) 34px;font:14px/1.7 var(--f-mono);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.cl-file{font-weight:700;color:var(--mocha);border-bottom:1px solid #e3d8c6;padding-bottom:10px;margin-bottom:14px;letter-spacing:.06em}
.cl-entry{padding:8px 0 10px;border-bottom:1px dashed #e3d8c6;display:grid;gap:2px}
.cl-v{font-weight:700;font-size:16px;color:var(--burgundy)}
.cl-v span{font-weight:400;color:var(--ink-soft);margin-left:8px}
.cl-entry p:not(.cl-v)::before{content:"- ";color:var(--mocha)}
.pen--cl{position:absolute;right:clamp(10px,3vw,40px);bottom:-26px;background:var(--butter);color:var(--wine);padding:6px 14px;border-radius:3px;box-shadow:0 8px 18px rgba(0,0,0,.3)}

.s-she{background:#efe4d2 radial-gradient(rgba(122,84,68,.16) 1.4px,transparent 1.8px) 0 0/22px 22px;color:var(--ink)}
.s-she .w-kicker{color:var(--burgundy)}
.s-she .w-hand{color:var(--burgundy)}
.she-desk{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,4vw,56px);align-items:start}
.report{position:relative;background:#fff;padding:clamp(22px,3.5vw,44px);box-shadow:0 30px 60px rgba(42,24,18,.22),0 1px 0 #e8e0d4;transform:rotate(-.6deg)}
.rp-head{display:flex;justify-content:space-between;gap:16px;align-items:end;border-bottom:3px solid var(--ink);padding-bottom:14px}
.rp-co{font:600 12px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy)}
.rp-t{font:400 clamp(26px,3vw,38px)/1.05 var(--f-display);margin-top:6px}
.rp-meta{font:12px/1.5 var(--f-mono);color:var(--ink-soft);text-align:right}
.rp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:22px 0 26px;border:1px solid #e3d8c6}
.kpi{padding:16px 14px;border-right:1px solid #e3d8c6;display:grid;gap:6px;align-content:start}
.kpi:last-child{border-right:0}
.kpi span{font:600 10px/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--mocha)}
.kpi b{font:400 clamp(34px,3.6vw,52px)/1 var(--f-display);color:var(--burgundy);font-variant-numeric:tabular-nums}
.kpi small{font:12px/1.3 var(--f-mono);color:var(--ink-soft)}
.rp-sec{font:600 11px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--mocha);margin-bottom:8px}
.rp-table{width:100%;border-collapse:collapse;font:14px/1.4 var(--f-mono)}
.rp-table td{padding:9px 6px;border-bottom:1px solid #eee5d8}
.rp-table td:last-child{text-align:right;color:#2f7d43;font-weight:700;font-size:18px}
.js .rp-table tr.tick td:last-child{opacity:0;transform:scale(2);transition:all .4s var(--spring)}
.js .in .rp-table tr.tick td:last-child{opacity:1;transform:none}
.pen--rp{position:absolute;left:4%;top:calc(100% + 10px);transform:rotate(-3deg)}
.inbox{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 24px 50px rgba(42,24,18,.2);font-size:15px}
.ib-bar{display:flex;gap:6px;align-items:center;padding:12px 14px;background:#f1ebe2;border-bottom:1px solid #e3d8c6;font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--mocha)}
.ib-bar i{width:10px;height:10px;border-radius:50%;background:#e2b0a4}
.ib-bar i:nth-child(2){background:#ead48f}.ib-bar i:nth-child(3){background:#b8cfa4}
.ib-bar span{margin-left:8px}
.ib-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;border-bottom:1px solid #f0e9df}
.ib-row b{font-weight:600}
.ib-row span{grid-row:2;font-size:13px;color:var(--ink-soft)}
.ib-row em{grid-row:span 2;align-self:center;font:normal 700 20px/1 var(--f-mono);color:var(--burgundy)}
.ib-note{padding:14px 16px 18px;font:600 21px/1.2 var(--f-hand);color:var(--pen)}

.s-creator{background:radial-gradient(circle at 50% 40%,rgba(255,240,210,.18),transparent 45%),#1a100c}
.set{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center}
.shotlist{background:#fffdf5;color:var(--ink);padding:22px 22px 24px;border-radius:2px;box-shadow:0 24px 50px rgba(0,0,0,.45);font:13px/1.5 var(--f-mono);transform:rotate(-1.4deg)}
.shotlist-hd{display:flex;justify-content:space-between;gap:10px;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:4px}
.shot{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px dashed #e0d3bd;transition:background .3s}
.shot-n{font-weight:700;color:var(--burgundy)}
.shot-t{font-weight:700}
.shot-t small{display:block;font-weight:400;color:var(--ink-soft)}
.shot-st{font:700 10px/1 var(--f-mono);padding:4px 6px;border-radius:3px;background:#efe3cf}
.shot.live{background:rgba(232,163,177,.4)}
.shot.live .shot-st{background:#d4313d;color:#fff}
.set-phone{position:relative;width:clamp(220px,22vw,300px);aspect-ratio:520/1076;justify-self:center}
.set-phone-shell{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;filter:drop-shadow(0 40px 50px rgba(0,0,0,.6))}
.set-phone-screen{position:absolute;left:5%;top:3.3%;width:91.5%;height:89.5%;border-radius:22px;overflow:hidden;background:#000;z-index:1}
.set-phone-screen video{width:100%;height:100%;object-fit:cover}
.set-rec{position:absolute;top:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:#d4313d;color:#fff;font:700 11px/1 var(--f-mono);padding:5px 8px;border-radius:4px}
.set-rec b{width:7px;height:7px;border-radius:50%;background:#fff;animation:blinklive 1s infinite}
.script-page{position:relative;background:#fbf6ea;color:#231a16;padding:26px 24px 30px;box-shadow:0 24px 50px rgba(0,0,0,.45);font:14px/1.6 "Courier New",var(--f-mono);transform:rotate(1.4deg)}
.sp-head{display:flex;justify-content:space-between;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #d9cbb5;padding-bottom:8px;margin-bottom:10px;color:var(--mocha)}
.sp-label{font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--burgundy);margin-top:10px}
.sp-line{font-size:16px;font-weight:700;min-height:1.6em}
.sp-line--note{font-weight:400;font-style:italic}
.pen--sp{margin-top:16px}
.insights{grid-column:1/-1;justify-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(30px,4vw,50px);background:rgba(255,250,240,.06);border:1px solid rgba(244,232,212,.18);border-radius:16px;padding:18px 22px}
.ins-head{width:100%;text-align:center;font:600 11px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--blush)}
.ins{display:grid;gap:4px;min-width:150px;text-align:center;padding:6px 12px}
.ins b{font:400 clamp(36px,4vw,54px)/1 var(--f-display);color:var(--butter);font-variant-numeric:tabular-nums}
.ins span{font:500 13px/1.3 var(--f-body);color:rgba(244,232,212,.8)}

.s-hoi{background:#140b08}
.hoi-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.s-hoi::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,11,8,.6),rgba(20,11,8,.85));z-index:0}
.s-hoi>*{position:relative;z-index:1}
.hoi-desk{position:relative;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,60px);align-items:center}
.ros{position:relative;background:#f6efe1;color:#231a16;padding:clamp(22px,3vw,40px);box-shadow:0 30px 60px rgba(0,0,0,.5);font:14px/1.5 var(--f-mono);transform:rotate(-1deg)}
.ros-head{display:flex;justify-content:space-between;gap:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:3px double #231a16;padding-bottom:10px;margin-bottom:6px}
.cue{display:grid;grid-template-columns:5.4em minmax(0,1fr) minmax(0,auto);gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid #ddd0b8}
.cue-n{font-weight:700;color:var(--burgundy)}
.cue-w{font-size:15px}
.cue b{font:400 clamp(18px,1.9vw,24px)/1.1 var(--f-display);color:var(--ink);text-align:right;max-width:13em}
.ros-sub{margin-top:18px;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mocha)}
.ros-plat{margin-top:6px}
.stamp{position:absolute;right:5%;bottom:10%;font:400 clamp(40px,5.4vw,74px)/1 var(--f-news);color:var(--red);border:6px solid var(--red);padding:6px 18px 2px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;mix-blend-mode:multiply;opacity:.88;transform:rotate(-14deg)}
.js .stamp{opacity:0;transform:rotate(-14deg) scale(3)}
.js .in .stamp{opacity:.88;transform:rotate(-14deg) scale(1);transition:opacity .2s 1s,transform .45s cubic-bezier(.5,0,.6,1.6) 1s}
.hoi-bottle{width:100%;max-width:190px;justify-self:center;filter:drop-shadow(0 40px 40px rgba(0,0,0,.6));rotate:8deg}
.pen--hoi{position:absolute;right:2%;bottom:-40px;color:var(--butter)}

.s-builds{background:linear-gradient(180deg,#120b08,#22130e)}
.builds-desk{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
.terminal{background:#0f0907;border:1px solid rgba(241,208,110,.25);border-radius:10px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5);font:14px/1.7 var(--f-mono)}
.term-bar{display:flex;gap:6px;align-items:center;padding:10px 14px;background:#1d1310;color:rgba(244,232,212,.6);font-size:12px}
.term-bar i{width:10px;height:10px;border-radius:50%;background:#e2685e}.term-bar i:nth-child(2){background:#e7c25b}.term-bar i:nth-child(3){background:#71c26a}
.term-bar span{margin-left:8px}
.term-body{padding:18px 20px 22px;color:#f1dcc0;min-height:260px}
.term-body [data-prompt]::before{content:"$ ";color:var(--blush)}
.term-out{color:rgba(241,220,192,.7)}
.term-ok{color:#8fd88a}
.lap{position:relative;aspect-ratio:1300/875}
.lap-shell{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.lap-screen{position:absolute;left:21.15%;top:24.11%;width:54.15%;height:50.06%;overflow:hidden;background:#000;z-index:3}
.lap-screen img{width:100%;animation:scrollsite 30s ease-in-out infinite alternate}
@keyframes scrollsite{0%,6%{transform:translateY(0)}100%{transform:translateY(-82%)}}
.peek--lap{left:56%;top:-28%;width:34%;height:52%;z-index:0}
.thought--lap{left:4%;top:-26%;--tx:84%}
.tabs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.tab{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;text-decoration:none;background:#2d1d17;border:1px solid rgba(244,232,212,.16);border-radius:10px 10px 4px 4px;padding:12px 16px;max-width:380px;transition:transform .3s var(--spring),border-color .3s}
.tab:hover{transform:translateY(-4px);border-color:var(--butter)}
.tab i{grid-row:span 2;width:12px;height:12px;border-radius:50%;background:var(--blush)}
.tab{font:500 16px/1.2 var(--f-body)}
.tab small{font:13px/1.3 var(--f-body);color:rgba(244,232,212,.65)}

/* ── last call (footer) ─────────────────── */
.w-last{position:relative;padding:clamp(90px,10vw,150px) var(--gutter) 40px;background:linear-gradient(180deg,rgba(63,10,20,.7),rgba(34,19,14,.96)),url(/assets/velvet.jpg) center/cover;overflow:hidden}
.w-last-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.4fr) minmax(0,.9fr);gap:clamp(20px,4vw,50px);align-items:center}
.w-last-title{font-family:var(--f-display);font-size:clamp(64px,9vw,150px);margin-top:14px;letter-spacing:-.02em}
.w-last-sub{margin-top:14px}
.w-last-actions{margin-top:30px;display:grid;gap:18px;justify-items:start}
.w-email{display:grid;gap:4px;text-align:left;border:0;background:var(--butter);color:var(--wine)!important;border-radius:6px;padding:14px 20px;box-shadow:0 14px 30px rgba(0,0,0,.35)}
.w-email span{font:400 clamp(18px,2vw,24px)/1.1 var(--f-display)}
.w-email small{font:600 10px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase}
.w-links{display:flex;flex-wrap:wrap;gap:16px;font:500 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.w-links a{text-decoration:none;border-bottom:1px solid rgba(244,232,212,.4);padding-bottom:4px}
.w-last-drink{width:100%;max-width:220px;justify-self:center;filter:drop-shadow(0 30px 30px rgba(0,0,0,.6));rotate:-8deg}
.w-thread{background:#fff;color:#111;border-radius:22px;padding:16px;display:grid;gap:7px;font:15px/1.35 -apple-system,"SF Pro Text",system-ui,sans-serif;box-shadow:0 30px 60px rgba(0,0,0,.45);max-width:380px;justify-self:center}
.w-thread-who{font:500 11px/1 var(--f-body);color:#8a8a8e;text-align:center;margin-bottom:4px}
.bub{max-width:80%;padding:8px 12px;border-radius:18px}
.js .bub{opacity:0;transform:translateY(10px) scale(.96);transition:all .4s var(--spring)}
.js .bub.in{opacity:1;transform:none}
.bub.them{background:#e9e9eb;justify-self:start;border-bottom-left-radius:5px}
.bub.me{background:#b3264a;color:#fff;justify-self:end;border-bottom-right-radius:5px}
.w-fine{max-width:1200px;margin:clamp(60px,7vw,100px) auto 0;padding-top:22px;border-top:1px solid rgba(244,232,212,.18);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font:13px/1.4 var(--f-body);color:rgba(244,232,212,.6)}
.w-fine a{color:rgba(244,232,212,.85)}

/* ── responsive ─────────────────── */
@media (max-width:980px){
  .s-news{grid-template-columns:minmax(0,1fr);text-align:left;min-height:0}
  .news-set{max-width:560px;justify-self:center;width:100%}
  .news-copy{order:-1}
  .s-notes{grid-template-columns:minmax(0,1fr)}
  .rip{grid-column:auto}
  .machine-row{grid-template-columns:minmax(0,1fr);justify-items:center}
  .vend{width:min(100%,520px)}
  .receipt{width:min(100%,340px);margin-top:0}
  .peek--vend,.thought--vend{display:none}
  .soc-stage,.she-desk,.hoi-desk,.builds-desk,.w-last-inner{grid-template-columns:minmax(0,1fr)}
  .set{grid-template-columns:minmax(0,1fr)}
  .set-phone{order:-1}
  .rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi:nth-child(2){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid #e3d8c6}
  .w-last-drink{display:none}
  .thought--lap{left:0;top:-34%}
}
@media (max-width:560px){
  .notebook{padding:44px 18px 40px 54px}
  .nb-rings{left:10px}
  .nb-page::before{left:-16px}
  .nb-margin{position:static;margin-top:6px}
  .ftab{min-width:0;flex:1 1 40%}
  .cue{grid-template-columns:1fr;gap:4px}
  .cue b{text-align:left}
  .stamp{top:auto;bottom:16%}
  .thought{width:62%}
  .thought .cloud{padding:16px 16px 18px}
  .peek--lap{width:40%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  body.world::after{display:none}
  .js .reveal,.js .slide-in,.js .float-in,.js .bub{opacity:1;transform:none}
  .js .write{clip-path:none}
}

/* ============ About · the lounge ============ */
.s-lounge{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,60px);align-items:center;padding:calc(120px + env(safe-area-inset-top,0px)) var(--gutter) clamp(70px,8vw,120px);
  background:linear-gradient(180deg,rgba(63,10,20,.55),rgba(34,19,14,.95)),url(/assets/velvet.jpg) center/cover}
.lounge-title{font-family:var(--f-display);font-size:clamp(70px,11vw,180px);line-height:.86;margin:16px 0 18px;letter-spacing:-.02em}
.lounge-title em{font-family:var(--f-serif);color:var(--blush)}
.lounge-stage{position:relative;aspect-ratio:1400/933;border-radius:6px;overflow:visible}
.lounge-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:6px;box-shadow:0 40px 80px rgba(0,0,0,.6)}
.peek--bar{left:58%;top:6%;width:26%;height:40%;z-index:2}
.thought--bar{left:22%;top:-6%;--tx:86%}
.s-napkin{position:relative;padding:clamp(80px,10vw,140px) var(--gutter);background:#e9dcc6 radial-gradient(rgba(122,84,68,.2) 1.6px,transparent 2px) 0 0/26px 26px;color:var(--ink);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,5vw,70px);align-items:start;max-width:none}
.napkin{position:relative;background:#fffefb;padding:clamp(30px,4vw,56px);box-shadow:0 26px 50px rgba(42,24,18,.25);transform:rotate(-1.4deg);max-width:780px;justify-self:end;
  background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.025) 0 2px,transparent 2px 6px),repeating-linear-gradient(-45deg,rgba(0,0,0,.025) 0 2px,transparent 2px 6px)}
.napkin::before{content:"";position:absolute;inset:14px;border:1px dashed rgba(107,20,36,.25);pointer-events:none}
.napkin p{font:500 clamp(25px,2.5vw,32px)/1.3 var(--f-hand);color:#1f2f4d;margin-bottom:12px}
.napkin .napkin-head{font-weight:700;color:var(--burgundy);font-size:clamp(28px,2.8vw,36px);margin-bottom:18px}
.tab-receipt{max-width:360px;margin-top:40px;--tilt:2deg;justify-self:start}
.tab-receipt .r-line{grid-template-columns:0 1fr auto;font-size:12.5px}
.s-loves{position:relative;padding:clamp(80px,9vw,130px) 0;background:var(--espresso);overflow:hidden;text-align:center}
.s-loves .w-kicker{margin-bottom:34px}
.strips{overflow:hidden;padding-block:10px}
.strip-run{display:inline-flex;gap:18px;white-space:nowrap;animation:tick 60s linear infinite}
.strips--rev .strip-run{animation-direction:reverse;animation-duration:70s}
.strip{display:inline-block;padding:16px 26px 18px;background:#f6ecd8;color:var(--ink);font:italic 400 clamp(24px,2.6vw,36px)/1 var(--f-serif);transform:rotate(var(--r,-1.5deg));box-shadow:0 10px 20px rgba(0,0,0,.35);
  clip-path:polygon(0 8%,4% 0,10% 6%,17% 1%,25% 7%,33% 0,41% 6%,50% 2%,58% 8%,66% 1%,74% 6%,82% 0,90% 7%,96% 2%,100% 9%,100% 92%,95% 100%,88% 94%,80% 99%,72% 93%,63% 100%,55% 94%,46% 99%,38% 93%,30% 100%,22% 94%,14% 99%,6% 93%,0 98%)}
.strip:nth-child(3n){background:#f0c9cf}.strip:nth-child(4n){background:#ead48f}
.loves-prop{position:absolute;width:clamp(110px,14vw,200px);filter:drop-shadow(0 20px 20px rgba(0,0,0,.6));z-index:2}
.loves-prop--1{left:4%;bottom:6%;rotate:-14deg}
.loves-prop--2{right:5%;top:8%;rotate:10deg}
.s-booth{padding:clamp(80px,10vw,140px) var(--gutter);background:linear-gradient(180deg,#2a0710,var(--wine));display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:center;justify-content:center}
.booth{background:#fdfbf6;padding:14px 14px 0;display:grid;gap:10px;width:clamp(180px,22vw,260px);box-shadow:0 40px 70px rgba(0,0,0,.5);justify-self:center}
.booth img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 25%;filter:sepia(.18) contrast(1.05)}
.booth-date{font:700 12px/1 var(--f-mono);letter-spacing:.2em;color:var(--mocha);text-align:center;padding:12px 0 16px}
.howiwork{max-width:620px;background:#fffdf6;color:var(--ink);padding:clamp(26px,4vw,48px);box-shadow:0 30px 60px rgba(0,0,0,.4);transform:rotate(1deg);
  background-image:repeating-linear-gradient(180deg,transparent 0 41px,rgba(80,120,170,.25) 41px 42px);background-position:0 26px}
.hw-head{font:700 34px/42px var(--f-hand);color:var(--burgundy)}
.howiwork ol{margin:0;padding-left:1.2em;font:500 clamp(24px,2.3vw,30px)/42px var(--f-hand);color:#1f2f4d}
.howiwork .pen{margin-top:14px}
@media (max-width:980px){
  .s-lounge,.s-napkin,.s-booth{grid-template-columns:minmax(0,1fr)}
  .napkin,.tab-receipt{justify-self:center}
  .loves-prop{display:none}
}

.world main>section,.world .s-notes,.world .s-napkin,.world .s-booth{overflow-x:clip}

/* the next chapter: small budgets → bigger everything */
.s-bigger{padding:clamp(90px,10vw,150px) var(--gutter);background:linear-gradient(180deg,#22130e,#2e1912)}
.bigger-top{max-width:1100px;margin:0 auto;display:grid;gap:14px}
.bigger-title{font-family:var(--f-display);font-size:clamp(52px,8vw,124px);letter-spacing:-.02em}
.bigger-title em{font-family:var(--f-serif);color:var(--blush)}
.bigger-grid{max-width:1200px;margin:clamp(40px,5vw,70px) auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.ledger-page{position:relative;background:#fffdf6;color:var(--ink);padding:clamp(26px,4vw,48px);box-shadow:0 30px 60px rgba(0,0,0,.45);transform:rotate(-1.2deg);
  background-image:repeating-linear-gradient(180deg,transparent 0 41px,rgba(80,120,170,.25) 41px 42px);background-position:0 30px}
.ledger-page::before{content:"";position:absolute;top:0;bottom:0;left:clamp(16px,2.6vw,30px);width:2px;background:rgba(200,32,46,.4)}
.lp-head{display:flex;justify-content:space-between;font:700 30px/42px var(--f-hand);color:var(--burgundy)}
.ledger-page ol{margin:0;padding-left:1.3em;font:500 clamp(24px,2.3vw,30px)/42px var(--f-hand);color:#1f2f4d}
.ledger-page .pen{margin-top:14px}
.grow{display:grid;gap:4px}
.grow-line{font:400 clamp(46px,6.4vw,104px)/1 var(--f-display);letter-spacing:-.02em;transform-origin:left center;will-change:transform}
.grow-line:nth-child(even){font-family:var(--f-serif);font-style:italic;color:var(--blush)}
.js .grow-line{transform:scale(var(--g,.62));opacity:var(--go,.3)}
.grow-note{margin-top:18px;max-width:20em}
.ticket{max-width:1100px;margin:clamp(60px,7vw,100px) auto 0;background:#fbf7ee;color:var(--ink);border-radius:8px;padding:clamp(22px,3.5vw,44px);box-shadow:0 30px 60px rgba(0,0,0,.45);position:relative;font-size:16px}
.tk-head{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid #e3d8c6;padding-bottom:16px}
.tk-k{font:700 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mocha)}
.tk-t{font:400 clamp(28px,3.4vw,44px)/1.05 var(--f-display);margin-top:8px}
.tk-status{flex:none;font:700 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:var(--butter);color:var(--wine);padding:8px 12px;border-radius:99px}
.tk-roles{margin-top:14px;font:600 13px/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy)}
.tk-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,50px);margin-top:22px}
.tk-sub{font:600 11px/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--mocha);margin-bottom:10px}
.tk-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font:15px/1.4 var(--f-mono)}
.tk-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.tk-list li::before{content:"";width:18px;height:18px;border:2px solid var(--mocha);border-radius:4px;margin-top:1px}
.tk-list li.done::before{content:"✓";display:grid;place-items:center;background:var(--burgundy);border-color:var(--burgundy);color:#fff;font-size:12px;font-weight:700}
.js .tk-list li.done::before{transform:scale(0);transition:transform .4s var(--spring)}
.js .in .tk-list li.done::before{transform:none}
.js .in .tk-list li.done:nth-child(2)::before{transition-delay:.15s}.js .in .tk-list li.done:nth-child(3)::before{transition-delay:.3s}.js .in .tk-list li.done:nth-child(4)::before{transition-delay:.45s}
.tk-pen{margin-top:22px}
@media (max-width:980px){.bigger-grid,.tk-cols{grid-template-columns:minmax(0,1fr)}}

/* ============ The work: filing cabinet + case files ============ */
.js .slide-up{opacity:0;transform:translateY(60px);transition:opacity .8s var(--ease),transform 1s var(--spring)}
.js .slide-up.in{opacity:1;transform:none}
.js .slide-left{opacity:0;transform:translateX(-80px) rotate(-3deg);transition:opacity .9s var(--ease),transform 1.1s var(--spring)}
.js .slide-right{opacity:0;transform:translateX(80px) rotate(3deg);transition:opacity .9s var(--ease) .15s,transform 1.1s var(--spring) .15s}
.js .slide-left.in,.js .slide-right.in{opacity:1;transform:none}

.case-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(20px,4vw,60px);align-items:center;
  padding:calc(130px + env(safe-area-inset-top,0px)) var(--gutter) clamp(70px,8vw,120px);min-height:min(88svh,860px);overflow:hidden;
  background:radial-gradient(ellipse at 75% 50%,rgba(232,163,177,.15),transparent 55%),linear-gradient(180deg,rgba(34,19,14,.6),rgba(34,19,14,.94)),url(/assets/velvet.jpg) center/cover}
.case-hero>*{position:relative;z-index:1}
.case-hero--cabinet{grid-template-columns:minmax(0,1fr);text-align:center;min-height:0;padding-bottom:40px}
.case-hero--cabinet .w-hand{margin-inline:auto}
.case-hero--hoi{background:#140b08}
.case-hero--hoi::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(20,11,8,.92),rgba(20,11,8,.55))}
.case-hero--hoi .hoi-bg{z-index:0;opacity:.5}
.case-title{font-family:var(--f-display);font-size:clamp(66px,11vw,190px);line-height:.88;letter-spacing:-.02em;margin:14px 0 16px}
.case-title em{font-family:var(--f-serif);color:var(--blush)}
.ch-facts{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.ch-facts li{border:1px solid rgba(244,232,212,.35);border-radius:99px;padding:8px 14px;font:500 13px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase}
.ch-prop{width:100%;max-width:400px;justify-self:center;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55));rotate:-5deg}
.ch-prop--bottle{max-width:200px;rotate:7deg}

.case-sec{position:relative;padding:clamp(80px,9vw,140px) var(--gutter);overflow-x:clip}
.case-sec--paper{background:#efe4d2 radial-gradient(rgba(122,84,68,.16) 1.4px,transparent 1.8px) 0 0/22px 22px;color:var(--ink)}
.case-sec--cream{background:var(--paper);color:var(--ink)}
.case-sec--dark{background:linear-gradient(180deg,#1d110c,#2a1812)}
.case-sec--wine{background:radial-gradient(ellipse at 30% 20%,rgba(232,163,177,.16),transparent 55%),linear-gradient(180deg,var(--wine),#2a0710)}
.case-sec--studio{background:radial-gradient(circle at 50% 40%,rgba(255,240,210,.16),transparent 45%),#1a100c}
.case-sec--paper .w-kicker,.case-sec--cream .w-kicker{color:var(--burgundy)}
.case-sec--paper .w-hand,.case-sec--cream .w-hand{color:var(--burgundy)}
.case-sec .s-head{margin-bottom:clamp(36px,4vw,60px)}
.case-two{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center}
.case-two--top{align-items:start}
.notebook--sm{transform:rotate(-1.2deg);padding-block:50px 40px}
.notebook--sm .nb-list{font-size:clamp(23px,2.2vw,29px)}

/* the drawer of folders */
.drawer{padding:clamp(40px,5vw,80px) var(--gutter) clamp(90px,10vw,150px);background:linear-gradient(180deg,#2a1812,#1d110c);display:grid;gap:18px;max-width:1240px;margin:0 auto}
.world .folder-row{color:var(--ink)}
.folder-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,3vw,40px);align-items:center;text-decoration:none;color:var(--ink);
  background:#f4ead6;border-radius:4px 14px 14px 14px;padding:clamp(22px,3vw,36px) clamp(20px,3vw,40px);box-shadow:0 24px 40px rgba(0,0,0,.35);transition:transform .45s var(--spring),box-shadow .45s;overflow:visible}
.folder-row::before{content:"";position:absolute;left:0;top:-18px;width:180px;height:24px;background:var(--tab);border-radius:10px 10px 0 0}
.folder-row:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 34px 60px rgba(0,0,0,.45)}
.fr-tab{font:700 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);writing-mode:vertical-rl;rotate:180deg}
.fr-body{display:grid;gap:8px}
.fr-name{font:400 clamp(40px,5vw,72px)/.95 var(--f-display)}
.fr-what{font-size:17px;color:var(--ink-soft);max-width:44ch}
.fr-stat{font:600 24px/1.1 var(--f-hand);color:var(--pen)}
.fr-stat b{font:400 26px/1 var(--f-display);color:var(--burgundy);margin-right:4px}
.fr-prop{width:clamp(110px,14vw,190px);max-height:190px;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.35));rotate:6deg;transition:transform .5s var(--spring)}
.folder-row:hover .fr-prop{transform:translateY(-10px) rotate(-6deg) scale(1.06)}

/* supply list: index cards */
.supplies{padding:clamp(80px,9vw,140px) var(--gutter);background:#efe4d2 radial-gradient(rgba(122,84,68,.16) 1.4px,transparent 1.8px) 0 0/22px 22px;color:var(--ink)}
.supplies .w-kicker,.supplies .w-hand{color:var(--burgundy)}
.index-cards{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.index-card{background:#fffdf7;color:var(--ink);padding:22px 22px 26px;box-shadow:0 18px 34px rgba(42,24,18,.22);transform:rotate(var(--tilt,-1deg));
  background-image:linear-gradient(transparent 46px,rgba(200,32,46,.45) 46px 48px,transparent 48px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(80,120,170,.22) 31px 32px);background-position:0 0,0 48px}
.js .index-card.reveal.in{transform:rotate(var(--tilt,-1deg))}
.ic-head{font:700 26px/30px var(--f-hand);color:var(--burgundy);margin-bottom:16px}
.index-card ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.index-card li{font:15px/32px var(--f-body);display:grid}
.index-card li b{font-weight:600}
.index-card li span{font:600 20px/32px var(--f-hand);color:#1f2f4d}

/* PRD doc */
.doc{background:#fff;color:var(--ink);padding:clamp(24px,3.5vw,44px);box-shadow:0 30px 60px rgba(42,24,18,.22);transform:rotate(.8deg)}
.doc-top{display:flex;justify-content:space-between;font:700 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mocha);border-bottom:1px solid #e8dfd2;padding-bottom:10px}
.doc-title{font:400 clamp(30px,3.4vw,44px)/1 var(--f-display);margin:16px 0 10px}
.doc-h{font:700 11px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin-top:16px}
.doc p[data-type]{font:16px/1.55 var(--f-body);margin-top:6px;color:var(--ink-soft)}

/* user stories */
.story-stacks{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
.story-stack{display:grid;gap:14px}
.ss-label{font:400 clamp(30px,3vw,42px)/1 var(--f-display);color:var(--butter);margin-bottom:6px}
.story{background:#fffdf7;color:var(--ink);padding:18px 20px;font:16px/1.45 var(--f-mono);box-shadow:0 14px 26px rgba(0,0,0,.35);border-left:6px solid var(--blush)}
.story:nth-child(odd){rotate:-.8deg}.story:nth-child(even){rotate:.6deg}
.story b{color:var(--burgundy)}

/* kanban */
.kanban{background:#f6efe2;color:var(--ink);border-radius:8px;padding:20px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.kb-title{font:400 30px/1 var(--f-display);margin-bottom:14px}
.kb-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kb-col{background:rgba(42,24,18,.06);border-radius:6px;padding:10px;display:grid;gap:8px;align-content:start}
.kb-h{font:700 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mocha);padding:4px 2px 6px}
.kb-card{background:#fff;border-radius:4px;padding:10px 12px;font:14px/1.35 var(--f-body);box-shadow:0 2px 0 #e3d8c6}
.kb-card--hot{border-left:4px solid var(--pen)}

/* steps */
.steps{list-style:none;counter-reset:st;max-width:1200px;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.steps--seven{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.steps li{counter-increment:st;display:grid;gap:8px;padding-top:16px;border-top:3px solid var(--ink)}
.steps li::before{content:counter(st,decimal-leading-zero);font:400 40px/1 var(--f-display);color:var(--burgundy)}
.steps b{font:400 24px/1.1 var(--f-display)}
.steps span{font-size:15px;color:var(--ink-soft)}

/* big counter */
.bigcount-sec{text-align:center;display:grid;gap:18px;justify-items:center}
.bigcount{font:400 clamp(80px,16vw,280px)/.9 var(--f-display);color:var(--butter);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bigcount-sub{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;font:600 14px/1.3 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:rgba(244,232,212,.8)}
.bigcount-sub .arrow{color:var(--blush)}

/* content calendar */
.cal{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;box-shadow:0 30px 60px rgba(42,24,18,.2);border-radius:6px;overflow:hidden}
.cal-day{min-height:200px;padding:14px 12px;border-right:1px solid #eee5d8;display:grid;gap:8px;align-content:start}
.cal-day:last-child{border-right:0}
.cal-day--off{background:#faf6ee}
.cal-day p{font:700 12px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mocha);padding-bottom:8px;border-bottom:2px solid var(--ink)}
.chip{display:block;border-radius:4px;padding:8px 9px;font:500 13px/1.25 var(--f-body);color:var(--ink)}
.js .cal .chip{opacity:0;transform:translateY(10px);transition:all .45s var(--spring)}
.js .cal.in .chip{opacity:1;transform:none}
.js .cal.in .cal-day:nth-child(2) .chip{transition-delay:.1s}.js .cal.in .cal-day:nth-child(3) .chip{transition-delay:.2s}.js .cal.in .cal-day:nth-child(4) .chip{transition-delay:.3s}.js .cal.in .cal-day:nth-child(5) .chip{transition-delay:.4s}.js .cal.in .cal-day:nth-child(6) .chip{transition-delay:.5s}.js .cal.in .cal-day:nth-child(7) .chip{transition-delay:.6s}
.chip--plan{background:#efe3cf}.chip--reel{background:#f0c9cf}.chip--shoot{background:#ead48f}.chip--story{background:#e8dcf0}.chip--edit{background:#d9e6d3}.chip--mail{background:#d6e2ef}.chip--carousel{background:#f3d9c4}.chip--report{background:#c9b8a4}.chip--ops{background:#e2d6c9}.chip--event{background:#e8a3b1}
.cal-pen{max-width:1200px;margin:16px auto 0;text-align:right}

/* newsletter */
.newsletter{background:#fff;color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 30px 60px rgba(42,24,18,.22)}
.nl-bar{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;background:#f1ebe2;font:700 11px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mocha)}
.nl-bar b{color:var(--burgundy)}
.nl-body{padding:22px 24px 26px;display:grid;gap:10px}
.nl-from,.nl-subj{font:13px/1.3 var(--f-mono);color:var(--ink-soft)}
.nl-subj{padding-bottom:12px;border-bottom:1px solid #eee5d8}
.nl-hero{font:400 34px/1 var(--f-display);margin-top:8px}
.nl-p{font-size:15px;color:var(--ink-soft)}
.nl-btn{justify-self:start;background:var(--burgundy);color:var(--cream);padding:11px 18px;border-radius:99px;font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.nl-note{padding:14px 20px 18px;font:600 20px/1.2 var(--f-hand);color:var(--pen);border-top:1px solid #eee5d8}

/* invoice + statement */
.invoice{background:#fbf7ee;color:var(--ink);padding:clamp(24px,3vw,40px);box-shadow:0 30px 60px rgba(0,0,0,.45);font:14px/1.5 var(--f-mono);transform:rotate(-1deg)}
.inv-top{display:flex;justify-content:space-between;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mocha)}
.inv-t{font:400 clamp(26px,3vw,36px)/1.05 var(--f-display);margin:12px 0 14px}
.inv-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #d9cbb5}
.inv-row b{color:#2f7d43}
.inv-total{border-bottom:3px double var(--ink);font-weight:700}
.inv-total b{color:var(--burgundy)}
.case-say .say{font:italic 400 clamp(28px,3.2vw,44px)/1.15 var(--f-serif);margin-top:14px}
.case-say .say em{color:var(--butter);font-style:normal;font-family:var(--f-hand);font-weight:600}
.case-sec--paper .case-say .say em,.case-sec--cream .case-say .say em{color:var(--pen)}

/* call sheet */
.callsheet{background:#fffdf5;color:var(--ink);padding:22px 22px 24px;box-shadow:0 24px 50px rgba(0,0,0,.45);font:13px/1.5 var(--f-mono);transform:rotate(1.4deg)}
.cs-top{display:flex;justify-content:space-between;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:4px}
.cs-row{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px dashed #e0d3bd}
.cs-row span{color:var(--mocha)}
.scripts{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,50px)}
.scripts .script-page:nth-child(2){transform:rotate(-1.2deg)}
.sheet-k{text-align:center;margin:clamp(50px,6vw,80px) 0 22px}
.filmstrip{overflow:hidden;background:#0d0806;padding:22px 0;border-block:10px solid #0d0806;
  background-image:radial-gradient(circle,#2a1d17 0 4px,transparent 5px),radial-gradient(circle,#2a1d17 0 4px,transparent 5px);background-size:24px 14px;background-position:0 0,0 100%;background-repeat:repeat-x}
.filmstrip-run{display:inline-flex;gap:12px;animation:tick 50s linear infinite;padding-inline:12px}
.frame{margin:0;width:170px;flex:none;display:grid;gap:8px}
.frame img{width:170px;aspect-ratio:9/16;object-fit:cover;border-radius:3px;filter:sepia(.1)}
.frame figcaption{font:12px/1.3 var(--f-mono);color:rgba(244,232,212,.7)}

/* invite + match card */
.invite{position:relative;background:#f6efe1;color:var(--wine);padding:clamp(34px,5vw,60px) clamp(26px,4vw,50px);text-align:center;box-shadow:0 30px 60px rgba(0,0,0,.5);outline:1px solid rgba(107,20,36,.35);outline-offset:-14px;transform:rotate(-1.5deg)}
.iv-k{font:600 12px/1 var(--f-body);letter-spacing:.3em;text-transform:uppercase}
.iv-t{font:italic 400 clamp(52px,6vw,84px)/1 var(--f-serif);margin:16px 0 10px}
.iv-sub{font:600 24px/1.2 var(--f-hand);color:var(--pen)}
.iv-rule{width:60px;height:1px;background:currentColor;margin:22px auto}
.iv-sm{font:12px/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.stamp--iv{right:4%;bottom:auto;top:8%}
.match{max-width:640px;margin:0 auto;background:#fff;color:var(--ink);border-radius:12px;padding:clamp(22px,3vw,36px);box-shadow:0 30px 60px rgba(42,24,18,.22)}
.mt-top{display:flex;justify-content:space-between;font:700 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mocha);margin-bottom:12px}
.mt-row{display:grid;grid-template-columns:150px 1fr 80px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #f0e9df;font-size:15px}
.mt-row i{display:block;height:12px;border-radius:99px;background:#f0e9df;overflow:hidden}
.mt-row i b{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--blush),var(--burgundy));border-radius:99px}
.js .mt-row i b{width:0;transition:width 1.2s var(--ease) .3s}
.js .match.in .mt-row i b{width:var(--w)}
.js .match.in .mt-row:nth-child(3) i b{transition-delay:.55s}.js .match.in .mt-row:nth-child(4) i b{transition-delay:.8s}
.mt-row em{font:600 20px/1 var(--f-hand);color:var(--pen);font-style:normal}
.mt-score{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font:400 32px/1 var(--f-display);color:var(--burgundy)}
.mt-score b{width:44px;height:44px;border-radius:50%;background:var(--burgundy);color:#fff;display:grid;place-items:center;font:700 20px/1 var(--f-body)}
.js .mt-score{opacity:0;transform:scale(.9);transition:all .5s var(--spring) 1.6s}
.js .match.in .mt-score{opacity:1;transform:none}
.mt-note{margin-top:12px;font-size:14px;color:var(--ink-soft)}

/* next file */
.next-file{display:grid;justify-items:center;gap:8px;padding:clamp(70px,8vw,120px) var(--gutter);text-decoration:none;background:var(--butter);color:var(--wine)!important;transition:background .3s}
.next-file span{font:600 12px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase}
.next-file b{font:400 clamp(44px,7vw,110px)/1 var(--f-display);transition:transform .4s var(--spring)}
.next-file:hover b{transform:translateX(16px)}

/* 404 */
.s-404{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,70px);align-items:center;padding:calc(120px + env(safe-area-inset-top,0px)) var(--gutter) 80px;
  background:linear-gradient(180deg,rgba(34,19,14,.6),rgba(34,19,14,.94)),url(/assets/velvet.jpg) center/cover}
.tv-screen--static{background:repeating-radial-gradient(circle at 30% 40%,#777 0 1px,#222 1px 3px),#333;animation:snow .2s steps(3) infinite}
@keyframes snow{0%{background-position:0 0}50%{background-position:7px 3px}100%{background-position:-5px 6px}}
.nf-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.nf-links a{border:1px solid var(--butter);color:var(--butter);text-decoration:none;border-radius:99px;padding:10px 16px;font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}

@media (max-width:980px){
  .case-hero,.case-two,.story-stacks,.scripts,.s-404{grid-template-columns:minmax(0,1fr)}
  .ch-prop{max-width:260px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cal-day{min-height:0;border-bottom:1px solid #eee5d8}
  .kb-cols{grid-template-columns:minmax(0,1fr)}
  .folder-row{grid-template-columns:minmax(0,1fr) auto}
  .fr-tab{display:none}
}
@media (max-width:560px){
  .fr-prop{width:84px}
  .mt-row{grid-template-columns:1fr;gap:6px}
  .steps{grid-template-columns:minmax(0,1fr)}
}
.file-more{display:table;margin:clamp(40px,5vw,64px) auto 0;border:1px solid currentColor;border-radius:99px;padding:14px 22px;text-decoration:none;font:600 13px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--butter)}
.s-she .file-more{color:var(--burgundy)}
.file-more span{display:inline-block;transition:transform .3s var(--spring)}
.file-more:hover span{transform:translateX(6px)}

.case-hero>.hoi-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* =====================================================================
   REAL MATERIALS — one real background for every page, real paper,
   real clips, real lace, real silk + velvet. Nothing drawn by hand.
   ===================================================================== */
:root{--paper-tex:url(/assets/world/real/paper-white.webp);--ruled:url(/assets/world/real/paper-ruled-tile.webp);--ink:#2a1812}
body.world{background:#f4ebdd;color:var(--ink)}
body.world::before{content:"";position:fixed;inset:0;z-index:-2;background:url(/assets/world/real/bg-polka.webp) center/cover no-repeat #f4ebdd}
body.world::after{opacity:.035}
/* no more colored bands: every section sits on the same polka fabric */
.s-news,.s-notes,.s-machine,.s-filing,.s-file,.s-socielle,.s-she,.s-creator,.s-hoi,.s-builds,.case-hero,.case-sec,.case-sec--paper,.case-sec--cream,.case-sec--dark,.case-sec--wine,.case-sec--studio,
.drawer,.supplies,.s-lounge,.s-napkin,.s-loves,.s-booth,.s-bigger,.w-last,.s-404,.bigcount-sec{background:none!important;color:var(--ink)}
.s-hoi::before,.case-hero--hoi::before{display:none}
.case-hero{min-height:0;padding-bottom:clamp(30px,4vw,60px)}
.s-file,.case-sec{padding-block:clamp(60px,7vw,110px)}
/* type on cream */
.w-kicker{color:var(--burgundy)}
.w-hand{color:var(--pen)}
.news-name .ln--2,.s-title em,.filing-title em,.case-title em,.lounge-title em,.bigger-title em,.w-last-title{color:var(--burgundy)}
.news-note .mark{color:var(--ink)}
.news-roles li,.ch-facts li{border-color:rgba(42,24,18,.35);color:var(--ink);background:rgba(255,253,247,.7)}
.news-where{color:var(--ink-soft)}
.w-top{color:var(--ink)}
.w-top.solid{background:rgba(247,238,223,.96);box-shadow:0 1px 0 rgba(42,24,18,.1)}
.w-mark i{color:var(--burgundy)}
.w-nav a:hover,.w-nav a[aria-current]{color:var(--burgundy)}
.w-nav .w-cta{border-color:var(--burgundy);color:var(--burgundy)}
.bigcount{color:var(--burgundy)}
.bigcount-sub{color:var(--ink-soft)}
.grow-line:nth-child(even){color:var(--burgundy)}
.ss-label{color:var(--burgundy)}
.case-say .say em,.pen--hoi{color:var(--pen)}
.file-more,.s-she .file-more{color:var(--burgundy)}
.nf-links a{border-color:var(--burgundy);color:var(--burgundy)}
.w-links a{border-color:rgba(42,24,18,.35)}
.w-fine{border-color:rgba(42,24,18,.15);color:var(--ink-soft)}
.w-fine a{color:var(--ink)}
.frame figcaption{color:rgba(244,232,212,.75)}
.tab{background:rgba(255,253,247,.85);border-color:rgba(42,24,18,.18);color:var(--ink)}
.tab small{color:var(--ink-soft)}
.insights{background:var(--paper-tex) center/cover;border:0;box-shadow:0 20px 40px rgba(42,24,18,.18);border-radius:4px}
.ins b{color:var(--burgundy)}
.ins span{color:var(--ink-soft)}
.ins-head{color:var(--burgundy)}
.doors-hint{color:#fff4d6;text-shadow:0 2px 10px rgba(0,0,0,.5)}

/* real paper on every document */
.report,.doc,.invoice,.ros,.changelog,.script-page,.callsheet,.shotlist,.kanban,.receipt,.napkin,.ticket,.invite,.match,.newsletter .nl-body,.story,.kb-card,.ib-row,.inbox,.cal,.tab-receipt,.nb-photo,.booth,.howiwork,.ledger-page{
  background-color:#fbf7ee;background-image:var(--paper-tex);background-size:cover;background-position:center}
.kanban .kb-col{background:rgba(42,24,18,.05)}
/* a real gold binder clip holds the paperwork */
.report,.doc,.invoice,.ros,.changelog,.script-page,.callsheet,.shotlist{position:relative}
.report::after,.doc::after,.invoice::after,.ros::after,.changelog::after,.script-page::after,.callsheet::after,.shotlist::after{
  content:"";position:absolute;top:-34px;left:50%;width:56px;height:112px;transform:translateX(-50%);background:url(/assets/world/real/clip-gold.webp) center/contain no-repeat;filter:drop-shadow(0 6px 6px rgba(0,0,0,.3));z-index:5;pointer-events:none}
.script-page::before{display:none}
/* lined pages use real ruled paper */
.index-card,.howiwork,.ledger-page,.story-ruled{background:#fdfcf8 var(--ruled) 0 12px/900px auto repeat-y}
.index-card{background-position:0 28px}
.index-card li,.index-card .ic-head{line-height:39.25px}
.index-card li span{line-height:39.25px}
.index-card li b{line-height:1.3;padding-top:10px}
.howiwork ol,.ledger-page ol{line-height:39.25px}
.howiwork .hw-head,.lp-head{line-height:39.25px}
.ledger-page::before{display:none}

/* lace borders between chapters (real lace) */
.lace-div{height:58px;margin:0 calc(var(--gutter) * -1);background:url(/assets/lace-trim.webp) center/auto 58px repeat-x;filter:drop-shadow(0 3px 3px rgba(42,24,18,.18));position:relative;z-index:2}
.lace-div--wine{height:52px;background:url(/assets/lace-burgundy.png) center/auto 52px repeat-x}
.lace-div--flip{transform:scaleY(-1)}
main>.lace-div,.world>.lace-div{margin:0}

/* real fabric swatches tucked behind the props */
.swatch{position:absolute;z-index:0;pointer-events:none;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(42,24,18,.28);
  -webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/14px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 51% repeat-x;
  mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/14px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 51% repeat-x}
.swatch--satin{background-image:url(/assets/world/real/satin-burgundy.webp)}
.swatch--silk{background-image:url(/assets/world/real/silk-cream.webp)}
.swatch--pink{background-image:url(/assets/world/real/silk-pink.webp)}
.swatch--velvet{background-image:url(/assets/world/real/velvet-rose.webp)}
.swatch--brown{background-image:url(/assets/world/real/satin-brown.webp)}
.news-set>.swatch{left:-6%;right:6%;top:18%;bottom:-4%;rotate:-4deg}
.machine-row{position:relative}
.machine-row>.swatch{left:6%;width:52%;top:4%;bottom:-2%;rotate:3deg}
.soc-stage>.swatch,.case-hero>.swatch{right:2%;width:38%;top:12%;bottom:6%;rotate:5deg}
.lounge-stage>.swatch{inset:-5% -4% -6% -3%;rotate:-2deg}
.w-last-inner{position:relative}
.w-last-inner>.swatch{left:-3%;width:46%;top:-8%;bottom:-8%;rotate:-2deg}
.w-last-copy{position:relative;z-index:1;color:#fbf2e2;padding:clamp(20px,3vw,40px)}
.w-last-copy .w-kicker{color:var(--blush)}
.w-last-copy .w-last-title{color:#fff4e0}
.w-last-copy .w-hand{color:var(--butter)}
.w-last-copy .w-links a{border-color:rgba(255,244,224,.45);color:#fff4e0}
.news-set>.tv,.news-set>.peek,.news-set>.thought{z-index:3}
.news-set>.peek{z-index:2}

/* real torn paper behind quotes and hand notes */
.rip,.case-say{background:url(/assets/world/real/torn-2.webp) center/100% 100% no-repeat!important;-webkit-mask:none!important;mask:none!important;box-shadow:none;padding:clamp(34px,4vw,56px) clamp(26px,3vw,44px)!important;filter:drop-shadow(0 14px 18px rgba(42,24,18,.22))}
.case-say{color:var(--ink)}
.case-say .w-kicker{color:var(--burgundy)}

/* the real notebook (Notes to self) */
.rnb{position:relative;width:100%;max-width:1060px;aspect-ratio:1345/891;container-type:inline-size;filter:drop-shadow(0 30px 40px rgba(42,24,18,.3));rotate:-1.2deg}
.rnb>img.rnb-book{position:absolute;inset:0;width:100%;height:100%}
.rnb-page{position:absolute;top:5.3cqw;font:500 2.35cqw/2.503cqw var(--f-hand);color:#1f2f4d;margin:0;padding:0;list-style:none}
.rnb-page--l{left:5.5%;width:39%}
.rnb-page--r{left:55%;width:40%}
.rnb-page p,.rnb-page li{margin:0}
.rnb-head{color:var(--burgundy);font-weight:700;display:flex;justify-content:space-between}
.rnb-page li::before{content:attr(data-n) ". ";color:var(--burgundy);font-weight:700}
.rnb-gap{height:2.503cqw}
.rnb-quill{position:absolute;width:44%;right:-14%;bottom:-12%;rotate:-18deg;filter:drop-shadow(0 18px 14px rgba(0,0,0,.3));pointer-events:none}
.rnb-margin{color:var(--pen)!important;font-weight:700}
/* handwriting writes itself, line by line */
.js .rnb .write{clip-path:inset(0 100% 0 0)}
.js .rnb.in .write{clip-path:inset(0 -5% 0 0)}

/* the real kraft notebook for side notes */
.knb{position:relative;width:100%;max-width:760px;aspect-ratio:1337/933;container-type:inline-size;filter:drop-shadow(0 26px 34px rgba(42,24,18,.28));rotate:1deg}
.knb>img{position:absolute;inset:0;width:100%;height:100%}
.knb-page{position:absolute;left:55%;right:6%;top:7%;bottom:6%;font:500 2.4cqw/1.45 var(--f-hand);color:#1f2f4d;display:grid;align-content:start;gap:.7cqw}
.knb-page .knb-head{font-weight:700;color:var(--burgundy);font-size:2.9cqw}
.knb-page .mark{background-size:100% 100%}
.knb-label{position:absolute;left:10%;top:38%;width:30%;background:var(--paper-tex) center/cover #fbf7ee;padding:1.6cqw 1.8cqw;font:400 3cqw/1.05 var(--f-display);color:var(--ink);rotate:-3deg;box-shadow:0 4px 10px rgba(0,0,0,.18);text-align:center}
.knb-label small{display:block;font:600 1.5cqw/1.3 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy);margin-top:.6cqw}

/* real folders on the work index */
.drawer{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,2vw,30px);max-width:1300px;align-items:end;padding-top:clamp(70px,8vw,120px)}
.rfolder{position:relative;display:block;aspect-ratio:560/777;text-decoration:none;color:var(--ink);transition:transform .5s var(--spring);container-type:inline-size}
.rfolder:nth-child(odd){rotate:-2deg}.rfolder:nth-child(even){rotate:1.5deg}
.rfolder>.rf-prop{position:absolute;left:50%;top:-24%;width:62%;max-height:62%;object-fit:contain;transform:translateX(-50%) rotate(-6deg);transition:transform .5s var(--spring);z-index:0;filter:drop-shadow(0 10px 12px rgba(0,0,0,.3))}
.rfolder>.rf-body{position:absolute;inset:0;width:100%;height:100%;z-index:1;filter:drop-shadow(0 22px 26px rgba(42,24,18,.35))}
.rfolder:hover{transform:translateY(-12px)}
.rfolder:hover .rf-prop{transform:translate(-50%,-18%) rotate(4deg)}
.rf-label{position:absolute;z-index:2;left:12%;right:16%;top:22%;background:var(--paper-tex) center/cover #fbf7ee;padding:6cqw 6cqw 7cqw;box-shadow:0 3px 8px rgba(0,0,0,.18);rotate:-1.5deg;display:grid;gap:3cqw}
.rf-label .rf-n{font:700 5cqw/1 var(--f-mono);letter-spacing:.1em;color:var(--burgundy)}
.rf-label .rf-name{font:400 12.5cqw/.95 var(--f-display)}
.rf-label .rf-stat{font:600 8.4cqw/1.05 var(--f-hand);color:var(--pen)}
.rf-what{position:absolute;z-index:2;left:12%;right:14%;bottom:9%;font:500 6.2cqw/1.3 var(--f-hand);color:#3b2a1a}

/* the photo frames are real paper */
.nb-photo,.booth{background-color:#fdfbf6}

/* interactive laptop: the real site scrolls under your finger */
.lap-screen{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.lap-screen::-webkit-scrollbar{display:none}
.lap-screen img{animation:none!important}
.lap-live{position:absolute;z-index:4;left:50%;bottom:4%;transform:translateX(-50%);background:var(--burgundy);color:#fff4e0!important;text-decoration:none;font:600 11px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;border-radius:99px;box-shadow:0 8px 18px rgba(0,0,0,.3);white-space:nowrap}
/* interactive phone: tap for the next reel, double tap for a kiss */
.set-phone-screen{cursor:pointer}
.kiss-pop{position:absolute;z-index:6;width:42%;left:29%;top:38%;pointer-events:none;animation:kisspop .9s var(--spring) forwards}
@keyframes kisspop{0%{transform:scale(.2) rotate(-12deg);opacity:0}40%{transform:scale(1.1) rotate(4deg);opacity:1}100%{transform:scale(1) translateY(-40%);opacity:0}}
.phone-hint{text-align:center;margin-top:12px;font:600 20px/1 var(--f-hand);color:var(--pen)}

/* props that make it feel styled, not stacked */
.prop{position:absolute;pointer-events:none;filter:drop-shadow(0 16px 16px rgba(42,24,18,.3));z-index:3}
.next-file{background:none!important;color:var(--burgundy)!important;position:relative}
.next-file::before{content:"";position:absolute;inset:16% 18%;background:url(/assets/world/real/torn-1.webp) center/100% 100% no-repeat;z-index:-1;filter:drop-shadow(0 14px 18px rgba(42,24,18,.2))}

@media (max-width:980px){
  .drawer{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:clamp(70px,14vw,110px)}
  .machine-row>.swatch{left:0;width:100%;top:2%;bottom:auto;height:46%}
}
@media (max-width:760px){
  /* phones: the notebooks become real ruled sheets so the writing stays big */
  .rnb,.knb{aspect-ratio:auto;rotate:0deg;background:#fdfcf8 var(--ruled) 0 10px/900px auto repeat-y;padding:18px 18px 22px 48px;filter:none;box-shadow:0 20px 40px rgba(42,24,18,.2)}
  .rnb>img.rnb-book,.knb>img,.knb-label{display:none}
  .rnb-page,.knb-page{position:static;width:auto;font-size:23px;line-height:39.25px;gap:0}
  .knb-page .knb-head,.rnb-head{font-size:25px}
  .rnb-gap{height:0}
  .rnb-quill{width:60%;right:-10%;bottom:-8%}
  .drawer{grid-template-columns:minmax(0,1fr);max-width:340px;margin-inline:auto}
}
/* placement fixes: fabric peeks out around the objects */
.machine-row>.swatch{left:-3%;width:66%;top:-4%;bottom:-5%;rotate:-2.5deg}
.soc-stage>.swatch{left:-2%;right:auto;width:44%;top:-6%;bottom:-6%;rotate:-4deg}
/* the file tabs are real kraft paper */
.ftab,.ftab:nth-child(n){background:url(/assets/world/real/kraft.webp) center/cover #c9a77c;box-shadow:0 14px 26px rgba(42,24,18,.22);color:var(--ink)}
.ftab:nth-child(2){filter:hue-rotate(-12deg) saturate(.85)}.ftab:nth-child(3){filter:brightness(1.06)}.ftab:nth-child(4){filter:sepia(.25) hue-rotate(-20deg)}.ftab:nth-child(5){filter:brightness(.94)}
.ftab span{color:var(--burgundy)}
.case-hero>.swatch{right:6%;width:28%;top:20%;bottom:12%;rotate:6deg}
@media (max-width:980px){.case-hero>.swatch{right:14%;width:72%;top:auto;height:30%;bottom:4%}}

@media (orientation:portrait){body.world::before{background-image:url(/assets/world/real/bg-polka-portrait.webp)}}

/* the background: a classic polka dot, brown on cream (no photo, no tiling seams) */
body.world::before,body.world::before{background:
  radial-gradient(circle,#5a3a2c 0 9px,transparent 9.6px) 0 0/64px 64px,
  radial-gradient(circle,#5a3a2c 0 9px,transparent 9.6px) 32px 32px/64px 64px,
  #f8efe2!important}
@media (orientation:portrait){body.world::before{background:
  radial-gradient(circle,#5a3a2c 0 7px,transparent 7.6px) 0 0/48px 48px,
  radial-gradient(circle,#5a3a2c 0 7px,transparent 7.6px) 24px 24px/48px 48px,
  #f8efe2!important}}

/* ===== one background per page: home = polka dots, work = velvet, about = silk ===== */
.swatch{display:none!important}
body.world::before{background:
  radial-gradient(circle,#5a3a2c 0 17px,transparent 17.6px) 0 0/104px 104px,
  radial-gradient(circle,#5a3a2c 0 17px,transparent 17.6px) 52px 52px/104px 104px,
  #f8efe2!important}
@media (orientation:portrait){body.world::before{background:
  radial-gradient(circle,#5a3a2c 0 11px,transparent 11.6px) 0 0/68px 68px,
  radial-gradient(circle,#5a3a2c 0 11px,transparent 11.6px) 34px 34px/68px 68px,
  #f8efe2!important}}
/* big type stays readable over the dots */
.w-home .news-name,.w-home .s-title,.w-home .filing-title,.w-home .file-name,.w-home .w-last-title,.w-404 .case-title{text-shadow:0 0 2px #f8efe2,0 0 14px #f8efe2,0 0 26px #f8efe2}
.w-home .w-kicker,.w-home .w-hand,.w-home .news-where,.w-home .news-note{text-shadow:0 0 8px #f8efe2,0 0 16px #f8efe2}

/* WORK pages: real burgundy velvet */
body.w-work::before,body.w-case::before{background:linear-gradient(rgba(40,8,14,.35),rgba(40,8,14,.5)),url(/assets/velvet.jpg) center/cover no-repeat #3f0a14!important}
body.w-work,body.w-case{color:#f6eadb}
:is(.w-work,.w-case) :is(.case-title,.s-title,.file-name,.bigger-title,.w-last-title,.bigcount-sec){color:#fbf1e2}
:is(.w-work,.w-case) :is(.case-title em,.s-title em){color:var(--blush)}
:is(.w-work,.w-case) .w-kicker{color:var(--blush)}
:is(.w-work,.w-case) .w-hand{color:var(--butter)}
:is(.w-work,.w-case) .ch-facts li{border-color:rgba(251,241,226,.45);color:#fbf1e2;background:rgba(40,8,14,.35)}
:is(.w-work,.w-case) .bigcount{color:var(--butter)}
:is(.w-work,.w-case) .bigcount-sub{color:rgba(251,241,226,.85)}
:is(.w-work,.w-case) .ss-label{color:var(--butter)}
:is(.w-work,.w-case) .cal-pen,:is(.w-work,.w-case) .sheet-k{color:var(--butter)}
:is(.w-work,.w-case) .w-top{color:#fbf1e2}
:is(.w-work,.w-case) .w-top.solid{background:rgba(52,10,18,.94);box-shadow:none}
:is(.w-work,.w-case) .w-mark i{color:var(--blush)}
:is(.w-work,.w-case) .w-nav a:hover,:is(.w-work,.w-case) .w-nav a[aria-current]{color:var(--butter)}
:is(.w-work,.w-case) .w-nav .w-cta{border-color:var(--butter);color:var(--butter)}
:is(.w-work,.w-case) .w-last-copy,:is(.w-work,.w-case) .w-last-copy .w-last-title{color:#fbf1e2}
:is(.w-work,.w-case) .w-fine{color:rgba(251,241,226,.7);border-color:rgba(251,241,226,.2)}
:is(.w-work,.w-case) .w-fine a{color:#fbf1e2}
:is(.w-work,.w-case) .w-links a{color:#fbf1e2;border-color:rgba(251,241,226,.45)}
:is(.w-work,.w-case) .tab{background:rgba(255,253,247,.92)}
:is(.w-work,.w-case) .phone-hint{color:var(--butter)}

/* ABOUT: real ivory silk */
body.w-about::before{background:url(/assets/world/real/silk-cream.webp) center/cover no-repeat #efe4d3!important}

/* footer copy reads on whatever page it lands on */
.w-last-copy{color:var(--ink);padding:0}
.w-last-copy .w-kicker{color:var(--burgundy)}
.w-last-copy .w-last-title{color:var(--ink)}
.w-last-copy .w-hand{color:var(--pen)}
.w-last-copy .w-links a{color:var(--ink);border-color:rgba(42,24,18,.35)}
/* clips grip the top edge, the writing starts below them */
.report::after,.doc::after,.invoice::after,.ros::after,.changelog::after,.script-page::after,.callsheet::after,.shotlist::after{top:-84px;width:50px;height:100px}
.report,.doc,.invoice,.ros,.changelog,.script-page,.callsheet,.shotlist{margin-top:44px}
.report,.doc,.invoice,.ros{padding-top:calc(clamp(22px,3.5vw,44px) + 18px)}
.changelog,.script-page,.callsheet,.shotlist{padding-top:calc(26px + 18px)}
/* footer on velvet pages */
:is(.w-work,.w-case) .w-last-copy .w-kicker{color:var(--blush)}
:is(.w-work,.w-case) .w-last-copy .w-last-title{color:#fbf1e2}
:is(.w-work,.w-case) .w-last-copy .w-hand{color:var(--butter)}
:is(.w-work,.w-case) .w-last-copy .w-links a{color:#fbf1e2;border-color:rgba(251,241,226,.45)}

/* ===== quality pass ===== */
/* softer, more transparent polka dots; no glow halos behind type */
body.world::before{background:
  radial-gradient(circle,rgba(90,58,44,.2) 0 17px,transparent 17.6px) 0 0/104px 104px,
  radial-gradient(circle,rgba(90,58,44,.2) 0 17px,transparent 17.6px) 52px 52px/104px 104px,
  #f8efe2!important}
@media (orientation:portrait){body.world::before{background:
  radial-gradient(circle,rgba(90,58,44,.2) 0 11px,transparent 11.6px) 0 0/68px 68px,
  radial-gradient(circle,rgba(90,58,44,.2) 0 11px,transparent 11.6px) 34px 34px/68px 68px,
  #f8efe2!important}}
body.w-work::before,body.w-case::before{background:linear-gradient(rgba(40,8,14,.35),rgba(40,8,14,.5)),url(/assets/velvet.jpg) center/cover no-repeat #3f0a14!important}
body.w-about::before{background:url(/assets/world/real/silk-cream.webp) center/cover no-repeat #efe4d3!important}
.w-home .news-name,.w-home .s-title,.w-home .filing-title,.w-home .file-name,.w-home .w-last-title,.w-404 .case-title,.w-home .w-kicker,.w-home .w-hand,.w-home .news-where,.w-home .news-note{text-shadow:none}

/* the cover-letter quote: a real paper card with a gold clip */
.rip{background:#fbf7ee var(--paper-tex) center/cover!important;padding:46px 30px 28px!important;margin-top:60px;filter:none!important;box-shadow:0 18px 34px rgba(42,24,18,.22)!important;position:relative;max-width:380px}
.rip::after{content:"";position:absolute;top:-84px;left:50%;width:50px;height:100px;transform:translateX(-50%);background:url(/assets/world/real/clip-gold.webp) center/contain no-repeat;filter:drop-shadow(0 6px 6px rgba(0,0,0,.3))}
.rip p{color:var(--ink)}

/* home → the work: one real folder, one sentence */
.s-cabinet{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:center;max-width:1100px;margin:0 auto;padding:clamp(90px,10vw,150px) var(--gutter)}
.cabinet{position:relative;display:block;aspect-ratio:560/777;width:100%;max-width:380px;justify-self:center;text-decoration:none;color:var(--ink);container-type:inline-size;transition:transform .5s var(--spring)}
.cabinet:hover{transform:translateY(-10px) rotate(-1deg)}
.cab-folder{position:absolute;inset:0;width:100%;height:100%;z-index:1;filter:drop-shadow(0 26px 30px rgba(42,24,18,.3))}
.cab-props{position:absolute;inset:-22% 6% auto;height:44%;display:flex;justify-content:center;align-items:flex-end;gap:2%;z-index:0}
.cab-props img{height:100%;width:auto;max-width:34%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25));transition:transform .5s var(--spring)}
.cab-props img:nth-child(1){rotate:-10deg}.cab-props img:nth-child(3){rotate:9deg}
.cabinet:hover .cab-props img{transform:translateY(-10%)}
.cab-label{position:absolute;z-index:2;left:12%;right:16%;top:24%;background:#fbf7ee var(--paper-tex) center/cover;padding:6cqw;box-shadow:0 3px 8px rgba(0,0,0,.18);rotate:-1.5deg;display:grid;gap:2.6cqw}
.cab-n{font:700 4.4cqw/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy)}
.cab-t{font:400 15cqw/.9 var(--f-display)}
.cab-s{font:600 6.4cqw/1.25 var(--f-hand);color:var(--pen)}
.cab-copy{display:grid;gap:14px;justify-items:start}
.cab-copy .file-more{margin:16px 0 0}

/* the video row: real phones you can play */
.vwall{display:flex;gap:clamp(18px,2.4vw,32px);overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--gutter) 30px;margin:0 calc(var(--gutter) * -1);scrollbar-width:none}
.vwall::-webkit-scrollbar{display:none}
.vphone{flex:none;width:clamp(190px,19vw,250px);margin:0;scroll-snap-align:center;display:grid;gap:12px}
.vphone-device{position:relative;display:block;aspect-ratio:520/1076}
.vphone-shell{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.vphone-screen{position:absolute;left:5%;top:3.3%;width:91.5%;height:89.5%;border-radius:18px;overflow:hidden;background:#000;z-index:1;cursor:pointer}
.vphone-screen video{width:100%;height:100%;object-fit:cover}
.vplay{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;border:0;background:rgba(251,241,226,.92);display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.35);transition:opacity .25s,transform .25s;z-index:3}
.vplay i{width:0;height:0;border-left:18px solid var(--burgundy);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.vphone.playing .vplay{opacity:0;transform:scale(.8)}
.vbar{position:absolute;left:8%;right:8%;bottom:4%;height:4px;border-radius:99px;background:rgba(255,255,255,.3);z-index:3;overflow:hidden}
.vbar i{display:block;height:100%;width:0;background:#fff}
.vphone figcaption{display:grid;gap:3px;text-align:center}
.vphone figcaption b{font:400 19px/1.15 var(--f-display);color:#fbf1e2}
.vphone figcaption span{font:600 11px/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--blush)}

/* the clean laptop (no halo) */
.lap{position:relative;aspect-ratio:818/531}
.lap-shell{filter:drop-shadow(0 26px 30px rgba(0,0,0,.35))}
.lap-screen{left:10.76%;top:4.33%;width:78.48%;height:75.52%}
.lap-live{bottom:-6%}

/* espresso martini in the footer */
.w-last-drink{max-width:150px}

/* a single notebook centers itself */
.case-two:has(> :only-child){grid-template-columns:minmax(0,760px);justify-content:center}

@media (max-width:980px){.s-cabinet{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.cab-copy{justify-items:center}}

.news-note{margin-top:40px}

.w-last-drink{rotate:0deg}

/* ===== QA fixes ===== */
/* work pages: a real, natural crushed velvet (not mirrored) */
body.w-work::before,body.w-case::before{background:linear-gradient(rgba(36,6,12,.28),rgba(36,6,12,.42)),url(/assets/world/real/velvet-burgundy.webp) center/cover no-repeat #3f0a14!important}
/* phones: the video sits ON the screen, the phone photo's own screen stays hidden */
.vphone-shell,.set-phone-shell{z-index:1}
.vphone-screen,.set-phone-screen{z-index:3}
/* hero props never get cut off */
.case-hero{overflow:visible}
/* script page + account stats side by side */
.case-two .insights{grid-column:auto;margin-top:0;align-self:center;justify-self:stretch}
/* next-file: the name always fits on the torn paper */
.next-file b{font-size:clamp(34px,5vw,76px);white-space:nowrap}
.next-file::before{inset:14% max(6%,calc(50% - 480px))}
/* supply list: neat real paper cards */
.index-card{background:#fbf7ee var(--paper-tex) center/cover!important}
.index-card li,.index-card li span,.index-card li b{line-height:1.35}
.index-card li{padding:7px 0;border-bottom:1px solid rgba(42,24,18,.08)}
.index-card li span{font-size:19px}
.index-card .ic-head{line-height:1.1;padding-bottom:10px;border-bottom:2px solid rgba(179,38,58,.5)}
/* kraft notebook writing: bigger */
.knb-page{font-size:2.95cqw;gap:1cqw}
.knb-page .knb-head{font-size:3.4cqw}
/* on velvet the burgundy lace disappears, so velvet pages use the cream lace */
:is(.w-work,.w-case) .lace-div--wine{height:58px;background-image:url(/assets/lace-trim.webp);background-size:auto 58px}
/* the stamp sits on the corner of the invitation, not on the title */
.stamp--iv{top:-7%;right:-6%;bottom:auto;font-size:clamp(28px,3.2vw,46px);border-width:4px}
.cal-pen{margin-top:30px}
@media (max-width:760px){
  .thought--tv{left:30%;width:66%;top:-2%}
}
.invite .iv-rule{display:block;float:none;position:static;width:60px;margin:18px auto!important}
@media (prefers-reduced-motion:reduce){.js .grow-line{transform:none;opacity:1}}
.lp-head span:last-child{white-space:nowrap}
.grow-line{white-space:nowrap;font-size:clamp(38px,4.8vw,80px)}
.s-loves .strips{position:relative;z-index:2}
.s-loves .loves-prop{z-index:1}
/* lighter dots still, so type always wins */
body.world::before{background:
  radial-gradient(circle,rgba(90,58,44,.14) 0 17px,transparent 17.6px) 0 0/104px 104px,
  radial-gradient(circle,rgba(90,58,44,.14) 0 17px,transparent 17.6px) 52px 52px/104px 104px,
  #f8efe2!important}
@media (orientation:portrait){body.world::before{background:
  radial-gradient(circle,rgba(90,58,44,.12) 0 9px,transparent 9.6px) 0 0/58px 58px,
  radial-gradient(circle,rgba(90,58,44,.12) 0 9px,transparent 9.6px) 29px 29px/58px 58px,
  #f8efe2!important}}
body.w-work::before,body.w-case::before{background:linear-gradient(rgba(36,6,12,.28),rgba(36,6,12,.42)),url(/assets/world/real/velvet-burgundy.webp) center/cover no-repeat #3f0a14!important}
body.w-about::before{background:url(/assets/world/real/silk-cream.webp) center/cover no-repeat #efe4d3!important}

/* ===== the cover (home hero) — a magazine cover, nothing on it moves ===== */
.s-cover{display:grid;grid-template-columns:minmax(0,560px) minmax(0,520px);justify-content:center;align-items:center;gap:clamp(40px,6vw,96px);padding:clamp(100px,11vw,140px) var(--gutter) clamp(60px,7vw,100px)}
.cover{position:relative;width:100%;aspect-ratio:4/5;container-type:inline-size;overflow:hidden;background:#f8c7da;box-shadow:0 2px 4px rgba(42,24,18,.12),0 40px 70px -30px rgba(42,24,18,.55)}
.cover-bg,.cover-cut{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;max-width:none}
.cover-cut{z-index:3;pointer-events:none}
.cv-top{position:absolute;z-index:4;left:5cqw;right:5cqw;top:4cqw;margin:0;display:flex;justify-content:space-between;font:600 2.1cqw/1 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy);border-bottom:.25cqw solid var(--burgundy);padding-bottom:1.6cqw}
.cv-mast{position:absolute;z-index:2;left:0;right:0;top:8.5cqw;margin:0;text-align:center;font:400 21.5cqw/.8 var(--f-display);letter-spacing:-.035em;color:var(--burgundy);text-transform:uppercase}
.cv-sub{position:absolute;z-index:4;right:5cqw;top:27.5cqw;margin:0;font:italic 400 6cqw/1 var(--f-serif);color:var(--burgundy)}
.cv-sub em{font-size:.7em}
.cv-lines{position:absolute;z-index:4;margin:0;padding:0;list-style:none;display:grid;gap:4cqw;width:27cqw}
.cv-lines li{font:500 2.4cqw/1.25 var(--f-body);color:var(--ink)}
.cv-lines b{display:block;font:400 6.4cqw/.95 var(--f-display);color:var(--burgundy);margin-bottom:.8cqw;letter-spacing:-.01em}
.cv-lines--l{left:5cqw;top:50cqw}
.cv-lines--r{right:4cqw;top:52cqw;text-align:right;width:24cqw}
.cv-feature{position:absolute;z-index:4;left:5cqw;bottom:5cqw;margin:0;width:52cqw;font:600 2.2cqw/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#fff7ef;background:var(--burgundy);padding:2.2cqw 2.6cqw}
.cv-feature b{display:block;font:italic 400 5.2cqw/1 var(--f-serif);letter-spacing:0;text-transform:none;margin-bottom:1cqw;color:var(--butter)}
.cv-code{position:absolute;z-index:4;right:5cqw;bottom:5cqw;margin:0;background:#fff;padding:1.6cqw 1.8cqw 1.2cqw;display:grid;gap:.8cqw;justify-items:center}
.cv-code i{display:block;width:15cqw;height:7cqw;background:repeating-linear-gradient(90deg,#111 0 .35cqw,#fff 0 .7cqw,#111 0 .85cqw,#fff 0 1.4cqw,#111 0 2cqw,#fff 0 2.3cqw)}
.cv-code span{font:600 1.5cqw/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#111}

.contents{display:grid;gap:22px;color:var(--ink)}
.contents .w-kicker{color:var(--burgundy)}
.ct-title{margin:0;font:400 clamp(40px,4.6vw,66px)/.98 var(--f-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.ct-title em{font-family:var(--f-serif);color:var(--burgundy)}
.contents ol{list-style:none;margin:8px 0 0;padding:0;border-top:2px solid var(--ink)}
.contents li a{display:grid;grid-template-columns:52px 1fr;column-gap:16px;padding:16px 0 17px;border-bottom:1px solid rgba(42,24,18,.22);color:inherit;text-decoration:none}
.ct-n{grid-row:span 2;font:400 30px/1 var(--f-display);color:var(--burgundy);font-variant-numeric:tabular-nums}
.ct-t{font:400 clamp(24px,2.2vw,30px)/1.05 var(--f-display);transition:color .2s}
.ct-d{font:400 15.5px/1.45 var(--f-body);color:var(--ink-soft);margin-top:4px}
.contents li a:hover .ct-t,.contents li a:focus-visible .ct-t{color:var(--burgundy)}
.ct-foot{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font:500 15px/1.3 var(--f-body);color:var(--ink-soft)}
.ct-foot .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#3fae55;margin-right:8px;vertical-align:1px}
.ct-foot a{font:600 13px/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:#fff7ef;background:var(--burgundy);padding:14px 20px;text-decoration:none}

.s-pull{padding:clamp(40px,6vw,90px) var(--gutter) clamp(70px,8vw,120px);display:grid;justify-items:center}
.pull{margin:0;max-width:980px;text-align:center;border-top:2px solid var(--ink);border-bottom:1px solid rgba(42,24,18,.3);padding:clamp(30px,4vw,54px) 0}
.pull p{margin:0;font:400 clamp(30px,3.6vw,54px)/1.12 var(--f-display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.pull p::before{content:"\201C";color:var(--burgundy)}
.pull p::after{content:"\201D";color:var(--burgundy)}
.pull em{font-family:var(--f-serif);color:var(--burgundy)}
.pull cite{display:block;margin-top:22px;font:600 12px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;font-style:normal;color:var(--burgundy)}

@media (max-width:900px){
  .s-cover{grid-template-columns:minmax(0,560px);padding-top:96px}
}

/* ===== editorial pages instead of sticky-note paper ===== */
.report,.doc,.invoice,.ros,.changelog,.script-page,.callsheet,.shotlist,.kanban,.napkin,.ticket,.invite,.match,.newsletter .nl-body,.story,.cal,.howiwork,.ledger-page,.index-card,.story-ruled,.tab-receipt,.rf-label{
  background:#faf6ef!important;background-image:none!important;border-radius:0!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 28px 50px -26px rgba(0,0,0,.45)!important;
  border-top:3px solid var(--burgundy);--tilt:0deg;rotate:0deg!important;outline:none!important}
.report,.doc,.invoice,.ros,.changelog,.script-page,.callsheet,.shotlist,.kanban,.napkin,.ticket,.invite,.howiwork,.ledger-page,.index-card,.tab-receipt,.rf-label{transform:none}
.js .index-card.reveal.in,.js .slide-in.in{transform:none}
.report::after,.doc::after,.invoice::after,.ros::after,.changelog::after,.script-page::after,.callsheet::after,.shotlist::after,.napkin::before,.ledger-page::before,.script-page::before{display:none!important}
.report,.doc,.ros,.script-page,.ledger-page,.howiwork,.napkin,.index-card{margin-top:0!important}
.index-card li,.index-card .ic-head,.index-card li span,.howiwork ol,.ledger-page ol,.howiwork .hw-head,.lp-head{line-height:1.5!important}
.index-card li{padding:9px 0;border-bottom:1px solid rgba(42,24,18,.12)}
.index-card li b{padding-top:0!important}
.howiwork ol,.ledger-page ol{display:grid;gap:12px;font-family:var(--f-body)!important;font-size:17px!important;color:var(--ink)}
.howiwork .hw-head,.lp-head,.napkin .napkin-head{font:400 clamp(26px,2.4vw,34px)/1.1 var(--f-display)!important;color:var(--ink)!important;margin-bottom:14px}
.napkin p{font-family:var(--f-body)!important;font-size:17px!important;line-height:1.6!important;color:var(--ink)}
:is(.report,.doc,.ros,.script-page,.ledger-page,.howiwork,.napkin,.index-card,.ticket,.invite,.match,.cal,.newsletter) .pen{font:italic 400 clamp(20px,1.8vw,24px)/1.25 var(--f-serif)!important;color:var(--burgundy)!important;transform:none!important;rotate:0deg!important}
.strip{transform:none!important;rotate:0deg!important;background:#faf6ef!important;box-shadow:none!important;border-top:2px solid var(--burgundy)}
.cv-lines--l{width:23cqw;left:4.5cqw}
.cv-lines b{font-size:5.6cqw}
.cv-lines--r{top:49cqw}
.cv-feature{width:58cqw;letter-spacing:.1em}
@media (max-width:600px){
  .cv-top{font-size:2.8cqw}
  .cv-lines li{font-size:3.3cqw}
  .cv-lines b{font-size:7cqw}
  .cv-lines--l{width:27cqw}.cv-lines--r{width:27cqw}
  .cv-feature{font-size:2.8cqw;width:62cqw}
  .cv-code span{font-size:2cqw}
}
/* next file: a clean editorial link, no torn paper */
.next-file::before{display:none!important}
.next-file{color:var(--cream)!important;border-top:1px solid rgba(244,232,212,.35);border-bottom:1px solid rgba(244,232,212,.35);margin:clamp(40px,5vw,70px) var(--gutter);padding:clamp(40px,5vw,64px) 0!important}
.next-file span{color:var(--blush)}
.next-file b em{font-family:var(--f-serif)}
.w-home .next-file{color:var(--ink)!important}
.index-card li span{font:italic 400 18px/1.35 var(--f-serif)!important;color:var(--ink-soft)!important}
.story{font:400 16px/1.45 var(--f-body)!important;border-left:0!important;border-top:3px solid var(--burgundy)}
/* her cut-outs stay put: no sliding in and out */
.peek img,.peek--vend img,.peek.on img,.peek--vend.on img{transition:none!important}
.peek img{transform:none!important}
.peek--vend img{transform:translateX(18%)!important}
.index-cards{margin-top:44px}
.index-cards>.index-card:first-child{grid-column:1/-1}
.index-cards>.index-card:first-child ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
@media (max-width:760px){.index-cards>.index-card:first-child ul{grid-template-columns:1fr}}
.index-card .ic-head{font:400 26px/1.15 var(--f-display)!important;color:var(--ink)!important}
.cv-lines b{white-space:nowrap}
@media (max-width:600px){.cv-lines b{font-size:6.2cqw}.cv-lines li{font-size:3cqw}}
.lp-head{gap:16px}

/* SHE Collective: the real client feed */
.feed{max-width:1180px;margin:44px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.feed-tile{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:#2a1812;cursor:default}
.feed-tile img,.feed-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.feed-tile video{cursor:pointer}
.feed-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;display:flex;justify-content:space-between;align-items:end;gap:8px;background:linear-gradient(transparent,rgba(20,8,6,.78));color:#fff7ef;pointer-events:none}
.feed-tile figcaption b{font:600 11px/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase}
.feed-tile figcaption span{font:italic 400 15px/1 var(--f-serif);color:var(--blush);white-space:nowrap}
.feed-snd{position:absolute;top:10px;right:10px;z-index:2;font:600 10px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#fff7ef;background:rgba(20,8,6,.55);padding:7px 9px;pointer-events:none}
.feed-tile.sound .feed-snd{opacity:0}
@media (max-width:760px){.feed{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* footer: calmer headline, softer glass shadow */
.w-last-title{font-size:clamp(44px,5vw,78px)!important;line-height:1!important}
.w-last-drink{filter:drop-shadow(0 10px 12px rgba(0,0,0,.35))!important;max-width:130px!important}

/* her photos in the case heroes: crisp editorial frames, nothing floats */
.case-hero--photo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:center}
.ch-photo{margin:0;justify-self:end;width:100%;max-width:460px;aspect-ratio:4/5;overflow:hidden;background:#f4ede2;box-shadow:0 2px 4px rgba(0,0,0,.15),0 34px 60px -30px rgba(0,0,0,.6)}
.ch-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;max-width:none}
.w-case--soc .ch-photo img{object-position:60% 75%}
.case-hero--cabinet,.w-work .case-hero--photo{text-align:left}
@media (max-width:900px){.case-hero--photo{grid-template-columns:1fr}.ch-photo{justify-self:start;max-width:420px}}
.insights--solo{max-width:760px;margin:48px auto 0}
/* home: a neutral real-paper ground instead of polka dots */
body.world.w-home::before{background:linear-gradient(rgba(246,240,231,.55),rgba(246,240,231,.55)),url(/assets/world/real/paper-white.webp) center/cover no-repeat #f3ede4!important}

/* ===== About: clean, sleek, editorial ===== */
body.world.w-ab::before{background:#f5efe6!important}
.w-ab{color:var(--ink)}
.ab{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.ab-label{margin:0 0 18px;font:600 12px/1.3 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy)}
.ab-kick{margin:0;font:600 12px/1.3 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--burgundy)}
.ab-h2{margin:0;font:400 clamp(34px,3.8vw,56px)/1.02 var(--f-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.ab-h2 em,.ab-title em{font-family:var(--f-serif);color:var(--burgundy)}
.ab-sec{padding:clamp(56px,7vw,100px) 0;border-top:1px solid rgba(42,24,18,.18)}

.ab-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,96px);align-items:center;padding:clamp(110px,12vw,160px) 0 clamp(60px,7vw,100px)}
.ab-title{margin:14px 0 0;font:400 clamp(58px,7.4vw,118px)/.94 var(--f-display);letter-spacing:-.03em;color:var(--ink)}
.ab-stand{margin:28px 0 0;max-width:34ch;font:400 clamp(21px,1.7vw,25px)/1.45 var(--f-serif);color:var(--ink-soft)}
.ab-facts{margin:36px 0 0;display:grid;gap:0;border-top:2px solid var(--ink)}
.ab-facts div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid rgba(42,24,18,.18)}
.ab-facts dt{font:600 11px/1.6 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.ab-facts dd{margin:0;font:500 16px/1.4 var(--f-body);color:var(--ink)}
.ab-portrait{margin:0;aspect-ratio:4/5;overflow:hidden;box-shadow:0 2px 4px rgba(42,24,18,.1),0 40px 70px -34px rgba(42,24,18,.5)}
.ab-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;max-width:none}

.ab-time{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.ab-time li{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid rgba(42,24,18,.18)}
.ab-yr{font:400 26px/1.1 var(--f-display);color:var(--burgundy);font-variant-numeric:tabular-nums}
.ab-time b{display:block;font:400 clamp(24px,2.2vw,30px)/1.1 var(--f-display);color:var(--ink)}
.ab-time p{margin:6px 0 0;max-width:62ch;font:400 17px/1.55 var(--f-body);color:var(--ink-soft)}
.ab-next b{color:var(--burgundy)}

.ab-lessons{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:start}
.ab-num{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 36px}
.ab-num li{border-top:2px solid var(--ink);padding-top:16px}
.ab-num span{font:400 38px/1 var(--f-display);color:var(--burgundy)}
.ab-num p{margin:10px 0 0;font:400 19px/1.45 var(--f-serif);color:var(--ink)}

.ab-bigger{padding:clamp(60px,8vw,120px) 0;text-align:center;border-top:1px solid rgba(42,24,18,.18)}
.ab-bigger p{margin:0 auto;max-width:18ch;font:400 clamp(42px,5.6vw,86px)/1.02 var(--f-display);letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.ab-bigger em{font-family:var(--f-serif);color:var(--burgundy)}
.ab-bigger .ab-bigger-sub{margin-top:26px;max-width:46ch;font:400 21px/1.45 var(--f-serif);letter-spacing:0;color:var(--ink-soft)}

.ab-spread{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:clamp(14px,2vw,28px);align-items:end;padding:0 0 clamp(60px,7vw,100px)}
.ab-spread figure{margin:0}
.ab-spread img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;max-width:none}
.ab-spread figure:nth-child(2) img{aspect-ratio:3/4}
.ab-spread figcaption{margin-top:10px;font:italic 400 16px/1.3 var(--f-serif);color:var(--ink-soft)}

.ab-two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:start}
.ab-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.ab-colh{margin:0;padding-bottom:12px;border-bottom:2px solid var(--ink);font:600 12px/1.3 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.ab-cols ul{list-style:none;margin:0;padding:0}
.ab-cols li{padding:13px 0;border-bottom:1px solid rgba(42,24,18,.16);font:400 17px/1.45 var(--f-body);color:var(--ink)}

.ab-how-list{margin:0;padding:0;list-style:none;counter-reset:how;border-top:2px solid var(--ink)}
.ab-how-list li{counter-increment:how;display:grid;grid-template-columns:70px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(42,24,18,.18);font:400 clamp(22px,2vw,28px)/1.3 var(--f-serif);color:var(--ink)}
.ab-how-list li::before{content:counter(how,decimal-leading-zero);font:400 22px/1.4 var(--f-display);color:var(--burgundy)}

.ab-off{padding:clamp(50px,6vw,80px) 0 clamp(70px,8vw,110px);border-top:1px solid rgba(42,24,18,.18)}
.ab-off-line{margin:0;max-width:60ch;font:italic 400 clamp(22px,2vw,28px)/1.5 var(--f-serif);color:var(--ink)}

@media (max-width:900px){
  .ab-hero,.ab-lessons,.ab-two{grid-template-columns:1fr}
  .ab-portrait{max-width:480px}
  .ab-time li{grid-template-columns:1fr;gap:6px}
  .ab-spread{grid-template-columns:1fr 1fr}.ab-spread figure:nth-child(2){grid-column:1/-1;order:-1}
}
@media (max-width:600px){.ab-num,.ab-cols{grid-template-columns:1fr}.ab-facts div{grid-template-columns:1fr;gap:2px}.ab-how-list li{grid-template-columns:44px 1fr}}
/* footer on the About page sits on ivory too */
.w-ab .lace-div{display:none}
.w-case--soc .ch-photo{aspect-ratio:4/3}
.w-case--soc .ch-photo img{object-position:62% 90%}
.ab-yr{white-space:nowrap}
@media (max-width:600px){.feed-tile figcaption span{display:none}.feed-snd{font-size:9px;padding:5px 6px}}

/* cleaner case heroes: a quiet facts line instead of pills, no handwriting */
.case-hero--photo .case-title{font-size:clamp(60px,8vw,140px)}
.case-hero .w-hand{font:italic 400 clamp(22px,2vw,28px)/1.35 var(--f-serif)!important;color:var(--blush)!important;max-width:30ch}
.ch-facts{gap:0!important;margin-top:30px!important;padding-top:16px!important;border-top:1px solid rgba(251,241,226,.35)}
.ch-facts li{border:0!important;border-radius:0!important;background:none!important;padding:0!important;font:600 12px/1.6 var(--f-body)!important;letter-spacing:.2em!important;color:#fbf1e2!important}
.ch-facts li+li::before{content:"·";margin:0 12px;color:var(--blush)}
.w-case--soc .ch-photo{aspect-ratio:1498/1240;max-width:600px}
.w-case--soc .ch-photo img{object-position:50% 50%}
.w-case--soc .case-hero--photo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
/* report KPIs: numbers fit their columns */
.kpi b{font-size:clamp(28px,2.7vw,42px)!important;white-space:nowrap}
.kpi small,.rp-table,.rp-meta{font-family:var(--f-body)!important}
.rp-table{font-size:15px!important}
.kpi small{font-size:13px!important}
.ch-facts{column-gap:26px!important;row-gap:8px!important}
.ch-facts li{position:relative}
.ch-facts li+li::before{position:absolute;left:-17px;margin:0!important}

/* mobile menu: button top left, full-screen list of pages */
.w-menu{display:none;width:40px;height:40px;margin:0 -6px 0 -8px;padding:10px 9px;border:0;background:none;color:inherit;cursor:pointer;flex-direction:column;justify-content:space-between}
.w-menu i{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform .25s,opacity .2s}
.w-menu[aria-expanded="true"] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.w-menu[aria-expanded="true"] i:nth-child(2){opacity:0}
.w-menu[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.w-panel{position:fixed;inset:0;z-index:79;background:#f5efe6;color:#2a1812;padding:96px 24px 40px;overflow-y:auto}
.w-panel[hidden]{display:none!important}
.w-panel nav{display:grid;border-top:2px solid #2a1812}
.w-panel a{display:block;padding:16px 0;border-bottom:1px solid rgba(42,24,18,.18);font:400 30px/1.1 "Gloock","Bodoni 72",Didot,Georgia,serif;color:#2a1812;text-decoration:none}
.w-panel a.w-panel-sub{padding:11px 0 11px 22px;font:italic 400 22px/1.2 "Instrument Serif",Georgia,serif;color:#6b1424}
.w-panel a.w-panel-cta{margin-top:26px;border:0;text-align:center;background:#6b1424;color:#fff7ef;font:600 14px/1 "Jost",system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:18px}
html.menu-open{overflow:hidden}
html.menu-open .w-top{color:#2a1812!important;background:#f5efe6!important;box-shadow:none!important}
html.menu-open .w-top .w-mark i{color:#6b1424!important}
html.menu-open .w-nav .w-cta{border-color:#6b1424!important;color:#6b1424!important}
@media (max-width:640px){.w-menu{display:flex}.w-top{justify-content:flex-start}.w-nav{margin-left:auto}.w-mark{font-size:17px}}
@media (max-width:900px){
  .w-case--soc .case-hero--photo,.case-hero--photo{grid-template-columns:1fr!important}
  .ch-photo,.w-case--soc .ch-photo{justify-self:stretch;max-width:100%}
}
@media (max-width:600px){
  .ch-facts li{font-size:11px!important;letter-spacing:.16em!important}
  .case-hero--photo .case-title{font-size:clamp(54px,15vw,84px)}
}
@media (max-width:600px){.ch-facts li+li::before{display:none}.ch-facts{column-gap:18px!important}}
