.site-footer{border-top:1px solid var(--color-border);background:radial-gradient(circle at 100% 0,rgba(249,115,22,0.14),transparent 60%),rgba(0,0,0,0.98);padding-block:var(--space-8) var(--space-6);margin-top:var(--space-8);position:relative;z-index:10}.footer-shell{display:flex;flex-direction:column;gap:var(--space-6)}.footer-top{display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.footer-brand-block{display:flex;align-items:flex-start;gap:var(--space-3);max-width:320px}.footer-logo-mark{width:40px;height:40px;border-radius:8px;border:1px solid rgba(249,115,22,0.95);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 0 0,rgba(249,115,22,0.35),transparent 65%);box-shadow:0 0 18px rgba(249,115,22,0.7)}.footer-logo-square{width:20px;height:20px;border-radius:3px;border:2px solid #020617;background:conic-gradient(from 160deg,#f97316,#fb923c,#f97316);box-shadow:inset 0 0 0 1px rgba(0,0,0,0.9)}.footer-brand-text{display:flex;flex-direction:column;gap:4px}.footer-title{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:0.18em;text-transform:uppercase}.footer-tagline{font-size:var(--text-xs);color:var(--color-muted);max-width:26rem}.footer-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);min-width:0}@media(max-width:960px){.footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.footer-top{flex-direction:column}.footer-links-grid{grid-template-columns:1fr}}.footer-heading{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:var(--space-3);color:var(--color-neutral-100)}.footer-links{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-xs)}.footer-links a{color:var(--color-muted);transition:color var(--transition-base),transform var(--transition-base)}.footer-links a:hover{color:var(--color-primary);transform:translateX(2px)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}@media(max-width:640px){.footer-bottom{flex-direction:column;align-items:flex-start}}.footer-copy{white-space:nowrap}.footer-note{max-width:32rem}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;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-inner{margin:0 auto var(--space-3);max-width:960px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:radial-gradient(circle at 0 0,rgba(249,115,22,0.12),transparent 60%),rgba(15,23,42,0.98);box-shadow:var(--shadow-card);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}@media(max-width:768px){.cookie-inner{flex-direction:column;align-items:flex-start;margin-inline:var(--space-3)}}.cookie-title{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:0.16em;text-transform:uppercase;margin-bottom:var(--space-2)}.cookie-description{font-size:var(--text-xs);color:var(--color-muted);margin:0}.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cookie-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.55rem 1.3rem;border-radius:999px;border:1px solid transparent;font-size:var(--text-xs);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.cookie-btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);border-color:rgba(249,115,22,0.9);color:#020617;box-shadow:0 0 0 1px rgba(0,0,0,0.75),0 10px 26px rgba(0,0,0,0.9)}.cookie-btn-primary:hover{box-shadow:0 0 0 1px rgba(0,0,0,1),0 14px 32px rgba(0,0,0,1)}.cookie-btn-secondary{background:rgba(15,23,42,0.96);border-color:rgba(75,85,99,0.9);color:var(--color-neutral-100)}.cookie-btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.cookie-banner[hidden]{display:none}.age-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.age-modal.is-visible{opacity:1;pointer-events:auto}.age-modal-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(249,115,22,0.1),transparent 60%),rgba(0,0,0,0.88);backdrop-filter:blur(10px)}.age-modal-panel{position:relative;max-width:480px;width:90%;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:radial-gradient(circle at 0 0,rgba(249,115,22,0.18),transparent 55%),rgba(15,23,42,0.98);box-shadow:var(--shadow-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}@media(max-width:480px){.age-modal-panel{padding:var(--space-5)}}.age-modal-header{display:flex;flex-direction:column;gap:var(--space-2)}.age-modal-kicker{font-size:var(--text-2xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-primary)}.age-modal-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:0.18em;text-transform:uppercase}.age-modal-description{font-size:var(--text-sm);color:var(--color-muted);margin:0}.age-modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.age-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.65rem 1.4rem;border-radius:999px;border:1px solid transparent;font-size:var(--text-xs);letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.age-btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);border-color:rgba(249,115,22,0.9);color:#020617;box-shadow:0 0 0 1px rgba(0,0,0,0.8),0 12px 30px rgba(0,0,0,0.95)}.age-btn-primary:hover{box-shadow:0 0 0 1px rgba(0,0,0,1),0 16px 36px rgba(0,0,0,1)}.age-btn-secondary{background:rgba(15,23,42,0.96);border-color:rgba(75,85,99,0.9);color:var(--color-neutral-100)}.age-btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.age-modal[hidden]{display:none}@media(prefers-reduced-motion:reduce){.cookie-banner,.age-modal{transition:none}}