.footer{margin-top:var(--space-12)}
.footer-inner{align-items:flex-start}
.footer-logo{margin-bottom:var(--space-4)}
.footer-lead{max-width:420px}
.footer-meta-row{margin-top:var(--space-3)}
.footer-bottom{border-top:1px solid rgba(31,41,55,0.9);margin-top:var(--space-6)}
.footer-age-label{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.8rem;color:var(--gray-400)}
.footer-age-label i{color:var(--color-primary)}
.cookie-banner{position:fixed;inset:auto 0 0 0;z-index:60;background:radial-gradient(circle at top,rgba(15,23,42,0.98),#020617);border-top:1px solid rgba(31,41,55,0.9);box-shadow:0 -18px 40px rgba(0,0,0,0.9);transform:translateY(100%);opacity:0;transition:transform var(--transition-normal),opacity var(--transition-normal);}
.cookie-banner--visible{transform:translateY(0);opacity:1}
.cookie-banner__inner{max-width:1200px;margin:0 auto;padding:var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}
.cookie-banner__title{font-size:0.95rem;margin-bottom:var(--space-2)}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:0.6rem}
.cookie-banner__button{min-width:150px}
.cookie-banner__button--reject{border-color:rgba(148,163,184,0.7)}
@media (min-width:768px){.cookie-banner__inner{padding:var(--space-4) var(--space-6);flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-6)}.cookie-banner__text{max-width:720px}}
.age-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity var(--transition-normal)}
.age-modal--visible{pointer-events:auto;opacity:1}
.age-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.78);backdrop-filter:blur(10px)}
.age-modal__dialog{position:relative;z-index:1;width:100%;max-width:520px;margin:0 var(--space-4);padding:var(--space-6);border-radius:var(--radius-xl);background:radial-gradient(circle at top,rgba(15,23,42,0.96),#020617);border:1px solid rgba(248,113,113,0.55);box-shadow:var(--shadow-lg),var(--shadow-soft-red)}
.age-modal__dialog h2{margin-bottom:var(--space-3);font-size:1.2rem}
.age-modal__dialog p{margin-bottom:var(--space-4)}
.age-modal__actions{display:flex;flex-direction:column-reverse;gap:0.75rem}
.age-modal__button{width:100%}
@media (min-width:600px){.age-modal__actions{flex-direction:row;justify-content:flex-end}.age-modal__button{width:auto;min-width:180px}}
body.nav-mobile-open{overflow:hidden}
body.age-locked{overflow:hidden}
