/* Only operational bridges; narrative and layout live in the supplied CSS. */
body.emotional-service{background:#fbfaf8}
#emotional-landing,#emotional-footer{--accent:#6432d5;--muted:#65616c;--tone:#f5f2ef;--soft:#eee8fd;--font-caption:13px;--radius-card:10px;--space-1:8px;--space-2:16px;word-break:normal;overflow-wrap:normal}
#emotional-landing h1,#emotional-landing h2,#emotional-landing h3{text-wrap:wrap}
#emotional-landing p+p{margin-top:0}
#emotional-landing .hero>p{margin-top:0}
#emotional-landing .brand,#emotional-footer .brand{display:inline;padding:0;margin:0}
#emotional-landing .btn.button{border:0;margin-top:0}
#emotional-landing .last .btn{margin-top:20px}
#emotional-landing .btn--primary:hover{color:white}
#emotional-landing .artwork{margin:0}
#emotional-landing #scene-distance{max-width:none}
#emotional-landing details,#emotional-footer details{margin-top:0;border-top:0}
#emotional-landing .report-note{margin-top:30px}
#emotional-landing summary,#emotional-footer summary{min-height:44px}
#emotional-landing .last .btn-caption{margin-top:12px}
#emotional-landing .sample-status{font-size:var(--landing-type-caption);line-height:1.8;color:#65616c;margin:-30px 0 35px}
#emotional-landing .landing-sources{font-size:var(--landing-type-caption);margin-top:30px;color:#65616c}
#emotional-landing .landing-sources p{font-size:var(--landing-type-caption)}
#emotional-landing .landing-sources summary{padding-block:10px}
#emotional-landing .story-origin{font-size:var(--landing-type-caption);margin-top:20px}
#emotional-landing .image-fail.is-visible{display:block}
#emotional-landing .top-links a{display:inline-flex;align-items:center;min-height:44px}
#emotional-landing .top-links a[aria-disabled=true],#emotional-landing .btn[aria-disabled=true]{cursor:not-allowed}
#emotional-footer .brand{font-size:var(--landing-type-lead)}
#emotional-footer .footer-service-tools,#emotional-footer .legal-footer{width:min(900px,calc(100% - 44px));margin:24px auto 0;font-size:var(--landing-type-caption);line-height:1.9;color:#65616c}
#emotional-footer .legal-footer p{margin:0}
#emotional-footer #record-privacy{font-size:var(--landing-type-caption)}
#emotional-footer #record-privacy .plain{font-size:var(--landing-type-caption);min-height:44px}
#emotional-footer .mini-info p{margin:0 0 8px}
#service-header .landing-nav{display:none}
#runtime-service-status{--font-caption:13px;--radius-card:10px;--space-1:8px;--space-2:16px}
#runtime-service-status:has(.service-ready){display:none}
.skip:focus{z-index:100}
.service-state{min-height:44px;display:flex;justify-content:flex-end;align-items:flex-start;font-size:var(--font-caption);font-weight:400;line-height:1.7}
.service-state>p{margin:0;min-height:44px;display:flex;align-items:center;color:var(--muted)}
.service-notice{font-size:var(--font-caption);line-height:1.7;min-width:0;max-width:100%}
.service-notice details{border:0;margin:0;padding:0;max-width:100%}
.service-notice .service-notice-title{font-size:var(--font-caption);font-weight:650;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--tone);align-content:center;cursor:pointer}
.service-notice details[open]{max-width:520px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--tone)}
.service-notice details[open] summary{padding:0;border:0;min-height:32px}
.service-notice p{margin-top:var(--space-2)}
.service-notice-link,.service-notice button{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-1);font:inherit}
.service-notice button{display:flex;padding:var(--space-1) var(--space-2);background:white;border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink)}
.service-notice button:hover{border-color:var(--accent)}
.service-notice[hidden]{display:none!important}
.service-state:has(.service-unknown){flex-direction:column;align-items:flex-end;gap:8px}
.service-state>.service-unknown{display:block;min-height:0;max-width:min(520px,100%);padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--tone);color:var(--ink);overflow-wrap:anywhere}
.service-unknown button{display:inline-block;min-height:36px;margin:4px 0 0 6px;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius-card);background:white;color:var(--ink);font:inherit;cursor:pointer}
.service-unknown button:hover{border-color:var(--accent)}

/* Returning visitors see their saved answer before the landing story. */
#resume-notice.resume-card{width:min(720px,calc(100% - 40px));padding:0;margin:12px auto 0;border:1px solid #c4b5fd;border-top:4px solid #6d28d9;border-radius:12px;background:#fff;color:#1e293b;font-size:16px;line-height:1.6;letter-spacing:-.02em}
#resume-notice .resume-panel{padding:24px}
#emotional-landing #resume-notice h2{font-size:24px;line-height:1.45;margin:0;letter-spacing:-.025em;color:#1e293b}
#emotional-landing #resume-notice .resume-heading p{font-size:14px;line-height:1.6;margin:8px 0 0;color:#475569}
#resume-locked-titles{margin:16px 0 0;padding:14px 14px 14px 32px;border-radius:8px;background:#f5f3ff;color:#334155;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
#resume-locked-titles li+li{margin-top:6px}
#resume-locked-titles li::marker{color:#6d28d9}
#resume-notice #resume-button{display:flex;justify-content:space-between;gap:12px;width:100%;min-height:54px;margin-top:18px;padding:12px 16px;border:1px solid #6d28d9;border-radius:8px;background:#6d28d9;color:#fff;font-size:17px;font-weight:650;line-height:1.6;box-shadow:none}
#resume-notice #resume-button:hover{background:#5b21b6;border-color:#5b21b6}
#resume-notice #new-case-button{display:block;min-height:44px;margin:4px auto 0;padding:8px;font-size:14px;line-height:1.6;color:#475569}
#emotional-landing #resume-notice .resume-rights-note{font-size:12px;line-height:1.6;margin:10px 0 0;color:#64748b}
#resume-notice #saved-case-picker{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:12px}
#saved-case-picker label{font-size:12px;color:#475569;margin-bottom:6px}
.saved-case-controls{display:flex;gap:8px;align-items:center}
#saved-case-select{flex:1;min-width:0;max-width:100%;background:#fff;color:#334155;border:1px solid #94a3b8;border-radius:8px;padding:8px;font-size:13px;min-height:44px}
#saved-case-open{min-height:44px;font-size:13px;padding:8px;margin:0;white-space:normal;color:#475569}
#new-case-status{font-size:14px;margin-top:12px}#new-case-status:empty{display:none}
@media(max-width:760px){#resume-notice .resume-panel{padding:20px 16px}#emotional-landing #resume-notice h2{font-size:22px}.saved-case-controls{flex-direction:column;align-items:stretch}#saved-case-open{border:1px solid #e2e8f0;border-radius:8px;text-decoration:none}}
@media(max-width:740px){#emotional-landing .last .btn{margin-top:24px}#emotional-landing .top-links a:nth-child(2){display:none}}

/* Landing copy additions, scoped to this page. */
#emotional-landing .hero-result-note{max-width:36em;line-height:1.7;color:var(--muted)}
#emotional-landing:has(.restricted-cta) .hero-result-note,#emotional-landing:has(#resume-notice:not([hidden])) .hero-result-note{display:none}
#emotional-landing .courage-note{margin-top:48px;padding-top:32px;border-top:1px solid #554c65}
#emotional-landing .courage-note h3{font-size:var(--landing-type-subheading);line-height:1.65;font-weight:650;margin:0 0 24px;letter-spacing:-.02em;color:#fff}
#emotional-landing .courage-note p{color:#d7d0df}
#emotional-landing .courage-note p:last-child{margin-bottom:0}
#emotional-landing .service-summary{margin:28px 0 24px}
#emotional-landing .service-summary p{margin:0 0 8px;font-size:var(--landing-type-body);line-height:1.85}
#emotional-landing #story-cta{white-space:normal;text-align:left;line-height:1.7;letter-spacing:-.015em;gap:20px;background:#fff;color:var(--accent);border:1px solid var(--accent);box-shadow:none}
#emotional-landing #story-cta:hover{background:var(--soft);color:var(--accent)}
#emotional-landing .offer-result{margin:28px 0 0;color:#d7d0df;font-size:var(--landing-type-body);line-height:1.9}
#emotional-landing .choice-hope{font-size:var(--landing-type-body);color:var(--accent)}
.payment-display-notice{margin:20px 0;line-height:1.8}
@media(max-width:740px){#emotional-landing .hero-copy .second{line-height:1.8}#emotional-landing .hero-result-note{font-size:var(--landing-type-caption);max-width:100%}#emotional-landing .courage-note{margin-top:36px;padding-top:28px}}
