/* Theme roles preserve original light values. */
html[data-theme=dark] {
  --theme-bg-251d2566: #251d2566;
  --theme-bg-342a2c: #342a2c;
  --theme-bg-342a2ce8: #342a2ce8;
  --theme-bg-3c2d33: #3c2d33;
  --theme-bg-514045: #514045;
  --theme-bg-5c434b: #5c434b;
  --theme-bg-d4a6b7: #302630;
  --theme-bg-e7d9dd: #262127;
  --theme-bg-e7e1d9: #262127;
  --theme-bg-e7ebe4: #262127;
  --theme-bg-e8e3dd: #262127;
  --theme-bg-e9e1d7: #262127;
  --theme-bg-ece7df: #262127;
  --theme-bg-eee5e5: #262127;
  --theme-bg-eee6df: #262127;
  --theme-bg-eee6e6: #262127;
  --theme-bg-eee8e1: #262127;
  --theme-bg-efe6e9: #262127;
  --theme-bg-f0e8e7: #262127;
  --theme-bg-f0e8e8: #262127;
  --theme-bg-f1e4ea: #262127;
  --theme-bg-f1e8eb: #262127;
  --theme-bg-f1ece7: #262127;
  --theme-bg-f2e7eb: #262127;
  --theme-bg-f2e8eb: #262127;
  --theme-bg-f2e9e9: #262127;
  --theme-bg-f3e8ed: #262127;
  --theme-bg-f3efea: #262127;
  --theme-bg-f4ebed: #262127;
  --theme-bg-f4eeeb: #262127;
  --theme-bg-f4eeef: #262127;
  --theme-bg-f5edef: #262127;
  --theme-bg-f5eeef: #262127;
  --theme-bg-f5f3f0: #262127;
  --theme-bg-f6eeef: #262127;
  --theme-bg-f6f2f1: #262127;
  --theme-bg-f7f0e8: #262127;
  --theme-bg-f7f0e9: #262127;
  --theme-bg-f7f2f1: #262127;
  --theme-bg-f7f2f2: #262127;
  --theme-bg-f8efe8: #262127;
  --theme-bg-f8f5f2: #262127;
  --theme-bg-f9f0e9: #262127;
  --theme-bg-faf5f5: #262127;
  --theme-bg-fbecef: #262127;
  --theme-bg-fbf8f6: #262127;
  --theme-bg-fcf9f8: #262127;
  --theme-bg-fcfafa: #262127;
  --theme-bg-fff: #262127;
  --theme-bg-fffdf8ed: #262127ed;
  --theme-bg-fffdf9: #262127;
  --theme-bg-fffdf9de: #262127de;
  --theme-bg-fffdf9ed: #262127ed;
  --theme-bg-fffdf9f0: #262127f0;
  --theme-bg-fffdfb: #262127;
  --theme-bg-fffef8e8: #262127e8;
  --theme-bg-fffef9e6: #262127e6;
  --theme-bg-fffefaef: #262127ef;
  --theme-bg-ffffff: #262127;
  --theme-bg-ffffff17: #26212717;
  --theme-bg-ffffffbc: #262127bc;
  --theme-bg-ffffffda: #262127da;
  --theme-bg-ffffffdf: #262127df;
  --theme-bg-ffffffeb: #262127eb;
  --theme-edge-3c2d33: #a58e9b;
  --theme-edge-8d2c40: #a58e9b;
  --theme-edge-9c3b4c: #a58e9b;
  --theme-edge-aaa0a0: #a58e9b;
  --theme-edge-b5a2aa: #a58e9b;
  --theme-edge-b89fa8: #a58e9b;
  --theme-edge-c7b8ba: #a58e9b;
  --theme-edge-c9bec2: #a58e9b;
  --theme-edge-cab0b9: #a58e9b;
  --theme-edge-cbbec3: #a58e9b;
  --theme-edge-ccb9b4: #a58e9b;
  --theme-edge-cfbfc5: #a58e9b;
  --theme-edge-d0c1b9: #a58e9b;
  --theme-edge-d4c8cb: #a58e9b;
  --theme-edge-d5c8ce: #a58e9b;
  --theme-edge-d6c6cd: #a58e9b;
  --theme-edge-d6c9c9: #a58e9b;
  --theme-edge-d8c7ce: #a58e9b;
  --theme-edge-d9c9c5: #a58e9b;
  --theme-edge-d9cbcf: #a58e9b;
  --theme-edge-e1d6d8: #a58e9b;
  --theme-edge-e3d9d4: #a58e9b;
  --theme-edge-e4dcd5: #a58e9b;
  --theme-edge-e6dcde: #a58e9b;
  --theme-edge-e7dfe0: #a58e9b;
  --theme-edge-e8e0df: #a58e9b;
  --theme-edge-e9dbdf: #a58e9b;
  --theme-edge-efe9e7: #a58e9b;
  --theme-edge-f2ecea: #a58e9b;
  --theme-edge-f7f0e8: #a58e9b;
  --theme-edge-fff9: #a58e9b;
  --theme-edge-ffffff50: #a58e9b;
  --theme-edge-ffffffcd: #a58e9b;
  --theme-fg-34252c: #f6edf2;
  --theme-fg-5d6c54: #f6edf2;
  --theme-fg-65505a: #f6edf2;
  --theme-fg-694251: #f6edf2;
  --theme-fg-6b545e: #f6edf2;
  --theme-fg-6c555b: #f6edf2;
  --theme-fg-6e5b5c: #f6edf2;
  --theme-fg-6e6161: #f6edf2;
  --theme-fg-704756: #f6edf2;
  --theme-fg-734858: #f6edf2;
  --theme-fg-73666c: #f6edf2;
  --theme-fg-754758: #f6edf2;
  --theme-fg-754858: #f6edf2;
  --theme-fg-755e4d: #f6edf2;
  --theme-fg-75616a: #f6edf2;
  --theme-fg-75616b: #f6edf2;
  --theme-fg-75636b: #f6edf2;
  --theme-fg-776b65: #f6edf2;
  --theme-fg-776b6b: #f6edf2;
  --theme-fg-784d5e: #f6edf2;
  --theme-fg-785060: #f6edf2;
  --theme-fg-785160: #f6edf2;
  --theme-fg-786d6c: #f6edf2;
  --theme-fg-796b72: #f6edf2;
  --theme-fg-7b4f60: #f6edf2;
  --theme-fg-805664: #f6edf2;
  --theme-fg-887b77: #f6edf2;
  --theme-fg-8a7c77: #f6edf2;
  --theme-fg-8a8180: #f6edf2;
  --theme-fg-8d2c40: #f6edf2;
  --theme-fg-948885: #f6edf2;
  --theme-fg-976d79: #f6edf2;
  --theme-fg-9a7274: #f6edf2;
  --theme-fg-9a8b88: #f6edf2;
  --theme-fg-9b7678: #f6edf2;
  --theme-fg-9b7c7d: #f6edf2;
  --theme-fg-b09b9d: #f6edf2;
  --theme-fg-b18a97: #f6edf2;
  --theme-fg-b19aa1: #f6edf2;
  --theme-fg-cfa6ae: #f6edf2;
  --theme-fg-e0c0cb: #f6edf2;
  --theme-fg-e1cfd6: #f6edf2;
  --theme-fg-e4b9ca: #f6edf2;
  --theme-fg-efe0e5: #f6edf2;
  --theme-fg-f4e8e2: #f6edf2;
  --theme-fg-fff: #f6edf2;
  --theme-fg-fff6f6: #f6edf2;
  --theme-fg-fffaf7: #f6edf2;
  --theme-fg-ffffff: #f6edf2;
  --theme-fg-ffffffed: #f6edf2;
}
html[data-theme=contrast] {
  --theme-bg-251d2566: #000000;
  --theme-bg-342a2c: #000000;
  --theme-bg-342a2ce8: #000000;
  --theme-bg-3c2d33: #000000;
  --theme-bg-514045: #000000;
  --theme-bg-5c434b: #000000;
  --theme-bg-d4a6b7: #000000;
  --theme-bg-e7d9dd: #000000;
  --theme-bg-e7e1d9: #000000;
  --theme-bg-e7ebe4: #000000;
  --theme-bg-e8e3dd: #000000;
  --theme-bg-e9e1d7: #000000;
  --theme-bg-ece7df: #000000;
  --theme-bg-eee5e5: #000000;
  --theme-bg-eee6df: #000000;
  --theme-bg-eee6e6: #000000;
  --theme-bg-eee8e1: #000000;
  --theme-bg-efe6e9: #000000;
  --theme-bg-f0e8e7: #000000;
  --theme-bg-f0e8e8: #000000;
  --theme-bg-f1e4ea: #000000;
  --theme-bg-f1e8eb: #000000;
  --theme-bg-f1ece7: #000000;
  --theme-bg-f2e7eb: #000000;
  --theme-bg-f2e8eb: #000000;
  --theme-bg-f2e9e9: #000000;
  --theme-bg-f3e8ed: #000000;
  --theme-bg-f3efea: #000000;
  --theme-bg-f4ebed: #000000;
  --theme-bg-f4eeeb: #000000;
  --theme-bg-f4eeef: #000000;
  --theme-bg-f5edef: #000000;
  --theme-bg-f5eeef: #000000;
  --theme-bg-f5f3f0: #000000;
  --theme-bg-f6eeef: #000000;
  --theme-bg-f6f2f1: #000000;
  --theme-bg-f7f0e8: #000000;
  --theme-bg-f7f0e9: #000000;
  --theme-bg-f7f2f1: #000000;
  --theme-bg-f7f2f2: #000000;
  --theme-bg-f8efe8: #000000;
  --theme-bg-f8f5f2: #000000;
  --theme-bg-f9f0e9: #000000;
  --theme-bg-faf5f5: #000000;
  --theme-bg-fbecef: #000000;
  --theme-bg-fbf8f6: #000000;
  --theme-bg-fcf9f8: #000000;
  --theme-bg-fcfafa: #000000;
  --theme-bg-fff: #000000;
  --theme-bg-fffdf8ed: #000000;
  --theme-bg-fffdf9: #000000;
  --theme-bg-fffdf9de: #000000;
  --theme-bg-fffdf9ed: #000000;
  --theme-bg-fffdf9f0: #000000;
  --theme-bg-fffdfb: #000000;
  --theme-bg-fffef8e8: #000000;
  --theme-bg-fffef9e6: #000000;
  --theme-bg-fffefaef: #000000;
  --theme-bg-ffffff: #000000;
  --theme-bg-ffffff17: #000000;
  --theme-bg-ffffffbc: #000000;
  --theme-bg-ffffffda: #000000;
  --theme-bg-ffffffdf: #000000;
  --theme-bg-ffffffeb: #000000;
  --theme-edge-3c2d33: #ffffff;
  --theme-edge-8d2c40: #ffffff;
  --theme-edge-9c3b4c: #ffffff;
  --theme-edge-aaa0a0: #ffffff;
  --theme-edge-b5a2aa: #ffffff;
  --theme-edge-b89fa8: #ffffff;
  --theme-edge-c7b8ba: #ffffff;
  --theme-edge-c9bec2: #ffffff;
  --theme-edge-cab0b9: #ffffff;
  --theme-edge-cbbec3: #ffffff;
  --theme-edge-ccb9b4: #ffffff;
  --theme-edge-cfbfc5: #ffffff;
  --theme-edge-d0c1b9: #ffffff;
  --theme-edge-d4c8cb: #ffffff;
  --theme-edge-d5c8ce: #ffffff;
  --theme-edge-d6c6cd: #ffffff;
  --theme-edge-d6c9c9: #ffffff;
  --theme-edge-d8c7ce: #ffffff;
  --theme-edge-d9c9c5: #ffffff;
  --theme-edge-d9cbcf: #ffffff;
  --theme-edge-e1d6d8: #ffffff;
  --theme-edge-e3d9d4: #ffffff;
  --theme-edge-e4dcd5: #ffffff;
  --theme-edge-e6dcde: #ffffff;
  --theme-edge-e7dfe0: #ffffff;
  --theme-edge-e8e0df: #ffffff;
  --theme-edge-e9dbdf: #ffffff;
  --theme-edge-efe9e7: #ffffff;
  --theme-edge-f2ecea: #ffffff;
  --theme-edge-f7f0e8: #ffffff;
  --theme-edge-fff9: #ffffff;
  --theme-edge-ffffff50: #ffffff;
  --theme-edge-ffffffcd: #ffffff;
  --theme-fg-34252c: #ffffff;
  --theme-fg-5d6c54: #ffffff;
  --theme-fg-65505a: #ffffff;
  --theme-fg-694251: #ffffff;
  --theme-fg-6b545e: #ffffff;
  --theme-fg-6c555b: #ffffff;
  --theme-fg-6e5b5c: #ffffff;
  --theme-fg-6e6161: #ffffff;
  --theme-fg-704756: #ffffff;
  --theme-fg-734858: #ffffff;
  --theme-fg-73666c: #ffffff;
  --theme-fg-754758: #ffffff;
  --theme-fg-754858: #ffffff;
  --theme-fg-755e4d: #ffffff;
  --theme-fg-75616a: #ffffff;
  --theme-fg-75616b: #ffffff;
  --theme-fg-75636b: #ffffff;
  --theme-fg-776b65: #ffffff;
  --theme-fg-776b6b: #ffffff;
  --theme-fg-784d5e: #ffffff;
  --theme-fg-785060: #ffffff;
  --theme-fg-785160: #ffffff;
  --theme-fg-786d6c: #ffffff;
  --theme-fg-796b72: #ffffff;
  --theme-fg-7b4f60: #ffffff;
  --theme-fg-805664: #ffffff;
  --theme-fg-887b77: #ffffff;
  --theme-fg-8a7c77: #ffffff;
  --theme-fg-8a8180: #ffffff;
  --theme-fg-8d2c40: #ffffff;
  --theme-fg-948885: #ffffff;
  --theme-fg-976d79: #ffffff;
  --theme-fg-9a7274: #ffffff;
  --theme-fg-9a8b88: #ffffff;
  --theme-fg-9b7678: #ffffff;
  --theme-fg-9b7c7d: #ffffff;
  --theme-fg-b09b9d: #ffffff;
  --theme-fg-b18a97: #ffffff;
  --theme-fg-b19aa1: #ffffff;
  --theme-fg-cfa6ae: #ffffff;
  --theme-fg-e0c0cb: #ffffff;
  --theme-fg-e1cfd6: #ffffff;
  --theme-fg-e4b9ca: #ffffff;
  --theme-fg-efe0e5: #ffffff;
  --theme-fg-f4e8e2: #ffffff;
  --theme-fg-fff: #ffffff;
  --theme-fg-fff6f6: #ffffff;
  --theme-fg-fffaf7: #ffffff;
  --theme-fg-ffffff: #ffffff;
  --theme-fg-ffffffed: #ffffff;
}
:root { --strong-bg: #342a2c; --appearance-surface: #fffdfb; --appearance-hover: #f5edef; --appearance-border: #8f7582; }
html[data-theme=dark] { color-scheme: dark; --ink: #f6edf2; --muted: #d8cbd2; --rose: #edb8cd; --rose-deep: #edb8cd; --paper: #19161b; --cream: #211c22; --blush: #292128; --line: #786570; --strong-bg: #51313f; --appearance-surface: #262127; --appearance-hover: #3b2c36; --appearance-border: #a58e9b; }
html[data-theme=contrast] { color-scheme: dark; --ink: #fff; --muted: #fff; --rose: #ffe366; --rose-deep: #ffe366; --paper: #000; --cream: #000; --blush: #000; --line: #fff; --strong-bg: #000; --font: Arial, sans-serif; --serif: Arial, sans-serif; --appearance-surface: #000; --appearance-hover: #171717; --appearance-border: #fff; }
.appearance-control { position: relative; flex-shrink: 0; }
.appearance-toggle { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 11px; border: 1px solid var(--appearance-border); border-radius: 4px; background: var(--appearance-surface); color: var(--ink); font-size: 13px; }
.appearance-toggle:hover, .appearance-toggle[aria-expanded=true] { background: var(--appearance-hover); }
.appearance-toggle>.icon { width: 19px; height: 19px; }
.appearance-chevron { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .15s; }
.appearance-toggle[aria-expanded=true] .appearance-chevron { transform: rotate(180deg); }
.appearance-panel { position: fixed; z-index: 100; padding: 18px; border: 1px solid var(--appearance-border); border-radius: 8px; background: var(--appearance-surface); color: var(--ink); box-shadow: 0 12px 36px #0003; overflow-y: auto; overscroll-behavior: contain; }
.appearance-panel[hidden] { display: none; }
.appearance-options { margin: 0; padding: 0; border: 0; min-width: 0; }
.appearance-options legend { font-size: 15px; font-weight: 650; padding: 0 0 12px; }
.appearance-option { display: flex; align-items: flex-start; gap: 11px; padding: 12px; margin-top: 7px; border: 1px solid var(--appearance-border); border-radius: 4px; cursor: pointer; }
.appearance-option:hover, .appearance-option:has(input:checked) { background: var(--appearance-hover); }
.appearance-option:has(input:checked) { border: 2px solid var(--rose); padding: 11px; }
.appearance-option input { margin: 4px 0 0; width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--rose); }
.appearance-option strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 600; }
.appearance-option small { display: block; font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 3px; }
.appearance-option:focus-within { outline: 3px solid var(--rose); outline-offset: 3px; }
.nav-actions { gap: 14px; }
html:is([data-theme=dark],[data-theme=contrast]) :is(.brand img,.footer-brand>a>img,.seal-logo,.signature,.profile-signature) { filter: brightness(0) invert(1); }
html:is([data-theme=dark],[data-theme=contrast]) :is(.product-image img,.benefit-visual>img,.profile-portrait>img,.stories-next>img) { mix-blend-mode: normal; }
html:is([data-theme=dark],[data-theme=contrast]) .hero-inner { z-index: 2; }
html:is([data-theme=dark],[data-theme=contrast]) .hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #19161b 0%, #19161bf5 31%, #19161bda 44%, #19161b00 70%); pointer-events: none; }
html:is([data-theme=dark],[data-theme=contrast]) .hero-caption { background: var(--appearance-surface); border-color: var(--appearance-border); }
html:is([data-theme=dark],[data-theme=contrast]) .orbit-seal { background: var(--appearance-surface); border: 1px solid var(--appearance-border); border-radius: 50%; }
html:is([data-theme=dark],[data-theme=contrast]) .profile-instagram { background: var(--appearance-surface); padding: 9px 12px; border-radius: 4px; }
html:is([data-theme=dark],[data-theme=contrast]) .product-hotspot.is-active { color: #19161b; }
html:is([data-theme=dark],[data-theme=contrast]) :is(.button-dark,.guide-options button[aria-pressed=true],.story-filters button[aria-pressed=true],.journal-filters button[aria-pressed=true]) { border: 1px solid var(--rose); }
html[data-theme=contrast] { scroll-behavior: auto; }
html[data-theme=contrast] *, html[data-theme=contrast] *::before, html[data-theme=contrast] *::after { animation: none !important; transition: none !important; text-shadow: none !important; }
html[data-theme=contrast] body { font-size: 18px; line-height: 1.8; }
html[data-theme=contrast] :is(p,li,a,button,label,input,select,textarea,small,strong,b,summary,figcaption,legend,blockquote,dt,dd,span) { font-size: max(1em, 16px) !important; }
html[data-theme=contrast] :is(p,li,blockquote,dd) { line-height: 1.8; }
html[data-theme=contrast] :is(h1,h2,h3,em) { font-family: Arial, sans-serif; font-style: normal; font-weight: 600; letter-spacing: normal; }
html[data-theme=contrast] a { color: #ffe366; text-decoration: underline; text-underline-offset: 4px; }
html[data-theme=contrast] :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #ffe366 !important; outline-offset: 4px; }
html[data-theme=contrast] .text-link { white-space: normal; }
html[data-theme=contrast] .hero::before { background: linear-gradient(90deg,#000 0%,#000 42%,#0000 72%); }
html[data-theme=contrast] :is(.button,.product-badge,.hero-caption,.intake-card,.journal-post,.story-card,.review,.routine-bridge,.appearance-panel) { border: 2px solid #fff; }
html[data-theme=contrast] .appearance-option:has(input:checked) { border-color: #ffe366; }
html[data-theme=contrast] .appearance-option strong, html[data-theme=contrast] .appearance-option small { color: #fff; }
html[data-theme=contrast] :is([aria-pressed=true],[aria-selected=true]) { color: #000 !important; background: #ffe366 !important; border-color: #ffe366 !important; }
html[data-theme=contrast] .goal-options label:has(input:checked), html[data-theme=contrast] .choice-row label:has(input:checked) { outline: 2px solid #ffe366; }
html[data-theme=contrast] .reveal { opacity: 1 !important; translate: none !important; transform: none !important; }
html[data-theme=contrast] :is(.product-title-row,.hero-actions,.stories-hero-actions,.section-heading,.stories-summary) { flex-wrap: wrap; }
html[data-theme=contrast] .hero-description { max-width: 410px; }
html[data-theme=contrast] .hero-copy { max-width: 650px; }
@media (max-width: 1250px) {
  .appearance-toggle-label { display: none; }
  .appearance-toggle { width: 44px; padding-inline: 6px; }
  .appearance-chevron { display: none; }
  .nav-wrap { gap: 16px; }
  .nav-actions { gap: 8px; }
  html[data-theme=contrast] .navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 12px 24px; background: #000; border: 1px solid #fff; max-height: calc(100dvh - 120px); overflow-y: auto; }
  html[data-theme=contrast] .navigation.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  html[data-theme=contrast] .navigation>a { display: flex; align-items: center; min-height: 48px; white-space: normal; }
  html[data-theme=contrast] .menu-toggle { display: block; width: 44px; height: 44px; padding-inline: 8px; }
}
@media (max-width: 650px) {
  .nav-actions { gap: 6px; }
  html:is([data-theme=dark],[data-theme=contrast]) .hero::before { display: none; }
  html[data-theme=contrast] .navigation { max-height: calc(100dvh - 100px); }
  html[data-theme=contrast] .hero h1 { font-size: clamp(37px,10.5vw,57px); }
  html[data-theme=contrast] :is(.pair-product,.product-grid,.intake-steps) { grid-template-columns: minmax(0,1fr); }
  html[data-theme=contrast] .pair-product-photo { min-height: 210px; }
  html[data-theme=contrast] .pair-products { grid-auto-rows: auto; }
  html[data-theme=contrast] :is(.pair-connector,.hero-index) { display: none; }
  html[data-theme=contrast] .product-description, html[data-theme=contrast] .product-title-row h3 { min-height: 0; }
  html[data-theme=contrast] .stories-summary>div+div { border: 0; padding-left: 0; }
  html[data-theme=contrast] .stories-featured { position: relative; inset: auto; margin-top: 12px; }
  html[data-theme=contrast] .stories-visual { height: auto; margin-right: 0; }
  html[data-theme=contrast] .stories-visual>img { height: 270px; }
  html[data-theme=contrast] .footer-top { grid-template-columns: minmax(0,1fr); }
}
@media (forced-colors: active) {
  .appearance-toggle, .appearance-panel, .appearance-option, .button { border: 1px solid ButtonText; }
  .appearance-option:has(input:checked) { outline: 2px solid Highlight; }
}
@media (max-width: 650px) {
  html[data-theme=contrast] .product-card:last-child { display: block; min-width: 0; }
  html[data-theme=contrast] .product-card:last-child[hidden] { display: none; }
  html[data-theme=contrast] .product-card:last-child .product-image { width: 100%; height: auto; aspect-ratio: 1.1; }
  html[data-theme=contrast] .reviews-grid { display: grid; grid-template-columns: minmax(0,1fr); overflow: visible; }
  html[data-theme=contrast] .review figcaption { flex-wrap: wrap; }
}
/* Menu bars are foreground graphics, unlike filled primary buttons. */
.menu-toggle span { background: var(--ink); }
