/* Let slide content determine its height; images must not enlarge grid tracks. */
.hero{overflow:hidden}
.hero-slides{display:grid;min-height:0}
.hero-slide{position:relative;inset:auto;grid-area:1/1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;min-height:560px;min-width:0}
.hero-copy{min-width:0;align-self:center;padding-top:58px;padding-bottom:88px}
.hero-copy h1{font-size:clamp(36px,4vw,64px);line-height:1.1;letter-spacing:-1.8px;max-width:100%;overflow-wrap:normal;text-wrap:balance}
.hero-copy p{max-width:390px;margin:24px 0 28px;line-height:1.8}
.hero-footnote{margin-top:30px;line-height:1.6;flex-wrap:wrap}
.hero-photo{position:relative;min-width:0;min-height:0;align-self:stretch}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide-controls{bottom:20px;z-index:3}
.promise-strip{position:relative;z-index:1;flex-wrap:wrap;gap:16px 60px;align-items:center}
.promise-strip>span{min-width:0;line-height:1.6}
.section-heading>div,.section-heading>p{min-width:0}
.category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.category-card{min-width:0}.category-card h3{line-height:1.5;flex-wrap:wrap;justify-content:center}
.newsletter-inner>*,.footer-main>*{min-width:0}
.footer-main a{overflow-wrap:anywhere}
@media(max-width:1100px){.desktop-links{display:none}.mobile-menu{display:inline-flex}.hero-slide{min-height:530px}.hero-copy{padding:42px 32px 80px}.hero-copy h1{font-size:clamp(35px,4.2vw,48px)}.hero-copy p{font-size:12px}.promise-strip{gap:14px 30px}}
@media(max-width:800px){.hero-slide{min-height:500px}.hero-copy{padding:36px 24px 78px}.hero-copy h1{font-size:clamp(31px,4.5vw,40px)}.hero-copy p{font-size:12px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading .text-link{align-self:center}}
@media(max-width:600px){.hero-slide{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 320px;min-height:0}.hero-copy{padding:32px 22px 66px;align-self:start}.hero-copy h1{font-size:clamp(33px,9.1vw,45px);letter-spacing:-1.2px;line-height:1.08;max-width:420px;text-wrap:balance}.hero-copy p{max-width:360px;font-size:12px;line-height:1.75;margin:18px 0 22px}.hero-photo{height:320px}.hero-photo>img{height:100%;object-position:center 68%}.hero-footnote,.hero-spark{display:none}.slide-controls{bottom:336px;right:22px;left:auto}.promise-strip{gap:12px 18px;padding:16px 12px}.promise-strip>span{font-size:8px}.section-heading .text-link{white-space:normal}.category-card h3{font-size:10px}.category-card h3 svg{width:13px;height:13px}}
