/* Canonical typography and action styles. Loaded after layout styles on every page.
   Layouts, imagery, colors and intentional homepage display scale remain contextual. */
:root{--ds-display:clamp(64px,7.5vw,112px);--ds-page:clamp(40px,4.5vw,62px);--ds-section:clamp(32px,3.6vw,46px);--ds-content:32px;--ds-card:24px;--ds-body:15px;--ds-caption:13px;--ds-fine:12px;--ds-action:14px;--ds-weight-heading:600;--ds-weight-action:600;--ds-body-leading:1.8}
body{font-family:Inter,Arial,sans-serif;font-size:var(--ds-body);font-weight:400;line-height:1.6}
.ds-type.ds-heading{font-family:inherit;font-weight:var(--ds-weight-heading);text-wrap:balance}
.ds-type.ds-heading.ds-display{font-size:var(--ds-display);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px}
.ds-type.ds-heading.ds-page{font-size:var(--ds-page);line-height:1.1;letter-spacing:-.035em;margin:20px 0 24px}
.ds-type.ds-heading.ds-section{font-size:var(--ds-section);line-height:1.14;letter-spacing:-.035em;margin:0 0 24px}
.ds-type.ds-heading.ds-content{font-size:var(--ds-content);line-height:1.2;letter-spacing:-.03em;margin:0 0 20px}
.ds-type.ds-heading.ds-card{font-size:var(--ds-card);line-height:1.25;letter-spacing:-.025em;margin:0 0 14px}
.ds-type.ds-heading.ds-season{font-size:30px;line-height:1.15;letter-spacing:-.03em;margin:0 0 14px}
.ds-type.ds-heading.ds-modal{font-size:32px;line-height:1.18;letter-spacing:-.03em;margin:0}
.ds-type.ds-heading.ds-footer{font-size:18px;line-height:1.4;letter-spacing:-.02em;margin:0 0 16px}
.ds-type.ds-heading.ds-pest-label{font-size:16px;line-height:1.4;letter-spacing:-.02em;margin:0}
.season-pest-caption .ds-type.ds-heading.ds-pest-label{font-size:12px;line-height:1.45}
.ds-type.ds-copy{font-family:inherit;font-weight:400;letter-spacing:0}
.ds-type.ds-copy.ds-body{font-size:var(--ds-body);line-height:var(--ds-body-leading);margin:0 0 18px}
.ds-type.ds-copy.ds-caption{font-size:var(--ds-caption);line-height:1.75;margin:0 0 14px}
.ds-type.ds-copy.ds-fine{font-size:var(--ds-fine);line-height:1.75;margin:14px 0 0}
.ds-type.ds-copy.ds-emphasis{font-size:14px;font-weight:600;line-height:1.65;margin:12px 0}
.ds-type.ds-copy.ds-lead{font-size:20px;font-weight:500;line-height:1.55;margin:0 0 20px}
.ds-type.ds-copy:last-child{margin-bottom:0}
.simple-plan-top .ds-type.ds-heading{margin-bottom:0}
.contact-card-head .ds-type.ds-heading{margin:0}
.hero-bottom .ds-type.ds-copy.ds-body{max-width:650px}
.ds-control.ds-cta.ds-primary,.site-header .ds-control.ds-cta.ds-small{font-family:inherit;font-size:var(--ds-action);font-weight:var(--ds-weight-action);line-height:1.3;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 24px;text-align:center;text-decoration:none;border-radius:50px;box-sizing:border-box;vertical-align:middle;white-space:normal}
.site-header .ds-control.ds-cta.ds-small{min-height:48px;padding:12px 20px;font-size:13px;white-space:nowrap}
.ds-control.ds-cta>i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;line-height:1;margin:0;padding:0}
.ds-control.ds-cta .cta-arrow{width:18px;height:18px;flex:0 0 18px;margin:0;vertical-align:middle}
.ds-control.ds-link{font-family:inherit;font-size:var(--ds-action);font-weight:var(--ds-weight-action);line-height:1.5;letter-spacing:0;vertical-align:middle}
.ds-control.ds-choice{font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0}
:is(.guide-faqs,.market-faq-list,.pricing-questions,.referral-editorial-faq,.faq) summary{font-family:inherit;font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.015em;align-items:center;text-align:left}
:is(.guide-faqs,.market-faq-list,.pricing-questions,.referral-editorial-faq,.faq) summary::after{flex-shrink:0;line-height:1}
.form-grid label>span,.lead-notes>span,.lead-referrer>span,.lead-plan-choice>span,.coverage-form>label{font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0}
.form-grid input,.form-grid select,.lead-plan-choice select,.lead-notes textarea,.lead-referrer input{font-size:14px;font-weight:400;line-height:1.5}
.pest-choice span{font-size:13px;font-weight:500;line-height:1.45}
.coverage-result p,.lead-confirmation p{font-size:var(--ds-body);font-weight:400;line-height:var(--ds-body-leading)}
.simple-plan .ds-control.ds-cta,.booking-form-panel .ds-control.ds-cta,.contact-card form .ds-control.ds-cta{display:flex;width:100%;justify-content:center}
.ds-control:focus-visible{outline:3px solid #aa5c15;outline-offset:4px}
@media(max-width:1100px){:root{--ds-card:23px}.site-header .ds-control.ds-cta.ds-small{font-size:13px;padding:12px 16px}}
@media(max-width:800px){:root{--ds-display:clamp(58px,11vw,84px);--ds-page:clamp(34px,7.5vw,46px);--ds-section:34px;--ds-content:28px;--ds-card:22px;--ds-body:14px;--ds-action:14px;--ds-caption:13px;--ds-fine:12px}
 .ds-type.ds-heading.ds-display{margin-bottom:22px}.ds-type.ds-heading.ds-section{margin-bottom:22px}.ds-type.ds-heading.ds-season{font-size:28px}.ds-type.ds-heading.ds-modal{font-size:28px}.ds-type.ds-copy.ds-lead{font-size:18px}
 .ds-control.ds-cta.ds-primary{min-height:50px;padding:11px 22px;gap:12px;max-width:100%;margin-left:auto;margin-right:auto;align-self:center;justify-self:center}
 .site-header .ds-control.ds-cta.ds-small{font-size:12px;min-height:44px;padding:11px 14px}
 :is(.guide-faqs,.market-faq-list,.pricing-questions,.referral-editorial-faq,.faq) summary{font-size:16px}
 .hero-cta-row .ds-control.ds-cta{width:100%}
}
@media(max-width:380px){.site-header .ds-control.ds-cta.ds-small{font-size:11px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.ds-control{transition:none}}

.ds-control.ds-question.ds-summary{font-family:inherit;font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.015em;align-items:center;text-align:left}
.season-sources .ds-control.ds-question.ds-summary,.cadence-sources .ds-control.ds-question.ds-summary{font-size:12px;font-weight:500;line-height:1.7;letter-spacing:0}
.lead-confirmation h3{font-size:var(--ds-card);font-weight:600;line-height:1.25;letter-spacing:-.025em}
@media(max-width:800px){.ds-control.ds-question.ds-summary{font-size:16px}.season-sources .ds-control.ds-question.ds-summary,.cadence-sources .ds-control.ds-question.ds-summary{font-size:12px}}

/* Keep market artwork separate from each card's text hierarchy. */
.area-card > img + .ds-type.ds-heading.ds-card{margin-top:32px;margin-bottom:16px}

/* The homepage promise strip centers its icon, statement and link together. */
.why-bottom{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;column-gap:18px;row-gap:12px}
.why-bottom > .ds-type.ds-copy.ds-body{margin:0;line-height:1.6}
.why-bottom > a.ds-control.ds-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;padding:0;line-height:1.6;white-space:nowrap;align-self:center}
.why-bottom > a.ds-control.ds-link .cta-arrow{display:block;flex-shrink:0;margin:0}
@media(max-width:600px){.why-bottom{grid-template-columns:45px minmax(0,1fr);column-gap:12px}.why-bottom > span{grid-row:1 / 3;align-self:center}.why-bottom > a.ds-control.ds-link{grid-column:2;justify-self:start;justify-content:flex-start;min-height:32px}.why-bottom > .ds-type.ds-copy.ds-body{grid-column:2}}

/* Preserve the pricing introduction's centered measure after typography resets. */
.simple-price-heading > .ds-type.ds-copy.ds-body{max-width:620px;margin:0 auto;text-align:center}

/* Give the newsletter heading its natural width and shorten the email field. */
@media(min-width:1025px){.footer-ribbon{grid-template-columns:105px 110px max-content minmax(200px,1fr);gap:20px}.footer-ribbon .newsletter-title{white-space:nowrap}.footer-ribbon #footer-newsletter{width:100%;max-width:320px;justify-self:end}.footer-ribbon #footer-newsletter input{width:100%;box-sizing:border-box}}

/* Keep the newsletter label directly beside its field. */
@media(min-width:1025px){.footer-ribbon #footer-newsletter{max-width:none;justify-self:stretch}}

/* Center the shared disclosure beneath both pricing options. */
.simple-plans-section > .simple-plan-terms.ds-type.ds-copy.ds-fine{max-width:760px;text-align:left;margin-left:auto;margin-right:auto}

/* One FAQ component, using the homepage's white/orange cards and circular control. */
body details.aquila-faq.aquila-faq{padding:0;margin:0 0 15px;border:0;border-radius:21px;background:#fff;overflow:hidden;transition:background-color .2s ease}
body details.aquila-faq.aquila-faq[open]{background:var(--accent);border:0}
.aquila-faq > summary.ds-control.ds-question.ds-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:75px;padding:20px 24px;list-style:none;color:var(--green);cursor:pointer;text-decoration:none}
.aquila-faq > summary.ds-control.ds-question.ds-summary::-webkit-details-marker{display:none}
.aquila-faq > summary.ds-control.ds-question.ds-summary::after{content:'+';display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:50%;background:#f5f4ff;color:var(--green);font-size:25px;font-weight:400;line-height:1;margin:0}
.aquila-faq[open] > summary.ds-control.ds-question.ds-summary::after{content:'×';background:#fff;font-size:23px}
.aquila-faq > summary.ds-control.ds-question.ds-summary:focus-visible{outline:2px solid #9a4d0e;outline-offset:-5px;border-radius:21px}
body .aquila-faq.aquila-faq > p.ds-type.ds-copy{max-width:none;padding:0 24px 24px;margin:0;color:#294027;line-height:1.8}
@media(max-width:800px){.aquila-faq > summary.ds-control.ds-question.ds-summary{padding:20px;gap:18px;min-height:74px}.aquila-faq > summary.ds-control.ds-question.ds-summary::after{width:35px;height:35px;flex-basis:35px;font-size:23px}body .aquila-faq.aquila-faq > p.ds-type.ds-copy{padding:0 20px 24px}}
@media(prefers-reduced-motion:reduce){body details.aquila-faq.aquila-faq{transition:none}}
.faq #questions,.guide-faqs,.market-faq-list{gap:0}
body details.aquila-faq.aquila-faq:last-child{margin-bottom:0}

/* Keep lead submit actions visible against white form panels. */
:is(#quote-form,#homepage-quote,#contact-page-form) button[type="submit"].button:hover,
:is(#quote-form,#homepage-quote,#contact-page-form) button[type="submit"].button:focus-visible{background:#000;color:#fff;border-color:#000}
:is(#quote-form,#homepage-quote,#contact-page-form) button[type="submit"].button:hover i,
:is(#quote-form,#homepage-quote,#contact-page-form) button[type="submit"].button:focus-visible i{background:#fff;color:#000}

/* Branded post-inquiry landing page. */
.thanks-page>.section{max-width:1200px;margin:0 auto;padding:55px 28px}
.thanks-page>.thanks-intro{padding-bottom:20px}.thanks-card{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 15px 45px #003e2e08}.thanks-copy{padding:48px}.thanks-check{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--green);margin-bottom:25px}.thanks-check svg{width:28px;height:28px}.thanks-home{display:inline-flex;align-items:center;gap:12px;margin-top:26px;text-decoration:underline;text-underline-offset:5px}.thanks-home svg{width:17px;height:17px}.thanks-truck{background:#e9f0e2;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;overflow:hidden}.thanks-truck>span{font-size:25px;font-weight:600;line-height:1.3;letter-spacing:-.025em;text-align:center}.thanks-truck img{display:block;width:115%;max-width:none;height:auto;object-fit:contain;margin-top:28px}.thanks-next>h2{text-align:center}.thanks-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:38px}.thanks-steps article{border-top:1px solid #cddbc9;padding:25px 0 0}.thanks-number{display:block;color:#8e480e;font-size:14px;font-weight:600;margin-bottom:20px}.thanks-page>.thanks-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#003e2e;color:#fff;border-radius:25px;max-width:1144px;margin-bottom:65px;padding:36px 42px}.thanks-contact h2{color:#fff}.thanks-contact p{color:#e0e9df}.thanks-actions{display:flex;align-items:center;gap:25px;flex-shrink:0}.thanks-text{color:#fff;text-decoration:underline;text-underline-offset:5px}.thanks-actions .button:hover{background:#000;color:#fff}
@media(max-width:800px){.thanks-page>.section{padding:38px 20px}.thanks-card{grid-template-columns:1fr}.thanks-copy{padding:30px 25px}.thanks-truck{padding:30px 24px 20px}.thanks-truck>span{font-size:22px}.thanks-truck img{width:100%;max-width:480px;margin-top:15px}.thanks-steps{grid-template-columns:1fr;gap:22px;margin-top:25px}.thanks-page>.thanks-contact{flex-direction:column;align-items:flex-start;padding:30px 25px;margin:0 20px 40px}.thanks-actions{flex-wrap:wrap;gap:22px}.thanks-number{margin-bottom:12px}}
