/* Contact: an open invitation with three clearly grouped parts. */
body.contact-page{--ink:#26382f;--muted:#61685f;--accent:#375540;--green:#375540;--paper:#f2f1eb;background:var(--paper)}
.contact-page .contact-layout{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(40px,6vw,92px);padding-block:72px 100px;align-items:start}
.contact-page .contact-intro{position:sticky;top:128px;padding-top:12px}
.contact-page .contact-intro .eyebrow{font-size:10px;letter-spacing:.15em;color:var(--green);margin-bottom:27px}
.contact-page .contact-intro h1{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.055em;font-size:clamp(60px,6.3vw,88px);line-height:1.02;max-width:510px;margin-bottom:26px}
.contact-page .contact-intro h1 em{font-family:inherit;font-weight:400;font-style:italic;color:var(--green)}
.contact-page .contact-intro>.contact-lead{font-size:20px;line-height:1.5;color:var(--ink);max-width:340px;margin-bottom:16px}
.contact-page .contact-intro>p:not(.eyebrow):not(.contact-lead){font-size:14px;line-height:1.85;max-width:350px}
.contact-page .contact-person{margin:36px 0 20px;gap:16px}
.contact-page .contact-person img{width:68px;height:78px;border-radius:34px 34px 10px 10px;filter:saturate(.65)}
.contact-page .contact-person strong{font-size:16px;font-weight:600;margin-bottom:4px}
.contact-page .contact-person span{font-size:11px}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.contact-direct a{font-size:15px;text-decoration:underline;text-decoration-color:#a5b19f;text-underline-offset:5px;transition:text-decoration-color .2s}
.contact-direct a:hover{text-decoration-color:var(--ink)}
.contact-page .next-steps{margin-top:34px;padding-top:22px;max-width:350px}
.contact-page .next-steps h2{font-family:Newsreader,Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.025em;margin-bottom:9px}
.contact-page .next-steps p{font-size:13px;line-height:1.8}
.contact-page .form-panel{padding:clamp(24px,3.2vw,46px);border:1px solid #dcded4;border-radius:18px;background:#fcfbf7;box-shadow:0 16px 60px -40px #26382f33;scroll-margin-top:112px}
.contact-page .form-panel form{gap:25px}
.form-heading{padding-bottom:24px;border-bottom:1px solid #dedfd6}
.contact-page .form-heading h2{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:36px;letter-spacing:-.035em;line-height:1.1;margin:0 0 8px}
.form-heading p{font-size:13px;color:var(--muted);margin:0}
.contact-page .form-panel .form-section{padding:0 0 25px;border-bottom:1px solid #dedfd6}
.contact-page .form-section legend{font-size:14px;font-weight:600;margin-bottom:17px;line-height:1.8;padding:0;width:100%}
.section-number{display:inline-block;margin-right:10px;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.06em;vertical-align:2px;font-variant-numeric:tabular-nums}
.contact-page .optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:5px}
.contact-page .project-options{gap:10px}
.contact-page .project-options label{margin:0}
.contact-page .project-options .project-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:66px;padding:14px 12px;border:1px solid #d3d7cb;border-radius:9px;background:transparent;font-size:12px;font-weight:600;color:var(--ink);transition:background .2s,border-color .2s,box-shadow .2s}
.project-choice svg{width:25px;height:25px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.contact-page .project-options input:checked+.project-choice{background:#e8eddf;border-color:var(--green);color:var(--ink);box-shadow:inset 0 0 0 1px var(--green)}
.contact-page .project-options input:focus-visible+.project-choice{outline:2px solid var(--green);outline-offset:3px}
.contact-page .form-grid{gap:18px 16px}
.contact-page .form-grid+.form-grid{margin-top:18px}
.contact-page .form-panel label{font-size:12px;margin-bottom:8px}
.contact-page .form-panel input:not([type=radio]):not([type=hidden]),.contact-page .form-panel textarea,.contact-page .form-panel select{font:400 16px/1.5 Manrope,Arial,sans-serif;background:#fffefb;border:1px solid #bfc6b9;border-radius:7px;min-height:50px;padding:12px;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.contact-page .form-panel input::placeholder,.contact-page .form-panel textarea::placeholder{font-size:13px;color:#6c7267;opacity:1}
.contact-page .form-panel textarea{min-height:152px;margin-bottom:18px;display:block}
.contact-page .form-panel select{font-size:16px;padding-right:26px}
.contact-page .form-panel input:focus-visible,.contact-page .form-panel textarea:focus-visible,.contact-page .form-panel select:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-color:var(--green);box-shadow:0 0 0 5px #37554009}
.contact-page .form-note{font-size:11px;line-height:1.8}
.contact-page #submit-button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:17px 21px;border-radius:8px;border-color:var(--green);background:var(--green);color:#fff;font-size:14px;transform:none}
.contact-page #submit-button::after{content:"";width:22px;height:22px;flex-shrink:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s}
.contact-page #submit-button:hover{background:#284431}
.contact-page #submit-button:hover::after{transform:translateX(3px)}
.contact-page #submit-button:disabled{opacity:.65;cursor:wait}
.contact-page .form-status{border-radius:8px;line-height:1.7}
.contact-page .inquiry-reference{margin:0;border-radius:0 8px 8px 0;background:#edf0e6}
.contact-page a:focus-visible,.contact-page button:focus-visible{outline:2px solid var(--green);outline-offset:5px}
@media(hover:hover){.contact-page .project-options label:hover .project-choice{border-color:var(--green);background:#eff2e9}}
@media(max-width:1000px){.contact-page .contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px}.contact-page .contact-intro h1{font-size:64px}.contact-page .form-panel{padding:26px}.contact-page .form-grid{grid-template-columns:1fr}.contact-page .project-options .project-choice{gap:9px;font-size:11px}}
@media(max-width:760px){.contact-page .contact-layout{grid-template-columns:1fr;gap:32px;padding-block:38px 56px}.contact-page .contact-intro{position:static;padding-top:0}.contact-page .contact-intro h1{font-size:clamp(55px,10vw,76px);max-width:520px;margin-bottom:20px}.contact-page .contact-intro .eyebrow{margin-bottom:22px;font-size:9px}.contact-page .contact-intro>.contact-lead{max-width:440px;font-size:18px;margin-bottom:10px}.contact-page .contact-intro>p:not(.eyebrow):not(.contact-lead){max-width:440px}.contact-page .contact-person{margin:23px 0 16px}.contact-page .contact-person img{width:52px;height:60px}.contact-page .contact-direct{flex-direction:row;flex-wrap:wrap;column-gap:22px}.contact-direct a{font-size:13px}.contact-page .next-steps{max-width:440px;margin-top:23px;padding-top:17px}.contact-page .next-steps h2{font-size:22px}.contact-page .form-grid{grid-template-columns:1fr 1fr}.contact-page .form-panel{scroll-margin-top:90px}.contact-page .project-options .project-choice{font-size:12px}}
@media(max-width:480px){.contact-page .form-panel{padding:25px 20px;border-radius:12px}.contact-page .form-grid{grid-template-columns:1fr;gap:17px}.contact-page .form-heading h2{font-size:32px}.contact-page .form-panel form{gap:23px}.contact-page .project-options .project-choice{min-height:76px;padding:12px 10px;gap:9px;flex-direction:column;align-items:flex-start;font-size:11px}.contact-page .project-options label{margin-bottom:0}.contact-page .form-section legend{font-size:13px}.contact-page .form-section .optional{font-size:10px}.contact-page .form-panel textarea{min-height:156px}}
@media(prefers-reduced-motion:reduce){.contact-page *,.contact-page *::after{transition:none!important}}
