/* Landing layouts use the palette, typography and controls in styles.css. */
.launch-page {overflow:clip}
.launch-page h1,.launch-page h2,.launch-page h3 {
 font-family:BookDisplay,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-weight:400;
}
.launch-hero {max-width:1168px;margin:auto;padding:36px 24px 56px;display:grid;gap:46px}
.hero-copy {position:relative;z-index:1;min-width:0}
.launch-location {display:flex;align-items:center;gap:9px;font-size:11px;font-weight:750;letter-spacing:1.7px;margin:0 0 17px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.launch-location>span:first-child {color:var(--accent);font-size:10px}
.location-year {margin-left:auto;font-variant-numeric:tabular-nums;letter-spacing:2px}
.hero-volume {margin:0 0 12px;font-size:10px;font-weight:650;letter-spacing:2px}
.launch-title {font-size:clamp(64px,15vw,116px);line-height:.91;letter-spacing:.3px;margin:0 0 17px;text-transform:uppercase}
.title-last {display:block;color:var(--accent)}
.title-small {display:inline-block;max-width:1.8em;font-size:.38em;line-height:.88;vertical-align:.08em;letter-spacing:1px;margin-right:.1em;color:var(--ink)}
.launch-author {font-size:14px;letter-spacing:1.2px;margin:0 0 18px}
.launch-tagline {font-family:BookSerif,Georgia,serif;font-size:clamp(20px,3.5vw,25px);line-height:1.45;letter-spacing:-.45px;max-width:28ch;margin:0 0 19px}
.launch-intro {font-size:14px;line-height:1.65;max-width:49ch;color:var(--muted);margin:0 0 20px}
.hero-primary,.hero-editions {display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.hero-editions {margin-top:7px;gap:8px 22px}
.launch-read-hero {min-height:54px;padding:14px 22px;font-size:16px;gap:30px}
.launch-buy {display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--launch-control)}
.launch-buy:hover {text-decoration-thickness:2px}
.launch-series-link {display:inline-flex;align-items:center;gap:18px;min-height:44px;margin:0;color:var(--accent);font-weight:750;font-size:14px;line-height:1.55;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.launch-series-link:hover {text-decoration-thickness:3px}
.hero-extras {display:flex;flex-wrap:wrap;gap:0 20px;margin-top:0;font-size:12px;color:var(--muted)}
.hero-extras a,.launch-resume {display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:4px}
.launch-resume {font-size:13px}
.hero-art {isolation:isolate;position:relative;display:grid;place-items:center;min-width:0;padding:17px 22px 7px}
.hero-art::before {content:"";position:absolute;width:112%;aspect-ratio:1;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,var(--launch-glow),transparent 69%);pointer-events:none}
.hero-halftone {position:absolute;z-index:-1;inset:8% -8% 10% 5%;background-image:radial-gradient(var(--accent) .8px,transparent 1px);background-size:8px 8px;opacity:.16;clip-path:polygon(10% 0,100% 9%,88% 100%,0 93%)}
.hero-cover {margin:0;width:min(100%,310px);transform:rotate(2deg);transition:transform .25s ease}
.hero-cover:hover,.hero-cover:focus-within {transform:translateY(-6px) rotate(0)}
.launch-cover-link {display:block}
.hero-cover img {display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border:1px solid var(--launch-shadow);box-shadow:8px 9px 0 var(--launch-shadow),14px 24px 28px #0002}
.hero-cover figcaption {margin:23px 0 0;display:flex;align-items:center;justify-content:center;gap:14px;font-size:10px;font-weight:700;letter-spacing:2px}
.hero-cover figcaption span {color:var(--accent)}
.series-strip {background:var(--launch-night);color:#fff7e9;border-block:1px solid #51606a}
.series-strip-inner {max-width:1168px;padding:33px 24px 36px;margin:auto}
.strip-heading .eyebrow {color:#c2cdd0;font-size:9px;margin:0 0 8px}
.strip-heading h2 {margin:0;font-size:38px;line-height:1.05}
.strip-heading>p:last-child {color:#c2cdd0;font-size:12px;margin:10px 0 27px}
.series-shelf {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;list-style:none;margin:0;padding:0}
.series-volume {display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:5px;align-items:start;min-width:0}
.series-volume:hover {text-decoration:none}
.series-volume img {grid-row:auto;display:block;width:72px;margin-bottom:7px;height:auto;aspect-ratio:2/3;object-fit:contain;box-shadow:3px 4px 0 #0008;transition:transform .22s ease}
.series-volume:hover img,.series-volume:focus-visible img {transform:translateY(-4px)}
.series-volume-label {color:var(--launch-sun);font-size:9px;letter-spacing:1px;line-height:1.5}
.series-volume-title {font-family:BookDisplay,Impact,sans-serif;font-size:21px;line-height:1.12;letter-spacing:.4px}
.series-strip a:focus-visible {outline-color:var(--launch-sun)}
.launch-books {max-width:1168px;margin:auto;padding:54px 24px 64px}
.launch-section-heading {display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-bottom:27px}
.launch-section-heading .eyebrow {font-size:9px;letter-spacing:1.7px;margin:0 0 9px}
.launch-section-heading h2 {font-size:clamp(37px,5vw,52px);line-height:1.05;margin:0}
.launch-section-link {display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:5px}
.volume-grid {display:grid;gap:22px}
.volume-card {display:flex;flex-direction:column;min-width:0;padding:26px;background:var(--launch-surface);border:1px solid var(--line);border-top:3px solid var(--ink);transition:box-shadow .25s ease,border-color .25s ease}
.volume-card:hover {border-color:var(--launch-control);box-shadow:5px 6px 0 var(--line)}
.volume-cover {width:144px;max-width:100%;margin:0 auto 28px}
.volume-cover img {display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;box-shadow:4px 6px 0 var(--launch-shadow);transition:transform .22s ease}
.volume-cover a:hover img,.volume-cover a:focus-visible img {transform:translateY(-5px)}
.volume-copy {display:flex;flex-direction:column;flex:1;min-width:0}
.volume-copy .eyebrow {font-size:9px;letter-spacing:1.2px;margin:0 0 10px}
.volume-copy h3 {font-size:36px;line-height:1.1;letter-spacing:.5px;margin:0 0 15px}
.volume-teaser {font-family:BookSerif,Georgia,serif;font-size:15px;line-height:1.8;margin:0 0 16px}
.volume-preview {font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 24px}
.volume-actions {margin-top:auto;padding-top:8px}
.volume-editions {display:flex;flex-wrap:wrap;gap:0 16px;margin-top:8px}
.volume-editions .launch-buy {font-size:12px}
.launch-contents {align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.volume-featured {border-top-color:var(--accent);background:linear-gradient(115deg,var(--launch-glow),transparent 68%),var(--launch-surface)}
.volume-featured .volume-copy h3 {font-size:46px}
.volume-featured .volume-teaser {font-size:19px;max-width:32ch}
.launch-closing {position:relative;isolation:isolate;overflow:hidden;max-width:1120px;margin:0 24px;background:var(--launch-night);color:#fff7e9;border-top:5px solid var(--launch-sun);padding:36px 26px 32px;display:grid;gap:20px}
.closing-sun {position:absolute;z-index:-1;width:340px;height:340px;border-radius:50%;right:-180px;top:-140px;background:repeating-radial-gradient(circle,#ffb36b25 0 1px,transparent 1px 14px);pointer-events:none}
.closing-copy .eyebrow {color:var(--launch-sun);font-size:10px;margin:0 0 10px}
.closing-copy h2 {font-size:clamp(39px,5vw,56px);line-height:1.05;margin:0 0 14px}
.closing-copy>p:last-child {font-size:13px;line-height:1.8;color:#c2cdd0;max-width:38ch;margin:0}
.closing-actions {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.launch-read-sun {background:var(--launch-sun);color:#102735;border-color:var(--launch-sun);font-size:13px;gap:16px;min-height:52px;max-width:100%;text-align:left}
.launch-read-sun:hover {box-shadow:3px 3px 0 #fff7e9}
.closing-sample {display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:5px}
.launch-closing a:focus-visible {outline-color:#fff7e9}
[data-reveal] {transition:opacity .55s ease,transform .55s ease}
.will-reveal {opacity:0;transform:translateY(18px)}
@media(min-width:480px) {
 .series-volume {grid-template-columns:75px minmax(0,1fr);grid-template-rows:auto 1fr;gap:6px 15px}.series-volume img {grid-row:1/3;width:75px;margin-bottom:0}
 .series-volume-title {font-size:26px}.series-volume-label {font-size:10px}
 .volume-card:not(.volume-featured) {display:grid;grid-template-columns:120px minmax(0,1fr);gap:26px}.volume-card:not(.volume-featured) .volume-cover {width:120px;margin:0}
 .volume-featured {display:grid;grid-template-columns:155px minmax(0,1fr);gap:30px}.volume-featured .volume-cover {width:155px;margin:0}
}
@media(min-width:760px) {
 .launch-hero {grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:center;gap:52px;padding-block:48px 56px}
 .hero-cover {width:100%;max-width:340px}.hero-art {padding:0 10px 0 0}
 .launch-location {margin-bottom:22px}.launch-title {font-size:clamp(80px,8.2vw,106px)}
 .series-strip-inner {display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:30px;padding-block:35px}
 .strip-heading>p:last-child {margin-bottom:0}.series-shelf {grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
 .series-volume {grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:5px}.series-volume img {grid-row:auto;width:85px;margin-bottom:10px}
 .series-volume-title {font-size:23px}.series-volume-label {font-size:9px}
 .launch-books {padding-block:67px 76px}.volume-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .volume-featured {grid-column:1/-1;grid-template-columns:180px minmax(0,1fr);gap:55px;padding:34px 42px}
 .volume-featured .volume-cover {width:180px}.volume-featured .volume-copy {justify-content:center}.volume-featured .volume-actions {margin-top:0}
 .volume-featured .volume-copy h3 {font-size:58px}.volume-featured .volume-teaser {font-size:22px}
 .volume-card:not(.volume-featured) {display:flex;gap:0;padding:28px 24px 21px}.volume-card:not(.volume-featured) .volume-cover {width:142px;margin:0 auto 30px}
 .volume-copy h3 {font-size:35px}.volume-card:not(.volume-featured) .volume-preview {min-height:3.4em}
 .volume-card:not(.volume-featured) .volume-editions {display:grid;gap:0;min-height:88px;align-content:start}
 .launch-closing {grid-template-columns:minmax(0,1fr) auto;gap:42px;padding:44px 42px 40px;margin-inline:24px}
}
@media(min-width:1168px) {.launch-closing {margin-inline:auto}}
@media(max-width:759px) {
 .launch-hero {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"location location" "volume volume" "title title" "author author" "tagline art" "intro intro" "primary primary" "editions editions" "series series" "extras extras";gap:0 22px;padding-top:30px}
 .hero-copy {display:contents}.launch-location {grid-area:location}.hero-volume {grid-area:volume}.launch-title {grid-area:title}.launch-author {grid-area:author}
 .launch-tagline {grid-area:tagline;align-self:center;font-size:clamp(18px,4.8vw,24px);margin:0;padding:12px 0}
 .hero-art {grid-area:art;padding:3px 7px 3px 0;align-self:center}.hero-cover {width:100%;max-width:195px}.hero-cover figcaption {display:none}
 .launch-intro {grid-area:intro;max-width:none;margin:26px 0 20px}.hero-primary {grid-area:primary}.hero-editions {grid-area:editions}
 .hero-copy>.launch-series-link {grid-area:series}.hero-extras {grid-area:extras}
}
@media(max-width:479px) {
 .volume-card {display:grid;grid-template-columns:82px minmax(0,1fr);gap:0 20px;padding:24px 22px}
 .volume-copy {display:contents}.volume-cover {width:82px;grid-column:1;grid-row:1/3;margin:0}
 .volume-copy .eyebrow {grid-column:2;align-self:end;line-height:1.8;margin:0 0 7px}
 .volume-copy h3,.volume-featured .volume-copy h3 {grid-column:2;font-size:clamp(28px,8.5vw,33px);align-self:start;margin:0;overflow-wrap:normal}
 .volume-teaser,.volume-featured .volume-teaser {grid-column:1/-1;font-size:15px;margin-top:22px}
 .volume-preview,.volume-actions,.volume-editions,.launch-contents {grid-column:1/-1}
 .volume-editions {gap:0 20px}
}
@media(prefers-reduced-motion:reduce) {
 .launch-page *, .launch-page *::before, .launch-page *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .launch-page .will-reveal {opacity:1;transform:none}
 .hero-cover,.hero-cover:hover,.hero-cover:focus-within,.series-volume:hover img,.series-volume:focus-visible img,.volume-cover a:hover img,.volume-cover a:focus-visible img {transform:none}
}
/* Additions reuse the launch palette, fonts, card borders and button styles. */
.launch-announcement{max-width:1120px;margin:20px 24px 0;padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;background:var(--launch-surface);border:1px solid var(--line);border-left:4px solid var(--accent)}
.launch-announcement p{font-size:12px;line-height:1.8;margin:0}
.launch-announcement .announcement-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:5px;font-size:14px}
.launch-new-badge{font-size:9px;font-weight:750;letter-spacing:1px;line-height:1.6;background:var(--accent);color:var(--paper);border-radius:2px;padding:4px 7px}
.volume-new-badge{display:inline-block;margin-left:6px;vertical-align:middle}
.launch-announcement .button{font-size:12px;gap:14px;white-space:nowrap}
.announcement-dismiss{width:44px;height:44px;min-height:44px;padding:0;font-size:26px;line-height:1}
.hero-series-complete{font-size:13px;line-height:1.8;margin:18px 0 10px}
.hero-series-complete strong,.hero-series-complete span{display:block}
.hero-series-complete span{font-size:12px;color:var(--muted)}
.hero-copy>.launch-series-link.button{font-size:13px;min-height:46px;margin-bottom:8px}
.launch-added-section{max-width:1168px;padding:36px 24px;margin:auto}
.launch-added-section .eyebrow{font-size:9px;margin:0 0 12px}
.launch-added-section h2{font-size:clamp(36px,5vw,48px);line-height:1.08;margin:0}
.launch-about{display:grid;gap:22px;padding-top:0;padding-bottom:48px}
.launch-about>p{font-family:BookSerif,Georgia,serif;font-size:15px;line-height:1.95;margin:0;max-width:68ch}
.launch-world .launch-section-heading{margin-bottom:26px}
.world-grid{display:grid;gap:22px}
.world-card{display:flex;flex-direction:column;min-width:0;background:var(--launch-surface);border:1px solid var(--line);border-top:3px solid var(--ink)}
.world-card>a{display:block;flex:1;min-height:44px;text-decoration:none}
.world-card>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.world-card-image{aspect-ratio:16/10;background:var(--paper);overflow:hidden}
.world-card-image>img{display:block;width:100%;height:100%;object-fit:contain}
.world-character-collage{display:flex;align-items:end;height:100%;padding:12px 5px 0}
.world-character-collage img{display:block;width:33.333%;height:100%;object-fit:contain;object-position:bottom}
.world-map-preview{display:block;width:100%;height:100%;background:var(--launch-night)}
.world-map-streets{fill:none;stroke:#c2cdd0;stroke-width:2;opacity:.75}
.world-map-water{fill:none;stroke:var(--launch-sun);stroke-width:4;opacity:.6}
.world-map-preview circle{fill:var(--launch-sun);stroke:var(--launch-night);stroke-width:3}
.world-card-copy{padding:22px}
.world-card h3{font-size:28px;line-height:1.15;margin:0 0 12px}
.world-card h3 span{font-family:system-ui,sans-serif;font-size:18px}
.world-card-copy p{font-size:13px;line-height:1.85;margin:0}
.world-map-attribution{font-size:10px;line-height:1.8;padding:0 22px 10px;margin:0}
.world-map-attribution a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.launch-free{display:grid;gap:22px;padding-block:30px;margin-block:10px 22px;background:var(--launch-surface);border-block:1px solid var(--line)}
.launch-free-actions{display:flex;flex-wrap:wrap;gap:12px}
.launch-free .button{font-size:13px;justify-content:space-between;gap:18px}
@media(min-width:600px){.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.launch-about{grid-template-columns:240px minmax(0,1fr);gap:48px;padding-bottom:56px}.world-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.world-card-copy{padding:20px}.world-card h3{font-size:26px}.launch-free{grid-template-columns:1fr auto;align-items:center}}
@media(min-width:1168px){.launch-announcement{margin-inline:auto}}
@media(max-width:759px){.launch-hero{grid-template-areas:"location location" "volume volume" "title title" "author author" "tagline art" "intro intro" "primary primary" "editions editions" "complete complete" "series series" "extras extras"}.hero-series-complete{grid-area:complete}}
@media(max-width:599px){.launch-announcement{grid-template-columns:minmax(0,1fr) 44px;align-items:start;padding:16px;gap:12px}.launch-announcement>div{grid-column:1;grid-row:1}.announcement-dismiss{grid-column:2;grid-row:1}.launch-announcement>.button{grid-column:1/-1;white-space:normal;justify-content:space-between}.launch-free-actions{display:grid}}

.world-comic-feature{margin-top:28px;padding:24px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:24px;background:var(--launch-surface);border:1px solid var(--line);border-top:3px solid var(--accent)}
.world-comic-portrait{display:block;min-height:44px}.world-comic-portrait img{display:block;width:100%;height:auto}
.world-comic-feature h3{font-size:32px;line-height:1.15;margin:8px 0 12px}.world-comic-feature .eyebrow{margin:0}.world-comic-feature p:not(.eyebrow){font-size:14px;line-height:1.8}
@media(max-width:480px){.world-comic-feature{grid-template-columns:1fr;gap:12px}.world-comic-portrait{width:104px}.world-comic-feature h3{font-size:28px}}
