:root{--red:#e42029;--dark-red:#9f0d14;--black:#080808;--panel:#111010;--cream:#f1ede6;--muted:#a7a09a;--line:rgba(255,255,255,.13);--font-thai:"Noto Sans Thai",sans-serif;--font-display:"Bebas Neue",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:"Noto Sans Thai",sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{height:82px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(8,8,8,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand,.footer-brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--red);font:32px/1 "Bebas Neue",sans-serif;transform:rotate(-4deg)}.brand>span:last-child,.footer-brand>span:last-child{display:grid}.brand strong,.footer-brand strong{font:26px/.8 "Bebas Neue",sans-serif;letter-spacing:.09em}.brand small,.footer-brand small{font:600 9px/1.1 "Noto Sans Thai",sans-serif;letter-spacing:.16em;color:#bab4af}.desktop-nav{display:flex;gap:32px;font-size:14px;color:#d1cbc5}.desktop-nav a{transition:.25s}.desktop-nav a:hover{color:var(--red)}.header-book{background:var(--red);padding:12px 19px;font-size:14px;font-weight:700}.header-book span,.button span{margin-left:12px}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);position:relative}.hero-copy{padding:clamp(62px,8vw,120px) clamp(24px,6vw,95px);display:flex;flex-direction:column;justify-content:center;position:relative;background:radial-gradient(circle at 5% 15%,rgba(228,32,41,.14),transparent 31%)}.hero-copy:after{content:"焼肉";position:absolute;right:-26px;bottom:4%;font:180px/.8 "Noto Sans Thai";color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);writing-mode:vertical-rl;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:10px;color:#e9e1da;font-size:13px;font-weight:600;letter-spacing:.08em}.pulse{width:9px;height:9px;border-radius:50%;background:#32d26f;box-shadow:0 0 0 6px rgba(50,210,111,.12)}.eyebrow.is-closed .pulse{background:#777;box-shadow:0 0 0 6px rgba(255,255,255,.08)}.hero-jp{color:var(--red);font-size:13px;letter-spacing:.15em;margin:38px 0 4px}.hero h1,.section-heading h2,.night-title h2,.contact h2{font:clamp(67px,7.5vw,124px)/.82 "Bebas Neue",sans-serif;letter-spacing:.015em;margin:0}.hero h1 em,.section-heading h2 em,.night-title h2 em,.contact h2 em{font-style:normal;color:var(--red)}.hero-lead{font-size:clamp(16px,1.4vw,20px);color:#c7c0ba;margin:32px 0;max-width:580px}.hero-actions,.contact-buttons{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:54px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:1px solid var(--line);transition:.25s}.button-primary{background:var(--red);border-color:var(--red)}.button-primary:hover{background:#ff3039;transform:translateY(-2px)}.button-ghost:hover{border-color:#fff;background:#fff;color:#111}.quick-contact{display:flex;gap:16px;align-items:center;margin-top:48px;font-size:13px;color:var(--muted)}.quick-contact a{font:24px/1 "Bebas Neue";letter-spacing:.05em;color:#fff;border-bottom:1px solid var(--red)}.hero-visual{position:relative;overflow:hidden;min-height:650px}.hero-visual>img{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.3),transparent 38%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 42%)}.image-note{position:absolute;left:38px;bottom:36px;display:grid;gap:5px}.image-note span{font:14px "Bebas Neue";letter-spacing:.18em;color:#ff7379}.image-note strong{font-size:24px;line-height:1.25}.hero-seal{position:absolute;right:28px;top:26px;width:112px;height:112px;border-radius:50%;background:var(--red);display:grid;place-content:center;text-align:center;transform:rotate(7deg);box-shadow:0 12px 40px rgba(0,0,0,.35)}.hero-seal:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(255,255,255,.55);border-radius:50%}.hero-seal b{font:32px/.9 "Bebas Neue";letter-spacing:.08em}.hero-seal span{font-size:10px}.info-strip{display:grid;grid-template-columns:repeat(3,1fr) .8fr;background:#151313;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.info-item{padding:30px clamp(20px,3vw,46px);display:flex;align-items:center;gap:18px;border-right:1px solid var(--line)}.info-item>span{font:36px/1 "Bebas Neue";color:var(--red)}.info-item div{display:grid;gap:2px}.info-item small{font:12px "Bebas Neue";letter-spacing:.16em;color:#777}.info-item strong{font-size:15px}.strip-map{background:var(--red);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;font-weight:700}.strip-map b{font-size:22px}.experience,.night-section,.contact{padding:clamp(80px,10vw,145px) clamp(22px,6vw,95px)}.section-heading{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:60px;margin-bottom:55px}.kicker{display:block;font:14px "Bebas Neue";letter-spacing:.2em;color:var(--red);margin-bottom:15px}.section-heading h2,.night-title h2,.contact h2{font-size:clamp(54px,6vw,94px)}.section-heading p{color:var(--muted);max-width:460px;margin:0 0 8px;font-size:16px}.food-grid{display:grid;grid-template-columns:1.35fr .75fr .9fr;gap:12px;height:640px}.food-card{margin:0;position:relative;overflow:hidden;background:#1a1818}.food-card img{height:100%;object-fit:cover;filter:saturate(.94);transition:transform .8s ease,filter .5s}.food-card:hover img{transform:scale(1.035);filter:saturate(1.1)}.food-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 50%)}.food-card figcaption{position:absolute;z-index:2;left:26px;right:22px;bottom:24px;display:grid;gap:6px}.food-card figcaption span{font:13px "Bebas Neue";letter-spacing:.16em;color:#ff656d}.food-card figcaption strong{font-size:clamp(20px,2vw,30px);line-height:1.17}.food-card-grill img{object-position:55% center}.menu-cta{border:1px solid var(--line);border-top:0;display:flex;align-items:center;justify-content:space-between;padding:22px 26px;gap:22px}.menu-cta p{margin:0;color:var(--muted);font-size:14px}.menu-cta p span{color:#fff;font-weight:700;margin-right:8px}.menu-cta a{white-space:nowrap;color:#fff;font-size:14px;font-weight:700}.menu-cta a span{color:var(--red);margin-left:12px}.night-section{background:#111010;position:relative;overflow:hidden}.night-section:before{content:"MIRIN";position:absolute;right:-25px;top:-60px;font:320px/1 "Bebas Neue";color:rgba(255,255,255,.018)}.night-title{position:relative;margin-bottom:48px}.night-cards{display:grid;grid-template-columns:1.05fr 1.25fr .9fr;gap:12px;position:relative}.night-card{min-height:390px;padding:32px;background:#191717;border:1px solid var(--line);display:flex;flex-direction:column}.card-no{font:13px "Bebas Neue";letter-spacing:.17em;color:#9e9892}.red-card{background:var(--red);border-color:var(--red)}.red-card .card-no{color:#fff}.red-card h3{font:76px/.78 "Bebas Neue";margin:auto 0 20px}.red-card p,.payment-card p{font-size:14px;margin:0;color:rgba(255,255,255,.78)}.sound-bars{display:flex;align-items:end;gap:7px;height:72px;margin-top:34px}.sound-bars i{display:block;width:9px;background:#fff;height:40%}.sound-bars i:nth-child(2){height:75%}.sound-bars i:nth-child(3){height:52%}.sound-bars i:nth-child(4){height:100%}.sound-bars i:nth-child(5){height:62%}.sound-bars i:nth-child(6){height:86%}.sound-bars i:nth-child(7){height:35%}.schedule-card{justify-content:flex-start}.schedule-row{padding:26px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:14px}.schedule-row:first-of-type{margin-top:34px}.schedule-row b{font:28px "Bebas Neue";letter-spacing:.04em}.schedule-row.muted{color:#6c6865}.schedule-card p{color:var(--red);font-size:14px;font-weight:700;margin:auto 0 0}.payment-card{background:#0c0c0c}.card-icon{width:88px;height:58px;border:2px solid var(--red);border-radius:8px;margin:auto 0 26px;position:relative}.card-icon:before{content:"";position:absolute;left:0;right:0;top:13px;height:8px;background:var(--red)}.card-icon:after{content:"••••";position:absolute;right:8px;bottom:0;color:#777;letter-spacing:2px}.payment-card h3{font-size:26px;line-height:1.25;margin:0 0 12px}.contact{display:grid;grid-template-columns:1.05fr .8fr .9fr;gap:18px;align-items:stretch;background:radial-gradient(circle at 15% 60%,rgba(228,32,41,.12),transparent 28%)}.contact-main{padding-right:30px}.contact-main p{font-size:16px;color:var(--muted);margin:25px 0 35px}.line-card{background:#fff;color:#111;padding:26px;display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:22px;align-items:center;transition:.3s}.line-card:hover{transform:translateY(-4px)}.line-card img{aspect-ratio:1;object-fit:contain}.line-card div{display:grid;gap:8px}.line-card span{font:13px "Bebas Neue";letter-spacing:.16em;color:#05b957}.line-card strong{font-size:18px;line-height:1.35}.line-card small{font-size:11px;color:#777}.contact-list{border-top:1px solid var(--line)}.contact-list a{min-height:33.33%;display:grid;grid-template-columns:.6fr 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:20px;transition:.25s}.contact-list a:hover{background:var(--red)}.contact-list span{font-size:12px;color:#888}.contact-list a:hover span{color:#ffd7d9}.contact-list strong{font-size:15px}.contact-list b{font-size:20px}footer{border-top:1px solid var(--line);padding:34px clamp(22px,6vw,95px);display:flex;justify-content:space-between;align-items:center;gap:24px;color:#7e7874;font-size:12px}.footer-brand .brand-mark{width:34px;height:34px;font-size:25px}.footer-brand strong{font-size:22px}.mobile-actions{display:none}
@media(max-width:1050px){.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-left:36px;padding-right:36px}.hero h1{font-size:72px}.info-strip{grid-template-columns:repeat(3,1fr)}.strip-map{grid-column:1/-1}.food-grid{height:540px}.night-cards{grid-template-columns:1fr 1fr}.payment-card{grid-column:1/-1;min-height:260px}.contact{grid-template-columns:1fr 1fr}.contact-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.contact-list a{min-height:100%;grid-template-columns:1fr auto}.contact-list span{grid-column:1/-1}}
@media(max-width:760px){body{padding-bottom:70px}.site-header{height:68px;padding:0 18px}.brand-mark{width:36px;height:36px;font-size:27px}.brand strong{font-size:22px}.desktop-nav,.header-book{display:none}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:58px 22px 50px;min-height:570px}.hero-copy:after{font-size:120px}.hero-jp{margin-top:30px}.hero h1{font-size:clamp(64px,20vw,88px)}.hero-lead{margin:26px 0}.desktop-break{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.button{padding:0 14px}.quick-contact{margin-top:35px}.hero-visual{min-height:580px}.hero-visual>img{object-position:center 46%}.hero-seal{width:94px;height:94px}.info-strip{grid-template-columns:1fr}.info-item{border-right:0;border-bottom:1px solid var(--line);padding:22px}.strip-map{grid-column:auto}.experience,.night-section,.contact{padding:80px 20px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:36px}.section-heading h2,.night-title h2,.contact h2{font-size:58px}.food-grid{height:auto;grid-template-columns:1fr 1fr}.food-card{min-height:370px}.food-card-wide{grid-column:1/-1;min-height:510px}.food-card figcaption{left:18px}.menu-cta{align-items:flex-start;flex-direction:column}.night-cards{grid-template-columns:1fr}.night-card{min-height:330px}.payment-card{grid-column:auto}.red-card h3{font-size:68px}.contact{grid-template-columns:1fr}.contact-main{padding:0 0 18px}.line-card{grid-template-columns:120px 1fr;padding:18px;gap:16px}.contact-list{grid-column:auto;grid-template-columns:1fr}.contact-list a{min-height:92px}.mobile-actions{display:grid;grid-template-columns:.75fr 1.25fr;position:fixed;z-index:30;bottom:0;left:0;right:0;height:70px;background:#171515;border-top:1px solid var(--line)}.mobile-actions a{display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:700}.mobile-actions a:last-child{background:var(--red)}.mobile-actions span{margin-left:12px}footer{align-items:flex-start;flex-direction:column;padding-bottom:30px}}
@media(max-width:430px){.hero-actions{grid-template-columns:1fr}.food-grid{grid-template-columns:1fr}.food-card,.food-card-wide{grid-column:auto;min-height:430px}.line-card{grid-template-columns:100px 1fr}.line-card strong{font-size:16px}.line-card small{display:none}}

/* Typography system: Thai stays consistent; display font is reserved for English and numerals. */
body,.desktop-nav,.header-book,.button,.info-item strong,.section-heading p,.food-card figcaption strong,.menu-cta,.schedule-row span,.schedule-card p,.payment-card h3,.payment-card p,.contact-main p,.line-card strong,.line-card small,.contact-list,footer,.mobile-actions{font-family:var(--font-thai)}
.hero h1,.brand-mark,.brand strong,.footer-brand strong,.quick-contact a,.image-note span,.hero-seal b,.info-item>span,.info-item small,.kicker,.food-card figcaption span,.night-section:before,.card-no,.red-card h3,.schedule-row b,.line-card span{font-family:var(--font-display)}
.section-heading h2,.night-title h2,.contact h2{font-family:var(--font-thai);font-weight:800;line-height:1.08;letter-spacing:-.045em}
.section-heading h2 em,.night-title h2 em,.contact h2 em{font-family:inherit;font-weight:inherit;letter-spacing:inherit}
.hero-lead,.section-heading p,.contact-main p{font-weight:400;letter-spacing:0}
.button,.header-book,.menu-cta a,.contact-list strong,.mobile-actions a{font-weight:700}
.no-service-badge{display:flex;align-items:center;gap:12px;margin-top:24px;color:#fff}.no-service-badge b{font:52px/.8 var(--font-display);color:var(--red)}.no-service-badge span{max-width:95px;font:14px/1.05 var(--font-display);letter-spacing:.1em}.payment-card .card-icon{margin:26px 0 20px}.payment-card h3{font-weight:800}
.line-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#171918 0%,#101211 68%,#0a1c11 100%);color:var(--cream);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 45px rgba(0,200,83,.035)}
.line-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#06c755;box-shadow:0 0 22px rgba(6,199,85,.55)}
.line-card img{background:#fff;padding:12px;border:1px solid rgba(6,199,85,.45);box-shadow:0 14px 38px rgba(0,0,0,.35)}
.line-card strong{color:#fff}.line-card small{color:#989f9b}.line-card:hover{background:linear-gradient(145deg,#1b1e1c 0%,#111713 64%,#0b2515 100%);border-color:rgba(6,199,85,.55);box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 55px rgba(6,199,85,.055)}

/* Scroll reveal: activated only after JavaScript is ready, so content stays visible if scripts are blocked. */
.motion-ready .reveal{opacity:.001;will-change:transform,opacity;transition:opacity .72s ease,transform .9s cubic-bezier(.2,.9,.25,1.18);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-up{transform:translate3d(0,48px,0) scale(.985)}
.motion-ready .reveal-right{transform:translate3d(58px,0,0) scale(.98)}
.motion-ready .reveal-pop{transform:translate3d(0,34px,0) scale(.93)}
.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.motion-ready .food-card.reveal.is-visible img{animation:image-settle 1.15s cubic-bezier(.2,.85,.25,1) both}
.motion-ready .night-card.reveal.is-visible .sound-bars i{animation:sound-rise .72s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--reveal-delay,0ms) + 280ms)}
@keyframes image-settle{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes sound-rise{from{transform:scaleY(.15);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1!important;transform:none!important}}
