:root{--ink:#0b1020;--paper:#f7f8fc;--violet:#745cff;--violet-2:#a897ff;--blue:#8dc9ff;--line:#dfe2ec;--muted:#60677a;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;color:#000;padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}a{color:inherit}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,5vw);position:relative;z-index:20;border-bottom:1px solid rgba(11,16,32,.08)}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:750;font-size:1.1rem}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ink);color:#fff;font-family:var(--serif);font-style:italic}.nav nav,.nav-cta{display:flex;align-items:center;gap:2rem}.nav nav a,footer nav a{text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:600}.nav nav a:hover{color:var(--ink)}.nav-cta{background:var(--ink);color:#fff;text-decoration:none;border-radius:999px;padding:.65rem 1.1rem;font-weight:700;font-size:.9rem}.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:4vw;padding:7vh max(28px,7vw) 10vh;overflow:hidden}.hero-copy{max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.75rem;color:#5d4bd0;margin:0 0 1.4rem}.hero h1{font-family:var(--serif);font-size:clamp(3.5rem,6.6vw,7.4rem);line-height:.92;letter-spacing:-.06em;margin:0;font-weight:500}.hero h1 em{color:var(--violet);font-weight:500}.lede{font-size:clamp(1.08rem,1.5vw,1.32rem);color:var(--muted);max-width:600px;margin:2rem 0}.actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-flex;padding:.85rem 1.25rem;border-radius:999px;text-decoration:none;font-weight:750}.button.primary{background:var(--ink);color:#fff}.button.ghost{border:1px solid var(--line);background:#fff}.availability{font-size:.82rem;color:#7b8190;margin-top:1.3rem}.reader-stage{min-height:640px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border-radius:50%;filter:blur(1px)}.orbit-one{width:540px;height:540px;background:radial-gradient(circle at 40% 35%,#d9d3ff 0,#a393ff 45%,transparent 71%)}.orbit-two{width:600px;height:600px;border:1px solid rgba(116,92,255,.3)}.phone{position:relative;width:min(320px,76vw);height:625px;background:#fbfaff;border:9px solid var(--ink);border-radius:44px;box-shadow:0 35px 90px rgba(48,33,113,.28);overflow:hidden;z-index:2}.phone-top,.reader-head,.player{display:flex;align-items:center;justify-content:space-between}.phone-top{font-size:.65rem;padding:12px 22px 3px}.reader-head{padding:10px 16px;border-bottom:1px solid #e8e6ee}.reader-head button,.player button{border:0;background:none;font:inherit}.mode{display:flex;margin:14px 18px;background:#eceaf2;border-radius:10px;padding:3px}.mode span{flex:1;text-align:center;font-size:.72rem;padding:5px;border-radius:7px}.mode .active{background:#fff;box-shadow:0 2px 5px #0001}.sample{padding:14px 24px}.sample small{font-size:.56rem;letter-spacing:.16em;color:#7764dd;font-weight:800}.sample h2{font-family:var(--serif);font-size:1.7rem;line-height:1.05;margin:.45rem 0 1.1rem}.sample p{font-family:var(--serif);font-size:1rem;line-height:1.65}.sample .spoken{background:linear-gradient(transparent 8%,#dfd9ff 8%,#dfd9ff 91%,transparent 91%)}.player{position:absolute;bottom:0;left:0;right:0;padding:14px 18px;background:#fff;border-top:1px solid #e7e5ed}.player .play{background:var(--ink);color:#fff;width:42px;height:42px;border-radius:50%}.player span{font-size:.75rem}.float-card{position:absolute;background:rgba(255,255,255,.94);padding:.9rem 1.1rem;border:1px solid #fff;border-radius:16px;box-shadow:0 14px 35px #2b206127;z-index:4}.float-card span,.float-card strong{display:block}.float-card span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.float-card strong{font-size:.8rem}.position{left:0;top:21%}.voice{right:-4%;bottom:18%}.voice .sound{color:var(--violet);font-size:1rem;letter-spacing:.1em}.promise{display:grid;grid-template-columns:repeat(4,1fr);padding:2rem max(28px,7vw);background:var(--ink);color:#fff}.promise p{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,3vw,3rem);font-style:italic;text-align:center}.section{padding:9rem max(28px,7vw)}.section-intro{max-width:800px;margin-bottom:4rem}.section h2,.access h2,.privacy h2,.download h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,5vw,5.4rem);line-height:1;letter-spacing:-.045em;margin:.4rem 0 1.5rem}.section-intro>p:last-child{font-size:1.15rem;color:var(--muted);max-width:640px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.feature{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2rem;min-height:430px;display:flex;flex-direction:column;justify-content:space-between}.feature.wide{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;min-height:370px}.number{font-size:.72rem;color:#7a718c;letter-spacing:.15em}.feature h3{font-family:var(--serif);font-size:2rem;line-height:1.12;margin:auto 0 1rem;max-width:500px}.feature p{color:var(--muted);max-width:520px}.progress-art{align-self:center;width:100%;background:#f7f6fb;border-radius:18px;padding:1.4rem}.book-row{display:flex;align-items:center;gap:1rem}.book-row div{flex:1}.book-row strong,.book-row small{display:block}.book-row small{color:var(--muted)}.cover{width:42px;height:58px;border-radius:4px}.cover-a{background:linear-gradient(145deg,#4739a8,#a693ff)}.cover-b{background:linear-gradient(145deg,#efb764,#b55638)}.faded{opacity:.55}.line{height:4px;background:#ddd9eb;border-radius:4px;margin:1.3rem 0}.line i{display:block;width:38%;height:100%;background:var(--violet);border-radius:4px}.switch-art{display:flex;background:#eceaf3;border-radius:14px;padding:4px}.switch-art button{width:50%;padding:.8rem;border:0;border-radius:11px;background:transparent}.switch-art .selected{background:#fff;box-shadow:0 2px 8px #0001}.feature.dark{background:var(--ink);color:#fff}.feature.dark p{color:#b9bed0}.wave{height:130px;display:flex;align-items:center;justify-content:center;gap:9px}.wave i{width:5px;border-radius:5px;background:linear-gradient(var(--blue),var(--violet));height:30%}.wave i:nth-child(2),.wave i:nth-child(7){height:60%}.wave i:nth-child(3),.wave i:nth-child(6){height:88%}.wave i:nth-child(4){height:50%}.wave i:nth-child(5){height:100%}.access{padding:9rem max(28px,7vw);background:#dcd6ff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw;align-items:center}.access-copy>p:not(.eyebrow){font-size:1.15rem}.access ul{padding:0;list-style:none}.access li{padding:.7rem 0;border-bottom:1px solid #b9b0eb;font-weight:650}.access li:before{content:"✓";margin-right:.7rem}.type-demo{background:#fbfaff;border-radius:30px;padding:clamp(2rem,5vw,4rem);box-shadow:0 25px 70px #4e3a9528}.type-demo>span{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.size-line{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 2.5rem}.size-line input{accent-color:var(--violet);width:100%}.type-demo p{font-family:var(--serif);font-size:clamp(2rem,3.7vw,4.2rem);line-height:1.08;margin:0}.privacy{padding:9rem max(28px,10vw);display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1fr);align-items:center;gap:6vw;background:#fff}.privacy-symbol{font-size:clamp(7rem,14vw,14rem);color:var(--violet);line-height:1}.privacy p:not(.eyebrow){color:var(--muted);font-size:1.16rem;max-width:700px}.privacy a{font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.25rem}.formats{text-align:center}.format-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin:2rem 0}.format-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.7rem 1.1rem;font-weight:800;font-size:.8rem}.format-note{color:var(--muted);font-size:.88rem}.download{position:relative;overflow:hidden;text-align:center;background:var(--ink);color:#fff;padding:10rem 2rem}.download-glow{position:absolute;width:650px;height:650px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#6752e388,transparent 68%)}.download>div:last-child{position:relative}.download .eyebrow{color:#b7aaff}.download p:not(.eyebrow){color:#bcc2d5}.store-row{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.store{display:flex;align-items:center;gap:.8rem;background:#fff;color:#080b14;text-decoration:none;border-radius:13px;padding:.65rem 1.1rem;text-align:left;min-width:185px}.store small,.store strong{display:block;line-height:1.15}.store small{font-size:.63rem}.store strong{font-size:1.1rem}footer{padding:3rem max(28px,7vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:center}footer p{color:var(--muted)}footer nav{display:flex;justify-content:flex-end;gap:1.5rem}footer small{grid-column:1/-1;color:#858b99;border-top:1px solid var(--line);padding-top:1.2rem}.reveal{opacity:1}.reveal.visible{animation:reveal-in .6s ease both}@keyframes reveal-in{from{opacity:.85;transform:translateY(12px)}to{opacity:1;transform:none}}.legal{max-width:780px;margin:0 auto;padding:6rem 1.5rem}.legal h1{font-family:var(--serif);font-size:clamp(2.8rem,7vw,5rem);line-height:1}.legal h2{margin-top:2.4rem}.legal p,.legal li{color:var(--muted)}

/* Let grid and flex children shrink to the available reading width. */
.hero-copy, .reader-stage, .feature, .feature > div, .access-copy,
.type-demo, .privacy > div, footer > * { min-width: 0; }
h1, h2, h3, p, li, .legal a { overflow-wrap: anywhere; }
.brand-mark, .cover { flex-shrink: 0; }
.nav { min-height: 78px; height: auto; gap: 1rem; padding-block: 1rem; }
.nav nav { flex-wrap: wrap; justify-content: center; gap: .25rem 1.5rem; }
.nav nav a, footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.nav-cta { justify-content: center; text-align: center; min-height: 44px; }
.brand { min-height: 44px; }
.button { align-items: center; justify-content: center; min-height: 48px; text-align: center; }
footer nav { flex-wrap: wrap; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
.phone { width: min(320px, 100%); height: auto; min-height: 625px; display: flex; flex-direction: column; }
.reader-head { gap: .25rem; }
.reader-head strong { min-width: 0; font-size: .9rem; text-align: center; }
.reader-head button, .player button { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.player { position: static; margin-top: auto; gap: .25rem; }
.orbit { max-width: 140%; aspect-ratio: 1; height: auto; pointer-events: none; }
.book-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: .75rem; }
.book-row div { min-width: 0; overflow-wrap: anywhere; }
.size-line input { min-width: 0; flex: 1; min-height: 44px; }
.size-line > small, .size-line > b { flex-shrink: 0; }

/* Keep every navigation destination available when the desktop row is full. */
@media (max-width: 64rem) {
  .nav { flex-wrap: wrap; }
  .nav nav { order: 3; flex-basis: 100%; border-top: 1px solid var(--line); padding-top: .4rem; }
  .nav-cta { margin-left: auto; }
  .float-card { display: none; }
}

@media (max-width: 850px) {
  .hero { grid-template-columns: minmax(0,1fr); min-height: 0; gap: 3rem; padding: 3rem max(20px,6vw) 4rem; }
  .hero-copy { max-width: 42rem; }
  .hero h1 { font-size: clamp(2.5rem, 8.5vw, 4.5rem); line-height: 1.02; }
  .lede { margin-block: 1.5rem; }
  .reader-stage { min-height: 0; padding-block: 1rem; }
  .orbit { max-width: 120%; }
  .section, .access, .privacy { padding: 4.5rem max(20px,6vw); }
  .section-intro { margin-bottom: 2rem; }
  .feature-grid, .feature.wide, .access, .privacy { grid-template-columns: minmax(0,1fr); }
  .feature.wide { gap: 1.5rem; min-height: 0; }
  .feature { min-height: 0; gap: 1.5rem; }
  .feature h3, .feature p { margin-block: 0; }
  .feature.wide h3 { margin-block: 1rem; }
  .access, .privacy { gap: 2.5rem; }
  .section h2, .access h2, .privacy h2, .download h2 { font-size: clamp(2.25rem, 6.7vw, 4rem); line-height: 1.08; }
  .type-demo { padding: clamp(1.25rem,5vw,3rem); }
  .type-demo p { font-size: clamp(1.75rem,5vw,3rem); }
  .size-line { margin-bottom: 1.5rem; }
  .privacy-symbol { text-align: center; font-size: 7rem; }
  .download { padding: 5rem max(20px,6vw); }
  footer { grid-template-columns: minmax(0,1fr); gap: 1rem; padding: 2.5rem max(20px,6vw); }
  footer p { margin: 0; }
  footer nav { justify-content: flex-start; }
  .legal { padding: 3rem max(20px,6vw); }
}

@media (max-width: 480px) {
  .nav { padding: .75rem 1rem; gap: .5rem; }
  .brand { gap: .5rem; font-size: 1rem; }
  .nav-cta { padding: .55rem .75rem; font-size: .8rem; }
  .nav nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap: 0 .75rem; }
  .nav nav a { justify-content: center; }
  .hero { padding-top: 2rem; gap: 2rem; }
  .eyebrow { letter-spacing: .13em; margin-bottom: 1rem; }
  .actions { display: grid; grid-template-columns: minmax(0,1fr); gap: .65rem; }
  .availability { margin-bottom: 0; }
  .promise { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; padding: 1.5rem 20px; }
  .section, .access, .privacy { padding-block: 3.5rem; }
  .feature { padding: 1.25rem; border-radius: 22px; }
  .feature h3 { font-size: 1.75rem; }
  .progress-art { padding: 1rem; }
  .book-row { grid-template-columns: 32px minmax(0,1fr); gap: .5rem .75rem; }
  .cover { width: 32px; height: 46px; grid-row: span 2; }
  .book-row b { grid-column: 2; font-size: .85rem; }
  .store-row { flex-direction: column; align-items: stretch; }
  .store { min-width: 0; width: 100%; justify-content: center; min-height: 60px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal.visible { animation: none; }
}
