.visit-reservation{max-width:900px;margin:34px 0 42px;padding:clamp(22px,4vw,42px);border:1px solid #d9c9a8;border-top:3px solid #a87934;background:#faf7ee;scroll-margin-top:90px}
.visit-reservation__heading .eyebrow{margin:0 0 8px;color:#a87934;font-size:11px;letter-spacing:.18em}
.visit-reservation__heading h2{margin:0 0 12px;color:#15392f;font-size:clamp(24px,3vw,32px);font-weight:500}
.visit-reservation__heading p:last-child{color:#625e55;font-size:13px;line-height:1.9}
.visit-form{margin-top:26px;color:#15392f}
.visit-form__guide{font-size:12px;color:#625e55;margin:0 0 24px}
.visit-form fieldset{border:0;margin:0 0 28px;padding:0;min-width:0}
.visit-form legend{width:100%;margin-bottom:20px;padding:0 0 10px;border-bottom:1px solid #d9c9a8;font-size:18px;font-weight:500}
.visit-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.visit-form__field{min-width:0}
.visit-form__field label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500}
.visit-form__required,.visit-form__optional{display:inline-block;padding:2px 6px;font-size:10px;line-height:1.5;font-weight:400;white-space:nowrap}
.visit-form__required{background:#173a30;color:#fff8e9}
.visit-form__optional{background:#eae4d7;color:#6d675c}
.visit-form input,.visit-form select,.visit-form textarea{box-sizing:border-box;display:block;width:100%;min-height:48px;padding:11px 12px;border:1px solid #cfc5b2;border-radius:3px;background:#fffdf8;color:#243d32;font:inherit;font-size:16px;line-height:1.5}
.visit-form textarea{resize:vertical;min-height:140px}
.visit-form input::placeholder,.visit-form textarea::placeholder{color:#898375;font-size:13px}
.visit-form input:focus-visible,.visit-form select:focus-visible,.visit-form textarea:focus-visible{outline:2px solid #a87934;outline-offset:2px}
.visit-form__privacy{margin:22px 0;color:#625e55;font-size:12px;line-height:1.8}
.visit-form__submit{text-align:center}
.visit-form__submit button{cursor:pointer;min-height:50px;min-width:250px;font:inherit}
.visit-form__submit p{color:#625e55;font-size:12px;line-height:1.8;margin:12px 0 0}
.visit-form__status:empty{display:none}
.visit-form__status,.visit-form__fallback{margin:20px 0 0;padding:14px 16px;border-left:3px solid #a87934;background:#f1ead9;color:#15392f;font-size:13px;line-height:1.9}
.visit-alternative-title{color:#15392f;font-size:22px;font-weight:500;margin:0 0 16px}
@media(max-width:640px){.visit-reservation{padding:24px 18px}.visit-form__grid{grid-template-columns:1fr;gap:18px}.visit-form__field label{font-size:13px}.visit-form__submit button{width:100%;min-width:0}.visit-form legend{font-size:17px}}