/* A quiet textured backdrop and one visible consultation form. */
.contacts{padding:80px 0;background:#f2f0e9}
.contacts:before{inset:-20px;filter:blur(7px);opacity:.24}
.contacts-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,5vw,80px);align-items:start}
.contacts-inner>div:first-child{padding-top:8px;min-width:0}
.contacts .contact-location{align-items:flex-start;margin-top:32px;line-height:1.8}
.contacts .contact-location>svg{margin-top:4px}
.contacts .contact-location small,.contacts .address-note,.contacts .contact-placeholder small{color:#5d6158}
.contacts .contact-channels{margin-top:32px;padding-top:27px;border-top:1px solid #d3d0c5;max-width:440px}
.contacts .contact-action{padding:32px;background:#fffdf9;border:1px solid #e0dcd1;border-radius:10px;box-shadow:0 10px 35px #403e3006;min-width:0;width:100%;scroll-margin-top:30px}
.booking-panel h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.4;letter-spacing:-.6px;outline-offset:6px}
.contacts .booking-intro{font-size:14px;line-height:1.8;color:#686c63;margin:14px 0 24px;max-width:460px}
.booking-panel label{display:block;font-size:12px;font-weight:600;margin:17px 0 7px}
.booking-panel .form-row{gap:16px}
.booking-panel .form-row label{margin-top:0}
.booking-panel input:not([type=checkbox]),.booking-panel select,.booking-panel textarea{display:block;width:100%;min-width:0;padding:12px 13px;border:1px solid #cecec3;border-radius:5px;background:white;font-size:14px;line-height:1.7;color:var(--ink)}
.booking-panel textarea{resize:vertical;min-height:105px}
.booking-panel :is(input,select,textarea):focus-visible{outline:2px solid #8b7a62;outline-offset:2px}
.contacts .booking-panel .field-hint{font-size:11px;line-height:1.6;color:#686c63;margin:7px 0 0}
.booking-panel .consent-check{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.75;font-weight:400;margin:22px 0 8px}
.booking-panel .consent-check input{margin-top:3px}
.contacts .booking-panel .privacy-note{font-size:11px;line-height:1.7;margin:0 0 22px;color:#686c63}
.contacts .booking-panel .form-status{font-size:13px;margin:15px 0 0;line-height:1.7}
.contacts .booking-panel .form-status.is-error{color:#944735}
.contacts .booking-panel .dialog-note{font-size:11px;line-height:1.7;margin:12px 0 0;color:#686c63}
.booking-panel .booking-alternative{margin-top:22px;padding-top:18px}
.contacts .booking-panel .submit-booking{font-size:13px;padding:17px 22px}
.hero-side-note{color:#2c342b;background:#f5f3edf2;padding:17px 21px;border-left:2px solid #9d8c70;border-radius:3px;backdrop-filter:blur(6px);text-shadow:none}
.hero-side-note span{background:#8b7a62;margin-top:12px}
.hero-bottom a{color:#293129;background:#f5f3edf2;border:1px solid #d5d3c9;border-radius:30px;padding:6px 15px;gap:15px;font-weight:600;backdrop-filter:blur(6px)}
.hero-bottom a:hover{background:#fff}
@media(min-width:901px) and (max-width:1150px){.hero-side-note{display:block;font-size:11px;right:0;bottom:100px;padding:13px 16px}}
@media(max-width:1000px){.contacts-inner{gap:30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.contacts h2{font-size:36px}.contacts .contact-action{padding:25px}.booking-panel .form-row{grid-template-columns:1fr;gap:16px}.booking-panel h3{font-size:25px}}
@media(max-width:700px){.contacts{padding:50px 0}.contacts-inner{grid-template-columns:1fr;gap:35px}.contacts-inner>div:first-child{padding-top:0}.contacts .contact-action{padding:25px 22px}.contacts h2{font-size:34px}.contacts .contact-channels{max-width:none}.booking-panel :is(input:not([type=checkbox]),select,textarea){font-size:16px}.contacts .booking-intro{font-size:14px}.hero-bottom a{font-size:10px;gap:8px;padding:5px 10px;white-space:nowrap}.hero-bottom>span{max-width:52%}.booking-panel .optional-label{float:none;margin-left:6px}}
