@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#160e10;
  --panel:#211417;
  --panel-2:#1b1013;
  --red:#e11d3a;
  --red-bright:#f22c47;
  --bone:#f3ece3;
  --muted:#a89b92;
  --line:rgba(243,236,227,.12);
  --serif:'Fraunces',Georgia,serif;
  --sans:'General Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}

html,body{max-width:100%;overflow-x:clip}
body.cart-open{overflow:hidden}

.site-header{
  position:fixed!important;
  inset:0 0 auto!important;
  z-index:1000!important;
  min-height:72px;
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr)!important;
  align-items:center!important;
  gap:24px!important;
  padding:14px 4vw!important;
  background:rgba(22,14,16,.86)!important;
  border-bottom:1px solid var(--line)!important;
  backdrop-filter:blur(18px);
  transition:min-height .35s var(--ease),background .35s var(--ease)!important;
}
.site-header.scrolled{min-height:62px;background:rgba(22,14,16,.96)!important}
.site-header .brand{justify-self:start;display:flex;align-items:center;gap:0!important;white-space:nowrap;font-size:17px;font-weight:700;line-height:1.05}
.site-header .brand .bd{display:none!important}
.brand-logo{width:38px;height:38px;flex:0 0 38px;margin-right:10px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(225,29,58,.14))}
.site-header .brand small{display:block;margin-top:4px;font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.site-header .site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2vw,30px);justify-self:center}
.site-header .site-nav a{position:relative;padding:8px 0;color:#d4c9c1;font-size:14px;white-space:nowrap}
.site-header .site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--red);transition:right .35s var(--ease)}
.site-header .site-nav a:hover,.site-header .site-nav a[aria-current="page"]{color:var(--bone)}
.site-header .site-nav a:hover::after,.site-header .site-nav a[aria-current="page"]::after{right:0}
.header-actions{display:flex;align-items:center;justify-self:end;gap:12px;white-space:nowrap}
.header-actions .lang{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.header-actions .lang a{color:var(--muted)}
.header-actions .lang a.active{color:var(--bone)}
.header-actions .header-cta{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;background:var(--red);color:#fff;border-radius:999px;font-size:13px;font-weight:700;transition:transform .3s var(--ease),background .3s var(--ease)}
.header-actions .header-cta:hover{background:var(--red-bright);transform:translateY(-2px)}
.cart-toggle{
  position:relative;
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(243,236,227,.035);
  color:var(--bone);
  cursor:pointer;
  transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease);
}
.cart-toggle:hover{border-color:rgba(225,29,58,.7);background:rgba(225,29,58,.11);transform:translateY(-2px)}
.cart-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cart-count{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid var(--bg);
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font:600 10px/1 var(--mono);
}
.cart-toggle.updated .cart-count{animation:cart-count-pop .52s var(--ease)}
@keyframes cart-count-pop{0%{transform:scale(1)}45%{transform:scale(1.45);background:#fff;color:var(--red)}100%{transform:scale(1)}}
.menu-toggle{display:none;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--bone);cursor:pointer}
.menu-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.mobile-nav{display:none}

.cart-scrim{position:fixed;inset:0;z-index:1100;background:rgba(5,2,3,.66);opacity:0;visibility:hidden;backdrop-filter:blur(4px);transition:opacity .35s var(--ease),visibility .35s}
.cart-scrim.open{opacity:1;visibility:visible}
.cart-drawer{
  position:fixed;
  z-index:1110;
  top:0;
  right:0;
  width:min(440px,100vw);
  height:100dvh;
  display:flex;
  flex-direction:column;
  background:#1a0f12;
  border-left:1px solid var(--line);
  box-shadow:-30px 0 80px rgba(0,0,0,.42);
  transform:translateX(102%);
  transition:transform .55s var(--ease);
}
.cart-drawer.open{transform:none}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid var(--line)}
.cart-head h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:0;line-height:1.1}
.cart-head-actions{display:flex;align-items:center;gap:10px}
.cart-clear{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:.25s var(--ease)}
.cart-clear:hover{border-color:rgba(225,29,58,.55);color:var(--bone);background:rgba(225,29,58,.08)}
.cart-clear[hidden]{display:none}
.icon-button{width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--bone);cursor:pointer}
.icon-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.cart-body{flex:1;overflow:auto;padding:12px 24px}
.cart-empty{display:grid;place-items:center;align-content:center;min-height:58vh;text-align:center;color:var(--muted)}
.cart-empty svg{width:44px;height:44px;margin-bottom:18px;stroke:rgba(243,236,227,.28);fill:none;stroke-width:1.4}
.cart-empty strong{display:block;margin-bottom:8px;color:var(--bone);font-family:var(--serif);font-size:24px;font-weight:500}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.cart-line b{display:block;margin-bottom:4px;font-size:15px}
.cart-line span{color:var(--muted);font-size:13px}
.cart-remove{align-self:center;border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cart-remove:hover{color:var(--bone)}
.cart-foot{padding:20px 24px 26px;border-top:1px solid var(--line);background:rgba(0,0,0,.12)}
.cart-total{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;color:var(--muted);font-size:14px}
.cart-total strong{color:var(--bone);font-family:var(--serif);font-size:21px;font-weight:500}
.drawer-primary,.drawer-secondary{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;font-size:14px;transition:.3s var(--ease)}
.drawer-primary{background:var(--red);color:#fff}
.drawer-primary:hover{background:var(--red-bright);transform:translateY(-2px)}
.drawer-primary.is-disabled{opacity:.42;pointer-events:none}
.drawer-secondary{margin-top:10px;border:1px solid var(--line);color:var(--bone)}
.drawer-secondary:hover{border-color:rgba(243,236,227,.35)}
.cart-note{margin:14px 0 0;text-align:center;color:var(--muted);font-size:11px}

.field-error{display:block;min-height:0;margin:0;color:#ff8da0;font-size:11px;line-height:1.45}
.field>.field-error:not(:empty){margin-top:-2px}
.field-error:not(:empty){min-height:16px}
.field.has-error>label,.consent.has-error,.terms.has-error{color:#ff9bad}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:#ff526d!important}
input[aria-invalid="true"]:focus,textarea[aria-invalid="true"]:focus,select[aria-invalid="true"]:focus{box-shadow:0 0 0 2px rgba(255,82,109,.12)}
.consent-error,.terms-error{grid-column:1/-1;margin-top:-10px}

.ui-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.ui-reveal.is-visible{opacity:1;transform:none}
.ui-stagger>*{opacity:0;transform:translateY(22px)}
.ui-stagger.is-visible>*{opacity:1;transform:none;transition:opacity .65s var(--ease),transform .65s var(--ease)}
.ui-stagger.is-visible>*:nth-child(2){transition-delay:.08s}
.ui-stagger.is-visible>*:nth-child(3){transition-delay:.16s}
.ui-stagger.is-visible>*:nth-child(4){transition-delay:.24s}

.cherry-decorated{position:relative;isolation:isolate;overflow:clip}
.cherry-decorated::before{content:"";position:absolute;z-index:0;width:clamp(210px,24vw,340px);aspect-ratio:1;pointer-events:none;background:url('/assets/cherry-outline.svg') center/contain no-repeat;opacity:.095}
.cherry-outline-right::before{top:8%;right:-88px;transform:rotate(12deg)}
.cherry-outline-left::before{top:54%;left:-96px;transform:rotate(-14deg) scale(.88)}
.coming.cherry-decorated::before,.about-band.cherry-decorated::before{opacity:.14;filter:brightness(.62)}
.site-location-strip{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 5vw 30px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.site-location-strip .site-location-inline{color:#d8cdc5}
.site-footer-standard{position:relative;z-index:2;padding:24px 5vw 26px;border-top:1px solid var(--line);background:var(--bg);color:var(--muted)}
.site-footer-inner{width:100%;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center}
.site-footer-facts{max-width:100%;margin:0;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;font-family:var(--mono);font-size:10px;line-height:1.7;letter-spacing:.035em;text-align:center}
.site-footer-facts span{display:inline-flex;align-items:center}
.site-footer-facts span:not(:first-child)::before{content:"·";margin:0 10px;color:var(--red)}
.site-footer-actions{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap}
.site-footer-gdpr{color:#cfc4bd;font-size:11px;text-decoration:underline;text-decoration-color:rgba(225,29,58,.55);text-underline-offset:4px;transition:color .25s var(--ease)}
.site-footer-gdpr:hover{color:var(--bone)}
.site-footer-socials{display:flex;align-items:center;justify-content:center;gap:8px}
.site-footer-socials a{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#cfc4bd;transition:border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.site-footer-socials a:hover{border-color:var(--red);color:var(--bone);transform:translateY(-2px)}
.site-footer-socials svg{width:14px;height:14px;fill:currentColor}

.cookie-note{position:fixed;z-index:1200;right:22px;bottom:22px;width:min(430px,calc(100vw - 32px));padding:18px 18px 17px;border:1px solid rgba(243,236,227,.18);background:#211417;box-shadow:0 24px 70px rgba(0,0,0,.48);transform:translateY(24px);opacity:0;visibility:hidden;transition:.4s var(--ease)}
.cookie-note.show{transform:none;opacity:1;visibility:visible}
body.cart-open .cookie-note{opacity:0;visibility:hidden;pointer-events:none}
.cookie-note p{margin:0;color:#cfc3ba;font-size:13px;line-height:1.55}
.cookie-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
.cookie-actions a{color:var(--bone);font-size:12px;text-decoration:underline;text-underline-offset:4px}
.cookie-actions button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--red);color:#fff;font:700 12px/1 var(--sans);cursor:pointer}

@media(max-width:1180px){
  .site-header{grid-template-columns:1fr auto!important}
  .site-header .site-nav{display:none}
  .menu-toggle{display:grid;place-items:center}
  .mobile-nav{position:fixed;inset:72px 0 auto;z-index:995;display:grid;padding:16px 5vw 26px;background:rgba(22,14,16,.98);border-bottom:1px solid var(--line);transform:translateY(-130%);opacity:0;visibility:hidden;transition:.45s var(--ease)}
  .mobile-nav.open{transform:none;opacity:1;visibility:visible}
  .mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:25px}
}
@media(max-width:680px){
  html,body{overflow-x:hidden;scroll-behavior:auto}
  body{-webkit-overflow-scrolling:touch}
  .grain{display:none!important}
  .site-header,.site-header.scrolled{background:#160e10!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important}
  .site-header{min-height:66px;padding:10px 4vw!important;gap:10px!important}
  .site-header .brand{font-size:15px}
  .brand-logo{width:32px;height:32px;flex-basis:32px;margin-right:8px}
  .site-header .brand small{font-size:7px}
  .header-actions{gap:8px}
  .header-actions .header-cta,.header-actions .lang{display:none}
  .menu-toggle{width:40px;height:40px}
  .cart-toggle{width:42px;height:42px;flex-basis:42px}
  .mobile-nav{top:66px;transition:none}
  .cart-scrim{backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .2s ease,visibility .2s}
  .cart-drawer{height:100dvh;min-height:-webkit-fill-available;transition:transform .28s ease}
  .cart-head,.cart-body,.cart-foot{padding-left:20px;padding-right:20px}
  .cart-clear{padding:0 10px;font-size:11px}
  .cherry-decorated::before{width:190px;opacity:.075}
  .cherry-outline-right::before{right:-82px}.cherry-outline-left::before{left:-88px}
  .ui-reveal,.ui-stagger>*{opacity:1!important;transform:none!important;transition:none!important}
  .site-footer-standard{padding:24px 6vw 28px}
  .site-footer-inner{gap:18px}
  .site-footer-facts{display:grid;gap:4px;font-size:9.5px;line-height:1.55;letter-spacing:.025em}
  .site-footer-facts span{display:block}
  .site-footer-facts span:not(:first-child)::before{display:none}
  .site-footer-actions{gap:12px}
  .cookie-note{right:16px;bottom:max(16px,env(safe-area-inset-bottom));transition:opacity .2s ease,visibility .2s}
}
@media(prefers-reduced-motion:reduce){
  .ui-reveal,.ui-stagger>*{transition:none!important;transform:none!important}
  .ui-reveal,.ui-stagger>*{opacity:1!important}
  .cart-drawer,.cart-scrim{transition:none!important}
  .cart-drawer{transform:translateX(102%)!important}
  .cart-drawer.open{transform:none!important}
  .cart-toggle.updated .cart-count{animation:none!important}
}
