
:root{--contact-green:#168447;--contact-ink:#101714;--contact-muted:#66706a;--contact-line:#dbe2de;--contact-soft:#f4f7f5}
.contact-main{background:#fff;color:var(--contact-ink)}
.contact-hero{padding:84px max(24px,6vw) 54px;background:var(--contact-soft);border-bottom:1px solid var(--contact-line)}
.contact-hero-inner,.contact-layout{width:min(1180px,100%);margin:auto}
.contact-hero .eyebrow{color:var(--contact-green);font-weight:800;letter-spacing:.16em}
.contact-hero h1{font-size:clamp(2.3rem,6vw,5.4rem);line-height:1;margin:.28em 0 .32em;letter-spacing:-.045em}
.contact-hero p:last-child{max-width:760px;color:var(--contact-muted);font-size:clamp(1rem,2vw,1.15rem);line-height:1.9}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding:70px 24px 100px}
.form-intro{margin:0 0 34px;font-size:1rem;line-height:1.8;color:var(--contact-muted)}
.required-note{display:inline-block;margin-left:.4em;color:#b42318;font-size:.82rem;font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}
.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}
.field label,.privacy-check{font-weight:750;font-size:.94rem}
.req{color:#b42318;margin-left:.35em;font-size:.78rem}
.field input,.field select,.field textarea{width:100%;border:1px solid #aeb8b2;background:#fff;border-radius:3px;padding:14px 15px;font:inherit;color:inherit;transition:.18s}
.field textarea{min-height:190px;resize:vertical;line-height:1.75}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(22,132,71,.15);border-color:var(--contact-green)}
.hint{margin:0;color:var(--contact-muted);font-size:.82rem;line-height:1.6}
.privacy{grid-column:1/-1;padding:20px;background:var(--contact-soft);border:1px solid var(--contact-line)}
.privacy-check{display:flex;align-items:flex-start;gap:10px;line-height:1.7}.privacy-check input{margin-top:.35em;width:18px;height:18px;accent-color:var(--contact-green)}
.submit-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin-top:4px}
.submit-button{appearance:none;border:0;border-radius:999px;background:var(--contact-green);color:#fff;padding:17px 38px;font:inherit;font-weight:800;cursor:pointer;min-width:220px;box-shadow:0 8px 24px rgba(22,132,71,.2)}
.submit-button:hover{filter:brightness(.92);transform:translateY(-1px)}
.submit-note{color:var(--contact-muted);font-size:.82rem;line-height:1.6}
.contact-side{align-self:start;position:sticky;top:110px;border-top:4px solid var(--contact-green);background:var(--contact-soft);padding:28px}
.contact-side h2{font-size:1.3rem;margin:0 0 18px}.contact-side dl{margin:0}.contact-side dt{font-size:.78rem;color:var(--contact-muted);margin-top:18px}.contact-side dd{margin:5px 0 0;font-weight:750}.contact-side a{color:var(--contact-green)}
.business-hours{margin-top:24px;padding-top:20px;border-top:1px solid var(--contact-line);font-size:.86rem;line-height:1.7;color:var(--contact-muted)}
.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:820px){.contact-hero{padding-top:54px}.contact-layout{grid-template-columns:1fr;gap:42px;padding-top:48px}.contact-side{position:static;order:-1}.form-grid{grid-template-columns:1fr}.field.full,.privacy,.submit-row{grid-column:1}.submit-row{align-items:stretch;flex-direction:column}.submit-button{width:100%}}
