/* Shared brand primitives; each service has its own editorial layout. */
.nav-services { position:relative; }
.nav-services summary { list-style:none; cursor:pointer; padding:.65rem .85rem; border-radius:999px; font-size:.875rem; font-weight:600; color:#d7d7df; min-height:44px; display:flex; align-items:center; gap:.6rem; }
.nav-services summary::-webkit-details-marker { display:none; }
.nav-services summary::after { content:'+'; font-size:1.1rem; }
.nav-services[open] summary::after { content:'−'; }
.nav-services[open] summary,.nav-services:has(a.active) summary { background:#ffffff12; color:#fff; }
.nav-service-list { position:absolute; top:calc(100% + .75rem); left:0; min-width:260px; padding:.65rem; border:1px solid var(--border); border-radius:1rem; background:#08080b; box-shadow:0 20px 50px #0009; display:grid; gap:.25rem; }
.nav-service-list a { border-radius:.5rem; }
.av-space { padding-block:clamp(4rem,7vw,7rem); }
:is(.av-home-intro,.av-sound-opening,.av-light-opening) { padding-top:clamp(3rem,6vw,6rem); }
:is(body[data-page="home"],body[data-page="sound"],body[data-page="lighting"],body[data-page="integrated"],body[data-page="contact"],body[data-page="events"]) { --container:min(1180px,calc(100% - 48px)); }
:is(.av-home-heading,.av-sound-title,.av-light-opening,.av-integrated-opening,.av-contact,.av-events) h1 { font-size:clamp(2.1rem,4.7vw,4.5rem); line-height:1.1; letter-spacing:-.035em; text-transform:none; text-wrap:balance; overflow-wrap:normal; }
.av-accent { color:#9bc7ff; }
:is(.av-directory-layout,.av-home-note,.av-sound-layout,.av-audio-brief,.av-light-editorial,.av-light-request,.av-integration-map,.av-production-caption,.av-contact-routes,.av-event-scenarios) h2 { font-size:clamp(1.65rem,3vw,2.75rem); letter-spacing:-.025em; line-height:1.18; text-transform:none; }
.av-photo { position:relative; margin:0; background:#101014; overflow:hidden; }
.av-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.av-photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:.55rem .8rem; background:#000c; color:#d8d8e0; font-size:.75rem; margin:0; line-height:1.5; }
.av-home-heading { display:grid; grid-template-columns:1.45fr .65fr; gap:3rem; align-items:end; margin-bottom:2.5rem; }
.av-home-heading p { color:var(--muted); line-height:1.75; margin-bottom:1.5rem; }
.av-home-intro .av-photo { aspect-ratio:21/9; border-radius:4px; }
.av-home-caption { display:flex; justify-content:space-between; gap:1rem; font-size:.875rem; color:var(--muted); margin-top:1rem; }
.av-directory-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:5rem; }
.av-directory-layout>div>p:last-child { color:var(--muted); margin-top:1.5rem; max-width:32ch; }
.av-directory { display:grid; }
.av-directory>a { display:grid; grid-template-columns:2rem 1fr; gap:.3rem 1rem; padding:1.3rem 0; border-top:1px solid var(--border); text-decoration:none; }
.av-directory>a:last-child { border-bottom:1px solid var(--border); }
.av-directory span { grid-row:span 2; color:#9bc7ff; font-size:.875rem; }
.av-directory strong { font:700 clamp(1.15rem,2vw,1.5rem) Montserrat,sans-serif; }
.av-directory small { color:var(--muted); font-size:.875rem; }
.av-directory>a:hover strong { color:#9bc7ff; }
.av-home-note { background:linear-gradient(110deg,#007bff0c,#7b2eff0c); border-top:1px solid var(--border); }
.av-home-note-columns { display:grid; grid-template-columns:1fr 1fr; max-width:900px; gap:3rem; margin-block:2rem; color:var(--muted); }
.av-sound-label { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1.25rem; }
.av-sound-label .eyebrow { margin:0; }
.av-sound-label>span { font-size:.875rem; color:var(--muted); }
.av-sound-opening .av-photo { width:100%; height:auto; aspect-ratio:16/9; }
.av-sound-opening .av-photo img { object-position:center 45%; width:calc(100% + 2px); height:calc(100% + 2px); max-width:none; margin:-1px; }
.av-sound-title { display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; align-items:end; margin-top:2rem; }
.av-sound-title h1 { font-size:clamp(2rem,4vw,3.7rem); }
.av-sound-title p,.av-sound-side>p:last-child { color:var(--muted); }
.av-sound-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; }
.av-sound-side>p:last-child { margin-top:1.3rem; }
.av-audio-list { margin:0; }
.av-audio-list>div { display:grid; grid-template-columns:10rem 1fr; gap:1.5rem; border-top:1px solid var(--border); padding:1.5rem 0; }
.av-audio-list dt { font-weight:600; color:#a6cbff; }
.av-audio-list dd { margin:0; color:var(--muted); }
.av-audio-brief { border-top:1px solid var(--border); background:#09090c; }
.av-audio-brief>.container { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.av-audio-brief ul { margin:0 0 1.5rem; padding-left:1.2rem; display:grid; gap:.7rem; color:var(--muted); }
.av-audio-brief p:not(.eyebrow) { color:var(--muted); font-size:.875rem; margin-bottom:1.5rem; }
.av-audio-brief .text-link { display:block; margin-top:1rem; }
.av-light-opening { text-align:center; padding-bottom:3rem; }
.av-light-opening .eyebrow::before { display:none; }
.av-light-opening h1 { font-size:clamp(2.25rem,5.5vw,5rem); }
.av-light-opening p:last-child { max-width:600px; margin:1.5rem auto 0; color:var(--muted); }
.av-light-story { display:grid; grid-template-columns:1.1fr .9fr; max-width:1600px; margin:auto; }
.av-light-photo { position:relative; min-height:700px; }
.av-light-photo .av-photo { position:absolute; inset:0; height:100%; }
.av-light-editorial { padding:1rem clamp(2rem,5vw,5rem); background:linear-gradient(180deg,#7b2eff10,#000); }
.av-light-editorial article { padding:2.5rem 0; }
.av-light-editorial article+article { border-top:1px solid var(--border); }
.av-light-editorial article>span { color:#b799ff; letter-spacing:.12em; font-size:.875rem; }
.av-light-editorial h2 { margin:.8rem 0 1rem; }
.av-light-editorial p { color:var(--muted); }
.av-light-request>.container { display:flex; justify-content:space-between; align-items:center; gap:4rem; }
.av-light-request p:not(.eyebrow) { max-width:650px; color:var(--muted); margin-top:1.5rem; }
.av-light-request>.container>div:last-child { display:grid; flex:0 0 280px; gap:1rem; }
.av-integrated-opening h1 { max-width:950px; }
.av-integrated-intro { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-top:2rem; }
.av-integrated-intro p { max-width:690px; color:var(--muted); }
.av-integration-map { padding:3rem 0; background:#09090c; border-block:1px solid var(--border); scroll-margin-top:6rem; }
.av-map { display:grid; grid-template-columns:1fr 1.5fr; margin-top:2rem; border:1px solid var(--border); }
.av-map-core { padding:clamp(1.5rem,4vw,3rem); background:linear-gradient(120deg,#007bff17,#7b2eff13); display:grid; align-content:center; gap:1rem; }
.av-map-core h3 { font-size:1.6rem; line-height:1.3; text-transform:none; }
.av-map-core p:last-child { color:var(--muted); }
.av-map-rows>a { display:grid; grid-template-columns:6rem 1fr; padding:1.5rem 2rem; gap:1.5rem; text-decoration:none; min-height:90px; align-items:center; }
.av-map-rows>a+a { border-top:1px solid var(--border); }
.av-map-rows>a:hover { background:#ffffff07; }
.av-map-rows strong { color:#9bc7ff; font-size:1.2rem; }
.av-map-rows span { color:var(--muted); }
.av-map-note { font-size:.875rem; color:var(--muted); margin-top:1.5rem; }
.av-integrated-production .av-photo { aspect-ratio:2/1; }
.av-production-caption { display:grid; grid-template-columns:.65fr 1.35fr; gap:4rem; margin-top:2.5rem; }
.av-production-caption p { color:var(--muted); margin-bottom:1.2rem; }
.av-contact-intro { display:flex; flex-wrap:wrap; gap:2rem 4rem; align-items:center; margin-block:2rem 4rem; }
.av-contact-intro p { color:var(--muted); }
.contact-kicker { margin:0 0 .35rem; color:#00bfff!important; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.av-contact-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0 0 4rem; border:1px solid var(--border); background:var(--border); }
.av-contact-channels a { display:grid; gap:.3rem; padding:1.25rem 1.4rem; background:#050505; text-decoration:none; min-width:0; }
.av-contact-channels a:hover { background:#0a0a0d; }
.av-contact-channels span { color:var(--muted); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.av-contact-channels strong { color:#fff; font-size:clamp(.95rem,1.8vw,1.15rem); overflow-wrap:anywhere; }
.av-contact-channels a[href*="instagram"] strong,.av-contact-channels a[href*="facebook"] strong,.av-contact-channels a[href*="linkedin"] strong,.av-contact-channels a[href^="https://spectrarental.com"] strong { color:#2bb7ff; }
.av-contact-terms { margin-top:3rem; }
.av-contact-routes { scroll-margin-top:6rem; }
.av-contact-routes nav { display:grid; margin-top:1.5rem; }
.av-contact-routes nav a { display:flex; justify-content:space-between; gap:1.5rem; padding:1.2rem 0; border-top:1px solid var(--border); text-decoration:none; }
.av-contact-routes nav a:hover strong { color:#9bc7ff; }
.av-contact-routes nav a span { color:var(--muted); }
.av-quote-route { margin-top:1.25rem; color:var(--muted); }.av-quote-route a { color:#a5cfff; }
.av-events-lead { color:var(--muted); max-width:700px; margin-top:2rem; }
.av-event-scenarios { display:grid; grid-template-columns:1fr 1fr; gap:3rem 4rem; margin-top:4rem; }
.av-event-scenarios article { border-top:1px solid var(--border); padding-top:1.5rem; }
.av-event-scenarios h2 { font-size:1.6rem; }
.av-event-scenarios p { color:var(--muted); margin:1rem 0; }
.av-event-scenarios a { color:#a5cfff; display:inline-flex; align-items:center; min-height:44px; }
:is(body[data-page="home"],body[data-page="sound"],body[data-page="lighting"],body[data-page="integrated"],body[data-page="contact"]) .btn--primary { background:linear-gradient(120deg,#005fc7,#7b2eff); }
.av-home-intro .btn:focus-visible,.av-space .btn:focus-visible { outline:3px solid #bdddff; }
@media(max-width:980px){
 .nav-service-list { position:static; min-width:0; background:#ffffff05; margin:.35rem 0; box-shadow:none; }
 .nav-services summary { padding:.85rem 1rem; }
 .av-home-heading,.av-directory-layout,.av-sound-title,.av-sound-layout { gap:2rem; }
 .av-home-heading { grid-template-columns:1.2fr .8fr; }
 .av-light-story { grid-template-columns:1fr; }.av-light-photo { min-height:460px; }
 .av-light-editorial { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:1.5rem 24px; gap:1.5rem; }
 .av-light-editorial article { padding:1rem 0; }.av-light-editorial article+article { border-top:0; }
 .av-light-editorial h2 { font-size:1.5rem; }
 .av-audio-list>div { grid-template-columns:1fr; gap:.5rem; }
 .av-light-request>.container { display:grid; gap:2rem; }
 .av-light-request>.container>div:last-child { justify-items:start; }
}
@media(max-width:700px){
 :is(body[data-page="home"],body[data-page="sound"],body[data-page="lighting"],body[data-page="integrated"],body[data-page="contact"],body[data-page="events"]) { --container:min(1180px,calc(100% - 32px)); }
 .av-home-heading,.av-directory-layout,.av-home-note-columns,.av-sound-title,.av-sound-layout,.av-audio-brief>.container,.av-map,.av-production-caption,.av-event-scenarios { grid-template-columns:minmax(0,1fr); gap:2rem; }
 :is(.av-home-heading,.av-sound-title,.av-light-opening,.av-integrated-opening,.av-contact,.av-events) h1 { font-size:clamp(2rem,7.8vw,3rem); }
 .av-home-intro .av-photo { aspect-ratio:4/3; }.av-home-caption { display:grid; font-size:.8125rem; }
 .av-directory-layout>div>p:last-child { max-width:none; }
 .av-sound-label { display:grid; gap:.3rem; }.av-sound-opening .av-photo { height:auto; aspect-ratio:4/3; }.av-sound-opening .av-photo img { object-position:center 45%; width:calc(100% + 2px); height:calc(100% + 2px); max-width:none; margin:-1px; }
 .av-light-photo { min-height:380px; }.av-light-editorial { display:block; padding:1rem 16px; }.av-light-editorial article { padding:1.5rem 0; }.av-light-editorial article+article { border-top:1px solid var(--border); }
 .av-integrated-intro { display:grid; gap:1.5rem; }.av-map-rows>a { grid-template-columns:1fr; gap:.5rem; padding:1.3rem; }
 .av-integrated-production .av-photo { aspect-ratio:4/3; }
 .av-contact-routes nav a { flex-direction:column; gap:.4rem; }.av-contact-routes nav a span { font-size:.875rem; }.av-contact-channels { grid-template-columns:minmax(0,1fr); margin-bottom:3rem; }
 .av-space .btn,.av-home-heading .btn { width:100%; text-align:center; }
}

/* Premium contact page */
body[data-page="contact"] .av-contact,
body[data-page="contact"] .av-contact-intro,
body[data-page="contact"] .av-contact-channels,
body[data-page="contact"] .av-contact-routes,
body[data-page="contact"] .av-contact-terms { display:none!important; }

.contact-premium { padding:clamp(5rem,9vw,8rem) 0 0; position:relative; overflow:hidden; }
.contact-premium::before { content:""; position:absolute; width:34rem; height:34rem; border:1px solid #7b2eff2e; transform:rotate(45deg); right:-17rem; top:-18rem; box-shadow:0 0 90px #7b2eff17; pointer-events:none; }
.contact-premium__hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.7fr); gap:clamp(3rem,7vw,6rem); align-items:end; position:relative; z-index:1; }
.contact-premium__intro h1 { font-size:clamp(2.8rem,6.4vw,6rem); line-height:1.02; letter-spacing:-.055em; text-transform:none; max-width:10ch; }
.contact-premium__lead { max-width:650px; color:var(--muted); font-size:clamp(1rem,1.7vw,1.18rem); line-height:1.8; margin-top:1.75rem; }
.contact-premium__meta { display:flex; flex-wrap:wrap; gap:.8rem 2rem; margin-top:2rem; color:#8f9099; font-size:.86rem; }
.contact-premium__meta span { display:flex; align-items:center; gap:.55rem; }
.contact-premium__meta span::before { content:""; width:.42rem; height:.42rem; border-radius:50%; background:#168bff; box-shadow:0 0 14px #168bff; }

.contact-premium__card { position:relative; padding:clamp(1.7rem,3vw,2.4rem); border:1px solid rgba(255,255,255,.13); background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow:0 30px 80px rgba(0,0,0,.3); overflow:hidden; }
.contact-premium__card::before { content:""; position:absolute; left:0; top:0; width:4px; height:100%; background:linear-gradient(#007bff,#7b2eff); }
.contact-premium__label { color:#71b7ff; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1.4rem; }
.contact-premium__phone { display:block; font:800 clamp(2rem,4vw,3.6rem)/1 Montserrat,sans-serif; letter-spacing:-.05em; text-decoration:none; color:#fff; white-space:nowrap; }
.contact-premium__phone:hover { color:#9bc7ff; }
.contact-premium__note { color:#8f9099; font-size:.84rem; margin-top:.55rem; }
.contact-premium__divider { height:1px; background:var(--border); margin:1.6rem 0; }
.contact-premium__mail,.contact-premium__web { display:block; width:max-content; max-width:100%; color:#eef2f8; text-decoration:none; overflow-wrap:anywhere; margin:.35rem 0; }
.contact-premium__web { color:#2ab8ff; font-weight:700; }
.contact-premium__cta { width:100%; margin-top:1.6rem; }

.contact-socials { display:grid; grid-template-columns:140px 1fr; gap:2rem; align-items:start; margin-top:clamp(4rem,7vw,6rem); padding:2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.contact-socials__label { color:#8f9099; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding-top:.2rem; }
.contact-socials nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.contact-socials a { display:grid; gap:.25rem; text-decoration:none; min-width:0; padding-right:1rem; }
.contact-socials a+a { border-left:1px solid var(--border); padding-left:1.25rem; }
.contact-socials span { color:#8f9099; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.contact-socials strong { color:#fff; font-size:.98rem; overflow-wrap:anywhere; }
.contact-socials a:hover strong { color:#2ab8ff; }

.contact-services { padding:clamp(5rem,8vw,7.5rem) 0; background:linear-gradient(180deg,#030303,#08080b); }
.contact-services__head { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:end; margin-bottom:3rem; }
.contact-services__head h2,.contact-commercial h2 { font-size:clamp(2rem,4vw,3.7rem); text-transform:none; letter-spacing:-.035em; line-height:1.08; }
.contact-services__head>p { color:var(--muted); max-width:620px; line-height:1.8; }
.contact-services__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.contact-services__grid a { display:grid; align-content:start; gap:.75rem; min-height:255px; padding:1.5rem 1.2rem; text-decoration:none; border-right:1px solid var(--border); transition:.2s ease; }
.contact-services__grid a:first-child { border-left:1px solid var(--border); }
.contact-services__grid a:hover { background:linear-gradient(180deg,#0b1220,#09090c); transform:translateY(-3px); }
.contact-services__grid span { color:#61adff; font:700 .8rem Montserrat,sans-serif; letter-spacing:.1em; }
.contact-services__grid strong { font:700 1.08rem/1.25 Montserrat,sans-serif; color:#fff; }
.contact-services__grid small { color:#8f9099; line-height:1.6; }
.contact-services__grid b { margin-top:auto; color:#85c1ff; font-size:.82rem; font-weight:700; }

.contact-commercial { padding:clamp(4.5rem,8vw,7rem) 0; }
.contact-commercial__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,6rem); }
.contact-commercial__copy>p:first-child { color:var(--muted); max-width:660px; line-height:1.8; }
.contact-commercial__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:2.2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.contact-commercial__facts div { padding:1.25rem 1.1rem; }
.contact-commercial__facts div+div { border-left:1px solid var(--border); }
.contact-commercial__facts span { display:block; color:#8f9099; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.35rem; }
.contact-commercial__facts strong { font:700 1rem Montserrat,sans-serif; color:#fff; }
.contact-commercial__legal { color:#777781; font-size:.82rem; line-height:1.7; }

@media(max-width:980px){
 .contact-premium__hero,.contact-services__head,.contact-commercial__grid { grid-template-columns:1fr; }
 .contact-premium__card { max-width:620px; }
 .contact-services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); border:0; gap:1px; background:var(--border); }
 .contact-services__grid a,.contact-services__grid a:first-child { border:0; background:#050505; }
 .contact-socials { grid-template-columns:1fr; }
}
@media(max-width:700px){
 .contact-premium { padding-top:4rem; }
 .contact-premium__intro h1 { font-size:clamp(2.5rem,13vw,4.3rem); max-width:9ch; }
 .contact-premium__phone { font-size:clamp(1.75rem,10vw,2.7rem); white-space:normal; }
 .contact-socials nav,.contact-commercial__facts,.contact-services__grid { grid-template-columns:1fr; }
 .contact-socials a+a { border-left:0; border-top:1px solid var(--border); padding:1rem 0 0; margin-top:.7rem; }
 .contact-socials a { padding-right:0; }
 .contact-commercial__facts div+div { border-left:0; border-top:1px solid var(--border); }
 .contact-services__grid { gap:1px; }
 .contact-services__grid a { min-height:0; padding:1.3rem; }
}
