@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&family=Merriweather:wght@400;700&display=swap');
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;}
html,body{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;}
body{margin:0;line-height:1.5;color:#0f172a;background-color:var(--tw-bg-opacity,white);}
h1,h2,h3,h4,h5,h6{font-family:Merriweather,serif;color:#0f172a;margin:0}
img{max-width:100%;height:auto;display:block;object-fit:cover}
.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
button, a, input, textarea, select{font-family:inherit}
:focus{outline:none}
:focus-visible{outline:3px solid rgba(79,70,229,0.18);outline-offset:3px;border-radius:8px}
.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{display:none}
.menu-open #mobileMenu{display:block}
#mobileMenu [role="dialog"]{width:100%;max-width:520px}
#mobileBackdrop{opacity:0;transition:opacity 220ms ease}
.menu-open #mobileBackdrop{opacity:1}
#mobileMenu [role="dialog"]{transform:translateY(-8px);opacity:0;transition:transform 260ms cubic-bezier(.2,.9,.2,1),opacity 260ms cubic-bezier(.2,.9,.2,1)}
.menu-open #mobileMenu [role="dialog"]{transform:none;opacity:1}
.no-scroll{overflow:hidden}
.cookie-fixed{position:fixed;right:1.25rem;bottom:1.5rem;z-index:60}
@media (max-width:640px){.cookie-fixed{right:1rem;left:1rem;padding:0.5rem;border-radius:12px}}
.card-img{width:100%;height:inherit;object-fit:cover}
.btn-primary{display:inline-flex;align-items:center;gap:0.5rem;padding:.75rem 1.25rem;border-radius:9999px;background-image:linear-gradient(90deg,#4f46e5,#4338ca);color:#ffffff;border:0;cursor:pointer;transition:transform 160ms ease,box-shadow 160ms ease}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-primary:focus-visible{box-shadow:0 0 0 4px rgba(79,70,229,0.12)}
.btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;padding:.75rem 1.25rem;border-radius:9999px;background-color:white;border:1px solid #e6e7ee;color:#0f172a;cursor:pointer}
.btn-secondary:focus-visible{box-shadow:0 0 0 4px rgba(79,70,229,0.08)}
.hero-gradient{background-image:radial-gradient(circle at 10% 10%, rgba(79,70,229,0.06), transparent 10%),linear-gradient(180deg,rgba(15,23,42,0.02),transparent)}
.card{border-radius:1rem;padding:1.25rem;background:linear-gradient(180deg,#ffffff,#fbfbff);box-shadow:0 6px 18px rgba(15,23,42,0.06);transition:transform 220ms ease,box-shadow 220ms ease}
.card:focus-within,.card:hover{transform:translateY(-4px);box-shadow:0 12px 34px rgba(15,23,42,0.08)}
.kv-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.25rem}
@media (min-width:640px){.kv-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.kv-grid{grid-template-columns:repeat(3,1fr)}}
.footer-link{color:#475569;text-decoration:none}
.footer-link:focus-visible,.footer-link:hover{color:#4f46e5}
.input, textarea{width:100%;padding:.6rem .75rem;border-radius:.6rem;border:1px solid #e6e7ee;background:white;color:#0f172a}
.input:focus-visible,textarea:focus-visible{border-color:#4f46e5;box-shadow:0 0 0 4px rgba(79,70,229,0.06)}
.form-error{color:#b91c1c;font-size:.9rem;margin-top:.4rem}
.hidden-visually{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.iconify{display:inline-block;vertical-align:middle}
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.25rem}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,0.5);backdrop-filter:blur(6px)}
.modal-panel{background:white;border-radius:1rem;max-width:720px;width:100%;padding:1.5rem;box-shadow:0 12px 40px rgba(2,6,23,0.12)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
