/* ReadHub Study — editorial product homepage, built from live product information. */
:root { --rh-ink:#1c2531; --rh-blue:#2459c9; --rh-blue-deep:#172a53; --rh-orange:#f47e4b; --rh-cream:#f1f0ea; --rh-paper:#f9f8f5; --rh-line:#d4d6d2; }
html { scroll-padding-top:84px; }
body { background:#101213; }
main section[id] { scroll-margin-top:84px; }
.header { position:sticky; top:0; z-index:25; background:#101213ec; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.brand { min-width:192px; gap:12px; font:600 19px/1.1 Arial, sans-serif; letter-spacing:-.045em; }
.brand .brand-mark { width:34px; height:34px; flex:none; object-fit:contain; border-radius:8px; }
.brand em { font-style:normal; color:#7fa2ff; }
.brand small { margin-top:4px; font:700 7px/1.2 Arial,sans-serif; letter-spacing:.115em; color:#9da6b0; }
.nav { gap:clamp(16px,2vw,33px); }
.nav__link { font-size:11px; }
.header__actions .start-btn { font-size:11px; }
.hero { min-height:680px; }
.hero__bottom { bottom:28px; align-items:flex-end; }
.hero__intro { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.hero__intro-index { font-size:9px; letter-spacing:.17em; color:#9a9f9a; font-weight:700; }
.hero__intro p { font:400 clamp(23px,2.6vw,35px)/.98 var(--serif); max-width:330px; letter-spacing:-.05em; }
.hero__cta { color:#f2f1eb; border-bottom:1px solid #c0c4bd; font-size:10px; letter-spacing:.09em; font-weight:600; display:inline-flex; align-items:center; gap:24px; padding:3px 1px 7px; margin-top:2px; transition:gap .18s; }
.hero__cta:hover { gap:32px; }
.hero__guide { align-self:end; margin-bottom:20px; }
.hero__controls { margin-bottom:5px; }
.section-rail { display:flex; gap:20px; align-items:center; justify-content:space-between; border-bottom:1px solid #d0d0cb; padding:27px 0 22px; color:#68717c; font:700 9px/1.5 Arial,sans-serif; letter-spacing:.155em; }
.section-rail--dark { color:#8e9ab0; border-color:#3a4557; }
.section-eyebrow { margin:0; color:#526078; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.13em; display:flex; align-items:center; gap:10px; }
.eyebrow-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--rh-orange); flex:none; }
.product-intro { background:var(--rh-paper); color:var(--rh-ink); padding:0 clamp(22px,3.4vw,68px); }
.product-intro__grid { display:grid; grid-template-columns:minmax(330px,.87fr) minmax(450px,1.13fr); gap:clamp(24px,5vw,90px); align-items:center; padding:clamp(70px,8vw,124px) 0 100px; max-width:1520px; margin:auto; }
.product-intro__text { max-width:560px; }
.product-intro__text h2 { font:400 clamp(55px,5.3vw,90px)/.94 var(--serif); letter-spacing:-.073em; margin:19px 0 27px; color:#1e2c43; }
.product-intro__text h2 em,.people-section__heading h2 em,.toolkit-section__header h2 em,.steps-section__heading h2 em,.faq-layout__intro h2 em,.progress-section__copy h2 em { font-style:normal; color:var(--rh-blue); }
.product-intro__lead { font:400 clamp(17px,1.5vw,22px)/1.46 var(--serif); letter-spacing:-.022em; max-width:460px; color:#343e50; margin:0 0 16px; }
.product-intro__support { font:400 13px/1.65 Arial,sans-serif; color:#6d7481; max-width:465px; margin:0 0 30px; }
.section-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.action-primary { display:inline-flex; justify-content:space-between; align-items:center; background:#2459d2; color:#fff; padding:17px 18px; min-width:200px; gap:22px; font-size:12px; font-weight:700; transition:transform .18s,background .18s; }
.action-primary:hover { background:#174cbd; transform:translateY(-2px); }
.action-text { font:600 11px/1.3 Arial,sans-serif; border-bottom:1px solid #8d92a0; padding-bottom:8px; display:inline-flex; gap:14px; color:#3f4965; }
.action-text:hover { color:var(--rh-blue); }
.product-intro__proof { display:flex; gap:23px; flex-wrap:wrap; margin-top:29px; color:#6e7782; font-size:10px; }
.product-intro__proof>span { display:flex; align-items:center; gap:8px; }
.check { width:14px; height:14px; border-radius:50%; background:#e4eafc; color:#235dd6; position:relative; }
.check:after { content:""; position:absolute; left:4px; top:2px; width:5px; height:7px; border-right:2px solid; border-bottom:2px solid; transform:rotate(43deg); }
.product-demo { position:relative; min-height:432px; padding:22px 18px 40px; }
.product-demo:before { content:""; position:absolute; inset:0 0 21px; border-radius:50%; background:radial-gradient(ellipse at 54% 45%,#dbe5ff 0%,#eff1f0 52%,transparent 80%); filter:blur(24px); }
.product-demo__outer-tag { position:relative; z-index:3; display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 0 22px; color:#65738a; letter-spacing:.1em; font:700 9px Arial,sans-serif; }
.product-demo__outer-tag .live-dot { width:7px; height:7px; border-radius:50%; background:var(--rh-orange); }
.product-demo__outer-tag span:last-child { color:#a3acb7; margin-left:auto; }
.demo-window { position:relative; z-index:2; background:#fff; border:1px solid #e6eaf4; border-radius:15px; overflow:hidden; box-shadow:0 24px 60px #182c4e22,0 3px 18px #25375012; }
.demo-header { min-height:57px; display:flex; gap:12px; align-items:center; justify-content:space-between; border-bottom:1px solid #edf0f5; padding:0 20px; color:#2a344c; font:700 10px Arial,sans-serif; }
.demo-header>b,.demo-header b { color:var(--rh-blue); }
.demo-header>span:nth-child(2) { font-size:8px; letter-spacing:.1em; color:#9aa7b5; }
.mini-logo { display:inline-grid; place-items:center; background:#2359cb; border-radius:5px; color:white; width:20px; height:20px; font:700 13px var(--serif); margin-right:4px; }
.demo-profile { display:grid; place-items:center; background:#ffebe2; color:#e76537; width:28px; height:28px; border-radius:50%; }
.demo-content { display:grid; grid-template-columns:112px minmax(0,1fr); min-height:276px; }
.demo-sidebar { display:flex; flex-direction:column; padding:20px 9px; border-right:1px solid #f0f2f5; gap:8px; }
.demo-sidebar span { color:#8591a5; font-size:9px; padding:10px 8px; border-radius:6px; white-space:nowrap; }
.demo-sidebar span.is-active { color:#2459cd; background:#e9effe; font-weight:700; }
.demo-main { padding:20px 20px 21px; min-width:0; }
.demo-greeting { display:flex; justify-content:space-between; gap:12px; align-items:start; margin-bottom:16px; }
.demo-greeting div { display:flex; flex-direction:column; gap:3px; }
.demo-greeting div span { color:#a2adbf; font-size:9px; }
.demo-greeting div strong { color:#172a48; font-size:14px; }
.demo-date { color:#8d99ab; font-size:8px; letter-spacing:.08em; }
.demo-hero-card { height:124px; overflow:hidden; position:relative; border-radius:10px; background:linear-gradient(135deg,#2763e9,#1943bf); color:#fff; padding:19px 18px; }
.demo-hero-card>div:first-child { position:relative; z-index:2; }
.demo-hero-card small { display:block; font-size:8px; letter-spacing:.12em; color:#d3e2ff; margin-bottom:6px; }
.demo-hero-card strong { display:block; font:400 26px/.92 var(--serif); letter-spacing:-.04em; }
.demo-hero-card div:first-child>span { display:inline-block; margin-top:12px; font-size:9px; }
.demo-card-book { position:absolute; width:51px; height:77px; right:36px; bottom:4px; border-radius:4px; background:#ff8f40; transform:rotate(-18deg); box-shadow:0 8px 12px #10358f88; }
.demo-card-book--two { right:17px; bottom:11px; background:#f4bd45; transform:rotate(9deg); }
.demo-card-book--three { right:0; bottom:17px; background:#192c45; transform:rotate(14deg); }
.demo-stats-row { display:grid; grid-template-columns:1.35fr .9fr; gap:10px; margin-top:10px; }
.demo-stats-card { background:#fff; min-width:0; border:1px solid #e7ebf1; border-radius:9px; padding:11px; }
.demo-stats-card>span { color:#738094; font-size:8px; letter-spacing:.08em; font-weight:700; display:block; }
.demo-stats-card>small { font-size:8px; color:#8794a7; }
.demo-book-row { display:flex; gap:8px; align-items:center; margin:9px 0; }
.demo-book-row div { min-width:0; }
.demo-book-row strong { display:block; font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.demo-book-row small { display:block; color:#92a1af; font-size:8px; margin-top:4px; }
.demo-tiny-book { flex:none; display:grid; place-items:center; width:25px; height:35px; background:#253b55; color:white; border-radius:2px; font:400 16px var(--serif); }
.demo-progress-track { height:5px; background:#eff1f6; border-radius:6px; overflow:hidden; margin-bottom:5px; }
.demo-progress-track span { display:block; height:100%; background:#2258d4; }
.demo-week-bars { display:flex; align-items:end; gap:5px; height:47px; margin:15px 0 5px; }
.demo-week-bars i { flex:1; background:#c1d4fa; display:block; border-radius:2px 2px 0 0; }
.demo-week-bars i:nth-child(6) { background:#2559d3; }
.demo-floating { position:absolute; z-index:4; background:white; display:flex; align-items:center; gap:10px; border:1px solid #ecedf4; box-shadow:0 12px 36px #1c315623; border-radius:11px; padding:12px 15px; }
.demo-floating--goal { right:-12px; top:42px; }
.demo-floating--buddy { left:-11px; bottom:16px; }
.demo-floating small { display:block; color:#8e99a9; font-size:8px; letter-spacing:.07em; margin-bottom:4px; }
.demo-floating strong { display:block; color:#26374d; font-size:10px; }
.demo-circle { flex:none; width:43px; height:43px; border:5px solid #255fdc; border-right-color:#dce7ff; border-radius:50%; display:grid; place-items:center; color:#2355bf; font:700 10px Arial,sans-serif; }
.demo-avatar { display:grid; place-items:center; flex:none; border-radius:50%; width:32px; height:32px; color:white; background:#1b2940; font:700 9px Arial,sans-serif; }
.demo-disclosure { position:absolute; bottom:0; left:18px; right:18px; margin:0; color:#9ca3ad; text-align:right; font:400 9px/1.4 Arial,sans-serif; }
.capability-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--rh-line); border-bottom:1px solid var(--rh-line); }
.capability-strip a { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:23px clamp(6px,1.7vw,27px); border-right:1px solid var(--rh-line); color:#2b3549; font:600 12px Arial,sans-serif; transition:background .2s; }
.capability-strip a:first-child { padding-left:0; }
.capability-strip a:last-child { border-right:0; }
.capability-strip a:hover { background:#e8ebf0; }
.capability-strip span { color:#a1aab4; font-size:9px; margin-right:auto; }
.archive-section--spines,.archive-section--fan { min-height:0; }
.archive-section--spines { background:#edece7; padding-bottom:45px; }
.archive-section--fan { background:#f0eee8; padding-bottom:50px; }
.archive-section .archive-heading h2 { font-size:clamp(50px,6vw,94px); }
.archive-section .archive-heading { padding-top:48px; }
.archive-section .archive-heading p { font-size:16px; max-width:310px; line-height:1.45; }
.spines-viewport { height:335px; }
.fan-display { height:440px; }
.spine-book { transition-duration:.22s!important; transition-timing-function:cubic-bezier(.18,.85,.2,1)!important; }
.fan-book { transition-duration:.24s!important; transition-timing-function:cubic-bezier(.18,.85,.2,1)!important; }
.spine-book .spine-art,.spine-book .spine-label { transition-duration:.15s; }
.fan-book .fan-book__image { transition-duration:.15s; }
.archive-book-meta { min-height:70px; }
.archive-book-meta h3 { font-size:clamp(30px,3.5vw,46px); }
.concept-caption { margin:0 auto 16px; text-align:center; font:400 10px/1.5 Arial,sans-serif; color:#878f97; }
.concept-caption--fan { margin:0 0 10px; }
.progress-section { background:#162235; color:#f3f3ef; padding:0 clamp(22px,3.4vw,68px) 82px; }
.progress-section__grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:clamp(36px,7vw,125px); padding:95px 0 0; }
.progress-section .section-eyebrow { color:#a5b6d2; }
.progress-section__copy h2 { font:400 clamp(60px,5.8vw,95px)/.94 var(--serif); letter-spacing:-.076em; margin:18px 0 24px; }
.progress-section__copy h2 em { color:#95b4ff; }
.progress-section__copy>p:nth-of-type(2) { max-width:455px; margin:0 0 33px; color:#b3bdca; font:400 15px/1.7 Arial,sans-serif; }
.progress-section__points { display:grid; border-top:1px solid #3a4657; max-width:470px; }
.progress-section__points span { border-bottom:1px solid #3a4657; display:flex; align-items:center; padding:16px 0; font:500 13px Arial,sans-serif; color:#dde3ea; }
.progress-section__points b { font-size:10px; letter-spacing:.1em; color:#8ca8df; margin-right:25px; font-weight:700; }
.text-cta-light { margin-top:30px; display:inline-flex; gap:30px; border-bottom:1px solid #94aad1; padding-bottom:9px; font:700 12px Arial,sans-serif; }
.text-cta-light:hover { color:#c9d8ff; }
.reading-progress-demo { border:1px solid #788da74d; background:linear-gradient(160deg,#1e314d,#14263b); padding:28px 32px 20px; min-height:400px; box-shadow:16px 26px 50px #0a172633; }
.reading-progress-demo__header { display:flex; justify-content:space-between; gap:15px; font:700 10px Arial,sans-serif; letter-spacing:.15em; color:#cbd7ed; }
.reading-progress-demo__header span:last-child { font-size:8px; color:#718db1; }
.progress-feature { display:flex; align-items:center; justify-content:center; gap:clamp(22px,4vw,60px); min-height:205px; }
.progress-circle { width:145px; height:145px; flex:none; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#9cbbff 0 80%,#2a4162 80% 100%); position:relative; }
.progress-circle:before { content:""; position:absolute; inset:14px; background:#1a304b; border-radius:50%; }
.progress-circle span { position:relative; z-index:1; font:400 55px var(--serif); line-height:1; }
.progress-circle small { font-size:25px; color:#92a3c0; }
.progress-feature>div:nth-child(2) { max-width:220px; }
.progress-feature>div:nth-child(2)>small { color:#8aa6d1; letter-spacing:.14em; font-size:9px; font-weight:700; }
.progress-feature h3 { font:400 42px/.95 var(--serif); letter-spacing:-.05em; margin:13px 0; }
.progress-feature p { font-size:11px; line-height:1.55; margin:0; color:#9fb0c8; }
.reading-progress-demo__divider { height:1px; background:#344961; }
.reading-progress-demo__bottom { padding-top:18px; }
.reading-progress-demo__bottom>span { font-size:9px; letter-spacing:.14em; color:#c4d2e7; font-weight:700; }
.reading-progress-demo__bottom>span>small { color:#708aaf; margin-left:8px; font-size:8px; }
.reading-bars { display:flex; gap:19px; align-items:end; height:114px; margin-top:15px; }
.reading-bars>div { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:end; gap:9px; height:100%; color:#98acc3; font-size:9px; }
.reading-bars i { display:block; width:100%; max-width:36px; border-radius:2px 2px 0 0; background:linear-gradient(#a4c1f8,#3b66b6); min-height:3px; }
.reading-bars>div:last-child i { background:#506783; }
.people-section { background:#f9f8f5; color:var(--rh-ink); padding:0 clamp(22px,3.4vw,68px) 95px; }
.people-section__heading { display:flex; justify-content:space-between; align-items:end; gap:45px; padding:72px 0 42px; }
.people-section__heading h2,.toolkit-section__header h2,.steps-section__heading h2,.faq-layout__intro h2 { font:400 clamp(58px,6.5vw,105px)/.95 var(--serif); letter-spacing:-.075em; margin:16px 0 0; color:#1e2c43; }
.people-section__heading>p { max-width:300px; color:#69717d; font:400 15px/1.6 Arial,sans-serif; margin:0 0 8px; }
.people-cards { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.people-card { min-width:0; display:flex; flex-direction:column; border:1px solid #e1e3e1; overflow:hidden; background:#eeeae5; }
.people-card--community { background:#e8edf5; }
.people-card__copy { padding:34px clamp(27px,3vw,50px) 20px; }
.card-number { font-size:9px; font-weight:700; color:#7d8490; letter-spacing:.16em; }
.people-card__copy h3 { font:400 clamp(33px,3.2vw,53px)/1.05 var(--serif); letter-spacing:-.052em; margin:15px 0; color:#202d47; }
.people-card__copy p { max-width:460px; color:#616b77; font:400 13px/1.65 Arial,sans-serif; margin:0 0 20px; }
.people-card__copy a { display:inline-flex; gap:28px; color:#244eae; border-bottom:1px solid #9aabc7; padding:0 0 7px; font-size:12px; font-weight:700; }
.people-card__copy a:hover { color:#142f78; }
.buddy-illustration,.community-illustration { margin:20px clamp(27px,3vw,50px) 32px; padding:18px 22px; background:#fefefa; border:1px solid #dfdfdc; min-height:220px; box-shadow:7px 13px 20px #1a2a4210; }
.buddy-illustration__label,.community-illustration__top { color:#9199a4; font:700 8px Arial,sans-serif; letter-spacing:.14em; }
.buddy-illustration__profiles { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:10px; }
.buddy-illustration__profiles>div { display:flex; flex-direction:column; align-items:center; gap:6px; color:#5a6574; font-size:10px; }
.buddy-avatar { width:43px; height:43px; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:700; color:#fff; background:#254eb7; }
.buddy-avatar--two { background:#de8259; }
.buddy-connector { flex:0 1 94px; height:1px; background:repeating-linear-gradient(90deg,#c2c8d0 0 5px,transparent 5px 10px); }
.buddy-illustration__progress { display:grid; grid-template-columns:1fr; gap:5px; margin:16px auto 0; max-width:340px; }
.buddy-illustration__progress>small { font-size:8px; letter-spacing:.11em; color:#8e97a5; font-weight:700; margin-bottom:2px; }
.buddy-illustration__progress>span { color:#6a7888; font-size:9px; }
.mini-track { height:4px; background:#ebedf1; overflow:hidden; border-radius:5px; margin-bottom:3px; }
.mini-track i { display:block; height:100%; background:#416cce; }
.buddy-illustration__progress .mini-track:last-child i { background:#e18a65; }
.buddy-illustration__quote { margin-top:12px; text-align:center; color:#627080; font:italic 18px var(--serif); }
.community-illustration { background:#fff; }
.community-illustration__top { display:flex; justify-content:space-between; align-items:center; }
.community-illustration__heading { display:flex; align-items:center; gap:12px; margin:14px 0; }
.community-illustration__badge { width:47px; height:47px; display:flex; justify-content:center; align-items:center; gap:3px; background:#dce7fd; border-radius:10px; }
.community-illustration__badge span { display:block; width:7px; height:23px; background:#2558c5; border-radius:2px; transform:rotate(-10deg); }
.community-illustration__badge span:nth-child(2) { height:29px; transform:rotate(7deg); background:#6186dd; }
.community-illustration__badge span:nth-child(3) { height:19px; transform:rotate(-6deg); background:#9cb5ea; }
.community-illustration__heading strong { font-size:12px; color:#2d3c51; display:block; }
.community-illustration__heading div:last-child>span { font-size:9px; color:#8d99a4; margin-top:4px; display:block; }
.community-illustration__post { display:flex; align-items:flex-start; gap:12px; background:#f3f6fb; padding:14px; border:1px solid #e7ecf6; }
.discussion-bullet { width:9px; height:9px; border-radius:50%; margin-top:3px; background:var(--rh-orange); }
.community-illustration__post div { flex:1; }
.community-illustration__post strong { font-size:11px; color:#2c3d57; }
.community-illustration__post p { font-size:10px; color:#8390a1; margin:6px 0 0; line-height:1.4; }
.post-arrow { font-size:14px; color:#647caa; }
.community-illustration__people { display:flex; align-items:center; margin-top:15px; }
.community-illustration__people>span { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:#2b528c; color:white; border:2px solid white; font-size:10px; margin-right:-4px; }
.community-illustration__people>span:nth-child(2) { background:#dc7e53; }
.community-illustration__people>span:nth-child(3) { background:#48806c; }
.community-illustration__people small { font-size:9px; color:#8290a2; margin-left:12px; }
.toolkit-section { background:#ecebe5; color:var(--rh-ink); padding:0 clamp(22px,3.4vw,68px) 96px; }
.toolkit-section__header { padding:65px 0 46px; }
.toolkit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #cdd0ca; border-left:1px solid #cdd0ca; }
.toolkit-grid article { min-height:260px; padding:28px clamp(22px,3vw,50px); border-right:1px solid #cdd0ca; border-bottom:1px solid #cdd0ca; display:flex; flex-direction:column; }
.toolkit-grid article:hover { background:#f4f3ed; }
.toolkit-no { color:#8e979e; font:700 9px Arial,sans-serif; letter-spacing:.13em; }
.toolkit-grid h3 { font:400 33px/.99 var(--serif); letter-spacing:-.048em; margin:17px 0 10px; color:#23344e; }
.toolkit-grid p { font:400 12px/1.7 Arial,sans-serif; color:#66717e; max-width:280px; margin:0; }
.toolkit-mark { height:50px; width:80px; margin-top:24px; display:flex; align-items:end; gap:5px; }
.toolkit-mark i { display:block; background:#536a96; position:relative; }
.toolkit-mark--pages i { width:19px; height:38px; transform:rotate(-12deg); }
.toolkit-mark--pages i:nth-child(2) { height:48px; transform:rotate(4deg); background:#2b59bd; }
.toolkit-mark--pages i:nth-child(3) { height:33px; transform:rotate(11deg); background:#de855f; }
.toolkit-mark--targets { align-items:center; }
.toolkit-mark--targets i { width:44px; height:44px; border:8px solid #8baddf; background:transparent; border-radius:50%; box-shadow:inset 0 0 0 5px #ecebe5,0 0 0 1px #b6c0cf; }
.toolkit-mark--chart i { width:9px; border-radius:2px 2px 0 0; height:23px; background:#a3b7d1; }
.toolkit-mark--chart i:nth-child(2) { height:33px; background:#6a8ed1; }
.toolkit-mark--chart i:nth-child(3) { height:46px; background:#325ab5; }
.toolkit-mark--chart i:nth-child(4) { height:39px; background:#e68a61; }
.toolkit-mark--book { align-items:center; }
.toolkit-mark--book i { width:27px; height:45px; background:#2b5ac1; transform:skewY(-8deg); border-radius:2px; }
.toolkit-mark--book i:nth-child(2) { background:#7da1e9; transform:skewY(8deg); margin-left:-4px; }
.toolkit-mark--messages i { width:39px; height:29px; background:#e4a07a; border-radius:8px; margin:0; }
.toolkit-mark--messages i:nth-child(2) { width:44px; height:38px; background:#4c79d6; margin-left:-26px; margin-bottom:15px; }
.toolkit-mark--read { align-items:center; }
.toolkit-mark--read i { height:48px; width:46px; background:repeating-linear-gradient(to bottom,#355c98 0 3px,#f2f0e9 3px 7px); border:3px solid #355c98; border-radius:2px; transform:rotate(-4deg); }
.steps-section { background:#f9f8f5; padding:0 clamp(22px,3.4vw,68px) 90px; color:var(--rh-ink); }
.steps-section__heading { padding:65px 0 45px; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid #d3d6d3; }
.steps-grid article { border-right:1px solid #d3d6d3; padding:32px clamp(18px,3vw,50px) 33px 0; min-height:185px; }
.steps-grid article:not(:first-child) { padding-left:clamp(18px,3vw,50px); }
.steps-grid article:last-child { border-right:none; }
.steps-grid span { font-size:11px; color:#2459d2; font-weight:700; }
.steps-grid h3 { font:400 32px/1 var(--serif); letter-spacing:-.045em; margin:25px 0 12px; }
.steps-grid p { font:400 12px/1.6 Arial,sans-serif; color:#747c84; max-width:280px; }
.steps-link { margin-top:28px; font:700 13px Arial,sans-serif; display:inline-flex; align-items:center; gap:30px; color:#2a4da3; border-bottom:1px solid #bcc7d8; padding-bottom:12px; }
.faq-section { background:#ecebe5; color:var(--rh-ink); padding:0 clamp(22px,3.4vw,68px) 100px; }
.faq-layout { display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(38px,8vw,150px); align-items:start; padding-top:82px; }
.faq-layout__intro h2 { font-size:clamp(53px,5.7vw,90px); }
.faq-layout__intro>p:last-child { max-width:300px; font:400 13px/1.6 Arial,sans-serif; color:#76818c; margin-top:28px; }
.faq-layout__intro>p:last-child a { display:inline; text-decoration:underline; text-underline-offset:3px; color:#385aa1; }
.faq-list { border-top:1px solid #cbd0ca; }
.faq-list details { border-bottom:1px solid #cbd0ca; }
.faq-list summary { cursor:pointer; list-style:none; padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; font:400 clamp(18px,1.75vw,25px)/1.15 var(--serif); color:#26344a; letter-spacing:-.03em; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { flex:none; font:400 27px/1 Arial,sans-serif; color:#5273b4; transition:transform .2s ease; }
.faq-list details[open] summary>span { transform:rotate(45deg); }
.faq-list details p { font:400 13px/1.7 Arial,sans-serif; color:#6c747d; margin:-4px 32px 24px 0; max-width:640px; }
.closing-section { min-height:590px; background:radial-gradient(ellipse 75% 85% at 55% 50%,#29477c 0%,#172e57 42%,#152740 100%); color:#fff; position:relative; padding:88px 30px 60px; text-align:center; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.closing-section__grain { position:absolute; inset:0; opacity:.07; pointer-events:none; background-image:radial-gradient(#fff 0.6px,transparent 0.6px); background-size:5px 5px; }
.closing-section__kicker { position:relative; font:700 9px Arial,sans-serif; letter-spacing:.19em; color:#adc1e6; }
.closing-section h2 { position:relative; font:400 clamp(94px,12.7vw,205px)/.78 var(--serif); letter-spacing:-.085em; margin:38px 0 30px; }
.closing-section h2 em { font-style:normal; color:#b5cfff; }
.closing-section>p { max-width:445px; position:relative; font:400 14px/1.65 Arial,sans-serif; color:#c5d0e3; margin:0 0 28px; }
.closing-section__actions { display:flex; gap:16px; align-items:center; justify-content:center; flex-wrap:wrap; position:relative; }
.closing-section__actions a:first-child { padding:16px 22px; min-width:210px; background:#f3f1e9; color:#1a2b44; display:inline-flex; gap:35px; justify-content:space-between; font:700 11px Arial,sans-serif; }
.closing-section__actions a:last-child { color:#e0e7f5; border-bottom:1px solid #a2b3d0; padding:0 0 7px; font:700 11px Arial,sans-serif; }
.closing-section__footnote { position:relative; color:#7b94bd; margin-top:65px; font:700 8px Arial,sans-serif; letter-spacing:.17em; }
.footer.footer--full { display:block; background:#101316; color:#e8e9e6; padding:55px clamp(22px,3.4vw,68px) 25px; font-family:Arial,sans-serif; }
.footer__main { display:grid; grid-template-columns:1.3fr 1.7fr; gap:70px; max-width:1500px; margin:0 auto 70px; }
.footer__brand { display:inline-flex; gap:12px; align-items:center; font-size:22px; letter-spacing:-.04em; font-weight:700; }
.footer__brand img { width:34px; height:34px; border-radius:8px; }
.footer__brand b { color:#9bb7fd; font-weight:700; }
.footer__identity p { color:#a0a9af; font:400 12px/1.7 Arial,sans-serif; max-width:280px; margin:25px 0; }
.footer__identity>span { font:700 8px Arial,sans-serif; letter-spacing:.15em; color:#7c8897; }
.footer__columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.footer__columns>div { display:flex; flex-direction:column; gap:13px; }
.footer__columns h3 { color:#c7cfdf; font-size:10px; font-weight:700; margin:3px 0 12px; }
.footer__columns a { color:#89939f; font-size:11px; line-height:1.35; letter-spacing:normal; }
.footer__columns a:hover { color:#fff; }
.footer__bottom { border-top:1px solid #30373d; padding-top:22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; color:#707b84; font:700 9px Arial,sans-serif; letter-spacing:.09em; }
.footer__bottom a:hover { color:#d3e1fa; }
@media(max-width:1100px){
  .product-intro__grid { grid-template-columns:.95fr 1.05fr; gap:20px; }
  .product-intro__text h2 { font-size:60px; }
  .product-demo { transform:scale(.96); transform-origin:center right; }
  .progress-section__grid { gap:40px; }
  .people-card__copy h3 { font-size:39px; }
  .reading-progress-demo { padding:23px; }
}
@media(max-width:900px){
  .product-intro__grid { grid-template-columns:1fr; padding:68px 0 40px; gap:35px; }
  .product-intro__text { max-width:700px; }
  .product-intro__text h2 { font-size:76px; }
  .product-demo { transform:none; max-width:680px; width:100%; margin:auto; }
  .progress-section__grid { grid-template-columns:1fr; padding:70px 0 0; }
  .progress-section__copy { max-width:700px; }
  .reading-progress-demo { max-width:720px; width:100%; margin:auto; }
  .people-section__heading>p { max-width:240px; }
  .people-cards { grid-template-columns:1fr; }
  .people-card { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
  .buddy-illustration,.community-illustration { margin:26px; min-height:230px; }
  .toolkit-grid { grid-template-columns:repeat(2,1fr); }
  .faq-layout { grid-template-columns:.8fr 1.2fr; gap:35px; }
  .footer__main { gap:35px; grid-template-columns:1fr 1.6fr; }
}
@media(max-width:720px){
  html { scroll-padding-top:69px; }
  main section[id] { scroll-margin-top:69px; }
  .header { height:69px; }
  .brand { font-size:17px; letter-spacing:-.04em; }
  .brand .brand-mark { width:28px;height:28px; }
  .brand small { font-size:6px; }
  .mobile-menu { z-index:35; }
  .hero { min-height:700px; }
  .hero__bottom { align-items:flex-end; gap:10px; bottom:20px; }
  .hero__intro { gap:9px; max-width:245px; }
  .hero__intro-index { font-size:7px; }
  .hero__intro p { font-size:clamp(20px,6vw,26px); }
  .hero__cta { font-size:9px; gap:12px; padding-bottom:6px; }
  .hero__controls { flex:none; }
  .hero__controls button { width:32px; height:32px; }
  .section-rail { padding:21px 0 17px; font-size:8px; }
  .section-rail span:last-child { display:none; }
  .product-intro { padding:0 22px; }
  .product-intro__grid { padding-top:52px; gap:26px; padding-bottom:32px; }
  .product-intro__text h2 { font-size:clamp(55px,13vw,88px); }
  .product-intro__lead { font-size:18px; }
  .product-intro__support { font-size:12px; }
  .section-actions { gap:16px; }
  .action-primary { min-width:0; width:auto; }
  .product-intro__proof { gap:12px; }
  .product-demo { padding:20px 0 22px; min-height:0; }
  .product-demo__outer-tag { font-size:8px; margin-bottom:13px; }
  .demo-window { border-radius:10px; }
  .demo-header { height:45px; min-height:45px; padding:0 11px; }
  .demo-header>span:nth-child(2) { display:none; }
  .demo-content { grid-template-columns:75px minmax(0,1fr); min-height:250px; }
  .demo-sidebar { padding:10px 4px; gap:5px; }
  .demo-sidebar span { font-size:7px; padding:8px 5px; }
  .demo-main { padding:12px 9px; }
  .demo-greeting div strong { font-size:11px; }
  .demo-date { display:none; }
  .demo-hero-card { height:115px; padding:13px 12px; }
  .demo-hero-card strong { font-size:22px; }
  .demo-card-book { width:35px; height:53px; right:24px; }
  .demo-card-book--two { right:10px; }
  .demo-card-book--three { right:0; }
  .demo-stats-row { gap:5px; margin-top:6px; }
  .demo-stats-card { padding:7px; }
  .demo-stats-card>span { font-size:6px; }
  .demo-stats-card>small { font-size:7px; }
  .demo-book-row { margin:6px 0; }
  .demo-book-row strong { font-size:7px; }
  .demo-book-row small { font-size:6px; }
  .demo-tiny-book { width:18px; height:27px; }
  .demo-week-bars { gap:2px; }
  .demo-floating { position:relative; margin-top:10px; width:calc(50% - 6px); padding:9px 8px; box-shadow:0 5px 15px #1112; }
  .demo-floating--goal { top:auto; right:auto; display:inline-flex; }
  .demo-floating--buddy { left:auto; bottom:auto; display:inline-flex; float:right; }
  .demo-floating small { font-size:6px; }
  .demo-floating strong { font-size:8px; }
  .demo-circle { width:30px;height:30px;border-width:3px;font-size:8px; }
  .demo-avatar { width:30px;height:30px;font-size:8px; }
  .demo-disclosure { position:relative; bottom:auto; left:auto; right:auto; clear:both; padding-top:11px; text-align:left; font-size:8px; }
  .capability-strip { grid-template-columns:repeat(2,1fr); }
  .capability-strip a { min-height:61px; padding:12px; border-bottom:1px solid var(--rh-line); font-size:11px; }
  .capability-strip a:first-child { padding-left:12px; }
  .capability-strip a:nth-child(2) { border-right:0; }
  .capability-strip a:nth-child(n+3) { border-bottom:0; }
  .archive-section .archive-heading { padding-top:40px; }
  .archive-section .archive-heading h2 { font-size:clamp(48px,12vw,75px); }
  .archive-section .archive-heading p { font-size:14px; }
  .archive-section--spines { min-height:0; padding-bottom:35px; }
  .archive-section--fan { min-height:0; padding-bottom:38px; }
  .spines-viewport { height:320px; }
  .fan-display { height:345px; }
  .concept-caption { font-size:9px; line-height:1.4; margin:0 0 15px; }
  .progress-section { padding:0 22px 62px; }
  .progress-section__grid { padding:49px 0 0; gap:30px; }
  .progress-section__copy h2 { font-size:clamp(55px,12vw,85px); }
  .progress-section__copy>p:nth-of-type(2) { font-size:13px; }
  .progress-feature { min-height:180px; gap:20px; }
  .progress-circle { width:112px;height:112px; }
  .progress-circle:before { inset:11px; }
  .progress-circle span { font-size:43px; }
  .progress-circle small { font-size:20px; }
  .progress-feature h3 { font-size:34px; }
  .reading-progress-demo { padding:20px; }
  .reading-bars { gap:8px; }
  .people-section { padding:0 22px 60px; }
  .people-section__heading { display:block; padding:50px 0 28px; }
  .people-section__heading h2,.toolkit-section__header h2,.steps-section__heading h2,.faq-layout__intro h2 { font-size:clamp(53px,12.5vw,85px); }
  .people-section__heading>p { max-width:360px; font-size:13px; margin:17px 0 0; }
  .people-card { display:flex; }
  .people-card__copy { padding:30px 24px 10px; }
  .people-card__copy h3 { font-size:38px; }
  .people-card__copy p { font-size:12px; }
  .buddy-illustration,.community-illustration { margin:18px 24px 24px; padding:16px; min-height:0; }
  .toolkit-section { padding:0 22px 58px; }
  .toolkit-section__header { padding:45px 0 30px; }
  .toolkit-grid { grid-template-columns:1fr 1fr; }
  .toolkit-grid article { min-height:210px; padding:20px 16px; }
  .toolkit-grid h3 { font-size:26px; }
  .toolkit-grid p { font-size:11px; }
  .toolkit-mark { height:38px; transform:scale(.7); transform-origin:left bottom; margin-top:15px; }
  .steps-section { padding:0 22px 60px; }
  .steps-section__heading { padding:48px 0 30px; }
  .steps-grid { display:block; }
  .steps-grid article { border-right:0; border-bottom:1px solid #d3d6d3; min-height:0; padding:23px 0!important; }
  .steps-grid h3 { font-size:29px; margin:15px 0 8px; }
  .steps-grid p { margin:0; }
  .faq-section { padding:0 22px 66px; }
  .faq-layout { display:block; padding-top:47px; }
  .faq-layout__intro { margin-bottom:30px; }
  .faq-layout__intro h2 { font-size:clamp(48px,12vw,78px); }
  .faq-list summary { font-size:22px; padding:20px 0; }
  .faq-list details p { font-size:12px; }
  .closing-section { min-height:555px; padding:64px 22px 53px; }
  .closing-section h2 { font-size:clamp(90px,20vw,142px); margin:38px 0; }
  .closing-section__actions { gap:25px; flex-direction:column; }
  .closing-section__footnote { font-size:7px; margin-top:54px; }
  .footer.footer--full { padding:45px 22px 25px; }
  .footer__main { display:block; margin-bottom:35px; }
  .footer__identity { margin-bottom:37px; }
  .footer__columns { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .footer__columns h3 { font-size:10px; }
  .footer__columns a { font-size:10px; }
  .footer__bottom { gap:12px; font-size:8px; }
}
@media(max-width:390px) {
  .hero__intro p { font-size:20px; }
  .hero__cta { font-size:8px; }
  .product-intro__text h2 { font-size:53px; }
  .demo-content { grid-template-columns:64px minmax(0,1fr); }
  .demo-sidebar span { font-size:6px; padding:7px 3px; }
  .demo-main { padding:10px 7px; }
  .demo-hero-card strong { font-size:20px; }
  .demo-floating { width:100%; margin:5px 0; float:none; }
  .toolkit-grid { grid-template-columns:1fr; }
  .toolkit-grid article { min-height:175px; }
  .toolkit-mark { margin-top:9px; }
  .footer__columns { grid-template-columns:1fr 1fr; row-gap:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .spine-book,.fan-book,.hero__cta,.action-primary { transition:none!important; }
}
