:root {
  --black: #09060d;
  --ink: #12091b;
  --purple: #4b13b8;
  --purple-bright: #7a2df3;
  --pink: #f40a93;
  --pink-soft: #ff4fb3;
  --cyan: #18dce2;
  --ice: #71d5f8;
  --yellow: #ffd62a;
  --orange: #ff7047;
  --cream: #fff1d7;
  --white: #fffaf0;
  --shadow: 10px 10px 0 var(--black);
  --border: 4px solid var(--black);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--black);
  color: var(--white);
  font-family: "Poppins", system-ui, sans-serif;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .08;
  z-index: 100;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999;
  padding: .75rem 1rem;
  background: var(--yellow);
  color: var(--black);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.status-strip {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .45rem 1rem;
  color: var(--black);
  background: var(--yellow);
  font-family: "Barlow Condensed", sans-serif;
  font-size: .95rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  position: relative;
  z-index: 20;
}
.status-strip a { font-weight: 800; text-decoration: none; }
.top-socials {
  display: flex;
  align-items: center;
  gap: .9rem;
}
.top-social-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
}
.top-social-link:hover,
.top-social-link:focus-visible {
  text-decoration: underline;
}
.social-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: #22b94b; box-shadow: 0 0 0 4px rgba(34,185,75,.2); }
.strip-divider { width: 2px; height: 18px; background: var(--black); opacity: .35; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(9, 6, 13, .92);
  backdrop-filter: blur(12px);
  border-bottom: 3px solid var(--pink);
}
.nav-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: .75rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.brand {
  display: flex;
  align-items: center;
  gap: .85rem;
  width: auto;
  text-decoration: none;
  filter: drop-shadow(4px 4px 0 var(--purple));
}
.brand-mark {
  width: 72px;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 50%;
  border: 4px solid var(--black);
  box-shadow: 5px 5px 0 var(--pink);
}
.brand-wordmark {
  color: var(--white);
  font: 800 1.7rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-shadow: 2px 2px 0 var(--black);
}
.nav-links { display: flex; align-items: center; gap: 1.5rem; }
.nav-links a {
  text-decoration: none;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 800;
  letter-spacing: .06em;
}
.nav-links a:not(.nav-cta):hover { color: var(--cyan); }
.nav-cta {
  color: var(--black);
  background: var(--yellow);
  padding: .75rem 1rem;
  border: 3px solid var(--black);
  box-shadow: 5px 5px 0 var(--pink);
  transform: skew(-4deg);
}
.menu-toggle { display: none; }

.hero {
  min-height: 790px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center;
  gap: 2rem;
  padding: 6rem max(1.5rem, calc((100vw - 1240px)/2)) 8rem;
  background:
    radial-gradient(circle at 75% 32%, rgba(244,10,147,.8), transparent 28%),
    linear-gradient(170deg, var(--purple-bright) 0%, var(--purple) 35%, #cb258e 65%, var(--orange) 100%);
  border-bottom: 8px solid var(--black);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 4px solid var(--black);
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.08);
  pointer-events: none;
  z-index: 8;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 6px, rgba(0,0,0,.035) 7px 8px);
  pointer-events: none;
}
.hero-copy { position: relative; z-index: 6; max-width: 680px; }
.eyebrow { margin: 0 0 1rem; }
.eyebrow span, .mini-label, .small-tag {
  display: inline-block;
  padding: .35rem .8rem;
  color: var(--yellow);
  background: var(--black);
  font: italic 800 1.05rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  transform: rotate(-1deg);
  box-shadow: 5px 5px 0 var(--pink);
}
.hero h1 { margin: 0; display: grid; justify-items: start; line-height: .76; }
.hero-big {
  font: 400 clamp(7rem, 14vw, 13rem)/.72 "Anton", sans-serif;
  color: var(--yellow);
  -webkit-text-stroke: 4px var(--black);
  text-shadow: 10px 10px 0 var(--black), 15px 15px 0 var(--pink);
  transform: rotate(-4deg);
  letter-spacing: -.03em;
}
.hero-flavor {
  margin-top: .4rem;
  font: 400 clamp(5rem, 10vw, 9.5rem)/.8 "Anton", sans-serif;
  letter-spacing: -.02em;
  color: var(--ice);
  -webkit-text-stroke: 5px var(--white);
  text-shadow: 8px 8px 0 var(--black), 14px 14px 0 #281061;
  transform: skew(-5deg) rotate(-2deg);
}
.hero-script {
  justify-self: center;
  margin: 1.1rem 0 0 5rem;
  padding: .15rem 1rem .5rem;
  font: 400 clamp(2.4rem, 5vw, 4.4rem)/1 "Permanent Marker", cursive;
  color: var(--pink);
  background: var(--black);
  transform: rotate(-4deg);
  box-shadow: 8px 8px 0 var(--cyan);
}
.hero-lede {
  max-width: 620px;
  margin: 2.4rem 0 1.6rem;
  color: var(--black);
  font-weight: 800;
  font-size: 1.1rem;
  line-height: 1.55;
  background: rgba(255,241,215,.9);
  border: 3px solid var(--black);
  padding: 1rem 1.15rem;
  box-shadow: 7px 7px 0 var(--black);
  transform: rotate(.4deg);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: .8rem 1.35rem;
  color: var(--black);
  border: 4px solid var(--black);
  box-shadow: 7px 7px 0 var(--black);
  text-decoration: none;
  text-transform: uppercase;
  font: 800 1.05rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: .08em;
  transition: transform .18s ease, box-shadow .18s ease;
}
.button:hover, .button:focus-visible { transform: translate(4px,4px) rotate(-1deg); box-shadow: 3px 3px 0 var(--black); }
.button-yellow { background: var(--yellow); }
.button-cyan { background: var(--cyan); }
.button-pink { background: var(--pink); color: var(--white); }

.hero-art { min-height: 570px; position: relative; z-index: 5; }
.hero-glow {
  position: absolute;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle at center, rgba(24,220,226,.35) 0 28%, rgba(244,10,147,.30) 46%, rgba(255,214,42,.18) 62%, transparent 74%);
  filter: blur(10px);
}
.hero-logo-group {
  position: absolute;
  left: 50%;
  top: 52%;
  width: min(100%, 480px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  z-index: 3;
  animation: logoFloat 4.8s ease-in-out infinite;
}
.hero-logo-shell {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 8px solid var(--black);
  box-shadow: 16px 16px 0 var(--black), 0 0 0 4px rgba(255,255,255,.06);
  background: #08060b;
}
.hero-logo-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.logo-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.25rem;
  border: 5px solid var(--black);
  box-shadow: 7px 7px 0 var(--black);
  font: 800 1.45rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}
.tag-left {
  top: 20%;
  left: -2%;
  background: var(--yellow);
  color: var(--black);
  transform: rotate(-8deg);
}
.tag-right {
  top: 33%;
  right: -4%;
  background: var(--cyan);
  color: var(--black);
  transform: rotate(8deg);
}
.tag-bottom {
  right: 1%;
  bottom: 7%;
  background: var(--pink);
  color: var(--white);
  transform: rotate(-8deg);
}
@keyframes logoFloat {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-14px); }
}
.checker { position:absolute; z-index:1; width:240px; height:140px; background: conic-gradient(var(--pink) 25%, var(--black) 0 50%, var(--pink) 0 75%, var(--black) 0) 0 0/36px 36px; transform: rotate(4deg); opacity:.9; }
.checker-one { top:-12px; left:-20px; clip-path: polygon(0 0,100% 0,72% 100%,0 76%); }
.triangle-mark { position:absolute; right:5%; top:5%; width:140px; height:120px; border:12px solid var(--orange); clip-path: polygon(50% 0,100% 100%,0 100%); transform:rotate(12deg); z-index:3; }
.triangle-mark::after { content:""; position:absolute; width:100px; height:10px; background:var(--cyan); top:65px; left:58px; transform:rotate(-42deg); box-shadow:0 22px 0 var(--cyan); }
.neon-squiggle { position:absolute; width:150px; height:70px; border-top:10px solid var(--cyan); border-radius:50%; z-index:4; transform:rotate(-35deg); }
.neon-squiggle::before,.neon-squiggle::after { content:""; position:absolute; width:70px; height:50px; border-top:10px solid var(--cyan); border-radius:50%; }
.neon-squiggle::before{left:35px;top:-25px}.neon-squiggle::after{left:78px;top:-5px}
.squiggle-left { left:5%; top:14%; }
.hero-palm { position:absolute; bottom:60px; width:180px; height:260px; z-index:2; opacity:.9; }
.hero-palm::before { content:""; position:absolute; left:50%; bottom:0; width:16px; height:210px; background:var(--black); transform:rotate(10deg); border-radius:50%; }
.hero-palm::after { content:"✦ ✦ ✦ ✦ ✦"; position:absolute; left:18px; top:0; width:170px; color:var(--black); font-size:4.3rem; letter-spacing:-2.2rem; transform:rotate(-15deg); }
.palm-left { left:0; transform:scale(.9) rotate(-8deg); }.palm-right { right:0; transform:scale(1.15) scaleX(-1) rotate(-5deg); }
.retro-grid { position:absolute; left:0; right:0; bottom:-12px; height:175px; z-index:1; background: linear-gradient(rgba(244,10,147,.95) 3px,transparent 3px),linear-gradient(90deg,rgba(244,10,147,.95) 3px,transparent 3px); background-size:60px 30px; transform:perspective(240px) rotateX(58deg); transform-origin:bottom; mask-image:linear-gradient(to top,#000,transparent); }

.ticker { overflow:hidden; background:var(--cyan); color:var(--black); border-bottom:5px solid var(--black); border-top:5px solid var(--black); }
.ticker-track { width:max-content; display:flex; align-items:center; gap:1.4rem; padding:.8rem 0; animation:scroll 26s linear infinite; font:800 1.25rem/1 "Barlow Condensed",sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.ticker-track b { color:var(--pink); font-size:1.6rem; }
@keyframes scroll { to { transform:translateX(-50%); } }

.section { position:relative; padding:7rem max(1.5rem,calc((100vw - 1200px)/2)); }
.section-heading { max-width:800px; margin:0 auto 3.5rem; text-align:center; }
.section-heading p { max-width:670px; margin:1rem auto 0; line-height:1.7; }
.kicker { margin:0 0 .5rem; color:var(--yellow); font:400 1.2rem/1 "Permanent Marker",cursive; text-transform:uppercase; }
h2 { margin:0; font:400 clamp(4rem,8vw,7.2rem)/.9 "Anton",sans-serif; letter-spacing:-.02em; color:var(--white); text-shadow:7px 7px 0 var(--black); }
h2 span { color:var(--pink); }

.menu-section { background:linear-gradient(145deg,#1f0b34,#3c0d79 55%,#180821); }
.menu-section::before { content:""; position:absolute; inset:0; opacity:.16; background-image:radial-gradient(var(--cyan) 1.5px,transparent 1.5px); background-size:18px 18px; }
.menu-section > * { position:relative; z-index:1; }
.menu-board-frame {
  position: relative;
  max-width: 920px;
  margin: 0 auto 3rem;
  padding: 1rem;
  background: var(--black);
  border: 5px solid var(--cyan);
  box-shadow: 0 0 0 4px rgba(244,10,147,.55), 14px 14px 0 var(--black);
  border-radius: 1.4rem;
}
.menu-board-frame::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 2px dashed rgba(255,255,255,.25);
  border-radius: 1rem;
  pointer-events: none;
}
.menu-board-frame img {
  width: 100%;
  border-radius: 1rem;
  display: block;
}
.menu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; }
.menu-card { min-height:360px; position:relative; padding:2rem; color:var(--black); border:var(--border); box-shadow:var(--shadow); transform:rotate(-1.5deg); }
.menu-card:nth-child(2){transform:rotate(1.2deg) translateY(18px)}.menu-card:nth-child(3){transform:rotate(-.7deg)}
.menu-card::after { content:""; position:absolute; inset:10px; border:2px dashed rgba(9,6,13,.65); pointer-events:none; }
.card-pink{background:var(--pink)}.card-cyan{background:var(--cyan)}.card-yellow{background:var(--yellow)}
.card-number { position:absolute; top:12px; right:18px; font:400 3.5rem/1 "Anton",sans-serif; opacity:.2; }
.menu-icon { width:72px;height:72px;display:grid;place-items:center;background:var(--black);color:var(--white);font-size:2.2rem;border-radius:50%;border:4px solid var(--white);box-shadow:5px 5px 0 rgba(0,0,0,.3); }
.menu-card h3 { position:relative; margin:1.4rem 0 .8rem; font:400 2.4rem/.95 "Anton",sans-serif; text-transform:uppercase; }
.menu-card p { position:relative; font-weight:700; line-height:1.6; }
.card-note { position:absolute; left:2rem; bottom:1.8rem; right:2rem; padding:.45rem .7rem; color:var(--white); background:var(--black); font:800 1rem/1 "Barlow Condensed",sans-serif; text-transform:uppercase; letter-spacing:.05em; transform:rotate(-1deg); }



.dye-free-panel { margin-top:5rem;padding:3rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center;background:var(--cream);color:var(--black);border:6px solid var(--black);box-shadow:14px 14px 0 var(--yellow); }
.dye-free-heading h3 { margin:.5rem 0 1rem;font:400 clamp(3rem,6vw,5rem)/.9 "Anton",sans-serif;color:var(--purple); }
.dye-free-heading p { font-weight:700;line-height:1.6; }
.flavor-list { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem; }
.flavor-list li { padding:.75rem .9rem;background:var(--pink);border:3px solid var(--black);box-shadow:4px 4px 0 var(--black);font:800 1rem/1.2 "Barlow Condensed",sans-serif;text-transform:uppercase;transform:rotate(-.5deg); }
.flavor-list li:nth-child(even){background:var(--cyan);transform:rotate(.5deg)}

.hours-section { padding-top:8rem;background:linear-gradient(to bottom,#f13894 0%,#ff7b4d 38%,#ffd243 64%,#1b0a36 65%);overflow:hidden; }
.hours-background { position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(var(--pink) 3px,transparent 3px),linear-gradient(90deg,var(--pink) 3px,transparent 3px);background-size:80px 38px;transform:perspective(260px) rotateX(52deg) scale(1.3);transform-origin:bottom;opacity:.9; }
.hours-content { position:relative;z-index:2; }
.heading-left { margin-left:0;text-align:left; }
.heading-left p { margin-left:0; }
.hours-layout { display:grid;grid-template-columns:.85fr .85fr 1.3fr;gap:1.5rem;align-items:stretch; }
.location-card,.hours-card,.map-card { border:5px solid var(--black);box-shadow:10px 10px 0 var(--black); }
.location-card,.hours-card { padding:2rem;background:var(--cream);color:var(--black); }
.location-card address { margin:1.5rem 0;font-style:normal;font-size:1.15rem;line-height:1.6; }.location-card address strong{font:400 2.1rem/1 "Anton",sans-serif;text-transform:uppercase;color:var(--purple)}
.today-status { padding:.75rem;background:var(--yellow);border:3px solid var(--black);font-weight:800; }
.hours-card { background:var(--cyan); }.hours-card h3{margin:0 0 1rem;font:400 2.7rem/1 "Anton",sans-serif;text-transform:uppercase}.hours-card p{font-weight:700;line-height:1.5}.hours-list{margin:0}.hours-list div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:2px solid rgba(9,6,13,.35)}.hours-list dt{font-weight:800}.hours-list dd{margin:0;font-weight:800}
.map-card { min-height:380px;background:var(--black);overflow:hidden; }.map-card iframe{width:100%;height:100%;min-height:380px;border:0;filter:saturate(1.25) contrast(1.1)}

.events-section { display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center;background:var(--yellow);color:var(--black); }
.events-copy h2 { color:var(--black);text-shadow:7px 7px 0 var(--pink); }.events-copy h2 span{color:var(--purple)}.events-copy>p:not(.kicker){font-size:1.05rem;font-weight:700;line-height:1.7;max-width:650px}.event-types{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 2rem}.event-types span{padding:.45rem .75rem;background:var(--black);color:var(--white);font:800 .95rem/1 "Barlow Condensed",sans-serif;text-transform:uppercase;transform:rotate(-1deg)}
.events-art {
  min-height:500px;
  position:relative;
  background:
    radial-gradient(circle at 18% 18%, rgba(24,220,226,.2), transparent 28%),
    radial-gradient(circle at 82% 82%, rgba(244,10,147,.24), transparent 30%),
    linear-gradient(145deg,#300861,var(--purple) 55%,#0d0721);
  border:6px solid var(--black);
  box-shadow:14px 14px 0 var(--pink);
  overflow:hidden;
}
.events-message-card {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:3rem;
}
.events-message-card::before {
  content:"";
  position:absolute;
  inset:18px;
  border:3px dashed var(--cyan);
  border-radius:1.4rem;
  pointer-events:none;
}
.events-message-card::after {
  content:"✦";
  position:absolute;
  right:8%;
  top:8%;
  color:var(--yellow);
  font-size:4rem;
  text-shadow:-110px 320px 0 var(--pink), -330px 45px 0 var(--cyan);
}
.events-question {
  position:relative;
  z-index:2;
  margin:.2rem 0;
  max-width:90%;
  color:var(--white);
  font:800 clamp(1.8rem,3.5vw,3.1rem)/1.05 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.events-sweet {
  position:relative;
  z-index:2;
  margin:.25rem 0 .5rem;
  color:var(--pink);
  font:400 clamp(3.2rem,7vw,6.4rem)/.9 "Permanent Marker",cursive;
  text-shadow:5px 5px 0 var(--black), 8px 8px 0 var(--cyan);
  transform:rotate(-3deg);
}
.events-book {
  position:relative;
  z-index:2;
  margin:1.2rem 0 0;
  display:inline-block;
  padding:.55rem 1.2rem .75rem;
  background:var(--yellow);
  color:var(--black);
  border:5px solid var(--black);
  box-shadow:8px 8px 0 var(--pink);
  font:400 clamp(3.2rem,6vw,5.8rem)/.9 "Anton",sans-serif;
  text-transform:uppercase;
  transform:rotate(-4deg);
}

.story-section { display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;background:linear-gradient(145deg,#200837,#4a11a8); }
.story-card { padding:4rem;background:var(--pink);color:var(--black);border:6px solid var(--black);box-shadow:14px 14px 0 var(--cyan);transform:rotate(-.6deg); }.story-card h2{color:var(--yellow);font-size:clamp(3.3rem,6vw,6rem)}.story-card h2 span{color:var(--white)}.story-card>p:not(.kicker):not(.signature){font-weight:700;font-size:1.08rem;line-height:1.8}.signature{margin:1.4rem 0 0;font:400 2.4rem/1 "Permanent Marker",cursive;color:var(--black)}
.gallery-card { padding:2.1rem; background:var(--black); border:6px solid var(--black); box-shadow:14px 14px 0 var(--yellow); transform:rotate(1deg); color:var(--white); }
.gallery-card h3{margin:.5rem 0 1rem;font:400 clamp(2.6rem,5vw,4.2rem)/.95 "Anton", sans-serif;color:var(--yellow);text-shadow:5px 5px 0 rgba(0,0,0,.45)}
.gallery-card h3 span{color:var(--cyan)}
.gallery-slider{position:relative}
.gallery-slides{position:relative; aspect-ratio:4/3; background:#120717; border:4px solid var(--cyan); overflow:hidden; box-shadow:8px 8px 0 var(--pink)}
.gallery-slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .55s ease}
.gallery-slide.active{opacity:1}
.gallery-arrow{position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border:3px solid var(--black); background:var(--yellow); color:var(--black); font:400 2rem/1 "Anton", sans-serif; box-shadow:4px 4px 0 var(--black); cursor:pointer; z-index:3}
.gallery-prev{left:.8rem}
.gallery-next{right:.8rem}
.gallery-dots{display:flex; justify-content:center; gap:.5rem; margin-top:1rem; flex-wrap:wrap}
.gallery-dot{width:14px; height:14px; border-radius:50%; border:2px solid var(--black); background:var(--white); box-shadow:2px 2px 0 var(--black); cursor:pointer}
.gallery-dot.active{background:var(--pink)}


.social-section { padding:7rem 1.5rem;background:var(--cyan);color:var(--black);text-align:center;border-top:7px solid var(--black); }
.social-inner { max-width:900px;margin:0 auto; }.social-inner h2{color:var(--black);text-shadow:7px 7px 0 var(--pink)}.social-inner h2 span{color:var(--purple)}.social-inner>p:not(.kicker){font-weight:700;font-size:1.08rem}.social-actions{display:flex;justify-content:center;gap:1rem;margin:2rem 0}.hashtags{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;font:800 1.2rem/1 "Barlow Condensed",sans-serif}.hashtags span{padding:.5rem .75rem;background:var(--black);color:var(--yellow);transform:rotate(-1deg)}

.site-footer { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:2.5rem max(1.5rem,calc((100vw - 1200px)/2));background:var(--black);border-top:4px solid var(--pink); }.footer-brand{gap:.75rem}.footer-brand .brand-mark{width:58px;box-shadow:4px 4px 0 var(--pink)}.footer-brand .brand-wordmark{font-size:1.25rem}.site-footer p{margin:.35rem 0 0;color:#bbb}.back-top{font:800 1rem/1 "Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--cyan)}
.mobile-actions { display:none; }

.reveal { opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease; }.reveal.visible{opacity:1;transform:none}

@media (max-width: 980px) {
  .menu-toggle{display:grid;width:48px;height:42px;padding:8px;background:var(--pink);border:3px solid var(--black);box-shadow:4px 4px 0 var(--cyan)}.menu-toggle span:not(.sr-only){display:block;height:4px;background:var(--black);margin:2px 0}
  .nav-links{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;padding:1.2rem;background:var(--black);border-bottom:4px solid var(--pink)}.nav-links.open{display:flex}.nav-links a{text-align:center;padding:.8rem}.nav-cta{margin-top:.3rem}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:5rem}.hero-copy{text-align:center;margin:auto}.hero h1{justify-items:center}.hero-script{margin-left:0}.hero-lede{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-art{min-height:520px}.hero-logo-group{width:min(100%,420px)}.hero-palm{opacity:.55}
  .menu-grid{grid-template-columns:1fr}.menu-card:nth-child(2){transform:rotate(1deg)}
  .dye-free-panel,.events-section,.story-section{grid-template-columns:1fr}.hours-layout{grid-template-columns:1fr 1fr}.map-card{grid-column:1/-1}.events-art{order:2}
}

@media (max-width: 680px) {
  body{padding-bottom:64px}.status-strip{font-size:.78rem;gap:.4rem}.strip-divider{display:none}.top-social-link span{display:none}.top-socials{gap:.55rem}.nav-shell{padding:.55rem 1rem}.brand{gap:.55rem}.brand-mark{width:52px}.brand-wordmark{font-size:1.15rem}
  .hero{padding:4rem 1rem 5rem}.hero::before{inset:7px}.hero-big{font-size:7rem}.hero-flavor{font-size:4.5rem;-webkit-text-stroke:3px var(--white)}.hero-script{font-size:2.5rem}.hero-lede{font-size:.98rem}.hero-art{min-height:390px}.hero-glow{width:340px;height:340px}.hero-logo-group{width:min(100%,290px)}.logo-tag{font-size:.95rem;padding:.55rem .8rem;border-width:3px;box-shadow:4px 4px 0 var(--black)}.tag-left{left:-6%}.tag-right{right:-8%}.tag-bottom{bottom:4%;right:-4%}.triangle-mark,.squiggle-left{display:none}.hero-palm{width:120px;height:190px}.hero-palm::after{font-size:3rem}
  .section{padding:5rem 1rem}.section-heading{margin-bottom:2.4rem}h2{font-size:4rem}.menu-board-frame{margin:0 auto 2.2rem;padding:.75rem}.menu-card{min-height:330px;padding:1.5rem}.card-note{left:1.5rem;right:1.5rem}.dye-free-panel{padding:2rem 1.2rem;gap:1.5rem}.flavor-list{grid-template-columns:1fr}.hours-layout{grid-template-columns:1fr}.location-card,.hours-card{padding:1.4rem}.map-card{grid-column:auto}.events-section{gap:2.5rem}.events-art{min-height:390px}.events-message-card{padding:2rem 1.25rem}.events-message-card::after{font-size:2.6rem;text-shadow:-70px 240px 0 var(--pink), -210px 35px 0 var(--cyan)}.story-card{padding:2rem 1.4rem}.gallery-card{padding:1.35rem}.gallery-arrow{width:40px;height:40px;font-size:1.7rem}.social-actions{flex-direction:column}.site-footer{grid-template-columns:1fr;text-align:center}.footer-brand{margin:auto}.back-top{display:none}
  .mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:repeat(3,1fr);background:var(--black);border-top:3px solid var(--pink)}.mobile-actions a{padding:.85rem .4rem;text-align:center;text-decoration:none;text-transform:uppercase;font:800 .9rem/1 "Barlow Condensed",sans-serif;border-right:1px solid #333}.mobile-actions a:nth-child(2){color:var(--yellow)}.mobile-actions a:nth-child(3){color:var(--cyan)}
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}.hero-logo-group{animation:none}
}
