@font-face{font-family:"Orbitron";src:url(../fonts/orbitron.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inria Sans";src:url(../fonts/inria.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inria Sans";src:url(../fonts/inria-bold.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--bg:#fff;--ink:#0C1A33;--navy:#142848;--led:#E8B84A;--h:"Orbitron",system-ui,sans-serif;--b:"Inria Sans",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;scroll-padding-bottom:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--b)}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}
.ph{white-space:nowrap}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--led);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 16px;z-index:99}
.skip:focus{left:8px;top:8px}
h1,h2,h3{font-family:var(--h);font-weight:600;letter-spacing:.04em;line-height:1.15;margin:0}
h1{font-size:clamp(2.125rem,4.5vw,3rem)}
h2{font-size:clamp(1.625rem,3vw,2rem)}
h3{font-size:1.25rem;letter-spacing:.03em}
.top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:2px solid var(--ink)}
.top-in{display:flex;align-items:center;gap:1rem;min-height:64px}
.brand{font:600 .95rem/1 var(--h);letter-spacing:.08em;text-decoration:none;color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.nav{margin-left:auto;display:none}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;text-decoration:none;font-weight:600;color:var(--ink)}
@media (min-width:760px){.nav{display:flex}}
.call-sm,.btn-call{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.2rem;background:var(--led);color:var(--ink);text-decoration:none;font-weight:600;border-radius:2px}
.hero{background:var(--ink);color:#fff;padding-bottom:3rem}
.ceiling{line-height:0}
.lights{width:100%;height:auto;display:block;max-height:220px}
.beam{opacity:0}
html.lit .c1 .beam{opacity:.35;animation:ignite .35s ease both}
html.lit .c2 .beam{opacity:.4;animation:ignite .35s ease .08s both}
html.lit .c3 .beam{opacity:.32;animation:ignite .35s ease .16s both}
html.lit .c4 .beam{opacity:.45;animation:ignite .35s ease .24s both}
html.lit .c5 .beam{opacity:.36;animation:ignite .35s ease .32s both}
html.lit .c6 .beam{opacity:.3;animation:ignite .35s ease .4s both}
@keyframes ignite{from{opacity:0}to{opacity:.4}}
@media (prefers-reduced-motion:reduce){.beam,html.lit .beam{opacity:.35;animation:none}}
.hero-copy{padding-top:1.5rem}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;color:var(--led);margin:0 0 .75rem}
.lede{margin:1rem 0 1.5rem;max-width:40rem;color:#d7deea}
.grid-sec{padding:3.5rem 0;background:var(--navy);color:#fff}
.grid-sec h2{margin-bottom:1.5rem}
.wells{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:700px){.wells{grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto}.w1{grid-row:span 2}.w3{grid-column:2}.w4{grid-column:1 / -1}}
.well{padding:1.35rem;background:rgba(255,255,255,.05);border:1px solid rgba(232,184,74,.35);border-radius:4px}
.well h3{margin-bottom:.45rem;color:var(--led)}
.well p{margin:0;color:#d7deea}
.work{padding:3.5rem 0}
.work h2{margin-bottom:1.5rem}
.gallery{display:grid;gap:1rem}
@media (min-width:800px){.gallery{grid-template-columns:1fr 1fr}}
.gallery figure{margin:0;background:#e8ecf2;overflow:hidden}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.reviews{padding:3rem 0;background:#eef1f6}
.reviews h2{margin-bottom:1.25rem}
.quotes{display:grid;gap:1rem}
@media (min-width:800px){.quotes{grid-template-columns:1fr 1fr}}
.q{margin:0;padding:1.4rem;background:#fff;border-top:4px solid var(--led)}
.q blockquote{margin:0 0 .75rem}
.q p{margin:0}
.q figcaption{font-weight:600;color:var(--navy);font-size:.9375rem}
.callout{padding:3.5rem 0;text-align:center;background:var(--ink);color:#fff}
.callout h2{margin-bottom:1.25rem;color:#fff}
.foot{padding:2rem 0 7rem;font-size:.9375rem;color:#4a5670}
.syranth{margin-top:.5rem}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.75rem 1rem;background:rgba(255,255,255,.96);border-top:2px solid var(--ink);display:flex;justify-content:center}
@media (min-width:900px){.sticky{display:none}}
