/* The Right Brothers — shared tokens + landing page.
   Design source: Ofir's 1903 sketch (paper ground, blueprint grid, Bodoni / Caveat / Special Elite / Source Serif). */
:root{
  --ground:#E4E2D9;
  --paper:#EFEEE8;
  --ink:#0E2434;
  --muted:#4E6274;
  --rule:rgba(14,36,52,.22);
  --rule-soft:rgba(14,36,52,.11);
  --accent:#8A5A11;
  --line:#1E5273;
  --hand:#123549;
  --photo:sepia(.28) saturate(.78) contrast(1.04) brightness(1.02);
  --scrim:linear-gradient(180deg,rgba(228,226,217,.06) 0%,rgba(228,226,217,.68) 58%,rgba(228,226,217,.98) 100%);
  --band-scrim:linear-gradient(90deg,rgba(228,226,217,.96) 0%,rgba(228,226,217,.82) 44%,rgba(228,226,217,.28) 100%);
  --vid-scrim:linear-gradient(180deg,rgba(228,226,217,.93) 0%,rgba(228,226,217,.82) 45%,rgba(228,226,217,.96) 100%);
  --grid:rgba(30,82,115,.05);
  --sky:rgba(30,82,115,.04);
  --tape:rgba(176,150,96,.30);
  --lift:0 8px 22px rgba(14,36,52,.09);
  --lift-hi:0 16px 38px rgba(14,36,52,.16);
  --serif:"Source Serif 4",Charter,"Iowan Old Style",Georgia,serif;
  --didone:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;
  --type:"Special Elite","Courier Prime","Courier New",monospace;
  --script:Caveat,"Segoe Script","Bradley Hand",cursive;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#07182A;--paper:#0D2438;--ink:#EAE6D9;--muted:#9CB4C6;
    --rule:rgba(200,222,240,.24);--rule-soft:rgba(200,222,240,.11);
    --accent:#D2A254;--line:#7FB2D4;--hand:#B5D2E6;
    --photo:grayscale(1) sepia(1) hue-rotate(163deg) saturate(1.5) contrast(1.02) brightness(.95);
    --scrim:linear-gradient(180deg,rgba(7,24,42,.10) 0%,rgba(7,24,42,.70) 58%,rgba(7,24,42,.99) 100%);
    --band-scrim:linear-gradient(90deg,rgba(7,24,42,.96) 0%,rgba(7,24,42,.83) 44%,rgba(7,24,42,.30) 100%);
    --vid-scrim:linear-gradient(180deg,rgba(7,24,42,.90) 0%,rgba(7,24,42,.76) 45%,rgba(7,24,42,.96) 100%);
    --grid:rgba(127,178,212,.07);--sky:rgba(127,178,212,.06);--tape:rgba(210,162,84,.20);
    --lift:0 8px 24px rgba(0,0,0,.34);--lift-hi:0 18px 44px rgba(0,0,0,.48);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ground:#07182A;--paper:#0D2438;--ink:#EAE6D9;--muted:#9CB4C6;
  --rule:rgba(200,222,240,.24);--rule-soft:rgba(200,222,240,.11);
  --accent:#D2A254;--line:#7FB2D4;--hand:#B5D2E6;
  --photo:grayscale(1) sepia(1) hue-rotate(163deg) saturate(1.5) contrast(1.02) brightness(.95);
  --scrim:linear-gradient(180deg,rgba(7,24,42,.10) 0%,rgba(7,24,42,.70) 58%,rgba(7,24,42,.99) 100%);
  --band-scrim:linear-gradient(90deg,rgba(7,24,42,.96) 0%,rgba(7,24,42,.83) 44%,rgba(7,24,42,.30) 100%);
  --vid-scrim:linear-gradient(180deg,rgba(7,24,42,.90) 0%,rgba(7,24,42,.76) 45%,rgba(7,24,42,.96) 100%);
  --grid:rgba(127,178,212,.07);--sky:rgba(127,178,212,.06);--tape:rgba(210,162,84,.20);
  --lift:0 8px 24px rgba(0,0,0,.34);--lift-hi:0 18px 44px rgba(0,0,0,.48);
  color-scheme:dark;
}

*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{
  margin:0;
  background-color:var(--ground);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:36px 36px,36px 36px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.125rem;line-height:1.62;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative}
.narrow{max-width:56ch}
section{padding:92px 0;border-top:1px solid var(--rule-soft)}
section.band,section.flight,section.closer,section.hero{border-top:0;padding:0}
.skip{position:absolute;left:-999px;top:8px;z-index:60;background:var(--ink);color:var(--ground);padding:10px 16px}
.skip:focus{left:12px}

/* ---- type roles ---- */
.label{font-family:var(--type);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.hand{font-family:var(--script);color:var(--hand);font-size:1.6rem;line-height:1.3;font-weight:600}
.script{font-family:var(--script);font-weight:700;line-height:1.04;letter-spacing:0;margin:0;text-wrap:balance}
h1.script,h2.script{font-size:clamp(2.5rem,6.4vw,5rem)}
h3{font-family:var(--script);font-weight:700;font-size:1.85rem;margin:0 0 .1rem;line-height:1.1}
p{margin:0 0 1em}
.lede{font-size:1.28rem;line-height:1.54}
.muted{color:var(--muted)}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.eyebrow .bar{height:1px;background:var(--rule);flex:1}
html.js .rv{opacity:0;transform:translateY(18px)}
html.js .rv.in{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}

/* ---- buttons ---- */
.btn{display:inline-block;font-family:var(--type);font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ground);color:var(--ink);padding:17px 30px;text-decoration:none;cursor:pointer;transition:background .18s,color .18s}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--ground)}
.btn.solid{background:var(--ink);color:var(--ground)}
.btn.solid:hover,.btn.solid:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--ground)}
.textlink{font-family:var(--type);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px}
.textlink:hover{border-color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---- top bar ---- */
.top{position:absolute;top:0;left:0;right:0;z-index:5;padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:18px}
.top .mark{font-family:var(--didone);font-weight:800;font-size:1.05rem;letter-spacing:-.01em;text-decoration:none}
.top nav{display:flex;gap:26px;align-items:center}
.top nav a{font-family:var(--type);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.top nav a:hover{color:var(--accent)}
@media (max-width:620px){.top nav a.opt{display:none}}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:52% 46%;filter:var(--photo);opacity:.94;animation:drift 40s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.03)}to{transform:scale(1.12) translate3d(-1.4%,-1.2%,0)}}
.hero-scrim{position:absolute;inset:0;background:var(--scrim)}
.hero-inner{position:relative;padding:120px 0 64px;min-height:min(92vh,800px);display:flex;flex-direction:column;justify-content:flex-end}
.hero-mark{font-family:var(--didone);font-weight:800;font-size:clamp(2.6rem,7.8vw,6.2rem);line-height:.94;letter-spacing:-.022em;margin:0 0 .3em;max-width:11ch}
.estrule{display:flex;align-items:center;gap:14px;margin:0 0 26px}
.estrule .bar{height:1px;background:var(--ink);opacity:.38;flex:1}
.hero-tag{font-size:clamp(2.3rem,6vw,4.6rem);margin:0 0 .28em;max-width:16ch}
.hero-sub{max-width:48ch;font-size:1.26rem;margin-bottom:0;line-height:1.5}
.hero-cta{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;margin-top:30px}
.hero-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:40px}
.hero-meta div{border-left:1px solid var(--rule);padding-left:13px}
.hero-meta b{display:block;font-family:var(--didone);font-weight:800;font-size:1.4rem;font-variant-numeric:tabular-nums;line-height:1.2}
.heropath{position:absolute;left:0;right:0;top:16%;height:200px;pointer-events:none}
.heropath path.trail{fill:none;stroke:var(--accent);stroke-width:1.3;stroke-dasharray:1500;opacity:.8;animation:draw 4s ease-out .3s backwards}
@keyframes draw{from{stroke-dashoffset:1500}to{stroke-dashoffset:0}}

/* ---- who we are ---- */
.who{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:start}
.facts{border:1px solid var(--rule);background:var(--paper)}
.facts div{padding:22px 26px;border-bottom:1px solid var(--rule-soft)}
.facts div:last-child{border-bottom:0}
.facts .k{font-family:var(--type);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}
.facts .v{font-size:1.1rem;margin:0}

/* ---- work ---- */
.work-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:64px;align-items:center;margin-top:40px}
.work-item + .work-item{margin-top:72px}
.plate9{position:relative;background:var(--paper);border:1px solid var(--rule);padding:12px 12px 14px;box-shadow:var(--lift);transform:rotate(-1.2deg);transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s}
.plate9::before{content:"";position:absolute;top:-11px;left:50%;width:86px;height:22px;background:var(--tape);border:1px solid var(--rule-soft);transform:translateX(-50%) rotate(-2.5deg);z-index:2}
.plate9:hover,.plate9.playing{transform:rotate(0);box-shadow:var(--lift-hi)}
.player{position:relative;aspect-ratio:9/16;background:#0b0f14;overflow:hidden}
.player video{width:100%;height:100%;object-fit:cover}
.player .go{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding:0 16px 26px;border:0;cursor:pointer;color:#F3EFE4;background:linear-gradient(180deg,rgba(7,24,42,0) 45%,rgba(7,24,42,.72) 100%);font:inherit}
.player .go .disc{width:74px;height:74px;border-radius:50%;border:1px solid rgba(243,239,228,.75);display:flex;align-items:center;justify-content:center;background:rgba(7,24,42,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .2s}
.player .go:hover .disc{transform:scale(1.06)}
.player .go .disc svg{width:22px;height:22px;margin-left:4px;fill:#F3EFE4}
.player .go .cap{font-family:var(--type);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.player.on .go{display:none}
.plate9 figcaption{margin-top:12px;display:flex;justify-content:space-between;gap:12px}
.work-meta .client{font-family:var(--didone);font-weight:800;font-size:clamp(2rem,4vw,3rem);line-height:1;margin:0 0 .2em}
.work-meta dl{margin:26px 0 0;border-top:1px solid var(--rule)}
.work-meta dl div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--rule-soft)}
.work-meta dt{font-family:var(--type);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-top:4px}
.work-meta dd{margin:0}
.work-note{margin-top:22px;font-size:1rem}

/* ---- offer ---- */
.offer{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);background:var(--paper);margin-top:40px}
.offer article{padding:28px 24px 30px;border-right:1px solid var(--rule-soft)}
.offer article:last-child{border-right:0}
.offer .k{font-family:var(--type);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:12px}
.offer h3{font-size:1.75rem;margin-bottom:.35rem}
.offer p{margin:0;color:var(--muted);font-size:1.02rem}
.offer-cta{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;margin-top:34px}

/* ---- method ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);background:var(--paper);margin-top:40px;position:relative}
.steps article{padding:30px 26px 32px;border-right:1px solid var(--rule-soft)}
.steps article:last-child{border-right:0}
.steps .n{font-family:var(--type);font-size:.72rem;letter-spacing:.18em;color:var(--accent);display:block;margin-bottom:14px}
.steps p{margin:0;color:var(--muted);font-size:1.02rem}
.loopnote{margin-top:16px;display:flex;align-items:center;gap:12px}
.loopnote svg{width:40px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.4;flex:none}

/* ---- founders ---- */
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:40px;max-width:820px}
.person{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;border:1px solid var(--rule);background:var(--paper);padding:16px}
.person .ph{aspect-ratio:3/4;border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.person .ph svg{width:70%;stroke:var(--muted);fill:none;stroke-width:1.4}
.person .nm{font-family:var(--didone);font-weight:700;font-size:1.2rem;margin:0}
.person p{margin:4px 0 0;font-size:1rem;color:var(--muted)}

/* ---- told no ---- */
.nos{display:grid;gap:16px;justify-items:start;margin:40px 0 8px}
.no{position:relative;font-family:var(--didone);font-style:italic;font-weight:700;color:var(--muted);font-size:clamp(1.5rem,3.3vw,2.5rem);line-height:1.16}
.no::after{content:"";position:absolute;left:-5px;right:-5px;top:53%;height:3px;background:var(--accent);border-radius:2px;transform:scaleX(1);transform-origin:left center}
html.js .no::after{transform:scaleX(0)}
html.js .no.in::after{transform:scaleX(1);transition:transform .55s cubic-bezier(.3,.7,.3,1)}
html.js .no:nth-child(2).in::after{transition-delay:.16s}
html.js .no:nth-child(3).in::after{transition-delay:.32s}
.bigline{font-family:var(--didone);font-weight:700;font-size:clamp(1.3rem,2.5vw,1.95rem);line-height:1.26;max-width:26ch;margin:36px 0 0;padding-left:22px;border-left:3px solid var(--accent)}

/* ---- creed ---- */
.creed div{padding:28px 0;border-top:1px solid var(--rule-soft)}
.creed div:first-child{border-top:1px solid var(--rule)}
.creed div:last-child{border-bottom:1px solid var(--rule)}
.creed h3{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:22ch;margin-bottom:.3rem}
.creed p{margin:0;max-width:58ch;color:var(--muted)}

/* ---- story divider ---- */
.story-head{padding:84px 0 0;border-top:1px solid var(--rule)}
.story-head .script{max-width:18ch}

/* ---- flashback band ---- */
.band{position:relative;overflow:hidden;min-height:clamp(380px,56vh,560px);display:flex;align-items:center;margin-top:56px}
.band-photo{position:absolute;inset:0;background-size:cover;filter:var(--photo);transform:scale(1.06);animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1.16) translate3d(1.5%,-1.5%,0)}}
.band-scrim{position:absolute;inset:0;background:var(--band-scrim)}
.band .wrap{position:relative;width:100%;padding-top:64px;padding-bottom:64px}
.band h2{max-width:14ch}
.band p{max-width:40ch;margin-top:18px;font-size:1.2rem}
.band .label{margin-bottom:18px}

/* ---- flight animation ---- */
.flight{position:relative;background:var(--sky);border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);overflow:hidden}
.sky{position:relative;height:clamp(220px,26vw,300px);overflow:hidden}
.sky .horizon{position:absolute;left:0;right:0;bottom:64px;height:1px;background:var(--rule)}
.sky .dunes{position:absolute;left:0;right:0;bottom:0;height:64px;width:100%;opacity:.5}
.planewrap{position:absolute;top:11%;left:0;width:340px;animation:cross 19s linear infinite}
@keyframes cross{from{transform:translateX(-360px)}to{transform:translateX(calc(100vw + 40px))}}
.planebob{animation:bob 4.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-16px) rotate(1.6deg)}}
.flyer line,.flyer path,.flyer ellipse,.flyer circle,.flyer rect{vector-effect:non-scaling-stroke}
.flyer{stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round}
.flyer.flip{transform:scaleX(-1);transform-origin:50% 50%}
.skynote{position:absolute;left:0;right:0;bottom:22px;text-align:center;padding:0 16px}
.flyer .frame{opacity:.9}
.flyer .brace{opacity:.42}
.flyer .prop{stroke:var(--accent);stroke-dasharray:5 7;animation:spin 1.1s linear infinite}
@keyframes spin{to{stroke-dashoffset:-48}}
.gust{position:absolute;height:1px;background:var(--rule);opacity:0;animation:gust 3.4s linear infinite}
@keyframes gust{0%{opacity:0;transform:translateX(0)}12%{opacity:.75}100%{opacity:0;transform:translateX(-360px)}}

/* ---- counter + chart ---- */
.tick{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.tick b{font-family:var(--didone);font-weight:800;font-size:clamp(4.5rem,14vw,11rem);line-height:.86;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.tick i{font-style:normal;font-family:var(--type);font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);max-width:13ch;line-height:1.7}
.scale-wrap{border:1px solid var(--rule);background:var(--paper);padding:20px 18px 12px;overflow-x:auto;margin-top:32px}
.scale-wrap svg{min-width:640px;width:100%;height:auto}
.sv-line{fill:none;stroke:var(--line);stroke-width:1.4}
.sv-axis,.sv-tick{stroke:var(--rule);stroke-width:1}
.sv-text{font-family:var(--type);font-size:13px;fill:var(--muted)}
.sv-text.em{fill:var(--ink)}
.flier{offset-path:path("M60 214 C 273 190, 486 190, 912 214");offset-distance:100%;offset-rotate:0deg;animation:fly 8s cubic-bezier(.35,0,.3,1) 1s infinite}
@keyframes fly{0%{offset-distance:0%;opacity:0}5%{opacity:1}85%,100%{offset-distance:100%;opacity:1}}

/* ---- handbills ---- */
.flyers{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 30px;margin-top:44px}
.bill{position:relative;background:var(--paper);border:1px solid var(--rule);padding:32px 24px 26px;text-align:center;box-shadow:var(--lift);display:flex;flex-direction:column;justify-content:center;transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease}
.bill::before{content:"";position:absolute;top:-10px;left:50%;width:78px;height:20px;background:var(--tape);border:1px solid var(--rule-soft);transform:translateX(-50%) rotate(-2.5deg)}
.bill:nth-child(1){transform:rotate(-2.2deg)}
.bill:nth-child(2){transform:rotate(1.5deg);margin-top:20px}
.bill:nth-child(3){transform:rotate(-1.1deg)}
.bill:nth-child(4){transform:rotate(2.1deg);margin-top:16px}
.bill:nth-child(5){transform:rotate(-1.7deg)}
.bill:nth-child(6){transform:rotate(1deg);margin-top:24px}
.bill:hover{transform:rotate(0deg) translateY(-8px);box-shadow:var(--lift-hi);z-index:2}
.bill p{margin:0}
.bill .big{font-family:var(--didone);font-weight:800;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.02;text-transform:uppercase;letter-spacing:.005em;margin:4px 0}
.bill .mid{font-family:var(--didone);font-weight:700;font-size:1.06rem;line-height:1.2;text-transform:uppercase;letter-spacing:.05em;margin:6px 0}
.bill .sm{font-family:var(--type);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);line-height:1.75;margin:5px 0}
.bill .it{font-style:italic;font-size:1rem;color:var(--muted);margin:6px 0}
.bill .orn{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--muted)}
.bill .orn::before,.bill .orn::after{content:"";height:1px;background:var(--rule);flex:1}
.bill .orn span{font-size:.55rem;line-height:1;opacity:.75}

/* ---- telegram ---- */
.wire{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.plate{border:1px solid var(--rule);background:var(--paper);padding:10px;margin:0}
.plate img{filter:var(--photo);width:100%;height:auto}
.plate svg{width:100%;height:auto;display:block}
.plate figcaption{padding:11px 4px 2px;border-top:1px solid var(--rule-soft);margin-top:11px}
.typed{font-family:var(--type);font-size:clamp(1rem,1.75vw,1.34rem);line-height:1.8;min-height:8em}
.typed .cur{display:inline-block;width:.55em;background:var(--accent);animation:blink 1s steps(1) infinite;color:transparent}
@keyframes blink{50%{opacity:0}}

/* ---- instruments ---- */
.instr{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);background:var(--paper);margin-top:14px}
.instr article{padding:26px 24px 28px;border-right:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
.instr article:nth-child(3n){border-right:0}
.instr article:nth-last-child(-n+3){border-bottom:0}
.instr svg.ico{width:46px;height:46px;stroke:var(--line);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.instr .then{color:var(--muted);font-size:1rem;margin-bottom:.5em}
.instr .now{margin:0;font-size:1rem}
.instr .now b{color:var(--accent);font-weight:600}

/* ---- reel ---- */
.reel{overflow:hidden;position:relative;padding:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.reel-track{display:flex;gap:16px;width:max-content;animation:marq 72s linear infinite}
.reel:hover .reel-track{animation-play-state:paused}
@keyframes marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.reel figure{margin:0;flex:0 0 auto;width:300px}
.reel img{width:300px;height:214px;object-fit:cover;filter:var(--photo);border:1px solid var(--rule)}
.reel figcaption{margin-top:8px}

/* ---- brothers + timeline ---- */
.bros{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pair figure{margin:0}
.pair img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;filter:var(--photo);border:1px solid var(--rule)}
.marg{margin:26px 0 0;padding-left:20px;border-left:2px solid var(--accent)}
.marg cite{display:block;font-style:normal;margin-top:8px;font-family:var(--type);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.marg .q{font-style:italic;font-size:1.22rem;margin:0}
.tl{border-top:1px solid var(--rule);margin-top:44px}
.tl div{display:grid;grid-template-columns:96px 1fr;gap:22px;padding:13px 0;border-bottom:1px solid var(--rule-soft)}
.tl div:last-child{border-bottom:1px solid var(--rule)}
.tl .y{font-family:var(--didone);font-weight:700;font-size:1.05rem;color:var(--accent);font-variant-numeric:tabular-nums}
.tl p{margin:0;font-size:1.02rem}
.tl .moon .y{color:var(--ink)}

/* ---- closer ---- */
.closer{position:relative;overflow:hidden;min-height:clamp(540px,78vh,740px);display:flex;align-items:center}
.closer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--photo);opacity:.95}
.closer .vscrim{position:absolute;inset:0;background:var(--vid-scrim)}
.closer .wrap{position:relative;width:100%;padding-top:88px;padding-bottom:88px}
.closer h2{max-width:15ch}
.mailline{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.addr{font-family:var(--type);font-size:1rem;letter-spacing:.04em;user-select:all;word-break:break-all}
.copy{font-family:var(--type);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid var(--rule);color:var(--ink);padding:8px 12px;cursor:pointer}
.copy:hover{border-color:var(--ink)}

footer{border-top:1px solid var(--rule);padding:40px 0 calc(64px + env(safe-area-inset-bottom,0px));color:var(--muted)}
footer .cols{display:grid;grid-template-columns:1.25fr 1fr;gap:44px}
footer p{font-size:.95rem;margin-bottom:.7em}

@media (max-width:980px){
  .who,.wire,.bros,.work-grid{grid-template-columns:1fr;gap:34px}
  .work-grid .plate9{max-width:360px;margin:0 auto;width:100%}
  .steps,.instr,.offer{grid-template-columns:1fr 1fr}
  .steps article,.offer article{border-bottom:1px solid var(--rule-soft)}
  .steps article:nth-child(2n),.offer article:nth-child(2n){border-right:0}
  .steps article:nth-last-child(-n+2),.offer article:nth-last-child(-n+2){border-bottom:0}
  .instr article{border-right:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}
  .instr article:nth-child(2n){border-right:0}
  .instr article:nth-child(3n){border-right:1px solid var(--rule-soft)}
  .instr article:nth-child(6){border-right:0}
  .instr article:nth-last-child(-n+2){border-bottom:0}
  .instr article:nth-last-child(3){border-bottom:1px solid var(--rule-soft)}
  .flyers{grid-template-columns:repeat(2,1fr)}
  section{padding:68px 0}
  .hero-inner{min-height:auto;padding:112px 0 52px}
  .people{grid-template-columns:1fr}
}
@media (max-width:620px){
  .wrap{padding-left:20px;padding-right:20px}
  body{font-size:1.0625rem}
  .steps,.instr,.offer{grid-template-columns:1fr}
  .steps article,.offer article,.instr article,.instr article:nth-child(n){border-right:0;border-bottom:1px solid var(--rule-soft)}
  .steps article:last-child,.offer article:last-child,.instr article:last-child{border-bottom:0}
  .flyers{grid-template-columns:1fr;gap:34px}
  .bill,.bill:nth-child(n){transform:none;margin-top:0}
  .tl div{grid-template-columns:64px 1fr;gap:14px}
  .reel figure,.reel img{width:230px}
  .reel img{height:164px}
  .work-meta dl div{grid-template-columns:1fr;gap:2px}
  .person{grid-template-columns:90px 1fr}
  .hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px}
  .lede{font-size:1.18rem}
  footer .cols{grid-template-columns:1fr;gap:24px}
  .band{margin-top:40px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .flier{offset-distance:100%}
  .planewrap{transform:translateX(28vw)}
  html.js .no::after{transform:scaleX(1)}
  html.js .rv{opacity:1;transform:none}
}
