
:root{
  --forest:#0b3528;
  --forest-2:#174d3a;
  --cream:#f5efe4;
  --ivory:#fffdf8;
  --orange:#df7027;
  --wine:#842f3a;
  --rose:#c56b75;
  --sage:#dfe8df;
  --gold:#c99648;
  --ink:#24201d;
  --muted:#746b64;
  --line:#e5ddd1;
  --shadow:0 20px 55px rgba(32,25,21,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  line-height:1.7;overflow-x:hidden
}
img{max-width:100%}
a{color:inherit}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.brand-name strong{font-family:Georgia,"Times New Roman","Noto Serif JP",serif}
em{font-style:italic;color:#f2c78b}
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:100;background:transparent}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--orange),#efb56a)}

.announcement{position:relative;z-index:50;background:var(--wine);color:#fff}
.announcement-inner{
  width:min(1320px,100%);margin:auto;min-height:38px;padding:6px 16px;
  display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;white-space:nowrap;overflow-x:auto
}
.announcement-pill{padding:3px 7px;border-radius:999px;background:#fff;color:var(--wine);font-weight:900}
.announcement-link{margin-left:8px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}
.dot{opacity:.55}

.site-header{
  position:sticky;top:3px;z-index:45;display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:24px;padding:13px clamp(18px,4.8vw,78px);
  background:rgba(255,253,248,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(229,221,209,.75)
}
.brand-lockup{display:flex;align-items:center;gap:11px;text-decoration:none;justify-self:start}
.brand-logo{width:54px;height:48px;border-radius:50%;object-fit:cover;border:1px solid #d9cdbb}
.brand-name strong{display:block;font-size:26px;line-height:1;color:var(--forest);font-style:italic}
.brand-name span{display:block;margin-top:4px;font-size:8px;letter-spacing:.18em;color:#806f62}
.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,32px);justify-self:center}
.desktop-nav a{position:relative;text-decoration:none;font-size:12px;font-weight:850;letter-spacing:.02em}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--orange);transition:.25s}
.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}
.header-actions{display:flex;align-items:center;gap:9px;justify-self:end}
.language-switch{display:flex;padding:3px;border:1px solid #ded4c5;border-radius:999px;background:#fff}
.lang-btn{border:0;background:transparent;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:900;cursor:pointer}
.lang-btn.active{background:var(--forest);color:#fff}
.header-reserve{
  padding:10px 14px;border-radius:999px;background:var(--forest);color:#fff;
  text-decoration:none;font-size:12px;font-weight:900
}
.mobile-menu-btn{display:none;border:0;background:transparent;font-size:24px;color:var(--forest);cursor:pointer}

.mobile-drawer{
  position:fixed;inset:0;z-index:80;padding:80px 26px 30px;background:rgba(8,38,29,.98);
  color:#fff;transform:translateX(100%);transition:.35s cubic-bezier(.2,.8,.2,1)
}
.mobile-drawer.open{transform:none}
.mobile-drawer nav{display:grid;gap:20px}
.mobile-drawer a{font:700 36px/1.2 Georgia,serif;text-decoration:none}
.drawer-reserve{margin-top:20px;padding:15px 18px;border-radius:12px;background:var(--orange);font-family:inherit!important;font-size:18px!important;text-align:center}
.drawer-close{position:absolute;right:20px;top:16px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}

/* HERO */
.hero{position:relative;min-height:calc(100svh - 106px);display:grid;place-items:center;overflow:hidden;color:#fff}
.hero-slides,.hero-slide,.hero-overlay,.hero-texture{position:absolute;inset:0}
.hero-slide{opacity:0;background-size:cover;background-position:center;transition:opacity 1.15s ease,transform 7s ease;transform:scale(1.04)}
.hero-slide.active{opacity:1;transform:scale(1.10)}
.hero-overlay{background:linear-gradient(90deg,rgba(5,31,24,.88) 0%,rgba(6,34,26,.71) 45%,rgba(6,24,19,.28) 72%,rgba(6,24,19,.22) 100%)}
.hero-texture{opacity:.13;background:
  radial-gradient(circle at 18px 18px,transparent 9px,rgba(255,255,255,.22) 10px 11px,transparent 12px) 0 0/48px 48px}
.hero-ganesha{position:absolute;left:3%;bottom:-70px;width:360px;opacity:.05}
.hero-inner{
  position:relative;z-index:2;width:min(1380px,100%);margin:auto;
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:60px;
  align-items:end;padding:90px clamp(22px,6vw,90px) 100px
}
.kicker,.section-kicker{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--orange)}
.section-kicker.light{color:#f3c78e}
.hero h1{max-width:820px;margin:0 0 22px;font-size:clamp(54px,7vw,95px);line-height:.98;color:#fff;font-weight:500;letter-spacing:-.03em}
.hero h1 em{display:inline-block}
.hero-lead{max-width:650px;font-size:clamp(17px,1.6vw,21px);color:#ece8df}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 34px}
.cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;
  border-radius:999px;text-decoration:none;font-weight:900;font-size:13px;transition:.24s ease;border:1px solid transparent
}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.cta-primary{background:var(--orange);color:#fff}
.cta-secondary{background:#fff;color:var(--forest)}
.cta-outline{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.hero-meta{display:flex;gap:28px;flex-wrap:wrap}
.hero-meta div{padding-right:28px;border-right:1px solid rgba(255,255,255,.24)}
.hero-meta div:last-child{border-right:0}
.hero-meta span,.hero-meta strong{display:block}.hero-meta span{font-size:10px;letter-spacing:.12em;color:#d5d5cb}.hero-meta strong{font-size:14px}
.hero-side{align-self:center;justify-self:end;max-width:300px}
.hero-side-card{padding:24px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:18px}
.hero-side-label{display:block;margin-bottom:14px;font-size:10px;letter-spacing:.14em;color:#efcaa0}
.hero-side-card strong{display:block;font:700 31px/1.1 Georgia,serif;margin-bottom:16px}
.hero-side-card a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);font-size:12px}
.hero-controls{position:absolute;z-index:3;right:clamp(20px,4vw,62px);bottom:42px;display:flex;gap:7px}
.hero-dot{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:.25s}
.hero-dot.active{width:28px;border-radius:999px;background:#fff}
.scroll-cue{position:absolute;z-index:3;left:clamp(20px,4vw,62px);bottom:27px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.18em}
.scroll-cue i{display:block;width:55px;height:1px;background:rgba(255,255,255,.6);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:#fff;animation:scrollLine 1.8s infinite}
@keyframes scrollLine{to{left:110%}}

.proof-bar{background:var(--ivory);border-bottom:1px solid var(--line)}
.proof-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}
.proof-inner>div{padding:20px 26px;border-right:1px solid var(--line)}
.proof-inner>div:last-child{border-right:0}
.proof-inner strong{display:block;font:700 27px Georgia,serif;color:var(--forest)}
.proof-inner strong span{font:800 10px/1 sans-serif;margin-left:4px;color:var(--orange);text-transform:uppercase}
.proof-inner small{font-size:11px;color:#6f655c}

/* STORY */
.story-section{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);min-height:740px;background:#fff}
.story-visual{position:relative;overflow:hidden;background:var(--cream);display:grid;place-items:center;padding:60px}
.story-visual img{width:min(430px,85%);max-height:600px;object-fit:cover;border-radius:4px;box-shadow:0 30px 70px rgba(33,26,22,.20);transform:rotate(-1deg)}
.story-frame{position:absolute;inset:28px;border:1px solid rgba(15,60,45,.25);pointer-events:none}
.story-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:80px clamp(30px,8vw,120px);background:
  radial-gradient(circle at 90% 10%,rgba(197,107,117,.08),transparent 22%),#fff}
.story-copy h2,.signature-intro h2,.reservation-content h2,.gallery-copy h2,.visit-top h2,.final-copy h2{
  margin:8px 0 22px;font-size:clamp(43px,5vw,70px);line-height:1.02;color:var(--forest);font-weight:500;letter-spacing:-.025em
}
.story-copy p{max-width:700px;color:#655d57}
.story-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}
.story-links a,.text-button,.text-link,.visit-action{
  border:0;background:none;padding:0;color:var(--forest);font-weight:900;font-size:12px;text-decoration:none;border-bottom:1px solid rgba(11,53,40,.45);cursor:pointer
}
.story-ganesha{position:absolute;right:5%;bottom:-55px;width:230px;opacity:.055}

/* Experience */
.experience-grid{width:min(1400px,100%);margin:auto;padding:90px clamp(18px,5vw,72px);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:#fff}
.experience-card{position:relative;min-height:620px;overflow:hidden;border-radius:4px;background:#171410}
.experience-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .5s ease,opacity .5s}
.experience-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 18%,rgba(15,12,10,.25) 45%,rgba(15,12,10,.92) 100%)}
.experience-card:hover>img{transform:scale(1.025);opacity:.82}
.experience-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px;color:#fff}
.experience-number{position:absolute;right:24px;top:-245px;font:400 44px Georgia,serif;color:rgba(255,255,255,.75)}
.experience-copy h3{font-size:33px;line-height:1.08;margin:5px 0 10px}
.experience-copy p{font-size:13px;color:#e8dfd5}
.experience-price{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}
.experience-price strong,.experience-price span{padding:5px 8px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:11px}
.experience-copy .section-kicker{color:#f0bf87}
.experience-copy .text-button{color:#fff;border-color:rgba(255,255,255,.5)}

/* Signature */
.signature-section{padding:100px clamp(18px,5vw,72px);background:
  radial-gradient(circle at 10% 10%,rgba(201,150,72,.08),transparent 22%),
  linear-gradient(180deg,#f9f5ed,#fff)}
.signature-intro{width:min(940px,100%);margin:0 auto 48px;text-align:center}
.signature-intro p:last-child{max-width:700px;margin:0 auto;color:#6c625b}
.signature-showcase{width:min(1280px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.dish-card{position:relative;overflow:hidden;min-height:370px;background:#ddd}
.dish-featured{grid-column:span 2;grid-row:span 2;min-height:760px}
.dish-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s ease}
.dish-card:hover img{transform:scale(1.025)}
.dish-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:70px 22px 22px;background:linear-gradient(transparent,rgba(22,17,13,.88));color:#fff}
.dish-overlay h3{font-size:31px;margin:6px 0}
.dish-overlay p{margin:0;font-size:13px}
.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--wine);font-size:10px;font-weight:900}
.badge.soft{background:#fff;color:var(--forest)}.badge.green{background:#6e9175}.badge.gold{background:#bd8a3e}

/* Reservations */
.reservation-banner{position:relative;min-height:610px;display:grid;place-items:center;overflow:hidden;color:#fff}
.reservation-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,38,29,.92),rgba(5,38,29,.67)),
  url("images/brand-mountain.jpg") center/cover no-repeat}
.reservation-content{position:relative;z-index:2;width:min(1100px,100%);padding:70px 24px}
.reservation-content h2{color:#fff}
.reservation-content>p{max-width:650px;color:#e8eee8}
.reservation-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.reserve-option{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);color:#fff;text-decoration:none;transition:.23s}
.reserve-option:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.reserve-option>span{font:400 23px Georgia,serif;color:#efc38b}
.reserve-option strong,.reserve-option small{display:block}.reserve-option small{color:#dbe5de}.reserve-option b{margin-left:auto}

/* Menu */
.menu-section{padding:100px clamp(18px,5vw,72px);background:#fff}
.menu-heading{width:min(1280px,100%);margin:0 auto 34px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px}
.menu-heading h2{font-size:clamp(46px,6vw,76px);margin:5px 0 0;color:var(--forest);font-weight:500}
.menu-heading>p{max-width:600px;color:#6c635b}
.menu-grid{width:min(1280px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.menu-shot{position:relative;display:block;border:0;padding:0;background:#f2eee7;overflow:hidden;cursor:zoom-in;min-height:320px}
.menu-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s ease}
.menu-shot:hover img{transform:scale(1.025)}
.menu-shot span{position:absolute;left:12px;bottom:12px;right:12px;padding:8px 10px;background:rgba(255,253,248,.92);backdrop-filter:blur(7px);font-size:11px;font-weight:900;text-align:left}
.menu-note{width:min(1280px,100%);margin:18px auto 0;font-size:12px;color:#766d65}

/* Gallery */
.gallery-section{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:55px;padding:100px clamp(18px,5vw,72px);background:var(--cream)}
.gallery-copy{align-self:center;padding-left:max(0px,calc((100vw - 1400px)/2))}
.gallery-copy p{color:#6c625a}
.gallery-mosaic{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:330px 260px;gap:12px}
.gallery-tile{border:0;padding:0;overflow:hidden;cursor:zoom-in;background:#ddd}
.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s ease}
.gallery-tile:hover img{transform:scale(1.025)}
.g1{grid-row:span 2}.g2{}.g3{}.g4{display:none}

/* Visit */
.visit-section{padding:100px clamp(18px,5vw,72px);background:#fff}
.visit-top{width:min(1280px,100%);margin:0 auto 38px}
.visit-grid{width:min(1280px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.visit-card{padding:34px 32px;border-right:1px solid var(--line)}
.visit-card:last-child{border-right:0}
.visit-index{font:400 27px Georgia,serif;color:var(--orange)}
.visit-card h3{font-size:28px;margin:7px 0 16px;color:var(--forest)}
.visit-card p{font-size:13px;color:#655d56}
.payment-pills{display:flex;gap:8px;flex-wrap:wrap}
.payment-pills span{padding:7px 10px;border-radius:999px;background:#f5f2ec;border:1px solid #e5ddd1;font-size:11px;font-weight:850}

/* Award */
.award-section{padding:0 clamp(18px,5vw,72px) 100px;background:#fff}
.award-inner{width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:40px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.award-copy h2{font-size:48px;color:var(--forest);margin:6px 0 12px}
.award-badge{min-height:320px;display:grid;place-items:center;background:#fff}
#b-circledLeaves27{transform:scale(1.45);transform-origin:center}

/* Final */
.final-cta{position:relative;min-height:640px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}
.final-bg{position:absolute;inset:0;background:
  linear-gradient(rgba(6,43,32,.68),rgba(6,43,32,.86)),
  url("images/brand-mountain.jpg") center/cover no-repeat;transform:scale(1.04)}
.final-ganesha{position:absolute;right:5%;bottom:-65px;width:360px;opacity:.06}
.final-copy{position:relative;z-index:2;padding:80px 20px}
.final-copy h2{color:#fff}
.final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}

/* Footer */
footer{background:#0d2c22;color:#eee4d4}
.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:42px clamp(18px,6vw,90px)}
.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:62px;height:56px;border-radius:50%;object-fit:cover}
.footer-brand strong{display:block;font:700 28px Georgia,serif}.footer-brand span{font-size:11px;color:#c7d5cc}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{text-decoration:none;font-size:12px;font-weight:800}
.footer-bottom{display:flex;justify-content:space-between;padding:15px clamp(18px,6vw,90px);border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#aabbb1}
.footer-bottom a{color:#fff;text-decoration:none}

.floating-reserve{
  position:fixed;right:0;top:48%;z-index:38;transform:rotate(-90deg) translateY(-100%);
  transform-origin:right top;padding:10px 18px;background:var(--orange);color:#fff;text-decoration:none;font-weight:900;font-size:11px;letter-spacing:.08em
}
.mobile-quick{display:none}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:120;display:none;place-items:center;background:rgba(7,15,12,.92);padding:30px}
.lightbox.open{display:grid}
.lightbox figure{margin:0;max-width:min(1100px,90vw);max-height:88vh;display:grid;gap:8px}
.lightbox img{display:block;max-width:100%;max-height:82vh;object-fit:contain;margin:auto}
.lightbox figcaption{text-align:center;color:#e9e3da;font-size:12px}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.10);color:#fff;cursor:pointer}
.lightbox-close{right:18px;top:15px;width:44px;height:44px;border-radius:50%;font-size:28px}
.lightbox-prev,.lightbox-next{top:50%;width:46px;height:72px;font-size:38px}
.lightbox-prev{left:16px}.lightbox-next{right:16px}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);filter:blur(2px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease}
.reveal[data-reveal="left"]{transform:translateX(-34px)}
.reveal[data-reveal="right"]{transform:translateX(34px)}
.reveal[data-reveal="scale"]{transform:scale(.97)}
.reveal.is-visible{opacity:1;transform:none;filter:none}

@media(max-width:1100px){
  .site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.mobile-menu-btn{display:block}
  .header-reserve{display:none}
  .hero-inner{grid-template-columns:1fr}.hero-side{justify-self:start}
  .experience-grid{grid-template-columns:1fr}.experience-card{min-height:570px}
  .signature-showcase{grid-template-columns:repeat(2,1fr)}.dish-featured{grid-column:span 2;min-height:650px}
  .reservation-actions{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-section{grid-template-columns:1fr}.gallery-copy{padding-left:0}
}
@media(max-width:760px){
  .announcement-inner{justify-content:flex-start}
  .site-header{top:3px;padding:9px 12px}.brand-logo{width:46px;height:42px}.brand-name strong{font-size:23px}.brand-name span{display:none}
  .language-switch{display:none}
  .hero{min-height:780px}
  .hero-inner{padding:80px 18px 90px;align-items:end}
  .hero h1{font-size:48px;line-height:1.02}
  .hero-lead{font-size:16px}.hero-side{display:none}
  .hero-meta{gap:14px}.hero-meta div{padding-right:14px}
  .hero-overlay{background:linear-gradient(180deg,rgba(5,31,24,.45),rgba(5,31,24,.88) 62%,rgba(5,31,24,.94))}
  .hero-controls{right:18px;bottom:22px}.scroll-cue{left:18px;bottom:15px}
  .proof-inner{grid-template-columns:repeat(2,1fr)}.proof-inner>div:nth-child(2){border-right:0}.proof-inner>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .story-section{grid-template-columns:1fr}.story-visual{min-height:520px;padding:40px 20px}.story-copy{padding:60px 20px}
  .story-copy h2,.signature-intro h2,.reservation-content h2,.gallery-copy h2,.visit-top h2,.final-copy h2{font-size:43px}
  .experience-grid{padding:62px 12px}.experience-card{min-height:540px}
  .signature-section{padding:70px 16px}.signature-showcase{grid-template-columns:1fr}.dish-featured{grid-column:auto;min-height:520px}.dish-card{min-height:440px}
  .reservation-content{padding:60px 16px}
  .menu-section{padding:72px 12px}.menu-heading{grid-template-columns:1fr;gap:8px}.menu-grid{grid-template-columns:1fr}
  .menu-shot{min-height:0}.menu-shot img{height:auto}
  .gallery-section{padding:72px 16px}.gallery-mosaic{grid-template-columns:1fr;grid-template-rows:340px 230px 230px}.g1{grid-row:auto}.g4{display:none}
  .visit-section{padding:72px 16px}.visit-grid{grid-template-columns:1fr}.visit-card{border-right:0;border-bottom:1px solid var(--line)}.visit-card:last-child{border-bottom:0}
  .award-inner{grid-template-columns:1fr;text-align:center;padding:24px 14px}.award-badge{min-height:290px}#b-circledLeaves27{transform:scale(1.16)}
  .final-cta{min-height:540px}
  .footer-main{flex-direction:column;align-items:flex-start;padding-bottom:88px}.footer-bottom{padding-bottom:76px}
  .floating-reserve{display:none}
  .mobile-quick{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);
    overflow:hidden;border-radius:16px;background:rgba(13,44,34,.96);box-shadow:0 12px 40px rgba(0,0,0,.20);backdrop-filter:blur(10px)
  }
  .mobile-quick a{padding:12px 7px;color:#fff;text-align:center;text-decoration:none;font-size:12px;font-weight:900;border-right:1px solid rgba(255,255,255,.14)}
  .mobile-quick a:last-child{border-right:0}
}
@media(max-width:480px){
  .announcement-link,.dot{display:none}
  .hero h1{font-size:43px}.hero-actions{display:grid}.cta{width:100%}
  .proof-inner strong{font-size:23px}.proof-inner>div{padding:16px}
  .story-visual{min-height:440px}.story-visual img{width:88%}
  .lightbox-prev,.lightbox-next{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .hero-slide{transition:none!important}.hero-slide.active{transform:none!important}
  *{animation:none!important;transition:none!important}
}


/* v9.1 public-release refinements */
@media (min-width: 761px){
  html[lang="ja"] .hero-inner{
    grid-template-columns:minmax(0,1.38fr) minmax(250px,.42fr);
    gap:34px;
  }
  html[lang="ja"] .hero h1{
    max-width:940px;
    font-size:clamp(50px,5.6vw,84px);
    line-height:1.03;
    letter-spacing:-.035em;
  }
  html[lang="ja"] .hero h1 em{white-space:nowrap}
  html[lang="ja"] .hero-side{max-width:270px}
  html[lang="ja"] .hero-side-card strong{font-size:28px}
}
@media (max-width: 760px){
  .language-switch{
    display:flex !important;
    padding:2px;
  }
  .lang-btn{
    padding:6px 8px;
    font-size:10px;
  }
  .header-actions{
    gap:5px;
  }
  .mobile-menu-btn{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
  }
  html[lang="ja"] .hero h1{
    font-size:clamp(38px,11vw,46px);
    line-height:1.04;
  }
}
@media (max-width: 410px){
  .brand-name strong{font-size:21px}
  .brand-logo{width:42px;height:38px}
  .lang-btn{padding:5px 7px}
}


/* v9.3: mobile Uber Eats + reliable story navigation */
.story-links{
  position:relative;
  z-index:6;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
}
.story-links .story-link-button{
  position:relative;
  z-index:7;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 15px;
  border:1px solid rgba(11,53,40,.28);
  border-radius:999px;
  background:#fff;
  color:var(--forest);
  text-decoration:none;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  pointer-events:auto;
  box-shadow:0 5px 16px rgba(11,53,40,.05);
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.story-links .story-link-button:hover,
.story-links .story-link-button:focus-visible{
  background:var(--forest);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(11,53,40,.15);
  outline:none;
}
.story-ganesha,
.hero-ganesha,
.final-ganesha,
.story-frame,
.hero-texture,
.hero-overlay{
  pointer-events:none;
}
.reserve-option.uber-eats-link{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
@media(max-width:760px){
  .mobile-quick{
    grid-template-columns:repeat(4,1fr) !important;
  }
  .mobile-quick a{
    min-width:0;
    padding:12px 4px !important;
    font-size:11px !important;
    line-height:1.15;
  }
  .mobile-quick .mobile-uber{
    background:#111;
    color:#fff;
  }
  .story-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .story-links .story-link-button{
    width:100%;
    min-height:48px;
    padding:10px 8px;
    text-align:center;
  }
}
@media(max-width:390px){
  .mobile-quick a{
    font-size:10px !important;
  }
  .story-links{
    grid-template-columns:1fr;
  }
}


/* v9.4 latest: mobile text balance + cleaner first visual */
.hero h1 span,
.hero h1 em{
  display:block;
}
.hero h1,
.hero-lead,
.hero-side-card strong,
.story-copy h2,
.experience-copy h3,
.menu-heading h2{
  text-wrap:balance;
}
.hero-lead{
  line-height:1.75;
}
.story-visual img{
  width:min(560px,92%);
  max-height:640px;
  object-fit:contain;
  background:#fff;
}
@media(max-width:760px){
  .hero{min-height:760px;}
  .hero-inner{padding:78px 16px 88px;}
  .hero h1{font-size:clamp(40px,11vw,48px);line-height:1.04;letter-spacing:-.025em;margin-bottom:16px;}
  .hero-lead{font-size:15px;line-height:1.8;max-width:34ch;}
  .hero-meta{row-gap:10px;}
  .hero-actions{margin:22px 0 28px;}
  .hero-copy .kicker{max-width:28ch;line-height:1.6;}
  .hero-copy,.story-copy,.experience-copy,.menu-heading,.gallery-copy,.visit-top,.final-copy{
    word-break:keep-all;
    overflow-wrap:anywhere;
  }
  .story-visual{min-height:380px;padding:26px 14px;}
  .story-visual img{width:min(92%,520px);max-height:360px;object-fit:contain;transform:none;}
  .experience-copy h3{font-size:30px;line-height:1.12;}
  .menu-heading h2{font-size:38px;line-height:1.08;}
}
@media(max-width:430px){
  .hero h1{font-size:40px;}
  .hero-lead{font-size:14.5px;max-width:30ch;}
  .story-copy h2,.signature-intro h2,.reservation-content h2,.gallery-copy h2,.visit-top h2,.final-copy h2{font-size:38px;}
  .experience-copy h3{font-size:28px;}
}
