/* Run of Show — Characters That Feel Alive. Maestro, 2026-09-29.
   Aura tokens (Love Bird canon) on the Fermata studio discipline: dark, hairline, glow-not-shadow.
   Sans only. CSP on this host: self-hosted only, no web fonts, no inline script. */
:root{
  --bg:#0a0710; --bg-2:#120d1a; --glass:rgba(255,255,255,.045); --glass-2:rgba(255,255,255,.08);
  --ink:#f6f1f4; --ink-2:rgba(246,241,244,.76); --ink-3:rgba(246,241,244,.5); --ink-4:rgba(246,241,244,.3);
  --hair:rgba(246,241,244,.12); --hair-2:rgba(246,241,244,.24);
  --rose:#ff86be; --lilac:#c3a6ff; --sky:#8fd7ff; --mint:#8ff0d6; --gold:#f0c96b;
  --act:var(--rose);
  --display:"Helvetica Neue","HelveticaNeue-UltraLight","Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.19,1,.22,1);
  --pad:clamp(16px,4.2vw,72px);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img,video{display:block;max-width:100%}
button{font:inherit;color:inherit}
::selection{background:var(--rose);color:var(--bg)}

.aura{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(70vmax 48vmax at 8% -12%, rgba(255,134,190,.30), transparent 62%),
    radial-gradient(56vmax 46vmax at 108% 12%, rgba(195,166,255,.24), transparent 62%),
    radial-gradient(64vmax 52vmax at 70% 118%, rgba(143,215,255,.16), transparent 62%),
    radial-gradient(40vmax 30vmax at -10% 90%, rgba(143,240,214,.10), transparent 60%)}

/* ---------- chrome ---------- */
.chrome{position:fixed;z-index:30;left:0;right:0;top:0;padding:12px var(--pad) 10px;pointer-events:none;background:linear-gradient(rgba(10,7,16,.92),rgba(10,7,16,.6) 70%,transparent)}
.chrome-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px;pointer-events:auto;text-decoration:none}
.brand img{height:19px;width:auto;filter:invert(1);opacity:.92}
.brand .lb{height:17px;opacity:.85}
.brand .x{font-family:var(--mono);font-size:10px;color:var(--ink-4)}
.controls{display:flex;gap:6px;align-items:center;pointer-events:auto}
.controls .clock{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-3);margin-right:6px;font-variant-numeric:tabular-nums}
.controls .clock b{color:var(--ink);font-weight:400}
.controls .clock.over b{color:var(--gold)}
.pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;background:rgba(10,7,16,.55);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--hair);border-radius:999px;padding:7px 11px;cursor:pointer;color:var(--ink-2);transition:border-color .3s,color .3s}
.pill:hover,.pill[aria-pressed="true"]{color:var(--ink);border-color:var(--act)}
.pill .k{opacity:.5;margin-left:6px}
/* the act rail: the one flourish */
.rail{display:grid;grid-template-columns:.9fr 1.1fr 1.2fr 1.2fr 1fr;gap:6px;margin-top:10px;pointer-events:auto}
.rail a{display:block;text-decoration:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);padding-top:7px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail a::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair)}
.rail a i{position:absolute;left:0;top:0;height:1px;width:var(--p,0%);background:linear-gradient(90deg,var(--rose),var(--lilac) 55%,var(--sky));box-shadow:0 0 12px rgba(255,134,190,.55);transition:width .6s var(--ease)}
.rail a.on{color:var(--ink)}
.rail a:hover{color:var(--ink-2)}

/* ---------- deck mode ---------- */
.deck{position:relative;z-index:2}
body.deckmode{overflow:hidden;height:100vh;height:100dvh}
body.deckmode .slide{position:fixed;inset:0;padding:calc(78px + 2vh) var(--pad) calc(56px + 2vh);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .55s var(--ease),transform .7s var(--ease),visibility 0s linear .55s;scrollbar-width:thin}
body.deckmode .slide.on{opacity:1;visibility:visible;transform:none;transition:opacity .55s var(--ease),transform .7s var(--ease),visibility 0s}
body.deckmode .slide-inner{min-height:100%;display:flex;flex-direction:column;justify-content:center;max-width:1440px;margin:0 auto}
body.deckmode .note{display:none}
body.deckmode.notes .note{display:block}
.pager{position:fixed;z-index:30;left:var(--pad);right:var(--pad);bottom:14px;display:none;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink-3);pointer-events:none}
body.deckmode .pager{display:flex}
.pager .nav{display:flex;gap:6px;pointer-events:auto}
.pager .nav button{width:40px;height:34px;border-radius:999px;border:1px solid var(--hair);background:rgba(10,7,16,.7);cursor:pointer;color:var(--ink-2)}
.pager .nav button:hover{border-color:var(--act);color:var(--ink)}
.pager .label{background:rgba(10,7,16,.7);padding:6px 10px;border-radius:999px}
.pager .label b{color:var(--act);font-weight:400;margin-right:8px}

/* ---------- tutorial (scroll) mode ---------- */
body.tutorial .slide{padding:clamp(96px,12vh,140px) var(--pad) clamp(40px,7vh,90px);border-top:1px solid var(--hair);scroll-margin-top:70px}
body.tutorial .slide:first-child{border-top:0}
body.tutorial .slide-inner{max-width:1240px;margin:0 auto}
body.tutorial .note{display:block}

/* ---------- overview ---------- */
.ov{position:fixed;inset:0;z-index:40;background:rgba(10,7,16,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:auto;padding:84px var(--pad) 40px;display:none}
body.show-ov .ov{display:block}
.ov h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:400;margin:18px 0 10px}
.ov ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.ov a{display:flex;gap:10px;align-items:baseline;text-decoration:none;padding:12px 14px;border:1px solid var(--hair);border-radius:14px;background:var(--glass);font-size:14px;color:var(--ink-2)}
.ov a:hover,.ov a.cur{border-color:var(--rose);color:var(--ink)}
.ov a span{font-family:var(--mono);font-size:10px;color:var(--ink-4)}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:clamp(14px,2.4vh,26px)}
.eyebrow b{color:var(--act);font-weight:400}
.eyebrow .t{margin-left:auto;color:var(--ink-4)}
h1,h2{font-weight:200;letter-spacing:-.03em;margin:0;line-height:.98}
h1{font-size:clamp(46px,9vw,148px)}
h2{font-size:clamp(32px,5.2vw,82px);max-width:16ch}
h2.wide{max-width:24ch}
h1 em,h2 em{font-style:normal;font-weight:200;background:linear-gradient(100deg,var(--act),var(--lilac));-webkit-background-clip:text;background-clip:text;color:transparent}
h3{font-weight:300;font-size:clamp(19px,1.9vw,26px);margin:0 0 6px;letter-spacing:-.01em}
.lede{font-size:clamp(17px,1.65vw,23px);line-height:1.45;color:var(--ink-2);font-weight:300;max-width:52ch;margin:clamp(14px,2.4vh,26px) 0 0}
p{line-height:1.55;color:var(--ink-2);font-weight:300}
.small{font-size:13.5px}
.mono{font-family:var(--mono)}

/* ---------- layout helpers ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,4vw,64px);align-items:center}
.split.r{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.split.even{grid-template-columns:1fr 1fr}
.row{display:flex;gap:clamp(10px,1.6vw,18px);flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.mt{margin-top:clamp(18px,3vh,34px)}

/* ---------- media ---------- */
figure{margin:0;position:relative}
.media{border-radius:26px;overflow:hidden;border:1px solid var(--hair);background:var(--bg-2);position:relative}
.media img,.media video{width:100%;height:auto}
.media.glow{box-shadow:0 0 0 1px rgba(255,134,190,.18),0 0 60px -20px rgba(255,134,190,.5)}
figcaption{font-size:12.5px;color:var(--ink-3);margin-top:8px;line-height:1.45;font-weight:300}
.tag{position:absolute;top:10px;left:10px;z-index:2;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:rgba(10,7,16,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--hair-2);color:var(--ink-2)}
.tag.wip{color:var(--gold);border-color:rgba(240,201,107,.4)}
.tag.target{color:var(--lilac);border-color:rgba(195,166,255,.45)}
.tag.live{color:var(--mint);border-color:rgba(143,240,214,.45)}
.tag.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:6px;box-shadow:0 0 8px var(--mint);vertical-align:1px}
.strip{display:flex;gap:clamp(10px,1.2vw,16px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--hair-2) transparent}
.strip>figure{flex:0 0 clamp(230px,24vw,360px);scroll-snap-align:start}
.hint{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-top:6px}

/* ---------- steps ---------- */
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;column-gap:12px;row-gap:2px;padding:12px 0;border-top:1px solid var(--hair)}
.steps li:last-child{border-bottom:1px solid var(--hair)}
.steps li>*{grid-column:2}
.steps li::before{grid-column:1;grid-row:1 / span 2;content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--act);padding-top:4px}
.steps li b{display:block;font-weight:400;color:var(--ink);font-size:clamp(16px,1.3vw,19px);margin-bottom:3px}
.steps li span{color:var(--ink-2);font-weight:300;font-size:clamp(14px,1.1vw,16px);line-height:1.5}
.steps code,.kbd{font-family:var(--mono);font-size:.86em;background:var(--glass-2);border:1px solid var(--hair);border-radius:6px;padding:1px 6px;color:var(--ink)}

/* ---------- cards ---------- */
.card{border:1px solid var(--hair-2);border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4);padding:clamp(16px,1.8vw,24px)}
.card .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--act);margin-bottom:10px;display:block}
.card p{margin:6px 0 0;font-size:15px}
.card.pick{border-color:rgba(255,134,190,.5);box-shadow:0 0 50px -24px rgba(255,134,190,.8)}
.stat{font-weight:200;font-size:clamp(40px,5vw,72px);letter-spacing:-.03em;line-height:1}
.stat small{font-size:.3em;letter-spacing:.02em;color:var(--ink-3);margin-left:4px}
.facts{list-style:none;margin:0;padding:0}
.facts li{padding:10px 0;border-top:1px solid var(--hair);font-weight:300;color:var(--ink-2);line-height:1.45}
.facts li b{color:var(--ink);font-weight:400}
.src{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-4);line-height:1.8}
.src a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--hair-2)}
.src a:hover{color:var(--ink)}

/* dialogue */
.line{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--hair)}
.line .who{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--act);min-width:70px}
.line q{font-weight:200;font-size:clamp(20px,2vw,28px);color:var(--ink);letter-spacing:-.01em}
.line .dir{grid-column:2;font-family:var(--mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.06em}

/* needs meters */
.needs{display:grid;gap:12px}
.need{display:grid;grid-template-columns:86px 1fr minmax(0,1.2fr);gap:12px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.need .bar{height:6px;border-radius:99px;background:var(--glass-2);overflow:hidden}
.need .bar i{display:block;height:100%;width:var(--v);border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--sky))}
.need.hot .bar i{background:linear-gradient(90deg,var(--gold),var(--rose));box-shadow:0 0 12px rgba(255,134,190,.6)}
.need .to{color:var(--ink-2);text-transform:none;letter-spacing:.02em}

/* ---------- act title slides ---------- */
.act .num{font-weight:100;font-size:clamp(110px,22vw,340px);line-height:.8;letter-spacing:-.06em;background:linear-gradient(120deg,var(--act),var(--lilac) 60%,var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}
.act h2{font-size:clamp(46px,8vw,128px);max-width:none;margin-top:-.08em}
.act .lede{max-width:44ch}
.act .mapline{display:flex;gap:10px;align-items:center;margin-top:clamp(18px,3vh,30px);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);flex-wrap:wrap}
.act .mapline .here{color:var(--ink)}
.act .mapline i{width:36px;height:1px;background:var(--hair-2)}

/* ---------- agenda ---------- */
.agenda{list-style:none;margin:0;padding:0}
.agenda li a{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:baseline;text-decoration:none;padding:12px 0;border-top:1px solid var(--hair);transition:color .3s}
.agenda li:last-child a{border-bottom:1px solid var(--hair)}
.agenda .tc{font-family:var(--mono);font-size:12px;color:var(--act)}
.agenda .nm{font-size:clamp(18px,1.9vw,26px);font-weight:300}
.agenda .nm small{color:var(--ink-3);font-size:.62em;margin-left:10px;font-weight:300}
.agenda .bd{font-family:var(--mono);font-size:11px;color:var(--ink-4)}
.agenda a:hover .nm{color:var(--rose)}

/* ---------- resources ---------- */
.res-group{margin-top:clamp(18px,3vh,30px)}
.res-group h3{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--act);font-weight:400;display:flex;gap:10px;align-items:baseline}
.res-group h3 span{color:var(--ink-4)}
.res{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.res a{display:grid;grid-template-columns:104px 1fr;gap:12px;align-items:center;text-decoration:none;padding:8px;border:1px solid var(--hair);border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));transition:border-color .3s,background .3s;min-height:74px}
.res a:hover{border-color:var(--rose);background:var(--glass-2)}
.res img{width:104px;height:58px;object-fit:cover;border-radius:8px}
.res b{display:block;font-weight:400;font-size:13.5px;line-height:1.3;color:var(--ink)}
.res i{display:block;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink-4);margin-top:4px}
.res i em{font-style:normal;color:var(--rose)}
.legend{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.06em;margin-top:10px}
.legend em{font-style:normal;color:var(--rose)}

/* ---------- invitation ---------- */
.invite{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.qr{background:#fff;border-radius:24px;padding:14px;max-width:340px;box-shadow:0 0 0 1px rgba(255,134,190,.35),0 0 90px -20px rgba(255,134,190,.8)}
.qr img{width:100%;height:auto}
.cta{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(18px,3vh,30px);padding:16px 26px;border-radius:999px;text-decoration:none;font-size:clamp(17px,1.6vw,21px);font-weight:400;color:var(--bg);background:linear-gradient(100deg,var(--rose),var(--lilac));box-shadow:0 0 50px -10px rgba(255,134,190,.8)}
.cta:hover{filter:brightness(1.08)}
.url{font-family:var(--mono);font-size:clamp(15px,1.6vw,22px);color:var(--ink);margin-top:14px;letter-spacing:.02em}
.flow{list-style:none;padding:0;margin:clamp(16px,3vh,28px) 0 0;display:flex;flex-wrap:wrap;gap:8px}
.flow li{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1px solid var(--hair-2);color:var(--ink-2)}
.flow li:last-child{border-color:var(--mint);color:var(--mint)}

/* ---------- presenter notes ---------- */
.note{margin-top:clamp(18px,3vh,30px);border:1px dashed rgba(240,201,107,.35);border-radius:16px;padding:14px 16px;background:rgba(240,201,107,.05);font-size:14.5px;line-height:1.55;color:var(--ink-2);font-weight:300}
.note::before{content:"Presenter notes";display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.note b{color:var(--ink);font-weight:400}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .split,.split.r,.split.even,.invite{grid-template-columns:1fr}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  :root{--pad:16px}
  .rail{gap:4px}
  .rail a{font-size:7.5px;letter-spacing:.08em}
  .brand .lb,.brand .x{display:none}
  .controls .clock{display:none}
  .pill{padding:6px 9px;font-size:9.5px}
  .pill .k{display:none}
  .grid3,.grid2{grid-template-columns:1fr}
  .grid4{grid-template-columns:1fr 1fr}
  .steps li{grid-template-columns:32px 1fr}
  .agenda li a{grid-template-columns:48px 1fr}
  .agenda .bd{display:none}
  .res{grid-template-columns:1fr}
  .line{grid-template-columns:1fr;gap:4px}
  .line .dir{grid-column:1}
  .need{grid-template-columns:70px 1fr}
  .need .to{grid-column:1 / -1}
  body.deckmode .slide{padding-top:92px}
  .qr{max-width:220px}
  .eyebrow .t{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* projector: keep every frame inside the viewport; letterbox tall art rather than crop it */
body.deckmode .media img{max-height:62vh;object-fit:contain;margin:0 auto}
body.deckmode .strip .media img{max-height:none}
body.deckmode .grid3 .media img,body.deckmode .grid2 .media img{max-height:40vh}

/* ===================== v2 · 2026-10-06 (Oct 13 run of show) ===================== */
.rail{grid-template-columns:repeat(8,minmax(0,1fr))}
.tight h2{font-size:clamp(28px,3.9vw,60px)}
.tight .vendor{padding:11px 14px}
/* film storyboard strips */
.film-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px}
.film-head .dur{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--act)}
.badge{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid rgba(240,201,107,.5);color:var(--gold);background:rgba(240,201,107,.06)}
.badge.live{border-color:rgba(143,240,214,.5);color:var(--mint);background:rgba(143,240,214,.06)}
.badge.gap{border-color:rgba(255,134,190,.5);color:var(--rose);background:rgba(255,134,190,.06)}
.board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1vw,14px);counter-reset:f}
.board.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.board figure{display:flex;flex-direction:column}
.board .frame{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--hair);background:var(--bg-2)}
.board .frame img{width:100%;height:100%;object-fit:cover;max-height:none!important}
.board .frame .tc{position:absolute;left:8px;bottom:7px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink);background:rgba(10,7,16,.72);padding:3px 7px;border-radius:999px}
.board .frame .src-k{position:absolute;right:8px;top:7px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--ink-2);background:rgba(10,7,16,.72);padding:3px 7px;border-radius:999px;text-transform:uppercase}
.board figcaption{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.4}
.board figcaption q{display:block;color:var(--ink);font-weight:300;font-size:14.5px;margin-top:2px}
.board figcaption q::before{content:"“"}.board figcaption q::after{content:"”"}
.pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c2426f;box-shadow:0 0 0 0 rgba(194,66,111,.7);animation:pulse 1.2s infinite;vertical-align:1px;margin-right:8px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(194,66,111,.7)}70%{box-shadow:0 0 0 12px rgba(194,66,111,0)}100%{box-shadow:0 0 0 0 rgba(194,66,111,0)}}
.keylines{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:clamp(14px,2.4vh,22px)}
.keylines q{font-weight:200;font-size:clamp(20px,2.1vw,30px);color:var(--ink);letter-spacing:-.01em}
/* landscape */
.vendors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vendor{border:1px solid var(--hair);border-radius:18px;padding:14px 16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02))}
.vendor .nm{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.vendor .nm b{font-weight:400;font-size:16px;color:var(--ink)}
.vendor .nm span{font-family:var(--mono);font-size:10px;color:var(--ink-4);letter-spacing:.06em;white-space:nowrap}
.vendor .was{font-size:13px;color:var(--ink-3);margin-top:6px;line-height:1.4}
.vendor .now{font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.45}
.vendor .now::before{content:"→ ";color:var(--act)}
.vendor .cite{font-family:var(--mono);font-size:9.5px;margin-top:8px;color:var(--ink-4)}
.vendor .cite a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--hair-2)}
.vendor.shift{border-color:rgba(255,134,190,.4)}
.bvb{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,22px)}
.bvb ul{list-style:none;margin:10px 0 0;padding:0}
.bvb li{padding:9px 0;border-top:1px solid var(--hair);color:var(--ink-2);font-weight:300;font-size:clamp(15px,1.25vw,18px)}
.bvb li b{color:var(--ink);font-weight:400}
.rule{margin-top:clamp(16px,2.6vh,26px);font-weight:200;font-size:clamp(22px,2.4vw,36px);letter-spacing:-.02em}
.rule em{font-style:normal;background:linear-gradient(100deg,var(--act),var(--lilac));-webkit-background-clip:text;background-clip:text;color:transparent}
/* side-by-side comparison */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,22px)}
.vs h3{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--act);font-weight:400;margin-bottom:10px}
.gapbox{border:1px dashed rgba(255,134,190,.45);border-radius:22px;padding:clamp(16px,2vw,26px);background:rgba(255,134,190,.04);display:flex;flex-direction:column;justify-content:center;min-height:200px}
.gapbox b{color:var(--ink);font-weight:400}
.gapbox p{margin:6px 0 0;font-size:14.5px}
.emo8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.emo8 figure .media{border-radius:14px}
.emo8 figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}
/* masterclass step header */
.mc-step{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.mc-step .n{font-weight:100;font-size:clamp(54px,7vw,110px);line-height:.85;letter-spacing:-.05em;background:linear-gradient(120deg,var(--act),var(--lilac));-webkit-background-clip:text;background-clip:text;color:transparent}
.chain{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chain span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid var(--hair);color:var(--ink-4)}
.chain span.on{border-color:var(--act);color:var(--ink)}
.chain span.done{color:var(--ink-3)}
/* downloads */
.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dl .card h3{margin-top:2px}
.dl .card ul{margin:10px 0 0;padding-left:18px;color:var(--ink-2);font-weight:300;line-height:1.6;font-size:14.5px}
.pending{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold);border:1px dashed rgba(240,201,107,.5);border-radius:999px;padding:8px 12px}
.repo{display:inline-flex;align-items:center;gap:10px;margin-top:12px;font-family:var(--mono);font-size:12px;color:var(--ink);border:1px solid var(--mint);border-radius:999px;padding:9px 14px;text-decoration:none}
.keys{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.keys span{font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.keys .kbd{margin-right:6px}
/* phone walkthrough */
.phones{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.phones figure .shell{border-radius:22px;overflow:hidden;border:1px solid var(--hair-2);background:#fff;aspect-ratio:390/844;box-shadow:0 0 40px -18px rgba(255,134,190,.6)}
.phones figure .shell img{width:100%;height:100%;object-fit:cover;object-position:top;max-height:none!important}
.phones figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:8px}
.phones figcaption span{display:block;text-transform:none;letter-spacing:0;font-family:var(--display);font-size:12.5px;color:var(--ink-3);margin-top:3px}
.honest{font-size:12.5px;color:var(--ink-3);margin-top:10px}
.honest b{color:var(--ink-2);font-weight:400}
@media (max-width:980px){
  .board,.board.five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vendors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phones{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .board,.board.five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vendors,.bvb,.vs,.dl{grid-template-columns:1fr}
  .emo8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phones{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rail a{font-size:7px;letter-spacing:.04em}
}
body.deckmode .phones{max-width:calc(6 * 25vh + 80px)}
body.deckmode .board figcaption{font-size:12.5px}
.media>figcaption{padding:0 14px 12px}
body.deckmode #mc-wrap .grid2 .media img{max-height:22vh}
body.deckmode #mc-wrap .steps li{padding:8px 0}
body.deckmode #mc-wrap h2{font-size:clamp(28px,3.6vw,56px)}
body.deckmode .phones{max-width:calc(6 * 22.5vh + 80px)}
#mc-wrap .grid2 .media,#mc-sculpt .grid2 .media{background:#3a3a3a}
#mc-alive .media img{aspect-ratio:16/10;object-fit:cover;object-position:50% 30%;width:100%}
body.deckmode #mc-performance .split video{max-height:44vh;width:auto;margin:0 auto}
body.deckmode #mc-performance > .slide-inner > figure img{max-height:22vh}
body.deckmode #invite h1{font-size:clamp(44px,7vw,112px)}

/* ---------- v3 · 2026-10-07: trailers + laurels, systems act, Toucantino, deep dive ---------- */
.work{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(18px,3vw,48px);align-items:start}
.stack{display:grid;gap:clamp(10px,1.2vw,16px)}
.stack .card p{font-size:14.5px}
.trailer{position:relative;margin:0;border-radius:26px;overflow:hidden;border:1px solid var(--hair);background:#000;box-shadow:0 0 0 1px rgba(255,134,190,.14),0 0 70px -28px rgba(255,134,190,.55)}
.trailer video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.laurels{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.6vw,26px);margin-top:clamp(12px,1.6vw,20px)}
.laurels img{height:clamp(48px,6.4vh,74px);width:auto;max-width:none;opacity:.94}
.laurels img.lw{height:clamp(54px,7.2vh,84px)}
.laurels img.lv{height:clamp(66px,9vh,104px)}
.laurels img.lr{height:clamp(48px,6.4vh,74px);image-rendering:auto}
.lgap{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);border:1px dashed rgba(255,134,190,.5);border-radius:999px;padding:7px 11px;line-height:1.4;max-width:260px}

.routes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.route{display:flex;flex-direction:column;gap:6px;color:var(--ink-2);text-decoration:none;font-size:13.5px;line-height:1.4}
.route figure{position:relative;margin:0 0 4px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid var(--hair);background:var(--bg-2);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.route figure img{width:100%;height:100%;object-fit:cover}
.route b{font-weight:400;color:var(--ink);font-size:clamp(15px,1.2vw,18px)}
.route:hover figure,.route:focus-visible figure{border-color:rgba(195,166,255,.6);box-shadow:0 0 40px -16px rgba(195,166,255,.8)}

.tripo-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.tripo-flow .media{border-radius:16px;background:#1b1622}
.tripo-flow .media img,.tripo-flow .media video{aspect-ratio:1/1;object-fit:cover;width:100%;height:auto;max-height:none!important}
.tripo-flow figcaption{font-size:12.5px;color:var(--ink-2);padding:8px 10px 10px;line-height:1.4}

.tou{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(16px,2.4vw,36px);align-items:start}
.tou .target-card img{aspect-ratio:16/9;object-fit:cover;width:100%;max-height:none!important}
.tou .target-card.crop-bottom img{object-position:50% 100%}
.tou .target-card figcaption{font-size:13px;color:var(--ink-2);padding:10px 14px 12px}
.stages{display:grid;gap:clamp(12px,1.4vw,18px)}
.stage{border:1px solid var(--hair-2);border-radius:22px;padding:clamp(14px,1.6vw,20px);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02))}
.stage.landed{border-color:rgba(143,240,214,.4)}
.stage-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.stage-head h3{margin:0;font-weight:300;font-size:clamp(18px,1.6vw,24px);color:var(--ink)}
.stage-head .ss{display:block;font-size:13px;color:var(--ink-3)}
.stage-head .badge{margin-left:auto;white-space:nowrap}
.sn{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12px;color:var(--act);border:1px solid var(--act)}
.wipbox{border:1px dashed rgba(240,201,107,.5);border-radius:16px;background:rgba(240,201,107,.04);padding:14px 16px;margin-bottom:10px}
.wipbox p{margin:0;font-size:14px;color:var(--ink-2)}
.wipbox b{color:var(--ink);font-weight:400}
.stage-media{display:grid;gap:10px;margin-bottom:10px}
.stage-media.n2{grid-template-columns:1fr 1fr}.stage-media.n3{grid-template-columns:repeat(3,1fr)}
.stage-media .media{border-radius:14px}
.stage-media .media img,.stage-media .media video{aspect-ratio:4/3;object-fit:cover}
.stage-media figcaption{font-size:12.5px;color:var(--ink-2);padding:8px 10px}
.steps.tight li{padding:8px 0}
.steps.tight li b{font-size:clamp(14.5px,1.1vw,16.5px)}
.steps.tight li span{font-size:clamp(13px,1vw,14.5px)}

.mh{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(16px,2.4vw,36px);align-items:stretch}
.mh>.media img{height:100%;width:100%;object-fit:cover;object-position:50% 60%;max-height:58vh!important}
.mh-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,18px)}
.mh-pair .who{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;border:1px solid var(--hair);margin-bottom:12px;background:var(--bg-2)}
.mh-pair .who img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.mh-pair p b{color:var(--ink);font-weight:400}

.types .card{display:flex;flex-direction:column}
.types .media{border-radius:16px;margin-bottom:12px}
.types .media img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:none!important}
.gapcard{border-style:dashed;border-color:rgba(255,134,190,.45);justify-content:flex-start}
.gapcard .badge{align-self:flex-start}
.quote{margin:14px 0 0;padding:12px 16px;border-left:2px solid var(--act);font-weight:300;font-size:clamp(15px,1.2vw,18px);color:var(--ink)}
.quote cite{display:block;margin-top:6px;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.board.four{grid-template-columns:repeat(4,minmax(0,1fr))}

body.deckmode .routes figure{max-height:40vh}
body.deckmode .tripo-flow .media img,body.deckmode .tripo-flow .media video{max-height:24vh;width:100%}
body.deckmode .trailer video{max-height:38vh}
body.deckmode .work .laurels img{height:clamp(44px,6vh,64px)}body.deckmode .work .laurels img.lw{height:clamp(50px,6.8vh,72px)}body.deckmode .work .laurels img.lv{height:clamp(60px,8.4vh,90px)}

@media (max-width:980px){
  .work,.tou,.mh{grid-template-columns:1fr}
  .routes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tripo-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .board.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mh>.media img{max-height:none!important;aspect-ratio:4/5}
}
@media (max-width:640px){
  .routes,.tripo-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mh-pair{grid-template-columns:1fr}
  .stage-head{flex-wrap:wrap}
  .stage-head .badge{margin-left:44px}
  .stage-media.n2,.stage-media.n3{grid-template-columns:1fr}
  .laurels img{height:44px}.laurels img.lw{height:50px}.laurels img.lv{height:60px}
}

/* v3 density: the systems act carries more per slide; keep every slide inside one projector frame */
.dense h2{font-size:clamp(28px,3.7vw,58px);max-width:28ch}
.dense .mc-step .n{font-size:clamp(40px,4.6vw,72px)}
#systems .num{font-size:clamp(90px,13vw,210px)}
#systems h2{font-size:clamp(40px,5.6vw,92px)}
#systems .lede{margin-top:10px}
.stages.two{grid-template-columns:1fr 1fr}
.tou.two{grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr)}
.wipbox{padding:12px 14px}
.wipbox p{font-size:13.5px}
body.deckmode .routes figure{aspect-ratio:1/1;max-height:none}
body.deckmode .stage-media .media img,body.deckmode .stage-media .media video{max-height:24vh}
body.deckmode .mh>.media img{max-height:56vh!important}
body.deckmode .types .media img{max-height:22vh}
body.deckmode .mh-pair .who{aspect-ratio:16/10}
@media (max-width:980px){.stages.two,.tou.two{grid-template-columns:1fr}}
.roles-vids .media video{aspect-ratio:16/9;object-fit:cover;width:100%}
body.deckmode .roles-vids .media video{max-height:34vh}
body.deckmode .mh>.media img{object-fit:cover;height:100%;width:100%}
.tou .target-card.crop-bottom img{aspect-ratio:21/9;object-position:30% 100%}
.tou .target-card.crop-left img{aspect-ratio:1/1;object-position:0% 30%}
body.deckmode .board.five figcaption{font-size:11.5px}
body.deckmode .board.five figcaption q{font-size:12.5px}
body.deckmode .dense .board .frame{max-height:19vh}
.dense .quote{margin-top:10px}
.dense .steps li{padding:9px 0}
.stage-head{flex-wrap:wrap}
.stage-head>div{flex:1 1 auto;min-width:0}
.stage-head .badge{margin-left:44px;flex-basis:auto}
.stages.two{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.stage-media .media img,.stage-media .media video{aspect-ratio:1/1}
body.deckmode .stage-media .media img,body.deckmode .stage-media .media video{max-height:21vh;width:100%;object-fit:cover}
body.deckmode .stage-media figcaption{font-size:11.5px;padding:6px 9px}
body.deckmode .stage.landed .steps.tight li{padding:6px 0}
.stage-body .stage-media{margin-bottom:0}
.tou.two{grid-template-columns:minmax(0,.62fr) minmax(0,1.9fr)}
body.deckmode .stage-media .media img,body.deckmode .stage-media .media video{max-height:none}
.stage.landed .stage-body{display:block}
.stage.landed .stage-media{margin-bottom:10px}
.stage.landed .steps.tight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}
.stage.landed .steps.tight li{grid-template-columns:28px 1fr;border-bottom:1px solid var(--hair)}
body.deckmode .stage.landed .stage-media .media img{max-height:26vh}
@media (max-width:980px){.stage.landed .steps.tight{grid-template-columns:1fr}}
#tou-parts h2,#tou-rig h2,#tou-alive h2{max-width:none}
body.deckmode .tou .target-card img{object-fit:cover;max-height:none!important}body.deckmode .tou .target-card.crop-left img{max-height:52vh!important}
.stage .stage-body:has(.stage-media){display:block}
.stage .stage-body:has(.stage-media) .stage-media{margin-bottom:10px}
.stage .stage-body:has(.stage-media) .steps.tight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}
.stage .stage-body:has(.stage-media) .steps.tight li{grid-template-columns:28px 1fr;border-bottom:1px solid var(--hair)}
@media (max-width:980px){.stage .stage-body:has(.stage-media) .steps.tight{grid-template-columns:1fr}}
.stage-media.wide{grid-template-columns:1fr}
.stage-media.wide .media img{aspect-ratio:auto}
body.deckmode .stage-media.wide .media img{max-height:24vh;object-fit:contain}
.tou .target-card.crop-strip img{aspect-ratio:1600/266;object-fit:contain}
body.deckmode .tou .target-card.crop-strip img{object-fit:contain}
.tou.one-wide{grid-template-columns:minmax(0,.62fr) minmax(0,1.9fr)}
body.deckmode #tou-rig .stage-media.wide .media img{max-height:16vh}
body.deckmode #tou-rig .stage-media.wide{gap:8px}
#tou-rig .stage-media .media img{aspect-ratio:1800/720!important;object-fit:contain}
#tou-assembled h2{max-width:none}

/* ---------- 2026-10-07 b: system films as proposed storyboards ---------- */
.sb-ruler{display:flex;gap:3px;margin-top:clamp(10px,1.2vw,16px)}
.sb-ruler span{min-width:0;height:22px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;padding:0 7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-3);overflow:hidden;white-space:nowrap}
.sb-ruler span.on{background:linear-gradient(90deg,rgba(255,134,190,.16),rgba(0,206,201,.12));border-color:rgba(255,134,190,.45);color:var(--ink)}
.sb-ruler em{font-style:normal;opacity:.7}
.sb-row{display:grid;gap:clamp(8px,1vw,14px);align-items:start}
.sb-row.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-row.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.sb-row.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sb{margin:0;display:flex;flex-direction:column;gap:5px;min-width:0}
.sb .frame{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--hair);background:var(--bg-2)}
.sb .frame img{width:100%;height:100%;object-fit:cover;max-height:none!important}
.sb .frame .tc{position:absolute;left:7px;bottom:6px;font-family:var(--mono);font-size:10px;color:var(--ink);background:rgba(10,7,16,.74);padding:2px 7px;border-radius:999px}
.sb .frame .src-k{position:absolute;right:7px;top:6px;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:rgba(10,7,16,.74);border:1px solid rgba(240,201,107,.35);padding:2px 7px;border-radius:999px}
.sb.ref .frame .src-k{color:var(--mint);border-color:rgba(143,240,214,.4)}
.sb.flagged .frame{border-color:rgba(255,134,190,.55)}
.sb-head{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:11px;margin-top:3px}
.sb-head b{color:var(--act);font-weight:400}
.sb-head span{color:var(--ink-3)}
.sb-head i{font-style:normal;margin-left:auto;color:var(--sky);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;text-align:right}
.sb-t{margin:0;color:var(--ink);font-size:13.5px;line-height:1.3}
.sb-g{margin:0;font-size:11.5px;line-height:1.38;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sb-g span,.sb-line span,.sb-flag span,.sb-filmflag span{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1px}
.sb-d{margin:0;font-family:var(--mono);font-size:9.5px;line-height:1.35;color:var(--ink-3);overflow-wrap:anywhere}
.sb-vo{display:block;font-size:12.5px;line-height:1.38;color:var(--ink);font-weight:300}
.sb-vo::before{content:"VO “"}.sb-vo::after{content:"”"}
.sb-line{margin:0;font-size:11.5px;line-height:1.35;color:var(--lilac)}
.sb-flag{margin:2px 0 0;font-size:11px;line-height:1.35;color:var(--rose);border-left:2px solid var(--rose);padding-left:7px}
.sb-flag span{color:var(--rose)}
.sb-filmflag{margin:10px 0 0;font-size:13px;color:var(--rose);border:1px dashed rgba(255,134,190,.5);border-radius:12px;padding:8px 12px}
.sb-filmflag span{color:var(--rose)}
.sbs .film-head small{font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.08em}
body.deckmode .sbs h2{font-size:clamp(26px,3vw,46px)}
body.deckmode .sbs .honest{font-size:11.5px;margin-top:8px}
@media (max-width:980px){.sb-row.c4,.sb-row.c5{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-row.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-ruler em{display:none}}
@media (max-width:640px){.sb-row.c3,.sb-row.c4,.sb-row.c5{grid-template-columns:1fr}.sb-ruler span{padding:0 3px;font-size:8px}}

/* ---------- scan to install ---------- */
.install{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:center}
.qr-card{margin:0;background:#fff;border-radius:22px;padding:clamp(14px,1.6vw,22px);display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 0 0 1px rgba(240,201,107,.35),0 0 80px -30px rgba(240,201,107,.6)}
.qr-card img{display:block;width:min(46vh,78vw);height:auto;aspect-ratio:1/1;image-rendering:pixelated;max-height:none!important}
.qr-card figcaption{font-family:var(--mono);font-size:clamp(11px,1vw,14px);letter-spacing:.02em;color:#0a0710;text-align:center}
body.deckmode .qr-card img{width:min(58vh,42vw)}
@media (max-width:980px){.install{grid-template-columns:1fr;justify-items:center}.install>div{width:100%}}

/* ---------- guide appendix ---------- */
.install{grid-template-columns:auto auto minmax(0,1fr)}
.qr-guide{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--ink-2);align-self:end}
.qr-guide .q{background:#fff;border-radius:16px;padding:10px;display:block}
.qr-guide img{display:block;width:clamp(120px,18vh,180px);height:auto;aspect-ratio:1/1;image-rendering:pixelated;max-height:none!important}
.qr-guide .t{font-family:var(--mono);font-size:11px;text-align:center;line-height:1.5}
.qr-guide .t b{display:block;color:var(--mint);font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:10.5px}
.guide-head{display:flex;justify-content:space-between;align-items:center;gap:32px}
.gqr{margin:0;background:#fff;border-radius:12px;padding:7px;display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}
.gqr img{display:block;width:96px;height:96px;image-rendering:pixelated;max-height:none!important}
.gqr figcaption{font-family:var(--mono);font-size:9px;color:#0a0710;letter-spacing:.06em;text-transform:uppercase}
.gqr.big img{width:min(36vh,260px);height:auto;aspect-ratio:1/1}
.gqr.big figcaption{font-size:11px;text-transform:none}
.gtop{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.gh{font-weight:400;color:var(--ink);font-size:clamp(16px,1.3vw,19px);margin:0 0 6px}
.gwarn{font-size:13.5px;color:var(--gold);border-left:2px solid var(--gold);padding-left:10px;margin:10px 0 0}
.gprec{margin:12px 0 0;font-family:var(--mono);font-size:12.5px;color:var(--ink)}
.gprec span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
#guide-install .media img{max-height:44vh;object-fit:cover}
@media (max-width:980px){.install{grid-template-columns:1fr}.qr-guide{align-self:center}.guide-head{flex-direction:column;align-items:flex-start}}
.rail{grid-template-columns:repeat(9,minmax(0,1fr))}
.talkvid{position:relative}
.talkvid video{max-height:60vh;background:#000}
.unmute{position:absolute;right:14px;bottom:56px;z-index:3;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#0a0710;background:var(--gold);border:0;border-radius:999px;padding:11px 16px;cursor:pointer;box-shadow:0 0 30px -6px rgba(240,201,107,.8)}
.talkvid .tag{max-width:calc(100% - 20px);white-space:normal;line-height:1.4}
body.deckmode .talkvid video{max-height:58vh;object-fit:contain;aspect-ratio:auto}

/* 2026-10-07 · code-rendered systems films: show the whole 16:9 frame, never crop it */
.sysvid video{object-fit:contain;background:#0a0710}
body.deckmode .sysvid video{max-height:64vh}

/* Igor (2026-10-08): "Built with Tripo" small in the corner (plain text: no logo is drawn), the rig triptych, the film, the live embed */
.igor-slide .slide-inner{position:relative}
.built-with{position:absolute;right:0;top:clamp(18px,3vh,40px);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--hair);border-radius:999px;padding:5px 11px;background:rgba(10,8,14,.55)}
.igor-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
.igor-flow .media img{aspect-ratio:16/10;object-fit:cover}
body.deckmode .igor-flow .media img{max-height:20vh!important;height:20vh;width:100%}
.igor-rig{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
.igor-rig .media{border-radius:16px;background:#1b1622}
.igor-rig .media img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:none!important}
.igor-rig figcaption{font-size:12.5px;color:var(--ink-2);padding:8px 10px 10px;line-height:1.4}
body.deckmode .igor-rig .media img{max-height:30vh!important}
.igor-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.igor-film video{aspect-ratio:4/3;object-fit:contain;background:#000;max-height:62vh}
body.deckmode .igor-film video{max-height:62vh}
.igor-film{max-width:min(100%,calc(62vh * 4 / 3));margin-left:auto;margin-right:auto}
.igor-demo{position:relative;height:min(74vh,880px);border-radius:26px;overflow:hidden;border:1px solid var(--hair);background:#140d1c;box-shadow:0 0 0 1px rgba(255,134,190,.14),0 0 70px -28px rgba(255,134,190,.55)}
.igor-demo iframe{display:block;width:100%;height:100%;border:0}
.igor-cap{margin-top:10px}
@media (max-width:980px){.igor-flow,.igor-rig,.igor-steps{grid-template-columns:1fr 1fr}.igor-demo{height:78vh}}
@media (max-width:640px){.igor-flow,.igor-rig,.igor-steps{grid-template-columns:1fr}.built-with{position:static;display:inline-block;margin-bottom:8px}}
