.detail-contact-form-section{background:#f5f8f2}.contact-form-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(35px,7vw,110px);align-items:start}.contact-form-intro h2{font-size:clamp(35px,4vw,58px);line-height:1.3;letter-spacing:-.07em;margin:22px 0}.contact-form-intro p:not(.detail-kicker){max-width:360px;color:#526b56;font-size:15px;line-height:1.95}.contact-form-intro>span{display:block;margin-top:28px;color:#a34536;font-size:12px}.linker-contact-form{position:relative;background:#fff;border:1px solid #bad0ba;padding:clamp(24px,4vw,50px);box-shadow:0 22px 50px rgba(23,62,36,.07)}.contact-fields{display:grid;gap:21px}.contact-fields>label:not(.contact-consent){display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-size:14px;font-weight:700}.contact-fields em{color:#af4231;font-style:normal}.contact-fields small{color:#6d806f;font-size:12px;font-weight:400}.contact-fields input:not([type=checkbox]),.contact-fields select,.contact-fields textarea{grid-column:1/-1;width:100%;min-height:52px;padding:13px 15px;border:1px solid #b8cbb9;background:#fcfefa;color:#18251b;border-radius:0;font-size:15px;font-weight:400;line-height:1.6;font-family:inherit;outline-offset:3px}.contact-fields textarea{resize:vertical}.contact-fields input:focus,.contact-fields select:focus,.contact-fields textarea:focus{outline:2px solid #217446;border-color:#217446}.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:#798a7c}.contact-consent{display:flex;align-items:center;gap:11px;font-size:14px;line-height:1.7}.contact-consent input{width:19px;height:19px;flex:none;accent-color:#176d3d}.contact-consent a,.contact-form-note a{text-decoration:underline;text-underline-offset:3px;color:#146c3b}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px}.contact-submit{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:58px;margin-top:29px;padding:15px 21px;border:0;background:#176b3a;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:transform .22s,background .22s}.contact-submit:hover{background:#0c4f28;transform:translateY(-2px)}.contact-submit:disabled{opacity:.65;cursor:wait;transform:none}.contact-submit:focus-visible{outline:3px solid #d0a246;outline-offset:3px}.contact-submit span{font-size:22px;font-weight:400}.contact-form-note{color:#667a6a;font-size:12px;line-height:1.8;margin:17px 0 0}.contact-form-status{padding:14px 16px;margin-bottom:25px;border-left:3px solid #207740;background:#e8f4e8;color:#1b6038;font-size:14px;line-height:1.7}.contact-form-status.error{border-left-color:#bd4938;background:#fff0ed;color:#a33d2f}@media(max-width:850px){.contact-form-layout{grid-template-columns:1fr;gap:28px}.contact-form-intro h2 br{display:none}.contact-form-intro p:not(.detail-kicker){max-width:600px}}@media(max-width:480px){.linker-contact-form{padding:25px 19px}}@media(prefers-reduced-motion:reduce){.contact-submit{transition:none}}

.contact-topic-note{margin:-5px 0 0;padding:11px 14px;border-left:3px solid #2f8150;background:#eef6ed;color:#31583a;font-size:12px;line-height:1.7}

/* Contact page: bring the form forward and echo the opening's line work. */
.detail-contact .detail-hero { min-height:0; background:radial-gradient(circle at 80% 28%,rgba(74,135,81,.28),transparent 36%),linear-gradient(125deg,#0d2116,#183a26); }
.detail-contact .detail-hero-grid { grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr); gap:clamp(40px,6vw,90px); padding-block:clamp(70px,8vw,112px); }
.detail-contact .detail-hero h1 { margin:24px 0 23px; font-size:clamp(42px,5vw,72px); }
.detail-contact .detail-lead { max-width:640px; }
.contact-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:33px; }
.detail-contact .detail-hero-link { min-width:235px; min-height:56px; margin:0; padding:13px 17px; justify-content:space-between; border:1px solid #c9ebcf; background:#d8f1da; color:#123a22; font-size:14px; transition:background .24s,transform .24s; }
.detail-contact .detail-hero-link:hover { background:#f3fff3; color:#123a22; transform:translateY(-2px); }
.contact-hero-alt { min-height:48px; display:inline-flex; align-items:center; gap:22px; border-bottom:1px solid rgba(206,240,210,.67); color:#d7ead8; font-size:13px; font-weight:700; }
.contact-hero-alt:hover { color:#fff; }
.contact-hero-reply { display:flex; align-items:center; gap:10px; margin:23px 0 0; color:#b9d8bf; font-size:12px; line-height:1.7; }
.contact-hero-reply span { width:6px; height:6px; flex:none; border-radius:50%; background:#a7e1ae; box-shadow:0 0 0 5px rgba(167,225,174,.12),0 0 14px #83dc92; }
.contact-hero-art { min-height:340px; }
.contact-hero-art .art-orbit { width:min(31vw,380px); }
.contact-hero-art .art-orbit-two { width:min(24vw,290px); }
.contact-hero-board { position:relative; z-index:1; width:min(100%,345px); padding:26px 29px 19px; border:1px solid rgba(199,238,205,.57); background:rgba(14,44,26,.86); box-shadow:0 24px 60px rgba(3,17,9,.34),inset 0 1px rgba(255,255,255,.1); backdrop-filter:blur(10px); }
.contact-hero-board::before,.contact-hero-board::after { content:""; position:absolute; width:23px; height:23px; border-color:#bcecc4; border-style:solid; }
.contact-hero-board::before { top:7px; left:7px; border-width:2px 0 0 2px; }
.contact-hero-board::after { right:7px; bottom:7px; border-width:0 2px 2px 0; }
.contact-hero-board small { display:block; margin-bottom:13px; color:#a9dab2; font:700 10px ui-monospace,monospace; letter-spacing:.16em; }
.contact-hero-board div { display:flex; align-items:baseline; gap:18px; padding:15px 0; border-top:1px solid rgba(194,231,200,.23); }
.contact-hero-board div span { color:#9bd4a5; font:700 11px ui-monospace,monospace; }
.contact-hero-board strong { color:#f3fff3; font-size:17px; letter-spacing:-.04em; }
.contact-hero-board b { display:block; margin-top:12px; color:#9acba3; font:600 9px ui-monospace,monospace; letter-spacing:.12em; }

.detail-contact #prepare { padding-block:61px 67px; background:#fff; }
.contact-prepare-head { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr); align-items:end; gap:35px; }
.contact-prepare-head h2 { margin:15px 0 0; font-size:clamp(30px,3.4vw,46px); line-height:1.3; letter-spacing:-.065em; }
.contact-prepare-head>p { max-width:520px; margin:0; color:#405b47; font-size:15px; line-height:1.85; }
.detail-contact #prepare .detail-steps { margin-top:28px; }
.detail-contact #prepare .detail-steps article { position:relative; min-height:155px; padding:23px 25px; }
.detail-contact #prepare .detail-steps article::before { content:""; position:absolute; top:0; left:0; width:38%; height:2px; background:#388653; }
.detail-contact #prepare .detail-steps h3 { margin:18px 0 7px; font-size:clamp(18px,1.8vw,22px); }
.detail-contact #prepare .detail-steps p { margin:0; color:#526b56; font-size:13px; line-height:1.7; }

.detail-contact-form-section { padding-block:76px 90px; background:#f1f6f0; }
.contact-form-layout { grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr); gap:clamp(30px,5vw,80px); }
.contact-form-intro { position:sticky; top:96px; }
.contact-form-intro h2 { margin:18px 0; font-size:clamp(34px,3.6vw,52px); line-height:1.25; }
.contact-form-intro p:not(.detail-kicker) { max-width:390px; margin:0; font-size:15px; line-height:1.85; }
.contact-form-facts { display:grid; margin:27px 0 0; border-top:1px solid #b6cdb9; }
.contact-form-facts div { display:grid; grid-template-columns:95px 1fr; gap:13px; padding:13px 0; border-bottom:1px solid #b6cdb9; }
.contact-form-facts dt { color:#256e42; font-size:12px; font-weight:700; }
.contact-form-facts dd { margin:0; color:#314b39; font-size:13px; line-height:1.6; }
.contact-form-intro>span { margin-top:21px; }
.linker-contact-form { min-width:0; border-color:#adc9b2; box-shadow:0 19px 48px rgba(19,61,33,.08); }
.linker-contact-form::before { content:""; position:absolute; top:-1px; left:-1px; width:34%; height:3px; background:#337e4d; }
.contact-form-group { min-width:0; margin:0; padding:0; border:0; }
.contact-form-group+.contact-form-group { margin-top:34px; padding-top:22px; border-top:1px solid #d2e0d2; }
.contact-form-group legend { margin:0 0 5px; padding:0; color:#153d27; font-size:18px; font-weight:700; letter-spacing:-.04em; }
.contact-form-group legend span { margin-right:9px; color:#2f824d; font:700 11px ui-monospace,monospace; letter-spacing:.08em; }
.contact-form-group label { display:block; margin-top:19px; color:#1c2d21; font-size:14px; font-weight:700; }
.contact-form-group input,.contact-form-group select,.contact-form-group textarea { display:block; width:100%; min-height:52px; margin-top:9px; padding:12px 15px; border:1px solid #adc4b1; border-radius:0; outline-offset:3px; background:#fbfdf9; color:#172b1d; font-family:inherit; font-size:16px; font-weight:400; line-height:1.6; }
.contact-form-group textarea { resize:vertical; }
.contact-form-group input:focus,.contact-form-group select:focus,.contact-form-group textarea:focus { outline:2px solid #227b48; border-color:#227b48; }
.contact-form-group input::placeholder,.contact-form-group textarea::placeholder { color:#718575; }
.contact-consent { align-items:flex-start; margin-top:28px; color:#263d2d; }
.contact-consent input { margin:2px 0 0; }
.contact-honeypot { position:absolute; left:-10000px; }
.contact-submit { min-height:61px; }
.contact-form-note { color:#56705c; }
.contact-form-note a { display:inline-block; min-height:44px; padding-block:7px; font-size:13px; }
.detail-contact a:focus-visible { outline:3px solid #d2a24a; outline-offset:4px; }

.detail-contact .detail-contact-methods { padding-block:75px 82px; background:#fff; }
.detail-contact .detail-contact-methods .detail-section-head { margin-bottom:29px; }
.detail-contact .detail-contact-methods .detail-section-head h2 { margin-top:13px; }
.detail-contact .detail-contact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.detail-contact .detail-contact-grid a { min-height:180px; padding:24px 25px; }
.detail-contact .detail-contact-grid strong { margin:26px 0 8px; font-size:clamp(20px,2vw,25px); }
.detail-contact .detail-contact-grid span { font-size:13px; }
.detail-contact .detail-contact-next { padding-block:78px 80px; background:#e9f2e9; }
.detail-contact .detail-contact-next .detail-two-col { grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:clamp(35px,6vw,85px); }
.detail-contact .detail-contact-next .detail-next-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:18px; border:0; }
.detail-contact .detail-contact-next .detail-next-steps li { min-height:190px; padding:23px; border:1px solid #b7cfba; background:#fafff9; }
.detail-contact .detail-contact-next .detail-next-steps strong { margin:17px 0 10px; font-size:18px; }
.detail-contact .detail-contact-next .detail-next-steps p { font-size:13px; line-height:1.7; }
.detail-contact .detail-contact-next .detail-link-row { display:flex; flex-wrap:wrap; gap:10px 24px; }
.detail-contact .detail-contact-next .detail-two-col>div:last-child { max-width:none; }

@media(max-width:850px) {
  .detail-contact .detail-hero-grid { grid-template-columns:1fr; gap:20px; }
  .contact-hero-art { min-height:250px; }
  .contact-prepare-head,.contact-form-layout,.detail-contact .detail-contact-next .detail-two-col { grid-template-columns:1fr; }
  .contact-prepare-head { gap:12px; }
  .contact-form-intro { position:static; }
  .detail-contact .detail-contact-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .detail-contact .detail-hero-grid { padding-block:41px 49px; }
  .detail-contact .detail-hero h1 { margin:18px 0 19px; font-size:clamp(35px,9vw,46px); }
  .detail-contact .detail-lead { font-size:15px; line-height:1.85; }
  .contact-hero-actions { display:grid; gap:10px; margin-top:26px; }
  .detail-contact .detail-hero-link { width:100%; min-height:54px; }
  .contact-hero-alt { width:max-content; min-height:42px; }
  .contact-hero-reply { align-items:flex-start; margin-top:17px; font-size:11px; }
  .contact-hero-reply span { margin-top:6px; }
  .contact-hero-art { display:none; }
  .detail-contact #prepare { padding-block:45px 47px; }
  .contact-prepare-head h2 { font-size:29px; }
  .contact-prepare-head>p { font-size:14px; line-height:1.75; }
  .detail-contact #prepare .detail-steps { display:grid; gap:0; margin-top:19px; }
  .detail-contact #prepare .detail-steps article { min-height:0; padding:12px 19px; }
  .detail-contact #prepare .detail-steps article::before { width:26px; }
  .detail-contact #prepare .detail-steps h3 { margin:6px 0 5px; font-size:17px; }
  .detail-contact #prepare .detail-steps p { font-size:12px; }
  .detail-contact-form-section { padding-block:52px 64px; }
  .contact-form-layout { gap:24px; }
  .contact-form-intro h2 { margin:13px 0; font-size:34px; }
  .contact-form-intro p:not(.detail-kicker) { font-size:14px; }
  .contact-form-facts { margin-top:18px; }
  .contact-form-facts div { padding:10px 0; }
  .contact-form-intro>span { margin-top:15px; }
  .linker-contact-form { padding:25px 19px; }
  .contact-form-group legend { font-size:17px; }
  .contact-form-group label { margin-top:17px; }
  .detail-contact .detail-contact-methods { padding-block:59px 66px; }
  .detail-contact .detail-contact-grid a { min-height:123px; padding:18px 21px; }
  .detail-contact .detail-contact-grid strong { margin:15px 0 5px; font-size:20px; }
  .detail-contact .detail-contact-next { padding-block:63px 69px; }
  .detail-contact .detail-contact-next .detail-next-steps { grid-template-columns:1fr; }
  .detail-contact .detail-contact-next .detail-next-steps li { min-height:0; padding:18px 20px; }
}
@media(max-width:360px) {
  .contact-consent { gap:8px; font-size:13px; }
  .contact-consent input { width:18px; height:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .detail-contact .detail-hero-link,.contact-submit,.detail-contact .detail-contact-grid a { transition:none; }
  .contact-hero-art .art-orbit { animation:none; }
}
