/* Kawaguchi reservation guide extends the existing LP palette and typography. */
.reservation-page .header{position:static;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);height:auto;min-height:88px}
.reservation-page .header .brand{text-shadow:none}
.back-link{font-size:.875rem;text-decoration:underline;text-underline-offset:5px;padding:10px 0}
.booking-guide{width:min(1080px,100%);margin:0 auto;padding:48px 28px 68px}
.guide-heading{text-align:center;margin-bottom:48px}
.guide-heading>p:first-child{color:var(--muted);font-size:.875rem;letter-spacing:.12em;margin-bottom:10px}
.guide-heading h1{font-size:clamp(1.625rem,4vw,2.25rem);line-height:1.6}
.guide-heading .guide-lead{margin:14px auto 24px;font-size:1rem;line-height:1.9}
.guide-heading .primary{min-height:64px}
.guide-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.guide-section{min-width:0}
.guide-section h2{font-size:1.5rem;line-height:1.6;margin:0 0 22px}
.section-label{display:block;color:var(--muted);font:400 .75rem/1.5 var(--sans);letter-spacing:.15em;margin-bottom:6px}
.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.staff-card{margin:0;min-width:0}
.staff-photo{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;border-radius:10px;background:var(--cream)}
.staff-card figcaption{padding:10px 2px 0}
.staff-name{display:block;font-size:1.125rem;font-weight:500;line-height:1.7}
.staff-reading{display:block;color:var(--muted);font-size:.875rem;line-height:1.6}
.map-frame{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--cream)}
.map-frame iframe{display:block;width:100%;height:300px;border:0}
.map-link{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:14px;padding:10px 18px;border:1px solid var(--ink);border-radius:8px;font-size:.9375rem;text-align:center}
.map-link:hover{background:var(--cream)}
.salon-details{margin:24px 0 0}
.salon-details>div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.salon-details dt{font-size:.875rem;color:var(--muted);padding-top:2px}
.salon-details dd{margin:0;font-size:1rem;line-height:1.85;overflow-wrap:anywhere}
.salon-details dd a{text-decoration:underline;text-underline-offset:4px}
.salon-details dd small{display:block;font-size:.875rem;color:var(--muted)}
.guide-final{margin-top:48px;padding:32px 24px;text-align:center;border-radius:12px;background:var(--cream)}
.guide-final p{font-size:1rem;margin-bottom:18px}
.reservation-page .sticky-booking>span{flex-shrink:0}
@media(min-width:701px){.reservation-page footer{padding-bottom:124px}}
@media(max-width:760px){
  .booking-guide{padding:32px 20px 44px}
  .guide-heading{margin-bottom:36px}
  .guide-columns{grid-template-columns:minmax(0,1fr);gap:40px}
  .staff-grid{gap:22px 16px}
  .staff-photo{max-height:320px;object-fit:contain;background:#f2f2f2}
  .guide-section h2{margin-bottom:18px}
  .map-frame iframe{height:290px}
  .guide-final{margin-top:36px;padding:28px 18px}
}
@media(max-width:360px){
  .reservation-page .header{padding-left:16px;padding-right:16px}
  .back-link{font-size:.8125rem}
  .booking-guide{padding-left:16px;padding-right:16px}
  .salon-details>div{grid-template-columns:4em minmax(0,1fr);gap:10px}
}

/* Preserve the full portrait of the Kawaguchi staff member. */
.staff-grid{grid-template-columns:minmax(0,280px)}
.staff-photo{aspect-ratio:935/1280;object-fit:contain;object-position:center top;max-height:none}
