:root { --yellow:#f8d206; --ink:#050505; --paper:#f5f5f7; --muted:#b4b4ba; color-scheme:dark; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; background:var(--ink); color:var(--paper); }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
button:focus-visible,a:focus-visible,summary:focus-visible,video:focus-visible { outline:3px solid var(--yellow); outline-offset:5px; }
img { display:block; max-width:100%; }
figure,p,h1,h2,h3 { margin:0; }
h1,h2,h3 { letter-spacing:-.05em; font-weight:650; }
p { line-height:1.75; }
.wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; top:-80px; left:20px; padding:18px; background:var(--yellow); color:black; z-index:100; }
.skip-link:focus { top:16px; }
.site-header { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 4vw; background:#050505f2; border-bottom:1px solid #2b2b2f; }
.brand { display:inline-flex; gap:10px; align-items:center; font-size:1.15rem; font-weight:750; white-space:nowrap; }
.brand-symbol { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--yellow); color:var(--ink); font-size:.85rem; letter-spacing:-.05em; }
.desktop-nav { display:flex; gap:28px; font-size:.875rem; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:var(--yellow); }
.header-cta,.button { display:inline-flex; justify-content:center; align-items:center; background:var(--yellow); color:var(--ink); padding:14px 22px; border-radius:30px; font-size:.9375rem; font-weight:650; }
.button:hover,.header-cta:hover { background:white; }
.menu-toggle { display:none; }
.scroll-progress { position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--yellow); transform:scaleX(0); transform-origin:left; }
.eyebrow { color:var(--yellow); text-transform:uppercase; font-size:.875rem; font-weight:650; letter-spacing:.07em; }
.hero { padding-top:85px; padding-bottom:55px; }
.hero-heading { display:grid; grid-template-columns:1.65fr 1fr; align-items:end; gap:70px; margin-top:25px; }
h1 { font-size:clamp(3rem,6vw,6rem); line-height:1.06; }
h1 span,h2 span { color:var(--yellow); }
.hero-copy p:first-child { font-size:1.25rem; color:white; line-height:1.5; margin-bottom:18px; }
.hero-copy p { font-size:1rem; color:var(--muted); }
.text-link { display:inline-block; margin-top:24px; padding-bottom:5px; border-bottom:1px solid currentColor; color:var(--yellow); font-weight:550; }
.hero-facts { display:flex; flex-wrap:wrap; gap:12px 32px; margin-top:40px; font-size:.875rem; color:var(--muted); }
.installation { padding-bottom:95px; }
.section-top { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:32px; }
.section-top h2 { font-size:clamp(2rem,4vw,3.5rem); margin-top:12px; }
.set-tabs,.event-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.set-tabs button,.event-tabs button { color:var(--paper); background:#1b1b1f; border:1px solid #46464b; padding:14px 22px; border-radius:30px; font-size:.9375rem; }
.set-tabs button[aria-selected=true],.event-tabs button[aria-selected=true] { background:var(--yellow); color:var(--ink); border-color:var(--yellow); }
.set-panel { margin-bottom:32px; }
[hidden] { display:none!important; }
.photo-button { display:block; position:relative; width:100%; padding:0; border:0; border-radius:24px; overflow:hidden; background:#121214; color:white; }
.set-photo img { width:100%; height:auto; }
.portrait-equipment { display:grid; place-items:center; }
.portrait-equipment img { width:auto; height:min(720px,80vh); object-fit:contain; }
.zoom-label { position:absolute; bottom:20px; right:20px; padding:12px 18px; background:#050505e8; color:white; border:1px solid #777; border-radius:30px; font-size:.875rem; }
.set-description { display:grid; grid-template-columns:.85fr 1.25fr 1fr; gap:32px; padding:30px 0 0; }
.set-description h3 { font-size:1.8rem; }
.set-description p { color:var(--muted); }
.set-description .caption { font-size:.875rem; color:#919199; }
.installation-note { border-top:1px solid #333; padding-top:24px; font-size:.9375rem; color:var(--muted); max-width:900px; }
.light-section { background:var(--paper); color:#111; color-scheme:light; }
.light-section .eyebrow { color:#4b4b50; }
.light-section .text-link { color:#111; }
.statement { padding-block:100px; display:grid; grid-template-columns:1.2fr 1fr; gap:28px 70px; align-items:end; }
.statement .eyebrow { grid-column:1/-1; }
.statement h2,h2 { font-size:clamp(2.5rem,5vw,5rem); line-height:1.08; }
.statement > p:last-child { font-size:1.2rem; color:#55555b; max-width:600px; }
.occasions { padding-block:45px 100px; }
.event-scene { grid-column:1/-1; }
.event-scene img { width:100%; height:auto; }
.event-scene figcaption { color:#a5a5ad; }
.occasions h2 { margin:20px 0 36px; }
.event-panel { display:grid; grid-template-columns:70px 1.4fr 1fr; gap:38px; padding:50px 0; margin-top:30px; border-top:1px solid #444; }
.event-number { color:var(--yellow); font-size:1.5rem; }
.event-panel h3 { font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.12; }
.event-panel p:not(.event-number) { color:var(--muted); margin:22px 0; max-width:560px; }
.event-panel ul { list-style:none; padding:0; margin:0; align-self:center; color:var(--muted); }
.event-panel li { padding:18px 0; border-bottom:1px solid #333; line-height:1.6; }
.live-section { padding-block:90px; }
.section-intro { max-width:360px; font-size:1.1rem; color:#55555b; }
.video-figure { max-width:1060px; margin:45px auto 0; }
video { display:block; width:100%; height:auto; background:#111; border-radius:22px; }
figcaption { font-size:.875rem; line-height:1.65; color:#606066; margin-top:16px; }
.live-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-top:90px; }
.live-grid img { width:100%; height:auto; }
.live-copy h3 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.1; margin:20px 0; }
.live-copy > p:not(.eyebrow) { color:#55555b; font-size:1.15rem; }
.approach { padding-block:100px; }
.approach h2 { margin:20px 0 45px; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding:0; list-style:none; }
.steps li { border-top:1px solid #444; padding-top:24px; }
.steps span { color:var(--yellow); }
.steps h3 { font-size:1.4rem; margin:24px 0 15px; }
.steps p { color:var(--muted); }
.about { padding-block:85px; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:85px; }
.about img { width:100%; height:auto; border-radius:24px; }
.about h2 { margin:20px 0 30px; }
.about p:not(.eyebrow) { color:#55555b; font-size:1.125rem; margin-bottom:20px; }
.faq { padding-block:100px; max-width:1060px; }
.faq h2 { margin:20px 0 40px; }
details { border-bottom:1px solid #444; padding:25px 0; }
summary { cursor:pointer; font-size:1.15rem; line-height:1.5; }
details p { margin-top:18px; color:var(--muted); max-width:880px; }
details a { text-decoration:underline; }
.contact { padding:90px 0; text-align:center; border-top:1px solid #333; }
.contact h2 { margin:25px 0; font-size:clamp(3.5rem,9vw,8rem); }
.contact > .wrap > p:not(.eyebrow) { color:var(--muted); }
.contact-call { display:inline-block; padding:22px 32px; border-radius:50px; background:var(--yellow); color:#050505; font-size:clamp(1.3rem,3vw,2.3rem); font-weight:700; margin:35px 0; }
.contact-area { font-size:.875rem; }
.footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:32px; border-top:1px solid #333; }
.footer nav { display:flex; flex-wrap:wrap; gap:24px; font-size:.875rem; }
.footer p { color:var(--muted); font-size:.875rem; }
.footer { flex-wrap:wrap; }
.footer .company-info { flex-basis:100%; width:100%; padding-top:20px; border-top:1px solid #333; color:var(--muted); font-size:.875rem; line-height:1.7; }
.company-info a { text-decoration:underline; text-underline-offset:3px; }
.lightbox { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; border:0; padding:25px; background:#050505f8; color:white; }
.lightbox[open] { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
.lightbox::backdrop { background:#050505; }
.lightbox-close { align-self:flex-end; background:#222; color:white; border:1px solid #666; border-radius:30px; padding:12px 20px; }
.lightbox figure { margin:0; min-height:0; text-align:center; }
.lightbox img { margin:auto; max-height:72vh; width:auto; max-width:100%; object-fit:contain; touch-action:pan-y; }
.lightbox figcaption { color:#ccc; }
.lightbox-controls { display:flex; align-items:center; gap:25px; }
.lightbox-controls button { background:#222; border:1px solid #666; color:white; width:48px; height:48px; border-radius:50%; font-size:1.3rem; }
body.modal-open { overflow:hidden; }
@media(min-width:901px) { .set-photo:not(.portrait-equipment) { max-height:750px; } .set-photo:not(.portrait-equipment) img { max-height:750px; object-fit:contain; } }
@media(max-width:1100px) { .desktop-nav { gap:16px; } .header-cta { display:none; } .hero-heading { gap:35px; } .set-description { grid-template-columns:1fr 1.5fr; } .set-description .caption { grid-column:2; } .section-top { align-items:start; flex-direction:column; gap:24px; } }
@media(max-width:800px) {
  .wrap { width:calc(100% - 40px); }
  .site-header { padding:16px 20px; }
  .menu-toggle { display:block; background:#222; color:white; border:1px solid #555; border-radius:30px; padding:10px 18px; margin-left:auto; }
  .desktop-nav { display:none; }
  .desktop-nav.is-open { display:flex; flex-direction:column; position:absolute; left:0; right:0; top:100%; background:#111; padding:28px; border-bottom:1px solid #444; gap:24px; }
  .hero { padding-top:50px; }
  .hero-heading { grid-template-columns:1fr; gap:28px; }
  h1 { font-size:clamp(2.7rem,9vw,4.5rem); }
  .hero-copy p { max-width:600px; }
  .hero-facts { gap:12px 20px; }
  .set-description { grid-template-columns:1fr; gap:14px; }
  .set-description .caption { grid-column:auto; }
  .portrait-equipment img { height:auto; width:100%; max-height:none; }
  .set-tabs button,.event-tabs button { padding:12px 16px; font-size:.875rem; }
  .statement,.live-grid,.about-grid { grid-template-columns:1fr; gap:32px; }
  .statement,.occasions,.approach,.faq { padding-block:65px; }
  .event-panel { grid-template-columns:35px 1fr; gap:20px; padding:32px 0; }
  .event-panel ul { grid-column:2; }
  .event-panel .button { text-align:center; }
  .steps { grid-template-columns:1fr 1fr; }
  .live-section,.about { padding-block:65px; }
  .live-grid { margin-top:60px; }
  .live-grid figure,.about figure { max-width:540px; margin:auto; }
  .footer { flex-direction:column; align-items:flex-start; }
  .photo-button,.about img,video { border-radius:16px; }
  .zoom-label { bottom:12px; right:12px; padding:10px 14px; }
  .lightbox { padding:16px; }
  .lightbox img { max-height:65vh; }
}
@media(max-width:400px) { .steps { grid-template-columns:1fr; } .event-tabs { gap:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Immersive event chapters */
@view-transition { navigation:auto; }
.event-panel:not([hidden]) .event-scene { view-transition-name:event-photo; }
.project-card { view-transition-name:project-card; }
::view-transition-old(event-photo) { animation:scene-out .55s cubic-bezier(.4,0,.2,1) both; }
::view-transition-new(event-photo) { animation:scene-reveal .75s cubic-bezier(.2,.7,.2,1) both; }
::view-transition-group(project-card) { animation-duration:.5s; }
@keyframes scene-out { to { opacity:0; transform:scale(.96); } }
@keyframes scene-reveal { from { clip-path:inset(0 0 100% 0); transform:scale(1.06); } to { clip-path:inset(0); transform:scale(1); } }
.lightbox[open] figure { animation:scene-reveal .55s cubic-bezier(.2,.7,.2,1); }
.hero-content h1 { animation:title-arrive 1s cubic-bezier(.2,.7,.2,1) both; }
@keyframes title-arrive { from { opacity:0; transform:translateY(45px); clip-path:inset(100% 0 0); } to { opacity:1; transform:none; clip-path:inset(0); } }
@media(prefers-reduced-motion:reduce) { ::view-transition-old(*),::view-transition-new(*) { animation:none!important; } .hero-content h1,.lightbox[open] figure { animation:none; } }
@media(min-width:1000px) and (min-height:780px) {
 .immersive-ready:not(.motion-paused) .ambience { min-height:230vh; }
 .immersive-ready:not(.motion-paused) .ambience>.wrap { position:sticky; top:105px; }
 .immersive-ready .ambience-visual img { aspect-ratio:3/2; max-height:47vh; }
 .immersive-ready .ambience .section-top h2 { font-size:clamp(2.5rem,4vw,4rem); }
 .immersive-ready .ambience-options button { padding:12px 0; }
 .immersive-ready .ambience-result { margin-top:24px; min-height:0; }
}
.immersive-hero { position:relative; isolation:isolate; min-height:calc(100svh - 82px); display:flex; align-items:center; overflow:hidden; padding:100px 0 110px; --scene-progress:0; }
.hero-image,.hero-scrim { position:absolute; inset:0; width:100%; height:100%; z-index:-2; }
.hero-image { object-fit:cover; object-position:center; transform:translateY(calc(var(--scene-progress) * 90px)) scale(calc(1.04 + var(--scene-progress) * .15)); }
.hero-scrim { z-index:-1; background:linear-gradient(90deg,#000d 0%,#0008 48%,#0002 100%),linear-gradient(0deg,#050505 0%,transparent 40%); }
.hero-content { transform:translateY(calc(var(--scene-progress) * -35px)); }
.hero-content h1 { font-size:clamp(3.2rem,7.4vw,7.5rem); line-height:1.04; max-width:1050px; margin:22px 0; }
.hero-content>p:not(.eyebrow) { font-size:clamp(1rem,1.7vw,1.35rem); color:#eee; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
.hero-secondary { padding:15px 0; border-bottom:1px solid #ffffff70; }
.hero-facts { color:#ddd; }
.motion-toggle { position:absolute; bottom:20px; right:4vw; background:#0009; color:#eee; border:1px solid #ffffff60; border-radius:30px; padding:10px 16px; font-size:.875rem; }
.event-ribbon { overflow:hidden; background:var(--yellow); color:var(--ink); padding:22px 0; }
.event-ribbon>div { width:max-content; white-space:nowrap; font-size:clamp(1.5rem,3vw,3rem); text-transform:uppercase; font-weight:750; animation:ribbon 45s linear infinite; }
.event-ribbon span { margin:0 36px; }
@keyframes ribbon { to { transform:translateX(-50%); } }
.occasions { padding-block:100px; }
.occasions h2 { font-size:clamp(3rem,6vw,6rem); }
.event-panel { animation:chapter-in .65s ease both; }
@keyframes chapter-in { from { opacity:0; transform:translateY(24px); clip-path:inset(3% 0 0); } to { opacity:1; transform:translateY(0); clip-path:inset(0); } }
.event-scene .photo-button { border-radius:4px; }
.event-scene img { max-height:75svh; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
@media(hover:hover) { .event-scene .photo-button:hover img { transform:scale(1.035); } .button:hover { transform:translateY(-3px); } }
.button,.header-cta { transition:transform .25s,background .25s; }
.event-more { display:block; width:fit-content; margin-top:20px; border-bottom:1px solid #777; padding-bottom:5px; }
.statement { padding-block:130px; }
.statement h2 { font-size:clamp(3.5rem,7vw,7rem); }
.reveal { opacity:0; transform:translateY(45px); transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.is-revealed { opacity:1; transform:none; }
.steps li:nth-child(2) { transition-delay:.1s; } .steps li:nth-child(3) { transition-delay:.2s; } .steps li:nth-child(4) { transition-delay:.3s; }
.ambience { padding:30px 0 110px; }
.ambience-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:start; }
.ambience-visual { position:sticky; top:120px; overflow:hidden; border-radius:4px; }
.ambience-visual img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.ambience-story { padding:20px 0; }
.ambience-options { display:grid; gap:0; }
.ambience-options button { text-align:left; color:#777; background:none; border:0; border-bottom:1px solid #ccc; padding:22px 0; font-size:clamp(1.15rem,2vw,1.65rem); letter-spacing:-.03em; }
.ambience-options button[aria-pressed=true] { color:#111; border-bottom:3px solid var(--yellow); font-weight:700; }
.ambience-result { margin-top:40px; min-height:200px; }
.ambience-result h3 { font-size:2rem; margin-bottom:18px; }
.ambience-result p { color:#555; }
.project-contact { text-align:left; padding-block:100px; }
.project-contact>.wrap { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.project-contact h2 { font-size:clamp(3rem,5vw,5rem); }
.contact-intro>p { color:var(--muted); }
.contact-intro>.eyebrow { color:var(--yellow); }
.direct-call { display:block; margin-top:30px; line-height:1.8; color:var(--muted); }
.direct-call strong { color:var(--yellow); font-size:1.4rem; }
.project-card { padding:32px; background:#171719; border:1px solid #353538; border-radius:20px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.project-card label { display:block; font-size:.9375rem; line-height:1.6; }
.project-card label span { color:var(--muted); font-size:.875rem; }
[data-guest-label],[data-context-label] { color:inherit!important; font-size:inherit!important; }
.form-context small { display:block; margin-top:8px; color:var(--muted); font-size:.78rem; line-height:1.45; }
.project-card input,.project-card select,.project-card textarea { width:100%; min-width:0; display:block; margin-top:8px; font:inherit; font-size:1rem; padding:13px; border:1px solid #626269; border-radius:8px; background:#242427; color:#fff; }
.project-card textarea { resize:vertical; }
.form-wide { margin:24px 0; }
.direct-email { display:inline-block; margin-top:18px; color:var(--yellow); font-size:1rem; overflow-wrap:anywhere; }
.event-options { padding-block:85px; }
.event-options h2 { margin:22px 0; }
.options-intro,.options-note { max-width:720px; color:var(--muted); line-height:1.7; }
.options-note { margin-top:28px; font-size:.875rem; }
.option-list { margin-top:36px; border-top:1px solid #353538; }
.option-list details { padding:24px 0; border-bottom:1px solid #353538; }
.option-list summary { cursor:pointer; font-size:clamp(1.15rem,2.3vw,1.8rem); font-weight:650; }
.option-list details p { color:var(--muted); max-width:700px; }
.option-list .text-link { display:inline-block; margin:12px 0 4px; }
.project-options { min-width:0; margin:26px 0 0; padding:0; border:0; }
.project-options legend { margin-bottom:14px; font-size:.9375rem; }
.project-options legend span { color:var(--muted); font-size:.875rem; }
.project-options > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.project-options label { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px; border:1px solid #626269; border-radius:8px; cursor:pointer; }
.project-options label:has(input:checked) { border-color:var(--yellow); background:#272510; }
.project-options input[type="checkbox"] { flex:0 0 18px; width:18px; height:18px; margin:0; padding:0; accent-color:var(--yellow); }
.project-options label span { color:var(--paper); line-height:1.4; }
.project-result .form-note a { text-decoration:underline; overflow-wrap:anywhere; }
@media(max-width:400px) { .project-options > div { grid-template-columns:1fr; } }
.project-card .button { border:0; }
.form-note { font-size:.875rem; color:var(--muted); margin-top:18px; }
.project-result h3 { font-size:2rem; margin:15px 0 25px; }
.message-actions { display:flex; flex-wrap:wrap; gap:15px; margin-top:22px; }
.copy-button,.edit-project { background:none; color:white; border:1px solid #777; padding:12px 16px; border-radius:24px; }
.edit-project { margin-top:20px; }
[data-copy-status] { margin-top:14px; color:var(--yellow); }
.mobile-contact { display:none; }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
.motion-paused { scroll-behavior:auto; }
.motion-paused *, .motion-paused *::before,.motion-paused *::after { animation:none!important; transition:none!important; }
.motion-paused .reveal { opacity:1; transform:none; }
@media(max-width:900px) {
 .ambience-grid,.project-contact>.wrap { grid-template-columns:1fr; gap:30px; }
 .ambience-visual { position:static; } .ambience-visual img { aspect-ratio:3/2; }
 .ambience-options { grid-template-columns:repeat(3,1fr); gap:15px; }
 .ambience-options button { font-size:1rem; }
 .ambience-result { min-height:0; }
 .hero-content h1 { font-size:clamp(3.2rem,9vw,5.5rem); }
}
@media(max-width:600px) {
 .immersive-hero { min-height:85svh; padding:75px 0 95px; }
 .hero-image { object-position:40% center; } .hero-scrim { background:linear-gradient(90deg,#000c,#0006),linear-gradient(0deg,#050505,transparent); }
 .hero-content h1 { font-size:clamp(2.6rem,10vw,3.8rem); }
 .hero-facts { gap:10px 18px; } .hero-facts span:last-child { display:none; }
 .hero-actions { gap:12px; } .hero-secondary { font-size:.9375rem; }
 .occasions,.statement,.project-contact { padding-block:70px; }
 .event-panel { gap:20px; } .event-tabs button { padding:12px 15px; }
 .event-scene img { aspect-ratio:4/3; }
 .project-card { padding:22px; } .form-grid { grid-template-columns:1fr; }
 .ambience-options { grid-template-columns:1fr; gap:0; }
 .ambience-options button { padding:15px 0; }
 .mobile-contact { position:fixed; z-index:25; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 2fr; background:#050505; border-top:1px solid #444; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); gap:10px; }
 .mobile-contact a { text-align:center; padding:13px 5px; font-size:.875rem; border-radius:25px; border:1px solid #555; }
 .mobile-contact a:last-child { background:var(--yellow); color:black; border-color:var(--yellow); }
 body { padding-bottom:85px; }
}
@media(prefers-reduced-motion:reduce) { .event-ribbon>div,.event-panel { animation:none; } .reveal { opacity:1; transform:none; transition:none; } }

.hero-content>p { max-width:680px; }
.hero-content>.hero-promise { margin-top:14px; color:#ccc; font-size:1rem; }
.hero-line { display:block; overflow:hidden; color:#fff; }
.hero-line>span { display:block; color:inherit; }
.hero-line-accent { color:var(--yellow); }
.cinematic-ambience { padding:0; background:#050505; color:#fff; }
.cinematic-ambience>.wrap { width:100%; }
.cinematic-ambience .ambience-grid { position:relative; isolation:isolate; display:flex; min-height:740px; align-items:center; overflow:hidden; padding:70px max(6vw,24px); }
.cinematic-ambience .ambience-visual { position:absolute; inset:0; z-index:-2; border-radius:0; }
.cinematic-ambience .ambience-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#050505e8 0%,#050505c4 38%,#05050544 75%),linear-gradient(0deg,#05050599,transparent 40%); }
.cinematic-ambience .ambience-visual img,.immersive-ready .cinematic-ambience .ambience-visual img { width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; }
.cinematic-ambience .ambience-story { width:min(620px,100%); padding:0; }
.cinematic-ambience h2 { font-size:clamp(3.5rem,6vw,6rem); margin:20px 0 28px; }
.cinematic-ambience .ambience-options { display:flex; gap:20px; }
.cinematic-ambience .ambience-options button { color:#ccc; font-size:1rem; padding:12px 0; border-bottom-color:#888; }
.cinematic-ambience .ambience-options button[aria-pressed=true] { color:#fff; border-bottom-color:var(--yellow); }
.cinematic-ambience .ambience-result { margin:25px 0; min-height:165px; }
.cinematic-ambience .ambience-result h3 { font-size:clamp(1.65rem,2.5vw,2.4rem); max-width:550px; }
.cinematic-ambience .ambience-result p { color:#e0e0e0; max-width:490px; }
.chapter-count { font-size:.875rem; letter-spacing:.06em; color:var(--yellow); margin-top:24px; }
.chapter-track { height:3px; background:#ffffff40; width:150px; margin-top:10px; }
.chapter-track span { display:block; width:100%; height:100%; background:var(--yellow); transform:scaleX(.333333); transform-origin:left; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.service-scope { padding-block:110px; }
.service-scope h2 { margin:20px 0 50px; }
.scope-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.scope-grid article { border-top:1px solid #444; padding-top:24px; }
.scope-grid span { color:var(--yellow); }
.scope-grid h3 { margin:20px 0 16px; font-size:1.6rem; }
.scope-grid p,.scope-note { color:var(--muted); }
.scope-note { max-width:850px; margin-top:35px; border-left:2px solid var(--yellow); padding-left:22px; }
@media(min-width:1000px) and (min-height:780px) {
 .immersive-ready:not(.motion-paused) .cinematic-ambience { min-height:260vh; }
 .immersive-ready:not(.motion-paused) .cinematic-ambience>.wrap { top:82px; }
 .cinematic-ambience .ambience-grid { min-height:calc(100svh - 82px); }
}
@media(max-width:900px) {
 .scope-grid { grid-template-columns:1fr; gap:25px; }
 .service-scope { padding-block:70px; }
 .cinematic-ambience .ambience-grid { min-height:700px; padding-block:55px; }
 .cinematic-ambience .ambience-visual::after { background:linear-gradient(90deg,#050505dc,#05050566),linear-gradient(0deg,#050505bb,transparent); }
 .cinematic-ambience .ambience-visual img { object-position:65% center; }
 .cinematic-ambience .ambience-options { gap:15px; flex-wrap:wrap; }
 .cinematic-ambience .ambience-options button { font-size:.9375rem; }
 .cinematic-ambience .ambience-result { min-height:190px; }
}

/* Continuous scenes: native scrolling drives a reveal, scale and image wipe. */
.immersive-hero { display:block; padding:0; min-height:0; overflow:visible; }
.hero-stage { position:relative; isolation:isolate; display:flex; align-items:center; min-height:740px; overflow:hidden; padding:80px 0 100px; background:#050505; }
.hero-stage .hero-image { transform:scale(calc(1.05 + var(--scene-progress) * .14)); clip-path:inset(calc(8% - var(--scene-progress) * 8%) calc(4% - var(--scene-progress) * 4%) round calc(26px - var(--scene-progress) * 26px)); }
.hero-stage .hero-content { transform:translateY(calc(var(--scene-progress) * -55px)); opacity:calc(1 - var(--scene-progress) * .55); }
.hero-stage .hero-content:focus-within { opacity:1; }
.hero-stage .hero-scrim { opacity:calc(1 - var(--scene-progress) * .35); }
.hero-stage h1 { animation:none; }
.hero-line>span { animation:hero-lift 1.15s cubic-bezier(.16,1,.3,1) both; }
.hero-line-accent>span { animation-delay:.14s; }
@keyframes hero-lift { from { transform:translateY(110%) rotate(2deg); } to { transform:translateY(0) rotate(0); } }
.hero-scroll-cue { position:absolute; bottom:26px; left:4vw; font-size:.875rem; color:#ddd; }
.hero-scroll-cue span { display:inline-block; margin-left:12px; }
.hero-stage .motion-toggle { z-index:2; }
.hero-stage .hero-content h1 { line-height:1.08; }
.hero-stage .hero-content p:not(.eyebrow) { max-width:620px; }
.immersive-ready:not(.motion-paused) .cinematic-ambience { min-height:0; }
.immersive-ready:not(.motion-paused) .cinematic-ambience>.wrap { position:relative; top:auto; }
.immersive-hero.story-pin { height:calc(var(--stage-height) * 1.7); }
.immersive-hero.story-pin .hero-stage { position:sticky; top:var(--header-height); min-height:var(--stage-height); height:var(--stage-height); }
.immersive-ready:not(.motion-paused) .cinematic-ambience.story-pin { height:calc(var(--stage-height) * 3.4); }
.immersive-ready:not(.motion-paused) .cinematic-ambience.story-pin>.wrap { position:sticky; top:var(--header-height); height:var(--stage-height); }
.cinematic-ambience.story-pin .ambience-grid { height:var(--stage-height); min-height:0; }
.cinematic-ambience .ambience-grid { min-height:740px; padding:35px max(6vw,24px); }
.cinematic-ambience .ambience-visual .scene-layer { position:absolute; inset:0; }
.scene-layer:not(.scene-layer-base) { clip-path:inset(100% 0 0); }
.cinematic-ambience .ambience-visual::after { z-index:3; background:linear-gradient(90deg,#050505e0,#050505b8 35%,#05050533 80%),linear-gradient(0deg,#050505a0,transparent 35%); }
.scene-word { position:absolute; z-index:-1; bottom:-.02em; left:0; font-size:clamp(5rem,17vw,18rem); line-height:.95; font-weight:800; letter-spacing:-.065em; color:#ffffff14; white-space:nowrap; pointer-events:none; transform:translateX(calc(-4% + var(--journey-progress,0) * 8%)); }
.cinematic-ambience .ambience-story { width:min(570px,100%); }
.cinematic-ambience h2 { font-size:clamp(2.8rem,5.5vw,5.4rem); margin:15px 0 22px; line-height:1.05; }
.cinematic-ambience .ambience-options { gap:22px; }
.cinematic-ambience .ambience-options button { padding:12px 0; }
.cinematic-ambience .ambience-result,.immersive-ready .cinematic-ambience .ambience-result { min-height:160px; margin:24px 0 16px; }
.cinematic-ambience .ambience-result h3 { font-size:clamp(1.6rem,2.6vw,2.4rem); line-height:1.1; }
.cinematic-ambience .ambience-result p { line-height:1.6; }
.effects-note { max-width:475px; font-size:.875rem; line-height:1.5; color:#bfbfc5; margin-top:18px; }
.chapter-track { width:100%; max-width:410px; }
.chapter-track span { transition:none; }
.effects-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-block:32px 60px; }
.effects-availability { margin-top:-30px; padding-bottom:30px; color:var(--muted); font-size:.875rem; }
.effects-gallery>button { padding:0; background:transparent; color:white; border:0; text-align:left; overflow:hidden; border-radius:6px; }
.effects-gallery img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.effects-gallery>button:hover img { transform:scale(1.03); }
.effects-gallery>button>span { display:flex; justify-content:space-between; align-items:center; padding:22px 0 12px; font-size:1.2rem; }
.effects-gallery>button>span>span { border:1px solid #555; border-radius:50%; width:40px; height:40px; display:grid; place-items:center; color:var(--yellow); }
@media(max-width:800px) {
 .hero-stage { min-height:660px; padding:55px 0 105px; }
 .hero-stage .hero-content h1 { font-size:clamp(2.7rem,9.7vw,4.5rem); }
 .hero-stage .hero-image { object-position:40% center; clip-path:inset(0); }
 .hero-scroll-cue { bottom:25px; left:20px; }
 .hero-stage .motion-toggle { bottom:23px; right:20px; max-width:210px; padding:9px 12px; font-size:.8125rem; }
 .hero-stage .hero-facts { margin-top:20px; }
 .cinematic-ambience .ambience-grid { min-height:680px; padding:28px 20px; }
 .cinematic-ambience h2 { font-size:clamp(2.5rem,9vw,4rem); }
 .cinematic-ambience .ambience-options { flex-wrap:nowrap; gap:16px; }
 .cinematic-ambience .ambience-options button { font-size:.875rem; }
 .cinematic-ambience .ambience-result,.immersive-ready .cinematic-ambience .ambience-result { min-height:150px; margin:18px 0 14px; }
 .chapter-count { margin-top:17px; }
 .cinematic-ambience .ambience-visual .scene-layer { object-position:60% center; }
 .scene-word { font-size:22vw; }
 .effects-gallery { gap:20px; grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .hero-line>span { animation:none; } }
:is(.local-coverage) { padding-top:90px; padding-bottom:90px; }
.local-coverage h2 { margin-top:24px; }
.local-coverage > p:not(.eyebrow) { max-width:780px; color:#aaaab2; line-height:1.8; }
.local-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:36px 0; }
.local-grid article { padding-top:24px; border-top:1px solid #303034; }
.local-grid h3 { font-size:1.35rem; }
.local-grid p { color:#aaaab2; line-height:1.8; }
.local-grid a { color:#f8d206; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:720px) { .local-grid { grid-template-columns:1fr; gap:20px; } }
