*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0b0704;--brace:#FF4D00;--gold:#FFB800;--cream:#F4EDE1;--line:#2b2119;--mut:#b7a68f}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--cream);font-family:'Space Grotesk',sans-serif;overflow-x:hidden}
::selection{background:var(--brace);color:#000}
img{display:block;max-width:100%}
/* LOADER — vanilla, always self-closes (does not depend on GSAP) */
#loader{position:fixed;inset:0;background:#060302;z-index:20000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .6s,visibility .6s}
#loader.done{opacity:0;visibility:hidden}
#loader h1{font-family:Anton;font-size:clamp(52px,10vw,124px);letter-spacing:.01em}
#loader h1 span{color:var(--brace)}
#lbar{width:240px;height:3px;background:#221812;border-radius:3px;overflow:hidden}
#lbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brace),var(--gold));transition:width .2s}
#lp{font-size:11px;letter-spacing:.3em;color:var(--mut)}
/* CURSOR — fine-pointer desktop only, transform-only (jump bugfix) */
.cur{position:fixed;top:0;left:0;width:14px;height:14px;background:var(--gold);z-index:15000;pointer-events:none;border-radius:50%;mix-blend-mode:difference;transform:translate(-100px,-100px)}
@media(pointer:coarse){.cur{display:none}}
@media(prefers-reduced-motion:reduce){.cur{display:none}}
/* NAV sottile editoriale, diversa da 02 */
.topbar{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:linear-gradient(rgba(0,0,0,.75),transparent);color:#fff}
.brand{font-family:Anton;font-size:18px;letter-spacing:.04em}
.brand small{font-family:'Space Grotesk';font-size:10px;letter-spacing:.25em;border:1px solid #666;border-radius:100px;padding:5px 10px;margin-left:10px;vertical-align:middle}
.topbar nav{display:flex;gap:20px;font-size:11px;letter-spacing:.22em}
.topbar nav a{color:#fff;text-decoration:none;opacity:.75}
/* HERO cinematic: real photo + veil + flame canvas only at bottom */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}
@media(max-width:900px){.hero{grid-template-columns:1fr}}
.hero-photo{position:relative;min-height:52svh;overflow:hidden;background:#1a100a}
.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(1.15) contrast(1.05)}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,7,4,.15),rgba(11,7,4,.85) 96%),linear-gradient(transparent 55%,rgba(11,7,4,.9))}
@media(max-width:900px){.hero-photo::after{background:linear-gradient(transparent 40%,var(--bg) 96%)}}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:110px 40px 30px;z-index:2}
@media(max-width:900px){.hero-copy{padding:30px 22px 10px}}
.kick{font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
.hero-copy h1{font-family:Anton;font-size:clamp(64px,8.5vw,150px);line-height:.88;margin:14px 0 8px}
.hero-copy h1 .stroke{color:transparent;-webkit-text-stroke:2px var(--cream)}
.hero-copy h1 .fire{color:var(--brace)}
.serif{font-family:'EB Garamond',serif;font-style:italic;font-size:clamp(18px,2.4vw,26px);color:var(--mut);max-width:520px;line-height:1.45}
.meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.meta span{font-size:11px;letter-spacing:.18em;border:1px solid var(--line);border-radius:100px;padding:8px 13px;color:var(--mut)}
.cta-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.btn{font-weight:700;font-size:14px;letter-spacing:.05em;text-transform:uppercase;padding:16px 26px;border-radius:100px;text-decoration:none;display:inline-block;border:0}
.btn-fire{background:linear-gradient(90deg,var(--brace),var(--gold));color:#140800}
.btn-line{background:transparent;color:var(--cream);border:1px solid #4a3826}
/* GOGGLEYE: lenses over real ember photo */
.goggle{margin-top:26px;display:flex;gap:14px;align-items:center;background:rgba(255,77,0,.06);border:1px solid var(--line);border-radius:18px;padding:14px 16px;max-width:520px}
.lenses{display:flex;gap:8px}
.lens{width:74px;height:74px;border-radius:50%;border:5px solid #c9a227;position:relative;overflow:hidden;background:#000;flex:none}
.lens img{position:absolute;inset:-20%;width:140%;height:140%;object-fit:cover;filter:saturate(1.4) contrast(1.1)}
.lens .glare{position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.5),transparent 45%)}
.goggle p{font-size:13.5px;line-height:1.6;color:#d8c9b4}
.goggle b{color:var(--gold)}
#fire{position:absolute;left:0;right:0;bottom:0;height:180px;z-index:1;pointer-events:none;opacity:.9}
/* Horizontal photo strip */
.strip{display:flex;gap:12px;overflow-x:auto;padding:26px 40px 10px;scroll-snap-type:x mandatory}
@media(max-width:900px){.strip{padding:18px 16px}}
.strip figure{flex:0 0 min(420px,78vw);scroll-snap-align:start;border-radius:16px;overflow:hidden;position:relative;border:1px solid var(--line);background:#160f0a}
.strip img{width:100%;height:250px;object-fit:cover}
.strip figcaption{padding:12px 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
/* Editorial sections */
section{padding:84px 40px;max-width:1220px;margin:0 auto}
@media(max-width:900px){section{padding:60px 20px}}
h2{font-family:Anton;font-size:clamp(40px,6vw,84px);line-height:.94}
h2 .s{color:transparent;-webkit-text-stroke:1.5px var(--cream)}
.lead{color:var(--mut);max-width:660px;line-height:1.75;margin-top:14px;font-size:16.5px}
/* Robust reveal with IntersectionObserver: never stuck invisible */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
/* MENU: big photo cards, no emoji */
.menu{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
@media(max-width:900px){.menu{grid-template-columns:1fr}}
.dish{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#140e08}
.dish .ph{position:relative;overflow:hidden}
.dish .ph img{width:100%;height:260px;object-fit:cover;transition:transform .8s ease;filter:saturate(1.1)}
.dish:hover .ph img{transform:scale(1.06)}
.dish .ph em{position:absolute;top:12px;left:12px;font-style:normal;font-size:11px;letter-spacing:.2em;background:rgba(0,0,0,.65);padding:7px 12px;border-radius:100px;color:var(--gold)}
.dish .tx{padding:20px}
.dish b{font-family:Anton;font-size:24px;font-weight:400}
.dish .price{color:var(--gold);font-weight:700;letter-spacing:.08em;margin-top:4px}
.dish p{color:#a89480;font-size:14px;line-height:1.65;margin-top:8px}
/* QUEUE */
.queue{margin-top:28px;border:1px dashed #5a422a;border-radius:20px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#120c07}
@media(max-width:700px){.queue{grid-template-columns:1fr}}
#qticket{font-family:Anton;font-size:52px;color:var(--gold)}
#qbtn{background:var(--cream);color:#000;border:0;border-radius:14px;padding:18px 28px;font-weight:800;font-size:16px}
footer{border-top:1px solid var(--line);padding:56px 24px 30px;text-align:center}
footer .m{font-family:Anton;font-size:clamp(42px,8vw,110px);line-height:.9}
footer .m span{color:var(--brace)}
.note{margin-top:16px;color:#6f6152;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
