/* Marketing site (welcome, pricing, about, faq, contact) — 23 Sep 2026;
   copy rebuild + access switch 24 Sep 2026 (see site-mode.js).
   Same palette and type as the app: deep purple, gold, lavender. */
:root{ --bg:#0d0a1f; --bg2:#141031; --card:rgba(42,29,74,.55); --line:rgba(202,188,225,.18);
  --ink:#EFE6FF; --soft:#C9C2D8; --faint:#9a93b3; --gold:#D7AD4F; --gold2:#F0C75E; --lav:#C9A0F5;
  --cta1:#B57BEA; --cta2:#D7A4FF; --cta3:#E7C9A0; color-scheme:dark; }
*{ box-sizing:border-box; }
html,body{ margin:0; overflow-x:clip; }
body{ background:radial-gradient(1200px 600px at 50% -10%, rgba(160,100,240,.16), transparent 60%), linear-gradient(160deg,var(--bg),#110d28 45%,#080814);
  color:var(--soft); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
a{ color:var(--lav); }
.wrap{ max-width:1080px; margin:0 auto; padding-inline:20px; }
.nav{ display:flex; align-items:center; gap:18px; padding-block:18px; flex-wrap:wrap; }
.nav .logo img{ height:60px; width:auto; display:block; }
.nav .links{ display:flex; gap:18px; margin-left:auto; flex-wrap:wrap; align-items:center; }
.nav .links a{ color:var(--soft); text-decoration:none; font-size:15px; }
.nav .links a:hover, .nav .links a[aria-current]{ color:var(--ink); }
.btn{ display:inline-block; background:linear-gradient(100deg,var(--cta1),var(--cta2) 55%,var(--cta3)); color:#1a1030 !important; font-weight:700;
  border-radius:12px; padding:12px 22px; text-decoration:none; border:1px solid transparent; font-size:16px; line-height:1.3; text-align:center; }
.btn.ghost{ background:transparent; color:var(--ink) !important; border:1px solid var(--line); font-weight:700; }
.nav .btn{ padding:9px 16px; font-size:14px; }
h1,h2,h3{ font-family:"Cormorant Garamond",Georgia,serif; color:var(--ink); line-height:1.12; text-wrap:balance; }
h1{ font-size:clamp(38px,6vw,64px); margin:0 0 14px; }
h2{ font-size:clamp(28px,4vw,40px); margin:0 0 12px; }
h3{ font-size:24px; margin:0 0 6px; }
.eyebrow{ font-size:15px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.lede{ font-size:clamp(17px,2.2vw,20px); color:var(--soft); max-width:62ch; }
section{ padding-block:44px; }
.hero{ text-align:center; padding-top:24px; }
.hero img.art{ width:100%; height:auto; max-width:980px; border-radius:22px; border:1px solid var(--line); box-shadow:0 30px 80px rgba(0,0,0,.45); margin-top:26px; }
.grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:20px; }
.card img{ width:100%; height:auto; border-radius:12px; aspect-ratio:1; object-fit:cover; margin-bottom:12px; }
.quote{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(24px,3.4vw,34px); color:var(--ink); text-align:center; max-width:30ch; margin:0 auto; }
.quote small{ display:block; font-family:inherit; font-size:15px; color:var(--gold); margin-top:10px; letter-spacing:.08em; }
.steps{ counter-reset:s; display:grid; gap:14px; }
.steps li{ list-style:none; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
.steps li b{ color:var(--ink); }
.faq details{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 18px; margin-bottom:10px; }
.faq summary{ cursor:pointer; color:var(--ink); font-weight:600; }
.faq summary:focus-visible, .btn:focus-visible, a:focus-visible{ outline:2px solid var(--lav); outline-offset:3px; }
.price{ max-width:520px; margin:0 auto; text-align:center; }
.price .amt{ font-family:"Cormorant Garamond",Georgia,serif; font-size:44px; color:var(--gold2); }
.foot{ border-top:1px solid var(--line); margin-top:30px; padding-block:26px; text-align:center; font-size:14px; color:var(--faint); }
.foot a{ color:var(--lav); text-decoration:none; margin:0 6px; }
.foot .soc{ margin-bottom:8px; }
/* Access switch (site-mode.js): default is trial, so with no script the beta bits stay hidden. */
html:not([data-access="beta"]) .mode-beta{ display:none !important; }
html[data-access="beta"] .mode-trial{ display:none !important; }

/* 24 Sep 2026 copy rebuild */
.center{ text-align:center; }
.center .lede{ margin-inline:auto; }
.narrow{ max-width:760px; margin-inline:auto; }
.hero .diff{ color:var(--ink); font-weight:600; margin:14px 0 0; }
.hero .reassure{ font-size:14px; color:var(--faint); margin:14px auto 0; max-width:64ch; }
.textlink{ color:var(--lav); font-weight:600; text-decoration:none; }
.textlink:hover{ text-decoration:underline; }
.grid2{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; list-style:none; padding:0; margin:22px 0 0; }
.chips li{ background:var(--card); border:1px solid var(--line); border-radius:999px; padding:9px 16px; color:var(--ink); font-size:15px; }
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-top:22px; }
.compare > div{ padding:18px 20px; }
.compare .paper{ background:rgba(20,16,49,.6); }
.compare .fit{ background:var(--card); border-left:1px solid var(--line); }
.compare h3{ font-size:22px; }
.compare .tag{ font-size:14px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--faint); }
.compare .fit .tag{ color:var(--gold); }
.compare ul{ list-style:none; padding:0; margin:10px 0 0; }
.compare li{ padding:7px 0; border-top:1px solid var(--line); }
.compare li:first-child{ border-top:0; }
.compare .paper li::before{ content:"✓  "; color:var(--faint); }
.compare .fit li::before{ content:"✦  "; color:var(--gold); }
.split{ display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center; }
.split img{ width:100%; height:auto; border-radius:18px; border:1px solid var(--line); }
.explainer{ border-left:3px solid var(--gold); padding:4px 0 4px 16px; margin:18px 0 0; }
.explainer b{ color:var(--ink); }
.cap h3{ font-size:26px; }
.num{ counter-reset:n; list-style:none; padding:0; margin:22px 0 0; }
.num li{ counter-increment:n; }
.num li::before{ content:counter(n); display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(100deg,var(--cta1),var(--cta2) 55%,var(--cta3)); color:#1a1030; font-weight:700; margin-bottom:10px; }
.num h3{ font-size:22px; }
.num p{ margin:0; }
.proof{ max-width:640px; margin:22px auto 0; text-align:left; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:20px 22px; box-shadow:0 20px 60px rgba(0,0,0,.35); }
.proof .demo{ font-size:14px; letter-spacing:.2em; text-transform:uppercase; color:var(--faint); font-weight:700; }
.proof .verdict{ font-family:"Cormorant Garamond",Georgia,serif; font-size:26px; color:var(--gold2); margin:6px 0 8px; line-height:1.2; }
.proof p{ margin:0; }
.feat{ display:flex; gap:14px; align-items:flex-start; }
.feat .thumb{ flex:0 0 64px; width:64px; height:64px; border-radius:12px; object-fit:cover; margin:0; aspect-ratio:1; }
.feat .glyph{ flex:0 0 64px; height:64px; border-radius:12px; display:grid; place-items:center; background:rgba(20,16,49,.6); border:1px solid var(--line); color:var(--gold); font-size:26px; }
.feat h3{ font-size:22px; }
.feat p{ margin:0; }
.ticks{ list-style:none; padding:0; margin:18px 0 0; display:grid; gap:10px; }
.ticks li{ padding-left:26px; position:relative; }
.ticks li::before{ content:"✦"; position:absolute; left:0; color:var(--gold); }
.ctas.left{ justify-content:flex-start; }
.ctas{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:22px; align-items:center; }
.subcta{ margin-top:14px; font-size:15px; }
.price .card ul{ padding-left:20px; }
.price .card li{ margin:4px 0; }
.price .per{ font-size:.5em; font-weight:400; }
.credits{ max-width:640px; margin:26px auto 0; text-align:left; background:rgba(20,16,49,.55); border:1px dashed var(--line); border-radius:16px; padding:18px 20px; }
.credits h2{ font-size:26px; }
.credits .tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:12px 0; }
.credits .tile{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:12px; text-align:center; font-size:14px; }
.credits .tile b{ display:block; font-family:"Cormorant Garamond",Georgia,serif; font-size:30px; color:var(--gold2); line-height:1.1; }
.credits p{ margin:8px 0 0; font-size:15px; }
.foot .line{ font-family:"Cormorant Garamond",Georgia,serif; font-size:19px; color:var(--soft); margin:0 auto 12px; max-width:44ch; }
.nav .links a.signin{ font-weight:600; color:var(--ink); }
@media (max-width:900px){ .grid4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px){ .wrap{ padding-inline:16px; } .grid3, .grid2, .grid4, .split{ grid-template-columns:1fr; } .compare{ grid-template-columns:1fr; } .compare .fit{ border-left:0; border-top:1px solid var(--line); }
  .nav{ gap:10px; } .nav .logo img{ height:46px; } .nav .links{ gap:12px; } .nav .links a.hide-sm{ display:none; } section{ padding-block:30px; } .chips li{ font-size:14px; } }
@media (max-width:420px){ .credits .tiles{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }
/* Even spacing between sections (Kathryn, 24 Sep): nothing inside a section
   adds its own extra space at the very top or bottom. */
main section > :first-child{ margin-top:0 !important; }
main section > :last-child{ margin-bottom:0 !important; }
.does .card h3{ margin-top:4px; }
.does .card h3{ text-align:center; }
/* 24 Sep (Kathryn): tie the site to the app. */
/* Bigger, readable logo in the header. */
.nav .logo img{ height:88px; }
@media (max-width:760px){ .nav .logo img{ height:58px; } }
/* The app's faded line under the header. */
header.nav{ position:relative; }
header.nav::after{ content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:220px; max-width:60%; height:2px; background:linear-gradient(90deg,transparent,rgba(220,190,255,0.55),transparent); }
/* Buttons light up on hover like the nav links and the app's buttons. */
.btn{ transition:transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.btn:hover{ transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 8px 22px rgba(181,123,234,.35); }
.btn.ghost:hover{ background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.4); filter:none; box-shadow:none; }
/* The app's label font for the small gold lines. */
.eyebrow, .compare .tag, .proof .demo{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; letter-spacing:.14em; }
/* 24 Sep (Kathryn): emphasis, readable logo, matched buttons, non-button quotes. */
.hl{ color:#E4C6FF; font-weight:600; }
h1 .hl, h2 .hl{ font-weight:inherit; background:linear-gradient(100deg,#D7A4FF,#E7C9A0); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav .logo img{ height:118px; }
@media (max-width:760px){ .nav .logo img{ height:64px; } }
.hero .ctas .btn{ min-width:210px; }
.familiar{ list-style:none; padding:0; margin:14px auto 0; max-width:760px; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; text-align:left; }
.familiar li{ font-family:"Cormorant Garamond",Georgia,serif; font-style:italic; font-size:20px; line-height:1.4; color:var(--ink); padding-left:18px; border-left:2px solid rgba(215,173,79,.55); }
@media (max-width:760px){ .familiar{ grid-template-columns:1fr; } .familiar li{ font-size:18px; } }
.card.cap h3{ text-align:center; }
.trust-strip{ color:var(--soft); font-size:14.5px; line-height:1.9; margin:0 auto; max-width:820px; }
/* Footer: the same one the app uses (24 Sep, Kathryn: "not consistent"). */
.bb-footer{ text-align:center; margin:2.5rem auto 1.5rem; max-width:640px; padding:1.6rem 1rem 0; color:rgba(200,175,235,0.6); font-size:14px; position:relative; }
.bb-footer::before{ content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:170px; height:2px; background:linear-gradient(90deg,transparent,rgba(220,190,255,0.55),transparent); }
.bb-foot-mark{ display:block; margin:0 auto .5rem; width:64px; height:64px; opacity:.9; }
.bb-foot-name{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.3rem; color:#EFE6FF; letter-spacing:.02em; }
.bb-foot-tag{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; color:#D7AD4F; opacity:.9; margin:.2rem 0 1rem; font-size:17px; }
.bb-foot-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem 1.1rem; margin-bottom:1rem; }
.bb-foot-links a{ color:rgba(221,204,247,0.85); text-decoration:none; font-size:15px; }
.bb-foot-links a:hover{ color:#fff; text-decoration:underline; }
.bb-foot-soc{ display:flex; justify-content:center; gap:.7rem; margin-bottom:.9rem; }
.bb-soc{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(201,160,245,0.3); color:#C9A0F5; background:rgba(42,29,74,.35); transition:background .18s ease, color .18s ease; }
.bb-soc:hover{ background:rgba(201,160,245,0.18); color:#fff; }
.bb-foot-mail a{ color:rgba(201,160,245,0.85); text-decoration:none; }
.bb-foot-copy{ margin-top:.5rem; font-size:12px; opacity:.6; }
/* The big line. */
.big-statement{ font-size:clamp(34px,5vw,54px); line-height:1.1; margin:6px auto 0; max-width:18ch; }
.feat4 .card img{ margin-bottom:12px; }
.feat4 .card h3{ text-align:center; }
/* Research credits, spread out (24 Sep). */
.credits{ max-width:780px; padding:24px 26px; }
.credits h2{ margin-bottom:6px; }
.credits p{ font-size:16px; line-height:1.7; }
.credits .tiles{ gap:18px; margin:18px 0 10px; }
.credits .tile{ padding:20px 16px; font-size:15px; line-height:1.55; }
.credits .tile .unit{ display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:0 0 10px; }
@media (max-width:760px){ .credits .tiles{ grid-template-columns:1fr; } }
/* About page layout (24 Sep). */
.about-hero .split{ align-items:center; }
.about-hero h1{ font-size:clamp(34px,4.6vw,52px); line-height:1.1; }
.art-sq{ width:100%; height:auto; border-radius:20px; border:1px solid var(--line); box-shadow:0 20px 60px rgba(20,8,44,.5); }
.about-wide{ max-width:760px; margin:22px auto 0; font-size:17px; line-height:1.75; color:var(--soft); text-align:center; }
.two-readers{ display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:720px; margin:26px auto 0; text-align:left; }
.two-readers .tag{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; font-size:13px; letter-spacing:.14em; color:var(--gold); text-transform:uppercase; }
.two-readers .book{ font-size:13px; color:var(--faint); margin:2px 0 8px; }
.two-readers .res{ font-family:'Cormorant Garamond',Georgia,serif; font-size:22px; font-weight:600; margin:0 0 6px; }
.two-readers .res.good{ color:#9FE3A0; } .two-readers .res.warn{ color:#F0C75E; }
.benefits{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.benefits .card{ grid-column:span 2; text-align:center; }
.benefits .card:nth-child(4){ grid-column:2 / span 2; }
.benefits .glyph{ font-size:26px; color:var(--gold2); margin-bottom:6px; }
.promises .card h3{ color:var(--ink); }
@media (max-width:760px){ .two-readers{ grid-template-columns:1fr; } .benefits{ grid-template-columns:1fr; } .benefits .card, .benefits .card:nth-child(4){ grid-column:auto; } }
.credits .tiles{ grid-template-columns:1fr !important; gap:12px; }
.credits .tile{ display:grid; grid-template-columns:86px 1fr; align-items:center; text-align:left; padding:14px 18px; column-gap:16px; }
.credits .tile b{ grid-row:1 / span 2; text-align:center; font-size:38px; }
.credits .tile .unit{ margin:0 0 2px; }
/* Contact form (24 Sep). */
.cform{ display:grid; gap:14px; text-align:left; padding:22px; }
.cform label{ display:grid; gap:6px; font-size:14px; color:var(--ink); font-weight:600; }
.cform input, .cform select, .cform textarea{ font:inherit; font-weight:400; color:var(--ink); background:rgba(9,7,24,.6); border:1px solid rgba(202,188,225,.28); border-radius:10px; padding:11px 12px; }
.cform input:focus, .cform select:focus, .cform textarea:focus{ outline:none; border-color:#D7A4FF; box-shadow:0 0 0 3px rgba(215,164,255,.18); }
.cform .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cform button{ justify-self:start; cursor:pointer; }
.cform-msg{ margin:0; color:#B7AECB; min-height:1.2em; }
/* Partner page cards: centered headlines. */
.partner-cards .card h3{ text-align:center; }
/* Header fits on one row with "Partner with us" added. */
@media (min-width:1001px){ .nav{ flex-wrap:nowrap; } .nav .links{ flex-wrap:nowrap; gap:15px; } .nav .links a{ font-size:14.5px; white-space:nowrap; } .nav .logo img{ height:104px; } }
@media (min-width:761px) and (max-width:1000px){ .nav .logo img{ height:80px; } .nav .links a.hide-sm{ font-size:14px; } }
.cform-msg.err{ color:#e06c8a; }
.art-wide{ display:block; width:100%; max-width:980px; height:auto; margin:26px auto 0; border-radius:22px; border:1px solid var(--line); box-shadow:0 20px 60px rgba(20,8,44,.5); }
.imports .tile b{ font-size:32px; }
/* Home fixes (24 Sep). */
.num li{ text-align:center; }
.num li::before{ margin:0 auto 8px; display:grid; }
.proof .demo, .proof .verdict{ text-align:center; }
.big-statement .line{ display:block; white-space:nowrap; }
@media (max-width:560px){ .big-statement .line{ white-space:normal; } }
.big-statement{ max-width:none; }
section.trust-sec{ padding-block:14px; }
/* About page v3 (Kathryn's notes, 24 Sep). */
.split5545{ display:grid; grid-template-columns:55fr 45fr; gap:36px; align-items:center; }
.split4555{ display:grid; grid-template-columns:45fr 55fr; gap:36px; align-items:center; }
.about-hero .about-wide{ text-align:left; max-width:none; margin-top:28px; }
.onebook{ display:grid; justify-items:center; gap:0; }
.ob-book{ display:grid; justify-items:center; gap:6px; padding:18px 26px; border-radius:18px; background:var(--card); border:1px solid var(--line); color:var(--ink); font-family:'Cormorant Garamond',Georgia,serif; font-size:22px; }
.ob-icon{ font-size:34px; }
.ob-lines{ width:60%; height:46px; border:2px solid rgba(215,173,79,.5); border-bottom:none; border-radius:18px 18px 0 0; margin-top:12px; }
.ob-exp{ display:grid; grid-template-columns:1fr 1fr; gap:14px; width:100%; }
.ob-card{ background:linear-gradient(180deg,rgba(62,38,104,.6),rgba(28,20,58,.7)); border:1px solid rgba(215,164,255,.35); border-radius:16px; padding:16px; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:21px; line-height:1.3; color:var(--ink); text-align:center; }
.ob-card .tag{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; font-style:normal; font-size:12px; letter-spacing:.14em; color:var(--gold); text-transform:uppercase; margin-bottom:6px; }
.bene-feature{ display:grid; grid-template-columns:1fr 1.4fr; gap:16px; }
.bene-feature .featured{ display:flex; flex-direction:column; justify-content:center; text-align:center; padding:30px 26px; background:linear-gradient(180deg,rgba(72,44,120,.6),rgba(30,22,62,.7)); }
.bene-feature .featured h3{ font-size:30px; }
.bene-feature .featured .glyph{ font-size:40px; }
.bene-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.bene-feature .card{ text-align:center; }
.bene-feature .glyph{ font-size:26px; color:var(--gold2); margin-bottom:6px; }
.voice-panel{ max-width:820px; margin:0 auto; padding:44px 36px; border-radius:24px; background:radial-gradient(600px 240px at 50% 0%, rgba(215,164,255,.18), transparent 70%), linear-gradient(180deg,#2a1a4a,#1a1236); border:1px solid rgba(215,173,79,.35); }
.vp-mark{ color:var(--gold2); font-size:22px; }
.vp-line{ font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(32px,4.4vw,50px); line-height:1.15; color:#F6EEFF; margin:8px 0 16px; }
.vp-note{ max-width:620px; margin:0 auto; color:var(--soft); font-size:16.5px; line-height:1.7; }
.promise-list{ list-style:none; padding:0; margin:20px auto 0; max-width:900px; display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
.promise-list li{ padding:14px 0; border-bottom:1px solid var(--line); color:var(--soft); }
.promise-list li b{ color:var(--ink); }
.closing-glow{ margin:10px auto 0; max-width:900px; border-radius:26px; padding:44px 20px !important; background:radial-gradient(520px 220px at 50% 40%, rgba(215,164,255,.16), transparent 70%); }
.nw{ white-space:nowrap; }
@media (max-width:760px){ .split5545, .split4555, .bene-feature, .bene-grid, .promise-list, .ob-exp{ grid-template-columns:1fr; } .nw{ white-space:normal; } }
/* Approved banner + icons (24 Sep). */
.art.banner{ aspect-ratio:3 / 1; height:auto; }
.banner-tag{ font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(24px,3vw,32px); color:var(--ink); margin:16px 0 4px; }
.banner-labels{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; font-size:14px; letter-spacing:.12em; color:var(--gold); text-transform:uppercase; margin:0; }
.banner-labels span{ color:var(--lav); margin:0 8px; }
.familiar li{ font-style:normal; font-family:inherit; font-size:17px; border-left:none; padding-left:0; display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; }
.familiar li img{ width:26px; height:26px; margin-top:1px; }
.cap-icon{ display:block; width:40px; height:40px; margin:2px auto 10px; }
.card img.cap-icon{ width:40px; height:40px; aspect-ratio:auto; border-radius:0; object-fit:contain; margin:2px auto 10px; border:0; box-shadow:none; }
/* Text links light up on hover like the nav (24 Sep). */
main a:not(.btn):hover, .reassure a:hover, .subcta a:hover, .textlink:hover, .bb-foot-mail a:hover, .bb-foot-links a:hover, .pv a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
main a:not(.btn), .bb-foot-mail a{ transition:color .15s ease; }
/* "Sound familiar?" as reader moments (24 Sep). */
.moments{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1000px; margin:16px auto 0; }
.moment{ text-align:center; padding:20px 16px 18px; border-radius:18px; background:radial-gradient(180px 120px at 50% 0%, rgba(215,164,255,.10), transparent 70%), rgba(42,29,74,.35); }
.moment img{ width:34px; height:34px; display:block; margin:0 auto 10px; }
.moment .m1{ font-family:'Cormorant Garamond',Georgia,serif; font-size:21px; line-height:1.25; color:var(--ink); font-weight:600; margin:0 0 4px; }
.moment .m2{ font-size:15px; line-height:1.45; color:var(--soft); margin:0; }
@media (max-width:900px){ .moments{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .moments{ grid-template-columns:1fr; } }
.moments{ grid-template-columns:1fr 1fr; max-width:720px; gap:14px; }
.moment{ display:grid; grid-template-columns:40px 1fr; column-gap:14px; text-align:left; align-items:center; padding:16px 18px; }
.moment img{ grid-row:1 / span 2; margin:0; }
@media (max-width:480px){ .moments{ grid-template-columns:1fr; } }
/* Bigger "Sound familiar?" icons (24 Sep). */
.moment{ grid-template-columns:48px 1fr; }
.moment img{ width:42px; height:42px; }
/* Founder note (About). */
.founder-note{ max-width:760px; margin:0 auto; padding:34px 34px 28px; border-radius:22px; background:linear-gradient(180deg,rgba(42,29,74,.55),rgba(20,16,49,.6)); border:1px solid var(--line); }
.founder-note .eyebrow{ text-align:center; margin-bottom:14px; }
.founder-note p{ font-size:17px; line-height:1.75; color:var(--soft); margin:0 0 14px; }
.founder-note p:first-of-type{ font-family:'Cormorant Garamond',Georgia,serif; font-size:24px; line-height:1.35; color:var(--ink); }
.founder-note .sig{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:21px; color:var(--gold2); text-align:right; margin:6px 0 0; }
@media (max-width:760px){ .founder-note{ padding:24px 20px; } }
.art.banner{ aspect-ratio:auto; }
/* About v4 (24 Sep): icons, portrait, open voice panel. */
.ob-book img.ob-icon{ width:44px; height:44px; }
.card img.b-icon{ display:block; width:30px; height:30px; margin:0 auto 8px; aspect-ratio:auto; border:0; border-radius:0; box-shadow:none; }
.card img.b-icon.big{ width:44px; height:44px; margin-bottom:12px; }
.founder-photo{ display:block; width:120px; height:120px; border-radius:50%; margin:-4px auto 14px; border:2px solid rgba(215,173,79,.55); box-shadow:0 10px 30px rgba(20,8,44,.5); }
.voice-panel{ background:none; border:0; border-top:1px solid rgba(215,173,79,.35); border-bottom:1px solid rgba(215,173,79,.35); border-radius:0; padding:36px 16px; }
.bb-footer{ max-width:900px; }
.ctas .btn{ min-width:210px; }
.ctas .btn{ min-width:232px; }
/* Pricing v2 (24 Sep, Kathryn's notes). */
.btn{ white-space:nowrap; }
.pr-hero{ display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center; }
.pr-intro h1{ font-size:clamp(34px,4.4vw,50px); line-height:1.1; margin:8px 0 12px; }
.pr-offer{ padding:26px 26px 20px; text-align:left; background:linear-gradient(180deg,rgba(62,38,104,.7),rgba(28,20,58,.75)); border:1px solid rgba(215,164,255,.35); }
.pr-offer .pr-name{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; color:var(--gold); letter-spacing:.14em; font-size:14px; text-transform:uppercase; }
.pr-offer .amt{ margin:6px 0 2px; }
.pr-after{ margin:0 0 12px; color:var(--soft); font-size:15px; }
.pr-includes{ list-style:none; padding:0; margin:0 0 14px; display:grid; gap:8px; }
.pr-includes li, .pr-trial > div:not(.pr-trial-h){ display:flex; gap:10px; align-items:center; color:var(--ink); }
.pr-trial{ border:1px solid rgba(215,173,79,.4); border-radius:12px; padding:10px 14px; margin:0 0 16px; display:grid; gap:6px; background:rgba(215,173,79,.06); }
.pr-trial-h{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.pr-offer .btn{ display:block; width:100%; text-align:center; }
.pr-signin{ text-align:center; margin:10px 0 0; font-size:14.5px; color:var(--soft); }
.benefit-rows{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; max-width:920px; margin:20px auto 0; }
.benefit-rows > div{ display:grid; grid-template-columns:30px 1fr; gap:12px; align-items:start; padding:14px 0; border-bottom:1px solid var(--line); }
.benefit-rows b{ color:var(--ink); }
.benefit-rows p{ margin:3px 0 0; color:var(--soft); font-size:15px; }
.credits3 .c3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:900px; margin:18px auto 0; }
.c3-tile{ text-align:center; padding:20px 16px; border-radius:16px; background:var(--card); border:1px solid var(--line); }
.c3-tile b{ display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:52px; line-height:1; color:var(--gold2); }
.c3-tile .unit{ display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:4px 0 10px; }
.c3-tile img{ display:block; margin:0 auto 8px; }
.c3-tile p{ margin:0; font-size:15px; }
.imports-row h3{ display:flex; flex-direction:column; gap:10px; align-items:center; justify-content:center; text-align:center; font-size:22px; margin:0; }
.imports-row .ir{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:12px; }
.imports-row .ir > a{ text-decoration:none; color:inherit; transition:border-color .15s, background .15s; }
.imports-row .ir > a:hover{ border-color:var(--gold, #D7AD4F); background:rgba(42,29,74,.6); }
.imports-row .ir > div, .imports-row .ir > a{ display:flex; gap:10px; align-items:baseline; padding:10px 16px; border-radius:12px; border:1px solid var(--line); background:rgba(42,29,74,.35); }
.imports-row .ir span{ color:var(--soft); font-size:14px; }
@media (max-width:760px){ .pr-hero, .benefit-rows, .credits3 .c3{ grid-template-columns:1fr; } }
/* Page artwork beside headlines (24 Sep). */
.split-art{ display:grid; grid-template-columns:1.3fr .7fr; gap:28px; align-items:center; }
.art-float{ width:100%; max-width:320px; height:auto; justify-self:center; object-fit:contain; }
.faq-top .art-float{ max-width:240px; }
@media (max-width:760px){ .split-art{ grid-template-columns:1fr; } .art-float{ max-width:200px; order:-1; } .faq-top .art-float{ max-width:160px; } }
.wait-band{ display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:center; text-align:left; max-width:820px; margin:0 auto; padding:22px 26px; border-radius:18px; background:linear-gradient(135deg,rgba(215,164,255,.12),rgba(215,173,79,.08)); border:1px solid rgba(215,173,79,.4); }
.wait-band img{ width:40px; height:40px; }
.wait-band h3{ margin:0 0 4px; font-size:23px; }
.wait-band p{ margin:0; color:var(--soft); }
/* Pricing icons stay icon-sized (a general card-image rule was stretching them). */
.pr-offer img, .benefit-rows img, .c3-tile img, .imports-row img{ width:auto !important; max-width:none; flex:0 0 auto; }
.pr-includes img{ height:22px !important; } .pr-trial img{ height:20px !important; }
.benefit-rows img{ height:26px !important; } .c3-tile img{ height:28px !important; } .imports-row img{ height:30px !important; }
.pr-offer .amt{ font-family:'Cormorant Garamond',Georgia,serif; font-size:46px; font-weight:700; color:var(--ink); line-height:1.1; }
.pr-offer .amt .per{ font-size:18px; font-weight:500; color:var(--soft); }
/* FAQ question groups (24 Sep). */
.faq-group{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; color:var(--gold); font-size:15px; letter-spacing:.14em; text-transform:uppercase; text-align:center; margin:34px 0 10px; }
.faq-group:first-of-type{ margin-top:26px; }
/* Phone consistency pass (Kathryn's screenshots, 24 Sep 2026). */
header.nav{ padding-top:max(18px, env(safe-area-inset-top)); }
h1, h2, h3, .eyebrow{ text-wrap:balance; }
@media (max-width:760px){
  .eyebrow{ font-size:13px; letter-spacing:.16em; }
  /* Page openers and split sections read centered, like the home page */
  .about-hero, .about-hero .about-wide, .pr-intro, .split5545 > div, .split4555 > div{ text-align:center; }
  .about-hero .about-wide{ margin-inline:auto; }
  .pr-intro .lede, .split5545 > div p, .split4555 > div p{ margin-inline:auto; }
  /* "Waiting on the next book" box: icon on top, text centered */
  .wait-band{ grid-template-columns:1fr; justify-items:center; text-align:center; padding:22px 20px; }
  /* Promise list stays left for easy reading, with even spacing */
  .promise-list li{ text-align:left; }
}
@media (max-width:760px){
  /* FAQ and Partner openers centered like the other pages */
  .split-art > div{ text-align:center !important; }
  .split-art > div .ctas, .split-art > div .ctas.left{ justify-content:center !important; }
  .split-art > div p{ margin-inline:auto; }
}
@media (max-width:760px){ .feat4 .card p{ text-align:center; } }

/* Reader DNA insight (home) and reading-season example (About), 24 Sep 2026 */
.dna-insight{ margin-top:22px; background:linear-gradient(180deg,rgba(62,38,104,.6),rgba(28,20,58,.7)); border:1px solid rgba(215,164,255,.35); border-radius:16px; padding:16px 18px; }
.dna-insight .tag, .season-ex .tag{ font-family:'Cinzel Decorative','Cinzel',Georgia,serif; font-size:13px; letter-spacing:.14em; color:var(--gold); text-transform:uppercase; font-weight:700; }
.dna-insight .q{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:22px; line-height:1.35; color:var(--ink); margin:8px 0 6px; }
.dna-insight .note{ font-size:14px; color:var(--faint); margin:0; }
.season-ex{ display:grid; gap:8px; margin:18px 0; }
.season-ex > div{ display:grid; grid-template-columns:218px 1fr; align-items:center; gap:18px; background:rgba(20,16,49,.6); border:1px solid var(--line); border-radius:14px; padding:10px 16px; }
.season-ex .tag{ white-space:nowrap; font-size:12px; }
.season-ex > div.now{ background:var(--card); border-color:rgba(215,164,255,.35); }
.season-ex p{ margin:0; font-size:16px; line-height:1.4; }
@media (max-width:760px){ .season-ex > div{ grid-template-columns:1fr; gap:4px; padding:10px 14px; text-align:center; } .season-ex .tag{ font-size:13px; } .dna-insight .q{ font-size:20px; } }

/* TBR + Similar While I Wait pair (home), 24 Sep 2026 */
.wait-pair{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wait-pair .wait-band{ max-width:none; margin:0; align-items:start; }
@media (max-width:760px){ .wait-pair{ grid-template-columns:1fr; } }
.wait-pair .wait-band{ grid-template-columns:1fr; justify-items:center; gap:10px; }
.wait-pair .wait-band h3{ text-align:center; }

/* Partners icons; idea / promise / love cards (About, Partners, Contact), 24 Sep 2026 */
.partner-cards .card{ text-align:center; }
.card img.pc-icon{ display:block; width:40px; height:40px; max-width:40px; aspect-ratio:auto; border-radius:0; margin:0 auto 12px; box-shadow:none; }
.idea-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:18px auto 0; text-align:center; }
.idea-cards .card{ padding:18px 16px; }
.idea-cards h3{ font-size:20px; margin:6px 0 6px; }
.idea-cards p{ margin:0; font-size:15px; color:var(--soft); }
/* Same numbered circles as the homepage steps (.num), Kathryn 25 Sep 2026. */
.idea-n{ display:grid; place-items:center; width:34px; height:34px; margin:0 auto 10px; border-radius:50%; background:linear-gradient(100deg,var(--cta1),var(--cta2) 55%,var(--cta3)); color:#1a1030; font-weight:700; font-size:16px; line-height:1; font-family:inherit; }
.idea-more{ text-align:center; margin-top:16px; color:var(--soft); }
.love-cards, .promise-cards{ grid-template-columns:repeat(2,1fr); }
.promise-cards{ grid-template-columns:repeat(3,1fr); max-width:1000px; }
@media (max-width:900px){ .idea-cards, .promise-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .idea-cards, .promise-cards, .love-cards{ grid-template-columns:1fr; } }

.contact-art{ display:block; width:220px; height:auto; margin:0 auto 6px; }
@media (max-width:760px){ .contact-art{ width:170px; } }

.small-note{ font-size:13.5px; color:var(--soft); max-width:560px; margin:10px auto 0; }

/* Import packs as real purple buttons (Kathryn, 25 Sep 2026). */
.imports-row .ir{ flex-direction:column; align-items:center; }
.imports-row .ir > a.pack-btn{ display:flex; flex-direction:column; align-items:center; gap:2px; min-width:260px; padding:11px 22px; border-radius:12px;
  background:linear-gradient(100deg,var(--cta1),var(--cta2) 55%,var(--cta3)); border:1px solid transparent; color:#1a1030; }
.imports-row .ir > a.pack-btn span{ color:#3a2455; font-size:13px; }
.imports-row .ir > a.pack-btn:hover{ filter:brightness(1.06); background:linear-gradient(100deg,var(--cta1),var(--cta2) 55%,var(--cta3)); }
/* Plus mention inside the main offer box. */
.pr-plus{ margin:14px 0 4px; padding:10px 12px; border-radius:12px; border:1px solid rgba(215,173,79,.4); background:rgba(215,173,79,.07); font-size:14px; line-height:1.5; }
.pr-plus-link{ display:inline-block; margin-top:4px; color:var(--lav); font-weight:600; font-size:13.5px; text-decoration:none; }
