/* Public magazine: plum, oxblood, warm ivory, and brass. Admin stays independent. */
.reader-body{--paper:#f4eee7;--white:#fffaf3;--ink:#321f2a;--muted:#74616a;--accent:#782f47;--line:#d8c9c3;--soft:#e9ded6;background:var(--paper)}
.reader-body main{max-width:none}.reader-body .site-header{max-width:none;position:relative;z-index:20;background:#21131d;color:#f6e9de;padding:25px clamp(24px,4vw,72px);border-bottom:1px solid #59404b;gap:30px}.reader-body .brand{font-size:25px;white-space:nowrap;font-weight:400}.reader-body .brand span{display:inline;color:inherit;font-style:italic}.reader-body .brand i{color:#d4a987;font-style:normal}.reader-body .site-header nav{gap:24px;flex-wrap:nowrap;font-size:13px;max-width:none}.reader-body .site-header a:hover{color:#dfb997}.nav-group{position:relative;border:0;padding:0;margin:0}.nav-group summary{display:flex;gap:6px;align-items:center;font-weight:400;list-style:none;white-space:nowrap;min-height:44px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5}.nav-dropdown{position:absolute;top:calc(100% + 13px);left:-18px;min-width:240px;background:#2c1925;border:1px solid #60434e;padding:12px;box-shadow:0 16px 35px #10090f55;display:grid}.nav-dropdown a{padding:10px;line-height:1.4}.nav-dropdown a:hover{background:#412534}.nav-dropdown .nav-overview{border-bottom:1px solid #60434e;margin-bottom:4px}.nav-search{display:flex;gap:9px;align-items:center;min-height:44px}.nav-search svg,.nav-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none}.nav-search span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.nav-toggle{background:transparent;color:inherit;border:1px solid #80616d;padding:8px 12px;font-size:13px}.romance-hero{isolation:isolate;position:relative;min-height:650px;background:#29131f;color:#fff3e6;display:flex;flex-direction:column;justify-content:center;padding:82px clamp(24px,7vw,112px) 30px;overflow:hidden}.hero-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#21121d 0%,#21121d 48%,#21121d00 76%),url(images/keyholder-hero-1200.webp) right top/auto 100% no-repeat,#29131f}.hero-copy{max-width:710px;margin-bottom:78px}.hero-copy h1{font:400 clamp(48px,5.7vw,88px)/1.07 MCLSerif,Georgia,serif;letter-spacing:-.035em;margin:0 0 29px;text-wrap:initial}.hero-copy h1 em{color:#e8bea4;font-weight:400}.hero-copy>p{max-width:43ch;color:#e3cbc9;font-size:18px;line-height:1.8;margin-bottom:32px}.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.hero-actions .button{background:#eed2b7;color:#35202a;border-color:#eed2b7;border-radius:0;font-size:14px;min-height:52px;padding:12px 24px;gap:30px}.hero-actions .button:hover{background:#ffead6}.hero-secondary{color:#f0d7c8;text-decoration:none;border-bottom:1px solid #aa8279;padding:12px 0;font-size:14px}.hero-secondary:hover{color:white}.hero-secondary span{margin-left:14px}.hero-note{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #aa827966;padding-top:22px;color:#e3c8c3;font-size:12px;letter-spacing:.03em}.begin-together{padding:95px clamp(24px,7vw,112px);display:grid;grid-template-columns:1fr 1fr;gap:9%;max-width:1600px;margin:auto}.begin-together h2,.explore-intro h2{font:400 clamp(32px,3vw,46px)/1.17 MCLSerif,Georgia,serif;margin:0 0 25px;letter-spacing:-.025em}.begin-together h2 em{color:var(--accent);font-weight:400}.begin-together>div>p{max-width:43ch;color:var(--muted);font-size:16px;line-height:1.85}.begin-together .text-link{font-size:14px}.guide-chapters{padding:0;margin:0;list-style:none}.guide-chapters li{border-top:1px solid var(--line)}.guide-chapters li:last-child{border-bottom:1px solid var(--line)}.guide-chapters a{display:flex;gap:20px;text-decoration:none;padding:23px 0;align-items:baseline}.guide-chapters a>span{font:italic 16px MCLSerif,Georgia,serif;color:var(--accent)}.guide-chapters h3{font:400 24px MCLSerif,Georgia,serif;margin:0 0 8px}.guide-chapters p{font-size:13px;color:var(--muted);margin:0;max-width:38ch}.guide-chapters b{font-weight:400;margin-left:auto}.explore-world{background:#422332;color:#f8e9dc;padding:78px clamp(24px,7vw,112px);display:grid;grid-template-columns:1fr 1.25fr;gap:9%}.explore-intro{padding-top:22px}.explore-intro h2{font-size:clamp(38px,4vw,60px)}.explore-intro em{color:#e4b69d}.explore-intro>p{font-size:15px;line-height:1.9;color:#dbc0c7}.explore-links>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border-bottom:1px solid #80596b;text-decoration:none}.explore-links>a:first-child{border-top:1px solid #80596b}.explore-links h3{font:400 30px MCLSerif,Georgia,serif;margin:0 0 8px}.explore-links p{font-size:13px;color:#dbc0c7;margin:0}.explore-links>a>span{font-size:25px;color:#e4b69d}.explore-links>a:hover{color:#e4b69d}.lifestyle-journal{max-width:1600px;margin:auto;padding:82px clamp(24px,7vw,112px)}.lifestyle-journal .section-heading{border:0;padding-top:0;margin-bottom:38px}.lifestyle-journal .section-heading h2{font-size:40px}.lifestyle-stories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.lifestyle-stories article{padding-top:22px;border-top:1px solid #ae9198;display:flex;flex-direction:column}.lifestyle-stories h3{font:400 26px/1.2 MCLSerif,Georgia,serif;margin:0 0 17px}.lifestyle-stories h3 a{text-decoration:none}.lifestyle-stories p:not(.date){font-size:14px;color:var(--muted);line-height:1.75}.lifestyle-stories .date{font-size:11px;margin-bottom:18px}.story-link{font-size:12px;margin-top:auto;padding-top:12px}.review-signpost{border-top:1px solid var(--line);padding:28px clamp(24px,7vw,112px);display:flex;justify-content:space-between;gap:20px;align-items:baseline}.review-signpost p{margin:0;font:24px MCLSerif,Georgia,serif}.review-signpost a{font-size:14px}.reader-body .site-footer{max-width:none;display:block;background:#21131d;color:#dbc0c7;padding:60px clamp(24px,7vw,112px) 24px;border:0}.reader-body .site-footer>div{display:flex;flex-direction:row;align-items:start;justify-content:space-between;gap:50px;font-size:13px}.site-footer .footer-top{padding-bottom:48px}.reader-body .site-footer .brand{color:#f8e9dc;font-size:32px}.footer-brand{max-width:330px}.footer-brand p{margin:23px 0 0;max-width:30ch;color:#c8aeb9;line-height:1.8}.footer-top nav{display:flex;flex-direction:column;gap:10px}.footer-top h2{font-size:13px;color:#f8e9dc;margin:0 0 10px;font-weight:600}.footer-top nav a{font-size:13px;text-decoration:none}.reader-body .site-footer a:hover{color:#e4b69d}.reader-body .site-footer .footer-bottom{border-top:1px solid #59404b;padding-top:24px;align-items:center;font-size:11px}.footer-bottom p{margin:0;font-size:11px}.footer-bottom>div{display:flex;gap:20px}.reader-body .archive,.reader-body .reading,.reader-body .message{max-width:1400px;margin:auto}.review-categories{display:flex;flex-wrap:wrap;gap:12px 25px;margin:30px 0 0;font-size:14px}.reader-body a:focus-visible,.reader-body summary:focus-visible,.reader-body button:focus-visible{outline-color:#b98260}.hero-copy{animation:arrive .7s cubic-bezier(.16,1,.3,1)}@keyframes arrive{from{transform:translateY(12px);opacity:.8}to{transform:translateY(0);opacity:1}}
@media(max-width:1200px){.reader-body .site-header{flex-wrap:wrap;gap:15px}.reader-body .site-header nav{justify-content:space-between;width:100%;gap:20px}.romance-hero{min-height:600px}.lifestyle-stories{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:760px){.reader-body .site-header{padding:19px 24px;align-items:center}.reader-body .site-header .brand{font-size:23px}.nav-toggle{display:inline-flex}.reader-body .site-header nav{flex-direction:column;align-items:stretch;gap:0;padding-top:12px}.reader-body .site-header.is-enhanced:not(.menu-open) .primary-nav{display:none}.reader-body .site-header nav>a,.nav-group summary{padding:10px 0;min-height:46px}.nav-group{border-bottom:1px solid #59404b}.nav-group summary{justify-content:space-between}.nav-dropdown{position:static;background:#2c1925;box-shadow:none;border:0;min-width:0;padding:4px 12px 12px}.nav-search span{position:static;width:auto;height:auto;clip:auto;overflow:visible}.romance-hero{min-height:610px;padding:65px 24px 24px}.hero-atmosphere{height:340px;background:linear-gradient(0deg,#29131f 0%,#29131f00 45%),url(images/keyholder-hero-1200.webp) right top/auto 100% no-repeat,#29131f}.romance-hero{padding-top:315px}.hero-copy h1{font-size:clamp(40px,8vw,58px)}.hero-copy{margin-bottom:60px}.hero-copy h1{font-size:clamp(44px,8.5vw,64px);line-height:1.09}.hero-copy>p{font-size:16px;max-width:35ch;line-height:1.8}.hero-actions{gap:16px 24px}.hero-note{font-size:10px;gap:18px;align-items:end}.hero-note span{max-width:17ch}.begin-together{padding:54px 24px;grid-template-columns:1fr;gap:40px}.begin-together h2{font-size:34px}.guide-chapters a{gap:15px}.guide-chapters h3{font-size:22px}.explore-world{padding:48px 24px;grid-template-columns:1fr;gap:22px}.explore-intro{padding:0}.explore-intro h2{font-size:42px}.explore-links h3{font-size:27px}.lifestyle-journal{padding:52px 24px}.lifestyle-journal .section-heading{display:block}.lifestyle-journal .section-heading h2{font-size:34px;margin-bottom:18px}.lifestyle-stories{grid-template-columns:1fr;gap:30px}.lifestyle-stories h3{font-size:28px}.review-signpost{padding:28px 24px;display:block}.review-signpost p{margin-bottom:12px}.reader-body .site-footer{padding:44px 24px 24px}.reader-body .site-footer>div{flex-wrap:wrap;gap:30px}.footer-brand{flex-basis:100%;max-width:none}.reader-body .site-footer .brand{font-size:27px}.footer-top nav{flex:1;min-width:125px}.reader-body .site-footer .footer-bottom{display:grid;gap:12px}.reader-body .site-footer p{line-height:1.8}.reader-body .site-footer .footer-bottom>div{display:flex;gap:22px}}
@media(min-width:761px){.nav-toggle{display:none!important}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}}
.direction-arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;flex:none}.explore-links>a>span .direction-arrow{width:25px;height:25px}
@media(max-width:760px){.reader-body .site-header{gap:12px;justify-content:space-between}.reader-body .site-header .brand{font-size:21px}.nav-toggle{padding:9px 11px}.nav-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}

/* Compact blog refinement: less scale and saturation, with the same identity. */
.reader-body {
  --paper: #f6f5f2;
  --white: #fffefa;
  --ink: #343034;
  --muted: #6d666b;
  --accent: #684b57;
  --line: #dcd7d8;
  --soft: #eeece9;
}
.reader-body main { max-width: 1160px; padding: 0 28px; }
.reader-body .site-header {
  max-width: 1160px; background: var(--paper); color: var(--ink);
  padding: 14px 28px; border-color: var(--line); gap: 24px;
}
.reader-body .site-header .brand { font-size: 23px; }
.reader-body .brand i { color: var(--accent); }
.reader-body .site-header nav { gap: 18px; font-size: 12px; }
.reader-body .site-header a:hover { color: var(--accent); }
.nav-dropdown { background: var(--white); border-color: var(--line); box-shadow: 0 10px 24px #342b3217; }
.nav-dropdown a:hover { background: var(--soft); }
.nav-dropdown .nav-overview { border-color: var(--line); }
.nav-toggle { border-color: #b2a7ae; color: var(--ink); }
.nav-toggle:hover { background: var(--soft); color: var(--ink); }
.romance-hero {
  min-height: 360px; margin: 22px 0 0; padding: 34px 36px 18px;
  background: #29262a; color: #f4f0eb;
}
.hero-atmosphere { filter: saturate(.28); }
.hero-copy { max-width: 530px; margin-bottom: 28px; animation: none; }
.hero-copy h1 { font-size: clamp(34px,3.1vw,46px); line-height: 1.12; letter-spacing: -.025em; margin-bottom: 18px; }
.hero-copy h1 em { color: #d5c7c5; }
.hero-copy > p { max-width: 44ch; font-size: 15px; line-height: 1.7; color: #ded5d9; margin-bottom: 22px; }
.hero-actions { gap: 20px; }
.hero-actions .button { min-height: 44px; padding: 9px 16px; font-size: 13px; gap: 18px; background: #e5dcd7; border-color: #e5dcd7; color: #342a30; }
.hero-actions .button:hover { background: #f2e9e5; }
.hero-secondary { font-size: 13px; color: #e5dcd7; padding: 8px 0; border-color: #95868b; }
.hero-note { padding-top: 13px; font-size: 10px; color: #d4c7cb; border-color: #9f8e9655; letter-spacing: 0; }
.begin-together { padding: 44px 8px; gap: 7%; }
.begin-together h2,.explore-intro h2 { font-size: 29px; line-height: 1.2; margin-bottom: 17px; }
.begin-together > div > p { font-size: 15px; line-height: 1.75; }
.begin-together .text-link { font-size: 13px; }
.guide-chapters a { padding: 17px 0; gap: 16px; }
.guide-chapters h3 { font-size: 21px; }
.explore-world { background: var(--soft); color: var(--ink); padding: 30px; gap: 7%; border: 1px solid var(--line); }
.explore-intro { padding-top: 10px; }
.explore-intro em,.explore-links > a > span,.explore-links > a:hover { color: var(--accent); }
.explore-intro > p,.explore-links p { color: var(--muted); }
.explore-links > a { padding: 15px 0; border-color: var(--line); }
.explore-links > a:first-child { border-color: var(--line); }
.explore-links h3 { font-size: 23px; margin-bottom: 5px; }
.explore-links > a > span .direction-arrow { width: 19px; height: 19px; }
.lifestyle-journal { padding: 42px 8px 34px; }
.lifestyle-journal .section-heading { margin-bottom: 24px; }
.lifestyle-journal .section-heading h2 { font-size: 29px; }
.lifestyle-journal .section-heading > a { font-size: 12px; }
.lifestyle-stories { gap: 26px; }
.lifestyle-stories article { padding-top: 17px; border-color: var(--line); }
.lifestyle-stories h3 { font-size: 22px; line-height: 1.25; margin-bottom: 12px; }
.lifestyle-stories .date { margin-bottom: 12px; }
.review-signpost { padding: 22px 8px; }
.review-signpost p { font-size: 21px; }
.review-signpost a { font-size: 13px; }
.reader-body .site-footer { max-width: 1160px; background: var(--paper); color: var(--muted); padding: 32px 36px 20px; border-top: 1px solid var(--line); }
.reader-body .site-footer .brand { color: var(--ink); font-size: 25px; }
.footer-brand p { color: var(--muted); font-size: 13px; margin-top: 16px; }
.footer-top h2 { color: var(--ink); }
.site-footer .footer-top { padding-bottom: 28px; }
.reader-body .site-footer a:hover { color: var(--accent); }
.reader-body .site-footer .footer-bottom { border-color: var(--line); padding-top: 18px; }
.reader-body .archive,.reader-body .reading,.reader-body .message { padding-left: 8px; padding-right: 8px; }
.reader-body .archive-heading { padding: 38px 0 28px; }
.reader-body .archive-heading h1,.reader-body .article-heading h1 { font-size: clamp(32px,3.5vw,44px); }
.reader-body .archive-heading > p { font-size: 17px; }
.reader-body .article-heading { margin-bottom: 30px; }
.reader-body .reading { padding-top: 34px; }
.reader-body .reading-grid { grid-template-columns: minmax(0,720px) minmax(190px,1fr); gap: 5%; }
.reader-body a:focus-visible,.reader-body summary:focus-visible,.reader-body button:focus-visible { outline-color: #986d81; }
@media(max-width:1100px) and (min-width:761px) {
  .hero-copy { max-width: 49%; }
  .hero-copy h1 { font-size: 37px; }
  .romance-hero { padding-left: 28px; padding-right: 28px; }
}
@media(max-width:760px) {
  .reader-body main { padding: 0 18px; }
  .reader-body .site-header { padding: 10px 18px; }
  .reader-body .site-header .brand { font-size: 21px; }
  .reader-body .site-header nav { font-size: 14px; gap: 0; }
  .nav-group { border-color: var(--line); }
  .nav-dropdown { background: var(--soft); }
  .romance-hero { min-height: 0; margin-top: 14px; padding: 225px 20px 17px; }
  .hero-atmosphere { height: 245px; }
  .hero-copy { max-width: none; margin-bottom: 23px; }
  .hero-copy h1 { font-size: 33px; line-height: 1.13; margin-bottom: 16px; }
  .hero-copy > p { font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
  .hero-actions { gap: 10px 18px; }
  .hero-note { gap: 15px; font-size: 10px; }
  .begin-together { padding: 32px 2px; gap: 27px; }
  .begin-together h2,.explore-intro h2 { font-size: 27px; }
  .guide-chapters h3 { font-size: 21px; }
  .explore-world { padding: 23px 20px; gap: 10px; }
  .explore-links h3 { font-size: 23px; }
  .lifestyle-journal { padding: 32px 2px 24px; }
  .lifestyle-journal .section-heading h2 { font-size: 27px; margin-bottom: 12px; }
  .lifestyle-stories { gap: 25px; }
  .lifestyle-stories h3 { font-size: 24px; }
  .review-signpost { padding: 20px 2px; }
  .reader-body .site-footer { padding: 28px 20px 20px; }
  .reader-body .site-footer .brand { font-size: 24px; }
  .reader-body .site-footer > div { gap: 24px; }
  .reader-body .reading-grid { display: block; }
  .reader-body .archive,.reader-body .reading,.reader-body .message { padding-left: 2px; padding-right: 2px; }
}
/* Keep the photographic color treatment separate from the blending layer. */
.hero-atmosphere { background: none; filter: none; }
.hero-atmosphere::before,.hero-atmosphere::after { content: ''; position: absolute; inset: 0; }
.hero-atmosphere::before { background: url(images/keyholder-hero-1200.webp) right top/auto 100% no-repeat; filter: saturate(.28); }
.hero-atmosphere::after { background: linear-gradient(90deg,#29262a 0%,#29262a 48%,#29262a00 76%); }
@media(max-width:760px) { .hero-atmosphere::after { background: linear-gradient(0deg,#29262a 0%,#29262a00 55%); } }
/* Campaign images retain their native proportions and a discreet disclosure. */
.reader-body .ad-image-only { background: transparent; padding: 0; }
.reader-body .ad-image-only > a { display: inline-block; max-width: 100%; }
.reader-body .ad-image-only img { display: block; height: auto; max-height: none; width: auto; max-width: 100%; margin: auto; }
.reader-body .ad-header.ad-image-only { width: min(728px,calc(100% - 36px)); margin: 16px auto 18px; }
.reader-body .ad-header.ad-image-only > a { display: block; }
.reader-body .ad-header.ad-image-only img { width: 100%; aspect-ratio: 728 / 90; object-fit: contain; }
.reader-body .ad-image-only .ad-label { font-size: 10px!important; margin-bottom: 6px!important; }
.reader-body .ad-sidebar.ad-image-only { width: 250px; max-width: 100%; margin: 0 auto 24px; }
.home-journal-layout.has-ad { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 36px; align-items: start; }
.home-journal-layout.has-ad .lifestyle-stories { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width:760px) {
  .home-journal-layout.has-ad { grid-template-columns: 1fr; gap: 30px; }
  .home-journal-layout.has-ad .lifestyle-stories { grid-template-columns: 1fr; }
}
.information-page { max-width: 1050px; margin: auto; padding: 35px 8px 55px; }
.information-page h1 { font: 400 clamp(32px,3.5vw,44px)/1.12 MCLSerif,Georgia,serif; margin: 0 0 20px; }
.information-page .intro { font-size: 17px; max-width: 65ch; }
.information-grid { display: grid; grid-template-columns: minmax(0,620px) minmax(200px,1fr); gap: 60px; margin-top: 32px; }
.information-grid aside { border-top: 1px solid var(--line); padding-top: 10px; font-size: 14px; color: var(--muted); }
.information-grid aside h2 { font: 24px MCLSerif,Georgia,serif; color: var(--ink); }
.form-note { font-size: 13px; color: var(--muted); margin: 0; }
.legal-page { max-width: 800px; }
.legal-page .prose { font-size: 18px; }
.legal-page .prose h2 { font-size: 27px; }
.legal-links { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 0 0 22px; font-size: 12px; }
.article-disclosure { font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 16px; margin-bottom: 24px; }
@media(max-width:760px) { .information-grid { grid-template-columns: 1fr; gap: 30px; } .information-page { padding: 28px 2px 40px; } .public-form .check { align-items: flex-start; } }

.related-reading{margin:36px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.related-reading h2{font-size:26px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.related-grid h3{font-size:20px;line-height:1.35}.related-grid p{font-size:14px;color:var(--muted)}@media(max-width:700px){.related-grid{grid-template-columns:1fr;gap:8px}}

@media(max-width:700px){.hero-atmosphere::before{background-image:url(images/keyholder-hero-640.webp)}}
.information-page .search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:24px 0}.information-page .search label{grid-column:1/-1;font-size:14px}

/* StoryKeepr catalog pages: series overview with cover collages, series pages, and free reader magnets. */
.catalog .breadcrumb { font-size: 13px; color: var(--muted); margin: 0 0 14px; }
.catalog .breadcrumb a { color: inherit; }
.catalog-meta { font-size: 14px; color: var(--muted); margin: 10px 0 0; }
.catalog .article-disclosure { margin-bottom: 28px; }
.series-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; margin: 0 0 30px; }
.series-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; text-decoration: none; color: var(--ink); }
.series-collage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: start; }
.series-collage img { width: 100%; height: auto; display: block; border-radius: 3px; box-shadow: 0 2px 6px rgba(33, 19, 29, .18); transition: transform .18s, box-shadow .18s; }
.series-card:hover .series-collage img { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(33, 19, 29, .22); }
.series-collage .book-cover-empty { width: 100%; }
.series-body { display: flex; flex-direction: column; gap: 5px; padding: 0 2px; }
.series-body h2 { font-size: 22px; line-height: 1.2; margin: 0; transition: color .15s; }
.series-card:hover h2 { color: var(--accent); }
.series-meta { font-size: 13px; color: var(--muted); }
.series-link { margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--accent); }
.book-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; margin: 0 0 26px; }
.book-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 18px; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; min-width: 0; }
.book-cover { display: block; }
.book-cover img { width: 100%; height: auto; border-radius: 2px; display: block; background: var(--soft); }
.book-cover-empty { display: block; aspect-ratio: 2 / 3; background: var(--soft); border-radius: 2px; }
.book-body { min-width: 0; }
.book-kicker { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin: 0 0 6px; }
.book-card h2 { font-size: 21px; line-height: 1.25; margin: 0 0 4px; }
.book-card h2 a { text-decoration: none; }
.book-card h2 a:hover { color: var(--accent); text-decoration: underline; }
.book-subtitle { margin: 0 0 8px; font-size: 14px; color: var(--muted); }
.book-teaser { font-size: 15px; line-height: 1.55; margin: 0 0 10px; }
.book-blurb { margin: 0 0 12px; font-size: 14px; }
.book-blurb summary { cursor: pointer; color: var(--accent); font-weight: 600; }
.book-blurb .prose { font-size: 16px; line-height: 1.65; margin-top: 8px; }
.book-blurb .prose p { margin: 0 0 10px; }
.book-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0; font-size: 14px; }
.book-actions .button { min-height: 38px; padding: 7px 16px; font-size: 14px; }
.book-flag { border: 1px solid var(--line); border-radius: 20px; padding: 3px 10px; font-size: 12px; color: var(--muted); }
.catalog-series { padding: 26px 0 8px; border-top: 1px solid var(--line); }
.catalog-series h2 { font-size: 27px; margin: 0 0 18px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.catalog-series h2 span { font: 600 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--muted); letter-spacing: 0; }
.catalog-more { margin: 30px 0 44px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 15px; }
@media(max-width:1050px) { .series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 28px; } .book-grid { grid-template-columns: 1fr; } }
@media(max-width:700px) { .series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; } .series-body h2 { font-size: 19px; } .book-card { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 14px; } .book-card h2 { font-size: 19px; } }
@media(prefers-reduced-motion:reduce) { .series-collage img, .series-body h2 { transition: none; } .series-card:hover .series-collage img { transform: none; } }

/* Free stories: an editorial list rather than a product grid. */
.free-stories .archive-heading { padding-bottom: 30px; }
.free-note { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 28px; margin: 0 0 34px; padding: 20px 24px; background: var(--soft); border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
.free-note p { margin: 0; }
.free-note-lead { font-size: 16px; line-height: 1.55; max-width: 760px; }
.free-note-authors { font: 600 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--muted); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.free-list { list-style: none; margin: 0; padding: 0; }
.free-story { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 36px; align-items: start; padding: 34px 0; border-top: 1px solid var(--line); }
.free-story:first-child { border-top: 0; padding-top: 6px; }
.free-cover { display: block; position: relative; padding: 10px 0 0 10px; }
.free-cover::before { content: ""; position: absolute; inset: 0 10px 10px 0; background: var(--soft); border-radius: 3px; }
.free-cover img { position: relative; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 10px 24px rgba(33, 19, 29, .22); display: block; background: var(--white); transition: transform .2s; }
.free-story:hover .free-cover img { transform: translate(-3px, -3px); }
.free-cover .book-cover-empty { position: relative; width: 100%; }
.free-body { min-width: 0; max-width: 720px; }
.free-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 10px; font-size: 13px; color: var(--muted); }
.free-badge { display: inline-block; background: var(--accent); color: #fff; font: 700 11px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: 5px 9px 4px; border-radius: 20px; }
.free-story h2 { font: 400 clamp(26px, 2.6vw, 32px)/1.15 MCLSerif, Georgia, serif; letter-spacing: -.015em; margin: 0 0 14px; }
.free-story h2 a { text-decoration: none; }
.free-story h2 a:hover { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.free-teaser { font: 17px/1.7 MCLSerif, Georgia, serif; margin: 0 0 12px; }
.free-story .book-blurb { font-size: 14px; margin: 0 0 16px; }
.free-story .book-blurb .prose { font-size: 17px; line-height: 1.7; }
.free-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 4px 0 0; }
.free-formats { font: 600 12px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.free-next { margin: 30px 0 48px; padding: 30px 28px; text-align: center; background: var(--white); border: 1px solid var(--line); border-radius: 8px; }
.free-next h2 { font-size: 27px; margin: 0 0 8px; }
.free-next p { margin: 0 0 18px; color: var(--muted); }
.free-next-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; }
.free-next .button.secondary { background: transparent; color: var(--accent); }
.free-next .button.secondary:hover { background: var(--soft); }
@media(max-width:760px) { .free-story { grid-template-columns: 124px minmax(0, 1fr); gap: 20px; padding: 26px 0; } .free-story h2 { font-size: 23px; } .free-teaser { font-size: 16px; line-height: 1.6; } .free-note { padding: 16px 18px; } .free-note-authors { white-space: normal; } }
@media(max-width:480px) { .free-story { grid-template-columns: 1fr; gap: 18px; } .free-cover { max-width: 180px; } }
@media(prefers-reduced-motion:reduce) { .free-cover img { transition: none; } .free-story:hover .free-cover img { transform: none; } }

/* Series pages: bundle callout and neighbouring-series pager. */
.bundle-callout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px 36px; align-items: center; margin: 0 0 34px; padding: 26px 28px; background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; }
.bundle-intro h2 { font-size: 27px; margin: 0 0 8px; }
.bundle-intro p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.bundle-list { display: flex; flex-direction: column; gap: 12px; }
.bundle-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; color: var(--ink); background: var(--paper); transition: border-color .15s; }
.bundle-item:hover { border-color: var(--accent); }
.bundle-item img { width: 100%; height: auto; display: block; border-radius: 2px; box-shadow: 0 2px 6px rgba(33, 19, 29, .18); }
.bundle-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bundle-text strong { font-size: 17px; line-height: 1.25; }
.bundle-text > span { font-size: 13px; color: var(--muted); }
.bundle-text .bundle-price { color: var(--accent); font-weight: 600; margin-top: 4px; }
.parts-heading { font-size: 24px; margin: 0 0 18px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.parts-heading span { font: 600 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--muted); }
.series-pager { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; margin: 24px 0 44px; padding-top: 22px; border-top: 1px solid var(--line); }
.series-pager a { text-decoration: none; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.series-pager a span { font-size: 13px; color: var(--muted); }
.series-pager a strong { font-size: 16px; line-height: 1.3; color: var(--ink); }
.series-pager a:hover strong { color: var(--accent); text-decoration: underline; }
.series-pager .pager-next { text-align: right; align-items: flex-end; }
.series-pager .pager-all { font-size: 14px; font-weight: 600; color: var(--accent); padding: 8px 14px; border: 1px solid var(--line); border-radius: 20px; }
@media(max-width:760px) { .bundle-callout { grid-template-columns: 1fr; padding: 20px; } .series-pager { grid-template-columns: 1fr 1fr; } .series-pager .pager-all { grid-column: 1 / -1; justify-self: center; order: 3; } }

/* Chastity Stories hub: one card per page in the section. */
.section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 36px; margin: 0 0 40px; }
.section-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; text-decoration: none; color: var(--ink); }
.section-card:hover h2 { color: var(--accent); }
.section-card .series-collage img { max-width: none; }
.section-titles { display: flex; flex-direction: column; justify-content: center; gap: 10px; min-height: 200px; padding: 22px 24px; background: var(--soft); border-radius: 6px; font: 400 19px/1.3 MCLSerif, Georgia, serif; }
.section-titles span::before { content: "— "; color: var(--muted); }
.section-text { font-size: 15px; line-height: 1.55; color: var(--muted); }
.section-posts { padding-top: 30px; border-top: 1px solid var(--line); margin-bottom: 44px; }
.section-posts h2 { font-size: 27px; margin: 0 0 24px; }
.section-posts .article-card h3 { font-size: 22px; line-height: 1.25; margin: 0 0 8px; }
.section-posts .article-card h3 a { text-decoration: none; }
.section-posts .article-card h3 a:hover { color: var(--accent); text-decoration: underline; }
@media(max-width:700px) { .section-grid { grid-template-columns: 1fr; gap: 30px; } }
.catalog .byline { margin: -6px 0 14px; font-size: 15px; }
.catalog .byline a { color: var(--accent); }
.free-kicker a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.free-kicker a:hover { color: var(--accent); }

/* Author profiles: portrait and bio, then the author's series, free stories and articles. */
.author-hero { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 36px; align-items: start; padding: 56px 0 40px; margin-bottom: 10px; border-bottom: 1px solid var(--line); }
.author-portrait { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 8px 24px rgba(33, 19, 29, .14); background: var(--soft); }
.author-hero-text { max-width: 760px; }
.author-hero-text h1 { margin: 0 0 16px; }
.author-bio { font: 18px/1.7 MCLSerif, Georgia, serif; }
.author-bio p { margin: 0 0 12px; }
.author-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 22px 0 0; }
.author-links .button.secondary { background: transparent; color: var(--accent); }
.author-links .button.secondary:hover { background: var(--soft); }
.author-links .text-link { font-size: 14px; color: var(--muted); }
.author-section { padding: 34px 0 10px; }
.author-section + .author-section { border-top: 1px solid var(--line); }
.author-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin: 0 0 22px; }
.author-section-heading h2 { font-size: 27px; margin: 0; }
.author-section-heading p { margin: 0; font-size: 14px; color: var(--muted); }
.author-section .series-body h3 { font-size: 20px; line-height: 1.2; margin: 0; transition: color .15s; }
.author-section .series-card:hover h3 { color: var(--accent); }
.author-free { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
.author-free-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); text-decoration: none; color: var(--ink); }
.author-free-item:hover { border-color: var(--accent); }
.author-free-item img { width: 100%; height: auto; display: block; border-radius: 2px; box-shadow: 0 2px 6px rgba(33, 19, 29, .18); }
.author-free-item > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.author-free-item strong { font-size: 17px; line-height: 1.3; }
.author-profile .article-card h3 { font-size: 21px; line-height: 1.25; margin: 0 0 8px; }
.author-profile .article-card h3 a { text-decoration: none; }
.author-profile .article-card h3 a:hover { color: var(--accent); text-decoration: underline; }
.author-profile .article-grid { margin-bottom: 30px; }
@media(max-width:760px) { .author-hero { grid-template-columns: 1fr; gap: 22px; padding: 34px 0 28px; } .author-portrait { width: 140px; height: 140px; } .author-free { grid-template-columns: 1fr; } }

.reader-body .ad-article.ad-image-only{width:728px;max-width:100%;margin:30px auto}.reader-body .ad-article.ad-image-only>a{display:block}.reader-body .ad-article.ad-image-only img{width:100%;height:auto;aspect-ratio:728/90;object-fit:contain}

/* Article: featured image, inline header banner, sidebar lists and author cards. */
.article-figure { margin: 0 0 8px; max-width: 720px; }
.article-figure img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; object-position: left center; border-radius: 4px; }
.reading > .advertisement.ad-header { margin: 26px 0 30px; }
.reading > .advertisement.ad-header.ad-image-only { width: min(728px, 100%); margin-left: 0; }
.reading-aside { display: flex; flex-direction: column; gap: 28px; }
.reading-aside > * { margin: 0; }
.reading-aside .advertisement { margin: 0; }
.reading-aside h2 { font: 400 20px/1.25 MCLSerif, Georgia, serif; margin: 0 0 12px; }
.aside-list ul { list-style: none; margin: 0 0 12px; padding: 0; }
.aside-list li { padding: 10px 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; }
.aside-list li a { color: var(--ink); text-decoration: none; font: 400 16px/1.35 MCLSerif, Georgia, serif; }
.aside-list li a:hover { color: var(--accent); text-decoration: underline; }
.aside-list time { font-size: 12.5px; color: var(--muted); }
.aside-more { font-size: 14px; color: var(--accent); }
.author-card { display: flex; gap: 16px; align-items: flex-start; }
.author-card-photo { border-radius: 50%; object-fit: cover; background: var(--soft); flex: none; }
.author-card-kicker { margin: 0 0 2px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.author-card-name { margin: 0 0 6px; font: 400 20px/1.25 MCLSerif, Georgia, serif; }
.author-card-name a { color: var(--ink); text-decoration: none; }
.author-card-name a:hover { color: var(--accent); }
.author-card-bio { margin: 0 0 8px; font-size: 14.5px; line-height: 1.55; color: var(--muted); }
.author-card-link { font-size: 14px; color: var(--accent); }
.author-card-full { margin: 36px 0 44px; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; gap: 22px; }
.author-card-full .author-card-name { font-size: 24px; }
.author-card-full .author-card-bio { font-size: 16px; color: var(--ink); }
.author-card-compact .author-card-bio { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 760px) {
  .article-figure img { max-height: 320px; }
  .reading > .advertisement.ad-header.ad-image-only { width: 100%; }
  .author-card-full { padding: 18px; gap: 14px; }
}
