/* ====================================================================
   THE ARCHIVE — the blueprint between editions, the line of editions, and
   one edition's hall (archive.js).

   TWO NEW SKIES LIVE HERE, BOTH FLAT. sky.js paints nothing for either
   (`flat` in SKIES); they are this sheet's, hung on `.sky[data-sky=…]`:

     blueprint   graphite and a drafting grid — the front page while the
                 next edition is being drawn up
     poster      the first edition's plate: one sphere on black

   AND A LOOK IS MORE THAN A SKY. themes.js puts the worn key on
   html[data-look], so an edition's hall can carry its own type as well as
   its own light — the first edition said its point in white heavy italic,
   the second poured a gradient into it, and walking the archive shows both.
   Everything else here inherits the house: hairlines, not boxes; one button.
   ==================================================================== */

:root{
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --bp-ink:#e8eaee;                       /* the drawing's line */
  --bp-soft:rgba(232,234,238,.5);
  --bp-faint:rgba(232,234,238,.16);
  --bp-hot:#ff6a1a;                       /* the tape round the site */
  --bp-hot-text:#ff9552;
}

/* --------------------------------------------------------------------
   1. THE TWO FLAT SKIES
   -------------------------------------------------------------------- */
/* graphite, lit a little from the upper right, and a grid in two weights —
   the major lines every five minor ones, like the paper. The gas layer
   (.sky::before) becomes the grid, so it dims with --dim like the gas did. */
.sky[data-sky="blueprint"]{
  background:radial-gradient(120% 95% at 72% 30%,#17191d 0%,#0e0f12 52%,#08090b 100%)}
.sky[data-sky="blueprint"]::before{
  background:
    linear-gradient(rgba(255,255,255,.058) 1px,transparent 1px) 0 0/120px 120px,
    linear-gradient(90deg,rgba(255,255,255,.058) 1px,transparent 1px) 0 0/120px 120px,
    linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px) 0 0/24px 24px,
    linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px) 0 0/24px 24px;
  -webkit-mask-image:radial-gradient(130% 110% at 62% 38%,#000 35%,rgba(0,0,0,.35) 100%);
          mask-image:radial-gradient(130% 110% at 62% 38%,#000 35%,rgba(0,0,0,.35) 100%)}
.sky[data-sky="blueprint"] .veil{background:
  linear-gradient(var(--veil-flat),var(--veil-flat)),
  linear-gradient(to top,rgba(8,9,11,.85) 0%,rgba(8,9,11,0) 28%)}

/* the first edition's sky is the dark of space; its plate is redrawn as the
   scene behind the hall's first screen (archive.js, SCENES.poster) */
.sky[data-sky="poster"]{background:
  radial-gradient(70% 40% at 50% 100%,rgba(70,30,120,.16),rgba(0,0,0,0) 70%),#010101}
.sky[data-sky="poster"]::before{background:none}
.sky[data-sky="poster"] .veil{background:none}

/* a new edition's sky: a dark ground and nothing else, for its own
   stylesheet to paint over (themes.js, hang()) */
.sky[data-sky="blank"]{background:#0a0a0b}
.sky[data-sky="blank"]::before{background:none}
.sky[data-sky="blank"] .veil{background:none}

/* --------------------------------------------------------------------
   2. THE LOOKS — what a theme changes besides the light
   -------------------------------------------------------------------- */
/* THE FIRST EDITION: the point of a title in white, heavy and slanted —
   the film's own voice — instead of the gradient the second poured in */
html[data-look="poster"]{--sweep:linear-gradient(#fff,#fff)}
html[data-look="poster"] :is(.door-h,.hall-h,.iw-title) em{font-style:italic;font-weight:800;letter-spacing:-.035em;
  background:none;-webkit-text-fill-color:#fff;color:#fff}
html[data-look="poster"] .door-h-top{color:rgba(229,229,229,.78)}
html[data-look="poster"] .rm-n{background:none;-webkit-text-fill-color:#fff;color:#fff}

/* THE SERIES' TITLE HAS ONE SHAPE — the name in heavy italic, on one line —
   and each edition fills it with its own colour: the first edition's white,
   the second's sweep, the blueprint's outline. The slant needs a hair of
   room on the right or the clipped gradient shears the last letter off. */
html :is(.door-h,.bp-h) em{display:inline-block;font-style:italic;font-weight:800;letter-spacing:-.035em;
  white-space:nowrap;padding-right:.08em}

/* ON THE BLUEPRINT A TITLE'S NOUN IS DRAWN, not printed: the outline the
   sheet's own title uses, instead of the event's colour */
html[data-look="blueprint"] :is(.iw-title,.nx-h) em{font-style:italic;font-weight:800;background:none;
  -webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:1.3px var(--bp-ink);padding-right:.06em}

/* --------------------------------------------------------------------
   3. THE BLUEPRINT — the front page between editions
   -------------------------------------------------------------------- */
.bp{position:relative;max-width:var(--w);margin:0 auto;display:flex;flex-direction:column;
  gap:clamp(70px,12vh,140px)}
.bp-first{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  grid-template-rows:1fr auto;column-gap:clamp(20px,4vw,64px);
  min-height:calc(100dvh - clamp(150px,19vh,210px))}
.bp-copy{grid-column:1;grid-row:1;align-self:center;max-width:640px;position:relative;z-index:1}
.bp-sheet{grid-column:2;grid-row:1;align-self:center;min-width:0}
.bp-first>.scrolldown{grid-column:1/-1;grid-row:2;justify-self:center}

.bp-kick{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 clamp(22px,3vh,32px);
  font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bp-soft)}
.bp-ed{color:var(--bp-ink)}
/* the tape: a striped tab and a word, never words on stripes */
.bp-tape{display:inline-flex;align-items:center;gap:10px;color:var(--bp-hot-text);
  font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.bp-tape::before{content:"";flex:none;width:34px;height:12px;border:1px solid rgba(255,106,26,.65);
  background:repeating-linear-gradient(-45deg,var(--bp-hot) 0 5px,transparent 5px 10px)}
.bp-tape.sm{font-size:10px;letter-spacing:.14em}
.bp-tape.sm::before{width:24px;height:9px}

/* the title is drawn rather than printed: the qualifier in solid graphite
   ink, the name in outline, the way a drawing shows what is not built yet */
.bp-h{margin:0;font-size:clamp(46px,7.2vw,116px);font-weight:700;text-transform:uppercase;
  letter-spacing:-.025em;line-height:.9;color:var(--bp-ink)}
.bp-h-top{display:block;font-size:.56em;letter-spacing:-.012em;white-space:nowrap;color:#cfd2d8}
.bp-h em{display:inline-block;font-style:normal;color:transparent;-webkit-text-stroke:1.4px var(--bp-ink);
  position:relative;padding-bottom:.08em}
/* and a dimension under the name, ticked at both ends */
.bp-h em::after{content:"";position:absolute;left:0;right:.08em;bottom:-.06em;height:9px;
  border:solid var(--bp-faint);border-width:0 1px;
  background:linear-gradient(var(--bp-soft),var(--bp-soft)) 0 50%/100% 1px no-repeat}
.bp-h.sm{font-size:clamp(40px,5.6vw,88px)}
.bp-lead{margin:clamp(28px,4vh,40px) 0 0;max-width:34em;font-size:clamp(17px,1.55vw,20px);
  line-height:1.55;font-weight:400;color:#c3c7ce}
.bp-lead b{color:#fff;font-weight:700}
.bp-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,4vh,36px)}

/* THE TITLE BLOCK, bottom right, as on any sheet that leaves an office */
.bp-block{position:absolute;right:0;bottom:clamp(10px,3vh,34px);z-index:1;margin:0;
  display:grid;grid-template-columns:auto auto;min-width:300px;
  border:1px solid rgba(232,234,238,.28);background:rgba(10,11,13,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.bp-block>div{display:contents}
.bp-block dt,.bp-block dd{margin:0;padding:7px 12px;border-top:1px solid rgba(232,234,238,.14)}
.bp-block>div:first-child :is(dt,dd){border-top:0}
.bp-block dt{color:rgba(232,234,238,.45);border-right:1px solid rgba(232,234,238,.14)}
.bp-block dd{color:var(--bp-ink)}
.bp-block dd.hot{color:var(--bp-hot-text)}

/* ---- the drawing ---- */
.bp-draw{display:block;width:100%;height:auto;max-height:calc(100dvh - 240px);overflow:visible}
.bp-cl{stroke:var(--bp-faint);stroke-width:1;stroke-dasharray:22 5 3 5;fill:none}
.bp-dim{stroke:rgba(232,234,238,.32);stroke-width:1;fill:none}
.bp-cm path{stroke:rgba(232,234,238,.7);stroke-width:1}
.bp-lens{color:var(--bp-hot);opacity:.55}
.bp-draw .dr{fill:none;stroke:rgba(232,234,238,.42);stroke-width:1.1;
  stroke-dasharray:1;stroke-dashoffset:1;animation:bpdraw 2.4s var(--ease) var(--d,0s) forwards}
.bp-draw .dr.solid{stroke:rgba(240,242,246,.92);stroke-width:1.6}
.bp-next{fill:none;stroke:var(--bp-hot);stroke-width:1.6;stroke-dasharray:10 8;
  opacity:0;animation:bpfade 1s ease .9s forwards,bpmarch 40s linear infinite}
.bp-pen{fill:var(--bp-hot);filter:drop-shadow(0 0 6px rgba(255,106,26,.9))}
.bp-num{font:700 15px var(--mono);letter-spacing:.2em;fill:rgba(232,234,238,.7);text-anchor:middle}
.bp-lbl{font:500 12px var(--mono);letter-spacing:.14em;fill:rgba(232,234,238,.5);text-anchor:middle;
  text-transform:uppercase}
.bp-lbl.sm{font-size:11px;text-anchor:start}
.bp-num.hot,.bp-lbl.hot{fill:var(--bp-hot-text)}
@keyframes bpdraw{to{stroke-dashoffset:0}}
@keyframes bpfade{to{opacity:1}}
@keyframes bpmarch{to{stroke-dashoffset:-540}}
@media (prefers-reduced-motion:reduce){
  .bp-draw .dr{animation:none;stroke-dashoffset:0}
  .bp-next{animation:none;opacity:1}
}

/* ---- the drafting crosshair: two hairlines across the screen and where
   they cross, in the corner. Only while the pointer is on the first
   screen, and only for a fine pointer (archive.js). ---- */
.bp-xh{position:fixed;z-index:0;pointer-events:none;background:rgba(232,234,238,.09);opacity:0;
  transition:opacity .3s var(--ease)}
.bp-xh.x{left:0;right:0;top:0;height:1px}
.bp-xh.y{top:0;bottom:0;left:0;width:1px}
.bp-xy{position:fixed;left:18px;bottom:54px;z-index:0;pointer-events:none;opacity:0;
  font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(232,234,238,.38);
  transition:opacity .3s var(--ease)}
body.bp-aim .bp-xh,body.bp-aim .bp-xy{opacity:1}

/* the line under the lead, and the form beside it */
.bp-note{margin:clamp(18px,2.4vh,26px) 0 14px;max-width:38em;font-size:15px;line-height:1.55;color:var(--bp-soft)}
.bp-copy .wl{margin-top:4px}
.bp-sub{margin:-14px auto clamp(28px,3.4vw,44px);max-width:46ch;text-align:center;font-size:clamp(16px,1.4vw,18px);
  line-height:1.55;color:#b9bdc5}

/* THE SERIES SO FAR: four figures across the sheet, ruled like a table */
.bp-nums{margin:0;display:grid;grid-template-columns:repeat(var(--k,4),minmax(0,1fr));
  border-top:1px solid rgba(232,234,238,.28);border-bottom:1px solid rgba(232,234,238,.28)}
.bp-nums>div{display:flex;flex-direction:column-reverse;gap:14px;min-width:0;
  padding:clamp(26px,3.4vw,46px) clamp(14px,2vw,30px);border-left:1px solid rgba(232,234,238,.14)}
.bp-nums>div:first-child{border-left:0}
.bp-nums dd{margin:0;font-size:clamp(56px,7.4vw,120px);font-weight:800;font-style:italic;line-height:.82;
  letter-spacing:-.045em;color:#fff;font-variant-numeric:tabular-nums}
.bp-nums dt{font:600 11px/1.35 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--bp-soft)}

/* HOW IT WORKS: three steps, each under a rule with its number in the
   construction orange */
.bp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,3vw,48px);text-align:left}
.bp-steps li{border-top:1px solid rgba(232,234,238,.32);padding-top:clamp(18px,2vw,26px)}
.st-n{font:600 12px/1 var(--mono);letter-spacing:.18em;color:var(--bp-hot-text)}
.bp-steps h3{margin:16px 0 12px;font-size:clamp(26px,2.6vw,38px);font-weight:700;text-transform:uppercase;
  letter-spacing:-.025em;line-height:.95;color:#fff}
.bp-steps p{margin:0;max-width:34ch;font-size:16px;line-height:1.6;color:#b9bdc5}

/* ---- a section further down the sheet ---- */
.bp-sect{min-width:0}
.bp-sec{display:flex;align-items:center;gap:16px;margin:0 0 clamp(30px,4vw,48px);
  font:600 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--bp-ink)}
.bp-sec i{flex:1;height:1px;background:var(--bp-faint)}
.bp-sec-n{color:var(--bp-soft)}

/* --------------------------------------------------------------------
   4. THE EDITIONS, ON ONE LINE
   -------------------------------------------------------------------- */
.edl{list-style:none;margin:0;padding:0;position:relative;display:grid;
  grid-template-columns:repeat(var(--k,3),minmax(0,1fr))}
/* the rail through every node */
.edl::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;
  background:linear-gradient(90deg,rgba(232,234,238,.32),rgba(232,234,238,.32) 80%,rgba(255,106,26,.6))}
.edl-item{position:relative;min-width:0;padding-top:32px}
.edl-item::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;
  background:#0d0e11;border:1px solid rgba(232,234,238,.7)}
.edl-item.next::before,.edl-item.now::before{background:var(--bp-hot);border-color:var(--bp-hot);
  box-shadow:0 0 0 5px rgba(255,106,26,.16)}
.edl-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  margin-right:clamp(16px,2.4vw,34px);color:inherit;text-decoration:none;text-align:left}
.edl-art{display:block;width:100%;aspect-ratio:16/9.5;overflow:hidden;margin-bottom:12px;
  border:1px solid rgba(232,234,238,.16);border-radius:3px;background:#000;
  transition:border-color .35s var(--ease),transform .5s var(--ease)}
.edl-art>svg,.edl-art>img{display:block;width:100%;height:100%;object-fit:cover}
.edl-no{font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bp-soft)}
.edl-when{font-size:clamp(19px,1.9vw,26px);font-weight:700;text-transform:uppercase;
  letter-spacing:-.01em;line-height:1.05;color:#fff}
.edl-where{font-size:14px;color:#b9bdc5}
.edl-count{font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bp-soft)}
.edl-go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bp-soft)}
a.edl-card:hover .edl-art,a.edl-card:focus-visible .edl-art{border-color:rgba(232,234,238,.6);transform:translateY(-4px)}
a.edl-card:hover .edl-go{color:#fff}
a.edl-card:hover .edl-go .circ{transform:rotate(45deg)}
.edl-item.next .edl-go{color:var(--bp-hot-text)}
.edl-item.next .edl-when{color:var(--bp-hot-text)}
.edl-item.next .edl-art{border-style:dashed;border-color:rgba(255,106,26,.5)}

/* --------------------------------------------------------------------
   5. /archive
   -------------------------------------------------------------------- */
.arch{gap:clamp(56px,9vh,100px)}
.arch .arch-head{padding-top:clamp(24px,7vh,80px);max-width:760px}

/* --------------------------------------------------------------------
   6. ONE EDITION'S HALL
   -------------------------------------------------------------------- */
.hall{max-width:var(--w);margin:0 auto;display:flex;flex-direction:column;text-align:center;
  gap:clamp(76px,12vh,140px)}
.hall-first{position:relative;display:flex;flex-direction:column;align-items:center;
  min-height:calc(100dvh - clamp(150px,19vh,210px))}
.hall-hero{margin-top:auto;position:relative;z-index:1}

/* ---- A SCENE BEHIND THE FIRST SCREEN (archive.js, SCENES): full-bleed,
   running up under the bar and fading into the page at the bottom. The
   hero's words sit high, in the dark sky above the horizon. ---- */
.hall-scene{position:absolute;left:50%;top:-140px;bottom:-40px;width:100vw;transform:translateX(-50%);
  z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%)}
.hall-scene svg{position:absolute;inset:0;width:100%;height:100%;display:block}
/* film grain over the whole scene, so the dark is a material and not a void */
.hall-scene::after{content:"";position:absolute;inset:0;opacity:.11;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>")}
.hall-first:has(.hall-scene) .hall-hero{margin:clamp(20px,9vh,110px) 0 auto}
.hall-first:has(.hall-scene) .scrolldown{position:relative;z-index:1}

/* first light: the planets rise and the light comes up, then the core breathes */
.sc-first .fl-planets{animation:flrise 2.8s cubic-bezier(.16,1,.3,1) both}
.sc-first .fl-sky{animation:flup 3.2s ease-out .4s both}
.sc-first .fl-light{animation:flup 2.4s ease-out 1s both}
.sc-first .fl-core,.sc-first .fl-bloom{transform-box:fill-box;transform-origin:center;
  animation:flbreathe 6s ease-in-out 3.4s infinite}
.sc-first .fl-stars{animation:flup 4s ease-out both}
.sc-first .fl-stars .tw{animation:fltwinkle 5s ease-in-out infinite}
@keyframes fltwinkle{0%,100%{opacity:.15}50%{opacity:.75}}
@keyframes flrise{from{transform:translateY(70px);opacity:0}to{transform:none;opacity:1}}
@keyframes flup{from{opacity:0}to{opacity:1}}
@keyframes flbreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){
  .sc-first :is(.fl-planets,.fl-sky,.fl-light,.fl-core,.fl-bloom,.fl-stars,.tw){animation:none}
}
.hall-lead{max-width:40ch}
.hall-acts{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;
  margin-top:clamp(24px,3.4vh,34px)}
.hall-more{display:flex;flex-direction:column;gap:clamp(76px,12vh,140px)}
.hall-sect{min-width:0}
.hall-empty{margin:0 auto;max-width:44ch;font-size:16px;line-height:1.6;color:var(--muted2)}

/* ---- A BOARD OF MARKS: small tiles in rows, each a white mark and a link.
   The tile lifts and the mark comes up to full white under the pointer. ---- */
.board{list-style:none;margin:0;padding:0;display:grid;gap:8px;
  grid-template-columns:repeat(auto-fill,minmax(var(--cell,118px),1fr))}
.board.wide{--cell:150px;gap:10px}
.board>li{min-width:0}
.bd-cell{display:flex;align-items:center;justify-content:center;height:var(--ch,72px);padding:0 14px;
  border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);
  color:inherit;text-decoration:none;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.board.wide .bd-cell{--ch:84px}
a.bd-cell:hover,a.bd-cell:focus-visible{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);
  transform:translateY(-2px)}
a.bd-cell:focus-visible{outline:1px solid var(--accent-bright);outline-offset:2px}
.bd-mark{display:block;width:auto;height:auto;max-width:88%;object-fit:contain;
  max-height:calc(22px * var(--s,1));filter:brightness(0) invert(1);opacity:.84;transition:opacity .25s var(--ease)}
.board.wide .bd-mark{max-height:calc(26px * var(--s,1))}
a.bd-cell:hover .bd-mark{opacity:1}
.bd-word{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;
  text-align:center;color:var(--ink);overflow-wrap:anywhere}

/* ---- WHO WAS IN THE ROOM: two cards side by side, the funds and the
   startups, each headed by its count and holding its board ---- */
.rm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,1.8vw,26px);
  align-items:start;text-align:left}
.rm-grid.one{grid-template-columns:minmax(0,1fr)}
.rm-grid.one .board{--cell:140px}
.rm-card{min-width:0;padding:clamp(20px,2.4vw,34px);border-radius:22px;border:1px solid rgba(255,255,255,.1);
  background:rgba(6,6,14,.46);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.rm-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;
  margin-bottom:clamp(18px,2vw,26px)}
.rm-t{margin:0;font-size:clamp(30px,3.2vw,50px);font-weight:700;text-transform:uppercase;
  letter-spacing:-.025em;line-height:.9;color:#fff}
.rm-n{display:inline-block;font-style:italic;font-weight:800;padding-right:.06em;
  background:var(--sweep);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
.rm-sub{margin:0;font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}

/* ---- THE NEXT EDITION: the last word on every page here ---- */
.nx{position:relative;text-align:center;padding:clamp(44px,6.4vw,92px) clamp(20px,4vw,64px);
  border-radius:28px;border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(120% 140% at 50% 0%,rgba(255,255,255,.07),rgba(255,255,255,0) 60%),rgba(8,8,16,.5);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nx-kick{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px;
  font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted2)}
.nx-h{margin:0;font-size:clamp(40px,6.2vw,100px);font-weight:700;text-transform:uppercase;
  letter-spacing:-.03em;line-height:.9;color:#fff;text-wrap:balance}
.nx-h em{display:inline-block;font-style:italic;font-weight:800;padding-right:.08em;
  background:var(--sweep);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
html[data-look="poster"] .nx-h em{background:none;-webkit-text-fill-color:#fff;color:#fff}
.nx-p{margin:22px auto 30px;max-width:44ch;font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:var(--muted)}
.nx .wl{margin:0 auto;text-align:center}
.nx .wl-row{justify-content:center}
.bp .nx{background:rgba(12,13,16,.72);border-color:rgba(232,234,238,.22);border-radius:6px}

/* ---- THE WAITING LIST FORM: which side, an address, one button ---- */
.wl{max-width:520px;text-align:left}
.wl-side{display:inline-flex;gap:3px;padding:3px;margin-bottom:12px;border:1px solid var(--line);border-radius:999px}
.wl-side label{position:relative;cursor:pointer}
.wl-side input{position:absolute;opacity:0;pointer-events:none}
.wl-side span{display:block;padding:7px 15px;border-radius:999px;font-size:13px;font-weight:500;color:var(--muted);
  transition:background .2s var(--ease),color .2s var(--ease)}
.wl-side input:checked+span{background:var(--ink);color:#000}
.wl-side input:focus-visible+span{outline:1px solid var(--accent-bright);outline-offset:2px}
.wl-row{display:flex;gap:10px}
.wl-row input{flex:1;min-width:0;height:50px;padding:0 20px;border-radius:999px;font:inherit;font-size:15px;
  color:#fff;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.24);transition:border-color .2s var(--ease)}
.wl-row input::placeholder{color:rgba(255,255,255,.45)}
.wl-row input:focus{outline:none;border-color:#fff}
.wl-row .pill{flex:none}
.wl-msg{margin:12px 4px 0;min-height:1.4em;font-size:13px;line-height:1.5;color:var(--muted2)}
.wl-msg b{color:#fff}
.wl.done :is(.wl-row,.wl-side){display:none}
.wl.done .wl-msg{font-size:15px}

/* ---- the place ---- */
.pl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;
  gap:clamp(28px,6vw,96px);text-align:left}
.pl-map{margin:0;min-width:0}
.pl-map svg{display:block;width:100%;max-width:560px;height:auto;overflow:visible;margin-left:auto}
.pl-be{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.6);stroke-width:1.2;stroke-linejoin:round}
.pl-ring{fill:none;stroke:var(--accent);stroke-width:1.4;transform-box:fill-box;transform-origin:center;
  animation:plping 2.8s var(--ease) infinite}
.pl-dot{fill:var(--accent)}
.pl-cross{stroke:rgba(255,255,255,.75);stroke-width:1.2}
@keyframes plping{0%{transform:scale(.35);opacity:1}100%{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.pl-ring{animation:none}}
.pl-coord{margin:14px 0 0;text-align:right;font:500 11px/1.4 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted2);opacity:.75}
.pl-words p{margin:0}
.pl-city{font-size:clamp(50px,7.6vw,118px);font-weight:700;text-transform:uppercase;
  letter-spacing:-.035em;line-height:.88;color:#fff}
.pl-venue{margin-top:clamp(16px,2vw,24px)!important;font-size:clamp(20px,2.2vw,30px);font-weight:700;
  text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.pl-addr{margin:6px 0 22px!important;font-size:15.5px;color:var(--muted2)}

/* ---- the way to the editions either side ---- */
.hall-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;
  padding-top:26px;border-top:1px solid var(--divider)}
.hall-nav a{display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:inherit;
  text-decoration:none;text-align:left}
.hall-nav a.hn-r{align-items:flex-end;text-align:right}
.hall-nav a.hn-mid{align-items:center;font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted2)}
.hn-dir{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.hn-when{font-size:clamp(16px,1.6vw,20px);font-weight:700;text-transform:uppercase;color:#fff}
.hall-nav a:hover .hn-when,.hall-nav a.hn-mid:hover{color:var(--accent-bright)}

/* the door's way here: a button under the line, quieter than the form's */
.door-arch{margin-top:clamp(16px,2.2vh,24px)}

/* --------------------------------------------------------------------
   7. THE PHONE, AND ANYTHING NARROWER THAN A DRAWING NEEDS
   -------------------------------------------------------------------- */
@media (max-width:1100px){
  .bp-block{position:static;grid-column:1/-1;grid-row:2;justify-self:start;margin-top:28px}
  .bp-first{grid-template-rows:1fr auto auto}
  .bp-first>.scrolldown{grid-row:3}
}
@media (max-width:900px){
  .bp-first{display:flex;flex-direction:column;min-height:0;padding-top:clamp(12px,4vh,40px)}
  .bp-sheet{order:-1;width:min(100%,420px);margin:0 auto 18px;opacity:.9}
  .bp-draw{max-height:none}
  .bp-block{min-width:0;width:100%;margin-top:30px}
  .bp-first>.scrolldown{align-self:center}
  .bp-xh,.bp-xy{display:none}

  .edl{grid-template-columns:1fr;row-gap:34px}
  .edl::before{left:5px;right:auto;top:6px;bottom:6px;width:1px;height:auto;
    background:linear-gradient(rgba(232,234,238,.32),rgba(232,234,238,.32) 80%,rgba(255,106,26,.6))}
  .edl-item{padding:0 0 0 30px}
  .edl-item::before{top:4px}
  .edl-card{margin-right:0}

  .pl-grid{grid-template-columns:1fr;text-align:center}
  .pl-map svg{margin:0 auto}
  .pl-coord{text-align:center}
  .hall-nav{grid-template-columns:1fr 1fr}
  .hall-nav a.hn-mid{grid-column:1/-1;grid-row:2;margin-top:6px}
  .rm-grid{grid-template-columns:minmax(0,1fr)}
  .board{--cell:96px}
  .board.wide{--cell:110px}
  .bd-cell{--ch:62px}
  .board.wide .bd-cell{--ch:66px}
  .bp-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bp-nums>div:nth-child(3){border-left:0}
  .bp-nums>div:nth-child(n+3){border-top:1px solid rgba(232,234,238,.14)}
  .bp-steps{grid-template-columns:minmax(0,1fr);gap:30px}
  .wl-row{flex-direction:column}
  .wl-row .pill{justify-content:center}
}
