.site-footer{margin-top:var(--space-12);border-top:1px solid rgba(233,213,255,0.35);background:radial-gradient(circle at top,rgba(129,140,248,0.35),rgba(15,23,42,0.96));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--color-text-soft)}.site-footer-inner{padding:var(--space-8) 0;display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:space-between;align-items:flex-start}.footer-brand-block{max-width:360px;display:flex;flex-direction:column;gap:var(--space-3)}.footer-brand{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none}.footer-brand-mark{width:30px;height:30px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#e0f2fe,#6366f1 45%,#a855f7 75%);box-shadow:0 0 0 1px rgba(255,255,255,0.35),0 0 22px rgba(129,140,248,0.8)}.footer-brand-text{display:flex;flex-direction:column;gap:2px}.footer-brand-name{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600}.footer-brand-tagline{font-size:var(--text-xs);color:var(--color-text-soft)}.footer-description{font-size:var(--text-sm);color:var(--color-text-soft);line-height:var(--leading-relaxed)}.footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-8);min-width:280px}.footer-column{min-width:160px;display:flex;flex-direction:column;gap:var(--space-2)}.footer-heading{font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.footer-column ul{display:flex;flex-direction:column;gap:var(--space-1)}.footer-column a{font-size:var(--text-sm);color:var(--color-text-soft);text-decoration:none;transition:color var(--transition-base),transform var(--transition-fast)}.footer-column a:hover,.footer-column a:focus-visible{color:var(--color-primary);transform:translateY(-1px)}.footer-bottom{border-top:1px solid rgba(148,163,184,0.5);padding:var(--space-4) 0;font-size:var(--text-xs);color:var(--color-neutral-200);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center}.footer-disclaimer{max-width:520px;line-height:var(--leading-relaxed)}@media (max-width:768px){.site-footer-inner{flex-direction:column}.footer-nav{width:100%}.footer-bottom{flex-direction:column;align-items:flex-start}}
.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-slow),opacity var(--transition-slow);}
.cookie-banner-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.cookie-banner-inner{margin:var(--space-4);padding:var(--space-4);border-radius:var(--radius-xl);background:rgba(15,23,42,0.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(233,213,255,0.45);box-shadow:var(--shadow-soft);display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;flex-wrap:wrap}
.cookie-banner-text{max-width:640px}
.cookie-title{font-size:var(--text-base);margin:0 0 var(--space-2);color:var(--color-text)}
.cookie-copy{font-size:var(--text-sm);color:var(--color-text-soft);line-height:var(--leading-relaxed)}
.cookie-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}
.cookie-actions .btn{min-width:140px}
@media (max-width:640px){.cookie-banner-inner{flex-direction:column;align-items:flex-start}.cookie-actions{width:100%;justify-content:stretch}.cookie-actions .btn{flex:1;justify-content:center}}
.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-active{pointer-events:auto;opacity:1}
.age-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.age-modal-content{position:relative;max-width:520px;width:100%;margin:var(--space-4);z-index:1}
.age-modal-body{background:rgba(15,23,42,0.98);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid rgba(233,213,255,0.5);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:var(--space-4)}
.age-modal-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);padding:0.35rem 0.75rem;border-radius:999px;background:rgba(16,185,129,0.12);color:var(--color-primary);font-size:var(--text-xs);border:1px solid rgba(16,185,129,0.6)}
.age-modal-badge i{font-size:0.9rem}
.age-modal h2{font-size:var(--text-2xl);margin:0;color:var(--color-text)}
.age-modal p{font-size:var(--text-sm);color:var(--color-text-soft);line-height:var(--leading-relaxed)}
.age-modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}
.age-modal-actions .btn{min-width:160px}
@media (max-width:480px){.age-modal-body{padding:var(--space-5)}.age-modal-actions{flex-direction:column}.age-modal-actions .btn{width:100%}}