/* ============================================================
   RUDDOCK FILM — shared stylesheet
   ============================================================ */

@font-face{font-family:'Anton';src:url('../fonts/anton-latin-400-normal.woff2') format('woff2'),url('https://fonts.gstatic.com/s/anton/v27/1Ptgg87LROyAm0K0.ttf') format('truetype');font-weight:400;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/inter-latin-300-normal.woff2') format('woff2'),url('https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZg.ttf') format('truetype');font-weight:300;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/inter-latin-400-normal.woff2') format('woff2'),url('https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZg.ttf') format('truetype');font-weight:400;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/inter-latin-500-normal.woff2') format('woff2'),url('https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZg.ttf') format('truetype');font-weight:500;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2'),url('https://fonts.gstatic.com/s/cormorantgaramond/v21/co3smX5slCNuHLi8bLeY9MK7whWMhyjYrGFEsdtdc62E6zd58jDOjw.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}

:root{
  --black:#0b0a08;
  --cream:#efe7d6;
  --cream-dim:rgba(239,231,214,.55);
  --cream-faint:rgba(239,231,214,.28);
  --line:rgba(239,231,214,.14);
  --amber:rgba(190,120,45,1);
  --red:rgba(150,25,30,1);
  --teal:rgba(60,110,120,1);
  --night:#0a0d22;
}

/* ---------- cross-document view transitions: cinematic cut ---------- */
@media (prefers-reduced-motion: no-preference){
  @view-transition{ navigation: auto; }
  ::view-transition-old(root){ animation: .35s ease-in both vt-fade-out; }
  ::view-transition-new(root){ animation: .5s .15s ease-out both vt-fade-in; }
  @keyframes vt-fade-out{ to{ opacity:0; transform:scale(.985); filter:brightness(.4); } }
  @keyframes vt-fade-in{ from{ opacity:0; filter:brightness(.4); } }
  ::view-transition-group(project-title){ animation-duration:.55s; }
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.lenis, html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
body{
  background:var(--black);color:var(--cream);
  font-family:'Inter',sans-serif;font-weight:300;
  overflow-x:hidden;position:relative;
}

/* ---------- animated film grain ---------- */
.grain{
  position:fixed;inset:-100px;pointer-events:none;z-index:80;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='300' height='300' filter='url(%23n)'/></svg>");
  background-size:300px 300px;mix-blend-mode:overlay;
  animation:grain .9s steps(1) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}12%{transform:translate(-40px,20px)}25%{transform:translate(30px,-35px)}
  37%{transform:translate(-20px,-40px)}50%{transform:translate(45px,25px)}62%{transform:translate(-35px,45px)}
  75%{transform:translate(25px,-20px)}87%{transform:translate(-45px,-30px)}100%{transform:translate(0,0)}
}

/* ---------- typography helpers ---------- */
.display{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:.01em;}
.eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--cream-dim);font-weight:500;}
.serif{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;}
section{position:relative;overflow:hidden;}
.inner{max-width:1240px;margin:0 auto;padding:0 60px;position:relative;z-index:5;}

/* ---------- film-leader preloader ---------- */
.leader{
  position:fixed;inset:0;z-index:200;background:#0d0c0a;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .45s ease;
}
.leader.done{opacity:0;pointer-events:none;}
.leader .l-ring{
  position:relative;width:240px;height:240px;border-radius:50%;
  border:1px solid rgba(239,231,214,.25);
  display:flex;align-items:center;justify-content:center;
}
.leader .l-ring::before{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(239,231,214,.15);}
.leader .l-cross-v,.leader .l-cross-h{position:absolute;background:rgba(239,231,214,.18);}
.leader .l-cross-v{width:1px;top:-40px;bottom:-40px;left:50%;}
.leader .l-cross-h{height:1px;left:-40px;right:-40px;top:50%;}
.leader .l-num{font-family:'Anton',sans-serif;font-size:110px;color:var(--cream);}
.leader .l-sweep{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(rgba(239,231,214,.12) var(--sweep,0deg), transparent 0);}
.leader .l-brand{position:absolute;bottom:60px;left:0;right:0;text-align:center;
  font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--cream-dim);}

/* ---------- viewfinder cursor ---------- */
@media (hover:hover) and (pointer:fine){
  .vf{
    position:fixed;top:0;left:0;z-index:150;pointer-events:none;
    width:44px;height:44px;transform:translate(-50%,-50%);
    transition:width .25s ease,height .25s ease,opacity .3s;
    opacity:0;
  }
  body.cursor-on .vf{opacity:1;}
  .vf .c{position:absolute;width:10px;height:10px;border:1px solid var(--cream);}
  .vf .c1{top:0;left:0;border-right:0;border-bottom:0;}
  .vf .c2{top:0;right:0;border-left:0;border-bottom:0;}
  .vf .c3{bottom:0;left:0;border-right:0;border-top:0;}
  .vf .c4{bottom:0;right:0;border-left:0;border-top:0;}
  .vf .dot{position:absolute;top:50%;left:50%;width:3px;height:3px;background:var(--cream);border-radius:50%;transform:translate(-50%,-50%);}
  .vf .lbl{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);
    opacity:0;transition:opacity .2s;white-space:nowrap;font-family:'Inter',sans-serif;font-weight:500;
  }
  .vf.big{width:88px;height:88px;}
  .vf.big .lbl{opacity:1;}
  .vf.big .dot{opacity:0;}
  .vf.hidden-mode{opacity:0!important;}
}
.vf{display:none;}
@media (hover:hover) and (pointer:fine){ .vf{display:block;} }

/* ---------- nav ---------- */
nav.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:90;
  display:flex;justify-content:space-between;align-items:center;
  padding:30px 60px;transition:background .5s ease,padding .5s ease;
}
nav.site-nav.scrolled{background:rgba(11,10,8,.82);backdrop-filter:blur(12px);padding:18px 60px;border-bottom:1px solid var(--line);}
nav.site-nav .logo{font-family:'Anton',sans-serif;font-size:17px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream);text-decoration:none;}
nav.site-nav ul{display:flex;gap:42px;list-style:none;}
nav.site-nav a{color:var(--cream-dim);text-decoration:none;font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;transition:color .3s;}
nav.site-nav a:hover,nav.site-nav a[aria-current="page"]{color:var(--cream);}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:16px 38px;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;text-decoration:none;cursor:pointer;border:none;font-family:'Inter',sans-serif;will-change:transform;}
.btn.solid{background:var(--cream);color:#0b0a08;}
.btn.ghost{border:1px solid var(--cream-faint);color:var(--cream);background:transparent;}

/* ---------- reveals (JS-driven baseline; GSAP takes over when present) ---------- */
.reveal{opacity:0;transform:translateY(46px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);}
.reveal.on{opacity:1;transform:none;}
.reveal-l{opacity:0;transform:translateX(-60px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);}
.reveal-r{opacity:0;transform:translateX(60px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);}
.reveal-l.on,.reveal-r.on{opacity:1;transform:none;}

/* ---------- asset slots ---------- */
.slot{position:relative;overflow:hidden;}
.slot video,.slot img.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;}
.slot.loaded video,.slot.loaded img.media{opacity:1;}
.drop-tag{
  position:absolute;bottom:14px;right:14px;z-index:6;
  font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(239,231,214,.5);
  border:1px dashed rgba(239,231,214,.3);padding:7px 11px;background:rgba(11,10,8,.5);
}
.slot.loaded .drop-tag{display:none;}

/* ---------- frames ---------- */
.frame{position:relative;border:1px solid var(--line);aspect-ratio:16/9;overflow:hidden;}
.frame .fnum{position:absolute;top:14px;left:16px;font-size:9.5px;letter-spacing:.3em;color:var(--cream-faint);text-transform:uppercase;z-index:5;}
.frame .fx{position:absolute;inset:0;}
.frame .vig{position:absolute;inset:0;box-shadow:inset 0 0 120px 20px rgba(0,0,0,.8);z-index:4;pointer-events:none;}
.fx-dc{background:radial-gradient(340px 220px at 30% 45%, rgba(220,150,60,.4), transparent 70%),radial-gradient(500px 300px at 75% 60%, rgba(40,55,80,.5), transparent 70%),linear-gradient(180deg,#171310,#0a0908);}
.fx-cd{background:radial-gradient(320px 260px at 62% 40%, rgba(190,40,45,.42), transparent 70%),radial-gradient(240px 200px at 25% 70%, rgba(240,235,215,.10), transparent 70%),linear-gradient(200deg,#190d0e,#0b0708);}
.fx-ss{background:radial-gradient(400px 260px at 45% 55%, rgba(100,160,170,.28), transparent 72%),linear-gradient(0deg, rgba(180,200,205,.08), transparent 40%),linear-gradient(180deg,#101617,#080b0c);}

/* ---------- chapter shell ---------- */
.chapter{min-height:100vh;display:flex;align-items:center;padding:120px 0;}
.ch-head .eyebrow{display:block;margin-bottom:26px;}
.chapter h2,.chapter .h2{font-size:96px;}
.chapter .role{margin-top:20px;font-size:13px;letter-spacing:.4em;text-transform:uppercase;color:var(--cream-dim);font-weight:500;}
.chapter p.copy{margin-top:30px;max-width:560px;font-size:15.5px;line-height:1.85;color:var(--cream-dim);}
.chips{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px;max-width:560px;}
.chip{border:1px solid var(--cream-faint);padding:8px 16px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);
  opacity:.25;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease,border-color .5s;transition-delay:var(--d,0s);}
.chips.on .chip{opacity:1;transform:none;border-color:var(--cream-dim);}
.link-more{display:inline-block;margin-top:40px;color:var(--cream);text-decoration:none;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;border-bottom:1px solid var(--cream-faint);padding-bottom:8px;transition:border-color .3s;}
.link-more:hover{border-color:var(--cream);}
.split2{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;width:100%;}

/* ---------- laurels ---------- */
.laurels{display:flex;gap:34px;margin-top:44px;}
.laurel{position:relative;width:180px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.laurel svg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(.75);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s);}
.laurel.on svg{opacity:1;transform:scale(1);}
.laurel .lw-top{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);font-weight:500;}
.laurel .lw-mid{font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;max-width:96px;line-height:1.25;}
.laurel .lw-bot{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);margin-top:6px;max-width:100px;}
.imdb-line{display:flex;align-items:center;gap:16px;margin-top:38px;}
.imdb-badge{font-family:'Anton',sans-serif;font-size:12px;letter-spacing:.08em;background:var(--cream);color:#0b0a08;padding:6px 10px;}
.imdb-line .imdb-txt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);}
.imdb-line a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--cream-faint);padding-bottom:2px;}

/* ---------- footer ---------- */
footer.foot{padding:160px 0 60px;background:linear-gradient(180deg,#0b0a08,#070605);text-align:center;position:relative;overflow:hidden;}
.foot .q{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:52px;max-width:760px;margin:0 auto;line-height:1.25;}
.foot .btn{margin-top:52px;}
.foot .wordmark{font-family:'Anton',sans-serif;font-size:120px;letter-spacing:.05em;text-transform:uppercase;margin-top:130px;line-height:.95;color:rgba(239,231,214,.92);}
.foot .foot-nav{margin-top:56px;display:flex;justify-content:center;gap:42px;flex-wrap:wrap;}
.foot .foot-nav a{color:var(--cream-dim);text-decoration:none;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;}
.foot .legal{margin-top:38px;font-size:10.5px;letter-spacing:.2em;color:var(--cream-faint);text-transform:uppercase;}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(5,4,3,.94);display:none;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox .lb-inner{width:min(1100px,88vw);aspect-ratio:16/9;position:relative;border:1px solid var(--line);background:#000;display:flex;align-items:center;justify-content:center;}
.lightbox video{width:100%;height:100%;object-fit:contain;}
.lightbox .lb-msg{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-dim);text-align:center;line-height:2.2;}
.lightbox .lb-close{position:absolute;top:-46px;right:0;background:none;border:none;color:var(--cream);font-size:11px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;}

/* ---------- drag archive (BTS prints) ---------- */
.archive{margin-top:70px;position:relative;}
.archive .arch-hint{text-align:center;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--cream-dim);margin-bottom:24px;}
.arch-viewport{overflow:hidden;cursor:grab;padding:20px 0;}
.arch-viewport.dragging{cursor:grabbing;}
.arch-track{display:flex;gap:34px;padding:0 60px;will-change:transform;width:max-content;}
.print{
  position:relative;flex:0 0 300px;aspect-ratio:3/2;background:#171412;
  border:6px solid #f0e9dc;border-bottom-width:34px;box-shadow:0 18px 40px rgba(0,0,0,.55);
  transform:rotate(var(--tilt,0deg));user-select:none;
}
.print .p-cap{position:absolute;bottom:-28px;left:0;right:0;text-align:center;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:#5c5548;font-family:'Inter',sans-serif;}
.print .p-fill{position:absolute;inset:0;background:linear-gradient(150deg,#242019,#0f0d0b);}
.print .drop-tag{bottom:8px;right:8px;}

/* ---------- restoration scrub ---------- */
.resto-stage{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;}
.resto-frame{position:relative;width:min(1120px,86vw);aspect-ratio:21/9;border:1px solid var(--line);overflow:hidden;}
.resto-base{position:absolute;inset:0;background:radial-gradient(420px 300px at 40% 50%, rgba(230,160,70,.5), transparent 72%),radial-gradient(500px 340px at 85% 30%, rgba(70,110,150,.4), transparent 70%),linear-gradient(180deg,#1d1812,#0d0c0a);}
.resto-frame video,.resto-frame img.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.damage{position:absolute;inset:0;pointer-events:none;z-index:3;}
.resto-frame video,.resto-frame img.media{z-index:1;}
.moonwrap video,.moonwrap img.media{border-radius:50%;}
.moonwrap.slot{overflow:visible;}
.moonwrap .drop-tag{bottom:-6px;right:-6px;}
.damage.d-desat{background:rgba(30,26,20,.55);backdrop-filter:saturate(.4) contrast(.85) brightness(.82);}
.damage.d-scratch{background-image:
  repeating-linear-gradient(90deg, transparent 0 118px, rgba(239,231,214,.12) 118px 119px, transparent 119px 240px),
  repeating-linear-gradient(90deg, transparent 0 67px, rgba(0,0,0,.35) 67px 68px, transparent 68px 200px);
  animation:scratchjit .28s steps(2) infinite;}
@keyframes scratchjit{50%{transform:translateX(-2px)}}
.damage.d-lines{background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 2px,transparent 2px 4px);}
.damage.d-blotch{background:
  radial-gradient(90px 60px at 20% 30%, rgba(0,0,0,.5), transparent 70%),
  radial-gradient(60px 80px at 80% 65%, rgba(0,0,0,.45), transparent 70%),
  radial-gradient(50px 40px at 55% 15%, rgba(0,0,0,.4), transparent 70%);}
.damage.d-flicker{background:rgba(239,231,214,.05);animation:flick .18s steps(2) infinite;}
@keyframes flick{50%{opacity:.25}}
.resto-meter{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:6;
  display:flex;align-items:center;gap:18px;background:rgba(11,10,8,.6);padding:12px 22px;border:1px solid var(--line);
}
.resto-meter .rm-lbl{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-dim);}
.resto-meter .rm-bar{width:200px;height:1px;background:var(--cream-faint);position:relative;}
.resto-meter .rm-fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--cream);}
.resto-meter .rm-pct{font-family:'Anton',sans-serif;font-size:14px;color:var(--cream);min-width:44px;text-align:right;}

/* ---------- diffusion canvas ---------- */
.diffusion{position:absolute;inset:0;width:100%;height:100%;display:block;}

/* ---------- moon night scene ---------- */
.night{position:absolute;inset:0;}
.night canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.moonwrap{position:relative;width:280px;height:280px;margin:0 auto 60px;will-change:transform;}
.moon{width:100%;height:100%;border-radius:50%;
  background:radial-gradient(circle at 38% 34%, #f6efdc, #d9cfae 55%, #a89f83 100%);
  box-shadow:0 0 140px 30px rgba(240,235,215,.18);position:relative;overflow:hidden;}
.moon::after{content:"";position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(60px 44px at 66% 60%, rgba(140,130,100,.35), transparent 70%),radial-gradient(34px 28px at 30% 68%, rgba(140,130,100,.3), transparent 70%),radial-gradient(26px 22px at 55% 25%, rgba(140,130,100,.28), transparent 70%);}
.cloud{position:absolute;border-radius:50%;filter:blur(26px);background:rgba(180,190,220,.10);pointer-events:none;}

/* ---------- pair cards ---------- */
.pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px;}
.pair{background:var(--black);padding:26px;cursor:pointer;transition:background .4s;border:none;text-align:left;font-family:'Inter',sans-serif;color:var(--cream);}
.pair:hover{background:#14120e;}
.pair.active{background:#181510;}
.pair .p-t{display:block;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;margin-bottom:8px;color:var(--cream);}
.pair .p-s{display:block;font-size:12.5px;color:var(--cream-dim);line-height:1.6;font-weight:300;}
.pair .p-code{display:inline-block;margin-top:12px;font-size:9px;letter-spacing:.2em;color:rgba(239,231,214,.4);border:1px dashed rgba(239,231,214,.25);padding:4px 8px;text-transform:uppercase;}

/* ---------- before/after ---------- */
.ba{position:relative;border:1px solid var(--line);aspect-ratio:21/9;overflow:hidden;margin-top:64px;cursor:ew-resize;touch-action:none;user-select:none;}
.ba .layer{position:absolute;inset:0;}
.ba .layer .fill{position:absolute;inset:0;}
.ba .before-fill{background:radial-gradient(300px 220px at 55% 50%, rgba(140,110,70,.35), transparent 75%),linear-gradient(180deg,#191713,#0e0d0b);filter:saturate(.5) contrast(.85) brightness(.8);}
.ba .before-fill::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 2px,transparent 2px 4px);opacity:.5;}
.ba .after-fill{background:radial-gradient(420px 300px at 40% 50%, rgba(230,160,70,.5), transparent 72%),radial-gradient(500px 340px at 85% 30%, rgba(70,110,150,.4), transparent 70%),linear-gradient(180deg,#1d1812,#0d0c0a);}
.ba .layer.after{clip-path:inset(0 0 0 50%);}
.ba .handle{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--cream);z-index:8;}
.ba .knob{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9;width:52px;height:52px;border-radius:50%;border:1px solid var(--cream);background:rgba(11,10,8,.72);display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.12em;color:var(--cream);pointer-events:none;}
.ba .lbl{position:absolute;bottom:18px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--cream);z-index:7;background:rgba(11,10,8,.55);padding:8px 14px;pointer-events:none;}
.ba .lbl.l{left:20px;}
.ba .lbl.r{right:20px;}
.ba .slot-tag{position:absolute;top:14px;z-index:7;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(239,231,214,.5);border:1px dashed rgba(239,231,214,.3);padding:7px 11px;background:rgba(11,10,8,.5);}
.ba .slot-tag.l{left:14px;}
.ba .slot-tag.r{right:14px;}
.ba video,.ba img.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ---------- filmstrip ---------- */
.filmstrip{margin-top:60px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;}
.fs-track{display:flex;gap:14px;will-change:transform;width:max-content;}
.fs-cell{position:relative;flex:0 0 240px;aspect-ratio:16/9;border:1px solid var(--line);background:linear-gradient(160deg,#161011,#0c0809);}
.fs-cell .fs-n{position:absolute;top:10px;left:12px;font-size:9px;letter-spacing:.26em;color:var(--cream-faint);text-transform:uppercase;}

/* ---------- project pages ---------- */
.p-hero{height:92vh;min-height:640px;display:flex;align-items:flex-end;padding-bottom:90px;}
.p-hero .inner{width:100%;}
.p-hero .p-bg{position:absolute;inset:0;}
.p-hero .p-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,8,.5),transparent 35%,rgba(11,10,8,.92) 92%);}
.p-hero h1{font-size:120px;view-transition-name:project-title;}
.p-hero .role{margin-top:18px;font-size:13px;letter-spacing:.4em;text-transform:uppercase;color:var(--cream-dim);font-weight:500;}
.p-meta{display:flex;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.p-meta .pm{flex:1;background:var(--black);padding:26px 30px;}
.p-meta .pm .pm-k{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:8px;}
.p-meta .pm .pm-v{font-size:13.5px;letter-spacing:.06em;color:var(--cream);}
.p-section{padding:110px 0;}
.p-section .eyebrow{display:block;margin-bottom:30px;}
.p-section h2{font-size:56px;}
.p-section p.copy{margin-top:26px;max-width:640px;font-size:15.5px;line-height:1.85;color:var(--cream-dim);}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.gallery .frame{aspect-ratio:4/3;}
.gallery .frame.wide{grid-column:span 2;aspect-ratio:auto;}
.next-project{display:block;position:relative;padding:130px 60px;text-align:center;text-decoration:none;color:var(--cream);border-top:1px solid var(--line);overflow:hidden;}
.next-project .np-k{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--cream-dim);}
.next-project .np-t{font-family:'Anton',sans-serif;font-size:84px;text-transform:uppercase;margin-top:22px;line-height:.95;transition:letter-spacing .5s ease;}
.next-project:hover .np-t{letter-spacing:.04em;}
.next-project .np-bg{position:absolute;inset:0;opacity:.35;transition:opacity .5s,transform 1.2s ease;}
.next-project:hover .np-bg{opacity:.6;transform:scale(1.04);}

/* project palettes */
.pal-dc .p-bg{background:radial-gradient(1000px 640px at 70% 40%, rgba(190,120,45,.28), transparent 65%),linear-gradient(180deg,#14100b,#0b0a08);}
.pal-cd .p-bg{background:radial-gradient(900px 620px at 30% 45%, rgba(150,25,30,.30), transparent 68%),linear-gradient(180deg,#140b0c,#0b0a08);}
.pal-ss .p-bg{background:radial-gradient(900px 620px at 70% 45%, rgba(60,110,120,.24), transparent 68%),linear-gradient(180deg,#0c1214,#0b0a08);}
.pal-ctm .p-bg{background:radial-gradient(1100px 700px at 50% 90%, rgba(30,50,115,.4), transparent 75%),linear-gradient(180deg,#0a0d22,#070917);}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .chapter h2,.chapter .h2{font-size:64px;}
  .split2{grid-template-columns:1fr;gap:44px;}
  .inner{padding:0 34px;}
  nav.site-nav{padding:22px 34px;}
  nav.site-nav ul{gap:22px;}
  .p-hero h1{font-size:72px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .p-meta{flex-wrap:wrap;}
  .p-meta .pm{flex:1 1 40%;}
}
@media (max-width:640px){
  .chapter h2,.chapter .h2{font-size:44px;}
  .foot .wordmark{font-size:56px;}
  nav.site-nav ul{display:none;}
  .laurels{flex-wrap:wrap;}
  .pairs{grid-template-columns:1fr;}
  .p-hero h1{font-size:52px;}
  .gallery{grid-template-columns:1fr;}
  .next-project .np-t{font-size:44px;}
  .print{flex-basis:230px;}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .reveal,.reveal-l,.reveal-r,.chip,.laurel svg{opacity:1!important;transform:none!important;}
  .leader{display:none!important;}
  .damage{opacity:0!important;}
}

/* ---------- logo image (Ruddock & Co, 16 Oct 2026) ---------- */
nav.site-nav .logo{display:block;line-height:0;letter-spacing:0;}
nav.site-nav .logo img{height:44px;width:auto;display:block;transition:height .5s ease;}
nav.site-nav.scrolled .logo img{height:34px;}
.leader .l-brand img{height:40px;width:auto;display:inline-block;}
.foot .wordmark img{width:min(640px,80vw);height:auto;display:block;margin:0 auto;}
@media (max-width:640px){ nav.site-nav .logo img{height:32px;} nav.site-nav.scrolled .logo img{height:28px;} }
