.contact-page .contact-hero {
  color: #fff; background: #17372a;
  background-image: linear-gradient(90deg,#132d23 10%,#132d23f0 42%,#132d2390 69%,#132d2352),var(--contact-photo);
  background-size: cover; background-position: center, 64% 57%; border-bottom: 4px solid #bbd981;
}
.contact-page .contact-hero-inner { padding-block: clamp(25px,4vw,52px) clamp(36px,5.5vw,74px); }
.contact-page .contact-home { display: inline-block; color: #d4e5db; font-size: .85rem; margin-bottom: 24px; }
.contact-page .contact-home span { margin-inline: 5px; }
.contact-page .contact-kicker { display: flex; align-items: center; gap: 9px; color: #39634a; font-weight: 800; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; margin: 0 0 9px; }
.contact-page .contact-kicker span { width: 8px; height: 8px; border-radius: 50%; background: #75a35d; }
.contact-page .contact-hero .contact-kicker, .contact-page .contact-direct .contact-kicker { color: #d3eda0; }
.contact-page .contact-hero .contact-kicker span, .contact-page .contact-direct .contact-kicker span { background: #d3eda0; }
.contact-page .contact-hero h1 { font-size: clamp(2.65rem,6vw,5.35rem); line-height: .99; letter-spacing: -.065em; margin: 10px 0 15px; }
.contact-page .contact-hero h1 em { color: #d3eda0; font-style: normal; }
.contact-page .contact-hero-inner > p:not(.contact-kicker) { max-width: 49ch; color: #edf4ef; font-size: clamp(1rem,1.6vw,1.16rem); margin: 0; }
.contact-page .contact-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 22px; }
.contact-page .contact-hero-actions .button { color: #17372a; background: #d6ef9a; }
.contact-page .contact-hero-actions > a:not(.button) { color: white; text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }
.contact-page .contact-workspace { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); align-items: start; gap: clamp(15px,3vw,32px); padding-block: clamp(22px,4vw,52px); }
.contact-page .contact-form-card, .contact-page .contact-direct, .contact-page .contact-next { border-radius: 18px; padding: clamp(19px,3.1vw,38px); }
.contact-page .contact-form-card, .contact-page .contact-next { background: #fff; border: 1px solid #d8e3d6; box-shadow: 0 12px 34px #1534250c; }
.contact-page .contact-form-card { scroll-margin-top: 12px; }
.contact-page h2 { font-size: clamp(1.55rem,3.4vw,2.5rem); line-height: 1.05; letter-spacing: -.042em; margin: 0; }
.contact-page .contact-form-card > p:not(.contact-kicker) { color: #4b6356; margin: 9px 0 21px; }
.contact-page fieldset { padding: 0; margin: 0 0 22px; border: 0; min-width: 0; }
.contact-page legend { width: 100%; font-weight: 850; color: #1a3b2b; padding: 0 0 9px; margin-bottom: 12px; border-bottom: 1px solid #e0e8df; }
.contact-page legend span { display: inline-block; color: #356043; background: #eaf3e5; border-radius: 6px; padding: 2px 7px; margin-right: 5px; font-size: .75rem; }
.contact-page .contact-fields-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.contact-page .contact-fields-grid label { display: flex; flex-direction: column; align-items: stretch; gap: 3px; min-width: 0; font-weight: 700; font-size: .9rem; }
.contact-page .contact-fields-grid small { color: #52685b; font-weight: 500; }
.contact-page .contact-fields-grid input, .contact-page .contact-fields-grid select, .contact-page .contact-fields-grid textarea {
  width: 100%; min-width: 0; min-height: 46px; padding: 9px 10px; border: 1px solid #b9cabd; border-radius: 8px; background: #f9fbf7; color: #192c25; font-size: 1rem; margin-top: auto;
}
.contact-page .contact-fields-grid textarea { resize: vertical; }
.contact-page .contact-full { grid-column: 1/-1; }
.contact-page .contact-form-note { color: #4b6356; font-size: .85rem; margin: 0 0 11px; }
.contact-page .contact-status:empty { display: none; }
.contact-page .contact-status { color: #814027; font-weight: 650; margin: 12px 0 0; }
.contact-page .contact-send:disabled { opacity: .65; cursor: wait; }
.contact-page .contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-page .contact-receipt { margin-top: 22px; border-radius: 12px; background: #edf6e7; padding: 21px; }
.contact-page .contact-receipt h3 { font-size: 1.7rem; margin: 0; }
.contact-page .contact-receipt p:last-child { margin-bottom: 0; }
.contact-page .contact-direct { color: #fff; background: #193c2e; }
.contact-page .contact-direct h2, .contact-page .contact-next h2 { font-size: clamp(1.45rem,2.4vw,1.95rem); }
.contact-page .contact-direct > p:not(.contact-kicker) { color: #e0eee4; margin: 10px 0 15px; }
.contact-page .contact-channel { display: flex; justify-content: space-between; align-items: center; gap: 7px; padding: 11px 0; border-top: 1px solid #ffffff33; color: white; overflow-wrap: anywhere; }
.contact-page .contact-channel:hover, .contact-page .contact-side-links a:hover { color: #d6ef9a; }
.contact-page .contact-channel small { display: block; color: #c3dbcb; font-size: .76rem; }
.contact-page .contact-channel strong { font-size: .92rem; }
.contact-page .contact-side-links { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 13px; }
.contact-page .contact-side-links a { color: #e8f5e8; text-decoration: underline; text-underline-offset: 3px; font-size: .85rem; }
.contact-page .contact-next { margin-top: 13px; }
.contact-page .contact-next ol { padding-left: 1.25rem; margin: 13px 0 0; }
.contact-page .contact-next li { padding-left: 4px; margin-top: 9px; color: #40594b; }
.contact-page .contact-next li::marker { font-weight: 850; color: #285b3d; }
.contact-page .contact-next li strong { color: #244d36; }
.mobile-actions .contact-mobile-estimate { background: #d6ef9a; color: #17372a; }
@media (max-width: 840px) { .contact-page .contact-workspace { grid-template-columns: 1fr; } }
@media (max-width: 490px) {
  .contact-page .contact-fields-grid { grid-template-columns: 1fr; }
  .contact-page .contact-hero { background-position: center, 59% 50%; }
  .contact-page .contact-hero-actions { gap: 10px 14px; }
  .contact-page .contact-send { width: 100%; justify-content: center; }
}
