.contact-page-main{background:var(--mist);border-top:1px solid var(--line)}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);grid-template-areas:'intro form' 'options form';grid-template-rows:auto 1fr;gap:34px 65px;padding-block:58px 76px;align-items:start}
.contact-page-intro{grid-area:intro;min-width:0}.contact-page-intro .back-link{display:inline-block;font-size:.875rem;font-weight:600;color:var(--blue);padding:6px 0;margin-bottom:33px}.back-link:hover{text-decoration:underline;text-underline-offset:4px}
.contact-page-intro .eyebrow{font-size:.875rem;letter-spacing:.1em;margin-bottom:19px}
.contact-page-intro h1{font-size:clamp(2.35rem,3.7vw,3.6rem);line-height:1.13;font-weight:750}
.contact-page-intro>p:last-child{font-size:1rem;line-height:1.8;margin-top:22px;max-width:420px}
.request-form{grid-area:form;background:white;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:3px;padding:32px;min-width:0;box-shadow:0 10px 35px #102f4e05}
.form-heading h2{font-size:1.7rem;line-height:1.3;letter-spacing:-.035em}.form-heading p{font-size:.875rem;margin-top:8px;line-height:1.65}
.form-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:28px}.form-field{min-width:0}.field-wide{grid-column:1 / -1}
.form-field label{display:block;font-size:.875rem;font-weight:650;color:var(--ink);margin-bottom:8px;line-height:1.6}.form-field label .optional{font-weight:400;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-width:0;min-height:49px;border:1px solid #aebecb;border-radius:3px;padding:11px 12px;background:#fff;color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.form-field select{padding-right:25px;text-overflow:ellipsis}.form-field textarea{resize:vertical;min-height:125px}.form-field input::placeholder,.form-field textarea::placeholder{color:#6b7a87;opacity:1}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#738b9f}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #1e5a8b;outline-offset:2px;border-color:var(--blue);box-shadow:0 0 0 4px #dcebf6}
.field-hint{font-size:.875rem;line-height:1.65;margin-top:8px;color:var(--muted)}.form-honey{display:none}
.form-submit-row{display:flex;align-items:center;gap:23px;margin-top:26px}.form-submit-row .button{font-family:var(--body);font-size:1rem;cursor:pointer;gap:32px;flex:0 0 auto}.form-submit-row .button:focus-visible{outline:3px solid #568dba;outline-offset:5px}.form-submit-row .button:disabled{opacity:.7;cursor:wait;transform:none}.form-submit-row>p{font-size:.875rem;line-height:1.6}
.submission-status{font-size:.875rem;color:var(--blue);line-height:1.6}.submission-status:not(:empty){margin-top:15px}
.form-privacy{font-size:.875rem;line-height:1.7;border-top:1px solid var(--line);padding-top:19px;margin-top:24px}.form-privacy a{text-decoration:underline;text-underline-offset:3px;color:var(--navy)}
.contact-page-options{grid-area:options;min-width:0}.direct-email-card{background:var(--navy);color:white;padding:27px 29px;border-radius:3px}.direct-email-card .eyebrow{font-size:.875rem;letter-spacing:.1em;color:#bed7e9}.direct-email-card h2{font-size:1.45rem;letter-spacing:-.025em;line-height:1.4;margin-top:10px}.direct-email{display:block;font-weight:650;font-size:1rem;color:#fff;overflow-wrap:anywhere;margin-top:15px;text-decoration:underline;text-underline-offset:5px}.direct-email span{display:inline-block;margin-left:8px}.direct-email:hover{color:#bdd8ed}.direct-email-card>p:last-child{color:#cbdce9;font-size:.94rem;line-height:1.8;margin-top:18px}
.contact-area{padding:29px 0 0}.contact-area .eyebrow{font-size:.875rem;letter-spacing:.09em;margin-bottom:10px}.contact-area>p:not(.eyebrow){font-size:1rem;line-height:1.75;max-width:340px}.contact-area .contact-area-note{font-size:.875rem!important;margin-top:12px;color:var(--blue)}
.thanks-main{background:var(--mist);border-top:1px solid var(--line);padding-block:85px;min-height:65vh}.thanks-card{width:min(720px,calc(100% - 40px));margin:auto;border:1px solid var(--line);border-top:4px solid var(--navy);padding:48px;background:white;border-radius:3px}.thanks-card .eyebrow{font-size:.875rem;margin-bottom:21px}.thanks-card h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.2}.thanks-card>p:not(.eyebrow){font-size:1rem;margin-top:22px;line-height:1.8}.thanks-card .button{margin-top:28px}.thanks-card a:not(.button){color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:1150px){.contact-page-grid{gap:30px 40px;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}.request-form{padding:27px}.form-fields{gap:18px 15px}.form-submit-row{flex-wrap:wrap;gap:15px}.direct-email-card{padding:25px 22px}}
@media(max-width:850px){.contact-page-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'form' 'options';gap:30px;padding-block:32px 54px;max-width:680px}.contact-page-intro .back-link{margin-bottom:23px}.contact-page-intro h1{font-size:2.7rem}.contact-page-intro h1 br{display:none}.contact-page-intro>p:last-child{max-width:600px;margin-top:18px}.contact-page-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:28px;align-items:start}.contact-area{padding-top:14px}.request-form{padding:30px}.form-submit-row{flex-wrap:nowrap}.contact-page-intro .eyebrow{margin-bottom:14px}}
@media(max-width:540px){.contact-page-grid{gap:27px}.contact-page-intro h1{font-size:2.45rem}.request-form{padding:24px 20px}.form-fields{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:23px}.form-heading h2{font-size:1.6rem}.form-submit-row{display:block;margin-top:24px}.form-submit-row .button{width:100%;justify-content:space-between}.form-submit-row>p{margin-top:15px}.form-submit-row>p br{display:none}.contact-page-options{grid-template-columns:minmax(0,1fr);gap:20px}.direct-email-card{padding:26px 24px}.contact-area{padding-top:6px}.form-privacy{margin-top:20px}.thanks-main{padding-block:48px}.thanks-card{padding:30px 24px}.thanks-card h1{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){.form-field input,.form-field select,.form-field textarea{transition:none}}

.service-picker{border:0;margin:2px 0 0;padding:0;min-width:0}
.service-picker legend{font-size:.875rem;font-weight:650;line-height:1.6;color:var(--ink);padding:0}
.service-picker>.field-hint{margin-top:5px}
.service-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
.service-choice{display:flex;align-items:center;gap:10px;border:1px solid #b5c5d1;border-radius:3px;padding:12px;min-height:53px;font-size:.875rem;line-height:1.5;cursor:pointer;background:white;color:var(--ink)}
.service-choice:hover{border-color:var(--blue);background:#f4f8fb}
.service-choice:has(input:checked){border-color:var(--blue);background:#eaf2f8}
.service-choice input{width:18px;height:18px;margin:0;flex:0 0 18px;accent-color:var(--navy);cursor:pointer}
.service-choice input:focus-visible{outline:3px solid #568dba;outline-offset:3px}
@media(max-width:540px){.service-choices{grid-template-columns:minmax(0,1fr)}.service-choice{font-size:1rem;min-height:54px}}

.field-hint a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.selection-summary{margin-top:14px;padding:15px 18px;background:#eaf2f8;border-left:3px solid var(--blue);color:var(--navy);font-size:.94rem;line-height:1.8}
.estimate-details{border:1px solid var(--line);border-radius:3px;min-width:0;background:#fafcfd}
.estimate-details summary{font-weight:650;color:var(--navy);font-size:.94rem;padding:16px;cursor:pointer;line-height:1.6;min-height:54px}.estimate-details summary span{font-weight:400;color:var(--muted)}.estimate-details summary:hover{background:#eef4f8}.estimate-details summary:focus-visible{outline:3px solid #568dba;outline-offset:-4px}
.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 15px;padding:6px 16px 20px}.photo-fields{padding:0 16px 16px;display:grid;gap:18px}
.photo-fields .form-field input[type=file]{font-size:.875rem;padding:10px;overflow:hidden;text-overflow:ellipsis}.photo-fields input::file-selector-button{font-family:var(--body);border:1px solid #aebecb;border-radius:3px;background:#edf3f7;color:var(--navy);padding:9px;margin-right:10px;cursor:pointer}
.clear-photo{font-family:var(--body);font-size:.875rem;color:var(--blue);text-decoration:underline;text-underline-offset:3px;border:0;background:transparent;min-height:44px;padding:8px 0;cursor:pointer}.clear-photo:focus-visible{outline:3px solid #568dba;outline-offset:3px}.photo-error{color:#9b2d24;font-size:.875rem;line-height:1.7}.photo-error:empty{display:none}
.form-field select:disabled{color:#526778;background:#edf1f4;opacity:1}.form-submit-row .button{gap:18px}.contact-page-intro>p:last-child{max-width:440px}
@media(max-width:540px){.detail-fields{grid-template-columns:minmax(0,1fr)}.estimate-details summary{font-size:1rem}.form-field select{font-size:1rem}.selection-summary{padding:14px}}

/* Start with a short inquiry; reveal extras when they are useful. */
.contact-page-grid{padding-top:38px;gap:28px 48px}.contact-page-intro .back-link{margin-bottom:18px}.contact-page-intro>p:not(.eyebrow){font-size:1rem;line-height:1.85;margin-top:19px;max-width:430px}.contact-page-intro .estimate-next-step{font-size:.94rem;color:var(--blue)}.optional-fields{display:grid;gap:20px;padding:4px 16px 20px}.optional-fields .field-wide{grid-column:auto}.optional-fields .field-hint{line-height:1.75}.request-form .form-field textarea{min-height:100px}.form-submit-row{flex-wrap:wrap}.form-submit-row>p{max-width:400px}.optional-fields .service-choice{font-size:.94rem}.form-heading h2{font-size:1.5rem}.contact-page-intro h1{font-size:clamp(2.2rem,3.5vw,3.3rem)}
@media(max-width:850px){.contact-page-grid{padding-top:25px;gap:24px}.contact-page-intro .back-link{margin-bottom:12px}.contact-page-intro h1{font-size:2.35rem}.contact-page-intro>p:not(.eyebrow){max-width:600px;margin-top:14px}.contact-page-intro .eyebrow{margin-bottom:12px}.request-form{padding:25px}}
@media(max-width:540px){.request-form{padding:23px 18px}.contact-page-intro h1{font-size:2.2rem}.service-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.optional-fields .service-choice{padding:11px 9px;font-size:.875rem;align-items:flex-start;line-height:1.65}.service-choice input{margin-top:3px}.form-fields{gap:17px}.optional-fields{padding-inline:13px}.estimate-details summary{padding-inline:13px;font-size:.94rem}.estimate-details summary span{font-size:.875rem}.form-submit-row .button{justify-content:center}.contact-area{display:none}}
@media(max-width:360px){.service-choices{grid-template-columns:1fr}}

/* Keep only relevant service questions on the form and out of the POST. */
.request-form [hidden]{display:none!important}
.request-form{border-radius:16px}
.estimate-details{border-radius:11px;background:#fff;border-color:#cbd9e3;overflow:hidden}
.estimate-details[open]>summary{background:#edf4f8;border-bottom:1px solid #d4e2ec;margin-bottom:16px}
.form-field input,.form-field select,.form-field textarea{border-radius:8px}
.optional-fields .service-choice{border-radius:10px;background:#f8fafc;align-items:center;padding:13px 12px;font-size:.94rem;gap:10px;min-height:62px}
.optional-fields .service-choice:has(input:checked){background:#e5f0f7;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.service-choice input{margin:0;flex-shrink:0}
.service-choice small{display:block;font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:3px}
.service-details{border-top:1px solid #d5e2eb}
.service-details>summary{padding:15px 0!important;min-height:48px;font-size:.94rem;background:transparent!important}
.service-details>summary span{font-weight:400;color:var(--muted)}
.selected-details-content{padding-bottom:2px}
.selected-details-content>.field-hint{margin:0 0 20px}
.service-followup{border:0;padding:0;margin:0;min-width:0}
.service-followup+ .service-followup{margin-top:22px}
.service-followup legend{font-size:1rem;font-weight:750;color:var(--navy);padding:0;margin-bottom:11px;line-height:1.5}
.followup-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.fence-followup{grid-template-columns:repeat(2,minmax(0,1fr))}
.bundle-suggestion{background:#edf6f5;border:1px solid #8fb7b3;border-radius:11px;overflow:hidden;color:var(--ink)}
.bundle-suggestion>summary{font-size:.94rem;line-height:1.6;padding:15px!important;color:#194e49;background:transparent!important}
.suggestion-tag{display:block!important;color:#194e49!important;font-weight:750!important;font-size:.875rem!important;letter-spacing:.06em;margin-bottom:5px}
.bundle-suggestion>summary>span:last-child{color:#194e49;font-weight:650}
.suggestion-content{padding:0 16px 18px;font-size:.875rem;line-height:1.75}
.suggestion-content p{margin-top:12px;color:#3d5e5b}
.suggested-heading h3{font-size:1.3rem;color:#194e49;line-height:1.3}
.suggested-heading p{font-size:1rem;font-weight:750;color:#194e49;margin-top:7px}
.suggestion-content .suggested-extras{font-weight:650;color:#194e49}
.optional-fields .comparison-choice{margin-top:17px;line-height:1.65;font-size:.875rem;align-items:flex-start;background:white;border-color:#83aaa6}
.comparison-choice input{margin-top:3px}
.suggestion-content>a{display:inline-block;color:#194e49;font-weight:650;text-decoration:underline;text-underline-offset:3px;margin-top:12px;padding-block:7px}
.form-submit-row .button{border-radius:9px;min-height:51px}
@media(max-width:540px){.optional-fields .service-choice{font-size:.94rem;padding:12px 10px;min-height:62px;align-items:center}.fence-followup{grid-template-columns:minmax(0,1fr)}.optional-fields .comparison-choice{align-items:flex-start}.service-details>summary{font-size:.94rem}.service-followup legend{font-size:1rem}}

.care-schedule-field{padding:16px;background:#edf4f8;border:1px solid #c3d9e9;border-radius:10px}
.care-schedule-field .field-hint{color:#36566e}

/* Explicit card colors keep every option readable in selected and idle states. */
.request-form .service-choices .service-choice{background:#fff;color:#102f4e;border:2px solid #b5c5d1;opacity:1;min-height:64px;transition:border-color .15s,background-color .15s}
.request-form .service-choices .service-choice>span{min-width:0;overflow-wrap:anywhere;color:#102f4e}
.request-form .service-choices .service-choice:hover{background:#f0f6fa;border-color:#32678d}
.request-form .service-choices .service-choice:has(input:checked){background:#e5f0f7;border-color:#102f4e;box-shadow:none}
.request-form .service-choices .service-choice:has(input:checked)>span::after{content:'Selected';display:block;font-size:.875rem;line-height:1.5;font-weight:700;color:#102f4e;margin-top:2px}
.request-form .service-choices .service-choice:focus-within{outline:3px solid #32678d;outline-offset:3px}
.request-form .service-choices .service-choice input{width:20px;height:20px;flex:0 0 20px;opacity:1;accent-color:#102f4e}
.bundle-reminder{padding:14px 16px;border-left:3px solid #32678d;background:#edf4f8;color:#102f4e;font-size:.94rem;line-height:1.7;margin:0}
@media(max-width:540px){.request-form .service-choices{grid-template-columns:minmax(0,1fr)}.request-form .service-choices .service-choice{min-height:60px}}
@media(prefers-reduced-motion:reduce){.request-form .service-choices .service-choice{transition:none}}
