/* The atmosphere is footage beneath the requested 70% graphite-grey layer. */
body{isolation:isolate;background:#080807}
.atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#080807}
.atmosphere:before{content:'';position:absolute;inset:0;background:#ff7518;opacity:.27;z-index:0}
.atmosphere video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen}
.smoke-shade{position:absolute;inset:0;z-index:2;background:rgba(32,33,35,.70)}
#site{position:relative}
.hero{background:transparent}
.hero-photo{inset:80px 0 0 34%;background:transparent;mask-image:linear-gradient(90deg,transparent,#000 22%)}
.hero-photo img{object-fit:cover;object-position:center top;transform:none}
.hero:after{background:linear-gradient(90deg,#090909e6 0%,#090909e0 27%,#09090979 48%,#09090900 75%),linear-gradient(0deg,#090909da,transparent 27%)}
.specialties,.menu-section,.blog-section{background:#0b0b0b77}
.thor-section{background:#14120fb3}
.reviews-section{background:#12110fa6}
.visit-section{background:#1a1712b8}
.site-footer{background:#0b0b0ba6}
.opening-status{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}
.opening-dot{width:7px;height:7px;border-radius:50%;background:#b3a391;position:relative;flex-shrink:0}
.opening-status[data-state="open"] .opening-dot{background:#9ccd8e;box-shadow:0 0 0 5px #9ccd8e12}
.opening-status[data-state="closed"] .opening-dot{background:#e09c75;box-shadow:0 0 0 5px #e09c7510}
.opening-copy{display:flex;flex-direction:column;gap:3px}
.opening-label{font-size:12px;line-height:1.3}
.opening-countdown{font-size:10px;line-height:1.35;color:#c6bfb2;font-variant-numeric:tabular-nums}
.site-header{gap:22px}
.desktop-nav{gap:22px}
.desktop-nav a{font-size:12px}
.visit-opening{margin-top:22px}
.visit-opening .opening-label{font-size:15px}
.visit-opening .opening-countdown{font-size:12px}
.visit-map{align-self:stretch;display:flex;flex-direction:column;min-height:420px;border:1px solid #ffffff19;background:#141412;overflow:hidden;border-radius:16px}
.visit-map iframe{display:block;width:100%;height:100%;min-height:380px;flex:1;border:0;filter:grayscale(.85) invert(.9) hue-rotate(180deg) contrast(.85)}
.visit-map>a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:59px;padding:15px 23px;font-size:12px;text-underline-offset:4px;background:#1a1814}
.visit-map>a:hover{color:var(--accent)}
.scroll-manifesto{height:160svh;position:relative;background:#0b0b0b33}
.manifesto-sticky{height:100svh;display:flex;align-items:center;position:sticky;top:0;padding-block:120px}
[data-scroll-words]{font-family:var(--display);font-size:clamp(56px,7.8vw,112px);font-weight:700;line-height:1.02;letter-spacing:-.02em;max-width:17ch;text-transform:uppercase;text-wrap:balance}
.scroll-word{opacity:.16;display:inline-block}
/* Hairline fractures and chipped edges are transparent cuts in the letters. */
.marquee{padding:23px 0;background:#d9a46cee}
.marquee .marquee-track{display:flex;animation:none;font-size:clamp(25px,3vw,44px);line-height:1;will-change:transform}
.marquee .marquee-group{display:block;margin:0;flex-shrink:0}
.marquee .marquee-group>span{display:inline-block;margin-inline:32px}
.social-section{padding-block:110px;background:#0b0b0b80;border-top:1px solid #ffffff14}
.tiktok-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1120px;margin:auto}
.tiktok-video{margin:0;min-width:0;overflow:hidden;border-radius:16px;background:#151412}
.tiktok-video iframe{display:block;width:100%;aspect-ratio:9/16;min-height:480px;border:0;background:#151412}
.tiktok-video figcaption{padding:18px 22px;font-size:13px;line-height:1.5}
.tiktok-video a{text-underline-offset:4px}
@media(min-width:1600px){.hero-photo{left:40%}}
@media(max-width:1200px){.site-header{gap:16px}.desktop-nav{gap:15px}.desktop-nav a{font-size:11px}.opening-countdown{font-size:9px}.header-order{padding-inline:18px}}
@media(max-width:980px) and (min-width:801px){#opening-status{display:none}}
@media(max-width:800px){.hero-photo{inset:90px 0 0 14%}.hero-photo img{object-position:65% top}.hero:after{background:linear-gradient(90deg,#090909d9,#09090900 100%),linear-gradient(0deg,#090909fa,transparent 70%)}.site-header{gap:14px}.header-logo{width:75px}.header-logo img{height:36px}.opening-label{font-size:11px}.opening-countdown{max-width:105px;font-size:9px}.header-actions{margin-left:auto}.header-order{padding-inline:16px}.visit-map{min-height:390px}.visit-map iframe{min-height:340px}.scroll-manifesto{height:145svh}[data-scroll-words]{font-size:clamp(52px,9vw,78px);max-width:18ch}.tiktok-grid{gap:18px}.tiktok-video iframe{min-height:350px}.social-section{padding-block:75px}}
@media(max-width:520px){.hero{height:1020px;max-height:none}.hero-photo{inset:80px 0 auto 0;height:510px}.hero-photo img{object-fit:cover;object-position:50% top;transform:none}.hero:after{background:linear-gradient(0deg,#090909b3 0%,#090909d9 44%,#09090900 64%)}.hero-content{padding-top:470px;max-width:100%;padding-right:24px}.hero-content h1{font-size:65px}.hero-content>p{font-size:13px;margin-top:21px}.hero-buttons{margin-top:22px;gap:8px}.hero-bottom{bottom:35px}.hero-location{margin-bottom:17px}.hero-content .hero-location{display:none}.hero-dish{display:flex;order:-1;font-size:12px}.site-header{padding-left:17px;gap:10px}.header-logo{width:64px}.header-actions{gap:0}.header-order{font-size:10px;padding-inline:13px;gap:7px;min-height:42px}.header-order svg{width:13px}#mobile-toggle{width:33px}#opening-status{gap:7px}.opening-label{font-size:10px}.opening-countdown{font-size:8px;max-width:90px}.opening-dot{width:5px;height:5px}.marquee{padding:18px 0}.marquee .marquee-group>span{margin-inline:22px}.scroll-manifesto{height:140svh}[data-scroll-words]{font-size:57px;max-width:12ch}.manifesto-sticky{padding-block:100px}.visit-map>a{font-size:12px;padding-inline:18px}.tiktok-grid{grid-template-columns:1fr;max-width:340px;gap:30px}.tiktok-video iframe{min-height:550px}.social-section .section-intro p{font-size:13px}}
@media(max-width:520px){.hero-photo{mask-image:linear-gradient(#000 0 85%,transparent);height:470px}.hero-photo img{height:auto;width:100%;object-fit:contain}.opening-countdown{font-size:9px}}
@media(max-width:520px){.hero-photo{mask-image:none}.hero-photo img{mask-image:linear-gradient(#000 0 72%,transparent 100%)}}

/* Bold slanted voice, with a slow text-only blink. */
.hero-content>p{font-family:var(--display);font-size:31px;line-height:1.12;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:-.015em;color:#fff;max-width:29ch;transform:rotate(-2deg);transform-origin:left center;animation:gigantes-type-pulse 2.6s ease-in-out infinite;animation-play-state:paused;margin-top:32px}
.hero-content.type-in-view>p{animation-play-state:running}
[data-scroll-words]{font-size:clamp(70px,9.2vw,134px);font-style:italic;font-weight:800;line-height:.96;max-width:18ch;transform:rotate(-3deg);transform-origin:center;animation:gigantes-type-pulse 2.6s ease-in-out infinite;animation-play-state:paused}
.scroll-manifesto.type-in-view [data-scroll-words]{animation-play-state:running}
.manifesto-sticky{padding-inline:14px}
@keyframes gigantes-type-pulse{0%,48%,100%{opacity:1}58%,70%{opacity:.48}83%{opacity:1}}
@media(max-width:800px){.hero-content>p{font-size:27px;max-width:28ch}[data-scroll-words]{font-size:clamp(60px,8.5vw,82px)}}
@media(max-width:520px){.hero{height:1100px}.hero-content>p{font-size:25px;line-height:1.12;margin-top:28px;max-width:28ch}.hero-buttons{margin-top:28px}.manifesto-sticky{padding-inline:6px}[data-scroll-words]{font-size:min(65px,8svh);max-width:13ch;line-height:.98;transform:rotate(-3deg)}}
@media(max-width:370px){.hero-content>p{font-size:24px}[data-scroll-words]{font-size:min(60px,7.8svh)}}

/* Full-bleed photograph starts at the top; the manifesto lives below the hero. */
.menu-layout{grid-template-columns:210px minmax(0,1fr)}
.category-browser{position:static;min-width:0;max-width:100%;align-self:start}
#category-nav{position:static;top:auto;max-height:none;overflow:visible;max-width:100%;min-width:0}
.category-scroll-controls[hidden]{display:none}
.category-scroll-controls{display:flex;align-items:center;gap:12px;padding-top:8px}
.category-scroll-controls button{width:38px;height:38px;flex-shrink:0;border:1px solid #ffffff30;border-radius:50%;background:#22201c;color:#fff;font-size:19px;cursor:pointer}
.category-scroll-controls button:disabled{opacity:.3;cursor:default}
#category-scroll{width:100%;min-width:0;height:30px;margin:0;cursor:ew-resize;accent-color:#d9a46c;background:transparent;-webkit-appearance:none;appearance:none}
#category-scroll::-webkit-slider-runnable-track{height:5px;border-radius:10px;background:#ffffff30}
#category-scroll::-webkit-slider-thumb{-webkit-appearance:none;width:42px;height:11px;margin-top:-3px;border:1px solid #eac89f;border-radius:10px;background:#d9a46c}
#category-scroll::-moz-range-track{height:5px;border-radius:10px;background:#ffffff30}
#category-scroll::-moz-range-thumb{width:42px;height:11px;border:1px solid #eac89f;border-radius:10px;background:#d9a46c}
.category-scroll-controls :focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:1100px){.menu-layout{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:800px){.menu-layout{grid-template-columns:minmax(0,1fr)}#category-nav{position:static;overflow-x:auto;overflow-y:hidden;padding:8px 2px 10px;scrollbar-width:thin;scrollbar-color:#d9a46c #ffffff1a;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}#category-nav::-webkit-scrollbar{height:5px}#category-nav::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}#category-nav::-webkit-scrollbar-thumb{background:#d9a46c;border-radius:10px}#category-nav button{flex:0 0 auto;max-width:none}}
.hero-photo{top:0}
.hero-content .hero-buttons{margin-top:38px}
@media(max-width:800px){.hero-photo{top:0}}
@media(max-width:520px){.hero{height:auto;min-height:910px}.hero-photo{top:0;height:530px}.hero-photo img{width:100%;height:530px;object-fit:cover;object-position:62% top;mask-image:linear-gradient(#000 0 72%,transparent 100%)}.hero-content{padding-top:440px;padding-bottom:170px}.hero-content .hero-buttons{margin-top:30px}.hero-bottom{bottom:34px}}
@media(max-width:370px){.hero{min-height:900px}.hero-content{padding-top:435px}.hero-content h1{font-size:61px}}

/* Original clean type, enlarged; words still brighten with the scroll. */
[data-scroll-words]{font-style:normal;font-weight:700;line-height:1.02;transform:none;animation:none;font-size:clamp(70px,9.2vw,134px);max-width:17ch}
@media(max-width:800px){[data-scroll-words]{font-size:clamp(60px,9vw,82px)}}
@media(max-width:520px){[data-scroll-words]{font-size:min(65px,8svh);max-width:13ch;transform:none;line-height:1.02}}
@media(max-width:370px){[data-scroll-words]{font-size:min(60px,7.8svh)}}

/* Bigger opening statement, scaled to its available width on phones. */
.hero-content{max-width:980px}
.hero-content h1{font-size:clamp(100px,9.1vw,142px);line-height:.9;letter-spacing:-.025em}
@media(max-width:1100px){.hero-content h1{font-size:clamp(86px,10vw,110px)}}
@media(max-width:800px){.hero-content{max-width:100%}.hero-content h1{font-size:clamp(85px,12vw,106px)}}
@media(max-width:520px){.hero-content h1{font-size:clamp(70px,19.6vw,94px)}.hero{min-height:960px}.hero-content{padding-bottom:180px}}
@media(max-width:370px){.hero-content h1{font-size:19.4vw}}

/* One persistent custom scrollbar; avoid a second OS-dependent track. */
@media(max-width:800px){#category-nav{scrollbar-width:none}#category-nav::-webkit-scrollbar{display:none}}

/* Section paint reaches both screen edges; content keeps its reading width. */
.menu-section.section-wrap,.specialties.section-wrap,.reviews-section.section-wrap,.blog-section.section-wrap,.visit-section.section-wrap,.social-section.section-wrap,.scroll-manifesto.section-wrap,.site-footer.section-wrap{max-width:none;padding-inline:max(clamp(24px,5.5vw,100px),calc((100% - 1312px)/2))}

/* Keep both opening actions in the first mobile screen, including short phones. */
@media(max-width:520px){
  .hero{min-height:100svh;height:auto}
  .hero-photo{height:clamp(360px,52svh,470px)}
  .hero-photo img{height:100%;object-position:62% top}
  .hero-content{padding-top:clamp(260px,38svh,360px);padding-bottom:120px}
  .hero-content h1{font-size:clamp(60px,min(19.6vw,9.3svh),94px)}
  .hero-content .hero-buttons{margin-top:24px;gap:7px}
  .hero-bottom{bottom:24px}
}
.header-order{white-space:nowrap;flex-shrink:0}
@media(max-width:370px){.header-logo{width:56px}.opening-countdown{max-width:78px}.header-order{padding-inline:12px}.header-actions{flex-shrink:0}}
