/* Scoped to the contact page; form controls remain readable at phone widths. */
.contact-feedback {padding-block:clamp(36px,5vw,76px) clamp(48px,6vw,88px)}
.contact-feedback .contact-intro {max-width:900px;margin-bottom:clamp(30px,4vw,52px)}
.contact-feedback .contact-intro h1 {font-size:clamp(40px,4.6vw,66px);line-height:1.07;margin:16px 0 20px;letter-spacing:-.035em}
.contact-feedback .contact-intro>p:last-child {font-size:17px;line-height:1.65;max-width:600px;margin:0;color:#5b6253}
.contact-feedback-grid {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(36px,7vw,100px);align-items:start}
.contact-feedback .contact-label {font:600 11px/1.5 var(--sans,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase;margin:0 0 11px;color:#995535}
.contact-details {max-width:430px}
.contact-feedback .contact-phone {display:inline-flex;align-items:center;min-height:44px;font-size:clamp(23px,2.4vw,32px);line-height:1.2;letter-spacing:0;margin:0;color:#303a29;text-decoration:none}
.contact-direct>p:last-child,.contact-book>p {font-size:15px;line-height:1.65;margin:12px 0 0;color:#5b6253;max-width:320px}
.contact-address {margin-top:27px}
.contact-address address {font:400 16px/1.65 var(--sans,Arial,sans-serif);color:#303a29;font-style:normal}
.contact-feedback .text-link {font:500 14px/1.4 var(--sans,Arial,sans-serif);display:inline-flex;align-items:center;min-height:44px;gap:8px;text-decoration:underline;text-underline-offset:5px;margin:6px 0 0}
.contact-detail-photo {height:190px;width:100%;margin:24px 0 0;overflow:hidden;border-radius:2px}
.contact-detail-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.contact-book {margin-top:17px}
.contact-write {border-top:1px solid #d8dbd0;padding-top:25px;min-width:0}
.contact-write h2 {font-size:34px;line-height:1.15;margin:0 0 16px;color:#303a29}
.contact-test-note {font-size:13px;line-height:1.6;color:#6b583d;margin:0 0 25px;max-width:560px}
.contact-input-row {display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-field {min-width:0;margin-bottom:18px}
.contact-field>label {display:block;font-size:14px;line-height:1.45;font-weight:500;margin-bottom:8px}
.contact-field input,.contact-field textarea {box-sizing:border-box;width:100%;max-width:100%;border:1px solid #aeb3a4;border-radius:4px;background:#fff;color:#303a29;padding:12px 13px;font:400 16px/1.5 var(--sans,Arial,sans-serif)}
.contact-field input {min-height:48px}
.contact-field textarea {min-height:140px;resize:vertical}
.contact-feedback :is(input,textarea,button,a):focus-visible {outline:2px solid #6a7457;outline-offset:4px}
.contact-field :is(input,textarea)[aria-invalid=true] {border-color:#a34126}
.contact-field-hint {font-size:12px;line-height:1.6;color:#606852;margin:7px 0 0}
.contact-field-error {color:#99351f;font-size:12px;line-height:1.5;margin:6px 0 0}
.contact-field-error:empty {display:none}
.contact-consent {display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:13px;line-height:1.65;cursor:pointer}
.contact-consent input {flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:#3c4830}
.contact-privacy {font-size:12px;line-height:1.65;color:#68705d;margin:17px 0 23px}
.contact-submit {font:600 13px/1.4 var(--sans,Arial,sans-serif);letter-spacing:.025em;min-height:50px;padding:14px 25px;white-space:normal}
.contact-submit:disabled {cursor:wait;opacity:.65}
.contact-submit[hidden] {display:none}
.contact-status {font-size:14px;line-height:1.6;margin:16px 0 0;color:#3a4a2d}
.contact-status:empty {display:none}
.contact-status[data-state=error] {color:#99351f}
.contact-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.contact-feedback-grid{grid-template-columns:1fr;gap:35px}.contact-write{order:-1}.contact-feedback .contact-intro{margin-bottom:28px}.contact-feedback .contact-intro h1{font-size:42px}.contact-feedback .contact-intro>p:last-child{font-size:16px}.contact-details{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-address{margin:0}.contact-detail-photo{grid-column:1/-1;height:220px;margin:0}.contact-book{grid-column:1/-1;margin:0}.contact-feedback .contact-phone{font-size:23px}.contact-write h2{font-size:30px}.contact-write{padding-top:22px}.contact-test-note{margin-bottom:22px}}
@media(max-width:440px){.contact-feedback{padding:32px 22px 48px}.contact-feedback .contact-intro h1{font-size:38px}.contact-input-row{grid-template-columns:1fr;gap:0}.contact-details{grid-template-columns:1fr;gap:26px}.contact-detail-photo{height:190px}.contact-submit{width:100%}.contact-consent{font-size:12px}.contact-write h2{font-size:29px}}
