@font-face {
  font-family: "Fredoka";
  src: url("/assets/fredoka-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Fredoka";
  src: url("/assets/fredoka-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
}

:root {
  --cream: #fff8f2;
  --paper: #fffdfa;
  --ink: #27205f;
  --purple: #4931a8;
  --violet: #7151dc;
  --orange: #ff5a2a;
  --coral: #ff7951;
  --peach: #ffd9c6;
  --lilac: #eee7ff;
  --mint: #dff4e7;
  --line: rgba(68, 43, 132, .11);
  --shadow: 0 22px 60px rgba(85, 48, 114, .12);
  --display: "Fredoka", system-ui, sans-serif;
  --body: "Fredoka", system-ui, sans-serif;
}

/* Compact monthly comparison with independent, inspectable price sources. */
.rise-value-section { scroll-margin-top: 85px; }
.rise-value-section .section-heading { max-width: 760px; margin-bottom: 34px; }
.rise-value-section h2 { font-size: clamp(2.2rem,3.6vw,3.8rem); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rise-comparison { max-width: 1120px; margin: 0 auto; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); overflow: hidden; }
.rise-compare-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 22px; padding: 16px 24px; border-bottom: 1px solid var(--line); font-size: .76rem; }
.rise-compare-toolbar > span { color: var(--purple); font-weight: 700; }
.rise-compare-toolbar label { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.rise-compare-toolbar select { min-height: 38px; max-width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 7px 11px; color: var(--ink); background: var(--paper); font: inherit; cursor: pointer; }
.rise-compare-toolbar select:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.rise-compare-table-wrap { overflow-x: auto; }
.rise-compare-table { width: 100%; border-collapse: collapse; text-align: left; font-size: .9rem; }
.rise-compare-table th,.rise-compare-table td { padding: 19px 24px; border-bottom: 1px solid var(--line); }
.rise-compare-table thead th { font-size: .69rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; padding-block: 17px; }
.rise-compare-table th:first-child { width: 23%; }
.rise-mobile-app { display: none; }
.rise-compare-table td:nth-child(3) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.rise-compare-table th:last-child,.rise-compare-table td:last-child { color: var(--purple); background: color-mix(in srgb,var(--violet) 7%,var(--paper)); }
.rise-compare-table td:last-child span { color: var(--orange); margin-right: 5px; }
.rise-compare-choice { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.rise-compare-choice input { flex: 0 0 16px; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--orange); cursor: pointer; }
.rise-compare-choice input:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.rise-compare-table tr:has(input:not(:checked)) { opacity: .7; }
.rise-app-note { display: block; font-size: .68rem; font-weight: 400; white-space: normal; opacity: .8; margin-top: 3px; }
.rise-compare-difference { margin: 0; padding: 0 24px 16px; text-align: center; font-size: .86rem; font-weight: 700; color: var(--purple); }
.rise-feature-inventory { max-width: 1120px; margin: 24px auto 0; padding: 20px 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.rise-feature-inventory summary { display: flex; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; font-weight: 700; min-height: 28px; align-items: center; }
.rise-feature-inventory summary::-webkit-details-marker { display: none; }
.rise-feature-inventory summary > span { color: var(--orange); font-size: 1.3rem; }
.rise-feature-inventory[open] summary > span { transform: rotate(45deg); }
.rise-feature-inventory summary:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.rise-feature-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 26px; }
.rise-feature-groups article { padding-top: 18px; border-top: 1px solid var(--line); }
.rise-feature-groups h3 { font-size: 1.25rem; line-height: 1.15; margin-bottom: 12px; }
.rise-feature-groups p { font-size: .82rem; line-height: 1.65; margin-bottom: 0; }
.rise-compare-bottom { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 24px; padding: 27px 24px 24px; }
.rise-compare-bottom > div > span { font-size: .79rem; font-weight: 600; }
.rise-compare-bottom p { margin: 5px 0 0; line-height: 1.15; }
.rise-compare-bottom p strong { font: 600 clamp(1.5rem,2.1vw,2rem)/1.2 var(--display); letter-spacing: -.025em; }
.rise-compare-bottom small { font-size: .75rem; display: inline-block; margin: 5px 0 0 4px; }
.rise-compare-price { border-left: 2px solid var(--orange); padding-left: 25px; }
.rise-compare-price p strong { color: var(--orange); }
.rise-compare-price > small { margin-left: 0; opacity: .75; }
.rise-compare-bottom .button { min-height: 48px; font-size: .9rem; }
.rise-compare-extra { text-align: center; font-size: .84rem; margin: 0; padding: 0 24px 16px; }
.rise-compare-footnote { font-size: .73rem; margin: 0; padding: 16px 24px; border-top: 1px solid var(--line); opacity: .8; }
.rise-comparison-sources { font-size: .8rem; }
.rise-comparison-sources > p:first-of-type { margin-top: 20px; }
.rise-comparison-sources p,.rise-comparison-sources li { line-height: 1.65; }
.rise-comparison-sources a { color: var(--purple); text-underline-offset: 3px; }
.rise-value-note { margin: 18px 0 0; font-size: .75rem; line-height: 1.6; opacity: .76; }
.rise-billing-options { max-width: 1120px; margin: 18px auto 0; border-bottom: 1px solid var(--line); padding: 14px 0; }
.rise-billing-options summary { cursor: pointer; font-size: 1rem; line-height: 1.5; font-weight: 600; display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; min-height: 28px; }
.rise-billing-options summary::-webkit-details-marker { display: none; }
.rise-billing-options summary:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.rise-billing-options summary > span { font-size: 1.35rem; color: var(--orange); }
.rise-billing-options[open] summary > span { transform: rotate(45deg); }
.rise-billing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding-top: 24px; }
.rise-billing-grid article { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.rise-billing-grid h3 { font-size: 1.3rem; margin-bottom: 14px; }
.rise-billing-grid p { margin-bottom: 9px; }
.rise-billing-grid strong { font-size: 1.3rem; }
.rise-billing-grid small { display: block; opacity: .76; }
.rise-billing-grid article { min-width: 0; overflow-wrap: anywhere; }
.rise-billing-grid h3 small { margin-top: 4px; font: 500 .78rem var(--body); }
.rise-billing-grid article.rise-elite-card { background: #FFF0C7; border-color: #4F46E5; color: #4F46E5; }
.rise-best-value { display: inline-block; margin-bottom: 12px; border-radius: 999px; padding: 5px 11px; background: #4F46E5; color: #FFFFFF; font-size: .65rem; font-weight: 700; letter-spacing: .06em; }
.rise-free-button { display: block; width: 100%; min-height: 44px; margin: 18px 0 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); font: 600 .8rem/1.4 var(--body); white-space: normal; cursor: not-allowed; }
.rise-elite-card small { opacity: 1; }
.rise-elite-card .rise-free-button { background: #4F46E5; border-color: #4F46E5; color: #FFFFFF; }
@media (max-width: 800px) {
  .rise-feature-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rise-billing-grid { grid-template-columns: minmax(0,1fr); }
  .rise-compare-table th,.rise-compare-table td { padding: 16px 14px; }
  .rise-compare-bottom { grid-template-columns: 1fr 1fr; gap: 20px 14px; padding-inline: 18px; }
  .rise-compare-bottom > .button { grid-column: 1/-1; justify-self: center; min-width: 220px; }
  .rise-compare-price { padding-left: 16px; }
}
@media (max-width: 540px) {
  .rise-compare-toolbar { padding-inline: 16px; }
  .rise-feature-inventory { padding-inline: 17px; }
  .rise-feature-groups { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .rise-compare-choice { gap: 6px; }
  .rise-compare-choice input { flex-basis: 14px; width: 14px; height: 14px; }
  .rise-compare-difference { padding-inline: 16px; }
  .rise-mobile-app { display: block; font-size: .66rem; font-weight: 400; opacity: .75; margin-top: 4px; }
  .rise-compare-table th:nth-child(2),.rise-compare-table td:nth-child(2) { display: none; }
  .rise-compare-table { font-size: .77rem; }
  .rise-compare-table th,.rise-compare-table td { padding: 14px 10px; }
  .rise-compare-table thead th { font-size: .6rem; letter-spacing: .03em; }
  .rise-compare-table th:first-child { width: 32%; }
  .rise-compare-bottom > div > span { font-size: .7rem; }
  .rise-compare-bottom p strong { font-size: 1.45rem; }
  .rise-compare-bottom .rise-bundle-total p strong { font-size: 1.05rem; }
  .rise-compare-extra,.rise-compare-footnote { padding-inline: 16px; }
}

* { box-sizing: border-box; }
html { width: 100%; max-width: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; overflow-x: clip; scrollbar-color: var(--purple) var(--cream); scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cream); }
::-webkit-scrollbar-thumb { background: var(--purple); border: 2px solid var(--cream); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--orange); }
body { width: 100%; max-width: 100%; margin: 0; color: var(--ink); background: var(--cream); font-family: var(--body); line-height: 1.55; overflow-x: clip; transition: color .35s ease, background .35s ease; }
button,input,select,textarea { font-family: inherit; }
main, section, header, footer, .hero-copy, .progress-copy, .groovin-copy, .shop-heading, .mission-copy, .mission-body { min-width: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; padding: 10px 16px; background: var(--ink); color: #fff; border-radius: 20px; text-decoration: none; }
.skip-link:focus { top: 12px; }
.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 82px; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 24px; padding: 0 clamp(24px, 7vw, 112px); transition: background .35s ease, box-shadow .35s ease, height .35s ease; }
.site-header.scrolled { height: 70px; background: rgba(255, 250, 246, .9); box-shadow: 0 8px 30px rgba(59, 33, 97, .08); backdrop-filter: blur(18px); }
.brand img { width: 148px; height: auto; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 3vw, 48px); font-size: .92rem; font-weight: 600; }
.main-nav a { position: relative; text-decoration: none; padding: 10px 0; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 3px; height: 2px; background: var(--orange); transition: right .25s ease; }
.main-nav a:hover::after, .main-nav a:focus-visible::after, .main-nav a.active::after { right: 0; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.header-icon-button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; color: var(--ink); background: transparent; font: 700 1.05rem/1 var(--body); text-decoration: none; cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.header-icon-button:hover, .header-icon-button:focus-visible { color: var(--orange); background: rgba(255,255,255,.65); transform: translateY(-2px); }
.header-icon-button[aria-pressed="true"] { color: var(--orange); background: rgba(255,255,255,.76); }
.header-shop svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.header-cta { margin-left: 5px; }
.menu-toggle { display: none; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 25px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--coral), var(--orange)); box-shadow: 0 12px 30px rgba(255, 91, 42, .25); text-decoration: none; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(255, 91, 42, .3); }
.button-small { min-height: 44px; padding: 0 20px; font-size: .9rem; }
.button-ghost { color: var(--orange); background: rgba(255,255,255,.64); border: 1.5px solid rgba(255,90,42,.68); box-shadow: none; }
.button-ghost:hover, .button-ghost:focus-visible { background: #fff; box-shadow: 0 12px 26px rgba(255, 91, 42, .12); }
.eyebrow { margin: 0 0 13px; color: var(--orange); font-size: .72rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; font-family: var(--display); line-height: 1.02; }
h1 { margin-bottom: 20px; font-size: clamp(3.5rem, 6.8vw, 7.6rem); letter-spacing: -.05em; }
h2 { margin-bottom: 16px; font-size: clamp(2.25rem, 4vw, 4.7rem); letter-spacing: -.045em; }
h1 span, h2 span { color: var(--orange); }
p { margin-top: 0; }

.hero { --hero-scale: 1.02; --hero-shift-x: 0px; --hero-shift-y: 0px; position: relative; min-height: max(760px, 100svh); display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); align-items: center; padding: 126px clamp(24px, 8vw, 128px) 90px; isolation: isolate; overflow: hidden; }
.hero::after { content: ""; position: absolute; z-index: -1; left: -2%; right: -2%; bottom: -50px; height: 112px; background: var(--cream); border-radius: 50% 50% 0 0 / 70% 70% 0 0; }
.hero-scenery { position: absolute; z-index: -3; inset: -2%; background: linear-gradient(90deg, #fffaf6 0%, rgba(255,250,246,.98) 26%, rgba(255,250,246,.56) 52%, rgba(255,250,246,.05) 77%), url('/assets/rise-sunrise.webp') center right / cover no-repeat; transform: translate3d(var(--hero-shift-x), var(--hero-shift-y), 0) scale(var(--hero-scale)); transform-origin: 68% 52%; transition: transform .28s cubic-bezier(.2,.75,.25,1); will-change: transform; }
.hero-scenery::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.18), transparent 60%, rgba(255,248,242,.12)); }
.hero-copy { position: relative; z-index: 2; width: min(720px, 100%); }
.hero-intro { max-width: 530px; color: #4d4d68; font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 32px 0 38px; }
.hero-notes { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); max-width: 670px; }
.hero-notes div { padding: 0 24px; border-left: 1px solid rgba(54, 37, 108, .22); }
.hero-notes div:first-child { padding-left: 0; border-left: 0; }
.hero-notes strong, .hero-notes span { display: block; }
.hero-notes strong { font-family: var(--display); font-size: 1.08rem; }
.hero-notes span { color: #646076; font-size: .78rem; }
.hero-character { align-self: end; justify-self: end; position: relative; width: min(520px, 40vw); transform: translate(2vw, 20px); cursor: pointer; }
.hero-character img { width: 100%; height: auto; filter: drop-shadow(0 30px 26px rgba(45, 25, 73, .2)); transform-origin: 64% 58%; }
.hero-character .peachy-wave { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.hero-character.is-waving .peachy-rest { visibility: hidden; }
.hero-character:focus-visible { outline: 3px solid var(--purple); outline-offset: 8px; border-radius: 30px; }
.scroll-cue { position: absolute; z-index: 2; right: 50%; bottom: 42px; display: grid; justify-items: center; gap: 6px; color: var(--purple); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.scroll-cue span { width: 2px; height: 34px; background: linear-gradient(var(--orange), transparent); animation: pulse-down 1.8s ease-in-out infinite; }
@keyframes pulse-down { 50% { transform: translateY(7px); opacity: .4; } }

.marquee { overflow: hidden; background: var(--orange); color: #fff; white-space: nowrap; }
.marquee-track { display: flex; width: max-content; animation: marquee 23s linear infinite; }
.marquee:hover .marquee-track, .marquee:focus-within .marquee-track { animation-play-state: paused; }
.marquee span { padding: 15px 0; font-family: var(--display); font-size: .9rem; font-weight: 600; letter-spacing: .16em; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section { width: min(1320px, calc(100% - 48px)); margin-inline: auto; padding: clamp(88px, 9vw, 140px) 0; }
.section-heading { max-width: 840px; margin: 0 auto 54px; text-align: center; }
.section-heading > p:last-child { color: #6a657b; font-size: 1.05rem; }
.feature-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 15px; }
.feature-card { position: relative; min-height: 360px; padding: 25px 20px 20px; border: 1px solid rgba(255,255,255,.72); border-radius: 28px; background: rgba(255,255,255,.7); box-shadow: 0 16px 48px rgba(68,43,132,.08); overflow: hidden; transition: transform .35s ease, box-shadow .35s ease; }
.feature-card:hover { transform: translateY(-10px); box-shadow: 0 24px 55px rgba(68,43,132,.14); }
.feature-card h3 { margin-bottom: 9px; font-size: 1.25rem; }
.feature-card p { color: #625e73; font-size: .9rem; line-height: 1.45; }
.feature-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 20px; border-radius: 50%; color: var(--orange); background: rgba(255,255,255,.82); font-family: var(--display); font-size: 1.25rem; box-shadow: 0 8px 20px rgba(68,43,132,.08); }
.card-coral { background: linear-gradient(160deg, #fff 35%, #ffe6df); }
.card-mint { background: linear-gradient(160deg, #fff 35%, var(--mint)); }
.card-lilac { background: linear-gradient(160deg, #fff 35%, var(--lilac)); }
.card-peach { background: linear-gradient(160deg, #fff 35%, #fff0e8); }
.card-violet { background: linear-gradient(160deg, #fff 35%, #e9e4ff); }
.feature-food img { position: absolute; left: 12px; right: 12px; bottom: 12px; width: calc(100% - 24px); height: 150px; border-radius: 21px; object-fit: cover; box-shadow: 0 10px 25px rgba(39,32,95,.15); }
.mini-cycle { position: absolute; inset: auto 18px 24px; height: 80px; display: flex; align-items: center; justify-content: space-around; padding: 10px; border-radius: 18px; background: rgba(255,255,255,.8); }
.mini-cycle span { width: 14px; height: 14px; border-radius: 50%; background: #f2d8d0; }
.mini-cycle .on { width: 28px; height: 28px; background: var(--coral); box-shadow: 0 0 0 7px rgba(255,121,81,.15); }
.signal-bars { position: absolute; inset: auto 20px 25px; display: grid; gap: 11px; padding: 18px; border-radius: 18px; background: rgba(255,255,255,.78); }
.signal-bars i { height: 9px; width: var(--w); border-radius: 20px; background: linear-gradient(90deg, var(--violet), #c3b0ff); }
.sleep-chart { position: absolute; inset: auto 20px 25px; height: 100px; display: flex; align-items: end; gap: 12px; padding: 18px; border-radius: 18px; background: rgba(255,255,255,.78); }
.sleep-chart i { flex: 1; height: 35%; border-radius: 10px 10px 3px 3px; background: #9d82ed; }
.sleep-chart i:nth-child(2) { height: 60%; }.sleep-chart i:nth-child(3) { height: 45%; }.sleep-chart i:nth-child(4) { height: 78%; }.sleep-chart i:nth-child(5) { height: 68%; }
.chat-bubble { position: absolute; inset: auto 18px 24px; padding: 18px; border-radius: 20px 20px 7px 20px; color: var(--purple); background: rgba(255,255,255,.84); font-size: .84rem; font-weight: 600; }
.community-dots { position: absolute; inset: auto 18px 30px; display: flex; }
.community-dots b { display: grid; place-items: center; width: 44px; height: 44px; margin-left: -8px; border: 3px solid #fff; border-radius: 50%; color: #fff; background: var(--violet); font-size: .8rem; }
.community-dots b:first-child { margin-left: 0; background: var(--orange); }.community-dots b:nth-child(2) { background: #e99a3b; }.community-dots b:nth-child(3) { background: #4f9f7d; }.community-dots b:last-child { color: var(--purple); background: #fff; }

.progress-section { display: grid; grid-template-columns: .85fr 1.25fr .85fr; align-items: center; gap: clamp(24px, 5vw, 72px); }
.progress-copy > p:not(.eyebrow) { max-width: 420px; color: #666177; font-size: 1.02rem; }
.progress-copy .button { margin-top: 12px; }
.phone-stage { position: relative; min-height: 640px; display: grid; place-items: center; }
.sun-orbit { position: absolute; border-radius: 50%; }
.orbit-one { width: 510px; height: 510px; background: linear-gradient(145deg, #ffe0d2, #f7e7ff); }
.orbit-two { width: 360px; height: 360px; border: 2px dashed rgba(255,90,42,.32); animation: spin 36s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.phone { position: relative; z-index: 2; width: 310px; height: 620px; padding: 12px; border: 9px solid #191821; border-radius: 54px; background: #111; box-shadow: 0 38px 65px rgba(43,28,83,.28); transform: rotate(5deg); }
.phone-speaker { position: absolute; z-index: 5; top: 15px; left: 50%; width: 92px; height: 23px; border-radius: 20px; background: #17151e; transform: translateX(-50%); }
.phone-screen { height: 100%; padding: 40px 18px 16px; border-radius: 36px; background: linear-gradient(180deg,#fff 0%,#fff9f4 100%); overflow: hidden; }
.phone-logo { width: 88px; margin: 0 auto 28px; }
.phone-hello { margin-bottom: 2px; color: #7b7488; font-size: .73rem; }
.phone-screen h3 { margin-bottom: 18px; font-size: 1.15rem; }
.week { display: flex; justify-content: space-between; margin-bottom: 18px; font-size: .63rem; text-align: center; }
.week span { width: 33px; padding: 6px 0; border-radius: 14px; color: #777084; }.week small { display: block; color: var(--ink); font-weight: 800; }.week .today { color: #fff; background: var(--orange); }.week .today small { color: #fff; }
.phone-row { display: flex; align-items: center; gap: 10px; padding: 13px 12px; margin-bottom: 10px; border-radius: 17px; }
.phone-row b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.65); }
.phone-row strong, .phone-row small { display: block; }.phone-row strong { font-size: .78rem; }.phone-row small { color: #696477; font-size: .62rem; }
.phone-row.coral { background: #ffebe4; color: #e8522a; }.phone-row.mint { background: #e5f5e9; color: #329262; }.phone-row.violet { background: #eee9ff; color: #6142c5; }.phone-row.gold { background: #fff3d4; color: #dc8a24; }
.benefit-list { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.benefit-list li { display: flex; gap: 16px; align-items: center; }
.benefit-list i { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border-radius: 50%; color: var(--orange); background: #fff0e8; font-family: var(--display); font-style: normal; font-size: 1.2rem; }
.benefit-list strong, .benefit-list span { display: block; }.benefit-list strong { font-family: var(--display); font-size: 1.03rem; }.benefit-list span { color: #777183; font-size: .84rem; }

.groovin-section { width: min(1400px, calc(100% - 48px)); display: grid; grid-template-columns: 1.25fr .85fr .72fr; align-items: center; gap: clamp(28px, 4vw, 64px); padding-inline: clamp(18px, 3vw, 48px); border-radius: 50px; background: linear-gradient(120deg, #fff0e9, #fffaf5 62%, #f3ecff); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); }
.groovin-art { position: relative; }
.groovin-art img { width: 100%; aspect-ratio: 1.28; border-radius: 42px 42px 100px 42px; object-fit: cover; }
.groovin-copy p:not(.eyebrow) { color: #666177; }
.groovin-list { display: grid; gap: 8px; margin: 0; padding: 22px; border-radius: 26px; background: rgba(255,255,255,.72); list-style: none; box-shadow: 0 16px 40px rgba(59,32,105,.08); }
.groovin-list li { display: flex; gap: 13px; align-items: center; padding: 11px 0; font-weight: 700; font-size: .9rem; }.groovin-list span { color: var(--violet); font-size: 1.4rem; }

.shop-section { display: grid; grid-template-columns: .8fr 2fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.shop-heading p:not(.eyebrow) { color: #686277; }.coming-pill { display: inline-flex; padding: 8px 14px; border-radius: 99px; color: var(--orange); background: #ffe9e0; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.product-rail { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 17px; }
.product-card { display: block; min-width: 0; color: inherit; text-decoration: none; }
.product-card img { width: 100%; aspect-ratio: .95; border-radius: 23px; object-fit: cover; background: #f8f1ee; transition: transform .4s ease; }
.product-card:hover img { transform: translateY(-6px) rotate(-1deg); }
.product-card h3 { margin: 13px 0 3px; font-size: 1rem; }.product-card p { margin: 0; color: #777183; font-size: .8rem; }

.mission-section { display: grid; grid-template-columns: .7fr .95fr 1.45fr; gap: clamp(30px,5vw,80px); align-items: center; }
.mission-body { color: #645f73; }.text-link { color: var(--orange); font-weight: 800; text-decoration: none; }.text-link:hover { text-decoration: underline; }
.mission-view { position: relative; }.mission-view img { width: 100%; height: 280px; border-radius: 130px 45px 130px 45px; object-fit: cover; }

.closing-section { position: relative; min-height: 500px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg,#fff1e9,#eee6ff); }
.closing-orb { position: absolute; width: min(920px,90vw); height: min(920px,90vw); border: 1px solid rgba(255,90,42,.2); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.18), 0 0 0 160px rgba(255,255,255,.12); }
.closing-content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: clamp(12px,4vw,70px); width: min(900px, calc(100% - 48px)); }
.closing-content img { width: min(310px,36vw); filter: drop-shadow(0 20px 24px rgba(59,32,105,.18)); }.closing-content > div { max-width: 480px; }.closing-content p:not(.eyebrow) { color: #655f75; }

.site-footer { padding: 0 clamp(24px,7vw,110px); color: #e5dfef; background: #241c4b; border-top: 3px solid var(--orange); }
.footer-inner { width: min(1200px,100%); margin-inline: auto; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: #ffb69b; text-decoration: underline; text-underline-offset: 5px; }
.site-footer a:focus-visible { outline: 2px solid #ffb69b; outline-offset: 5px; border-radius: 4px; }
.footer-callout { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-block: 40px; border-bottom: 1px solid rgba(255,255,255,.16); }
.footer-eyebrow { margin: 0 0 8px; color: #ffb69b; font: 700 .68rem/1.4 var(--body); letter-spacing: .16em; }
.footer-callout h2 { margin: 0; color: #ffffff; font-size: clamp(1.65rem,2.6vw,2.15rem); line-height: 1.15; letter-spacing: -.02em; }
.footer-callout-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.site-footer .footer-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; padding: 12px 23px; border: 1px solid transparent; border-radius: 999px; font: 700 .84rem/1.4 var(--body); white-space: nowrap; transition: background .2s ease,border-color .2s ease; }
.site-footer .footer-button-primary { background: #fff8f2; color: #27205f; }
.site-footer .footer-button-primary:hover { background: #ffdecf; color: #27205f; text-decoration: none; }
.site-footer .footer-button-secondary { border-color: rgba(255,255,255,.45); color: #ffffff; }
.site-footer .footer-button-secondary:hover { border-color: #ffb69b; background: rgba(255,255,255,.06); color: #ffb69b; text-decoration: none; }
.footer-main { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2.5fr); align-items: start; gap: clamp(36px,6vw,80px); padding-block: 52px 58px; }
.footer-brand > a { display: inline-block; }
.footer-brand img { width: 154px; height: auto; padding: 0; border-radius: 0; background: transparent; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 180px; margin: 16px 0 0; color: #c9c1d9; font-size: .84rem; line-height: 1.65; }
.footer-nav-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.footer-group { min-width: 0; }
.footer-group h3 { margin: 0 0 18px; color: #ffffff; font: 700 .9rem/1.5 var(--body); }
.footer-group ul { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.footer-group a { display: inline-block; padding-block: 7px; font: 500 .84rem/1.55 var(--body); overflow-wrap: anywhere; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; padding-block: 23px 30px; border-top: 1px solid rgba(255,255,255,.16); }
.footer-bottom p { margin: 0; color: #c9c1d9; font-size: .73rem; line-height: 1.6; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.footer-legal a { padding-block: 7px; font-size: .75rem; font-weight: 500; }
@media (max-width: 900px) {
  .footer-main { grid-template-columns: minmax(0,1fr); gap: 34px; padding-block: 36px 42px; }
  .footer-brand { display: flex; align-items: center; gap: 30px; }
  .footer-brand p { margin: 0; }
}
@media (max-width: 600px) {
  .footer-callout { align-items: flex-start; flex-direction: column; gap: 24px; padding-block: 32px; }
  .footer-callout-actions { width: 100%; gap: 10px; }
  .site-footer .footer-button { flex: 1 1 130px; gap: 14px; padding-inline: 16px; font-size: .8rem; }
  .footer-brand { display: block; }
  .footer-brand p { max-width: none; margin-top: 12px; }
  .footer-nav-groups { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 20px; }
  .footer-group h3 { margin-bottom: 10px; }
  .footer-group:last-child { grid-column: 1/-1; }
  .footer-group:last-child ul { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
  .footer-group a { padding-block: 9px; }
  .footer-bottom { align-items: flex-start; flex-direction: column-reverse; gap: 14px; padding-bottom: 76px; }
}

.experience-controls { position: fixed; z-index: 75; left: 20px; bottom: 20px; display: flex; gap: 8px; }
.experience-button { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 14px; border: 1px solid rgba(255,255,255,.76); border-radius: 999px; color: var(--ink); background: rgba(255,253,250,.92); box-shadow: 0 10px 32px rgba(50,27,83,.15); backdrop-filter: blur(16px); font: 800 .76rem/1 var(--body); cursor: pointer; }
.experience-button:hover, .experience-button:focus-visible { color: var(--orange); transform: translateY(-2px); }
.experience-button[aria-pressed="true"] { color: #fff; background: var(--violet); }
.rating-panel { position: absolute; left: 0; bottom: 52px; width: 226px; padding: 17px; border: 1px solid rgba(255,255,255,.8); border-radius: 20px; background: rgba(255,253,250,.97); box-shadow: 0 18px 50px rgba(50,27,83,.2); backdrop-filter: blur(18px); }
.rating-panel[hidden] { display: none; }.rating-panel p { margin: 0 0 9px; font: 800 .88rem/1.2 var(--display); }.rating-panel small { display: block; margin-top: 8px; color: #777183; font-size: .68rem; }
.rating-stars { display: flex; gap: 2px; }.rating-stars button { padding: 2px; border: 0; color: #d8d2df; background: transparent; font-size: 1.5rem; cursor: pointer; }.rating-stars button.is-selected { color: var(--orange); }

.install-nudge { position: fixed; z-index: 80; right: 22px; bottom: 22px; display: grid; grid-template-columns: 54px minmax(180px,1fr) auto; align-items: center; gap: 13px; width: min(540px, calc(100% - 44px)); padding: 13px 14px; color: #27205f; border: 1px solid #b1a1cf; border-radius: 24px; background: #fff8f2; box-shadow: 0 20px 70px rgba(50,27,83,.22); backdrop-filter: blur(18px); animation: nudge-in .45s cubic-bezier(.2,.8,.2,1); }
.install-nudge[hidden] { display: none; }.install-nudge img { width: 54px; height: 54px; object-fit: contain; }.install-nudge strong { display: block; font-family: var(--display); }.install-nudge p { margin: 2px 0 0; color: #54445f; font-size: .77rem; line-height: 1.35; }.nudge-close { position: absolute; right: 8px; top: -52px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid #fff8f2; border-radius: 50%; color: #ffffff; background: #4931a8; font: 400 30px/1 var(--body); box-shadow: 0 3px 12px rgba(0,0,0,.2); cursor: pointer; }
.install-nudge .button { color: #ffffff; background: #4931a8; }
.install-nudge .button:hover,.nudge-close:hover { background: #35227f; }
.install-nudge .button:focus-visible,.nudge-close:focus-visible { outline: 3px solid #ff8c42; outline-offset: 3px; }
.install-nudge.footer-near { opacity: 0; transform: translateY(22px); pointer-events: none; }
@keyframes nudge-in { from { opacity: 0; transform: translateY(25px); } }

html[data-theme="dark"] {
  color-scheme: dark;
  --cream: #17142c;
  --paper: #211c3a;
  --ink: #fbf8ff;
  --purple: #c9bcff;
  --violet: #9678f3;
  --line: rgba(226,217,255,.14);
  --shadow: 0 22px 60px rgba(4,3,12,.36);
}
html[data-theme="dark"] .site-header.scrolled { background: rgba(23,20,44,.9); box-shadow: 0 8px 30px rgba(0,0,0,.26); }
html[data-theme="dark"] .header-icon-button:hover,
html[data-theme="dark"] .header-icon-button:focus-visible,
html[data-theme="dark"] .header-icon-button[aria-pressed="true"] { background: rgba(255,255,255,.1); }
html[data-theme="dark"] .hero-scenery { background: linear-gradient(90deg,#17142c 0%,rgba(23,20,44,.96) 27%,rgba(23,20,44,.66) 53%,rgba(23,20,44,.12) 80%), url('/assets/rise-sunrise.webp') center right / cover no-repeat; }
html[data-theme="dark"] .hero-scenery::after { background: linear-gradient(180deg,rgba(23,20,44,.1),transparent 58%,rgba(23,20,44,.28)); }
html[data-theme="dark"] .hero-intro,
html[data-theme="dark"] .hero-notes span,
html[data-theme="dark"] .section-heading > p:last-child,
html[data-theme="dark"] .feature-card p,
html[data-theme="dark"] .progress-copy > p:not(.eyebrow),
html[data-theme="dark"] .benefit-list span,
html[data-theme="dark"] .groovin-copy p:not(.eyebrow),
html[data-theme="dark"] .shop-heading p:not(.eyebrow),
html[data-theme="dark"] .product-card p,
html[data-theme="dark"] .mission-body,
html[data-theme="dark"] .closing-content p:not(.eyebrow) { color: #c9c2da; }
html[data-theme="dark"] .button-ghost { color: #ff9a75; background: rgba(30,25,54,.72); border-color: rgba(255,121,81,.72); }
html[data-theme="dark"] .button-ghost:hover,
html[data-theme="dark"] .button-ghost:focus-visible { background: #2a2347; }
html[data-theme="dark"] .feature-card,
html[data-theme="dark"] .card-coral,
html[data-theme="dark"] .card-mint,
html[data-theme="dark"] .card-lilac,
html[data-theme="dark"] .card-peach,
html[data-theme="dark"] .card-violet { border-color: rgba(255,255,255,.08); background: linear-gradient(155deg,#292344 20%,#211c39 100%); box-shadow: 0 16px 48px rgba(0,0,0,.22); }
html[data-theme="dark"] .feature-icon,
html[data-theme="dark"] .mini-cycle,
html[data-theme="dark"] .signal-bars,
html[data-theme="dark"] .sleep-chart,
html[data-theme="dark"] .chat-bubble { color: #f7f2ff; background: rgba(255,255,255,.08); }
html[data-theme="dark"] .community-dots b:last-child { color: #fff; background: #423767; }
html[data-theme="dark"] .orbit-one { background: linear-gradient(145deg,#382640,#2a234d); }
html[data-theme="dark"] .phone-screen { color: #27205f; background: linear-gradient(180deg,#fff 0%,#fff9f4 100%); }
html[data-theme="dark"] .phone-screen .week small { color: #27205f; }
html[data-theme="dark"] .groovin-section { background: linear-gradient(120deg,#2b2039,#211c36 62%,#282146); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="dark"] .groovin-list { background: rgba(255,255,255,.07); box-shadow: 0 16px 40px rgba(0,0,0,.18); }
html[data-theme="dark"] .closing-section { background: linear-gradient(135deg,#211831,#282044); }
html[data-theme="dark"] .site-footer { background: #100d25; }
html[data-theme="dark"] .experience-button,
html[data-theme="dark"] .rating-panel { color: #fbf8ff; border-color: rgba(255,255,255,.12); background: rgba(33,28,58,.94); }
html[data-theme="dark"] .rating-panel small { color: #c2b9d3; }
html[data-theme="dark"] .install-nudge { color: #ffffff; border-color: #b7a0e6; background: #342359; }
html[data-theme="dark"] .install-nudge p { color: #efe5ff; }
html[data-theme="dark"] .install-nudge .button,
html[data-theme="dark"] .nudge-close { color: #27205f; background: #fff0c7; }
html[data-theme="dark"] .nudge-close { border-color: #b7a0e6; }
html[data-theme="dark"] .install-nudge .button:hover,
html[data-theme="dark"] .nudge-close:hover { background: #ffdf95; }
html[data-theme="dark"] .legal-page { background: radial-gradient(circle at 90% 0,#2d2451,transparent 30%), var(--cream); }
html[data-theme="dark"] .legal-card { border-color: rgba(255,255,255,.08); background: rgba(33,28,58,.9); }
html[data-theme="dark"] .legal-card p,
html[data-theme="dark"] .legal-card li { color: #c9c2da; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.feature-card:nth-child(2), .product-card:nth-child(2) { transition-delay: .08s; }.feature-card:nth-child(3), .product-card:nth-child(3) { transition-delay: .14s; }.feature-card:nth-child(4), .product-card:nth-child(4) { transition-delay: .2s; }.feature-card:nth-child(5) { transition-delay: .26s; }.feature-card:nth-child(6) { transition-delay: .32s; }

.legal-page { min-height: 100vh; padding: 120px 24px 80px; background: radial-gradient(circle at 90% 0,#f0e8ff,transparent 30%), var(--cream); }
.legal-shell { width: min(840px,100%); margin: auto; }.legal-shell > a img { width: 150px; margin-bottom: 50px; }.legal-card { padding: clamp(28px,6vw,70px); border: 1px solid rgba(255,255,255,.85); border-radius: 34px; background: rgba(255,255,255,.84); box-shadow: var(--shadow); }.legal-card h1 { font-size: clamp(2.6rem,6vw,4.8rem); }.legal-card h2 { margin: 42px 0 12px; font-size: 1.5rem; letter-spacing: -.02em; }.legal-card p, .legal-card li { color: #5f5b6f; }.legal-card li + li { margin-top: 9px; }.legal-updated { color: var(--orange)!important; font-weight: 700; }.legal-back { display: inline-flex; margin-top: 32px; color: var(--orange); font-weight: 800; text-decoration: none; }

@media (max-width: 1120px) {
  .feature-grid { grid-template-columns: repeat(3,1fr); }.feature-card { min-height: 330px; }
  .progress-section { grid-template-columns: 1fr 1.15fr; }.benefit-list { grid-column: 1 / -1; grid-template-columns: repeat(4,1fr); }.benefit-list li { align-items: flex-start; }
  .groovin-section { grid-template-columns: 1.2fr 1fr; }.groovin-list { grid-column: 1 / -1; grid-template-columns: repeat(4,1fr); }
  .shop-section { grid-template-columns: 1fr; }.shop-heading { max-width: 600px; }.mission-section { grid-template-columns: 1fr 1fr; }.mission-view { grid-column: 1 / -1; }.mission-view img { height: 360px; }
}

@media (max-width: 840px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 6px; height: 70px; padding: 0 18px; }.site-header .brand img { width: 124px; }.header-cta, .header-shop { display: none; }.header-actions { gap: 1px; }.header-icon-button { width: 38px; height: 38px; }
  .menu-toggle { display: grid; place-content: center; gap: 6px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.82); box-shadow: 0 8px 24px rgba(44,25,81,.1); }.menu-toggle span { display: block; width: 20px; height: 2px; background: var(--ink); transition: transform .25s ease; }
  .main-nav { position: fixed; inset: 70px 16px auto; display: grid; justify-content: stretch; gap: 0; padding: 18px; border-radius: 22px; background: rgba(255,253,250,.97); box-shadow: var(--shadow); transform: translateY(-18px); opacity: 0; visibility: hidden; transition: .25s ease; }.main-nav.open { transform: none; opacity: 1; visibility: visible; }.main-nav a { padding: 13px; }html[data-theme="dark"] .main-nav { background: rgba(33,28,58,.98); }
  .hero { display: block; min-height: 940px; padding: 112px 32px 360px; }.hero-scenery { background: linear-gradient(180deg,#fffaf6 0%,rgba(255,250,246,.94) 45%,rgba(255,250,246,.18) 72%), url('/assets/rise-sunrise.webp') center bottom / auto 64% no-repeat; }.hero-copy { width: min(680px,100%); margin: 0 auto; text-align: center; }.hero-intro { width: min(100%,34rem); margin-inline: auto; }.hero-actions { justify-content: center; }.hero-notes { margin-inline: auto; }.hero-character { position: absolute; right: max(2%, calc((100% - 760px) / 2)); bottom: 18px; width: min(400px,58vw); transform: none; }.scroll-cue { display: none; }
  .progress-section { grid-template-columns: 1fr; text-align: center; overflow: hidden; }.progress-copy > p:not(.eyebrow) { margin-inline: auto; }.phone-stage { order: 3; width: 100%; overflow: clip; }.benefit-list { grid-column: auto; grid-template-columns: repeat(2,1fr); text-align: left; }
  .groovin-section { grid-template-columns: 1fr; }.groovin-list { grid-column: auto; grid-template-columns: repeat(2,1fr); }.groovin-copy { text-align: center; }
  .product-rail { grid-template-columns: repeat(2,1fr); }.shop-heading { text-align: center; margin-inline: auto; }
}

@media (max-width: 580px) {
  .site-header { padding-inline: 14px; }.site-header .brand img { width: 118px; }
  .hero { min-height: 900px; padding: 100px 18px 315px; }.hero h1 { max-width: 100%; margin-bottom: 16px; font-size: clamp(2.7rem,12.8vw,3.9rem); line-height: 1.01; }.hero-intro { max-width: 31ch; font-size: 1rem; }.hero-actions { flex-direction: column; align-items: stretch; width: min(100%,330px); margin: 25px auto 0; }.hero-actions .button { width: 100%; }.hero-notes { display: none; }.hero-character { right: -3%; bottom: 2px; width: min(330px,80vw); }
  .section { width: min(100% - 30px,1320px); padding-block: 78px; }.feature-grid { grid-template-columns: repeat(2,1fr); gap: 11px; }.feature-card { min-height: 295px; padding: 19px 15px; border-radius: 22px; }.feature-card h3 { font-size: 1.06rem; }.feature-card p { font-size: .78rem; }.feature-food img { height: 116px; }.chat-bubble { font-size: .72rem; }.community-dots b { width: 34px; height: 34px; }
  .phone-stage { min-height: 550px; }.orbit-one { width: min(390px,94vw); height: min(390px,94vw); }.orbit-two { width: min(290px,72vw); height: min(290px,72vw); }.phone { width: min(270px,74vw); height: min(540px,148vw); transform: rotate(2deg); }.benefit-list { grid-template-columns: 1fr; padding-inline: 20px; }
  .groovin-section { width: calc(100% - 20px); padding-inline: 14px; border-radius: 36px; }.groovin-art img { border-radius: 30px 30px 70px 30px; }.groovin-list { grid-template-columns: 1fr; }
  .product-rail { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }.product-card { min-width: 74vw; scroll-snap-align: start; }
  .mission-section { grid-template-columns: 1fr; text-align: center; }.mission-view { grid-column: auto; }.mission-view img { height: 280px; }.closing-content { text-align: center; }.closing-content img { display: none; }
  .install-nudge { grid-template-columns: 46px 1fr; }.install-nudge img { width: 46px; height: 46px; }.install-nudge .button { grid-column: 1 / -1; min-height: 42px; }
  .experience-controls { left: 12px; bottom: 12px; }.experience-button { min-width: 42px; padding-inline: 12px; }.experience-button span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  body:has(.install-nudge:not([hidden])) .experience-controls { bottom: 178px; }
}

@media (max-width: 430px) {
  .site-header { grid-template-columns: minmax(0,1fr) auto auto; }.site-header .brand img { width: 110px; }
  .header-icon-button { width: 36px; height: 36px; }
  .hero { min-height: 870px; padding-inline: 16px; padding-bottom: 300px; }
  .hero h1 { font-size: clamp(2.55rem,12.4vw,3.35rem); }
  .hero-character { width: min(310px,82vw); }
  .feature-grid { grid-template-columns: 1fr; }.feature-card { min-height: 310px; }
  .install-nudge { right: 12px; bottom: 12px; width: calc(100% - 24px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
  .reveal { opacity: 1; transform: none; }
}

.shop-page-link { margin-top: 20px; }

@media (max-width: 1100px) and (min-width: 841px) {
  .main-nav { gap: clamp(14px,2vw,24px); font-size: .85rem; }
  .header-cta { display: none; }
}

/* Standalone editorial and collection pages */
.subpage { min-height: 100vh; background: radial-gradient(circle at 92% 4%, rgba(238,231,255,.95), transparent 30%), var(--cream); }
.page-main { overflow: hidden; }
.page-hero { position: relative; min-height: 620px; display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,.82fr); align-items: center; gap: clamp(40px,7vw,110px); padding: 130px clamp(24px,8vw,128px) 80px; isolation: isolate; }
.page-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(125deg,rgba(255,253,250,.98),rgba(255,246,240,.78) 55%,rgba(238,231,255,.72)); }
.page-hero-copy { max-width: 760px; min-width: 0; }
.page-hero h1 { max-width: 820px; font-size: clamp(3.5rem,6.8vw,7rem); }
.page-hero-copy > p:not(.eyebrow) { max-width: 620px; color: #5f5a70; font-size: clamp(1.05rem,1.5vw,1.25rem); }
.page-hero-art { position: relative; min-width: 0; min-height: 390px; }
.page-hero-art img { position: absolute; width: 76%; aspect-ratio: 1; object-fit: cover; border-radius: 46% 54% 40% 60% / 48% 42% 58% 52%; box-shadow: 0 35px 80px rgba(51,31,91,.2); }
.page-hero-art img:first-child { right: 0; top: 0; }
.page-hero-art .page-hero-secondary { left: 0; bottom: 0; width: 46%; border: 8px solid rgba(255,253,250,.9); }
.page-hero-art.single img { inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 160px 54px 160px 54px; }
.page-hero-art .page-hero-mark { position: absolute; right: -22px; bottom: 14px; width: 110px; aspect-ratio: auto; border: 0; border-radius: 0; object-fit: contain; box-shadow: none; filter: drop-shadow(0 18px 25px rgba(52,31,91,.2)); }
.page-section { width: min(1180px,calc(100% - 48px)); margin-inline: auto; padding: clamp(76px,8vw,120px) 0; }
.page-section-heading { max-width: 740px; margin-bottom: 42px; }
.page-section-heading > p:last-child { color: #686277; font-size: 1.04rem; }
.resource-grid, .article-grid, .merchy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.resource-card, .article-card, .merchy-card { position: relative; min-width: 0; padding: clamp(24px,4vw,38px); border: 1px solid rgba(255,255,255,.82); border-radius: 30px; background: rgba(255,255,255,.73); box-shadow: 0 18px 55px rgba(68,43,132,.09); }
.resource-card:nth-child(2n), .article-card:nth-child(2n) { background: linear-gradient(150deg,rgba(255,255,255,.92),rgba(238,231,255,.8)); }
.resource-card h3, .article-card h3, .merchy-card h3 { margin-bottom: 10px; font-size: 1.45rem; }
.resource-card p, .article-card p, .merchy-card p { color: #676176; }
.topic-label { display: inline-flex; margin-bottom: 28px; padding: 7px 12px; border-radius: 999px; color: #FFFFFF; background: #4931A8; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.source-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; color: var(--orange); font-weight: 800; text-decoration: none; }
.source-link:hover, .source-link:focus-visible { text-decoration: underline; }
.method-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 24px; border: 1px solid var(--line); border-radius: 30px; background: var(--line); overflow: hidden; }
.method-strip div { padding: 30px 24px; background: var(--paper); }
.method-strip b { display: block; margin-bottom: 8px; color: var(--orange); font: 700 1.05rem/1.2 var(--display); }
.method-strip span { color: #706a7e; font-size: .86rem; }
.research-note, .editorial-note { margin-top: 24px; padding: 22px 24px; border-left: 4px solid var(--orange); border-radius: 0 20px 20px 0; color: #655f75; background: rgba(255,255,255,.66); }
.article-card { display: flex; min-height: 310px; flex-direction: column; }
.article-card .source-link { margin-top: auto; }
.article-entry { display: grid; grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr); gap: clamp(28px,6vw,80px); padding: 58px 0; border-top: 1px solid var(--line); scroll-margin-top: 90px; }
.article-entry:first-of-type { border-top: 0; }
.article-entry h2 { font-size: clamp(2rem,3.4vw,3.6rem); }
.article-entry-body { max-width: 720px; }
.article-entry-body p { color: #625d70; font-size: 1.02rem; }
.article-entry-body h3 { margin: 28px 0 9px; font-size: 1.25rem; }
.article-entry-body ul { padding-left: 20px; color: #625d70; }
.article-entry-body li + li { margin-top: 8px; }
.merchy-hero .page-hero-art img { object-position: center; }
.merchy-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.merchy-card { padding: 12px 12px 24px; }
.merchy-card img { width: 100%; aspect-ratio: .92; border-radius: 22px; object-fit: cover; background: #f8f1ee; }
.merchy-card h3 { margin: 18px 10px 5px; font-size: 1.15rem; }
.merchy-card p { margin: 0 10px; font-size: .86rem; }
.merchy-status { position: absolute; top: 24px; left: 24px; z-index: 2; padding: 7px 11px; border-radius: 99px; color: #fff; background: rgba(39,32,95,.88); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(10px); }
.collection-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: clamp(30px,5vw,56px); border-radius: 38px; color: #fff; background: linear-gradient(125deg,#312572,#5942bd 62%,#ff6b35); }
.collection-band h2 { margin-bottom: 9px; font-size: clamp(2rem,4vw,4rem); }
.collection-band p { max-width: 630px; margin-bottom: 0; color: rgba(255,255,255,.76); }
.collection-band .button { color: var(--orange); background: #fff; box-shadow: none; white-space: nowrap; }
html[data-theme="dark"] .subpage { background: radial-gradient(circle at 92% 4%,rgba(74,55,145,.35),transparent 30%),#17142c; }
html[data-theme="dark"] .page-hero::before { background: linear-gradient(125deg,rgba(23,20,44,.98),rgba(30,25,54,.9) 58%,rgba(56,42,104,.72)); }
html[data-theme="dark"] .page-hero-copy > p:not(.eyebrow),
html[data-theme="dark"] .page-section-heading > p:last-child,
html[data-theme="dark"] .resource-card p,
html[data-theme="dark"] .article-card p,
html[data-theme="dark"] .merchy-card p,
html[data-theme="dark"] .article-entry-body p,
html[data-theme="dark"] .article-entry-body ul,
html[data-theme="dark"] .research-note,
html[data-theme="dark"] .editorial-note { color: #c8c1d9; }
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .merchy-card { border-color: rgba(255,255,255,.1); background: rgba(38,31,66,.82); }
html[data-theme="dark"] .resource-card:nth-child(2n),
html[data-theme="dark"] .article-card:nth-child(2n) { background: linear-gradient(150deg,rgba(38,31,66,.9),rgba(66,50,121,.7)); }
html[data-theme="dark"] .method-strip div { background: #211c3a; }
html[data-theme="dark"] .method-strip span { color: #c0b8d2; }
html[data-theme="dark"] .research-note,
html[data-theme="dark"] .editorial-note { background: rgba(38,31,66,.7); }

@media (max-width: 840px) {
  .page-hero { grid-template-columns: 1fr; min-height: auto; padding: 118px 32px 70px; text-align: center; }
  .page-hero-copy { margin-inline: auto; }
  .page-hero-copy > p:not(.eyebrow) { margin-inline: auto; }
  .page-hero-art { width: min(560px,100%); min-height: 360px; margin-inline: auto; }
  .page-hero-art .page-hero-mark { right: 2%; }
  .method-strip { grid-template-columns: repeat(2,1fr); }
  .merchy-grid { grid-template-columns: repeat(2,1fr); }
  .article-entry { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 580px) {
  .page-hero { padding: 100px 18px 58px; }
  .page-hero h1 { font-size: clamp(2.8rem,13.4vw,4.1rem); }
  .page-hero-art { min-height: 290px; }
  .page-hero-art .page-hero-mark { width: 82px; right: 0; }
  .page-section { width: min(100% - 30px,1180px); padding-block: 72px; }
  .resource-grid, .article-grid { grid-template-columns: 1fr; }
  .method-strip { grid-template-columns: 1fr; }
  .article-card { min-height: 270px; }
  .article-entry { padding-block: 44px; }
  .collection-band { grid-template-columns: 1fr; text-align: center; }
  .collection-band .button { justify-self: center; }
}

@media (max-width: 430px) {
  .merchy-grid { grid-template-columns: 1fr; }
  .page-hero-art { min-height: 250px; }
  .page-hero-art .page-hero-secondary { border-width: 5px; }
}

/* Rise Merchy store */
.store-hero { position: relative; min-height: 720px; display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); align-items: center; gap: clamp(42px,7vw,112px); padding: 128px clamp(24px,8vw,128px) 78px; overflow: hidden; isolation: isolate; }
.store-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 78% 28%,rgba(255,192,158,.5),transparent 23%),linear-gradient(125deg,#fffdf9 12%,#fff4ed 54%,#eee8ff); }
.store-hero::after { content: ""; position: absolute; z-index: -1; right: -8%; bottom: -34%; width: 54vw; min-width: 560px; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.42); box-shadow: 0 0 0 70px rgba(255,255,255,.14),0 0 0 140px rgba(255,255,255,.08); }
.store-hero-copy { max-width: 670px; }
.store-hero h1 { margin: 8px 0 24px; font-size: clamp(4rem,7vw,8rem); line-height: .87; letter-spacing: -.065em; }
.store-hero h1 span { color: var(--orange); }
.store-hero-copy > p:not(.eyebrow) { max-width: 570px; margin: 0; color: #5f5a70; font-size: clamp(1.05rem,1.55vw,1.3rem); }
.store-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 32px; }
.store-hero-actions > .button { flex-shrink: 0; white-space: nowrap; }
.store-hero-actions > span { flex-basis: 100%; color: #746d80; font-size: .75rem; line-height: 1.35; }
.store-hero-art { position: relative; min-height: 520px; }
.store-hero-art img { object-fit: cover; }
.store-hero-main { position: absolute; right: 0; top: 0; width: min(500px,76%); aspect-ratio: 1; border-radius: 48px 120px 48px 120px; box-shadow: 0 36px 90px rgba(58,35,92,.2); }
.store-hero-float { position: absolute; left: 0; bottom: 0; width: 48%; aspect-ratio: 1; border: 10px solid rgba(255,253,250,.94); border-radius: 80px 28px 80px 28px; box-shadow: 0 24px 60px rgba(58,35,92,.2); }
.store-hero-logo { position: absolute; right: -18px; bottom: -6px; width: 100px; filter: drop-shadow(0 12px 20px rgba(55,33,91,.2)); }
.store-intro { width: min(1280px,calc(100% - 48px)); }
.store-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.store-card { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.88); border-radius: 30px; background: rgba(255,255,255,.78); box-shadow: 0 18px 55px rgba(68,43,132,.09); transition: transform .28s ease,box-shadow .28s ease; }
.store-card:hover { transform: translateY(-7px); box-shadow: 0 26px 70px rgba(68,43,132,.15); }
.store-card-image { position: relative; display: block; aspect-ratio: 1.08; overflow: hidden; background: #f7efe9; }
.store-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.store-card:hover .store-card-image img { transform: scale(1.045); }
.store-badge { position: absolute; z-index: 2; left: 18px; top: 18px; padding: 7px 11px; border-radius: 999px; color: #fff; background: rgba(39,32,95,.88); font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(10px); }
.store-card-body { padding: 22px; }
.store-category { margin: 0 0 6px!important; color: var(--orange)!important; font-size: .69rem!important; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.store-card h3 { margin: 0 0 8px; font-size: 1.45rem; }
.store-card h3 a { text-decoration: none; }
.store-card-body > p:not(.store-category) { min-height: 48px; margin: 0; color: #696375; font-size: .9rem; }
.store-card-foot { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.store-card-foot > span { font: 700 1.05rem/1 var(--display); }
.store-card-foot small { display: block; margin-bottom: 7px; color: #7a7484; font: 500 .65rem/1 var(--body); }
.store-arrow { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; color: #fff; background: var(--orange); text-decoration: none; font-size: 1.2rem; transition: transform .2s ease; }
.store-arrow:hover,.store-arrow:focus-visible { transform: translateX(3px); }
.store-principles { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: 32px; background: var(--paper); overflow: hidden; }
.store-principles div { padding: clamp(24px,3vw,36px); border-right: 1px solid var(--line); }
.store-principles div:last-child { border: 0; }
.store-principles span { color: var(--orange); font: 700 .74rem/1 var(--display); }
.store-principles b { display: block; margin: 24px 0 8px; font: 700 1.15rem/1.15 var(--display); }
.store-principles p { margin: 0; color: #706979; font-size: .84rem; }
.collection-band button { justify-self: end; white-space: nowrap; }

.product-main { padding-top: 70px; overflow: hidden; }
.product-detail { width: min(1320px,calc(100% - 48px)); min-height: 720px; display: grid; grid-template-columns: minmax(0,1.04fr) minmax(410px,.86fr); align-items: center; gap: clamp(44px,7vw,100px); margin: 0 auto; padding: 60px 0 90px; }
.product-gallery { min-width: 0; }
.product-back { display: inline-flex; margin-bottom: 20px; color: var(--purple); font-size: .84rem; font-weight: 800; text-decoration: none; }
.product-image-shell { position: relative; overflow: hidden; border-radius: 38px; background: #f8f0eb; box-shadow: 0 28px 80px rgba(68,43,132,.13); }
.product-image-shell img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.product-image-shell img[data-product-main-image] { transition: opacity .22s ease,transform .35s ease; }
.product-image-shell img[data-product-main-image].is-changing { opacity: .18; transform: scale(.985); }
.product-thumbnails { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.product-thumbnails button { min-width: 0; padding: 3px; border: 2px solid transparent; border-radius: 15px; background: transparent; cursor: pointer; transition: border-color .2s ease,transform .2s ease; }
.product-thumbnails button:hover,.product-thumbnails button:focus-visible { transform: translateY(-2px); }
.product-thumbnails button.is-selected { border-color: var(--orange); }
.product-thumbnails img { width: 100%; aspect-ratio: 1; border-radius: 10px; object-fit: cover; }
.concept-caption { margin: 12px 8px 0; color: #7b7485; font-size: .72rem; }
.product-buy { max-width: 560px; }
.product-buy h1 { margin: 6px 0 15px; font-size: clamp(3.2rem,5vw,6.2rem); line-height: .93; letter-spacing: -.055em; }
.product-headline { margin: 0 0 15px; color: var(--orange); font: 700 clamp(1.1rem,1.5vw,1.35rem)/1.25 var(--display); }
.product-intro { margin: 0; color: #655f71; font-size: 1.02rem; }
.product-highlights { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.product-highlights li { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: var(--paper); font-size: .73rem; font-weight: 600; }
.product-price { display: flex; align-items: baseline; gap: 9px; margin: 28px 0; }
.product-price small { align-self: center; max-width: 78px; color: #777080; font-size: .68rem; line-height: 1.2; }
.product-price strong { font: 700 2rem/1 var(--display); }
.product-price > span { color: #777080; font-size: .72rem; font-weight: 700; }
.product-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.product-option { display: grid; gap: 7px; }
.product-option > span,.quantity-control > span { color: #645e70; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.product-option select,.quantity-control input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: var(--paper); font: 600 .9rem var(--body); }
.colour-option > span b { color: var(--ink); }
.colour-swatches { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; min-height: 50px; }
.colour-swatch { position: relative; width: 39px; height: 39px; padding: 4px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); cursor: pointer; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.colour-swatch i { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(39,32,95,.08); }
.colour-swatch:hover,.colour-swatch:focus-visible { transform: translateY(-2px); }
.colour-swatch.is-selected { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,90,42,.15); }
.product-purchase-row { display: grid; grid-template-columns: 92px 1fr; align-items: end; gap: 12px; margin-top: 18px; }
.quantity-control { display: grid; gap: 7px; }
.quantity-control input { text-align: center; }
.product-add { width: 100%; }
.checkout-note { margin: 13px 2px 0; color: #797283; font-size: .73rem; }
.checkout-note b { color: var(--purple); }
.product-note { margin-top: 24px; padding: 18px 20px; border-left: 3px solid var(--orange); border-radius: 0 16px 16px 0; background: rgba(255,255,255,.62); }
.product-note b { font: 700 .87rem var(--display); }
.product-note p { margin: 5px 0 0; color: #6f6878; font-size: .75rem; }
.product-benefits { border-top: 1px solid var(--line); }
.benefit-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.benefit-cards article { min-height: 230px; padding: 30px; border-radius: 26px; background: var(--paper); box-shadow: 0 15px 50px rgba(68,43,132,.08); }
.benefit-cards span { color: var(--orange); font: 700 .72rem var(--display); }
.benefit-cards h3 { margin: 38px 0 10px; font-size: 1.25rem; }
.benefit-cards p { margin: 0; color: #6d6677; font-size: .87rem; }
.product-specs { display: grid; grid-template-columns: minmax(0,.85fr) minmax(360px,1.15fr); align-items: start; gap: clamp(35px,8vw,120px); border-top: 1px solid var(--line); }
.product-lifestyle { border-top: 1px solid var(--line); }
.product-lifestyle-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.product-lifestyle-card { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); }
.product-lifestyle-card > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.product-lifestyle-card figcaption { padding: clamp(22px,3vw,36px); }
.product-lifestyle-card h3 { margin: 0 0 12px; font-size: clamp(1.45rem,2.3vw,2rem); }
.product-lifestyle-card p { margin: 0 0 16px; }
.product-lifestyle-card small { font-size: .7rem; opacity: .7; }
@media (max-width: 600px) { .product-lifestyle-grid { grid-template-columns: minmax(0,1fr); gap: 20px; } }
.product-spec-copy h2 { font-size: clamp(2.5rem,4vw,4.5rem); }
.product-spec-copy p:not(.eyebrow) { color: #6c6576; }
.product-detail-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.product-detail-list li { position: relative; padding: 21px 18px 21px 36px; border-bottom: 1px solid var(--line); font-weight: 600; }
.product-detail-list li::before { content: "✓"; position: absolute; left: 4px; color: var(--orange); }
.related-section { border-top: 1px solid var(--line); }
.store-grid-related { grid-template-columns: repeat(3,1fr); }
.product-loading,.product-missing { min-height: 70vh; display: grid; place-items: center; text-align: center; }

.cart-header-button { position: relative; }
.cart-header-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-header-button b { position: absolute; right: -2px; top: -2px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; color: #fff; background: var(--orange); font: 700 .58rem/1 var(--body); }
.cart-layer { position: fixed; z-index: 1000; inset: 0; }
.cart-layer[hidden] { display: none; }
.cart-scrim { position: absolute; inset: 0; border: 0; background: rgba(23,16,42,.45); opacity: 0; transition: opacity .26s ease; backdrop-filter: blur(4px); }
.cart-drawer { position: absolute; right: 0; top: 0; bottom: 0; width: min(470px,100%); display: grid; grid-template-rows: auto 1fr auto; color: var(--ink); background: var(--paper); box-shadow: -20px 0 70px rgba(26,17,48,.22); transform: translateX(100%); transition: transform .32s cubic-bezier(.2,.8,.2,1); }
.cart-layer.open .cart-scrim { opacity: 1; }
.cart-layer.open .cart-drawer { transform: none; }
.cart-drawer > header { display: flex; align-items: center; justify-content: space-between; padding: 28px 28px 20px; border-bottom: 1px solid var(--line); }
.cart-drawer h2 { margin: 2px 0 0; font-size: 2rem; }
.cart-close { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: transparent; font-size: 1.8rem; cursor: pointer; }
.cart-items { overflow-y: auto; padding: 18px 28px; }
.cart-item { display: grid; grid-template-columns: 100px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cart-item img { width: 100px; aspect-ratio: 1; border-radius: 17px; object-fit: cover; background: #f6efe9; }
.cart-item h3 { margin: 3px 0 3px; font-size: 1rem; }
.cart-item p { margin: 0 0 8px; color: #766f7f; font-size: .7rem; }
.cart-item strong { font: 700 .9rem var(--display); }
.cart-item-controls { display: flex; align-items: center; gap: 7px; margin-top: 11px; }
.cart-item-controls button:not(.cart-remove) { width: 27px; height: 27px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: transparent; cursor: pointer; }
.cart-item-controls span { min-width: 18px; text-align: center; font-size: .78rem; font-weight: 700; }
.cart-remove { margin-left: auto; padding: 4px; border: 0; color: #857e8b; background: transparent; font-size: .7rem; text-decoration: underline; cursor: pointer; }
.cart-empty { display: grid; place-items: center; min-height: 100%; align-content: center; text-align: center; }
.cart-empty > span { color: var(--orange); font-size: 2.3rem; }
.cart-empty h3 { margin: 12px 0 4px; }
.cart-empty p { max-width: 240px; margin: 0 0 15px; color: #756e7c; font-size: .82rem; }
.cart-empty a { color: var(--orange); font-weight: 800; }
.cart-drawer > footer { padding: 22px 28px 28px; border-top: 1px solid var(--line); }
.cart-total { display: flex; justify-content: space-between; margin-bottom: 17px; }
.cart-total span { color: #756e7c; font-size: .8rem; }
.cart-total strong { font: 700 1.3rem var(--display); }
.cart-checkout { width: 100%; }
.cart-checkout[hidden] { display: none; }
.paypal-sandbox-label { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 12px; color: #71697a; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.paypal-sandbox-label span { width: 8px; height: 8px; border-radius: 50%; background: #22a06b; box-shadow: 0 0 0 4px rgba(34,160,107,.12); }
.paypal-button-host { min-height: 44px; position: relative; z-index: 1; }
.paypal-button-host[hidden] { display: none; }
.paypal-button-host:empty::before { content: 'Loading PayPal Sandbox…'; display: grid; place-items: center; min-height: 44px; border-radius: 999px; color: #5b4f67; background: #f4efe9; font-size: .78rem; font-weight: 700; }
.paypal-result { display: grid; gap: 4px; padding: 13px 15px; border: 1px solid rgba(34,160,107,.3); border-radius: 14px; color: #176746; background: rgba(34,160,107,.08); }
.paypal-result[hidden] { display: none; }
.paypal-result strong { font: 700 .88rem var(--display); }
.paypal-result span { font-size: .72rem; }
.cart-drawer > footer p { margin: 11px 0 0; color: #756e7c; font-size: .7rem; text-align: center; }
.cart-drawer > footer p.is-active { color: var(--orange); font-weight: 700; }
body.cart-open { overflow: hidden; }

html[data-theme="dark"] .store-hero::before { background: radial-gradient(circle at 78% 28%,rgba(255,107,53,.18),transparent 25%),linear-gradient(125deg,#17142c 12%,#211a38 54%,#382960); }
html[data-theme="dark"] .store-hero-copy > p:not(.eyebrow),html[data-theme="dark"] .store-hero-actions > span,html[data-theme="dark"] .store-card-body > p:not(.store-category),html[data-theme="dark"] .store-principles p,html[data-theme="dark"] .product-intro,html[data-theme="dark"] .concept-caption,html[data-theme="dark"] .benefit-cards p,html[data-theme="dark"] .product-spec-copy p:not(.eyebrow) { color: #c8c1d9; }
html[data-theme="dark"] .store-card,html[data-theme="dark"] .benefit-cards article { border-color: rgba(255,255,255,.08); background: #211c3a; }
html[data-theme="dark"] .store-principles,html[data-theme="dark"] .cart-drawer { background: #211c3a; }
html[data-theme="dark"] .paypal-button-host:empty::before { color: #ddd5ed; background: #31294e; }
html[data-theme="dark"] .paypal-result { color: #9de3c2; }
html[data-theme="dark"] .product-note { background: rgba(255,255,255,.06); }
html[data-theme="dark"] .product-note p,html[data-theme="dark"] .checkout-note { color: #c8c1d9; }
html[data-theme="dark"] .product-option select,html[data-theme="dark"] .quantity-control input { background: #292344; }
html[data-theme="dark"] .colour-swatch { background: #292344; border-color: rgba(255,255,255,.16); }

@media (max-width: 1040px) {
  .store-hero { grid-template-columns: 1fr 1fr; }
  .store-grid { grid-template-columns: repeat(2,1fr); }
  .store-principles { grid-template-columns: repeat(2,1fr); }
  .store-principles div:nth-child(2) { border-right: 0; }
  .store-principles div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .product-detail { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 840px) {
  .store-hero { grid-template-columns: 1fr; min-height: auto; padding: 118px 32px 70px; text-align: center; }
  .store-hero-copy { margin-inline: auto; }
  .store-hero-copy > p:not(.eyebrow) { margin-inline: auto; }
  .store-hero-actions { justify-content: center; }
  .store-hero-art { width: min(620px,100%); min-height: 470px; margin-inline: auto; }
  .product-detail { grid-template-columns: 1fr; width: min(680px,calc(100% - 44px)); padding-top: 36px; }
  .product-buy { max-width: none; }
  .product-benefits .page-section-heading { text-align: center; margin-inline: auto; }
  .benefit-cards { grid-template-columns: 1fr; }
  .benefit-cards article { min-height: 180px; }
  .product-specs { grid-template-columns: 1fr; }
}

@media (max-width: 580px) {
  .store-hero { padding: 104px 18px 58px; }
  .store-hero h1 { font-size: clamp(3.4rem,16vw,5.3rem); }
  .store-hero-actions { flex-direction: column; }
  .store-hero-actions > span { max-width: none; }
  .store-hero-art { min-height: 330px; }
  .store-hero-main { width: 76%; border-radius: 32px 72px 32px 72px; }
  .store-hero-float { width: 50%; border-width: 6px; border-radius: 45px 18px 45px 18px; }
  .store-hero-logo { width: 76px; right: 0; }
  .store-intro { width: min(100% - 30px,1280px); }
  .store-grid,.store-grid-related { grid-template-columns: 1fr; }
  .store-card-body > p:not(.store-category) { min-height: 0; }
  .store-principles { grid-template-columns: 1fr; }
  .store-principles div { border-right: 0; border-bottom: 1px solid var(--line); }
  .store-principles div:nth-child(3) { border-bottom: 1px solid var(--line); }
  .product-detail { width: min(100% - 30px,680px); padding-bottom: 68px; }
  .product-image-shell { border-radius: 26px; }
  .product-buy h1 { font-size: clamp(2.9rem,14vw,4.3rem); }
  .product-options { grid-template-columns: 1fr; }
  .product-thumbnails { gap: 6px; }
  .product-thumbnails button { padding: 2px; border-radius: 12px; }
  .product-thumbnails img { border-radius: 8px; }
  .product-purchase-row { grid-template-columns: 82px 1fr; }
  .cart-drawer > header,.cart-items,.cart-drawer > footer { padding-inline: 20px; }
  .cart-item { grid-template-columns: 82px 1fr; }
  .cart-item img { width: 82px; }
}

@media (max-width: 430px) {
  .shop-experience .site-header { padding-inline: 10px; }
  .shop-experience .site-header .brand img { width: 100px; }
  .shop-experience .header-icon-button { width: 33px; height: 33px; }
  .shop-experience .header-actions { gap: 0; }
  .shop-experience .menu-toggle { width: 40px; height: 40px; }
  .product-purchase-row { grid-template-columns: 1fr; }
}

/* Peachy AI shopping demo */
.peachy-shop-main { overflow: hidden; }
.peachy-shop-hero { min-height: 720px; padding: 148px max(5vw,32px) 84px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 5vw; background: radial-gradient(circle at 77% 25%,rgba(255,178,129,.38),transparent 25%),linear-gradient(130deg,#fff8f2 5%,#ffeadd 54%,#d9d3ff); }
.peachy-shop-copy { max-width: 760px; }
.peachy-shop-copy h1 { margin: 12px 0 24px; font: 700 clamp(4rem,7vw,7.2rem)/.88 var(--display); letter-spacing: -.065em; color: var(--ink); }
.peachy-shop-copy h1 span { color: var(--orange); }
.peachy-shop-copy > p:not(.eyebrow) { max-width: 650px; font-size: clamp(1rem,1.7vw,1.3rem); line-height: 1.7; color: #615a69; }
.demo-safety-note { display: flex; gap: 16px; align-items: center; width: fit-content; max-width: 620px; margin-top: 28px; padding: 14px 18px; border: 1px solid rgba(79,70,229,.22); border-radius: 16px; background: rgba(255,255,255,.74); box-shadow: 0 16px 40px rgba(54,42,111,.08); }
.demo-safety-note b { color: var(--purple); white-space: nowrap; }
.demo-safety-note span { color: #6e6675; font-size: .8rem; line-height: 1.45; }
.peachy-shop-character { position: relative; min-height: 520px; display: grid; place-items: center; }
.peachy-shop-character img { position: relative; z-index: 3; width: min(440px,82%); filter: drop-shadow(0 32px 35px rgba(60,39,112,.22)); animation: peachyFloat 4s ease-in-out infinite; }
.peachy-shop-character > span { position: absolute; z-index: 4; right: 2%; bottom: 12%; max-width: 230px; padding: 16px 19px; border-radius: 22px 22px 6px 22px; background: #fff; box-shadow: 0 18px 44px rgba(52,35,105,.18); font: 700 1rem/1.35 var(--display); color: var(--purple); }
.peachy-orbit { position: absolute; border: 1px solid rgba(79,70,229,.16); border-radius: 50%; }
.peachy-orbit-one { width: 430px; height: 430px; background: rgba(255,255,255,.23); }
.peachy-orbit-two { width: 540px; height: 540px; border-style: dashed; }
@keyframes peachyFloat { 50% { transform: translateY(-12px) rotate(1deg); } }
.peachy-assistant-section { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr); gap: 34px; align-items: start; }
.peachy-chat-card,.peachy-results-panel { border: 1px solid var(--line); border-radius: 32px; background: #fff; box-shadow: 0 24px 70px rgba(52,35,105,.09); overflow: hidden; }
.peachy-chat-header { display: grid; grid-template-columns: 62px 1fr auto; gap: 16px; align-items: center; padding: 24px 26px; border-bottom: 1px solid var(--line); background: linear-gradient(120deg,#fff7f0,#f0edff); }
.peachy-chat-header img { width: 62px; height: 62px; object-fit: contain; }
.peachy-chat-header h2 { margin: 2px 0 0; font: 700 clamp(1.5rem,2.3vw,2.2rem)/1 var(--display); }
.model-status { max-width: 200px; padding: 9px 12px; border-radius: 999px; background: rgba(255,107,53,.1); color: #8e4b32; font-size: .68rem; font-weight: 800; text-align: center; }
.model-status.is-ready { background: rgba(79,70,229,.1); color: var(--purple); }
.peachy-chat-log { min-height: 210px; max-height: 330px; overflow: auto; display: flex; flex-direction: column; gap: 12px; padding: 26px; background: #fffdfa; }
.chat-bubble { max-width: 86%; padding: 15px 18px; border-radius: 20px; }
.chat-bubble b { display: block; margin-bottom: 4px; font: 700 .75rem var(--display); letter-spacing: .03em; text-transform: uppercase; }
.chat-bubble p { margin: 0; line-height: 1.55; font-size: .9rem; }
.peachy-bubble { align-self: flex-start; border-bottom-left-radius: 5px; background: #fff0e6; color: #6e3825; }
.shopper-bubble { align-self: flex-end; border-bottom-right-radius: 5px; background: var(--purple); color: #fff; }
.peachy-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 26px 18px; background: #fffdfa; }
.peachy-chips button { padding: 9px 12px; border: 1px solid rgba(79,70,229,.2); border-radius: 999px; background: #fff; color: var(--purple); font: 700 .72rem var(--body); cursor: pointer; transition: .2s ease; }
.peachy-chips button:hover { transform: translateY(-2px); border-color: var(--orange); color: var(--orange); }
.peachy-chat-form { padding: 22px 26px 28px; border-top: 1px solid var(--line); }
.peachy-chat-form label { display: block; margin-bottom: 9px; color: #625a6c; font-size: .74rem; font-weight: 800; }
.peachy-chat-form > div { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.peachy-chat-form input { min-width: 0; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); font: 500 .9rem var(--body); }
.peachy-results-panel { min-height: 632px; }
.peachy-results-empty { min-height: 632px; display: grid; place-content: center; padding: 50px; text-align: center; }
.peachy-results-empty > span { margin-bottom: 14px; font-size: 2.7rem; color: var(--orange); }
.peachy-results-empty h2 { margin: 0 0 10px; font: 700 2rem/1 var(--display); }
.peachy-results-empty p { max-width: 390px; margin: 0 auto; color: #756e7c; line-height: 1.65; }
.ai-spinner { animation: peachySpin 1.4s linear infinite; }
@keyframes peachySpin { to { transform: rotate(360deg); } }
.peachy-results-heading { padding: 26px 28px 18px; border-bottom: 1px solid var(--line); }
.peachy-results-heading h2 { margin: 5px 0 7px; font: 700 1.8rem/1.08 var(--display); }
.peachy-results-heading > p:last-child { margin: 0; color: #756e7c; font-size: .78rem; }
.peachy-match-list { padding: 12px 18px 20px; }
.peachy-match-card { display: grid; grid-template-columns: 112px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.peachy-match-card:last-child { border-bottom: 0; }
.peachy-match-card img { width: 112px; height: 128px; object-fit: cover; border-radius: 15px; background: #f5efe9; }
.match-rank { display: inline-flex; margin-bottom: 5px; color: var(--orange); font-size: .67rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.peachy-match-card h3 { margin: 0 0 5px; font: 700 1.25rem var(--display); }
.peachy-match-card p { margin: 0; color: #716a79; font-size: .77rem; line-height: 1.45; }
.match-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 11px; }
.match-actions strong { margin-right: auto; font: 700 1rem var(--display); }
.match-actions a,.match-actions button { padding: 7px 9px; border: 0; border-radius: 9px; background: #f1eeff; color: var(--purple); font: 800 .65rem var(--body); cursor: pointer; text-decoration: none; }
.match-actions button { background: var(--orange); color: #fff; }
.ai-explainer .page-section-heading { max-width: 720px; }
.paypal-demo-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 90px; padding: 50px; border-radius: 32px; background: linear-gradient(120deg,var(--purple),#3a307d); color: #fff; }
.paypal-demo-band h2 { margin: 5px 0 10px; font: 700 clamp(2.4rem,4vw,4.6rem)/.95 var(--display); }
.paypal-demo-band p:not(.eyebrow) { max-width: 700px; margin: 0; color: #dedaff; line-height: 1.6; }
.paypal-demo-band .button { flex: 0 0 auto; background: var(--orange); }
html[data-theme="dark"] .peachy-shop-hero { background: radial-gradient(circle at 77% 25%,rgba(255,107,53,.18),transparent 25%),linear-gradient(130deg,#17142c,#211a38 54%,#382960); }
html[data-theme="dark"] .peachy-shop-copy > p:not(.eyebrow),html[data-theme="dark"] .demo-safety-note span { color: #c8c1d9; }
html[data-theme="dark"] .demo-safety-note,html[data-theme="dark"] .peachy-chat-card,html[data-theme="dark"] .peachy-results-panel { background: #211c3a; }
html[data-theme="dark"] .peachy-chat-header { background: linear-gradient(120deg,#292344,#382960); }
html[data-theme="dark"] .peachy-chat-log,html[data-theme="dark"] .peachy-chips { background: #1c1831; }
html[data-theme="dark"] .peachy-chat-form input,html[data-theme="dark"] .peachy-chips button { background: #292344; color: #eeeaf7; }
html[data-theme="dark"] .peachy-match-card p,html[data-theme="dark"] .peachy-results-heading > p:last-child,html[data-theme="dark"] .peachy-results-empty p { color: #c8c1d9; }
@media (max-width: 980px) {
  .peachy-shop-hero,.peachy-assistant-section { grid-template-columns: 1fr; }
  .peachy-shop-copy { text-align: center; margin-inline: auto; }
  .peachy-shop-copy > p:not(.eyebrow),.demo-safety-note { margin-inline: auto; }
  .peachy-shop-character { min-height: 430px; }
  .peachy-results-panel { min-height: 520px; }
  .peachy-results-empty { min-height: 520px; }
}
@media (max-width: 620px) {
  .peachy-shop-hero { padding: 112px 18px 62px; }
  .peachy-shop-copy h1 { font-size: clamp(3.4rem,16vw,5.4rem); }
  .demo-safety-note { align-items: flex-start; flex-direction: column; gap: 4px; }
  .peachy-shop-character { min-height: 330px; }
  .peachy-shop-character > span { right: 0; bottom: 2%; }
  .peachy-orbit-one { width: 300px; height: 300px; }
  .peachy-orbit-two { width: 360px; height: 360px; }
  .peachy-assistant-section { width: min(100% - 24px,1280px); }
  .peachy-chat-header { grid-template-columns: 50px 1fr; padding: 20px; }
  .peachy-chat-header img { width: 50px; height: 50px; }
  .model-status { grid-column: 1 / -1; justify-self: start; }
  .peachy-chat-log,.peachy-chips,.peachy-chat-form { padding-inline: 20px; }
  .peachy-chat-form > div { grid-template-columns: 1fr; }
  .peachy-results-empty { padding: 32px 20px; }
  .peachy-match-card { grid-template-columns: 88px 1fr; }
  .peachy-match-card img { width: 88px; height: 108px; }
  .match-actions strong { width: 100%; }
  .paypal-demo-band { align-items: flex-start; flex-direction: column; width: min(100% - 24px,1280px); padding: 32px 24px; }
}

/* Rise Merchy order confirmation and tracking */
.order-page { background: radial-gradient(circle at 15% 18%,rgba(255,107,53,.14),transparent 28%),linear-gradient(145deg,#fffaf6,#f3efff); }
.order-main { width: min(100% - 40px,980px); min-height: 78vh; margin: 0 auto; padding: 150px 0 90px; }
.order-confirmation-card,.order-missing,.tracking-search-card,.tracking-result,.tracking-empty { border: 1px solid rgba(55,43,104,.12); border-radius: 32px; background: rgba(255,255,255,.94); box-shadow: 0 30px 90px rgba(52,35,105,.12); }
.order-confirmation-card,.order-missing,.tracking-search-card { padding: clamp(30px,6vw,72px); }
.order-confirmation-card[hidden],.order-missing[hidden],.tracking-result[hidden],.tracking-empty[hidden] { display: none; }
.order-success-mark { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 22px; border-radius: 50%; background: #ddf6e8; color: #16724a; font: 700 2.2rem var(--display); box-shadow: inset 0 0 0 8px rgba(32,160,105,.08); }
.order-success-mark.is-muted { background: #eeeaf8; color: var(--purple); }
.order-confirmation-card > h1,.order-missing h1,.tracking-search-card h1 { max-width: 760px; margin: 10px 0 14px; font: 700 clamp(3rem,6vw,5.8rem)/.9 var(--display); letter-spacing: -.055em; color: var(--ink); }
.order-lead,.order-missing > p,.tracking-search-card > p { max-width: 700px; color: #6f6878; font-size: 1rem; line-height: 1.7; }
.order-number-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 32px 0 14px; padding: 17px 20px; border-radius: 16px; background: #292161; color: #fff; }
.order-number-row span { color: #dcd7ff; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.order-number-row strong { margin-right: auto; font: 700 1.15rem var(--display); letter-spacing: .04em; }
.order-number-row button { padding: 8px 12px; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; background: transparent; color: #fff; font: 800 .68rem var(--body); cursor: pointer; }
.sandbox-order-note,.tracking-demo-note { display: flex; gap: 12px; align-items: center; padding: 14px 18px; border: 1px solid #f0c55b; border-radius: 14px; background: #fff8dd; color: #6e541b; }
.sandbox-order-note b,.tracking-demo-note b { white-space: nowrap; font: 700 .8rem var(--display); }
.sandbox-order-note span,.tracking-demo-note span { font-size: .76rem; line-height: 1.45; }
.order-summary-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 30px 0 54px; }
.order-summary-grid article { display: flex; min-height: 138px; flex-direction: column; justify-content: center; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fffdfa; }
.order-summary-grid span,.tracking-delivery span { color: #837b8c; font-size: .68rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.order-summary-grid strong,.tracking-delivery b { margin: 8px 0 6px; font: 700 1.15rem var(--display); color: var(--purple); }
.order-summary-grid small,.tracking-delivery small { color: #81798a; line-height: 1.4; }
.order-section-heading { margin: 0 0 17px; }
.order-section-heading h2 { margin: 5px 0 0; font: 700 clamp(1.7rem,3vw,2.5rem)/1 var(--display); }
.confirmed-items,.order-tracking-panel { padding: 30px 0; border-top: 1px solid var(--line); }
.confirmed-order-item { display: grid; grid-template-columns: 76px 1fr auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.confirmed-order-item:last-child { border-bottom: 0; }
.confirmed-order-item img { width: 76px; height: 76px; border-radius: 15px; object-fit: cover; background: #f7f1ec; }
.confirmed-order-item h3 { margin: 0 0 5px; font: 700 1.05rem var(--display); }
.confirmed-order-item p,.confirmed-order-item span { margin: 0; color: #81798a; font-size: .75rem; line-height: 1.5; }
.confirmed-order-item strong { font: 700 1rem var(--display); color: var(--purple); }
.tracking-timeline { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 28px; }
.tracking-step { position: relative; display: grid; gap: 12px; padding-right: 12px; color: #928b9a; }
.tracking-step::before { content: ''; position: absolute; z-index: 0; top: 16px; right: 0; left: 32px; height: 3px; background: #e8e4ec; }
.tracking-step:last-child::before { display: none; }
.tracking-step > span { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border: 3px solid #e8e4ec; border-radius: 50%; background: #fff; font: 800 .7rem var(--body); }
.tracking-step b,.tracking-step small { display: block; }
.tracking-step b { margin-bottom: 5px; font: 700 .82rem var(--display); color: #746d7d; }
.tracking-step small { font-size: .66rem; line-height: 1.35; }
.tracking-step.is-complete::before { background: #23a36e; }
.tracking-step.is-complete > span { border-color: #23a36e; background: #23a36e; color: #fff; }
.tracking-step.is-current b { color: #16724a; }
.order-email-card { margin-top: 34px; padding: 22px 24px; border: 1px solid #bee2cf; border-radius: 18px; background: #eefaf3; color: #24684b; }
.order-email-card b,.order-email-card span { display: block; }
.order-email-card b { font: 700 1rem var(--display); }
.order-email-card span { margin: 5px 0 8px; font-weight: 800; }
.order-email-card p { margin: 0; font-size: .75rem; line-height: 1.55; }
.order-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 32px; }
.order-actions .text-link { margin-left: auto; color: var(--orange); font-weight: 800; }
.tracking-search-card form { margin: 32px 0 18px; }
.tracking-search-card label { display: block; margin-bottom: 9px; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.tracking-search-card form > div { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.tracking-search-card input { min-width: 0; padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); font: 700 .9rem var(--body); text-transform: uppercase; }
.tracking-result,.tracking-empty { margin-top: 28px; padding: clamp(26px,5vw,52px); }
.order-result-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.order-result-head h2 { margin: 5px 0 0; font: 700 clamp(1.6rem,4vw,2.7rem) var(--display); }
.order-result-head > strong { font: 700 1.4rem var(--display); color: var(--purple); }
.tracking-delivery { display: flex; flex-direction: column; margin: 24px 0 36px; }
.tracking-order-items { margin: 38px 0 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.tracking-empty { text-align: center; }
.tracking-empty > span { font-size: 2.3rem; color: var(--orange); }
.tracking-empty h2 { margin: 10px 0 8px; font: 700 1.8rem var(--display); }
.tracking-empty p { margin: 0 auto; max-width: 580px; color: #756e7c; line-height: 1.6; }
html[data-theme="dark"] .order-page { background: radial-gradient(circle at 15% 18%,rgba(255,107,53,.12),transparent 28%),linear-gradient(145deg,#17142c,#211a38); }
html[data-theme="dark"] .order-confirmation-card,html[data-theme="dark"] .order-missing,html[data-theme="dark"] .tracking-search-card,html[data-theme="dark"] .tracking-result,html[data-theme="dark"] .tracking-empty,html[data-theme="dark"] .order-summary-grid article { background: #211c3a; }
html[data-theme="dark"] .order-lead,html[data-theme="dark"] .order-missing > p,html[data-theme="dark"] .tracking-search-card > p { color: #c8c1d9; }
html[data-theme="dark"] .tracking-step > span { background: #211c3a; }
html[data-theme="dark"] .tracking-search-card input { background: #292344; color: #fff; }
@media (max-width: 760px) {
  .order-main { width: min(100% - 24px,980px); padding-top: 116px; }
  .order-summary-grid { grid-template-columns: 1fr; }
  .tracking-timeline { grid-template-columns: 1fr; gap: 0; }
  .tracking-step { grid-template-columns: 34px 1fr; gap: 14px; min-height: 78px; }
  .tracking-step::before { top: 32px; bottom: 0; left: 15px; width: 3px; height: auto; }
  .tracking-step b { margin-top: 5px; }
  .tracking-search-card form > div { grid-template-columns: 1fr; }
  .order-actions { align-items: stretch; flex-direction: column; }
  .order-actions .button { text-align: center; }
  .order-actions .text-link { margin: 8px auto 0; }
}
@media (max-width: 480px) {
  .order-number-row { align-items: flex-start; flex-direction: column; }
  .order-number-row strong { overflow-wrap: anywhere; }
  .sandbox-order-note,.tracking-demo-note { align-items: flex-start; flex-direction: column; }
  .confirmed-order-item { grid-template-columns: 62px 1fr; }
  .confirmed-order-item img { width: 62px; height: 62px; }
  .confirmed-order-item > strong { grid-column: 2; }
  .order-result-head { align-items: flex-start; flex-direction: column; }
}
@media print {
  .order-page { background: #fff; }
  .order-page .site-header,.order-page .site-footer,.order-actions,.sandbox-order-note { display: none !important; }
  .order-main { width: 100%; padding: 0; }
  .order-confirmation-card { border: 0; box-shadow: none; }
}

/* Merchy navigation and customer policies */
.nav-dropdown { position: relative; display: flex; align-items: center; }
.nav-submenu-toggle { display: grid; place-items: center; width: 24px; height: 32px; margin-left: 2px; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.nav-submenu-toggle span { display: block; font: 800 1rem/1 var(--body); transition: transform .2s ease; }
.nav-dropdown.is-open .nav-submenu-toggle span { transform: rotate(180deg); }
.nav-submenu { position: absolute; z-index: 80; top: calc(100% + 12px); left: 50%; width: 290px; padding: 12px; border: 1px solid rgba(52,35,105,.12); border-radius: 20px; background: #fffdfa; color: #2f2768; box-shadow: 0 24px 60px rgba(52,35,105,.2); opacity: 0; visibility: hidden; transform: translate(-50%,-8px); transition: .2s ease; }
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.is-open .nav-submenu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.nav-submenu a { display: block; padding: 11px 13px; border-radius: 12px; text-decoration: none; transition: background .2s ease,color .2s ease; }
.nav-submenu a::after { display: none; }
.nav-submenu a:hover,.nav-submenu a:focus-visible { background: #fff0e7; color: var(--orange); }
.nav-submenu span,.nav-submenu small { display: block; }
.nav-submenu span { font: 700 .82rem var(--display); }
.nav-submenu small { margin-top: 2px; color: #847c8c; font-size: .65rem; font-weight: 500; }
html[data-theme="dark"] .nav-submenu { border-color: rgba(255,107,53,.48); background: #fffaf6; color: #2f2768; box-shadow: 0 28px 70px rgba(0,0,0,.48),0 0 0 3px rgba(255,107,53,.12); }
html[data-theme="dark"] .nav-submenu a:hover,html[data-theme="dark"] .nav-submenu a:focus-visible { background: #ffe9dc; color: #d94c1b; }
html[data-theme="dark"] .nav-submenu small { color: #6f6878; }

.order-help-page { background: radial-gradient(circle at 12% 9%,rgba(255,107,53,.16),transparent 23%),linear-gradient(150deg,#fffaf6,#f3efff 60%,#fff8f2); }
.policy-main { width: min(100% - 40px,1220px); margin: 0 auto; padding: 140px 0 90px; }
.policy-hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr); gap: 40px; align-items: center; padding: clamp(36px,6vw,76px); border: 1px solid rgba(52,35,105,.1); border-radius: 38px; background: rgba(255,255,255,.91); box-shadow: 0 30px 90px rgba(52,35,105,.11); }
.policy-hero h1 { max-width: 830px; margin: 8px 0 20px; font: 700 clamp(3.3rem,6vw,6.3rem)/.9 var(--display); letter-spacing: -.06em; }
.policy-hero > div > p:not(.eyebrow) { max-width: 730px; color: #686170; font-size: clamp(1rem,1.4vw,1.18rem); line-height: 1.75; }
.policy-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.policy-promise { padding: 32px; border-radius: 28px; background: linear-gradient(145deg,#2f2675,#4f46e5); color: #fff; transform: rotate(1.5deg); box-shadow: 0 24px 55px rgba(51,39,122,.24); }
.policy-promise > span { display: block; margin-bottom: 18px; color: #ffcf70; font-size: 2.2rem; }
.policy-promise h2 { margin: 0 0 12px; font: 700 2rem/1 var(--display); }
.policy-promise p { margin: 0; color: #e3e0ff; line-height: 1.65; }
.policy-demo-banner { display: flex; gap: 18px; align-items: center; margin: 24px 0; padding: 17px 22px; border: 1px solid #efc45c; border-radius: 16px; background: #fff8dd; color: #6e541b; }
.policy-demo-banner b { flex: 0 0 auto; font: 700 .82rem var(--display); }
.policy-demo-banner span { font-size: .78rem; line-height: 1.55; }
.policy-quick-nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 24px 0 54px; }
.policy-quick-nav a { display: flex; gap: 14px; align-items: center; min-height: 70px; padding: 16px 18px; border: 1px solid rgba(52,35,105,.1); border-radius: 16px; background: rgba(255,255,255,.78); color: var(--purple); font: 700 .8rem var(--display); text-decoration: none; transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.policy-quick-nav a:hover,.policy-quick-nav a:focus-visible { transform: translateY(-3px); border-color: var(--orange); background: #fff; }
.policy-quick-nav span { color: var(--orange); font-size: .68rem; letter-spacing: .08em; }
.policy-content { overflow: hidden; border: 1px solid rgba(52,35,105,.1); border-radius: 38px; background: rgba(255,255,255,.94); box-shadow: 0 30px 90px rgba(52,35,105,.1); }
.policy-intro { padding: clamp(34px,6vw,72px); border-bottom: 1px solid var(--line); }
.policy-intro h2 { max-width: 760px; margin: 8px 0 15px; font: 700 clamp(2.7rem,5vw,5.2rem)/.92 var(--display); }
.policy-intro > p:not(.eyebrow) { max-width: 760px; color: #716a79; line-height: 1.65; }
.policy-intro .policy-effective { margin-bottom: 8px; color: var(--orange)!important; font-weight: 800; }
.policy-section { display: grid; grid-template-columns: 90px 1fr; gap: 28px; padding: clamp(32px,5vw,66px); border-bottom: 1px solid var(--line); scroll-margin-top: 105px; }
.policy-section-number { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: #f1eeff; color: var(--purple); font: 700 1.1rem var(--display); }
.policy-section h2 { margin: 5px 0 22px; font: 700 clamp(2rem,3.6vw,3.5rem)/.95 var(--display); }
.policy-section ul { margin: 0; padding-left: 20px; color: #645d6d; }
.policy-section li { padding-left: 7px; line-height: 1.7; }
.policy-section li + li { margin-top: 11px; }
.policy-section li::marker { color: var(--orange); }
.policy-highlight { display: flex; flex-direction: column; margin: 0 0 24px; padding: 21px 23px; border-left: 5px solid #23a36e; border-radius: 0 15px 15px 0; background: #eefaf3; color: #24684b; }
.policy-highlight strong { font: 700 1.1rem var(--display); }
.policy-highlight span { margin-top: 5px; font-size: .77rem; line-height: 1.45; }
.policy-inline-link { display: inline-flex; margin-top: 23px; color: var(--orange); font-weight: 800; }
.policy-help-card { display: flex; gap: 32px; align-items: center; justify-content: space-between; padding: clamp(36px,6vw,72px); background: linear-gradient(130deg,#2f2675,#4f46e5); color: #fff; }
.policy-help-card h2 { max-width: 670px; margin: 5px 0 14px; font: 700 clamp(2.4rem,4vw,4.4rem)/.94 var(--display); }
.policy-help-card p:not(.eyebrow) { max-width: 720px; color: #dfdcff; line-height: 1.65; }
.policy-help-card .policy-contact-note { margin-bottom: 0; font-size: .78rem; }
.policy-help-card .button { flex: 0 0 auto; background: var(--orange); }
html[data-theme="dark"] .order-help-page { background: radial-gradient(circle at 12% 9%,rgba(255,107,53,.11),transparent 23%),linear-gradient(150deg,#17142c,#211a38); }
html[data-theme="dark"] .policy-hero,html[data-theme="dark"] .policy-content,html[data-theme="dark"] .policy-quick-nav a { background: rgba(33,28,58,.94); }
html[data-theme="dark"] .policy-hero > div > p:not(.eyebrow),html[data-theme="dark"] .policy-intro > p:not(.eyebrow),html[data-theme="dark"] .policy-section ul { color: #c8c1d9; }
html[data-theme="dark"] .policy-section-number { background: #382960; color: #cfc8ff; }
@media (max-width: 840px) {
  .nav-dropdown { display: grid; grid-template-columns: 1fr auto; }
  .nav-dropdown > a { min-width: 0; }
  .nav-submenu-toggle { width: 48px; height: 48px; margin: 0; }
  .nav-submenu { position: static; grid-column: 1 / -1; width: auto; max-height: 0; padding: 0 8px; border: 0; box-shadow: none; opacity: 1; visibility: visible; overflow: hidden; transform: none; transition: max-height .25s ease,padding .25s ease; }
  .nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu { max-height: 0; padding-block: 0; }
  .nav-dropdown.is-open .nav-submenu { max-height: 430px; padding-block: 8px; transform: none; }
  .nav-submenu a { padding: 10px 12px 10px 25px; }
  .policy-hero { grid-template-columns: 1fr; }
  .policy-promise { transform: none; }
  .policy-quick-nav { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 580px) {
  .policy-main { width: min(100% - 24px,1220px); padding-top: 108px; }
  .policy-hero { padding: 30px 24px; border-radius: 28px; }
  .policy-hero h1 { font-size: clamp(3rem,14vw,4.4rem); }
  .policy-hero-actions { align-items: stretch; flex-direction: column; }
  .policy-demo-banner { align-items: flex-start; flex-direction: column; gap: 5px; }
  .policy-quick-nav { grid-template-columns: 1fr; }
  .policy-content { border-radius: 28px; }
  .policy-section { grid-template-columns: 1fr; gap: 18px; }
  .policy-section-number { width: 52px; height: 52px; border-radius: 15px; }
  .policy-help-card { align-items: flex-start; flex-direction: column; }
}
