/* Shared welcome page: both book brands use the same layout. */
.reader-welcome { --welcome-ink:#163d5b; --welcome-blue:#0170b9; --welcome-soft:#edf5fb; max-width:1120px; margin:0 auto; padding:32px 0 20px; }
.reader-welcome .reader-welcome__confirmed { display:flex; align-items:center; gap:16px; padding:18px 24px; background:#edf7f3; border:1px solid #cbe3d8; border-radius:10px; color:#245e4d; }
.reader-welcome__check { display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:50%; background:#24725a; color:white; font-size:20px; }
.reader-welcome__confirmed strong { font-size:1rem; }
.reader-welcome__confirmed p { margin:2px 0 0; font-size:.92rem; }
.reader-welcome__confirmed a { margin-left:auto; flex-shrink:0; font-size:.95rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.reader-welcome__hero { display:grid; grid-template-columns:1.3fr 1fr; align-items:start; gap:54px; padding:44px 0 42px; }
.reader-welcome h1 { text-align:left; color:var(--welcome-ink); font-size:clamp(2rem,3.4vw,2.85rem); line-height:1.13; letter-spacing:-.035em; margin:0 0 22px !important; }
.reader-welcome__lead { font-size:1.08rem; line-height:1.7; max-width:58ch; margin:0 0 25px; }
.reader-welcome .reader-welcome__primary { display:inline-flex; justify-content:center; align-items:center; white-space:normal; font-size:1.05rem; line-height:1.4; min-height:54px; padding:15px 23px; border-radius:7px; box-shadow:none; }
.reader-welcome__account-note { font-size:.88rem; line-height:1.6; margin:16px 0 0; }
.reader-welcome__account-note a { text-decoration:underline; text-underline-offset:3px; }
.reader-welcome__platform { background:var(--welcome-soft); padding:24px 30px 30px; border-radius:18px; border:1px solid #d9e8f3; }
.reader-welcome__platform .member-tools__art { display:block; width:100%; max-width:230px; height:auto; margin:0 auto 12px; }
.reader-welcome .reader-welcome__platform h2 { color:var(--welcome-ink); font-size:1.5rem; line-height:1.3; margin:0 0 20px !important; }
.reader-welcome__platform ul { list-style:none; padding:0; margin:0; }
.reader-welcome__platform li { position:relative; padding-left:24px; margin:12px 0 0; font-size:.96rem; line-height:1.55; }
.reader-welcome__platform li::before { content:'✓'; position:absolute; left:0; color:#24725a; font-weight:700; }
.reader-welcome .reader-welcome__steps h2 { color:var(--welcome-ink); font-size:1.65rem; line-height:1.3; margin:0 0 26px !important; }
.reader-welcome__steps { padding:30px 0; border-top:1px solid #dbe5ed; }
.reader-welcome__steps ol { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:0; margin:0; }
.reader-welcome__steps li { display:flex; gap:14px; }
.reader-welcome__steps li>span { display:grid; place-items:center; flex:none; width:30px; height:30px; color:var(--welcome-blue); background:var(--welcome-soft); border-radius:50%; font-weight:700; }
.reader-welcome .reader-welcome__steps h3 { font-size:1.1rem; color:var(--welcome-ink); margin:2px 0 9px !important; line-height:1.4; }
.reader-welcome__steps p { font-size:.94rem; line-height:1.65; margin:0; }
.reader-welcome__access { display:flex; gap:32px; align-items:center; justify-content:space-between; background:#f5f7f9; padding:26px 28px; border-radius:10px; margin-top:20px; }
.reader-welcome .reader-welcome__access h2 { color:var(--welcome-ink); font-size:1.25rem; margin:0 0 8px !important; line-height:1.4; }
.reader-welcome__access p { max-width:73ch; margin:0; font-size:.93rem; line-height:1.65; }
.reader-welcome__login { flex-shrink:0; max-width:245px; border:1px solid #b8cede; border-radius:6px; padding:12px 18px; background:white; font-weight:600; text-align:center; font-size:.95rem; }
.reader-welcome__risk { font-size:.8rem; line-height:1.65; color:#626b74; margin:22px 0 0; max-width:105ch; }
.reader-welcome__video { border-top:1px solid #dbe5ed; padding:20px 0; }
.reader-welcome__video summary { cursor:pointer; font-weight:600; color:var(--welcome-blue); }
.reader-welcome__video .video-embed-container { margin:22px auto 0; max-width:760px; }
.reader-welcome a:focus-visible,.reader-welcome summary:focus-visible { outline:3px solid #163d5b; outline-offset:4px; }
@media (max-width:800px) {
 .reader-welcome { padding-top:20px; }
 .reader-welcome__hero { gap:25px; grid-template-columns:1fr; padding:30px 0; }
 .reader-welcome__platform { padding:22px 24px; }
 .reader-welcome__platform .member-tools__art { max-width:220px; }
 .reader-welcome__steps ol { grid-template-columns:1fr; gap:22px; }
 .reader-welcome__confirmed { flex-wrap:wrap; }
 .reader-welcome__confirmed a { margin-left:48px; }
 .reader-welcome__access { flex-direction:column; align-items:flex-start; gap:18px; padding:24px; }
 .reader-welcome__login { max-width:none; }
}
@media (max-width:480px) {
 .reader-welcome .reader-welcome__confirmed { padding:16px; gap:10px; }
 .reader-welcome__confirmed>div { flex:1; }
 .reader-welcome__confirmed a { margin-left:42px; }
 .reader-welcome .reader-welcome__primary { width:100%; }
 .reader-welcome__lead { font-size:1rem; }
}

.reader-welcome__source { font-size:.78rem; line-height:1.6; margin:18px 0 0; color:#556875; }
.reader-welcome__source a { text-decoration:underline; }
.reader-welcome__psychology { border-left:4px solid #0170b9; padding:6px 0 6px 26px; margin:0 0 34px; max-width:940px; }
.reader-welcome .reader-welcome__psychology h2 { font-size:1.5rem; line-height:1.35; color:var(--welcome-ink); margin:0 0 14px !important; }
.reader-welcome__psychology p { margin:0 0 12px; font-size:1rem; line-height:1.75; }
.reader-welcome__psychology .reader-welcome__psychology-note { font-size:.92rem; margin-bottom:0; }
@media (max-width:800px) {
 .reader-welcome .reader-welcome__confirmed { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; }
 .reader-welcome__confirmed a { grid-column:2; margin-left:0; justify-self:start; }
}

.reader-welcome__application-note { color:#526675; font-size:.8rem; line-height:1.6; margin:9px 0 0; }
