/* ==========================================================================
   Crescent brand refresh — Nov 2026
   A finishing layer over the existing site. Layout and imagery are unchanged;
   this aligns type, colour and components with the Crescent Branding
   Guidelines (Sept 2026): Gotham headlines, Garet subheads, Inter body,
   Dark Navy / Golden Yellow / Crescent Green, layered-arc supporting element.
   Licensed Gotham / Garet load first if installed; Montserrat is the web stand-in.
   ========================================================================== */

@font-face{font-family:"Crescent Head";font-weight:900;font-style:normal;font-display:swap;
  src:local("Gotham Black"),local("Gotham-Black"),url(assets/montserrat-900.woff2) format("woff2")}
@font-face{font-family:"Crescent Head";font-weight:800;font-style:normal;font-display:swap;
  src:local("Gotham Bold"),local("Gotham-Bold"),url(assets/montserrat-800.woff2) format("woff2")}
@font-face{font-family:"Crescent Sub";font-weight:800;font-style:normal;font-display:swap;
  src:local("Garet Heavy"),local("Garet-Heavy"),local("Garet Bold"),url(assets/montserrat-800.woff2) format("woff2")}

:root{
  --navy:#001446;--yellow:#F7BE00;--green:#32834E;--white:#fff;--black:#000;
  --navy-90:#0b1f55;--ink:#0d1838;--muted:#4b5675;--paper:#f4f5f8;--line:#0014461a;
  --head:"Crescent Head",Gotham,Montserrat,Arial,sans-serif;
  --sub:"Crescent Sub",Garet,Montserrat,Arial,sans-serif;
  --body:Inter,Arial,Helvetica,sans-serif;
  --r-sm:10px;--r-md:16px;--r-lg:22px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

body{font-family:var(--body)!important;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---------- Headlines: Gotham-style, sentence case, heavy, tight ---------- */
h1,h2{font-family:var(--head)!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.03em!important;text-wrap:balance}
h1{line-height:1.02!important}
h2{line-height:1.08!important}
h1 span,h1 em{color:var(--yellow);font-style:normal}
h3,.large-copy,.intro-title{font-family:var(--sub)!important;font-weight:800!important;letter-spacing:-.005em!important}
h3{text-transform:none}

/* Comfortable reading size for body copy */
main p{line-height:1.7}
.lead,.intro,.story-copy .intro{font-size:clamp(17px,1.25vw,19px)!important;line-height:1.65!important}

/* ---------- Section labels: tracked Garet caps with a yellow rule, no pills ---------- */
.eyebrow,.label{
  display:inline-flex!important;align-items:center;gap:12px;width:auto!important;
  background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;
  font-family:var(--sub)!important;font-weight:800!important;font-size:12.5px!important;line-height:1.3!important;
  letter-spacing:.2em!important;text-transform:uppercase;color:var(--green)!important;margin-bottom:20px!important}
.eyebrow:before,.label:before{content:"";flex:0 0 30px;height:3px;border-radius:3px;background:var(--yellow)}
/* on navy and photographic sections */
.hero .eyebrow,.story .eyebrow,.neighbourhood .eyebrow,.review-carousel .eyebrow,
.understand .label,.support-panel .label,.contact-band .label,.overview-hero .label,
.why-pillar .label{color:#fff!important}
/* on yellow sections */
.contact .eyebrow,.service-contact .label{color:var(--navy)!important}
.contact .eyebrow:before,.service-contact .label:before{background:var(--navy)}

/* ---------- Buttons: pill with arrow; the shine gimmick is retired ---------- */
.button,a.button,button.button{
  border-radius:999px!important;padding:15px 26px 15px 28px!important;gap:12px;
  font-family:var(--sub)!important;font-weight:800!important;font-size:15px!important;letter-spacing:.01em!important;
  background:var(--yellow)!important;color:var(--navy)!important;border:0!important;
  box-shadow:0 1px 0 #00144614,0 6px 18px -8px #00144640!important;
  transform:none!important;transition:background .2s var(--ease),box-shadow .2s var(--ease)!important;overflow:visible!important}
.button:before{display:none!important;content:none!important}
.button:after{
  content:""!important;display:inline-block!important;position:static!important;width:16px!important;height:16px!important;
  flex:0 0 16px;background:currentColor!important;opacity:1!important;transform:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s var(--ease)!important;animation:none!important}
.button:hover,.button:focus-visible{background:#ffcb24!important;box-shadow:0 1px 0 #00144614,0 10px 24px -8px #00144655!important}
.button:hover:after,.button:focus-visible:after{transform:translateX(4px)!important}
.button.navy,.navy-button,.contact form button,form button[type=submit]{background:var(--navy)!important;color:#fff!important}
.button.navy:hover,.navy-button:hover{background:var(--navy-90)!important}
header .button.small,#about-nav>a.button{padding:12px 20px 12px 22px!important;font-size:14px!important}

/* ---------- Header & navigation ---------- */
.topline{font-family:var(--body);font-size:13.5px!important;letter-spacing:.01em}
.topline a{font-weight:700}
header nav>a:not(.button),#about-nav>a:not(.button),.site-header nav>a:not(.button){
  font-family:var(--body)!important;font-weight:600!important;font-size:15px!important;color:var(--navy)!important;
  background:none!important;border:0!important;border-radius:0!important;position:relative;padding:8px 2px!important}
header nav>a:not(.button):after,#about-nav>a:not(.button):after{
  content:"";position:absolute;left:2px;right:2px;bottom:0;height:3px;border-radius:3px;background:var(--yellow);
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
header nav>a:not(.button):hover:after,#about-nav>a:not(.button):hover:after,
#about-nav>a.current:after,nav a.current:after{transform:scaleX(1)}
#about-nav>a.current,nav a.current:not(.button){color:var(--navy)!important;background:none!important}
header,.site-header{box-shadow:0 1px 0 var(--line)}
header nav,#about-nav{gap:30px!important}
header nav>a.button,#about-nav>a.button{margin-left:10px}

/* ---------- Home hero ---------- */
.hero h1{font-size:clamp(56px,6.6vw,104px)!important}
.hero .lead{color:#dfe5f3!important;max-width:30em}
.hero-note{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sub);font-weight:800;color:#c9d2e8!important}
.hero .panel-caption{border-radius:var(--r-md)!important;border:1px solid #ffffff2e!important;
  background:linear-gradient(180deg,#001446cc,#001446ee)!important;backdrop-filter:blur(6px)}
.hero .panel-caption .caption-kicker{font-family:var(--sub);letter-spacing:.2em!important}
.owner-label strong{font-family:var(--sub);font-weight:800}

/* ---------- Trust bar (replaces the plain ribbon) ---------- */
.trust-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-bottom:1px solid var(--line);padding:0 6vw}
.trust-bar span{width:auto;text-align:left;border:0!important;padding:0;margin:0}
.trust-bar .trust-item{display:flex;align-items:center;gap:16px;padding:26px 22px}
.trust-bar .trust-item+.trust-item{border-left:1px solid var(--line)}
.trust-bar .trust-icon{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:#fff;box-shadow:inset 0 -3px 0 var(--yellow)}
.trust-bar .trust-icon svg{width:24px;height:24px}
.trust-bar strong{display:block;font-family:var(--sub);font-weight:800;font-size:15px;color:var(--navy);line-height:1.25}
.trust-bar small{display:block;font-size:13.5px;color:var(--muted);line-height:1.4;margin-top:2px}
@media(max-width:1000px){.trust-bar{grid-template-columns:repeat(2,1fr);padding:0 4vw}
  .trust-bar .trust-item:nth-child(3){border-left:0}
  .trust-bar .trust-item:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:560px){.trust-bar{grid-template-columns:1fr;padding:0 20px}
  .trust-bar .trust-item{padding:18px 4px}.trust-bar .trust-item+.trust-item{border-left:0;border-top:1px solid var(--line)}}

/* ---------- Story (navy) ---------- */
.story .large-copy{color:var(--yellow)!important;font-size:clamp(19px,1.5vw,22px)!important}
.story-copy .textlink,.textlink{font-family:var(--sub);font-weight:800;color:var(--yellow);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--paper)!important}
.review-carousel{border-radius:var(--r-lg)!important;position:relative;box-shadow:0 30px 60px -30px #00144680!important}
.review-carousel:before{content:"\201C";position:absolute;right:34px;top:-6px;font-family:Georgia,serif;font-size:170px;line-height:1;color:var(--yellow);opacity:.18;pointer-events:none}
.review-stars{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;gap:4px!important;margin-bottom:22px!important;cursor:default}
.rating-star{font-size:22px!important;background:none!important;-webkit-text-fill-color:var(--yellow)!important;color:var(--yellow)!important;filter:none!important;animation:none!important}
.review-slide blockquote,.review-slide>p,.review-slide h3{font-family:var(--sub)!important}
.anonymous-avatar{background:#ffffff14!important;border:1px solid #ffffff26!important;box-shadow:none!important;padding:10px!important;filter:brightness(0) invert(1) opacity(.85)!important}
.review-buttons button{border-radius:999px!important;border:1px solid #ffffff40!important;background:none!important;color:#fff!important;font-weight:700;padding:9px 18px!important}
.review-buttons button:hover{background:#ffffff14!important}

/* ---------- Steps (01 / 02 / 03) ---------- */
.steps article{border-top:0!important;background:#fff;border:1px solid var(--line)!important;border-radius:var(--r-md);padding:30px 28px 28px!important;box-shadow:0 18px 40px -32px #00144660}
.approach .number,.steps .number{display:inline-grid!important;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--yellow)!important;
  font-family:var(--head)!important;font-weight:900!important;font-size:20px!important;line-height:1!important;margin-bottom:22px!important;letter-spacing:.02em}
.steps h3{font-size:20px!important;color:var(--navy)}

/* ---------- Neighbourhood ---------- */
.neighbourhood .large-copy{color:var(--yellow)!important}
.location-map{border-radius:var(--r-lg)!important;overflow:hidden}
.location-map iframe{background:#e9edf5 url(assets/brand-arcs-color.png) center/46% no-repeat}

/* ---------- FAQ ---------- */
.faq summary{font-family:var(--sub)!important;font-weight:800!important;font-size:17px!important;color:var(--navy);padding-right:52px!important}
.faq summary:after{content:"+"!important;width:32px;height:32px;border-radius:50%;background:var(--paper);color:var(--navy);display:grid!important;place-items:center;
  font:700 20px/1 var(--body)!important;transition:background .2s,transform .25s var(--ease)!important}
.faq details[open] summary:after{background:var(--yellow);transform:rotate(45deg)}

/* ---------- Contact (yellow) ---------- */
.contact{position:relative;overflow:hidden}
.contact .phone{font-family:var(--head)!important;font-weight:900!important;font-size:clamp(30px,2.6vw,40px)!important;color:var(--navy)!important;letter-spacing:-.01em}
.contact form{border-radius:var(--r-lg)!important;box-shadow:0 40px 80px -40px #0014468c!important}
.contact form h3{font-size:22px!important;color:var(--navy)}
input,select,textarea{border-radius:var(--r-sm)!important;border:1px solid #0014462e!important;background:#fbfbfd!important;font-family:var(--body)!important}
input:focus,select:focus,textarea:focus{border-color:var(--navy)!important;box-shadow:0 0 0 4px #f7be0055!important;outline:0!important}
.contact form button{border-radius:999px!important;font-family:var(--sub)!important;font-weight:800!important;padding:15px 28px!important}
label{font-weight:600;color:var(--navy)}

/* ---------- Footers: brand arcs as a cropped edge element ---------- */
footer{position:relative;overflow:hidden;isolation:isolate}
footer:has(.footer-content):after{content:"";position:absolute;z-index:-1;right:-6%;bottom:-38%;width:min(560px,48vw);aspect-ratio:1290/330;
  background:url(assets/brand-arcs-light.png) center/contain no-repeat;opacity:.13;pointer-events:none}
.footer-statement strong{color:var(--yellow)}
.footer-statement{font-family:var(--head)!important;font-weight:900;text-transform:none;letter-spacing:-.02em}

/* ---------- About page ---------- */
.pillar-icon{border-radius:50%!important;background:var(--yellow)!important;border:0!important;box-shadow:none!important}
.pillar-icon img{filter:brightness(0) saturate(100%) invert(8%) sepia(54%) saturate(4500%) hue-rotate(220deg)!important}
.pillar-number{font-family:var(--head)!important;font-weight:900!important;color:#ffffff47!important}
.why-pillar h3{font-size:21px!important}
.contact-band{position:relative;overflow:hidden;isolation:isolate}

.closing{font-family:var(--sub);font-weight:800}

/* ---------- Services overview & service pages ---------- */
.service-cards{gap:20px!important}
.service-card{border-radius:var(--r-lg)!important;border:1px solid var(--line)!important;box-shadow:0 22px 44px -36px #00144670!important;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)!important;overflow:hidden}
.service-card:hover,.service-card:focus-visible{transform:translateY(-4px)!important;box-shadow:0 30px 60px -34px #00144690!important}
.card-number{font-family:var(--head)!important;font-weight:900!important;color:var(--green)!important;letter-spacing:.08em}
.service-card h3{font-size:20px!important;color:var(--navy)}
.card-link{display:inline-flex!important;align-items:center;gap:8px;font-family:var(--sub)!important;font-weight:800!important;color:var(--navy)!important;text-decoration:none!important;border:0!important}
.service-nav a{border-radius:999px!important;font-family:var(--body);font-weight:600}
.service-nav a[aria-current=page]{background:var(--yellow)!important;color:var(--navy)!important}
.step-number{border-radius:50%!important;background:var(--navy)!important;color:var(--yellow)!important;font-family:var(--head)!important;font-weight:900!important;font-size:19px!important}
.step-grid h3{color:var(--navy)}
.prep-panel{background:var(--paper)!important;border:0!important;border-radius:var(--r-lg)!important}
.support-panel{border-radius:var(--r-lg)!important}
.service-contact h2{color:var(--navy)}
.breadcrumb{font-size:13px;letter-spacing:.02em}
.pest-hero img{filter:drop-shadow(0 24px 30px #00144629)}

/* ---------- Motion preferences ---------- */
@media(prefers-reduced-motion:reduce){
  .button:after,.service-card,header nav>a:after,#about-nav>a:after{transition:none!important}
  .service-card:hover{transform:none!important}}

/* ---------- Small screens ---------- */
@media(max-width:740px){
  .hero h1{font-size:clamp(40px,11vw,56px)!important}
  h2{font-size:clamp(28px,8vw,38px)!important}
  .eyebrow,.label{font-size:11px!important;letter-spacing:.17em!important;gap:10px}
  .eyebrow:before,.label:before{flex-basis:22px}
  .steps article{padding:24px 22px!important}
  footer:has(.footer-content):after{width:80vw;bottom:-20%}
  .review-carousel:before{font-size:120px;right:18px}
}

/* Readable body sizes inside content sections */
.story-copy>p:not(.eyebrow):not(.large-copy),.steps p,.location-copy>p:not(.eyebrow):not(.large-copy),
.contact>div>p:not(.eyebrow),.faq details p,.testimonial-intro p:not(.eyebrow),
.family-copy p:not(.label),.work .copy p:not(.label),.story-copy p:not(.label):not(.intro),
.understand p:not(.label),.follow-up p:not(.label),.step-grid p,.support-copy p,.service-card p,.prep-panel li{font-size:16px!important;line-height:1.7!important}


/* Navy buttons on yellow bands */
a.button.navy,a.button.navy-button,.service-contact a.button,.contact form button{background:var(--navy)!important;color:#fff!important}
a.button.navy:hover,a.button.navy-button:hover,.service-contact a.button:hover{background:var(--navy-90)!important}

/* ==========================================================================
   Makeover layer: new components, hover states and motion
   ========================================================================== */

/* ---------- Scroll progress + header state ---------- */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:60;background:var(--yellow);transform:scaleX(0);transform-origin:left;pointer-events:none}
body>header,.site-header{transition:box-shadow .35s var(--ease),background .35s var(--ease)}
body>header.is-scrolled,.site-header.is-scrolled{box-shadow:0 12px 30px -18px #00144655!important;background:#fff!important}
header .logo,.site-header .logo-link img{transition:transform .35s var(--ease)}
header.is-scrolled .logo,.site-header.is-scrolled .logo-link img{transform:scale(.9);transform-origin:left center}

/* ---------- Hero: second CTA + richer composition ---------- */
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.button.ghost{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1.5px #ffffff66!important}
.button.ghost:hover,.button.ghost:focus-visible{background:#ffffff14!important;box-shadow:inset 0 0 0 1.5px #fff!important}
.button.ghost:after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat!important}
.button.ghost:hover:after{transform:rotate(-12deg)!important}
.button:active{scale:.97}
.hero .actions .button{margin-top:0!important}
.hero-note{letter-spacing:.12em!important}
.hero .panel-caption{transition:transform .5s var(--ease),box-shadow .5s var(--ease)!important}
.hero .panel-caption:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px #000a}

/* ---------- Trust bar hover ---------- */
.trust-bar .trust-item{position:relative;transition:background .35s var(--ease)}
.trust-bar .trust-item:hover{background:linear-gradient(180deg,#fff,#f7f8fb)}
.trust-bar .trust-icon{transition:background .35s var(--ease),color .35s var(--ease),transform .45s var(--ease),box-shadow .35s}
.trust-bar .trust-item:hover .trust-icon{background:var(--yellow);color:var(--navy);transform:translateY(-3px) rotate(-6deg);box-shadow:inset 0 -3px 0 var(--navy)}

/* ---------- Pests we treat (new homepage section) ---------- */
.pests{background:#fff;padding-top:clamp(70px,8vw,120px)!important;padding-bottom:clamp(70px,8vw,120px)!important}
.pests-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 70px;align-items:end;margin-bottom:46px}
.pests-head h2{margin:0;color:var(--navy);font-size:clamp(34px,3.6vw,54px)!important}
.pests-head>p{margin:0;color:var(--muted);font-size:17px!important;line-height:1.7;max-width:34em}
.pest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pest-tile{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:250px;padding:24px 24px 22px;
  border-radius:var(--r-lg);background:var(--paper);color:var(--navy);text-decoration:none;
  transition:background .45s var(--ease),color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}
.pest-tile:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),#f7be0033,transparent 70%)}
.pest-art{flex:1;display:grid;place-items:center;min-height:130px}
.pest-art img{width:min(78%,190px);height:auto;filter:drop-shadow(0 16px 18px #0014462a);transition:transform .6s var(--ease)}
.pest-name{font-family:var(--sub);font-weight:800;font-size:20px;letter-spacing:-.01em}
.pest-sub{font-size:14px;color:var(--muted);margin-top:4px;transition:color .45s}
.pest-go{position:absolute;right:20px;bottom:20px;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 4px 12px -6px #00144655;
  transition:background .4s var(--ease),transform .45s var(--ease)}
.pest-go:after{content:"";position:absolute;inset:0;background:var(--navy);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/16px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/16px no-repeat}
.pest-tile:hover,.pest-tile:focus-visible{background:var(--navy);color:#fff;transform:translateY(-6px);box-shadow:0 30px 50px -30px #001446aa}
.pest-tile:hover:before,.pest-tile:focus-visible:before{opacity:1}
.pest-tile:hover .pest-sub,.pest-tile:focus-visible .pest-sub{color:#c9d2e8}
.pest-tile:hover .pest-art img,.pest-tile:focus-visible .pest-art img{transform:scale(1.1) rotate(-5deg) translateY(-4px)}
.pest-tile:hover .pest-go,.pest-tile:focus-visible .pest-go{background:var(--yellow);transform:rotate(45deg)}
.pest-feature{grid-column:span 2;padding:0;background:var(--navy);color:#fff;justify-content:flex-end;min-height:250px}
.pest-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.pest-feature:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#001446f2 0%,#001446b3 45%,#00144620 100%)}
.pest-feature-copy{display:flex;flex-direction:column;padding:28px 30px;max-width:60%}
.pest-feature .pest-name{font-size:26px}
.pest-feature .pest-sub{color:#dfe5f3}
.pest-feature:hover>img{transform:scale(1.06)}
.pest-feature:hover{background:var(--navy)}
.pests-all{display:inline-block;margin-top:34px;color:var(--navy)!important}

/* ---------- Image hover: slow zoom inside rounded frames ---------- */
.story-photo,.faq-photo,.family-photo,.work-photo,.service-card figure{overflow:hidden}
.story-photo img,.faq-photo img,.family-photo img,.work-photo img,.service-card figure img{transition:scale 1.1s var(--ease),filter .6s}
.story-photo:hover img,.faq-photo:hover img,.family-photo:hover img,.work-photo:hover img{scale:1.04}
.service-card:hover figure img{scale:1.07}

/* ---------- Steps hover ---------- */
.steps article,.step-grid article{position:relative;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s!important}
.steps article:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.steps article:hover{transform:translateY(-6px);box-shadow:0 30px 50px -32px #00144688!important;border-color:#00144626!important}
.steps article:hover:after{transform:scaleX(1)}
.steps .number,.step-number{transition:background .35s,color .35s,transform .5s var(--ease)!important}
.steps article:hover .number,.step-grid article:hover .step-number{background:var(--yellow)!important;color:var(--navy)!important;transform:rotate(-8deg) scale(1.06)}

/* ---------- Reviews: slide transition + hover ---------- */
.review-slide:not([hidden]){animation:crSlide .6s var(--ease) both}
@keyframes crSlide{from{opacity:0;translate:24px 0}to{opacity:1;translate:0 0}}
.review-carousel{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.review-carousel:hover{transform:translateY(-4px)}
.review-stars .rating-star{transition:transform .4s var(--ease)}
.review-carousel:hover .rating-star{transform:translateY(-2px)}
.review-carousel:hover .rating-star:nth-child(2){transition-delay:.04s}.review-carousel:hover .rating-star:nth-child(3){transition-delay:.08s}
.review-carousel:hover .rating-star:nth-child(4){transition-delay:.12s}.review-carousel:hover .rating-star:nth-child(5){transition-delay:.16s}

/* ---------- FAQ hover + open ---------- */
.faq details{transition:background .3s var(--ease)}
.faq summary{transition:color .25s,padding-left .35s var(--ease)!important}
.faq details:hover summary:after{background:var(--yellow)}
.faq details[open] p{animation:crDrop .45s var(--ease) both}
@keyframes crDrop{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}

/* ---------- Neighbourhood + contact ---------- */
.location-landscape,.overview-backdrop img{will-change:translate}
.location-map{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.location-map:hover{transform:translateY(-4px);box-shadow:0 34px 60px -34px #000c}
.contact .phone{display:inline-block;background-image:linear-gradient(var(--navy),var(--navy));background-size:0 3px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .45s var(--ease)}
.contact .phone:hover{background-size:100% 3px}
.contact form{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.contact form:focus-within{transform:translateY(-4px)}

/* ---------- Service pages + about ---------- */
.service-nav a{transition:background .3s,color .3s,transform .35s var(--ease)!important}
.service-nav a:hover{transform:translateY(-2px)}
.pest-hero img{transition:transform 1s var(--ease)}
.pest-hero:hover img{transform:rotate(-3deg) scale(1.03)}
.prep-panel li{transition:transform .35s var(--ease),color .3s}
.prep-panel li:hover{transform:translateX(6px);color:var(--navy)}
.pillar-icon{transition:transform .5s var(--ease)!important}
.why-pillar:hover .pillar-icon{transform:rotate(-8deg) scale(1.06)!important}
.textlink,.card-link{transition:color .25s}
footer a{transition:color .25s}
footer a:hover{color:var(--yellow)!important}

/* ---------- Motion: reveals + hero entrance (only when JS + motion allowed) ---------- */
.js-motion [data-reveal]{opacity:0;transition-property:opacity,translate,clip-path,scale,transform,background,color,box-shadow,border-color;transition-duration:.9s,.9s,1.2s,1.2s,.45s,.45s,.45s,.45s,.45s;transition-timing-function:var(--ease)}
.js-motion [data-reveal=text]{translate:0 22px}
.js-motion [data-reveal=block]{translate:0 36px}
.js-motion [data-reveal=image]{clip-path:inset(10% 6% 10% 6% round 24px);scale:1.03}
.js-motion [data-reveal].is-in{opacity:1;translate:0 0;scale:1}
.js-motion [data-reveal=image].is-in{clip-path:inset(0 0 0 0 round 0)}
.js-motion [data-reveal=text],.js-motion [data-reveal=block]{clip-path:none!important}
.js-motion .hero-in{animation:crRise .95s var(--ease) both}
.js-motion .hero-photo-in{animation:crZoom 1.8s var(--ease) both}
@keyframes crRise{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}
@keyframes crZoom{from{opacity:0;scale:1.06}to{opacity:1;scale:1}}

@media(prefers-reduced-motion:reduce){
  .pest-tile,.pest-art img,.steps article,.review-carousel,.location-map,.contact form,.trust-bar .trust-icon,.pest-hero img{transition:none!important}
  .pest-tile:hover,.steps article:hover,.review-carousel:hover,.location-map:hover{transform:none!important}
  .review-slide:not([hidden]),.faq details[open] p{animation:none}}

@media(max-width:1000px){
  .pests-head{grid-template-columns:1fr;gap:16px}
  .pest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .pest-grid{gap:12px}
  .pest-tile{min-height:200px;padding:18px 16px}
  .pest-name{font-size:17px}.pest-sub{font-size:13px}
  .pest-go{width:32px;height:32px;right:14px;bottom:14px}
  .pest-feature{min-height:220px}.pest-feature-copy{max-width:80%;padding:22px}
  .hero .actions .button{width:100%}
}

/* Tile captions clear the arrow button */
.pest-tile:not(.pest-feature) .pest-name,.pest-tile:not(.pest-feature) .pest-sub{padding-right:46px}
@media(max-width:560px){.pest-tile:not(.pest-feature) .pest-name,.pest-tile:not(.pest-feature) .pest-sub{padding-right:0}
  .pest-tile:not(.pest-feature) .pest-go{top:12px;bottom:auto}}

/* Story photo: fade into navy with a mask instead of an overlay, so no seam line shows */
.story .story-photo{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 99%);mask-image:linear-gradient(90deg,#000 0%,#000 58%,transparent 99%)}
.story .story-photo:after{background:linear-gradient(0deg,#001446c0 0%,transparent 25%)!important}
.story .story-photo:hover img{scale:1}
.js-motion .story .story-photo[data-reveal=image]{clip-path:none;scale:1}
@media(max-width:740px){.story .story-photo{-webkit-mask-image:none;mask-image:none}}

/* Text links: no arrow glyphs — a quiet underline that sweeps yellow on hover */
.pests-all,.card-link{position:relative;display:inline-block!important;padding-bottom:7px!important;border:0!important;
  font-family:var(--sub)!important;font-weight:800!important;font-size:15px;letter-spacing:.01em;color:var(--navy)!important;text-decoration:none!important;
  background-image:linear-gradient(var(--yellow),var(--yellow)),linear-gradient(#00144633,#00144633)!important;
  background-repeat:no-repeat!important;background-position:0 100%,0 100%!important;background-size:0 3px,100% 1.5px!important;
  transition:background-size .45s var(--ease),color .25s!important}
.pests-all:after,.card-link:after{content:none!important}
.pests-all:hover,.pests-all:focus-visible,.service-card:hover .card-link,.service-card:focus-visible .card-link{background-size:100% 3px,100% 1.5px!important}
.pests-all{font-size:16px;margin-top:38px}

/* Section labels: no yellow dash — tracked caps only */
.eyebrow:before,.label:before{content:none!important;display:none!important}
.eyebrow,.label{gap:0!important}

/* Neighbourhood: more room — taller section, airier copy, larger map */
.neighbourhood{padding-top:clamp(90px,10vw,150px)!important;padding-bottom:clamp(90px,10vw,150px)!important}
.location-copy h2{margin-bottom:10px!important}
.neighbourhood .large-copy{margin:26px 0 30px!important;font-size:clamp(20px,1.6vw,24px)!important}
.location-copy>p:not(.eyebrow):not(.large-copy){max-width:460px!important;margin:0 0 22px!important;font-size:17px!important;line-height:1.8!important}
.location-copy .button{margin-top:22px!important}
.location-map iframe{height:clamp(420px,38vw,560px)!important}
.map-caption{padding:18px 24px!important}
@media(min-width:1001px){
  .neighbourhood{grid-template-columns:minmax(0,.88fr) minmax(0,1.4fr)!important;gap:clamp(56px,5.5vw,96px)!important;padding-left:6vw!important;padding-right:6vw!important}
}
@media(max-width:740px){
  .neighbourhood{padding-top:80px!important;padding-bottom:80px!important;gap:44px!important}
  .location-map iframe{height:400px!important}
  .location-copy>p:not(.eyebrow):not(.large-copy){font-size:16px!important}
}

/* ---------- Reviews: Google reviews band on Crescent navy, always moving ---------- */
.testimonials{display:block!important;background:var(--navy)!important;color:#fff;border:0!important;position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(84px,9vw,130px) 0 clamp(70px,7vw,100px)!important}
.testimonials:before{content:none!important}
.testimonials .review-carousel{display:none!important}
.rv-header{text-align:center;padding:0 22px;margin:0 auto clamp(46px,5vw,70px);max-width:980px}
.rv-label{display:inline-flex;align-items:center;gap:14px;margin:0 0 22px!important;font-family:var(--sub);font-weight:800;font-size:12.5px!important;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow)}
.rv-label img{width:22px;height:22px;padding:4px;border-radius:50%;background:#fff;box-sizing:content-box}
.rv-label:after{content:"";width:46px;height:1px;background:#ffffff40}
.rv-label:before{content:"";width:46px;height:1px;background:#ffffff40;order:-1}
.rv-header h2{margin:0!important;color:#fff;font-size:clamp(34px,4vw,60px)!important}
.rv-header h2 span{color:var(--yellow)}
.rv-rating{display:inline-flex;align-items:center;gap:14px;margin:26px 0 0!important;color:#c9d2e8;font-size:16px!important}
.rv-big-stars{color:var(--yellow);font-size:22px;letter-spacing:3px}
.review-marquee{position:relative;overflow:hidden;padding:16px 0 30px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.rv-track{display:flex;width:max-content;animation:rvScroll 70s linear infinite}
.review-marquee:hover .rv-track,.review-marquee:focus-within .rv-track{animation-play-state:paused}
.rv-set{display:flex;gap:24px;padding-right:24px}
.rv-card{flex:0 0 auto;width:clamp(300px,26vw,380px);margin:0;display:flex;flex-direction:column;gap:16px;padding:28px 28px 30px;border-radius:var(--r-lg);
  background:#fff;color:var(--ink);box-shadow:0 30px 60px -36px #000c;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.rv-card:hover{transform:translateY(-10px) rotate(-.6deg);box-shadow:0 40px 70px -34px #000e,0 0 0 3px var(--yellow)}
.rv-head{display:flex;align-items:center;gap:14px}
.rv-avatar{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--navy);display:grid;place-items:center;box-shadow:inset 0 -3px 0 var(--yellow)}
.rv-avatar img{width:26px;height:26px;filter:brightness(0) invert(1)}
.rv-who{flex:1;min-width:0}
.rv-who strong{display:block;font-family:var(--sub);font-weight:800;font-size:16px;color:var(--navy)}
.rv-who small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.rv-g{flex:0 0 22px;transition:transform .5s var(--ease)}
.rv-card:hover .rv-g{transform:rotate(360deg)}
.rv-stars{color:var(--yellow);font-size:18px;letter-spacing:3px;line-height:1}
.rv-card blockquote{margin:0}
.rv-title{font-family:var(--sub);font-weight:800;font-size:19px!important;line-height:1.35!important;color:var(--navy);margin:0 0 10px!important}
.rv-text{color:#3b4766;font-size:15.5px!important;line-height:1.7!important;margin:0!important}
.rv-foot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:clamp(26px,3vw,40px);padding:0 22px;text-align:center}
.rv-all{color:#fff!important;font-family:var(--sub);font-weight:800;font-size:16px;text-decoration:none;padding-bottom:7px;
  background-image:linear-gradient(var(--yellow),var(--yellow)),linear-gradient(#ffffff40,#ffffff40);background-repeat:no-repeat;background-position:0 100%,0 100%;background-size:0 3px,100% 1.5px;transition:background-size .45s var(--ease)}
.rv-all:hover,.rv-all:focus-visible{background-size:100% 3px,100% 1.5px}
.rv-disclose{margin:0!important;font-size:12.5px!important;color:#8fa0c7}
@keyframes rvScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .rv-track{animation:none}
  .review-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;padding-left:6vw;scroll-snap-type:x mandatory}
  .rv-set[aria-hidden]{display:none}.rv-card{scroll-snap-align:start}.rv-card:hover{transform:none}}
@media(max-width:800px){
  .rv-label:before,.rv-label:after{width:24px}
  .rv-rating{flex-direction:column;gap:8px}
  .rv-track{animation-duration:50s}.rv-card{width:300px;padding:22px}
  .rv-avatar{flex-basis:40px;width:40px;height:40px}.rv-avatar img{width:22px;height:22px}
  .rv-who strong{font-size:15px;white-space:nowrap}.rv-who small{font-size:12px;white-space:nowrap}
}

/* Number circles never get clipped on hover */
.steps article,.step-grid article{overflow:visible!important}
.steps article:after{left:24px!important;right:24px!important;border-radius:3px 3px 0 0}
.steps .number,.step-number{transform-origin:center;flex-shrink:0}
.step-grid article:hover .step-number{transform:scale(1.06)!important}
.steps article:hover .number{transform:scale(1.06)!important}

/* ---------- About: opening "then & now" composition ---------- */
.about-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important;align-items:center;gap:clamp(40px,5vw,90px);
  padding:clamp(56px,6vw,96px) 6vw clamp(70px,7vw,110px)!important;position:relative;overflow:hidden;isolation:isolate;background:#fff;border-bottom:0!important}
.about-hero:before{content:"";position:absolute;z-index:-1;left:2%;bottom:-2px;width:min(620px,48vw);aspect-ratio:1290/330;
  background:url(assets/brand-arcs-color.png) center bottom/contain no-repeat;opacity:.08;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.about-hero:after{content:none}
.about-hero .story-copy{padding:0!important}
.about-hero h1{font-size:clamp(40px,4.1vw,64px)!important;color:var(--navy);margin-bottom:22px}
.about-hero .story-copy p:not(.label){max-width:540px}
.story-facts{list-style:none;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin:34px 0 0;padding:22px 0 0;border-top:1px solid var(--line);max-width:600px}
.story-facts li{padding-right:16px}
.story-facts li+li{padding-left:18px;border-left:1px solid var(--line)}
.story-facts strong{display:block;font-family:var(--sub);font-weight:800;font-size:15px;color:var(--navy);white-space:nowrap}
.story-facts span{display:block;font-size:13.5px;color:var(--muted);margin-top:3px}
.then-now{position:relative;margin:0;padding:0 0 clamp(90px,9vw,140px) clamp(30px,4vw,70px);min-width:0}
.tn-now{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 40px 80px -50px #001446aa}
.tn-now img{width:100%;height:100%;object-fit:cover;object-position:40% center;display:block;transition:scale 1.4s var(--ease)}
.tn-now:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#001446b3)}
.tn-tag{position:absolute;right:22px;top:22px;z-index:1;display:flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;border-radius:999px;background:#ffffffee;color:var(--navy);font-size:13.5px;font-weight:600;box-shadow:0 10px 24px -12px #0006}
.tn-tag b{background:var(--navy);color:var(--yellow);font-family:var(--sub);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.tn-then{position:absolute;left:0;bottom:0;width:min(56%,400px);z-index:2}
.tn-postcard{position:relative;background:#fff;padding:10px 10px 12px;border-radius:6px;box-shadow:0 30px 60px -28px #001446b0,0 2px 6px #0014461f;
  transform:rotate(-4deg);transform-origin:30% 80%;transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.tn-postcard img{display:block;width:100%;height:auto;aspect-ratio:730/467;object-fit:cover;border-radius:2px;filter:sepia(.12) saturate(1.05)}
.tn-stamp{position:absolute;right:-26px;top:-30px;width:88px;height:88px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-content:center;text-align:center;
  font-family:var(--head);font-weight:800;font-size:24px;line-height:1;box-shadow:0 14px 26px -12px #0008;transform:rotate(10deg);transition:transform .8s var(--ease)}
.tn-stamp:before{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px dashed #00144666}
.tn-stamp small{display:block;font-family:var(--sub);font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px}
.tn-then figcaption{margin-top:20px;padding-left:6px;font-size:13.5px;color:var(--muted);max-width:30em}
.then-now:hover .tn-postcard{transform:rotate(0deg) translateY(-10px);box-shadow:0 44px 70px -30px #001446c0,0 2px 6px #0014461f}
.then-now:hover .tn-stamp{transform:rotate(-8deg) scale(1.06)}
.then-now:hover .tn-now img{scale:1.05}
.js-motion .then-now .tn-now{animation:crZoom 1.6s var(--ease) both .15s}
.js-motion .then-now .tn-postcard{animation:tnDrop 1.2s var(--ease) both .55s}
.js-motion .then-now .tn-stamp{animation:tnPop .8s var(--ease) both 1.15s}
@keyframes tnDrop{from{opacity:0;transform:translateY(50px) rotate(-14deg)}to{opacity:1;transform:rotate(-4deg)}}
@keyframes tnPop{from{opacity:0;transform:scale(.4) rotate(-40deg)}to{opacity:1;transform:rotate(10deg)}}
@media(max-width:1000px){
  .about-hero{grid-template-columns:1fr!important;padding:44px 24px 70px!important}
  .then-now{padding:0 0 110px 0;max-width:640px}
  .tn-then{width:62%;left:12px}
}
@media(max-width:560px){
  .story-facts{grid-template-columns:1fr;gap:12px;padding-top:18px}
  .story-facts li+li{padding-left:0;border-left:0}
  .then-now{padding-bottom:90px}.tn-tag{right:12px;top:12px;font-size:12px}
  .tn-stamp{width:66px;height:66px;font-size:18px;right:-12px;top:-22px}
  .tn-then{width:70%}
}
@media(prefers-reduced-motion:reduce){.tn-postcard,.tn-stamp,.tn-now img{transition:none}.then-now:hover .tn-postcard{transform:rotate(-4deg)}}

/* ---------- About: "Why Crescent" boxes reveal their photo on hover ---------- */
@media(min-width:801px){
  .why-pillars{display:flex!important}
  .why-pillars .why-pillar{flex:1 1 0;min-width:0;transition:flex .7s var(--ease)!important}
  .why-pillars:hover .why-pillar{flex:.82 1 0}
  .why-pillars .why-pillar:hover,.why-pillars .why-pillar.is-revealed{flex:1.5 1 0}
  .why-pillar p{min-width:240px}
}
.why-pillar .pillar-photo{opacity:0!important;scale:1.14;transition:opacity .6s var(--ease),scale 1.2s var(--ease)!important}
.pillar-shade{opacity:0!important;background:linear-gradient(180deg,#00144626 0%,#0014464d 40%,#001446e6 100%)!important;transition:opacity .6s var(--ease)!important}
.why-pillar:hover .pillar-photo,.why-pillar.is-revealed .pillar-photo,.why-pillar:has(.pillar-reveal:focus-visible) .pillar-photo{opacity:1!important;scale:1}
.why-pillar:hover .pillar-shade,.why-pillar.is-revealed .pillar-shade,.why-pillar:has(.pillar-reveal:focus-visible) .pillar-shade{opacity:1!important}
.why-pillar .pillar-number{transition:color .4s,translate .6s var(--ease)!important}
.why-pillar:hover .pillar-number,.why-pillar.is-revealed .pillar-number{color:var(--yellow)!important;translate:0 -4px}
.why-pillar h3,.why-pillar>p{transition:translate .6s var(--ease)}
.why-pillar:hover h3,.why-pillar.is-revealed h3{translate:0 -6px}
.why-pillar:hover>p,.why-pillar.is-revealed>p{translate:0 -6px}
.why-pillar:hover .pillar-icon,.why-pillar.is-revealed .pillar-icon{transform:rotate(-8deg) scale(1.06)!important}
@media(prefers-reduced-motion:reduce){.why-pillars .why-pillar{transition:none!important}.why-pillar .pillar-photo{scale:1}}

.about-hero .story-copy p:not(.label){margin-bottom:18px}
.about-hero .story-copy .intro{margin-bottom:22px!important}
.story-facts li{padding-right:26px}.story-facts li+li{padding-left:26px}

/* ---------- Service planning panel: animated checklist + brand arcs on the bottom edge ---------- */
.prep-panel{position:relative;overflow:hidden;isolation:isolate}
.prep-panel:after{content:"";position:absolute;z-index:-1;right:-40px;bottom:-34px;width:min(460px,46%);aspect-ratio:1290/330;
  background:url(assets/brand-arcs-color.png) center/contain no-repeat;opacity:.13;pointer-events:none;
  translate:70px 40px;transition:translate 1.6s var(--ease),opacity 1.6s var(--ease)}
.js-motion .prep-panel:not(.is-in):after{opacity:0}
.prep-panel.is-in:after,html:not(.js-motion) .prep-panel:after{translate:0 0}
.prep-panel:hover:after{translate:-10px -4px}
.prep-panel ul{counter-reset:prep}
.prep-panel li{padding:18px 14px 18px 62px!important;border-bottom:1px solid var(--line)!important;border-radius:14px;
  transition:background .35s var(--ease),transform .35s var(--ease),color .3s!important}
.prep-panel li:last-child{border-bottom:0!important}
.prep-panel li:before{content:""!important;position:absolute;left:12px!important;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;
  background:var(--navy);color:transparent!important;font-size:0!important;transition:background .35s,transform .45s var(--ease)}
.prep-panel li:after{content:"";position:absolute;left:21px;top:50%;width:18px;height:18px;margin-top:-9px;background:var(--yellow);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat;
  clip-path:inset(0 0 0 0);transition:clip-path .6s var(--ease),background .35s}
.js-motion .prep-panel:not(.is-in) li:after{clip-path:inset(0 100% 0 0)}
.js-motion .prep-panel:not(.is-in) li:before{transform:scale(.6)}
.prep-panel li:nth-child(1):after,.prep-panel li:nth-child(1):before{transition-delay:.35s}
.prep-panel li:nth-child(2):after,.prep-panel li:nth-child(2):before{transition-delay:.6s}
.prep-panel li:nth-child(3):after,.prep-panel li:nth-child(3):before{transition-delay:.85s}
.prep-panel li:nth-child(4):after,.prep-panel li:nth-child(4):before{transition-delay:1.1s}
.prep-panel li:nth-child(5):after,.prep-panel li:nth-child(5):before{transition-delay:1.35s}
.prep-panel li:nth-child(6):after,.prep-panel li:nth-child(6):before{transition-delay:1.6s}
.prep-panel li:hover{background:#fff;transform:translateX(6px)!important;color:var(--navy)}
.prep-panel li:hover:before{background:var(--yellow);transform:scale(1.08);transition-delay:0s}
.prep-panel li:hover:after{background:var(--navy);transition-delay:0s}
@media(max-width:560px){.prep-panel li{padding-left:56px!important}.prep-panel:after{width:70%}}

/* ---------- CTA bands + footer: brand arcs sit on the bottom edge, low opacity ---------- */
.contact-band,.service-contact{position:relative;overflow:hidden;isolation:isolate}
.contact-band:after,.service-contact:after{content:"";position:absolute;z-index:-1;right:4%;bottom:-2px;width:min(520px,42vw);aspect-ratio:1290/330;
  background:url(assets/brand-arcs-light.png) center bottom/contain no-repeat;opacity:.14;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%);
  transition:translate 1.2s var(--ease)}
.service-contact:after{background-image:url(assets/brand-arcs-color.png);opacity:.16}
.contact-band:hover:after,.service-contact:hover:after{translate:0 -6px}
footer:has(.footer-content):after{right:4%!important;bottom:-2px!important;width:min(520px,42vw)!important;opacity:.12!important;
  background-position:center bottom!important;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
@media(max-width:740px){.contact-band:after,.service-contact:after,footer:has(.footer-content):after{width:78vw!important;right:-8%!important}}
.button>span[aria-hidden="true"]{display:none!important}

/* ---------- Further support: a real contact card instead of a decorative icon ---------- */
.support-copy{display:flex!important;flex-direction:column;align-items:flex-start;gap:26px!important}
.support-copy p{margin:0!important;max-width:30em}
.support-contact{display:flex;align-items:center;gap:16px;padding:12px 22px 12px 12px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff26;
  backdrop-filter:blur(6px);transition:background .4s var(--ease),border-color .4s,transform .45s var(--ease)}
.sc-faces{display:flex;flex:0 0 auto}
.sc-faces img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--navy);box-shadow:0 0 0 2px var(--yellow);transition:translate .5s var(--ease)}
.sc-faces img+img{margin-left:-16px}
.sc-copy{display:flex;flex-direction:column;line-height:1.25}
.sc-copy strong{font-family:var(--sub);font-weight:800;font-size:15px;color:#fff}
.sc-copy a{font-family:var(--head);font-weight:800;font-size:20px;color:var(--yellow)!important;text-decoration:none;letter-spacing:-.01em;margin-top:3px;
  background:linear-gradient(var(--yellow),var(--yellow)) 0 100%/0 2px no-repeat;padding-bottom:2px;transition:background-size .45s var(--ease)}
.support-contact:hover{background:#ffffff1f;border-color:#f7be0080;transform:translateY(-3px)}
.support-contact:hover .sc-faces img:first-child{translate:-5px 0}
.support-contact:hover .sc-faces img+img{translate:5px 0}
.support-contact:hover .sc-copy a,.sc-copy a:focus-visible{background-size:100% 2px}
.js-motion .support-panel:not(.is-in) .sc-faces img{translate:0 12px;opacity:0}
.sc-faces img{transition:translate .5s var(--ease),opacity .5s}
.support-panel.is-in .sc-faces img+img{transition-delay:.12s}
.support-icon-badge{display:none!important}
@media(max-width:560px){.support-contact{padding:10px 18px 10px 10px}.sc-faces img{width:44px;height:44px}.sc-copy a{font-size:18px}}
.sc-copy a{align-self:flex-start}

/* ---------- About boxes: pulsing cursor hint that it's interactive ---------- */
.why-pillar .pillar-reveal:before{content:"";position:absolute;left:50%;top:44%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;
  background:#ffffff14 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F7BE00' stroke='%23001446' stroke-width='1.3' stroke-linejoin='round'%3E%3Cpath d='M6 3.5 18.5 12l-5.6 1.3 3.2 6.1-2.6 1.3-3.1-6.1L6 18.5z'/%3E%3C/svg%3E") 56% 56%/34px no-repeat;
  border:1.5px solid #ffffff40;backdrop-filter:blur(4px);transition:opacity .4s var(--ease),transform .5s var(--ease);pointer-events:none;
  animation:hintBob 2.4s var(--ease) infinite}
.why-pillar .pillar-reveal:after{content:"";position:absolute;left:50%;top:44%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;
  border:2px solid var(--yellow);opacity:0;pointer-events:none;animation:hintEcho 2.4s ease-out infinite}
.why-pillar:nth-child(2) .pillar-reveal:before,.why-pillar:nth-child(2) .pillar-reveal:after{animation-delay:.4s}
.why-pillar:nth-child(3) .pillar-reveal:before,.why-pillar:nth-child(3) .pillar-reveal:after{animation-delay:.8s}
@keyframes hintEcho{0%{opacity:.85;transform:scale(1)}70%{opacity:0;transform:scale(2.1)}100%{opacity:0;transform:scale(2.1)}}
@keyframes hintBob{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,4px)}}
.why-pillar:hover .pillar-reveal:before,.why-pillar.is-revealed .pillar-reveal:before,.why-pillar .pillar-reveal:focus-visible:before{opacity:0;transform:scale(.6);animation:none}
.why-pillar:hover .pillar-reveal:after,.why-pillar.is-revealed .pillar-reveal:after,.why-pillar .pillar-reveal:focus-visible:after{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.why-pillar .pillar-reveal:before{animation:none}.why-pillar .pillar-reveal:after{animation:none;opacity:.5;transform:scale(1.3)}}

/* ---------- Further support: one solid Crescent navy behind the equipment film ---------- */
.support-panel{background:var(--navy)!important}
.support-panel:before{display:none!important}
.support-equipment{background:var(--navy)}
.equipment-scene{object-fit:cover!important;mix-blend-mode:lighten;opacity:.34!important}

/* ---------- Service-area map: self-contained, animated, always visible ---------- */
.area-map{position:relative;width:100%;height:clamp(420px,38vw,560px);overflow:hidden;background:#eef1f5;font-family:var(--body)}
.am-svg{display:block;width:100%;height:100%}
.am-world{transform-origin:58% 55%;animation:amDrift 26s ease-in-out infinite alternate}
@keyframes amDrift{from{transform:scale(1)}to{transform:scale(1.06) translate(-6px,-4px)}}
.am-park{fill:#cfe8d2}
.am-river{fill:none;stroke:#9fc9ea;stroke-width:22;stroke-linecap:round}
.am-river--red{stroke-width:26}
.am-minor path{fill:none;stroke:#fff;stroke-width:5}
.am-road path,.am-road{fill:none;stroke:#fff;stroke-width:11;stroke-linecap:round;filter:drop-shadow(0 0 1px #c9d0db)}
.am-road--crescent{stroke:#ffe9a3!important;stroke-width:12!important}
.am-area-fill{fill:#F7BE00;opacity:.2;transition:opacity .5s var(--ease)}
.am-area-line{fill:none;stroke:#001446;stroke-width:3.5;stroke-dasharray:2.2 1.4;stroke-linejoin:round;animation:amMarch 6s linear infinite}
@keyframes amMarch{to{stroke-dashoffset:-36}}
.area-map:hover .am-area-fill{opacity:.32}
.am-labels text{paint-order:stroke;stroke:#eef1f5;stroke-width:4px;stroke-linejoin:round}
.am-l-water{font-size:15px;font-style:italic;fill:#4f86b8;letter-spacing:.06em}
.am-l-road{font-size:12px;font-weight:600;fill:#5b6680}
.am-l-road--cr{fill:#7a5a00;font-weight:700}
.am-l-area{font-family:var(--sub);font-weight:800;font-size:17px;letter-spacing:.22em;fill:#001446;stroke:#fff6d6!important}
.am-l-park{font-size:11px;fill:#3f7a4a;font-weight:600}
.am-compass text{font-size:9px;font-weight:800;fill:#001446}
.am-compass circle{filter:drop-shadow(0 2px 4px #00144630)}
.am-ring{fill:none;stroke:#001446;stroke-width:2.5;animation:amPulse 2.4s ease-out infinite}
.am-ring--2{animation-delay:1.2s}
@keyframes amPulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
.am-ring{transform-box:fill-box;transform-origin:center}
.am-glow{animation:amGlow 3s ease-in-out infinite alternate}
@keyframes amGlow{from{opacity:.55}to{opacity:1}}
.am-pin-body{filter:drop-shadow(0 8px 8px #0014464d);transition:transform .5s var(--ease)}
.area-map:hover .am-pin-body{transform:translateY(-6px)}
.am-card{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#fff;color:var(--navy);
  box-shadow:0 14px 30px -16px #00144680;max-width:calc(100% - 36px)}
.am-card strong{display:block;font-family:var(--sub);font-weight:800;font-size:14.5px}
.am-card small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.am-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #f7be0040}
/* entrance */
.js-motion .location-map .am-road path,.js-motion .location-map .am-road--crescent{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease)}
.js-motion .location-map.is-in .am-road path,.js-motion .location-map.is-in .am-road--crescent{stroke-dashoffset:0}
.js-motion .location-map .am-road path:nth-child(2){transition-delay:.15s}.js-motion .location-map .am-road path:nth-child(3){transition-delay:.3s}
.js-motion .location-map .am-road path:nth-child(4){transition-delay:.45s}.js-motion .location-map .am-road path:nth-child(5){transition-delay:.55s}
.js-motion .location-map .am-road--crescent{transition-delay:.7s}
.js-motion .location-map .am-area,.js-motion .location-map .am-labels{opacity:0;transition:opacity 1s var(--ease) 1.1s}
.js-motion .location-map.is-in .am-area,.js-motion .location-map.is-in .am-labels{opacity:1}
.js-motion .location-map .am-pin-body{opacity:0;translate:0 -60px;transition:opacity .4s 1.6s,translate .8s cubic-bezier(.3,1.5,.5,1) 1.6s,transform .5s var(--ease)}
.js-motion .location-map.is-in .am-pin-body{opacity:1;translate:0 0}
.js-motion .location-map .am-card{opacity:0;translate:0 -10px;transition:opacity .6s 2s,translate .6s var(--ease) 2s}
.js-motion .location-map.is-in .am-card{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.am-world,.am-area-line,.am-ring,.am-glow{animation:none}.am-ring{opacity:0}}
@media(max-width:740px){.area-map{height:auto}.am-svg{height:330px}.am-card{position:static;margin:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line);max-width:none}.location-map iframe{display:none}}

/* ---------- FAQ: sticky intro with a framed photo, questions as numbered cards ---------- */
.faq{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:clamp(40px,6vw,96px)!important;align-items:start!important;overflow:visible!important;
  padding-top:clamp(80px,9vw,130px)!important;padding-bottom:clamp(80px,9vw,130px)!important;background:var(--paper)}
.faq-intro{position:sticky;top:120px}
.faq-intro h2{color:var(--navy);margin-bottom:0!important}
.faq-photo{margin:32px 0 0!important;position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 70px -46px #001446b0}
.faq-photo:after{content:none!important}
.faq-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 35%;border-radius:0!important}
.faq-call{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px 14px 14px 20px;border-radius:18px;background:#ffffffee;backdrop-filter:blur(8px);box-shadow:0 16px 30px -18px #00144699}
.faq-call span{font-family:var(--sub);font-weight:800;font-size:15px;color:var(--navy)}
.faq-call a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--navy);color:#fff!important;font-weight:700;font-size:14px;text-decoration:none;transition:background .3s,transform .35s var(--ease)}
.faq-call a:before{content:"";width:14px;height:14px;background:var(--yellow);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat}
.faq-call a:hover{background:#0b2a6b;transform:translateY(-2px)}
.faq-answers{background:none!important;counter-reset:faq;display:flex;flex-direction:column;gap:12px}
.faq-answers details{background:#fff;border:1px solid transparent!important;border-radius:18px;padding:0 22px!important;box-shadow:0 1px 0 #0014460f;
  transition:box-shadow .4s var(--ease),transform .4s var(--ease),border-color .3s!important}
.faq-answers details+details{border-top:1px solid transparent!important}
.faq-answers summary{counter-increment:faq;display:flex!important;align-items:center;gap:16px;padding:20px 52px 20px 0!important;border:0!important;position:relative}
.faq-answers summary:before{content:counter(faq,decimal-leading-zero);flex:0 0 auto;font-family:var(--head);font-weight:800;font-size:13px;color:#9aa6c0;letter-spacing:.04em;transition:color .3s}
.faq-answers summary:after{position:absolute!important;right:0;top:50%;margin-top:-16px}
.faq-answers details p{padding:0 0 22px 36px!important;margin:0!important;color:var(--muted)}
.faq-answers details:hover{transform:translateY(-2px);box-shadow:0 18px 36px -26px #00144680}
.faq-answers details:hover summary:before,.faq-answers details[open] summary:before{color:var(--yellow)}
.faq-answers details[open]{border-color:#f7be0099!important;box-shadow:0 22px 44px -30px #00144690}
@media(max-width:1000px){.faq{grid-template-columns:1fr!important}.faq-intro{position:static}}
@media(max-width:560px){.faq-answers details{padding:0 16px!important}.faq-answers details p{padding-left:0!important}.faq-photo{aspect-ratio:auto;overflow:visible;box-shadow:none;border-radius:0}.faq-photo img{aspect-ratio:4/3;border-radius:22px!important}.faq-call{position:static;margin-top:12px;background:#fff;padding:12px 12px 12px 16px}}

/* ==================== Pest guide page ==================== */
.guide-hero .then-now{padding:0!important}
.guide-hero .tn-now{aspect-ratio:4/3.2}
.guide-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.guide-jump a{padding:10px 18px;border-radius:999px;background:var(--paper);color:var(--navy);font-weight:600;font-size:14.5px;text-decoration:none;transition:background .3s,transform .35s var(--ease),color .3s}
.guide-jump a:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
html{scroll-padding-top:110px}
/* seasons */
.guide-seasons{background:var(--navy);color:#fff;padding:clamp(80px,9vw,130px) 6vw;position:relative;overflow:hidden;isolation:isolate}
.guide-seasons:after{content:"";position:absolute;z-index:-1;right:4%;bottom:-2px;width:min(520px,42vw);aspect-ratio:1290/330;background:url(assets/brand-arcs-light.png) center bottom/contain no-repeat;opacity:.1;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.gs-head{max-width:720px}
.gs-head .label{color:var(--yellow)!important}
.gs-head h2{color:#fff;font-size:clamp(34px,3.8vw,56px)!important;margin:0 0 14px!important}
.gs-head p:not(.label){color:#c9d2e8;font-size:17px}
.gs-tabs{position:relative;display:inline-flex;gap:4px;padding:6px;margin:36px 0 34px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff1f}
.gs-tabs button{position:relative;z-index:1;border:0;background:none;color:#c9d2e8;font-family:var(--sub);font-weight:800;font-size:15px;padding:12px 26px;border-radius:999px;cursor:pointer;transition:color .3s}
.gs-tabs button[aria-selected=true]{color:var(--navy)}
.gs-tabs button:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.gs-glider{position:absolute;z-index:0;left:0;top:6px;bottom:6px;border-radius:999px;background:var(--yellow);transition:transform .5s var(--ease),width .5s var(--ease)}
.gs-lead{font-size:18px!important;color:#fff;max-width:40em;margin:0 0 24px!important}
.gs-panel:not([hidden]) .gs-lead{animation:crRise .6s var(--ease) both}
.gs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gs-card{display:flex;align-items:center;gap:18px;padding:20px;border-radius:20px;background:#ffffff0f;border:1px solid #ffffff1c;color:#fff;text-decoration:none;
  transition:background .4s var(--ease),transform .45s var(--ease),border-color .4s}
.gs-panel:not([hidden]) .gs-card{animation:crRise .7s var(--ease) both}
.gs-panel:not([hidden]) .gs-card:nth-child(2){animation-delay:.08s}.gs-panel:not([hidden]) .gs-card:nth-child(3){animation-delay:.16s}
.gs-card img{flex:0 0 92px;width:92px;height:92px;object-fit:contain;border-radius:16px;background:#fff;padding:8px;transition:transform .5s var(--ease)}
.gs-card strong{display:block;font-family:var(--sub);font-weight:800;font-size:18px}
.gs-card small{display:block;color:#c9d2e8;font-size:14.5px;line-height:1.55;margin-top:4px}
.gs-card:hover{background:#ffffff1a;border-color:#f7be0080;transform:translateY(-4px)}
.gs-card:hover img{transform:rotate(-6deg) scale(1.06)}
/* around your property */
.guide-areas,.guide-signs,.guide-visit{padding-left:6vw!important;padding-right:6vw!important}
.guide-areas{padding-top:clamp(80px,9vw,120px)!important}
.ga-head{max-width:720px;margin-bottom:36px}
.ga-head h2{color:var(--navy);font-size:clamp(32px,3.4vw,50px)!important;margin:0 0 12px!important}
.ga-head p:not(.label){color:var(--muted);font-size:17px}
.ga-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ga-card{background:var(--paper);border-radius:22px;padding:26px 24px;transition:background .4s var(--ease),transform .45s var(--ease),box-shadow .45s}
.ga-card:hover{background:#fff;transform:translateY(-6px);box-shadow:0 30px 50px -34px #00144688}
.ga-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--yellow);margin-bottom:18px;transition:background .35s,color .35s,transform .5s var(--ease)}
.ga-icon svg{width:24px;height:24px}
.ga-card:hover .ga-icon{background:var(--yellow);color:var(--navy);transform:rotate(-8deg)}
.ga-card h3{color:var(--navy);font-size:19px!important;margin:0 0 12px}
.ga-list{list-style:none;margin:0;padding:0}
.ga-list li{position:relative;padding:8px 0 8px 28px;font-size:15px;color:#3b4766;line-height:1.5;border-top:1px solid var(--line)}
.ga-list li:first-child{border-top:0}
.ga-list li:before{content:"";position:absolute;left:0;top:11px;width:18px;height:18px;border-radius:50%;background:var(--yellow)}
.ga-list li:after{content:"";position:absolute;left:5px;top:16px;width:8px;height:8px;background:var(--navy);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat}
/* signs */
.guide-signs{padding-top:clamp(40px,5vw,70px)!important}
.sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sg-card{position:relative;display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center;padding:18px 54px 18px 18px;border-radius:20px;background:#fff;border:1px solid var(--line);
  color:var(--navy);text-decoration:none;transition:background .4s var(--ease),color .4s,transform .45s var(--ease),box-shadow .45s}
.sg-card img{grid-row:1/3;width:76px;height:76px;object-fit:contain;border-radius:14px;background:var(--paper);padding:6px;transition:transform .5s var(--ease),background .4s}
.sg-card strong{font-family:var(--sub);font-weight:800;font-size:16px;line-height:1.35;align-self:end}
.sg-card span{font-size:13.5px;color:var(--muted);align-self:start;margin-top:3px;transition:color .4s}
.sg-card:after{content:"";position:absolute;right:18px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--paper);transition:background .4s,transform .45s var(--ease)}
.sg-card:hover{background:var(--navy);color:#fff;transform:translateY(-4px);box-shadow:0 26px 46px -30px #001446aa}
.sg-card:hover span{color:#c9d2e8}
.sg-card:hover img{transform:rotate(-6deg) scale(1.05);background:#fff}
.sg-card:hover:after{background:var(--yellow);transform:scale(1.15)}
/* visit */
.guide-visit{padding-bottom:clamp(80px,9vw,120px)!important}
.gv-steps{list-style:none;counter-reset:gv;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0}
.gv-steps li{counter-increment:gv;position:relative;padding:28px 24px 26px;border-radius:22px;background:var(--paper);transition:background .4s,transform .45s var(--ease),box-shadow .45s}
.gv-steps li:before{content:counter(gv,decimal-leading-zero);display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--yellow);font-family:var(--head);font-weight:800;font-size:16px;margin-bottom:18px;transition:background .35s,color .35s,transform .45s var(--ease)}
.gv-steps strong{display:block;font-family:var(--sub);font-weight:800;font-size:18px;color:var(--navy);margin-bottom:6px}
.gv-steps span{display:block;font-size:15px;color:var(--muted);line-height:1.6}
.gv-steps li:hover{background:#fff;transform:translateY(-6px);box-shadow:0 30px 50px -34px #00144688}
.gv-steps li:hover:before{background:var(--yellow);color:var(--navy);transform:scale(1.06)}
@media(max-width:1100px){.ga-grid,.gv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-cards,.sg-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ga-grid,.gv-steps,.gs-cards,.sg-grid{grid-template-columns:1fr}
  .gs-tabs{display:flex;width:100%;overflow-x:auto}.gs-tabs button{flex:1;padding:11px 12px;font-size:14px}
  .guide-seasons,.guide-areas,.guide-signs,.guide-visit{padding-left:22px!important;padding-right:22px!important}
  .gs-card img{flex-basis:72px;width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){.gs-glider{transition:none}.gs-panel:not([hidden]) .gs-card,.gs-panel:not([hidden]) .gs-lead{animation:none}}

/* ---------- Contact: larger, more confident copy ---------- */
.contact h2{font-size:clamp(40px,4.6vw,72px)!important;line-height:1.02!important;margin-bottom:22px!important}
.contact>div>p:not(.eyebrow):not(.contact-note){font-size:clamp(18px,1.45vw,21px)!important;line-height:1.6!important;color:var(--navy)}
.contact .eyebrow{font-size:13.5px!important}
.contact .phone{font-size:clamp(34px,3.2vw,48px)!important;margin-top:14px}
.contact .email{font-size:18px!important;font-weight:600}
.contact .contact-note{font-size:16px!important;line-height:1.6}

/* ---------- FAQ photo: bigger, layered, crescent-curved frame ---------- */
@media(min-width:1001px){
  .faq{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .faq-intro{top:100px}
}
.faq-photo{position:relative!important;overflow:visible!important;aspect-ratio:auto!important;box-shadow:none!important;border-radius:0!important;margin:38px 0 0!important;padding:0 0 34px 34px}
.faq-photo:before{content:"";position:absolute;left:0;bottom:0;width:78%;height:72%;border-radius:28px 28px 28px 120px;z-index:0;
  background:var(--navy) url(assets/brand-arcs-light.png) right -30px bottom -6px/62% auto no-repeat;transition:transform .8s var(--ease)}
.faq-photo img{position:relative;z-index:1;width:100%!important;height:auto!important;aspect-ratio:1/1.02;object-fit:cover!important;object-position:58% 40%;
  border-radius:28px 180px 28px 28px!important;box-shadow:0 44px 80px -46px #001446c0;transition:scale 1.2s var(--ease),border-radius .8s var(--ease)!important}
.faq-photo:hover img{scale:1.02;border-radius:28px 140px 28px 28px!important}
.faq-photo:hover:before{transform:translate(-8px,8px)}
.faq-call{z-index:2;left:auto!important;right:-18px!important;bottom:54px!important;width:min(330px,80%);flex-direction:column;align-items:flex-start!important;gap:10px!important;
  padding:18px 20px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 24px 44px -20px #00144680!important;animation:faqFloat 5s ease-in-out infinite}
@keyframes faqFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
.faq-call span{font-size:17px!important}
.faq-photo .am-dot{display:none}
@media(max-width:1000px){.faq-photo{max-width:560px}.faq-call{right:-6px!important}}
@media(max-width:560px){
  .faq-photo{padding:0 0 22px 18px;max-width:none}
  .faq-photo img{aspect-ratio:1/1.05;border-radius:22px 110px 22px 22px!important}
  .faq-call{position:static!important;width:auto;margin:14px 0 0 -18px;animation:none}
}
@media(prefers-reduced-motion:reduce){.faq-call{animation:none}}
.js-motion .faq-photo[data-reveal=image].is-in,.js-motion .then-now[data-reveal].is-in{clip-path:none!important}

/* ==================== Pest guide v2 ==================== */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pg .label{margin-bottom:16px!important}
/* hero: interactive home */
.pg-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,80px);align-items:center;padding:clamp(48px,6vw,90px) 6vw clamp(60px,7vw,100px);
  background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.pg-hero h1{font-size:clamp(42px,4.6vw,72px)!important;color:var(--navy);margin:0 0 20px}
.pg-hero h1 span{color:var(--navy);background:linear-gradient(transparent 62%,#f7be0099 62%,#f7be0099 92%,transparent 92%)}
.pg-hero .intro{color:var(--muted);max-width:32em}
.pg-toc{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line);max-width:460px}
.pg-toc a{display:flex;align-items:center;gap:16px;padding:13px 4px;border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none;font-weight:600;font-size:15.5px;transition:padding .35s var(--ease),color .3s}
.pg-toc b{font-family:var(--head);font-weight:800;font-size:12.5px;color:#9aa6c0;letter-spacing:.06em;transition:color .3s}
.pg-toc a:hover{padding-left:12px}
.pg-toc a:hover b{color:var(--yellow)}
.pg-house-wrap{display:grid;gap:18px}
.pg-house{position:relative;border-radius:28px;background:linear-gradient(180deg,#eaf2fb 0%,#f5f9fd 70%);padding:12px 12px 0;box-shadow:0 40px 80px -50px #001446a0;overflow:hidden}
.pg-house-svg{display:block;width:100%;height:auto}
.pg-arcs{opacity:.95;transform-origin:320px 140px;animation:pgArc 1.6s var(--ease) both .2s}
@keyframes pgArc{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:.95;transform:none}}
.pg-zone{transition:filter .4s,opacity .4s}
.pg-house:has(.pg-zone.is-on) .pg-zone:not(.is-on){opacity:.55}
.pg-zone.is-on{filter:drop-shadow(0 0 10px #f7be00cc)}
.pg-spot{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:34px;height:34px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--yellow);
  box-shadow:0 0 0 5px #ffffffcc,0 8px 18px -6px #001446aa;transition:transform .35s var(--ease),background .3s}
.pg-spot:before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--yellow);animation:hintEcho 2.4s ease-out infinite}
.pg-spot:after{content:"+";position:absolute;inset:0;display:grid;place-items:center;font:800 20px/1 var(--body);color:var(--navy);transition:transform .35s var(--ease)}
.pg-spot span{position:absolute;left:50%;bottom:calc(100% + 12px);translate:-50% 4px;white-space:nowrap;padding:6px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;
  opacity:0;pointer-events:none;transition:opacity .25s,translate .3s var(--ease)}
.pg-spot:hover span,.pg-spot:focus-visible span,.pg-spot[aria-pressed=true] span{opacity:1;translate:-50% 0}
.pg-spot[aria-pressed=true]{background:var(--navy);transform:scale(1.12)}
.pg-spot[aria-pressed=true]:after{color:var(--yellow);transform:rotate(45deg)}
.pg-spot[aria-pressed=true]:before{border-color:var(--navy)}
.pg-spot:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.pg-info{min-height:170px}
.pg-card{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;padding:22px 24px;border-radius:24px;background:#fff;box-shadow:0 20px 40px -30px #00144680;animation:crRise .5s var(--ease) both}
.pg-card img{width:120px;height:120px;object-fit:contain;border-radius:18px;background:var(--paper);padding:10px}
.pg-card-k{margin:0 0 4px!important;font-family:var(--sub);font-weight:800;font-size:11.5px!important;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
.pg-card h2{font-family:var(--head)!important;font-size:24px!important;color:var(--navy);margin:0 0 6px!important;letter-spacing:-.02em!important}
.pg-card p{margin:0 0 8px!important;font-size:15px!important;line-height:1.55!important;color:#3b4766}
.pg-card-t b{color:var(--navy)}
.pg-card-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pg-card-links a{padding:7px 14px;border-radius:999px;background:var(--navy);color:#fff!important;text-decoration:none;font-size:13px;font-weight:700;transition:background .3s,transform .3s var(--ease)}
.pg-card-links a:hover{background:var(--yellow);color:var(--navy)!important;transform:translateY(-2px)}
/* calendar */
.pg-cal{background:var(--navy);color:#fff;padding:clamp(80px,9vw,120px) 6vw}
.pg-cal .label{color:var(--yellow)!important}
.pg-cal-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:end;margin-bottom:40px}
.pg-cal-head h2{color:#fff;font-size:clamp(34px,3.8vw,56px)!important;margin:0 0 12px!important}
.pg-cal-head p:not(.label){color:#c9d2e8;font-size:17px;max-width:36em;margin:0}
.pg-now{padding:22px 24px;border-radius:22px;background:#ffffff10;border:1px solid #ffffff22}
.pg-now-k{display:block;font-family:var(--sub);font-weight:800;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow)}
.pg-now-m{display:block;font-family:var(--head);font-weight:800;font-size:28px;margin:4px 0 12px}
.pg-now-list{display:flex;flex-wrap:wrap;gap:8px}
.pg-now-list a{padding:7px 13px;border-radius:999px;background:#ffffff1a;color:#fff!important;text-decoration:none;font-size:13.5px;font-weight:600;transition:background .3s}
.pg-now-list a:hover{background:var(--yellow);color:var(--navy)!important}
.pg-now-list em{font-style:normal;font-size:11px;font-weight:800;color:var(--yellow);margin-left:4px;text-transform:uppercase;letter-spacing:.08em}
.pg-now-list a:hover em{color:var(--navy)}
.pg-grid-wrap{overflow-x:auto;border-radius:22px;background:#ffffff08;border:1px solid #ffffff18;padding:10px 14px 14px}
.pg-grid{width:100%;min-width:720px;border-collapse:separate;border-spacing:6px}
.pg-grid th{font-family:var(--sub);font-weight:800;font-size:12.5px;color:#9fb0d6;padding:6px 4px;text-align:center;letter-spacing:.04em}
.pg-grid thead th.is-now{color:var(--navy);background:var(--yellow);border-radius:999px}
.pg-grid tbody th{text-align:left;color:#fff;font-size:15px;padding-right:14px;white-space:nowrap}
.pg-grid tbody tr{cursor:pointer;transition:opacity .3s}
.pg-grid tbody:hover tr:not(:hover){opacity:.45}
.pg-grid td{height:34px;border-radius:9px;transform:scaleY(.2);opacity:0;transition:transform .55s var(--ease) var(--d),opacity .4s var(--d)}
.pg-grid-wrap.is-drawn td{transform:none;opacity:1}
.pg-grid td.l0{background:#ffffff0d}.pg-grid td.l1{background:#f7be0040}.pg-grid td.l2{background:#f7be0099}.pg-grid td.l3{background:var(--yellow)}
.pg-grid td.is-now{box-shadow:inset 0 0 0 2px #fff}
.pg-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-size:13px;color:#9fb0d6}
.pg-legend span{display:inline-flex;align-items:center;gap:8px}
.pg-legend i{width:18px;height:12px;border-radius:4px}
.pg-legend .l0{background:#ffffff1a}.pg-legend .l1{background:#f7be0040}.pg-legend .l2{background:#f7be0099}.pg-legend .l3{background:var(--yellow)}
/* checklist */
.pg-check{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,5vw,90px);padding:clamp(80px,9vw,120px) 6vw;align-items:start}
.pg-progress{position:sticky;top:120px}
.pg-progress h2{color:var(--navy);font-size:clamp(32px,3.4vw,50px)!important;margin:0 0 12px!important}
.pg-progress p:not(.label){color:var(--muted);font-size:16.5px}
.pg-ring{position:relative;width:150px;height:150px;margin:26px 0 14px}
.pg-ring svg{width:100%;height:100%;rotate:-90deg}
.pg-ring circle{fill:none;stroke:var(--paper);stroke-width:12}
.pg-ring .pg-ring-bar{stroke:var(--yellow);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .7s var(--ease)}
.pg-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.pg-count{font-family:var(--head);font-weight:800;font-size:40px;line-height:1;color:var(--navy)}
.pg-ring span{font-size:13px;color:var(--muted)}
.pg-reset{border:0;background:none;padding:6px 0;font-weight:600;font-size:14px;color:var(--muted);text-decoration:underline;cursor:pointer}
.pg-rooms{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pg-room{margin:0;border:1px solid var(--line);border-radius:22px;padding:22px 22px 12px;background:#fff;transition:border-color .4s,box-shadow .4s,transform .45s var(--ease)}
.pg-room:hover{transform:translateY(-4px);box-shadow:0 26px 46px -32px #00144680}
.pg-room.is-done{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.pg-room legend{display:flex;align-items:center;gap:12px;padding:0 6px;margin-left:-6px;font-family:var(--sub);font-weight:800;font-size:17px;color:var(--navy)}
.pg-room-i{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--navy);color:var(--yellow);font-family:var(--head);font-size:15px;transition:background .3s,color .3s}
.pg-room.is-done .pg-room-i{background:var(--green);color:#fff}
.pg-room label{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line);cursor:pointer;font-weight:500;font-size:15px;color:#3b4766}
.pg-room label:first-of-type{border-top:0}
.pg-room input{appearance:none;-webkit-appearance:none;flex:0 0 22px;width:22px;height:22px;margin:1px 0 0;border-radius:7px;border:2px solid #b9c3d6!important;background:#fff!important;display:grid;place-items:center;cursor:pointer;transition:background .25s,border-color .25s,transform .3s var(--ease)}
.pg-room input:checked{background:var(--yellow)!important;border-color:var(--yellow)!important;transform:scale(1.08)}
.pg-room input:checked:after{content:"";width:12px;height:12px;background:var(--navy);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat}
.pg-room input:checked+span{color:var(--navy);text-decoration:line-through;text-decoration-color:#f7be00;text-decoration-thickness:2px}
.pg-room input:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
/* look-alikes */
.pg-look{padding:clamp(80px,9vw,120px) 6vw;background:var(--paper);text-align:center}
.pg-look-head{max-width:640px;margin:0 auto 44px}
.pg-look-head h2{color:var(--navy);font-size:clamp(34px,3.8vw,56px)!important;margin:0 0 12px!important}
.pg-look-head p:not(.label){color:var(--muted);font-size:17px}
.pg-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;max-width:1040px;margin:0 auto;text-align:left}
.pg-vs-card{background:#fff;border-radius:28px;padding:30px;box-shadow:0 30px 60px -44px #00144690;transition:transform .5s var(--ease)}
.pg-vs-card:first-child:hover{transform:translateY(-6px) rotate(-1deg)}
.pg-vs-card:last-child:hover{transform:translateY(-6px) rotate(1deg)}
.pg-vs-card img{width:100%;height:170px;object-fit:contain;margin-bottom:10px;transition:transform .6s var(--ease)}
.pg-vs-card:hover img{transform:scale(1.08)}
.pg-vs-card h3{color:var(--navy);font-size:26px!important;margin:0 0 14px}
.pg-vs-card dl{margin:0 0 18px;display:grid;grid-template-columns:auto 1fr;gap:10px 16px}
.pg-vs-card dt{font-family:var(--sub);font-weight:800;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);padding-top:3px}
.pg-vs-card dd{margin:0;font-size:15px;color:#3b4766;line-height:1.5}
.pg-vs-card a{font-family:var(--sub);font-weight:800;color:var(--navy)!important;text-decoration:none;background:linear-gradient(var(--yellow),var(--yellow)) 0 100%/0 3px no-repeat,linear-gradient(#00144633,#00144633) 0 100%/100% 1.5px no-repeat;padding-bottom:6px;transition:background-size .45s var(--ease)}
.pg-vs-card a:hover{background-size:100% 3px,100% 1.5px}
.pg-vs-badge{width:66px;height:66px;border-radius:50%;background:var(--navy);color:var(--yellow);display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:22px;box-shadow:0 0 0 8px var(--paper)}
/* signs list */
.pg-signs{padding:clamp(80px,9vw,120px) 6vw}
.pg-signs-head h2{color:var(--navy);font-size:clamp(34px,3.8vw,56px)!important;margin:0 0 30px!important}
.pg-sign-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pg-sign-list a{position:relative;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:20px;padding:24px 8px;border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none;overflow:hidden;transition:padding .45s var(--ease),background .4s}
.pg-sign-n{font-family:var(--head);font-weight:800;font-size:14px;color:#9aa6c0;transition:color .3s}
.pg-sign-t{font-family:var(--sub);font-weight:800;font-size:clamp(18px,1.8vw,26px);letter-spacing:-.01em}
.pg-sign-s{font-size:14px;font-weight:600;color:var(--muted);padding:7px 14px;border-radius:999px;background:var(--paper);transition:background .3s,color .3s}
.pg-sign-list img{position:absolute;right:190px;top:50%;width:110px;height:110px;object-fit:contain;translate:0 -50%;opacity:0;scale:.6;rotate:-12deg;pointer-events:none;transition:opacity .35s,scale .5s var(--ease),rotate .5s var(--ease)}
.pg-sign-list a:hover{padding-left:22px;background:linear-gradient(90deg,#f7be0022,transparent 60%)}
.pg-sign-list a:hover .pg-sign-n{color:var(--yellow)}
.pg-sign-list a:hover .pg-sign-s{background:var(--navy);color:#fff}
.pg-sign-list a:hover img{opacity:1;scale:1;rotate:0deg}
/* timeline */
.pg-visit{background:var(--navy);color:#fff;padding:clamp(80px,9vw,120px) 6vw}
.pg-visit .label{color:var(--yellow)!important}
.pg-visit-head h2{color:#fff;font-size:clamp(34px,3.8vw,56px)!important;margin:0 0 48px!important}
.pg-timeline{--p:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;position:relative}
.pg-timeline:before,.pg-timeline:after{content:"";position:absolute;left:12px;right:12px;top:12px;height:3px;border-radius:3px;background:#ffffff22}
.pg-timeline:after{background:var(--yellow);transform:scaleX(var(--p));transform-origin:left;transition:transform .2s linear}
.pg-timeline li{position:relative;padding-top:44px}
.pg-dot{position:absolute;left:0;top:0;width:27px;height:27px;border-radius:50%;background:var(--navy);border:3px solid #ffffff44;z-index:1;transition:background .4s,border-color .4s,transform .5s var(--ease)}
.pg-timeline li.is-on .pg-dot{background:var(--yellow);border-color:var(--yellow);transform:scale(1.1)}
.pg-timeline strong{display:block;font-family:var(--sub);font-weight:800;font-size:18px;margin-bottom:8px}
.pg-timeline p{margin:0;color:#c9d2e8;font-size:15px!important;line-height:1.6!important}
@media(max-width:1100px){
  .pg-hero,.pg-check{grid-template-columns:1fr}.pg-progress{position:static}
  .pg-cal-head{grid-template-columns:1fr}
  .pg-timeline{grid-template-columns:1fr;gap:28px;padding-left:44px}
  .pg-timeline:before,.pg-timeline:after{left:12px;right:auto;top:6px;bottom:6px;width:3px;height:auto}
  .pg-timeline:after{transform:scaleY(var(--p));transform-origin:top}
  .pg-timeline li{padding-top:0}.pg-dot{left:-44px}
}
@media(max-width:700px){
  .pg-hero,.pg-cal,.pg-check,.pg-look,.pg-signs,.pg-visit{padding-left:22px;padding-right:22px}
  .pg-rooms{grid-template-columns:1fr}
  .pg-card{grid-template-columns:84px 1fr;gap:14px;padding:16px}.pg-card img{width:84px;height:84px}
  .pg-vs{grid-template-columns:1fr}.pg-vs-badge{margin:-6px auto}
  .pg-sign-list a{grid-template-columns:36px 1fr;gap:12px}.pg-sign-s{grid-column:2;justify-self:start}.pg-sign-list img{display:none}
  .pg-spot{width:28px;height:28px}.pg-spot span{display:none}
}
@media(prefers-reduced-motion:reduce){.pg-arcs,.pg-spot:before,.pg-card{animation:none}.pg-grid td{transform:none;opacity:1;transition:none}}
.pg-card[hidden]{display:none!important}
.pg-hero{align-items:start}.pg-hero-copy{padding-top:clamp(10px,3vw,50px)}
.guide .contact-band{background:var(--yellow)!important;color:var(--navy)!important}
.guide .contact-band h2,.guide .contact-band p{color:var(--navy)!important}
.guide .contact-band .button{background:var(--navy)!important;color:#fff!important}
.guide .contact-band:after{background-image:url(assets/brand-arcs-color.png)!important;opacity:.16!important}
.pg-grid-wrap,.pg-grid td{position:relative}
.pg-room input[type=checkbox]{width:22px!important;height:22px!important;min-height:0!important;min-width:0!important;padding:0!important;flex:0 0 22px!important}

/* FAQ photo: no navy block behind, a touch larger */
.faq-photo:before{content:none!important;display:none!important}
.faq-photo{padding:0!important}
@media(min-width:1001px){.faq{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important}.faq-photo img{aspect-ratio:1/1.04}}
@media(max-width:560px){.faq-photo{padding:0!important}.faq-call{margin-left:0!important}}

/* ---------- Contact: one step smaller than before ---------- */
.contact h2{font-size:clamp(36px,3.9vw,60px)!important}
.contact>div>p:not(.eyebrow):not(.contact-note){font-size:clamp(17px,1.3vw,19px)!important}
.contact .phone{font-size:clamp(30px,2.8vw,42px)!important}
.contact .email{font-size:17px!important}

/* ---------- Before & after compare ---------- */
.ba{background:var(--paper);padding:clamp(80px,9vw,120px) 6vw!important}
.ba-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px 70px;align-items:end;margin-bottom:40px}
.ba-head h2{color:var(--navy);font-size:clamp(34px,3.8vw,56px)!important;margin:0!important}
.ba-head h2 span{color:var(--navy);background:linear-gradient(transparent 62%,#f7be0099 62%,#f7be0099 92%,transparent 92%)}
.ba-head>p{margin:0;color:var(--muted);font-size:17px!important;line-height:1.7}
.ba-stage{--pos:50%;position:relative;border-radius:28px;overflow:hidden;box-shadow:0 50px 90px -60px #001446c0;user-select:none;touch-action:pan-y;aspect-ratio:960/540;background:#efe7da}
.ba-scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.ba-after-wrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-drip{animation:baDrip 1.6s ease-in infinite}
@keyframes baDrip{0%{transform:translateY(0);opacity:1}80%{transform:translateY(34px);opacity:1}100%{transform:translateY(40px);opacity:0}}
.ba-ants g{animation:baAnt 1.2s ease-in-out infinite alternate}
.ba-ants g:nth-child(even){animation-delay:.3s}
@keyframes baAnt{to{translate:4px 0}}
.ba-checks g{transform-box:fill-box}
.ba-notes{list-style:none;margin:0;padding:0}
.ba-notes li{position:absolute;left:var(--nx);top:var(--ny);translate:-50% 18px;padding:6px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;
  opacity:0;scale:.8;transition:opacity .35s,scale .4s var(--ease);box-shadow:0 10px 20px -10px #001446}
.ba-notes li.is-on{opacity:1;scale:1}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:0;pointer-events:none}
.ba-handle:before{content:"";position:absolute;top:0;bottom:0;left:-2px;width:4px;background:#fff;box-shadow:0 0 0 1px #00144622,0 0 20px #0014464d}
.ba-knob{position:absolute;top:50%;left:0;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;
  box-shadow:0 0 0 6px #ffffffd9,0 14px 30px -10px #001446aa;transition:transform .3s var(--ease)}
.ba-knob svg{width:28px;height:28px}
.ba-knob:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--yellow);animation:hintEcho 2.4s ease-out infinite}
.ba-stage.is-used .ba-knob:after{animation:none;opacity:0}
.ba-hint{position:absolute;top:calc(50% + 46px);left:0;translate:-50% 0;padding:5px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:opacity .3s}
.ba-stage.is-used .ba-hint{opacity:0}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:none;min-height:0!important;border:0!important}
.ba-range:focus-visible+*,.ba-stage:has(.ba-range:focus-visible) .ba-knob{transform:scale(1.1);outline:3px solid var(--navy)}
.ba-stage:hover .ba-knob{transform:scale(1.06)}
.ba-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ba-steps li{position:relative;padding:22px 22px 20px;border-radius:20px;background:#fff;cursor:pointer;border:2px solid transparent;transition:border-color .35s,transform .4s var(--ease),box-shadow .4s,opacity .35s;opacity:.6}
.ba-steps li.is-on{opacity:1;border-color:var(--yellow);transform:translateY(-4px);box-shadow:0 24px 44px -30px #00144690}
.ba-steps li.is-past{opacity:.9}
.ba-steps b{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--yellow);font-family:var(--head);font-size:14px;margin-bottom:12px;transition:background .3s,color .3s}
.ba-steps li.is-on b,.ba-steps li.is-past b{background:var(--yellow);color:var(--navy)}
.ba-steps strong{display:block;font-family:var(--sub);font-weight:800;font-size:18px;color:var(--navy);margin-bottom:4px}
.ba-steps span{display:block;font-size:15px;color:var(--muted);line-height:1.55}
.ba-note{margin:16px 0 0!important;font-size:13px!important;color:#7c86a0}
@media(max-width:800px){.ba-head{grid-template-columns:1fr}.ba-steps{grid-template-columns:1fr}.ba-stage{border-radius:20px}
  .ba-knob{width:52px;height:52px;margin:-26px 0 0 -26px}.ba-notes li{font-size:11px;padding:4px 9px}}
@media(max-width:560px){.ba{padding-left:22px!important;padding-right:22px!important}}
@media(prefers-reduced-motion:reduce){.ba-drip,.ba-ants g,.ba-knob:after{animation:none}}

/* ---------- Home story: more room, clearer hierarchy ---------- */
.story{min-height:clamp(640px,62vw,860px)}
.story .story-copy{padding-top:clamp(80px,8vw,130px)!important;padding-bottom:clamp(80px,8vw,130px)!important;align-self:center}
.story .story-copy h2{font-size:clamp(40px,4.4vw,68px)!important;margin-bottom:22px!important}
.story .story-copy .large-copy{font-family:var(--head)!important;font-size:clamp(20px,1.7vw,26px)!important;line-height:1.35!important;margin:0 0 18px!important;max-width:24em}
.story .story-lead{font-size:clamp(17px,1.3vw,19px)!important;line-height:1.7!important;color:#dfe5f3!important;max-width:34em;margin:0 0 30px!important}
.story-points{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 34px;max-width:640px}
.story-point{padding:20px 20px 18px;border-radius:20px;background:#ffffff0d;border:1px solid #ffffff1f;transition:background .4s var(--ease),border-color .4s,transform .45s var(--ease)}
.story-point:hover{background:#ffffff17;border-color:#f7be0080;transform:translateY(-4px)}
.sp-i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--navy);margin-bottom:14px;transition:transform .5s var(--ease)}
.sp-i svg{width:20px;height:20px}
.story-point:hover .sp-i{transform:rotate(-10deg)}
.story-point strong{display:block;font-family:var(--sub);font-weight:800;font-size:17px;color:#fff;margin-bottom:6px}
.story-point p{margin:0!important;font-size:15px!important;line-height:1.6!important;color:#c9d2e8!important}
.story-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.story-cta .button{margin:0!important}
.story-badge{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:#c9d2e8}
.story-badge img{width:52px;height:auto;opacity:.9}
@media(max-width:1100px){.story-points{grid-template-columns:1fr}}
@media(max-width:740px){.story{min-height:0}.story .story-copy{padding-top:48px!important;padding-bottom:56px!important}}
#story .story-copy .large-copy{font-size:clamp(20px,1.7vw,26px)!important}
#story .story-copy .story-lead{font-size:clamp(17px,1.3vw,19px)!important}
#story .story-point p{font-size:15px!important}

/* FAQ photo: full landscape frame so the customer is visible; call card sits below */
.faq-photo img{aspect-ratio:1672/941!important;object-position:center!important;border-radius:26px 120px 26px 26px!important}
.faq-photo:hover img{border-radius:26px 90px 26px 26px!important}
.faq-call{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;margin:16px 0 0!important;animation:none!important;
  flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:16px 16px 16px 22px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 18px 36px -26px #00144680!important}
.faq-call span{font-size:16px!important}
@media(max-width:560px){.faq-photo img{border-radius:20px 70px 20px 20px!important}.faq-call{flex-direction:column!important;align-items:flex-start!important}}
.pg-spot{min-height:0!important;min-width:0!important;padding:0!important;height:34px!important;width:34px!important;line-height:1}
.pg-spot[data-zone=eaves] span{left:auto;right:-4px;translate:0 4px}
.pg-spot[data-zone=eaves]:hover span,.pg-spot[data-zone=eaves]:focus-visible span,.pg-spot[data-zone=eaves][aria-pressed=true] span{translate:0 0}
.pg-spot[data-zone=yard] span{left:-4px;translate:0 4px}
.pg-spot[data-zone=yard]:hover span,.pg-spot[data-zone=yard][aria-pressed=true] span{translate:0 0}
@media(max-width:700px){.pg-spot{height:24px!important;width:24px!important;box-shadow:0 0 0 3px #ffffffcc,0 6px 12px -6px #001446aa}.pg-spot:after{font-size:15px}}
.ba-head h2 span,.pg-hero h1 span{background:none!important;color:inherit!important}

/* Home story photo: show the full landscape picture (no zoomed crop) */
@media(min-width:741px){
  #story .story-photo{position:absolute!important;left:0!important;top:50%!important;bottom:auto!important;height:auto!important;width:58%!important;aspect-ratio:1679/937;translate:0 -50%;
    -webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 98%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);
    -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 62%,transparent 98%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-composite:intersect}
  #story .story-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  #story .story-photo:after{content:none!important}
}
@media(max-width:740px){
  #story .story-photo{height:auto!important;aspect-ratio:1679/937}
  #story .story-photo img{height:100%!important;object-fit:cover;object-position:center!important}
}
@media(min-width:741px){
  #story{min-height:0!important}
  #story .story-copy{padding-top:clamp(70px,6.5vw,110px)!important;padding-bottom:clamp(70px,6.5vw,110px)!important}
  #story .story-photo{width:64%!important}
}
.pest-feature>img{object-position:60% 0%!important}

/* Home story v3: photo fills the full left side (no navy bands), minimal zoom */
@media(min-width:741px){
  #story .story-photo{top:0!important;bottom:0!important;height:100%!important;aspect-ratio:auto!important;translate:none!important;width:62%!important;
    -webkit-mask-image:linear-gradient(90deg,#000 70%,transparent 99%)!important;-webkit-mask-composite:source-over!important;
    mask-image:linear-gradient(90deg,#000 70%,transparent 99%)!important;mask-composite:add!important}
  #story .story-photo img{object-fit:cover!important;object-position:36% 40%!important}
  #story .story-copy{padding-top:clamp(56px,5vw,84px)!important;padding-bottom:clamp(56px,5vw,84px)!important}
  #story .story-copy h2{font-size:clamp(38px,3.8vw,58px)!important;margin-bottom:16px!important}
  #story .story-copy .large-copy{margin-bottom:12px!important}
  #story .story-lead{margin-bottom:22px!important}
  #story .story-points{margin-bottom:26px}
  #story .story-point{padding:16px 18px 14px}
  #story .sp-i{width:36px;height:36px;margin-bottom:10px}
}
@media(min-width:741px){
  #story .story-photo{width:60%!important;-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent 100%)!important;mask-image:linear-gradient(90deg,#000 80%,transparent 100%)!important}
  #story .story-photo img{object-position:58% 35%!important}
  #story .story-copy{margin-left:auto}
}
@media(min-width:1001px){#story{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important}}
.story-cta{justify-content:center;max-width:640px}
.story-cta .button{background:var(--yellow)!important;color:var(--navy)!important}
#story .story-copy .story-lead{margin-bottom:42px!important}
#story .story-points{margin-bottom:40px!important}
#story .story-copy .large-copy{margin-bottom:16px!important}
@media(min-width:741px){
  #story .story-photo{width:64%!important;-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent 100%)!important;mask-image:linear-gradient(90deg,#000 84%,transparent 100%)!important}
  #story .story-photo img{object-position:26% 35%!important}
}
@media(min-width:741px){
  #story .story-photo{-webkit-mask-image:linear-gradient(90deg,#000 76%,transparent 97%)!important;mask-image:linear-gradient(90deg,#000 76%,transparent 97%)!important}
  #story .story-photo img{object-position:24% 35%!important}
}
#story .story-copy .story-lead{margin-bottom:68px!important}
#story .story-points{margin-bottom:48px!important}
@media(min-width:1001px){
  #story .story-copy{max-width:min(600px,42%)!important;padding-right:6vw!important;padding-left:24px!important}
  #story .story-photo{width:62%!important;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent 100%)!important;mask-image:linear-gradient(90deg,#000 86%,transparent 100%)!important}
  #story .story-photo img{object-position:32% 35%!important}
}

/* story boxes: sit lower without growing the section */
@media(min-width:741px){#story .story-copy .story-lead{margin-bottom:98px!important}#story .story-points{margin-bottom:18px!important}}

/* story photo: less zoom by shortening the section (wider copy, tighter rhythm) */
@media(min-width:1001px){
  #story .story-copy{max-width:min(680px,47%)!important;padding-top:52px!important;padding-bottom:52px!important;padding-right:4vw!important}
  #story .story-copy .story-lead{margin-bottom:52px!important}
  #story .story-points{margin-bottom:22px!important}
  #story .story-photo{width:60%!important}
}
@media(min-width:1001px){#story .story-copy{padding-left:48px!important}}
@media(min-width:1001px){#story .story-copy{padding-right:2.5vw!important;max-width:min(700px,49%)!important}}

/* story photo: whole image, no zoom (natural 1679x937 ratio), blended into navy */
@media(min-width:1001px){
  #story .story-photo{top:50%!important;bottom:auto!important;height:auto!important;aspect-ratio:1679/937!important;translate:0 -50%!important;width:58%!important;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent 100%)!important;mask-image:linear-gradient(90deg,#000 82%,transparent 100%)!important}
  #story .story-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
}
@media(min-width:1001px){#story .story-photo{width:calc(100% - min(700px,49%) - 1.5vw)!important;-webkit-mask-image:none!important;mask-image:none!important;border-radius:0 22px 22px 0!important;overflow:hidden!important;box-shadow:0 30px 60px -28px rgba(0,0,0,.55)!important}}
@media(min-width:1001px){#story .story-photo{width:calc(51% + 24px)!important}}

/* story v-final: full photo fills the left side at its natural ratio (no zoom);
   copy sits beside it; the two boxes + CTA run as a strip underneath */
@media(min-width:1001px){
  #story{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,46%)!important;grid-template-rows:auto auto!important;align-items:center!important;padding:0!important;min-height:0!important;column-gap:0!important}
  #story .story-photo{position:relative!important;grid-column:1!important;grid-row:1!important;inset:auto!important;top:auto!important;bottom:auto!important;left:auto!important;translate:none!important;width:100%!important;height:auto!important;aspect-ratio:1679/937!important;margin:0!important;border-radius:0!important;box-shadow:none!important;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent 100%)!important;mask-image:linear-gradient(90deg,#000 90%,transparent 100%)!important}
  #story .story-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  #story .story-copy{grid-column:2!important;grid-row:1!important;max-width:none!important;width:auto!important;margin:0!important;padding:40px max(24px,calc((100vw - 1240px)/2)) 40px 40px!important;align-self:center!important}
  #story .story-copy .story-lead{margin-bottom:0!important}
  #story .story-foot{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding:56px max(24px,calc((100vw - 1240px)/2)) 72px;position:relative;z-index:2}
  #story .story-foot .story-points{margin:0!important;max-width:none!important;grid-template-columns:1fr 1fr!important}
  #story .story-foot .story-cta{margin:0!important;max-width:none!important;justify-content:flex-end!important}
}
@media(max-width:1000px){#story .story-foot{position:relative;z-index:2;padding:0 var(--gutter,24px) 48px}}
@media(min-width:1001px){#story{row-gap:0!important;gap:0!important}#story .story-foot{padding-top:44px!important;padding-bottom:64px!important}}
@media(max-width:1000px){#story .story-copy .story-lead{margin-bottom:32px!important}#story .story-foot .story-points{margin-bottom:28px!important}}
@media(max-width:1000px){#story .story-copy{padding-bottom:0!important;margin-bottom:0!important}#story .story-foot{padding-top:28px!important}}

/* ant cutout is now stored upright (walking right), so drop the old -90deg compensation */
.ant-card img{transform:none!important}
.ant-oriented img{transform:none}
.pest-hero.ant-oriented:hover img{transform:rotate(-3deg) scale(1.03)}
.ant-card:hover img{transform:scale(1.035)!important}

/* story v5: back to photo-left / everything-else-right. Photo fills the full
   height but is cropped only at the empty edges so Lee and Ben stay centred
   and nothing is magnified. */
@media(min-width:1001px){
  #story{display:grid!important;grid-template-columns:57% 43%!important;grid-template-rows:auto!important;align-items:stretch!important;padding:0!important;min-height:0!important;gap:0!important}
  #story .story-photo{position:relative!important;grid-column:1!important;grid-row:1!important;inset:auto!important;translate:none!important;width:100%!important;height:auto!important;min-height:100%!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;-webkit-mask-image:linear-gradient(90deg,#000 93%,transparent 100%)!important;mask-image:linear-gradient(90deg,#000 93%,transparent 100%)!important}
  #story .story-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:40% 55%!important}
  #story .story-copy{grid-column:2!important;grid-row:1!important;max-width:none!important;width:auto!important;margin:0!important;align-self:center!important;padding:44px max(24px,calc((100vw - 1240px)/2)) 44px 44px!important}
  #story .story-copy h2{margin-bottom:14px!important}
  #story .story-copy .large-copy{margin-bottom:10px!important}
  #story .story-copy .story-lead{margin-bottom:28px!important}
  #story .story-points{margin:0 0 24px!important;gap:12px!important;grid-template-columns:1fr 1fr!important;max-width:none!important}
  #story .story-point{padding:18px 18px 20px!important}
  #story .story-point p{font-size:14px!important;line-height:1.55!important;margin:0!important}
  #story .story-point strong{margin:10px 0 6px!important}
  #story .story-cta{margin:0!important;max-width:none!important;justify-content:flex-start!important}
}
@media(min-width:1001px){
  #story .story-copy{padding:40px clamp(28px,4vw,64px) 40px 40px!important}
  #story .story-copy h2{font-size:clamp(38px,3.4vw,54px)!important;line-height:1.02!important}
  #story .story-copy .large-copy{font-size:clamp(18px,1.45vw,22px)!important;line-height:1.3!important}
  #story .story-copy .story-lead{font-size:16px!important;line-height:1.6!important;margin-bottom:24px!important}
  #story .story-copy .eyebrow{margin-bottom:12px!important}
  #story .story-point p{line-height:1.5!important}
}

/* story lead removed per client, space kept */
#story .story-copy .story-lead{visibility:hidden!important}

/* one-line subheadline under the headline (replaces the removed paragraph, keeps its space) */
#story .story-copy .story-sub{visibility:visible!important;color:#dfe6f5!important;font-weight:500!important;letter-spacing:.005em}
@media(min-width:1001px){#story .story-copy .story-sub{white-space:nowrap;font-size:clamp(15px,1.25vw,18px)!important;min-height:52px;margin-top:4px!important}}
@media(min-width:1001px){#story .story-copy .story-sub{font-size:clamp(13px,1.1vw,17px)!important}}
@media(max-width:1099px){#story .story-copy .story-sub{white-space:normal!important}}

/* Trust bar on phones: compact 2x2 cards instead of a tall stacked list */
@media(max-width:740px){
  html body .trust-bar{grid-template-columns:1fr 1fr!important;gap:10px!important;padding:20px 16px 22px!important;background:#f6f7fa!important;border-bottom:0!important}
  html body .trust-bar .trust-item{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:16px 14px 16px!important;background:#fff;border:1px solid #0014461a!important;border-radius:16px;box-shadow:0 10px 24px -20px #00144660}
  html body .trust-bar .trust-item+.trust-item{border-left:1px solid #0014461a!important;border-top:1px solid #0014461a!important}
  html body .trust-bar .trust-icon{flex:0 0 40px!important;width:40px!important;height:40px!important;box-shadow:inset 0 -2px 0 var(--yellow)!important}
  html body .trust-bar .trust-icon svg{width:19px!important;height:19px!important}
  html body .trust-bar strong{font-size:14px!important;line-height:1.25!important}
  html body .trust-bar small{font-size:12.5px!important;line-height:1.4!important;margin-top:3px!important}
  html body .trust-bar .trust-item.is-focus .trust-icon{box-shadow:inset 0 -2px 0 var(--navy)!important}
  /* story eyebrow: same quiet label as other sections */
  html body #story .story-copy p.eyebrow,html body main #story p.eyebrow{font-size:11.5px!important;letter-spacing:.16em!important;line-height:1.5!important}
}
@media(max-width:350px){
  html body .trust-bar{gap:8px!important;padding:16px 12px!important}
  html body .trust-bar .trust-item{padding:14px 12px!important}
  html body .trust-bar strong{font-size:13px!important}
  html body .trust-bar small{font-size:12px!important}
}

/* Footer image & video credits (added to every page) */
footer .site-credit:not(.photo-credit){grid-column:1/-1;display:block;max-width:900px;margin:14px 0 0;padding:0;font-family:var(--body,Inter,Arial,sans-serif);font-size:12px;line-height:1.7;color:#52617c;text-align:left}
footer .site-credit:not(.photo-credit) a{color:inherit;text-decoration:underline;text-underline-offset:2px}
footer .photo-credit.site-credit+.photo-credit.site-credit{margin-top:6px}

/* Footer bottom: copyright + credits centred on every page */
footer .footer-bottom{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;grid-template-columns:none!important}
footer .footer-bottom>*,footer .footer-bottom p{text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:900px}
footer .footer-bottom .credit{max-width:820px}
footer .service-credit,footer .site-credit,footer .photo-credit{text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:900px!important}
