/* =========================================================
   Night Signal · inner-2026.css (all inner pages).
   Prefixes: mx- mixes, ev- events, es- event sheet, pk- packages, dj- djs, av- availability,
             qt- quote, ct- contact, fq- faq, pe- past events, cr- credits, fd- forms demo.
   No motion anywhere (see end of site-2026.css).
   ========================================================= */

/* ---------- shared: page heads and a dark card ---------- */
.ev-head, .pk-head, .qt-head, .fq-head, .pe-head, .cr-head, .av-head { padding-block: clamp(40px, 6vw, 88px) clamp(32px, 5vw, 64px); border-bottom: 1px solid var(--night-line); }
.ev-head-in, .pk-head-in, .qt-head-in, .fq-head-in, .pe-head-in, .cr-head-in, .av-head-in { display: grid; gap: var(--s-5) var(--s-8); align-items: end; }
.ev-head h1, .pk-head h1, .qt-head h1, .fq-head h1, .pe-head h1, .cr-head h1, .av-head h1 { line-height: .88; }
@media (min-width: 900px) {
  .ev-head-in, .pk-head-in, .qt-head-in, .fq-head-in, .pe-head-in, .cr-head-in, .av-head-in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .pk-head .lede, .pe-head .lede, .fq-head .lede { padding-bottom: 6px; }
}
.dark-card {
  --c-bg: var(--night); --c-fg: var(--on-night); --c-fg-soft: var(--on-night-soft); --c-dim: var(--on-night-dim); --c-sig: var(--signal-hi);
  --c-panel: var(--night-2); --c-panel-2: var(--night-3); --c-rule: var(--night-line); --c-rule-2: var(--night-line-2); --c-focus: #fff; --c-edge: var(--signal-hi);
  --rg-fill: var(--signal-hi); --rg-track: #50506a; --rg-edge: #fff; --rg-thumb: #fff;
  background: var(--night); color: var(--on-night); color-scheme: dark;
}
.card-paper { background: var(--paper); border: 1px solid var(--bone-line); }

/* the shared accordion */
.faq { border-top: 1px solid var(--c-rule-2); }
.faq:last-of-type { border-bottom: 1px solid var(--c-rule-2); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); min-height: 60px; padding: var(--s-4) 0; list-style: none; cursor: pointer; font: 700 1.1875rem/1.3 var(--font-text); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 32px; text-align: center; font: 500 1.75rem/1 var(--font-mono); color: var(--c-sig); }
.faq[open] summary::after { content: "\2212"; }
.faq summary:hover { color: var(--c-sig); }
.faq p { margin: 0 0 var(--s-5); padding-right: var(--s-8); color: var(--c-fg-soft); }

/* =============== MIXES =============== */
.mx-head { padding-bottom: clamp(24px, 4vw, 56px); }
.mx-head-in { display: grid; gap: var(--s-7); align-items: center; }
.mx-head h1 { line-height: .88; margin-bottom: var(--s-5); }
.mx-fig { --fade-t: 0; --fade-l: 0; --fade-r: 0; }
.mx-fig picture { aspect-ratio: 16 / 9; }
@media (min-width: 1000px) {
  .mx-head-in { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--s-8); }
  .mx-fig { --fade-t: 0; --fade-r: 0; --fade-b: 1; --fade-l: 1; }
  .mx-fig picture { aspect-ratio: 4 / 3; }
}
.mx-main { padding-block: clamp(32px, 5vw, 64px) var(--sec); }
.mx-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-bottom: var(--s-6); }
.chip { min-height: 44px; padding: 0 18px; border: 1px solid var(--c-rule-2); border-radius: 2px; background: transparent; color: var(--c-fg); font: 600 var(--t-meta)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.chip:hover { border-color: var(--c-fg); background: var(--c-panel-2); }
.chip[aria-pressed="true"] { background: var(--c-fg); border-color: var(--c-fg); color: var(--c-bg); }
.mx-layout { display: grid; gap: var(--s-6); align-items: start; }
@media (min-width: 1000px) { .mx-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-7); } }
.mx-stage { display: grid; gap: var(--s-5); padding: clamp(16px, 3vw, 32px); background: var(--night-3); border: 1px solid var(--night-line-2); }
.mx-canvas { width: 100%; height: auto; aspect-ratio: 16 / 5; background: var(--night-deep); border: 1px solid var(--night-line); }
.mx-title { display: grid; gap: var(--s-2); justify-items: start; }
.mx-title .badge { margin: 0; }
.mx-title h2 { font-size: clamp(2.75rem, 1.5rem + 5vw, 5.5rem); line-height: .88; max-width: none; }
.mx-sub { margin: 0; font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night-dim); }
.mx-blurb { margin: 0; color: var(--on-night-soft); max-width: 56ch; }
.mx-transport { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "btns time" "seek seek" "vol vol"; align-items: center; gap: var(--s-2) var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--night-line-2); }
.mx-btns { grid-area: btns; display: flex; align-items: center; gap: var(--s-2); }
.mx-transport .seek { grid-area: seek; }
.mx-time { grid-area: time; justify-self: end; color: var(--on-night); font-variant-numeric: tabular-nums; }
.mx-vol { grid-area: vol; display: flex; align-items: center; gap: var(--s-2); }
.mx-vol .vol { width: min(260px, 100%); }
.ib-lg { width: 56px; height: 56px; }
.ib-lg svg { width: 28px; height: 28px; }
@media (min-width: 700px) {
  .mx-transport { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "btns seek time" "vol vol vol"; }
}
.mx-keys { margin: 0; font-size: var(--t-small); color: var(--on-night-dim); max-width: 64ch; }
.mx-list { display: grid; border-bottom: 1px solid var(--night-line-2); }
.mix-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: var(--s-3); width: 100%; min-height: 80px; padding: var(--s-3) var(--s-4); border: 0; border-top: 1px solid var(--night-line-2); border-left: 4px solid transparent; background: transparent; color: var(--on-night); text-align: left; }
.mix-row:hover { background: var(--night-3); }
.mix-row[aria-current="true"] { background: var(--night-3); border-left-color: var(--signal-hi); }
.mix-row[aria-current="true"] strong { color: var(--signal-hi); }
.mx-no { color: var(--on-night-dim); }
.mx-info { display: grid; gap: 2px; min-width: 0; }
.mx-info strong { font: 800 clamp(1.75rem, 1.4rem + 1vw, 2.25rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
.mx-info small { font-size: var(--t-small); color: var(--on-night-dim); line-height: 1.35; }
.mx-bpm { display: grid; justify-items: end; font: 800 clamp(2.5rem, 2rem + 1.5vw, 3.25rem)/.85 var(--font-display); font-variant-numeric: tabular-nums; color: var(--on-night-soft); }
.mx-bpm i { font-style: normal; color: var(--on-night-dim); }
.mix-row[aria-current="true"] .mx-bpm { color: var(--signal-hi); }
@media (max-width: 479px) { .mix-row { grid-template-columns: minmax(0, 1fr) auto; } .mx-no { display: none; } }

/* =============== EVENTS (index of briefs) =============== */
.ev-head h1 { font-size: clamp(3.25rem, 1rem + 9vw, 8rem); }
.ev-mosaic { padding-block: clamp(40px, 6vw, 88px); }
.ev-grid { display: grid; gap: var(--s-5); }
.ev-tile { display: flex; flex-direction: column; background: var(--paper); color: var(--ink); border: 1px solid var(--bone-line); }
.ev-tile picture { flex: none; aspect-ratio: 3 / 2; }
.ev-body { position: relative; display: flex; flex-direction: column; flex: 1; gap: var(--s-3); padding: clamp(20px, 3vw, 32px); }
.ev-k { margin: 0; color: var(--signal-ink); }
.ev-k span { color: var(--muted); margin-right: var(--s-2); }
.ev-t { font-size: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); line-height: .9; max-width: 14ch; }
.ev-d { margin: 0; color: var(--ink-soft); max-width: 46ch; }
.ev-facts { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-2) 0 var(--s-3); padding: 0; }
.ev-facts li { padding: 4px 10px; border: 1px solid var(--bone-line-2); font: 500 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .02em; max-width: none; }
.ev-go { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; font-weight: 700; }
.ev-tile:hover .ev-go { color: var(--signal-ink); }
.ev-tile:hover .ev-t a { color: var(--signal-ink); }
@media (min-width: 900px) {
  .ev-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-6); }
  .ev-tile { grid-column: span 6; }
  .ev-tile:nth-child(1), .ev-tile:nth-child(4) { grid-column: span 7; }
  .ev-tile:nth-child(2), .ev-tile:nth-child(3) { grid-column: span 5; }
  .ev-tile:nth-child(1) picture, .ev-tile:nth-child(4) picture { aspect-ratio: 16 / 10; }
  .ev-tile:nth-child(2) picture, .ev-tile:nth-child(3) picture { aspect-ratio: 4 / 3; }
}

/* =============== EVENT SHEETS (CSS :target switching) =============== */
.es-sheet { display: none; }
.es-sheet:target { display: block; }
main:not(:has(.es-sheet:target)) #weddings { display: block; }
.es-top { padding-block: clamp(32px, 5vw, 64px) clamp(32px, 5vw, 64px); overflow: clip; }
.es-top-in { display: grid; gap: var(--s-7); align-items: center; }
.es-copy h1 { font-size: clamp(3rem, 1rem + 7vw, 6.25rem); line-height: .88; margin-bottom: var(--s-5); }
.es-facts { margin: var(--s-4) 0 0; color: var(--on-night-dim); max-width: none; text-transform: none; letter-spacing: .02em; font-size: var(--t-meta); }
.es-switch { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-7); padding-top: var(--s-5); border-top: 1px solid var(--night-line-2); }
.es-switch a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--night-line-2); font: 600 var(--t-meta)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.es-switch a:hover { border-color: var(--on-night); background: var(--night-3); }
.es-switch a[aria-current="true"] { background: var(--on-night); border-color: var(--on-night); color: var(--night); }
.es-fig { --fade-t: 0; --fade-l: 0; --fade-r: 0; }
.es-fig picture { aspect-ratio: 3 / 2; }
@media (min-width: 1000px) {
  .es-top-in { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--s-6); }
  .es-fig { --fade-t: 0; --fade-r: 0; --fade-b: 1; --fade-l: 1; }
  .es-fig picture { aspect-ratio: 1 / 1; }
}
.es-body-in { display: grid; gap: var(--s-9); }
@media (min-width: 900px) { .es-body-in { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--s-9); } }
.es-body h2 { font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4.25rem); margin-bottom: var(--s-6); }
.es-do { list-style: none; counter-reset: d; }
.es-do li { counter-increment: d; display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: baseline; gap: var(--s-3); padding: var(--s-4) 0; border-top: 1px solid var(--night-line-2); font-size: 1.1875rem; max-width: none; }
.es-do li:last-child { border-bottom: 1px solid var(--night-line-2); }
.es-do li::before { content: counter(d, decimal-leading-zero); font: 800 2.5rem/.9 var(--font-display); color: var(--signal-hi); }
.es-time { list-style: none; position: relative; margin-left: 6px; padding-left: var(--s-6); border-left: 2px solid var(--night-line-2); }
.es-time li { position: relative; display: grid; gap: 2px; padding: 0 0 var(--s-6); max-width: none; }
.es-time li:last-child { padding-bottom: 0; }
.es-time li::before { content: ""; position: absolute; left: calc(-1 * var(--s-6) - 7px); top: 6px; width: 12px; height: 12px; background: var(--signal-hi); }
.es-when { font: 700 1.25rem/1.2 var(--font-mono); color: var(--on-night); font-variant-numeric: tabular-nums; }
.es-time p { margin: 0; color: var(--on-night-soft); }
.es-form-in { display: grid; gap: var(--s-8); align-items: start; }
@media (min-width: 1000px) { .es-form-in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-9); } }
.es-form h2 { font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4.25rem); margin-bottom: var(--s-4); }
.es-note { margin-bottom: var(--s-6); }
.es-card, .ct-form, .qt-form { background: var(--paper); border: 1px solid var(--bone-line); padding: clamp(20px, 4vw, 40px); }
.es-card .badge { margin: 0; }
.es-card .form-actions { margin-top: var(--s-2); }
.es-choose { padding-block: clamp(48px, 7vw, 96px); }
.es-choose h2 { font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4.5rem); margin-bottom: var(--s-4); }
.es-choices { list-style: none; display: grid; gap: var(--s-3); margin-top: var(--s-6); padding: 0; }
.es-choices li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px var(--s-4); padding: var(--s-5); background: var(--night-3); border: 1px solid var(--night-line-2); max-width: none; }
.es-choices li:hover { background: #26263a; }
.es-choices b { font: 800 clamp(1.75rem, 1.4rem + 1vw, 2.25rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
.es-choices span { grid-column: 1; color: var(--on-night-dim); font-size: var(--t-small); }
.es-choices .ar { grid-column: 2; grid-row: 1 / span 2; color: var(--signal-hi); }
@media (min-width: 800px) { .es-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.es-saved { margin-top: var(--s-9); padding-top: var(--s-7); border-top: 1px solid var(--night-line-2); }
.es-saved .sec-head { margin-bottom: var(--s-4); }
.es-h2s { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); }

/* =============== PACKAGES =============== */
.pk-head h1 { font-size: clamp(3.25rem, 1rem + 8vw, 7.5rem); }
.pk-ledger { padding-block: clamp(32px, 5vw, 72px); }
.pk-rows { border-bottom: 2px solid var(--ink); }
.pk-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: start; gap: var(--s-4) var(--s-6); padding: var(--s-6) var(--s-2); border-top: 2px solid var(--ink); }
.pk-n { color: var(--muted); padding-top: 10px; }
.pk-main { display: grid; gap: var(--s-3); }
.pk-t { font-size: clamp(2.25rem, 1.5rem + 2.5vw, 3.75rem); line-height: .9; max-width: none; }
.pk-main p { margin: 0; color: var(--ink-soft); max-width: 56ch; }
.pk-inc { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2); padding: 0; margin-top: var(--s-2); }
.pk-inc li { padding: 4px 10px; border: 1px solid var(--bone-line-2); font: 500 var(--t-meta)/1.3 var(--font-mono); max-width: none; }
.pk-price { margin: 0; text-align: right; }
.pk-price b { font: 800 clamp(3.25rem, 2rem + 4vw, 6rem)/.85 var(--font-display); font-variant-numeric: tabular-nums; }
.pk-lead { background: var(--paper); border-left: 6px solid var(--signal-ink); padding-block: var(--s-7); }
.pk-lead .pk-t { font-size: clamp(3rem, 1.6rem + 4vw, 5.75rem); }
.pk-lead .pk-price b { font-size: clamp(4.5rem, 2.5rem + 7vw, 9rem); color: var(--signal-ink); }
@media (max-width: 699px) {
  .pk-row { grid-template-columns: minmax(0, 1fr) auto; padding-inline: 0; }
  .pk-lead { padding-inline: var(--s-4); }
  .pk-n { display: none; }
}
.pk-gear { padding-block: clamp(48px, 8vw, 112px); overflow: clip; }
.pk-gear-in { display: grid; gap: var(--s-8); align-items: center; }
.pk-gear-fig picture { aspect-ratio: 4 / 5; }
.pk-gear-fig { --fade-t: 0; --fade-l: 0; --fade-r: 0; max-width: 520px; }
.pk-gear-fig figcaption { padding-top: var(--s-3); color: var(--on-night-dim); text-transform: none; letter-spacing: .02em; }
.pk-gear h2 { font-size: clamp(2.75rem, 1.6rem + 4.5vw, 5.25rem); margin-bottom: var(--s-4); max-width: 12ch; }
.pk-ills { display: grid; gap: var(--s-4); margin-top: var(--s-7); }
.pk-ills figure { margin: 0; display: grid; gap: var(--s-3); padding: var(--s-4); background: var(--night-3); border: 1px solid var(--night-line-2); align-content: start; }
.pk-ill { width: 100%; height: auto; aspect-ratio: 4 / 3; color: var(--on-night); }
.pk-ills figcaption { font-size: var(--t-small); color: var(--on-night-soft); line-height: 1.45; }
@media (min-width: 700px) { .pk-ills { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pk-gear-in { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); } }
.pk-case { padding-block: clamp(48px, 7vw, 96px); }
.pk-case-in { display: grid; gap: var(--s-7); align-items: start; }
.pk-case h2 { font-size: clamp(2.75rem, 1.6rem + 4vw, 5rem); max-width: 8ch; }
.pk-case-list { list-style: none; padding: 0; border-bottom: 1px solid var(--ink); }
.pk-case-list li { padding: var(--s-4) 0; border-top: 1px solid var(--ink); font-size: 1.125rem; max-width: none; }
@media (min-width: 900px) { .pk-case-in { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--s-9); } }

/* =============== DJS =============== */
.dj-head-in { display: grid; gap: var(--s-7); align-items: center; }
.dj-head h1 { font-size: clamp(3.5rem, 1rem + 9.5vw, 9rem); line-height: .86; margin-bottom: var(--s-5); }
.dj-fig { --fade-t: 0; --fade-l: 0; --fade-r: 0; }
.dj-fig picture { aspect-ratio: 16 / 9; }
@media (min-width: 1000px) {
  .dj-head-in { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--s-8); }
  .dj-fig { --fade-t: 0; --fade-r: 0; --fade-b: 1; --fade-l: 1; }
  .dj-fig picture { aspect-ratio: 4 / 3; }
}
.dj-list { padding-block: clamp(24px, 4vw, 56px); }
.dj-row { display: grid; gap: var(--s-6); align-items: center; padding-block: clamp(32px, 5vw, 64px); border-top: 1px solid var(--night-line-2); }
.dj-row:first-child { border-top: 0; }
.dj-mono { position: relative; display: grid; place-items: center; min-height: 220px; overflow: hidden; background: var(--night-3) repeating-linear-gradient(135deg, transparent 0 14px, rgb(255 255 255 / .035) 14px 15px); border: 1px solid var(--night-line-2); }
.dj-mono span { font: 800 clamp(8rem, 4rem + 18vw, 15rem)/.8 var(--font-display); letter-spacing: .02em; color: transparent; -webkit-text-stroke: 2px var(--signal-hi); }
.dj-mono i { position: absolute; left: var(--s-4); top: var(--s-3); font-style: normal; color: var(--on-night-dim); }
.dj-txt h2 { font-size: clamp(3.5rem, 2rem + 6vw, 7rem); line-height: .86; margin-bottom: var(--s-4); }
.dj-p { margin: var(--s-3) 0 var(--s-5); font-size: var(--t-lede); line-height: 1.5; color: var(--on-night-soft); max-width: 46ch; }
.dj-good { display: flex; align-items: center; gap: var(--s-3); margin: 0; padding-top: var(--s-4); border-top: 1px solid var(--night-line-2); font-weight: 700; max-width: 46ch; }
.dj-good svg { width: 18px; height: 18px; flex: none; color: var(--signal-hi); }
@media (min-width: 900px) {
  .dj-row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); }
  .dj-row:nth-child(even) .dj-mono { order: 2; }
  .dj-mono { min-height: 320px; aspect-ratio: 5 / 4; }
}
.dj-matrix { padding-block: clamp(48px, 7vw, 96px); }
.dj-matrix h2 { font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4.5rem); max-width: 14ch; }
.dj-table-wrap { overflow-x: auto; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.dj-table { width: 100%; border-collapse: collapse; }
.dj-table caption { caption-side: bottom; padding: var(--s-4) var(--s-4) var(--s-4); text-align: left; font: 500 var(--t-meta)/1.4 var(--font-mono); color: var(--muted); }
.dj-table th, .dj-table td { padding: var(--s-4); border-bottom: 1px solid var(--bone-line); text-align: left; vertical-align: middle; }
.dj-table thead th { font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.dj-y, .dj-n { white-space: nowrap; }
.dj-table tbody th { font: 800 2rem/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
.dj-table tbody tr:last-child > * { border-bottom: 0; }
@media (max-width: 719.98px) {
  .dj-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .dj-table, .dj-table tbody { display: block; }
  .dj-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--bone-line); padding: var(--s-4) 0; }
  .dj-table tbody th { grid-column: 1 / -1; padding: 0 0 var(--s-2); border: 0; }
  .dj-table td { border: 0; padding: var(--s-2) 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
  .dj-table td::before { content: attr(data-l); font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
  .dj-table caption { display: block; padding-inline: 0; }
}
.dj-y { display: inline-block; padding: 4px 10px; background: var(--ink); color: var(--bone); font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.dj-n { font: 500 var(--t-meta)/1.3 var(--font-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.dj-d { color: var(--muted); }
.dj-how { padding-block: clamp(48px, 7vw, 96px); background: var(--night-deep); }
.dj-how-in { display: grid; gap: var(--s-5); }
.dj-how h2 { font-size: clamp(2.5rem, 1.5rem + 3.5vw, 4.5rem); max-width: 10ch; }
@media (min-width: 900px) { .dj-how-in { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); align-items: start; } }

/* =============== AVAILABILITY =============== */
.av-head h1 { font-size: clamp(3.25rem, 1rem + 8vw, 7.5rem); }
.av-main { padding-block: clamp(32px, 5vw, 72px); }
.av-grid { display: grid; gap: var(--s-6); align-items: start; }
@media (min-width: 1000px) { .av-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-7); } }
.av-cal { background: var(--paper); border: 1px solid var(--bone-line); padding: clamp(16px, 3vw, 32px); }
.cal-nav { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-4); }
.cal-nav h2 { font-size: clamp(1.875rem, 1.4rem + 2vw, 3rem); line-height: 1; text-align: center; flex: 1; }
.cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.cal .dow { padding: var(--s-2) 0; text-align: center; font: 600 var(--t-meta)/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.cal .off { min-height: 44px; }
.cal button { position: relative; min-height: 56px; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px var(--bone-line); font: 700 1.0625rem/1 var(--font-text); font-variant-numeric: tabular-nums; }
.cal button:hover:not(:disabled) { background: var(--ink); color: var(--bone); }
.cal button:disabled { background: transparent; color: #8c8576; cursor: not-allowed; box-shadow: none; }
.cal .is-booked { background: repeating-linear-gradient(135deg, var(--bone-2) 0 5px, #ddd5c4 5px 7px); }
.cal .is-held { box-shadow: inset 0 0 0 3px var(--signal-ink); font-weight: 800; }
.cal .is-held::after { content: ""; position: absolute; top: 0; right: 0; border-style: solid; border-width: 0 16px 16px 0; border-color: transparent var(--signal-ink) transparent transparent; }
.cal .is-today { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; text-decoration-color: var(--signal-ink); }
.cal button[aria-pressed="true"] { background: var(--ink); color: var(--bone); }
.cal button[aria-pressed="true"].is-today { text-decoration-color: var(--signal-hi); }
.cal-legend { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); margin: var(--s-5) 0 0; padding: 0; font-size: var(--t-small); }
.cal-legend li { display: flex; align-items: center; gap: var(--s-2); max-width: none; }
.lg { display: inline-block; width: 22px; height: 22px; flex: none; box-shadow: inset 0 0 0 1px var(--bone-line-2); background: #fff; }
.lg-booked { background: repeating-linear-gradient(135deg, var(--bone-2) 0 4px, #ddd5c4 4px 6px); }
.lg-held { box-shadow: inset 0 0 0 3px var(--signal-ink); }
.av-diary { margin-top: var(--s-5); border-top: 1px solid var(--bone-line-2); }
.av-diary summary { display: flex; align-items: center; min-height: 52px; font-weight: 700; cursor: pointer; }
.av-diary summary:hover { color: var(--signal-ink); }
.av-diary ul { list-style: none; display: grid; gap: var(--s-2); padding: 0 0 var(--s-3); }
.av-diary li { max-width: none; font-size: var(--t-small); }
.av-diary b { display: block; font: 600 var(--t-meta)/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--signal-ink); }
@media (max-width: 479px) {
  .av-cal { margin-inline: calc(-1 * var(--gutter)); padding-inline: 0; border-inline: 0; }
  .av-cal > :not(.cal) { margin-inline: var(--gutter); }
  .av-cal .cal { gap: 0; }
  .cal-nav { margin-inline: var(--s-4); }
  .cal-nav .btn { padding: 0 12px; }
  .av-diary { margin-inline: var(--gutter); }
}
.av-check { padding: clamp(20px, 3vw, 32px); background: var(--night); color: var(--on-night); --c-fg: var(--on-night); --c-fg-soft: var(--on-night-soft); --c-dim: var(--on-night-dim); --c-sig: var(--signal-hi); --c-panel: var(--night-2); --c-panel-2: var(--night-3); --c-rule: var(--night-line); --c-rule-2: var(--night-line-2); --c-focus: #fff; --c-bg: var(--night); color-scheme: dark; --rg-fill: var(--signal-hi); }
.av-check .kicker { margin-bottom: var(--s-5); }
.av-check .noscript-note { margin-bottom: var(--s-4); }
.av-result { margin-top: var(--s-5); padding: var(--s-4) var(--s-5); min-height: 80px; background: var(--night-2); border-left: 4px solid var(--signal-hi); }
.av-result p { margin: 0 0 var(--s-3); max-width: none; }
.av-result p:last-child { margin-bottom: 0; }
.av-result .btn { margin: var(--s-2) var(--s-2) 0 0; }
.av-holds { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--night-line-2); }
.av-holds .sec-head { margin-bottom: var(--s-2); align-items: center; }
.av-holds h3 { font: 800 2rem/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }

/* =============== QUOTE =============== */
.qt-head h1 { font-size: clamp(3rem, 1rem + 7.5vw, 7rem); }
.qt-main { padding-block: clamp(32px, 5vw, 72px); }
.qt-grid { display: grid; gap: var(--s-6); align-items: start; }
@media (min-width: 1000px) { .qt-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--s-7); } }
.qt-form { display: grid; gap: var(--s-7); }
.qt-form .badge { margin: 0; justify-self: start; }
.qt-set { display: grid; gap: var(--s-5); min-width: 0; margin: 0; padding: 0; border: 0; }
.qt-set + .qt-set { padding-top: var(--s-7); border-top: 2px solid var(--ink); }
.qt-set legend { float: left; width: 100%; display: flex; align-items: baseline; gap: var(--s-3); margin: 0 0 var(--s-5); padding: 0; font: 800 clamp(2rem, 1.6rem + 1.5vw, 2.75rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
.qt-set legend + * { clear: both; }
.qt-set legend .mono { color: var(--signal-ink); }
.qt-tiles { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.qt-tile { min-height: 72px; padding: var(--s-4); background: #fff; border: 1px solid var(--field-line); align-items: center; }
.qt-tile > span { display: grid; gap: 2px; }
.qt-tile b { font-weight: 700; }
.qt-tile small { font: 800 1.75rem/1 var(--font-display); color: var(--signal-ink); }
.qt-tile:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.qt-success { padding: var(--s-5); border: 2px solid var(--ink); background: var(--bone-2); }
.qt-success h3 { font: 800 clamp(2rem, 1.6rem + 2vw, 3rem)/1 var(--font-display); text-transform: uppercase; margin-bottom: var(--s-3); }
.qt-success [data-ref] { color: var(--signal-ink); }
.qt-aside { padding: clamp(20px, 3vw, 32px); }
.qt-total { display: block; margin-bottom: var(--s-3); font: 800 clamp(5.5rem, 3rem + 10vw, 9rem)/.85 var(--font-display); color: var(--signal-hi); font-variant-numeric: tabular-nums; }
.qt-break { margin: 0 0 var(--s-4); font-size: 1.25rem; font-weight: 700; }
.qt-fine { margin: 0; color: var(--on-night-dim); font-size: var(--t-small); }
.qt-dev { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--night-line-2); }
.qt-dev h2 { font: 800 1.75rem/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
@media (min-width: 1000px) { .qt-aside { position: sticky; top: calc(var(--header-h) + var(--s-5)); } }

/* =============== CONTACT =============== */
.ct-head h1 { font-size: clamp(2.75rem, 1rem + 6vw, 6.25rem); line-height: .9; max-width: 15ch; margin-bottom: var(--s-5); }
.ct-head .lede { max-width: 62ch; }
.ct-towns { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-6) 0 0; padding: 0; }
.ct-towns li { padding: 6px 14px; border: 1px solid var(--night-line-2); font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; max-width: none; }
.ct-main { padding-block: clamp(32px, 5vw, 72px); }
.ct-grid { display: grid; gap: var(--s-8); align-items: start; }
@media (min-width: 1000px) { .ct-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); } }
.ct-direct { display: grid; gap: var(--s-4); justify-items: start; }
.ct-tel { display: inline-flex; align-items: center; min-height: 64px; font: 800 clamp(2.75rem, 1rem + 5.4vw, 4.75rem)/.9 var(--font-display); white-space: nowrap; letter-spacing: .005em; text-decoration: none; font-variant-numeric: tabular-nums; }
.ct-tel:hover, .ct-mail:hover { color: var(--signal-ink); }
.ct-mail { display: inline-flex; align-items: center; min-height: 44px; font-size: 1.25rem; font-weight: 700; word-break: break-word; }
.ct-note { margin: 0; color: var(--ink-soft); }
.ct-photo { width: min(100%, 320px); margin-top: var(--s-4); }
.ct-photo picture { aspect-ratio: 3 / 2; }
@media (min-width: 1000px) { .ct-photo picture { aspect-ratio: 4 / 5; } }
.ct-form .badge { margin: 0; }
.ct-form .form-actions { margin-top: var(--s-2); }

/* =============== FAQ =============== */
.fq-head h1 { font-size: clamp(3rem, 1rem + 7.5vw, 7rem); }
.fq-main { padding-block: clamp(32px, 5vw, 80px); }
.fq-grid { display: grid; gap: var(--s-7); align-items: start; }
.fq-index ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2); padding: 0; }
.fq-index li { max-width: none; }
.fq-index a { display: inline-flex; align-items: center; gap: var(--s-3); min-height: 44px; padding: 0 16px; border: 1px solid var(--bone-line-2); font-weight: 700; text-decoration: none; }
.fq-index a:hover { background: var(--ink); border-color: var(--ink); color: var(--bone); }
.fq-index a .mono { color: var(--muted); }
.fq-index a:hover .mono { color: var(--bone-line); }
.fq-index .actions { margin-top: var(--s-5); }
.fq-groups { display: grid; gap: var(--s-9); }
.fq-group h2 { font-size: clamp(2.5rem, 1.6rem + 3vw, 4rem); margin-bottom: var(--s-5); }
@media (min-width: 900px) {
  .fq-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: var(--s-9); }
  .fq-index { position: sticky; top: calc(var(--header-h) + var(--s-5)); }
  .fq-index ul { display: grid; gap: 0; border-bottom: 1px solid var(--ink); }
  .fq-index a { display: flex; justify-content: space-between; min-height: 56px; padding: 0 4px; border: 0; border-top: 1px solid var(--ink); }
  .fq-index a:hover { padding-inline: 12px; }
  .fq-index .actions { display: grid; }
}

/* =============== PAST EVENTS =============== */
.pe-head h1 { font-size: clamp(3rem, 1rem + 7.5vw, 7rem); }
.pe-main { padding-block: clamp(32px, 5vw, 80px); }
.pe-feature { display: grid; background: var(--night-3); border: 1px solid var(--night-line-2); }
.pe-feature picture { aspect-ratio: 3 / 2; }
.pe-fb { display: grid; align-content: end; gap: var(--s-3); padding: clamp(20px, 3vw, 40px); }
.pe-fb h2 { font-size: clamp(2.5rem, 1.6rem + 3.5vw, 4.75rem); line-height: .9; }
.pe-fb p { margin: 0; color: var(--on-night-soft); }
.pe-date { margin: 0; color: var(--signal-hi); }
.pe-tag { justify-self: start; margin: var(--s-2) 0 0; padding: 4px 10px; border: 1px solid var(--night-line-2); color: var(--on-night-dim); text-transform: none; letter-spacing: .02em; }
@media (min-width: 900px) { .pe-feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.pe-archive { margin-top: var(--s-8); border-bottom: 1px solid var(--night-line-2); }
.pe-row { display: grid; gap: var(--s-4) var(--s-6); align-items: center; padding: var(--s-6) 0; border-top: 1px solid var(--night-line-2); }
.pe-row picture { aspect-ratio: 3 / 2; }
.pe-rb { display: grid; gap: var(--s-2); }
.pe-rb h3 { font: 800 clamp(2rem, 1.5rem + 2vw, 3rem)/.95 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
.pe-rb p { margin: 0; color: var(--on-night-soft); }
.pe-row .pe-tag { margin: 0; }
@media (min-width: 900px) { .pe-row { grid-template-columns: 280px minmax(0, 1fr) auto; } }
@media (min-width: 640px) and (max-width: 899px) { .pe-row { grid-template-columns: 220px minmax(0, 1fr); } .pe-row .pe-tag { grid-column: 2; } }

/* =============== CREDITS =============== */
.cr-head h1 { font-size: clamp(3rem, 1rem + 7vw, 6.5rem); }
.cr-main { padding-block: clamp(32px, 5vw, 80px); }
.cr-table-wrap { overflow-x: auto; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.cr-table { width: 100%; border-collapse: collapse; }

.cr-table th, .cr-table td { padding: var(--s-4); border-bottom: 1px solid var(--bone-line); text-align: left; vertical-align: top; }
.cr-table thead th { font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cr-table tbody tr:last-child > * { border-bottom: 0; }
.cr-table a { font-weight: 600; }
.cr-th { width: 96px; }
.cr-th picture { display: block; width: 72px; height: 72px; overflow: hidden; background: var(--bone-2); }
.cr-th img { width: 100%; height: 100%; object-fit: cover; }
.cr-table td:last-child a { white-space: nowrap; }
.cr-use { font-size: var(--t-small); color: var(--muted); }
@media (max-width: 759.98px) {
  .cr-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cr-table, .cr-table tbody, .cr-table tr, .cr-table td { display: block; }
  .cr-table tr { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: var(--s-4); padding: var(--s-4) 0; border-bottom: 1px solid var(--bone-line); }
  .cr-table td { padding: 0 0 var(--s-2); border: 0; grid-column: 2; min-width: 0; overflow-wrap: anywhere; }
  .cr-table td.cr-th { grid-column: 1; grid-row: 1 / span 4; width: auto; padding: 0; }
  .cr-table td:last-child a { white-space: normal; }
}.cr-fonts { margin-top: var(--s-8); max-width: 66ch; }
.cr-fonts h2 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); margin-bottom: var(--s-3); }
.cr-fonts code, .fd-wrap code { font: 500 .9375rem var(--font-mono); background: var(--bone-2); padding: 1px 6px; }

/* =============== FORMS DEMO =============== */
.fd-wrap { padding-block: clamp(32px, 5vw, 64px) var(--sec); }
.fd-head { display: grid; gap: var(--s-4); justify-items: start; padding-bottom: var(--s-7); }
.fd-head h1 { font-size: clamp(3rem, 1rem + 7vw, 6.5rem); }
.fd-note { margin: 0; font: 500 var(--t-meta)/1.4 var(--font-mono); color: var(--muted); }
.fd-section { padding-block: var(--s-8); border-top: 2px solid var(--ink); }
.fd-section > h2 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); margin-bottom: var(--s-3); max-width: none; }
.fd-section > p { margin-bottom: var(--s-6); color: var(--muted); max-width: 66ch; }
.fd-grid { display: grid; gap: var(--s-5) var(--s-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); align-items: start; }
.fd-state { display: grid; gap: var(--s-2); }
.fd-state > .tag { font: 600 var(--t-meta)/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.fd-band { padding: var(--s-6); background: var(--night); }
.fd-row { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }
.is-hover-btn { background: var(--c-btn-hover); border-color: var(--c-btn-hover); }
.is-focus-btn { outline: 3px solid var(--c-focus); outline-offset: 3px; }
.es-choices a.stretch { display: block; min-height: 44px; padding-block: 8px; margin-block: -8px; }
