*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}body{background:var(--bg);color:var(--fg-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img{background:var(--ds-soft-neutral);max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}a{color:var(--ds-gold-text)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--ds-gold-text);font-size:10px;font-weight:600;line-height:1.4;display:block}.on-dark .eyebrow{color:var(--ds-gold)}.h1{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(40px,6.2vw,72px);font-weight:700;line-height:1.06}.h2{font-family:var(--font-serif);font-size:clamp(30px,4.2vw,44px);font-weight:700;line-height:1.15}.h3{font-family:var(--font-serif);font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.2}.h1 em,.h2 em,.h3 em{color:var(--ds-gold-text);font-style:italic;font-weight:400}.on-dark .h1 em,.on-dark .h2 em,.on-dark .h3 em{color:var(--ds-gold)}.lede{color:var(--fg-3);max-width:62ch;font-size:17px;line-height:1.65}.on-dark .lede,.on-dark p{color:var(--ds-cream)}.muted{color:var(--fg-3)}.small{color:var(--fg-3);font-size:13px;line-height:1.6}.on-dark .small{color:var(--ds-warm-gray)}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.wrap--narrow{max-width:820px}.sec{padding:104px 0}.sec--tight{padding:72px 0}.sec--charcoal{background:var(--ds-charcoal);color:var(--ds-cream)}.sec--sage{background:var(--ds-deep-sage);color:var(--ds-cream)}.sec--warm{background:var(--ds-cream-warm)}.on-dark{color:var(--ds-cream)}.mast{text-align:center;max-width:720px;margin:0 auto 64px}.mast .eyebrow{border-bottom:1px solid var(--divider);margin-bottom:24px;padding-bottom:10px;display:inline-block}.on-dark .mast .eyebrow{border-bottom-color:#faf6ec40}.mast .lede{margin:20px auto 0}.mast--left{text-align:left;margin-left:0}.mast--left .lede{margin-left:0}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row--center{justify-content:center}.grid{gap:24px;display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.orn{max-width:360px;margin:0 auto;padding:0 32px}.dsx-btn--ondark{color:var(--ds-cream);border-color:var(--ds-cream);background:0 0}.dsx-btn--ondark:hover{background:var(--ds-cream);color:var(--ds-charcoal);filter:none}.dsx-btn--sm{height:36px;padding:0 18px}.card{background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:box-shadow var(--motion-default) var(--ease-standard);padding:32px 28px}.card:hover{box-shadow:var(--shadow-lifted)}.card h3{font-family:var(--font-serif);margin:10px 0;font-size:21px;font-weight:700;line-height:1.25}.card p{color:var(--fg-2);font-size:14px;line-height:1.65}.card--dark{background:var(--ds-charcoal);color:var(--ds-cream)}.card--dark p{color:var(--ds-warm-gray)}.hero{padding:56px 0 0;position:relative}.hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;display:grid}.hero-media{border-radius:var(--radius-lg);aspect-ratio:4/4.4;max-height:680px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:100%;transform:translateY(var(--par,0px)) scale(1.06)}.hero-panel{z-index:2;background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lifted);flex-direction:column;gap:22px;margin-left:-96px;padding:48px 44px;display:flex;position:relative}.hero--dark .hero-panel{background:var(--ds-charcoal);color:var(--ds-cream)}.hero--dark .hero-panel p{color:var(--ds-cream)}.hero-panel .lede{font-size:16px}.hero-note{border-top:1px solid var(--border);color:var(--fg-3);padding-top:18px;font-size:13px;line-height:1.6}.hero-note strong{color:var(--fg-1);font-weight:600}.stats{letter-spacing:.24em;text-transform:uppercase;color:var(--fg-3);flex-wrap:wrap;gap:8px 14px;font-size:10px;font-weight:600;display:flex}.stats i{color:var(--ds-gold-accent);font-style:normal}.on-dark .stats,.stats.on-dark{color:var(--ds-cream)}.jump{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--ds-white);margin-top:56px}.jump ul{flex-wrap:wrap;justify-content:center;gap:6px 28px;margin:0;padding:16px 0;list-style:none;display:flex}.jump a{letter-spacing:.16em;text-transform:uppercase;color:var(--ds-charcoal);border-bottom:1px solid #0000;padding:6px 0;font-size:11px;font-weight:600;text-decoration:none}.jump a:hover{border-bottom-color:var(--ds-gold-accent)}.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.tile{border-radius:var(--radius-md);background:var(--ds-charcoal);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.tile .ph{aspect-ratio:4/4.6;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-reveal)}.tile:hover img{transform:scale(1.05)}.tile figcaption{color:var(--ds-cream);flex:1;padding:20px 20px 24px}.tile h3{font-family:var(--font-serif);font-size:20px;font-weight:700;line-height:1.2}.tile p{color:var(--ds-cream);margin-top:8px;font-size:13px;line-height:1.6}.split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;display:grid}.split--flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.split--flip .split-media{order:2}.split-media{border-radius:var(--radius-md);aspect-ratio:4/5;max-height:620px;box-shadow:var(--shadow-card);overflow:hidden}.split-media img{object-fit:cover;width:100%;height:100%}.split-panel{z-index:2;background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lifted);flex-direction:column;gap:16px;margin-left:-80px;padding:44px;display:flex;position:relative}.split--flip .split-panel{margin-left:0;margin-right:-80px}.split--dark .split-panel{background:var(--ds-charcoal);color:var(--ds-cream)}.split--sage .split-panel{background:var(--ds-deep-sage);color:var(--ds-cream)}.split--dark .split-panel p,.split--sage .split-panel p{color:var(--ds-cream)}.chapter{border-top:1px solid var(--border);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;padding:64px 0;display:grid}.chapter:first-of-type{border-top:0;padding-top:0}.chapter-head{align-self:start;position:sticky;top:112px}.chapter-head .eyebrow{margin-bottom:12px}.chapter-head .where{color:var(--fg-3);margin-top:8px;font-size:14px}.chapter-head img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);width:100%;margin-top:28px}.steps{margin:0;padding:0;list-style:none}.steps li{padding:0 0 36px 36px;position:relative}.steps li:before{content:"";background:var(--ds-hairline-gold);width:1px;position:absolute;top:16px;bottom:-4px;left:5px}.steps li:last-child{padding-bottom:0}.steps li:last-child:before{display:none}.steps li:after{content:"◆";color:var(--ds-gold-accent);font-size:11px;line-height:1;position:absolute;top:2px;left:0}.steps h4{font-family:var(--font-serif);margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.3}.steps p{color:var(--fg-3);font-size:15px}.steps p+p{margin-top:10px}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{font-family:var(--font-sans);letter-spacing:.06em;color:var(--ds-charcoal);background:var(--ds-white);border:1px solid var(--ds-soft-neutral);border-radius:var(--radius-btn);cursor:pointer;text-align:left;min-height:44px;transition:border-color var(--motion-default) var(--ease-standard), background-color var(--motion-default) var(--ease-standard), color var(--motion-default) var(--ease-standard);padding:12px 18px;font-size:12px}.chip:hover{border-color:var(--ds-gold-accent)}.chip[aria-checked=true],.chip[aria-pressed=true]{background:var(--ds-charcoal);color:var(--ds-cream);border-color:var(--ds-charcoal)}.on-dark .chip{color:var(--ds-cream);background:0 0;border-color:#faf6ec59}.on-dark .chip[aria-checked=true]{background:var(--ds-cream);color:var(--ds-charcoal);border-color:var(--ds-cream)}.formulas{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.fcard{background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:box-shadow var(--motion-default) var(--ease-standard), opacity var(--motion-slow) var(--ease-standard);flex-direction:column;padding:40px 36px;display:flex}.fcard:hover{box-shadow:var(--shadow-lifted)}.fcard[hidden]{display:none}.fcard .dsx-badge{align-self:flex-start;margin-bottom:20px}.fcard-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.fcard h3{font-family:var(--font-serif);font-size:28px;font-weight:700;line-height:1.15}.price{font-family:var(--font-serif);color:var(--fg-1);white-space:nowrap;font-size:26px;font-style:italic}.price small{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);text-align:right;font-size:10px;font-style:normal;font-weight:600;display:block}.fcard .desc{color:var(--fg-2);margin:16px 0 24px;font-size:14px}.fcard dl{border-top:1px solid var(--border);grid-template-columns:72px minmax(0,1fr);gap:12px 16px;margin:0 0 28px;padding-top:20px;font-size:14px;display:grid}.fcard dt{padding-top:3px}.fcard dd{color:var(--fg-1)}.fcard .dsx-btn{width:100%;margin-top:auto}.rinse-badge{align-items:baseline;gap:8px;font-size:13px;display:inline-flex}.rinse-badge b{font-family:var(--font-serif);font-size:22px;font-weight:700}.finder{background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:36px;padding:36px;display:grid}.finder fieldset{border:0;margin:0 0 22px;padding:0}.finder legend{font-family:var(--font-serif);margin-bottom:12px;padding:0;font-size:19px;font-weight:700}.finder-result{background:var(--ds-cream);border-radius:var(--radius-md);min-height:220px;padding:28px}.finder-result h3{font-family:var(--font-serif);margin:8px 0 10px;font-size:26px;font-weight:700}.finder-result p{color:var(--fg-2);margin-bottom:18px;font-size:14px}.facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.facts .card .eyebrow{margin-bottom:4px}.quotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.quote{background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;padding:40px 32px;display:flex}.quote .g{color:var(--ds-gold-accent);margin-bottom:20px;font-size:11px}.quote p{font-family:var(--font-serif);color:var(--fg-1);font-size:19px;font-style:italic;line-height:1.55}.quote cite{letter-spacing:.2em;text-transform:uppercase;color:var(--ds-gold-text);margin-top:auto;padding-top:24px;font-size:10px;font-style:normal;font-weight:600}.faq{border-top:1px solid var(--border);max-width:780px;margin:0 auto}.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;font-family:var(--font-serif);padding:24px 48px 24px 0;font-size:20px;font-weight:500;line-height:1.35;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-sans);color:var(--ds-gold-accent);transition:transform var(--motion-default) var(--ease-standard);font-size:26px;font-weight:300;position:absolute;top:20px;right:6px}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--fg-3);max-width:680px;padding:0 0 28px;font-size:15px}.pairs{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}.pairs>div{border-top:1px solid var(--ds-hairline-gold);padding-top:28px}.pairs h3{font-family:var(--font-serif);font-size:22px;font-weight:700}.pairs .eyebrow{margin:10px 0 14px}.pairs p{color:var(--fg-3);font-size:14px}.plist{background:var(--ds-white);border-radius:var(--radius-md);max-width:880px;box-shadow:var(--shadow-card);margin:0 auto;padding:8px 40px;list-style:none}.plist li{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:baseline;gap:32px;padding:26px 0;display:grid}.plist li+li{border-top:1px solid var(--border)}.plist h3{font-family:var(--font-serif);font-size:20px;font-weight:700;line-height:1.3}.plist .eyebrow{margin-top:6px}.plist p{color:var(--fg-2);font-size:14px}.link{letter-spacing:.14em;text-transform:uppercase;color:var(--ds-charcoal);white-space:nowrap;transition:border-color var(--motion-default) var(--ease-standard);border-bottom:1px solid #0000;padding-bottom:3px;font-size:11px;font-weight:600;text-decoration:none}.link:hover{border-bottom-color:var(--ds-gold-accent)}.plans{background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:20px;padding:8px 24px}.plans div{color:var(--fg-2);justify-content:space-between;gap:16px;padding:12px 0;font-size:14px;display:flex}.plans div+div{border-top:1px solid var(--border)}.plans b{font-family:var(--font-serif);color:var(--fg-1);font-size:18px}.is-pending{visibility:hidden}@media (width<=1100px){.hero-grid,.split,.split--flip{grid-template-columns:minmax(0,1fr)}.hero-panel,.split-panel,.split--flip .split-panel{margin:-72px 24px 0}.split--flip .split-media{order:0}.hero-media{aspect-ratio:4/3;max-height:520px}.facts,.tile-grid,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.quotes,.pairs,.grid--3{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.formulas,.finder,.grid--2{grid-template-columns:minmax(0,1fr)}.chapter{grid-template-columns:minmax(0,1fr);gap:32px}.chapter-head{position:static}.plist{padding:8px 24px}.plist li{grid-template-columns:minmax(0,1fr);gap:8px}.sec{padding:72px 0}.mast{margin-bottom:44px}}@media (width<=560px){.wrap{padding:0 20px}.facts,.tile-grid{grid-template-columns:minmax(0,1fr)}.hero-panel,.split-panel,.split--flip .split-panel{margin:-48px 12px 0;padding:32px 24px}.fcard{padding:32px 24px}}.gp{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:56px;display:grid}.gp-form{flex-direction:column;gap:26px;display:flex}.gp-form fieldset{border:0;margin:0;padding:0}.gp-form legend,.gp-form label.lab{letter-spacing:.2em;text-transform:uppercase;color:var(--ds-gold);margin-bottom:12px;padding:0;font-size:10px;font-weight:600;display:block}.gp-form input[type=date]{border-radius:var(--radius-sm);width:100%;height:52px;color:var(--ds-cream);font:400 16px var(--font-sans);color-scheme:dark;background:0 0;border:1px solid #faf6ec59;padding:0 16px}.gp-form input[type=date]:focus{border-color:var(--ds-gold-accent)}.gp-out{background:var(--ds-cream);color:var(--ds-charcoal);border-radius:var(--radius-md);box-shadow:var(--shadow-lifted);min-height:280px;padding:36px}.gp-out:focus{outline:2px solid var(--ds-cream);outline-offset:4px}.gp-empty{font-family:var(--font-serif);color:var(--fg-3);text-align:center;padding:70px 0;font-size:20px;font-style:italic}.gp-warn{background:var(--ds-rose-soft);border-radius:var(--radius-sm);color:var(--ds-charcoal);margin-bottom:20px;padding:14px 16px;font-size:14px}.gp-steps{margin:0;padding:0;list-style:none}.gp-step{border-bottom:1px solid var(--ds-soft-neutral);grid-template-columns:104px minmax(0,1fr);gap:20px;padding:16px 0;display:grid}.gp-when{letter-spacing:.14em;text-transform:uppercase;color:var(--ds-gold-text);padding-top:4px;font-size:10px;font-weight:600;line-height:1.5}.gp-step h4{font-family:var(--font-serif);margin-bottom:4px;font-size:17px;font-weight:700}.gp-step p{color:var(--fg-3);font-size:13px;line-height:1.6}.gp-tan h4:after,.gp-day h4:after{content:" ✦";color:var(--ds-gold-accent);font-weight:400}.gp-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.gp-actions .dsx-btn--ondark{color:var(--ds-charcoal);border-color:var(--ds-charcoal)}.gp-actions .dsx-btn--ondark:hover{background:var(--ds-charcoal);color:var(--ds-cream)}.gp-foot{margin-top:14px}@media (width<=900px){.gp{grid-template-columns:minmax(0,1fr);gap:32px}.gp-step{grid-template-columns:84px minmax(0,1fr);gap:14px}.gp-out{padding:24px}}@media print{body.print-plan .sec:not(#planner),body.print-plan .hero,body.print-plan .jump{display:none!important}body.print-plan #planner{color:#000;background:#fff!important;padding:0!important}body.print-plan .gp-form{display:none}body.print-plan .gp{display:block}body.print-plan .gp-out{box-shadow:none;padding:0}}.car{position:relative}.car-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--ds-gold-accent) transparent;gap:20px;margin:0 -32px;padding:8px 32px 28px;display:flex;overflow-x:auto}.car-track:focus-visible{outline:2px solid var(--ds-charcoal);outline-offset:2px}.car-card{scroll-snap-align:start;background:var(--ds-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;flex:0 0 min(380px,82vw);display:flex;overflow:hidden}.car-card .ph{aspect-ratio:16/10;overflow:hidden}.car-card img{object-fit:cover;width:100%;height:100%}.car-card .body{flex-direction:column;flex:1;gap:10px;padding:24px 24px 28px;display:flex}.car-card h3{font-family:var(--font-serif);font-size:22px;font-weight:700;line-height:1.2}.car-card p{color:var(--fg-2);font-size:14px;line-height:1.65}.car-card .when{border-top:1px solid var(--border);letter-spacing:.16em;text-transform:uppercase;color:var(--ds-gold-text);margin-top:auto;padding-top:12px;font-size:10px;font-weight:600}.car-ctl{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.car-btns{gap:10px;display:flex}.car-btn{border-radius:var(--radius-btn);border:1px solid var(--ds-charcoal);cursor:pointer;width:44px;height:44px;transition:background-color var(--motion-default) var(--ease-standard);background:0 0;justify-content:center;align-items:center;display:inline-flex}.car-btn:hover{background:var(--ds-charcoal)}.car-btn:hover img{filter:invert()}.car-btn img{background:0 0;width:20px;height:20px}.car-btn:disabled{opacity:.35;cursor:default}.car-dots{flex-wrap:wrap;gap:6px;display:flex}.car-dot{font:600 10px var(--font-sans);letter-spacing:.1em;border:1px solid var(--ds-soft-neutral);border-radius:var(--radius-btn);background:var(--ds-white);cursor:pointer;min-height:36px;color:var(--fg-3);transition:all var(--motion-default) var(--ease-standard);padding:8px 10px}.car-dot[aria-current=true]{background:var(--ds-charcoal);color:var(--ds-cream);border-color:var(--ds-charcoal)}.pills{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pill{letter-spacing:.06em;border:1px solid var(--ds-hairline-gold);border-radius:var(--radius-btn);background:var(--ds-white);padding:12px 18px;font-size:12px}.ribbon{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:relative}.ribbon:before{content:"";background:var(--ds-gold-accent);height:1px;position:absolute;top:18px;left:0;right:0}.ribbon .stage{padding:0 20px 0 0;position:relative}.ribbon .stage .dot{background:var(--ds-deep-sage);border:1px solid var(--ds-gold);border-radius:50%;width:13px;height:13px;margin-bottom:26px;position:relative;top:12px}.ribbon .stage:last-child .dot{background:var(--ds-gold)}.ribbon h3{font-family:var(--font-serif);margin:8px 0 10px;font-size:24px;font-weight:700}.ribbon p{color:var(--ds-cream);font-size:14px}.ribbon .when{letter-spacing:.16em;text-transform:uppercase;color:var(--ds-gold);margin-top:14px;font-size:10px;font-weight:600;display:block}.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.compare .card--dark h3{color:var(--ds-cream)}@media (width<=900px){.ribbon{grid-template-columns:minmax(0,1fr);gap:32px}.ribbon:before{display:none}.compare{grid-template-columns:minmax(0,1fr)}.car-track{margin:0 -20px;padding:8px 20px 28px}}.pkg-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:56px;display:grid}.pkg-card{background:var(--ds-cream);color:var(--ds-charcoal);border-radius:var(--radius-md);box-shadow:var(--shadow-lifted);flex-direction:column;gap:24px;padding:44px;display:flex}.pkg-top{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:20px;display:flex}.pkg-price{font-family:var(--font-serif);font-size:clamp(34px,8vw,44px);font-weight:700;line-height:1}.pkg-list{flex-direction:column;gap:14px;margin:0;padding:0;font-size:14px;line-height:1.6;list-style:none;display:flex}@media (width<=900px){.pkg-grid{grid-template-columns:minmax(0,1fr);gap:32px}.pkg-card{padding:28px 24px}}.car-track.is-auto{scroll-snap-type:none;scroll-behavior:auto}.car-play .car-play-ic{box-sizing:border-box;border-left:4px solid;border-right:4px solid;width:12px;height:14px;display:block}.car-play[aria-pressed=true] .car-play-ic{border:7px solid #0000;border-left:12px solid;border-right:0;width:0;height:0}.car-play:hover{color:var(--ds-cream)}.ribbon .stage>.eyebrow{font-family:var(--font-serif);letter-spacing:0;text-transform:none;color:var(--ds-gold);margin-bottom:6px;font-size:48px;font-weight:700;line-height:1;display:block}
