@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&family=Merriweather:wght@400;700&display=swap');
:root{color-scheme:light;}
html{font-size:16px;}
body{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1f2937;background-color:#f9fafb;}
h1,h2,h3,h4,h5,h6{font-family:Merriweather, Georgia, 'Times New Roman', serif;color:#334155;}
img{max-width:100%;height:auto;display:block;object-fit:cover;border-radius:0;}
.container{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
:where(button, a, input, textarea, select){outline-offset:3px}
:where(:focus-visible){outline:2px solid transparent}
:where(button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible){box-shadow:0 0 0 4px rgba(79,70,229,0.18);border-radius:12px}
a{color:inherit}
button{font-family:inherit}
.iconify{display:inline-flex;align-items:center;justify-content:center}
header{backdrop-filter:blur(6px)}
.rounded-2xl{border-radius:16px}
.rounded-xl{border-radius:12px}
.shadow-md{box-shadow:0 6px 18px rgba(15,23,42,0.06)}
.shadow-lg{box-shadow:0 12px 34px rgba(15,23,42,0.08)}
.grid-cols-12{display:grid;grid-template-columns:repeat(12, minmax(0,1fr))}
@media (min-width:1024px){.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-7{grid-column:span 7 / span 7}} 
@media (max-width:767px){body{font-size:15px}}
.cookie-anim{transition:transform .36s cubic-bezier(.22,.9,.32,1),opacity .32s ease}
#cookie{transition:opacity .28s ease,transform .28s ease}
#cookie[aria-hidden='true']{opacity:0;transform:translateY(12px);pointer-events:none}
#mobileMenu{transition:opacity .32s ease}
#mobileMenu .overlay-hidden{opacity:0}
.no-scroll{overflow:hidden;height:100%}
.menu-panel{transition:transform .36s cubic-bezier(.22,.9,.32,1),opacity .32s ease}
.kbd{display:inline-block;padding:.125rem .375rem;border-radius:.375rem;background:#111827;color:#fff;font-size:.75rem;font-weight:600}
input[type='text'],input[type='email'],textarea,select{border:1px solid #e6eef7;padding:.6rem .75rem;border-radius:.75rem;background:#fff}
button[disabled],.btn-disabled{opacity:.5;pointer-events:none}
.card-hover{transition:transform .28s ease,box-shadow .28s ease}
.card-hover:hover{transform:translateY(-6px)}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:#111827;color:#fff;border-radius:.375rem;z-index:9999}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.footer-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}
/* Ensure high contrast links in critical places */
a[href].contrast-link{color:#1f2937;background:#fff;padding:.125rem .25rem;border-radius:.25rem}
.form-error{color:#b91c1c;font-size:0.95rem}
.form-success{color:#065f46;font-size:0.95rem}
.modal-backdrop{background-color:rgba(2,6,23,0.55)}
.focus-ring{box-shadow:0 0 0 4px rgba(99,102,241,0.18)}
/* small utility to ensure images in cards remain constrained */
.card-img{width:100%;height:100%;display:block;object-fit:cover}
