/* Homepage only. Lightweight surfaces and transform/opacity motion. */
.ds-homepage { background: #fcfcf9; }
.ds-homepage .ds-home-intro { padding: 30px 0 26px; align-items: center; }
.ds-homepage .ds-home-intro .ds-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 9px; letter-spacing: 1.8px; }
.ds-home-dot { width: 6px; height: 6px; border-radius: 50%; background: #158657; box-shadow: 0 0 0 4px #e7f1e8; }
.ds-homepage .ds-home-intro h1 { margin-top: 12px; font-size: clamp(27px, 3vw, 39px); line-height: 1.2; letter-spacing: -1.7px; font-weight: 600; }
.ds-home-intro p { margin: 10px 0 0; font-size: 13px; line-height: 1.7; color: #748079; }
.ds-homepage .ds-home-location { display: flex; align-items: center; gap: 12px; padding: 12px 0 12px 22px; background: none; border-radius: 0; border-left: 1px solid #e0e7de; }
.ds-home-location > span:first-child { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #dfe7dc; border-radius: 50%; background: #f3f6ee; font-size: 17px; }
.ds-home-location small, .ds-home-location strong { display: block; }
.ds-home-location small { font-size: 10px; font-weight: 400; color: #7b8679; }
.ds-home-location strong { margin-top: 5px; color: #2e503a; font-size: 11px; font-weight: 600; }
.ds-home-location strong i { margin-left: 10px; display: inline-block; transition: transform .25s ease; }
.ds-home-location:hover strong i { transform: translate(2px, -2px); }
.ds-homepage .ds-home-feature { grid-template-columns: minmax(0, 1fr) 288px; gap: 16px; }
.ds-homepage .ds-home-hero { border-radius: 24px; box-shadow: none; }
.ds-homepage .ds-home-hero .ds-hero-track { height: 406px; }
.ds-homepage .ds-home-hero .ds-slide-copy { width: 65%; padding: 38px 0 44px 40px; }
.ds-homepage .ds-home-hero .ds-slide-title { font-size: clamp(32px, 3.5vw, 48px); font-weight: 600; letter-spacing: -2px; line-height: 1.08; margin: 21px 0 16px; }
.ds-homepage .ds-home-hero .ds-slide-title em { color: #e4eeae; }
.ds-homepage .ds-home-hero .ds-slide-text { font-size: 13px; line-height: 1.8; max-width: 370px; color: #d5e3d8; margin-bottom: 24px; }
.ds-homepage .ds-home-hero .ds-slide-kicker { padding: 7px 11px; font-size: 8px; font-weight: 500; letter-spacing: 1px; backdrop-filter: none; background: #ffffff0a; }
.ds-homepage .ds-home-hero .ds-btn { min-height: 44px; border-radius: 10px; padding: 0 18px; gap: 18px; font-size: 12px; box-shadow: none; }
.ds-homepage .ds-slide-art.is-teal { background: radial-gradient(ellipse at 100% 10%, #527955 0, transparent 65%), #133f32; }
.ds-homepage .ds-slide-art::before { display: none; }
.ds-homepage .ds-home-hero .ds-slide:first-child .ds-slide-copy > * { opacity: 1; transform: none; animation: none; }
.ds-homepage .ds-hero-illustration { width: 28%; right: 5%; top: 18%; }
.ds-homepage .ds-illustration-bag { width: 166px; height: 200px; animation-duration: 8s; }
.ds-homepage .ds-illustration-orbit { width: 120%; border-style: dashed; opacity: .7; box-shadow: 0 0 0 27px #ffffff03, 0 0 0 55px #ffffff03; }
.ds-homepage .ds-home-hero .ds-floater { animation: none; backdrop-filter: none; }
.ds-homepage .ds-home-hero .ds-floater:nth-child(1) { top: 10% !important; right: 29% !important; transform: rotate(-12deg); }
.ds-homepage .ds-home-hero .ds-floater:nth-child(2) { right: 2% !important; top: 76% !important; transform: rotate(8deg); }
.ds-homepage .ds-hero-dots { justify-content: flex-start; left: 40px; right: auto; bottom: 23px; }
.ds-homepage .ds-hero-dot { width: 20px; height: 4px; }
.ds-homepage .ds-hero-dot.is-active { width: 38px; }
.ds-homepage .ds-hero-pause { right: 20px; bottom: 15px; width: 32px; height: 32px; }
.ds-homepage .ds-hero-nav { width: 34px; height: 34px; font-size: 12px; }
.ds-homepage .ds-hero-nav.is-prev { left: 8px; }
.ds-homepage .ds-hero-nav.is-next { right: 8px; }
.ds-homepage .ds-prescription-card { position: relative; min-width: 0; padding: 24px; border-radius: 24px; background: #f0f1e6; border-color: #e4e6d7; overflow: hidden; }
.ds-homepage .ds-prescription-top .ds-eyebrow { font-size: 8px; letter-spacing: 1.1px; }
.ds-homepage .ds-prescription-top > i { font-size: 17px; }
.ds-homepage .ds-prescription-art { width: 57px; height: 64px; margin: 18px 0 15px; transform: rotate(-6deg); font-size: 30px; box-shadow: 5px 6px 0 #dfe3ce; }
.ds-homepage .ds-prescription-art > span:first-of-type { border-color: #f0f1e6; }
.ds-homepage .ds-prescription-art > .ds-prescription-line { position: absolute; left: 75px; top: 15px; right: auto; bottom: auto; width: 110px; height: 45px; background: transparent; border: 0; border-top: 1px dashed #a9b69c; border-right: 1px dashed #a9b69c; border-radius: 0 25px 0 0; transform: rotate(6deg); }
.ds-homepage .ds-prescription-card h2 { font-size: 29px; font-weight: 600; letter-spacing: -1.2px; line-height: 1.12; margin-bottom: 10px; }
.ds-homepage .ds-prescription-card p { margin-bottom: 12px; color: #748068; font-size: 11px; }
.ds-prescription-process { display: flex; align-items: center; gap: 8px; margin-bottom: 17px; font-size: 9px; color: #6c7d5c; }
.ds-prescription-process span { font-weight: 500; }
.ds-prescription-process i { font-size: 9px; color: #9aa58d; }
.ds-homepage .ds-prescription-card .ds-btn { flex-shrink: 0; min-height: 42px; font-size: 10px; gap: 8px; background: #2b573b; }
.ds-homepage .ds-prescription-note { font-size: 8px; margin-top: 11px; }
.ds-homepage .ds-services-heading { margin-top: 30px; }
.ds-homepage .ds-services-heading h2 { font-size: 18px; letter-spacing: -.6px; font-weight: 600; }
.ds-homepage .ds-services-heading > span { font-size: 11px; color: #8a9186; }
.ds-homepage .ds-services { gap: 16px; margin-top: 17px; }
.ds-homepage .ds-service { min-height: 176px; border-radius: 18px; padding: 22px; border: 1px solid #e1e8dc; transition: transform .3s var(--ds-ease), border-color .3s, box-shadow .3s; }
.ds-homepage .ds-service.is-pharmacy { background: linear-gradient(120deg, #f3f8f0, #eaf3e9); }
.ds-homepage .ds-service.is-grocery { background: linear-gradient(120deg, #fdf8ed, #f8efdb); border-color: #ece3d0; }
.ds-homepage .ds-service.is-laundry { background: linear-gradient(120deg, #f2f5fc, #e9effa); border-color: #e1e6f1; }
.ds-homepage .ds-service-mini { width: 42px; height: 42px; top: 21px; right: 21px; font-size: 20px; border-radius: 13px; border: 1px solid #ffffffa6; background: #ffffffb3; }
.ds-homepage .ds-service h3 { font-size: 24px; font-weight: 600; margin: 14px 0 6px; }
.ds-homepage .ds-service p { font-size: 11px; }
.ds-homepage .ds-service-badge { font-size: 9px; font-weight: 500; letter-spacing: .4px; backdrop-filter: none; }
.ds-homepage .ds-service-cta { display: flex; justify-content: space-between; width: 100%; padding-top: 13px; margin-top: 17px; border-top: 1px solid #1f523312; font-size: 10px; font-weight: 600; }
.ds-homepage .ds-service-cta i { font-size: 14px; }
.ds-homepage .ds-service-icon { right: 44px; bottom: 29px; font-size: 75px; opacity: .05; }
.ds-homepage .ds-trust { gap: 0; margin: 25px 0 8px; padding: 16px 0; border-top: 1px solid #e6ebdf; border-bottom: 1px solid #e6ebdf; }
.ds-homepage .ds-trust-item { border: 0; border-radius: 0; background: transparent; padding: 4px 18px; gap: 11px; }
.ds-homepage .ds-trust-item:first-child { padding-left: 0; }
.ds-homepage .ds-trust-item + .ds-trust-item { border-left: 1px solid #e6ebdf; }
.ds-homepage .ds-trust-item > i { width: 32px; height: 32px; border-radius: 0; background: none; box-shadow: none; font-size: 23px; color: #71866a; }
.ds-homepage .ds-trust-item strong { font-size: 11px; font-weight: 600; }
.ds-homepage .ds-trust-item span { font-size: 9px; }
.ds-homepage .ds-section-title { font-size: 25px; font-weight: 600; letter-spacing: -.9px; }
.ds-homepage .ds-section-sub { color: #879080; font-size: 11px; margin-top: 6px; }
.ds-homepage .ds-section-head { margin-bottom: 22px; }
.ds-homepage .ds-title-icon { width: 32px; height: 32px; border-radius: 10px; font-size: 17px; }
.ds-homepage .ds-see-all { background: transparent; border-color: #dce4d7; border-radius: 999px; padding: 0 16px; min-height: 34px; font-size: 10px; }
.ds-homepage .ds-card { border-radius: 14px; border-color: #e6eadf; }
.ds-homepage .ds-card-media { background: #fff; }
.ds-homepage .ds-card-body { padding: 12px 15px 15px; }
.ds-homepage .ds-card-title { font-size: 13px; letter-spacing: -.2px; }
.ds-homepage .ds-card-meta { font-size: 10px; }
.ds-homepage .ds-card-foot { border-top-color: #edf0e7; }
.ds-homepage .ds-chip-time { font-size: 8px; color: #819078; }
.ds-homepage .ds-deals { border-radius: 22px; background: #f7f4e9; border-color: #ebe4d2; }
.ds-homepage .ds-countdown { color: #8c7c5a; font-size: 10px; }
.ds-homepage .ds-countdown-unit { background: #fffdf7; color: #5d543e; border: 1px solid #e8e0cc; border-radius: 6px; box-shadow: none; }
.ds-homepage .ds-cat { border-radius: 14px; transition: background .25s, transform .25s; }
.ds-homepage .ds-cat-icon { background: #fff; border: 1px solid #e9eee2; }
.ds-homepage .ds-brands-panel { background: #f4f6ef; border-color: #e6eadf; padding: 30px; }
.ds-homepage .ds-brands-heading h2 { font-weight: 600; font-size: 30px; letter-spacing: -1.2px; }
.ds-homepage .ds-brand-card { box-shadow: none; }
.ds-homepage .ds-how-grid article { padding: 25px; border: 1px solid #e4e9dc; border-radius: 16px; background: #fff; }
.ds-homepage .ds-how-number { right: 22px; top: 23px; }
.ds-homepage .ds-how-grid h3 { font-weight: 600; }
.ds-homepage .ds-how-grid p { font-size: 11px; }
.ds-homepage .reveal { transition-duration: .5s; transition-delay: calc(var(--i, 0) * 35ms); }
/* Decorative motion sleeps when the carousel leaves the screen. */
.ds-homepage .ds-home-hero.is-offscreen *, .ds-homepage .ds-slide:not(.is-active) * { animation-play-state: paused !important; }
.ds-homepage .ds-slide:not(.is-active) { content-visibility: hidden; }
@media (hover: hover) and (pointer: fine) {
    .ds-homepage .ds-service:hover { transform: translateY(-5px); box-shadow: 0 15px 26px -22px #244f31a6; border-color: #b4c6a8; }
    .ds-homepage .ds-card:hover { transform: translateY(-4px); box-shadow: 0 14px 25px -20px #244f3173; }
}
@media (max-width: 1199.98px) {
    .ds-homepage .ds-home-feature { grid-template-columns: minmax(0, 1fr) 250px; }
    .ds-homepage .ds-home-hero .ds-slide-copy { width: 67%; padding-left: 28px; }
    .ds-homepage .ds-home-hero .ds-slide-title { font-size: 36px; letter-spacing: -1.5px; }
    .ds-homepage .ds-home-hero .ds-slide-text { font-size: 12px; }
    .ds-homepage .ds-illustration-bag { width: 122px; height: 156px; }
    .ds-homepage .ds-illustration-check { padding: 8px; font-size: 8px; }
    .ds-homepage .ds-prescription-card { padding: 22px; }
    .ds-homepage .ds-prescription-card h2 { font-size: 27px; }
    .ds-homepage .ds-hero-dots { left: 28px; }
    .ds-homepage .ds-trust-item { padding: 4px 12px; gap: 7px; }
    .ds-homepage .ds-trust-item span { font-size: 8px; }
}
@media (max-width: 991.98px) {
    .ds-homepage .ds-home-intro h1 { font-size: 32px; }
    .ds-homepage .ds-home-location { display: none; }
    .ds-homepage .ds-home-feature { grid-template-columns: minmax(0, 1fr); }
    .ds-homepage .ds-home-hero .ds-hero-track { height: 390px; }
    .ds-homepage .ds-home-hero .ds-slide-copy { padding-left: 34px; width: 66%; }
    .ds-homepage .ds-home-hero .ds-slide-title { font-size: 39px; }
    .ds-homepage .ds-illustration-bag { width: 145px; height: 180px; }
    .ds-homepage .ds-prescription-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 18px; padding: 20px; align-items: center; border-radius: 18px; }
    .ds-homepage .ds-prescription-art { width: 43px; height: 49px; margin: 0; font-size: 24px; }
    .ds-homepage .ds-prescription-line, .ds-homepage .ds-prescription-process { display: none; }
    .ds-homepage .ds-prescription-card h2 { font-size: 23px; margin-bottom: 5px; }
    .ds-homepage .ds-prescription-card h2 br { display: none; }
    .ds-homepage .ds-prescription-card p { margin: 0; font-size: 11px; }
    .ds-homepage .ds-prescription-card .ds-btn { width: auto; }
    .ds-homepage .ds-service { padding: 18px; }
    .ds-homepage .ds-service-mini { top: 16px; right: 16px; width: 34px; height: 34px; font-size: 18px; }
    .ds-homepage .ds-service h3 { font-size: 22px; }
    .ds-homepage .ds-service p { max-width: 160px; }
    .ds-homepage .ds-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
    .ds-homepage .ds-trust-item:nth-child(odd) { padding-left: 0; border-left: 0; }
    .ds-homepage .ds-trust-item span { font-size: 10px; }
    .ds-homepage .ds-trust-item strong { font-size: 12px; }
}
@media (max-width: 767.98px) {
    .ds-homepage .ds-home-intro { padding: 25px 0 22px; }
    .ds-homepage .ds-home-intro h1 { font-size: 30px; letter-spacing: -1.2px; max-width: 360px; }
    .ds-home-intro p { font-size: 11px; max-width: 300px; line-height: 1.7; }
    .ds-homepage .ds-home-feature { gap: 12px; }
    .ds-homepage .ds-home-hero { border-radius: 20px; }
    .ds-homepage .ds-home-hero .ds-hero-track { height: 350px; }
    .ds-homepage .ds-home-hero .ds-slide-copy { padding: 25px 23px 45px; width: 87%; }
    .ds-homepage .ds-home-hero .ds-slide-title { font-size: 34px; letter-spacing: -1.4px; max-width: 310px; margin: 16px 0 12px; }
    .ds-homepage .ds-home-hero .ds-slide-text { font-size: 11px; max-width: 270px; margin-bottom: 18px; }
    .ds-homepage .ds-home-hero .ds-slide-kicker { font-size: 7px; padding: 6px 9px; }
    .ds-homepage .ds-home-hero .ds-btn { min-height: 40px; padding: 0 14px; font-size: 11px; }
    .ds-homepage .ds-hero-illustration { right: -3%; top: auto; bottom: 39px; width: 22%; height: 35%; opacity: .24; }
    .ds-homepage .ds-illustration-bag { width: 82px; height: 102px; gap: 10px; animation: none; }
    .ds-homepage .ds-bag-mark { width: 33px; height: 33px; font-size: 20px; }
    .ds-homepage .ds-bag-label { font-size: 12px; }
    .ds-homepage .ds-bag-label > span { font-size: 4px; }
    .ds-homepage .ds-bag-handle { width: 38px; height: 34px; top: -22px; border-width: 6px; }
    .ds-homepage .ds-illustration-orbit, .ds-homepage .ds-illustration-check, .ds-homepage .ds-floaters { display: none; }
    .ds-homepage .ds-hero-dots { left: 23px; bottom: 21px; }
    .ds-homepage .ds-hero-pause { bottom: 12px; right: 14px; }
    .ds-homepage .ds-prescription-card { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 18px; }
    .ds-homepage .ds-prescription-card h2 { font-size: 20px; letter-spacing: -.7px; }
    .ds-homepage .ds-prescription-card p { font-size: 10px; }
    .ds-homepage .ds-prescription-card .ds-btn { grid-column: 1 / -1; width: 100%; margin-top: 2px; min-height: 39px; }
    .ds-homepage .ds-services-heading { margin-top: 25px; }
    .ds-homepage .ds-services-heading h2 { max-width: 260px; font-size: 20px; line-height: 1.3; }
    .ds-homepage .ds-services-heading > span { display: none; }
    .ds-homepage .ds-services { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
    .ds-homepage .ds-service { padding: 14px 11px 12px; min-height: 182px; border-radius: 14px; }
    .ds-homepage .ds-service-mini { position: static; width: 32px; height: 32px; border-radius: 10px; font-size: 17px; margin-bottom: 10px; }
    .ds-homepage .ds-service-badge, .ds-homepage .ds-service-icon { display: none; }
    .ds-homepage .ds-service h3 { font-size: 16px; letter-spacing: -.6px; margin: 0 0 6px; }
    .ds-homepage .ds-service p { font-size: 9px; line-height: 1.65; min-height: 30px; }
    .ds-homepage .ds-service-cta { font-size: 8px; gap: 3px; margin-top: 10px; padding-top: 10px; }
    .ds-homepage .ds-service-cta i { font-size: 10px; }
    .ds-homepage .ds-trust { margin-top: 20px; gap: 16px 0; }
    .ds-homepage .ds-trust-item { padding: 0 0 0 12px; gap: 7px; align-items: flex-start; }
    .ds-homepage .ds-trust-item > i { width: 24px; height: 28px; font-size: 20px; }
    .ds-homepage .ds-trust-item strong { font-size: 10px; }
    .ds-homepage .ds-trust-item span { display: block; font-size: 8px; margin-top: 3px; line-height: 1.6; }
    .ds-homepage .ds-section-title { font-size: 22px; letter-spacing: -.7px; }
    .ds-homepage .ds-section-head { margin-bottom: 17px; gap: 10px; }
    .ds-homepage .ds-section-sub { font-size: 10px; }
    .ds-homepage .ds-see-all { font-size: 9px; padding: 0 12px; min-height: 32px; white-space: nowrap; }
    .ds-homepage .ds-card-body { padding: 10px 12px 12px; }
    .ds-homepage .ds-deals { padding: 18px 14px; border-radius: 18px; }
    .ds-homepage .ds-home-laundry-photo { min-height: 200px; }
    .ds-homepage .ds-brands-panel { padding: 22px 16px; border-radius: 18px; }
    .ds-homepage .ds-brands-heading h2 { font-size: 25px; }
    .ds-homepage .ds-brands-heading p { font-size: 11px; }
    .ds-homepage .ds-how-grid { gap: 12px; }
    .ds-homepage .ds-how-grid article { padding: 22px 22px 22px 74px; }
    .ds-homepage .ds-how-grid article > i { left: 20px; top: 22px; width: 36px; height: 36px; }
}
@media (max-width: 359.98px) {
    .ds-homepage .ds-home-intro h1 { font-size: 27px; }
    .ds-homepage .ds-home-hero .ds-hero-track { height: 368px; }
    .ds-homepage .ds-home-hero .ds-slide-copy { width: 94%; }
    .ds-homepage .ds-home-hero .ds-slide-title { font-size: 31px; }
    .ds-homepage .ds-service { padding: 12px 9px; }
    .ds-homepage .ds-service h3 { font-size: 14px; }
    .ds-homepage .ds-service-cta { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
    .ds-homepage *, .ds-homepage *::before, .ds-homepage *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .ds-homepage .ds-slide-copy > * { opacity: 1; transform: none; }
}
