:root{--ci:#111;--cm:#5c6459;--cl:#c8ff3d;--cline:rgba(17,17,17,.12);--contact-section-space:clamp(82px,9vw,132px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;color:var(--ci);background:#fbfcf8;font-family:var(--esteem-font-body)}img{display:block;max-width:100%}
.contact-page{width:min(calc(100% - 48px),1280px);margin:auto;padding-bottom:72px}.contact-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:clamp(42px,7vw,110px);align-items:center;min-height:620px;padding:58px 0 88px}.contact-kicker{margin:0 0 16px;color:#6d8c13;font-size:12px;font-weight:700;letter-spacing:.14em}.contact-hero h1{max-width:680px;margin:0}.contact-hero-lead{max-width:610px;margin:28px 0 32px;color:var(--cm);font-size:clamp(17px,2vw,20px);line-height:1.55}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.contact-hero-visual{position:relative;margin:0;overflow:hidden;border-radius:32px;background:#f3faee;box-shadow:0 22px 70px rgba(17,17,17,.12)}.contact-hero-visual img{width:100%;aspect-ratio:1.12;object-fit:cover}.contact-hero-visual figcaption{position:absolute;right:16px;bottom:16px;left:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.45);border-radius:13px;background:rgba(255,255,255,.8);color:#3e4739;font-size:12px}.contact-section-heading h2,.contact-form-intro h2,.contact-office-visual h2,.contact-welcome h2,.contact-final-cta h2{margin:0}
.contact-details{padding:var(--contact-section-space) 0;border-top:1px solid var(--cline)}.contact-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}.contact-detail-card{min-height:188px;padding:23px 20px;border:1px solid var(--cline);border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(17,17,17,.045)}.contact-detail-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:24px;border-radius:11px;background:var(--cl);font-size:19px}.contact-detail-card h3{margin:0 0 12px;font-size:16px}.contact-detail-card p{margin:0;color:var(--cm);font-size:14px;line-height:1.55}.contact-detail-card a{color:inherit;text-decoration:none}.contact-detail-card a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-form-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(38px,8vw,120px);padding:96px clamp(24px,6vw,92px);border-radius:32px;background:#eef7e9}.contact-form-intro>p:not(.contact-kicker){max-width:400px;margin:22px 0 26px;color:var(--cm);line-height:1.6}.contact-form-note{display:grid;gap:6px;padding-top:22px;border-top:1px solid var(--cline);font-size:14px}.contact-form-note a{color:#5d7e00;text-decoration:none}.contact-page-form{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.contact-form-field{display:grid;gap:7px}.contact-form-field-wide{grid-column:1/-1}.contact-form-field label{color:rgba(17,17,17,.78);font:600 12px/1.2 var(--esteem-font-ui)}.contact-form-field input,.contact-form-field textarea{width:100%;min-height:46px;padding:12px 13px;border:1px solid rgba(17,17,17,.14);border-radius:11px;outline:none;background:#fafafa;color:#111;font:400 14px/1.3 var(--esteem-font-body);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.contact-form-field textarea{min-height:84px;resize:vertical}.contact-form-field input:focus,.contact-form-field textarea:focus{border-color:rgba(17,17,17,.62);background:#fff;box-shadow:0 0 0 3px rgba(226,250,90,.42)}.contact-form-field [aria-invalid=true]{border-color:#c43e35;box-shadow:0 0 0 3px rgba(196,62,53,.1)}.contact-field-error,.contact-submit-message{min-height:14px;color:#a82d25;font:500 11px/1.2 var(--esteem-font-ui)}.contact-submit-message{grid-column:1/-1;margin:0}.contact-submit-message.is-success{color:#416400}.contact-submit{justify-self:start}
.contact-office-visual{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:var(--contact-section-space) 0}.contact-office-visual p:not(.contact-kicker),.contact-welcome>p:not(.contact-kicker),.contact-final-cta>p:not(.contact-kicker){max-width:590px;margin:22px 0 0;color:var(--cm);font-size:17px;line-height:1.6}.contact-office-visual img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:26px}.contact-welcome{max-width:850px;padding:var(--contact-section-space) 0}.contact-process{padding:var(--contact-section-space) 0;border-top:1px solid var(--cline)}.contact-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.contact-process-grid article{padding:23px 20px 26px;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(17,17,17,.05)}.contact-process-grid article>span{color:#6d8c13;font-size:13px;font-weight:700}.contact-process-grid h3{margin:38px 0 12px;font-size:18px;line-height:1.2}.contact-process-grid p{margin:0;color:var(--cm);font-size:14px;line-height:1.5}.contact-final-cta{padding:clamp(42px,6vw,76px);border-radius:36px;background:var(--cl)}.contact-final-cta h2{max-width:640px}.contact-final-cta .contact-actions{margin-top:30px}
@media(max-width:1199px) and (min-width:810px){.contact-detail-grid{grid-template-columns:repeat(3,1fr)}.contact-process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:809px){.contact-hero{grid-template-columns:1fr;min-height:0;padding:52px 0 72px}}
@media(max-width:809px){.contact-page{width:min(calc(100% - 40px),640px)}.contact-detail-grid,.contact-form-section,.contact-office-visual{grid-template-columns:1fr}.contact-detail-grid{gap:12px}.contact-detail-card{min-height:0}.contact-form-section{padding:42px 22px}.contact-office-visual{padding:76px 0 64px}.contact-process-grid{grid-template-columns:1fr 1fr}.contact-form-field input,.contact-form-field textarea{min-height:50px;font-size:16px}}
@media(max-width:480px){.contact-page{width:calc(100% - 32px)}.contact-actions{width:100%}.contact-page-form{grid-template-columns:1fr}.contact-form-field-wide{grid-column:auto}.contact-submit{width:100%}.contact-process-grid{grid-template-columns:1fr}.contact-final-cta{padding:38px 24px}}

.contact-form-privacy{grid-column:1/-1;margin:0;color:rgba(17,17,17,.62);font:400 12px/1.45 var(--esteem-font-body)}
.contact-form-privacy a{color:#355500;font-weight:600;text-underline-offset:2px}
.contact-form-privacy a:hover,.contact-form-privacy a:focus-visible{color:#111}
