:root { color-scheme: light; --paper:#f7f2e8; --ink:#20251f; --muted:#667063; --line:#ced7c8; --card:#fffdf8; --green:#315b48; --green-soft:#e3eddf; --gold:#9b7626; --danger:#8d3730; --danger-bg:#f8e5e1; --shadow:0 18px 44px rgba(38,48,35,.11); font-family:Inter,ui-sans-serif,system-ui,sans-serif; background:var(--paper); color:var(--ink); }
* { box-sizing:border-box; } html,body { max-width:100%; overflow-x:hidden; } body { margin:0; min-width:320px; background:radial-gradient(circle at 85% 0,#dfead8,transparent 28rem),var(--paper); } button,input,select { font:inherit; } input:not([type='checkbox']),select { width:100%; max-width:100%; } button { cursor:pointer; } [hidden] { display:none!important; }
.site-shell { width:min(1080px,calc(100% - 2rem)); margin:0 auto; padding:1.25rem 0 4rem; } .site-header,.welcome-row,.section-heading,.subscription-card,.header-actions,.form-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-header { margin-bottom:2.75rem; } .brand { color:inherit; text-decoration:none; display:grid; gap:.12rem; } .brand span,.eyebrow { color:var(--gold); font-size:.72rem; letter-spacing:.1em; font-weight:800; text-transform:uppercase; } .brand strong { font-family:Georgia,serif; font-size:1.3rem; }
h1,h2,h3 { margin:.2rem 0 .6rem; font-family:Georgia,serif; } h1 { max-width:18ch; font-size:clamp(2.35rem,7vw,4.4rem); line-height:.99; } h2 { font-size:clamp(1.65rem,4vw,2.35rem); } h3 { font-size:1.25rem; } p { line-height:1.6; } .subtle { color:var(--muted); }
.panel { border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:var(--shadow); padding:clamp(1.15rem,3vw,2rem); } .centered { min-height:280px; display:grid; place-content:center; text-align:center; } .auth-layout { display:grid; grid-template-columns:1.1fr minmax(280px,.9fr); align-items:center; gap:clamp(2rem,8vw,7rem); min-height:65vh; } .intro p { max-width:48ch; color:var(--muted); }
.form-panel { display:grid; gap:.65rem; } label { display:grid; gap:.35rem; color:var(--ink); font-size:.88rem; font-weight:700; } input,select { min-height:45px; padding:.65rem .75rem; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); } input[readonly] { cursor:not-allowed; background:#f1f1eb; color:var(--muted); } input:focus,select:focus { outline:3px solid rgba(49,91,72,.23); border-color:var(--green); }
.checkbox-label { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:.55rem; margin-top:.2rem; font-weight:700; } .checkbox-label input { min-height:auto; width:1.1rem; height:1.1rem; margin-top:.15rem; padding:0; accent-color:var(--green); } .checkbox-label span { min-width:0; overflow-wrap:anywhere; } .field-help { margin:-.25rem 0 .2rem; color:var(--muted); font-size:.82rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.65rem 1rem; border:1px solid var(--green); border-radius:9px; background:var(--green); color:white; font-weight:800; text-align:center; } .button:hover { filter:brightness(.93); } .button.secondary { background:var(--green-soft); color:var(--green); border-color:var(--green-soft); } .button.quiet { color:var(--green); background:transparent; border-color:var(--line); } .text-button { padding:.2rem 0; color:var(--green); background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; font-weight:700; text-align:left; }
.network-status,.connected-account { color:var(--muted); font-size:.82rem; } .connected-account { max-width:260px; overflow-wrap:anywhere; } .network-status[data-offline='true'] { color:var(--danger); font-weight:700; } .notice { max-width:760px; margin:1.5rem 0; padding:1.15rem 1.25rem; border:2px solid #8db29b; border-radius:14px; background:var(--green-soft); color:var(--green); box-shadow:0 10px 28px rgba(38,48,35,.12); } .notice strong { display:block; margin-bottom:.35rem; font-family:Georgia,serif; font-size:1.25rem; line-height:1.25; } .notice span { display:block; color:var(--ink); font-weight:650; line-height:1.55; } .notice[data-kind='pending'] { border-color:#c9a75a; background:#fff5d9; color:#765511; } .notice.error { border-color:#b95b52; background:var(--danger-bg); color:var(--danger); } .notice.error span { color:#6f2823; }
.welcome-row { margin-bottom:1.2rem; } .subscription-card { margin:1rem 0 3rem; } .subscription-card p { margin:0; } .status-badge { padding:.35rem .6rem; border-radius:999px; font-size:.78rem; font-weight:800; white-space:nowrap; background:#e9e9e3; color:#52584e; } .status-badge[data-tone='active'] { background:#d9ecdc; color:#236239; } .status-badge[data-tone='warning'] { background:#f6e9c5; color:#795100; }
.story-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; } .story-card { display:flex; flex-direction:column; align-items:flex-start; min-height:195px; } .story-card-cover { width:100%; margin:.7rem 0 1rem; overflow:hidden; border-radius:12px; background:#e7e9e2; } .story-card-cover-image { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; } .story-card .button { margin-top:auto; } .empty-state { max-width:36rem; } .reader { margin-top:1rem; } .reader-message { max-width:70ch; margin:1.5rem 0; padding:1rem 1.15rem; border-radius:14px; line-height:1.65; } .reader-message p { margin:.2rem 0; } .reader-intro { border-left:4px solid var(--gold); background:#fbf1d9; } .reader-audio-box { max-width:760px; margin:1.5rem 0 2rem; padding:1.15rem; border:1px solid #b9d0b6; border-radius:14px; background:#edf4e9; } .reader-audio-box p { margin:0 0 .85rem; color:#3f5747; } .reader-audio-box audio { display:block; width:100%; margin:0; } .reader-sections { max-width:760px; } .reader-section { max-width:70ch; font-family:Georgia,serif; font-size:1.08rem; } .reader-section p { line-height:1.8; } .reader-illustration { max-width:760px; margin:1.75rem 0; } .reader-illustration img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:14px; background:#e7e9e2; } .reader-outro { border:1px solid #c8dbc4; background:var(--green-soft); } .reader-rating { max-width:760px; margin:1.5rem 0; padding:1rem 1.15rem; border:1px solid var(--line); border-radius:14px; background:#fafbf7; } .reader-rating legend { padding:0 .35rem; font-family:Georgia,serif; font-size:1.15rem; font-weight:700; } .rating-hearts { display:flex; flex-wrap:wrap; gap:.35rem; margin:.45rem 0; } .rating-heart { width:46px; height:46px; padding:0; border:1px solid #c5b88f; border-radius:999px; background:#fff; color:#b8aa7e; font-size:1.55rem; line-height:1; } .rating-heart:hover,.rating-heart.is-selected { border-color:#9c3c45; background:#f8e7e8; color:#9c3c45; } .rating-heart:disabled { cursor:wait; opacity:.65; } .story-dialogue { margin-left:1.4rem; font-style:italic; }
.reader-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; } .reader-toolbar button { margin:0; } .reader-byline { margin:.25rem 0 1rem; color:var(--green); font-family:Georgia,serif; font-size:1.05rem; font-style:italic; }
.reader-campaign { max-width:760px; margin:2rem 0 0; padding:1.25rem; border:1px solid #c8dbc4; border-radius:14px; background:var(--green-soft); } .reader-campaign img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:1rem; border-radius:10px; } .reader-campaign h3 { margin:.1rem 0 .55rem; font-size:1.25rem; } .campaign-body { white-space:pre-line; line-height:1.6; } .campaign-cta { margin-top:1rem; }
.reader-author { max-width:760px; margin:2rem 0; padding:1.25rem; border:1px solid #c8dbc4; border-radius:14px; background:#fafbf7; } .reader-author h3 { margin:.15rem 0 .65rem; font-size:1.45rem; } .reader-author form { display:grid; gap:.9rem; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--line); } .reader-author h4 { margin:0; font:700 1.2rem/1.3 Georgia,serif; } .reader-author label { display:grid; gap:.4rem; font-weight:750; } .privacy-guidance { margin:0; padding:.9rem 1rem; border-radius:12px; background:var(--green-soft); color:#3f5747; line-height:1.55; }
.profile-panel { margin-top:2rem; } .two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; } .form-actions { grid-column:1 / -1; justify-content:flex-start; flex-wrap:wrap; } .children-heading { margin-top:2rem; } .children-list { display:grid; gap:1rem; } .child-card { padding:1rem; border:1px solid var(--line); border-radius:12px; background:#fafbf7; } .delete-child { color:var(--danger); }
.site-footer { display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.25rem; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; } .site-footer a { color:var(--green); font-weight:800; } .adult-intro { max-width:60ch; color:var(--muted); margin-bottom:2rem; } .subscription-details { max-width:760px; } .details-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 0; } .details-list div { padding:1rem; border:1px solid var(--line); border-radius:12px; background:#fafbf7; } .details-list dt { color:var(--muted); font-size:.82rem; font-weight:700; } .details-list dd { margin:.25rem 0 0; font-weight:800; } .promotion-summary { margin-top:1.25rem; padding:1.1rem 1.2rem; border:1px solid #c8dbc4; border-radius:12px; background:var(--green-soft); } .promotion-summary p:last-child { margin-bottom:0; } .billing-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin-top:1.25rem; } .billing-actions > * { min-width:0; } .billing-actions form { display:grid; align-content:start; gap:.65rem; width:100%; } .billing-actions select,.billing-actions button { width:100%; max-width:100%; }
.confirm-dialog { width:min(100% - 2rem,32rem); border:1px solid var(--line); border-radius:18px; background:var(--card); color:var(--ink); box-shadow:var(--shadow); padding:1.5rem; } .confirm-dialog::backdrop { background:rgba(25,31,24,.52); } .button.danger { background:var(--danger); border-color:var(--danger); }
body[data-child-mode='true'] [data-adult-only] { display:none!important; }
body[data-child-mode='true'] .site-header { border-color:#c9b05e; }
body[data-child-mode='true'] #exit-child-mode { background:#fff5cf; border-color:#c9b05e; color:var(--ink); }
.confirm-dialog label { display:grid; gap:.45rem; margin-top:1rem; font-weight:700; }
.contract-actions { grid-column:1 / -1; padding-top:1.25rem; border-top:1px solid var(--line); } .contract-actions .button { width:auto; } .contract-actions > div { margin-top:1.25rem; padding-top:1rem; border-top:1px dashed var(--line); } .danger-link { color:var(--danger); }
.form-feedback { margin:.75rem 0 0; color:var(--danger); font-weight:700; }
button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; } @media (max-width:700px) { .auth-layout,.two-columns,.details-list,.billing-actions { grid-template-columns:1fr; } .site-header,.welcome-row,.subscription-card { align-items:flex-start; } .site-header { flex-direction:column; } .header-actions { width:100%; justify-content:space-between; } .reader-message,.reader-audio-box,.reader-sections,.reader-illustration,.reader-rating { max-width:100%; } .site-footer { flex-direction:column; } .site-shell { width:min(100% - 1.25rem,1080px); } }
.registration-shell { max-width:820px; } .registration-shell * { min-width:0; } .registration-shell p,.registration-shell h1,.registration-shell h2,.registration-shell label { overflow-wrap:anywhere; } .narrow-shell { max-width:700px; } .registration-intro { margin-bottom:2rem; } .progress-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; list-style:none; padding:0; margin:0 0 1.5rem; counter-reset:steps; } .progress-steps li { color:var(--muted); border-top:3px solid var(--line); padding-top:.55rem; font-size:.8rem; font-weight:800; } .progress-steps li.is-current { color:var(--green); border-color:var(--green); } .registration-step { display:grid; min-width:0; max-width:100%; gap:1rem; } .registration-step h2 { outline:none; } .plan-list { display:grid; gap:.75rem; border:0; margin:0; padding:0; } .plan-option { position:relative; } .plan-option input { position:absolute; opacity:0; } .plan-option label { min-height:105px; padding:1rem 1rem 1rem 1.2rem; border:1px solid var(--line); border-left:5px solid var(--line); border-radius:12px; background:#fafbf7; cursor:pointer; } .plan-option input:checked + label { border-color:var(--green); border-left-color:var(--green); background:var(--green-soft); } .plan-option input:focus-visible + label { outline:3px solid var(--gold); outline-offset:3px; } .plan-name { font-size:1.15rem; } .plan-price { color:var(--green); font-size:1.1rem; } .registration-child { display:grid; min-width:0; max-width:100%; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:12px; background:#fafbf7; } .registration-child legend { max-width:100%; padding:0 .25rem; color:var(--green); font-weight:800; } .registration-actions { display:flex; justify-content:space-between; gap:1rem; margin-top:1.25rem; } .registration-summary { margin:0; } .optional { color:var(--muted); font-weight:400; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .return-panel { place-content:start; text-align:left; } .activation-panel { max-width:600px; margin:8vh auto; } @media (max-width:700px) { .progress-steps { grid-template-columns:repeat(2,1fr); } .registration-actions { flex-direction:column-reverse; } .registration-actions .button { width:100%; } }
.registration-session-notice { margin-bottom:1.25rem; box-shadow:none; background:var(--green-soft); } .registration-session-notice h2 { font-size:1.45rem; } .registration-session-notice .form-actions { margin-top:.75rem; }
.legal-shell { max-width:820px; } .legal-document { display:grid; gap:1.25rem; } .legal-document h1 { max-width:22ch; } .legal-document section { border-top:1px solid var(--line); padding-top:1rem; } .legal-document h2 { margin-top:1.25rem; font-size:clamp(1.35rem,3vw,2rem); } .legal-document h3 { margin-top:.75rem; } .legal-document p,.legal-document li { line-height:1.65; } .legal-document ul,.legal-document ol { display:grid; gap:.55rem; margin:0; padding-left:1.4rem; } .legal-document blockquote { margin:0; padding:1.25rem; border:2px solid var(--gold); border-radius:14px; background:#fff8df; } .legal-document table { display:block; width:100%; overflow-x:auto; border-collapse:collapse; } .legal-document th,.legal-document td { padding:.7rem .8rem; border:1px solid var(--line); text-align:left; white-space:nowrap; } .legal-document th { background:var(--green-soft); } .legal-document hr { width:100%; border:0; border-top:1px solid var(--line); } .legal-draft-notice { margin-bottom:1.25rem; } .contract-summary { padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--green-soft); } .registration-step .checkbox-label { align-items:flex-start; line-height:1.45; }
.home-hero { padding:2rem 0 3rem; max-width:52rem; } .home-intro { max-width:56ch; color:var(--muted); font-size:1.05rem; } .home-hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; }
.home-steps { padding:2rem 0; border-top:1px solid var(--line); } .home-steps-list { list-style:none; margin:1.5rem 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; counter-reset:home-step; } .home-steps-list li { padding:1.25rem 1.25rem 1.25rem 3.25rem; position:relative; border:1px solid var(--line); border-radius:12px; background:var(--card); } .home-steps-list li::before { counter-increment:home-step; content:counter(home-step); position:absolute; left:1.1rem; top:1.15rem; width:1.6rem; height:1.6rem; border-radius:999px; background:var(--green-soft); color:var(--green); font-weight:800; display:grid; place-content:center; font-size:.85rem; } .home-steps-list strong { display:block; margin-bottom:.35rem; } .home-steps-list p { margin:0; color:var(--muted); }
.home-plans { --plans-bg:#315b48; --plans-ink:#fffdf8; --plans-muted:#e0eadc; --plans-accent:#edcf7c; margin:1rem 0 5rem; padding:clamp(1.35rem,4vw,3rem); border:1px solid rgba(255,255,255,.18); border-radius:28px; background:linear-gradient(145deg,#284d3d,var(--plans-bg) 58%,#3b6954); color:var(--plans-ink); box-shadow:0 24px 60px rgba(28,49,38,.2); } .home-plans-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.82fr); align-items:center; gap:clamp(1.5rem,5vw,3.5rem); } .home-plans-copy { min-width:0; } .home-plans .eyebrow { color:var(--plans-accent); } .home-plans h2 { max-width:19ch; color:var(--plans-ink); font-size:clamp(2rem,4.6vw,3.25rem); line-height:1.02; } .home-plans-intro { max-width:54ch; margin-bottom:.7rem; color:var(--plans-muted); font-size:1.03rem; } .home-plans-first-story { max-width:56ch; margin:0; color:var(--plans-ink); } .home-plans-visual { margin:0; } .home-plans-visual img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border:6px solid rgba(255,253,248,.9); border-radius:20px; box-shadow:0 18px 38px rgba(11,27,20,.3); } .home-plans-visual figcaption { margin:.65rem .25rem 0; color:var(--plans-muted); font-size:.8rem; line-height:1.45; } .home-plans > .subtle { color:var(--plans-muted); } .home-trial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:clamp(1.5rem,4vw,2.5rem) 0 1rem; } .home-trial-grid .panel { box-shadow:0 12px 30px rgba(11,27,20,.15); } .home-plan-card { display:flex; flex-direction:column; align-items:flex-start; gap:.65rem; min-height:245px; border-color:rgba(255,255,255,.58); background:var(--card); } .home-trial-grid h3 { margin-bottom:0; } .home-plan-card .plan-price { color:var(--green); font-family:Georgia,serif; font-size:1.55rem; } .home-trial-grid p { margin:0; color:var(--muted); } .home-plan-card .button { width:100%; margin-top:auto; text-decoration:none; } .home-plans-note { margin-bottom:0; color:var(--plans-muted); font-size:.88rem; font-weight:650; } .trial-reassurance { color:var(--green); }
.home-footer { flex-wrap:wrap; }
.cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:40; display:flex; justify-content:center; padding:1rem; } .cookie-banner-panel { width:min(720px,100%); display:grid; gap:.85rem; } .cookie-banner-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
@media (max-width:700px) { .home-steps-list { grid-template-columns:1fr; } .home-trial-grid { grid-template-columns:1fr; } }

/* Landing Gigabole Kids */
.trial-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr); align-items:center; gap:clamp(2rem,7vw,5.5rem); padding:1rem 0 4.5rem; }
.home-main-hero .home-hero { max-width:none; padding:0; }
.trial-cover-showcase { width:min(100%,390px); margin:0 auto; }
.trial-cover-stage { position:relative; aspect-ratio:1055 / 1491; overflow:hidden; border:8px solid rgba(255,253,248,.88); border-radius:24px; background:#dfe4da; box-shadow:0 26px 60px rgba(29,40,32,.22); transform:rotate(1.2deg); }
.trial-cover-stage::after { content:""; position:absolute; inset:0; z-index:2; border-radius:16px; box-shadow:inset 0 0 0 1px rgba(32,37,31,.12); pointer-events:none; }
.trial-cover-slide { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.015); transition:opacity .45s ease,transform 1.8s ease; }
.trial-cover-slide.is-active { z-index:1; opacity:1; transform:scale(1); }
.trial-cover-caption { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; color:var(--muted); font-size:.8rem; font-weight:700; }
.trial-cover-controls { display:flex; align-items:center; gap:.7rem; white-space:nowrap; }
.trial-cover-position { font-variant-numeric:tabular-nums; }
.trial-cover-toggle { min-height:36px; padding:.4rem .65rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,253,248,.78); color:var(--green); font-size:.75rem; font-weight:800; }
.trial-cover-toggle:hover { background:var(--green-soft); }
.launch-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:clamp(1.25rem,4vw,3rem); margin:0 0 4rem; border-color:#ddc477; background:linear-gradient(135deg,#fff5cf,#fffdf8 72%); scroll-margin-top:1rem; }
.launch-offer h2 { max-width:27ch; }
.launch-offer p:last-child { max-width:68ch; margin-bottom:0; color:#596158; }
.launch-offer .button { text-decoration:none; white-space:nowrap; }
.trial-experience { display:grid; grid-template-columns:minmax(210px,.82fr) minmax(0,1.18fr); align-items:center; gap:clamp(1.5rem,5vw,3rem); width:100%; margin:1rem 0 5rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid #c4d3bd; border-radius:24px; background:linear-gradient(135deg,#e6efdf,#fff8e9); box-shadow:var(--shadow); }
.trial-experience-copy p:last-child { color:var(--muted); }
.trial-experience img { display:block; width:67%; height:auto; justify-self:end; border-radius:17px; box-shadow:0 15px 34px rgba(38,48,35,.16); }
.story-modes { max-width:920px; margin:0 auto 5rem; text-align:center; }
.story-modes h2 { max-width:24ch; margin-right:auto; margin-left:auto; }
.story-modes-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.75rem; text-align:left; }
.story-mode-card { display:grid; align-content:start; justify-items:start; gap:1rem; min-height:190px; padding:1.35rem; border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 12px 30px rgba(38,48,35,.07); }
.story-mode-card h3 { margin:0; line-height:1.25; }
.story-mode-icon { display:grid; width:3.5rem; height:3.5rem; place-content:center; justify-self:center; border-radius:16px; background:var(--green-soft); color:var(--green); }
.story-mode-icon svg { display:block; width:1.8rem; height:1.8rem; }
.story-mode-icon-pair { grid-template-columns:repeat(2,1fr); gap:.1rem; width:4.75rem; padding:0 .45rem; }
.story-mode-icon-pair svg { width:1.55rem; height:1.55rem; }
.trial-dream { position:relative; width:100%; margin:5rem 0 0; overflow:hidden; border-radius:24px; background:#ddd7c8; box-shadow:var(--shadow); }
.trial-dream img { display:block; width:100%; height:auto; }
.trial-dream figcaption { position:absolute; left:0; right:0; bottom:0; max-width:none; padding:clamp(1.25rem,4vw,2.5rem); border-top:1px solid rgba(255,255,255,.42); background:rgba(23,55,43,.90); color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.35); }
.trial-dream figcaption .eyebrow { color:#e9c975; }
.trial-dream figcaption p:last-child { margin-bottom:0; color:#e4e8e2; font-size:.82rem; }
.home-faq { max-width:920px; margin:5rem auto 0; }
.home-faq-heading { max-width:700px; margin-bottom:1.75rem; }
.home-faq-heading h2 { max-width:22ch; }
.home-faq-heading p:last-child { color:var(--muted); }
.home-faq-list { display:grid; gap:.75rem; }
.home-faq details { border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow:0 8px 24px rgba(38,48,35,.05); }
.home-faq summary { position:relative; padding:1.15rem 3.25rem 1.15rem 1.25rem; color:var(--ink); font-weight:800; cursor:pointer; list-style:none; }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq summary::after { content:"+"; position:absolute; top:50%; right:1.25rem; width:1.75rem; height:1.75rem; transform:translateY(-50%); border-radius:999px; background:var(--green-soft); color:var(--green); display:grid; place-content:center; font-size:1.2rem; line-height:1; }
.home-faq details[open] summary::after { content:"−"; }
.home-faq summary:focus-visible { outline:3px solid var(--gold); outline-offset:3px; border-radius:14px; }
.home-faq details p { margin:0; padding:0 3.25rem 1.25rem 1.25rem; color:var(--muted); line-height:1.65; }
.launch-offer-final { margin-top:4rem; margin-bottom:0; }

@media (max-width:760px) {
  .trial-hero { grid-template-columns:1fr; padding-bottom:3.5rem; }
  .trial-cover-showcase { width:min(82vw,340px); }
  .launch-offer,.trial-experience,.story-modes-grid,.home-plans-header { grid-template-columns:1fr; }
  .launch-offer .button { width:100%; white-space:normal; }
  .trial-experience { margin-bottom:4rem; }
  .trial-experience img { justify-self:center; }
  .story-mode-card { min-height:0; }
  .home-plans { border-radius:22px; }
  .home-plans h2 { max-width:21ch; }
  .home-plans-visual { margin-top:.25rem; }
}

@media (max-width:460px) {
  .trial-cover-caption { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  .trial-cover-slide { transition:none; }
}

@media print {
  @page { margin:18mm; }
  body { background:#fff; color:#111; }
  body > * { visibility:hidden; }
  #reader-section,#reader-section * { visibility:visible; }
  #reader-section { position:absolute; inset:0; display:block!important; width:100%; }
  .reader-toolbar,.reader-intro,#reader-audio-box,#reader-media-notice,#refresh-media,#reader-outro,#reader-rating,#reader-author,#reader-campaign { display:none!important; }
  .reader,.reader-sections,.reader-section,.reader-illustration { width:100%; max-width:none; margin:0; padding:0; border:0; box-shadow:none; }
  .reader-illustration { break-inside:avoid; page-break-inside:avoid; }
  .reader-illustration img { max-height:220mm; object-fit:contain; }
  .reader-section { font-size:11.5pt; }
}
