:root {
  --story-paper:#f0ede4;
  --story-ink:#080808;
  --story-acid:#d8ff00;
  --story-red:#ff3b29;
  --story-edge:clamp(18px,3vw,62px);
  --story-space:clamp(38px,3vw,58px);
  --story-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --story-serif:Georgia,"Times New Roman",serif;
}

.story-hero {
  position:relative;
  height:100svh;
  min-height:680px;
  overflow:hidden;
  background:#050505;
  color:var(--story-paper);
}
.story-hero::before {
  content:"";
  position:absolute;
  inset:-35px;
  background:url("../../../public/images/geek/bumbershoot-2026/updated/day2/atarashii-gakko-05.jpg") center/cover;
  filter:blur(24px) brightness(.46) saturate(.75);
  transform:scale(1.08);
}
.story-hero>img,.story-hero>video {
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.story-hero-shade {
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 24%),linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.03) 70%),linear-gradient(0deg,rgba(0,0,0,.68),transparent 54%);
}
.story-kicker {position:absolute;z-index:3;top:112px;left:3vw;right:3vw;display:flex;justify-content:space-between;font:700 8px var(--story-mono);letter-spacing:.2em;color:rgba(240,237,228,.68)}
.story-title {position:absolute;z-index:3;left:3vw;bottom:8%;max-width:1050px}
.story-title>p {margin:0 0 18px;font:700 9px var(--story-mono);letter-spacing:.22em;color:var(--story-acid)}
.story-title h1 {margin:0;font-size:clamp(5rem,8.8vw,10rem);line-height:.72;letter-spacing:-.078em}
.story-title h1 em {font:italic 400 .92em/.72 var(--story-serif);color:var(--story-acid)}
.scroll-cue {position:absolute;z-index:3;right:3vw;bottom:7%;display:flex;align-items:center;gap:25px;border-bottom:1px solid currentColor;padding-bottom:9px;font:700 8px var(--story-mono);letter-spacing:.17em}

.story-intro {display:grid;grid-template-columns:minmax(220px,.75fr) 2.2fr;gap:8vw;padding:115px 3vw 0;background:var(--story-paper)}
.story-facts {align-self:start;border-top:1px solid var(--story-ink)}
.story-facts p {display:grid;grid-template-columns:90px 1fr;gap:18px;margin:0;border-bottom:1px solid rgba(8,8,8,.2);padding:16px 0;font:700 8px/1.45 var(--story-mono);letter-spacing:.09em}
.story-facts span {color:#77736b;font-size:7px;letter-spacing:.16em}
.story-copy {max-width:1100px}
.story-copy .dek {max-width:22ch;margin:0 0 62px;font-size:clamp(2.8rem,5.2vw,6.4rem);font-weight:900;line-height:.86;letter-spacing:-.065em}
.copy-columns {display:grid;grid-template-columns:1fr 1fr;gap:55px;max-width:980px}
.copy-columns p {margin:0;font:500 clamp(.95rem,1.2vw,1.2rem)/1.62 var(--story-mono);letter-spacing:-.025em}
.draft-note {margin:56px 0 0;color:#77736b;font:700 7px var(--story-mono);letter-spacing:.14em}

.grouped-section,.artist-section {padding:var(--story-space) var(--story-edge);overflow:hidden}
.grouped-section {background:var(--story-paper)}
.grouped-sunday {background:#dedbd2}
.section-intro,.artist-heading {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr);gap:clamp(28px,4vw,78px);align-items:start;margin-bottom:clamp(36px,3vw,58px);border-top:1px solid currentColor;padding-top:clamp(24px,2vw,34px)}
.section-intro>p,.artist-heading>p:first-child {grid-column:1/-1;margin:0;font:700 8px var(--story-mono);letter-spacing:.18em}
.section-intro h2,.artist-heading h2 {margin:0;font-size:clamp(4.1rem,7.5vw,8.6rem);line-height:.74;letter-spacing:-.075em}
.section-intro h2 em,.artist-heading h2 em {font:italic 400 .84em var(--story-serif)}
.section-notes p,.artist-heading>p:last-child {margin:0 0 22px;font:500 clamp(.82rem,1vw,1rem)/1.58 var(--story-mono)}
.section-notes b {display:block;margin-bottom:7px;font-size:7px;letter-spacing:.15em;color:var(--story-red)}
.day-copy {display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,88px);width:min(100%,1440px);margin:0 0 clamp(44px,4vw,72px);border-top:1px solid rgba(8,8,8,.2);padding-top:24px}
.day-copy p {margin:0;font:500 clamp(.95rem,1.2vw,1.18rem)/1.65 var(--story-mono);letter-spacing:-.025em}
.full-bill {display:grid;grid-template-columns:minmax(180px,.5fr) 2.5fr;gap:clamp(30px,5vw,90px);margin:0 0 clamp(48px,4vw,76px);border-top:1px solid rgba(8,8,8,.2);border-bottom:1px solid rgba(8,8,8,.2);padding:18px 0 20px}
.full-bill p {margin:0;font:600 clamp(.72rem,.85vw,.86rem)/1.65 var(--story-mono)}
.full-bill p:first-child {font-size:8px;line-height:1.5;letter-spacing:.16em;color:var(--story-red)}

.gallery-frame {display:block;border:0;background:none;padding:0;color:inherit;text-align:left;cursor:zoom-in;overflow:visible}
.gallery-frame.is-user-hidden {display:none}
.gallery-frame.user-size-small {width:72%;justify-self:center}
.gallery-frame.user-size-wide {grid-column:span 2}
.gallery-frame.user-size-full {grid-column:1/-1;width:100%}
.gallery-frame img {display:block;width:100%;height:auto;object-fit:contain;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .35s}
.gallery-frame:hover img {transform:scale(1.008);filter:saturate(1.08)}
.native-grid {display:grid;align-items:start;gap:clamp(18px,3vw,52px)}
.grid-local {grid-template-columns:1.25fr .68fr 1fr 1.15fr}
.grid-saturday-bill {grid-template-columns:repeat(3,1fr);margin-top:var(--story-space)}
.grid-saturday-bill .narrow {width:72%;justify-self:center}
.field-note {display:grid;grid-template-columns:.6fr 1.4fr .8fr;gap:3vw;align-items:start;margin:var(--story-space) calc(var(--story-edge) * -1) 0;padding:clamp(48px,5vw,85px) var(--story-edge);background:var(--story-red);color:var(--story-paper)}
.field-note>p {margin:0;font:600 clamp(.8rem,1vw,1rem)/1.55 var(--story-mono)}
.field-note>p:first-child {font-size:8px;letter-spacing:.18em;color:var(--story-acid)}
.field-note h3 {margin:0;font-size:clamp(3rem,5vw,6rem);line-height:.82;letter-spacing:-.065em}
.field-note h3 em {font:italic 400 .86em var(--story-serif);color:var(--story-acid)}

.artist-heading>p:last-child {align-self:end;color:rgba(240,237,228,.72)}
.artist-pair {display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(20px,4vw,76px);align-items:start}
.turnstile-section {background:var(--story-ink);color:var(--story-paper)}
.turnstile-section .artist-heading>p:first-child,.turnstile-section .artist-heading h2 {color:var(--story-acid)}

.sextile-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,52px);align-items:start}
.voices-row {display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:clamp(18px,3vw,52px);align-items:start;margin-top:var(--story-space)}
.voices-row .gallery-frame:nth-child(2) {margin-top:6vw}

.ag-section {background:var(--story-paper);color:var(--story-ink)}
.ag-section .artist-heading>p:first-child {color:var(--story-red)}
.ag-section .artist-heading>p:last-child {color:#4d4a45}
.ag-section .artist-heading h2 em {color:var(--story-red)}
.ag-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,52px);align-items:start}
.ag-grid .gallery-frame:nth-child(even) {margin-top:5vw}
.ag-anchor {grid-column:1/-1;width:88%;margin:clamp(55px,6vw,110px) auto 0!important}

.orville-section {background:#b61219;color:var(--story-paper)}
.orville-section .artist-heading>p:first-child,.orville-section .artist-heading h2 em {color:var(--story-acid)}
.orville-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,52px);align-items:start}
.orville-grid .gallery-frame:nth-child(2),.orville-grid .gallery-frame:nth-child(4) {margin-top:6vw}

.toki-section {background:radial-gradient(circle at 75% 22%,#30226d 0,#0d0a20 35%,#050505 72%);color:var(--story-paper)}
.toki-section .artist-heading>p:first-child,.toki-section .artist-heading h2 em {color:var(--story-acid)}
.toki-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,52px);align-items:start}
.toki-grid .gallery-frame:nth-child(2) {margin-top:6vw}
.toki-grid .gallery-frame:nth-child(3) {margin-top:2vw}
.toki-grid .crowd-frame {margin-top:9vw}
.toki-grid .stage-frame {grid-column:1/-1;width:92%;margin:clamp(55px,7vw,125px) auto 0}

.death-cab-section {background:#07101a;color:var(--story-paper)}
.death-cab-section .artist-heading>p:first-child,.death-cab-section .artist-heading h2 em {color:#78bfff}
.death-cab-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,52px);align-items:start}
.death-cab-grid .gallery-frame:nth-child(2),.death-cab-grid .gallery-frame:nth-child(4) {margin-top:6vw}

/* Match the published photo layout to the editor's 12-column sizing system. */
:is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(18px,2.2vw,38px);
  align-items:start;
}
:is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame {
  grid-column:span 6;
  width:100%;
  margin:0!important;
  justify-self:stretch;
}
:is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.user-size-small {grid-column:span 4}
:is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.user-size-wide {grid-column:span 8}
:is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.user-size-full {grid-column:1/-1}

.story-closing {padding:clamp(100px,11vw,210px) 3vw;background:var(--story-paper)}
.story-closing>p:first-child {margin:0 0 30px;font:700 8px var(--story-mono);letter-spacing:.2em;color:var(--story-red)}
.story-closing h2 {max-width:16ch;margin:0 0 clamp(75px,8vw,140px);font-size:clamp(4.4rem,8vw,9.2rem);line-height:.76;letter-spacing:-.075em}
.story-closing h2 em {font:italic 400 .85em var(--story-serif);color:var(--story-red)}
.story-closing .copy-columns {margin-left:35%}
.story-credit {margin:80px 0 0 35%;border-top:1px solid var(--story-ink);padding-top:16px;font:700 7px var(--story-mono);letter-spacing:.16em}

.story-next>a {position:relative;display:block;min-height:clamp(620px,78svh,940px);overflow:hidden;background:#090909;color:var(--story-paper)}
.story-next img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.story-next a:hover img {transform:scale(1.018)}
.story-next-shade {position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 55%)}
.story-next-kicker,.story-next-title,.story-next-link {position:absolute;left:var(--story-edge);z-index:1}
.story-next-kicker {top:clamp(62px,7vw,105px);font:700 8px var(--story-mono);letter-spacing:.19em;color:var(--story-acid)}
.story-next-title {bottom:clamp(110px,12vw,185px);font-weight:900;font-size:clamp(4.8rem,9vw,10rem);line-height:.72;letter-spacing:-.075em}
.story-next-title em {font:italic 400 .82em var(--story-serif);color:var(--story-acid)}
.story-next-link {bottom:clamp(58px,6vw,92px);border-bottom:1px solid currentColor;padding-bottom:8px;font:700 8px var(--story-mono);letter-spacing:.15em}

.lightbox {width:100vw;max-width:none;height:100svh;max-height:none;margin:0;border:0;background:rgba(4,4,4,.97);color:var(--story-paper);padding:54px 70px}
.lightbox::backdrop {background:#050505}
.lightbox[open] {display:grid;grid-template-columns:50px 1fr 50px;align-items:center}
.lightbox figure {display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;height:calc(100svh - 108px);margin:0}
.lightbox img {width:auto;max-width:100%;height:100%;max-height:calc(100svh - 145px);object-fit:contain}
.lightbox figcaption {margin-top:15px;font:700 7px var(--story-mono);letter-spacing:.16em;color:rgba(240,237,228,.65)}
.lightbox-close {position:absolute;top:22px;right:28px;border:0;background:none;color:inherit;font:700 8px var(--story-mono);letter-spacing:.16em;cursor:pointer}
.lightbox-arrow {border:0;background:none;color:inherit;font-size:32px;cursor:pointer}
.lightbox-prev {justify-self:start}.lightbox-next {justify-self:end}

@media(max-width:760px) {
  .story-hero {height:100svh;min-height:620px;padding-top:0;background:#050505}
  .story-hero::before {display:none}
  .story-hero>img,.story-hero>video {height:100%;object-fit:cover;object-position:56% center}
  .story-hero-shade {background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 24%),linear-gradient(0deg,rgba(0,0,0,.83),transparent 68%)}
  .story-kicker {top:82px;left:17px;right:17px;font-size:6px}.story-kicker span:nth-child(2){display:none}
  .story-title {left:17px;right:17px;bottom:7%}.story-title>p {font-size:6px}.story-title h1 {font-size:clamp(3.2rem,15vw,5.3rem)}.scroll-cue{display:none}
  .story-intro {grid-template-columns:1fr;gap:60px;padding:78px 17px 95px}.story-copy .dek{font-size:clamp(2.6rem,12vw,4.2rem);margin-bottom:42px}.copy-columns{grid-template-columns:1fr;gap:28px}.copy-columns p{font-size:.9rem}
  .grouped-section,.artist-section {padding:68px 12px 72px}
  .section-intro,.artist-heading {grid-template-columns:1fr;gap:25px;margin-bottom:58px}
  .section-intro h2,.artist-heading h2 {font-size:clamp(3.6rem,17vw,5.8rem)}
  .section-notes,.artist-heading>p:last-child {max-width:42ch}
  .day-copy {grid-template-columns:1fr;gap:28px;width:100%;margin:0 0 62px;padding-top:20px}.day-copy p{font-size:.9rem}
  .full-bill {grid-template-columns:1fr;gap:14px;margin:-24px 0 62px;padding:17px 0 19px}.full-bill p{font-size:.75rem;line-height:1.7}
  :is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) {
    display:block;
    columns:2;
    column-gap:7px;
  }
  :is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame,
  :is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.user-size-small,
  :is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.user-size-wide,
  :is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.user-size-full {
    display:inline-block;
    width:100%;
    margin:0 0 7px!important;
    break-inside:avoid;
    vertical-align:top;
  }
  :is(.grid-local,.grid-saturday-bill,.artist-pair,.sextile-grid,.voices-row,.ag-grid,.orville-grid,.toki-grid,.death-cab-grid) > .gallery-frame.is-user-hidden {
    display:none!important;
  }
  .grid-saturday-bill {margin-top:56px}
  .field-note {grid-template-columns:1fr;gap:28px;margin:56px -12px 0;padding:52px 17px}.field-note h3{font-size:clamp(2.8rem,13vw,4.5rem)}
  .voices-row {margin-top:56px}.voices-row .gallery-frame:nth-child(2){margin-top:0}
  .ag-grid .gallery-frame:nth-child(even),.orville-grid .gallery-frame:nth-child(2),.orville-grid .gallery-frame:nth-child(4),.toki-grid .gallery-frame:nth-child(2),.toki-grid .gallery-frame:nth-child(3),.toki-grid .crowd-frame,.death-cab-grid .gallery-frame:nth-child(2),.death-cab-grid .gallery-frame:nth-child(4){margin-top:0}
  .ag-anchor,.toki-grid .stage-frame {width:100%;margin:0 0 7px!important}
  .story-closing {padding:90px 17px}.story-closing h2{font-size:clamp(3.7rem,17vw,5.8rem)}.story-closing .copy-columns,.story-credit{margin-left:0}.story-credit{margin-top:60px}
  .story-next>a{min-height:680px}.story-next-title{font-size:clamp(4rem,18vw,6rem)}
  .lightbox{padding:58px 12px 20px}.lightbox[open]{grid-template-columns:34px 1fr 34px}.lightbox figure{height:calc(100svh - 78px)}.lightbox img{max-height:calc(100svh - 120px)}.lightbox-close{right:14px}.lightbox-arrow{font-size:24px}
}

@media(prefers-reduced-motion:reduce) {.gallery-frame img{transition:none}}
