.logo {display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.logo::before {content:'';display:inline-block;width:42px;height:42px;flex-shrink:0;background:url('/assets/brand-mark.svg') center/contain no-repeat}
html {scroll-behavior:smooth;scroll-padding-top:92px}
:focus-visible {outline:3px solid #c41e3a;outline-offset:4px}
button,a,input,select {touch-action:manipulation}
.hero {background-color:#111318}
.hero h1 {letter-spacing:-1.8px;max-width:820px}
.hero-label {letter-spacing:2px}
.service-card {transition:transform .2s,box-shadow .2s;border-radius:16px}
.service-card:hover {transform:translateY(-4px);box-shadow:0 18px 45px #0f0f0f12}
.btn {min-height:44px}
.modal-overlay.active {overflow-y:auto}
@media(max-width:1023px){.nav.is-open{display:flex;position:absolute;top:72px;left:0;right:0;background:white;padding:24px;flex-direction:column;gap:18px;box-shadow:0 12px 24px #0002}.nav.is-open a{padding:8px}.menu-toggle{min-width:44px;min-height:44px}}
@media(max-width:639px){.logo{font-size:20px;gap:7px}.logo::before{width:34px;height:34px}.hero h1{letter-spacing:-1px}.header-actions{gap:6px}.header-actions .btn{font-size:12px;padding:10px}.hero{padding-top:120px}.modal{max-height:90dvh;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.logo{gap:0}.logo::before{margin-right:10px}
.hero{background-size:cover;background-position:center;background-repeat:no-repeat}
