
:root{--bg:#09100d;--panel:#101814;--ink:#f1ede3;--muted:#b7b0a3;--gold:#b89458;--gold-pale:#d5bd91;--line:rgba(255,255,255,.13);--max:1180px;--header:72px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 82% 4%,rgba(184,148,88,.08),transparent 28rem),linear-gradient(180deg,#09100d,#0b120f 42%,#09100d);font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",Georgia,serif;line-height:1.85;-webkit-font-smoothing:antialiased}html[lang="en"] body,html[lang="vi"] body{font-family:"Noto Serif",Georgia,serif}html[lang="zh-Hans"] body{font-family:"Noto Serif SC","Songti SC","STSong",serif;line-break:strict}html[lang="ko"] body{font-family:"Noto Serif KR","Nanum Myeongjo","Batang",serif;word-break:keep-all}a{color:inherit}img,iframe{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.site-header{position:fixed;z-index:100;inset:0 0 auto;height:var(--header);border-bottom:1px solid rgba(255,255,255,.09);background:rgba(7,12,9,.88);backdrop-filter:blur(16px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:baseline;gap:11px;text-decoration:none;white-space:nowrap}.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:.88rem;font-weight:500;letter-spacing:.18em}.brand small{color:#918b7f;font-family:Arial,sans-serif;font-size:.58rem;letter-spacing:.14em}.header-actions{min-width:0;display:flex;align-items:center;gap:24px}.language{display:flex;align-items:center;gap:9px;font-family:Arial,sans-serif;font-size:.61rem;letter-spacing:.08em}.language a{text-decoration:none;color:#9e978c;white-space:nowrap}.language a[aria-current="page"]{color:var(--gold-pale)}.back-main{padding:9px 12px;border:1px solid var(--gold);text-decoration:none;font-family:Arial,sans-serif;font-size:.61rem;letter-spacing:.08em;white-space:nowrap}main{padding-top:var(--header)}.intro{position:relative;padding:96px 0 76px;border-bottom:1px solid var(--line);overflow:hidden}.intro::after{content:"";position:absolute;top:-12rem;right:-10rem;width:31rem;aspect-ratio:1;border:1px solid rgba(184,148,88,.13);border-radius:50%;box-shadow:0 0 0 65px rgba(184,148,88,.018),0 0 0 130px rgba(184,148,88,.012);pointer-events:none}.intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:end}.eyebrow{margin-bottom:14px;color:var(--gold-pale);font-family:Arial,sans-serif;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase}.intro h1{margin:0;font-size:clamp(2.45rem,5.2vw,4.9rem);line-height:1.18;font-weight:500;letter-spacing:.025em}.headline-line{display:block}.intro-copy{max-width:640px;margin:0 0 4px;color:#c9c2b6;font-size:clamp(.96rem,1.25vw,1.08rem)}.store-index{position:relative;z-index:2;display:flex;gap:10px;margin-top:44px;padding:0 0 4px;overflow-x:auto;list-style:none;scrollbar-width:thin}.store-index a{display:block;padding:9px 13px;border:1px solid rgba(255,255,255,.14);text-decoration:none;font-family:Arial,sans-serif;font-size:.61rem;letter-spacing:.07em;white-space:nowrap}.store{position:relative;padding:102px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header) + 14px)}.store-number{position:absolute;top:54px;left:max(12px,calc((100vw - var(--max))/2 - 62px));color:rgba(255,255,255,.045);font-family:Georgia,"Times New Roman",serif;font-size:clamp(5.2rem,10vw,9.5rem);line-height:1;pointer-events:none}.store-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:72px;align-items:center}.store.reverse .store-media{order:2}.store.reverse .store-info{order:1}.store-media{min-width:0}.media-single{display:block}.media-photo{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#101713}.media-photo img{width:100%;height:100%;object-fit:cover}.image-natural img{height:auto;object-fit:contain;background:#0f1612}.image-portrait{aspect-ratio:3/4}.image-landscape{aspect-ratio:16/10}.image-square{aspect-ratio:1/1}.media-logo-only{min-height:510px;display:grid;place-items:center;padding:clamp(30px,6vw,76px);border:1px solid rgba(255,255,255,.13);background:#eee7dc}.media-logo-only img{width:min(680px,100%);max-height:430px;object-fit:contain}.media-wine{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:14px;align-items:stretch}.media-wine .wine-main{aspect-ratio:3/4}.media-wine .wine-exterior{aspect-ratio:4/3;align-self:center;background:#101713}.media-wine .wine-exterior img{object-fit:contain}.store-info{min-width:0}.logo-card{width:min(370px,92%);min-height:116px;margin:0 0 27px;padding:18px 24px;display:grid;place-items:center;overflow:visible;border:1px solid rgba(255,255,255,.13)}.logo-card img{width:100%;height:100%;max-height:165px;object-fit:contain}.logo-square{width:min(285px,78%);min-height:220px;padding:28px}.logo-square img{max-height:210px}.logo-wide{width:min(390px,94%)}.logo-cream{background:#eee7dc}.logo-white{background:#fff}.logo-black{background:#050505}.logo-yellow{background:#fff000;padding:8px 14px}.store-category{color:var(--gold-pale);font-family:Arial,sans-serif;font-size:.64rem;letter-spacing:.22em}.store h2{margin:9px 0 5px;font-size:clamp(2.15rem,4.2vw,4.15rem);line-height:1.22;font-weight:500;letter-spacing:.02em;overflow-wrap:break-word}.store-name-en{display:block;margin-bottom:22px;color:#a69f93;font-family:Arial,sans-serif;font-size:.68rem;letter-spacing:.16em}.concept{max-width:560px;margin:0 0 27px;color:#d3ccbf;font-size:clamp(.98rem,1.2vw,1.08rem);overflow-wrap:break-word}.price-row{display:flex;gap:8px;margin:-4px 0 25px}.price-chip{padding:7px 12px;border:1px solid rgba(184,148,88,.55);color:var(--gold-pale);font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.08em}.details{margin:0;border-top:1px solid var(--line)}.detail-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.detail-row dt{color:#9e978c;font-family:Arial,sans-serif;font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}.detail-row dd{min-width:0;margin:0;color:#ece6dc;overflow-wrap:anywhere}.detail-row a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22)}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:9px 16px;border:1px solid rgba(255,255,255,.25);text-decoration:none;font-family:Arial,sans-serif;font-size:.63rem;letter-spacing:.09em}.btn.primary{border-color:var(--gold);background:var(--gold);color:#10130f}.map-block{margin-top:58px}.map-heading{margin-bottom:12px;color:var(--gold-pale);font-family:Arial,sans-serif;font-size:.63rem;letter-spacing:.21em}.map-frame{position:relative;width:100%;aspect-ratio:16/7.2;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#121814}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.store-coming .store-shell{grid-template-columns:minmax(0,1fr) minmax(330px,.85fr)}.coming-visual{min-height:460px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:radial-gradient(circle at 50% 45%,rgba(184,148,88,.12),transparent 43%),linear-gradient(135deg,#17211b,#0e1511)}.coming-visual span{color:rgba(255,255,255,.62);font-family:Arial,sans-serif;font-size:.76rem;letter-spacing:.28em}.coming-mark{display:inline-block;margin-top:12px;padding:8px 12px;border:1px solid var(--gold);color:var(--gold-pale);font-family:Arial,sans-serif;font-size:.67rem;letter-spacing:.16em}.site-footer{padding:72px 0 calc(72px + env(safe-area-inset-bottom));text-align:center}.footer-brand{color:var(--gold-pale);font-family:Georgia,"Times New Roman",serif;font-size:1rem;letter-spacing:.22em}.site-footer p{margin:9px 0 0;color:#827c72;font-size:.74rem}.site-footer a{display:inline-block;margin-top:14px;color:#cbc4b8;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.24);font-size:.76rem}html[lang="en"] h1,html[lang="en"] h2,html[lang="vi"] h1,html[lang="vi"] h2{font-family:"Playfair Display","Times New Roman",serif;word-break:normal;overflow-wrap:break-word;hyphens:none}html[lang="en"] p,html[lang="vi"] p{word-break:normal;overflow-wrap:break-word;hyphens:none}html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] p{word-break:keep-all;overflow-wrap:break-word}@media(max-width:960px){.header-actions{gap:12px}.store-shell,.store-coming .store-shell{grid-template-columns:minmax(0,1fr) minmax(300px,.92fr);gap:42px}.store-number{left:8px}}@media(max-width:820px){:root{--header:66px}.container{width:min(var(--max),calc(100% - 34px))}.brand small{display:none}.back-main{display:none}.intro{padding:72px 0 56px}.intro-grid{grid-template-columns:1fr;gap:24px}.store{padding:78px 0}.store-shell,.store-coming .store-shell{grid-template-columns:1fr;gap:38px}.store.reverse .store-media,.store.reverse .store-info{order:initial}.store-info{order:2!important}.store-media{order:1!important}.map-block{margin-top:42px}.map-frame{aspect-ratio:4/3}.store-number{top:31px;font-size:6rem}}@media(max-width:560px){.container{width:min(var(--max),calc(100% - 26px))}.brand strong{font-size:.76rem;letter-spacing:.13em}.language{gap:7px;font-size:.56rem}.intro{padding:60px 0 45px}.intro h1{font-size:clamp(2.1rem,10.8vw,3.15rem);line-height:1.22}.intro-copy{font-size:.92rem}.store-index{margin-top:32px}.store{padding:68px 0}.store h2{font-size:clamp(2rem,10vw,3rem)}.logo-card{width:min(340px,100%)}.logo-square{width:min(260px,82%);min-height:190px}.media-wine{grid-template-columns:1fr}.media-wine .wine-main{aspect-ratio:3/4}.media-wine .wine-exterior{aspect-ratio:4/3}.media-logo-only{min-height:350px;padding:34px}.detail-row{grid-template-columns:74px minmax(0,1fr);gap:11px}.actions{display:grid;grid-template-columns:1fr 1fr}.btn{width:100%;padding-inline:9px}.coming-visual{min-height:340px}}@media(max-width:370px){.brand strong{font-size:.7rem}.language{gap:5px;font-size:.52rem}.actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Refined restaurant introduction: no oversized casual headline */
.intro{
  padding:78px 0 58px;
}
.intro-grid{
  grid-template-columns:minmax(0,220px) minmax(0,680px);
  gap:54px;
  align-items:start;
}
.intro-grid > div:first-child{
  padding-top:2px;
}
.intro .eyebrow{
  margin:0;
  padding-top:3px;
}
.intro-copy{
  max-width:680px;
  margin:0;
  font-size:clamp(1rem,1.35vw,1.12rem);
  line-height:2.05;
}
.store-index{
  margin-top:38px;
}
@media(max-width:820px){
  .intro{
    padding:54px 0 44px;
  }
  .intro-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .intro .eyebrow{
    padding-top:0;
  }
  .intro-copy{
    max-width:34em;
    font-size:.96rem;
    line-height:1.95;
  }
  .store-index{
    margin-top:28px;
  }
}


/* Yatai Sushi: supplied night photo + compact logo card */
.media-yatai{
  width:100%;
}
.image-yatai{
  aspect-ratio:4/3;
  background:#0d130f;
}
.image-yatai img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.logo-yatai{
  width:min(300px,84%);
  min-height:190px;
  padding:18px 24px;
  overflow:visible;
}
.logo-yatai img{
  max-height:220px;
  object-fit:contain;
}
@media(max-width:820px){
  .image-yatai{
    aspect-ratio:4/3;
  }
  .logo-yatai{
    width:min(280px,78%);
    min-height:170px;
    margin-bottom:24px;
  }
}
@media(max-width:560px){
  .image-yatai{
    aspect-ratio:4/3;
  }
  .image-yatai img{
    object-position:50% 50%;
  }
  .logo-yatai{
    width:min(250px,76%);
    min-height:155px;
    padding:15px 20px;
  }
}


/* Final intro: strong, concise brand statement */
.intro{
  padding:84px 0 62px;
}
.intro-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:70px;
  align-items:end;
}
.intro-grid > div:first-child{
  padding-top:0;
}
.intro .eyebrow{
  margin-bottom:16px;
}
.intro h1{
  margin:0;
  max-width:10.8em;
  font-size:clamp(3.1rem,6.7vw,6.4rem);
  line-height:1.13;
  font-weight:500;
  letter-spacing:.015em;
  text-wrap:balance;
}
.intro-copy{
  max-width:610px;
  margin:0 0 .35em;
  font-size:clamp(.98rem,1.3vw,1.08rem);
  line-height:2.05;
}
html[lang="en"] .intro h1,
html[lang="vi"] .intro h1{
  max-width:11em;
  font-size:clamp(3rem,5.9vw,5.8rem);
}
html[lang="zh-Hans"] .intro h1{
  max-width:9em;
}
html[lang="ko"] .intro h1{
  max-width:10em;
  word-break:keep-all;
}

/* Price guides */
.price-guide{
  width:100%;
  max-width:560px;
  margin:2px 0 29px;
  padding:17px 0 4px;
  border-top:1px solid rgba(184,148,88,.42);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.price-guide-label{
  margin-bottom:8px;
  color:var(--gold-pale);
  font-family:Arial,sans-serif;
  font-size:.61rem;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.price-guide-list{
  display:grid;
}
.price-guide-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:baseline;
  padding:8px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.price-guide-row:first-child{
  border-top:0;
}
.price-guide-item{
  min-width:0;
  color:#d8d1c5;
  font-size:.91rem;
  line-height:1.55;
  overflow-wrap:break-word;
}
.price-guide-price{
  color:#f3ead9;
  font-family:Arial,sans-serif;
  font-size:.86rem;
  letter-spacing:.04em;
  white-space:nowrap;
}

/* New Wine Bar logo */
#yatai .logo-yatai{
  overflow:visible;
}
#wine .logo-card{
  width:min(440px,98%);
  min-height:142px;
  padding:12px 18px;
  background:#fff;
}
#wine .logo-card img{
  width:100%;
  max-height:168px;
  object-fit:contain;
}

@media(max-width:820px){
  .intro{
    padding:58px 0 48px;
  }
  .intro-grid{
    grid-template-columns:1fr;
    gap:25px;
    align-items:start;
  }
  .intro h1,
  html[lang="en"] .intro h1,
  html[lang="vi"] .intro h1{
    max-width:11em;
    font-size:clamp(2.75rem,10.2vw,4.65rem);
    line-height:1.16;
  }
  .intro-copy{
    max-width:36em;
    font-size:.95rem;
    line-height:1.95;
  }
}
@media(max-width:560px){
  .intro{
    padding:52px 0 42px;
  }
  .intro h1,
  html[lang="en"] .intro h1,
  html[lang="vi"] .intro h1{
    font-size:clamp(2.45rem,11.2vw,3.7rem);
    max-width:10em;
  }
  html[lang="zh-Hans"] .intro h1{
    max-width:8.5em;
  }
  html[lang="ko"] .intro h1{
    max-width:9em;
  }
  .price-guide{
    margin-bottom:24px;
  }
  .price-guide-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
  }
  .price-guide-item{
    font-size:.87rem;
  }
  .price-guide-price{
    font-size:.82rem;
  }
  #wine .logo-card{
    width:min(410px,100%);
    min-height:118px;
    padding:10px 13px;
  }
}


/* Headline line-break control */
.intro-headline-line{
  display:block;
  white-space:nowrap;
}
.intro h1{
  max-width:none !important;
  text-wrap:initial;
}
html[lang="ja"] .intro h1{
  font-size:clamp(2.9rem,6.1vw,5.9rem);
  line-height:1.16;
}
html[lang="en"] .intro h1,
html[lang="vi"] .intro h1{
  font-size:clamp(2.8rem,5.4vw,5.2rem);
}
html[lang="zh-Hans"] .intro h1{
  font-size:clamp(2.9rem,5.7vw,5.5rem);
}
html[lang="ko"] .intro h1{
  font-size:clamp(2.7rem,5.1vw,5rem);
  word-break:keep-all;
}
@media(max-width:820px){
  .intro-headline-line{
    white-space:nowrap;
  }
  html[lang="ja"] .intro h1{
    font-size:clamp(2.5rem,9vw,4.2rem);
  }
  html[lang="en"] .intro h1,
  html[lang="vi"] .intro h1{
    font-size:clamp(2.25rem,8.2vw,3.75rem);
  }
  html[lang="zh-Hans"] .intro h1{
    font-size:clamp(2.4rem,8.7vw,4rem);
  }
  html[lang="ko"] .intro h1{
    font-size:clamp(2.2rem,7.9vw,3.7rem);
  }
}
@media(max-width:560px){
  .intro h1{
    line-height:1.18;
  }
  html[lang="ja"] .intro h1{
    font-size:clamp(2.25rem,10vw,3.45rem);
  }
  html[lang="en"] .intro h1,
  html[lang="vi"] .intro h1{
    font-size:clamp(2rem,8.8vw,3.1rem);
  }
  html[lang="zh-Hans"] .intro h1{
    font-size:clamp(2.12rem,9.2vw,3.25rem);
  }
  html[lang="ko"] .intro h1{
    font-size:clamp(1.95rem,8.2vw,2.95rem);
  }
}
@media(max-width:360px){
  html[lang="ja"] .intro h1{
    font-size:2.05rem;
  }
  html[lang="en"] .intro h1,
  html[lang="vi"] .intro h1{
    font-size:1.82rem;
  }
  html[lang="zh-Hans"] .intro h1{
    font-size:1.9rem;
  }
  html[lang="ko"] .intro h1{
    font-size:1.78rem;
  }
}
