/* September 2026: home film, privacy notices and guest information. */
[hidden] { display: none !important; }
.section-eyebrow { display:block; font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; line-height:1.7; }
.booking-strip { background:#eee7dd; padding:27px 0; }
.booking-strip .container { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.booking-strip p { font-size:25px; margin:6px 0 0; }
.home-bath { padding:96px 0; background:#f8f5f0; }
.home-bath__grid { display:grid; grid-template-columns:.85fr 1.35fr; gap:70px; align-items:center; }
.home-bath__copy h2 { font-family:'Santa Catarina Regular',Georgia,serif; font-size:86px; font-weight:400; line-height:.95; margin:25px 0; }
.home-bath__copy p { font-size:17px; line-height:1.85; max-width:390px; margin-bottom:28px; }
.home-bath__phone { display:block; margin-top:22px; font-size:13px; color:#7a5c3a; }
.home-bath .home-bath__media { width:100%; position:relative; height:auto; aspect-ratio:8/5; min-height:0; margin:0; border-radius:3px; overflow:hidden; }
.home-bath__media video { width:100%; height:100%; object-fit:cover; display:block; }
.video-toggle { position:absolute; right:18px; bottom:18px; border:1px solid #ffffff80; background:#241c13cc; color:white; padding:10px 17px; font:inherit; font-size:12px; border-radius:40px; cursor:pointer; z-index:2; }
.video-toggle:focus-visible, .external-content button:focus-visible, a:focus-visible { outline:3px solid #ae8457; outline-offset:5px; }
.home-about { margin-top:0; display:grid; grid-template-columns:1fr 1fr; }
.home-about > .container { box-sizing:border-box; width:100%; max-width:none; min-width:0; padding:0 50px; }
.home-about .about__wrapper { padding-top:65px; padding-bottom:65px; }
.home-about .comment-title p { margin:0 0 18px; }
.home-about__film { margin:0; width:100%; align-self:stretch; position:relative; overflow:hidden; background:#312c26; }
.home-about__film video { width:100%; height:100%; object-fit:cover; display:block; }
.home-about__film figcaption { position:absolute; left:25px; bottom:25px; max-width:65%; color:#fff; font-size:13px; line-height:1.6; text-shadow:0 1px 5px #000; }
.external-content { background:#f1ece5; border:1px solid #ddd4c7; border-radius:8px; overflow:hidden; margin:24px 0; }
.external-content__notice { padding:40px; text-align:center; }
.external-content__notice > p:first-child { font-size:24px; margin:0 0 16px; }
.external-content__detail { font-size:14px; line-height:1.7; max-width:700px; margin:0 auto 24px; }
.external-content a, .booking-intro a, .booking-help a, .certificate-rules a, .legal-page a { color:#765332; text-decoration:underline; text-underline-offset:3px; }
.external-content__link { display:block; font-size:14px; margin-top:20px; }
.external-content iframe { border:0; display:block; }
.external-content__stop { display:block; margin:15px auto; padding:10px 16px; border:1px solid #7a5c3a; color:#5c4229; background:transparent; cursor:pointer; border-radius:4px; font:inherit; font-size:13px; }
.booking-intro p, .booking-help, .certificate-rules { font-size:16px; line-height:1.8; margin-bottom:20px; }
.booking-help { margin-top:25px; }
.footer__legal { display:flex; flex-wrap:wrap; gap:14px 28px; padding:28px 0; border-top:1px solid #d9cfc1; font-size:13px; }
.footer__legal a { color:#62472b; text-decoration:underline; text-underline-offset:4px; }
.legal-main { padding-top:110px; background:#f8f5f4; }
.legal-body .header { background:#312c26; }
.legal-page { max-width:920px; margin:auto; padding:70px 24px 90px; }
.legal-page h1 { font-family:'Santa Catarina Regular',Georgia,serif; font-size:54px; line-height:1.15; font-weight:400; margin:20px 0 30px; overflow-wrap:anywhere; }
.legal-page h2 { font-size:24px; font-weight:500; margin:36px 0 14px; line-height:1.4; }
.legal-page p, .legal-page li { font-size:16px; line-height:1.8; margin-bottom:16px; }
.legal-page ul { padding-left:22px; list-style:disc; }
.legal-page .legal-date { font-size:13px; color:#6d6256; }
.legal-page [id] { scroll-margin-top:110px; }
.legal-nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin:25px 0; }
.legal-page a { overflow-wrap:anywhere; }
.legal-main ~ .footer { margin-top:0; }
.legal-main .btn { text-decoration:none; color:#fff; }
@media (max-width:1100px) {
  .home-bath__grid { gap:35px; grid-template-columns:1fr 1.2fr; }
  .home-bath__copy h2 { font-size:70px; }
}
@media (max-width:760px) {
  .booking-strip .container { flex-direction:column; align-items:flex-start; gap:20px; }
  .booking-strip p { font-size:22px; }
  .home-bath { padding:55px 0; }
  .home-bath__grid { grid-template-columns:1fr; gap:32px; }
  .home-bath__copy h2 { font-size:64px; }
  .home-bath__copy p { max-width:none; font-size:16px; }
  .home-bath__phone { font-size:14px; }
  .home-about { display:block; }
  .home-about > .container { padding:0 20px; }
  .home-about .about__wrapper { padding:50px 0; max-width:none; }
  .home-about__film { width:100%; height:360px; }
  .external-content__notice { padding:30px 18px; }
  .external-content .btn { white-space:normal; height:auto; min-height:52px; line-height:1.4; }
  .footer__legal { flex-direction:column; gap:18px; }
  .legal-page { padding:35px 20px 60px; }
  .legal-page h1 { font-size:40px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
