:root {
  --bg:#0b0b0b;
  --paper:#eae9e4;
  --line:#343434;
  --gray:#9e9d99;
  --red:#b72531;
  --font:'Space Grotesk',Arial,Helvetica,sans-serif;
  --mono:'Space Mono','Courier New',monospace;
  --brand:Arial,Helvetica,sans-serif;
  --max:1500px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:74px
}

body {
  margin:0;
  background:var(--bg);
  color:#f1f0eb;
  font-family:var(--font);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}

img {
  max-width:100%;
  display:block
}

a {
  color:inherit;
  text-decoration:none
}

button,input {
  font:inherit
}

button {
  cursor:pointer
}

::selection {
  background:var(--red);
  color:#fff
}

:focus-visible {
  outline:2px solid #de5a64;
  outline-offset:4px
}

.container {
  max-width:var(--max);
  margin:0 auto;
  padding:0 clamp(22px,5vw,78px)
}

.eyebrow,.photo-code,.header,.hero-topline,.hero-bottomline,.event-label,.event-location,.datebox span,.event-action,.status,.section-kicker,.archive-tile,.newsletter label,.footer-bottom,.subscribe-form small,.small-arrow {
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.12em;
  font-weight:700
}

.skip {
  position:absolute;
  top:-90px;
  left:12px;
  z-index:99;
  background:#fff;
  color:#000;
  padding:12px
}

.skip:focus {
  top:12px
}

.header {
  height:74px;
  position:relative;
  z-index:50;
  background:#0a0a0a;
  border-bottom:1px solid #2a2a2a
}

.header-inner {
  height:100%;
  max-width:1650px;
  margin:auto;
  padding:0 clamp(22px,5vw,78px);
  display:flex;
  align-items:center;
  gap:35px
}

.brand {
  display:flex;
  align-items:center;
  gap:12px;
  margin-right:auto;
  white-space:nowrap;
  font-family:var(--brand);
  font-size:19px;
  font-weight:800;
  letter-spacing:.16em
}

.brand img {
  width:31px;
  height:31px
}

.desktop-nav {
  display:flex;
  gap:clamp(16px,2.3vw,38px);
  align-items:center
}

.desktop-nav a,.header-cta {
  transition:color .2s
}

.desktop-nav a:hover,.header-cta:hover,.small-arrow:hover {
  color:#ee626b
}

.header-cta {
  border:1px solid #5c5c5c;
  padding:11px 16px;
  white-space:nowrap
}

.header-cta span {
  margin-left:15px;
  color:#ed4453
}

.nav-toggle {
  display:none;
  width:30px;
  height:30px;
  background:none;
  border:0
}

.nav-toggle span {
  display:block;
  height:1px;
  background:#fff;
  margin:7px 0
}

.mobile-nav[hidden] {
  display:none
}

.visual-hero {
  min-height:min(720px,80svh);
  height:clamp(550px,75svh,840px);
  position:relative;
  overflow:hidden;
  background:#151515
}

.gallery {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1.18fr .79fr 1.03fr;
  gap:5px;
  opacity:.8
}

.scene {
  position:relative;
  overflow:hidden;
  isolation:isolate
}

.scene::before,.scene::after {
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none
}

.scene-a {
  background:radial-gradient(ellipse at 30% 75%,#71313a77,transparent 38%),linear-gradient(116deg,#121619 12%,#424a50 32%,#111315 48%,#32343d 72%,#030404 100%)
}

.scene-a:before {
  background:repeating-linear-gradient(98deg,transparent 0 26px,#f0f0f006 27px 29px,transparent 30px 58px);
  transform:skewX(-25deg)
}

.scene-a:after {
  background:radial-gradient(ellipse at 55% 30%,#e6e5d63a,transparent 42%);
  mix-blend-mode:screen
}

.scene-b {
  background:radial-gradient(ellipse at 48% -5%,#faf9e688 0%,#858a8a44 8%,transparent 29%),linear-gradient(147deg,#060707,#333840 38%,#070708 69%)
}

.scene-b:before {
  inset:10% 15% -20%;
  background:repeating-linear-gradient(90deg,#0000 0 12px,#b6b5b321 13px 16px,#0000 17px 27px);
  clip-path:polygon(0 0,100% 14%,72% 100%,14% 100%);
  filter:blur(4px)
}

.scene-b:after {
  background:linear-gradient(125deg,transparent 25%,#b4b5aa55 28%,transparent 30%,transparent 67%,#fff2 70%,transparent 73%);
  filter:blur(14px)
}

.scene-c {
  background:radial-gradient(ellipse at 50% 50%,#581d27c7,transparent 48%),linear-gradient(145deg,#090b0c,#343638 44%,#09090a 70%)
}

.scene-c:before {
  background:repeating-linear-gradient(171deg,transparent 0 33px,#bbbec00a 34px 36px,transparent 37px 62px);
  transform:scale(1.5) rotate(-5deg)
}

.scene-c:after {
  inset:20% -10% 0;
  background:conic-gradient(from 210deg at 50% -10%,transparent 0 20deg,#efeff018 25deg,transparent 36deg 72deg,#efeff015 80deg,transparent 90deg);
  filter:blur(6px)
}

.scene-noise {
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.3;
  background-image:url('data:image/svg+xml,%3Csvg viewBox=%220 0 180 180%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.75%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22 opacity=%22.5%22/%3E%3C/svg%3E');
  mix-blend-mode:screen
}

.photo-code {
  position:absolute;
  z-index:3;
  bottom:18px;
  left:20px;
  color:#d3d1ce88
}

.hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#0007,#0002 50%,#0008),linear-gradient(0deg,#0009,transparent 30%,transparent 75%,#0005);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px clamp(22px,5vw,78px) 28px
}

.hero-topline,.hero-bottomline {
  display:flex;
  justify-content:space-between;
  gap:25px;
  color:#eee
}

.red-dot {
  display:inline-block;
  width:6px;
  height:6px;
  background:#f03c4c;
  margin-right:10px;
  vertical-align:2px
}

.hero-bottomline a span {
  color:#e14c56;
  margin-left:8px
}

.hero-center {
  align-self:center;
  text-align:center;
  margin-top:35px
}

.hero-emblem {
  height:clamp(95px,12vw,165px);
  width:auto;
  margin:0 auto 13px;
  filter:drop-shadow(0 0 22px #0008)
}

.hero-center h1 {
  font-size:clamp(55px,8.7vw,132px);
  letter-spacing:.17em;
  line-height:1;
  margin:0 0 18px 0;
  font-weight:800;
  text-indent:.17em;
  text-shadow:0 3px 50px #000a
}

.hero-center p {
  font:700 11px var(--mono);
  letter-spacing:.32em;
  margin:0;
  color:#f5f4f0
}

.section {
  padding:clamp(64px,7vw,115px) 0
}

.section-kicker {
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--gray);
  padding-bottom:18px;
  border-bottom:1px solid var(--line)
}

.section-title {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:36px 0
}

.section-title h2 {
  font-size:clamp(32px,4.2vw,64px);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:750;
  margin:0 0 12px
}

.section-title p {
  margin:0;
  color:#adaca8
}

.align-end {
  color:#888
}

.events {
  background:#101010
}

.events-list {
  border-top:1px solid #3c3c3c
}

.event-row {
  display:grid;
  grid-template-columns:85px 144px 1fr auto;
  gap:clamp(18px,2.5vw,36px);
  align-items:center;
  border-bottom:1px solid #363636;
  padding:25px 0;
  min-height:195px
}

.datebox {
  display:flex;
  flex-direction:column;
  align-self:start;
  padding-top:12px;
  line-height:1
}

.datebox strong {
  font-size:46px;
  letter-spacing:-.08em;
  font-weight:700
}

.datebox span {
  line-height:1.5;
  color:#a5a4a0;
  margin-top:7px
}

.datebox.muted strong {
  font-size:42px;
  color:#555
}

.event-thumb {
  height:145px;
  width:144px;
  background:#1c1c1c;
  overflow:hidden
}

.flyer {
  height:100%;
  padding:12px;
  background:radial-gradient(circle at 56% 60%,#801b2e,#1b1014 34%,#050505 71%);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative
}

.flyer:after {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,#fff0 0 5px,#fff1 6px,#fff0 7px 12px);
  opacity:.4
}

.flyer-top,.flyer-bottom {
  position:relative;
  z-index:1;
  font:700 8px/1.35 var(--mono);
  letter-spacing:.1em
}

.flyer-shape {
  text-align:center;
  line-height:1;
  font-size:62px;
  font-weight:900;
  letter-spacing:-.14em;
  transform:skew(-7deg);
  color:#eee
}

.flyer-shape span {
  font-size:26px;
  color:#e24a5b;
  letter-spacing:-.09em
}

.event-thumb.teaser {
  display:grid;
  place-items:center;
  background:#242424
}

.teaser img {
  width:68px;
  opacity:.72
}

.event-label {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:#aaa;
  align-items:center
}

.status {
  background:#5e1720;
  color:#fff;
  padding:5px 8px
}

.event-main h3 {
  font-size:clamp(24px,2.65vw,38px);
  font-weight:740;
  letter-spacing:-.035em;
  line-height:1.12;
  margin:12px 0 8px
}

.event-main p {
  color:#b0afaa;
  margin:0 0 15px
}

.event-location {
  color:#777
}

.event-action {
  min-width:154px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:23px;
  color:#b7b6b2;
  text-align:right
}

.event-action span:last-child {
  font-size:20px;
  color:#d84a55
}

.text-cta {
  border-bottom:1px solid #777;
  padding-bottom:5px
}

.text-cta:hover {
  color:#ea5862
}

.manifesto {
  background:#e6e5e0;
  color:#0b0b0b;
  padding:clamp(70px,9vw,150px) 0
}

.culture-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(35px,8vw,130px)
}

.manifesto h2 {
  font-size:clamp(40px,5vw,77px);
  line-height:1.07;
  letter-spacing:-.05em;
  margin:34px 0 0
}

.manifesto h2 em {
  font-style:normal;
  color:#8b222d
}

.culture-copy {
  padding-top:52px;
  max-width:520px
}

.culture-copy p:first-child {
  font-size:clamp(20px,2.3vw,28px);
  font-weight:650;
  letter-spacing:-.02em;
  line-height:1.32;
  margin:0 0 28px
}

.culture-copy p:nth-child(2) {
  color:#4a4946;
  font-size:16px
}

.small-arrow {
  display:inline-flex;
  gap:25px;
  margin-top:30px;
  padding-bottom:8px;
  border-bottom:1px solid #888
}

.archive {
  background:#151515
}

.archive-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:14px
}

.archive-tile {
  height:clamp(310px,32vw,460px);
  padding:21px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  isolation:isolate
}

.tile-top,.tile-bottom {
  display:flex;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:3
}

.tile-one {
  background:linear-gradient(130deg,#222,#070707 72%)
}

.tile-one:before {
  content:"";
  position:absolute;
  inset:-20%;
  background:repeating-linear-gradient(110deg,#fff0 0 34px,#ffffff09 35px 36px,#fff0 37px 75px)
}

.tile-one img {
  width:50%;
  max-height:180px;
  object-fit:contain;
  align-self:center;
  filter:drop-shadow(0 15px 30px #000)
}

.tile-two {
  background:radial-gradient(circle at 50% 50%,#872535 0%,#330f17 28%,#080808 66%)
}

.concentric {
  height:200px;
  width:200px;
  position:relative;
  align-self:center;
  display:grid;
  place-items:center
}

.concentric div {
  position:absolute;
  width:28%;
  aspect-ratio:1;
  border:1px solid #ffffff99;
  border-radius:50%
}

.concentric div:nth-child(2) {
  width:55%;
  border-color:#ffffff5c
}

.concentric div:nth-child(3) {
  width:81%;
  border-color:#ffffff3f
}

.concentric div:nth-child(4) {
  width:108%;
  border-color:#ffffff20
}

.tile-three {
  background:linear-gradient(155deg,#333 0%,#101010 70%)
}

.tile-big {
  font-size:clamp(35px,4.5vw,72px);
  font-weight:900;
  line-height:.83;
  letter-spacing:-.09em;
  align-self:center;
  transform:rotate(-13deg);
  opacity:.75
}

.about {
  background:#0c0c0c
}

.about-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:clamp(40px,9vw,130px)
}

.about h2 {
  font-size:clamp(40px,5vw,75px);
  letter-spacing:-.05em;
  line-height:1.05;
  margin:25px 0 0
}

.about-right {
  padding-top:30px;
  max-width:510px
}

.wordmark {
  height:auto;
  width:215px;
  max-width:100%;
  margin-bottom:40px
}

.about-right p {
  font-size:17px;
  color:#ccc;
  margin:0 0 22px
}

.genre-list {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:34px
}

.genre-list span {
  border:1px solid #555;
  padding:9px 12px;
  font:700 10px var(--mono);
  letter-spacing:.07em
}

.newsletter {
  background:#95212e
}

.newsletter-grid {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:clamp(40px,9vw,140px);
  align-items:end
}

.newsletter h2 {
  font-size:clamp(39px,5vw,68px);
  letter-spacing:-.055em;
  margin:25px 0 12px;
  line-height:1
}

.newsletter p {
  margin:0;
  color:#f0d5d7;
  max-width:370px
}

.subscribe-form label {
  display:block;
  margin-bottom:14px
}

.field {
  display:flex;
  border-bottom:1px solid #f0e5e7
}

.field input {
  min-width:0;
  flex:1;
  background:transparent;
  color:#fff;
  border:0;
  padding:15px 0 17px;
  font-family:var(--mono);
  font-weight:700;
  font-size:15px;
  outline:none
}

.field input::placeholder {
  color:#edc4c8
}

.field button {
  background:#f4efec;
  color:#171717;
  padding:0 21px;
  border:0;
  font:700 11px var(--mono);
  letter-spacing:.08em;
  white-space:nowrap
}

.field button:hover {
  background:#171717;
  color:#fff
}

.subscribe-form small {
  display:block;
  opacity:.75;
  margin-top:15px;
  line-height:1.6
}

.honeypot {
  position:absolute!important;
  left:-10000px
}

.footer {
  padding:65px 0 26px;
  background:#080808
}

.footer-top {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:40px;
  margin-bottom:100px
}

.footer-brand {
  display:flex;
  align-items:center;
  gap:18px;
  font-size:30px;
  letter-spacing:.12em;
  font-weight:800
}

.contact-details {
  display:flex;
  flex-direction:column;
  gap:15px;
  align-items:flex-start
}

.contact-details>a {
  font-size:19px;
  font-weight:650;
  border-bottom:1px solid #555;
  padding-bottom:8px
}

.contact-details small {
  font-size:11px;
  color:#888
}

.footer-bottom {
  border-top:1px solid #303030;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#999
}

.footer-bottom a:hover {
  color:white
}

@media(max-width:1100px) {
  .desktop-nav {
    gap:16px
  }
  .header-inner {
    gap:20px
  }
  .header-cta {
    padding:10px
  }
  .event-row {
    grid-template-columns:65px 115px 1fr
  }
  .event-thumb {
    width:115px;
    height:126px
  }
  .event-action {
    grid-column:3;
    justify-content:flex-start;
    margin-top:-5px
  }
  .event-row {
    gap:18px
  }
  .event-main h3 {
    margin-top:7px
  }
}

@media(max-width:760px) {
  .header {
    height:65px
  }
  .brand {
    font-size:17px
  }
  .desktop-nav,.header-cta {
    display:none
  }
  .nav-toggle {
    display:block
  }
  .mobile-nav {
    position:absolute;
    top:65px;
    left:0;
    right:0;
    background:#121212;
    display:flex;
    flex-direction:column;
    border-bottom:1px solid #444;
    padding:17px 24px 28px
  }
  .mobile-nav a {
    padding:11px 0;
    text-transform:uppercase;
    font-size:14px;
    border-bottom:1px solid #333
  }
  .visual-hero {
    height:640px;
    min-height:0
  }
  .gallery {
    grid-template-columns:1fr 1fr
  }
  .scene-c {
    display:none
  }
  .hero-overlay {
    padding:22px
  }
  .hero-topline {
    font-size:8px
  }
  .hero-topline span:last-child {
    display:none
  }
  .hero-bottomline {
    font-size:8px
  }
  .hero-center h1 {
    font-size:clamp(40px,10vw,72px);
    letter-spacing:.11em;
    text-indent:.11em
  }
  .hero-center p {
    font-size:9px;
    letter-spacing:.17em
  }
  .hero-emblem {
    height:115px
  }
  .section-kicker {
    font-size:9px
  }
  .section-kicker span:last-child {
    display:none
  }
  .section {
    padding:65px 0
  }
  .section-title {
    margin:27px 0
  }
  .section-title h2 {
    font-size:37px
  }
  .align-end {
    display:none
  }
  .event-row {
    grid-template-columns:62px 94px 1fr;
    column-gap:12px;
    row-gap:8px;
    align-items:start;
    padding:20px 0
  }
  .datebox strong {
    font-size:39px
  }
  .event-thumb {
    width:94px;
    height:115px
  }
  .flyer-shape {
    font-size:42px
  }
  .flyer-top,.flyer-bottom {
    font-size:6px
  }
  .event-main h3 {
    font-size:22px
  }
  .event-main p {
    font-size:13px
  }
  .event-location,.event-label {
    font-size:8px;
    line-height:1.4
  }
  .event-action {
    grid-column:2 / -1;
    justify-content:flex-start;
    font-size:10px
  }
  .culture-grid,.about-grid,.newsletter-grid {
    grid-template-columns:1fr;
    gap:24px
  }
  .culture-copy {
    padding:0
  }
  .manifesto h2,.about h2 {
    font-size:49px
  }
  .archive-grid {
    grid-template-columns:1fr 1fr
  }
  .archive-tile {
    height:300px
  }
  .archive-tile:nth-child(3) {
    display:none
  }
  .tile-top,.tile-bottom {
    font-size:8px
  }
  .concentric {
    width:110px;
    height:110px
  }
  .about-right {
    padding:0
  }
  .wordmark {
    margin-bottom:25px
  }
  .footer-top {
    flex-direction:column;
    margin-bottom:75px
  }
  .footer-bottom {
    flex-wrap:wrap;
    font-size:9px
  }
  .footer-bottom span:nth-child(2) {
    display:none
  }
}

@media(max-width:460px) {
  .visual-hero {
    height:550px
  }
  .gallery {
    grid-template-columns:1fr
  }
  .scene-b {
    display:none
  }
  .hero-center h1 {
    font-size:42px
  }
  .hero-bottomline span:first-child {
    max-width:155px
  }
  .event-row {
    grid-template-columns:57px 82px 1fr;
    gap:10px
  }
  .event-thumb {
    width:82px;
    height:100px
  }
  .datebox strong {
    font-size:34px
  }
  .event-main h3 {
    font-size:20px
  }
  .archive-grid {
    grid-template-columns:1fr
  }
  .archive-tile {
    height:350px
  }
  .archive-tile:nth-child(2) {
    display:none
  }
  .footer-brand {
    font-size:24px
  }
  .contact-details>a {
    font-size:16px
  }
  .field button {
    padding:0 12px;
    font-size:10px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  * {
    animation:none!important;
    transition:none!important
  }
}

/* Multi-page expansion: preserves the approved homepage visual language. */
.mobile-nav[hidden] {
  display:none!important
}

.desktop-nav a[aria-current="page"] {
  color:#e4a1a6
}

.interior-hero {
  background:radial-gradient(ellipse at 83% 40%,#2a1115 0%,#0c0c0c 45%,#080808 78%);
  border-bottom:1px solid #3c3c3c;
  padding:44px 0 48px;
  min-height:285px;
  position:relative;
  overflow:hidden
}

.interior-hero:after {
  content:"";
  position:absolute;
  right:18%;
  top:0;
  height:100%;
  width:1px;
  background:#ffffff0a;
  pointer-events:none
}

.interior-top {
  display:flex;
  justify-content:space-between;
  color:#a3a09e;
  border-bottom:1px solid #ffffff26;
  padding-bottom:15px;
  gap:20px
}

.interior-content {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:57px;
  gap:35px
}

.interior-content h1 {
  font-size:clamp(45px,7vw,94px);
  line-height:1.02;
  letter-spacing:-.055em;
  margin:14px 0 0;
  text-transform:uppercase;
  max-width:1050px
}

.interior-content>img {
  width:110px;
  max-height:135px;
  opacity:.28
}

.interior-section {
  background:#101010
}

.interior-section.soft-section {
  background:#e6e5e0;
  color:#111
}

.split-block {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(35px,8vw,140px);
  align-items:start
}

.split-block h2 {
  font-size:clamp(36px,4.5vw,66px);
  line-height:1.1;
  letter-spacing:-.045em;
  margin:28px 0 0
}

.split-block p {
  font-size:17px;
  line-height:1.65;
  color:#bcbab6;
  margin:0 0 24px;
  max-width:570px
}

.split-block p.lead {
  font-size:clamp(21px,2.3vw,29px);
  font-weight:650;
  line-height:1.4;
  color:#f3f1ec
}

.soft-section .split-block p {
  color:#444
}

.intro-block {
  min-height:260px
}

.outline-link {
  display:inline-flex;
  align-items:center;
  border:1px solid currentColor;
  padding:13px 19px;
  font:700 11px var(--mono);
  letter-spacing:.1em;
  margin:13px 14px 0 0;
  transition:background .2s,color .2s
}

.outline-link:hover {
  background:#9c2836;
  border-color:#9c2836;
  color:#fff
}

.culture-panels {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid #777
}

.culture-panels article {
  padding:clamp(24px,3vw,44px);
  min-height:250px;
  border-right:1px solid #777;
  display:flex;
  flex-direction:column
}

.culture-panels article:last-child {
  border-right:0
}

.culture-panels h3 {
  font-size:clamp(23px,2.3vw,32px);
  line-height:1.1;
  letter-spacing:-.025em;
  margin:48px 0 13px
}

.culture-panels p {
  font-size:15px;
  color:#555;
  margin:0;
  max-width:350px
}

.archive-grid-full .archive-tile:nth-child(3) {
  display:flex
}

.archive-caption {
  margin-top:24px;
  color:#bcbab6;
  max-width:550px
}

.detail-layout {
  display:grid;
  grid-template-columns:minmax(270px,.8fr) 1.2fr;
  gap:clamp(40px,7vw,120px);
  align-items:start
}

.detail-poster {
  aspect-ratio:3/4;
  max-height:700px;
  background:#101010;
  box-shadow:0 16px 65px #0005
}

.detail-poster .flyer {
  padding:clamp(22px,4vw,45px)
}

.detail-poster .flyer-shape {
  font-size:clamp(90px,15vw,235px)
}

.detail-poster .flyer-top,.detail-poster .flyer-bottom {
  font-size:clamp(12px,1.3vw,17px)
}

.detail-content h2 {
  font-size:clamp(35px,5vw,69px);
  letter-spacing:-.045em;
  line-height:1.05;
  margin:20px 0
}

.detail-content .lead {
  font-size:clamp(18px,2vw,26px);
  color:#eee;
  max-width:470px
}

.detail-spec {
  border-top:1px solid #414141;
  margin-top:35px
}

.detail-spec div {
  border-bottom:1px solid #414141;
  display:grid;
  grid-template-columns:100px 1fr;
  gap:20px;
  padding:17px 0
}

.detail-spec dt {
  font:700 10px var(--mono);
  letter-spacing:.12em;
  color:#888
}

.detail-spec dd {
  margin:0;
  color:#e4e2de
}

.muted-note {
  font-size:13px;
  color:#9d9997;
  line-height:1.65;
  margin-top:25px
}

.about-page-mark {
  max-width:230px;
  margin-bottom:36px
}

.contact-mail {
  font-size:clamp(19px,2vw,29px);
  font-weight:700;
  border-bottom:1px solid #b52b3b;
  padding-bottom:10px;
  overflow-wrap:anywhere
}

.contact-types {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:38px
}

.contact-types span {
  font:700 10px var(--mono);
  letter-spacing:.1em;
  padding:9px 12px;
  border:1px solid #515151
}

.updates-form {
  background:#95212e;
  padding:clamp(25px,3vw,48px)
}

.updates-form .field input {
  width:100%
}

.updates-form .subscribe-form small {
  color:#f3dbdc
}

@media(max-width:760px) {
  .interior-hero {
    min-height:225px;
    padding:27px 0 36px
  }
  .interior-content {
    padding-top:36px
  }
  .interior-content h1 {
    font-size:clamp(37px,10vw,65px)
  }
  .interior-content>img {
    width:70px
  }
  .interior-top span:last-child {
    display:none
  }
  .split-block,.detail-layout {
    grid-template-columns:1fr;
    gap:30px
  }
  .culture-panels {
    grid-template-columns:1fr
  }
  .culture-panels article {
    min-height:180px;
    border-right:0;
    border-bottom:1px solid #777
  }
  .culture-panels article:last-child {
    border-bottom:0
  }
  .culture-panels h3 {
    margin-top:25px
  }
  .detail-poster {
    max-width:480px;
    width:100%
  }
  .archive-grid-full {
    grid-template-columns:1fr 1fr
  }
  .archive-grid-full .archive-tile:nth-child(3) {
    display:flex
  }
  .intro-block {
    min-height:0
  }
}

@media(max-width:460px) {
  .archive-grid-full {
    grid-template-columns:1fr
  }
  .archive-grid-full .archive-tile:nth-child(2) {
    display:flex
  }
  .interior-content>img {
    width:50px
  }
  .detail-spec div {
    grid-template-columns:75px 1fr
  }
}

/* October 2026 refresh: real event art + homepage crowd image */
body.home-page .visual-hero {
  background-image:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.72)),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.28) 48%,rgba(0,0,0,.74)),url('assets/home-crowd-bg.jpg');
  background-size:cover;
  background-position:center center
}

body.home-page .gallery {
  display:none
}

body.home-page .hero-overlay {
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.26) 20%,rgba(0,0,0,.54) 72%,rgba(0,0,0,.82))
}

body.home-page .hero-center {
  position:relative;
  padding:28px 34px 30px
}

body.home-page .hero-center::before {
  content:"";
  position:absolute;
  inset:-14px 0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.08);
  pointer-events:none
}

body.home-page .hero-emblem {
  filter:drop-shadow(0 0 28px rgba(0,0,0,.48))
}

body.home-page .hero-center h1 {
  text-shadow:0 8px 32px rgba(0,0,0,.62)
}

.poster-thumb {
  display:block;
  border:1px solid #2f2f2f;
  background:#121212
}

.poster-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top
}

.detail-poster.actual-poster {
  aspect-ratio:auto;
  max-height:none;
  background:none;
  box-shadow:0 18px 70px rgba(0,0,0,.35);
  border:1px solid #2f2f2f;
  overflow:hidden
}

.detail-poster.actual-poster img {
  display:block;
  width:100%;
  height:auto
}

.events-list .event-row:last-child {
  border-bottom:1px solid #363636
}

@media(max-width:760px) {
  body.home-page .hero-center {
    padding:18px 16px 20px
  }
  body.home-page .hero-center::before {
    inset:-10px 0
  }
  .poster-thumb img {
    object-position:center top
  }
}

/* Culture philosophy — editorial presentation */
.culture-page-hero {
  background:radial-gradient(ellipse at 85% 65%,#2a1317 0%,#0b0b0b 58%)
}

.philosophy-opening {
  background:#111
}

.philosophy-grid {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:clamp(36px,9vw,150px)
}

.philosophy-opening .philosophy-grid>div:last-child {
  max-width:740px
}

.philosophy-opening p {
  font-size:clamp(17px,1.75vw,23px);
  line-height:1.5;
  color:#c6c4c0;
  margin:0 0 24px
}

.philosophy-opening .philosophy-lead {
  font-size:clamp(30px,3.7vw,53px);
  font-weight:750;
  letter-spacing:-.04em;
  color:#f1f0eb;
  line-height:1.1
}

.philosophy-mission {
  background:#e3e1dc;
  color:#0c0c0c;
  padding:clamp(65px,9vw,150px) 0
}

.philosophy-mission h2 {
  max-width:1120px;
  font-size:clamp(34px,5.6vw,78px);
  line-height:1.08;
  letter-spacing:-.05em;
  margin:28px 0 0;
  font-weight:750
}

.philosophy-beliefs {
  background:#111
}

.philosophy-belief-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:clamp(32px,7vw,100px)
}

.philosophy-belief-list article {
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:22px;
  align-content:start;
  border-bottom:1px solid #434343;
  padding:34px 0 40px
}

.philosophy-belief-list article .eyebrow {
  grid-row:span 2;
  color:#d85d64;
  padding-top:9px
}

.philosophy-belief-list h3 {
  font-size:clamp(23px,2.25vw,32px);
  line-height:1.13;
  letter-spacing:-.035em;
  margin:0 0 14px
}

.philosophy-belief-list p {
  grid-column:2;
  font-size:15px;
  line-height:1.7;
  color:#b6b3b0;
  max-width:500px;
  margin:0
}

.philosophy-against {
  background:#231719
}

.philosophy-against h2 {
  font-size:clamp(31px,4vw,54px);
  letter-spacing:-.04em;
  line-height:1.08;
  margin:28px 0 0
}

.philosophy-against ul {
  padding:0;
  margin:0;
  list-style:none
}

.philosophy-against li {
  border-bottom:1px solid #65575a;
  padding:21px 0;
  font-size:clamp(16px,1.5vw,22px);
  line-height:1.4
}

.philosophy-against li:first-child {
  border-top:1px solid #65575a
}

.philosophy-practice {
  background:#101010
}

.philosophy-practice-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 52px
}

.philosophy-practice-grid article {
  padding:32px 0;
  border-bottom:1px solid #424242
}

.philosophy-practice-grid h3 {
  font-size:clamp(25px,2.5vw,36px);
  letter-spacing:-.035em;
  margin:15px 0
}

.philosophy-practice-grid p {
  color:#b6b3b0;
  font-size:16px;
  line-height:1.7;
  max-width:520px;
  margin:0
}

@media(max-width:760px) {
  .philosophy-grid,.philosophy-belief-list,.philosophy-practice-grid {
    grid-template-columns:1fr
  }
  .philosophy-opening .philosophy-grid {
    gap:22px
  }
  .philosophy-belief-list article {
    padding:26px 0 32px
  }
  .philosophy-against .philosophy-grid {
    gap:28px
  }
}

/* Culture page photo integration */
.philosophy-aside {
  display:flex;
  flex-direction:column;
  gap:22px
}

.culture-photo {
  margin:0;
  position:relative;
  background:#181818;
  border:1px solid #373737;
  overflow:hidden
}

.culture-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(100%)
}

.culture-photo figcaption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:14px 16px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));
  font:700 10px/1.5 var(--mono);
  letter-spacing:.1em;
  color:#f0eeea;
  text-transform:uppercase
}

.tall-photo {
  aspect-ratio:4/5;
  max-width:440px
}

.culture-photo-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:34px 0 8px
}

.landscape-photo {
  aspect-ratio:16/10
}

.philosophy-beliefs .section-kicker {
  margin-bottom:10px
}

.philosophy-belief-list article {
  grid-template-columns:1fr
}

.philosophy-belief-list article .eyebrow {
  display:none
}

.philosophy-belief-list h3::before {
  content:"";
  display:block;
  width:26px;
  height:2px;
  background:var(--red);
  margin-bottom:16px
}

.philosophy-belief-list p {
  grid-column:auto
}

.philosophy-practice-grid article .eyebrow {
  color:#d85d64
}

@media(max-width:760px) {
  .culture-photo-row {
    grid-template-columns:1fr
  }
  .tall-photo {
    max-width:none
  }
  .culture-photo figcaption {
    padding:12px 14px
  }
}

/* Accessibility + event floor rules */
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.mobile-nav a[aria-current="page"] {
  color:#e4a1a6
}

.floor-spec {
  margin-top:0
}

.floor-spec dd {
  line-height:1.6
}

/* Brand name keeps the original typeface; everything else uses Space Grotesk / Space Mono */
.brand,.hero-center h1,.footer-brand {
  font-family:var(--brand)
}
