.site-footer{margin-top:var(--space-12);border-top:1px solid rgba(148,163,184,0.25);background:linear-gradient(to bottom,rgba(241,245,249,0.9),rgba(226,232,240,0.9))}.footer-inner{padding-top:var(--space-8);padding-bottom:var(--space-8);display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-8)}.footer-brand p{max-width:24rem;font-size:var(--font-size-sm);color:var(--gray-600)}.footer-tagline{margin-top:var(--space-3);font-style:italic}.footer-logo{display:flex;align-items:center;gap:0.55rem;margin-bottom:var(--space-3);font-family:var(--font-display);font-weight:600;color:var(--color-primary-dark)}.footer-heading{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:0.16em;color:var(--gray-500);margin-bottom:var(--space-3)}.footer-links{}.footer-nav{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm)}.footer-nav a{color:var(--gray-600);transition:color var(--transition-base)}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--color-primary-dark)}.footer-contact-meta{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm)}.footer-contact-line{display:flex;align-items:center;gap:0.5rem;color:var(--gray-600)}.footer-contact-line i{color:var(--color-primary)}.footer-contact-line a{color:inherit}.footer-contact-line a:hover,.footer-contact-line a:focus-visible{color:var(--color-primary-dark)}.footer-meta{padding-top:var(--space-4);padding-bottom:var(--space-6);border-top:1px solid rgba(148,163,184,0.25);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--gray-500)}.footer-meta-right{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.footer-badge{padding:0.3rem 0.8rem;border-radius:999px;background:rgba(255,255,255,0.96);border:1px solid rgba(148,163,184,0.45);display:inline-flex;align-items:center;gap:0.35rem}.footer-badge-dot{width:8px;height:8px;border-radius:999px;background:var(--color-success);box-shadow:0 0 0 4px rgba(34,197,94,0.25)}.footer-meta-link{color:var(--gray-600)}.footer-meta-link:hover,.footer-meta-link:focus-visible{color:var(--color-primary-dark)}.cookie-banner{position:fixed;inset:auto 0 0 0;z-index:45;background:rgba(15,23,42,0.85);color:#e5e7eb;backdrop-filter:blur(18px);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--transition-base),opacity var(--transition-base)}.cookie-banner.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}.cookie-banner-inner{max-width:var(--max-width-wrapper);margin:0 auto;padding:var(--space-4) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.cookie-banner-text h2{font-size:var(--font-size-base);margin-bottom:var(--space-2);color:#f9fafb}.cookie-banner-text p{margin:0;font-size:var(--font-size-sm);color:#e5e7eb}.cookie-banner-link{display:inline-block;margin-top:var(--space-2);font-size:var(--font-size-xs);text-decoration:underline;color:#bfdbfe}.cookie-banner-link:hover,.cookie-banner-link:focus-visible{color:#ffffff}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.cookie-btn-primary{min-width:150px}.cookie-btn-secondary{background:rgba(15,23,42,0.3);border-radius:var(--radius-full);padding:0.75rem 1.4rem;font-size:var(--font-size-sm);font-weight:600;color:#e5e7eb;border:1px solid rgba(148,163,184,0.7);text-transform:uppercase;letter-spacing:0.08em}.cookie-btn-secondary:hover,.cookie-btn-secondary:focus-visible{background:rgba(15,23,42,0.6);border-color:#e5e7eb}.age-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity var(--transition-base)}.age-modal.is-visible{opacity:1;pointer-events:auto}.age-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,0.58);backdrop-filter:blur(18px)}.age-modal-dialog{position:relative;max-width:540px;width:100%;padding:0 var(--space-4)}.age-modal-content{position:relative;background:linear-gradient(145deg,rgba(255,255,255,0.99),rgba(241,247,255,0.98));border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);border:1px solid rgba(148,163,184,0.35)}.age-modal-header{margin-bottom:var(--space-4)}.age-modal-pill{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary-dark);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.12em}.age-modal-header h2{margin-top:var(--space-3);font-size:var(--font-size-2xl)}.age-modal-content p{font-size:var(--font-size-sm);color:var(--color-text-soft)}.age-modal-points{margin-top:var(--space-4);margin-bottom:var(--space-4);padding-left:0;list-style:none !important}.age-modal-points li+li{margin-top:var(--space-2)}.age-modal-points li::before{content:"•";color:var(--color-primary);margin-right:0.5rem}.age-modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.age-btn{flex:1 1 180px;justify-content:center}.age-btn-secondary{background:rgba(15,23,42,0.02);border-radius:var(--radius-full);padding:0.75rem 1.4rem;font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary-dark);border:1px solid rgba(148,163,184,0.7);text-transform:uppercase;letter-spacing:0.08em}.age-btn-secondary:hover,.age-btn-secondary:focus-visible{background:#ffffff;border-color:var(--color-primary-dark)}@media (max-width:1024px){.footer-inner{grid-template-columns:1.4fr 1fr;row-gap:var(--space-6)}}@media (max-width:768px){.footer-inner{grid-template-columns:1fr;gap:var(--space-6);padding-top:var(--space-6);padding-bottom:var(--space-6)}.footer-meta{flex-direction:column;align-items:flex-start}.cookie-banner-inner{flex-direction:column;align-items:flex-start}.cookie-banner-actions{width:100%}.cookie-btn-primary,.cookie-btn-secondary{flex:1 1 auto;justify-content:center;width:100%}.age-modal-dialog{padding:0 var(--space-3)}.age-modal-content{padding:var(--space-5)}}@media (max-width:480px){.age-modal-content{padding:var(--space-4)}.age-modal-header h2{font-size:var(--font-size-xl)}}