:root{--theme-soft:#e6eddf;--theme-accent:#d9e3c8;--theme-ink:#263d37;--theme-primary:#31584c;--theme-bg:#f7f6f0}
:root[data-theme=ocean]{--theme-ink:#173746;--theme-primary:#205b70;--theme-bg:#f4f8fa;--theme-soft:#e0edf2;--theme-accent:#c6e2e9}
:root[data-theme=lavender]{--theme-ink:#382d48;--theme-primary:#624778;--theme-bg:#faf7fc;--theme-soft:#ece3f3;--theme-accent:#dfd0e9}
:root[data-theme=clay]{--theme-ink:#49362e;--theme-primary:#854b35;--theme-bg:#fbf7f2;--theme-soft:#f1e5d9;--theme-accent:#e8cdbb}
:root[data-theme=rose]{--theme-ink:#462f3a;--theme-primary:#81485f;--theme-bg:#fcf7f8;--theme-soft:#f2e3e9;--theme-accent:#e8cdd8}
:root[data-theme=sand]{--theme-ink:#3e3928;--theme-primary:#6c5b28;--theme-bg:#faf8f0;--theme-soft:#eee9d8;--theme-accent:#dfd5ae}
:root[data-theme=ember]{--theme-ink:#292e35;--theme-primary:#b8440d;--theme-bg:#f6f7f8;--theme-soft:#e7e9ed;--theme-accent:#f97316}
.theme-swatch[data-palette=ember]{--a:#292e35;--b:#b8440d;--c:#f6f7f8;--d:#e7e9ed;--e:#f97316}
:root[data-theme=ember] .hero-art{background:radial-gradient(ellipse at 35% 35%,var(--theme-bg),var(--theme-soft))}:root[data-theme=ember] .hero-art:after{background:color-mix(in srgb,var(--theme-accent) 20%,transparent)}:root[data-theme=ember] .promotion-art{background:radial-gradient(ellipse at 20% 80%,var(--theme-primary),transparent 65%),linear-gradient(125deg,var(--theme-ink),#20242b)}
:root{--ink:var(--theme-ink);--green:var(--theme-primary);--cream:var(--theme-bg);--accent:var(--theme-accent);--line:color-mix(in srgb,var(--theme-primary) 18%,white);--muted:color-mix(in srgb,var(--theme-ink) 72%,white)}
body{background:var(--theme-bg);color:var(--theme-ink)}.collection,.closing,.gratitude-section,.session-mind-explanation,.training-modules article,.reiki-visits article,.package-summary span,.faq-category,.news-source{background:var(--theme-soft)}.hero-art{background:radial-gradient(ellipse at 40% 30%,var(--theme-bg),var(--theme-accent))}.hero-art:after{background:var(--theme-accent)}#sessions,.training-section,.reiki-section{background:var(--theme-soft);color:var(--theme-ink)}#sessions h2,#sessions h3,#sessions .eyebrow,#sessions .session-purchase-price strong,.session-purchase-label{color:var(--theme-ink)}.session-purchase-panel{border-color:var(--theme-accent);border-left-color:var(--theme-primary);background:var(--theme-bg)}.training-purchase,.session-purchase-panel .session-purchase-button,.announcement{background:var(--theme-primary)}.button:hover,.session-purchase-panel .session-purchase-button:hover{background:color-mix(in srgb,var(--theme-primary) 85%,black)}.product-image,.floating-note,.gratitude-grid article,.reiki-formats article{background:var(--theme-bg)}.hero-copy p,.training-hero p,.training-heading p,.training-modules p,.reiki-editorial p,.gratitude-heading p,#sessions .muted{color:var(--muted)}
.promotion-banner{display:flex;align-items:center;justify-content:center;gap:18px;position:relative;background:var(--theme-primary);color:white;padding:13px 50px;font-size:13px;text-align:center;isolation:isolate}.promotion-banner strong{font-size:15px}.promotion-banner a{border-bottom:1px solid #ffffff90;white-space:nowrap;font-weight:700}.promotion-close{position:absolute;right:12px;top:10px;border:0;background:none;color:inherit;font-size:23px;line-height:1;min-width:32px;min-height:32px}.promotion-side{position:fixed;z-index:40;right:24px;bottom:24px;width:310px;padding:28px;border-radius:20px;background:var(--theme-bg);color:var(--theme-ink);border:1px solid var(--theme-accent);box-shadow:0 16px 60px #152c352b;overflow:hidden}.promotion-art{height:110px;border-radius:12px;background:radial-gradient(circle at 78% 25%,#ffffffaa 0 6%,transparent 7%),radial-gradient(ellipse at 25% 75%,var(--theme-accent),transparent 65%),linear-gradient(125deg,var(--theme-primary),var(--theme-ink));display:flex;align-items:center;justify-content:space-between;padding:20px;color:white;margin-bottom:18px}.promotion-art b{font:52px Georgia,serif;letter-spacing:-3px}.promotion-art span{font:60px Georgia,serif;opacity:.65}.promotion-side h2{font:26px/1.15 Georgia,serif;letter-spacing:-.5px;margin-bottom:12px}.promotion-side p{font-size:13px;margin:10px 0;color:var(--muted)}.promotion-side small{font-size:11px;display:block;margin:15px 0}.promotion-side .button{width:100%;text-align:center}.promotion-side .promotion-close{color:var(--theme-ink);top:5px;right:5px}.campaign-price{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.campaign-price del{font-size:.7em;font-weight:400;color:var(--muted)}.campaign-price small{background:var(--theme-soft);color:var(--theme-primary);padding:3px 7px;border-radius:12px;font-size:11px}
.marketing-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.marketing-heading h3{font:32px Georgia,serif}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.theme-choice{display:block;position:relative;border:2px solid var(--line);background:white;border-radius:14px;padding:15px;cursor:pointer}.theme-choice:has(input:checked){border-color:var(--theme-primary);box-shadow:0 0 0 2px var(--theme-accent)}.theme-choice input{width:auto;margin-right:7px}.theme-swatch{height:90px;border-radius:8px;margin-bottom:14px;display:flex;overflow:hidden}.theme-swatch i{flex:1}.marketing-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;margin:25px 0}.marketing-panel h3{font-size:22px;margin:0 0 15px}.marketing-panel p{color:var(--muted);font-size:13px}.theme-sequence{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.theme-sequence label{margin:0;flex:1;min-width:150px}.campaign-admin-card{border:1px solid var(--line);border-radius:12px;padding:22px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.campaign-admin-card h4{margin:0 0 8px;font-size:18px}.campaign-admin-card small{color:var(--muted)}.campaign-actions{display:flex;gap:15px;flex-wrap:wrap}.campaign-status{font-size:11px;padding:4px 9px;background:var(--theme-soft);border-radius:12px}.campaign-editor .check input{width:auto}.campaign-editor select[multiple]{min-height:140px}.campaign-editor fieldset{border:1px solid var(--line);border-radius:8px;padding:15px;margin:20px 0}.promotion-close:focus-visible{outline:2px solid currentColor}.marketing-message{min-height:24px;margin:15px 0}
.theme-swatch[data-palette=sage]{--a:#263d37;--b:#31584c;--c:#f7f6f0;--d:#e6eddf;--e:#d9e3c8}.theme-swatch[data-palette=ocean]{--a:#173746;--b:#205b70;--c:#f4f8fa;--d:#e0edf2;--e:#c6e2e9}.theme-swatch[data-palette=lavender]{--a:#382d48;--b:#624778;--c:#faf7fc;--d:#ece3f3;--e:#dfd0e9}.theme-swatch[data-palette=clay]{--a:#49362e;--b:#854b35;--c:#fbf7f2;--d:#f1e5d9;--e:#e8cdbb}.theme-swatch[data-palette=rose]{--a:#462f3a;--b:#81485f;--c:#fcf7f8;--d:#f2e3e9;--e:#e8cdd8}.theme-swatch[data-palette=sand]{--a:#3e3928;--b:#6c5b28;--c:#faf8f0;--d:#eee9d8;--e:#dfd5ae}.theme-swatch i:nth-child(1){background:var(--a)}.theme-swatch i:nth-child(2){background:var(--b)}.theme-swatch i:nth-child(3){background:var(--c)}.theme-swatch i:nth-child(4){background:var(--d)}.theme-swatch i:nth-child(5){background:var(--e)}
.promotion-preview{max-width:330px;margin:25px auto;background:var(--theme-bg);border:1px solid var(--theme-accent);padding:25px;border-radius:18px;box-shadow:0 10px 35px #152c3515}.promotion-preview p{font-size:14px;margin:15px 0}.promotion-preview small{display:block;margin:15px 0}
body:has(dialog[open]) .promotion-side{display:none}@media(max-width:760px){body:has(#statistics-choice) .promotion-side{display:none}}
header{flex-wrap:wrap}header>.brand{white-space:nowrap;letter-spacing:1px}header>nav{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:18px}header>.header-actions{margin-left:auto;flex-shrink:0}header>nav a{white-space:nowrap}.promotion-banner{flex-wrap:wrap}.promotion-banner span{max-width:650px}@media(max-width:600px){header>.brand{font-size:21px;gap:8px}header>nav{gap:12px;font-size:12px}header{gap:15px;padding:20px 5%}.promotion-side{max-width:calc(100vw - 24px)}}
.button:not(.secondary),.announcement,.promotion-banner,.session-purchase-panel .session-purchase-button{color:var(--theme-on-primary,#fff)}.training-purchase,.session-section{background:var(--theme-primary);color:var(--theme-on-primary,#fff)}.training-purchase h3,.training-purchase p,.training-purchase .eyebrow{color:inherit}.palette-status{display:block;margin:9px 0;color:var(--muted);font-size:11px}.palette-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;align-items:center}.palette-actions .text-button{font-size:12px;text-decoration:underline;text-underline-offset:3px}.palette-actions button:disabled{opacity:.4;cursor:default}.palette-inputs{display:grid;gap:13px;margin:24px 0}.palette-input-row{display:grid;grid-template-columns:1fr 190px;gap:16px;align-items:center}.palette-input-row label{margin:0}.palette-input-row>div{display:flex;gap:10px}.palette-input-row input[type=color]{width:56px;height:44px;padding:4px;cursor:pointer;flex-shrink:0}.palette-input-row input[type=text]{font-family:monospace;width:120px}.palette-sample{background:var(--theme-soft);border:1px solid var(--line);padding:26px;border-radius:14px;color:var(--theme-ink)}.palette-sample h3{font:28px Georgia,serif;margin-bottom:13px}.palette-sample p{margin:12px 0 20px;font-size:14px}.palette-accent-line{height:7px;background:var(--theme-accent);margin-top:22px;border-radius:5px}#palette-contrast{font-size:12px;margin:16px 0;color:var(--theme-ink)}@media(max-width:520px){.palette-input-row{grid-template-columns:1fr;gap:6px}.palette-input-row input[type=text]{width:150px}}
@media(max-width:760px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-panel{padding:20px}.campaign-admin-card{align-items:start;flex-direction:column}.promotion-banner{flex-wrap:wrap;gap:5px;padding:12px 45px 12px 20px}.promotion-banner span{display:none}.promotion-side{right:12px;bottom:12px;width:280px}.promotion-art{height:80px}.promotion-side h2{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.training-purchase .button{background:var(--theme-bg);color:var(--theme-ink)}.training-purchase .button:hover{background:var(--theme-soft)}
/* Offer placement: compact by default, all four corners configurable. */
.promotion-side{left:20px;right:auto;bottom:20px;top:auto;width:290px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:22px;border-radius:16px}
.promotion-side[data-position=bottom-right]{left:auto;right:20px}.promotion-side[data-position=top-left]{top:150px;bottom:auto}.promotion-side[data-position=top-right]{left:auto;right:20px;top:150px;bottom:auto}
.promotion-side[data-size=compact]{width:270px;padding:18px}.promotion-side[data-size=compact] .promotion-art{height:55px;margin-bottom:12px;padding:10px 14px}.promotion-side[data-size=compact] .promotion-art b{font-size:32px;letter-spacing:-1px}.promotion-side[data-size=compact] .promotion-art span{font-size:32px}.promotion-side[data-size=compact] h2{font-size:21px;margin-bottom:8px}.promotion-side[data-size=compact] p{font-size:12px;line-height:1.5;margin:8px 0}.promotion-side[data-size=compact] small{margin:10px 0;font-size:10px}.promotion-side[data-size=compact] .button{padding:11px 14px;font-size:12px}.promotion-side .promotion-close{min-width:32px;min-height:32px;top:2px;right:2px}
@media(max-width:600px){.promotion-side,.promotion-side[data-size=compact]{width:230px;left:12px;bottom:12px;padding:15px;max-height:45dvh}.promotion-side[data-position=bottom-right],.promotion-side[data-position=top-right]{left:auto;right:12px}.promotion-side[data-position=top-left],.promotion-side[data-position=top-right]{top:140px;bottom:auto}.promotion-side .promotion-art{display:none}.promotion-side h2,.promotion-side[data-size=compact] h2{font-size:18px}.promotion-side p{font-size:12px;line-height:1.4}.promotion-side .button{padding:10px}.promotion-side small{margin:8px 0}}

/* Foreground follows the actual hover surface, including secondary buttons. */
html .button:hover:not(:disabled),html .button:focus-visible:not(:disabled),html .session-purchase-button:hover:not(:disabled){background:var(--theme-hover,#173e4b)!important;color:var(--theme-on-hover,#fff)!important;border-color:var(--theme-hover,#173e4b)!important;opacity:1;box-shadow:0 3px 9px #102a351c}
html .slot:hover:not(:disabled),html .bank-copy:hover:not(:disabled),html .header-actions .cart-button:hover:not(:disabled){background:var(--theme-hover,#173e4b);color:var(--theme-on-hover,#fff);border-color:var(--theme-hover,#173e4b)}
html .text-button:hover:not(:disabled){color:var(--theme-ink,var(--ink));text-decoration:underline;text-underline-offset:4px}
button:focus-visible,a.button:focus-visible{outline:3px solid var(--theme-ink,#173e4b);outline-offset:3px}
.palette-button-states{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.palette-button-states .sample-hover{background:var(--theme-hover,#173e4b)!important;color:var(--theme-on-hover,#fff)!important}.palette-readability-note{padding:18px;border:1px solid var(--line);border-radius:8px;margin:20px 0;background:var(--theme-soft);color:var(--theme-ink)}

.slot.selected,.header-actions .cart-button b{color:var(--theme-on-primary,#fff)}
