body.services-page { background: var(--color-ink-950); }

.services-kicker,
.chapter-number {
  display: inline-block;
  color: #b7b2bd;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.chapter-number-dark { color: #7a767f; }

.services-hero {
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
}
.services-hero-media,
.services-hero-shade,
.services-hero-glow { position: absolute; inset: 0; }
.services-hero-media { z-index: -3; }
.services-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; filter: saturate(.78) contrast(1.06) brightness(.8); }
.services-hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(4,4,5,.96) 0%, rgba(4,4,5,.76) 44%, rgba(4,4,5,.35) 78%, rgba(4,4,5,.62) 100%),
    linear-gradient(0deg, rgba(4,4,5,.94) 0%, transparent 50%);
}
.services-hero-glow {
  z-index: -1;
  background: radial-gradient(circle at 76% 27%, rgba(155,114,255,.18), transparent 26%);
}
.services-hero-inner { padding-top: calc(var(--header-height) + 6rem); padding-bottom: 9.5rem; }
.services-display {
  max-width: 69rem;
  margin: 1.4rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(3.7rem, 7.8vw, 8.6rem);
  font-weight: 500;
  line-height: .88;
  letter-spacing: -.065em;
}
.services-display em { color: #a8a3ad; font-style: normal; }
.services-lead { max-width: 42rem; margin: 2.2rem 0 0; color: #c4c0c8; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.65; }
.services-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.services-hero-meta {
  position: absolute;
  right: var(--gutter);
  bottom: 2rem;
  left: var(--gutter);
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: .7rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.16);
  color: #8d8992;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.services-hero-meta span { text-align: center; }
.services-hero-meta span:first-child { text-align: left; }
.services-hero-meta span:last-child { text-align: right; }

.services-index {
  position: sticky;
  top: var(--header-height);
  z-index: 80;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(8,8,10,.91);
  backdrop-filter: blur(18px) saturate(130%);
}
.services-index-track { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.services-index-track::-webkit-scrollbar { display: none; }
.services-index a {
  flex: 0 0 auto;
  padding: 1rem 1.15rem;
  color: #9d99a2;
  border-bottom: 1px solid transparent;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.services-index a:first-child { padding-left: 0; }
.services-index a:hover,
.services-index a.is-active { color: #fff; border-color: var(--color-gold); }
.services-index a.is-active { background: linear-gradient(180deg, transparent, rgba(199,170,114,.06)); }

.service-chapter { padding: var(--section-space) 0; scroll-margin-top: calc(var(--header-height) + 3.2rem); }
.service-chapter-dark { background: var(--color-ink-950); }
.service-chapter-paper { background: var(--color-paper-100); color: var(--color-ink-text); }
.service-chapter-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.service-chapter-copy h2,
.lighting-heading h2,
.section-split-heading h2,
.effects-heading h2,
.visuals-copy h2,
.full-production-copy h2,
.builder-intro h2,
.planner-callout-copy h2,
.services-contact-inner h2 {
  margin: 1rem 0 1.5rem;
  font-family: var(--font-display);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.05em;
}
.service-chapter-copy h2 { font-size: clamp(3rem, 5.4vw, 5.9rem); }
.chapter-lead { max-width: 38rem; margin: 0; color: #aaa6af; font-size: 1rem; line-height: 1.75; }
.service-copy-paper .chapter-lead { color: var(--color-ink-muted); }
.capability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 38rem; margin-top: 2rem; border-top: 1px solid var(--line-dark); }
.capability-grid span { min-height: 3.6rem; display: flex; align-items: center; padding: .8rem .75rem .8rem 0; border-bottom: 1px solid var(--line-dark); color: #cac6ce; font-size: .78rem; }
.capability-grid span:nth-child(odd) { border-right: 1px solid var(--line-dark); }
.capability-grid span:nth-child(even) { padding-left: 1rem; }
.chapter-link { margin-top: 2rem; }
.service-visual { position: relative; overflow: hidden; background: var(--color-ink-800); }
.service-visual-tall { min-height: 44rem; }
.service-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.service-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,5,6,.62),transparent 42%); pointer-events:none; }
.service-visual-caption { position: absolute; z-index: 2; right: 1.4rem; bottom: 1.2rem; left: 1.4rem; display: flex; justify-content: space-between; gap: 1rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.3); color: #e9e6ec; font-size: .58rem; letter-spacing: .15em; }

.ceremony-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: clamp(3rem, 7vw, 6.5rem); align-items: center; }
.ceremony-visual { min-height: 44rem; overflow: hidden; position: relative; }
.ceremony-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ceremony-stack { margin-top: 2.2rem; border-top: 1px solid var(--line-light); }
.ceremony-stack > div { display: grid; grid-template-columns: 2.2rem 1fr; gap: .2rem 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line-light); }
.ceremony-stack span { grid-row: 1 / 3; color: #96919a; font-size: .68rem; padding-top: .2rem; }
.ceremony-stack strong { font-family: var(--font-display); font-size: 1rem; }
.ceremony-stack small { color: var(--color-ink-muted); font-size: .75rem; line-height: 1.5; }

.lighting-experience { min-height: 62rem; position: relative; scroll-margin-top: calc(var(--header-height) + 3.2rem); overflow: hidden; isolation: isolate; }
.lighting-experience-bg,.lighting-experience-shade { position:absolute; inset:0; }
.lighting-experience-bg { z-index:-3; }
.lighting-experience-bg img { width:100%; height:100%; object-fit:cover; filter:saturate(1.08) contrast(1.08); }
.lighting-experience-shade { z-index:-2; background:linear-gradient(90deg,rgba(5,5,6,.97) 0%,rgba(5,5,6,.72) 45%,rgba(5,5,6,.54) 100%),linear-gradient(0deg,rgba(5,5,6,.94),transparent 52%); }
.lighting-experience-inner { padding: var(--section-space) 0; }
.lighting-heading { max-width: 47rem; }
.lighting-heading h2 { font-size: clamp(3.4rem, 7vw, 7.4rem); }
.lighting-heading p { max-width: 36rem; color:#bbb7c0; line-height:1.7; }
.lighting-scale { display:grid; grid-template-columns:repeat(4,1fr); margin-top: 5.5rem; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.lighting-scale article { min-height: 19rem; display:flex; flex-direction:column; padding:1.35rem 1.45rem 1.5rem; border-right:1px solid rgba(255,255,255,.14); background:rgba(7,7,8,.18); backdrop-filter:blur(6px); }
.lighting-scale article:last-child { border-right:0; }
.lighting-scale article>span { color:#8f8a94; font-size:.62rem; }
.lighting-scale h3 { margin:auto 0 .8rem; font-family:var(--font-display); font-size:1.9rem; font-weight:500; letter-spacing:-.04em; }
.lighting-scale p { margin:0; color:#9f9aa4; font-size:.75rem; line-height:1.6; }
.lighting-scale-featured { background:linear-gradient(135deg,rgba(155,114,255,.18),rgba(255,255,255,.03)) !important; }

.dance-floor-section { padding:var(--section-space) 0; background:var(--color-paper-100); color:var(--color-ink-text); scroll-margin-top:calc(var(--header-height) + 3.2rem); }
.section-split-heading { display:grid; grid-template-columns:1fr .7fr; gap:clamp(2rem,7vw,7rem); align-items:end; margin-bottom:3.5rem; }
.section-split-heading h2 { font-size:clamp(3.2rem,6vw,6.4rem); }
.section-split-heading p { margin:0; color:var(--color-ink-muted); line-height:1.7; }
.floor-selector { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); gap:1px; background:var(--line-light); border:1px solid var(--line-light); }
.floor-preview { min-height: 38rem; position:relative; overflow:hidden; background:#17171a; }
.floor-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .25s ease, transform .5s var(--ease-out); }
.floor-preview.is-switching img { opacity:.4; transform:scale(1.02); }
.floor-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,6,7,.82),transparent 55%); }
.floor-preview-overlay { position:absolute; z-index:2; right:2rem; bottom:1.8rem; left:2rem; color:#fff; }
.floor-preview-overlay>span { font-size:.62rem; letter-spacing:.16em; color:#cbc6cf; }
.floor-preview-overlay strong { display:block; margin-top:.5rem; font-family:var(--font-display); font-size:clamp(2.3rem,4vw,4.4rem); letter-spacing:-.05em; }
.floor-preview-overlay p { max-width:29rem; margin:.6rem 0 0; color:#bbb7c0; font-size:.8rem; line-height:1.6; }
.floor-options { display:flex; flex-direction:column; background:var(--color-paper-100); }
.floor-option { flex:1; min-height:6.8rem; display:grid; grid-template-columns:2.2rem 1fr auto; gap:.7rem; align-items:center; padding:1rem 1.25rem; border:0; border-bottom:1px solid var(--line-light); background:transparent; color:var(--color-ink-text); cursor:pointer; text-align:left; transition:background var(--transition-fast), color var(--transition-fast); }
.floor-option:last-child { border-bottom:0; }
.floor-option:hover,.floor-option.is-active { background:#151419; color:#fff; }
.floor-option>span { color:#8d8991; font-size:.62rem; }
.floor-option strong { font-family:var(--font-display); font-size:1rem; }
.floor-option small { color:#8c8890; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }

.effects-section { padding:var(--section-space) 0; background:#09090b; scroll-margin-top:calc(var(--header-height) + 3.2rem); }
.effects-heading { max-width:52rem; margin-bottom:4rem; }
.effects-heading h2 { font-size:clamp(3.8rem,7.5vw,8rem); }
.effects-heading p { max-width:38rem; color:#aaa6af; line-height:1.7; }
.effects-mosaic { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:19rem 19rem; gap:.75rem; }
.effect-tile { position:relative; display:flex; flex-direction:column; padding:1.5rem; overflow:hidden; border:1px solid rgba(255,255,255,.1); background:#15141a; }
.effect-tile::before { content:""; position:absolute; inset:0; opacity:.7; pointer-events:none; }
.effect-tile>span,.effect-tile h3,.effect-tile p { position:relative; z-index:1; }
.effect-tile>span { color:#8d8992; font-size:.62rem; }
.effect-tile h3 { margin:auto 0 .45rem; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,3.2rem); font-weight:500; letter-spacing:-.04em; }
.effect-tile p { max-width:22rem; margin:0; color:#aaa6b0; font-size:.76rem; line-height:1.55; }
.effect-tile-large { grid-row:1 / 3; }
.effect-tile-wide { grid-column:2 / 4; }
.effect-tile-large::before { background:radial-gradient(circle at 35% 35%,rgba(255,220,150,.28),transparent 45%),linear-gradient(145deg,#21191a,#09090b); }
.effect-tile-co2::before { background:radial-gradient(circle at 70% 20%,rgba(112,245,195,.18),transparent 50%),#111419; }
.effect-tile-laser::before { background:linear-gradient(145deg,rgba(112,245,195,.14),rgba(155,114,255,.12)),#111116; }
.effect-tile-disco::before { background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.14),transparent 34%),#16151a; }
.effect-tile-wide::before { background:linear-gradient(90deg,rgba(155,114,255,.13),transparent),#101014; }

.visuals-section { padding:var(--section-space) 0; background:var(--color-paper-200); color:var(--color-ink-text); scroll-margin-top:calc(var(--header-height) + 3.2rem); }
.visuals-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,7rem); align-items:center; }
.visuals-copy h2 { font-size:clamp(3.1rem,5.7vw,6.2rem); }
.visuals-copy p { color:var(--color-ink-muted); line-height:1.72; }
.visuals-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2rem; }
.visuals-tags span { padding:.65rem .85rem; border:1px solid var(--line-light); border-radius:var(--radius-pill); font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; }
.visuals-board { min-height:35rem; display:flex; flex-direction:column; justify-content:space-between; padding:1.4rem; border:1px solid rgba(255,255,255,.12); background:radial-gradient(circle at 50% 38%,#4e295e 0%,#241932 35%,#0b0b0e 73%); color:#fff; box-shadow:var(--shadow-deep); }
.visuals-stage { min-height:26rem; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.12); text-align:center; position:relative; overflow:hidden; }
.visuals-stage::before,.visuals-stage::after { content:""; position:absolute; top:-20%; bottom:-20%; width:1px; background:linear-gradient(transparent,#b282ff,transparent); filter:drop-shadow(0 0 8px #a56dff); }
.visuals-stage::before { left:32%; transform:rotate(18deg); }.visuals-stage::after { right:32%; transform:rotate(-18deg); }
.visuals-stage span { font-size:.62rem; letter-spacing:.28em; color:#b9b4bf; }
.visuals-stage strong { margin-top:.8rem; font-family:var(--font-display); font-size:clamp(2rem,4vw,4.5rem); letter-spacing:-.05em; }
.visuals-stage small { margin-top:.5rem; color:#817b89; letter-spacing:.12em; }
.visuals-spec { display:flex; justify-content:space-between; gap:1rem; padding-top:1.2rem; color:#8f8997; font-size:.58rem; letter-spacing:.11em; }

.details-section { padding:var(--section-space) 0; background:#0d0d10; scroll-margin-top:calc(var(--header-height) + 3.2rem); }
.details-heading p { color:#99959f; }
.details-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.12); }
.details-list article { min-height:8rem; display:grid; grid-template-columns:3rem 1fr; align-items:center; padding:1rem 1.2rem 1rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.details-list article:nth-child(odd) { border-right:1px solid rgba(255,255,255,.12); }
.details-list article:nth-child(even) { padding-left:1.5rem; }
.details-list span { color:#76727c; font-size:.63rem; }
.details-list h3 { margin:0; font-family:var(--font-display); font-size:clamp(1.3rem,2.2vw,2rem); font-weight:500; letter-spacing:-.03em; }

.full-production { min-height:64rem; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; scroll-margin-top:calc(var(--header-height) + 3.2rem); }
.full-production-media,.full-production-shade { position:absolute; inset:0; }
.full-production-media { z-index:-3; }.full-production-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.75) brightness(.72); }
.full-production-shade { z-index:-2; background:linear-gradient(90deg,rgba(5,5,6,.96),rgba(5,5,6,.64) 55%,rgba(5,5,6,.75)),linear-gradient(0deg,rgba(5,5,6,.9),transparent 48%); }
.full-production-inner { padding:var(--section-space) 0; }
.full-production-copy { max-width:52rem; }
.full-production-copy h2 { font-size:clamp(3.8rem,7.2vw,7.8rem); }
.full-production-copy p { max-width:41rem; color:#bbb7c0; line-height:1.72; }
.production-flow { display:grid; grid-template-columns:repeat(9,auto); align-items:center; gap:.6rem; margin-top:4rem; padding:1.4rem 0; border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.production-flow div { min-width:0; display:flex; flex-direction:column; gap:.3rem; }
.production-flow div span { color:#7e7983; font-size:.58rem; }.production-flow strong { font-family:var(--font-display); font-size:1rem; }.production-flow small { color:#8f8a94; font-size:.65rem; line-height:1.4; }
.production-flow i { width:2.3rem; height:1px; background:linear-gradient(90deg,#5a5660,#c7aa72); }
.production-layers { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.5rem; }.production-layers span { padding:.62rem .82rem; border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-pill); color:#bdb8c2; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }

.production-builder { padding:var(--section-space) 0; background:var(--color-paper-100); color:var(--color-ink-text); }
.builder-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(3rem,8vw,7rem); align-items:start; }
.builder-intro { position:sticky; top:calc(var(--header-height) + 5rem); }
.builder-intro h2 { font-size:clamp(3.2rem,5.4vw,5.8rem); }
.builder-intro p { color:var(--color-ink-muted); line-height:1.72; }
.builder-card { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line-light); background:#fbfaf7; box-shadow:0 1.5rem 5rem rgba(0,0,0,.07); }
.builder-card fieldset { margin:0; padding:0 0 2rem; border:0; }
.builder-card fieldset + fieldset { padding-top:2rem; border-top:1px solid var(--line-light); }
.builder-card legend { margin-bottom:1.1rem; color:#77737b; font-size:.67rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.55rem; }.choice-grid-events { grid-template-columns:repeat(3,1fr); }
.choice-grid label { position:relative; cursor:pointer; }.choice-grid input { position:absolute; opacity:0; pointer-events:none; }.choice-grid span { min-height:3.2rem; display:flex; align-items:center; justify-content:center; padding:.6rem .8rem; border:1px solid var(--line-light); background:#f4f1ea; font-size:.76rem; text-align:center; transition:.18s ease; }
.choice-grid input:checked + span { border-color:#151419; background:#151419; color:#fff; box-shadow:inset 0 -2px 0 var(--color-gold); }.choice-grid input:focus-visible + span { outline:2px solid var(--color-violet-deep); outline-offset:2px; }
.builder-fields { display:grid; grid-template-columns:.7fr 1.3fr; gap:.75rem; padding-top:2rem; border-top:1px solid var(--line-light); }.builder-fields label { display:flex; flex-direction:column; gap:.45rem; }.builder-fields span { color:#77737b; font-size:.68rem; }.builder-fields input { min-height:3.2rem; width:100%; padding:0 .9rem; border:1px solid var(--line-light); background:#f7f4ed; color:#151419; }
.button-dark { background:#151419; color:#fff; }.button-dark:hover { background:#242229; }.builder-submit { margin-top:1.4rem; width:100%; }.builder-note { margin:.8rem 0 0; color:#817d84; font-size:.68rem; line-height:1.45; text-align:center; }

.planner-callout { padding:var(--section-space) 0; background:#101015; }.planner-callout-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(3rem,8vw,7rem); align-items:center; }.planner-callout-copy h2 { font-size:clamp(3.3rem,6vw,6.2rem); }.planner-callout-copy p { max-width:38rem; color:#aaa6af; line-height:1.72; margin-bottom:2rem; }.planner-capabilities { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.12); }.planner-capabilities span { min-height:5.5rem; display:flex; align-items:center; padding:1rem 1.2rem 1rem 0; border-bottom:1px solid rgba(255,255,255,.12); color:#c6c2ca; font-size:.78rem; }.planner-capabilities span:nth-child(odd) { border-right:1px solid rgba(255,255,255,.12); }.planner-capabilities span:nth-child(even) { padding-left:1.2rem; }

.services-contact { min-height:47rem; position:relative; display:flex; align-items:center; overflow:hidden; background:#09090b; text-align:center; }.services-contact-glow { position:absolute; inset:0; background:radial-gradient(circle at 50% 48%,rgba(155,114,255,.27),rgba(67,42,99,.11) 30%,transparent 62%); }.services-contact-inner { position:relative; max-width:62rem; }.services-contact-inner h2 { font-size:clamp(3.5rem,7.7vw,8rem); }.services-contact-inner p { max-width:39rem; margin:0 auto; color:#aaa6af; line-height:1.7; }.services-contact-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; margin-top:2rem; }

@media (max-width: 1080px) {
  .services-hero-inner { padding-bottom:10.5rem; }
  .service-chapter-grid,.ceremony-layout,.visuals-grid,.planner-callout-grid { gap:3.5rem; }
  .lighting-scale { grid-template-columns:1fr 1fr; }
  .lighting-scale article:nth-child(2) { border-right:0; }
  .lighting-scale article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.14); }
  .effects-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,17rem); }
  .effect-tile-large { grid-row:1 / 3; }.effect-tile-wide { grid-column:1 / 3; }
  .builder-grid { grid-template-columns:.85fr 1.15fr; gap:3rem; }
  .choice-grid-events { grid-template-columns:1fr 1fr; }
  .production-flow { grid-template-columns:1fr; gap:0; }.production-flow i { width:1px; height:1.5rem; margin-left:.35rem; }.production-flow div { padding:.7rem 0; }
}

@media (max-width: 820px) {
  .services-index { top:4.625rem; }
  .services-hero { min-height:52rem; }
  .services-hero-inner { padding-top:9rem; padding-bottom:11.5rem; }
  .services-hero-meta { grid-template-columns:repeat(3,1fr); row-gap:.55rem; }.services-hero-meta span:nth-child(n) { text-align:left; }
  .service-chapter-grid,.ceremony-layout,.visuals-grid,.builder-grid,.planner-callout-grid { grid-template-columns:1fr; }
  .service-visual-tall,.ceremony-visual { min-height:33rem; }
  .ceremony-visual { order:2; }.service-copy-paper { order:1; }
  .lighting-experience { min-height:auto; }
  .lighting-experience-inner { padding:6rem 0; }
  .section-split-heading { grid-template-columns:1fr; gap:1rem; }
  .floor-selector { grid-template-columns:1fr; }.floor-preview { min-height:30rem; }.floor-options { display:grid; grid-template-columns:1fr 1fr; }.floor-option { min-height:5.5rem; }.floor-option:nth-child(odd) { border-right:1px solid var(--line-light); }
  .effects-mosaic { grid-template-columns:1fr 1fr; }.effect-tile-large { grid-row:auto; }.effect-tile-wide { grid-column:1 / 3; }
  .details-list { grid-template-columns:1fr; }.details-list article:nth-child(odd) { border-right:0; }.details-list article:nth-child(even) { padding-left:0; }
  .full-production { min-height:auto; }.full-production-inner { padding:7rem 0; }
  .builder-intro { position:static; }
  .planner-capabilities { margin-top:1rem; }
}

@media (max-width: 560px) {
  .services-hero { min-height:47rem; }
  .services-hero-media img { object-position:62% center; }
  .services-hero-shade { background:linear-gradient(0deg,rgba(4,4,5,.96) 0%,rgba(4,4,5,.65) 68%,rgba(4,4,5,.46) 100%); }
  .services-display { font-size:clamp(3rem,15vw,4.6rem); line-height:.92; }
  .services-lead { font-size:.92rem; }
  .services-hero-actions { align-items:flex-start; flex-direction:column; }
  .services-hero-meta { right:1rem; left:1rem; font-size:.55rem; }
  .services-index-track { width:calc(100% + 1rem); margin-right:-1rem; }
  .services-index a { padding:.9rem .9rem; }
  .service-chapter { padding:5.5rem 0; }
  .service-chapter-copy h2,.lighting-heading h2,.section-split-heading h2,.effects-heading h2,.visuals-copy h2,.full-production-copy h2,.builder-intro h2,.planner-callout-copy h2,.services-contact-inner h2 { font-size:clamp(2.75rem,13vw,4.2rem); }
  .capability-grid { grid-template-columns:1fr; }.capability-grid span:nth-child(odd) { border-right:0; }.capability-grid span:nth-child(even) { padding-left:0; }
  .service-visual-tall,.ceremony-visual { min-height:27rem; }
  .lighting-scale { grid-template-columns:1fr; }.lighting-scale article { min-height:13rem; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }.lighting-scale article:last-child { border-bottom:0; }
  .floor-preview { min-height:25rem; }.floor-preview-overlay { right:1.2rem; bottom:1.1rem; left:1.2rem; }.floor-options { grid-template-columns:1fr; }.floor-option:nth-child(odd) { border-right:0; }.floor-option { grid-template-columns:2rem 1fr auto; }
  .effects-mosaic { display:grid; grid-template-columns:1fr; grid-template-rows:none; }.effect-tile,.effect-tile-wide,.effect-tile-large { grid-column:auto; grid-row:auto; min-height:15rem; }
  .visuals-board { min-height:28rem; }.visuals-stage { min-height:20rem; }.visuals-spec { flex-direction:column; }
  .details-list article { min-height:6.5rem; }
  .full-production-copy p { font-size:.9rem; }
  .production-layers { gap:.4rem; }
  .choice-grid,.choice-grid-events,.builder-fields { grid-template-columns:1fr; }
  .builder-card { padding:1.2rem; }.choice-grid span { min-height:3rem; justify-content:flex-start; }
  .planner-capabilities { grid-template-columns:1fr; }.planner-capabilities span:nth-child(odd) { border-right:0; }.planner-capabilities span:nth-child(even) { padding-left:0; }
  .services-contact { min-height:40rem; }.services-contact-actions { flex-direction:column; }.services-contact-actions .button { width:100%; }
}

@media (max-width: 360px) {
  .services-display { font-size:2.8rem; }
  .services-hero-meta { grid-template-columns:1fr 1fr; }
  .floor-option { grid-template-columns:1.8rem 1fr; }.floor-option small { grid-column:2; }
}

@media (prefers-reduced-motion: reduce) {
  .floor-preview img { transition:none; }
}
