*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{--brand-black:#1a1a1a;--brand-darkgray:#2d2d2d;--brand-medgray:#3a3a3a;--brand-gray:#6b6b6b;--brand-lightgray:#e5e5e5;--brand-offwhite:#f5f5f5;--brand-white:#ffffff;--brand-yellow:#ffe600;--brand-yellowhover:#ffd000;--brand-lightblue:#dff0fa;--brand-blue:#0696d7;--brand-darkblue:#005f8a;--brand-card:#e8f4fa;--brand-cardborder:#c8e6f5}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--brand-black);background-color:var(--brand-white);line-height:1.6;overflow-x:hidden}

h1,h2,h3,h4,h5,h6{font-family:'Merriweather','Georgia',serif;line-height:1.3}

a{text-decoration:none;color:inherit;transition:color .2s ease}

img{max-width:100%;height:auto;display:block}

button{cursor:pointer;border:none;background:none;font-family:inherit}

input,textarea,select{font-family:inherit;font-size:inherit}

::selection{background-color:var(--brand-yellow);color:var(--brand-black)}

:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}

.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}

@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}

@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}

@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}

@keyframes slideUp{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}

@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}100%{transform:translateY(0);opacity:1}}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}

.animate-fade-in{animation:fadeIn .5s ease-in both}

.animate-slide-up{animation:slideUp .6s ease-out both}

.animate-slide-down{animation:slideDown .4s ease-out both}

.animate-pulse-slow{animation:pulse 2s ease-in-out infinite}

.delay-100{animation-delay:.1s}
.delay-200{animation-delay:.2s}
.delay-300{animation-delay:.3s}
.delay-400{animation-delay:.4s}

header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

.hero-gradient{background:linear-gradient(135deg,var(--brand-black) 0%,var(--brand-darkgray) 50%,var(--brand-black) 100%)}

.card-hover{transition:transform .3s ease,box-shadow .3s ease}

.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1)}

.border-hover{transition:border-color .3s ease}

.border-hover:hover{border-color:var(--brand-yellow)}

.btn-primary{display:inline-block;background-color:var(--brand-yellow);color:var(--brand-black);font-weight:700;padding:.875rem 2rem;border-radius:.375rem;transition:background-color .2s ease,transform .2s ease}

.btn-primary:hover{background-color:var(--brand-yellowhover);transform:translateY(-1px)}

.btn-primary:active{transform:translateY(0)}

.btn-secondary{display:inline-block;background-color:transparent;color:var(--brand-white);font-weight:600;padding:.75rem 1.5rem;border:2px solid var(--brand-yellow);border-radius:.375rem;transition:background-color .2s ease,color .2s ease}

.btn-secondary:hover{background-color:var(--brand-yellow);color:var(--brand-black)}

.input-field{width:100%;padding:.75rem 1rem;border:1px solid var(--brand-lightgray);border-radius:.5rem;background-color:var(--brand-white);transition:border-color .2s ease,box-shadow .2s ease}

.input-field:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(6,150,215,.15);outline:none}

.input-field::placeholder{color:var(--brand-gray)}

.faq-toggle{transition:background-color .2s ease}

.faq-toggle:hover{background-color:var(--brand-offwhite)}

.faq-icon{transition:transform .3s ease}

.faq-content{overflow:hidden;transition:max-height .3s ease}

.section-divider{width:60px;height:4px;background-color:var(--brand-yellow);border-radius:2px}

.text-gradient{background:linear-gradient(135deg,var(--brand-blue),var(--brand-yellow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.overlay-dark{background:linear-gradient(to bottom,rgba(26,26,26,.7),rgba(26,26,26,.9))}

.badge{display:inline-block;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:700;background-color:var(--brand-yellow);color:var(--brand-black)}

.step-number{width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;background-color:var(--brand-yellow);color:var(--brand-black);font-weight:700;font-size:1.5rem;border-radius:50%}

.disclaimer-box{background-color:rgba(255,230,0,.1);border:2px solid var(--brand-yellow);border-radius:.75rem;padding:2rem 2.5rem}

.cookie-banner{position:fixed;bottom:1rem;right:1rem;max-width:28rem;z-index:70;border-radius:.75rem;box-shadow:0 20px 40px rgba(0,0,0,.15)}

.cookie-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:80;display:flex;align-items:center;justify-content:center}

.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}

.toggle-switch input{position:absolute;opacity:0;width:0;height:0}

.toggle-track{width:2.75rem;height:1.5rem;background-color:var(--brand-lightgray);border-radius:9999px;position:relative;transition:background-color .2s ease}

.toggle-switch input:checked+.toggle-track{background-color:var(--brand-blue)}

.toggle-track::after{content:'';position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;background-color:var(--brand-white);border-radius:50%;transition:transform .2s ease}

.toggle-switch input:checked+.toggle-track::after{transform:translateX(1.25rem)}

.footer-link{color:var(--brand-lightgray);font-size:.875rem;transition:color .2s ease}

.footer-link:hover{color:var(--brand-yellow)}

.scroll-top{position:fixed;bottom:5rem;right:1.5rem;width:3rem;height:3rem;background-color:var(--brand-yellow);color:var(--brand-black);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,transform .2s ease;z-index:50}

.scroll-top.visible{opacity:1;visibility:visible}

.scroll-top:hover{transform:translateY(-2px)}

@media(max-width:639px){h1{font-size:2rem}h2{font-size:1.5rem}.container{padding-left:1rem;padding-right:1rem}.cookie-banner{left:1rem;right:1rem;max-width:none;bottom:.5rem}}

@media(min-width:640px) and (max-width:1023px){h1{font-size:2.5rem}h2{font-size:2rem}}

@media(min-width:1024px){h1{font-size:3rem}h2{font-size:2.25rem}}

@media print{header,footer,.cookie-banner,.cookie-overlay,.scroll-top{display:none!important}body{color:#000;background:#fff}a{color:#000;text-decoration:underline}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}