:root{--navy:#14284b;--navy-d:#0c1830;--red:#d4202f;--cream:#fbf5e9;--sand:#efe4cc;--ink:#1b2236;--display:'Alfa Slab One',Georgia,serif;--body:'Figtree',system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--body);font-size:1.07rem;line-height:1.65;color:var(--ink);background:var(--cream)}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.05;color:var(--navy)}
h2{font-size:clamp(2.2rem,5.5vw,3.8rem)}
a{color:inherit}
.util{background:var(--navy-d);color:#fff;font-size:.92rem;padding:.45rem 0}
.util a{text-decoration:none;font-weight:700}.util .hot{color:#ff6b78}
.navbar{background:var(--cream);border-bottom:3px solid var(--red);padding:.55rem 0}
.brand{font-family:var(--display);font-size:1.5rem;color:var(--red);text-decoration:none;display:flex;align-items:center;gap:.6rem;line-height:1}
.brand small{display:block;font-family:var(--body);font-size:.68rem;letter-spacing:.18em;color:var(--navy);font-weight:700;text-transform:uppercase;margin-top:.2rem}
.brand svg{width:46px;height:34px;flex:none}
.navbar .nav-link{font-weight:700;color:var(--navy);font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}
.navbar .nav-link:hover{color:var(--red)}
.btn-neon{background:var(--red);color:#fff;font-weight:800;border:2px solid var(--red);border-radius:999px;padding:.6rem 1.5rem;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}
.btn-neon:hover{background:#fff;color:var(--red)}
.btn-ghost{border:2px solid #fff;color:#fff;font-weight:800;border-radius:999px;padding:.6rem 1.5rem;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;text-decoration:none;display:inline-block}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-line{border:2px solid var(--navy);color:var(--navy);font-weight:800;border-radius:999px;padding:.55rem 1.4rem;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;text-decoration:none;display:inline-block}
.btn-line:hover{background:var(--navy);color:#fff}
/* neon signature */
.neon{color:#ffe9ec;text-shadow:0 0 4px #fff,0 0 10px #ff2a3d,0 0 22px #ff2a3d,0 0 42px #d4202f}
.neon-red{color:var(--red);text-shadow:0 0 1px #ff6b78,0 0 12px rgba(255,42,61,.35)}
.tube{display:block;width:120px;height:6px;border-radius:6px;background:var(--red);box-shadow:0 0 6px #ff2a3d,0 0 16px rgba(255,42,61,.7);margin:.9rem 0 1.4rem}
.tube.c{margin-left:auto;margin-right:auto}
.eyebrow{font-weight:800;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:.5rem}
.hero{position:relative;min-height:calc(100vh - 100px);display:flex;align-items:flex-end;padding-bottom:2.5rem;justify-content:center;text-align:center;color:#fff;background:linear-gradient(#0c183000,#0c183000),url('img/hero.webp') center 20%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 48%,rgba(8,16,40,.5) 0%,rgba(8,16,40,.12) 100%),linear-gradient(to bottom,rgba(8,16,40,.35) 0%,rgba(8,16,40,.1) 45%,rgba(8,16,40,.55) 100%)}
.hero-content{position:relative;padding:2.2rem 1.5rem;border-radius:18px;background:rgba(0,0,0,.2);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);max-width:760px;padding:1.4rem 1.5rem}
.hero-eyebrow{font-weight:800;letter-spacing:.24em;text-transform:uppercase;font-size:.85rem;text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-family:var(--display);color:#fff;font-size:clamp(2.6rem,8vw,4.6rem);line-height:.95;margin:.5rem 0;text-shadow:0 0 4px #000,0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-title .neon{text-shadow:0 0 3px #fff,0 0 12px #ff2a3d,0 0 28px #ff2a3d,0 3px 18px rgba(0,0,0,.9)}
.hero-subtitle{font-size:1.2rem;font-weight:600;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero-tagline{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.9)}
.ticker{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;padding:.7rem 0;font-family:var(--display);font-size:1.1rem;letter-spacing:.04em}
.ticker span{display:inline-block;padding-left:100%;animation:tick 38s linear infinite}
.ticker i{font-style:normal;margin:0 1.2rem;opacity:.7}
@keyframes tick{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.ticker span{animation:none;padding-left:0}.ticker{overflow-x:auto}}
section{padding:5.5rem 0}
.dark{background:var(--navy);color:#fff}.dark h2,.dark h3{color:#fff}.dark .eyebrow{color:#ff8691}
.sand{background:var(--sand)}
.menu-rail{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 0 1.2rem;-webkit-overflow-scrolling:touch}
.menu-rail figure{flex:0 0 min(86vw,430px);scroll-snap-align:center;margin:0;background:#fff;border-radius:14px;padding:.6rem;box-shadow:8px 8px 0 var(--red)}
.menu-rail img{width:100%;height:auto;display:block;border-radius:8px}
.menu-rail::-webkit-scrollbar{height:10px}.menu-rail::-webkit-scrollbar-thumb{background:var(--red);border-radius:10px}
.photo{border-radius:14px;display:block;width:100%;height:auto}
.frame{box-shadow:10px 10px 0 var(--red);border-radius:14px}
.tile{background:#fff;border-radius:14px;padding:1.6rem;height:100%;border-top:6px solid var(--red)}
.tile h3{font-size:1.5rem}
.arch{border-radius:200px 200px 14px 14px;object-fit:cover;width:100%;aspect-ratio:4/5}
.shop img{border-radius:14px;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.loc-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:1.5rem;height:100%}
.loc-card h3{font-size:1.6rem}.loc-card a{text-decoration:none;font-weight:700}
.map{border:0;width:100%;height:100%;min-height:320px;border-radius:14px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;border-radius:14px;display:block}
@media(max-width:767px){.gal{grid-template-columns:1fr}.gal img{aspect-ratio:4/3}section{padding:4rem 0}}
footer{background:var(--navy-d);color:#cfd6e6;padding:3rem 0 2rem}
footer a{color:#fff;text-decoration:none}footer a:hover{text-decoration:underline}
footer .logo{width:200px;height:auto}
.powered{font-size:.9rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}
.powered a{font-weight:700;color:#ff8691}
