:root{
  --ink:#12151c; --ink2:#1b1f29; --cream:#fff3dc; --cream2:#f6e5c3;
  --neon:#ff6a1a; --tomato:#d92b25; --butter:#ffc83d;
  --display:'Bowlby One',Impact,sans-serif; --body:'DM Sans',system-ui,sans-serif; --mono:'Space Mono',ui-monospace,monospace;
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--body);background:var(--cream);color:#2a2320;font-size:1.02rem;line-height:1.6}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:.005em}
h2{font-size:clamp(2rem,4.6vw,3.3rem);margin-bottom:1rem}
a{color:var(--tomato)}
.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--tomato);margin-bottom:.7rem;font-weight:700}

/* utility bar */
.topbar{background:var(--tomato);color:#fff;font-size:.85rem;padding:.4rem 0}
.topbar a{color:#fff;text-decoration:none;font-weight:700}
.tb-phones{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}

/* nav */
.navbar{background:var(--ink);border-bottom:3px solid var(--butter);padding:.45rem 0}
.navbar-brand{display:flex;align-items:center;gap:.7rem;color:var(--cream)!important}
.brand-logo{height:46px;width:auto;background:var(--cream);border-radius:6px;padding:2px 4px}
.brand-name{font-family:var(--display);font-size:1.1rem;color:var(--cream);line-height:1}
.navbar .nav-link{color:var(--cream);font-weight:500;font-size:.95rem;padding:.5rem .7rem}
.navbar .nav-link:hover{color:var(--butter)}
.navbar-toggler{border:0;color:var(--cream);font-size:1.9rem;padding:0 .3rem;line-height:1}
.navbar-toggler:focus{box-shadow:0 0 0 2px var(--butter)}
@media(max-width:575px){.brand-name{font-size:.95rem}.brand-logo{height:38px}}

/* buttons */
.btn{font-weight:700;border-radius:999px;padding:.6rem 1.4rem}
.btn-neon{background:var(--neon);color:#1a0d05;border:2px solid var(--neon)}
.btn-neon:hover{background:var(--butter);border-color:var(--butter);color:#1a0d05}
.btn-ghost{border:2px solid var(--cream);color:var(--cream);background:transparent}
.btn-ghost:hover{background:var(--cream);color:var(--ink)}
.btn-ghost-dark{border:2px solid var(--ink);color:var(--ink);background:transparent}
.btn-ghost-dark:hover{background:var(--ink);color:var(--cream)}

/* marquee bulbs — from the logo's sign border */
.bulb-frame{position:relative;padding:18px;background:#0b0d12;border-radius:14px;
  background-image:radial-gradient(circle,var(--butter) 3.5px,transparent 4.5px),radial-gradient(circle,var(--butter) 3.5px,transparent 4.5px),radial-gradient(circle,var(--butter) 3.5px,transparent 4.5px),radial-gradient(circle,var(--butter) 3.5px,transparent 4.5px);
  background-size:26px 18px,26px 18px,18px 26px,18px 26px;
  background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y}
.bulb-frame img{display:block;width:100%;height:auto;border-radius:6px}
.bulb-frame.sm{background-color:var(--ink)}

/* hero */
.hero{background:var(--ink);color:var(--cream);padding:3.5rem 0 4rem;background-image:radial-gradient(ellipse 60% 70% at 80% 40%,rgba(255,106,26,.22),transparent 70%)}
.hero h1{font-size:clamp(2.5rem,6vw,4.6rem);margin-bottom:1.2rem}
.hero h1 em{font-style:normal;color:var(--neon)}
.hero .eyebrow{color:var(--butter)}
.hero .lead{font-size:1.15rem;max-width:34rem;color:#f1e4c8;margin-bottom:1.6rem}
.hero-note{font-family:var(--mono);font-size:.8rem;margin-top:1.1rem;color:var(--butter);letter-spacing:.06em}

/* ticker */
.ticker{background:var(--butter);color:var(--ink);overflow:hidden;white-space:nowrap;border-block:3px solid var(--ink)}
.ticker-track{display:inline-flex;animation:tick 32s linear infinite}
.ticker span{font-family:var(--display);font-size:1.15rem;padding:.55rem 1.4rem;text-transform:uppercase}
.ticker span::after{content:"●";margin-left:2.8rem;color:var(--tomato);font-size:.8rem}
@keyframes tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* sections */
.section{padding:5rem 0}
.section-dark{background:var(--ink);color:var(--cream)}
.section-dark .eyebrow{color:var(--butter)}
.section-dark a{color:var(--butter)}
.section-red{background:var(--tomato);color:#fff}
.section-red .eyebrow{color:var(--butter)}
.sec-head{margin-bottom:2rem;max-width:44rem}
.sec-sub{color:#5c4d44}

/* menu */
.menu-tabs{gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.menu-tabs .nav-link{border-radius:999px;border:2px solid var(--ink);color:var(--ink);font-weight:700;background:transparent;padding:.45rem 1.1rem}
.menu-tabs .nav-link:hover{background:var(--cream2)}
.menu-tabs .nav-link.active{background:var(--ink);color:var(--butter);border-color:var(--ink)}
.menu-pane{background:#fffaf0;border:3px solid var(--ink);border-radius:14px;padding:2rem;box-shadow:8px 8px 0 var(--neon)}
.mgroup{font-size:1.5rem;color:var(--tomato);margin:1.2rem 0 1rem;padding-bottom:.5rem;border-bottom:3px dotted var(--butter)}
.mgroup:first-child{margin-top:0}
.mlist{list-style:none;padding:0;margin:0;columns:2;column-gap:3rem}
.mi{break-inside:avoid;margin-bottom:1.1rem}
.mi-h{display:flex;align-items:baseline;gap:.5rem}
.mi h4{font-size:1.02rem;font-weight:700;margin:0;font-family:var(--body)}
.dots{flex:1;border-bottom:2px dotted #c9b79a;min-width:12px;transform:translateY(-4px)}
.pr{font-family:var(--mono);font-weight:700;color:var(--tomato);white-space:nowrap;font-size:.88rem;text-align:right}
.mi p{margin:.15rem 0 0;font-size:.9rem;color:#5c4d44}
.new{display:inline-block;background:var(--neon);color:#1a0d05;font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;padding:.12rem .45rem;border-radius:4px;vertical-align:middle;margin-right:.2rem}
.mnote{font-size:.88rem;color:#5c4d44;margin:.3rem 0 1rem}
.tops{font-size:.85rem}
.sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}
.sizes div{background:var(--ink);color:var(--cream);border-radius:10px;padding:1rem;text-align:center}
.sizes b{display:block;font-family:var(--display);font-weight:400;font-size:1.05rem}
.sizes span{font-family:var(--mono);color:var(--butter);font-weight:700}
.ptable-wrap{overflow-x:auto}
.ptable{width:100%;border-collapse:collapse;min-width:520px}
.ptable th{font-family:var(--mono);text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:var(--tomato);text-align:right;padding:.4rem .6rem;border-bottom:2px solid var(--ink)}
.ptable th:first-child{text-align:left}
.ptable td{padding:.65rem .6rem;border-bottom:1px dotted #c9b79a;vertical-align:top;text-align:right;font-family:var(--mono);font-weight:700;color:var(--tomato);font-size:.9rem}
.ptable td:first-child{text-align:left;font-family:var(--body);color:#2a2320;font-weight:400}
.ptable h4{font-size:1rem;font-weight:700;margin:0}
.ptable p{margin:0;font-size:.88rem;color:#5c4d44}
.dtx-menu{width:100%;max-width:720px;height:auto;display:block;margin:1rem auto 0;border:2px solid var(--ink);border-radius:6px}
.warn{font-size:.8rem;color:#6a5a50;margin-top:1.5rem}
@media(max-width:767px){.mlist{columns:1}.menu-pane{padding:1.2rem;box-shadow:5px 5px 0 var(--neon)}.sizes{grid-template-columns:1fr}.mi-h{flex-wrap:wrap}.dots{display:none}.pr{margin-left:auto}}

/* band */
.band{background:var(--neon);color:#1a0d05;padding:2rem 0;text-align:center}
.band p{font-family:var(--display);font-size:clamp(1.3rem,3vw,2rem);margin:0;line-height:1.25}
.band em{font-style:normal;color:#fff}
.band a{color:#1a0d05;font-family:var(--body);font-weight:700;font-size:1rem;margin-left:.6rem;white-space:nowrap}

/* gallery strip */
.strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(1rem,calc((100vw - 1320px)/2)) 1.5rem;scroll-padding-left:max(1rem,calc((100vw - 1320px)/2));scrollbar-color:var(--butter) var(--ink2)}
.strip figure{flex:0 0 auto;margin:0;scroll-snap-align:start;border:3px solid var(--butter);border-radius:10px;overflow:hidden;background:#000}
.strip img{display:block;height:340px;width:auto}
@media(max-width:575px){.strip img{height:260px}}

/* polaroids */
.polaroids{position:relative;min-height:440px}
.pol{position:absolute;margin:0;background:#fff;padding:10px 10px 8px;box-shadow:6px 6px 0 var(--ink);border:2px solid var(--ink)}
.pol img{display:block;width:100%;height:auto}
.pol figcaption{font-family:var(--mono);font-size:.72rem;text-align:center;padding-top:6px;color:var(--ink)}
.p1{width:48%;left:0;top:0;z-index:3;transform:rotate(-4deg)}
.p2{width:56%;right:0;top:30px;transform:rotate(3deg);z-index:2}
.p3{width:40%;right:2%;bottom:0;transform:rotate(-1.5deg)}
@media(max-width:575px){.polaroids{min-height:380px}}

/* frozen */
.stores-h{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--butter);margin:1.4rem 0 .6rem}
.stores,.reasons,.chips{list-style:none;padding:0;margin:0}
.stores{display:flex;flex-wrap:wrap;gap:.5rem}
.stores li{background:var(--cream);color:var(--ink);font-weight:700;border-radius:999px;padding:.35rem 1rem}
.reasons li{font-family:var(--display);font-size:1.15rem;padding:.55rem 0;border-bottom:2px dotted rgba(255,255,255,.5)}
.reasons li::before{content:"✓ ";color:var(--butter)}

/* about */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}
.chips li{border:2px solid var(--ink);border-radius:999px;padding:.2rem .9rem;font-weight:700;font-size:.9rem}
.small-note{font-size:.88rem;color:#5c4d44}

/* locations */
.loc{border:2px solid var(--butter);border-radius:14px;padding:1.6rem;height:100%}
.loc h3{font-size:1.6rem;color:var(--butter);margin-bottom:1rem}
.loc p{margin-bottom:.4rem}
.loc i{color:var(--neon);margin-right:.3rem}
.hours{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1.2rem;margin:1rem 0 1.2rem;font-family:var(--mono);font-size:.9rem}
.hours dt{color:var(--butter)}.hours dd{margin:0}
.hours-note{font-family:var(--mono);font-size:.9rem}
.map{width:100%;height:260px;border:0;border-radius:8px;margin-top:1rem;background:#222}

/* join / gift */
.gift{background:var(--ink);color:var(--cream);border-radius:14px;padding:1.8rem;box-shadow:8px 8px 0 var(--butter)}
.gift h3{font-size:1.5rem;color:var(--butter)}
.gift .btn{margin:.3rem .3rem 0 0}
.gift .btn-ghost-dark{border-color:var(--cream);color:var(--cream)}
.gift .btn-ghost-dark:hover{background:var(--cream);color:var(--ink)}

/* footer */
.footer{background:var(--ink);color:var(--cream);padding:2.2rem 0;border-top:3px solid var(--butter)}
.footer a{color:var(--butter)}
.footer img{height:62px;width:auto;background:var(--cream);border-radius:8px;padding:4px 6px}
