@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600&family=Noto+Serif+Display:ital,wght@0,400;0,500;1,400&display=swap");
:root{--bg:#101310;--panel:#191d18;--text:#f2eee4;--muted:#b7bcaf;--line:#373e34;--accent:#cfdbad;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(44px,5.7vw,82px);letter-spacing:-2px}h2{font-size:clamp(33px,4vw,52px);letter-spacing:-1px}h3{font-size:26px}.preview{background:#293124;color:#dee4d4;padding:5px 5%;font-size:11px;letter-spacing:.6px;display:flex;justify-content:space-between}header{padding:24px 5%;display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:30px;line-height:1}.brand span{display:block;font-family:serif;font-size:12px;letter-spacing:5px;margin-top:10px;color:var(--muted)}nav{display:flex;gap:27px;margin-left:auto;font-size:13px}nav a:hover,.text-link:hover{color:var(--accent)}.saved-link{font-size:13px;white-space:nowrap}.saved-link span{color:var(--accent);margin-left:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 23px;border:1px solid var(--accent);background:var(--accent);color:#172015;font-size:13px;font-weight:600;cursor:pointer}.button:hover{background:#e0e9c7}.button.small{padding:11px 17px}.button.outline{background:transparent;color:var(--text);border-color:#666f60}.button.outline:hover{background:var(--panel)}.eyebrow{display:block;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);margin-bottom:22px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:85px 9% 65px 10%;align-self:center}.hero-copy p{color:var(--muted);max-width:430px;margin:26px 0 30px;font-size:16px}.hero-photo{position:relative;min-height:560px;overflow:hidden}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.photo-caption{position:absolute;z-index:1;bottom:25px;left:30px;font-size:12px;letter-spacing:1px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;border-bottom:1px solid #717969;padding:6px 0}.section{padding:75px 5%;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-head .eyebrow{margin-bottom:14px}.section-head p{color:var(--muted);max-width:420px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.card-image{position:relative;height:320px;overflow:hidden}.card-image img{transition:transform .5s}.card-image a:hover img{transform:scale(1.035)}.heart{position:absolute;right:13px;top:13px;background:#101310dd;color:var(--text);border:1px solid #ffffff66;width:40px;height:40px;border-radius:50%;font-size:23px;display:grid;place-items:center;line-height:1}.heart.active{background:var(--accent);color:#172015;border-color:var(--accent)}.card-meta{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--accent);margin:21px 0 10px}.card h3{font-size:27px}.card-native{color:var(--muted);font-size:12px;margin-top:7px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:17px;padding-top:12px;font-size:12px;color:var(--muted)}.cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.chip{display:inline-block;border:1px solid #56604d;border-radius:30px;padding:8px 22px;font-size:13px}.chip:hover{background:var(--accent);color:var(--bg)}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.split p{color:var(--muted);margin:20px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px}.step{border-top:1px solid #667259;padding-top:22px}.step b{font-weight:400;color:var(--accent);font-size:12px}.step h3{margin:19px 0 16px;font-size:25px}.step p{color:var(--muted);font-size:14px}.journal-panel{padding:35px;background:#e9e6dc;color:#252b22}.journal-panel .eyebrow{color:#5e6b4e}.journal-panel p{color:#526047}.journal-item{border-top:1px solid #b5bcaa;padding:18px 0;font-family:var(--serif);font-size:24px}.journal-item span{display:block;font:11px Arial;margin-top:10px;color:#626c58}.faq{max-width:650px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;list-style:none;font-size:17px;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';color:var(--accent)}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding:16px 0 0}.closing{text-align:center;background:#20291c}.closing p{max-width:550px;color:var(--muted);margin:22px auto 28px}.page-heading{padding:56px 5% 35px}.page-heading h1{font-size:60px}.page-heading p{color:var(--muted);max-width:650px;margin-top:20px}.filters{margin:0 5%;display:grid;grid-template-columns:2fr 1fr 1.2fr 1.3fr auto;gap:12px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}label{font-size:11px;color:var(--muted);display:block}input,select,textarea{width:100%;padding:12px;background:var(--panel);border:1px solid #4d5745;color:var(--text);border-radius:0;margin-top:6px}select{height:49px}.filters button{align-self:end;height:49px;background:none;border:0;color:var(--accent);font-size:12px}.results-bar{margin:24px 5%;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.results{padding:0 5% 70px}.results .cards{row-gap:42px}.empty{padding:70px 15px;text-align:center;border:1px solid var(--line)}.empty p{margin:18px 0;color:var(--muted)}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:24px}.detail-heading{display:flex;justify-content:space-between;gap:25px;align-items:end}.detail-heading h1{font-size:62px}.detail-heading .actions{flex-shrink:0}.detail-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:240px 240px;gap:12px;margin:30px 5% 0}.detail-gallery .large{grid-row:span 2}.detail-body{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;padding:60px 5%}.detail-body h2{font-size:38px}.detail-body p{color:var(--muted);margin:20px 0}.facts{border-top:1px solid var(--line)}.fact{padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.fact span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.note{color:#c9ba95!important;font-size:12px}.saved-intro{margin:0 5% 30px;background:var(--panel);padding:20px;color:var(--muted);font-size:13px}.enquiry{max-width:780px;margin:auto;padding:60px 24px}.enquiry h1{font-size:48px}.enquiry>p{color:var(--muted);margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}textarea{min-height:110px}.form-note{padding:15px;border:1px solid #6b6651;color:#d6cbb4;margin-bottom:25px;font-size:13px}footer{padding:55px 5% 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px}.footer-top p{font-family:var(--serif);font-size:24px}.footer-top p span{font:12px Arial;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:30px;color:var(--muted);font-size:11px}.footer-bottom span{margin-right:auto}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--bg);padding:12px 23px;z-index:10;display:none;font-size:13px}.muted{color:var(--muted)}.topic-placeholder{padding:30px 0;border-top:1px solid var(--line)}.topic-placeholder h3{margin-bottom:15px}.topic-placeholder p{color:var(--muted)}
@media(min-width:1450px){main,header,footer{max-width:1700px;margin:auto}.hero{min-height:700px}}@media(max-width:1000px){header{gap:18px;flex-wrap:wrap}nav{order:3;width:100%;margin:0;padding-top:10px;justify-content:space-between}.brand{margin-right:auto}.hero-copy{padding:55px 8% 55px 10%}.hero{min-height:520px}.hero-photo{min-height:520px}.card-image{height:250px}.filters{grid-template-columns:2fr 1fr 1fr}.detail-heading{display:block}.detail-heading .actions{margin-top:25px}}@media(max-width:600px){.preview{font-size:10px;padding:5px 5%}.preview span{display:none}header{padding:18px 5%;gap:13px}.brand{font-size:25px}.brand span{font-size:10px}header .button{font-size:11px;padding:8px 10px;gap:7px}nav{gap:12px;font-size:12px}.saved-link{font-size:11px}.hero{display:flex;flex-direction:column}.hero-copy{padding:43px 6% 36px}.hero h1{font-size:51px}.hero-copy p{font-size:14px;margin:22px 0}.hero-photo{min-height:0;height:340px}.section{padding:45px 6%}.section-head{display:block}.section-head>.text-link{display:inline-block;margin-top:18px}.cards{grid-template-columns:1fr;gap:33px}.card-image{height:330px}.split,.steps{grid-template-columns:1fr;gap:30px}.steps{margin-top:26px}.step h3{margin:10px 0}.journal-panel{padding:26px}.page-heading{padding:35px 6% 25px}.page-heading h1{font-size:43px}.filters{grid-template-columns:1fr 1fr;margin:0 6%}.filters label:first-child{grid-column:1/-1}.filters button{height:45px}.results-bar{margin:20px 6%;gap:20px}.results{padding:0 6% 45px}.detail-heading h1{font-size:44px}.detail-gallery{grid-template-rows:250px 150px;grid-template-columns:1fr 1fr;margin:20px 6% 0}.detail-gallery .large{grid-row:auto;grid-column:span 2}.detail-body{grid-template-columns:1fr;padding:40px 6%;gap:25px}.footer-top{display:block}.footer-top p{margin-top:25px}.footer-bottom{flex-wrap:wrap;gap:14px}.footer-bottom span{width:100%}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.enquiry h1{font-size:40px}.actions{gap:16px}.button{padding:12px 18px}h2{font-size:35px}.photo-caption{left:20px;bottom:18px}}

/* Luxeat-informed neutral editorial palette; layout and behaviour preserved. */
:root{--bg:#fff;--panel:#f5f5f3;--text:#111;--muted:#616161;--line:#d7d7d4;--accent:#111;--serif:"Noto Serif Display",Georgia,serif}
body{font-family:"Hanken Grotesk",Arial,sans-serif;font-weight:400}
.preview{background:#ededeb;color:#555}
.brand{font-family:"Hanken Grotesk",Arial,sans-serif;font-weight:500;letter-spacing:-1px}
.brand span{letter-spacing:5px;font-weight:400}
h1,h2,h3{font-weight:400;letter-spacing:-.035em}
.hero h1 i{font-style:normal}
.button{background:#111;color:#fff;border-color:#111;font-weight:500}
.button:hover{background:#333;border-color:#333}
.button.outline{color:#111;border-color:#888;background:transparent}
.button.outline:hover{background:#eee}
nav a:hover,.text-link:hover{color:#666}
.text-link{border-color:#888}
.heart{background:#fffffff0;color:#111;border-color:#ddd}
.heart.active{background:#111;color:#fff;border-color:#111}
.chip{border-color:#bbb}.chip:hover{background:#111;color:#fff}
.step{border-color:#aaa}
.photo-caption{color:#fff}
.journal-panel{background:#f1f1ef;color:#111}
.journal-panel .eyebrow,.journal-panel p,.journal-item span{color:#666}
.journal-item{border-color:#ccc}.journal-item span{font-family:"Hanken Grotesk",Arial,sans-serif}
.closing{background:#080808;color:#fff}.closing .eyebrow{color:#ddd}.closing p{color:#bbb}.closing .button{background:#fff;color:#111;border-color:#fff}.closing .button:hover{background:#ddd}
input,select,textarea{border-color:#bbb;background:#fafafa;color:#111}
.note{color:#737373!important}.form-note{border-color:#ccc;color:#555;background:#f5f5f3}
#toast{background:#111;color:#fff}
.footer-top p span{font-family:"Hanken Grotesk",Arial,sans-serif}

.afu-take{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin:32px 0}.afu-take .eyebrow{margin-bottom:16px}.afu-take blockquote{font-family:var(--serif);font-size:clamp(25px,3vw,34px);line-height:1.3;letter-spacing:-.02em;margin:0}.afu-take p{font-size:14px;margin:16px 0}.afu-take small{display:block;font-size:11px;color:var(--muted)}

.afu-take h2 { margin: 0 0 16px; font-size: 26px; }
.afu-take blockquote { font-family: inherit; font-size: clamp(16px, 1.8vw, 19px); line-height: 1.8; letter-spacing: 0; overflow-wrap: anywhere; }
.afu-take small { margin-top: 12px; }
.afu-take h2 span, .journal-teaser h2 span, .journal-library h2 span, .page-heading h1 span[lang="zh"] {
  display: inline-block;
  margin-left: .3em;
  font-family: inherit;
  font-size: .48em;
  letter-spacing: 0;
  color: var(--muted);
}
.journal-teaser { background: var(--panel); }
.journal-library { min-height: 260px; }

.journal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:32px; }
.journal-card { display:block; border-top:1px solid var(--line); padding:16px 0; }
.journal-card img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.journal-card h2 { font-size:1.35rem; margin:14px 0 8px; line-height:1.45; }
.journal-card p { color:var(--muted); }
.journal-article { width:min(90%,760px); margin:48px auto 80px; }
.journal-article h1 { font-size:clamp(28px,5vw,54px); line-height:1.25; margin:24px 0; }
.journal-article p { font-size:17px; line-height:1.85; white-space:pre-line; }
.journal-article figure { margin:28px 0; }
.journal-article img { display:block; max-width:100%; height:auto; margin:auto; }

.journal-language { display:flex; flex-wrap:wrap; width:auto; gap:8px; margin:0; padding:0; }
.journal-language a { padding:6px 12px; border:1px solid var(--line); border-radius:2px; white-space:nowrap; }
.journal-language a[aria-current="page"] { color:var(--bg); background:var(--text); border-color:var(--text); }
.page-heading .journal-language { margin-top:22px; }
.journal-article-bar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
.journal-article .journal-deck { font-size:clamp(18px,2.5vw,23px); line-height:1.5; color:var(--muted); }
.journal-prose h2 { margin:40px 0 10px; font-size:clamp(24px,4vw,34px); }
.journal-prose h3 { margin:26px 0 8px; font-size:clamp(20px,3vw,26px); }
.journal-prose li { margin:8px 0; }
.journal-gallery { margin:28px 0; border-block:1px solid var(--line); padding:12px 0; }
.journal-gallery summary { cursor:pointer; }

.pilot-check { display:flex; gap:10px; align-items:baseline; margin:20px 0; }
.pilot-check input { width:auto; }
#pilot-inquiry-status:not(:empty) { margin-top:22px; padding:12px 16px; background:var(--panel); }
#pilot-inquiry-form [aria-invalid="true"] { outline:2px solid #a82a25; }

#header-language { flex:0 0 auto; }
.language-control { position:relative; margin:0; padding:0; border:0; font-size:12px; }
.language-control summary { display:flex; align-items:center; gap:6px; padding:8px 3px; color:var(--muted); cursor:pointer; list-style:none; white-space:nowrap; font-size:12px; }
.language-control summary::-webkit-details-marker { display:none; }
.language-control summary::after,.language-control[open] summary::after { content:""; width:5px; height:5px; border-right:1px solid; border-bottom:1px solid; transform:rotate(45deg) translateY(-2px); }
.language-options { position:absolute; right:0; top:100%; z-index:5; min-width:142px; background:var(--bg); border:1px solid var(--line); box-shadow:0 8px 20px #00000010; }
.language-options a { display:block; padding:8px 14px; white-space:nowrap; }
.language-options a:hover,.language-options a[aria-current="page"] { background:var(--panel); color:var(--text); }
.restaurant-editorial > .preview,.restaurant-editorial > header > .button.small { display:none; }
.restaurant-editorial header { padding-top:18px; padding-bottom:18px; }
.restaurant-editorial header nav { margin-right:auto; }

.editorial-restaurant { width:min(92%,1440px); margin-inline:auto; }
.editorial-title { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding:clamp(38px,5vw,68px) clamp(0px,1.6vw,24px) clamp(32px,4vw,55px); }
.editorial-title h1 { font-size:clamp(46px,5.8vw,82px); line-height:1.06; margin:0; }
.editorial-title p { margin:12px 0 0; font-size:14px; color:var(--muted); }
.editorial-save { display:grid; place-items:center; min-width:38px; min-height:38px; background:transparent; border:0; color:var(--text); font-size:26px; cursor:pointer; }
.editorial-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.editorial-photos figure { margin:0; aspect-ratio:1.12; overflow:hidden; background:var(--panel); }
.editorial-photos img { display:block; width:100%; height:100%; object-fit:cover; }
.editorial-reading { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,270px); gap:clamp(32px,7vw,100px); margin:36px clamp(0px,1.6vw,24px) 80px; }
.editorial-reading section { max-width:660px; }
.editorial-reading h2 { font-size:clamp(25px,3vw,39px); line-height:1.2; margin:12px 0; }
.editorial-reading .editorial-category { font-size:13px; color:var(--muted); margin:0 0 20px; }
.editorial-reading blockquote { margin:22px 0 0; padding-left:16px; border-left:1px solid var(--line); color:var(--muted); }
.editorial-reading aside { border-top:1px solid var(--line); padding-top:12px; }
.editorial-reading aside h2 { font-size:24px; }
@media (max-width:650px) {
  .restaurant-editorial header { gap:10px 14px; }
  .restaurant-editorial header nav { padding-top:4px; }
  .editorial-restaurant { width:90%; }
  .editorial-title { padding:34px 0 25px; }
  .editorial-title h1 { font-size:clamp(39px,10vw,56px); }
  .editorial-photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .editorial-photos figure:first-child { grid-column:1 / -1; aspect-ratio:1.45; }
  .editorial-photos figure:not(:first-child) { aspect-ratio:1.5; }
  .editorial-reading { grid-template-columns:1fr; gap:28px; margin:28px 0 56px; }
}

header .join-link { white-space:nowrap; font-size:13px; }
header .saved-link [data-nav-label] { color:inherit; margin:0; }
.member-join { display:grid; grid-template-columns:1fr 1fr; min-height:500px; }
.member-copy { align-self:center; padding:clamp(40px,7vw,104px) 12%; }
.member-copy h1,.member-welcome h1 { font-size:clamp(38px,5vw,70px); }
.member-copy > p,.member-welcome > p { margin:20px 0 28px; color:var(--muted); }
.member-copy > .member-note { font-size:12px; margin-bottom:0; }
#member-form { display:grid; gap:10px; max-width:390px; }
#member-form input,#member-search input { width:100%; min-width:0; }
#member-form .button { justify-self:start; }
.member-welcome { padding:clamp(45px,8vw,106px) 5%; text-align:center; }
#member-search { display:flex; align-items:stretch; gap:10px; max-width:650px; margin:0 auto 20px; }
#member-search .button { flex-shrink:0; }
.member-welcome .actions { justify-content:center; }
.edition-note { color:var(--muted); font-size:13px; margin:20px 5% 0; }
@media (max-width:650px) {
  header > .button.small { order:4; }
  header .join-link { font-size:12px; }
  .member-join { grid-template-columns:1fr; }
  .member-copy { padding:42px 6%; }
  .member-join > img { height:270px; }
}

header .register-link { white-space:nowrap; font-size:13px; }
#account-status:empty { display:none; }
.member-account .member-email { margin:14px 0 24px; }
.member-account h2 { margin:42px 0 16px; }
.member-account .member-note { margin-top:26px; font-size:12px; color:var(--muted); }
.account-logout { color:inherit; background:transparent; border:0; border-bottom:1px solid var(--line); }
.account-requests { list-style:none; margin:0; padding:0; }
.account-requests li { border-top:1px solid var(--line); padding:16px 0; }
.account-requests small { color:var(--muted); }

.afu-review-heading {
  display:flex;
  align-items:center;
  gap:10px;
}
.afu-review-heading::before, .brand-with-avatar::before {
  content:"";
  flex:0 0 40px;
  height:36px;
  border-radius:7px;
  background:#d51717 url("assets/afu-brand-original.png") center 7% / 133.333% auto no-repeat;
}

.dining-experience {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(24px,5vw,80px);
  background:var(--panel);
}
.dining-proof { position:relative; margin:0; min-height:325px; isolation:isolate; color:#fff; }
.dining-proof img { position:absolute; inset:0; z-index:-2; }
.dining-proof::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(transparent 10%, #000d 100%); }
.dining-proof figcaption { position:absolute; bottom:12px; right:18px; font-size:11px; }
.dining-stats { position:absolute; inset:auto 24px 42px; display:grid; grid-template-columns:1fr 1.5fr; gap:18px; }
.dining-stats strong { display:block; font:400 clamp(35px,5vw,70px)/1 var(--serif); letter-spacing:-.055em; }
.dining-stats span { display:block; margin-top:9px; }
.dining-experience h2 { font-size:clamp(29px,3.5vw,49px); }
.dining-experience p { margin-top:14px; max-width:53ch; color:var(--muted); }
.dining-note .dining-signature { margin-top:25px; color:var(--text); }
.tokyo-hero .hero-photo img { object-position:left center; }
.tokyo-hero .hero-photo::after { content:none; }
.cuisine-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.cuisine-card { display:block; }
.cuisine-card img { aspect-ratio:5 / 4; height:auto; }
.cuisine-card span { display:block; padding:10px 0; border-bottom:1px solid var(--line); font-family:var(--serif); font-size:clamp(16px,2vw,23px); }
.guide-review { margin:16px 0; color:var(--muted); font-size:14px; }
.guide-review .afu-review-heading { margin-bottom:8px; color:var(--text); }
.guide-review .afu-review-heading::before { flex-basis:30px; height:27px; }
.tokyo-faq .button { margin-top:24px; }
@media (max-width:1180px) and (min-width:1001px) {
  header { gap:15px; }
  header nav { gap:16px; }
}
@media (max-width:650px) {
  header nav { flex-wrap:wrap; justify-content:flex-start; }
  .dining-experience { grid-template-columns:1fr; }
  .cuisine-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.tokyo-recommendations { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(24px,5vw,76px); }
.tokyo-recommendations dl { margin:22px 0 0; }
.tokyo-recommendations dl div { border-bottom:1px solid var(--line); padding:13px 0; }
.tokyo-recommendations dt { font-weight:600; }
.tokyo-recommendations dd { margin:3px 0 0; color:var(--muted); }
.tokyo-phones {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:clamp(12px,2vw,24px);
  width:min(100%,510px);
  justify-self:center;
}
.tokyo-phone {
  container-type:inline-size;
  display:block;
  padding:5px;
  background:#141413;
  border-radius:clamp(16px,2vw,28px);
  box-shadow:0 10px 28px #17140e12;
}
.tokyo-phone + .tokyo-phone { margin-top:clamp(20px,3.4vw,48px); }
.phone-screen {
  display:grid;
  aspect-ratio:5 / 9;
  overflow:hidden;
  background:#fff;
  color:#161616;
  border-radius:clamp(12px,1.6vw,23px);
  font-size:clamp(9px,5.15cqi,13px);
  line-height:1.5;
}
.phone-restaurant { grid-template-rows:auto auto minmax(0,1fr) auto; }
.phone-booking { grid-template-rows:auto auto auto minmax(0,1fr); }
.phone-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:7cqi 8cqi 5cqi;
  border-bottom:1px solid #e8e6e0;
  font-size:.9em;
  font-weight:600;
}
.phone-header span:last-child { color:#62605a; }
.phone-title { padding:7cqi 8cqi 6cqi; }
.phone-title strong { display:block; font:400 clamp(14px,10.7cqi,27px)/1.12 var(--serif); }
.phone-title small { display:block; margin-top:1.8cqi; font-size:.9em; color:#62605a; }
.phone-image { display:block; min-height:0; }
.phone-review { padding:5cqi 8cqi 7cqi; }
.phone-review .afu-review-heading { margin-bottom:2cqi; gap:5px; font-weight:600; }
.phone-review .afu-review-heading::before { flex-basis:17px; height:15.3px; border-radius:3px; }
.phone-review p,.phone-article { color:#35342f; }
.phone-article { margin:0 8cqi; padding:5cqi 0 8cqi; border-top:1px solid #e8e6e0; }
@media (max-width:700px) {
  .tokyo-recommendations { grid-template-columns:1fr; }
}

.member-verification { max-width:770px; margin-inline:auto; }
.member-verification h1 { font-size:clamp(33px,6vw,58px); }
.member-verification > p { margin-top:14px; color:var(--muted); }
.verification-email { margin:24px 0; padding:clamp(22px,5vw,50px); border:1px solid var(--line); background:var(--panel); }
.verification-email .verification-brand { margin-bottom:24px; font:400 27px/1.2 var(--serif); }
.verification-email h2 { font-size:clamp(25px,4vw,38px); }
.verification-email p { margin-top:12px; overflow-wrap:anywhere; }
.verification-email .button { margin-top:20px; }

.brand-with-avatar { display:inline-flex; align-items:center; gap:9px; }
.brand-with-avatar::before { flex-basis:30px; height:27px; border-radius:5px; }

.site-header {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:clamp(16px,3vw,44px);
  min-height:83px;
  padding:16px clamp(20px,4vw,64px);
  border-bottom:1px solid #eae8e4;
}
.site-header > .brand {
  justify-self:start;
  margin:0;
  font-size:clamp(21px,2.4vw,31px);
  letter-spacing:-.05em;
  white-space:nowrap;
}
.site-header .site-primary-nav {
  width:auto;
  margin:0;
  padding:0;
  gap:clamp(17px,2.5vw,37px);
  font-size:13px;
  font-weight:500;
  white-space:nowrap;
}
html[lang="en"] .site-primary-nav { text-transform:uppercase; letter-spacing:.035em; }
.header-tools { display:flex; gap:12px; align-items:center; justify-self:end; }
.site-menu { position:relative; margin:0; border:0; padding:0; }
.site-menu summary {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  list-style:none;
  cursor:pointer;
}
.site-menu summary::-webkit-details-marker { display:none; }
.site-menu summary::after { content:none; }
.site-menu-icon { width:18px; height:12px; border-block:1px solid currentColor; position:relative; }
.site-menu-icon::after { content:""; position:absolute; inset:50% 0 auto; border-top:1px solid currentColor; }
.site-menu-links {
  position:absolute;
  inset:100% 0 auto auto;
  z-index:6;
  display:grid;
  min-width:210px;
  width:max-content;
  max-width:min(280px, calc(100vw - 40px));
  background:var(--bg);
  border:1px solid var(--line);
  padding:8px;
  box-shadow:0 8px 24px #1111;
}
.site-menu-links a { display:block; padding:8px 12px; font-size:13px; }
.site-menu-links a:hover { background:var(--panel); }
.site-menu-links [hidden],.site-menu-primary { display:none; }
.site-menu-primary { border-bottom:1px solid var(--line); padding-bottom:6px; margin-bottom:6px; }
html[lang="en"] .hero:not(.tokyo-hero) h1 { font-size:clamp(41px,5.45vw,80px); line-height:1.04; letter-spacing:-.045em; }
@media (max-width:950px) {
  .site-header { grid-template-columns:1fr auto; min-height:68px; padding-block:12px; }
  .site-header .site-primary-nav { display:none; }
  .site-menu-primary { display:block; }
}

.dining-enquiry {
  width:min(94%,1060px);
  max-width:none;
  margin:clamp(24px,5vw,72px) auto;
  padding:clamp(24px,5vw,72px);
  background:#f4f2ed;
}
.dining-enquiry h1 { text-align:center; font-size:clamp(36px,6vw,76px); margin:18px 0 24px; }
.dining-enquiry .form-note { max-width:64ch; margin:0 auto 40px; border:0; background:transparent; text-align:center; }
.dining-fields { border:0; padding:0; margin:0 0 28px; min-width:0; }
.dining-fields legend { width:100%; padding:0 0 12px; margin:0 0 20px; border-bottom:1px solid var(--line); font-size:20px; }
.dining-fields input:not([type="checkbox"]),.dining-fields select,.dining-fields textarea { background:#fff; border-color:#dad7cf; border-radius:4px; }
.dining-fields input[readonly] { background:#fbfaf7; }
.dining-enquiry .pilot-check { margin:8px 0 0; }
.dining-enquiry .dining-field-with-option label:first-child { margin-bottom:0; }
.dining-follow-up { max-width:62ch; color:var(--muted); font-size:14px; margin:16px 0; }
.dining-enquiry button[type="submit"] { margin-top:18px; }

.dining-testimonial { padding:clamp(22px,3.5vw,48px) 6%; background:#101010; color:#fff; }
.dining-testimonial-inner { max-width:1030px; margin:auto; padding:clamp(20px,3vw,42px) 0; text-align:center; border-block:1px solid #ffffff38; }
.dining-testimonial h2 { margin-bottom:20px; font-family:inherit; font-size:13px; font-weight:500; line-height:1.4; letter-spacing:.04em; }
.dining-testimonial-quotes { display:grid; align-items:center; }
.dining-testimonial-text {
  grid-area:1 / 1;
  width:min(100%,850px);
  margin:0 auto;
  padding:8px clamp(8px,3vw,34px);
  font:400 clamp(19px,2.55vw,33px)/1.42 var(--serif);
  letter-spacing:-.02em;
}
.dining-testimonial-text[aria-hidden="true"] { visibility:hidden; }
.dining-testimonial-text[aria-hidden="false"] { animation:review-appear .35s ease-out both; }
@keyframes review-appear { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .dining-testimonial-text[aria-hidden="false"] { animation:none; } }
.dining-testimonial-controls { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:14px; }
.dining-testimonial-controls button { width:44px; height:44px; border:1px solid #ffffff54; border-radius:50%; color:#fff; background:transparent; }
.dining-testimonial-controls button:hover { background:#ffffff20; }
.dining-testimonial-position { min-width:35px; color:#e6e3dd; font-size:12px; font-variant-numeric:tabular-nums; }
.dining-testimonial-text blockquote { margin:0; }
html[lang="en"] .dining-testimonial-text blockquote { font-style:italic; }
.dining-testimonial-text figcaption { margin-top:16px; font:500 13px/1.4 "Hanken Grotesk",Arial,sans-serif; color:#e6e3dd; }
.dining-testimonial-note { margin-top:12px; color:#d0cfcb; font-size:13px; }
.dining-testimonial-action { padding:32px 6%; text-align:center; }

.footer-top p #footer-line { font:inherit; color:inherit; }
@media (max-width:600px) { .preview #preview-title { display:inline; } }

.standard-restaurant-actions { padding-inline:5%; }
.restaurant-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0 0; padding:18px 0; border-block:1px solid var(--line); }
.restaurant-actions .button { width:100%; min-height:46px; padding:9px 10px; gap:5px; }
.restaurant-actions p { margin:7px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.table-alert-dialog { width:min(calc(100% - 32px),510px); border:1px solid var(--line); padding:clamp(22px,5vw,42px); color:var(--text); background:var(--bg); }
.table-alert-dialog::backdrop { background:#0007; }
.table-alert-heading { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.table-alert-heading h2 { font-size:clamp(26px,5vw,38px); }
.table-alert-heading button { font-size:24px; line-height:1; color:inherit; border:0; background:transparent; }
.table-alert-restaurant { margin:12px 0 5px; font-weight:600; }
.table-alert-dialog .form-grid { margin-top:18px; }
.table-alert-dialog .button { margin-top:18px; }
.table-alert-status:not(:empty) { margin-top:10px; font-size:13px; color:var(--muted); }
@media (max-width:570px) {
  .restaurant-actions { grid-template-columns:1fr; gap:10px; }
  .restaurant-actions p { text-align:left; }
}
