:root{
  --brand-50:#fffaf7;
  --brand-100:#fff1e6;
  --brand-300:#f6c89a;
  --brand-500:#d97706;
  --brand-700:#9a3412;
  --ui-font:Inter,ui-sans-serif,system-ui;
  --heading-font:Merriweather,serif;
}
html{font-size:16px}
body{font-family:var(--ui-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video{max-width:100%;height:auto;display:block}
.container{max-width:1200px}
button:disabled{opacity:.6;cursor:not-allowed}
a{color:inherit;text-decoration:none}
svg.icon{display:inline-block;vertical-align:middle}
:focus{outline-offset:3px}
:focus-visible{outline:2px solid var(--brand-300);outline-radius:6px}
header[role="banner"],header{z-index:50}
#mobileMenu{transition:opacity .28s ease,visibility .2s ease}
#mobileMenu.hidden{visibility:hidden;opacity:0}
#mobileMenu:not(.hidden){visibility:visible;opacity:1}
#mobileMenu .backdrop-blur-sm{backdrop-filter:blur(6px)}
#mobileMenu .transform{transition:transform .36s cubic-bezier(.2,.9,.3,1),opacity .36s ease}
#mobileMenu:not(.hidden) .transform{transform:translateY(0) scale(1);opacity:1}
#mobileMenu .transform.translate-y-6{transform:translateY(24px);opacity:0}
#menuBackdrop{transition:opacity .28s ease}
#mobileMenu:not(.hidden) #menuBackdrop{opacity:1}
[role="dialog"]{max-width:100%}
.menu-open-lock{overflow:hidden;height:100vh}
.cookie-hidden{transform:translateY(12px);opacity:0;pointer-events:none}
#cookieBanner{transition:transform .28s ease,opacity .28s ease;min-width:240px}
#cookieBanner:focus-within{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(0)}
.card-image{object-fit:cover}
.hero-gradient{background-image:radial-gradient(circle at 10% 10%, rgba(217,119,6,.06), transparent 8%), linear-gradient(120deg, rgba(246,200,154,.08), rgba(154,52,18,.02));}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:.75rem}
.shadow-md{box-shadow:0 6px 18px rgba(15,23,42,.06)}
.shadow-lg{box-shadow:0 20px 40px rgba(15,23,42,.08)}
.btn-primary{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:1rem;background-image:linear-gradient(90deg,var(--brand-300),var(--brand-500));color:#111;font-weight:600;transition:transform .18s ease,box-shadow .18s ease}
.btn-primary:focus-visible{box-shadow:0 0 0 4px rgba(217,119,6,.12)}
.btn-primary:active{transform:translateY(1px)}
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:.75rem;border:1px solid rgba(15,23,42,.06);background:#fff;color:#111}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.section{padding-top:3rem;padding-bottom:3rem}
@media (min-width:768px){
  .section{padding-top:4rem;padding-bottom:4rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0s!important;transition-duration:0s!important}
}
.focus-ring{box-shadow:0 0 0 4px rgba(217,119,6,.12);border-radius:.5rem}
kbd{background:#111;color:#fff;padding:.08rem .4rem;border-radius:.35rem;font-family:ui-monospace,monospace;font-size:.85em}
.footer-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.notice-success{background:linear-gradient(90deg,rgba(34,197,94,.08),transparent);border-left:4px solid rgba(34,197,94,.18);padding:.7rem;border-radius:.6rem}
.notice-error{background:linear-gradient(90deg,rgba(239,68,68,.06),transparent);border-left:4px solid rgba(239,68,68,.12);padding:.7rem;border-radius:.6rem}
input[type="text"],input[type="email"],input[type="tel"],textarea,select{padding:.6rem .8rem;border:1px solid rgba(15,23,42,.06);border-radius:.5rem;background:#fff;color:#111}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px rgba(217,119,6,.08)}
.btn-disabled{opacity:.6;pointer-events:none}
.animated-float{animation:float 6s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}
.eyecatcher{background:linear-gradient(180deg,rgba(246,200,154,.06),transparent);padding:.6rem;border-radius:.6rem}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
