@tailwind base;
@tailwind components;
@tailwind utilities;
:root{
  font-size:16px;
  --brand-600:#1e40af;
  --brand-500:#2563eb;
  --charcoal:#2b2f36;
}
html,body,#page{height:100%}
body{font-family:Inter,ui-sans-serif,system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;line-height:1.5;color:rgb(30,41,59);background-color:rgb(255,255,255);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-family:Merriweather,serif}
.container{max-width:1200px}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit}
input,textarea,select{font-family:inherit}
:focus{outline:none}
:focus-visible{outline:3px solid rgba(37,99,235,0.22);outline-offset:2px;border-radius:8px}
.focus-ring{box-shadow:0 0 0 4px rgba(37,99,235,0.12);border-radius:10px}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.no-scroll{overflow:hidden;height:100vh}
header[role="banner"]{background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.7))}
#mobileMenu{transition:opacity .32s ease,transform .32s cubic-bezier(.16,.84,.24,1)}
#mobileMenu[aria-hidden="false"],#mobileMenu.show{display:block;opacity:1;transform:translateY(0)}
#mobileMenu[aria-hidden="true"],#mobileMenu.hide{display:none;opacity:0;transform:translateY(6px)}
#menuBackdrop{transition:opacity .3s ease}
nav[role="navigation"] a{color:rgb(55,65,81)}
.cookie-compact{min-width:16rem;max-width:22rem}
#cookie{transition:transform .28s cubic-bezier(.16,.84,.24,1),opacity .28s ease}
#cookie.hidden{transform:translateY(12px);opacity:0;pointer-events:none}
.rounded-2xl{border-radius:18px}
.rounded-xl{border-radius:12px}
.shadow-lg{box-shadow:0 10px 30px rgba(2,6,23,0.12)}
.shadow-sm{box-shadow:0 6px 18px rgba(2,6,23,0.06)}
.card-hover{transition:transform .28s cubic-bezier(.16,.84,.24,1),box-shadow .28s ease}
.card-hover:hover{transform:translateY(-6px)}
.button-disabled{opacity:.6;pointer-events:none}
.btn-focus{box-shadow:0 8px 24px rgba(37,99,235,0.12)}
.form-error{color:#b91c1c;background-color:#fff1f2;padding:.5rem;border-radius:.5rem;border:1px solid rgba(185,28,28,0.08)}
.form-success{color:#065f46;background-color:#ecfdf5;padding:.5rem;border-radius:.5rem;border:1px solid rgba(6,95,70,0.06)}
.input{border:1px solid rgba(2,6,23,0.06);padding:.75rem 1rem;border-radius:.75rem;background:#fff}
.input:focus{box-shadow:0 6px 18px rgba(37,99,235,0.08);border-color:var(--brand-500)}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.hero-image{max-height:420px;object-fit:cover}
.kpi-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:9999px;background:linear-gradient(90deg,var(--brand-50, #eff6ff),#ffffff);font-weight:600;color:var(--brand-700)}
.visually-contrast{color:rgb(15,23,42)}
@media (max-width:640px){.container{padding-left:1rem;padding-right:1rem}.hero-image{height:260px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;transition-duration:0s!important}}
