@font-face{font-family:Golos;src:url(assets/GolosText.woff2);font-weight:400 800;font-display:swap}@font-face{font-family:Unbounded;src:url(assets/Unbounded.woff2);font-weight:500;font-display:swap}@font-face{font-family:Notes;src:url(assets/Handwritten-Manrope-500.woff2);font-weight:500;font-display:swap}:root{--font-golos:Golos;--font-unbounded:Unbounded;--font-notes:Notes;--font-sans:Golos,Arial,sans-serif;--font-display:Unbounded,Golos,sans-serif;--font-handwritten:Notes,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;background:none}img{max-width:100%;display:block}svg{display:block}p,h1,h2,h3,h4,dl,dd,figure{margin:0}button,a{color:inherit}button{cursor:pointer}[hidden]{display:none!important}




:root { color-scheme: dark; --acid: #baff00; --ink: #080908; --paper: #f2f2ed; --line: #484945; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 148px; }
body { margin: 0; background: var(--ink); color: var(--paper); -webkit-font-smoothing: antialiased; }
button, a { -webkit-tap-highlight-color: transparent; }
button, summary, a { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button, summary { cursor: pointer; }
button { color: inherit; }
::selection { color: var(--ink); background: var(--acid); }
:focus-visible { outline: 2px solid var(--acid); outline-offset: 6px; }
.team-section :focus-visible { outline-color: var(--ink); }
h1, h2, h3, p { margin: 0; }
h1, h2 { overflow-wrap: anywhere; }
ul, ol { list-style: none; padding: 0; margin: 0; }
svg { flex-shrink: 0; }
.shell { width: min(90%, 1600px); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: 1rem; padding: 1rem; background: var(--acid); color: var(--ink); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 28px; min-height: 60px; padding: 16px 30px; border-radius: 100px; border: 1px solid transparent; transition: background .2s, color .2s, border-color .2s; text-align: center; }
.button-acid { background: var(--acid); color: var(--ink); }
.button-acid:hover { background: #d0ff54; }
.button-outline { border-color: #bfc1b9; background: #08090830; }
.button-outline:hover { background: var(--paper); color: var(--ink); }
.button-black { background: var(--ink); color: var(--paper); }
.button-black:hover { background: #292b23; }
.section-label { display: flex; align-items: center; gap: 24px; margin-bottom: 35px; color: #a7a9a2; }
.section-label > span:first-child { color: var(--paper); }
.section-line { width: 60px; height: 1px; background: #787a72; }
.underline-acid { position: relative; isolation: isolate; white-space: nowrap; }
.underline-acid::after { content: ""; position: absolute; z-index: -1; left: 1%; right: 0; bottom: -.055em; height: 3px; background: var(--acid); transform: rotate(-3deg); }
.site-header { position: fixed; inset: 0 0 auto; z-index: 30; height: 132px; background: rgb(8 9 8 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid rgb(255 255 255 / 8%); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; height: 100%; }
.logo { width: 168px; height: 118px; flex-shrink: 0; position: relative; overflow: hidden; }
.logo img { position: absolute; width: 100%; height: auto; left: 0; top: 50%; transform: translateY(-50%); }
.desktop-nav { display: flex; align-items: center; gap: clamp(15px, 1.6vw, 28px); }
.desktop-nav a, .desktop-nav .nav-pending { white-space: nowrap; padding-block: 12px; }
.desktop-nav a { transition: color .2s; }
.desktop-nav a:hover { color: var(--acid); }
.desktop-nav .nav-home { color: var(--acid); position: relative; }
.nav-home::after { content: ""; position: absolute; bottom: 5px; height: 1px; left: 0; right: 0; background: var(--acid); }
.nav-pending { color: #a2a49e; cursor: default; }
.menu-trigger { min-width: 44px; height: 44px; display: flex; justify-content: center; align-items: center; border: 0; background: transparent; }
.navigation-dialog { position: fixed; inset: 0 0 0 auto; max-width: none; max-height: none; width: min(460px, 100%); height: 100dvh; margin: 0; padding: 0; border: 0; background: var(--ink); color: var(--paper); }
.navigation-dialog::backdrop { background: #000b; backdrop-filter: blur(7px); }
.navigation-panel { min-height: 100%; display: flex; flex-direction: column; padding: 28px; }
.navigation-top { display: flex; align-items: center; justify-content: space-between; color: var(--acid); gap: 12px; }
.navigation-panel nav { display: grid; gap: 0; margin: 35px 0; }
.navigation-panel nav a, .navigation-panel nav .nav-pending { display: flex; justify-content: space-between; align-items: center; min-height: 58px; border-bottom: 1px solid #34372d; position: relative; }
.navigation-panel .nav-home::after { display: none; }
.navigation-panel > .button { margin-top: auto; }
.hero { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; border-bottom: 1px solid #34372d; background: #080908; }
.hero-media { position: absolute; z-index: -3; inset: 0 0 0 37%; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #030503 0%, #030503f5 27%, #03050382 53%, #03050308 77%), linear-gradient(0deg, #030503d9, transparent 30%, #0002 75%, #000b); }
.hero-inner { flex: 1; position: relative; display: flex; flex-direction: column; justify-content: center; padding-top: 168px; padding-bottom: 150px; }
.hero-copy { width: 75%; }
.hero-copy > p { max-width: 650px; margin-top: 40px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 38px; }
.hero-actions .button { min-width: 235px; }
.hero-side-note { position: absolute; right: 0; top: 26%; }
.hero-bottom { display: flex; align-items: flex-end; justify-content: space-between; position: absolute; left: 0; right: 0; bottom: 48px; }
.hero-footnote { position: relative; padding-left: 60px; }
.hero-footnote > span { position: absolute; left: 0; top: 13px; width: 36px; height: 1px; background: var(--paper); }
.scroll-cue { position: absolute; left: 50%; transform: translateX(-50%); bottom: 0; display: flex; flex-direction: column; align-items: center; gap: 15px; font-size: 12px; }
.scroll-cue > span { width: 46px; height: 46px; border-radius: 50%; border: 1px solid #b8bab3; display: grid; place-items: center; }
.scroll-cue::after { content: ""; height: 35px; width: 1px; position: absolute; top: calc(100% + 13px); background: #72746b; }
.section-dark { background: radial-gradient(ellipse at 20% 5%, #15171230, transparent 55%), var(--ink); }
.about { padding-top: 55px; }
.about-grid { display: grid; grid-template-columns: 1.5fr .9fr; gap: 6%; align-items: start; }
.about-copy { max-width: 550px; margin-top: 38px; }
.about-copy p + p { margin-top: 24px; }
.about-photo { height: auto; aspect-ratio: 268 / 332; }
.values-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); padding: 38px 0 32px; margin-top: 18px; }
.values-grid li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; padding-inline: 12px; }
.values-grid li + li::before { content: ""; position: absolute; width: 1px; height: 85%; top: 10%; left: 0; background: #32352e; }
.values-grid svg { width: 48px; height: 48px; color: var(--acid); }
.team-section { color-scheme: light; background: var(--acid); color: var(--ink); padding: 60px 0 58px; position: relative; isolation: isolate; }
.team-layout { display: grid; grid-template-columns: 35% minmax(0, 1fr); gap: 3%; }
.team-copy { padding-block: 8px; }
.team-section .section-label, .team-section .section-label > span:first-child { color: var(--ink); }
.team-section .section-line { background: #3b4f0e; }
.team-copy > p { margin-top: 24px; max-width: 390px; }
.team-copy .button { margin-top: 28px; gap: 22px; padding-inline: 25px; }
.team-gallery { min-width: 0; position: relative; padding-top: 17px; padding-bottom: 30px; }
.dj-card { position: relative; min-width: 0; background: #080908; color: var(--paper); transform: rotate(3deg); box-shadow: 0 1px 0 #000; }
.dj-portrait { aspect-ratio: .6; height: auto; filter: grayscale(1); }
.dj-card-info { padding: 12px 12px 48px; position: relative; min-height: 170px; background: linear-gradient(0deg, #080908 85%, #080908dd); }
.dj-card h3 { overflow-wrap: anywhere; }
.dj-tags { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin-top: 13px; }
.dj-tags li { border: 1px solid #888c81; padding: 2px 4px; }
.dj-select { position: absolute; width: 44px; height: 44px; border: 1px solid #92978c; border-radius: 50%; right: 9px; bottom: 9px; display: grid; place-items: center; font-size: 24px; transition: background .2s, color .2s; }
.dj-select:hover { background: var(--acid); color: var(--ink); }
.hand-note { display: block; font-family: var(--font-handwritten); font-weight: 500; font-style: italic; font-size: 24px; line-height: 1.15; letter-spacing: -.06em; transform: rotate(-12deg); }
.team-note-top { position: absolute; top: -32px; right: -5px; font-size: 20px; text-align: center; }
.team-note-bottom { position: absolute; left: -10px; bottom: -22px; }
.selection { padding: 55px 0 64px; position: relative; isolation: isolate; }
.selection-image { position: absolute; z-index: -1; top: 0; right: 0; width: 47%; height: 440px; opacity: .32; mask-image: linear-gradient(90deg, transparent, black 35%), linear-gradient(0deg, transparent, black 30%); mask-composite: intersect; }
.selection-inner { position: relative; }
.selection-top { position: relative; }
.selection-top h2 { max-width: 1050px; }
.selection-intro { display: flex; gap: 44px; align-items: center; margin-top: 26px; }
.selection-intro > p { max-width: 515px; }
.selection-intro .button { flex-shrink: 0; }
.selection-note { position: absolute; right: 0; top: 26px; }
.process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin-top: 28px; }
.process-grid > li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 24px; border: 1px solid #575a50; padding: 25px 22px; position: relative; }
.process-grid > li + li::before { content: "›"; position: absolute; font-size: 45px; font-weight: 200; color: #687e30; left: -25px; top: 40%; }
.process-grid h3 { margin-top: 18px; }
.process-grid p { margin-top: 10px; color: #d5d7ce; }
.event-footer { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 55px; align-items: center; margin-top: 28px; }
.event-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 15px; }
.event-grid span { display: block; margin-top: 12px; }
.talk-note { color: var(--acid); font-size: 40px; }
.talk-note svg { width: 90px; height: 35px; margin-left: 45px; }

@media (min-width: 1600px) { .hero-copy { width: 80%; } .team-section { padding-bottom: 100px; } }
@media (max-width: 1250px) {
  html { scroll-padding-top: 126px; }
  .site-header { height: 110px; }
  .header-inner { gap: 16px; }
  .logo { width: 132px; height: 94px; }
  .desktop-nav { gap: 14px; }

  .hero-copy { width: 82%; }
  .hero-copy > p { max-width: 560px; }
  .about-grid { grid-template-columns: 1.45fr .9fr; gap: 4%; }
  .about-copy { max-width: 440px; }
  .team-layout { grid-template-columns: 34% minmax(0, 1fr); gap: 3%; }
  .team-copy .button { padding-inline: 20px; gap: 12px; }
  .team-note-bottom { bottom: -10px; }
  .team-note-top { font-size: 17px; }
  .dj-card-info { padding-inline: 9px; min-height: 160px; }
  .process-grid { gap: 26px; }
  .process-grid > li { gap: 16px; padding: 22px 18px; }
  .process-grid > li + li::before { left: -21px; }
  .event-footer { gap: 30px; grid-template-columns: minmax(0, 1fr) 100px; }
  .talk-note { font-size: 32px; }
  .talk-note svg { margin-left: 10px; }
}

@media (max-width: 1000px) {
  html { scroll-padding-top: 120px; }
  .desktop-nav { display: none; }
  .site-header { height: 104px; }

  .hero-inner { padding-top: 170px; padding-bottom: 150px; }
  .hero-media { left: 20%; }
  .hero-shade { background: linear-gradient(90deg, #030503f0, #0305039c 50%, #03050322), linear-gradient(0deg, #030503, transparent 75%); }
  .hero-copy { width: 100%; }
  .hero-copy > p { max-width: 540px; }
  .hero-side-note { top: 19%; }
  .about { padding-top: 45px; }
  .about-grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: center; }
  .section-label { margin-bottom: 26px; gap: 18px; }
  .section-line { width: 40px; }
  .about-copy { margin-top: 30px; }
  .values-grid { padding-block: 30px; margin-top: 30px; }
  .values-grid svg { width: 34px; height: 34px; }
  .values-grid li { gap: 14px; padding-inline: 8px; }
  .team-layout { display: block; }
  .team-copy { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; align-items: start; }
  .team-copy .section-label { grid-column: 1 / -1; }
  .team-copy h2 { grid-row: span 2; }
  .team-copy > p { margin: 0; }
  .team-copy .button { justify-self: start; margin-top: 22px; }
  .team-gallery { margin-top: 60px; padding-bottom: 118px; }
  .team-note-top { top: -34px; right: 0; }
  .team-note-bottom { bottom: 0; left: 3px; }
  .dj-card-info { min-height: 165px; }
  .selection { padding-block: 46px; }
  .selection-note { display: none; }
  .selection-intro { gap: 20px; }
  .selection-intro .button { min-height: 52px; padding-inline: 20px; gap: 20px; }
  .process-grid { gap: 18px; }
  .process-grid > li { display: block; padding: 18px; }
  .process-grid > li > div > svg { position: absolute; right: 18px; top: 18px; width: 28px; }
  .process-grid > li + li::before { left: -16px; font-size: 32px; }
  .process-grid h3 { min-height: 3em; }
  .event-footer { grid-template-columns: minmax(0, 1fr) 95px; gap: 25px; }
  .event-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 12px; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 108px; }
  .shell { width: calc(100% - 40px); }
  .site-header { height: 92px; }
  .logo { width: 111px; height: 78px; }

  .hero-inner { justify-content: flex-end; padding-top: clamp(112px, calc(100dvh - 580px), 200px); padding-bottom: 135px; }
  .hero-media { left: 7%; bottom: 17%; }
  .hero-shade { background: linear-gradient(0deg, #030503 8%, #030503f2 25%, #0305039c 63%, #0305031c 90%), linear-gradient(90deg, #03050385, transparent 80%); }
  .hero-copy > p { margin-top: 28px; max-width: 100%; }
  .hero-actions { gap: 12px; margin-top: 27px; flex-direction: column; }
  .hero-actions .button { min-width: 0; width: 100%; min-height: 54px; }
  .hero-side-note { top: 145px; font-size: 10px; }
  .hero-bottom { bottom: 35px; }
  .hero-footnote { padding-left: 30px; font-size: 9px; }
  .hero-footnote > span { width: 18px; }
  .hero-manifesto { font-size: 9px; }
  .scroll-cue { font-size: 9px; gap: 10px; }
  .scroll-cue > span { width: 38px; height: 38px; }
  .scroll-cue::after { height: 18px; }
  .section-label { gap: 17px; margin-bottom: 27px; }
  .section-line { width: 35px; }
  .about { padding-top: 36px; }
  .about-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .about .underline-acid { white-space: normal; }
  .about-copy { margin-top: 28px; }
  .about-copy p + p { margin-top: 20px; }
  .about-photo { max-height: 390px; aspect-ratio: 1.08; }
  .values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 28px 32px; gap: 28px 12px; }
  .values-grid li { gap: 12px; }
  .values-grid li + li::before { display: none; }
  .values-grid li:nth-child(even)::before { display: block; }
  .values-grid li:last-child { grid-column: 1 / -1; }
  .team-section { padding-block: 36px 38px; }
  .team-copy { display: block; padding: 0; }
  .team-copy > p { margin-top: 25px; max-width: none; }
  .team-copy .button { width: 100%; min-height: 54px; margin-top: 25px; }
  .team-gallery { padding: 0 6px 42px; margin-top: 64px; }
  .dj-portrait { aspect-ratio: .72; }
  .dj-card-info { padding: 12px 12px 50px; min-height: 165px; }
  .team-note-top { font-size: 14px; top: -43px; right: 6px; transform: rotate(-8deg); }
  .team-note-bottom { display: none; }
  .selection { padding-block: 36px 40px; }
  .selection-image { top: 25px; width: 75%; height: 320px; opacity: .23; }
  .selection-intro { flex-direction: column; align-items: stretch; gap: 24px; margin-top: 24px; }
  .selection-intro .button { align-self: flex-start; min-width: 215px; }
  .process-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 30px; }
  .process-grid > li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 17px; padding: 24px 20px; }
  .process-grid > li > div > svg { position: static; width: 30px; height: 30px; }
  .process-grid h3 { min-height: auto; margin-top: 14px; }
  .process-grid > li + li::before { display: none; }
  .event-footer { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 15px; }
  .talk-note { justify-self: end; margin-right: 16px; font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}




/* Continuation of the approved page. Shared foundations remain in globals.css. */
:root { --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath d='M0 0h180v180H0z' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"); }
.hero-copy { width: 68%; }
.hero-copy > p { max-width: 680px; }
.hero-media { inset: 0; }
.hero-media > .asset-image { height: 100%; }
.hero-shade { background: linear-gradient(90deg, #030503e8 0%, #030503c9 35%, #03050305 80%), linear-gradient(0deg, #030503e8, transparent 60%); }
.hero-media .asset-placeholder { bottom: 20%; right: 8%; left: auto; }
.underline-acid { white-space: normal; }
.asset-image { position: relative; overflow: hidden; min-width: 0; }
.selection > .selection-image { position: absolute; }
.asset-placeholder { position: absolute; bottom: 16px; left: 16px; font-size: 10px; letter-spacing: .12em; color: #c6c9be; line-height: 1.4; max-width: calc(100% - 32px); }
.about-visual { position: relative; border-right: 18px solid var(--acid); }
.about-visual .hand-note { position: absolute; top: 38px; right: 18px; font-size: 27px; text-align: center; }
.about-photo { aspect-ratio: 268 / 332; }
.event-grid .asset-image { aspect-ratio: 90 / 53; }
.event-grid .asset-placeholder { display: none; }
.team-section { background-color: var(--acid);
  background-image: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
.team-gallery { padding: 20px 0 20px; }
.team-note-top { right: 20px; top: -20px; }
.team-note-bottom { bottom: 0; }
.team-carousel .carousel-controls { margin: 30px 0 0; }
.team-carousel .round-control { color: var(--ink); border-color: #263007; }
.team-carousel .carousel-track { grid-auto-columns: calc((100% - 54px) / 4); padding: 22px 30px 108px; scroll-padding-inline: 30px; gap: 18px; }
.team-carousel .dj-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 0; box-shadow: none; transform: translateY(var(--card-offset, 0px)) rotate(4deg); transform-origin: center; backface-visibility: hidden; }
.dj-portrait { aspect-ratio: .59; }
.dj-card-info { min-height: 165px; }
.team-copy .button { cursor: pointer; }
.editorial-section { padding-block: 60px; }
.section-dark { background-image: var(--grain), radial-gradient(ellipse at 20% 5%, #15171230, transparent 55%); }
.section-heading { display: flex; align-items: start; justify-content: space-between; gap: 40px; position: relative; }
.section-heading > div { flex: 1; min-width: 0; }
.section-heading p { max-width: 700px; margin-top: 24px; }
.section-heading .hand-note { flex-shrink: 0; margin: 0 40px 0 10px; color: var(--acid); font-size: clamp(18px, 2.2vw, 30px); }
.round-control { width: 46px; min-width: 46px; height: 46px; padding: 0; display: inline-grid; place-items: center; border: 1px solid #8b8f83; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.round-control:hover:not(:disabled) { background: var(--acid); color: var(--ink); border-color: var(--acid); }
.round-control:disabled { opacity: .35; cursor: default; }
.carousel { min-width: 0; }
.carousel-controls { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-bottom: 18px; }
.carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 44px) / 3); gap: 22px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #7a8558 transparent; padding: 4px 2px 15px; cursor: grab; }
.carousel-track > * { min-width: 0; scroll-snap-align: start; }
.carousel-track:active { cursor: grabbing; }
.carousel-track.auto-track { scroll-snap-type: none; }
.case-carousel { margin-top: 8px; }
.case-card { border: 1px solid #4c5243; }
.case-open { display: block; width: 100%; height: 100%; padding: 0; border: 0; color: inherit; background: #090b09; text-align: left; }
.case-card .asset-image { aspect-ratio: 1.8; border-left: 8px solid #9cd32b; }
.case-card-copy { padding: 18px 65px 22px 18px; position: relative; }
.case-card h3 { margin-top: 10px; }
.case-card p { margin-top: 12px; }
.case-card .round-control { position: absolute; right: 12px; bottom: 18px; }
.demo-label { font-size: 10px; letter-spacing: .055em; display: block; line-height: 1.5; color: #bcc9a0; }
.content-dialog { width: min(900px, calc(100% - 24px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; background: #10130e; color: var(--paper); border: 1px solid #727b60; overflow-y: auto; }
.content-dialog::backdrop { background: #000b; backdrop-filter: blur(8px); }
.modal-inner { padding: clamp(20px, 4vw, 46px); }
.modal-heading { display: flex; align-items: start; gap: 20px; justify-content: space-between; margin-bottom: 26px; }
.modal-heading > button { flex-shrink: 0; }
.modal-inner p { margin-block: 16px; }
.modal-inner h3 { margin-top: 28px; }
.modal-inner .button { margin-top: 26px; }
.case-facts { display: grid; gap: 16px; margin-block: 24px; }
.case-facts > div { display: grid; grid-template-columns: 90px 1fr; gap: 20px; border-bottom: 1px solid #404736; padding-bottom: 12px; }
.case-facts dt { color: #bdc6ab; }
.case-facts dd { margin: 0; }
.case-gallery { display: grid; gap: 18px; margin-top: 26px; }
.case-gallery .asset-image { aspect-ratio: 16 / 10; }
.modal-inner video { width: 100%; margin-top: 24px; }
.stats-section { color: var(--ink); color-scheme: light; background: #bbfa39; background-image: var(--grain); }
.stats-section .section-label, .stats-section .section-label > span:first-child { color: var(--ink); }
.stats-intro { position: relative; isolation: isolate; }
.stats-intro > div:first-child { width: 63%; position: relative; z-index: 1; }
.stats-intro p { max-width: 740px; margin-top: 15px; }
.stats-image { position: absolute; width: 37%; height: 125%; right: -2%; top: -25%; opacity: .28; mix-blend-mode: multiply; }
.stats-intro .hand-note { position: absolute; right: 26%; top: -10px; font-size: 24px; z-index: 2; }
.stats-grid { display: grid; grid-template-columns: .85fr 1.2fr 1.4fr .7fr; margin: 42px 0 0; gap: 28px; position: relative; }
.stats-grid > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; border-left: 1px solid #38541177; padding-left: 28px; }
.stats-grid > div:first-child { border: 0; padding-left: 0; }
.stats-grid dd { margin: 0 0 6px; white-space: nowrap; }
.stats-grid dt { max-width: 320px; }
.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.service-card { border: 1px solid #3e4437; position: relative; display: flex; flex-direction: column; }
.service-number { position: absolute; z-index: 1; top: 18px; left: 20px; }
.service-card .asset-image { aspect-ratio: 1.7; border-left: 8px solid #9cd32b; }
.service-copy { padding: 22px 22px 75px; position: relative; flex: 1; }
.service-copy h3 { white-space: pre-line; }
.service-copy p { margin-top: 14px; }
.service-copy > .round-control { position: absolute; bottom: 17px; right: 17px; border-color: #7c933b; }
.service-copy details { margin-top: 18px; }
.service-copy summary { display: flex; align-items: center; justify-content: space-between; list-style: none; min-height: 44px; border-top: 1px solid #444b37; }
.service-copy summary span { font-size: 23px; color: var(--acid); }
.service-copy details[open] summary span { transform: rotate(45deg); }
.section-light { color-scheme: light; background: #deded7; color: #080908; background-image: var(--grain); }
.section-light :focus-visible, .stats-section :focus-visible { outline-color: #24370b; }
.section-light .section-label, .section-light .section-label > span:first-child { color: #20251a; }
.media-section .section-heading .hand-note { color: #252b20; margin-inline: 10px; }
.media-section .section-heading .button { margin-top: 5px; white-space: nowrap; min-height: 52px; padding-inline: 24px; }
.article-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 20px; margin-top: 25px; }
.article-card { min-width: 0; position: relative; color: var(--paper); background: #0a0d09; }
.article-card a { display: flex; flex-direction: column; height: 100%; }
.article-card .asset-image { height: 190px; }
.article-copy { position: relative; padding: 16px 16px 64px; margin-top: -34px; background: linear-gradient(0deg, #080b08 83%, transparent); flex: 1; }
.article-copy h3 { margin-top: 7px; }
.article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.article-tags li { border: 1px solid #8c957e; padding: 3px 5px; }
.article-copy .round-control { position: absolute; bottom: 12px; right: 12px; }
.reviews-section .section-heading p { max-width: 600px; }
.reviews-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 28px; }
.reviews-columns > div { min-width: 0; }
.reviews-columns > div + div { padding-left: 30px; border-left: 1px solid #545f43; }
.review-column-title { color: #c6d3a2; }
.review-carousel .carousel-track { grid-auto-columns: 100%; }
.review-carousel .carousel-controls { margin-bottom: 12px; margin-top: -34px; }
.review-carousel .round-control { width: 38px; min-width: 38px; height: 38px; }
.review-carousel { margin-top: 50px; }
.client-review, .organizer-review { border: 1px solid #566043; padding: 20px; }
.client-review blockquote { margin: 15px 0; background: #e9eae4; color: #10130d; border-radius: 12px 12px 12px 0; padding: 17px; max-width: 88%; }
.client-review > p { color: #c6c9be; }
.review-original { display: flex; align-items: center; gap: 18px; min-height: 44px; margin: 14px 0 0 auto; padding: 0 12px; color: var(--paper); border: 1px solid #8c9b58; border-radius: 100px; background: transparent; }
.organizer-review { display: grid; grid-template-columns: 100px 1fr; gap: 20px; }
.organizer-review .asset-image { height: 155px; }
.organizer-review .asset-placeholder { font-size: 8px; left: 7px; bottom: 7px; }
.organizer-review h4 { margin: 10px 0 5px; }
.organizer-review .organizer-role { color: #adb59e; margin-bottom: 16px; }
.review-screenshot { aspect-ratio: 3 / 4; margin-top: 20px; }
.lead-layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 8%; align-items: start; }
.lead-copy { position: relative; }
.lead-copy p { margin-top: 20px; max-width: 530px; }
.lead-copy .hand-note { position: absolute; right: 0; top: 70px; font-size: 22px; }
.lead-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead-fields label { display: flex; flex-direction: column; min-width: 0; gap: 8px; }
.lead-fields input, .lead-fields select { min-width: 0; width: 100%; min-height: 54px; border-radius: 0; border: 1px solid #2e3328; color-scheme: dark; background: #10130e; color: #f0f1ea; padding: 12px; }
.lead-fields input::placeholder { color: #b3b8a7; }
.lead-fields input[aria-invalid=true], .lead-fields select[aria-invalid=true] { border: 2px solid #5c251e; }
.contact-field { grid-column: 1 / -1; }
.consent { display: flex; align-items: start; gap: 10px; margin-block: 18px 10px; }
.consent input { min-width: 20px; width: 20px; height: 20px; accent-color: #233a08; }
.consent a { text-decoration: underline; text-underline-offset: 2px; }
.lead-submit { width: 100%; margin-top: 10px; min-height: 56px; }
.lead-submit:disabled { cursor: wait; opacity: .65; }
.privacy-note { display: flex; gap: 9px; align-items: center; margin-top: 13px; }
.field-error { color: #692820; }
.form-error, .form-success { padding: 16px; margin-top: 20px; border: 1px solid #4c543c; }
.form-error { border-color: #692820; }
.loading-icon { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.site-footer { padding-block: 30px 25px; }
.footer-main { display: grid; grid-template-columns: 145px 1fr 215px 95px; align-items: center; gap: 30px; }
.footer-main .logo { width: 145px; height: 98px; }
.footer-main nav { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-main nav a { min-height: 44px; display: inline-flex; align-items: center; }
.footer-main address { border-left: 1px solid #333b2a; padding-left: 22px; display: grid; gap: 10px; }
.footer-main address > * { display: flex; align-items: center; gap: 10px; }
.footer-main .hand-note { color: var(--acid); font-size: 22px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #32372c; padding-top: 24px; margin-top: 25px; }
.media-index, .policy-page { padding-block: 185px 90px; min-height: 80vh; }
.index-intro { max-width: 780px; margin-top: 26px; }
.media-drafts { display: grid; gap: 50px; margin-top: 55px; }
.media-drafts article { display: grid; grid-template-columns: 1fr 1.5fr; gap: 35px; }
.media-drafts .asset-image { aspect-ratio: 16 / 10; }
.media-drafts .demo-label { color: #37471f; }
.media-drafts h2 { margin-block: 14px; }
.policy-page h2 { margin: 35px 0 12px; }
.policy-page p { max-width: 850px; margin-top: 24px; }

@media (max-width: 1200px) {
  .hero-copy { width: 75%; }
  .section-heading { gap: 25px; }
  .section-heading .hand-note { margin-right: 12px; }
  .stats-grid { gap: 20px; }
  .stats-grid > div { padding-left: 20px; }
  .lead-copy .hand-note { display: none; }
  .footer-main { grid-template-columns: 135px 1fr 200px; }
  .footer-main > .hand-note { display: none; }
}
@media (max-width: 1000px) {
  .hero-copy { width: 100%; }
  .team-gallery { padding-bottom: 20px; }
  .section-heading .hand-note { font-size: 20px; }
  .carousel-track { grid-auto-columns: calc((100% - 22px) / 2); }
  .team-carousel .carousel-track { gap: 12px; grid-auto-columns: calc((100% - 36px) / 4); }
  .team-carousel .carousel-controls { margin-top: 0; }
  .stats-intro > div:first-child { width: 75%; }
  .stats-intro .hand-note { display: none; }
  .services-section .section-heading .hand-note { display: none; }
  .services-grid { gap: 16px; }
  .service-copy { padding-inline: 16px; }
  .media-section .section-heading { flex-wrap: wrap; }
  .media-section .section-heading > div { flex-basis: 70%; }
  .media-section .section-heading .hand-note { display: none; }
  .article-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; }
  .article-copy { padding-inline: 12px; }
  .reviews-columns { gap: 22px; }
  .reviews-columns > div + div { padding-left: 20px; }
  .organizer-review { grid-template-columns: 65px 1fr; gap: 12px; padding: 14px; }
  .organizer-review .asset-image { height: 100px; }
  .organizer-review .asset-placeholder { display: none; }
  .client-review { padding: 14px; }
  .client-review blockquote { max-width: 100%; padding: 14px; }
  .lead-layout { grid-template-columns: .85fr 1.15fr; gap: 30px; }
  .lead-fields { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 125px 1fr; gap: 18px 28px; }
  .footer-main address { grid-column: 2; }
  .media-index, .policy-page { padding-top: 150px; }
}
@media (max-width: 600px) {
  .hero-media { inset: 0; }
  .hero-copy { width: 100%; }
  .hero-shade { background: linear-gradient(0deg, #030503 8%, #030503e8 43%, #03050311); }
  .hero-media .asset-placeholder { bottom: auto; top: 23%; right: 5%; font-size: 9px; }
  .about-visual { border-right-width: 12px; }
  .about-photo { max-height: 390px; aspect-ratio: 1.08; }
  .about-visual .hand-note { font-size: 24px; }
  .team-carousel .carousel-track { grid-auto-columns: 56%; padding: 16px 24px 60px; scroll-padding-inline: 24px; }

  .team-gallery { margin-top: 50px; padding: 0; }
  .team-note-top { top: -28px; right: 4px; font-size: 14px; }
  .team-carousel .carousel-controls { margin: 0 0 8px; justify-content: flex-start; }
  .team-carousel .round-control { width: 40px; min-width: 40px; height: 40px; }
  .dj-card-info { padding-inline: 10px; }
  .dj-portrait { aspect-ratio: .7; }
  .dj-portrait .asset-placeholder { font-size: 8px; left: 8px; max-width: calc(100% - 16px); }
  .editorial-section { padding-block: 40px; }
  .section-heading { display: block; }
  .section-heading .hand-note { display: none; }
  .section-heading p { margin-top: 18px; }
  .case-carousel { margin-top: 24px; }
  .carousel-track { grid-auto-columns: 90%; gap: 16px; }
  .case-card-copy { padding-left: 15px; }
  .case-facts > div { grid-template-columns: 1fr; gap: 8px; }
  .stats-intro > div:first-child { width: 100%; }
  .stats-image { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; margin-top: 30px; }
  .stats-grid > div { padding-left: 15px; }
  .stats-grid > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .stats-section .section-label { gap: 12px; }
  .stats-section .section-line { width: 24px; flex-shrink: 0; }
  .services-grid { grid-template-columns: 1fr; gap: 22px; margin-top: 26px; }
  .service-card .asset-image { aspect-ratio: 1.7; }
  .service-copy { padding: 22px 20px 72px; }
  .media-section .section-heading .button { margin-top: 25px; }
  .article-grid { grid-template-columns: 1fr; gap: 22px; }
  .article-card .asset-image { height: auto; aspect-ratio: 1.9; }
  .article-copy { padding: 20px 20px 65px; }
  .reviews-columns { grid-template-columns: 1fr; gap: 35px; }
  .reviews-columns > div + div { padding-left: 0; padding-top: 25px; border: 0; border-top: 1px solid #4e5841; }
  .review-carousel .carousel-track { grid-auto-columns: 100%; }
  .client-review, .organizer-review { padding: 17px; }
  .organizer-review { grid-template-columns: 75px 1fr; gap: 15px; }
  .lead-layout { grid-template-columns: 1fr; gap: 32px; }
  .lead-fields { grid-template-columns: 1fr; gap: 20px; }
  .privacy-note { align-items: start; }
  .footer-main { grid-template-columns: 1fr; gap: 12px; }
  .footer-main nav { gap: 8px 20px; }
  .footer-main address { grid-column: 1; padding-left: 0; border: 0; margin-top: 14px; }
  .footer-bottom { flex-direction: column; gap: 15px; margin-top: 28px; }
  .media-drafts article { grid-template-columns: 1fr; gap: 20px; }
  .media-index, .policy-page { padding-top: 130px; }
}
@media (prefers-reduced-motion: reduce) { .loading-icon { animation: none; } }

/* Keep the opening screen comfortable on compact phones. */
@media (max-width: 600px) and (max-height: 700px) {
  .hero-inner { padding-top: 104px; padding-bottom: 80px; }
  .hero-copy > p { margin-top: 12px; }
  .hero-actions { margin-top: 12px; gap: 8px; }
  .hero-bottom { bottom: 12px; }
}

/* Preserve the editorial tilt around a consistent top anchor. */
.team-carousel .dj-card-info { flex: 1; background: #080908; }
.review-carousel .round-control,
.team-carousel .round-control { min-width: 44px; width: 44px; height: 44px; }
@media (max-width: 600px) and (max-height: 740px) { .hero-side-note, .hero-media .asset-placeholder { display: none; } }






@media (max-width: 600px) {
  .team-carousel .dj-card { transform: translateY(calc(var(--card-offset, 0px) * .4)) rotate(4deg); }
}

.team-carousel .carousel-track { position: relative; scrollbar-width: none; }

.dj-select { background: transparent; color: inherit; cursor: pointer; }
.dj-portfolio { width: min(640px, calc(100% - 24px)); }
.dj-portfolio .modal-inner { padding: clamp(18px, 3vw, 30px); }
.dj-portfolio .modal-heading { margin-bottom: 16px; }
.portfolio-gallery .carousel-track { grid-auto-columns: 100%; gap: 16px; }
.portfolio-gallery figure { margin: 0; }
.portfolio-gallery .asset-image { aspect-ratio: auto; height: clamp(240px, 62svh, 620px); background: #090b08; }
.portfolio-gallery figcaption { margin-top: 8px; font-size: 11px; color: #c6c9be; }
.portfolio-info h3 { margin-top: 18px; }
.portfolio-info .dj-tags { margin-top: 12px; }
.dj-portfolio .portfolio-info .button { margin-top: 8px; }
.portfolio-info p { white-space: pre-line; }

@media (min-width: 1001px) { .team-layout { grid-template-columns: 30% minmax(0, 1fr); } }

/* Team: equal photo cards arranged as a compact, asymmetric group. */
.team-carousel .carousel-track { gap: 2px; grid-auto-columns: calc((100% - 6px) / 4); padding: 40px 24px 118px; scroll-padding-inline: 22px; }
.team-carousel .dj-card { aspect-ratio: .43; transform: translateY(var(--card-offset)) rotate(var(--card-angle)); isolation: isolate; }
.team-carousel .dj-portrait { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.team-carousel .dj-card::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, transparent 26%, #05060512 43%, #05060566 65%, #050605b8 83%, #050605ed 100%); }
.team-carousel .dj-card-info { flex: none; margin-top: auto; width: 100%; min-height: 0; padding: 14px 12px 62px; background: transparent; z-index: 2; }
.team-carousel .dj-card:focus-within { z-index: 3; }
.team-carousel .dj-select:focus-visible { outline: 2px solid var(--acid); outline-offset: 3px; }
.team-carousel .dj-portrait .asset-placeholder { bottom: auto; top: 45%; }
.team-carousel .dj-tags li { max-width: 100%; overflow-wrap: anywhere; }
@media (min-width: 1001px) { .team-layout { column-gap: .8%; } }
@media (min-width: 601px) and (max-width: 1000px) {
  .team-carousel .dj-card { transform: translateY(calc(var(--card-offset) * .65)) rotate(calc(var(--card-angle) * .65)); }
  .team-carousel .carousel-track { gap: 12px; grid-auto-columns: calc((100% - 36px) / 4); padding-bottom: 88px; }
}
@media (max-width: 600px) {
  .team-carousel .carousel-track { grid-auto-columns: 56%; gap: 12px; padding: 20px 18px 48px; scroll-padding-inline: 18px; }
  .team-carousel .dj-card { aspect-ratio: .46; transform: translateY(calc(var(--card-offset) * .3)) rotate(calc(var(--card-angle) * .45)); }
  .team-carousel .dj-card-info { padding: 12px 10px 60px; }
}

/* Slightly tighter Team composition with broader portrait proportions. */
@media (min-width: 1001px) {
  .team-layout.shell { width: min(90%, 1600px); grid-template-columns: 30% minmax(0, 1fr); }
  .team-carousel .dj-card { width: 110%; aspect-ratio: .50; }
  .team-carousel .dj-select { right: 22px; }
  .team-carousel .carousel-track { padding-bottom: 104px; }
}
@media (max-width: 600px) {
  .team-carousel .carousel-track { grid-auto-columns: 61.6%; }
  .team-carousel .dj-card { aspect-ratio: .506; }
}

/* Keep free outer edges; Team calculates masks only along adjacent portraits. */
.team-card-slot { min-width: 0; display: flex; align-items: flex-start; scroll-snap-align: start; }
.team-card-slot .dj-card { flex-shrink: 0; width: 100%; }
@media (min-width: 1001px) {
  .team-card-slot .dj-card { width: 110%; }
  .team-card-slot .dj-select { right: 34px; }
}

/* Extra scrollport room preserves the last rotated corner without moving cards. */
@media (min-width: 1001px) {
  .team-carousel .carousel-track { margin-right: -24px; padding-right: 48px; }
}

.availability-fields { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 12px; min-width: 0; }
.availability-fields label,.booking-fields label { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.availability-fields input,.booking-fields input,.booking-fields select { min-width: 0; width: 100%; height: 46px; border: 1px solid #707568; background: #0b0d09; color: #f4f4ee; border-radius: 0; padding: 8px 10px; color-scheme: dark; }
.availability-fields small { grid-column: 1 / -1; color: #bec2b6; }
.dj-booking { border-top: 1px solid #62675b; margin-top: 28px; padding-top: 20px; }
.dj-booking h3 { min-height: 48px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.dj-booking form { padding-top: 16px; }
.booking-status { margin: 14px 0; }
.availability-demo { color: #c9cdbf; }
.booking-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dj-booking .consent { margin-block: 18px; }
.dj-booking .button { max-width: 100%; white-space: normal; }
.dj-booking p[role] { margin-top: 16px; }
@media (max-width: 600px) { .availability-fields { grid-template-columns: 1fr 1fr; } .availability-fields label:first-child { grid-column: 1 / -1; } .booking-fields { grid-template-columns: 1fr; } }

/* Approved roles. Geometry, colour and decorative notes live in layout styles. */
:root {
  --text-display-xl: clamp(3.5rem, 5vw, 4.875rem);
  --text-display-l: clamp(3rem, 4.2vw, 4rem);
  --text-h2: clamp(2.25rem, 3vw, 2.75rem);
  --text-h3: clamp(1.375rem, 2vw, 1.875rem);
  --text-body-lg: clamp(1.125rem, 1.35vw, 1.25rem);
  --text-body: 1rem;
  --text-small: .875rem;
  --text-eyebrow: .8125rem;
  --text-button: .8125rem;
  --text-tag: .6875rem;
  --text-price: clamp(1.125rem, 1.5vw, 1.5rem);
  --text-stat: clamp(4.5rem, 6.5vw, 6.875rem);
  --leading-display: .9;
  --tracking-display: -.045em;
}

body { font-family: var(--font-sans); font-size: var(--text-body); font-weight: 400; line-height: 1.5; letter-spacing: -.005em; font-synthesis: none; overflow-wrap: anywhere; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4 { font-family: var(--font-sans); }
h1, h2 { font-weight: 800; letter-spacing: -.035em; line-height: .96; overflow-wrap: anywhere; }
h2, .text-h2 { font-size: var(--text-h2); }
h3, .text-h3 { font-size: var(--text-h3); font-weight: 700; line-height: 1.1; letter-spacing: -.015em; }
p, .text-body { font-size: var(--text-body); font-weight: 400; line-height: 1.5; letter-spacing: -.005em; }
.text-display-xl, .hero h1, .about h2, .team-copy h2, .selection h2, .team-page-intro h1 {
  font-size: var(--text-display-xl); font-weight: 800; line-height: var(--leading-display); letter-spacing: var(--tracking-display);
}
.hero h1 { line-height: .91; }
.about h2 { font-size: calc(var(--text-display-xl) * .88); }
.text-display-l, .section-heading h2, .stats-intro h2, .lead-copy h2, .team-career h2, .media-index h1, .policy-page h1 {
  font-size: var(--text-display-l); font-weight: 800; line-height: .96; letter-spacing: -.035em;
}
.team-copy h2 { font-size: clamp(3.5rem, 4.4vw, 4.375rem); }
.text-body-lg, .hero-copy > p, .about-copy p, .team-copy > p, .selection-intro p, .section-heading p, .stats-intro p, .lead-copy p, .index-intro, .team-career p:not(.section-label) {
  font-size: var(--text-body-lg); line-height: 1.45; letter-spacing: -.01em; font-weight: 400; max-width: 62ch;
}
.hero-copy > p { font-size: 1.125rem; max-width: 650px; }
.section-heading p, .stats-intro p { max-width: 650px; }
.team-copy > p { max-width: 390px; }
.text-small, .case-card p, .process-grid p, .client-review > p, .team-row-info p, .team-date-filter p { font-size: var(--text-small); line-height: 1.5; font-weight: 400; }
.text-eyebrow, .section-label { font-size: var(--text-eyebrow); font-weight: 500; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
.micro { font-size: .75rem; font-weight: 500; line-height: 1.35; }
.desktop-nav a, .desktop-nav .nav-pending, .footer-main nav a, .navigation-panel nav a, .navigation-panel nav .nav-pending {
  font-size: .8125rem; font-weight: 500; line-height: 1; letter-spacing: .035em; text-transform: uppercase;
}
.footer-main nav a { font-size: .75rem; }
.navigation-panel small { font-size: .75rem; }
.text-button, .button, .review-original { font-family: var(--font-sans); font-size: var(--text-button); font-weight: 600; line-height: 1; letter-spacing: .02em; text-transform: uppercase; }
.button { overflow-wrap: anywhere; }
.dj-tags li, .article-tags li, .team-category-list button { font-size: var(--text-tag); font-weight: 500; line-height: 1; letter-spacing: .035em; text-transform: uppercase; }
.values-grid span { font-size: .8125rem; font-weight: 600; line-height: 1.4; text-transform: uppercase; }
.event-grid span { font-size: .75rem; font-weight: 500; line-height: 1.4; }
.dj-card h3, .dj-portfolio .modal-heading h2, .team-row-info h2, .step-number, .service-number, .team-row-photo > span, .text-price, .text-stat, .stats-grid dd, .brand-accent {
  font-family: var(--font-display); font-weight: 500;
}
.dj-card h3 { font-size: clamp(1.125rem, 1.4vw, 1.375rem); line-height: 1.1; letter-spacing: -.015em; overflow-wrap: anywhere; }
.step-number { font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1; letter-spacing: -.04em; }
.process-grid h3 { font-size: 1rem; font-weight: 600; line-height: 1.15; letter-spacing: -.015em; }
.service-number { font-size: 1.5rem; line-height: 1; }
.case-card h3, .service-copy h3, .article-copy h3 { font-size: var(--text-h3); font-weight: 700; line-height: 1.1; letter-spacing: -.015em; }
.article-card:first-child h3 { font-size: var(--text-h3); }
.demo-label, .case-facts dt { font-weight: 500; }
.text-stat, .stats-grid dd { font-size: var(--text-stat); line-height: .9; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.stats-grid dt { font-size: clamp(.75rem, 1vw, .9375rem); font-weight: 500; line-height: 1.4; letter-spacing: .03em; text-transform: uppercase; margin-top: .5rem; }
.service-copy p, .organizer-review p, .modal-inner p { font-size: var(--text-body); line-height: 1.5; }
.service-copy summary { font-size: .75rem; font-weight: 500; }
.review-column-title { font-size: 1.125rem; font-weight: 600; line-height: 1.2; }
.client-review blockquote { font-size: 1.125rem; font-weight: 400; line-height: 1.45; }
.organizer-review h4 { font-size: 1.125rem; font-weight: 600; line-height: 1.2; }
.organizer-review .organizer-role { font-size: .8125rem; font-weight: 400; line-height: 1.4; }
.modal-heading h2 { font-size: var(--text-h2); font-weight: 700; line-height: 1.05; letter-spacing: -.025em; overflow-wrap: anywhere; }
.dj-portfolio .modal-heading h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.1; letter-spacing: -.025em; }
.portfolio-info h3 { font-weight: 600; }
.case-facts dt { font-size: .75rem; line-height: 1.4; letter-spacing: .05em; }
.case-facts dd { font-size: var(--text-body); }
.lead-fields label, .availability-fields label, .booking-fields label, .team-toolbar label { font-size: .75rem; font-weight: 500; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }
.lead-fields input, .lead-fields select, .availability-fields input, .booking-fields input, .booking-fields select, .team-toolbar select { font-family: var(--font-sans); font-size: 1rem; font-weight: 400; line-height: 1.4; letter-spacing: normal; text-transform: none; }
.availability-fields input { font-weight: 500; }
.consent, .privacy-note, .availability-fields small, .availability-demo { font-size: .75rem; font-weight: 400; line-height: 1.5; letter-spacing: normal; text-transform: none; }
.field-error { font-size: .8125rem; font-weight: 400; line-height: 1.4; letter-spacing: normal; text-transform: none; }
.form-error, .form-success, .dj-booking p[role] { font-size: var(--text-body); font-weight: 400; line-height: 1.5; }
.dj-booking h3, .team-date-filter h2 { font-size: 1.125rem; font-weight: 700; line-height: 1.15; letter-spacing: -.015em; }
.booking-status { font-size: var(--text-small); font-weight: 600; line-height: 1.4; }
.footer-main address > *, .footer-bottom { font-size: .8125rem; font-weight: 400; line-height: 1.4; }
.team-page-intro-copy h2 { font-size: clamp(1.125rem, 1.6vw, 1.5rem); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.team-page-intro-copy p { font-size: var(--text-body); line-height: 1.5; }
.team-filter-feedback { font-size: var(--text-small); font-weight: 600; line-height: 1.4; }
.team-row-info h2 { font-size: var(--text-h3); line-height: 1.1; letter-spacing: -.015em; }
.team-row-photo > span { font-size: 1.125rem; line-height: 1; }
.team-row-status strong { font-size: .8125rem; font-weight: 600; line-height: 1.3; }
.team-row-status small, .price-caption { font-size: .75rem; font-weight: 500; line-height: 1.4; letter-spacing: .05em; }
.text-price { font-size: var(--text-price); line-height: 1; letter-spacing: -.025em; }
.team-row-action .text-price { line-height: 1.3; }
.media-drafts h2 { font-size: var(--text-h2); font-weight: 700; line-height: 1; letter-spacing: -.025em; }
.policy-page h2 { font-size: var(--text-h2); font-weight: 700; line-height: 1; }
.policy-page p { max-width: 760px; }

/* Long-form foundation; usable by future CMS article renderers. */
.article-title { font: 800 var(--text-display-l)/.96 var(--font-sans); letter-spacing: -.035em; }
.article-lead { font: 400 clamp(1.125rem, 1.5vw, 1.375rem)/1.45 var(--font-sans); max-width: 65ch; }
.article-body { max-width: 760px; font: 400 1.125rem/1.65 var(--font-sans); }
.article-body p { font: inherit; margin-block: 1em; }
.article-h2, .article-body h2 { font: 700 clamp(1.875rem, 2.8vw, 2.5rem)/1.05 var(--font-sans); letter-spacing: -.025em; margin-block: 1.5em .6em; }
.article-h3, .article-body h3 { font: 600 clamp(1.375rem, 2vw, 1.75rem)/1.15 var(--font-sans); letter-spacing: -.015em; margin-block: 1.5em .6em; }
.article-meta, .article-caption { font: 500 .8125rem/1.4 var(--font-sans); }
.article-quote, .article-body blockquote { font: 500 clamp(1.25rem, 2vw, 1.75rem)/1.35 var(--font-sans); margin-inline: 0; }
.hand-note { font-synthesis: style; }

@media (max-width: 1000px) {
  :root { --text-display-xl: clamp(3rem, 5.8vw, 3.625rem); --text-display-l: clamp(2.5rem, 4.8vw, 3rem); --text-body-lg: 1.125rem; --text-h3: 1.375rem; }
  .team-copy h2 { font-size: var(--text-display-xl); }
  .dj-card h3 { font-size: 1.125rem; }
}
@media (max-width: 600px) {
  :root {
    --text-display-xl: clamp(2.25rem, 10vw, 2.75rem);
    --text-display-l: clamp(2rem, 9vw, 2.375rem);
    --text-h2: clamp(1.75rem, 8vw, 2rem);
    --text-h3: clamp(1.25rem, 5.6vw, 1.5rem);
    --text-body-lg: 1.0625rem;
    --text-body: 1rem;
    --text-small: .875rem;
    --text-eyebrow: .6875rem;
    --text-stat: clamp(3.25rem, 12vw, 4.5rem);
    --leading-display: .96;
    --tracking-display: -.035em;
  }
  .hero h1 { line-height: .96; }
  .hero-copy > p { font-size: 1rem; }
  .about h2 { font-size: var(--text-display-xl); }
  .dj-card h3 { font-size: clamp(1rem, 4.6vw, 1.1875rem); }
  .step-number { font-size: 2.25rem; }
  .client-review blockquote { font-size: 1rem; }
  .team-row-photo > span { font-size: .75rem; }
  .article-body { font-size: 1rem; }
}

/* Bound wide numerals to the approved column composition. */
.stats-grid { container-type: inline-size; }
.stats-grid dd { font-size: min(var(--text-stat), 7.2cqi); }
@media (max-width: 600px) { .stats-grid dd { font-size: min(var(--text-stat), 15cqi); } }

/* Let enlarged step numerals reserve their own width instead of covering copy. */
@media (max-width: 600px) { .process-grid > li { grid-template-columns: max-content minmax(0, 1fr); } }

/* Native controls must grow with 200% text rather than clip their baseline. */
.availability-fields { align-items: end; }
.availability-fields input, .booking-fields input, .booking-fields select { height: auto; min-height: max(46px, calc(1.4em + 18px)); }

.text-h2 { font-weight: 700; line-height: 1; letter-spacing: -.025em; }

/* Profile V2 is scoped: homepage cards, catalogue and other dialogs keep their layout. */
.dj-profile-v2 { width: min(1600px, calc(100vw - 40px)); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); background: var(--ink); overscroll-behavior: contain; }
.dj-profile-v2 .modal-inner { padding: 26px; position: relative; }
.profile-dialog-heading { position: sticky; top: 12px; z-index: 8; display: flex; justify-content: flex-end; height: 0; }
.profile-dialog-heading .round-control { background: var(--ink); }
.profile-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr) minmax(260px, .78fr); grid-template-areas: 'portrait identity booking' 'portrait bio booking' 'portrait details booking'; grid-template-rows: auto auto 1fr; column-gap: 30px; row-gap: 25px; align-items: start; }
.profile-identity { grid-area: identity; min-width: 0; }
.profile-eyebrow { font-family: var(--font-sans); font-weight: 500; font-size: 11px; letter-spacing: .06em; line-height: 1.4; color: #a7a9a2; }
.profile-identity h2 { font-family: var(--font-display); font-weight: 500; font-size: clamp(26px, 2.8vw, 44px); line-height: 1.05; letter-spacing: -.025em; margin: 15px 0 10px; }
.dj-profile-v2 .profile-fullname { font-size: 18px; font-weight: 600; margin: 8px 0; }
.dj-profile-v2 .profile-role { font-size: 14px; color: #c6c9be; margin: 8px 0; }
.profile-identity .dj-tags { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.profile-identity .dj-tags li { padding: 6px 12px; border-radius: 22px; }
.profile-portrait { grid-area: portrait; position: relative; top: 0; align-self: start; height: min(840px, calc(100dvh - 76px)); min-height: 500px; border: 0; }
.profile-portrait > .asset-image { height: 100%; }
.profile-biography { grid-area: bio; min-width: 0; }
.dj-profile-v2 .profile-statement { font-family: var(--font-sans); font-weight: 700; font-size: clamp(22px, 2vw, 30px); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 22px; }
.profile-bio-copy p { white-space: pre-line; }
.dj-profile-v2 .profile-bio-copy p { font-size: 16px; line-height: 1.5; margin: 0 0 16px; color: #c6c9be; }
.profile-facts { display: flex; flex-wrap: wrap; gap: 18px; border-top: 1px solid var(--line); padding-top: 20px; margin: 26px 0 0; }
.profile-facts > div { flex: 1 1 130px; display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.profile-facts dt { font-size: 11px; font-weight: 500; letter-spacing: .035em; color: #a7a9a2; }
.profile-facts dd { font-size: 16px; font-weight: 600; margin: 0 0 6px; }
.profile-facts .profile-regions { flex-direction: column; }
.profile-facts .profile-regions dd { font-size: 14px; font-weight: 400; margin-top: 8px; }
.dj-profile-v2 .profile-regions p { font-size: 14px; margin: 6px 0 0; }
.profile-booking { grid-area: booking; min-width: 0; border: 1px solid var(--line); border-radius: 6px; padding: 22px 18px; margin-top: 78px; }
.profile-booking .dj-booking { border: 0; margin: 0; padding: 0; }
.profile-booking .dj-booking h3 { font-size: 22px; line-height: 1.05; min-height: 0; margin: 14px 0 18px; }
.profile-availability { font-size: 12px; font-weight: 600; line-height: 1.4; }
.profile-availability strong::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: currentColor; margin-right: 9px; }
.profile-availability [data-availability=AVAILABLE] { color: #85ed88; }
.profile-availability [data-availability=HOLD], .profile-availability [data-availability=PARTIAL] { color: #f3cf57; }
.profile-availability [data-availability=BUSY] { color: #ff8585; }
.profile-booking .booking-fields { grid-template-columns: 1fr; }
.profile-booking .availability-fields { grid-template-columns: 1fr 1fr; }
.profile-booking .availability-fields label:first-child { grid-column: 1 / -1; }
.profile-booking .availability-fields small { font-size: 11px; }
.dj-profile-v2 .booking-status p { font-size: 13px; line-height: 1.4; margin: 8px 0; }
.profile-booking .button { width: 100%; padding-inline: 12px; margin-top: 8px; }
.profile-pricing { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 20px; }
.dj-profile-v2 .profile-pricing p { margin: 8px 0 0; font-size: 14px; line-height: 1.4; }
.dj-profile-v2 .profile-pricing .text-price { font-family: var(--font-display); font-weight: 500; font-size: clamp(22px,2vw,30px); line-height: 1.1; }
.profile-professional { grid-area: details; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,140px),1fr)); gap: 18px; padding-top: 20px; border-top: 1px solid var(--line); }
.profile-professional h3 { font-size: 12px; line-height: 1.3; font-weight: 600; margin: 0 0 12px; }
.profile-professional li { font-size: 14px; line-height: 1.45; color: #c6c9be; }
.profile-without-portrait { grid-template-columns: minmax(0,1fr) minmax(280px,.5fr); grid-template-areas: 'identity booking' 'bio booking' 'details booking'; }
.profile-media { margin-top: 36px; }
.profile-tabs { display: flex; gap: 34px; }
.profile-tabs > button { min-height: 52px; border: 0; border-bottom: 2px solid transparent; padding: 10px 0; background: transparent; font-size: 13px; font-weight: 600; letter-spacing: .03em; }
.profile-tabs > button[aria-selected=true] { border-bottom-color: var(--acid); }
.profile-tabs span { margin-left: 10px; color: #a7a9a2; font-size: 11px; font-weight: 400; }
.profile-media-panel { margin-top: 18px; }
.profile-photo-grid .carousel-controls:empty { display: none; }
.profile-photo { padding: 0; border: 1px solid var(--line); background: var(--ink); position: relative; min-height: 0; overflow: hidden; }
.profile-photo .asset-image { height: 100%; }
.profile-photo > span { position: absolute; bottom: 0; left: 0; right: 0; background: #080908d9; padding: 10px; font-size: 12px; text-align: left; }
.profile-video { position: relative; text-align: left; background: transparent; border: 1px solid var(--line); padding: 0 0 16px; }
.profile-video > .asset-image, .video-poster { aspect-ratio: 16/10; }
.video-poster { display: grid; place-items: center; background: #10130e; }
.video-play { position: absolute; top: 20px; left: 20px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--paper); border-radius: 50%; background: #080908b3; }
.profile-video strong, .profile-video small { display: block; margin: 14px 16px 0; }
.profile-reviews { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 20px; }
.profile-reviews article { border: 1px solid var(--line); padding: 22px; }
.profile-reviews blockquote { margin: 0 0 18px; font-size: 18px; font-weight: 400; }
.profile-reviews h3 { font-size: 18px; margin-top: 12px; }
.profile-review-portrait { width: 70px; height: 70px; margin-bottom: 18px; }
.profile-lightbox { width: min(1100px,calc(100vw - 24px)); }
.profile-lightbox-image { height: 72dvh; }
.profile-lightbox-controls { display: flex; gap: 12px; justify-content: end; margin-top: 16px; }
.profile-lightbox video { max-height: 75dvh; }
.profile-video-embed { width: 100%; aspect-ratio: 16/9; border: 0; }
.profile-loading { padding: 80px 20px; }
.profile-music-list, .music-page-list { display: grid; gap: 20px; }
.soundstate-player { display: flex; align-items: start; gap: 22px; padding: 22px; border: 1px solid var(--line); min-width: 0; }
.soundstate-player .music-cover { width: 120px; aspect-ratio: 1; flex: 0 0 120px; }
.music-main { flex: 1; min-width: 0; }
.music-main h3 { font-size: 22px; line-height: 1.1; margin: 8px 0; }
.music-main p { font-size: 14px; margin: 8px 0; }
.audio-controls { display: flex; gap: 16px; align-items: center; margin-top: 16px; }
.audio-timeline { flex: 1; min-width: 0; }
.audio-timeline input { display: block; width: 100%; min-height: 44px; accent-color: var(--acid); cursor: pointer; }
.audio-timeline > div { display: flex; justify-content: space-between; font-size: 12px; }
.music-main iframe { width: 100%; height: 170px; border: 0; margin-top: 18px; }
.media-empty { color: #c6c9be; padding-block: 25px; }
.media-empty a { text-decoration: underline; }
.music-page { padding-block: 180px 80px; min-height: 100dvh; }
.music-page-list { margin-top: 40px; }
@media (max-width: 1200px) {
 .profile-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.3fr); grid-template-areas: 'portrait identity' 'portrait bio' 'booking details'; gap: 24px; }
 .profile-portrait { position: relative; top: 0; height: 640px; min-height: 0; }
 .profile-identity { padding-right: 45px; padding-top: 35px; }
 .profile-booking { margin-top: 0; }
 .profile-without-portrait { grid-template-areas: 'identity booking' 'bio booking' 'details booking'; }
}
@media (max-width: 768px) {
 .dj-profile-v2 { width: calc(100vw - 24px); }
 .dj-profile-v2 .modal-inner { padding: 20px; }
 .profile-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: 'identity' 'portrait' 'bio' 'booking' 'details'; }
 .profile-identity { padding-top: 0; }
 .profile-portrait { height: min(720px,80dvh); }
 .profile-without-portrait { grid-template-areas: 'identity' 'bio' 'booking' 'details'; }
 .profile-tabs { gap: 25px; }
}
@media (max-width: 600px) {
 .dj-profile-v2 { width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; }
 .dj-profile-v2 .modal-inner { padding: max(18px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom)); }
 .profile-identity h2 { font-size: clamp(23px,6vw,32px); }
 .profile-portrait { height: min(660px,75svh); }
 .profile-professional { grid-template-columns: 1fr; }
 .profile-booking .availability-fields, .profile-booking .booking-fields { grid-template-columns: 1fr; }
 .profile-booking .availability-fields label { grid-column: 1; }
 .profile-tabs { gap: 0; justify-content: space-between; }
 .profile-tabs > button { font-size: 11px; }
 .profile-tabs span { margin-left: 5px; font-size: 10px; }
 .soundstate-player { flex-direction: column; padding: 18px; }
 .soundstate-player .music-cover { width: 100px; flex-basis: auto; }
 .music-main { width: 100%; }
 .music-page { padding-top: 125px; }
}



/* A compact, single-row gallery keeps portrait and landscape media intact. */
.profile-media-toolbar { display: flex; align-items: center; gap: 18px; justify-content: space-between; border-bottom: 1px solid var(--line); }
.profile-media-controls { flex: 0 0 auto; }
.profile-media-controls .carousel-controls { position: static; margin: 0; display: flex; gap: 4px; }
.profile-media-controls .round-control { width: 36px; height: 36px; min-width: 36px; min-height: 36px; }
.profile-media-controls .round-control svg { width: 16px; height: 16px; }
.profile-photo-grid .carousel-track, .profile-video-grid .carousel-track { grid-template-columns: none; grid-template-rows: 320px; grid-auto-columns: calc((100% - 24px) / 3); gap: 12px; padding: 0 0 12px; }
.profile-photo-grid .profile-photo { grid-row: auto; }
.photos-1 .carousel-track { grid-template-columns: 1fr; }
.photos-2 .carousel-track { grid-template-columns: 1fr 1fr; }
.profile-video { display: flex; flex-direction: column; min-width: 0; }
.profile-video > .asset-image, .profile-video .video-poster { width: 100%; flex: 1; min-height: 0; aspect-ratio: auto; }
.profile-lightbox video { width: 100%; height: min(70dvh, 720px); object-fit: contain; }
@media(max-width:768px) {
 .profile-photo-grid .carousel-track, .profile-video-grid .carousel-track { grid-template-columns: none; grid-auto-columns: calc((100% - 12px) / 2); }
 .profile-tabs { gap: 16px; }
}
@media(max-width:600px) {
 .profile-media-toolbar { gap: 4px; }
 .profile-tabs { flex: 1; gap: 2px; justify-content: space-between; }
 .profile-tabs > button { font-size: 10px; }
 .profile-tabs span { margin-left: 3px; font-size: 9px; }
 .profile-media-controls .round-control { width: 32px; height: 44px; min-width: 32px; min-height: 44px; border: 0; }
 .profile-photo-grid .carousel-track, .profile-video-grid .carousel-track { grid-auto-columns: 85%; grid-template-rows: 300px; }
 .photos-1 .carousel-track { grid-auto-columns: 100%; }
}

.profile-photo { display: flex; flex-direction: column; }
.profile-photo .asset-image { flex: 1; min-height: 0; width: 100%; }
.profile-photo > span { position: static; flex: 0 0 auto; }
@media(max-width:600px) { .profile-media-controls .round-control:hover:not(:disabled) { background: transparent; color: var(--acid); } }

.dj-card-info .dj-card-fullname { margin: 8px 0 0; font: 400 clamp(13px,1.2vw,18px)/1.3 var(--font-sans); color: var(--paper); }
.profile-facts, .profile-professional { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.profile-facts h3 { margin: 0 0 8px; font: 600 15px/1.3 var(--font-sans); overflow-wrap: anywhere; }
.dj-profile-v2 .profile-facts p, .dj-profile-v2 .profile-professional p { margin: 0; font: 400 14px/1.45 var(--font-sans); white-space: pre-line; overflow-wrap: anywhere; color: #c6c9be; }
@media(max-width:600px) { .profile-facts, .profile-professional { grid-template-columns: 1fr; } }

/* Photo spreads: one lead image and a balanced contact sheet, without cropping. */
.profile-photo-grid .carousel-track { grid-template-columns: none; grid-template-rows: auto; grid-auto-columns: 100%; gap: 16px; padding-bottom: 8px; }
.profile-photo-spread { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr); gap: 12px; height: clamp(280px, 28vw, 420px); min-width: 0; }
.profile-photo-spread > *, .profile-photo-thumbnails > * { min-width: 0; min-height: 0; }
.profile-photo-thumbnails { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); grid-auto-flow: column; gap: 12px; }
.spread-1 { grid-template-columns: 1fr; }
.spread-2 { grid-template-columns: 1fr 1fr; }
.spread-2 .profile-photo-thumbnails { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.spread-3 .profile-photo-thumbnails { grid-template-columns: 1fr; }
.spread-4 .profile-photo-thumbnails, .spread-5 .profile-photo-thumbnails { grid-template-columns: repeat(2,minmax(0,1fr)); }
.spread-4 .profile-photo-thumbnails > :last-child, .spread-6 .profile-photo-thumbnails > :last-child { grid-row: span 2; }
.profile-photo-spread .profile-photo { width: 100%; height: 100%; background: #080908; }
.profile-photo-spread .profile-photo > span { max-height: 3.5em; overflow: auto; }
@media(max-width:600px) {
 .profile-photo-spread { height: 460px; grid-template-columns: 1fr; grid-template-rows: minmax(0,1.3fr) minmax(0,1fr); gap: 8px; }
 .profile-photo-thumbnails { gap: 8px; }
 .spread-1 { height: 320px; grid-template-rows: 1fr; }
 .spread-2 { height: 320px; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
 .spread-3 .profile-photo-thumbnails { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
}

/* Intrinsic proportions keep borders close to the actual photographs. */
.profile-photo-grid .intrinsic-spread { width: min(100%, calc(420px * var(--ratio))); height: auto; aspect-ratio: var(--ratio); grid-template-columns: minmax(0,calc(var(--lead) * 1fr)) minmax(0,calc(var(--right) * 1fr)); gap: 6px; }
.profile-photo-grid .intrinsic-spread:has(> :only-child) { grid-template-columns: 1fr; }
.intrinsic-spread .profile-photo-thumbnails { grid-template-columns: 1fr; grid-auto-flow: row; gap: 6px; }
.profile-photo-row { display: grid; gap: 6px; min-height: 0; min-width: 0; }
.intrinsic-spread .profile-photo { border: 0; min-height: 0; min-width: 0; }
@media(max-width:600px) {
 .profile-photo-grid .intrinsic-spread { width: 100%; height: auto; aspect-ratio: auto; grid-template-columns: 1fr; grid-template-rows: auto auto; }
 .intrinsic-spread > .profile-photo { height: 260px; width: min(100%,calc(260px * var(--lead))); justify-self: center; }
 .intrinsic-spread .profile-photo-thumbnails { aspect-ratio: var(--thumb-ratio); }
}
@media(max-width:600px) { .profile-photo-grid .intrinsic-spread { grid-template-columns: 1fr !important; } }
.profile-photo-grid { container-type: inline-size; }
.profile-photo-grid .carousel-track { grid-auto-columns: max-content; }
.profile-photo-grid .intrinsic-spread { width: min(100cqw, calc(420px * var(--ratio))); }
@media(max-width:600px) { .profile-photo-grid .intrinsic-spread { width: 100cqw; } }
.sound-dock { position: fixed; bottom: 0; inset-inline: 0; z-index: 100; background: #10120f; border-top: 1px solid var(--acid); padding: 16px max(20px,4vw) max(16px,env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 24px; box-shadow: 0 -10px 40px #0008; }
.sound-dock-title { flex: 0 1 280px; min-width: 0; }.sound-dock-title strong,.sound-dock-title small { display:block; }.sound-dock-title strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.sound-dock>.audio-controls {flex:1;min-width:0}.sound-dock-actions {display:flex;gap:8px}.sound-volume { font-size:11px; width:90px;flex-shrink:0; }.sound-volume input {width:100%;accent-color:var(--acid)}
@media(max-width:600px){.sound-dock {flex-wrap:wrap;gap:10px;padding:12px}.sound-dock-title{flex:1}.sound-dock>.audio-controls{order:3;flex-basis:100%}.sound-dock-actions .round-control{width:36px;height:36px}.sound-volume{width:60px}}
.audio-timeline .audio-wave { position: relative; height: 64px; display: block; width: 100%; }
.audio-wave svg { display: block; width: 100%; height: 100%; overflow: hidden; }
.audio-wave input[type=range] { position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer; }
.audio-wave:focus-within { outline: none; }
.audio-wave-tooltip { position:absolute;top:-24px;transform:translateX(-50%);background:#eceee8;color:#090b08;padding:3px 6px;border-radius:4px;font-size:11px;pointer-events:none; }
.audio-wave-fallback { position:absolute;bottom:0;left:0;right:0;height:3px;background:#4d5258; }
.audio-wave-fallback>span { display:block;height:100%;background:var(--acid); }.audio-wave-fallback small { position:absolute;bottom:10px;color:#8e9387;white-space:nowrap; }
.audio-timeline .audio-times { display:flex;justify-content:space-between; margin-top:6px; }
.sound-dock .audio-wave { height:38px; }
@media(max-width:600px){.audio-timeline .audio-wave{height:48px}.sound-dock .audio-wave{height:32px}}
.audio-controls { flex-wrap: wrap; }
.audio-playback-error { flex-basis:100%;font-size:12px; }
.audio-timeline { min-width:0; }


/* Video previews follow their source proportions, with a shared height. */
.profile-video-grid { container-type: inline-size; }
.profile-video-grid .carousel-track { grid-auto-columns: max-content; grid-template-rows: auto; gap: 16px; align-items: start; }
.profile-video-grid .profile-video { width: min(100cqw, calc(320px * var(--video-ratio))); border: 0; padding: 0; text-align: center; align-items: center; }
.profile-video-grid .profile-video > .asset-image, .profile-video-grid .video-poster { flex: none; width: 100%; height: auto; aspect-ratio: var(--video-ratio); }
.profile-video-grid .profile-video strong, .profile-video-grid .profile-video small { margin: 12px 0 0; width: 100%; text-align: center; overflow-wrap: anywhere; }
@media(max-width:600px) { .profile-video-grid .profile-video { width: min(90cqw, calc(260px * var(--video-ratio))); } }

.team-page { padding-top: clamp(120px, 12vw, 180px); }
.team-page-intro h1 { margin: 22px 0; }
.team-page-intro-copy { display: grid; grid-template-columns: 1.3fr 1fr; gap: 10%; align-items: start; }
.team-page-intro-copy h2 { color: #adb0a7; }
.team-page-intro-copy p { max-width: 470px; }
.team-date-filter { display: grid; grid-template-columns: 1fr 1.7fr auto; align-items: center; gap: 26px; padding: 25px; border: 1px solid #62675b; margin-top: 36px; }
.team-date-filter h2 { margin-bottom: 8px; }
.team-date-filter p { color: #b9bdb3; }
.team-date-filter .button { padding-inline: 22px; }
.team-filter-feedback { display: flex; justify-content: space-between; gap: 12px; color: #b9bdb3; margin: 12px 0 28px; }
.team-filter-feedback button,.team-empty button { background: none; color: var(--acid); border: 0; text-decoration: underline; cursor: pointer; min-height: 44px; }
.team-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.team-category-list { display: flex; flex-wrap: wrap; gap: 4px; }
.team-category-list button { min-height: 44px; padding: 8px 15px; border: 1px solid transparent; border-radius: 24px; background: transparent; color: inherit; cursor: pointer; }
.team-category-list button[aria-pressed=true] { background: var(--acid); color: var(--ink); }
.team-toolbar label { min-width: 195px; }
.team-toolbar select { display: block; min-height: 44px; width: 100%; color: inherit; background: #0b0d09; border: 1px solid #62675b; padding: 8px; margin-top: 4px; }
.team-directory-row { display: grid; grid-template-columns: minmax(170px, 22%) minmax(0, 1fr) minmax(135px, 17%) minmax(185px, 20%); gap: 24px; align-items: center; border-top: 1px solid #55594f; padding-block: 14px; min-height: 180px; }
.team-row-photo { position: relative; height: 175px; padding-left: 28px; }
.team-row-photo > span { position: absolute; left: 0; top: 4px; color: #8e9387; }
.team-row-photo .asset-image { height: 100%; width: 100%; }
.team-row-info h2 { margin-bottom: 12px; }
.team-row-info .dj-tags { display: flex; flex-wrap: wrap; flex-direction: row; gap: 6px; }
.team-row-info p { color: #b9bdb3; margin-top: 12px; }
.team-row-status strong { display: block; }
.team-row-status strong::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: currentColor; margin-right: 8px; }
.team-row-status [data-availability=AVAILABLE] { color: #85ed88; }
.team-row-status [data-availability=HOLD],.team-row-status [data-availability=PARTIAL] { color: #f3cf57; }
.team-row-status [data-availability=BUSY] { color: #ff8585; }
.team-row-status small { display: block; color: #b9bdb3; margin-top: 10px; }
.team-row-action p { margin-bottom: 16px; }
.team-row-action .button { padding-inline: 18px; width: 100%; }
.team-career { border-top: 1px solid #55594f; margin-top: 24px; padding-block: 70px; }
.team-career > .shell { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8%; align-items: center; }
.team-career p:not(.section-label) { max-width: 590px; margin-top: 22px; color: #c6c9bf; }
.team-career-actions { display: grid; gap: 16px; }
.team-empty { padding: 50px 0; }
@media (max-width: 1200px) { .team-date-filter { grid-template-columns: 1fr 2fr; } .team-date-filter > .button { grid-column: 2; justify-self: end; } .team-directory-row { gap: 16px; grid-template-columns: 18% minmax(0,1fr) 16% 22%; } }
@media (max-width: 1000px) { .team-directory-row { grid-template-columns: 180px minmax(0,1fr) 190px; } .team-row-photo { grid-row: span 2; height: 195px; } .team-row-info { grid-row: span 2; } .team-row-status { align-self: end; } .team-row-action { grid-column: 3; } .team-toolbar { align-items: start; } }
@media (max-width: 768px) { .team-page-intro-copy { grid-template-columns: 1fr; gap: 20px; } .team-date-filter { grid-template-columns: 1fr; padding: 20px; } .team-date-filter > .button { grid-column: auto; } .team-directory-row { grid-template-columns: 145px minmax(0,1fr); } .team-row-photo { height: 170px; } .team-row-status { grid-column: 2; } .team-row-info { grid-row: auto; } .team-row-action { grid-column: 2; } .team-toolbar { flex-direction: column; } .team-career > .shell { grid-template-columns: 1fr; gap: 30px; } }
@media (max-width: 600px) { .team-directory-row { grid-template-columns: 34% minmax(0,1fr); gap: 16px; padding-block: 22px; } .team-row-photo { padding-left: 0; height: 160px; grid-row: auto; } .team-row-photo > span { z-index: 1; top: 4px; left: 5px; background: #090b08; padding: 2px 4px; } .team-row-info h2 { overflow-wrap: anywhere; } .team-row-status { grid-column: 1 / -1; } .team-row-action { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; } .team-row-action p { margin: 0; } .team-row-action .button { width: auto; flex: 1; } .team-filter-feedback { flex-direction: column; } .team-date-filter > .button { width: 100%; padding-inline: 12px; } }

.team-page-intro,.team-career { position: relative; isolation: isolate; }
.team-intro-backdrop,.team-career-backdrop { position: absolute; inset: -45px 0 0 30%; z-index: -1; pointer-events: none; opacity: .3; mask-image: linear-gradient(90deg, transparent, #000 45%), linear-gradient(0deg, transparent, #000 60%); mask-composite: intersect; }
.team-intro-backdrop .asset-image,.team-career-backdrop .asset-image { height: 100%; }
.team-career-backdrop { inset: 0; opacity: .22; }

/* Give catalogue portraits room while preserving the complete uploaded image. */
.team-row-photo { height: clamp(280px, 23vw, 340px); }
.team-row-photo .asset-image { background: transparent; }
@media (max-width:1000px) { .team-row-photo { height: 250px; } }
@media (max-width:768px) { .team-row-photo { height: 220px; } }
@media (max-width:600px) {
 .team-directory-row { grid-template-columns: 42% minmax(0,1fr); }
 .team-row-photo { height: clamp(190px,56vw,280px); }
}

/* Prototype-only additions to the original SoundState styles. */
html{scroll-padding-top:178px}body{padding-top:38px}.prototype-note{position:fixed!important;inset:0 0 auto}.site-header{position:fixed!important}.stats-grid.work-grid>div{border-top:1px solid #4f5445}
.stats-grid.work-grid>div{flex-direction:column;justify-content:flex-start}.stats-grid.work-grid dd{white-space:normal;color:#26320c}.demo-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-feedback p{font-size:13px;margin-top:18px;color:var(--acid)}
.prototype-note{position:relative;z-index:40;display:flex;align-items:center;gap:18px;padding:9px 5%;background:#161911;border-bottom:1px solid #414936;color:#c6c9be;font-size:11px;line-height:1.4}
.prototype-note>span{color:var(--acid);white-space:nowrap;font-weight:700}.prototype-note p{font-size:11px;line-height:1.4}.prototype-note>a{margin-left:auto;white-space:nowrap;text-decoration:underline}
.site-header{position:absolute;top:38px;height:120px}.header-inner{gap:20px}.logo{width:150px;height:106px}.desktop-nav{gap:22px}.desktop-nav a{font-size:12px;letter-spacing:0}.header-tools{display:flex;align-items:center;gap:14px}.entry-link{font-size:12px;white-space:nowrap;padding:10px 0}.search-trigger{font-size:28px;border-color:#565b4d}.header-tools .menu-trigger{display:none}.hero{min-height:calc(100svh - 38px)}.hero-inner{padding-top:156px;padding-bottom:132px}.hero-copy{width:68%}.hero-copy>p{max-width:620px;margin-top:32px}.hero h1{max-width:760px}.hero-actions{margin-top:32px}.hero-bottom{bottom:42px}
.header-search{position:absolute;top:100%;left:0;right:0;padding:24px 0;background:var(--ink);border-block:1px solid var(--line)}.header-search form{display:flex;align-items:center;gap:18px}.header-search input,.name-search input{background:#0c0e0a;border:1px solid #73786b;color:var(--paper);padding:14px 16px;min-width:0;flex:1}.header-search label{font-size:14px;white-space:nowrap}.header-search .button{min-height:48px}.mobile-nav{background:var(--ink);padding-block:20px;border:1px solid var(--line)}.mobile-nav a,.mobile-nav>button{display:block;padding:14px 22px;text-align:left}
.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));container-type:normal;gap:0;border-top:1px solid #4f5445}.work-grid>div{padding:28px 26px 12px 0}.work-grid>div+div{border-left:1px solid #4f5445;padding-left:26px}.work-grid dt{font:500 clamp(.9rem,1.22vw,1.125rem)/1.3 var(--font-display);letter-spacing:-.035em;margin:0 0 18px;overflow-wrap:normal}.work-grid dd{font:400 1rem/1.5 var(--font-sans);letter-spacing:-.005em;color:#c6c9be}.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:38px}.trust-grid article{padding:25px 0;border-top:1px solid var(--line)}.trust-number{font-size:12px;color:var(--acid)}.trust-grid h3{font-size:24px;margin:22px 0 12px}.trust-grid p{color:#c6c9be}.lead-copy>.button{margin-top:30px}.dj-entry{padding-left:36px;border-left:1px solid #acafa1}.dj-entry h3{font-size:clamp(26px,3vw,40px);line-height:1.05;letter-spacing:-.035em}.dj-entry p{margin-top:24px;max-width:500px}.dj-entry small{display:block;margin-top:20px}.dj-entry .button{margin-top:24px}.lead-layout{align-items:start}.footer-main nav{flex-wrap:wrap}
dialog{color:var(--paper);background:var(--ink);border:1px solid #5c6153;padding:0;margin:auto}dialog::backdrop{background:#000c;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.info-dialog{width:min(600px,calc(100vw - 32px));padding:48px 32px 32px;max-height:85svh;overflow:auto}.dialog-close{position:absolute;right:14px;top:14px;background:var(--ink);z-index:4}.info-dialog h2{font-size:32px;margin:12px 0 24px}.info-dialog p{margin:0 0 24px}.info-dialog .button{margin:6px 6px 6px 0}.info-dialog .modal-eyebrow{color:var(--acid);font-size:12px;letter-spacing:.06em}.info-dialog .small{font-size:13px;color:#c6c9be}
.name-search{display:flex;gap:20px;align-items:center;margin:0 0 22px;flex-wrap:wrap}.name-search input{max-width:550px}.name-search>a{text-decoration:underline;font-size:13px}.route-stage{font-size:13px!important;color:#adb19f;border-left:2px solid var(--acid);padding-left:15px}.team-page-intro{padding-top:195px}.team-page-intro-copy{gap:50px}.team-row-status{font-size:13px;color:#bcc1b2}.team-directory-list{margin-top:28px}.team-directory-row .button{font-size:12px}.standalone-profile{padding-top:165px;padding-bottom:60px}.back-link{display:inline-block;margin:20px 0;text-decoration:underline}.standalone-profile>.route-stage{margin:0 0 32px}.standalone-content{width:100%;height:auto;max-height:none}.profile-source-note{font-size:12px;margin:0 0 25px;color:#b4b9a8}.profile-portrait img{width:100%;height:100%;object-fit:contain}.profile-booking label{display:block;font-size:11px;margin:16px 0 6px}.profile-booking input,.profile-booking select{width:100%;background:transparent;border:1px solid var(--line);padding:12px;color:var(--paper)}.profile-booking .demo-form-note{font-size:12px;color:#c6c9be;margin:14px 0}.profile-booking h3{margin:12px 0 20px}.profile-booking .profile-pricing .price-caption{font-size:12px}.profile-link{display:inline-block;text-decoration:underline;font-size:12px;margin-top:14px}.prototype-photos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.prototype-photos button{padding:0;background:#10120d;aspect-ratio:.75;overflow:hidden}.prototype-photos button:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.prototype-photos img{height:100%;width:100%;object-fit:cover}.photo-dialog{width:min(1100px,95vw);max-height:95svh;padding:22px}.photo-dialog>img{height:78svh;max-width:100%;object-fit:contain;margin:auto}.photo-dialog>div{display:flex;justify-content:center;gap:25px;align-items:center;margin-top:10px}.profile-media-panel video{max-width:100%;max-height:70svh}.soundstate-player audio{width:100%;margin-top:22px}.media-empty{padding:25px 0}.profile-tabs{overflow:auto}.profile-tabs button{white-space:nowrap}.profile-facts section{flex:1;min-width:100px}.profile-facts h3{font-size:13px;margin-bottom:9px}.profile-facts p,.profile-professional p{font-size:14px;white-space:pre-line}.prototype-note a:focus-visible{outline-offset:2px}
@media(max-width:1200px){.desktop-nav{gap:14px}.desktop-nav a{font-size:11px}.entry-link{font-size:11px}.header-inner{gap:12px}.logo{width:128px}.work-grid dt{font-size:14px}}
@media(max-width:1000px){.desktop-nav{display:none}.header-tools .menu-trigger{display:block}.site-header{height:98px}.logo{width:134px;height:90px}.hero-inner{padding-top:136px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid>div:nth-child(3){border-left:0;padding-left:0}.work-grid>div{border-top:1px solid #4f5445}.work-grid{border-top:0}.header-tools{margin-left:auto}.team-page-intro{padding-top:165px}}
@media(max-width:600px){.prototype-note{gap:9px;padding:7px 5%;flex-wrap:wrap}.prototype-note>span{font-size:10px}.prototype-note p{display:none}.prototype-note>a{font-size:10px}.site-header{top:29px;height:86px}.logo{width:118px;height:82px}.entry-link{display:none}.header-tools{gap:6px}.search-trigger{width:42px;height:42px}.hero{min-height:calc(100svh - 29px)}.hero-inner{padding-top:140px;padding-bottom:140px}.hero-copy{width:100%}.hero h1{font-size:clamp(36px,10vw,44px);line-height:.96}.hero-copy>p{margin-top:26px;font-size:16px;max-width:350px}.hero-actions{margin-top:26px;gap:12px}.hero-actions .button{min-width:0;width:100%;min-height:52px}.hero-side-note{display:none}.hero-bottom{bottom:30px}.hero-footnote{padding-left:0;font-size:10px}.hero-footnote>span{display:none}.hero-manifesto{font-size:10px}.scroll-cue{font-size:9px;gap:8px}.scroll-cue>span{width:32px;height:32px}.hero-shade{background:linear-gradient(0deg,#030503 3%,#030503e8 50%,#03050358 100%)}.header-search form{display:grid;grid-template-columns:1fr auto;gap:10px}.header-search label{grid-column:1/-1}.header-search .button{padding:10px 16px}.header-search input{width:100%;font-size:14px}.work-grid{display:grid;grid-template-columns:1fr 1fr}.work-grid>div{padding:24px 16px 20px 0}.work-grid>div+div{padding-left:16px}.work-grid>div:nth-child(3){padding-left:0}.work-grid dt{font:600 14px/1.3 var(--font-sans);letter-spacing:0;overflow-wrap:normal}.work-grid dd{font-size:14px;line-height:1.5}.trust-grid{grid-template-columns:1fr;gap:0;margin-top:24px}.trust-grid article{display:grid;grid-template-columns:28px 1fr;padding:22px 0;column-gap:12px}.trust-grid h3{margin:0 0 10px;font-size:22px}.trust-grid p{grid-column:2}.dj-entry{padding:32px 0 0;border-left:0;border-top:1px solid #acafa1}.dj-entry h3{font-size:30px}.dj-entry .section-label{margin-bottom:22px}.lead-layout{gap:42px}.info-dialog{padding:48px 22px 24px}.info-dialog h2{font-size:28px}.info-dialog .button{width:100%;font-size:12px;padding-inline:12px}.team-page-intro{padding-top:130px}.name-search{gap:12px}.name-search label{width:100%}.name-search input{width:100%;flex-basis:100%}.team-page-intro-copy{gap:22px}.standalone-profile{padding-top:115px}.profile-portrait{min-height:0}.prototype-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-source-note{padding-right:25px}.profile-booking{margin-top:0}.photo-dialog{padding:12px}.photo-dialog>img{height:70svh}.profile-tabs button{font-size:11px}.profile-identity h2{overflow-wrap:anywhere}.work-grid>div:nth-child(3){border-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:600px){body{padding-top:29px}html{scroll-padding-top:130px}}
