:root{--contact-green:#10231c;--contact-ink:#17211c;--contact-paper:#fff9f2;--contact-line:#dce5dc}
body{background:var(--contact-paper)}
input,textarea{font:inherit}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #80bba0;outline-offset:3px}
.contact-hero-shell{overflow:hidden}
.contact-hero{display:flex;align-items:center;min-height:490px;padding:85px 0 90px}
.contact-hero-copy{max-width:1100px}
.contact-kicker{display:inline-flex;align-items:center;gap:12px;color:#a9e1be}
.contact-hero h1{line-height:.94;letter-spacing:-.075em;margin:27px 0 25px;}
.contact-hero h1 em{font-style:normal;color:#a9e1be}
.contact-hero-copy>p{max-width:600px;color:#c2d6c8;font-size:18px;line-height:1.58}
.contact-light{background:var(--contact-paper)}
.contact-intro-line{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--contact-line);padding:24px 0;font-size:13px;font-weight:700}
.contact-intro-line .signal-dot{background:#4f9471;box-shadow:0 0 0 5px #4f947122}
.contact-intro-line span:last-child{margin-left:auto;color:#718174;font-weight:500}
.contact-section{padding:72px 0 100px;scroll-margin-top:24px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:22px;align-items:stretch}
.contact-form-card{min-width:0;background:#fff;border:1px solid #dce6de;border-radius:29px;padding:43px 45px 38px;box-shadow:0 20px 50px #233e290b}
.contact-form-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px;padding-bottom:28px;border-bottom:1px solid var(--contact-line)}
.contact-form-head h3{font-size:32px;line-height:1.08;letter-spacing:-.055em;font-weight:500;margin-top:10px}
.contact-form-head>span{font-size:12px;color:#748679;white-space:nowrap}
.contact-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-field label,.contact-topics legend{display:block;font-size:13px;font-weight:700;margin-bottom:10px}
.contact-field input,.contact-field textarea{display:block;width:100%;border:1px solid #d6e2d8;background:#fbfdf9;border-radius:13px;color:var(--contact-ink);outline:0;padding:15px 17px;font-size:15px;transition:border-color .2s,box-shadow .2s}
.contact-field input{height:54px}
.contact-field textarea{min-height:175px;resize:vertical;line-height:1.5}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#9aa99d}
.contact-field input:focus,.contact-field textarea:focus{border-color:#5ca778;box-shadow:0 0 0 3px #91cba129}
.contact-topics{border:0;margin:29px 0 28px;padding:0;min-width:0}
.contact-topic-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.contact-topic-options label{min-width:0;cursor:pointer;position:relative}
.contact-topic-options input{position:absolute;opacity:0;width:1px;height:1px}
.contact-topic-options span{min-height:57px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #d6e2d8;border-radius:13px;padding:11px 12px;color:#587060;background:#fbfdf9;font-size:12px;line-height:1.25;font-weight:600;transition:background .2s,border-color .2s,color .2s}
.contact-topic-options input:checked+span{background:#e4f2e7;border-color:#75b58e;color:#1c5939}
.contact-topic-options input:focus-visible+span{outline:3px solid #80bba0;outline-offset:3px}
.contact-message-field>p{margin-top:9px;color:#748679;font-size:12px;line-height:1.45}
.contact-form-end{display:flex;align-items:end;justify-content:space-between;gap:24px;border-top:1px solid var(--contact-line);margin-top:29px;padding-top:25px}
.contact-form-end p{max-width:300px;font-size:12px;line-height:1.55;color:#6c7c70}
.contact-form-end p a,.contact-form-note a{text-decoration:underline;text-underline-offset:3px;color:#285d3c}
.contact-form-end button{border:0;border-radius:999px;background:#172d21;color:#fff;min-height:54px;padding:14px 23px;white-space:nowrap;font-size:14px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}
.contact-form-end button:hover{background:#285a3a;transform:translateY(-2px)}
.contact-form-note{font-size:11px;line-height:1.5;color:#819085;margin-top:18px}
.contact-form-status{margin-top:13px;border-radius:12px;background:#e9f4eb;color:#285a3a;padding:12px 14px;font-size:12px}
.contact-aside{display:flex;flex-direction:column;min-width:0;border:1px solid #dce6de;border-radius:29px;background:#e8f1e8;padding:38px}
.contact-aside-top h3{font-size:clamp(38px,3.5vw,50px);font-weight:500;line-height:1.02;letter-spacing:-.063em;margin-top:31px}
.contact-aside-top p{font-size:15px;line-height:1.6;color:#607168;margin-top:24px;max-width:270px}
.contact-aside-email{border-top:1px solid #cbded1;margin-top:42px;padding-top:27px}
.contact-aside-email a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;max-width:100%;overflow-wrap:anywhere;font-size:17px;font-weight:600;letter-spacing:-.02em;text-decoration:underline;text-underline-offset:5px}
.contact-aside-foot{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:45px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#6b8b76;font-weight:700}
.contact-aside-foot .signal-dot{background:#4f9471;box-shadow:0 0 0 5px #4f947122;width:8px;height:8px}
.contact-endcap{display:flex;align-items:end;justify-content:space-between;gap:30px;background:#e6f1e7;border-radius:30px;padding:51px 55px;margin-bottom:100px}
.contact-endcap h2{font-size:clamp(36px,4vw,55px);line-height:1;letter-spacing:-.065em;margin-top:17px}
.contact-endcap p{font-size:16px;color:#607168;margin-top:16px}
.contact-endcap>a{display:inline-flex;align-items:center;gap:24px;white-space:nowrap;padding:16px 22px;border-radius:999px;background:#172d21;color:#fff;font-size:14px;font-weight:700}
@media(max-width:1100px){.contact-form-card{padding:35px}.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr)}.contact-aside{padding:31px}.contact-topic-options{grid-template-columns:1fr}.contact-topic-options span{min-height:48px;justify-content:flex-start;padding-left:16px}}
@media(max-width:900px){.contact-light{--contact-stack-gap:32px}.contact-hero{min-height:0;padding:80px 0 85px}.contact-section{padding:var(--contact-stack-gap) 0}.contact-grid{display:block}.contact-topic-options{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-topic-options span{min-height:57px;justify-content:center;padding:11px 12px}.contact-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:0 35px;min-height:0;margin-top:var(--contact-stack-gap)}.contact-aside-email{border-top:0;border-left:1px solid #cbded1;margin-top:0;padding:0 0 0 32px}.contact-aside-foot{grid-column:1/-1;border-top:1px solid #cbded1;margin-top:30px;padding-top:22px}.contact-endcap{margin-bottom:var(--contact-stack-gap)}}
@media(max-width:700px){.contact-hero{padding:67px 0 70px}.contact-hero-copy>p{font-size:16px}.contact-intro-line span:last-child{display:none}.contact-form-card{padding:30px 26px}.contact-topic-options{grid-template-columns:1fr}.contact-topic-options span{min-height:48px;justify-content:flex-start;padding-left:16px}.contact-form-end{display:block}.contact-form-end button{margin-top:22px}.contact-aside{display:flex;min-height:330px}.contact-aside-email{border-left:0;border-top:1px solid #cbded1;margin-top:42px;padding:27px 0 0}.contact-aside-foot{border-top:0;margin-top:auto;padding-top:28px}.contact-aside-top h3{margin-top:20px}.contact-endcap{display:block;padding:37px}.contact-endcap>a{margin-top:28px}}
@media(max-width:430px){.contact-kicker{font-size:10px;letter-spacing:.11em}.contact-form-card{padding:25px 20px}.contact-form-head{align-items:start;display:block}.contact-form-head h3{font-size:28px}.contact-form-head>span{display:block;margin-top:12px}.contact-field-row{grid-template-columns:1fr;gap:21px}.contact-form-end button{width:100%;justify-content:center;display:flex;align-items:center}.contact-aside{padding:29px}.contact-endcap{padding:30px}.contact-endcap h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.contact-form-end button,.contact-topic-options span,.contact-field input,.contact-field textarea{transition:none}}
