@font-face{font-family:"Sofia";src:url(fonts/sofia-sans-extra-condensed-latin-wght-normal.woff2) format("woff2");font-weight:1 1000;font-display:swap}
@font-face{font-family:"Besley";src:url(fonts/besley-latin-wght-normal.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Besley";src:url(fonts/besley-latin-wght-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
:root{
  --ground:#0F3A2C;--deep:#0A2A20;--ink:#061A14;--cream:#F1E4CC;--accent:#E04A2C;
  --gut:clamp(16px,2.2vw,32px);
  --tp:68px;
  scrollbar-color:#2c5a49 var(--ink);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--cream);font:400 17px/1.5 Besley,Georgia,serif;overflow-x:clip}
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;background:url(a/grain.png);opacity:.55}
::selection{background:var(--accent);color:var(--ink)}
img,video{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--cream);outline-offset:3px;box-shadow:0 0 0 3px var(--ink)}
.skip{position:fixed;left:8px;top:-80px;z-index:100;background:var(--cream);color:var(--ink);padding:10px 16px}
.skip:focus{top:8px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Display voice: one face, one weight, always capitals */
h1,h2,h3,.huge,.line,.stat-n,.stat-l,.day-n,.day-w,.more li,.sources li,.tp-now,.foot-tag,.nav,.menu summary,.menu a,.btn,.order,.ch-tt time,.foot nav{
  font-family:Sofia,"Arial Narrow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;
}
.big{font-size:clamp(20px,2.1vw,32px);line-height:1.32;max-width:34ch;font-weight:400}

/* Button */
.btn{display:inline-block;background:var(--cream);color:var(--ink);padding:.5em .9em .46em;font-size:clamp(20px,1.7vw,26px);line-height:1;letter-spacing:.012em;white-space:nowrap;text-decoration:none;border:0;cursor:pointer;transition:background-color .25s,color .25s,transform .25s cubic-bezier(.16,1,.3,1)}
.btn:hover{background:var(--accent);color:var(--ink)}
.btn:active{transform:translateY(1px) scale(.985)}

/* Header */
.bar{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:flex-start;padding:14px var(--gut);pointer-events:none;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.bar>*{pointer-events:auto}
.js .bar{position:fixed}
.bar.away{transform:translateY(-110%)}
.bar.away:focus-within{transform:none}
.mark img{width:clamp(62px,5.6vw,84px);height:auto;filter:drop-shadow(0 2px 10px rgba(6,26,20,.55))}
.nav ul{display:flex;gap:clamp(16px,2vw,30px)}
.nav a,.menu summary{font-size:21px;letter-spacing:.015em;text-decoration:none;text-shadow:0 1px 12px rgba(6,26,20,.75)}
.nav a:hover,.nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;padding:8px 0}
.menu summary::-webkit-details-marker{display:none}
@media (max-width:860px){
  .nav{display:none}.menu{display:block;position:relative;text-align:right}
  .menu[open] nav{position:fixed;inset:0;background:var(--ground);z-index:-1;display:flex;align-items:flex-end;padding:var(--gut);padding-bottom:40px;text-align:left}
  .menu[open] a{font-size:17vw;line-height:.95;display:block;text-decoration:none;padding:.03em 0}
  .menu[open] li:nth-child(2) a{font-size:11.6vw;padding:.18em 0}
  .menu[open] summary{position:relative}
}

/* Captions: the film's own label, beside every frame */
.cap{font:italic 400 15px/1.35 Besley,Georgia,serif;max-width:34ch;text-shadow:0 1px 8px rgba(6,26,20,.9)}
.cap span{display:block;font-style:normal;font-weight:500}
.cap b{font-weight:600;font-style:normal;margin-right:.3em}

/* Frames: full bleed, stacked like film through a gate */
.fr{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink);isolation:isolate}
.fr-m{position:absolute;inset:0;transform-origin:50% 60%}
.fr-m img,.fr-m video{width:100%;height:100%;object-fit:cover;object-position:var(--x,50%) 50%;transform:scale(1.14)}
.stack>.fr:not(:last-child),.ch>.fr{margin-bottom:45svh}
@media (max-width:700px){.fr-m img,.fr-m video{object-position:var(--xm,50%) 50%}
}
.fr::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(70% 42% at 100% 8%,rgba(6,26,20,.86),rgba(6,26,20,.72) 46%,rgba(6,26,20,0) 100%),
  linear-gradient(to bottom,rgba(6,26,20,.62),rgba(6,26,20,0) 26%),
  linear-gradient(to top,rgba(6,26,20,.86),rgba(6,26,20,.34) 34%,rgba(6,26,20,0) 62%)}
.fr>.cap{position:absolute;z-index:2}
figure.fr>.cap,.fr>figcaption{top:clamp(72px,6vw,92px);right:var(--gut);text-align:right}
.pz{position:absolute;z-index:4;right:var(--gut);bottom:calc(var(--gut) + var(--pzb,0px));width:46px;height:46px;border-radius:50%;border:0;background:rgba(241,228,204,.94);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.pz[hidden]{display:none}
.pz:hover{transform:scale(1.07)}
.pz svg{width:20px;height:20px;fill:currentColor}
.pz .i-play{display:none}.pz.is-paused .i-play{display:block}.pz.is-paused .i-pause{display:none}

/* ===== Home: opening ===== */
.open{position:relative;background:var(--ink)}
.open-stage{position:relative;overflow:hidden}
.pic{position:absolute;left:0;right:0;top:0;height:100svh;overflow:hidden}
.pic-in{position:absolute;inset:0;transform-origin:0 0}
.pic-in img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.dim,.ring{display:none}
.ring{position:absolute;left:0;top:0;border:2px solid var(--cream);border-radius:50%;pointer-events:none;z-index:3}
.open-scrim{position:absolute;left:0;right:0;top:0;height:100svh}
.open-title{position:relative;z-index:5;height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--gut) var(--gut);background:linear-gradient(to top,rgba(6,26,20,.82),rgba(6,26,20,0) 66%)}
.motion .open-title{background:none}
h1{font-size:min(14.35vw,27svh);line-height:.84}
.ln{display:block;overflow:clip;padding:.05em 0 .01em;margin:-.05em 0 -.01em}
.ln>span{display:block}
.open-side{position:absolute;right:var(--gut);bottom:var(--gut);width:min(31vw,420px);display:flex;flex-direction:column;align-items:flex-start;gap:.8em}
.open-side p{font-size:clamp(19px,1.65vw,24px);line-height:1.28}
.open-lines{position:relative;z-index:4;background:var(--ground);padding:clamp(64px,10vw,140px) var(--gut);display:grid;gap:.5em}
.line{font-size:clamp(52px,9.2vw,190px);line-height:.88;max-width:13.5em;text-wrap:balance}
.open-cap{position:relative;padding:12px var(--gut) 20px;background:var(--ground);max-width:none}

.motion .open{height:560svh}
.motion .open-stage{position:sticky;top:0;height:100svh}
.motion .dim{display:block}
.motion .dim img{filter:brightness(.36) saturate(.32)}
.motion .dim::after{content:"";position:absolute;inset:0;background:var(--ground);mix-blend-mode:multiply;opacity:.75}
.motion .lit{clip-path:circle(0 at 66% 30%)}
.motion .ring{display:block;opacity:0}
.motion .open-scrim{background:linear-gradient(to top,rgba(6,26,20,.86),rgba(6,26,20,.5) 42%,rgba(6,26,20,0) 72%);opacity:0;z-index:2}
.motion .open-lines{position:absolute;inset:0;height:100svh;background:none;padding:0 var(--gut);display:block;pointer-events:none}
.motion .line{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(40px,7vh,84px);visibility:hidden}
.motion .open-cap{position:absolute;z-index:5;left:var(--gut);top:clamp(92px,8vw,116px);padding:0;background:none;max-width:22ch}
.motion .open-title .ln>span{animation:rise 1.25s cubic-bezier(.16,1,.3,1) both}
.motion .open-title .ln:nth-child(2)>span{animation-delay:.1s}
.motion .open-side{animation:fade 1s .7s both}
@keyframes rise{from{transform:translateY(106%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (max-width:760px){
  h1{font-size:24.2vw;line-height:.85}
  .open-side{position:static;width:auto;margin-top:12px;gap:12px}
  .open-side p{font-size:18px;max-width:27ch}
  .motion .open-cap{left:88px;top:18px;max-width:18ch;font-size:12.5px}
}

/* ===== Home: four clauses ===== */
.stack{position:relative;z-index:1}
.huge{position:absolute;z-index:3;left:var(--gut);right:var(--gut);bottom:calc(var(--gut) - .04em);font-size:min(17vw,40svh);line-height:.84;text-wrap:balance}
.long .huge{font-size:min(12.6vw,27svh)}
.lead-t{position:absolute;z-index:3;left:var(--gut);right:var(--gut);bottom:var(--gut);display:grid;gap:20px}
.lead-t h2{font-size:min(11vw,22svh);line-height:.85;max-width:11.2em}
.lead-t h2 a{text-decoration:none}
.lead-t h2 a:hover{text-decoration:underline;text-decoration-thickness:.04em}
.lead-side{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;justify-content:space-between}
.lead-side p{font-size:clamp(17px,1.5vw,22px);max-width:44ch}
.lead::after{background:radial-gradient(70% 42% at 100% 8%,rgba(6,26,20,.86),rgba(6,26,20,.72) 46%,rgba(6,26,20,0) 100%),linear-gradient(to bottom,rgba(6,26,20,.6),rgba(6,26,20,0) 24%),linear-gradient(to top,rgba(6,26,20,.94),rgba(6,26,20,.72) 44%,rgba(6,26,20,0) 78%)}
.lead .cap{top:clamp(72px,6vw,92px);right:var(--gut);text-align:right}
.clause .pz{bottom:auto;top:clamp(140px,11vw,170px)}
@media (max-width:760px){
  .huge{font-size:27vw;line-height:.85}
  .long .huge{font-size:19.5vw}
  .lead-t h2{font-size:17.6vw}
  figure.fr>.cap,.fr>figcaption,.lead .cap{top:70px;left:auto;right:var(--gut);max-width:31ch;font-size:13px}
}

/* ===== Home: the week ===== */
.week{position:relative;z-index:2;background:var(--ink)}
.week-stage{position:relative;min-height:100svh;display:flex;flex-direction:column}
.days{flex:1;display:flex;min-height:100svh;gap:0;background:var(--ink)}
.day{position:relative;flex:1 1 0;min-width:0;overflow:hidden;--pad:clamp(10px,1.1vw,18px)}
.day img,.sun-m{position:absolute;left:50%;top:0;height:100%;width:max(100vw,178svh);max-width:none;transform:translateX(-50%);object-fit:cover;object-position:var(--x,50%) 50%}
.day img{filter:brightness(.72)}
.day:not(:first-child){box-shadow:-1px 0 0 rgba(6,26,20,.9)}
.sun-m video{width:100%;height:100%;object-fit:cover;transform:scale(1.14)}
.day::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,26,20,.86),rgba(6,26,20,0) 52%);pointer-events:none}
.day-t{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:var(--gut)}
.day-n{display:block;font-size:min(5.4vw,13svh);line-height:.9;white-space:nowrap}
.day-w{display:block;font-size:clamp(20px,2vw,30px);line-height:1;margin-top:.25em}
.day-w small{font-size:1em;display:block;font-weight:600}
.sun .day-n{font-size:min(5.4vw,13svh);transition:font-size .6s cubic-bezier(.16,1,.3,1)}
.sun::before{content:"";position:absolute;z-index:2;left:var(--pad);bottom:calc(var(--gut) + min(6.4vw,14svh) + 3.4em);width:.9em;height:1.3em;font-size:clamp(20px,2vw,30px);background:var(--accent);border-radius:3px;transform:skewX(-14deg)}
.week h2{position:absolute;z-index:3;left:var(--gut);top:clamp(92px,8vw,120px);font-size:min(9.2vw,17svh);line-height:.86;max-width:10em;pointer-events:none;text-shadow:0 2px 30px rgba(6,26,20,.5)}
.week-note{position:absolute;z-index:3;left:var(--gut);top:clamp(92px,8vw,120px);max-width:32ch;font-size:clamp(19px,1.7vw,25px);line-height:1.28;text-shadow:0 1px 10px rgba(6,26,20,.9)}
.week-cap{position:static;padding:12px var(--gut);background:var(--ink);max-width:none}
.motion .week{height:520svh}
.motion .week-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.motion .days{min-height:0}
.motion .day{flex-basis:0}
.motion .week-note{opacity:0}
.motion .week.is-sun .sun::before{display:none}
.motion .week:not(.sun-open) .sun .pz{opacity:0;pointer-events:none}
.motion .week.is-sun .day.sun::after{background:linear-gradient(to bottom,rgba(6,26,20,.72),rgba(6,26,20,0) 30%),linear-gradient(to top,rgba(6,26,20,.86),rgba(6,26,20,0) 52%)}
.motion .week.is-sun .sun .day-n{font-size:min(30vw,62svh);line-height:.8}
.motion .week.is-sun .sun .day-w{font-size:min(5vw,9svh)}
.motion .week.is-sun .sun .day-w small{display:inline}
.motion .week-cap{position:absolute;z-index:3;right:var(--gut);top:clamp(62px,5vw,72px);left:auto;width:auto;background:none;padding:0;text-align:right;max-width:44ch;font-size:12.5px;pointer-events:none}
.sun .pz{right:var(--pad);z-index:5;bottom:var(--gut)}
.motion .week.is-sun .sun .pz{right:var(--gut)}
@media (max-width:760px){
  .days{flex-direction:column}
  .day{min-height:calc(100svh/7);--pad:var(--gut)}
  .motion .day{min-height:0}
  .day:not(:first-child){box-shadow:0 -1px 0 rgba(6,26,20,.9)}
  .day img,.sun-m{left:0;top:50%;width:100%;height:max(100svh,56vw);transform:translateY(-50%)}
  .day::after{background:linear-gradient(to right,rgba(6,26,20,.72),rgba(6,26,20,.1) 80%)}
  .day-t{left:var(--pad);right:var(--pad);bottom:7px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .day-n{font-size:11vw}.day-w{margin:0;text-align:right;font-size:6vw}
  .sun .day-n{font-size:11vw}
  .sun::before{display:none}
  .week h2{font-size:18vw;right:var(--gut)}
  .week-note{left:var(--gut);right:var(--gut);top:70px;max-width:none}
  .motion .days{margin-top:58px}
  .motion .week-cap{top:8px;right:var(--gut);left:var(--gut);text-align:left;font-size:11.5px;max-width:none}
  .week h2{top:76px}
  .motion .week.is-sun .sun .day-t{display:block;bottom:96px;transform:none}
  .motion .week.is-sun .sun .day-n{font-size:37vw}
  .motion .week.is-sun .sun .day-w{font-size:11vw;text-align:left;margin-top:.2em}
}

/* ===== Home: two more films (the one light moment) ===== */
.more{position:relative;z-index:3;background:var(--cream);color:var(--ground);padding:clamp(70px,9vw,130px) var(--gut) clamp(50px,6vw,90px);overflow:clip;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.more ::selection{color:var(--cream)}
.more h2{font-size:clamp(30px,3.6vw,56px);line-height:1}
.more li{font-size:min(14.2vw,27svh);line-height:.84;text-wrap:balance}
.more li+li{margin-top:.18em;text-align:right}
.more>p{font-size:clamp(20px,2.1vw,32px);line-height:1.2;align-self:flex-start}
@media (max-width:760px){.more li{font-size:21vw}.more li+li{text-align:left;margin-top:.4em}}

/* ===== Home: about ===== */
.about{position:relative;z-index:3;background:var(--ink)}
.about-bg{position:sticky;top:0;height:100svh;overflow:hidden}
.about-bg::after{content:"";position:absolute;inset:0;background:rgba(6,26,20,.46);pointer-events:none}
.about-bg .cap{position:absolute;z-index:2;right:var(--gut);top:clamp(72px,6vw,92px);text-align:right}
.about-bg .pz{z-index:4}
.about-run{position:relative;z-index:2;margin-top:-100svh;padding:60svh var(--gut) 30svh;display:grid;grid-template-columns:minmax(0,1fr);gap:42svh;pointer-events:none}
.about-run h2{font-size:min(13vw,26svh);line-height:.85;max-width:9.6em}
.about-run .big{font-family:Sofia,"Arial Narrow",sans-serif;font-weight:800;text-transform:uppercase;font-size:min(6.6vw,12svh);line-height:.92;max-width:15em}
@media (max-width:760px){.about-bg .cap{top:auto;bottom:var(--gut);left:var(--gut);right:76px;text-align:left;font-size:13px}.about-run h2{font-size:17.6vw}.about-run .big{font-size:12.4vw}.about-run{gap:34svh}}

/* ===== Newsletter ===== */
.news{position:relative;z-index:3;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink)}
.news::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,26,20,.92),rgba(6,26,20,.3) 66%,rgba(6,26,20,.5));pointer-events:none}
.news-in{position:relative;z-index:2;width:100%;padding:120px var(--gut) var(--gut);display:grid;gap:28px}
.news h2{font-size:min(14.2vw,27svh);line-height:.84;max-width:10em}
.news-sub{font-size:clamp(28px,3vw,44px);line-height:1;margin-top:18px}
.news>.cap{position:absolute;z-index:2;right:var(--gut);top:clamp(72px,6vw,92px);text-align:right}
.news .fr-m .pz{top:clamp(140px,11vw,170px);bottom:auto;z-index:4}
.signup{max-width:720px}
.signup label{display:block;font-size:16px;margin-bottom:6px}
.signup-row{display:flex;gap:0;align-items:stretch}
.signup input{flex:1;min-width:0;background:rgba(6,26,20,.6);color:var(--cream);border:0;border-bottom:3px solid var(--cream);border-radius:0;padding:.42em .5em;font:400 clamp(19px,1.7vw,24px)/1.2 Besley,Georgia,serif}
.signup input[aria-invalid]{border-bottom-color:var(--accent)}
.signup .btn{flex:none}
.msg{min-height:1.5em;margin-top:8px;font-size:16px}
.news-in>.btn{justify-self:start}
@media (max-width:760px){.news h2{font-size:22vw}.news>.cap{top:70px;font-size:13px;max-width:26ch}}

/* ===== Film: hero ===== */
.fhero{position:relative;z-index:1}
.fhero-stage{position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--gut);background:var(--ink)}
.motion .fhero-stage .fr-m img{animation:settle 2.4s cubic-bezier(.16,1,.3,1) both}
@keyframes settle{from{transform:scale(1.22)}to{transform:scale(1.14)}}
.fhero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,26,20,.92),rgba(6,26,20,.66) 38%,rgba(6,26,20,0) 66%),linear-gradient(to bottom,rgba(6,26,20,.5),rgba(6,26,20,0) 22%)}
.fhero h1{position:relative;z-index:2;font-size:min(11.5vw,22svh);line-height:.84}
.motion .fhero .ln>span{animation:rise 1.25s cubic-bezier(.16,1,.3,1) both}
.motion .fhero .ln:nth-child(2)>span{animation-delay:.08s}
.motion .fhero .ln:nth-child(3)>span{animation-delay:.16s}
.fhero-side{position:absolute;z-index:2;right:var(--gut);top:clamp(92px,8vw,120px);width:min(25vw,340px);display:flex;flex-direction:column;align-items:flex-end;gap:14px;text-align:right}
.fhero-side p{font-size:clamp(17px,1.4vw,21px);line-height:1.3;text-shadow:0 1px 10px rgba(6,26,20,.8)}
.fhero .cap{position:absolute;z-index:2;right:var(--gut);top:clamp(250px,19vw,290px);text-align:right}
@media (max-width:760px){
  .fhero h1{font-size:18.2vw}
  .fhero .ln,.fhero .ln>span{display:inline;overflow:visible;margin:0;padding:0;animation:none!important}
  .fhero-side{position:relative;top:auto;right:auto;width:auto;align-items:flex-start;text-align:left;margin-top:12px}
  .fhero .cap{top:70px;bottom:auto;max-width:24ch;font-size:13px}
  .fhero-stage{min-height:0}
}

/* ===== Film: description and running order ===== */
.desc{position:relative;z-index:2;overflow:clip;background:var(--ink)}
.desc>.fr-m{position:sticky;top:0;height:100svh;inset:auto}
.desc>.fr-m::after{content:"";position:absolute;inset:0;background:rgba(6,26,20,.6)}
.desc>.fr-m .pz{z-index:4}
.desc-in{position:relative;z-index:2;margin-top:-100svh;padding:clamp(100px,14svh,150px) var(--gut) 18svh;pointer-events:none}
.desc-in a{pointer-events:auto}
.desc h2{font-size:min(11.4vw,23svh);line-height:.85;max-width:10.8em}
.desc .big{margin-top:.8em;font-size:clamp(24px,2.6vw,40px);max-width:none}
.order{columns:2;column-gap:var(--gut);margin-top:30svh;font-size:min(7.6vw,13svh);line-height:.98}
.order li{break-inside:avoid}
.order a{display:grid;grid-template-columns:1.25em 1fr;gap:.12em;text-decoration:none;align-items:baseline}
.order b{font-size:.42em;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.order a:hover span{text-decoration:underline;text-decoration-thickness:.05em}
.desc>.cap{position:absolute;z-index:3;top:clamp(72px,6vw,92px);right:var(--gut);text-align:right}
@media (max-width:760px){.desc h2{font-size:18.8vw}.order{columns:1;font-size:13.4vw;margin-top:24svh}.order a{grid-template-columns:1.25em 1fr}.desc>.cap{top:70px;font-size:13px}}

/* ===== Film: the reel ===== */
.reel{position:relative;z-index:3;background:var(--ink)}
.ch{position:relative;isolation:isolate;margin-bottom:-100svh;--pzb:var(--tp)}
.ch-tail{height:100svh}
.ch-t{position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:3;pointer-events:none;display:flex;align-items:flex-end;padding:0 var(--gut) calc(var(--tp) + var(--gut))}
.ch-tt{transform-origin:0 100%}
.ch-tt time{display:block;font-size:min(3.2vw,6svh);line-height:1;margin-bottom:.15em;font-variant-numeric:tabular-nums}
.ch h3{font-size:min(15.5vw,31svh);line-height:.83;max-width:7.4em;text-wrap:balance}
.ch:last-child{margin-bottom:0}
.ch:last-child>.fr{margin-bottom:0}
.ch:last-child .ch-tail{display:none}

.stat{background:var(--ground);display:grid;align-content:start;padding:clamp(88px,10svh,120px) var(--gut) 0}
.stat::after{display:none}
.stat-n{font-size:calc(min(222vw / var(--c,6),44svh));line-height:.8;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.stat-n[style*="--c:2"]{font-size:60svh}
#ch-peak .stat-n{font-size:min(30vw,35svh)}
@media (max-width:760px){#ch-peak .stat-n{font-size:calc(min(205vw / var(--c,6),50svh))}}
.stat-l{font-size:min(5.6vw,11svh);line-height:.9;margin-top:.14em}
.stat-d{max-width:42ch;margin-top:.8em;font-size:clamp(17px,1.5vw,22px);line-height:1.34}
.name .stat-n{font-size:min(19vw,38svh);line-height:.84;max-width:6em}
.credit-card{background:var(--cream);color:var(--ground);display:flex;flex-direction:column;justify-content:flex-start;gap:1em;padding:clamp(88px,12svh,130px) var(--gut) 0}
.credit-card::after{display:none}
.credit-card .big{font-family:Sofia,"Arial Narrow",sans-serif;font-weight:800;text-transform:uppercase;font-size:min(5.3vw,9.6svh);line-height:.92;max-width:21em}
.cream .ch-t{color:var(--ground)}
.cream h3{font-size:min(15.5vw,27svh)}

.tp{position:sticky;bottom:0;z-index:20;height:var(--tp);margin-top:calc(-1*var(--tp));background:var(--ink);padding:9px var(--gut) 4px;display:flex;flex-direction:column;justify-content:space-between}
.tp-now{display:flex;gap:.6em;font-size:22px;line-height:1;align-items:baseline;font-variant-numeric:tabular-nums}
.tp-time{min-width:2.5em}
.tp-tot{margin-left:auto}
.tp-bar{display:flex;gap:3px;height:24px}
.tp-bar a{display:block;height:100%;position:relative}
.tp-bar a::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:rgba(241,228,204,.3)}
.tp-bar a i{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:var(--cream);transform:scaleX(0);transform-origin:0 50%}
.tp-bar a[aria-current] i{background:var(--accent)}
.tp-bar a:hover::before{background:rgba(241,228,204,.7);height:8px;margin-top:-4px}
@media (max-width:760px){
  .ch h3{font-size:18.6vw;max-width:none}
  .ch-tt time{font-size:8vw}
  .stat{padding-top:96px}
  .stat-n{font-size:calc(min(205vw / var(--c,6),50svh))}
  .stat-n[style*="--c:2"]{font-size:min(100vw,50svh)}
  .stat-l{font-size:11.5vw}
  .name .stat-n{font-size:27vw}
  .credit-card .big{font-size:10.6vw}
}

/* ===== Film: sources ===== */
.sources{position:relative;z-index:4;background:var(--cream);color:var(--ground);padding:clamp(70px,9vw,130px) var(--gut) clamp(40px,5vw,70px);min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.sources ::selection{color:var(--cream)}
.sources h2{font-size:clamp(30px,3.6vw,56px);line-height:1}
.sources li{font-size:min(15.4vw,20svh);line-height:.86}
.sources>p{max-width:62ch}
@media (max-width:760px){.sources li{font-size:21vw}}

/* ===== Footer ===== */
.foot{position:relative;z-index:5;background:var(--ground);padding:clamp(40px,5vw,70px) var(--gut);display:grid;grid-template-columns:minmax(180px,20vw) 1fr auto;gap:clamp(24px,4vw,70px);align-items:end}
.foot-mark{width:100%;height:auto}
.foot-tag{font-size:min(8.2vw,120px);line-height:.86;margin-bottom:.22em}
.foot-main p:not(.foot-tag){max-width:50ch;margin-top:.5em}
.foot nav{font-size:24px;line-height:1.25;letter-spacing:.012em}
.foot nav a{text-decoration:none}
.foot nav a:hover{text-decoration:underline}
@media (max-width:860px){.foot{grid-template-columns:1fr}.foot-mark{width:56%}.foot-tag{font-size:21vw}.foot nav{font-size:28px}}

/* ===== Credits page ===== */
.cr{padding:clamp(120px,14vw,180px) var(--gut) 80px;background:var(--ink);min-height:100svh}
.cr h1{font-size:min(30vw,44svh);line-height:.8;margin-bottom:.14em}
.cr>.big{max-width:40ch;margin-bottom:1em}
.cr>p{max-width:68ch}
.cr h2{font-size:min(8vw,84px);line-height:.9;margin:1.1em 0 .4em}
.cr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:30px var(--gut)}
.cr-list li{font-size:15px;line-height:1.42;overflow-wrap:anywhere}
.cr-what{font-style:italic;margin-bottom:.35em}
.cr-list a{text-decoration:underline}

@media (max-width:700px){
  .fr::after,.lead::after{background:
    linear-gradient(to bottom,rgba(6,26,20,.86),rgba(6,26,20,.8) 19%,rgba(6,26,20,0) 33%),
    linear-gradient(to top,rgba(6,26,20,.88),rgba(6,26,20,.34) 34%,rgba(6,26,20,0) 62%)}
  .lead::after{background:
    linear-gradient(to bottom,rgba(6,26,20,.86),rgba(6,26,20,.8) 15%,rgba(6,26,20,0) 28%),
    linear-gradient(to top,rgba(6,26,20,.94),rgba(6,26,20,.72) 44%,rgba(6,26,20,0) 78%)}
}

/* ===== Reduced motion: a plain stack ===== */
@media (prefers-reduced-motion:reduce){
  .fr,.ch-t,.about-bg,.desc>.fr-m{position:relative}
  .fr{min-height:100svh}
  .stack>.fr:not(:last-child),.ch>.fr{margin-bottom:0}
  .ch{margin-bottom:0}.ch-tail{display:none}
  .ch-t{height:auto;margin:0;padding:48px var(--gut) 24px;background:var(--ground)}
  .about-run,.desc-in{margin-top:0;background:var(--ground);padding:60px var(--gut)}
  .about-run{gap:48px}
  .order{margin-top:40px}
  *{transition:none!important;animation:none!important}
}
