.contact-page{min-height:calc(100vh - 76px);padding:72px 0 88px}
.contact-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr);gap:64px;align-items:start}
.contact-intro{position:sticky;top:40px;padding-top:24px}
.contact-intro h1{margin:0;font-size:clamp(42px,5vw,64px);line-height:1.04;letter-spacing:-.05em}
.contact-intro .lead{margin-top:20px;font-size:18px}
.contact-detail{display:flex;align-items:center;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}
.contact-detail-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:12px;background:rgba(75,159,50,.11);color:var(--green);font-size:20px}
.contact-detail a{color:var(--brown-dark);font-weight:800;text-decoration:none}
.contact-card{padding:36px;border:1px solid var(--line);border-radius:24px;background:rgba(255,253,248,.88);box-shadow:0 24px 65px rgba(73,55,43,.13)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{margin-bottom:20px}.form-field label{display:block;margin-bottom:7px;color:var(--brown-dark);font-size:14px;font-weight:800}
.form-field input,.form-field textarea{display:block;width:100%;border:1px solid rgba(79,61,50,.22);border-radius:12px;background:#fff;color:var(--ink);font:inherit;transition:border-color .18s,box-shadow .18s}
.form-field input{height:50px;padding:0 15px}.form-field textarea{min-height:170px;padding:13px 15px;line-height:1.55;resize:vertical}
.form-field input:hover,.form-field textarea:hover{border-color:rgba(79,61,50,.4)}
.form-field input:focus,.form-field textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 4px rgba(75,159,50,.14)}
.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{border-color:#a33b32;box-shadow:0 0 0 3px rgba(163,59,50,.1)}
.field-error{display:block;min-height:20px;margin-top:5px;color:#8b3029;font-size:12px;font-weight:650}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit{display:flex;align-items:center;gap:20px;margin-top:4px}.form-submit .button{min-width:190px;cursor:pointer;font:inherit}.form-submit .button:disabled{cursor:wait;opacity:.65;transform:none}
.form-status{margin:0;color:var(--muted);font-size:14px;font-weight:750}.form-status.success{color:#347225}.form-status.error{color:#8b3029}
@media(max-width:820px){.contact-page{padding-top:48px}.contact-layout{grid-template-columns:1fr;gap:34px}.contact-intro{position:static;padding-top:0}.contact-detail{max-width:420px}.contact-card{padding:28px}}
@media(max-width:560px){.contact-page{padding:36px 0 60px}.contact-grid{grid-template-columns:1fr;gap:0}.contact-card{padding:22px 18px;border-radius:18px}.form-submit{align-items:stretch;flex-direction:column}.form-submit .button{width:100%}}
