:root{color-scheme:light only;}
html,body{height:100%;}
html{font-size:16px;}
body{min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img,video,picture{max-width:100%;height:auto;display:block;object-fit:cover}
button,input,textarea{font-family:inherit}
.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
a{color:inherit}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible{outline:3px solid rgba(14,165,161,0.18);outline-offset:3px;border-radius:0.5rem}
:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#mobileMenu{transition:opacity .28s ease,transform .28s ease}
#mobileMenu.hidden{opacity:0;pointer-events:none}
#mobileMenu.show{opacity:1}
#mobileBackdrop{transition:opacity .28s ease}
#cookieModal{transition:transform .28s ease,opacity .28s ease}
.details-open summary::marker{font-weight:700}
details summary{list-style:none}
details[open] summary::after{content:'\2013';padding-left:.5rem}
@media (prefers-reduced-motion:reduce){*{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}}
@media (max-width:640px){.container{padding-left:0.75rem;padding-right:0.75rem}h1,h2,h3{line-height:1.15}}
:root{--shadow-md:0 6px 18px rgba(8,15,22,0.06);--shadow-lg:0 10px 30px rgba(8,15,22,0.08)}
.card-shadow{box-shadow:var(--shadow-md)}
.card-shadow-lg{box-shadow:var(--shadow-lg)}
.rounded-xl{border-radius:1rem}
.rounded-2xl{border-radius:1.25rem}
.btn-icon{display:inline-flex;align-items:center;gap:.5rem}
.iconify{display:inline-block;height:1.2em;width:1.2em}
.header-backdrop{backdrop-filter:blur(6px)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}
.modal-focus-trap{outline:none}
input[type="tel"],input[type="email"],input[type="text"],textarea{min-height:44px;padding:.6rem .75rem;border:1px solid rgba(15,23,42,0.06);border-radius:.6rem;background-color:#fff}
button[disabled]{opacity:.5;cursor:not-allowed}
.hero-media{width:100%;height:100%;object-fit:cover}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:.75rem;background:linear-gradient(90deg,rgba(14,165,161,0.08),rgba(102,198,230,0.04));font-weight:600}
input:invalid,textarea:invalid{box-shadow:0 0 0 3px rgba(220,38,38,0.08)}
.focus-ring{box-shadow:0 4px 18px rgba(2,6,23,0.08),0 0 0 4px rgba(14,165,161,0.12);border-radius:.75rem}
.footer-legal{font-size:.9rem;color:#475569}
kbd{background:#0f172a;color:#fff;padding:.15rem .4rem;border-radius:.4rem;font-size:.85em}
