/* Homepage contact section: existing Woodford and Botanical Duo tokens. */
.contact-section{padding-block:72px 80px;background:var(--paper);scroll-margin-top:24px}
.contact-section [hidden]{display:none!important}
.contact-section a,.contact-section a:hover{text-decoration:none}
.contact-section a,.contact-section button{touch-action:manipulation}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,6vw,90px);align-items:start}
.contact-copy,.contact-card{min-width:0}
.contact-icon{width:84px;height:84px;object-fit:contain;margin-bottom:19px}
.contact-copy h2{font-size:clamp(37px,4.5vw,58px);line-height:1.05;letter-spacing:-.055em;margin-top:18px;text-wrap:balance}
.contact-intro{max-width:33ch;margin-top:23px;font-size:17px;line-height:1.65}
.contact-reservation{max-width:39ch;margin-top:28px;padding-top:23px;border-top:1px solid var(--line)}
.contact-reservation>p,.contact-fallback>p{font-size:15px;line-height:1.65}
.contact-section .contact-link{display:flex;align-items:center;gap:9px;min-height:44px;max-width:100%;margin:0;padding-block:8px;font-size:15px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.contact-section .contact-link>span{flex:0 0 auto}
.contact-section .contact-link:hover{color:var(--green)}
.contact-fallback{margin-top:22px}
.contact-fallback>p{margin-bottom:3px}
.contact-card{padding:32px;border:1px solid var(--line);border-radius:24px;background:#eef3e2}
.contact-form,.contact-fields{min-width:0;margin:0;padding:0;border:0}
.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-field{min-width:0}
.contact-field label{display:block;font-size:14px;font-weight:700;line-height:1.5;margin-bottom:9px}
.contact-field label>span{font-size:12px;font-weight:400;white-space:nowrap}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;min-height:48px;padding:12px 13px;border:1px solid #a9b99e;border-radius:10px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:16px;line-height:1.5;box-shadow:none}
.contact-field textarea{min-height:142px;resize:vertical}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-color:var(--green)}
.contact-field input[aria-invalid="true"],.contact-field textarea[aria-invalid="true"]{border-color:#8b3829}
.contact-fields:disabled input,.contact-fields:disabled textarea{opacity:.7;cursor:default}
.contact-field input[readonly],.contact-field textarea[readonly]{background:#f0f3e8}
.contact-message-field{margin-top:22px}
.contact-field-error{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:#8b3829;overflow-wrap:anywhere}
.contact-field-error:empty{display:none}
.contact-field-hint{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:#49614e}
.contact-privacy{margin-top:20px;font-size:13px;line-height:1.6;color:#49614e}
.contact-privacy a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding-block:8px;font-weight:700;color:var(--ink)}
.contact-submit,.contact-secondary{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:48px;padding:13px 22px;border-radius:999px;font:inherit;font-size:15px;font-weight:700;line-height:1.45;text-align:center}
.contact-submit{margin-top:13px;background:var(--ink);color:var(--paper)}
.contact-submit:hover:not(:disabled){background:var(--green)}
.contact-submit:disabled{opacity:.6;cursor:default}
.contact-secondary{margin-top:13px;border:1px solid #91a286;background:var(--paper);color:var(--ink)}
.contact-secondary:disabled{opacity:.6;cursor:default}
.contact-status{max-width:none;margin-top:17px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.contact-status:empty{display:none}
.contact-status.is-error{color:#8b3829}
.contact-notice{margin-bottom:22px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.contact-notice a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:35px}.contact-card{padding:27px}.contact-field-grid{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(max-width:760px){.contact-section{padding-block:48px 55px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:28px}.contact-icon{width:67px;height:67px;margin-bottom:16px}.contact-copy h2{font-size:40px;margin-top:15px}.contact-intro{font-size:16px;margin-top:19px;max-width:42ch}.contact-reservation{margin-top:23px;padding-top:18px;max-width:none}.contact-fallback{margin-top:17px}.contact-card{padding:25px 22px;border-radius:21px}.contact-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.contact-field label{font-size:14px}.contact-privacy{margin-top:16px}}
@media(max-width:520px){.contact-field-grid{grid-template-columns:minmax(0,1fr);gap:18px}.contact-submit{width:100%}.contact-card{padding:24px 20px}.contact-copy h2{font-size:37px}.contact-secondary{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-section *{scroll-behavior:auto;transition:none;animation:none}}

.contact-section .contact-fallback .contact-link{gap:10px}
.contact-section .contact-fallback .contact-link img{width:26px;height:26px;flex:0 0 26px;object-fit:contain}
.contact-section .contact-fallback .contact-link>span{flex:1 1 auto;min-width:0}
