.site-footer{border-top:1px solid var(--color-border-subtle);background:#f4ece0;color:var(--color-text)}
.site-footer__top{display:grid;grid-template-columns:2fr 1.2fr 1.2fr;gap:var(--space-8);padding-top:var(--space-10);padding-bottom:var(--space-8)}
.site-footer__brand{display:flex;gap:var(--space-4);align-items:flex-start}
.site-footer__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:18px;border:1px solid rgba(199,154,59,0.65);background:radial-gradient(circle at 30% 0,rgba(255,255,255,0.98),rgba(199,154,59,0.95));font-size:0.8rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#17130d;box-shadow:0 12px 24px rgba(0,0,0,0.16)}
.site-footer__brand-text{max-width:26rem}
.site-footer__brand-name{display:block;font-family:var(--font-serif);font-weight:600;font-size:1.2rem;margin-bottom:var(--space-2);color:var(--color-neutral-900)}
.site-footer__brand-copy{font-size:0.9rem;margin-bottom:var(--space-2)}
.site-footer__brand-note{font-size:0.8rem;color:var(--color-text-muted);border-radius:999px;border:1px solid rgba(199,154,59,0.55);padding:0.35rem 0.75rem;background:rgba(255,255,255,0.8);display:inline-block}
.site-footer__col{min-width:0}
.site-footer__heading{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3)}
.site-footer__links{list-style:none;margin:0;padding:0}
.site-footer__link{display:inline-flex;align-items:center;margin-bottom:0.45rem;font-size:0.9rem;color:var(--color-text-muted)}
.site-footer__link::before{content:"";width:6px;height:6px;border-radius:999px;margin-right:0.5rem;border:1px solid rgba(199,154,59,0.6);background:transparent;transition:background-color var(--transition-base)}
.site-footer__link:hover{color:var(--color-neutral-900)}
.site-footer__link:hover::before{background:var(--color-primary)}
.site-footer__bottom{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-4);padding-bottom:var(--space-4)}
.site-footer__bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}
.site-footer__copy{margin:0;font-size:0.8rem;color:var(--color-neutral-800)}
.site-footer__legal{margin:0;font-size:0.8rem;color:var(--color-text-muted);max-width:34rem}
@media (max-width:900px){.site-footer__top{grid-template-columns:1fr}.site-footer__bottom-inner{flex-direction:column;align-items:flex-start}}
@media (max-width:600px){.site-footer__brand{flex-direction:row}.site-footer__brand-copy{font-size:0.85rem}.site-footer__brand-note{font-size:0.75rem}}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:45;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--transition-slow),opacity var(--transition-slow);background:rgba(18,15,10,0.92);color:#fdf7ea}
.cookie-banner--visible{transform:translateY(0);opacity:1;pointer-events:auto}
.cookie-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);padding-bottom:var(--space-3)}
.cookie-banner__text{max-width:36rem}
.cookie-banner__title{margin:0 0 var(--space-2);font-size:0.9rem;font-family:var(--font-sans);letter-spacing:0.16em;text-transform:uppercase;color:#f9f1df}
.cookie-banner__description{margin:0 0 var(--space-2);font-size:0.85rem;color:#f7e9c9}
.cookie-banner__link{font-size:0.8rem;color:#f7e0a0;text-decoration:underline;text-underline-offset:0.15em}
.cookie-banner__link:hover{color:#ffe7ad}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}
.cookie-banner__button{padding:0.45rem 1.1rem;border-radius:999px;border:1px solid transparent;font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}
.cookie-banner__button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cookie-banner__button--secondary{background:transparent;color:#f7e9c9;border-color:rgba(247,233,201,0.5)}
.cookie-banner__button--secondary:hover{background:rgba(250,245,230,0.08);transform:translateY(-1px)}
.cookie-banner__button--primary{background:var(--color-primary);color:#17130d;border-color:rgba(199,154,59,0.9);box-shadow:0 8px 18px rgba(0,0,0,0.4)}
.cookie-banner__button--primary:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px)}
@media (max-width:768px){.cookie-banner__inner{flex-direction:column;align-items:flex-start}.cookie-banner__actions{width:100%;justify-content:flex-start}}
.age-gate{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center}
.age-gate--visible{display:flex}
.age-gate__backdrop{position:absolute;inset:0;background:radial-gradient(circle at top,#2a2117,#0d0b08);opacity:0.94}
.age-gate__dialog{position:relative;z-index:1;width:100%;max-width:480px;margin:0 var(--space-4);border-radius:22px;padding:var(--space-6);background:radial-gradient(circle at top left,#2b241a,#15110d);box-shadow:0 30px 80px rgba(0,0,0,0.6);color:#fdf5e5}
.age-gate__logo{width:2.8rem;height:2.8rem;border-radius:18px;border:1px solid rgba(255,223,150,0.85);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);background:radial-gradient(circle at 30% 0,#fff7e1,#c89a40);font-size:0.85rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#1b1307;box-shadow:0 14px 32px rgba(0,0,0,0.55)}
.age-gate__title{margin:0 0 var(--space-3);font-size:1.4rem;font-family:var(--font-serif);color:#fff5dd}
.age-gate__description{margin:0 0 var(--space-3);font-size:0.95rem;color:#f7e6c4}
.age-gate__note{margin:0 0 var(--space-4);font-size:0.8rem;color:#e7d2aa;border-radius:12px;border:1px solid rgba(255,228,170,0.45);background:rgba(19,14,8,0.7);padding:0.6rem 0.8rem}
.age-gate__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.age-gate__button{flex:1 1 8rem;min-width:0;padding:0.55rem 1.1rem;border-radius:999px;border:1px solid transparent;font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}
.age-gate__button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.age-gate__button--primary{background:var(--color-primary);color:#120e09;border-color:rgba(199,154,59,0.9);box-shadow:0 12px 26px rgba(0,0,0,0.55)}
.age-gate__button--primary:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px)}
.age-gate__button--secondary{background:transparent;color:#fbe7bf;border-color:rgba(249,223,173,0.7)}
.age-gate__button--secondary:hover{background:rgba(255,252,238,0.08);transform:translateY(-1px)}
@media (max-width:520px){.age-gate__dialog{padding:var(--space-5);border-radius:18px}.age-gate__title{font-size:1.25rem}.age-gate__actions{flex-direction:column}.age-gate__button{width:100%}}