/* FIND US only. Mirrored in preview/find-us.css; no rules for other sections. */
.hamuya-home .find-us { background: #FFFFE3; color: #34312D; }
.hamuya-home .find-us .find-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12%; }
.hamuya-home .find-us .find-access, .hamuya-home .find-us .booking { min-width: 0; }
.hamuya-home .find-us .find-eyebrow, .hamuya-home .find-us .booking-eyebrow { display: block; font-size: 10px; letter-spacing: .15em; color: #686059; }
.hamuya-home .find-us .find-eyebrow { margin-bottom: 12px; }
.hamuya-home .find-us .section-label { border-top: 2px solid #D7CEC1; }
.hamuya-home .find-us .find-location { font-size: 12px; letter-spacing: .12em; margin-top: 35px; }
.hamuya-home .find-us .find-address { font-size: 14px; line-height: 1.9; margin: 12px 0 0; overflow-wrap: anywhere; }
.hamuya-home .find-us .find-address-note { margin: 8px 0 0; font-size: 12px; line-height: 1.8; color: #686059; }
.hamuya-home .find-us .find-links { list-style: none; margin: 24px 0 0; padding: 0; }
.hamuya-home .find-us .find-links li { margin: 0; padding: 0; border-bottom: 1px solid #D7CEC1; }
.hamuya-home .find-us .find-links li::before { content: none; }
.hamuya-home .find-us .find-links a, .hamuya-home .find-us .find-unavailable { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-height: 48px; padding: 14px 0; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.hamuya-home .find-us .find-links a { color: #C8392A; font-family: "Zen Maru Gothic","Yu Gothic",Meiryo,sans-serif; font-weight: 700; text-decoration: none; }
.hamuya-home .find-us .find-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.hamuya-home .find-us .find-unavailable { color: #686059; }
.hamuya-home .find-us .find-unavailable small { flex-basis: 100%; font-size: 12px; font-weight: 400; }
.hamuya-home .find-us .find-file-type { font-size: 11px; letter-spacing: .04em; }
.hamuya-home .find-us .booking { align-self: center; padding-top: 25px; }
.hamuya-home .find-us .booking h3 { font-family: "Zen Kaku Gothic New","Yu Gothic",Meiryo,sans-serif; font-weight: 500; font-size: 28px; line-height: 1.5; letter-spacing: -.02em; margin: 18px 0 0; padding: 0; background: none; border: 0; color: #34312D; }
.hamuya-home .find-us .booking h3::before, .hamuya-home .find-us .booking h3::after { content: none; }
.hamuya-home .find-us .booking-button { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 25px 28px; margin-top: 35px; background: #C8392A; color: #FFF; font-family: "Zen Maru Gothic","Yu Gothic",Meiryo,sans-serif; font-size: 18px; font-weight: 700; line-height: 1.6; text-decoration: none; transition: background-color .18s ease; }
.hamuya-home .find-us .booking-button span { font-size: 25px; flex-shrink: 0; }
.hamuya-home .find-us .booking-button:hover { background: #AB2F23; text-decoration: none; }
.hamuya-home .find-us a:focus-visible { outline: 3px solid #C8392A; outline-offset: 5px; }
.hamuya-home .find-us .find-booking-note { margin: 18px 0 0; font-size: 12px; line-height: 1.9; color: #686059; }
.hamuya-home .find-us .find-contact-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 14px; padding: 8px 0; color: #686059; font-size: 14px; line-height: 1.8; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.hamuya-home .find-us .find-contact-link:hover { color: #C8392A; }
.hamuya-home .find-us .find-contact-link span { flex-shrink: 0; }
/* Japanese trial only. Inline flow wraps long labels, but never strands the icon. */
.hamuya-home .find-svg-arrows .find-links a,
.hamuya-home .find-svg-arrows .find-contact-link { display: block; }
.hamuya-home .find-svg-arrows .find-link-tail { white-space: nowrap; overflow-wrap: normal; }
.hamuya-home .find-svg-arrows .find-arrow svg { display: inline-block; width: 16px; height: 16px; vertical-align: -.15em; }
.hamuya-home .find-svg-arrows .find-link-tail .find-arrow { margin-left: 6px; }
/* Retain the old arrow's line box, hence the existing button height and spacing. */
.hamuya-home .find-svg-arrows .booking-button .find-arrow { display: inline-block; width: 1em; height: 1.6em; line-height: 1.6; text-align: center; }
@media (max-width: 1000px) { .hamuya-home .find-us .find-grid { gap: 8%; } }
@media (max-width: 760px) {
  .hamuya-home .find-us .find-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .hamuya-home .find-us .find-location { margin-top: 25px; font-size: 11px; }
  .hamuya-home .find-us .booking { padding-top: 32px; border-top: 1px solid #D7CEC1; }
  .hamuya-home .find-us .booking h3 { font-size: 25px; }
  .hamuya-home .find-us .booking-button { margin-top: 25px; padding: 22px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .hamuya-home .find-us .booking-button { transition: none; } }
