/* Scoped visual refresh. Existing content routes and shared theme stay intact. */
.home-refresh { --c-bg:#fff; --c-bg-2:#eef3f0; --c-line:#d9e2dd; background:#fff; }
.home-refresh *, .staff-refresh * { letter-spacing:0; }
.home-refresh .hero {
  min-height:0; height:auto; margin-top:70px;
  padding:36px max(24px, calc((100% - 1032px) / 2)) 40px;
  align-items:flex-start; text-align:left; background:#222328;
}
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.home-refresh .hero::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.18); pointer-events:none; }
.home-refresh .hero-content { max-width:530px; text-shadow:0 2px 12px #000; }
.home-refresh .hero-eyebrow { font:500 15px var(--font-jp-sans); color:#fff; margin-bottom:16px; }
.home-refresh .hero-title { font-size:48px; line-height:1.35; margin-bottom:18px; }
.home-refresh .hero-title span { display:block; font-size:26px; margin-top:12px; }
.hero-catch { font-family:var(--font-jp-serif); font-size:24px; margin:0 0 18px; }
.home-refresh .hero-sub { font-size:15px; color:#fff; margin-bottom:26px; max-width:440px; }
.home-refresh .hero-actions { justify-content:flex-start; margin-bottom:22px; }
.home-refresh .hero-tags { justify-content:flex-start; color:#fff; max-width:420px; }
.home-refresh .btn-primary, .staff-refresh .btn-primary { background:#fff; color:#253b31; border-radius:4px; box-shadow:none; text-shadow:none; padding:18px 28px; }
.home-refresh .btn-primary .btn-sub, .staff-refresh .btn-primary .btn-sub { color:#43594d; }
.image-credit { position:absolute; right:18px; bottom:8px; z-index:2; font-size:10px; color:white; background:rgba(0,0,0,.5); padding:3px 6px; }
.home-refresh .scroll-cue { display:none; }
.home-refresh .section { padding:64px 0; }
.home-refresh .section-title { font-size:30px; }
.home-refresh .section-eyebrow { color:#536b5d; }
.home-refresh .section-concept { background:#fff; }
.home-refresh .concept-grid { gap:28px; }
.home-refresh .concept-card { background:none; border:0; box-shadow:none; border-radius:0; padding:20px 0; }
.home-refresh .concept-card .card-icon { display:none; }
.home-refresh .concept-card h3 { font-size:18px; }
.home-refresh .section-photo-strip { background:#eef3f0; padding:32px 0; }
.home-refresh .photo-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-refresh .photo-strip figure { margin:0; min-width:0; }
.home-refresh .photo-strip img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; object-position:center; filter:none; background:#222328; }
.home-refresh .photo-strip figcaption { padding:20px 0 4px; font-size:15px; }
.photo-caption-title { display:block; font-family:var(--font-jp-serif); font-size:24px; font-weight:500; line-height:1.7; color:#29493d; text-wrap:balance; }
.photo-caption-title::before { content:""; display:block; width:40px; height:2px; background:#ac884c; margin-bottom:12px; }
.photo-caption-description { display:block; margin-top:9px; font-size:14px; line-height:1.9; color:#53635b; }
.home-refresh .photo-strip small { display:block; font-size:11px; color:#626b65; margin-top:8px; }
@media (max-width:1050px) {
  .photo-caption-title { font-size:21px; }
}
.recommend-photo { position:relative; container-type:inline-size; }
.recommend-title { position:absolute; inset:14px 0 auto; margin:0; text-align:center; color:#fff; font:500 20px var(--font-jp-serif); text-shadow:0 1px 5px #000,0 1px 12px #000; }
.recommend-badges { position:absolute; inset:auto 12px 14px; display:flex; justify-content:center; gap:12px; }
.recommend-badges li { width:28%; max-width:108px; aspect-ratio:1; flex-shrink:0; display:grid; place-items:center; border-radius:50%; border:2px solid #d8ba72; outline:1px solid #8c6d2c; outline-offset:-6px; background:#ead399; color:#33280f; box-shadow:0 3px 12px #0004; text-align:center; }
.recommend-badges span { font-size:12px; line-height:1.6; font-weight:700; white-space:nowrap; }
@container (max-width:320px) {
  .recommend-title { font-size:16px; top:10px; }
  .recommend-badges { gap:8px; inset:auto 8px 10px; }
  .recommend-badges span { font-size:10px; }
}
.home-refresh .section-menu-summary, .home-refresh .section-staff-summary { background:#fff; }
.home-refresh .section-flow-summary, .home-refresh .section-access-summary { background:#eef3f0; }
.home-refresh .menu-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-refresh .menu-summary-card { background:none; border:0; border-top:2px solid #597666; border-radius:0; padding:24px 8px; box-shadow:none; }
.home-refresh .menu-summary-card h3 { font-size:19px; }
.home-refresh .price-tag { font-size:17px; line-height:1.9; color:#7b3947; overflow-wrap:anywhere; }
.home-refresh .price-tag span { display:block; white-space:nowrap; }
.staff-feature { display:grid; grid-template-columns:164px minmax(0,1fr); gap:36px; align-items:center; max-width:740px; margin:32px auto; text-align:left; }
.staff-feature > img { width:164px; height:219px; object-fit:contain; }
.staff-feature h3 { font:500 26px var(--font-jp-serif); margin:8px 0 16px; }
.staff-feature p { margin:10px 0; }
.staff-feature .staff-role { color:#536b5d; font-size:13px; }
.staff-refresh { background:#fff; }
.staff-refresh .section { padding:40px 0; }
.staff-refresh .section-bg-soft { background:#eef3f0; }
.staff-refresh .page-hero { padding:100px 24px 36px; background:#29493d; }
.staff-refresh .page-hero::before { display:none; }
.staff-refresh .page-title { font-size:32px; }
.staff-refresh .mobile-cta { background:#29493d; color:#fff; border-radius:4px; box-shadow:0 3px 16px #0002; }
.home-refresh .section-cta { background:#29493d; }
.home-refresh .reveal { opacity:1; transform:none; }
.home-refresh .site-header, .home-refresh .site-header.scrolled { background:#fff; }
.home-refresh .btn-reserve-header, .home-refresh .mobile-cta { background:#29493d; }
.home-refresh .mobile-cta { color:#fff; border-radius:4px; box-shadow:0 3px 16px #0002; }
.home-refresh .section-concept { padding-top:36px; }
.home-refresh .site-footer { background:#222a27; }
.home-refresh :focus-visible, .staff-refresh :focus-visible { outline:3px solid #ad703b; outline-offset:4px; }
@media (max-width:1050px) and (min-width:721px) {
  .home-refresh .header-inner { gap:14px; }
  .home-refresh .nav { gap:14px; }
  .home-refresh .nav a { font-size:12px; }
}
@media (max-width:720px) {
  .home-refresh .hero { margin-top:64px; padding:32px 24px 42px; }
  .home-refresh .hero-image { object-position:60% center; }
  .home-refresh .hero::after { background:rgba(0,0,0,.42); }
  .home-refresh .hero-content { width:100%; }
  .home-refresh .hero-title { font-size:36px; }
  .home-refresh .hero-title span { font-size:22px; }
  .hero-catch { font-size:20px; }
  .home-refresh .hero-eyebrow { font-size:13px; }
  .home-refresh .hero-sub { font-size:14px; line-height:1.8; }
  .home-refresh .hero-actions { align-items:flex-start; }
  .home-refresh .hero-tags { gap:6px 8px; font-size:11px; }
  .home-refresh .section { padding:42px 0; }
  .home-refresh .section-title { font-size:25px; }
  .home-refresh .photo-strip { grid-template-columns:minmax(0,1fr); gap:28px; }
  .home-refresh .menu-summary-grid { grid-template-columns:minmax(0,1fr); gap:4px; }
  .staff-feature { grid-template-columns:120px minmax(0,1fr); gap:18px; align-items:start; }
  .staff-feature > img { width:120px; height:auto; }
  .staff-feature h3 { font-size:22px; }
  .staff-feature p { font-size:14px; }
  .home-refresh .cta-title { font-size:26px; }
}
@media (max-width:360px) {
  .staff-feature { grid-template-columns:minmax(0,1fr); }
  .home-refresh .hero-title { font-size:32px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-refresh *, .staff-refresh * { animation:none !important; transition:none !important; scroll-behavior:auto; }
}
