/* One reading hierarchy across commercial and educational pages. */
body {--reading-ink:#23211f;--reading-muted:#514c47}
main h2 {font-size:clamp(34px,3.45vw,48px);text-wrap:balance;max-width:22ch}
main h3,main h4 {text-wrap:balance;overflow-wrap:break-word}
main :is(.section-heading,.family-heading,.cycle-heading) h2 {margin-bottom:0}
main :is(.section-heading,.family-heading,.cycle-heading) {gap:36px;margin-bottom:36px}
main :is(.section-heading,.family-heading,.cycle-heading)>p {max-width:50ch;font-size:18px;line-height:1.65;color:var(--reading-muted)}
main :is(.service-intro,.subscription-copy,.garden-service-copy,.quote-copy,.local-copy)>p:not(.eyebrow) {font-size:18px;line-height:1.65;max-width:54ch}
main :is(.service-card,.offer-summary,.process-step-copy,.inclusion,.support-grid,.garden-steps,.pro-contexts,.pro-process,.family-card,.prevention-mini,.service-offer-choice,.map-detail) p {font-size:17px;line-height:1.65;color:var(--reading-muted);max-width:58ch}
main p+p {margin-top:18px}
main p strong,main li strong {font-weight:700;color:var(--reading-ink)}
main .eyebrow {font-size:12px;line-height:1.5;letter-spacing:.08em;margin-bottom:18px;max-width:none}
main .button {font-size:15px;line-height:1.4;min-height:50px;white-space:normal}
main .text-link {font-size:16px;line-height:1.5}
main .copy-points {padding:0;margin:24px 0 30px;list-style:none}
main .copy-points li {padding:12px 0 12px 24px;position:relative;font-size:18px;line-height:1.55;border-bottom:1px solid #e0dcd5}
main .copy-points li::before {content:'';position:absolute;left:0;top:23px;width:6px;height:6px;border-radius:50%;background:#ba2025}
/* Keep the existing hero composition and font faces. */
.hero.expert-hero h1,.hero.services-hero h1,.pro-hero h1 {font-size:clamp(54px,5.15vw,78px);line-height:1.04;text-wrap:balance}
.hero .hero-description,.pro-hero p:not(.eyebrow) {font-size:19px;line-height:1.55;max-width:48ch}
.hero .hero-description strong,.pro-hero p strong {color:inherit}
.hero .hero-description>strong {display:block;margin-bottom:6px}
.hero .hero-note,.pro-hero p.pro-hero-note {font-size:14px;line-height:1.6}
.knowledge-intro>p:not(.eyebrow) {font-size:20px;line-height:1.6;max-width:56ch}
/* The few key promises can be read before the supporting copy. */
.trust-strip .trust-grid strong {font-size:19px;line-height:1.25}
.trust-strip .trust-grid p {font-size:15px;line-height:1.6;margin-bottom:0}
#solutions .section-heading h2 {font-size:clamp(34px,3.45vw,48px);max-width:24ch}
#solutions .section-heading>p {font-size:18px;line-height:1.6}
#solutions .service-card,#solutions .service-card.featured {padding:28px;min-height:0}
#solutions .service-card h3 {font-size:26px;margin:20px 0 16px}
#solutions .service-card>p {font-size:17px;line-height:1.65;min-height:0;margin:0}
#solutions .service-card>p>strong,.process-step-copy>p>strong {display:block;margin-bottom:8px;color:#a91d22}
#solutions .service-number {font-size:12px}
#solutions .service-grid,#solutions .offer-summary {gap:16px}
#solutions .offer-summary {margin-top:20px}
#solutions .offer-summary h3 {font-size:23px;margin:0 0 14px}
#solutions .offer-summary p {font-size:16px;line-height:1.65;margin:0}
#solutions .offer-summary p strong {display:block;margin-top:10px}
#solutions .service-actions {margin-top:32px}
.garden-map-section .map-detail h3 {font-size:28px;margin-block:22px 14px}
.garden-map-section .map-list {margin-block:26px}
.garden-map-section .map-list li {font-size:16px;line-height:1.5;padding-block:13px}
.garden-map-section .map-step {font-size:12px;letter-spacing:.04em}
.client-story h2 {font-size:clamp(34px,3.45vw,46px)}
.client-story blockquote>p {font-size:19px;line-height:1.7;max-width:52ch}
.client-story .testimonial-full blockquote>p {font-size:17px;line-height:1.7}
.client-story .testimonial-full {margin-top:24px}
.family-moments .family-card h3,.pro-contexts h3,.prevention-mini h3 {font-size:25px;margin-bottom:14px}
.local-section h2,.pro-callout h2,.quote-section .quote-copy h2,.subscription-copy h2,.garden-service h2 {font-size:clamp(34px,3.45vw,48px)}
.pro-callout p {font-size:18px;line-height:1.65;max-width:58ch}
/* Forms: a visible offer, concise labels and comfortable field text. */
.quote-section .quote-grid {align-items:start;gap:64px}
.quote-section .quote-copy {padding-top:16px}
.quote-section .quote-copy>p:not(.eyebrow) {margin-block:24px 28px}
.quote-section .diagnostic-inclusions {padding-block:24px;margin-block:28px}
.quote-section .diagnostic-inclusions h3 {font-size:22px;margin-bottom:18px}
.quote-section .diagnostic-inclusions li {font-size:17px;line-height:1.6;margin-block:14px}
.quote-section .quote-reassurance {font-size:15px;line-height:1.6}
.quote-section .form-heading {gap:16px;margin-bottom:28px;align-items:flex-start}
.quote-section .form-heading h3 {font-size:26px;margin-bottom:8px}
.quote-section .form-heading p {font-size:16px;line-height:1.5;color:var(--reading-muted)}
.quote-section .quote-form label,.quote-section .contact-choice legend {font-size:15px;line-height:1.5}
.quote-section .quote-form :is(input,textarea,select),.quote-section #request-service {font-size:16px;line-height:1.5}
.quote-section .form-row {gap:18px}
.quote-section .form-disclosure,.quote-section .required-note {font-size:14px;line-height:1.6}
.quote-section .form-submit {font-size:16px;margin-top:18px}
.quote-section .optional-details summary {font-size:15px;line-height:1.5;gap:10px}
.quote-section .contact-options label {font-size:15px;min-height:44px}
/* Services are separated into an action, a benefit, then the detail. */
.process-timeline-section .process-intro>p:not(.eyebrow) {font-size:18px;line-height:1.65}
.process-timeline-section .process-step-copy h3 {font-size:32px;margin-bottom:20px}
.process-timeline-section .process-step-copy p {font-size:18px;line-height:1.65;margin:0}
.service-offer-choice strong {font-size:27px;text-wrap:balance}
.subscription-section .subscription-inclusions h3 {font-size:28px;max-width:22ch;margin-bottom:26px}
.subscription-section .inclusion {padding-block:22px}
.subscription-section .inclusion h4 {font-size:24px;line-height:1.25;margin-bottom:10px}
.subscription-section .inclusion p {margin:0}
.subscription-copy>p+p {border-left:3px solid #ba2025;padding-left:20px;margin-top:26px}
.subscription-copy>p+p>strong {display:block;margin-bottom:8px}
.support-heading {gap:36px;margin-bottom:28px}
.support-heading h3 {font-size:30px}
.support-heading>p {font-size:17px;line-height:1.65;max-width:50ch}
.support-grid article h4 {font-size:25px;margin-block:16px 22px}
.support-grid article p {margin:0}
.support-grid article p+p {margin-top:18px;padding-top:18px;border-top:1px solid #e9e5df}
.support-grid article p strong {display:block;margin-bottom:4px}
.garden-service .garden-steps h3 {font-size:25px;margin-bottom:12px}
.garden-service .garden-steps p {margin:0}
.pro-contexts article,.pro-process li {display:flex;flex-direction:column;align-items:flex-start}
.pro-contexts article .text-link {margin-top:24px}
.pro-process h3 {font-size:26px;max-width:20ch}
.pro-process p {margin:0}
/* Read the essentials first; open the existing detail when useful. */
.knowledge-page .cycle-stage h3 {font-size:28px}
.knowledge-page .cycle-stage p.cycle-lead {font-size:18px;line-height:1.65;margin:8px 0 20px;color:var(--reading-ink)}
.knowledge-page .cycle-more p,.knowledge-page .cycle-fact p {font-size:16px;line-height:1.7}
.knowledge-page .cycle-more p+p {margin-top:18px}
.knowledge-page .cycle-habitat {font-size:12px;letter-spacing:.04em}
.knowledge-page .cycle-number {font-size:38px}
.knowledge-page .cycle-note,.knowledge-page .cycle-sources {font-size:14px;line-height:1.7}
.knowledge-page .knowledge-bubbles {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.knowledge-page .info-bubble {padding:30px}
.knowledge-page .info-bubble h3 {font-size:27px;max-width:30ch;margin-block:20px 18px}
.knowledge-page .info-bubble :is(.info-bubble-lead,.info-bubble-detail),.knowledge-page .info-bubble details p {font-size:17px;line-height:1.7;max-width:65ch}
.knowledge-page .info-bubble .info-bubble-kicker {font-size:12px;letter-spacing:.035em}
.knowledge-page .info-bubble .info-bubble-source {font-size:13px;line-height:1.6;margin-top:16px}
.knowledge-page .info-bubble .key-number {display:block;color:#aa1c22;font-size:clamp(32px,3vw,44px);margin-bottom:10px}
.knowledge-page .info-bubble-alert {grid-column:1/-1;border:2px solid #b81d24}
.knowledge-page .info-bubble-alert h3 {max-width:none}
.knowledge-page .cycle-takeaway h3 {font-size:28px}
.knowledge-page .cycle-takeaway p:not(.eyebrow) {font-size:17px;line-height:1.65}
.rain-checklist .rain-check strong {font-size:23px;line-height:1.3}
.rain-checklist .rain-check span span {font-size:17px;line-height:1.65}
main :is(.faq-list,.subscription-conditions,.cycle-more,.testimonial-full,.info-bubble) summary {font-size:17px;line-height:1.5;padding-block:18px;min-height:52px}
main :is(.faq-list,.subscription-conditions) details p {font-size:17px;line-height:1.75;max-width:65ch;padding-bottom:22px}
main .final-cta h2 {font-size:clamp(32px,3.5vw,48px);max-width:23ch;text-wrap:balance}
body>footer .footer-description,body>footer .footer-links a,body>footer .footer-bottom {font-size:14px;line-height:1.65}
@media(max-width:1100px) {
 main :is(.section-heading,.family-heading,.cycle-heading),.support-heading {gap:22px}
 .quote-section .quote-grid,.subscription-section,.garden-service-grid {grid-template-columns:minmax(0,1fr);gap:32px}
 .quote-section .quote-copy {padding-top:0;max-width:680px}
 .subscription-copy {max-width:680px}
 .pro-contexts,.pro-plan .pro-process {grid-template-columns:1fr}
 .hero.expert-hero h1,.hero.services-hero h1,.pro-hero h1 {font-size:clamp(48px,6vw,64px)}
}
@media(max-width:800px) {
 .knowledge-page .knowledge-bubbles {grid-template-columns:1fr}
 .knowledge-page .info-bubble-alert {grid-column:auto}
}
@media(max-width:600px) {
 main h2,#solutions .section-heading h2,.local-section h2,.pro-callout h2,.quote-section .quote-copy h2,.subscription-copy h2,.garden-service h2,.client-story h2 {font-size:32px;max-width:24ch;line-height:1.15!important}
 main :is(.section-heading,.family-heading,.cycle-heading) {margin-bottom:28px;gap:18px}
 main :is(.section-heading,.family-heading,.cycle-heading)>p,#solutions .section-heading>p {font-size:17px;line-height:1.65}
 main .eyebrow {font-size:11px;line-height:1.6;margin-bottom:14px}
 main :is(.service-intro,.subscription-copy,.garden-service-copy,.quote-copy,.local-copy)>p:not(.eyebrow) {font-size:17px}
 .hero.expert-hero h1,.hero.services-hero h1,.pro-hero h1 {font-size:clamp(36px,9.6vw,52px);line-height:1.08}
 .hero .hero-description,.pro-hero p:not(.eyebrow),.knowledge-intro>p:not(.eyebrow) {font-size:17px;line-height:1.6}
 .hero .hero-note,.pro-hero p.pro-hero-note {font-size:13px;line-height:1.6}
 .trust-strip .trust-grid strong {font-size:17px}
 .trust-strip .trust-grid p {font-size:14px}
 #solutions .service-grid {padding:8px;gap:12px}
 #solutions .service-card,#solutions .service-card.featured {display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 12px;padding:22px 18px}
 #solutions .service-number {grid-column:2;grid-row:1;font-size:11px}
 #solutions .service-icon {grid-column:1;grid-row:1/3;width:38px;height:38px;margin:0}
 #solutions .service-card h3 {grid-column:2;grid-row:2;font-size:23px;margin:10px 0 18px}
 #solutions .service-card>p {grid-column:1/-1;font-size:16px;line-height:1.65;margin:0}
 #solutions .offer-summary {gap:12px;margin-top:20px}
 #solutions .offer-summary>div {padding:24px 20px}
 #solutions .offer-summary h3 {font-size:22px;margin-bottom:14px}
 #solutions .offer-summary p {font-size:16px;line-height:1.65}
 #solutions .service-actions .button {font-size:15px;line-height:1.45;padding-inline:18px}
 .garden-map-section .map-copy {padding:24px 20px}
 .garden-map-section .map-detail h3 {font-size:25px}
 .client-story blockquote>p {font-size:18px}
 .client-story .testimonial-full blockquote>p {font-size:16px}
 main :is(.family-card,.prevention-mini,.pro-contexts) h3 {font-size:24px}
 main :is(.service-card,.offer-summary,.inclusion,.support-grid,.garden-steps,.pro-contexts,.pro-process,.family-card,.prevention-mini,.service-offer-choice,.map-detail) p {font-size:16px;line-height:1.65}
 .process-timeline-section .process-step-copy h3 {font-size:28px;margin-bottom:18px}
 .process-timeline-section .process-step-copy p {font-size:17px;line-height:1.65}
 .quote-section .form-heading h3 {font-size:24px}
 .quote-section .form-heading .form-icon {display:none}
 .quote-section .contact-options label {font-size:14px}
 .quote-section .diagnostic-inclusions li {font-size:16px}
 .quote-section .quote-form {padding:26px 20px}
 .subscription-section .subscription-inclusions h3,.support-heading h3 {font-size:26px}
 .subscription-section .inclusion h4,.support-grid article h4 {font-size:23px}
 .garden-service .garden-steps h3,.pro-process h3 {font-size:24px}
 .knowledge-page .info-bubble {padding:26px 22px}
 .knowledge-page .info-bubble h3 {font-size:25px}
 .knowledge-page .info-bubble :is(.info-bubble-lead,.info-bubble-detail),.knowledge-page .info-bubble details p {font-size:16px}
 .knowledge-page .cycle-stage {padding:26px 22px}
 .knowledge-page .cycle-stage p.cycle-lead {font-size:17px}
 .rain-checklist .rain-check strong {font-size:22px}
 .rain-checklist .rain-check span span {font-size:16px}
 main :is(.faq-list,.subscription-conditions,.cycle-more,.testimonial-full,.info-bubble) summary {font-size:16px;padding-block:18px}
 main :is(.faq-list,.subscription-conditions) details p {font-size:16px;line-height:1.7}
 main .final-cta h2 {font-size:32px}
}
/* Override legacy sizes in nested titles and micro-labels. */
body:not(.pilotage-page) main h2 {font-size:clamp(34px,3.45vw,48px)}
.quote-section .quote-copy h2>span {font-size:inherit;line-height:inherit}
.subscription-section .subscription-copy h2 br {display:initial}
body:not(.pilotage-page) main p.eyebrow,#solutions .section-heading .eyebrow {font-size:12px;line-height:1.6}
.service-intro .intro-copy p:not(.eyebrow),.garden-service .garden-service-grid>div>p:not(.eyebrow) {font-size:18px;line-height:1.65}
@media(max-width:600px) {
 body:not(.pilotage-page) main h2 {font-size:32px}
 body:not(.pilotage-page) main p.eyebrow,#solutions .section-heading .eyebrow {font-size:11px}
 .service-intro .intro-copy p:not(.eyebrow),.garden-service .garden-service-grid>div>p:not(.eyebrow) {font-size:17px}
 .services-page .final-cta .button {font-size:15px}
}
@media(max-width:600px) {
 .quote-section .contact-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0}
 .quote-section .contact-options label {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 4px;min-width:0;border:1px solid #e5dfd9}
 .quote-section .contact-options label>span {white-space:nowrap}
 .quote-section .contact-options label:has(input:checked) {background:#fff3f2}
 .quote-section .contact-options label:focus-within {outline:2px solid #b91d23;outline-offset:2px}
}

/* Keep the location phrase together, with natural wrapping on narrow screens. */
.hero .hero-description .hero-location {display:inline-block;max-width:100%;vertical-align:top}
