/* The same paper, photography and coral accent carry the introduction into home. */
.welcome-is-open{overflow:hidden}
#welcome-dialog{padding:0;width:min(1240px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 32px);border:1px solid #e7ded2;border-radius:22px;background:var(--paper,#fcfaf6);color:var(--ink,#1b2942);box-shadow:0 25px 100px #16243a26;overflow:auto}
#welcome-dialog::backdrop{background:#f5f0e9f5;backdrop-filter:blur(9px)}
.welcome-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 30px;border-bottom:1px solid #e7ded2}
.welcome-brand{display:flex;align-items:center;gap:15px}.welcome-brand>b{font-size:44px;line-height:1;letter-spacing:-3px}.welcome-brand>b>span{color:var(--accent)}.welcome-brand>span{font-size:13px;font-weight:600}
.welcome-header .text-button{font-size:13px;color:var(--muted);gap:8px}
.welcome-stage{display:grid;grid-template-columns:.95fr 1.05fr;min-height:570px}
.welcome-picture{grid-column:2;grid-row:1;margin:0;position:relative;min-width:0;background:#e7d7c4;overflow:hidden}
.welcome-picture img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;animation:welcome-reveal .45s ease both}
.welcome-picture figcaption{position:absolute;bottom:18px;left:18px;padding:7px 11px;border-radius:7px;font-size:11px;color:#283248;background:#fff9edee}
.welcome-copy{grid-column:1;grid-row:1;padding:46px 42px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.welcome-copy .eyebrow{color:#a34b36;margin-bottom:20px;font-size:11px}
.welcome-copy h2{font-size:clamp(34px,3.7vw,51px);line-height:1.08;letter-spacing:-1.7px;margin:0 0 24px}
.welcome-text{font-size:19px;line-height:1.65;margin:0;color:#35435a}
.welcome-detail{font-size:15px;line-height:1.6;color:var(--muted);margin:18px 0 25px}
.welcome-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 28px}
.welcome-actions .primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#1b2942;min-height:52px;font-size:15px}
.welcome-progress{display:flex;gap:15px}.welcome-progress button{flex:1;text-align:left;font-size:11px;color:var(--muted);min-height:44px;padding:6px 0}
.welcome-progress button>span{display:block;height:3px;background:#dfd9d0;margin-bottom:9px;border-radius:3px}.welcome-progress [aria-current]{color:#9f3b29;font-weight:700}.welcome-progress [aria-current]>span{background:var(--accent)}
@keyframes welcome-reveal{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:none}}
.home-hero.book-promise{grid-template-columns:1fr 1.08fr;gap:46px;padding:33px 0 28px}
.book-promise .home-copy h1{font-size:clamp(43px,4.4vw,62px);line-height:1.04;letter-spacing:-2px}
.book-promise .home-intro{font-size:18px;line-height:1.65;margin:24px 0 16px;max-width:500px}
.book-promise .home-how{font-size:16px;line-height:1.6;color:var(--muted);max-width:470px;margin:0 0 24px}
.book-promise .story-hero-image img{height:465px;object-fit:cover;object-position:center;border-radius:12px 54px 12px 12px}
.book-promise .story-hero-image figcaption{line-height:1.6;letter-spacing:0;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.book-promise .story-hero-image figcaption strong{font-weight:500;color:var(--ink)}
.book-promise .home-note{font-size:13px;line-height:1.6;margin-top:15px;max-width:490px}
.book-promise .welcome-replay{margin-top:6px;color:var(--muted);font-size:13px}
.book-outcome{display:grid;grid-template-columns:1fr 1.05fr;gap:42px;margin:18px 0 50px;padding:30px 36px;border:1px solid #e6dfd6;border-radius:16px;background:#f5efe5;align-items:center}
.book-outcome h2{font-size:28px;letter-spacing:-.5px;line-height:1.15;margin-bottom:15px}.book-outcome p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 12px}.book-outcome .eyebrow{font-size:10px;margin-bottom:10px}
.book-sample{background:#fffdfa;padding:22px 27px;border-left:3px solid #c96c52;box-shadow:0 6px 25px #45322209}
.book-sample>span{font-size:11px;color:var(--muted)}.book-sample h3{font-size:24px;margin:8px 0 13px}.book-sample blockquote{font:400 18px/1.65 Georgia,serif;margin:0;color:#35435a}.book-sample small{display:block;font-size:11px;color:var(--muted);margin-top:14px}
@media(max-width:850px){.welcome-copy{padding:30px 28px}.welcome-stage{min-height:530px}.welcome-copy h2{font-size:36px}.welcome-text{font-size:17px}.home-hero.book-promise{gap:28px}.book-promise .home-copy h1{font-size:43px}}
@media(max-width:700px){
 #welcome-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
 .welcome-header{padding:10px 17px;gap:8px}.welcome-brand>b{font-size:32px}.welcome-brand>span{font-size:11px;max-width:75px;line-height:1.3}.welcome-brand{gap:10px}.welcome-header .text-button{font-size:11px;white-space:normal;text-align:right;line-height:1.4;max-width:125px}
 .welcome-stage{grid-template-columns:1fr;min-height:0}.welcome-picture{grid-column:1;grid-row:1;height:clamp(170px,29dvh,270px)}.welcome-picture img{object-position:center 42%}.welcome-picture figcaption{left:12px;bottom:10px;font-size:10px}
 .welcome-copy{grid-column:1;grid-row:2;padding:24px 23px 19px}.welcome-copy .eyebrow{margin-bottom:12px;font-size:10px}.welcome-copy h2{font-size:clamp(28px,7.4vw,40px);line-height:1.07;letter-spacing:-1px;margin-bottom:16px}.welcome-text{font-size:16px;line-height:1.55}.welcome-detail{font-size:13px;line-height:1.5;margin:13px 0 19px}.welcome-actions{margin-bottom:15px;gap:9px 17px}.welcome-actions .primary{font-size:14px;min-height:49px;padding:12px 16px;gap:12px}.welcome-progress{gap:14px}
 .home-hero.book-promise{grid-template-columns:1fr;padding-top:24px;gap:24px}.book-promise .home-copy h1{font-size:clamp(36px,9.5vw,52px);letter-spacing:-1.4px}.book-promise .home-intro{font-size:17px;margin:20px 0 13px}.book-promise .home-how{font-size:15px;margin-bottom:20px}.book-promise .story-hero-image img{height:auto;aspect-ratio:3/2;border-radius:10px 36px 10px 10px}.book-promise .story-hero-image figcaption{font-size:12px;gap:3px}.book-promise .home-actions{gap:8px 16px}
 .book-outcome{grid-template-columns:1fr;padding:24px 20px;gap:20px;margin:4px 0 34px}.book-outcome h2{font-size:26px}.book-sample{padding:20px}.book-sample blockquote{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.welcome-picture img{animation:none}}

/* Programmatic reading focus on headings; interactive controls retain their focus ring. */
#welcome-title:focus,#home-title:focus{outline:none}
