/* Final visual polish: approved copy, layout, palette and testimonial cards retained. */
#route-title,#testimonials-title,#faq-title{font-family:Pixel,monospace;font-weight:400;font-size:19px;line-height:1.65;letter-spacing:0}
#final-title{font-size:23px;line-height:1.8}
.first-cta h2{font-family:Saira,Arial,sans-serif;font-weight:700;font-size:28px;line-height:1.3}
.first-cta .cta{max-width:460px;min-height:74px;padding:16px 22px;border-width:2px;font-size:20px;font-weight:700;gap:14px;box-shadow:inset 0 0 0 2px #f5f3ed20,0 3px 0 #20221f40}
.route-columns h3{font-size:22px;font-weight:700;line-height:1.35}
.route-icon{display:block;width:28px;height:28px;margin:0 0 14px;color:var(--action)}
@media(min-width:700px){
  .hero h1{font-size:30px;line-height:1.6}
  .hero p,.first-cta p,.route .copy p,.testimonials .copy p,.final-cta p{font-size:20px}
  .first-cta h2{font-size:36px;line-height:1.3}
  .first-cta .cta{min-height:76px;padding:17px 24px}
  #route-title,#testimonials-title,#faq-title{font-size:24px;line-height:1.6}
  .route .copy,.testimonials .copy{max-width:1080px}
  .route .copy p,.testimonials .copy p{max-width:810px;margin-inline:auto}
  .route-columns h3{font-size:24px;min-height:65px}
  .route-columns p{font-size:19px}
  .route-icon{width:36px;height:36px;margin:0 auto 18px}
  .faq summary{font-size:19px}
  .faq details p{font-size:18px}
  #final-title{font-size:clamp(19px,2.1vw,28px)}
}
@media(min-width:1100px){#route-title,#testimonials-title,#faq-title{font-size:28px}}
@media(max-width:359px){#route-title,#testimonials-title,#faq-title{font-size:17px}#final-title{font-size:21px}.first-cta h2{font-size:26px}}

/* Finishing pass: limited icon, primary button and secondary text refinements. */
.route-icon{width:33px;height:33px;stroke-width:2.1}
.first-cta .cta{max-width:492px;min-height:80px;padding-block:19px}
.route .copy p,.route-columns p,.testimonials .copy p{font-size:18px}
.faq summary{font-size:18px}
@media(min-width:700px){
  .route-icon{width:42px;height:42px}
  .first-cta .cta{min-height:82px;padding-block:20px}
  .route .copy p,.testimonials .copy p{font-size:21px}
  .route-columns p,.faq summary{font-size:20px}
}

/* Shared desktop rows align icons, heading zones and description starts. */
@media(min-width:700px){
  .route-columns{grid-template-rows:auto auto auto}
  .route-columns article{display:grid;grid-row:span 3;grid-template-rows:subgrid}
  .route-columns h3{align-items:flex-start}
}

/* Final UX finish: larger invisible arrow targets, row breathing room and CTA text. */
.carousel-controls{height:38px}
.carousel-controls .arrow{position:relative;width:48px;height:48px;flex:0 0 48px;margin-inline:-5px;border:0}
.carousel-controls .arrow::before{content:'';position:absolute;inset:5px;border:1px solid #f5f3eda0;border-radius:50%;pointer-events:none}
.carousel-controls .arrow:disabled{opacity:.42}
.carousel-controls .arrow:not(:disabled):hover::before{border-color:var(--green)}
.faq summary{padding-block:24px}
.first-cta .cta{font-size:21px;font-weight:700;line-height:27px}
.final-cta .cta{font-size:20px;font-weight:700;line-height:25.65px}
.cta>span[aria-hidden]{line-height:1.35}
@media(min-width:700px){.faq summary{padding-block:28px}}
/* QA: keyboard focus needs contrast against the light green CTA section. */
.first-cta .cta:focus-visible{outline-color:var(--ink)}
/* Functional fixes only: native navigation and bounded carousel endpoints. */
.cta{pointer-events:auto;touch-action:manipulation}
.cta>span,.cta::before,.cta::after{pointer-events:none}
.carousel-track{position:relative}
.carousel-track::after{content:none}
.carousel-track figure{scroll-snap-align:none}
.carousel-stop{position:absolute;top:0;width:1px;height:1px;pointer-events:none;scroll-snap-align:start;scroll-snap-stop:always}
