﻿/* Preserve the reference document's white page, centered layout and bold Arial Narrow type. */
:root { color-scheme: light; font-family: "Arial Narrow", "Liberation Sans Narrow", Arial, sans-serif; color: #111; background: #fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-size: 18px; line-height: 1.5; font-weight: 700; }
main { width: min(100% - 44px, 780px); margin: 0 auto; padding: 40px 0 52px; }
header, section { text-align: center; }
.site-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; width: fit-content; max-width: 100%; margin: 0 auto 36px; padding: 7px; }
.site-nav a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding: 12px 25px; border-radius: 999px; color: #214942; background: #d5e5dc; box-shadow: 0 3px 9px #164f5312; font-family: Arial, sans-serif; font-size: 16px; font-weight: 600; text-decoration: none; transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.site-nav a:hover { background: #bed7c9; transform: translateY(-1px); }
.site-nav a[aria-current="page"] { background: #b5d0c0; color: #123d35; box-shadow: inset 0 0 0 2px #749c86; }
.site-nav a.nav-booking { color: #fff; background: #164f53; box-shadow: 0 3px 10px #164f5320; }
.site-nav a.nav-booking:hover { background: #0b3639; }
section[id] { scroll-margin-top: 28px; }
#about-me { padding: 24px; border-radius: 24px; transition: background-color .35s ease, box-shadow .35s ease; }
#about-me:target:not(.focus-dismissed) { background: #edf5ef; box-shadow: 0 0 0 2px #b5d0c0, 0 12px 32px #164f5312; animation: about-focus .55s ease-out; }
#about-me:target:not(.focus-dismissed) p { font-size: 1.12em; line-height: 1.65; }
@keyframes about-focus { from { transform: scale(.97); } to { transform: scale(1); } }
h1 { margin: 0 0 27px; font-size: 36px; line-height: 1.2; }
.original-art { display: block; width: 100%; height: auto; aspect-ratio: 6027027 / 3693795; object-fit: fill; }
.subtitle { margin: 28px 0 0; font-size: 32px; line-height: 1.25; }
section { margin-top: 52px; }
h2 { margin: 0 0 15px; font-size: 20px; line-height: 1.4; text-decoration: underline; text-underline-offset: 3px; }
p { margin: 0 0 16px; }
.intentions { margin: 0; padding: 0; list-style: none; }
.intentions li { margin: 3px 0; }
.testimonial { margin: 24px 0; padding: clamp(20px, 4vw, 32px); border: 1px solid #d5e5dc; border-radius: 24px; background: #f4f8f6; text-align: left; }
.testimonial blockquote { margin: 0; font-weight: 400; line-height: 1.7; }
.testimonial figcaption { margin-top: 18px; color: #164f53; font-weight: 700; }
.page-photo { display: block; max-width: 100%; max-height: 650px; height: auto; margin: 0 auto 28px; border-radius: 18px; }
.preview-banner { padding: 12px; background: #fff0bf; color: #443410; text-align: center; }
.policies { text-align: left; margin-top: 62px; font-size: 16px; }
.policies h2 { margin: 27px 0 13px; }
.policies ul { padding-left: 23px; }
.policies li { margin-bottom: 8px; }
.entertainment { margin: 23px 0; }
.booking { margin-top: 42px; }
.prices { display: flex; justify-content: center; gap: 20px 38px; flex-wrap: wrap; margin: 25px 0 15px; }
.prices span { display: inline-block; margin-left: 10px; }
a { color: #164f53; text-underline-offset: 3px; }
.book-button { display: inline-block; padding: 14px 28px; margin-top: 8px; border-radius: 999px; color: #fff; background: #164f53; box-shadow: 0 4px 14px #164f5320; text-decoration: none; font: 600 17px/1.5 Arial, sans-serif; }
.book-button:hover { background: #0b3639; }
.contact-form { max-width: 580px; margin: 32px auto 0; padding: 28px; border: 1px solid #d5e5dc; border-radius: 24px; background: #f4f8f6; }
.contact-form label { display: block; margin-bottom: 8px; }
.contact-form input:not([type="hidden"]), .contact-form textarea { display: block; width: 100%; padding: 14px; margin-bottom: 22px; border: 1px solid #8ba69a; border-radius: 12px; background: #fff; color: #111; font: 17px/1.5 Arial, sans-serif; }
.contact-form textarea { resize: vertical; }
.contact-form .book-button { border: 0; cursor: pointer; }
.contact-form .book-button:disabled { opacity: .65; cursor: wait; }
.contact-form :is(input, textarea, button):focus-visible { outline: 3px solid #a77921; outline-offset: 3px; }
.form-note { font-size: 16px; font-weight: 400; }
#form-status { margin: 18px 0 0; }
.email { margin: 15px 0 0; font-size: 16px; overflow-wrap: anywhere; }
.policy-notice { margin-top: 38px; text-align: center; font-size: 16px; }
.policy-notice p { margin-bottom: 0; }
a:focus-visible { outline: 3px solid #a77921; outline-offset: 5px; }
.skip { position: fixed; top: -100px; left: 15px; padding: 12px; background: white; z-index: 2; }
.skip:focus { top: 10px; }
@media (max-width: 560px) {
  body { font-size: 17px; }
  main { width: calc(100% - 36px); padding-top: 28px; }
  .site-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; border-radius: 26px; }
  .site-nav a { padding: 10px 12px; }
  h1 { font-size: clamp(26px, 7vw, 34px); margin-bottom: 22px; }
  .subtitle { font-size: 27px; margin-top: 23px; }
  section { margin-top: 38px; }
  h2 { font-size: 19px; }
  .policies { margin-top: 42px; }
  .prices { flex-direction: column; gap: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .site-nav a, #about-me { transition: none; } .site-nav a:hover { transform: none; } #about-me:target { animation: none; } }
