@font-face{font-family:Decipher Serif;src:url('/fonts/playfair-latin.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Decipher Sans;src:url('/fonts/dm-sans-latin.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}*{box-sizing:border-box}:root{color-scheme:dark;--bg:#09131e;--panel:#101f2c;--line:#314251;--ink:#f7f1e8;--muted:#b4c0c9;--gold:#e1c39b;--green:#a2cbb5}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'Decipher Sans',sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Decipher Serif',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.2}h1{font-size:clamp(36px,4vw,54px);margin-bottom:16px}h2{font-size:27px}h3{font-weight:500;font-size:17px}p{color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-100px}.skip:focus{top:10px;z-index:10;background:var(--bg);padding:12px}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{padding:40px 25px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#0b1722}.brand{font:25px/1.2 'Decipher Serif',Georgia,serif;color:var(--ink)}.brand span{display:block;font:10px 'Decipher Sans',sans-serif;letter-spacing:.22em;color:var(--gold);margin-top:18px}.sidebar nav{margin-top:56px;display:grid;gap:8px}.sidebar nav button{display:flex;align-items:center;gap:14px;border:1px solid transparent;background:transparent;color:var(--muted);padding:13px;text-align:left;border-radius:5px}.sidebar nav button[aria-current=page]{border-color:#75634c;background:#e1c39b12;color:var(--gold)}.sidebar-foot{margin-top:auto;padding-top:90px;font-size:12px}.small-label{font-size:10px;color:var(--gold);letter-spacing:.2em;display:block;margin-bottom:14px}.sidebar-foot p{line-height:1.8}.workspace main{padding:0 48px;min-width:0}.topbar{height:94px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.12em;color:var(--muted)}.topbar>div{display:flex;align-items:center;gap:14px;letter-spacing:0}.quiet,.secondary{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 16px;border-radius:5px;min-height:44px}.primary{border:1px solid var(--gold);background:var(--gold);color:#15202a;font-weight:600;padding:12px 20px;min-height:48px;border-radius:5px}.primary:hover{background:#efd7b6}.quiet:hover,.secondary:hover{background:var(--panel)}.gate{max-width:640px;padding:85px 0 100px}.gate h1{font-size:clamp(38px,5vw,66px)}.gate p{max-width:490px}.inline{display:flex;gap:12px;align-items:center}.inline input{max-width:210px;letter-spacing:.3em}label{display:block;margin:16px 0 8px;font-size:13px}input,textarea,select{border:1px solid var(--line);background:#0b1722;color:var(--ink);padding:12px 14px;border-radius:5px;max-width:100%;min-height:46px}textarea{width:100%;min-height:105px}select{width:100%}.notice{padding:15px 20px;background:#e1c39b12;border:1px solid #76634b;border-radius:5px;margin:22px 0;color:var(--ink)}.page-heading{padding:42px 0 26px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-heading p{margin-bottom:0;max-width:600px}.page-heading h1{font-size:44px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:7px;overflow:hidden}.stat{padding:25px;background:var(--panel);border-right:1px solid var(--line)}.stat:last-child{border:0}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:39px;font-weight:400;line-height:1.5;font-variant-numeric:tabular-nums}.stat small{color:var(--green);font-size:11px}.section-head{margin:35px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head h2{margin:0}.panels{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-top:25px}.card{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:26px}.card p:last-child{margin-bottom:0}.card ul{padding-left:20px;color:var(--muted)}.health-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.health-row:last-child{border:0}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #466756;background:#a2cbb510;border-radius:30px;padding:3px 10px;font-size:11px;color:var(--green);white-space:nowrap}.badge.warn{border-color:#816849;color:var(--gold);background:#e1c39b10}.badge.dim{border-color:var(--line);color:var(--muted);background:transparent}.badge.bad{border-color:#86594f;color:#eeb6ac;background:#eea99f0a}.filters{display:flex;gap:14px;align-items:center;margin:18px 0}.filters input{flex:1;min-width:130px}.filters select{width:auto;max-width:220px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:13px}th{font-weight:400;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);background:#11212f;padding:17px 20px}td{padding:18px 20px;border-top:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}td strong{font-weight:500}.row-button{background:transparent;border:0;text-align:left;padding:0;color:var(--ink);min-height:44px}.row-button:hover{color:var(--gold)}.empty{padding:40px;text-align:center;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.load-more{margin:20px 0}.event{padding:20px 0;border-bottom:1px solid var(--line)}.event p{margin:4px 0}.event small{color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:60px;padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}dialog{background:#101f2c;color:var(--ink);border:1px solid var(--line);border-radius:9px;width:min(540px,calc(100% - 30px));padding:34px;max-height:90vh}dialog::backdrop{background:#020910b8}.close{float:right;border:0;background:transparent;color:var(--ink);font-size:26px}.details{display:grid;grid-template-columns:1fr 1fr;gap:10px}.details dt{color:var(--muted);font-size:12px}.details dd{margin:0;overflow-wrap:anywhere}.membership{max-width:1060px;margin:auto;padding:0 28px}.membership .topbar{letter-spacing:0}.membership-intro{text-align:center;padding:55px 0 30px}.membership-intro p{max-width:600px;margin:auto}.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.plan{position:relative;padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.plan.featured{border-color:#927856}.price{font-size:46px;font-weight:400;letter-spacing:-.035em;line-height:1.3;margin:20px 0 6px}.price small{font-size:14px;color:var(--muted);letter-spacing:0}.plan ul{padding-left:20px;color:var(--muted);min-height:120px}.plan .primary{width:100%}.plan .muted{min-height:40px}.privacy-tools{margin-top:32px}.privacy-tools .inline{flex-wrap:wrap}.consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0}.consent input{min-height:auto;margin-top:6px}.consent label{margin:0;color:var(--muted)}@media(max-width:1100px){.workspace{grid-template-columns:205px minmax(0,1fr)}.workspace main{padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--line)}.panels{grid-template-columns:1fr}.page-heading h1{font-size:36px}}@media(max-width:700px){.workspace{display:block}.sidebar{padding:20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand br{display:none}.brand span{margin-top:9px}.sidebar nav{display:flex;overflow:auto;gap:5px;margin-top:20px}.sidebar nav button{white-space:nowrap;padding:10px;font-size:12px}.sidebar-foot{display:none}.workspace main{padding:0 20px}.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:15px 0}.topbar>div{flex-wrap:wrap}.page-heading{align-items:flex-start;flex-direction:column;padding-top:30px}.stat{padding:18px}.stat strong{font-size:32px}.filters{flex-wrap:wrap}.filters select{max-width:100%}.plans{grid-template-columns:1fr}.membership{padding:0 20px}.membership-intro{padding-top:35px}footer{flex-direction:column;gap:7px}.gate{padding:45px 0}.details{grid-template-columns:1fr}.details dd{margin-bottom:10px}.section-head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Responsive controls and deliberate, reduced-motion-aware feedback. */
.inline{flex-wrap:wrap}input,select,textarea{font-size:16px}.close{min-width:44px;min-height:44px}dialog{overflow:auto;overscroll-behavior:contain}.membership-status,.card,.plan{min-width:0}.health-row>*{min-width:0}.health-row{flex-wrap:wrap}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color 150ms ease-out,color 150ms ease-out,border-color 150ms ease-out}dialog[open],.view-enter{animation:decipher-enter 180ms ease-out}dialog[open]::backdrop{animation:decipher-fade 180ms ease-out}}
@keyframes decipher-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes decipher-fade{from{opacity:0}to{opacity:1}}
.du-membership-brand{display:inline-flex;align-items:center;gap:12px}.du-membership-brand img{flex:none}.du-membership-brand{font-size:25px}

/* A warm editorial layer for the public site and customer workspace. */
:is(body:not(.admin-page),body.member-page){--paper:#fbf7f0;--surface:#fffdf9;--surface-raised:#f3ede3;--ink:#3b302a;--muted:#6a6058;--line:#ded5c9;--soft-line:#eee6da;--gold:#80623c;--du-shadow:0 8px 26px #63462c0a;background:var(--paper);color:var(--ink)}
body:not([data-auth="signed-in"]) :is(.site-nav a,.nav-login){color:#483d35}
body:not([data-auth="signed-in"]) :is(.hero h1,.section-intro h2,.library-heading h2,.closing-note h2){font-family:var(--serif);font-weight:500;letter-spacing:-.035em;text-wrap:balance;color:var(--ink)}
body:not([data-auth="signed-in"]) .hero h1{font-size:clamp(44px,4.4vw,64px);line-height:1.12;max-width:17ch}
body:not([data-auth="signed-in"]) .hero h1 em{color:#95513b;font-weight:400;letter-spacing:-.035em}
body:not([data-auth="signed-in"]) .hero .subtitle{color:var(--muted);font-size:18px;max-width:44ch;line-height:1.75}
body:not([data-auth="signed-in"]) :is(.primary-button,.nav-cta){background:#975039;border-color:#975039;color:#fffdf9;box-shadow:0 4px 12px #97503918;border-radius:14px}
body:not([data-auth="signed-in"]) .primary-button:hover{background:#7d3f2c;border-color:#7d3f2c}
body:not([data-auth="signed-in"]) :is(.ghost-button,.text-link){color:#674635;border-color:#c6ae9d}
body:not([data-auth="signed-in"]) :is(.eyebrow,.rail-label,.hero-note){color:#746149}
body:not([data-auth="signed-in"]) .hero-note{font-size:13px;line-height:1.6;max-width:40ch;align-items:flex-start}
body:not([data-auth="signed-in"]) .hero-review{background:#fffdf9;border:1px solid #ded5c9;border-radius:20px;box-shadow:0 16px 40px #63462c12;backdrop-filter:none}
body:not([data-auth="signed-in"]) :is(.mini-insights>div,.example-next){background:#f4eee4;border-color:#ded5c9}
body:not([data-auth="signed-in"]) :is(.discovery-section,.membership-preview,.closing-note){background:#f2e9dd;border-color:#ded5c9;border-radius:24px}
body:not([data-auth="signed-in"]) :is(.section-intro>p,.library-heading>p,.collection-purpose,.help-answers p,.discovery-details p){color:var(--muted);line-height:1.75;max-width:60ch}
body:not([data-auth="signed-in"]) .collection-card{background:#fffdf9;border-color:#ded5c9;box-shadow:0 6px 18px #63462c08}
body:not([data-auth="signed-in"]) .collection-copy h3{font-family:var(--serif);color:var(--ink);line-height:1.25}
body:not([data-auth="signed-in"]) .du-faq :is(summary,details){color:var(--ink);border-color:#ded5c9}
body:not([data-auth="signed-in"]) .landing-plans article{background:#fffdf9;border-color:#d7c8b6}
body:not([data-auth="signed-in"]) .how-steps li{border-color:#ded5c9}
body:not([data-auth="signed-in"]) .how-steps h3{color:var(--ink)}
body:not([data-auth="signed-in"]) :is(.site-footer,.site-header){border-color:#ded5c9}
body:not([data-auth="signed-in"]) :is(button,a,summary):focus-visible{outline:3px solid #975039;outline-offset:4px}
body[data-auth="signed-in"] :is(.hub-heading h1,.reflection-heading h1,.profile-editor h2,.profile-card h2,.journey-summary h2){font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:1.2}
body[data-auth="signed-in"] :is(.hub-card,.question-card,.profile-editor,.journey-summary,.review-completion-guide,.workspace-profile-pair){background:#fffdf9;border-color:#ded5c9}
body[data-auth="signed-in"] :is(.hub-heading>p,.question-card p,.profile-editor p){color:var(--muted)}
body[data-auth="signed-in"] .profile-avatar{width:112px;height:128px;border-radius:22px;flex-shrink:0}
body[data-auth="signed-in"] :is(.profile-avatar img,.workspace-profile-avatar img){width:100%;height:100%;object-fit:cover}
body.member-page :is(.membership-intro h1,.plan-section-heading h2){font-family:var(--serif,'Decipher Serif',Georgia,serif);font-weight:500;color:var(--ink);text-wrap:balance}
body.member-page :is(.card,.plan){background:#fffdf9;border-color:#ded5c9;box-shadow:var(--du-shadow)}
body.member-page .plan.featured{background:#f2e9dd;border-color:#c6ae9d}
@media(min-width:761px){
 body:not([data-auth="signed-in"]) .hero{grid-template-columns:1.05fr 1fr;gap:48px;padding:36px 0 64px;min-height:650px}
 body:not([data-auth="signed-in"]) .hero-copy{padding-block:100px 30px;align-self:start}
 body:not([data-auth="signed-in"]) .hero-image{top:24px;width:47%;height:430px;mask-image:none;border-radius:100px 24px 24px 24px;object-position:center 35%;z-index:0}
 body:not([data-auth="signed-in"]) .hero-review{position:relative;z-index:1;margin:330px 20px 0 24px;padding:24px}
 body:not([data-auth="signed-in"]) .hero-pause{top:42px;right:18px;bottom:auto}
}
@media(max-width:760px){
 body:not([data-auth="signed-in"]) :is(.shell,.site-header,.site-footer){width:calc(100% - 32px)}
 body:not([data-auth="signed-in"]) .hero{gap:0;padding-top:12px}
 body:not([data-auth="signed-in"]) .hero h1{font-size:clamp(39px,9.8vw,60px);max-width:15ch}
 body:not([data-auth="signed-in"]) .hero .subtitle{font-size:16px}
 body:not([data-auth="signed-in"]) .hero-image{height:280px;border-radius:64px 18px 18px 18px;object-position:center 35%}
 body:not([data-auth="signed-in"]) .hero-review{margin:-16px 8px 24px}
 body:not([data-auth="signed-in"]) .site-nav{background:#fffdf9;border-color:#ded5c9}
 body[data-auth="signed-in"] .profile-avatar{width:88px;height:100px}
}
@media(prefers-reduced-motion:reduce){body:not([data-auth="signed-in"]) .primary-button:hover{transform:none}}

/* Keep the slideshow control quiet; reveal it only when needed. */
body:not([data-auth="signed-in"]) .hero-pause{opacity:0;pointer-events:none;transition:opacity .18s ease;background:#3b302acc;color:#fffdf9;border:1px solid #ffffff40;box-shadow:none}
body:not([data-auth="signed-in"]) .hero-pause:focus-visible{opacity:1;pointer-events:auto;outline:3px solid #975039;outline-offset:4px}
@media(hover:hover){body:not([data-auth="signed-in"]) .hero-image:hover~.hero-pause,body:not([data-auth="signed-in"]) .hero-pause:hover{opacity:1;pointer-events:auto}}

/* Shared reading scale; keep forms and important explanatory copy comfortable. */
:root{--du-type-body:16px;--du-type-support:14px;--du-type-caption:13px;--du-reading-measure:65ch}
body:not([data-auth="signed-in"]) :is(.collection-purpose,.library-heading>p,.help-answers p){font-size:var(--du-type-body)!important}
body:not([data-auth="signed-in"]) :is(.review-kicker,.example-disclaimer,.site-footer p,.hero-note){font-size:var(--du-type-support);line-height:1.6}
body:not([data-auth="signed-in"]) .du-faq details p{font-size:var(--du-type-body)!important}
.sync-notice{font-size:var(--du-type-support);line-height:1.6}
.sync-notice[role="alert"]{border:1px solid #ad5946;background:#fff1e9;color:#713a2b;padding:14px 20px;border-radius:12px}
.account-help-page{color-scheme:light}
.account-help-page .brand{display:inline-flex;gap:12px;align-items:center;color:var(--ink)}
.account-help-page .card h1{font-family:'Decipher Serif',Georgia,serif;font-weight:500;line-height:1.15;font-size:clamp(32px,5vw,42px);color:var(--ink)}
.account-help-page .primary{background:#975039;border-color:#975039;color:#fffdf9;border-radius:14px;min-height:48px}
.account-help-page :is(.card p,.card li){font-size:var(--du-type-body);max-width:var(--du-reading-measure)}
.account-help-page :is(a,.brand){color:#674635}
.public-information{max-width:860px!important;color-scheme:light}
.public-information .card{margin-block:28px;padding:clamp(24px,5vw,48px)}
.public-information h2{margin-top:32px;font-size:24px;font-family:'Decipher Serif',Georgia,serif;font-weight:500}
.public-information .info-nav{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;margin:20px 0}
.site-footer .footer-information{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}
@media(hover:none){body:not([data-auth="signed-in"]) .hero-pause{display:none}}

.consent[hidden]{display:none!important}

/* Compact, readable synchronization feedback without blocking the workspace. */
.sync-notice:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:1320px;margin:8px auto 16px;padding:12px 20px;background:#f2eee5;border:1px solid #ded5c9;border-radius:12px;color:#5c5045}
.sync-notice::before{content:'';width:8px;height:8px;border-radius:50%;background:#397968;flex-shrink:0}
.sync-notice[data-sync-state="saving"]::before{background:#a8782b}
.sync-notice[data-sync-state="error"]::before{background:#ac493b}
.sync-notice .text-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.sync-notice:not([hidden]){margin-inline:16px;padding:10px 14px;font-size:14px}}

/* Module explanations are readable and clickable without granting access. */
body[data-auth="signed-in"] .module-info-row{opacity:1;background:#f6f1e8;border-color:#ded5c9}
.module-info-hint{display:block;color:#78533d;font-size:13px;margin-top:6px}
.module-access-copy h2{font-family:'Decipher Serif',Georgia,serif;color:#3b302a;font-weight:500;line-height:1.2}
.module-access-copy>p{font-size:16px;line-height:1.7;color:#6a6058;max-width:60ch}
.module-access-note{display:flex;gap:14px;padding:20px;background:#f3ede3;border:1px solid #ded5c9;border-radius:16px;color:#3b302a;margin:24px 0}
.module-access-note>.icon{flex-shrink:0}.module-access-note p{margin:8px 0 0;font-size:16px;line-height:1.6}
.module-access-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.module-access-actions :is(a,button){min-height:44px}
@media(max-width:760px){.module-access-note{padding:16px}.module-access-actions>.primary-button{width:100%}}

body[data-auth="signed-in"] .journey-state .module-info-hint{font-size:14px;line-height:1.5;color:#78533d}

/* Help follows the same editorial voice, with visible recovery paths. */
.account-help-page .help-intro{margin-block:40px 24px}
.account-help-page .help-intro h1{font-size:clamp(38px,6vw,60px);line-height:1.1;letter-spacing:-.025em;margin:14px 0 18px}
.account-help-page .help-intro p{font-size:18px;line-height:1.65;max-width:48ch}
.account-help-page .help-safety{padding:22px 26px;background:#f2e9dd;border:1px solid #c6ae9d;border-radius:16px;color:#44362d}
.account-help-page .help-safety p{margin:8px 0 0;line-height:1.7}
.account-help-page .help-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0 36px}
.account-help-page .help-topics a{display:flex;align-items:center;min-height:54px;padding:12px 16px;border:1px solid #ded5c9;border-radius:12px;background:#fffdf9;text-decoration:none;font-size:15px;line-height:1.4}
.account-help-page .help-topics a:hover{background:#f2e9dd;border-color:#b99b84}
.account-help-page .help-guide{scroll-margin-top:24px;margin-block:18px}
.account-help-page .help-guide h2{margin:10px 0 22px;font-size:clamp(26px,4vw,32px);line-height:1.25}
.account-help-page .help-guide :is(p,li){font-size:16px;line-height:1.75;max-width:65ch}
.account-help-page .help-guide :is(ol,ul){padding-left:24px;margin:0 0 22px}
.account-help-page .help-guide li+li{margin-top:10px}
.account-help-page .help-action{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-weight:600;text-underline-offset:5px}
.account-help-page .help-note{padding:16px 18px;background:#f6f0e7;border-radius:12px;color:#604d40}
.account-help-page .help-footer{margin:36px 0 24px;padding-top:24px;border-top:1px solid #ded5c9;font-size:14px;line-height:1.65}
.account-help-page a:focus-visible{outline:2px solid #78533d;outline-offset:5px}
@media(max-width:600px){.account-help-page .help-topics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-help-page .help-safety{padding:20px}.account-help-page .topbar{align-items:flex-start;gap:20px}.account-help-page .topbar>a:last-child{font-size:14px;white-space:normal;min-height:44px}}

/* One action, with each partner’s saved progress visible at a glance. */
body[data-auth="signed-in"] .next-partner-progress{width:100%;border-collapse:collapse;margin:22px 0 26px;font-size:14px;line-height:1.5;color:#60534a}
.next-partner-progress caption{text-align:left;font-weight:600;color:#44362d;padding-bottom:12px}
.next-partner-progress :is(th,td){text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid #ded5c9}
.next-partner-progress thead th{font-size:13px;font-weight:500;color:#6a6058}
.next-partner-progress tbody th{font-weight:600;color:#44362d}
.next-partner-progress td[data-done="true"]{color:#2d6b52;font-weight:600}
@media(max-width:600px){body[data-auth="signed-in"] .next-partner-progress{font-size:14px}.next-partner-progress :is(th,td){padding:10px 6px}.next-partner-progress thead th{font-size:13px}}

/* Installation is a quiet secondary invitation, separate from joining. */
.home-install{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:56px;align-items:center;margin:64px 0;padding:48px;border:1px solid #ded5c9;border-radius:24px;background:#fffdf9}
.home-install-mark{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:32px 16px;background:#f2e9dd;border-radius:24px;min-height:240px;justify-content:center;color:#5e483b}
.home-install-mark img{border-radius:24px;box-shadow:0 12px 24px #63462c1a}
.home-install-mark>span{font-family:var(--serif);font-size:26px}.home-install-mark small{font-size:14px;line-height:1.5}
.home-install-copy h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;font-size:clamp(32px,3.4vw,48px);line-height:1.15;color:#3b302a;margin:14px 0 22px}.home-install-copy h2 em{color:#95513b}
.home-install-copy>p{font-size:16px;line-height:1.7;max-width:50ch;color:#6a6058}
.home-install-devices{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:22px 0}.home-install-devices li{font-size:14px;line-height:1.5;padding:6px 12px;background:#f4eee4;border-radius:8px;color:#674635}
.home-install-copy .ghost-button{min-height:48px}.home-install-copy .home-install-note{font-size:14px;line-height:1.65;margin-top:18px}
.install-dialog{background:#fffdf9;color:#3b302a;border-color:#ded5c9}.install-dialog h2{font-family:'Decipher Serif',Georgia,serif;font-weight:500;font-size:32px}.install-dialog p{color:#6a6058}.install-instructions{background:#f3ede3}.install-dialog .primary-button{background:#975039;color:#fffdf9;border-color:#975039}
@media(max-width:700px){.home-install{grid-template-columns:1fr;gap:28px;padding:24px;margin:40px 0}.home-install-mark{min-height:0;padding:24px;gap:12px}.home-install-mark small{display:none}.home-install-copy .ghost-button{width:100%}}

/* After Dark: customer-facing theme. Account, access and billing logic are unchanged. */
/* Reflection progress follows the same night palette as the question itself. */
html body[data-auth=signed-in] .timeline{background:var(--night-surface);border-color:var(--night-line)}
html body[data-auth=signed-in] .timeline-step>span{background:var(--night-raised);border-color:var(--night-line);color:var(--night-ink)}
html body[data-auth=signed-in] .timeline-step.current>span{background:var(--night-accent);border-color:var(--night-accent);color:#241a16}
html body[data-auth=signed-in] .timeline-step.done>span{border-color:var(--night-success);color:var(--night-success)}
html body[data-auth=signed-in] .reflection-action-progress,html body[data-auth=signed-in] .reflection-action-progress>span{color:var(--night-muted)}
:root{--night-paper:#171316;--night-surface:#211c20;--night-raised:#2c252a;--night-field:#19161a;--night-ink:#f7eee4;--night-muted:#c6b8ad;--night-accent:#edb56d;--night-line:#51434a;--night-success:#aed8b8;--night-danger:#ffb8ac}
/* Keep occasional/empty states on the same surface as their themed text. */
html body:not(.admin-page) :is(.consent,.dashboard-partners>span,.jar-empty,.du-chapter li){background:var(--night-raised)!important;color:var(--night-ink)!important;border-color:var(--night-line)!important}
html body:not(.admin-page) .du-chapter li.done{background:#23362c!important;border-color:#52745e!important}
html:has(body:not(.admin-page)){background:var(--night-paper);color-scheme:dark}
html body:not(.admin-page){--paper:var(--night-paper);--surface:var(--night-surface);--surface-raised:var(--night-raised);--field:var(--night-field);--ink:var(--night-ink);--muted:var(--night-muted);--gold:var(--night-accent);--gold-light:#f6cb93;--line:var(--night-line);--soft-line:#3a3036;--green:var(--night-success);--red:var(--night-danger);--yellow:var(--night-accent);--du-shadow:0 12px 36px #08060830;background:var(--paper)!important;color:var(--ink)!important;color-scheme:dark}
html body:not(.admin-page) :is(h1,h2,h3,h4,strong,label,summary,th,.brand,.du-wordmark,.wordmark,.workspace-person strong,.journey-name strong){color:var(--ink)!important}
html body:not(.admin-page) :is(p,small,li,dt,dd,.subtle,.muted,.journey-state,.journey-name small,.field-label>span,.portrait-hint,.next-partner-progress,.next-partner-progress thead th,.table-scroll-hint){color:var(--muted)!important}
html body:not(.admin-page) :is(em,.rail-label,.small-label,.eyebrow,.step-number,.review-kicker,.question-label,.action-checkin,.help-action){color:var(--gold)!important}
html body:not(.admin-page) :is(a,.text-link,.nav-login,.secondary,.quiet,.ghost-button){color:var(--ink);border-color:var(--line)}
html body:not(.admin-page) :is(.site-nav a,.nav-login,.info-nav a,.footer-information a,.member-navigation a,.member-navigation button,.dashboard-nav button){color:var(--muted)!important}
html body:not(.admin-page) :is(.primary-button,.primary,.nav-cta){background:var(--gold)!important;border-color:var(--gold)!important;color:#241a16!important;box-shadow:none!important;border-radius:12px;min-height:48px}
html body:not(.admin-page) :is(.primary-button,.primary,.nav-cta):hover:not(:disabled){background:#f6cb93!important;border-color:#f6cb93!important}
html body:not(.admin-page) :is(.ghost-button,.secondary,.quiet){background:transparent!important;border:1px solid var(--line);color:var(--ink)!important}
html body:not(.admin-page) :is(.ghost-button,.secondary,.quiet):hover:not(:disabled){background:var(--surface-raised)!important}
html body:not(.admin-page) :is(.card,.plan,.hub-card,.journey-summary,.agreement-section,.module-next-step,.review-completion-guide,.question-card,.profile-editor,.profile-reminder-grid>article,.workspace-profile-pair,.profile-card,.reminder-card,.account-bar,.couple-link-bar,.partner-reveal,.perspective-row,.shared-snapshot,.garden-card,.date-jar-card,.discovery-overview article,.next-reflection,.action-preview,.journey-row,.collection-card,.hero-review,.discovery-section,.membership-preview,.closing-note,.home-install,.landing-plans article,.help-guide){background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink)!important;box-shadow:var(--du-shadow)}
html body:not(.admin-page) :is(.plan.featured,.landing-plans article:last-child,.module-membership-notice,.help-safety,.home-install-mark,.help-note,.module-access-note,.private-insight,.privacy-card,.choice-row,.snapshot-findings article,.snapshot-action,.review-partner-checklist li,.review-stages li,.saved-agreement,.connection-cards>div,.mini-insights>div,.example-next,.milestone-preview,.step-icon,.module-emblem,.timeline-step>span,.play-object,.garden-bed,.jar-idea,.install-instructions,.portrait-connection,.review-notification){background:var(--surface-raised)!important;border-color:var(--line)!important;color:var(--ink)!important}
html body:not(.admin-page) :is(.connected-confirmation,.review-stages li.done,.review-complete,.review-partner-checklist .done){background:#23362c!important;color:var(--green)!important;border-color:#52745e!important}
html body:not(.admin-page) :is(.badge,.profile-tags span,.home-install-devices li,.example-avatar,.insight-symbol){background:var(--surface-raised)!important;color:var(--gold)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(.journey-filters button,.month-button,.partner-button,.sound-toggle){background:var(--surface)!important;color:var(--muted)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(.member-navigation button,.member-navigation a,.dashboard-nav button,.journey-filters button,.month-button)[aria-current=page],html body:not(.admin-page) .journey-filters button[aria-pressed=true]{background:var(--surface-raised)!important;color:var(--gold)!important;border-color:var(--gold)!important}
html body:not(.admin-page) :is(.member-navigation,.dashboard-nav,.reflection-actions,.reflection-tools,.panel-topline,.site-header,.site-footer,.topbar,.help-footer){background:var(--paper)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(input,textarea,select){background:var(--field)!important;color:var(--ink)!important;border-color:#76626c!important;accent-color:var(--gold)}
html body:not(.admin-page) input[type=checkbox],html body:not(.admin-page) input[type=radio]{accent-color:var(--gold)}
html body:not(.admin-page) :is(input,textarea)::placeholder{color:#ad9f96;opacity:1}
html body:not(.admin-page) input:read-only{background:var(--surface-raised)!important;color:var(--muted)!important}
html body:not(.admin-page) input::file-selector-button{background:var(--surface-raised)!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:8px}
html body:not(.admin-page) .choice-row:has(input:checked){background:#3b3024!important;border-color:var(--gold)!important}
html body:not(.admin-page) :is(dialog,.support-dialog,.install-dialog){background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:0 24px 80px #0008}
html body:not(.admin-page) dialog::backdrop{background:#0b080bd9}
html body:not(.admin-page) :is(.dialog-close,.close,.menu-toggle){background:var(--surface-raised)!important;color:var(--ink)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(.help-topics a,.home-install-devices li,.profile-avatar,.workspace-portrait,.help-answers details,.profile-photo-controls,.perspective-summary>section,.perspective-row blockquote,.core-answer span,.ready-overview,.du-timeline-action){background:var(--surface-raised)!important;color:var(--ink)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(.next-partner-progress th,.next-partner-progress td,.du-chapter li,.du-milestone-timeline li,.how-steps li,.help-answers details,.next-step-guide,.snapshot-findings article){border-color:var(--line)!important}
html body:not(.admin-page) .next-partner-progress td[data-done=true]{color:var(--green)!important}
html body:not(.admin-page) :is(.sync-notice,.notice,.flow-notice){background:var(--surface-raised)!important;color:var(--ink)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(.cloud-error,[role=alert],.danger-action,.badge.bad){color:var(--red)!important}
html body:not(.admin-page) .sync-notice[data-sync-state=error]::before{background:var(--red)}
html body:not(.admin-page) :is(.pair-connection,.action-checkin,.discovery-overview .icon,.connection-cards .icon,.garden-foot){color:var(--green)!important}
html body:not(.admin-page) :is(.du-step-number,.du-timeline-node,.hub-number,.journey-number,.snapshot-count){color:var(--gold)!important;background:var(--surface-raised)!important;border-color:var(--line)!important}
html body:not(.admin-page) :is(.du-chapter .done .du-step-number,.du-milestone-timeline .done .du-timeline-node){color:var(--green)!important;background:#23362c!important}
html body:not(.admin-page) .journey-bars span{background:#3d323a!important}html body:not(.admin-page) .journey-bars .done{background:var(--green)!important}html body:not(.admin-page) .journey-bars .reflected{background:var(--gold)!important}
html body:not(.admin-page) :is(.discovery-celebration,.couple-celebration){background:linear-gradient(125deg,#302329,#342b20)!important;border-color:#74533b!important;color:var(--ink)!important}
html body:not(.admin-page) .collection-copy .rail-label{font-size:13px!important;line-height:1.5}
html body:not(.admin-page) :is(.example-disclaimer,.review-complete,.hero-note,.portrait-hint){font-size:13px!important;line-height:1.6}
html body:not(.admin-page) :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--gold)!important;outline-offset:5px}
html body:not(.admin-page) .site-nav a:hover,html body:not(.admin-page) .info-nav a:hover{color:var(--gold)!important}
/* Cinematic public hero: original photography, a readable scrim and a single invitation. */
html body:not([data-auth=signed-in]) .site-header{padding-block:24px}
html body:not([data-auth=signed-in]) .site-header .nav-cta{background:transparent!important;color:var(--gold)!important;border-color:var(--line)!important}
html body:not([data-auth=signed-in]) .hero{display:block;position:relative;isolation:isolate;min-height:660px;padding:0!important;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#161215;margin:4px 0 40px}
html body:not([data-auth=signed-in]) .hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 38%!important;mask-image:none!important;border-radius:0!important;opacity:1!important;z-index:-2!important}
html body:not([data-auth=signed-in]) .hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#120e13f5 0%,#120e13db 28%,#120e1380 53%,#120e1300 77%);z-index:-1;pointer-events:none}
html body:not([data-auth=signed-in]) .hero-copy{position:relative;width:62%;padding:100px 48px 52px!important;align-self:auto;max-width:760px}
html body:not([data-auth=signed-in]) .hero h1{font-family:'Decipher Serif',Georgia,serif!important;font-size:clamp(42px,4.7vw,68px)!important;line-height:1.12;max-width:13ch;font-weight:400;letter-spacing:-.035em;margin:18px 0 24px}
html body:not([data-auth=signed-in]) .hero h1 em{color:var(--ink)!important}
html body:not([data-auth=signed-in]) .hero .subtitle{max-width:41ch;color:#e6dacf!important;font-size:17px;line-height:1.75}
html body:not([data-auth=signed-in]) .hero .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.1em}
html body:not([data-auth=signed-in]) .hero .hero-note{color:#e6dacf!important;margin-top:26px}
html body:not([data-auth=signed-in]) .hero-actions .text-link{color:var(--ink)!important}
html body:not([data-auth=signed-in]) .hero-pause{top:18px;right:18px;bottom:auto;background:#211c20db!important;color:var(--ink)!important;border-color:var(--line)}
html body:not([data-auth=signed-in]) .after-dark-example{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:none;margin:0 0 72px;padding:32px;border-radius:20px}
.after-dark-example .review-top,.after-dark-example .example-partners,.after-dark-example h2{grid-column:1}
.after-dark-example .example-partners{padding:0}.after-dark-example h2{margin:0;font-family:'Decipher Serif',Georgia,serif;font-size:32px}
.after-dark-example .mini-insights{grid-column:2;grid-row:1/4}.after-dark-example .example-next{grid-column:1/3}.after-dark-example .example-disclaimer{grid-column:1/3;margin:0}
html body[data-auth=signed-in] .du-focus-module{background:var(--surface)!important}
html body[data-auth=signed-in] .du-focus-module>div{color:var(--ink)!important}
html body[data-auth=signed-in] .du-focus-module .subtle{font-size:14px}
html body[data-auth=signed-in] .du-focus-module .primary-button{color:#241a16!important}
html body[data-auth=signed-in] .du-milestone-timeline{background:var(--surface)!important;border-color:var(--line)!important}
@media(max-width:1000px){html body:not([data-auth=signed-in]) .hero-copy{width:72%;padding:80px 32px 44px!important}.home-install{gap:32px}}
@media(max-width:760px){html body:not([data-auth=signed-in]) .site-nav{background:var(--surface)!important;border-color:var(--line)!important}html body:not([data-auth=signed-in]) .hero{min-height:700px}html body:not([data-auth=signed-in]) .hero-image{object-position:65% center!important}html body:not([data-auth=signed-in]) .hero::before{background:linear-gradient(0deg,#120e13fa 0%,#120e13eb 38%,#120e1350 76%,#120e1320 100%)}html body:not([data-auth=signed-in]) .hero-copy{width:100%;padding:270px 24px 32px!important}html body:not([data-auth=signed-in]) .hero h1{font-size:42px!important;max-width:14ch}html body:not([data-auth=signed-in]) .hero .subtitle{font-size:16px}html body:not([data-auth=signed-in]) .hero-actions{gap:12px 20px;flex-wrap:wrap}html body:not([data-auth=signed-in]) .after-dark-example{display:block;padding:24px;margin-bottom:40px}.after-dark-example>*+*{margin-top:20px!important}.after-dark-example h2{font-size:28px}.after-dark-example .mini-insights{display:grid}.home-install-mark{background:var(--surface-raised)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html body:not(.admin-page) :is(button,a){transition:none!important}}

html[data-workspace-boot] body:not(.admin-page){background:var(--night-paper)!important}.workspace-boot{color:var(--night-ink)!important}.workspace-boot p{color:var(--night-muted)!important}
html body:not(.admin-page) .hero-review .mini-insights p{font-size:15px;line-height:1.65}
html body:not(.admin-page) :is(.collection-copy p.rail-label,.collection-label){font-size:13px!important}
html body:not(.admin-page) .badge.warn{color:var(--gold)!important;background:#3b3024!important}

html body:not(.admin-page) :is(caption,.next-partner-progress caption,.nav-label,.next-step-guide,.membership-state,.plan-label,.price,.landing-price,.jar-empty span){color:var(--ink)!important}
html body:not(.admin-page) :is(.membership-state,.module-info-hint,.du-home-action,.profile-card .partner-edit-note,.review-guide-actions){background:transparent!important;color:var(--muted)!important}
html body:not(.admin-page) .collection-copy .theme-line{font-size:13px!important;line-height:1.6}
html body:not(.admin-page) :is(.snapshot-action-icon,.pair-connection>.icon,.du-milestone-timeline .current .du-timeline-node){background:var(--surface-raised)!important;color:var(--gold)!important;border-color:var(--line)!important;box-shadow:none}
html body:not(.admin-page) .du-milestone-timeline h3>span{color:var(--muted)!important;font-size:13px}
html body:not(.admin-page) .du-milestone-timeline .current h3>span{color:var(--gold)!important}
html body:not(.admin-page) .du-milestone-timeline .done h3>span{color:var(--green)!important}
@media(max-width:760px){html body:not([data-auth=signed-in]) .hero-image{height:320px!important;object-position:65% 35%!important}html body:not([data-auth=signed-in]) .hero-copy{padding-top:310px!important}html body:not([data-auth=signed-in]) .hero::before{background:linear-gradient(0deg,#120e13 0%,#120e13 60%,#120e1300 92%)}}
html body:not(.admin-page) :is(.skip,.skip-link){background:var(--gold)!important;color:#241a16!important}
html body:not(.admin-page) .collection-number{background:#211c20ed!important;color:var(--ink)!important;font-size:13px!important;border:1px solid var(--line)}
html body:not(.admin-page) :is(.discovery-icon,.example-next>span){background:var(--surface-raised)!important;color:var(--gold)!important}
/* Journal controls: quiet labels, deliberate silhouettes and contextual marks. */
html body:not(.admin-page) :is(.primary-button,.primary){border-radius:13px 4px 13px 4px!important;min-height:52px;padding:15px 26px;font-size:15px;line-height:1.35;font-weight:650;letter-spacing:.005em;box-shadow:inset 0 1px 0 #fff3,0 5px 15px #08060933!important;gap:12px}
html body:not(.admin-page) :is(.ghost-button,.secondary,.quiet){border-radius:8px!important;min-height:48px;padding:13px 20px;font-size:14px;font-weight:600;box-shadow:none!important}
html body:not(.admin-page) .text-link{border:0!important;border-radius:3px!important;box-shadow:none!important;background:none!important;min-height:44px;font-size:14px;font-weight:600;padding:10px 0;gap:10px;text-decoration:none;text-underline-offset:5px}
html body:not(.admin-page) .text-link:hover{text-decoration:underline;text-decoration-thickness:1px}
html body:not(.admin-page) .icon{stroke-width:1.65;width:22px;height:22px}
html body:not(.admin-page) :is(.step-icon,.discovery-icon){width:48px;height:48px;border-radius:13px 3px 13px 3px;display:grid;place-items:center;border:1px solid var(--line);box-shadow:none!important;background:transparent!important}
html body:not(.admin-page) :is(.step-icon,.discovery-icon) .icon{width:25px;height:25px}
html body:not(.admin-page) :is(.discovery-celebration,.milestone-preview)>span>.icon{width:38px;height:38px;color:var(--gold)}
html body:not(.admin-page) .module-emblem{border-radius:11px 3px 11px 3px!important;box-shadow:none!important}
html body:not(.admin-page) .module-emblem .icon{width:26px;height:26px}
html body:not(.admin-page) .eyebrow::before{content:none!important;display:none!important}
html body:not(.admin-page) .eyebrow{padding-left:0!important;gap:0!important}
html body:not(.admin-page) :is(.member-navigation button,.member-navigation a,.dashboard-nav button){border-radius:5px!important;background:transparent!important;box-shadow:none!important;min-height:48px}
html body:not(.admin-page) :is(.member-navigation button,.member-navigation a,.dashboard-nav button)[aria-current=page]{background:transparent!important;color:var(--gold)!important;box-shadow:inset 0 -2px 0 var(--gold)!important}
html body:not(.admin-page) .nav-symbol{background:transparent!important;box-shadow:none!important}
html body:not(.admin-page) .member-navigation .icon{width:24px;height:24px;stroke-width:1.65}
html body:not([data-auth=signed-in]) .site-header .nav-cta{border:0!important;box-shadow:none!important;padding-inline:12px;border-radius:3px!important}
html body:not(.admin-page) .menu-toggle{width:auto;min-width:64px;min-height:44px;padding:10px 13px;border-radius:8px!important;font:600 13px/1.2 var(--sans)}
html body:not(.admin-page) .du-faq details{border:0;border-bottom:1px solid #3a3036;padding-bottom:8px;margin-bottom:8px}
html body:not(.admin-page) .du-faq summary::after{content:'Read answer';font:500 12px/1.4 var(--sans);letter-spacing:0;min-width:76px;text-align:right;color:var(--muted)}
html body:not(.admin-page) .du-faq details[open] summary::after{content:'Close';color:var(--gold)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html body:not(.admin-page) :is(.primary-button,.primary):hover:not(:disabled){transform:translateY(-1px)}}
@media(prefers-reduced-motion:no-preference){html body:not(.admin-page) :is(.primary-button,.primary):active:not(:disabled){transform:scale(.96)}html body:not(.admin-page) :is(.primary-button,.primary,.ghost-button,.text-link){transition:background-color 150ms cubic-bezier(.2,0,0,1),color 150ms cubic-bezier(.2,0,0,1),transform 150ms cubic-bezier(.2,0,0,1)}}
@media(max-width:760px){html body:not(.admin-page) .member-navigation{border-radius:0!important}html body:not(.admin-page) .du-faq summary{gap:12px}html body:not(.admin-page) :is(.primary-button,.primary){padding-inline:22px}}
html body:not(.admin-page) :is(.member-navigation button,.member-navigation a,.dashboard-nav button):hover{color:var(--ink)!important;background:var(--surface-raised)!important}
html body:not(.admin-page) .partner-bridge .icon{width:28px;height:28px;color:var(--gold)}
html body:not(.admin-page) .insight-symbol{display:grid;place-items:center;border-radius:5px!important;box-shadow:none!important}
html body:not(.admin-page) .insight-symbol .icon{width:20px;height:20px}
/* Module covers read as a small editorial library, not a repeated card dashboard. */
html body:not(.admin-page):not([data-auth=signed-in]) .collection-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
html body:not([data-auth=signed-in]) .collection-image{border-radius:17px 3px 17px 3px;overflow:hidden;outline:1px solid #ffffff14;outline-offset:-1px}
html body:not([data-auth=signed-in]) .collection-copy{padding:22px 0 18px!important}
html body:not([data-auth=signed-in]) .collection-copy h3{font-family:'Decipher Serif',Georgia,serif;font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.025em}
html body:not([data-auth=signed-in]) .collection-copy .theme-line{color:var(--gold)!important;margin-bottom:13px}
html body:not([data-auth=signed-in]) .collection-number{border-radius:4px!important;font-weight:600}
html body:not([data-auth=signed-in]) .collection-copy .text-link{margin-top:8px;color:var(--gold)!important}
html body:not([data-auth=signed-in]) .gallery-toggle{margin-top:20px}
@media(max-width:760px){html body:not([data-auth=signed-in]) .collection-copy h3{font-size:23px}}

html body:not([data-auth=signed-in]) .collection-copy{flex:1}html body:not([data-auth=signed-in]) .collection-copy .text-link{margin-top:auto;padding-top:18px;align-self:flex-start}
/* Keep the existing membership session controls visible while scrolling. */
html body.member-page .topbar{position:sticky;top:0;z-index:45;background:var(--paper)!important;padding-block:14px;border-bottom:1px solid var(--line)}
html body.member-page #sign-out{min-height:44px;padding:10px 16px;border:1px solid #8f7766!important;border-radius:6px!important;font-weight:600;color:var(--ink)!important}

/* One editorial masthead for membership, service information and public reading. */
html body.member-page .public-masthead,
.reading-page .public-masthead{
 height:auto;min-height:92px;display:grid;align-items:center;
 grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand navigation actions";
 column-gap:28px;row-gap:12px;padding-block:18px;
 border-bottom:1px solid var(--line);letter-spacing:normal;
}
.public-masthead :is(.brand,.reading-brand){grid-area:brand;display:inline-flex;align-items:center;gap:12px;min-width:0;margin:0;color:var(--ink);font:400 clamp(23px,2.1vw,28px)/1.2 'Decipher Serif',Georgia,serif;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}
.public-masthead :is(.brand,.reading-brand) img{width:38px;height:42px;flex:none;object-fit:contain}
.public-masthead .masthead-actions{grid-area:actions;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;font-size:14px}
.public-masthead>.masthead-utility,
.public-masthead>a:not(.brand):not(.reading-brand){grid-area:actions;justify-self:end;display:inline-flex;align-items:center;min-height:44px;font-size:14px;letter-spacing:0;line-height:1.4;color:var(--muted);text-decoration:none}
.public-masthead .masthead-actions>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.4;text-decoration:none}
.public-masthead .masthead-actions button{font-size:14px;font-weight:600;min-height:44px;padding:10px 18px}
.public-masthead :is(.membership-navigation,.info-nav),
.reading-masthead nav{grid-area:navigation;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent!important;font-size:14px;min-width:0}
html body.member-page .public-masthead .membership-navigation a,
.public-masthead .info-nav a,
.reading-masthead nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:8px;padding:10px 12px;font-size:14px;font-weight:500;line-height:1.4;border-radius:4px;text-decoration:none;white-space:normal;overflow-wrap:normal;text-align:center}
.public-masthead :is(.info-nav,nav) a[aria-current=page]{color:var(--gold)!important;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.public-masthead .membership-navigation[data-navigation-mode=workspace] a{padding-inline:8px;font-size:13px}
.public-masthead :is(a,button):focus-visible{outline:2px solid var(--gold)!important;outline-offset:4px}
.recovery-masthead{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand actions"!important}
@media(hover:hover){.public-masthead nav a:hover{color:var(--gold)!important;background:var(--surface-raised)}.public-masthead>.masthead-utility:hover{text-decoration:underline;text-underline-offset:5px}}
@media(min-width:761px) and (max-width:1100px){
 html body.member-page .membership-masthead:has([data-navigation-mode=workspace]){grid-template-columns:1fr auto;grid-template-areas:"brand actions" "navigation navigation"}
}
@media(max-width:960px){
 html body.member-page .public-masthead,.reading-page .public-masthead{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "navigation navigation";column-gap:20px;row-gap:8px}
 .public-masthead :is(.membership-navigation,.info-nav),.reading-masthead nav{justify-content:flex-start}
}
@media(max-width:760px){
 html body.member-page .public-masthead{position:static;min-height:0;padding-block:18px 12px}
 html body.member-page .membership-masthead:has([data-navigation-mode=workspace]){position:sticky;grid-template-areas:"brand actions"}
 html body.member-page .public-masthead .membership-navigation[data-navigation-mode=public]{position:static;inset:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent!important}
 html body.member-page .public-masthead .membership-navigation[data-navigation-mode=public] a{padding:10px 4px;min-height:44px;font-size:13px;white-space:normal;line-height:1.35}
 /* Keep the existing signed-in device navigation; only the public menu moves up. */
 html body.member-page .public-masthead .membership-navigation[data-navigation-mode=workspace]{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--paper)!important;border-radius:0;z-index:40}
 html body.member-page .public-masthead .membership-navigation[data-navigation-mode=workspace] a{flex-direction:column;gap:6px;min-height:62px;padding:9px 2px;font-size:11px}
 /* Public pages no longer have a fixed bottom menu to reserve space for. */
 body.member-page:has(.membership-navigation[data-navigation-mode=public]){padding-bottom:0}
 .public-masthead :is(.brand,.reading-brand){font-size:23px;gap:9px}
 .public-masthead :is(.brand,.reading-brand) img{width:32px;height:36px}
 .public-masthead .masthead-actions{gap:8px}
 .public-masthead .masthead-actions button{padding:9px 13px;font-size:13px}
 .public-masthead .info-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}
 .public-masthead .info-nav a{padding:10px 4px;font-size:13px}
 .reading-page .reading-masthead{padding-block:20px 12px;min-height:0}
 .reading-masthead nav{gap:8px}
 .reading-masthead nav a{padding:10px 0;margin-inline-end:16px;font-size:14px}
}
@media(max-width:420px){
 .public-masthead :is(.brand,.reading-brand){font-size:21px;gap:8px}
 html body.member-page .public-masthead{column-gap:10px}
 .public-masthead .masthead-actions a{font-size:13px;max-width:100px}
 html body.member-page .membership-masthead:has([data-navigation-mode=workspace]){grid-template-areas:"brand brand" "actions actions"}
 .membership-masthead:has([data-navigation-mode=workspace]) .masthead-actions{justify-content:space-between;width:100%}
}
@media(max-width:420px){
 .information-masthead>a:not(.brand){max-width:78px;font-size:13px!important;white-space:normal;line-height:1.4;text-align:right;justify-content:flex-end}
}
@media(max-width:350px){
 html body.member-page .public-masthead .membership-navigation[data-navigation-mode=workspace]{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.35fr)}
}

/* Shared section rhythm. Keep the existing After Dark palette and editorial type. */
:root{--section-space:clamp(40px,5vw,72px);--section-gap:24px;--content-measure:66ch}
/* Public homepage: understand the process, see an example, explore, then choose. */
body:not([data-auth=signed-in]) .shell>:is(.how-section,.product-demo,.secondary-example,.discovery-story,.module-library,.membership-preview,.relationship-reading,.landing-help,.home-install,.closing-note){margin-block:var(--section-space)}
body:not([data-auth=signed-in]) .shell>.hero{margin-bottom:var(--section-space)}
body:not([data-auth=signed-in]) .shell :is(.section-intro,.library-heading)>p:not(.rail-label){max-width:var(--content-measure);line-height:1.75}
body:not([data-auth=signed-in]) .shell :is(.section-intro,.library-heading) h2{font-size:clamp(30px,3.5vw,44px);line-height:1.16;max-width:22ch;text-wrap:balance}
body:not([data-auth=signed-in]) .shell>.account-bar{margin-block:28px;padding-block:24px}
.secondary-example{border-block:1px solid var(--line);padding-block:8px;color:var(--muted)}
.secondary-example>summary{display:list-item;cursor:pointer;min-height:48px;padding:14px 4px;font-size:14px;font-weight:500;line-height:1.6}
.secondary-example>summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.secondary-example .journal-example{margin-block:16px 24px!important}
.secondary-example:not([open])+section{margin-top:var(--section-space)}
body:not([data-auth=signed-in]) .shell>.discovery-story{padding-block:32px}
/* Membership: status first; introduction and options form one readable sequence. */
html body.membership-page #notice{margin:18px 0 0;padding:10px 16px;border:0;border-inline-start:2px solid var(--gold);border-radius:0;background:transparent!important;box-shadow:none;line-height:1.65}
html body.membership-page .membership-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px 48px;text-align:left;padding:38px 0 30px;align-items:center}
html body.membership-page .membership-intro>.small-label{grid-column:1 / -1;margin:0}
html body.membership-page .membership-intro h1{font-size:clamp(34px,3.6vw,48px);line-height:1.15;text-align:left;margin:0;max-width:19ch}
html body.membership-page .membership-intro>p{margin:0;max-width:49ch;font-size:16px;line-height:1.75;text-align:left}
html body.membership-page .plan-section-heading{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
html body.membership-page .plan-section-heading h2{font-size:28px;line-height:1.25;margin-bottom:10px}
html body.membership-page .plans{margin-block:24px 0;align-items:stretch;gap:24px}
html body.membership-page .plan{padding:28px;gap:0}
html body.membership-page .plan .price{margin-block:18px 12px}
html body.membership-page .plan .free-month{margin-bottom:12px}
html body.membership-page .plan .muted{margin-top:auto;padding-top:18px}
html body.membership-page .membership-terms{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
html body.membership-page .membership-terms p{font-size:13px;line-height:1.8;max-width:88ch;margin:0}
html body.membership-page .privacy-tools{margin-block:32px}
html body.membership-page .membership>footer{margin-top:36px;padding-block:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;line-height:1.7}
html body.membership-page .membership>footer nav{display:flex;gap:8px 18px;flex-wrap:wrap}
html body.membership-page .membership>footer nav a{min-height:32px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
html body.membership-page .membership>footer nav a{font-size:13px}
/* Service information: one article width, predictable headings and paragraph groups. */
html body.account-help-page .public-information{max-width:1040px}
html body.account-help-page .public-information>article.card{margin-block:32px 48px;padding:clamp(22px,4vw,44px)}
html body.account-help-page .public-information>article.card>h1{max-width:22ch;font-size:clamp(32px,4vw,44px);line-height:1.18;margin-bottom:24px}
html body.account-help-page .public-information>article.card>h2{margin-top:32px;margin-bottom:14px;font-size:26px;line-height:1.3}
html body.account-help-page .public-information>article.card>p{max-width:var(--content-measure);font-size:16px;line-height:1.8;margin-bottom:18px}
html body.account-help-page .help-intro{padding-block:36px 24px}
html body.account-help-page .help-topics{margin-block:24px 36px;gap:12px}
html body.account-help-page .help-guide{margin-block:24px;padding:clamp(22px,3vw,34px)}
html body.account-help-page .help-guide>p,html body.account-help-page .help-guide li{max-width:var(--content-measure);line-height:1.8}
html body.account-help-page .help-guide h2{font-size:28px;line-height:1.25;margin-bottom:18px}
html body.account-help-page #request-reset,html body.account-help-page #set-password{margin-top:24px}
html body.account-help-page .recovery-masthead+section.card{margin-top:28px;padding:28px}
/* Customer dashboard: core action and agreements precede optional activities. */
html body[data-auth=signed-in] #dashboard-app>:is(.hub-main-grid,.journey-summary,.home-actions,.couple-play){margin-block:28px}
html body[data-auth=signed-in] #dashboard-app .home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
html body[data-auth=signed-in] #dashboard-app .home-actions>.hub-section-title,
html body[data-auth=signed-in] #dashboard-app .home-actions>.hub-empty{grid-column:1 / -1;margin:0}
html body[data-auth=signed-in] #dashboard-app .home-actions .action-preview{margin:0;width:auto}
html body[data-auth=signed-in] #dashboard-app :is(.action-preview,.agreement-item) h3{max-width:65ch;font-size:18px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
html body[data-auth=signed-in] #dashboard-app .couple-play{border-top:1px solid var(--line);padding-top:32px;margin-top:40px}
html body[data-auth=signed-in] #dashboard-app>.hub-heading{margin-bottom:28px}
html body[data-auth=signed-in] #dashboard-app>.agreement-section{margin-block:32px}
html body[data-auth=signed-in] #dashboard-app .hub-section-title{gap:16px;flex-wrap:wrap}
html body[data-auth=signed-in] :is(.profile-editor,.couple-link-bar,.account-reminders){scroll-margin-top:24px}
/* Shared review: separate progress, findings and next action without nested walls. */
html body[data-auth=signed-in] .perspective-summary{gap:20px;margin-block:28px}
html body[data-auth=signed-in] .perspective-row{padding:clamp(20px,3vw,30px)}
html body[data-auth=signed-in] .perspective-row>p{max-width:var(--content-measure);font-size:15px;line-height:1.8}
html body[data-auth=signed-in] .review-actions-bottom{padding-top:22px;border-top:1px solid var(--line);gap:12px}
@media(max-width:760px){
 :root{--section-space:44px}
 html body.membership-page .membership-intro{grid-template-columns:1fr;gap:16px;padding-block:28px 24px}
 html body.membership-page .membership-intro h1{font-size:36px;max-width:18ch}
 html body.membership-page .membership-intro>p{font-size:15px;max-width:55ch}
 html body.membership-page .plan{padding:24px}
 html body.membership-page .plans{gap:20px}
 html body.membership-page .membership>footer{display:block}
 html body.membership-page .membership>footer nav{margin-top:16px}
 html body[data-auth=signed-in] #dashboard-app .home-actions{grid-template-columns:1fr}
 html body[data-auth=signed-in] #dashboard-app .home-actions .action-preview{grid-column:1}
 html body[data-auth=signed-in] #dashboard-app>:is(.hub-main-grid,.journey-summary,.home-actions,.couple-play){margin-block:24px}
 html body.account-help-page .public-information>article.card{padding:24px;margin-block:24px 36px}
 html body.account-help-page .public-information>article.card>p{font-size:15px}
}
/* Routine sync is a quiet status line; errors keep a prominent recovery panel. */
html body[data-auth=signed-in] .sync-notice[data-sync-state=ready]{background:transparent!important;border:0;border-radius:0;padding:8px 0;min-height:28px;margin-block:8px 20px;font-size:12px}
html body[data-auth=signed-in]:not([data-view=home]) .review-notification{padding:14px 18px;gap:14px;margin-bottom:12px}
html body[data-auth=signed-in]:not([data-view=home]) .review-notification .celebration-emoji{font-size:26px}
html body[data-auth=signed-in]:not([data-view=home]) .review-notification .primary-button{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:none;font-size:13px;min-height:44px;padding:10px 14px}
html body[data-auth=signed-in][data-view=account] .account-bar{padding:22px 26px;gap:20px;align-items:center}
html body[data-auth=signed-in][data-view=account] #account-title{font-family:'Decipher Sans',Arial,sans-serif;font-size:18px;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
html body[data-auth=signed-in][data-view=account] #account-copy{max-width:66ch;font-size:14px;line-height:1.7}
html body[data-auth=signed-in][data-view=account] :is(.profile-editor-intro,.couple-status-card)>p{max-width:66ch;line-height:1.75}
@media(max-width:760px){
 html body[data-auth=signed-in][data-view=account] .account-bar{padding:22px}
 html body[data-auth=signed-in]:not([data-view=home]) .review-notification .primary-button{flex:1}
}
/* Keep couple context on every working screen without repeating the large home portraits. */
html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .portrait-connection{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:20px;align-items:center;border:0!important;border-block:1px solid var(--line)!important;padding:16px 0;margin-block:8px 28px}
html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-person{display:flex;flex-direction:row;align-items:center;gap:12px}
html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-portrait{width:52px;height:64px;border-radius:8px!important;font-size:23px}
html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-person strong{font-family:'Decipher Sans',Arial,sans-serif;font-size:16px;line-height:1.5}
html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .portrait-hint{display:none}
html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .portrait-connection>.text-link{grid-column:auto;min-height:44px;margin:0;padding:10px 0}
@media(max-width:620px){
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .portrait-connection{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-person{gap:8px;grid-row:1}
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-person:nth-of-type(3){grid-column:2}
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-portrait{width:40px;height:48px}
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .workspace-person strong{font-size:14px}
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .pair-connection{grid-row:2;grid-column:1;flex-direction:row;font-size:11px!important}
 html body[data-auth=signed-in]:is([data-view=journey],[data-view=conversations],[data-view=reflection],[data-view=review]) #dashboard-app .portrait-connection>.text-link{grid-row:2;grid-column:2;justify-self:end}
}
