/* Shared site chrome: identical metrics prevent navigation jumps between routes. */
x-site-header,x-mobile-bottom { display:contents; }
.site-header { height:80px; }
.site-header .header-inner { width:min(1180px,calc(100% - 80px)); gap:24px; }
.site-header .brand { gap:12px; }
.site-header .brand-mark { width:31px; height:40px; font-size:24px; }
.site-header :is(.brand-word,.brand-name) { font:25px/1.1 var(--serif); }
.site-header :is(.brand-word,.brand-name) small { font:10px/1.5 var(--sans,var(--body)); margin-top:6px; }
.site-header .desktop-nav { gap:4px; }
.site-header .desktop-nav a,.site-header :is(.account-btn,.header-action) { font-size:13px; }
.site-header :is(.account-btn,.header-action) { display:flex; align-items:center; gap:7px; min-height:44px; padding:0; white-space:nowrap; }
.site-header :is(.account-btn,.header-action) svg { width:18px; height:18px; }
.site-header :is(.brand-word,.brand-name) { display:none; }
.site-header .brand { min-width:31px; }
.site-header .desktop-nav a { isolation:isolate; padding:0 12px; border-inline:1px solid transparent; transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease; }
.site-header .desktop-nav a:hover { color:color-mix(in srgb,var(--gold) 58%,white); background:color-mix(in srgb,var(--gold) 5%,transparent); }
.site-header .desktop-nav a[aria-current="page"] { color:#f0e6c8; font-weight:600; background:transparent; border-inline-color:transparent; border-top:1px solid transparent; box-shadow:none; }
.site-header .desktop-nav a[aria-current="page"]::before { content:none; }
.site-header .desktop-nav a[aria-current="page"]::after { content:""; position:absolute; left:12px; right:12px; bottom:0; height:3px; background:linear-gradient(90deg,transparent,var(--gold) 16%,var(--gold) 84%,transparent); }
.site-header .desktop-nav a:focus-visible { outline:2px solid color-mix(in srgb,var(--gold) 86%,white); outline-offset:-3px; }
.site-header .mobile-panel a[aria-current="page"] { padding-left:10px; border-left:3px solid var(--gold); background:color-mix(in srgb,var(--gold) 9%,transparent); color:color-mix(in srgb,var(--gold) 72%,white); font-weight:600; box-shadow:inset 0 -1px color-mix(in srgb,var(--gold) 18%,transparent); }

/* Keep one clear login entry in the account page: the header remains the
 * persistent entry point, while the empty-state card stays informational. */
#account-view > .empty > button[data-login] { display:none; }

/* Improve secondary copy contrast without disturbing the dark/gold theme. */
html:not([data-theme="gold"]) body[data-page] :is(.hint, .field small, .status-note, .service-note, .calendar-footnote, .login-hint) { color:#586b5d; }
html:not([data-theme="gold"]) body[data-page] :is(input, textarea)::placeholder { color:#718071; opacity:1; }

.service-preview { display:grid; grid-template-columns:minmax(74px,auto) minmax(0,1fr); gap:9px 14px; margin:0; }
.service-preview dt { color:var(--muted); font-size:12px; }
.service-preview dd { margin:0; color:var(--text); font-size:13px; line-height:1.65; overflow-wrap:anywhere; }

.account-record-list { display:grid; gap:12px; margin-top:24px; }
.account-record { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border:1px solid var(--line); background:color-mix(in srgb,var(--paper2) 62%,white); }
.account-record h3 { margin:6px 0; font-size:20px; }
.account-record p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.account-record-meta { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; text-align:right; }
.account-record-meta span { color:var(--muted); font-size:11px; }
.account-record-meta strong { font:20px var(--serif); color:var(--ink); }
.account-detail { padding:24px 0; }
.account-detail > h2 { margin:18px 0 22px; }
.account-detail > h3 { margin:24px 0 10px; }
.account-local-data { margin-top:20px; }
.account-local-data summary { cursor:pointer; color:var(--ink); font-weight:600; }

@media(max-width:680px){.service-preview{grid-template-columns:1fr;gap:3px 0}.service-preview dd{margin-bottom:8px}}
@media(max-width:680px){.account-record{align-items:flex-start;flex-direction:column;padding:16px}.account-record-meta{justify-content:flex-start;text-align:left;width:100%}.account-record-meta strong{margin-right:auto}.account-record h3{font-size:18px}.account-detail{padding-top:18px}}

/* Local corrections and scene behavior. Do not change the baseline section layout. */
body[data-page] :is(.field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),.field select,.compact-select select,.demo-tools select) { height:48px; min-height:48px; line-height:1.5; padding-block:10px; }
body[data-page] .field textarea { min-height:112px; height:auto; }
body[data-page] .check input[type="checkbox"] { width:18px; height:18px; min-height:18px; padding:0; flex:0 0 18px; }
body[data-page] .field-note { min-height:48px; display:flex; align-items:center; padding:9px 12px; background:color-mix(in srgb,var(--paper2) 62%,transparent); border-left:2px solid var(--line); }
body[data-page] .field :is(input,select,textarea):focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.access-strip { display:grid; grid-template-columns:44px minmax(0,1.2fr) minmax(260px,1fr); gap:16px; align-items:center; margin-bottom:28px; padding:16px 18px; border:1px solid #bd9a4b; border-left-width:4px; background:#fff8e8; min-width:0; }
.access-strip[data-access-kind="paid"] { border-left-color:#985642; background:#f3e8e3d9; }
.access-strip[data-access-kind="quota"] { border-left-color:#9a7543; background:#f2eadbd9; }
.access-strip[data-access-kind="paid"] .access-main strong { color:#853f35; }
.access-strip[data-access-kind="quota"] .access-main strong { color:#765824; }
html[data-theme="gold"] .access-strip[data-access-kind="paid"],html[data-theme="gold"] .access-strip[data-access-kind="quota"] { background:#2b251b; border-color:#ae91564d; }
html[data-theme="gold"] .access-strip[data-access-kind="paid"] { border-left-color:#dc7663; }
html[data-theme="gold"] .access-strip[data-access-kind="quota"] { border-left-color:#d2ae6d; }
html[data-theme="gold"] :is(.access-strip[data-access-kind="paid"],.access-strip[data-access-kind="quota"]) .access-main strong { color:#e4c78f; }
.access-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid #a4b198; color:#7e6b40; }
.access-icon svg { width:20px; height:20px; }
.access-main { min-width:0; }.access-main span,.access-main strong { display:block; }.access-main strong { overflow-wrap:anywhere; }.access-main .availability-badge { display:inline-flex; margin-top:7px; }
.access-main span { color:var(--muted); font-size:10px; }
.access-main strong { color:var(--ink); font:20px/1.35 var(--serif); overflow-wrap:anywhere; }
.access-strip>p { color:#3c503f; font-size:12px; line-height:1.7; min-width:0; overflow-wrap:anywhere; }.access-strip>p a { color:#356747; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.calendar-term { display:inline-block; white-space:nowrap; }
.calendar-line p .calendar-term + .calendar-term { margin-left:.6em; }
.calendar-toolbar .field { min-width:190px; }
.week-strip button { color:var(--ink); background:#f6f8ee; }
.week-strip button small { color:var(--muted); }
.week-strip button strong { color:var(--ink); font-variant-numeric:tabular-nums; }
.week-strip button[aria-pressed="true"] { color:#e7d8af; background:var(--ink); border-color:var(--ink); }
.week-strip button[aria-pressed="true"] :is(small,strong) { color:inherit; }
.style-picker label span { position:relative; display:flex; align-items:center; justify-content:center; min-height:48px; padding:9px 34px 9px 12px; }
.style-picker input:checked+span { border-color:#27483a; background:#27483a; color:#f3e7c6; box-shadow:inset 0 0 0 1px #78906a,0 6px 16px #1a2f271f; font-weight:600; }
.style-picker input:checked+span::after { content:"✓"; position:absolute; right:11px; display:grid; place-items:center; width:18px; height:18px; border:1px solid #d2bd84; border-radius:50%; color:#f1d996; font:12px/1 var(--sans); }
html[data-theme="gold"] .style-picker input:checked+span { border-color:#c2a064; background:#493923; color:#f2d69d; box-shadow:inset 0 0 0 1px #c2a064,0 6px 16px #0004; }
/* Almanac emphasis uses real library data, not a synthetic fortune grade. */
.calendar-heading { position:relative; padding:20px 22px; background:color-mix(in srgb,var(--paper2) 68%,white); border-left:3px solid #8a9a70; }
.day-context { display:inline-block; margin-bottom:5px; color:#806d45; font-size:12px; }
.calendar-box { border:1px solid var(--line); border-top-width:3px; }
.calendar-box-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.calendar-box-title>span { display:grid; place-items:center; width:38px; height:38px; font:22px var(--serif); border:1px solid currentColor; }
.calendar-box-title>small { color:var(--muted); font-size:11px; }
.yi-box { border-top-color:#6f8c61; background:color-mix(in srgb,#e2ead9 68%,var(--paper)); }
.yi-box .calendar-box-title>span { color:#526f48; }
.ji-box { border-top-color:#ad7666; background:color-mix(in srgb,#eee1dc 68%,var(--paper)); }
.ji-box .calendar-box-title>span { color:#985746; }
.almanac-tags { display:flex; flex-wrap:wrap; gap:9px; }
.almanac-tag { display:inline-flex; align-items:center; min-height:34px; padding:5px 11px; border:1px solid var(--line); border-radius:3px; background:#fffef9b8; font-size:13px; }
.yi-box .almanac-tag { border-color:#8ba17e; color:#465e40; }
.ji-box .almanac-tag { border-color:#c39a8d; color:#864c40; }
.almanac-fact { padding:17px 18px; border:1px solid var(--line); background:#f8f9f1b8; }
.almanac-fact[data-kind="auspicious"] { border-left:3px solid #6f8c61; background:#edf2e8; }
.almanac-fact[data-kind="caution"] { border-left:3px solid #ad7666; background:#f3e9e5; }
.almanac-fact[data-kind="auspicious"] h3 { color:#526f48; }
.almanac-fact[data-kind="caution"] h3 { color:#985746; }
.bottom-nav a[aria-current="page"] { color:var(--red); }
dialog { overscroll-behavior:contain; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.wish-stage .scene-tools { position:absolute; left:12px; right:12px; top:10px; display:flex; justify-content:space-between; pointer-events:none; }
.scene-tools button,.scene-sound { width:44px; height:44px; display:inline-grid; place-items:center; border:0; background:transparent; color:#d4bf8c; pointer-events:auto; }
.scene-tools button:focus-visible { outline-color:#f0d9a1; }
.lamp-object { position:relative; width:100%; max-width:380px; aspect-ratio:1; margin:0 auto; }
.lamp-object::before { content:""; position:absolute; z-index:0; inset:19%; border-radius:50%; background:radial-gradient(circle,#ffd47a55 0,#df9d4430 36%,transparent 70%); opacity:.34; transform:scale(.82); transition:opacity .5s ease,transform .7s ease; pointer-events:none; }
.lamp-object :is(.wish-lamp,.lamp-live) { z-index:1; }
.lamp-object .wish-lamp { position:relative; width:100%; height:100%; max-width:none; margin:0; filter:brightness(.56) saturate(.6); }
.lamp-live { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; mask-image:radial-gradient(ellipse closest-side,#000 80%,transparent 100%); }
.wish-stage[data-state="lit"] .lamp-live { opacity:1; }
.wish-stage[data-state="lit"] .wish-lamp { visibility:hidden; }
.lamp-flame { position:absolute; z-index:2; left:46.3%; top:28%; width:5.5%; height:15%; opacity:0; transform-origin:50% 95%; clip-path:polygon(51% 0,68% 32%,89% 64%,100% 83%,79% 100%,21% 100%,0 83%,17% 54%,38% 25%); background:linear-gradient(0deg,#f39e35,#fff2a8 32%,#fffde8 65%,#ffd477); filter:drop-shadow(0 0 8px #f8a73f); pointer-events:none; }
.wish-stage[data-state="lighting"] .lamp-object::before,.wish-stage[data-state="lit"] .lamp-object::before { opacity:.72; transform:scale(1.08); }
.wish-stage[data-state="lighting"] .lamp-flame,.wish-stage[data-state="lit"] .lamp-flame { opacity:.8; }
.wish-stage[data-state="lit"] .lamp-flame { animation:flame-flicker 2.8s ease-in-out infinite; }
.water-ripple { position:absolute; left:17%; bottom:23%; width:66%; height:10%; border:1px solid #f5c77b88; border-radius:50%; opacity:0; pointer-events:none; }
.wish-stage[data-state="lighting"] .water-ripple { animation:water-spread 1.7s ease-out .5s both; }
#wish-scene-status { min-height:22px; font-size:12px; color:#c4b88f; margin-top:10px; }
#wish-preview-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
#wish-review-dialog .dialog-content { padding:22px; }
#wish-review-dialog dl { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px 18px; }
#wish-review-dialog dt { color:var(--muted); }
#wish-review-dialog dd { margin:0; overflow-wrap:anywhere; }
#wish-review-dialog .primary { width:100%; }
.wall-item { position:relative; }
.wall-item .wall-detail { position:absolute; right:10px; bottom:6px; width:44px; height:44px; display:grid; place-items:center; border:0; background:none; color:var(--muted); }
.wall-dialog-content { text-align:center; padding:22px; }
.wall-dialog-content img { width:170px; height:170px; margin-inline:auto; }
.wall-dialog-content blockquote { font:24px/1.85 var(--serif); color:var(--ink); margin:16px 0; }
.wall-dialog-content small,.wall-dialog-content>p { font-size:12px; color:var(--muted); }
/* Wish themes use color as identity, never as efficacy or price hierarchy. */
:is([data-lamp-tone="amber"],[data-tone="amber"]) { --lamp-accent:#c69a48; --lamp-filter:sepia(.42) saturate(.72) hue-rotate(352deg) brightness(1.03); }
:is([data-lamp-tone="jade"],[data-tone="jade"]) { --lamp-accent:#4f8b72; --lamp-filter:hue-rotate(68deg) saturate(.72) brightness(.9); }
:is([data-lamp-tone="rose"],[data-tone="rose"]) { --lamp-accent:#b44355; --lamp-filter:hue-rotate(318deg) saturate(1.38) brightness(.91); }
:is([data-lamp-tone="blue"],[data-tone="blue"]) { --lamp-accent:#557f9e; --lamp-filter:hue-rotate(190deg) saturate(.78) brightness(.92); }
:is([data-lamp-tone="plum"],[data-tone="plum"]) { --lamp-accent:#93657a; --lamp-filter:hue-rotate(286deg) saturate(.72) brightness(.94); }
:is([data-lamp-tone="moss"],[data-tone="moss"]) { --lamp-accent:#788966; --lamp-filter:hue-rotate(42deg) saturate(.64) brightness(.93); }
.lamp-option { min-height:86px; }
.lamp-option svg { color:var(--lamp-accent); }
.lamp-option strong,.lamp-option small { display:block; }
.lamp-option strong { margin-top:7px; font:16px/1.4 var(--serif); }
.lamp-option small { margin-top:4px; color:var(--muted); font:11px/1.5 var(--sans); }
.lamp-choices input:checked+.lamp-option { border-color:var(--lamp-accent); box-shadow:inset 0 0 0 1px var(--lamp-accent); }
.duration-choices { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
.duration-choices > label { display:flex; }
.duration-choices > label > span { display:flex; flex:1; flex-direction:column; gap:4px; min-height:80px; padding:8px; background:#f8f3e6; border-color:#d7ccb0; }
.duration-choices input:checked+span { border-color:#b98936; background:#eee2c5; color:var(--ink); box-shadow:inset 0 0 0 1px #b98936; }
.duration-choices .price-emphasis { min-height:0; margin-top:auto; padding:4px 6px; align-content:center; line-height:1.25; font-variant-numeric:tabular-nums; }
@media(min-width:761px) { .duration-choices .price-emphasis { white-space:nowrap; } }
.wish-stage .lamp-object img,.wall-item .wall-lamp img,#wall-dialog .wall-dialog-content img { filter:var(--lamp-filter); }
.wish-stage[data-state="idle"] .wish-lamp { filter:var(--lamp-filter) brightness(.72); }
.wish-wall { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:20px; background:var(--ink) url('ink-landscape.jpg') center/cover; }
.wall-item { padding:14px; overflow:hidden; background:#173229; border-color:#71866b; color:#eee5c8; }
.wall-open { width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:center; }
.wall-lamp { display:block; position:relative; width:min(100%,145px); aspect-ratio:1; margin:0 auto; }
.wall-lamp::after { content:""; position:absolute; inset:24%; border-radius:50%; background:var(--lamp-accent); opacity:.18; filter:blur(14px); pointer-events:none; }
.wall-lamp img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; mask-image:radial-gradient(ellipse closest-side,#000 78%,transparent 100%); animation:wall-lamp-glow 4.2s ease-in-out infinite; }
.wall-item:nth-child(2n) .wall-lamp img { animation-delay:-1.4s; }
.wall-item:nth-child(3n) .wall-lamp img { animation-delay:-2.7s; }
.wall-theme { display:block; margin-top:-4px; color:#d2bb81; font-size:12px; }
.wall-open strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:58px; margin:9px 0 12px; font:17px/1.7 var(--serif); }
.wall-item footer { border-top:1px solid #8ba08155; padding-top:10px; color:#bdc8ae; }
.wall-item .text-action { color:#d4c28f; min-height:36px; margin-top:4px; }
#wall-dialog .wall-dialog-content img { transition:filter .2s ease; }
@keyframes wall-lamp-glow { 0%,100% { opacity:.86; transform:scale(.985); } 50% { opacity:1; transform:scale(1.02); } }
.master-picker { border:0; padding:0; margin:0 0 24px; }
.master-picker legend { width:100%; margin-bottom:14px; color:var(--ink); font:18px/1.45 var(--serif); font-weight:500; }
.master-picker legend small { margin-left:10px; color:var(--muted); font:11px/1.5 var(--sans); font-weight:400; }
.master-note { margin-top:12px; padding-left:10px; border-left:2px solid #aa9567; color:var(--muted); font-size:11px; }
.bazi-birth-step { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.master-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.master-options label { position:relative; min-width:0; }
.master-options input { position:absolute; z-index:1; width:1px; height:1px; opacity:0; }
.master-card { --master-accent:#9a7438; position:relative; display:flex; flex-direction:column; min-height:184px; height:100%; overflow:hidden; padding:16px; border:1px solid color-mix(in srgb,var(--master-accent) 38%,var(--line)); background:linear-gradient(145deg,#faf9f2 0%,#eef2e7 100%); transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease; }
.master-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--master-accent); opacity:.72; }
.master-card[data-master-tone="gentle"] { --master-accent:#a5656a; }
.master-card[data-master-tone="plain"] { --master-accent:#587968; }
.master-card-head { display:flex; align-items:center; gap:11px; min-width:0; }
.master-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border:1px solid color-mix(in srgb,var(--master-accent) 62%,var(--line)); background:color-mix(in srgb,var(--master-accent) 9%,white); color:var(--master-accent); }
.master-icon svg { width:19px; height:19px; }
.master-avatar { background-repeat:no-repeat; background-size:cover; border:0; border-radius:50%; background-color:transparent; flex-basis:58px; width:58px; height:58px; overflow:hidden; box-shadow:0 4px 12px color-mix(in srgb,var(--master-accent) 18%,transparent); }
.master-avatar-scholar { background-image:url('./master-scholar.webp'); }
.master-avatar-gentle { background-image:url('./master-gentle.webp'); }
.master-avatar-plain { background-image:url('./master-plain.webp'); }
.master-copy { flex:1; min-width:0; }
.master-copy strong,.master-copy small { display:block; }
.master-copy strong { font:18px/1.4 var(--serif); color:var(--ink); }
.master-copy small { margin-top:2px; color:var(--master-accent); font-size:11px; }
.master-selected { display:grid; place-items:center; flex:0 0 24px; width:24px; height:24px; border:1px solid color-mix(in srgb,var(--master-accent) 45%,var(--line)); border-radius:50%; color:var(--master-accent); opacity:.28; transform:scale(.86); transition:opacity .16s ease,transform .16s ease,background-color .16s ease,color .16s ease; }
.master-selected svg { width:13px; height:13px; stroke-width:2; }
.master-specialty { display:block; margin-top:16px; color:color-mix(in srgb,var(--master-accent) 75%,var(--ink)); font:16px/1.45 var(--serif); }
.master-description { display:block; margin-top:6px; color:var(--muted); font-size:11px; line-height:1.75; }
.master-options input:checked+.master-card { border-color:var(--master-accent); background:linear-gradient(145deg,color-mix(in srgb,var(--master-accent) 14%,#fffdf6) 0%,color-mix(in srgb,var(--master-accent) 10%,#edf1e6) 100%); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--master-accent) 68%,transparent),0 10px 26px color-mix(in srgb,var(--master-accent) 20%,transparent); transform:translateY(-2px); }
.master-options input:checked+.master-card .master-selected { background:var(--master-accent); color:#fffaf0; opacity:1; transform:scale(1); }
.master-options input:focus-visible+.master-card { outline:2px solid var(--red); outline-offset:3px; }
html[data-theme="gold"] .master-card { background:linear-gradient(145deg,#2c271f 0%,#242019 100%); }
html[data-theme="gold"] .master-options input:checked+.master-card { background:linear-gradient(145deg,color-mix(in srgb,var(--master-accent) 22%,#2c271f) 0%,#29231b 100%); }
html[data-theme="gold"] .master-specialty { color:color-mix(in srgb,var(--master-accent) 72%,#f2d69d); }
.master-reading { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.master-reading strong { font:18px/1.4 var(--serif); color:var(--ink); }
.master-reading span { padding-left:14px; border-left:1px solid var(--line); color:var(--muted); font-size:11px; }
.naming-form>h2 { margin:5px 0 18px; }
.service-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.service-mode-grid button { display:flex; align-items:center; gap:14px; min-height:88px; padding:16px; border:1px solid var(--line); background:#f3f5eb; text-align:left; }
.service-mode-grid button>svg { width:24px; height:24px; color:#8a7447; }
.service-mode-grid button>span { min-width:0; }
.service-mode-grid strong,.service-mode-grid small { display:block; }
.service-mode-grid strong { font:18px/1.4 var(--serif); color:var(--ink); }
.service-mode-grid small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.6; }
.service-mode-grid button[aria-pressed="true"] { border-color:#61744e; background:#e6eadc; box-shadow:inset 0 0 0 1px #7d916d; }
.naming-fields-step { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.dream-prompts { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.dream-prompts-heading { display:flex; align-items:baseline; gap:10px; margin-bottom:10px; }
.dream-prompts-heading>span { color:var(--ink); font:18px/1.4 var(--serif); }
.dream-prompts-heading small { color:var(--muted); font-size:11px; }
.dream-prompt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.dream-prompt-grid button { display:flex; align-items:flex-start; justify-content:space-between; min-height:78px; padding:11px 12px; border:1px solid var(--line); background:#f7f9f0; color:var(--ink); text-align:left; }
.dream-prompt-grid button:hover { border-color:#899b76; background:#e9eee1; }
.dream-prompt-grid button:focus-visible { outline:2px solid #a99561; outline-offset:2px; }
.dream-prompt-grid button>span { display:block; min-width:0; }
.dream-prompt-grid button strong,.dream-prompt-grid button small { display:block; }
.dream-prompt-grid button strong { font:16px/1.4 var(--serif); }
.dream-prompt-grid button small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.55; }
.dream-prompt-grid button>svg { flex:0 0 auto; width:15px; height:15px; margin-top:3px; color:#8a7447; }
.dream-feeling-label { margin-top:24px; }
.dream-directory { margin-top:28px; }
.dream-category-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 12px; }
.dream-category-tabs button { padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:#f7f9f0; color:var(--muted); font-size:12px; }
.dream-category-tabs button:hover { border-color:#899b76; color:var(--ink); }
.dream-category-tabs button[aria-pressed="true"] { border-color:#61744e; background:#e6eadc; color:var(--ink); box-shadow:inset 0 0 0 1px #7d916d; }
.dream-grade-note { color:var(--muted); font-size:11px; line-height:1.7; }
.dream-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dream-topic-item { min-height:74px; padding:16px 18px; }
.dream-topic-copy { min-width:0; flex:1; }
.dream-topic-copy strong { display:block; color:var(--ink); font:19px/1.45 var(--serif); }
.dream-topic-copy small { display:block; margin-top:4px; color:var(--muted); font:11px/1.4 var(--sans); }
.dream-grade { display:inline-block; color:#8a7447; font:18px/1.4 var(--serif); white-space:nowrap; }
.dream-grade.grade-top { color:var(--red); }
.dream-grade.grade-good { color:#a37b32; }
.dream-grade.grade-mid { color:#8a7447; }
.dream-grade.grade-neutral { color:var(--muted); }
.dream-entry-source { color:var(--muted); font-size:12px; }
.dream-entry-note { margin-top:22px; padding:12px 14px; border-left:3px solid #a99561; background:#eef1e5; color:var(--muted); font-size:12px; line-height:1.7; }
.dream-entry-dialog .dialog-head { align-items:flex-start; }
.dream-entry-dialog .dialog-head h2 { margin:3px 0 5px; }
.dream-entry-dialog .dialog-head>div { min-width:0; }
.dream-entry-dialog .dialog-content { line-height:1.9; }
.dream-moods { margin-top:8px; }
.dream-reading { margin-top:40px; }
.dream-clues { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.dream-clues article { min-width:0; padding:18px; border:1px solid var(--line); background:#f7f9f0; }
.dream-clues article>span { color:#8a7447; font-size:11px; }
.dream-clues h3 { margin:7px 0 9px; font-size:19px; }
.dream-clues p { color:var(--muted); font-size:12px; line-height:1.8; }
.reflection-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.reflection-list p { padding-left:13px; border-left:2px solid #a99561; }
.reflection-list strong,.reflection-list span { display:block; }
.reflection-list strong { margin-bottom:6px; color:var(--ink); font:16px/1.5 var(--serif); }
.reflection-list span { color:var(--muted); font-size:11px; }
.ritual-question-step { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.coin-stage { display:block; min-height:390px; padding:18px; }
.divination-stage-head { display:flex; align-items:center; justify-content:space-between; width:100%; padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }
.divination-stage-head strong { color:#806d43; font:18px Georgia,serif; }
.divination-stage-body { display:grid; grid-template-columns:150px minmax(0,1fr); gap:25px; align-items:center; width:100%; min-height:270px; }
.divination-stage-body .coins { justify-content:center; }
#yao-progress { display:flex; flex-direction:column; justify-content:center; gap:9px; min-height:246px; }
.yao-progress-row { display:grid; grid-template-columns:52px minmax(100px,180px) 36px; gap:12px; align-items:center; }
.yao-progress-row>span,.yao-progress-row>small { color:var(--muted); font-size:10px; }
.yao-progress-row .yao { display:flex; gap:10px; }
.yao-progress-row .yao i { display:block; width:100%; height:8px; background:#627e55; }
.yao-progress-row .yao.broken i { width:calc(50% - 5px); }
#divination-guide { min-height:23px; padding-top:12px; border-top:1px solid var(--line); color:#6e7557; font-size:12px; text-align:center; }
.quiet-player .section-label { color:#dec98d; }
.quiet-player :is(#breath-label,#meditate-status,.volume-control) { color:#e0e7d5; font-size:13px; }
.quiet-player #meditate-status { font-weight:500; }
.quiet-player #timer-options button:not([aria-pressed="true"]) { background:#f4f6ee; border-color:#d7ddcf; color:#1a2f27; font-weight:600; }
.quiet-player #timer-options button[aria-pressed="true"] { border-color:#d4bc7c; color:#f4e9c8; font-weight:600; }
.meditate-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; max-width:360px; margin:4px auto 12px; }
.meditate-progress progress { width:100%; height:7px; accent-color:#d3bd83; }
.meditate-progress span { color:#e3ead8; font-size:11px; font-weight:500; white-space:nowrap; }
#timer-reset { width:48px; padding:0; color:#f1e6c6; }
.practice-list { display:grid; gap:9px; margin:16px 0 25px; }
.practice-list button { display:flex; align-items:center; gap:14px; width:100%; min-height:70px; padding:13px 14px; border:1px solid var(--line); background:#f5f7ee; text-align:left; }
.practice-list button>svg { width:22px; height:22px; color:#8b7547; }
.practice-list button>span { min-width:0; }
.practice-list strong,.practice-list small { display:block; }
.practice-list strong { font:17px/1.4 var(--serif); color:var(--ink); }
.practice-list small { margin-top:3px; color:var(--muted); font-size:11px; }
.practice-list button[aria-pressed="true"] { border-color:#61744e; background:#e6eadc; box-shadow:inset 0 0 0 1px #7d916d; }
.practice-guide { padding:21px 0 12px; border-top:1px solid var(--line); }
.practice-guide h3 { margin-bottom:10px; }
.practice-guide ol { margin-top:0; }
.bell-settings { padding-top:18px; border-top:1px solid var(--line); }
.bell-settings .audio-row { border-top:0; }
.bell-settings .segments { margin-top:2px; }
.bell-settings .segments button { flex:1; padding-inline:9px; }
.stick-stage { min-height:330px; height:330px; padding:12px 16px 36px; }
.vessel-caption { position:absolute; left:16px; right:12px; top:8px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--muted); }
.vessel-caption .scene-sound { color:var(--muted); }
.lottery-artwork { position:relative; width:200px; aspect-ratio:900/1100; }
.lottery-vessel { width:100%; height:100%; object-fit:contain; transform-origin:50% 87%; }
.drawn-stick { position:absolute; left:50%; top:20%; width:12px; height:44%; border-radius:3px 3px 1px 1px; opacity:0; background:linear-gradient(90deg,#b89d67,#eed5a0 40%,#bf9b5e); box-shadow:2px 3px 5px #0006; color:#633c28; font:11px/1.6 var(--serif); writing-mode:vertical-rl; text-align:center; padding-top:25px; transform:translateX(-50%); }
.drawn-stick::before { content:""; position:absolute; inset:0 0 auto; height:22px; background:#a44032; border-radius:3px 3px 0 0; }
.vessel-footnote { position:absolute; bottom:12px; left:16px; font-size:12px; color:var(--muted); }
.read-sign-slot { position:absolute; right:12px; bottom:8px; min-height:44px; }
#lottery-read { min-height:40px; padding:7px 12px; font-size:13px; }

.structured-result { margin-top:12px; padding:12px 14px; border:1px solid var(--line); background:#f8f9f1b8; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.reference-label { display:inline-flex; align-items:center; gap:6px; color:#7b6940; font-size:11px; line-height:1.5; }
.availability-badge { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:4px 9px; border:1px solid #ba8b33; background:#fff0c7; color:#6d4c13; font-size:11px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.price-emphasis { border-color:#c29745; }
.purchase-box { background:#20342b; border-color:#4e7056; color:#f1ead6; }
.purchase-box h3 { color:#f0d8a0; }
.purchase-box .section-label,.purchase-box p,.purchase-box>a { color:#c8d3c2; }
.purchase-box .price-line { border-top-color:#6c815f; }
.purchase-box .price-line strong { color:#f2d07a; }
.purchase-box .price-line span { color:#d7c69b; }
.purchase-box .availability-badge { margin-top:13px; }
.purchase-action { width:100%; margin-top:15px; background:var(--action-primary); border-color:var(--action-primary-border); color:var(--action-primary-ink); }
.purchase-action:hover:not(:disabled) { background:var(--action-primary-hover); border-color:var(--action-primary-hover); color:var(--action-primary-ink); }
.purchase-action:disabled,.purchase-action[aria-disabled="true"] { background:#5f6f66; border-color:#5f6f66; color:#dbe2dc; opacity:.82; }
.summary-line.price-emphasis { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:14px 15px; border:1px solid #c29745; background:#fff4d5; }
.summary-line.price-emphasis>div { min-width:0; }.summary-line.price-emphasis .reference-label { display:block; }.summary-line.price-emphasis small { display:block; margin-top:3px; color:#6e705d; font-size:11px; }.summary-line.price-emphasis strong { color:#76531a; font:26px/1.3 var(--serif); white-space:nowrap; }.duration-choices .price-emphasis { display:block; color:#6d4c13; font-style:normal; }
#purchase-content .price-line { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:15px; background:#fff4d5; border:1px solid #c29745; }.payment-state { border-left:3px solid #b48a35; }.purchase-dialog .purchase-action,#purchase-content .purchase-action { margin-top:18px; }
@media(max-width:680px) { .summary-line.price-emphasis,.purchase-box .price-line.price-emphasis { grid-template-columns:minmax(0,1fr) auto; }.summary-line.price-emphasis .availability-badge { grid-column:1 / -1; }.summary-line.price-emphasis strong { font-size:23px; }.purchase-box .price-line.price-emphasis>span:last-child { grid-column:1 / -1; } #purchase-content .price-line { grid-template-columns:1fr auto; align-items:start; } #purchase-content .price-line span:last-child { grid-column:1 / -1; } }
.structured-data { display:grid; grid-template-columns:minmax(90px,.35fr) minmax(0,1fr); gap:6px 14px; margin:0; }
.structured-data dt { color:var(--muted); font-size:11px; }
.structured-data dd { margin:0; min-width:0; }
.data-list { margin:0; padding-left:18px; }
.data-empty { color:var(--muted); }
/* Shared motion language: restrained feedback, no geometry changes. */
:is(.segments button,.style-picker label span,.lamp-choices label>span,.duration-choices label>span,.preferences label,.service-mode-grid button,.practice-list button,.topic-item,.feature-link,.week-strip button,.name-results article,.wall-item,.pillar,.nine-grid button) { transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease; }
:is(.segments button,.style-picker label span,.lamp-choices label>span,.duration-choices label>span,.week-strip button)[aria-pressed="true"],:is(.style-picker,.lamp-choices,.duration-choices) input:checked+span { box-shadow:inset 0 0 0 1px #8ea17b; }
:is(.segments button,.topic-item,.feature-link,.week-strip button,.pillar,.nine-grid button):active { transform:scale(.99); }
.report-heading,.report-message { transform-origin:top center; }
progress[value] { transform-origin:left center; }
.incense-smoke { --smoke-x:calc(64px + var(--smoke-index) * 41px); position:absolute; left:var(--smoke-x); bottom:176px; width:14px; height:38px; border:2px solid #cad2c08a; border-color:#cad2c08a transparent transparent #cad2c08a; border-radius:50%; opacity:0; filter:blur(1px); pointer-events:none; }
.incense-scene.lit .incense-smoke { animation:incense-smoke 4.6s ease-out infinite; animation-delay:calc(var(--smoke-index) * -1.2s); }
[data-in-view="false"] .incense-smoke,.page-hidden .incense-smoke { animation-play-state:paused!important; }
@media(hover:hover) {
  :is(.segments button,.style-picker label span,.lamp-choices label>span,.duration-choices label>span,.master-card,.service-mode-grid button,.practice-list button,.topic-item,.feature-link,.week-strip button,.name-results article,.wall-item,.pillar,.nine-grid button):hover { transform:translateY(-2px); border-color:#879b76; box-shadow:0 7px 18px #1c362515; }
}
@keyframes incense-smoke { 0% { opacity:0; transform:translate(0,0) scale(.8); } 18% { opacity:.45; } 65% { opacity:.22; transform:translate(calc((var(--smoke-index) - 1) * 6px),-56px) scale(1.35); } 100% { opacity:0; transform:translate(calc((1 - var(--smoke-index)) * 5px),-104px) scale(1.8); } }
.effects-paused .lamp-flame,[data-in-view="false"] .lamp-flame,.page-hidden .lamp-flame,[data-in-view="false"] .wall-lamp img,.page-hidden .wall-lamp img { animation-play-state:paused!important; }
@keyframes flame-flicker { 0%,100% { transform:scale(.96,1) skewX(-2deg); opacity:.64; } 45% { transform:scale(1.04,.96) skewX(3deg); opacity:.85; } 72% { transform:scale(.98,1.05); opacity:.74; } }
@keyframes water-spread { from { opacity:.65; transform:scale(.55); } to { opacity:0; transform:scale(1.4); } }
@media(max-width:680px) {
  .site-header { height:72px; }
  .site-header .header-inner { width:calc(100% - 32px); gap:18px; }
  .site-header .desktop-nav,.site-header .account-btn,.site-header .header-action { display:none; }
  .site-header .menu-toggle,.site-header .mobile-menu { display:grid; place-items:center; }
  .site-header .brand-mark { width:29px; height:37px; font-size:23px; }
  .site-header :is(.brand-word,.brand-name) { font-size:25px; }
}

@media(max-width:1000px) { .wish-wall { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .lamp-object { max-width:250px; } .lamp-choices,.duration-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } .lamp-option { min-height:72px; } .wall-lamp { max-width:125px; } .master-options { grid-template-columns:1fr; } .master-card { flex-direction:row; min-height:0; gap:14px; } .master-icon { flex:0 0 38px; margin-bottom:0; } .service-mode-grid { grid-template-columns:1fr; } .reflection-list { grid-template-columns:1fr; gap:13px; } }
@media(max-width:760px) { .master-card { flex-direction:column; gap:0; min-height:0; } .master-specialty { margin-top:13px; } }
@media(max-width:680px) { .access-strip { grid-template-columns:40px minmax(0,1fr); gap:10px 13px; margin-bottom:20px; padding:14px; } .access-icon { width:38px; height:38px; } .access-main strong { font-size:18px; } .access-strip>p { grid-column:1 / -1; padding-top:9px; border-top:1px solid var(--line); } .calendar-toolbar .field { flex:1 1 190px; } .calendar-heading { padding:16px; } .almanac-tag { min-height:32px; padding:4px 9px; font-size:12px; } .almanac-fact { padding:14px; } .scene-tools { top:4px; } .master-picker legend small { display:block; margin:3px 0 0; } .master-reading { align-items:flex-start; flex-direction:column; gap:4px; } .master-reading span { padding-left:0; border-left:0; } .dream-prompts-heading { align-items:flex-start; flex-direction:column; gap:2px; } .dream-prompt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dream-clues { grid-template-columns:1fr; } .dream-reading .report-heading { display:block; } .dream-reading .status-pill { display:inline-block; margin-top:10px; } .coin-stage { min-height:420px; } .divination-stage-body { grid-template-columns:1fr; gap:6px; min-height:320px; } .divination-stage-body .coins { margin-top:16px; } #yao-progress { min-height:220px; } .yao-progress-row { grid-template-columns:46px minmax(90px,1fr) 30px; } }
.master-avatar { flex-basis:58px !important; width:58px !important; height:58px !important; }
@media(max-width:360px) { .wish-wall { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .lamp-flame,.water-ripple,.incense-smoke,.wall-lamp img { animation:none!important; } .incense-smoke { display:none; } }

/* Runtime mode and commerce state must scan before decorative copy. */
.mode-badge { display:inline-flex; align-items:center; gap:8px; min-height:38px; max-width:100%; padding:8px 12px; border-radius:3px; font-size:11px; font-weight:600; white-space:normal; }
.mode-badge strong { font-size:12px; }
.mode-badge.mode-server { color:#17472a; background:#d9f5df; border-color:#57bd78; box-shadow:0 0 0 1px #57bd7838; }
.mode-badge.mode-server svg { color:#218c4b; }
.mode-badge.mode-fixed { color:#67420d; background:#fff0c4; border-color:#d29b38; box-shadow:0 0 0 1px #d29b3838; }
.mode-badge.mode-fixed svg { color:#b47718; }
.home-edition-badge { display:inline-flex; align-items:center; gap:8px; width:max-content; max-width:100%; margin-top:14px; padding:7px 11px; border:1px solid #68d98b99; background:#10251bcc; color:#bcefc6; font-size:11px; }
.home-edition-badge strong { color:#fff0bd; font-size:11px; text-transform:uppercase; }
.home-edition-badge svg { width:15px; height:15px; color:#6cdb8d; }
.home-edition-badge.home-mode-fixed { border-color:#d2a657aa; color:#f1d697; }
.home-edition-badge.home-mode-fixed svg { color:#e4bd6d; }
.work-form .form-actions > .primary:not(.gold):not(:disabled),.service-placeholder .primary:not(:disabled) { background:var(--action-primary); border-color:var(--action-primary-border); color:var(--action-primary-ink); box-shadow:0 4px 0 var(--action-primary-shadow); }
.work-form .form-actions > .primary:not(.gold):not(:disabled):hover,.service-placeholder .primary:not(:disabled):hover { background:var(--action-primary-hover); border-color:var(--action-primary-hover); color:var(--action-primary-ink); }
.work-form .form-actions > .primary:not(.gold):not(:disabled):active,.service-placeholder .primary:not(:disabled):active { transform:translateY(2px); box-shadow:0 2px 0 var(--action-primary-shadow); }
.reference-label { font-weight:700; }
.availability-badge { font-weight:700; }
.duration-choices .price-emphasis { padding:5px 7px; border:1px solid #d39a2d; border-radius:2px; background:#fff7dc; }
.summary-line.price-emphasis,.purchase-box .price-line.price-emphasis,#purchase-content .price-line { border-width:2px; border-color:#d39a2d; background:#fff0bd; }
.summary-line.price-emphasis strong { color:#633d0c; font-size:30px; font-weight:700; }
@media(max-width:760px) { .intro-inner { flex-wrap:wrap; align-items:flex-start; } .mode-badge { width:max-content; } }
html[data-theme="gold"] .mode-badge.mode-server { color:#bdf0c9; background:#183d28; border-color:#68d98b; }
html[data-theme="gold"] .mode-badge.mode-server svg { color:#7be39a; }
html[data-theme="gold"] .mode-badge.mode-fixed { color:#f4d99c; background:#4a3820; border-color:#d2ae6d; }
html[data-theme="gold"] .mode-badge.mode-fixed svg { color:#e6bf72; }
html[data-theme="gold"] .work-form .form-actions > .primary:not(.gold):not(:disabled),html[data-theme="gold"] .service-placeholder .primary:not(:disabled) { background:var(--action-primary); border-color:var(--action-primary-border); color:var(--action-primary-ink); }
html[data-theme="gold"] .work-form .form-actions > .primary:not(.gold):not(:disabled):hover,html[data-theme="gold"] .service-placeholder .primary:not(:disabled):hover { background:var(--action-primary-hover); border-color:var(--action-primary-hover); color:var(--action-primary-ink); }
html[data-theme="gold"] .duration-choices .price-emphasis,html[data-theme="gold"] .summary-line.price-emphasis,html[data-theme="gold"] .purchase-box .price-line.price-emphasis,html[data-theme="gold"] #purchase-content .price-line { background:#3a2f20; border-color:#d2a54f; }
html[data-theme="gold"] .summary-line.price-emphasis strong { color:#f5d58a; }
dialog .auth-modes { margin:0; padding:18px 22px 0; }
dialog .auth-modes button { flex:1; }
dialog .dialog-content { padding:22px; }
html[data-theme="gold"] dialog .auth-modes { background:#252018; }
.login-hint { display:flex; align-items:center; gap:9px; margin:18px 0 0; padding:12px 14px; border-left:2px solid #b09357; background:#e7ecdf; color:#56664f; font-size:12px; line-height:1.7; }
.login-hint > svg { width:16px; height:16px; flex:none; color:#8c7746; }
.login-hint > span { flex:1; }
.login-hint .text-action { flex:none; padding:3px 0; min-height:30px; white-space:nowrap; }
@media(max-width:680px) { .login-hint { align-items:flex-start; flex-wrap:wrap; } .login-hint .text-action { margin-left:25px; } }
.invite-landing-hint { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 22px; padding:15px 18px; border-left:3px solid #b09357; background:#e7ecdf; color:var(--ink); }
.invite-landing-hint > div { display:grid; gap:3px; min-width:0; }
.invite-landing-hint strong { font-size:15px; }
.invite-landing-hint span { color:var(--muted); font-size:12px; line-height:1.6; }
.invite-landing-hint .primary { flex:0 0 auto; min-height:40px; padding:9px 14px; white-space:nowrap; }
@media(max-width:680px) { .invite-landing-hint { align-items:stretch; flex-direction:column; gap:11px; } .invite-landing-hint .primary { width:100%; justify-content:center; } }

/* Meditation music library: a restrained paper score, not a separate gold theme. */
.meditation-library { position:relative; margin-top:46px; padding:clamp(25px,4vw,48px); overflow:hidden; border:1px solid #b9c6ad; background:linear-gradient(120deg,#f8f8f1 0%,#f1f4e9 100%); box-shadow:0 16px 42px #20362a0c; }
.meditation-library::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,#617750 0 19%,#bba15f 19% 31%,#d7decb 31%); }
.library-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:27px; }
.library-heading .step-label { margin-bottom:7px; }
.library-heading h2 { margin:0; font-size:clamp(29px,3vw,41px); }
.library-heading p:not(.step-label) { margin:7px 0 0; color:var(--muted); }
.library-count { flex:none; padding:9px 13px; border:1px solid #aebca2; background:#edf1e5; color:#5a6b50; font-size:12px; letter-spacing:.04em; }
.library-count strong { margin-right:3px; color:var(--ink); font:21px/1 var(--serif); }
.music-shelf { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.45fr); gap:clamp(22px,3vw,38px); align-items:start; }
.track-player { position:sticky; top:96px; min-height:355px; padding:29px; border:1px solid #9dad91; background:#e7ecdd; box-shadow:inset 4px 0 #617750; }
.track-seal { position:absolute; top:24px; right:24px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #9b5d4e; color:#8e4e43; font:22px/1 var(--serif); transform:rotate(-3deg); }
#current-track-meta { margin:0 58px 12px 0; color:#7e6a3d; font-size:11px; letter-spacing:.12em; }
.track-player h3 { margin:0 55px 8px 0; font-size:clamp(29px,3vw,39px); }
#current-track-description { min-height:52px; margin:0; color:#607057; font-size:13px; line-height:1.9; }
.track-timeline { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; gap:10px; align-items:center; margin:34px 0 23px; color:#617057; font-size:11px; font-variant-numeric:tabular-nums; }
.track-timeline input,.track-volume input { accent-color:#526e50; }
.track-timeline input { width:100%; }
.track-controls { display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
.track-controls .primary { min-width:132px; background:#315943; border-color:#315943; color:#f7f2df; }
.track-controls .primary:hover:not(:disabled) { background:#254c38; border-color:#254c38; }
.track-controls .primary:disabled { opacity:.52; }
.track-volume { display:flex; align-items:center; gap:8px; color:#607057; font-size:11px; }
.track-volume input { width:82px; }
#track-status { margin:17px 0 0; color:#5c6b54; font-size:12px; line-height:1.7; }
.track-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #c4cebb; border-left:1px solid #c4cebb; }
.meditation-track { display:grid; grid-template-columns:31px minmax(0,1fr) 19px; gap:10px; align-items:start; min-height:104px; padding:15px 14px; border:0; border-right:1px solid #c4cebb; border-bottom:1px solid #c4cebb; background:#fafaf5; color:var(--ink); text-align:left; }
.meditation-track:hover:not(:disabled) { background:#f0f3e8; }
.meditation-track:focus-visible { position:relative; z-index:1; outline:3px solid #9d813f; outline-offset:-3px; }
.meditation-track[aria-pressed="true"] { background:#e4eadb; box-shadow:inset 3px 0 #617750; }
.meditation-track:disabled { cursor:not-allowed; opacity:.48; }
.track-index { color:#9a8352; font:15px/1.5 Georgia,serif; }
.track-copy { min-width:0; }
.track-copy strong,.track-copy small,.track-copy>span { display:block; }
.track-copy strong { font:18px/1.35 var(--serif); }
.track-copy small { margin-top:3px; color:#8b7545; font-size:10px; letter-spacing:.05em; }
.track-copy>span { margin-top:7px; color:#697661; font-size:11px; line-height:1.55; }
.track-selected { display:grid; place-items:center; width:19px; height:19px; margin-top:1px; border:1px solid #74886a; border-radius:50%; color:#536c4c; opacity:0; }
.track-selected svg { width:12px; height:12px; stroke-width:2.4; }
.meditation-track[aria-pressed="true"] .track-selected { opacity:1; }
.library-note { margin:20px 0 0; padding-top:15px; border-top:1px dashed #bac5af; color:#6b7763; font-size:11px; }
@media(max-width:960px) { .music-shelf { grid-template-columns:1fr; } .track-player { position:relative; top:auto; min-height:0; } }
@media(max-width:680px) { .meditation-library { margin-top:30px; padding:22px 18px; } .library-heading { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:20px; } .library-count { align-self:flex-start; } .track-player { padding:23px 19px; } .track-seal { top:19px; right:18px; width:36px; height:36px; font-size:19px; } .track-catalog { grid-template-columns:1fr; } .meditation-track { min-height:88px; } .track-copy>span { display:none; } .track-controls { align-items:flex-start; flex-direction:column; } .track-controls .primary { width:100%; } .track-volume { width:100%; justify-content:space-between; } .track-volume input { width:min(190px,65%); } }
@media(max-width:680px) { .dream-category-tabs { gap:6px; } .dream-category-tabs button { padding:7px 10px; font-size:11px; } .dream-topic-grid { grid-template-columns:1fr; } .dream-topic-item { min-height:68px; padding:14px; } .dream-topic-copy strong { font-size:17px; } .dream-grade { font-size:16px; } }

/* Account services keep the paper/ink system while making money movement and feedback easy to scan. */
.account-service { padding: 24px 0 8px; }
.account-service-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.account-service-heading h2 { margin:8px 0 9px; font-size:clamp(27px,4vw,40px); }
.account-service-heading p:not(.section-label) { max-width:620px; margin:0; color:var(--muted); line-height:1.8; }
.account-service-heading strong { color:var(--ink); }
.account-service-mark { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border:1px solid #aa8c56; color:#8d6c39; }
.account-service-mark svg { width:25px; height:25px; }
.account-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:22px 0; }
.account-summary-grid article { display:grid; gap:8px; min-width:0; padding:15px 16px; border:1px solid var(--line); background:color-mix(in srgb,var(--paper2) 70%,white); }
.account-summary-grid span { color:var(--muted); font-size:11px; }
.account-summary-grid strong { color:var(--ink); font:23px/1.2 var(--serif); }
.account-service-actions { display:flex; align-items:center; gap:13px; flex-wrap:wrap; padding:17px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.account-service-actions button { display:inline-flex; align-items:center; gap:8px; }
.account-service-actions button svg,.feedback-form button svg { width:16px; height:16px; }
.account-service-actions .hint { margin:0; }
.account-invite-card { display:grid; gap:12px; margin:20px 0 0; padding:16px 18px; border:1px solid #c8b27a; background:#fbf1cc; }
.account-invite-row { display:grid; grid-template-columns:80px minmax(0,1fr) auto; align-items:center; gap:10px 14px; min-width:0; }
.account-invite-row > span { color:#765b25; font-size:12px; }
.account-invite-row code { min-width:0; overflow-wrap:anywhere; color:#5f461b; font:22px/1.2 var(--serif); letter-spacing:.08em; }
.account-invite-row a { min-width:0; overflow-wrap:anywhere; color:#765b25; font-size:12px; }
.account-invite-row button { display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; }
.account-invite-row button svg { width:15px; height:15px; }
.account-invite-card button svg { width:15px; height:15px; }
.account-withdrawal-form { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(150px,.65fr) auto; align-items:end; gap:14px; margin-top:22px; padding:18px; border-left:3px solid #b09357; background:#edf0e6; }
.account-withdrawal-form h3 { margin:0 0 5px; font:22px/1.4 var(--serif); }
.account-withdrawal-form .hint { margin:0; }
.account-withdrawal-form .field { margin:0; }
.account-withdrawal-form > .hint { grid-column:1/-1; }
.account-service-note { margin:22px 0 0; }
.account-record-list > h3 { margin:28px 0 11px; font:22px/1.4 var(--serif); }
.account-record small { display:block; margin-top:5px; color:var(--muted); }
.feedback-form { display:grid; gap:14px; }
.feedback-form .field { margin:0; }
.feedback-form .hint { margin:0; }
.feedback-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.feedback-categories button { min-height:42px; padding:8px 10px; border:1px solid var(--line); background:var(--paper); color:var(--muted); cursor:pointer; }
.feedback-categories button[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); color:#f7f2e3; }
.footer-feedback { min-height:0; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; font:inherit; line-height:inherit; }
.footer-feedback:hover { color:#95613f; }
.account-invite-summary { display:grid; gap:6px; flex:1; min-width:260px; }
.account-invite-summary-row { display:grid; grid-template-columns:auto minmax(80px,1fr) auto; align-items:center; gap:8px 12px; min-width:0; }
.account-invite-summary-row > span { color:var(--muted); font-size:12px; white-space:nowrap; }
.account-invite-summary-row > strong { color:var(--ink); letter-spacing:.08em; }
.account-invite-summary-row > a { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#765b25; font-size:12px; }
.account-invite-summary-row .text-action { font-size:12px; white-space:nowrap; }
@media(max-width:680px) {
  .account-service-heading { gap:13px; }
  .account-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-invite-row { grid-template-columns:1fr; align-items:flex-start; gap:6px; }
  .account-invite-row button { width:100%; justify-content:center; }
  .account-invite-summary { order:3; flex-basis:100%; min-width:0; }
  .account-invite-summary-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .account-withdrawal-form { grid-template-columns:1fr; align-items:stretch; }
  .account-withdrawal-form > .hint { grid-column:auto; }
  .account-withdrawal-form button { width:100%; }
  .feedback-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Shared typography baseline for the product site and its account surfaces. */
:root {
  --xj-font-display:"STKaiti","KaiTi","FangSong",serif;
  --xj-font-serif:"Songti SC","STSong","SimSun",serif;
  --xj-font-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --xj-font-data:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
body { --display:var(--xj-font-display); --serif:var(--xj-font-serif); --body:var(--xj-font-sans); --sans:var(--xj-font-sans); font-family:var(--xj-font-sans); }
.site-header .desktop-nav a,.site-header :is(.account-btn,.header-action) { font-size:14px; }
:is(.account-record-meta span,.access-main span,.calendar-box-title>small,.master-note,.master-copy small,.master-description,.master-reading span,.service-mode-grid small,.dream-prompts-heading small,.dream-prompt-grid button small,.dream-grade-note,.dream-clues article>span,.reflection-list span,.structured-data dt,.track-copy small,.track-copy>span,.library-note,.account-summary-grid span) { font-size:12px; }
.mode-badge,.home-edition-badge,.home-edition-badge strong { font-size:12px; }
.account-summary-grid strong,.summary-line.price-emphasis strong { font-variant-numeric:tabular-nums; }
html:not([data-theme="gold"]) .lamp-option small { color:#4f604b; }
html:not([data-theme="gold"]) .summary-line.price-emphasis small { color:#515540; }
@media(max-width:680px) {
  .bottom-nav a { font-size:11px; }
  .footer-links,.footer-note { font-size:12px; }
}

/* Approved homepage direction: keep the original brand language, sharpen the reading order. */
body.home-redesign {
  --home-ink:#142f29;
  --home-deep:#102b25;
  --home-paper:#f5f2e8;
  --home-panel:#fbfaf4;
  --home-line:#d6ddcf;
  --home-gold:#c9a866;
  --home-muted:#617064;
  background:var(--home-paper);
  color:var(--home-ink);
}

.home-redesign .site-header {
  position:absolute;
  z-index:10;
  inset:0 0 auto;
  background:linear-gradient(180deg,#081c18e8 0%,#081c1800 100%);
  border-bottom-color:#d9c79326;
}
.home-redesign .home-hero {
  height:clamp(580px,72svh,740px);
  min-height:560px;
  background:var(--home-deep);
}
.home-redesign .home-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,#071a16dc 0%,#071a1688 36%,#071a1618 67%,#071a1630 100%),linear-gradient(0deg,#071a1680 0%,transparent 34%);
}
.home-redesign .home-hero .hero-art {
  object-position:center;
  filter:saturate(.78) brightness(1.08) contrast(1.03);
}
.home-redesign .home-hero .hero-inner {
  align-items:center;
  padding-top:56px;
}
.home-redesign .hero-copy {
  max-width:560px;
  padding-bottom:18px;
}
.home-redesign .hero-brand { margin-top:18px; }
.home-redesign .hero h1 {
  font-size:clamp(92px,9vw,142px);
  text-shadow:0 8px 28px #07171166;
}
.home-redesign .hero h2 {
  font-size:clamp(30px,3.2vw,50px);
  line-height:1.42;
  text-wrap:balance;
}
.home-redesign .hero-description {
  max-width:420px;
  color:#e0dfc9;
  line-height:2;
}
.home-redesign .hero-actions {
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:29px;
}
.home-redesign .hero-actions .btn-gold {
  min-width:230px;
  min-height:56px;
  justify-content:center;
  box-shadow:0 9px 22px #050e0a44;
}
.home-redesign .hero-text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  color:#f2e7c9;
  border-bottom:1px solid #d0b978;
  font-size:12px;
}
.home-redesign .hero-text-link svg { width:14px; height:14px; }
.home-redesign .hero-footer { bottom:20px; }
.home-redesign .carousel-controls { display:none!important; }

.home-redesign .home-start-section {
  border:0;
  background:var(--home-paper) url('paper-landscape.jpg') center/cover;
}
.home-redesign .home-start-layout {
  display:grid;
  grid-template-columns:minmax(250px,.78fr) minmax(0,1.72fr);
  gap:clamp(34px,5vw,78px);
  align-items:start;
  padding-block:clamp(56px,6.4vw,88px);
}
.home-redesign .home-calendar-card {
  position:relative;
  padding:28px 28px 24px;
  border:1px solid #c3a361;
  background:#fbfaf4c9;
  box-shadow:inset 0 0 0 5px #e7dfc8a,0 14px 32px #1d342512;
}
.home-redesign .home-calendar-card::before {
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid #cdbb8c66;
  pointer-events:none;
}
.home-redesign .home-calendar-heading,
.home-redesign .home-calendar-card .calendar-identity,
.home-redesign .home-calendar-card .calendar-lines { position:relative; z-index:1; }
.home-redesign .home-calendar-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:17px;
  border-bottom:1px solid var(--home-line);
}
.home-redesign .home-calendar-heading .eyebrow { color:#88734a; }
.home-redesign .home-calendar-heading .calendar-link {
  display:inline-flex;
  gap:5px;
  align-items:center;
  flex:none;
  color:#7d693f;
  font-size:11px;
}
.home-redesign .home-calendar-heading .calendar-link svg { width:13px; height:13px; }
.home-redesign .home-calendar-card .calendar-identity {
  align-items:flex-end;
  gap:17px;
  padding:26px 0 20px;
  border-right:0;
}
.home-redesign .home-calendar-card .calendar-day {
  min-width:auto;
  color:var(--home-ink);
  font-size:82px;
  letter-spacing:-.07em;
}
.home-redesign .home-calendar-card .calendar-identity h2 { font-size:22px; }
.home-redesign .home-calendar-card .calendar-identity p { white-space:normal; line-height:1.75; }
.home-redesign .home-calendar-card .calendar-lines {
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding-top:18px;
  border-top:1px solid var(--home-line);
}
.home-redesign .home-calendar-card .calendar-line { display:block; }
.home-redesign .home-calendar-card .calendar-label { margin-bottom:8px; }
.home-redesign .home-calendar-card .calendar-line p { display:flex; flex-wrap:wrap; gap:5px; line-height:1.55; }
.home-redesign .home-calendar-card .calendar-term { padding:2px 5px; background:#e6eee2; color:#566c51; font-size:11px; }
.home-redesign .home-calendar-card .calendar-line:nth-child(2) .calendar-term { background:#f3e5dc; color:#96634f; }
.home-redesign .home-services-heading {
  align-items:flex-end;
  margin-bottom:20px;
}
.home-redesign .home-services-heading h2 { font-size:clamp(31px,3.6vw,48px); }
.home-redesign .home-services-heading > div > p:last-child { margin-top:8px; color:var(--home-muted); }
.home-redesign .home-services-note {
  padding-bottom:8px;
  color:#8b7650;
  font-size:11px;
  white-space:nowrap;
}
.home-redesign .home-service-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.home-redesign .home-service-card {
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 18px;
  align-items:center;
  gap:17px;
  min-height:140px;
  padding:20px;
  border:1px solid #d0d5ca;
  background:#fbfaf4cf;
  color:var(--home-ink);
  text-align:left;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.home-redesign .home-service-card:hover {
  transform:translateY(-3px);
  border-color:#b99a5e;
  box-shadow:0 11px 24px #1a332614;
}
.home-redesign .home-service-card:focus-visible { outline:2px solid #b18b46; outline-offset:3px; }
.home-redesign .service-emblem {
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border:1px solid #c9b178;
  border-radius:50%;
  background:#f2ead6;
  color:#7c6437;
}
.home-redesign .service-emblem svg { width:29px; height:29px; stroke-width:1.35; }
.home-redesign .service-copy { min-width:0; }
.home-redesign .service-copy strong,
.home-redesign .service-copy small { display:block; }
.home-redesign .service-copy strong { font:500 24px/1.35 var(--serif); }
.home-redesign .service-copy small { margin-top:5px; color:var(--home-muted); font-size:11px; line-height:1.6; }
.home-redesign .service-arrow { width:17px; height:17px; color:#9d8451; }
.home-redesign .service-numbers .service-emblem { background:#e9eee7; border-color:#9fb2a0; color:#4f715d; }
.home-redesign .service-wish .service-emblem { background:#f1e4de; border-color:#c99889; color:#985a4e; }
.home-redesign .service-library .service-emblem { background:#e7eee2; border-color:#9db29b; color:#58745a; }
.home-redesign .reading-shortcuts {
  margin-top:22px;
  border-top:1px solid var(--home-line);
  border-bottom:1px solid var(--home-line);
}
.home-redesign .reading-shortcuts button { min-height:74px; padding:10px 12px; }
.home-redesign .reading-shortcuts strong { font-size:14px; }
.home-redesign .reading-shortcuts small { font-size:10px; }
.home-redesign .reading-assurance { margin-top:15px; color:#7b826e; }

.home-redesign .prayer-section { background:var(--home-ink) url('ink-landscape.jpg') center/cover; }
.home-redesign .prayer-inner { min-height:620px; }
.home-redesign .prayer-copy { padding:66px clamp(38px,6vw,92px); }
.home-redesign .prayer-copy h2 { font-size:clamp(35px,3.7vw,54px); }
.home-redesign .prayer-visual img { filter:saturate(.9) brightness(1.06); }

.home-redesign .home-content-duo {
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:clamp(30px,4vw,64px);
  align-items:stretch;
  padding-block:clamp(56px,6.5vw,88px);
}
.home-redesign .home-content-duo > .section { padding-block:0; }
.home-redesign .home-content-duo > .section .section-top { margin-bottom:22px; align-items:flex-end; }
.home-redesign .home-content-duo > .section .section-top h2 { font-size:clamp(28px,3vw,42px); }
.home-redesign .home-content-duo .library-layout { display:flex; flex-direction:column; gap:24px; margin-top:0; align-items:stretch; }
.home-redesign .home-content-duo .book-selection { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0; }
.home-redesign .home-content-duo .book-cover { height:160px; box-shadow:3px 4px 0 #e5e6d7,4px 5px 0 #9ba58e; }
.home-redesign .home-content-duo .book-title { margin-top:16px; min-height:80px; font-size:21px; }
.home-redesign .home-content-duo .book-subtitle { top:23px; right:8px; }
.home-redesign .home-content-duo .book-cover>small { bottom:12px; }
.home-redesign .home-content-duo .excerpt-reader { min-height:0; padding:21px 0 0; border-top:1px solid var(--home-line); border-left:0; }
.home-redesign .home-content-duo .excerpt-reader blockquote { min-height:0; margin-top:10px; font-size:27px; }
.home-redesign .home-content-duo .meditation {
  display:flex;
  align-items:stretch;
  padding:28px;
  border:1px solid #bdc9b6;
  background:#e7eee2;
  color:var(--home-ink);
}
.home-redesign .home-content-duo .meditation-inner { display:flex; flex-direction:column; gap:22px; width:100%; }
.home-redesign .home-content-duo .meditation-copy h2 { font-size:clamp(28px,3vw,42px); }
.home-redesign .home-content-duo .meditation-copy>p:last-child { color:var(--home-muted); }
.home-redesign .home-content-duo .practice-player { margin-top:auto; padding:22px 0 0; border-left:0; border-top:1px solid #b8c5af; }
.home-redesign .home-content-duo .player-title { font-size:22px; }
.home-redesign .home-content-duo .timer-options button { color:#667760; }
.home-redesign .home-content-duo .timer-options button[aria-pressed="true"] { color:#806638; border-bottom-color:#a8864b; }
.home-redesign .home-content-duo .player-control { color:#64745e; }
.home-redesign .home-content-duo .play-btn { color:#705c35; border-color:#a68a57; }
.home-redesign .home-content-duo .player-control .icon-btn { color:#64745e; }
.home-redesign .home-content-duo .player-status { color:#667760; }
.home-redesign .invitation { border-top:1px solid var(--home-line); }

@media(max-width:960px) {
  .home-redesign .home-start-layout { grid-template-columns:1fr; }
  .home-redesign .home-calendar-card { max-width:620px; }
  .home-redesign .home-content-duo { grid-template-columns:1fr; }
}
@media(max-width:680px) {
  .home-redesign .home-hero { height:auto; min-height:620px; }
  .home-redesign .home-hero .hero-inner { padding-top:84px; }
  .home-redesign .hero h1 { font-size:76px; }
  .home-redesign .hero h2 { font-size:29px; }
  .home-redesign .hero-art { object-position:58% center; filter:saturate(.7) brightness(.86); }
  .home-redesign .home-start-layout { gap:32px; padding-block:40px; }
  .home-redesign .home-calendar-card { padding:22px; }
  .home-redesign .home-calendar-card .calendar-day { font-size:69px; }
  .home-redesign .home-calendar-card .calendar-lines { grid-template-columns:1fr; }
  .home-redesign .home-services-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .home-redesign .home-services-note { padding-bottom:0; }
  .home-redesign .home-service-grid { grid-template-columns:1fr; }
  .home-redesign .home-service-card { min-height:112px; }
  .home-redesign .reading-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-redesign .reading-assurance { align-items:flex-start; flex-direction:column; gap:7px; }
  .home-redesign .prayer-inner { grid-template-columns:1fr; min-height:0; }
  .home-redesign .prayer-visual { min-height:360px; }
  .home-redesign .prayer-copy { padding:36px 22px 42px; }
  .home-redesign .home-content-duo { padding-block:46px; }
  .home-redesign .home-content-duo .book-selection { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-redesign .home-content-duo .meditation { padding:24px 22px; }
}

/* Visual parity pass: the confirmed reference is driven by art direction first,
   then by restrained type and layout. Keep this block scoped to the homepage. */
.home-redesign .home-hero {
  height:clamp(430px,42vw,560px);
  min-height:430px;
  background:#071b17;
}
.home-redesign .home-hero .hero-art {
  object-position:center;
  filter:saturate(.82) brightness(.92) contrast(1.04);
}
.home-redesign .home-hero::after {
  background:linear-gradient(90deg,#071a16e8 0%,#071a168f 31%,#071a1612 68%,#071a1640 100%),linear-gradient(0deg,#071a1670 0%,transparent 39%);
}
.home-redesign .home-hero .hero-inner { padding-top:54px; }
.home-redesign .hero-copy { width:min(520px,54%); max-width:570px; }
.home-redesign .hero h1 { font-size:clamp(88px,8vw,136px); }
.home-redesign .hero h2 { max-width:470px; font-size:clamp(30px,3vw,46px); }
.home-redesign .hero-description { max-width:390px; }

.home-redesign .home-start-section { background-color:#f6f2e7; }
.home-redesign .home-start-layout {
  grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);
  gap:clamp(35px,5vw,76px);
  padding-block:clamp(28px,3.2vw,44px) clamp(40px,4.5vw,64px);
}
.home-redesign .home-calendar-card { min-height:352px; }
.home-redesign .home-services-heading { margin-bottom:22px; }
.home-redesign .home-services-heading h2 { letter-spacing:.04em; font-size:clamp(34px,3vw,40px); }
.home-redesign .home-service-grid { gap:13px; }
.home-redesign .home-service-card {
  grid-template-columns:74px minmax(0,1fr) 16px;
  min-height:122px;
  padding:19px 18px;
  background:#faf8f0e6;
}
.home-redesign .reading-shortcuts button { min-height:60px; padding-block:6px; }
.home-redesign .service-emblem {
  width:74px;
  height:74px;
  overflow:hidden;
  background:#f0ead8;
}
.home-redesign .service-emblem img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  mix-blend-mode:multiply;
  filter:saturate(.82) contrast(.94);
}
.home-redesign .service-emblem-bazi img { object-position:center 55%; }
.home-redesign .service-emblem-numbers img { object-position:center; }
.home-redesign .service-emblem-wish img { object-position:center 55%; }
.home-redesign .service-emblem-library img { object-position:center; }
.home-redesign .service-copy strong { font-size:23px; }

.home-redesign .prayer-section {
  position:relative;
  background:#092923 url('home/prayer-lotus-lake.webp') center/cover no-repeat;
}
.home-redesign .prayer-section::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,#061a16a6 0%,#071c187a 40%,#071c1838 64%,#061713b8 100%);
}
.home-redesign .prayer-inner {
  position:relative;
  display:block;
  min-height:clamp(420px,30vw,490px);
  max-width:1280px;
}
.home-redesign .prayer-visual {
  position:absolute;
  inset:0;
  z-index:0;
  min-height:0;
  pointer-events:none;
}
.home-redesign .prayer-visual .prayer-lamp {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) brightness(.88);
  -webkit-mask-image:none;
  mask-image:none;
}
.home-redesign .prayer-visual .artifact-caption {
  left:26px;
  right:auto;
  bottom:45px;
  z-index:1;
  text-align:left;
  writing-mode:vertical-rl;
  letter-spacing:.2em;
  color:#e8d4a4;
}
.home-redesign .prayer-copy {
  position:relative;
  z-index:1;
  width:50%;
  margin-left:50%;
  padding:58px clamp(36px,7vw,92px) 44px;
  background:linear-gradient(90deg,#071c1800 0%,#071c184d 100%);
}
.home-redesign .prayer-copy h2 { font-size:clamp(34px,3.4vw,48px); line-height:1.4; }
.home-redesign .prayer-copy .section-description { line-height:1.7; }
.home-redesign .prayer-copy .wish-example { margin-top:17px; }
.home-redesign .prayer-copy .wish-example>p { font-size:18px; line-height:1.55; }
.home-redesign .prayer-copy .prayer-cta { margin-top:18px; }
.home-redesign .prayer-copy .quiet-note { margin-top:7px; }
.home-redesign .prayer-section .incense-strip { padding-block:14px; }

.home-redesign .home-content-duo {
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  gap:clamp(35px,4.5vw,68px);
  padding-block:clamp(46px,5vw,68px);
}
.home-redesign .home-content-duo .library-layout {
  display:grid;
  grid-template-columns:minmax(190px,.78fr) minmax(0,1.22fr);
  align-items:start;
  gap:28px;
}
.home-redesign .home-content-duo .book-selection {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  padding:4px 0 12px;
}
.home-redesign .home-content-duo .book-cover {
  min-width:0;
  height:190px;
  box-shadow:3px 4px 0 #e5e6d7,4px 5px 0 #9ba58e,0 13px 17px #253b2d1a;
}
.home-redesign .home-content-duo .book-title {
  margin-top:18px;
  min-height:80px;
  font-size:20px;
}
.home-redesign .home-content-duo .excerpt-reader {
  min-height:210px;
  padding:4px 0 0 28px;
  border-top:0;
  border-left:1px solid #c6cdbd;
}
.home-redesign .home-content-duo .excerpt-reader blockquote { font-size:27px; }
.home-redesign .home-content-duo .meditation {
  position:relative;
  min-height:370px;
  padding:0;
  overflow:hidden;
  border:1px solid #c6cfbd;
  background:#e9ede1;
}
.home-redesign .home-content-duo .meditation::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,#f5f3e800 44%,#eef0e8b8 100%);
}
.home-redesign .home-content-duo .meditation-art {
  display:block;
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.85;
}
.home-redesign .home-content-duo .meditation-inner {
  position:relative;
  z-index:1;
  min-height:370px;
  padding:36px 28px 24px;
}
.home-redesign .home-content-duo .meditation-copy .eyebrow { color:#756644; }
.home-redesign .home-content-duo .meditation-copy h2 { color:var(--home-ink); }
.home-redesign .home-content-duo .meditation-copy>p:last-child { color:#5f6e61; }
.home-redesign .home-content-duo .practice-player {
  margin-top:auto;
  padding:17px 17px 12px;
  border:1px solid #c8cdbf;
  background:#f8f6ecd9;
}
.home-redesign .home-content-duo .player-title { color:var(--home-ink); }
.home-redesign .home-content-duo .player-status { color:#667760; }

.home-redesign .site-footer {
  padding:38px 0 30px;
  background:#0e2822;
  border-top:1px solid #a88a4f66;
  color:#e6ddc5;
}
.home-redesign .site-footer .brand-word,
.home-redesign .site-footer .footer-links a,
.home-redesign .site-footer .footer-note,
.home-redesign .site-footer .footer-note a { color:#e6ddc5; }
.home-redesign .site-footer .brand-mark { border-color:#c5a766; color:#d3b675; }
.home-redesign .site-footer .footer-note { border-top-color:#c5b77e33; }

@media(min-width:681px) and (max-width:1200px) {
  .home-redesign .home-hero .hero-inner { padding-top:38px; }
  .home-redesign .hero-copy { width:min(520px,54%); padding-bottom:0; }
  .home-redesign .hero-brand { margin-top:10px; margin-bottom:8px; }
  .home-redesign .hero h1 { font-size:82px; }
  .home-redesign .hero h2 { font-size:34px; line-height:1.35; }
  .home-redesign .hero-description { margin-top:12px; line-height:1.62; }
  .home-redesign .hero-actions { gap:8px; margin-top:18px; }

  .home-redesign .home-start-layout { gap:38px; padding-block:24px 34px; }
  .home-redesign .home-calendar-card { min-height:320px; padding:24px 22px 20px; }
  .home-redesign .home-calendar-card .calendar-day { font-size:72px; }
  .home-redesign .home-services-heading { margin-bottom:14px; }
  .home-redesign .home-services-heading h2 { font-size:34px; }
  .home-redesign .home-services-heading > div > p:last-child { margin-top:4px; font-size:13px; }
  .home-redesign .home-service-grid { gap:10px; }
  .home-redesign .home-service-card { grid-template-columns:60px minmax(0,1fr) 14px; min-height:104px; padding:14px; gap:12px; }
  .home-redesign .service-emblem { width:60px; height:60px; }
  .home-redesign .service-copy strong { font-size:20px; }
  .home-redesign .service-copy small { margin-top:2px; font-size:10px; }
  .home-redesign .reading-shortcuts { margin-top:12px; }
  .home-redesign .reading-shortcuts button { min-height:52px; padding:4px 8px; }
  .home-redesign .reading-shortcuts strong { font-size:12px; }
  .home-redesign .reading-shortcuts small { font-size:9px; }
  .home-redesign .reading-assurance { margin-top:8px; font-size:10px; }

  .home-redesign .prayer-inner { min-height:420px; }
  .home-redesign .prayer-copy { padding:20px 48px 18px; }
  .home-redesign .prayer-copy h2 { margin-top:8px; font-size:31px; line-height:1.28; }
  .home-redesign .prayer-copy .section-description { margin-top:10px; font-size:12px; line-height:1.45; }
  .home-redesign .prayer-copy .wish-example { margin-top:8px; padding-left:15px; }
  .home-redesign .prayer-copy .wish-example>p { font-size:15px; line-height:1.3; }
  .home-redesign .prayer-copy .wish-example>small { margin-top:4px; font-size:9px; }
  .home-redesign .prayer-copy .prayer-cta { margin-top:10px; gap:10px; }
  .home-redesign .prayer-copy .prayer-cta .btn { min-height:40px; padding:8px 14px; font-size:12px; }
  .home-redesign .prayer-copy .quiet-note { margin-top:4px; font-size:9px; }
  .home-redesign .prayer-section .incense-strip { padding-block:6px; }
  .home-redesign .prayer-section .incense-strip button { min-height:34px; padding-block:4px; }

  .home-redesign .home-content-duo { gap:32px; padding-block:36px 42px; }
  .home-redesign .home-content-duo > .section .section-top { margin-bottom:14px; }
  .home-redesign .home-content-duo > .section .section-top h2 { font-size:30px; line-height:1.35; }
  .home-redesign .home-content-duo .library-layout { gap:18px; }
  .home-redesign .home-content-duo .book-selection { gap:8px; }
  .home-redesign .home-content-duo .book-cover { height:165px; }
  .home-redesign .home-content-duo .book-title { margin-top:14px; min-height:60px; font-size:17px; }
  .home-redesign .home-content-duo .excerpt-reader { padding-left:18px; }
  .home-redesign .home-content-duo .excerpt-reader blockquote { margin-top:6px; font-size:23px; }
  .home-redesign .home-content-duo .excerpt-reader #classic-explanation { margin-top:10px; font-size:11px; line-height:1.55; }
  .home-redesign .home-content-duo .excerpt-reader .excerpt-note { margin-top:5px; font-size:9px; }
  .home-redesign .home-content-duo .meditation { min-height:340px; }
  .home-redesign .home-content-duo .meditation-inner { min-height:340px; padding:24px 20px 18px; }
  .home-redesign .home-content-duo .meditation-copy h2 { font-size:30px; }
  .home-redesign .home-content-duo .practice-player { padding:12px 13px 8px; }
  .home-redesign .invitation { padding-block:30px; }
  .home-redesign .site-footer { padding-block:26px 22px; }
}

@media(max-width:960px) {
  .home-redesign .home-content-duo .library-layout { grid-template-columns:1fr; }
  .home-redesign .home-content-duo .excerpt-reader { padding:22px 0 0; border-top:1px solid #c6cdbd; border-left:0; }
}
@media(max-width:680px) {
  .home-redesign .home-hero { height:620px; min-height:620px; }
  .home-redesign .hero-copy { width:100%; }
  .home-redesign .home-hero .hero-art { object-position:60% center; }
  .home-redesign .home-service-card { grid-template-columns:64px minmax(0,1fr) 15px; min-height:118px; }
  .home-redesign .service-emblem { width:64px; height:64px; }
  .home-redesign .prayer-inner { min-height:680px; }
  .home-redesign .prayer-copy { width:100%; margin-left:0; padding:350px 24px 48px; background:linear-gradient(0deg,#061a16e8 0%,#071c188a 54%,#071c1800 100%); }
  .home-redesign .prayer-visual .artifact-caption { left:auto; right:18px; bottom:300px; }
  .home-redesign .home-content-duo .book-selection { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .home-redesign .home-content-duo .book-cover { height:172px; }
  .home-redesign .home-content-duo .book-title { font-size:17px; min-height:65px; }
  .home-redesign .home-content-duo .meditation { min-height:470px; }
  .home-redesign .home-content-duo .meditation-inner { min-height:470px; padding:28px 22px 20px; }
}
@media(max-width:420px) {
  .home-redesign .home-content-duo .book-selection { grid-template-columns:1fr 1fr; }
  .home-redesign .home-content-duo .book-cover:last-child { display:none; }
}

/* Keep the redesigned homepage on a single mobile column.  This follows the
   parity block so the desktop two-column proportions cannot leak into phones. */
@media(max-width:680px) {
  .home-redesign .home-start-layout { grid-template-columns:1fr; }
  .home-redesign .home-services { min-width:0; }
  .home-redesign .home-service-grid { grid-template-columns:1fr; min-width:0; }
  .home-redesign .home-service-card { width:100%; max-width:100%; }
}

/* Final composition corrections against the approved 1024px visual. */
.home-redesign main {
  display:flow-root;
  background:#f6f2e7 url('paper-landscape.jpg') center top/cover no-repeat;
}
.home-redesign .home-start-section,
.home-redesign .home-content-duo,
.home-redesign .invitation { background:transparent; }
.home-redesign .prayer-copy .wish-example,
.home-redesign .prayer-copy .quiet-note,
.home-redesign .prayer-section .incense-strip { display:none; }
.home-redesign .prayer-inner { min-height:clamp(340px,27vw,430px); }
.home-redesign .prayer-copy { padding-block:42px 36px; }
.home-redesign .prayer-copy h2 { line-height:1.24; }
.home-redesign .home-content-duo {
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);
  gap:clamp(30px,3.4vw,48px);
  padding-block:clamp(34px,3.8vw,50px) clamp(38px,4vw,54px);
}
.home-redesign .home-content-duo > .section .section-top { margin-bottom:18px; }
.home-redesign .home-content-duo > .section .section-top h2 {
  max-width:none;
  font-size:clamp(30px,2.45vw,36px);
  line-height:1.3;
  white-space:nowrap;
}
.home-redesign .home-content-duo .library-layout { gap:22px; }
.home-redesign .home-content-duo .book-cover { height:160px; }
.home-redesign .home-content-duo .book-title { margin-top:13px; min-height:64px; font-size:18px; }
.home-redesign .home-content-duo .book-cover>small { bottom:9px; font-size:10px; }
.home-redesign .home-content-duo .excerpt-reader { padding-left:22px; }
.home-redesign .home-content-duo .excerpt-reader blockquote { margin-top:6px; font-size:23px; line-height:1.45; }
.home-redesign .home-content-duo .excerpt-reader #classic-explanation { margin-top:12px; font-size:12px; line-height:1.6; }
.home-redesign .home-content-duo .meditation { min-height:320px; }
.home-redesign .home-content-duo .meditation-inner { min-height:320px; padding:28px 24px 20px; }
.home-redesign .home-content-duo .meditation-copy h2 { font-size:clamp(30px,2.8vw,38px); line-height:1.35; }
.home-redesign .home-content-duo .practice-player { padding:14px 14px 10px; }
.home-redesign .home-content-duo .player-title { font-size:18px; }

@media(min-width:681px) and (max-width:1200px) {
  .home-redesign .home-hero .hero-inner { margin-inline:28px; padding-inline:72px; }
  .home-redesign .home-start-layout,
  .home-redesign .home-content-duo { width:calc(100% - 96px); margin-inline:48px; }
  .home-redesign .home-start-layout { grid-template-columns:minmax(270px,.62fr) minmax(0,1.18fr); }
  .home-redesign .home-content-duo { grid-template-columns:minmax(0,1.15fr) minmax(280px,.82fr); }
  .home-redesign .prayer-copy { width:45%; margin-left:55%; }

  .home-redesign .home-start-layout { padding-block:24px 26px; }
  .home-redesign .home-calendar-card { min-height:374px; }
  .home-redesign .home-services-heading { margin-bottom:12px; }
  .home-redesign .home-services-heading h2 { font-size:30px; line-height:1.3; }
  .home-redesign .home-services-heading > div > p:last-child { margin-top:2px; font-size:12px; }
  .home-redesign .home-services-note { padding-bottom:4px; font-size:10px; }
  .home-redesign .home-service-grid { gap:8px; }
  .home-redesign .home-service-card { min-height:96px; padding-block:12px; }
  .home-redesign .reading-shortcuts { margin-top:10px; }
  .home-redesign .reading-shortcuts button { min-height:46px; padding-block:3px; }
  .home-redesign .reading-shortcuts strong { font-size:11px; }
  .home-redesign .reading-shortcuts small { font-size:8px; }
  .home-redesign .reading-assurance { display:none; }

  .home-redesign .prayer-inner { min-height:340px; }
  .home-redesign .prayer-copy { padding:36px 42px 28px; }
  .home-redesign .home-content-duo { grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr); padding-block:30px 38px; }
  .home-redesign .home-content-duo > .section .section-top h2 { font-size:30px; }
  .home-redesign .home-content-duo .book-cover { height:142px; }
  .home-redesign .home-content-duo .book-title { font-size:16px; min-height:54px; }
  .home-redesign .home-content-duo .meditation { min-height:290px; }
  .home-redesign .home-content-duo .meditation-inner { min-height:290px; padding:22px 18px 16px; }
  .home-redesign .home-content-duo .meditation-copy h2 { line-height:1.25; }
  .home-redesign .home-content-duo .practice-player { padding:8px 10px 6px; }
  .home-redesign .home-content-duo .practice-player .player-title { font-size:15px; line-height:1.3; }
  .home-redesign .home-content-duo .practice-player .timer-options { margin-top:7px; font-size:11px; }
  .home-redesign .home-content-duo .practice-player .player-control { margin-top:7px; min-height:34px; }
  .home-redesign .home-content-duo .practice-player .player-status { margin-top:5px; font-size:10px; }
  .home-redesign .invitation { padding-block:10px; }
  .home-redesign .site-footer { padding-block:16px 12px; }
  .home-redesign .site-footer .footer-note p:first-child { display:none; }
  .home-redesign .site-footer .footer-note { margin-top:8px; padding-top:8px; font-size:9px; }
}

@media(max-width:680px) {
  .home-redesign .home-content-duo > .section .section-top h2 { white-space:normal; }
  .home-redesign .prayer-inner { min-height:0; }
  .home-redesign .prayer-copy { padding:36px 22px 42px; }
}

/* Strict parity with the approved 1024px visual.  The reference is composed
   as six measured bands, so desktop content is allowed to crop/condense
   inside those bands instead of growing the page with the legacy long-form
   copy.  Mobile keeps the fluid composition above. */
@media(min-width:681px) {
  .home-redesign .site-header { height:clamp(49px,4.8vw,72px); }
  .home-redesign .site-header .header-inner,
  .home-redesign .home-hero .hero-inner {
    width:calc(100% - 19.53vw);
    max-width:none;
    margin-inline:auto;
  }
  .home-redesign .site-header .desktop-nav { gap:0; flex:1; justify-content:center; }
  .home-redesign .site-header .desktop-nav a {
    display:flex;
    padding-inline:clamp(7px,.78vw,12px);
    font-size:clamp(11px,.9vw,14px);
  }
  .home-redesign .site-header .desktop-nav a:not(.nav-priority) { display:flex; }
  .home-redesign .site-header .header-actions { display:flex; align-items:center; }
  .home-redesign .site-header .account-btn {
    display:flex;
    font-size:clamp(11px,.9vw,14px);
  }
  .home-redesign .site-header .menu-toggle { display:none!important; }

  .home-redesign .home-hero {
    height:clamp(430px,42vw,620px);
    min-height:430px;
  }
  .home-redesign .home-hero .hero-inner {
    align-items:flex-start;
    padding-top:clamp(104px,10.2vw,146px);
    padding-inline:0;
  }
  .home-redesign .hero-copy {
    width:54%;
    max-width:570px;
    padding:0;
  }
  .home-redesign .hero-brand { margin:8px 0 5px; }
  .home-redesign .hero h1 { font-size:clamp(82px,8vw,120px); line-height:1.05; }
  .home-redesign .hero h2 { height:clamp(44px,4.4vw,63px)!important; min-height:0!important; font-size:clamp(32px,3vw,46px); line-height:1.2; overflow:visible; }
  .home-redesign .hero-description { margin-top:5px; font-size:clamp(13px,1.3vw,15px); line-height:1.55; }
  .home-redesign .hero-actions { margin-top:10px; gap:6px; }
  .home-redesign .hero-actions .btn-gold { min-width:214px; min-height:48px; }
  .home-redesign .hero-text-link { min-height:25px; font-size:clamp(11px,1.05vw,13px); }
  .home-redesign .hero-footer { left:0; right:0; bottom:clamp(14px,1.6vw,22px); }

  .home-redesign .home-start-section {
    height:clamp(422px,41.2vw,595px);
    overflow:hidden;
  }
  .home-redesign .home-start-layout,
  .home-redesign .home-content-duo,
  .home-redesign .invitation {
    width:calc(100% - 9.375vw);
    max-width:none;
    margin-inline:auto;
  }
  .home-redesign .home-start-layout {
    height:100%;
    grid-template-columns:32.8% minmax(0,1fr);
    gap:4.1%;
    padding-block:2.25vw 1.8vw;
    box-sizing:border-box;
  }
  .home-redesign .home-calendar-card {
    height:100%;
    min-height:0;
    padding:clamp(22px,2.2vw,32px) clamp(22px,2.2vw,32px) 20px;
    box-sizing:border-box;
  }
  .home-redesign .home-services { min-width:0; height:100%; overflow:hidden; }
  .home-redesign .home-services-heading {
    height:clamp(64px,6.3vw,91px);
    margin-bottom:clamp(12px,1.25vw,18px);
    align-items:flex-start;
  }
  .home-redesign .home-services-heading h2 { font-size:clamp(34px,3.4vw,49px); line-height:1.18; }
  .home-redesign .home-services-heading > div > p:last-child { margin-top:5px; font-size:clamp(12px,1.25vw,18px); }
  .home-redesign .home-services-note { padding-top:clamp(16px,1.6vw,23px); font-size:clamp(10px,1vw,14px); }
  .home-redesign .home-service-grid { gap:clamp(8px,.8vw,12px); }
  .home-redesign .home-service-card {
    min-height:0;
    height:clamp(108px,10.55vw,152px);
    grid-template-columns:clamp(62px,6.25vw,90px) minmax(0,1fr) 16px;
    gap:clamp(11px,1.2vw,17px);
    padding:clamp(12px,1.4vw,20px);
  }
  .home-redesign .service-emblem { width:clamp(62px,6.25vw,90px); height:clamp(62px,6.25vw,90px); }
  .home-redesign .service-copy strong { font-size:clamp(20px,2.15vw,31px); }
  .home-redesign .service-copy small { font-size:clamp(10px,1vw,14px); }
  .home-redesign .reading-shortcuts { margin-top:clamp(10px,1.15vw,17px); }
  .home-redesign .reading-shortcuts button { min-height:clamp(60px,6.5vw,94px); padding-block:6px; }
  .home-redesign .reading-shortcuts strong { font-size:clamp(12px,1.35vw,19px); }
  .home-redesign .reading-shortcuts small { font-size:clamp(8px,.9vw,13px); }
  .home-redesign .reading-assurance { display:none; }

  .home-redesign .prayer-section { height:clamp(336px,32.8vw,492px); overflow:hidden; }
  .home-redesign .prayer-inner {
    width:100%;
    max-width:none;
    height:100%;
    min-height:0;
    margin:0;
  }
  .home-redesign .prayer-copy {
    width:42%;
    margin-left:58%;
    height:100%;
    box-sizing:border-box;
    padding:clamp(42px,5.4vw,78px) clamp(20px,4.8vw,70px) 24px 10px;
  }
  .home-redesign .prayer-copy h2 { font-size:clamp(34px,3.7vw,53px); line-height:1.32; }
  .home-redesign .prayer-copy .section-description { font-size:clamp(12px,1.2vw,17px); line-height:1.65; }
  .home-redesign .prayer-copy .prayer-cta .btn { min-height:clamp(42px,4.3vw,62px); padding-inline:clamp(15px,2.2vw,32px); }

  .home-redesign .home-content-duo {
    height:clamp(314px,30.7vw,442px);
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr);
    gap:clamp(30px,3.4vw,49px);
    padding-block:clamp(22px,2.35vw,34px) 0;
    box-sizing:border-box;
    overflow:hidden;
  }
  .home-redesign .home-content-duo > .section { height:100%; min-height:0; overflow:hidden; }
  .home-redesign .home-content-duo > .section .section-top { margin-bottom:clamp(10px,1.4vw,20px); }
  .home-redesign .home-content-duo > .section .section-top h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.25; }
  .home-redesign .home-content-duo .library-layout {
    grid-template-columns:minmax(300px,1.2fr) minmax(0,.8fr);
    gap:clamp(18px,2.2vw,32px);
    margin-top:0;
  }
  .home-redesign .home-content-duo .book-selection { gap:clamp(8px,1vw,14px); padding-top:3px; }
  .home-redesign .home-content-duo .book-cover { height:clamp(142px,14.2vw,205px); }
  .home-redesign .home-content-duo .book-title { margin-top:13px; min-height:54px; font-size:clamp(16px,1.7vw,24px); }
  .home-redesign .home-content-duo .excerpt-reader { min-height:0; padding-left:clamp(18px,2.1vw,30px); }
  .home-redesign .home-content-duo .excerpt-reader blockquote { margin-top:clamp(7px,1vw,14px); font-size:clamp(22px,2.4vw,35px); line-height:1.42; }
  .home-redesign .home-content-duo .explanation-tabs,
  .home-redesign .home-content-duo #classic-explanation,
  .home-redesign .home-content-duo .excerpt-note { display:none; }
  .home-redesign .home-content-duo .meditation {
    height:100%;
    min-height:0;
    z-index:2;
  }
  .home-redesign .home-content-duo .meditation-inner {
    min-height:0;
    height:100%;
    padding:clamp(20px,2.2vw,32px) clamp(18px,2.3vw,33px) 14px;
    box-sizing:border-box;
  }
  .home-redesign .home-content-duo .meditation-copy h2 { font-size:clamp(28px,3vw,43px); line-height:1.25; }
  .home-redesign .home-content-duo .meditation-copy>p:last-child { font-size:clamp(11px,1vw,14px); margin-top:8px; }
  .home-redesign .home-content-duo .practice-player { padding:clamp(9px,1.2vw,17px) clamp(10px,1.3vw,18px) 8px; }
  .home-redesign .home-content-duo .player-title { font-size:clamp(16px,1.8vw,26px); }
  .home-redesign .home-content-duo .timer-options { margin-top:8px; }
  .home-redesign .home-content-duo .player-control { margin-top:8px; gap:clamp(8px,1.2vw,17px); }
  .home-redesign .home-content-duo .player-status { margin-top:5px; }

  .home-redesign .invitation {
    height:clamp(44px,4.3vw,62px);
    position:relative;
    top:calc(clamp(44px,4.3vw,62px) * -1);
    margin-bottom:calc(clamp(44px,4.3vw,62px) * -1);
    padding:0;
    border-top:1px solid var(--home-line);
    box-sizing:border-box;
  }
  .home-redesign .invitation .eyebrow { display:none; }
  .home-redesign .invitation h2 { margin:0; font-size:clamp(14px,1.5vw,21px); line-height:1.2; }
  .home-redesign .invitation>.text-link { font-size:clamp(10px,1vw,14px); min-height:30px; }
  .home-redesign .site-footer { height:clamp(36px,3.5vw,50px); padding:0; box-sizing:border-box; }
  .home-redesign .site-footer .wrap { height:100%; display:flex; align-items:center; justify-content:space-between; }
  .home-redesign .site-footer .footer-top { width:100%; }
  .home-redesign .site-footer .brand-word small,
  .home-redesign .site-footer .footer-note { display:none; }
  .home-redesign .site-footer .brand-word { font-size:clamp(16px,1.7vw,24px); }
  .home-redesign .site-footer .brand-mark { width:clamp(24px,2.4vw,34px); height:clamp(30px,3.1vw,44px); font-size:clamp(18px,2vw,26px); }
  .home-redesign .site-footer .footer-links { gap:clamp(14px,2vw,29px); }
  .home-redesign .site-footer .footer-links a { font-size:clamp(9px,.9vw,13px); }
}

@media(min-width:681px) and (max-width:1200px) {
  .home-redesign .site-header .header-inner { width:calc(100% - 200px); }
  .home-redesign .site-header .brand-mark { width:31px; height:32px; font-size:22px; }
  .home-redesign .site-header .desktop-nav a { padding-inline:8px; font-size:11px; }
  .home-redesign .site-header .account-btn { font-size:11px; }
  .home-redesign .home-hero .hero-inner { width:calc(100% - 200px); padding-top:104px; padding-inline:0; }
  .home-redesign .hero-footer { bottom:0; }
  .home-redesign .home-start-layout,
  .home-redesign .home-content-duo,
  .home-redesign .invitation { width:calc(100% - 96px); }
  .home-redesign .home-start-layout { grid-template-columns:307px minmax(0,1fr); gap:38px; padding-block:23px 18px; }
  .home-redesign .home-calendar-card { padding:24px 22px 20px; }
  .home-redesign .home-services-heading { height:64px; margin-bottom:13px; }
  .home-redesign .home-services-heading h2 { font-size:35px; }
  .home-redesign .home-services-heading > div > p:last-child { font-size:13px; }
  .home-redesign .home-services-note { padding-top:16px; font-size:10px; }
  .home-redesign .home-service-card { height:108px; grid-template-columns:64px minmax(0,1fr) 14px; padding:14px; gap:12px; }
  .home-redesign .service-emblem { width:64px; height:64px; }
  .home-redesign .service-copy strong { font-size:20px; }
  .home-redesign .service-copy small { font-size:10px; }
  .home-redesign .reading-shortcuts { margin-top:10px; }
  .home-redesign .reading-shortcuts button { min-height:60px; }
  .home-redesign .reading-shortcuts strong { font-size:12px; }
  .home-redesign .reading-shortcuts small { font-size:8px; }
  .home-redesign .prayer-inner { height:336px; }
  .home-redesign .prayer-copy { padding:42px 42px 24px 10px; }
  .home-redesign .prayer-copy h2 { font-size:36px; }
  .home-redesign .home-content-duo { height:314px; grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr); gap:32px; padding-top:22px; }
  .home-redesign .home-content-duo > .section .section-top h2 { font-size:31px; }
  .home-redesign .home-content-duo .library-layout { grid-template-columns:310px minmax(0,1fr); gap:22px; }
  .home-redesign .home-content-duo .book-cover { height:145px; }
  .home-redesign .home-content-duo .book-title { font-size:16px; }
  .home-redesign .home-content-duo .excerpt-reader blockquote { font-size:23px; }
  .home-redesign .home-content-duo .meditation-inner { padding:22px 18px 14px; }
  .home-redesign .home-content-duo .meditation-copy h2 { font-size:29px; }
  .home-redesign .invitation { height:44px; top:-44px; margin-bottom:-44px; }
  .home-redesign .site-footer { height:36px; }
}

@media(min-width:681px) {
  .home-redesign .home-start-section,
  .home-redesign .home-content-duo,
  .home-redesign .invitation {
    background-color:var(--home-paper);
    background-image:url('paper-landscape.jpg');
    background-repeat:no-repeat;
    background-size:cover;
  }
  .home-redesign .home-start-section { background-position:center top; }
  .home-redesign .home-content-duo,
  .home-redesign .invitation { background-position:center 35%; }

  .home-redesign .home-content-duo .meditation { position:relative; }
  .home-redesign .home-content-duo .practice-player {
    position:absolute;
    left:clamp(10px,1.3vw,18px);
    right:clamp(10px,1.3vw,18px);
    bottom:10px;
    height:clamp(132px,13vw,187px);
    box-sizing:border-box;
    overflow:hidden;
  }
  .home-redesign .home-content-duo .player-title { height:30px; font-size:clamp(15px,1.55vw,22px); }
  .home-redesign .home-content-duo .player-title>svg { width:25px; height:25px; }
  .home-redesign .home-content-duo .player-title>div>span { font-size:8px; margin-top:1px; }
  .home-redesign .home-content-duo .timer-options { gap:clamp(12px,1.5vw,22px); }
  .home-redesign .home-content-duo .timer-options button { min-height:26px; padding-block:3px; font-size:clamp(8px,.9vw,12px); }
  .home-redesign .home-content-duo .player-control { min-height:36px; margin-top:5px; }
  .home-redesign .home-content-duo .play-btn { width:36px; height:36px; }
  .home-redesign .home-content-duo .time-left { min-width:56px; font-size:clamp(20px,2.2vw,31px); }
  .home-redesign .home-content-duo .player-control .icon-btn { width:28px; height:28px; }
  .home-redesign .home-content-duo .player-control>svg { width:14px; }
  .home-redesign .home-content-duo .volume { width:clamp(45px,5vw,72px); }
  .home-redesign .home-content-duo .player-status { min-height:14px; margin-top:3px; font-size:8px; }
}

/* The approved composition is desktop-first, but the lower pair must still
   collapse into a real mobile reading flow instead of retaining the desktop
   grid's zero-width library column. */
@media(max-width:680px) {
  .home-redesign .home-content-duo {
    display:block;
    width:calc(100% - 40px);
    height:auto;
    margin-inline:auto;
    padding:0;
    overflow:visible;
  }
  .home-redesign .home-content-duo > .section {
    width:100%;
    height:auto;
    min-height:0;
    overflow:visible;
  }
  .home-redesign .home-content-duo .library-section {
    padding-block:36px 42px;
  }
  .home-redesign .home-content-duo .library-layout {
    grid-template-columns:1fr;
    gap:16px;
  }
  .home-redesign .home-content-duo .meditation {
    width:100%;
    min-height:470px;
    height:auto;
  }
  .home-redesign .home-content-duo .meditation-inner {
    min-height:470px;
    height:auto;
    display:flex;
    flex-direction:column;
  }
  .home-redesign .home-content-duo .practice-player {
    position:static;
    height:auto;
    margin-top:20px;
  }
}
