*{box-sizing:border-box}
html{background:var(--color-black);color:var(--color-white);font-family:var(--font-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{margin:0;overflow-x:clip}
h1,h2,h3,p,blockquote,figure{margin:0;font:inherit}
a{color:inherit;text-decoration:none}
button{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}
svg{vertical-align:middle}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-electric);outline-offset:5px}
a[data-site-form]:hover{filter:brightness(1.12)}
.image-description{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.desktop-layout{width:1440px;margin-inline:auto;overflow:clip}
.mobile-layout{display:none;overflow:clip}
.tablet-layout{display:none;overflow:clip;width:768px;margin-inline:auto}
.site-header{position:relative;z-index:10}
.footer-desktop{display:flex;flex-direction:column;align-items:center}
.swipe-row{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.swipe-row::-webkit-scrollbar{display:none}
.swipe-row>div{scroll-snap-align:start}
.skip-link{position:fixed;left:20px;top:12px;z-index:100;padding:12px 18px;background:var(--color-electric);color:var(--color-ink);border-radius:12px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
#mobile-menu{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:20px;border:0;background:var(--color-black);color:var(--color-white)}
#mobile-menu::backdrop{background:var(--color-black)}
.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:64px}
.menu-brand{font-size:26px;font-weight:900;letter-spacing:-.02em}
.menu-top button{width:44px;height:44px;font-size:26px}
#mobile-menu nav{display:flex;flex-direction:column;gap:28px;margin-bottom:56px}
#mobile-menu nav a{display:flex;align-items:baseline;gap:16px;font-size:clamp(28px,6vw,42px);font-weight:900;letter-spacing:-.04em}
#mobile-menu nav span{font-family:var(--font-mono);font-size:11px;color:var(--color-label-dark);letter-spacing:.08em}
.call-button{height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding-inline:24px;border-radius:var(--radius-pill);background:var(--color-electric);color:var(--color-ink);font-size:17px;font-weight:500}
#mobile-menu>p{margin-top:24px;color:var(--color-label-dark);font-size:14px}
body.menu-open{overflow:hidden}
@media(min-width:1100px) and (max-width:1439px){.desktop-layout{zoom:calc(100vw / 1440px)}}
@media(min-width:600px) and (max-width:1099px){.desktop-layout{display:none}.tablet-layout{display:block;zoom:min(1,calc(100vw / 768px))}.home-tablet{display:flex;flex-direction:column;align-items:center}}
@media(min-width:1441px){.desktop-layout{margin-inline:auto}}
@media(max-width:599px){
 .desktop-layout{display:none}
 .mobile-layout{display:block;width:390px;margin-inline:auto}
 .home-mobile{display:flex;flex-direction:column}
}
@media(max-width:389px){.mobile-layout{zoom:calc(100vw / 390px)}}
@media(min-width:391px) and (max-width:599px){.mobile-layout{zoom:calc(100vw / 390px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
