@font-face{font-family:Lato;src:url('/assets/fonts/lato/Lato-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/assets/fonts/lato/Lato-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Lobster;src:url('/assets/fonts/lobster/Lobster.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

:root{
  --ink:#f5f0e9;--ink-muted:#b9b1ad;--ink-dim:#898184;--night:#111014;--night-deep:#0b0a0d;--surface:#18161b;--surface-raised:#211e24;
  --pink:#d67f9d;--pink-bright:#eaa4bb;--pink-deep:#a84d70;--line:rgba(255,255,255,.13);--line-strong:rgba(255,255,255,.23);
  --shadow:0 28px 80px rgba(0,0,0,.38);--radius:1.25rem;--radius-lg:2rem;--shell:min(100% - 2rem,78rem);--gutter:clamp(1rem,4vw,4rem);
  --step--1:clamp(.78rem,.74rem + .2vw,.9rem);--step-0:clamp(1rem,.94rem + .25vw,1.125rem);--step-1:clamp(1.18rem,1.04rem + .62vw,1.55rem);
  --step-2:clamp(1.55rem,1.26rem + 1.24vw,2.35rem);--step-3:clamp(2.1rem,1.55rem + 2.4vw,3.75rem);--step-4:clamp(3rem,1.85rem + 5vw,6.5rem)
}
*{box-sizing:border-box;scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
html{max-width:100%;scroll-behavior:smooth;scroll-padding-top:6rem;background:var(--night);overflow-x:hidden;-ms-overflow-style:none}
body{max-width:100%;margin:0;min-width:20rem;background:var(--night);color:var(--ink);font-family:Lato,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--step-0);line-height:1.65;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
img[src*="/assets/images/photo_strips/"]{aspect-ratio:2/3;object-fit:contain}
a{color:inherit;text-underline-offset:.2em}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,p,figure{margin-block-start:0}
h1,h2,h3{font-weight:400;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}
em{color:var(--pink-bright);font-style:normal}
::selection{background:var(--pink);color:#161116}
:focus-visible{outline:3px solid var(--pink-bright);outline-offset:4px}
.shell{width:var(--shell);margin-inline:auto}
.section-space{padding-block:clamp(5.5rem,10vw,10rem)}
.skip-link{position:fixed;z-index:999;inset:1rem auto auto 1rem;transform:translateY(-160%);padding:.75rem 1rem;border-radius:.5rem;background:var(--ink);color:var(--night);font-weight:700;text-decoration:none;transition:transform .18s ease}
.skip-link:focus{transform:none}
.eyebrow,.section-index{margin:0 0 1.5rem;color:var(--pink-bright);font-size:var(--step--1);font-weight:700;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}
.section-index{color:var(--ink-dim)}
.section-heading{margin-bottom:clamp(2.5rem,6vw,5rem);max-width:56rem}
.section-heading h2{margin-bottom:0}
.split-heading{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(15rem,.65fr);align-items:end;gap:3rem;max-width:none}
.split-heading>p{margin:0;color:var(--ink-muted);max-width:30rem}
.reveal-enabled .reveal-item{overflow-anchor:none;opacity:0;transform:translateY(1.35rem);transition:opacity .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms);will-change:opacity,transform}.reveal-enabled .reveal-item.reveal-from-left{transform:translateX(-1.5rem)}.reveal-enabled .reveal-item.reveal-from-right{transform:translateX(1.5rem)}.reveal-enabled .reveal-item.is-visible{opacity:1;transform:none;will-change:auto}

/* Header */
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:5.25rem;border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.site-header.is-scrolled,.site-header-solid{background:rgba(13,12,15,.91);border-color:var(--line);box-shadow:0 8px 32px rgba(0,0,0,.2)}
@supports(backdrop-filter:blur(1rem)){.site-header.is-scrolled,.site-header-solid{background:rgba(13,12,15,.78);backdrop-filter:blur(1rem)}}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand img{width:2.35rem;height:2.35rem;object-fit:contain}
.brand span{font-family:Lobster,cursive;font-size:1.58rem;letter-spacing:0}
.nav-panel{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.2rem)}
.nav-links{display:flex;align-items:center;gap:clamp(.8rem,1.6vw,1.55rem)}
.nav-links a{position:relative;color:var(--ink-muted);font-size:.85rem;font-weight:700;text-decoration:none}
.nav-links a::after{content:"";position:absolute;inset:auto 0 -.55rem;height:1px;background:var(--pink);transform:scaleX(0);transform-origin:right;transition:transform .2s ease}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:var(--ink)}
.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.nav-toggle{display:none;border:0;background:none;padding:.5rem;align-items:center;gap:.65rem;cursor:pointer}
.nav-toggle-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.nav-toggle-icon{width:1.55rem;display:grid;gap:.38rem}.nav-toggle-icon i{display:block;height:1px;background:currentColor;transition:transform .2s ease}

/* Buttons */
.button{min-height:3.15rem;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.35rem;border:1px solid var(--pink);border-radius:999px;background:var(--pink);color:#191116;font-size:.88rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.button:hover,.button:focus-visible{transform:translateY(-2px);background:var(--pink-bright);border-color:var(--pink-bright);box-shadow:0 10px 28px rgba(214,127,157,.22)}
.button-small{min-height:2.65rem;padding:.65rem 1rem;font-size:.78rem}
.button-ghost{border-color:var(--line-strong);background:rgba(10,9,11,.35);color:var(--ink);box-shadow:none}
.button-ghost:hover,.button-ghost:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--night)}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:1.1rem}
.text-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line-strong)}
.text-link span{color:var(--pink);transition:transform .2s ease}.text-link:hover span{transform:translate(.15rem,-.15rem)}

/* Hero */
.home-hero{position:relative;min-height:52rem;padding:clamp(8.5rem,13vw,11rem) 0 clamp(5rem,8vw,8rem);overflow:hidden;background:radial-gradient(circle at 16% 35%,rgba(214,127,157,.12),transparent 30%),linear-gradient(135deg,#100f13 0%,#17131a 60%,#0d0c0f 100%)}
.hero-glow{position:absolute;width:35rem;height:35rem;right:-10rem;top:6rem;border-radius:50%;background:rgba(214,127,157,.14);filter:blur(7rem);pointer-events:none}
.hero-layout{display:grid;grid-template-columns:minmax(0,.96fr) minmax(28rem,.9fr);align-items:center;gap:clamp(3rem,7vw,7.5rem)}
.hero-copy{position:relative;z-index:2}.hero-copy h1{max-width:12ch;margin-bottom:1.75rem}
.hero-lead{max-width:38rem;margin-bottom:2rem;color:var(--ink-muted);font-size:var(--step-1);line-height:1.55}
.proof-list{display:flex;flex-wrap:wrap;gap:.65rem 1.5rem;margin:2.4rem 0 0;padding:1.35rem 0 0;border-top:1px solid var(--line);list-style:none;color:var(--ink-muted);font-size:.82rem;font-weight:700}
.proof-list li{display:flex;align-items:center;gap:.55rem}.proof-list li::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:var(--pink)}
.hero-composition{position:relative;min-height:37rem;isolation:isolate}
.hero-image{position:absolute;margin:0;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image figcaption{position:absolute;inset:auto .9rem .9rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.55rem;background:rgba(13,12,15,.76);color:var(--ink-muted);font-size:.7rem;line-height:1.25;text-transform:uppercase;letter-spacing:.09em}
.hero-image figcaption span{display:block;color:var(--ink);font-size:.88rem;font-weight:700;letter-spacing:0;text-transform:none}
.hero-image-main{inset:0 18% 0 0;border-radius:8rem 1rem 1rem 1rem;transform:rotate(-1.5deg)}
.hero-image-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(7,6,8,.5))}
.hero-image-main figcaption{z-index:1}
.hero-image-main img{transform:none}
.hero-image-detail{z-index:2;width:38%;height:46%;right:0;bottom:5%;border:5px solid var(--night);border-radius:1rem 1rem 5rem 1rem;transform:rotate(3deg)}
.hero-image-jukebox{z-index:2;width:34%;height:34%;right:3%;top:5%;border:5px solid var(--night);border-radius:1rem 1rem 1rem 4rem;transform:rotate(-3deg)}
.hero-note{position:absolute;z-index:3;right:40%;top:7%;width:9.5rem;padding:1rem;border:1px solid var(--line-strong);border-radius:.9rem;background:rgba(25,22,28,.84);box-shadow:var(--shadow);transform:rotate(2deg)}
.hero-note span{display:block;margin-bottom:.2rem;color:var(--pink-bright);font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.hero-note strong{font-size:.9rem}

/* Positioning */
.statement{background:var(--ink);color:#1a161a}
.statement-grid{display:grid;grid-template-columns:15rem 1fr;gap:clamp(2rem,6vw,7rem)}
.statement h2{max-width:17ch;margin-bottom:3.5rem}.statement h2 em{color:var(--pink-deep)}
.statement-copy{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:50rem;margin-left:auto;color:#5f565c;font-size:var(--step-1)}

/* Installations */
.installations{background:var(--night-deep)}
.installation-editorial{display:grid;gap:clamp(5rem,10vw,10rem)}
.installation-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.7fr);align-items:center;gap:clamp(2rem,7vw,7rem)}
.installation-feature figure{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface)}
.installation-feature figure::after{content:"";position:absolute;inset:0;border:1px solid var(--line);border-radius:inherit;pointer-events:none}
.installation-feature figure img{width:100%;height:clamp(32rem,60vw,48rem);object-fit:cover}
.installation-maggies figure img,.installation-watt figure img,.installation-jukebox figure img{object-position:center}
.installation-copy{position:relative}.feature-number{position:absolute;right:0;top:-4rem;margin:0;color:rgba(255,255,255,.06);font-size:8rem;font-weight:700;line-height:1}
.installation-copy h3{position:relative;margin-bottom:1.4rem}.installation-copy>p:not(.eyebrow):not(.feature-number){color:var(--ink-muted);margin-bottom:2rem}
.installation-watt{grid-template-columns:minmax(18rem,.7fr) minmax(0,1.1fr)}.installation-watt figure{grid-column:2}.installation-watt .installation-copy{grid-row:1;grid-column:1}

/* Benefits */
.benefits{background:linear-gradient(180deg,var(--night),#151218)}
.benefit-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.benefit-bento article{position:relative;min-height:17rem;grid-column:span 4;padding:clamp(1.5rem,3vw,2.25rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.benefit-bento article::after{content:"";position:absolute;width:12rem;height:12rem;right:-7rem;bottom:-8rem;border-radius:50%;background:rgba(214,127,157,.08);filter:blur(2rem)}
.benefit-bento h3{position:relative;margin:3.5rem 0 1rem;font-size:clamp(1.5rem,2.5vw,2.25rem)}.benefit-bento p{position:relative;margin:0;color:var(--ink-muted)}
.bento-number{position:absolute;top:1.5rem;right:1.5rem;color:var(--ink-dim);font-size:.72rem;letter-spacing:.15em}
.benefit-bento .benefit-large{grid-column:span 7;min-height:24rem;padding:clamp(2rem,5vw,4rem);background:linear-gradient(135deg,#2b2028,#18161b)}
.benefit-bento .benefit-large h3{max-width:12ch;margin-top:4rem;font-size:var(--step-3)}.benefit-large>p:last-child{max-width:34rem}
.benefit-bento .benefit-image{grid-column:span 5;min-height:24rem;padding:0}.benefit-image img{width:100%;height:100%;object-fit:cover}.benefit-image::before{content:"";position:absolute;z-index:1;inset:45% 0 0;background:linear-gradient(transparent,rgba(8,7,9,.92))}.benefit-image div{position:absolute;z-index:2;inset:auto 2rem 2rem}.benefit-image div span,.benefit-image div strong{display:block}.benefit-image div span{color:var(--pink-bright);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.benefit-image div strong{font-size:1.25rem}
.benefit-bento .benefit-accent{background:var(--pink);color:#1d1217}.benefit-bento .benefit-accent p{color:#4d2b39}.benefit-accent .bento-number{color:#6a394c}

/* Brand tabs */
.brand-system{background:var(--ink);color:#191519}.brand-layout{display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.brand-intro{position:sticky;top:8rem}.brand-intro h2{margin-bottom:1.7rem}.brand-intro>p:last-child{color:#625960}.brand-intro .eyebrow{color:var(--pink-deep)}
.tab-list{display:flex;overflow-x:auto;border-bottom:1px solid rgba(20,15,19,.18);scrollbar-width:none}.tab-list button{flex:1 0 auto;padding:1rem;border:0;border-bottom:3px solid transparent;background:none;color:#746a71;font-size:.82rem;font-weight:700;cursor:pointer}.tab-list button[aria-selected=true]{border-color:var(--pink-deep);color:#1b161a}
.tab-panels{margin-top:1.5rem}.tab-panels figure{margin:0}.tab-panels img{width:100%;height:clamp(30rem,55vw,43rem);object-fit:cover;border-radius:var(--radius-lg)}#brand-print img{height:auto;aspect-ratio:2/3;object-fit:contain;background:#050505}.tab-panels figcaption{max-width:36rem;margin-top:1rem;color:#625960;font-size:.9rem}
.js .tab-panels [role=tabpanel][hidden]{display:none}.no-js .tab-panels figure+figure{margin-top:2.5rem}

/* Process */
.process{background:var(--night-deep)}
.process-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.process-list li{display:grid;grid-template-columns:7rem 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);transition:background .2s ease,padding .2s ease}
.process-list li:hover{padding-inline:1rem;background:rgba(255,255,255,.025)}.process-list li>span{color:var(--pink);font-size:.75rem;font-weight:700;letter-spacing:.16em}.process-list h3{margin:0 0 .5rem;font-size:var(--step-2)}.process-list p{margin:0;color:var(--ink-muted)}

/* Journey */
.guest-journey{background:linear-gradient(135deg,#1c171d,#111014)}
.journey-layout{display:grid;grid-template-columns:minmax(16rem,.65fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,9vw,9rem)}
.journey-visual{position:relative;max-width:29rem}.journey-visual img{width:100%;border-radius:1rem;box-shadow:var(--shadow)}.journey-visual>p{margin:.8rem 0 0;color:var(--ink-dim);font-size:.68rem}
.journey-copy h2{max-width:13ch;margin-bottom:2.5rem}.journey-copy ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.journey-copy li{display:grid;grid-template-columns:3rem 1fr;gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.journey-copy li>span{color:var(--pink);font-size:.7rem;letter-spacing:.1em}.journey-copy h3{margin:0 0 .3rem;font-size:1.35rem}.journey-copy li p{margin:0;color:var(--ink-muted);font-size:.95rem}

/* Managed */
.managed{position:relative;background-color:#151317;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:4rem 4rem}
.managed::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 40%,rgba(214,127,157,.12),transparent 34%),linear-gradient(rgba(17,16,20,.55),rgba(17,16,20,.78))}
.managed-layout{position:relative;display:grid;grid-template-columns:1fr .75fr;gap:clamp(3rem,8vw,8rem)}.managed h2{max-width:14ch}.service-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.service-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-weight:700}.service-list li span{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-dim);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.service-list li span::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--pink);box-shadow:0 0 0 .28rem rgba(214,127,157,.1)}

/* FAQ */
.faqs{background:var(--ink);color:#191519}.faq-layout{display:grid;grid-template-columns:minmax(15rem,.55fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem)}.faq-intro{position:sticky;top:8rem;align-self:start}.faq-intro .eyebrow{color:var(--pink-deep)}.faq-intro>p:last-child{color:#6b6068}.faq-list{border-top:1px solid rgba(20,15,19,.2)}.faq-list details{border-bottom:1px solid rgba(20,15,19,.2)}.faq-list summary{position:relative;padding:1.45rem 3.5rem 1.45rem 0;font-size:1.1rem;font-weight:700;list-style:none;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span::before,.faq-list summary span::after{content:"";position:absolute;right:.5rem;top:50%;width:1rem;height:1px;background:#1a1519;transition:transform .2s ease}.faq-list summary span::after{transform:rotate(90deg)}.faq-list details[open] summary span::after{transform:rotate(0)}.faq-list details>p{max-width:43rem;margin:0;padding:0 3rem 1.5rem 0;color:#625960}

/* CTA and form */
.final-cta{position:relative;min-height:38rem;display:grid;place-items:center;overflow:hidden}.final-cta>img,.final-cta-overlay{position:absolute;inset:0;width:100%;height:100%}.final-cta>img{object-fit:cover;object-position:center 48%}.final-cta-overlay{background:linear-gradient(90deg,rgba(10,9,12,.95) 5%,rgba(10,9,12,.68) 55%,rgba(10,9,12,.35)),linear-gradient(0deg,rgba(10,9,12,.4),transparent)}.final-cta-content{position:relative;padding-block:6rem}.final-cta-content h2{max-width:12ch;margin-bottom:1.5rem}.final-cta-content>p:not(.eyebrow){max-width:39rem;margin-bottom:2rem;color:#d1c9c6;font-size:var(--step-1)}.final-cta-watt>img{object-position:center 50%}
.contact{background:var(--night-deep)}.contact-layout{display:grid;grid-template-columns:minmax(16rem,.65fr) minmax(0,1.2fr);gap:clamp(3rem,9vw,9rem);align-items:start}.contact-intro{position:sticky;top:8rem}.contact-intro h2{margin-bottom:1.5rem}.contact-intro>p:not(.eyebrow){color:var(--ink-muted)}.contact-details{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.contact-details p{margin:0 0 1rem}.contact-details span,.contact-details a{display:block}.contact-details span{color:var(--ink-dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.contact-details a{font-size:.92rem;font-weight:700}
.contact-form{padding:clamp(1.4rem,4vw,3rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem}.field{margin-bottom:1.15rem}.field label{display:block;margin-bottom:.45rem;font-size:.79rem;font-weight:700;letter-spacing:.03em}.field label span{color:var(--pink-bright)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:.65rem;background:#121015;color:var(--ink);padding:.82rem .9rem;transition:border-color .18s ease,box-shadow .18s ease}.field input,.field select{min-height:3.15rem}.field textarea{resize:vertical;min-height:9rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(214,127,157,.13);outline:0}.field [aria-invalid=true]{border-color:#ff9da6}.field-error{min-height:1.2em;margin:.3rem 0 0;color:#ffabb2;font-size:.76rem}.form-status{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:#121015}.form-status.is-error{border-color:#b95f69}.form-status.is-success{border-color:#709b7e}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:.8rem}.form-submit p{max-width:28rem;margin:0;color:var(--ink-dim);font-size:.76rem}.form-submit .button{flex:0 0 auto}.contact-captcha{margin-bottom:1.2rem}.contact-captcha[hidden]{display:none}.contact-captcha.is-visible{display:block}
.reason-field{margin:0 0 1.15rem;padding:0;border:0}.reason-field legend{margin-bottom:.55rem;padding:0;font-size:.79rem;font-weight:700;letter-spacing:.03em}.reason-field legend span{color:var(--pink-bright)}.reason-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.reason-options label{position:relative;display:flex;align-items:center;min-height:3.2rem;margin:0;padding:.7rem .85rem;border:1px solid var(--line-strong);border-radius:.65rem;background:#121015;color:var(--ink-muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.reason-options input[type=radio]{position:absolute;width:1px;min-height:0;height:1px;margin:0;padding:0;border:0;opacity:0}.reason-options label:has(input:checked){border-color:var(--pink);background:rgba(214,127,157,.12);color:var(--ink)}.reason-options label:has(input:focus-visible){outline:3px solid var(--pink-bright);outline-offset:3px}.reason-options label span{display:flex;align-items:center;gap:.65rem;color:inherit}.reason-options input:focus-visible+span{outline:2px solid var(--pink-bright);outline-offset:3px}.reason-options label span::before{content:"";flex:0 0 .85rem;width:.85rem;height:.85rem;border:1px solid var(--ink-dim);border-radius:50%;box-shadow:inset 0 0 0 .18rem #121015}.reason-options input:checked+span::before{border-color:var(--pink);background:var(--pink)}.reason-field:has(input[aria-invalid=true]) .reason-options{border-radius:.65rem;box-shadow:0 0 0 1px #ff9da6}

/* Persistent venue enquiry */
.persistent-venue-cta{position:fixed;z-index:90;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));opacity:1;transform:none;transform-origin:bottom right;transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),visibility .34s ease}.persistent-venue-cta .button{box-shadow:0 12px 36px rgba(0,0,0,.3)}.persistent-venue-cta .button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.persistent-venue-cta[data-await-visibility],.persistent-venue-cta.is-suppressed,body.nav-open .persistent-venue-cta,body.form-entry-active .persistent-venue-cta{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(1rem) scale(.88)}body:not(.nav-open):not(.form-entry-active) .persistent-venue-cta.is-suppressed:focus-within{visibility:visible;opacity:1;pointer-events:auto;transform:none}

/* Footer */
.site-footer{padding:clamp(4rem,7vw,6.5rem) 0 1.5rem;background:#09080a;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:minmax(17rem,1.3fr) repeat(2,minmax(9rem,.5fr));gap:clamp(2.5rem,8vw,7rem);padding-bottom:4rem}.footer-brand>p{max-width:31rem;margin:1.5rem 0 0;color:var(--ink-dim)}.footer-top h2{margin:0 0 1rem;color:var(--ink-dim);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.footer-top ul{margin:0;padding:0;list-style:none}.footer-top li{margin-bottom:.55rem}.footer-top li a{color:var(--ink-muted);font-size:.9rem;text-decoration:none}.footer-top li a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--ink-dim);font-size:.7rem}.footer-bottom p{margin:0}

/* Subpages */
.subpage-hero{padding:clamp(10rem,15vw,13rem) 0 clamp(5rem,9vw,8rem);background:radial-gradient(circle at 75% 20%,rgba(214,127,157,.12),transparent 30%),var(--night)}.subpage-hero h1{max-width:13ch;margin-bottom:3rem}.subpage-intro{display:grid;grid-template-columns:repeat(2,minmax(0,26rem));gap:2rem;margin-left:auto;width:68%;color:var(--ink-muted);font-size:var(--step-1)}.subpage-intro p{margin:0}.subpage-intro a{color:var(--ink)}
.venue-story{border-top:1px solid var(--line)}.venue-story-watt{background:#17150e}.venue-story-maggies{background:#101412}.venue-story-grid{display:grid;grid-template-columns:minmax(17rem,.6fr) minmax(0,1.35fr);gap:clamp(3rem,7vw,7rem)}.venue-story-heading{position:sticky;top:8rem;align-self:start}.venue-count{color:var(--ink-dim);font-size:.72rem;letter-spacing:.15em}.venue-story-heading h2{margin-bottom:1.5rem;font-size:var(--step-4)}.venue-deck{color:var(--ink-muted);font-size:var(--step-1)}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0 0;padding:0;list-style:none}.tag-list li{padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.venue-story-maggies .venue-story-grid{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.6fr)}.venue-story-maggies .venue-story-heading{grid-column:2;grid-row:1}.venue-story-maggies .venue-gallery{grid-column:1;grid-row:1}.venue-story-maggies .venue-story-copy{grid-column:1;grid-row:2}
.venue-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.venue-gallery figure{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.venue-gallery img{width:100%;height:28rem;object-fit:cover}.venue-gallery .gallery-primary{grid-column:1/-1}.venue-gallery .gallery-primary img{height:clamp(34rem,60vw,48rem)}.venue-gallery .gallery-strip img{height:auto;aspect-ratio:2/3;object-fit:contain;object-position:center top;background:#050505}.venue-gallery figcaption{position:static;max-width:none;margin:0;padding:.85rem 1rem;border:0;border-top:1px solid var(--line);background:var(--surface);color:#c9c0bd;font-size:.72rem;line-height:1.45}
.venue-story-copy{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:2.5rem;border-top:1px solid var(--line);color:var(--ink-muted)}.venue-story-copy p{margin:0}
.next-venues{background:var(--night-deep)}.text-venue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.text-venue-grid article{position:relative;min-height:17rem;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,var(--surface),rgba(214,127,157,.08))}.text-venue-grid span{color:var(--ink-dim);font-size:.72rem;letter-spacing:.15em}.text-venue-grid h3{margin:6rem 0 .5rem}.text-venue-grid p{margin:0;color:var(--pink-bright);font-size:.75rem;text-transform:uppercase;letter-spacing:.13em}

/* Policy */
.policy-layout{display:grid;grid-template-columns:16rem minmax(0,49rem);justify-content:space-between;gap:clamp(3rem,8vw,8rem);padding-block:clamp(4rem,8vw,8rem)}.policy-nav{position:sticky;top:7rem;align-self:start;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.policy-nav>p{color:var(--pink-bright);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.policy-nav nav{display:grid}.policy-nav a{padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--ink-dim);font-size:.78rem;text-decoration:none}.policy-nav a:hover,.policy-nav a.is-active{color:var(--ink)}.policy-content section{position:relative;padding:0 0 clamp(4rem,8vw,7rem);scroll-margin-top:7rem}.policy-content section+section{padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line)}.policy-content h2{font-size:var(--step-3);margin-bottom:2rem}.policy-content h3{margin:2.5rem 0 1rem;font-size:var(--step-1);font-weight:700;letter-spacing:-.02em}.policy-content p,.policy-content li,.policy-content address{color:var(--ink-muted)}.policy-content li+li{margin-top:.7rem}.policy-content strong{color:var(--ink)}.policy-content a{color:var(--pink-bright)}.policy-content address{font-style:normal}.policy-number{position:absolute;top:.3rem;right:0;color:var(--pink)!important;font-size:.68rem;letter-spacing:.15em}.policy-content section+section .policy-number{top:calc(clamp(3rem,6vw,5rem) + .3rem)}.policy-contact{padding:clamp(2rem,5vw,4rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--surface-raised),var(--surface))}.policy-contact h2{margin-bottom:1rem;font-size:var(--step-2)}.policy-contact p:last-child{margin:0;color:var(--ink-muted)}

@media(max-width:70rem){
  .nav-cta{display:none}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(23rem,.85fr);gap:3rem}.hero-composition{min-height:33rem}
  .benefit-bento article{grid-column:span 6}.benefit-bento .benefit-large,.benefit-bento .benefit-image{grid-column:span 6}.venue-story-copy{grid-template-columns:1fr}
}
@media(max-width:56rem){
  .reveal-enabled .reveal-item.reveal-from-left,.reveal-enabled .reveal-item.reveal-from-right{transform:translateY(1.35rem)}
  .site-header.is-menu-open{height:100dvh;background:#0b0a0d;border-color:transparent;backdrop-filter:none}.nav-toggle{display:flex;position:relative;z-index:2}.nav-panel{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2.5rem;padding:7rem var(--gutter) 3rem;background:#0b0a0d;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.5rem);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
  .nav-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.nav-links a{font-size:clamp(1.55rem,7vw,2.7rem);font-weight:400;line-height:1.2;letter-spacing:-.035em}.nav-links a::after{display:none}.nav-cta{display:inline-flex;align-self:flex-start}.nav-toggle[aria-expanded=true] .nav-toggle-icon i:first-child{transform:translateY(.21rem) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon i:last-child{transform:translateY(-.21rem) rotate(-45deg)}
  .no-js .nav-toggle{display:none}.no-js .nav-panel{position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;background:none;padding:0}.no-js .nav-links{flex-direction:row}.no-js .nav-links a{font-size:.8rem;font-weight:700}.no-js .nav-cta{display:none}
  .hero-layout{grid-template-columns:1fr}.hero-copy h1{max-width:14ch}.hero-composition{width:min(100%,34rem);margin-inline:auto;min-height:37rem}
  .statement-grid{grid-template-columns:1fr}.statement-copy{margin:0}.installation-feature,.installation-watt{grid-template-columns:1fr}.installation-watt figure,.installation-watt .installation-copy{grid-column:auto;grid-row:auto}.installation-watt figure{order:0}.installation-watt .installation-copy{order:1}
  .brand-layout,.journey-layout,.managed-layout,.faq-layout,.contact-layout{grid-template-columns:1fr}.brand-intro,.faq-intro,.contact-intro{position:static}.brand-intro{max-width:40rem}.journey-visual{margin-inline:auto}.managed h2{max-width:17ch}
  .subpage-intro{width:100%}.venue-story-grid{grid-template-columns:1fr}.venue-story-heading{position:static}.venue-story-copy{grid-column:1}.policy-layout{grid-template-columns:1fr}.policy-nav{position:static}.policy-nav nav{grid-template-columns:repeat(2,1fr);column-gap:1rem}
}
@media(max-width:42rem){
  :root{--shell:min(100% - 1.25rem,78rem)}.persistent-venue-cta{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));left:auto}.persistent-venue-cta .button{min-height:3rem;padding:.72rem 1rem;font-size:.78rem}.section-space{padding-block:4.75rem}.site-header{height:4.6rem}.brand img{width:2rem;height:2rem}.brand span{font-size:1.38rem}
  .home-hero{min-height:auto;padding-top:7.5rem}.hero-copy h1{font-size:clamp(2.9rem,14vw,4.55rem)}.hero-copy .text-link{border-bottom:0}.hero-composition{min-height:29rem}.hero-image-main{right:12%;border-radius:5rem 1rem 1rem}.hero-image-detail{width:42%;height:48%;bottom:16%}.hero-image-jukebox{width:30%;height:30%;right:2%;top:4%}.hero-note{right:auto;left:0;top:4%}
  .proof-list{display:grid;grid-template-columns:1fr 1fr}.statement-copy{grid-template-columns:1fr}.installation-feature figure img{height:32rem}.split-heading{grid-template-columns:1fr;gap:1.3rem}.benefit-bento{grid-template-columns:1fr}.benefit-bento article,.benefit-bento .benefit-large,.benefit-bento .benefit-image{grid-column:1;min-height:17rem}.benefit-bento .benefit-large{min-height:22rem}.benefit-bento .benefit-image{min-height:27rem}
  .tab-panels img{height:29rem}.process-list li{grid-template-columns:2.5rem 1fr;gap:1rem}.journey-visual{width:80%}.final-cta{min-height:34rem}.final-cta-overlay{background:linear-gradient(90deg,rgba(10,9,12,.91),rgba(10,9,12,.58))}.field-grid{grid-template-columns:1fr}.form-submit{align-items:stretch;flex-direction:column}.form-submit .button{width:100%}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.4rem}
  .subpage-hero{padding-top:8.5rem}.subpage-intro{grid-template-columns:1fr;font-size:1.05rem}.venue-gallery{display:flex;margin-right:calc((100vw - 100%)/-2);padding-right:.65rem;gap:.7rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:.65rem;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.venue-gallery figure,.venue-gallery .gallery-primary{flex:0 0 84%;margin-top:0;scroll-snap-align:center}.venue-gallery img,.venue-gallery .gallery-primary img{height:34rem}.venue-story-copy{font-size:.95rem}.text-venue-grid{grid-template-columns:1fr}.policy-nav nav{grid-template-columns:1fr}.policy-content h2{padding-right:2rem}
}
@media(max-width:25rem){.proof-list{grid-template-columns:1fr}.button-row{align-items:stretch;flex-direction:column}.button-row>*{width:100%;justify-content:center}.hero-composition{min-height:25rem}.hero-note{width:8.25rem;padding:.75rem}.footer-top{grid-template-columns:1fr}}
@media(max-width:42rem){.reason-options{grid-template-columns:1fr}}
@media(max-width:56rem){.venue-story-maggies .venue-story-grid{grid-template-columns:1fr}.venue-story-maggies .venue-story-heading,.venue-story-maggies .venue-gallery,.venue-story-maggies .venue-story-copy{grid-column:1;grid-row:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.button{border:2px solid ButtonText}.proof-list li::before,.service-list li span::before{forced-color-adjust:none}.final-cta-overlay{background:rgba(0,0,0,.8)}}
