:root {
 --ink: #12242b;
 --muted: #5d7178;
 --soft: #eff7f5;
 --soft-2: #f7fbfa;
 --line: #dceae7;
 --teal: #137c76;
 --teal-dark: #0d5f5a;
 --blue: #266b91;
 --cream: #fff8ec;
 --white: #ffffff;
 --shadow: 0 24px 70px rgba(18, 36, 43, .12);
 --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
 margin: 0;
 font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 color: var(--ink);
 background: linear-gradient(180deg, #fbfffe 0%, #f3faf8 42%, #ffffff 100%);
 line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
 position: sticky;
 top: 0;
 z-index: 10;
 backdrop-filter: blur(18px);
 background: rgba(255,255,255,.78);
 border-bottom: 1px solid rgba(220,234,231,.75);
}
.nav-wrap { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: -.02em; }
.brand-icon { width: 42px; height: 42px; object-fit: contain; border-radius: 12px; mix-blend-mode: multiply; }
.brand-icon.small { width: 34px; height: 34px; }
.brand-logo { width: 190px; max-width: 42vw; height: auto; display: block; mix-blend-mode: multiply; }
.footer-logo { width: 174px; }
.nav-links { display: flex; align-items: center; gap: 22px; font-size: 14px; color: var(--muted); }
.nav-links a:hover { color: var(--ink); }
.nav-cta { padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--teal) !important; font-weight: 700; }

.hero { padding: 82px 0 72px; }
.hero-grid { display: grid; grid-template-columns: 1.1fr .72fr; gap: 44px; align-items: center; }
.eyebrow { margin: 0 0 14px; text-transform: uppercase; letter-spacing: .14em; color: var(--teal); font-size: 12px; font-weight: 800; }
h1, h2, h3 { margin: 0; line-height: 1.06; letter-spacing: -.045em; }
h1, h2 { font-family: "Source Serif 4", Georgia, serif; }
h1 { font-size: clamp(48px, 7vw, 82px); max-width: 850px; }
h2 { font-size: clamp(34px, 4.4vw, 58px); }
h3 { font-size: 23px; letter-spacing: -.03em; }
.hero-lede { font-size: 21px; color: var(--muted); max-width: 720px; margin: 26px 0 0; }
.hero-trust {
 margin-top: 24px;
 max-width: 720px;
 padding: 18px 20px;
 border: 1px solid rgba(19,124,118,.22);
 border-radius: 20px;
 background: rgba(239,247,245,.82);
 color: var(--muted);
 font-size: 16px;
}
.hero-trust strong { color: var(--ink); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 20px; border-radius: 999px; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--teal); color: white; box-shadow: 0 16px 30px rgba(19,124,118,.2); }
.button.secondary { background: white; color: var(--teal-dark); border: 1px solid var(--line); }

.hero-card {
 background: white;
 border: 1px solid var(--line);
 border-radius: var(--radius);
 padding: 34px;
 box-shadow: var(--shadow);
 position: relative;
 overflow: hidden;
}
.hero-card:before {
 content: "";
 position: absolute;
 inset: 0 0 auto;
 height: 8px;
 background: linear-gradient(90deg, var(--teal), var(--blue));
}
.hero-card-logo { width: min(270px, 100%); height: auto; display: block; margin: 0 0 24px; mix-blend-mode: multiply; }
.card-kicker, .panel-label { color: var(--blue); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 14px; }
.hero-card h2 { font-size: 38px; }
.hero-card p { color: var(--muted); }
ul { margin: 22px 0 0; padding-left: 20px; color: var(--ink); }
li + li { margin-top: 10px; }

section { padding: 78px 0; }
.intro-section { background: var(--white); border-block: 1px solid var(--line); }
.split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: start; }
.prose p { font-size: 18px; color: var(--muted); margin: 0; }
.prose p + p { margin-top: 18px; }

.section-heading { max-width: 760px; margin-bottom: 34px; }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading p:not(.eyebrow) { color: var(--muted); font-size: 19px; margin: 18px 0 0; }

.feature-grid { display: grid; gap: 22px; }
.feature-grid.three { grid-template-columns: repeat(3, 1fr); }
.feature-card, .ps-card, .timeline article {
 background: white;
 border: 1px solid var(--line);
 border-radius: 24px;
 padding: 28px;
 box-shadow: 0 12px 34px rgba(18, 36, 43, .06);
}
.icon { display: inline-flex; width: 44px; height: 44px; border-radius: 15px; background: var(--soft); color: var(--teal); align-items: center; justify-content: center; font-weight: 900; margin-bottom: 20px; }
.feature-card p, .timeline p, .ps-card p { color: var(--muted); margin-bottom: 0; }

.package-panel {
 margin-top: 26px;
 background: linear-gradient(135deg, var(--teal-dark), var(--blue));
 color: white;
 border-radius: 32px;
 padding: 34px;
 display: grid;
 grid-template-columns: .78fr 1.22fr;
 gap: 28px;
 box-shadow: var(--shadow);
}
.package-panel p { color: rgba(255,255,255,.78); }
.package-panel .panel-label { color: #bfeee7; }
.deliverables { display: flex; flex-wrap: wrap; gap: 10px; align-content: flex-start; }
.deliverables span { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 9px 12px; font-size: 14px; }

.process-section { background: var(--cream); }
.timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.timeline span { display: inline-block; color: var(--teal); font-weight: 900; margin-bottom: 16px; }

.patientstories-section { background: var(--soft-2); border-block: 1px solid var(--line); }
.ps-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 24px; align-items: stretch; }
.ps-card.large { background: linear-gradient(180deg, #ffffff, #eff8f7); display: flex; flex-direction: column; justify-content: center; }
.ps-stack { display: grid; gap: 18px; }

.rights-section { padding: 58px 0; }
.rights-card { display: grid; grid-template-columns: .52fr 1fr; gap: 32px; padding: 34px; background: white; border: 1px solid var(--line); border-radius: 30px; box-shadow: 0 12px 34px rgba(18,36,43,.06); }
.rights-card p:last-child { margin: 0; color: var(--muted); font-size: 16px; }

.audience-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }
.audience-grid span { padding: 12px 16px; border-radius: 999px; background: white; border: 1px solid var(--line); color: var(--muted); font-weight: 700; }

.cta-section { padding-top: 30px; }
.cta-card { text-align: center; background: var(--ink); color: white; border-radius: 34px; padding: 56px 34px; box-shadow: var(--shadow); }
.cta-card h2 { max-width: 800px; margin-inline: auto; }
.cta-card p:not(.eyebrow) { color: rgba(255,255,255,.74); font-size: 19px; max-width: 650px; margin: 20px auto 28px; }
.cta-card .eyebrow { color: #9de1d8; }

.site-footer { padding: 32px 0; border-top: 1px solid var(--line); background: white; }
.footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-grid p { color: var(--muted); margin: 8px 0 0; }
.footer-links { display: flex; gap: 18px; color: var(--muted); font-size: 14px; }

@media (max-width: 900px) {
 .nav-links { display: none; }
 .hero-grid, .split, .package-panel, .ps-grid, .rights-card { grid-template-columns: 1fr; }
 .feature-grid.three, .timeline { grid-template-columns: 1fr; }
 .hero { padding-top: 52px; }
 section { padding: 58px 0; }
}

@media (max-width: 560px) {
 .container { width: min(100% - 28px, 1120px); }
 .brand-logo { width: 156px; }
 .book-cover-wrap { min-height: 240px; }
 .book-cover-wrap img { max-height: 240px; }
 h1 { font-size: 44px; }
 .hero-lede { font-size: 18px; }
 .hero-card, .package-panel, .rights-card, .cta-card { padding: 24px; }
 .footer-grid { flex-direction: column; align-items: flex-start; }
 .footer-links { flex-direction: column; gap: 8px; }
}

.proof-section { background: #ffffff; border-top: 1px solid var(--line); }
.proof-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 32px; }
.book-cover-wrap {
 display: flex;
 align-items: flex-end;
 justify-content: center;
 min-height: 300px;
 margin: 0 0 22px;
}
.book-cover-wrap img {
 max-height: 300px;
 max-width: 86%;
 width: auto;
 object-fit: contain;
 border-radius: 10px;
 filter: drop-shadow(0 22px 26px rgba(18,36,43,.18));
}
.proof-card {
 background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%);
 border: 1px solid var(--line);
 border-radius: 28px;
 padding: 32px;
 box-shadow: 0 18px 48px rgba(18,36,43,.08);
 min-height: 100%;
}
.proof-card.alt { background: linear-gradient(180deg, #ffffff 0%, #fff8ec 100%); }
.book-badge {
 display: inline-flex;
 align-items: center;
 padding: 8px 12px;
 border-radius: 999px;
 background: var(--soft);
 color: var(--teal-dark);
 font-weight: 800;
 font-size: 12px;
 text-transform: uppercase;
 letter-spacing: .1em;
 margin-bottom: 18px;
}
.proof-card h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 34px; letter-spacing: -.04em; }
.proof-card p { color: var(--muted); font-size: 17px; }
.mini-list { color: var(--ink); font-size: 15px; padding-left: 19px; }
.publisher-note {
 margin-top: 24px;
 display: grid;
 grid-template-columns: .45fr 1fr;
 gap: 28px;
 align-items: center;
 padding: 28px;
 border-radius: 28px;
 background: var(--ink);
 color: white;
}
.publisher-note p:last-child { color: rgba(255,255,255,.74); margin: 0; }
.publisher-note .eyebrow { color: #9de1d8; }
.writing-section { background: var(--soft-2); border-block: 1px solid var(--line); }
.footer-brand { margin-bottom: 0; }

@media (max-width: 900px) {
 .proof-grid, .publisher-note { grid-template-columns: 1fr; }
}

/* v5 navigation and commerce layer */
.nav-wrap { position: relative; }
.brand.icon-only { gap: 0; }
.header-eye {
 width: 50px;
 height: 50px;
 border-radius: 16px;
 box-shadow: 0 12px 28px rgba(18,36,43,.10);
 background: white;
}
.menu-dropdown { position: relative; margin-left: auto; }
.menu-dropdown summary {
 list-style: none;
 cursor: pointer;
 display: inline-flex;
 align-items: center;
 gap: 10px;
 min-height: 46px;
 padding: 10px 15px;
 border-radius: 999px;
 border: 1px solid var(--line);
 background: rgba(255,255,255,.92);
 color: var(--ink);
 font-weight: 800;
 box-shadow: 0 10px 30px rgba(18,36,43,.07);
}
.menu-dropdown summary::-webkit-details-marker { display: none; }
.hamburger { display: inline-flex; flex-direction: column; gap: 4px; width: 20px; }
.hamburger span { display: block; height: 2px; border-radius: 99px; background: var(--teal-dark); }
.menu-word { font-size: 14px; color: var(--muted); }
.dropdown-panel {
 position: absolute;
 right: 0;
 top: calc(100% + 12px);
 min-width: 245px;
 display: grid;
 gap: 6px;
 padding: 12px;
 border: 1px solid var(--line);
 border-radius: 22px;
 background: rgba(255,255,255,.98);
 box-shadow: var(--shadow);
 z-index: 100;
}
.dropdown-panel a {
 padding: 12px 13px;
 border-radius: 14px;
 color: var(--muted);
 font-size: 14px;
 font-weight: 750;
}
.dropdown-panel a:hover { background: var(--soft); color: var(--ink); }
.menu-dropdown:not([open]) .dropdown-panel { display: none; }

.page-hero { padding: 82px 0 72px; }
.page-hero-grid { display: grid; grid-template-columns: 1fr .45fr; gap: 42px; align-items: center; }
.compact-logo-card { padding: 30px; }
.compact-logo-card .hero-card-logo { margin-bottom: 18px; }
.books-section { background: var(--white); border-block: 1px solid var(--line); }
.sales-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 34px; }
.sales-card {
 background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%);
 border: 1px solid var(--line);
 border-radius: 30px;
 padding: 32px;
 box-shadow: 0 18px 48px rgba(18,36,43,.08);
}
.sales-card.alt { background: linear-gradient(180deg, #ffffff 0%, #fff8ec 100%); }
.sales-card h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 34px; letter-spacing: -.04em; }
.sales-card h3 a { text-decoration: none; border-bottom: 2px solid rgba(19,124,118,.22); }
.sales-card h3 a:hover { color: var(--teal-dark); border-bottom-color: var(--teal-dark); }
.sales-card p { color: var(--muted); font-size: 17px; }
.sales-cover { min-height: 330px; }
.sales-cover img { max-height: 330px; }
.format-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.format-list span {
 padding: 9px 12px;
 border-radius: 999px;
 background: var(--soft);
 color: var(--teal-dark);
 font-size: 13px;
 font-weight: 800;
}
.purchase-note {
 margin-top: 26px;
 padding: 28px;
 border-radius: 26px;
 border: 1px solid rgba(19,124,118,.22);
 background: rgba(239,247,245,.82);
}
.purchase-note p:last-child { margin-bottom: 0; color: var(--muted); }
.contact-card { text-align: left; }
.contact-card h2, .contact-card p { margin-inline: 0; }
.contact-details {
 margin-top: 28px;
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 14px;
}
.contact-details div {
 padding: 18px;
 border-radius: 20px;
 background: rgba(255,255,255,.08);
 border: 1px solid rgba(255,255,255,.14);
}
.contact-details span {
 display: block;
 color: rgba(255,255,255,.62);
 font-size: 12px;
 font-weight: 800;
 text-transform: uppercase;
 letter-spacing: .12em;
 margin-bottom: 7px;
}
.contact-details strong { display: block; color: white; font-size: 18px; }

@media (max-width: 900px) {
 .page-hero-grid, .sales-grid { grid-template-columns: 1fr; }
 .contact-details { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
 .header-eye { width: 44px; height: 44px; }
 .menu-word { display: none; }
 .dropdown-panel { min-width: min(82vw, 300px); }
 .sales-cover { min-height: 250px; }
 .sales-cover img { max-height: 250px; }
}


/* v6 daunting workstreams layer */
.daunting-section {
 padding: 44px 0 78px;
 background: linear-gradient(180deg, var(--white) 0%, #f3f8f7 100%);
}
.daunting-card {
 display: grid;
 grid-template-columns: 1.05fr .95fr;
 gap: 30px;
 align-items: stretch;
 padding: 38px;
 border-radius: 34px;
 border: 1px solid rgba(10, 30, 40, .10);
 background:
 radial-gradient(circle at top left, rgba(19,124,118,.18), transparent 34%),
 linear-gradient(135deg, #0e2731 0%, #153f50 50%, #0d5b59 100%);
 color: white;
 box-shadow: var(--shadow);
}
.daunting-card h2 { color: white; max-width: 820px; }
.daunting-card p { color: rgba(255,255,255,.78); }
.daunting-card .eyebrow { color: #aee9e1; }
.daunting-lede { font-size: 20px; margin-top: 18px; }
.compact-actions { margin-top: 24px; }
.daunting-card .button.secondary { background: rgba(255,255,255,.10); color: white; border-color: rgba(255,255,255,.24); }
.daunting-matrix {
 display: grid;
 gap: 16px;
}
.daunting-matrix div {
 padding: 24px;
 border-radius: 24px;
 background: rgba(255,255,255,.10);
 border: 1px solid rgba(255,255,255,.16);
 box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.daunting-matrix span,
.lane-label {
 display: block;
 color: #aee9e1;
 font-size: 12px;
 font-weight: 900;
 text-transform: uppercase;
 letter-spacing: .14em;
 margin-bottom: 10px;
}
.daunting-matrix strong { display: block; font-size: 20px; line-height: 1.35; }
.workstream-hero { background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 100%); }
.workstream-section { background: var(--white); border-block: 1px solid var(--line); }
.workstream-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 24px;
 margin-top: 34px;
}
.lane-card {
 padding: 34px;
 border-radius: 30px;
 border: 1px solid var(--line);
 box-shadow: 0 18px 48px rgba(18,36,43,.08);
 background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%);
}
.publisher-lane { background: linear-gradient(180deg, #ffffff 0%, #fff8ec 100%); }
.lane-card h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 36px; letter-spacing: -.04em; }
.lane-card .lane-label { color: var(--teal-dark); }
.role-list { margin-top: 24px; padding-left: 0; list-style: none; }
.role-list li {
 padding: 18px 0;
 border-top: 1px solid rgba(198,218,214,.75);
 color: var(--muted);
}
.role-list li strong { color: var(--ink); }
.shared-section { background: #ffffff; }
.shared-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 18px;
}
.shared-card {
 padding: 26px;
 border-radius: 24px;
 background: white;
 border: 1px solid var(--line);
 box-shadow: 0 12px 34px rgba(18,36,43,.06);
}
.shared-card span {
 display: inline-flex;
 width: 42px;
 height: 42px;
 align-items: center;
 justify-content: center;
 border-radius: 14px;
 background: var(--soft);
 color: var(--teal-dark);
 font-weight: 900;
 margin-bottom: 16px;
}
.shared-card p { color: var(--muted); }
.reality-section { padding-top: 34px; }
.reality-card {
 display: grid;
 grid-template-columns: .72fr 1fr;
 gap: 38px;
 padding: 36px;
 border-radius: 32px;
 background: var(--ink);
 color: white;
 box-shadow: var(--shadow);
}
.reality-card h2 { color: white; }
.reality-card .eyebrow { color: #9de1d8; }
.reality-card .prose p { color: rgba(255,255,255,.74); }

@media (max-width: 900px) {
 .daunting-card,
 .workstream-grid,
 .reality-card { grid-template-columns: 1fr; }
 .shared-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
 .daunting-card,
 .lane-card,
 .reality-card { padding: 24px; }
 .shared-grid { grid-template-columns: 1fr; }
}

/* v8 promotion pathway */
.promotion-section { background: #ffffff; border-block: 1px solid var(--line); }
.promotion-grid { margin-top: 30px; }
.promotion-note {
 margin-top: 26px;
 display: grid;
 grid-template-columns: .45fr 1fr;
 gap: 28px;
 align-items: center;
 padding: 30px;
 border-radius: 30px;
 background: linear-gradient(135deg, #fff8ec, #eff7f5);
 border: 1px solid var(--line);
 box-shadow: 0 12px 34px rgba(18,36,43,.06);
}
.promotion-note p:last-child { color: var(--muted); margin: 0; font-size: 17px; }
.workstream-promotion { background: var(--soft-2); }
@media (max-width: 900px) { .promotion-note { grid-template-columns: 1fr; } }


/* v10 commercial proof and monetization sections */
.commercial-section { background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%); border-block: 1px solid var(--line); }
.commercial-hero-card {
 display: grid;
 grid-template-columns: 1fr .42fr;
 gap: 30px;
 align-items: stretch;
 padding: 36px;
 border-radius: 34px;
 background: var(--ink);
 color: white;
 box-shadow: var(--shadow);
}
.commercial-hero-card h2 { color: white; }
.commercial-hero-card p { color: rgba(255,255,255,.76); font-size: 18px; max-width: 760px; }
.commercial-hero-card .eyebrow { color: #9de1d8; }
.commercial-proof-box {
 border-radius: 28px;
 padding: 28px;
 background: rgba(255,255,255,.1);
 border: 1px solid rgba(255,255,255,.18);
 display: flex;
 flex-direction: column;
 justify-content: center;
}
.commercial-proof-box strong { display: block; font-size: clamp(46px, 6vw, 72px); line-height: .95; letter-spacing: -.06em; }
.commercial-proof-box span { color: rgba(255,255,255,.76); font-size: 16px; margin-top: 14px; }
.money-grid { margin-top: 26px; }
.strong-card h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 32px; }
.commercial-actions { margin-top: 26px; display: flex; gap: 14px; flex-wrap: wrap; }
.commercial-page-hero { background: linear-gradient(180deg, #fbfffe 0%, #eff7f5 100%); }
.page-commercial-section { border-top: 1px solid var(--line); }
.capability-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 18px;
}
.capability-grid article {
 padding: 26px;
 border-radius: 24px;
 background: white;
 border: 1px solid var(--line);
 box-shadow: 0 12px 34px rgba(18,36,43,.06);
}
.capability-grid span {
 display: inline-flex;
 width: 42px;
 height: 42px;
 align-items: center;
 justify-content: center;
 border-radius: 14px;
 background: var(--soft);
 color: var(--teal-dark);
 font-weight: 900;
 margin-bottom: 16px;
}
.capability-grid h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 29px; }
.capability-grid p { color: var(--muted); margin-bottom: 0; }
.revenue-section { background: var(--cream); }
.revenue-card {
 display: grid;
 grid-template-columns: 1fr .52fr;
 gap: 32px;
 padding: 38px;
 border-radius: 34px;
 background: white;
 border: 1px solid var(--line);
 box-shadow: var(--shadow);
}
.revenue-card p { color: var(--muted); font-size: 18px; }
.revenue-list {
 margin: 0;
 padding: 24px 24px 24px 44px;
 background: var(--soft-2);
 border: 1px solid var(--line);
 border-radius: 24px;
}
.revenue-list li { color: var(--ink); font-weight: 650; }
.catalog-section { background: white; border-block: 1px solid var(--line); }
.ops-section { padding-top: 20px; background: #ffffff; }
.ops-card {
 display: grid;
 grid-template-columns: .75fr 1fr;
 gap: 30px;
 align-items: center;
 padding: 34px;
 border-radius: 32px;
 background: linear-gradient(135deg, #fff8ec, #eff7f5);
 border: 1px solid var(--line);
 box-shadow: 0 12px 34px rgba(18,36,43,.06);
}
.ops-card p { color: var(--muted); font-size: 18px; }
.ops-list { display: flex; flex-wrap: wrap; gap: 10px; }
.ops-list span { background: white; border: 1px solid var(--line); border-radius: 999px; padding: 10px 13px; font-weight: 750; color: var(--ink); }
@media (max-width: 900px) {
 .commercial-hero-card,
 .revenue-card,
 .ops-card { grid-template-columns: 1fr; }
 .capability-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
 .commercial-hero-card,
 .revenue-card,
 .ops-card { padding: 24px; }
 .capability-grid { grid-template-columns: 1fr; }
}

/* v11 role matrix with Harvey Balls */
.role-matrix-section { padding-bottom: 70px; }
.matrix-intro-card {
 display: grid;
 grid-template-columns: 1fr .9fr;
 gap: 28px;
 align-items: center;
 margin: 34px 0 22px;
 padding: 28px;
 border-radius: 28px;
 border: 1px solid var(--line);
 background: linear-gradient(135deg, #ffffff 0%, #f3faf8 62%, #fff8ec 100%);
 box-shadow: 0 14px 42px rgba(18,36,43,.07);
}
.matrix-intro-card h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 34px; letter-spacing: -.04em; margin: 0 0 12px; }
.matrix-intro-card p { color: var(--muted); margin: 0; }
.harvey-legend {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 12px;
}
.harvey-legend span {
 display: flex;
 align-items: center;
 gap: 10px;
 padding: 11px 12px;
 border: 1px solid rgba(220,234,231,.9);
 background: rgba(255,255,255,.78);
 border-radius: 999px;
 color: var(--ink);
 font-weight: 800;
 font-size: 13px;
}
.role-matrix-wrap {
 overflow-x: auto;
 border-radius: 28px;
 border: 1px solid var(--line);
 box-shadow: 0 18px 52px rgba(18,36,43,.08);
 background: white;
}
.role-matrix {
 width: 100%;
 min-width: 820px;
 border-collapse: separate;
 border-spacing: 0;
}
.role-matrix th,
.role-matrix td {
 padding: 20px 22px;
 border-bottom: 1px solid var(--line);
 vertical-align: middle;
}
.role-matrix thead th {
 position: sticky;
 top: 0;
 z-index: 1;
 background: #0e2731;
 color: white;
 text-align: left;
 font-size: 12px;
 text-transform: uppercase;
 letter-spacing: .14em;
}
.role-matrix thead th:nth-child(2),
.role-matrix thead th:nth-child(3),
.role-matrix tbody td { text-align: center; }
.role-matrix tbody tr:nth-child(even) { background: #f8fbfb; }
.role-matrix tbody tr:hover { background: #fff8ec; }
.role-matrix tbody th {
 width: 58%;
 text-align: left;
 background: inherit;
}
.role-matrix tbody th span {
 display: block;
 color: var(--ink);
 font-size: 17px;
 font-weight: 900;
 letter-spacing: -.02em;
}
.role-matrix tbody th small {
 display: block;
 margin-top: 6px;
 color: var(--muted);
 font-size: 13px;
 font-weight: 550;
 line-height: 1.45;
}
.role-matrix tbody td {
 width: 21%;
 border-left: 1px solid rgba(220,234,231,.72);
}
.role-matrix tbody td strong {
 display: block;
 margin-top: 8px;
 color: var(--ink);
 font-size: 13px;
 font-weight: 900;
 letter-spacing: -.01em;
}
.role-matrix tfoot td {
 background: #eff7f5;
 color: var(--muted);
 font-weight: 750;
 font-size: 15px;
 line-height: 1.55;
}
.harvey {
 --fill: 0deg;
 display: inline-block;
 width: 24px;
 height: 24px;
 border-radius: 50%;
 border: 2px solid var(--teal-dark);
 background: conic-gradient(var(--teal) 0 var(--fill), transparent var(--fill) 360deg);
 box-shadow: inset 0 0 0 2px white;
 vertical-align: middle;
}
.harvey.empty { --fill: 0deg; }
.harvey.quarter { --fill: 90deg; }
.harvey.half { --fill: 180deg; }
.harvey.three-quarter { --fill: 270deg; }
.harvey.full { --fill: 360deg; }
@media (max-width: 900px) {
 .matrix-intro-card { grid-template-columns: 1fr; }
 .harvey-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
 .matrix-intro-card { padding: 22px; }
 .harvey-legend { grid-template-columns: 1fr; }
 .role-matrix th,
 .role-matrix td { padding: 16px 14px; }
}


/* v13 FAQ and performance protection */
.faq-hero { background: linear-gradient(180deg, #fbfffe 0%, #eff7f5 100%); }
.faq-teaser-section { background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%); border-block: 1px solid var(--line); }
.faq-teaser-card {
 display: grid;
 grid-template-columns: 1fr .42fr;
 gap: 28px;
 align-items: center;
 padding: 36px;
 border-radius: 34px;
 background: white;
 border: 1px solid var(--line);
 box-shadow: var(--shadow);
}
.faq-teaser-card p:not(.eyebrow) { color: var(--muted); font-size: 18px; }
.faq-teaser-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.faq-section { background: #ffffff; border-top: 1px solid var(--line); }
.faq-layout { display: grid; grid-template-columns: .38fr 1fr; gap: 42px; align-items: start; }
.faq-sticky-heading { position: sticky; top: 110px; margin-bottom: 0; }
.faq-list { display: grid; gap: 18px; }
.faq-item {
 padding: 28px;
 border: 1px solid var(--line);
 border-radius: 24px;
 background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
 box-shadow: 0 12px 34px rgba(18,36,43,.06);
}
.faq-item h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 30px; letter-spacing: -.04em; }
.faq-item p { color: var(--muted); font-size: 17px; margin: 14px 0 0; }
.faq-item p strong { color: var(--ink); }
.highlight-faq {
 background: linear-gradient(135deg, #fff8ec 0%, #eff7f5 100%);
 border-color: rgba(19,124,118,.26);
}
.performance-section { background: #ffffff; padding-top: 34px; }
.performance-card {
 display: grid;
 grid-template-columns: .52fr 1fr;
 gap: 32px;
 padding: 36px;
 border-radius: 32px;
 background: linear-gradient(135deg, #0e2731 0%, #153f50 52%, #0d5b59 100%);
 color: white;
 box-shadow: var(--shadow);
}
.performance-card h2 { color: white; }
.performance-card .eyebrow { color: #aee9e1; }
.performance-card .prose p { color: rgba(255,255,255,.78); }
@media (max-width: 900px) {
 .faq-teaser-card,
 .faq-layout,
 .performance-card { grid-template-columns: 1fr; }
 .faq-sticky-heading { position: static; }
 .faq-teaser-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
 .faq-teaser-card,
 .faq-item,
 .performance-card { padding: 24px; }
}

/* v15 header site search */
.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;
}
.site-search {
 margin-left: auto;
 display: flex;
 align-items: center;
 gap: 8px;
 min-width: min(42vw, 360px);
 padding: 6px;
 border: 1px solid var(--line);
 border-radius: 999px;
 background: rgba(255,255,255,.92);
 box-shadow: 0 10px 30px rgba(18,36,43,.06);
}
.site-search input {
 flex: 1;
 min-width: 110px;
 border: 0;
 outline: 0;
 background: transparent;
 padding: 8px 8px 8px 14px;
 font: inherit;
 font-size: 14px;
 color: var(--ink);
}
.site-search input::placeholder { color: var(--muted); }
.site-search button {
 border: 0;
 cursor: pointer;
 border-radius: 999px;
 padding: 9px 13px;
 background: var(--teal-dark);
 color: white;
 font-size: 13px;
 font-weight: 800;
}
.site-search button:hover { filter: brightness(.96); }
.site-header .menu-dropdown { margin-left: 0; }
.search-section { padding: 62px 0 88px; background: var(--white); border-block: 1px solid var(--line); }
.search-box-large {
 display: flex;
 gap: 10px;
 align-items: center;
 padding: 10px;
 border: 1px solid var(--line);
 border-radius: 24px;
 background: #fff;
 box-shadow: var(--shadow-soft);
 margin: 24px 0 28px;
}
.search-box-large input {
 flex: 1;
 border: 0;
 outline: 0;
 padding: 14px 16px;
 font: inherit;
 font-size: 17px;
 color: var(--ink);
}
.search-box-large button {
 border: 0;
 border-radius: 16px;
 padding: 14px 18px;
 background: var(--teal-dark);
 color: white;
 font-weight: 850;
 cursor: pointer;
}
.search-results { display: grid; gap: 14px; margin-top: 18px; }
.search-result-card {
 display: block;
 padding: 20px;
 border: 1px solid var(--line);
 border-radius: 22px;
 background: linear-gradient(180deg, #fff 0%, #f8fcfb 100%);
 box-shadow: 0 12px 28px rgba(18,36,43,.05);
}
.search-result-card:hover { border-color: rgba(39,150,139,.35); transform: translateY(-1px); }
.search-result-card h3 { margin: 0 0 6px; font-size: 20px; }
.search-result-card p { margin: 0; color: var(--muted); }
.search-meta { color: var(--teal-dark); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 7px; }
.search-status { color: var(--muted); font-weight: 700; }
mark { background: rgba(244,196,80,.35); color: inherit; padding: 0 .12em; border-radius: 4px; }
@media (max-width: 760px) {
 .nav-wrap { gap: 12px; flex-wrap: wrap; }
 .site-search { order: 3; flex-basis: 100%; min-width: 0; }
 .site-search button { padding-inline: 12px; }
 .search-box-large { align-items: stretch; flex-direction: column; border-radius: 22px; }
 .search-box-large button { width: 100%; }
}

[id] { scroll-margin-top: 110px; }

.mini-note {
 margin-top: 0.85rem;
 font-size: 0.94rem;
 color: var(--muted);
 line-height: 1.5;
}

/* v21 clean footer */
.site-footer {
 padding: 46px 0 26px;
 border-top: 1px solid var(--line);
 background: #ffffff;
}
.clean-footer {
 display: grid;
 grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, .7fr));
 gap: 34px;
 align-items: start;
}
.footer-about { max-width: 390px; }
.footer-tagline {
 color: var(--muted);
 margin: 14px 0 18px;
 font-size: 15px;
 line-height: 1.5;
}
.footer-contact {
 color: var(--ink);
 margin: 0;
 font-size: 14px;
 line-height: 1.6;
}
.footer-column {
 display: grid;
 gap: 9px;
 align-content: start;
}
.footer-column h4 {
 margin: 0 0 8px;
 font-size: 12px;
 letter-spacing: .13em;
 text-transform: uppercase;
 color: var(--teal-dark);
}
.footer-column a {
 color: var(--muted);
 font-size: 14px;
 line-height: 1.35;
}
.footer-column a:hover { color: var(--ink); }
.footer-bottom {
 margin-top: 34px;
 padding-top: 18px;
 border-top: 1px solid var(--line);
 display: flex;
 justify-content: space-between;
 gap: 20px;
 color: var(--muted);
 font-size: 13px;
}
@media (max-width: 900px) {
 .clean-footer { grid-template-columns: 1fr 1fr; }
 .footer-about { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
 .clean-footer { grid-template-columns: 1fr; gap: 24px; }
 .footer-bottom { flex-direction: column; gap: 8px; }
}


/* v24 Joe Solowiejczyk Apple Books offer page */
.joe-book-hero {
 background: radial-gradient(circle at 15% 12%, rgba(19,124,118,.13), transparent 30%), linear-gradient(180deg, #fbfffe 0%, #fff8ec 100%);
}
.joe-hero-grid { grid-template-columns: 1fr .55fr; }
.book-offer-card { padding-bottom: 28px; }
.joe-cover { min-height: 330px; margin-bottom: 18px; }
.joe-cover img { max-height: 330px; }
.offer-note {
 margin-top: 18px;
 max-width: 690px;
 color: var(--muted);
 font-size: 15px;
}
.listing-facts {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin-top: 20px;
}
.listing-facts span {
 padding: 9px 12px;
 border-radius: 999px;
 background: var(--soft);
 color: var(--teal-dark);
 font-weight: 800;
 font-size: 13px;
}
.joe-offer-section { background: #ffffff; border-block: 1px solid var(--line); }
.offer-grid {
 display: grid;
 grid-template-columns: 1fr .62fr;
 gap: 24px;
 align-items: stretch;
}
.offer-copy-card,
.steps-card {
 border: 1px solid var(--line);
 border-radius: 30px;
 padding: 34px;
 background: white;
 box-shadow: 0 18px 48px rgba(18,36,43,.08);
}
.offer-copy-card { background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%); }
.offer-copy-card p { color: var(--muted); font-size: 18px; }
.steps-card { background: linear-gradient(180deg, #ffffff 0%, #fff8ec 100%); }
.offer-steps {
 margin: 0;
 padding: 0;
 list-style: none;
 display: grid;
 gap: 18px;
}
.offer-steps li {
 display: grid;
 gap: 6px;
 padding-top: 18px;
 border-top: 1px solid rgba(198,218,214,.75);
}
.offer-steps li:first-child { padding-top: 0; border-top: 0; }
.offer-steps strong { color: var(--ink); font-size: 18px; }
.offer-steps span { color: var(--muted); }
.joe-about-section { background: var(--soft-2); }
.joe-proof-section { padding-top: 30px; background: #ffffff; }
.joe-note { grid-template-columns: .68fr 1fr; }
@media (max-width: 900px) {
 .joe-hero-grid,
 .offer-grid,
 .joe-note { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
 .offer-copy-card,
 .steps-card { padding: 24px; }
 .joe-cover { min-height: 250px; }
 .joe-cover img { max-height: 250px; }
}


/* v28 catalog showcase */
.catalog-home-section { background: white; }
.catalog-showcase {
 display: grid;
 grid-template-columns: 1fr 1.1fr;
 gap: 28px;
 align-items: center;
 margin: 8px 0 34px;
}
.catalog-showcase.compact-top { margin-top: 0; }
.catalog-showcase-copy {
 padding: 8px 0;
}
.catalog-showcase-copy h3,
.catalog-subhead h3,
.catalog-featured-copy h3 {
 font-family: "Source Serif 4", Georgia, serif;
 letter-spacing: -.04em;
}
.catalog-showcase-copy h3 { font-size: 38px; margin-bottom: 14px; }
.catalog-showcase-copy p { color: var(--muted); font-size: 18px; }
.catalog-stack-card {
 border: 1px solid var(--line);
 border-radius: 28px;
 background: linear-gradient(180deg, #fdfcf7 0%, #ffffff 100%);
 box-shadow: 0 20px 52px rgba(18,36,43,.08);
 padding: 18px;
}
.catalog-stack-card img {
 display: block;
 width: 100%;
 border-radius: 18px;
}
.catalog-available-grid {
 display: grid;
 grid-template-columns: 1.2fr .72fr;
 gap: 24px;
 align-items: start;
 margin: 12px 0 36px;
}
.catalog-featured-card {
 display: grid;
 grid-template-columns: 260px 1fr;
 gap: 24px;
 align-items: center;
 padding: 24px;
 border: 1px solid var(--line);
 border-radius: 28px;
 background: white;
 box-shadow: 0 14px 40px rgba(18,36,43,.07);
}
.catalog-cover-large img { box-shadow: 0 20px 42px rgba(12, 32, 52, .18); }
.catalog-featured-copy { padding-right: 8px; }
.catalog-featured-copy h3 { font-size: 42px; margin-bottom: 10px; }
.catalog-byline {
 margin: 0 0 12px;
 color: var(--teal-dark);
 font-weight: 800;
 letter-spacing: -.01em;
}
.catalog-side-note {
 border: 1px solid var(--line);
 border-radius: 28px;
 background: #f8fbfb;
 box-shadow: 0 14px 38px rgba(18,36,43,.06);
 padding: 24px;
 display: grid;
 gap: 18px;
}
.info-card-block { padding: 4px 0; }
.info-card-block + .info-card-block { border-top: 1px solid var(--line); padding-top: 18px; }
.info-card-block h4 { font-size: 24px; margin-bottom: 10px; font-family: "Source Serif 4", Georgia, serif; letter-spacing: -.03em; }
.info-card-block p { color: var(--muted); margin-bottom: 0; }
.catalog-subhead { margin: 8px 0 18px; }
.catalog-subhead.top-gap { margin-top: 8px; }
.catalog-grid {
 display: grid;
 grid-template-columns: repeat(5, minmax(0, 1fr));
 gap: 22px;
}
.catalog-book-card {
 border: 1px solid var(--line);
 border-radius: 26px;
 background: white;
 box-shadow: 0 14px 36px rgba(18,36,43,.06);
 padding: 18px 18px 20px;
}
.catalog-book-card .book-cover-wrap {
 margin-bottom: 14px;
}
.catalog-book-card .book-cover-wrap img,
.catalog-featured-card .book-cover-wrap img {
 width: 100%;
 display: block;
 border-radius: 18px;
}
.catalog-book-card h4 {
 font-size: 28px;
 margin: 12px 0 6px;
 font-family: "Source Serif 4", Georgia, serif;
 letter-spacing: -.03em;
}
.catalog-book-card p {
 color: var(--muted);
 font-size: 15px;
 margin-bottom: 0;
}
.book-badge.soft { background: var(--soft); color: var(--teal-dark); }
.books-stack-card { max-width: 620px; justify-self: end; }
.catalog-page-section .catalog-grid { margin-bottom: 8px; }
@media (max-width: 1100px) {
 .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
 .catalog-showcase,
 .catalog-available-grid,
 .catalog-featured-card {
 grid-template-columns: 1fr;
 }
 .books-stack-card { max-width: none; justify-self: stretch; }
 .catalog-featured-copy h3 { font-size: 34px; }
 .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
 .catalog-stack-card,
 .catalog-featured-card,
 .catalog-side-note,
 .catalog-book-card { padding: 16px; border-radius: 22px; }
 .catalog-showcase-copy h3,
 .catalog-featured-copy h3 { font-size: 30px; }
 .catalog-grid { grid-template-columns: 1fr; }
}


/* v30 top catalogue teaser */
.catalog-teaser-band {
 padding: 18px 0 6px;
 background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
}
.catalog-teaser-card {
 display: grid;
 grid-template-columns: 1.08fr .92fr;
 gap: 26px;
 align-items: center;
 padding: 22px 24px;
 border: 1px solid var(--line);
 border-radius: 30px;
 background: white;
 box-shadow: 0 16px 42px rgba(18,36,43,.08);
}
.catalog-teaser-image {
 display: block;
 border-radius: 22px;
}
.catalog-teaser-image img {
 width: 100%;
 display: block;
 border-radius: 22px;
}
.catalog-teaser-copy h2 {
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 42px;
 letter-spacing: -.04em;
 margin-bottom: 12px;
}
.catalog-teaser-copy p {
 color: var(--muted);
 font-size: 18px;
}
.hero { padding-top: 38px; }
@media (max-width: 900px) {
 .catalog-teaser-card { grid-template-columns: 1fr; }
 .catalog-teaser-copy h2 { font-size: 34px; }
}
@media (max-width: 560px) {
 .catalog-teaser-band { padding-top: 14px; }
 .catalog-teaser-card { padding: 16px; border-radius: 22px; }
 .catalog-teaser-copy h2 { font-size: 30px; }
}


/* v32 catalogue original Sugar Surfing eBook */
.catalog-available-grid.single-feature {
 grid-template-columns: minmax(0, 1fr);
 max-width: 920px;
}
.catalog-available-grid.single-feature .catalog-featured-card {
 grid-template-columns: 220px 1fr;
}
@media (max-width: 900px) {
 .catalog-available-grid.single-feature .catalog-featured-card {
 grid-template-columns: 1fr;
 }
}


/* v33 Joe video + offer card */
.joe-video-offer-section {
 background: #ffffff;
 padding-top: 16px;
 padding-bottom: 18px;
}
.joe-video-offer-card {
 display: grid;
 grid-template-columns: 1.18fr .82fr;
 gap: 26px;
 align-items: stretch;
 padding: 26px;
 border: 1px solid var(--line);
 border-radius: 30px;
 background: linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
 box-shadow: 0 18px 50px rgba(18,36,43,.08);
}
.joe-video-wrap {
 position: relative;
 min-height: 360px;
 border-radius: 24px;
 overflow: hidden;
 background: #0e2731;
 box-shadow: 0 16px 42px rgba(18,36,43,.14);
}
.joe-video-wrap iframe {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 border: 0;
}
.joe-video-offer-copy {
 display: flex;
 flex-direction: column;
 justify-content: center;
}
.joe-video-offer-copy h2 {
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 40px;
 letter-spacing: -.04em;
 margin-bottom: 12px;
}
.joe-video-offer-copy p {
 color: var(--muted);
 font-size: 17px;
}
.video-offer-box {
 margin-top: 16px;
 padding: 20px;
 border: 1px solid var(--line);
 border-radius: 24px;
 background: white;
}
.video-offer-box h3 {
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 28px;
 letter-spacing: -.03em;
 margin-bottom: 10px;
}
.video-offer-box .button {
 margin-top: 8px;
}
@media (max-width: 900px) {
 .joe-video-offer-card {
 grid-template-columns: 1fr;
 }
 .joe-video-wrap {
 min-height: 280px;
 }
}
@media (max-width: 560px) {
 .joe-video-offer-card {
 padding: 16px;
 border-radius: 22px;
 }
 .joe-video-wrap {
 min-height: 220px;
 border-radius: 18px;
 }
 .joe-video-offer-copy h2 {
 font-size: 31px;
 }
}


/* v35 Joe video first above the fold */
main > .joe-video-offer-section:first-child {
 background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
}
main > .joe-video-offer-section:first-child .joe-video-offer-card {
 margin-top: 0;
}
main > .joe-video-offer-section:first-child .joe-video-offer-copy h2 {
 font-size: 44px;
}


/* v36 Fairy book page + six-leaf ginkgo rosette */
.fairy-page main {
 --fairy-ink: #2b2232;
 --fairy-muted: #665a6b;
 --fairy-wine: #6b244c;
 --fairy-blue: #20275d;
 --fairy-gold: #b78533;
 --fairy-lilac: #eee8f2;
 background: #fcfaf8;
 color: var(--fairy-ink);
 overflow: hidden;
}
.fairy-page .site-header,
.fairy-page .site-footer { color: var(--ink); }
.fairy-page .header-eye { border-radius: 50%; }
.fairy-kicker {
 margin: 0 0 14px;
 text-transform: uppercase;
 letter-spacing: .15em;
 color: var(--fairy-wine);
 font-size: 12px;
 font-weight: 800;
}
.fairy-hero {
 position: relative;
 padding: 58px 0 72px;
 background:
 radial-gradient(circle at 8% 18%, rgba(115,44,83,.12), transparent 30%),
 radial-gradient(circle at 82% 22%, rgba(44,55,111,.12), transparent 34%),
 linear-gradient(180deg, #fff 0%, #f7f2f7 100%);
}
.fairy-hero:before,
.fairy-hero:after {
 content: "";
 position: absolute;
 border: 1px solid rgba(107,36,76,.13);
 border-radius: 50%;
 pointer-events: none;
}
.fairy-hero:before { width: 440px; height: 440px; left: -280px; top: 80px; }
.fairy-hero:after { width: 340px; height: 340px; right: -220px; bottom: -120px; }
.fairy-hero-grid {
 display: grid;
 grid-template-columns: .92fr .72fr;
 gap: 54px;
 align-items: center;
}
.fairy-title-row { margin-bottom: 16px; }
.fairy-status {
 display: inline-flex;
 padding: 8px 12px;
 border: 1px solid rgba(107,36,76,.2);
 border-radius: 999px;
 background: rgba(255,255,255,.72);
 color: var(--fairy-wine);
 font-size: 12px;
 font-weight: 800;
 text-transform: uppercase;
 letter-spacing: .11em;
}
.fairy-hero h1 {
 max-width: 710px;
 font-size: clamp(50px, 6.4vw, 82px);
 color: var(--fairy-ink);
}
.fairy-hero-lede {
 max-width: 700px;
 margin: 25px 0 0;
 color: var(--fairy-muted);
 font-family: "Source Serif 4", Georgia, serif;
 font-size: clamp(21px, 2vw, 28px);
 line-height: 1.36;
}
.fairy-positioning {
 max-width: 650px;
 margin: 24px 0 0;
 padding-left: 18px;
 border-left: 3px solid var(--fairy-gold);
 color: var(--fairy-wine);
 font-weight: 800;
}
.fairy-byline { margin: 24px 0 0; color: var(--fairy-muted); }
.button.fairy-primary { background: var(--fairy-wine); color: white; box-shadow: 0 16px 34px rgba(107,36,76,.22); }
.button.fairy-secondary { background: rgba(255,255,255,.88); color: var(--fairy-blue); border: 1px solid rgba(32,39,93,.18); }
.fairy-hero-art {
 margin: 0;
 padding: 16px;
 border: 1px solid rgba(72,48,72,.15);
 border-radius: 220px 220px 34px 34px;
 background: rgba(255,255,255,.76);
 box-shadow: 0 28px 70px rgba(48,35,56,.16);
}
.fairy-hero-art img {
 display: block;
 width: 100%;
 max-height: 720px;
 object-fit: cover;
 object-position: center 28%;
 border-radius: 205px 205px 24px 24px;
}
.fairy-hero-art figcaption {
 padding: 15px 12px 3px;
 color: var(--fairy-muted);
 font-size: 13px;
 text-align: center;
}
.fairy-page-nav {
 position: relative;
 z-index: 2;
 border-block: 1px solid rgba(107,36,76,.12);
 background: rgba(255,255,255,.94);
}
.fairy-page-nav .container {
 display: flex;
 justify-content: center;
 gap: 8px;
 padding: 13px 0;
 overflow-x: auto;
}
.fairy-page-nav a {
 white-space: nowrap;
 padding: 8px 13px;
 border-radius: 999px;
 color: var(--fairy-muted);
 font-size: 13px;
 font-weight: 750;
}
.fairy-page-nav a:hover { background: var(--fairy-lilac); color: var(--fairy-wine); }
.fairy-opening { background: #fff; }
.fairy-opening-grid {
 display: grid;
 grid-template-columns: .82fr 1.18fr;
 gap: 58px;
 align-items: start;
}
.fairy-opening h2,
.fairy-three h2,
.fairy-for-anyone h2,
.fairy-author h2,
.fairy-updates h2 { color: var(--fairy-ink); }
.fairy-prose p {
 margin: 0;
 color: var(--fairy-muted);
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 20px;
 line-height: 1.68;
}
.fairy-prose p + p { margin-top: 20px; }
.fairy-prose .fairy-callout {
 margin-top: 28px;
 padding: 24px;
 border: 1px solid rgba(107,36,76,.15);
 border-radius: 22px;
 background: linear-gradient(135deg, #f8f1f6, #f3f2fa);
 color: var(--fairy-wine);
 font-weight: 650;
}
.fairy-three {
 background: linear-gradient(180deg, #f7f2f7 0%, #fbf9f4 100%);
 border-block: 1px solid rgba(107,36,76,.10);
}
.fairy-section-heading { max-width: 820px; margin-bottom: 32px; }
.fairy-section-heading > p:not(.fairy-kicker) { color: var(--fairy-muted); font-size: 19px; }
.fairy-three-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.fairy-three-grid article {
 padding: 30px;
 border: 1px solid rgba(107,36,76,.13);
 border-radius: 28px;
 background: rgba(255,255,255,.84);
 box-shadow: 0 16px 42px rgba(55,37,61,.07);
}
.fairy-three-grid span {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 44px;
 height: 44px;
 margin-bottom: 20px;
 border-radius: 50%;
 background: var(--fairy-lilac);
 color: var(--fairy-wine);
 font-weight: 900;
}
.fairy-three-grid h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 32px; color: var(--fairy-blue); }
.fairy-three-grid p { margin-bottom: 0; color: var(--fairy-muted); }
.fairy-art-section { padding: 44px 0; background: #fff; }
.fairy-wide-art {
 position: relative;
 margin: 0;
 overflow: hidden;
 border-radius: 34px;
 border: 1px solid rgba(107,36,76,.13);
 box-shadow: 0 24px 60px rgba(45,31,50,.11);
}
.fairy-wide-art img { display: block; width: 100%; max-height: 650px; object-fit: cover; }
.fairy-wide-art figcaption {
 position: absolute;
 left: 24px;
 right: 24px;
 bottom: 24px;
 max-width: 650px;
 padding: 18px 20px;
 border-radius: 20px;
 background: rgba(255,255,255,.91);
 color: var(--fairy-muted);
 box-shadow: 0 14px 36px rgba(45,31,50,.12);
}
.fairy-wide-art figcaption strong { color: var(--fairy-wine); }
.fairy-for-anyone { background: #f5f3f8; }
.fairy-audience-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 44px; align-items: start; }
.fairy-audience-copy > p:not(.fairy-kicker) { color: var(--fairy-muted); font-size: 18px; }
.fairy-audience-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.fairy-audience-list div {
 padding: 24px;
 border-radius: 24px;
 border: 1px solid rgba(32,39,93,.12);
 background: white;
}
.fairy-audience-list strong { display: block; margin-bottom: 8px; color: var(--fairy-blue); }
.fairy-audience-list span { color: var(--fairy-muted); }
.fairy-author { background: #fff; }
.fairy-author-grid { display: grid; grid-template-columns: .55fr 1fr; gap: 54px; align-items: center; max-width: 980px; }
.fairy-author-photo { margin: 0; }
.fairy-author-photo img {
 display: block;
 width: 100%;
 border-radius: 34px 34px 120px 34px;
 box-shadow: 0 24px 58px rgba(45,31,50,.15);
}
.fairy-author-copy p:not(.fairy-kicker) { color: var(--fairy-muted); font-size: 18px; }
.fairy-author-note {
 margin-top: 24px;
 padding: 16px 18px;
 border-left: 3px solid var(--fairy-gold);
 background: #fbf7ef;
 color: var(--fairy-wine) !important;
 font-weight: 800;
}
.fairy-updates { padding-top: 24px; background: #fff; }
.fairy-updates-card {
 position: relative;
 overflow: hidden;
 padding: 58px 34px;
 border-radius: 36px;
 background:
 radial-gradient(circle at 10% 20%, rgba(174,128,52,.17), transparent 28%),
 linear-gradient(135deg, #34243a, #171d4b);
 color: white;
 text-align: center;
 box-shadow: 0 28px 70px rgba(33,28,52,.2);
}
.fairy-updates-card h2 { color: white; max-width: 760px; margin-inline: auto; }
.fairy-updates-card > p:not(.fairy-kicker) { max-width: 650px; margin: 20px auto 0; color: rgba(255,255,255,.76); font-size: 19px; }
.fairy-updates-card .fairy-kicker { color: #e8c888; }
.fairy-updates-mark { width: 74px; height: 74px; object-fit: cover; border-radius: 50%; margin-bottom: 20px; box-shadow: 0 12px 30px rgba(0,0,0,.22); }
.fairy-centered-actions { justify-content: center; }
.button.fairy-light { background: white; color: var(--fairy-blue); }
.button.fairy-outline { border: 1px solid rgba(255,255,255,.34); color: white; background: rgba(255,255,255,.08); }
.fairy-catalog-feature .catalog-featured-card { background: linear-gradient(135deg, #fff 0%, #f7f1f7 100%); }
.fairy-catalog-feature .catalog-cover-large { min-height: 360px; }
.fairy-catalog-feature .catalog-cover-large img { max-height: 360px; object-fit: cover; object-position: center; }
@media (max-width: 900px) {
 .fairy-hero-grid,
 .fairy-opening-grid,
 .fairy-audience-grid,
 .fairy-author-grid { grid-template-columns: 1fr; }
 .fairy-hero-art { max-width: 620px; margin-inline: auto; }
 .fairy-three-grid { grid-template-columns: 1fr; }
 .fairy-audience-list { grid-template-columns: 1fr; }
 .fairy-author-photo { max-width: 430px; }
}
@media (max-width: 560px) {
 .fairy-hero { padding-top: 40px; }
 .fairy-hero h1 { font-size: 46px; }
 .fairy-hero-grid { gap: 38px; }
 .fairy-hero-art { padding: 10px; border-radius: 140px 140px 24px 24px; }
 .fairy-hero-art img { max-height: 560px; border-radius: 132px 132px 18px 18px; }
 .fairy-page-nav .container { justify-content: flex-start; }
 .fairy-prose p { font-size: 18px; }
 .fairy-wide-art figcaption { position: static; border-radius: 0; box-shadow: none; }
 .fairy-wide-art img { max-height: 430px; }
 .fairy-three-grid article,
 .fairy-audience-list div { padding: 22px; }
 .fairy-updates-card { padding: 42px 22px; }
}


/* v37 Fairy presale placeholder + updates registration */
.fairy-page .fairy-header-brand {
 flex: 0 0 auto;
}
.fairy-page .fairy-header-logo {
 width: 196px;
 max-width: 34vw;
}
.fairy-order {
 background:
 radial-gradient(circle at 88% 16%, rgba(183,133,51,.13), transparent 25%),
 linear-gradient(180deg, #fff 0%, #f8f4f8 100%);
 border-block: 1px solid rgba(107,36,76,.10);
}
.fairy-order-heading {
 display: grid;
 grid-template-columns: 1fr auto;
 gap: 36px;
 align-items: end;
 margin-bottom: 34px;
}
.fairy-order-heading h2 { color: var(--fairy-ink); max-width: 780px; }
.fairy-order-heading > div:first-child > p:not(.fairy-kicker) {
 max-width: 760px;
 margin: 20px 0 0;
 color: var(--fairy-muted);
 font-size: 19px;
}
.fairy-ship-date {
 min-width: 240px;
 padding: 18px 20px;
 border: 1px solid rgba(107,36,76,.14);
 border-radius: 22px;
 background: rgba(255,255,255,.84);
 box-shadow: 0 14px 34px rgba(55,37,61,.07);
}
.fairy-ship-date span {
 display: block;
 color: var(--fairy-muted);
 font-size: 12px;
 font-weight: 800;
 text-transform: uppercase;
 letter-spacing: .1em;
}
.fairy-ship-date strong {
 display: block;
 margin-top: 5px;
 color: var(--fairy-wine);
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 22px;
}
.fairy-offer-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 24px;
}
.fairy-offer-card {
 position: relative;
 display: flex;
 flex-direction: column;
 min-height: 100%;
 padding: 34px;
 border: 1px solid rgba(107,36,76,.14);
 border-radius: 30px;
 background: rgba(255,255,255,.94);
 box-shadow: 0 22px 54px rgba(55,37,61,.09);
}
.fairy-offer-card h3 {
 margin-top: 4px;
 color: var(--fairy-blue);
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 34px;
}
.fairy-offer-label {
 margin: 0;
 color: var(--fairy-wine);
 font-size: 12px;
 font-weight: 850;
 letter-spacing: .12em;
 text-transform: uppercase;
}
.fairy-price-block {
 display: flex;
 flex-wrap: wrap;
 align-items: baseline;
 gap: 8px 14px;
 margin-top: 24px;
}
.fairy-price-block strong {
 color: var(--fairy-ink);
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 56px;
 line-height: 1;
}
.fairy-retail-price {
 width: 100%;
 color: var(--fairy-muted);
 text-decoration: line-through;
 font-weight: 750;
}
.fairy-price-caption {
 color: var(--fairy-muted);
 font-size: 14px;
 font-weight: 700;
}
.fairy-free-shipping {
 display: inline-flex;
 align-self: flex-start;
 margin: 18px 0 0;
 padding: 7px 11px;
 border-radius: 999px;
 background: #f4eee1;
 color: #765619;
 font-size: 13px;
 font-weight: 850;
}
.fairy-offer-card ul {
 margin: 24px 0 28px;
 color: var(--fairy-muted);
}
.fairy-offer-card li + li { margin-top: 8px; }
.fairy-order-button {
 width: 100%;
 margin-top: auto;
}
.fairy-premium-offer {
 overflow: hidden;
 border-color: rgba(183,133,51,.28);
 background:
 radial-gradient(circle at 100% 0%, rgba(183,133,51,.13), transparent 30%),
 linear-gradient(145deg, #fff 0%, #fbf7ed 100%);
}
.fairy-limited-badge {
 position: absolute;
 top: 22px;
 right: -42px;
 width: 180px;
 padding: 8px 0;
 transform: rotate(35deg);
 background: var(--fairy-gold);
 color: white;
 text-align: center;
 text-transform: uppercase;
 letter-spacing: .1em;
 font-size: 10px;
 font-weight: 900;
}
.fairy-premium-timing {
 margin: -4px 0 26px;
 padding: 16px 17px;
 border-left: 3px solid var(--fairy-gold);
 background: rgba(255,255,255,.66);
 color: var(--fairy-muted);
 font-size: 14px;
}
.button.fairy-premium-button {
 background: var(--fairy-blue);
 color: white;
 box-shadow: 0 16px 34px rgba(32,39,93,.20);
}
.fairy-checkout-status {
 display: grid;
 gap: 5px;
 margin-top: 22px;
 padding: 18px 20px;
 border: 1px solid rgba(107,36,76,.18);
 border-radius: 18px;
 background: #fff;
 color: var(--fairy-muted);
 box-shadow: 0 14px 34px rgba(55,37,61,.07);
 outline: 0;
}
.fairy-checkout-status strong { color: var(--fairy-wine); }
.fairy-updates {
 padding-top: 64px;
 background: #fff;
}
.fairy-updates-shell {
 display: grid;
 grid-template-columns: .85fr 1.15fr;
 gap: 42px;
 align-items: start;
 padding: 48px;
 border-radius: 36px;
 background:
 radial-gradient(circle at 10% 20%, rgba(174,128,52,.17), transparent 28%),
 linear-gradient(135deg, #34243a, #171d4b);
 color: white;
 box-shadow: 0 28px 70px rgba(33,28,52,.2);
}
.fairy-updates-copy h2 { color: white; }
.fairy-updates-copy > p:not(.fairy-kicker):not(.fairy-registration-note) {
 color: rgba(255,255,255,.78);
 font-size: 19px;
}
.fairy-updates-copy .fairy-kicker { color: #e8c888; }
.fairy-registration-note {
 margin-top: 24px;
 padding: 17px 18px;
 border: 1px solid rgba(255,255,255,.16);
 border-radius: 18px;
 background: rgba(255,255,255,.08);
 color: rgba(255,255,255,.76);
 font-size: 14px;
}
.fairy-registration-note strong { color: white; }
.fairy-update-form {
 display: grid;
 gap: 17px;
 padding: 28px;
 border-radius: 26px;
 background: rgba(255,255,255,.97);
 color: var(--fairy-ink);
 box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
.fairy-update-form label {
 display: grid;
 gap: 7px;
 color: var(--fairy-ink);
 font-size: 13px;
 font-weight: 800;
}
.fairy-update-form input[type="text"],
.fairy-update-form input[type="email"],
.fairy-update-form select {
 width: 100%;
 min-height: 48px;
 padding: 11px 13px;
 border: 1px solid rgba(32,39,93,.18);
 border-radius: 13px;
 background: white;
 color: var(--fairy-ink);
 font: inherit;
 outline: none;
}
.fairy-update-form input:focus,
.fairy-update-form select:focus {
 border-color: var(--fairy-wine);
 box-shadow: 0 0 0 3px rgba(107,36,76,.12);
}
.fairy-form-row {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px;
}
.fairy-form-checks {
 display: grid;
 gap: 10px;
 padding: 15px 16px;
 border-radius: 16px;
 background: #f6f3f8;
}
.fairy-form-checks label {
 display: grid;
 grid-template-columns: 18px 1fr;
 align-items: start;
 gap: 10px;
 color: var(--fairy-muted);
 font-size: 13px;
 font-weight: 650;
}
.fairy-form-checks input { margin: 3px 0 0; }
.fairy-form-submit {
 width: 100%;
 border: 0;
 cursor: pointer;
 background: var(--fairy-wine) !important;
 color: white !important;
}
.fairy-form-fineprint {
 margin: -5px 0 0;
 color: var(--fairy-muted);
 font-size: 12px;
 text-align: center;
}
.fairy-form-success {
 padding: 14px 15px;
 border: 1px solid rgba(19,124,118,.25);
 border-radius: 14px;
 background: #eef8f5;
 color: #315d58;
 font-size: 14px;
}
.fairy-form-success strong { display: block; color: #0d5f5a; }
@media (max-width: 900px) {
 .fairy-order-heading,
 .fairy-updates-shell { grid-template-columns: 1fr; }
 .fairy-offer-grid { grid-template-columns: 1fr; }
 .fairy-ship-date { max-width: 360px; }
}
@media (max-width: 760px) {
 .fairy-page .fairy-header-logo { width: 174px; max-width: 58vw; }
}
@media (max-width: 560px) {
 .fairy-order-heading { gap: 22px; }
 .fairy-offer-card { padding: 26px 22px; }
 .fairy-updates-shell { padding: 30px 18px; }
 .fairy-update-form { padding: 22px 17px; }
 .fairy-form-row { grid-template-columns: 1fr; }
 .fairy-limited-badge { right: -52px; }
}
.fairy-checkout-status[hidden],
.fairy-form-success[hidden] { display: none; }


/* v38 commerce-first homepage, catalogue order, and navigation */
.commerce-nav-wrap { gap: 16px; }
.commerce-brand { flex: 0 0 auto; }
.header-wordmark { width: 205px; max-width: 28vw; }
.header-order-cta {
 display: inline-flex; align-items: center; justify-content: center; min-height: 42px;
 padding: 9px 16px; border-radius: 999px; background: #6b244c; color: #fff;
 font-size: 13px; font-weight: 850; box-shadow: 0 12px 26px rgba(107,36,76,.18);
 white-space: nowrap;
}
.header-order-cta:hover { transform: translateY(-1px); }
.header-order-short { display: none; }
.commerce-dropdown .menu-featured-order { background: #6b244c; color: #fff; }
.commerce-dropdown .menu-featured-order:hover { background: #541a3b; color: #fff; }
.menu-divider { display: block; height: 1px; margin: 5px 8px; background: var(--line); }

.storefront-hero {
 padding: 54px 0 48px;
 background:
 radial-gradient(circle at 83% 18%, rgba(183,133,51,.17), transparent 24%),
 radial-gradient(circle at 12% 2%, rgba(107,36,76,.11), transparent 30%),
 linear-gradient(145deg, #fff 0%, #f8f4f8 56%, #f5f2ea 100%);
 border-bottom: 1px solid rgba(107,36,76,.10);
}
.storefront-hero-grid { display: grid; grid-template-columns: 1.08fr .72fr; gap: 46px; align-items: center; }
.storefront-copy { min-width: 0; }
.storefront-kicker { margin: 0 0 12px; color: #6b244c; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.storefront-author { margin: 0 0 9px; color: #4f5578; font-weight: 750; }
.storefront-hero h1 { max-width: 760px; color: #241d31; font-size: clamp(44px, 6.2vw, 76px); }
.storefront-lede { max-width: 720px; margin: 22px 0 0; color: #5d5869; font-size: 20px; }
.storefront-offers { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 28px; }
.storefront-offer { display: grid; gap: 5px; padding: 17px 18px; border-radius: 20px; border: 1px solid rgba(107,36,76,.16); background: rgba(255,255,255,.88); box-shadow: 0 12px 32px rgba(48,33,56,.07); }
.storefront-offer:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(48,33,56,.11); }
.storefront-offer-primary { border-color: rgba(107,36,76,.30); }
.storefront-offer-premium { border-color: rgba(183,133,51,.35); background: linear-gradient(145deg,#fff,#fbf6e9); }
.storefront-offer-label { color: #6b244c; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.storefront-price { display: flex; gap: 10px; align-items: baseline; }
.storefront-price s { color: #8b8790; font-size: 14px; }
.storefront-price strong { color: #241d31; font-family: "Source Serif 4", Georgia, serif; font-size: 34px; line-height: 1; }
.storefront-offer > span:last-child { color: #686272; font-size: 13px; font-weight: 650; }
.storefront-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 23px; }
.button.storefront-buy { background: #6b244c; color: #fff; box-shadow: 0 15px 32px rgba(107,36,76,.22); }
.storefront-text-link { color: #6b244c; font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.storefront-ship-note { max-width: 720px; margin: 18px 0 0; color: #716b79; font-size: 13px; }
.storefront-ship-note strong { color: #433a49; }
.storefront-art { position: relative; display: block; padding: 12px; border-radius: 180px 180px 26px 26px; background: rgba(255,255,255,.82); border: 1px solid rgba(107,36,76,.12); box-shadow: 0 26px 70px rgba(42,31,50,.15); }
.storefront-art img { display: block; width: 100%; max-height: 610px; object-fit: cover; object-position: center; border-radius: 170px 170px 20px 20px; }
.storefront-art span { position: absolute; left: 28px; bottom: 28px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.90); color: #6b244c; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.purchase-assurance { padding: 0; background: #fff; border-bottom: 1px solid var(--line); }
.purchase-assurance-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.purchase-assurance-grid div { padding: 18px 22px; border-right: 1px solid var(--line); }
.purchase-assurance-grid div:last-child { border-right: 0; }
.purchase-assurance strong, .purchase-assurance span { display: block; }
.purchase-assurance strong { color: #241d31; font-size: 15px; }
.purchase-assurance span { margin-top: 2px; color: var(--muted); font-size: 12px; }

.home-joe { background: #fff; }
.home-joe-grid { display: grid; grid-template-columns: .46fr 1fr; gap: 62px; align-items: center; }
.home-joe-cover { display: flex; justify-content: center; }
.home-joe-cover img { max-height: 430px; max-width: 100%; border-radius: 10px; filter: drop-shadow(0 25px 28px rgba(18,36,43,.20)); }
.home-joe-copy h2 { max-width: 780px; }
.home-joe-copy > p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: 18px; }
.home-book-facts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.home-book-facts span { padding: 8px 11px; border-radius: 999px; background: var(--soft); color: var(--teal-dark); font-size: 12px; font-weight: 800; }

.home-shelf { background: #f7fbfa; border-block: 1px solid var(--line); }
.home-shelf-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 32px; }
.home-shelf-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.home-shelf-card { display: grid; grid-template-columns: 105px 1fr; gap: 18px; align-items: center; padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 12px 30px rgba(18,36,43,.05); }
.home-shelf-card > a { display: flex; min-height: 150px; align-items: center; justify-content: center; }
.home-shelf-card img { max-width: 100%; max-height: 150px; border-radius: 5px; filter: drop-shadow(0 10px 12px rgba(18,36,43,.14)); }
.home-shelf-card span { color: var(--teal); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.home-shelf-card h3 { margin-top: 5px; font-family: "Source Serif 4",Georgia,serif; font-size: 22px; }
.home-shelf-card p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }

.publisher-bridge { background: #fff; padding: 60px 0; }
.publisher-bridge-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 52px; align-items: center; }
.publisher-bridge-grid p { color: var(--muted); font-size: 18px; }
.publisher-bridge-grid a { color: var(--teal-dark); font-weight: 850; }
.author-divider { padding: 38px 0; background: #12242b; color: #fff; }
.author-divider-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.author-divider h2 { color: #fff; font-size: clamp(30px,4vw,46px); }
.author-divider p:not(.eyebrow) { margin: 10px 0 0; color: rgba(255,255,255,.68); }
.author-divider .eyebrow { color: #9de1d8; }
.author-divider .button.secondary { flex: 0 0 auto; }

.fairy-offer-card { scroll-margin-top: 110px; }
.commerce-books-hero { padding-bottom: 52px; }

@media (max-width: 980px) {
 .header-wordmark { width: 178px; max-width: 26vw; }
 .site-search { display: none; }
 .storefront-hero-grid, .home-joe-grid, .publisher-bridge-grid { grid-template-columns: 1fr; }
 .storefront-art { max-width: 560px; margin-inline: auto; }
 .home-joe-grid { grid-template-columns: .48fr 1fr; gap: 34px; }
 .home-shelf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .purchase-assurance-grid { grid-template-columns: repeat(2,1fr); }
 .purchase-assurance-grid div:nth-child(2) { border-right: 0; }
 .purchase-assurance-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 760px) {
 .commerce-nav-wrap { gap: 10px; }
 .header-wordmark { width: 156px; max-width: 45vw; }
 .header-order-full { display: none; }
 .header-order-short { display: inline; }
 .header-order-cta { padding: 8px 12px; font-size: 12px; }
 .menu-word { display: none; }
 .menu-dropdown summary { padding: 10px 12px; }
 .storefront-offers { grid-template-columns: 1fr; }
 .home-joe-grid { grid-template-columns: 1fr; }
 .home-joe-cover img { max-height: 340px; }
 .home-shelf-heading, .author-divider-inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
 .nav-wrap { padding: 12px 0; }
 .header-wordmark { width: 135px; max-width: 43vw; }
 .header-order-cta { min-height: 38px; padding: 7px 10px; }
 .storefront-hero { padding-top: 34px; }
 .storefront-hero h1 { font-size: 43px; }
 .storefront-lede { font-size: 17px; }
 .storefront-art img { max-height: 470px; }
 .purchase-assurance-grid { grid-template-columns: 1fr 1fr; }
 .purchase-assurance-grid div { padding: 14px 12px; }
 .home-shelf-grid { grid-template-columns: 1fr; }
 .home-shelf-card { grid-template-columns: 92px 1fr; }
 .home-shelf-card > a { min-height: 130px; }
 .home-shelf-card img { max-height: 130px; }
}


/* v39: two clear site sections, isolated ALP, and Lindsey-first Fairy presentation */
.v39-nav-wrap { gap: 18px; }
.section-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.section-nav a { padding: 10px 15px; border-radius: 999px; color: var(--ink); font-size: 13px; font-weight: 850; }
.section-nav a:hover { background: var(--soft); color: var(--teal-dark); }
.v39-nav-wrap .header-order-cta { margin-left: 4px; }

.storefront-hero-grid { grid-template-columns: 1.08fr .78fr; }
.storefront-author-stage { display: grid; grid-template-columns: minmax(0,1fr) 145px; gap: 14px; align-items: stretch; }
.storefront-lindsey-card { grid-row: 1 / span 2; display: grid; grid-template-rows: minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(107,36,76,.14); border-radius: 28px; background: rgba(255,255,255,.92); box-shadow: 0 26px 70px rgba(42,31,50,.15); }
.storefront-lindsey-portrait { display: block; width: 100%; height: 100%; min-height: 510px; object-fit: cover; object-position: 50% 30%; }
.storefront-lindsey-info { padding: 20px 22px 22px; }
.storefront-lindsey-info span { display: block; color: #6b244c; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.storefront-lindsey-info strong { display: block; margin-top: 5px; color: #241d31; font-family: "Source Serif 4",Georgia,serif; font-size: 31px; line-height: 1.05; }
.storefront-lindsey-info p { margin: 8px 0 0; color: #686272; font-size: 13px; }
.storefront-lindsey-links { display: grid; gap: 8px; align-content: start; }
.storefront-lindsey-links a { padding: 11px 12px; border: 1px solid rgba(107,36,76,.14); border-radius: 14px; background: rgba(255,255,255,.88); color: #6b244c; font-size: 11px; font-weight: 850; line-height: 1.25; }
.storefront-art-mini { position: relative; display: block; align-self: end; overflow: hidden; min-height: 220px; border: 1px solid rgba(183,133,51,.28); border-radius: 20px; background: white; box-shadow: 0 16px 34px rgba(42,31,50,.10); }
.storefront-art-mini img { display: block; width: 100%; height: 220px; object-fit: cover; object-position: center; }
.storefront-art-mini span { position: absolute; inset: auto 8px 8px; padding: 7px 8px; border-radius: 10px; background: rgba(255,255,255,.9); color: #6b244c; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }

.fairy-hero-grid { grid-template-columns: 1.02fr .82fr; }
.fairy-hero-author { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 150px; grid-template-rows: auto auto; gap: 14px; align-items: stretch; }
.fairy-hero-portrait { grid-row: 1 / span 2; display: block; overflow: hidden; min-height: 570px; border: 1px solid rgba(107,36,76,.14); border-radius: 30px 30px 22px 22px; background: white; box-shadow: 0 26px 70px rgba(42,31,50,.15); }
.fairy-hero-portrait img { display: block; width: 100%; height: 100%; min-height: 570px; object-fit: cover; object-position: 50% 28%; }
.fairy-hero-author-copy { padding: 18px 14px; border: 1px solid rgba(107,36,76,.12); border-radius: 20px; background: rgba(255,255,255,.9); }
.fairy-hero-author-copy > span { display: block; color: var(--fairy-wine); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; }
.fairy-hero-author-copy > strong { display: block; margin-top: 5px; color: var(--fairy-ink); font-family: "Source Serif 4",Georgia,serif; font-size: 25px; line-height: 1.05; }
.fairy-hero-author-copy p { margin: 8px 0 0; color: var(--fairy-muted); font-size: 12px; }
.fairy-external-links { display: grid; gap: 7px; margin-top: 13px; }
.fairy-external-links a { color: var(--fairy-wine); font-size: 11px; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.fairy-hero-art-inset { position: relative; display: block; overflow: hidden; min-height: 230px; border: 1px solid rgba(183,133,51,.28); border-radius: 20px; background: white; }
.fairy-hero-art-inset img { display: block; width: 100%; height: 230px; object-fit: cover; object-position: center; }
.fairy-hero-art-inset span { position: absolute; inset: auto 8px 8px; padding: 7px 8px; border-radius: 10px; background: rgba(255,255,255,.9); color: var(--fairy-wine); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.fairy-author-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

.alp-page { background: #fff; }
.alp-hero { padding: 72px 0 64px; background: linear-gradient(145deg,#f4fbf9,#fff 58%,#f7f3ee); border-bottom: 1px solid var(--line); }
.alp-hero-grid { display: grid; grid-template-columns: 1.05fr .75fr; gap: 56px; align-items: center; }
.alp-hero h1 { max-width: 800px; }
.alp-hero-card { padding: 30px; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 22px 58px rgba(18,36,43,.10); }
.alp-hero-card h2 { margin-top: 8px; font-size: 34px; }
.alp-hero-card > p:not(.card-kicker) { color: var(--muted); }
.alp-hero-links { display: grid; gap: 9px; margin-top: 22px; }
.alp-hero-links a { padding: 11px 13px; border-radius: 12px; background: var(--soft); color: var(--teal-dark); font-size: 13px; font-weight: 800; }
.alp-page-nav { position: sticky; top: 78px; z-index: 8; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.alp-page-nav .container { display: flex; gap: 6px; overflow-x: auto; padding-block: 10px; }
.alp-page-nav a { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; color: var(--muted); font-size: 12px; font-weight: 800; }
.alp-page-nav a:hover { background: var(--soft); color: var(--teal-dark); }

@media (max-width: 1040px) {
 .storefront-author-stage, .fairy-hero-author { grid-template-columns: minmax(0,1fr) 130px; }
 .storefront-lindsey-portrait { min-height: 470px; }
 .fairy-hero-portrait, .fairy-hero-portrait img { min-height: 520px; }
}
@media (max-width: 980px) {
 .section-nav { margin-left: auto; }
 .storefront-author-stage { max-width: 650px; margin-inline: auto; grid-template-columns: minmax(0,1fr) 180px; }
 .fairy-hero-author { max-width: 650px; margin-inline: auto; grid-template-columns: minmax(0,1fr) 180px; }
 .alp-hero-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
 .section-nav { display: none; }
 .v39-nav-wrap { gap: 10px; }
 .v39-nav-wrap .header-order-cta { margin-left: auto; }
 .storefront-author-stage, .fairy-hero-author { grid-template-columns: minmax(0,1fr) 135px; }
 .storefront-lindsey-portrait { min-height: 430px; }
 .fairy-hero-portrait, .fairy-hero-portrait img { min-height: 470px; }
 .alp-page-nav { top: 66px; }
}
@media (max-width: 560px) {
 .storefront-author-stage, .fairy-hero-author { grid-template-columns: 1fr; }
 .storefront-lindsey-card, .fairy-hero-portrait { grid-row: auto; }
 .storefront-lindsey-portrait { min-height: 430px; }
 .storefront-lindsey-links { grid-template-columns: 1fr 1fr; }
 .storefront-art-mini, .fairy-hero-art-inset { min-height: 170px; }
 .storefront-art-mini img, .fairy-hero-art-inset img { height: 170px; }
 .fairy-hero-author-copy { order: 2; }
 .fairy-hero-art-inset { order: 3; }
 .alp-hero { padding-top: 44px; }
}

/* v39 grid placement correction */
.storefront-lindsey-card { grid-column: 1; }
.storefront-lindsey-links { grid-column: 2; grid-row: 1; }
.storefront-art-mini { grid-column: 2; grid-row: 2; }
.fairy-hero-portrait { grid-column: 1; }
.fairy-hero-author-copy { grid-column: 2; grid-row: 1; }
.fairy-hero-art-inset { grid-column: 2; grid-row: 2; }
@media (max-width: 560px) {
 .storefront-lindsey-card, .storefront-lindsey-links, .storefront-art-mini,
 .fairy-hero-portrait, .fairy-hero-author-copy, .fairy-hero-art-inset {
 grid-column: 1;
 grid-row: auto;
 }
}

/* v45 review refinement: lighten the featured Fairy title without changing surrounding layout */
#storefront-title {
 font-weight: 500;
 letter-spacing: -0.032em;
}
#storefront-title em {
 font-weight: inherit;
}

/* v46: publisher-trust homepage with fast Fairy purchase paths */
.publisher-trust-hero {
 padding: 52px 0 46px;
 background: linear-gradient(145deg, #fff 0%, #f8f7f3 64%, #f2f5f4 100%);
 border-bottom: 1px solid var(--line);
}
.publisher-trust-grid {
 display: grid;
 grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
 grid-template-areas:
 "intro stack"
 "offer detail";
 column-gap: 58px;
 row-gap: 20px;
 align-items: start;
}
.publisher-trust-copy { grid-area: intro; }
.publisher-trust-offer { grid-area: offer; min-width: 0; }
.publisher-book-stack { grid-area: stack; }
.fairy-home-detail { grid-area: detail; }
.publisher-trust-offer .fairy-flight-banner { margin-top: 0; }
.publisher-trust-kicker {
 margin: 0 0 12px;
 color: var(--teal-dark);
 font-size: 12px;
 font-weight: 800;
 letter-spacing: .12em;
 text-transform: uppercase;
}
.publisher-trust-hero h1 {
 max-width: 720px;
 color: #243238;
 font-family: "Source Serif 4", Georgia, serif;
 font-size: clamp(46px, 5.4vw, 70px);
 font-weight: 500;
 letter-spacing: -.035em;
 line-height: 1.03;
}
.publisher-trust-lede {
 max-width: 710px;
 margin: 20px 0 0;
 color: #59666a;
 font-size: clamp(18px, 1.6vw, 22px);
 line-height: 1.55;
}
.fairy-quick-order {
 margin-top: 30px;
 padding-top: 24px;
 border-top: 1px solid #d9dfdc;
}
.fairy-quick-eyebrow {
 margin: 0;
 color: #6b244c;
 font-size: 13px;
 font-weight: 750;
}
.fairy-quick-order h2 {
 max-width: 720px;
 margin-top: 8px;
 color: #4f3245;
 font-family: "Source Serif 4", Georgia, serif;
 font-size: clamp(28px, 3vw, 39px);
 font-weight: 500;
 letter-spacing: -.025em;
 line-height: 1.1;
}
.fairy-quick-note {
 max-width: 700px;
 margin: 10px 0 0;
 color: #71656e;
 font-size: 15px;
}
.fairy-quick-actions {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 10px;
 margin-top: 18px;
}
.fairy-quick-action {
 display: grid;
 align-content: start;
 min-height: 124px;
 padding: 15px 15px 14px;
 border: 1px solid #d5c9d1;
 border-radius: 10px;
 background: rgba(255,255,255,.82);
 color: #4f3245;
 box-shadow: none;
}
.fairy-quick-action:hover {
 transform: translateY(-1px);
 border-color: #8b607a;
 background: #fff;
}
.fairy-quick-action span {
 font-size: 12px;
 font-weight: 750;
 line-height: 1.25;
}
.fairy-quick-action strong {
 margin-top: 9px;
 color: #3b2935;
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 27px;
 font-weight: 600;
 line-height: 1;
}
.fairy-quick-action small {
 margin-top: 8px;
 color: #796f76;
 font-size: 11px;
 line-height: 1.3;
}
.fairy-quick-primary {
 border-color: #6b244c;
 background: #6b244c;
 color: #fff;
}
.fairy-quick-primary strong,
.fairy-quick-primary small { color: #fff; }
.fairy-quick-primary:hover { background: #561c3d; }
.fairy-quick-update { border-style: dashed; }
.fairy-quick-update strong { font-size: 20px; line-height: 1.08; }
.fairy-quick-date {
 margin: 14px 0 0;
 color: #6c6a6d;
 font-size: 12px;
}

.publisher-trust-aside {
 display: grid;
 gap: 20px;
 align-content: start;
}
.fairy-home-detail {
 padding: 24px 26px 25px;
 border: 1px solid #ddd5dc;
 border-radius: 16px;
 background: rgba(255,255,255,.86);
 box-shadow: 0 14px 34px rgba(55,43,64,.08);
}
.fairy-home-detail-kicker {
 margin: 0;
 color: #6b244c;
 font-size: 12px;
 font-weight: 750;
 letter-spacing: .07em;
 text-transform: none;
}
.fairy-home-detail h2 {
 margin: 9px 0 0;
 color: #4f3245;
 font-family: "Source Serif 4", Georgia, serif;
 font-size: clamp(25px, 2.4vw, 34px);
 font-weight: 500;
 letter-spacing: -.025em;
 line-height: 1.12;
}
.fairy-home-detail p:not(.fairy-home-detail-kicker) {
 margin: 13px 0 0;
 color: #6f646b;
 font-size: 15px;
 line-height: 1.62;
}

.publisher-book-stack {
 margin: 0;
 padding: 12px;
 border: 1px solid #d7ddda;
 border-radius: 16px;
 background: rgba(255,255,255,.86);
 box-shadow: 0 24px 56px rgba(25,42,47,.12);
}
.publisher-book-stack img {
 display: block;
 width: 100%;
 border-radius: 10px;
}
.publisher-book-stack figcaption {
 padding: 12px 8px 4px;
 color: #687477;
 font-size: 12px;
 text-align: center;
}

@media (max-width: 1080px) {
 .publisher-trust-grid {
 grid-template-columns: 1fr;
 grid-template-areas:
 "intro"
 "offer"
 "stack"
 "detail";
 row-gap: 34px;
 }
 .publisher-book-stack,
 .fairy-home-detail {
 width: 100%;
 max-width: 760px;
 margin-inline: auto;
 }
}
@media (max-width: 760px) {
 .fairy-quick-actions { grid-template-columns: 1fr; }
 .fairy-quick-action { min-height: 0; }
}
@media (max-width: 560px) {
 .publisher-trust-hero { padding-top: 34px; }
 .publisher-trust-hero h1 { font-size: 42px; }
 .publisher-trust-grid { gap: 34px; }
 .fairy-home-detail { padding: 21px 20px 22px; }
}


/* v47: reader-first Books page typography and reserved hero card */
.books-page h1,
.books-page h2,
.books-page h3,
.books-page .catalog-showcase-copy h3,
.books-page .catalog-subhead h3,
.books-page .catalog-featured-copy h3,
.books-page .info-card-block h4 {
 font-family: "Lora", Georgia, serif;
 font-weight: 500;
 letter-spacing: -0.022em;
 line-height: 1.13;
}
.books-page .page-hero h1 {
 font-weight: 500;
 letter-spacing: -0.026em;
}
.books-page .section-heading h2,
.books-page .catalog-subhead h3 {
 font-weight: 500;
}
.books-page .eyebrow,
.books-page .card-kicker,
.books-page .book-badge {
 font-weight: 650;
 letter-spacing: .10em;
}
.books-page .button {
 font-weight: 700;
}
.books-page .hero-actions {
 flex-wrap: wrap;
}
.books-page .reserved-book-card {
 min-height: 285px;
 background: rgba(255,255,255,.72);
 border-color: #d9dfdc;
 box-shadow: none;
}
@media (max-width: 760px) {
 .books-page .reserved-book-card { min-height: 150px; }
}


/* v90: Fairy creator card image sizing and full-visibility refinements */
.fairy-creators-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 26px;
 align-items: start;
}
.fairy-creator-card {
 display: grid;
 grid-template-rows: auto 1fr;
 align-items: start;
 gap: 16px;
 padding: 18px;
 border: 1px solid rgba(107,36,76,.14);
 border-radius: 24px;
 background: rgba(255,255,255,.94);
 box-shadow: 0 16px 34px rgba(42,31,50,.08);
}
.fairy-creator-card > div {
 min-width: 0;
}
.fairy-creator-card img[data-asset-id="F-IMG-04"] {
 display: block;
 width: 100%;
 height: auto;
 max-height: none;
 object-fit: contain;
 object-position: center top;
 border-radius: 18px;
 background: #fff;
}
.fairy-creator-card img[data-asset-id="F-IMG-06"] {
 display: block;
 width: 68%;
 max-width: 220px;
 height: auto;
 margin: 0 auto;
 object-fit: contain;
 object-position: center top;
 border-radius: 18px;
 background: #fff;
}
.fairy-creator-card .fairy-author-links {
 justify-content: flex-start;
 margin-top: 18px;
}
.fairy-creator-card .button {
 align-self: start;
}
.fairy-hero-art-inset {
 display: grid;
 align-items: center;
 justify-items: center;
 padding: 12px;
 background: #fff;
}
.fairy-hero-art-inset img {
 width: 82%;
 height: auto;
 max-height: 190px;
 object-fit: contain;
 object-position: center;
}
@media (max-width: 900px) {
 .fairy-creators-grid {
 grid-template-columns: 1fr;
 }
 .fairy-creator-card img[data-asset-id="F-IMG-06"] {
 width: 56%;
 max-width: 220px;
 }
}
@media (max-width: 560px) {
 .fairy-creator-card {
 padding: 16px;
 }
 .fairy-creator-card img[data-asset-id="F-IMG-06"] {
 width: 62%;
 }
}

/* v52: thinner Fairy flight banner above homepage preorder card */
.fairy-flight-banner {
 margin: 20px 0 0;
 overflow: hidden;
 border: 1px solid rgba(107, 36, 76, .14);
 border-radius: 14px;
 background: #efe8f4;
 box-shadow: 0 8px 18px rgba(55, 43, 64, .08);
}
.fairy-flight-banner img {
 display: block;
 width: 100%;
 aspect-ratio: 6.55 / 1;
 object-fit: cover;
 object-position: center;
}
.fairy-flight-banner + .fairy-quick-order {
 margin-top: 18px;
}
@media (max-width: 560px) {
 .fairy-flight-banner {
 margin-top: 18px;
 border-radius: 12px;
 }
 .fairy-flight-banner img {
 aspect-ratio: 4.2 / 1;
 object-position: 50% center;
 }
}

/* v55: Joe paperback development status pill */
.development-pill {
 display: inline-flex;
 align-items: center;
 min-height: 44px;
 padding: 0 16px;
 border: 1px solid rgba(107, 36, 76, .20);
 border-radius: 999px;
 background: rgba(107, 36, 76, .07);
 color: #6b244c;
 font-size: 13px;
 font-weight: 650;
 letter-spacing: .01em;
 white-space: nowrap;
}
@media (max-width: 560px) {
 .development-pill {
 width: 100%;
 justify-content: center;
 }
}


/* v56: align H-IMG-11 with H-CRD-12 using H-CRD-12 as the row anchor */


/* v59: open Fairy book spread under H-TTL-11 */
.fairy-spread-preview {
 margin: 18px 0 0;
 padding: 10px;
 border: 1px solid rgba(107, 36, 76, .14);
 border-radius: 16px;
 background: rgba(255,255,255,.92);
 box-shadow: 0 14px 28px rgba(55, 43, 64, .08);
}
.fairy-spread-preview img {
 display: block;
 width: 100%;
 height: auto;
 border-radius: 12px;
}
@media (max-width: 560px) {
 .fairy-spread-preview {
 margin-top: 16px;
 padding: 8px;
 border-radius: 14px;
 }
 .fairy-spread-preview img { border-radius: 10px; }
}


.fairy-home-creators {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 14px;
 margin-top: 16px;
}
.fairy-home-creator {
 margin: 0;
 padding: 10px;
 border: 1px solid rgba(107, 36, 76, .14);
 border-radius: 16px;
 background: rgba(255,255,255,.92);
 box-shadow: 0 10px 20px rgba(55, 43, 64, .06);
 text-align: center;
}
.fairy-home-creator img {
 display: block;
 width: 100%;
 aspect-ratio: 1 / 1;
 object-fit: cover;
 object-position: center top;
 border-radius: 12px;
}
.fairy-home-creator figcaption {
 padding: 10px 4px 2px;
}
.fairy-home-creator figcaption strong {
 display: block;
 color: #4f3245;
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 18px;
 font-weight: 600;
 line-height: 1.15;
}
.fairy-home-creator figcaption span {
 display: block;
 margin-top: 4px;
 color: #7b6f77;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: .06em;
 text-transform: uppercase;
}
@media (max-width: 560px) {
 .fairy-home-creators {
 grid-template-columns: 1fr;
 gap: 12px;
 }
}

/* v60: align H-CRD-12 from the top of H-CRD-01 through the bottom of H-CRD-13 */
@media (min-width: 1081px) {
 .publisher-trust-grid {
 grid-template-areas:
 "intro stack"
 "banner ."
 "offer detail";
 grid-template-rows: auto auto auto;
 row-gap: 18px;
 }
 .publisher-trust-copy { grid-area: intro; }
 .publisher-book-stack { grid-area: stack; }
 .fairy-flight-banner { grid-area: banner; margin: 0; }
 .fairy-quick-order {
 grid-area: offer;
 margin-top: 0;
 align-self: stretch;
 }
 .fairy-home-detail {
 grid-area: detail;
 display: flex;
 flex-direction: column;
 align-self: stretch;
 height: 100%;
 }
 .fairy-home-detail .fairy-quick-note {
 margin-top: auto;
 padding-top: 24px;
 border-top: 1px solid rgba(107, 36, 76, .18);
 }
}

@media (max-width: 1080px) {
 .publisher-trust-grid {
 grid-template-areas:
 "intro"
 "stack"
 "banner"
 "offer"
 "detail";
 }
 .fairy-flight-banner { grid-area: banner; }
 .fairy-quick-order { grid-area: offer; }
 .fairy-home-detail { grid-area: detail; }
 .fairy-home-detail .fairy-quick-note {
 padding-top: 22px;
 border-top: 1px solid rgba(107, 36, 76, .18);
 }
}

/* v61: full-width Fairy transition section beneath H-CRD-11 */
@media (min-width: 1081px) {
 .publisher-trust-grid {
 grid-template-areas:
 "intro stack"
 "transition transition"
 "offer detail";
 grid-template-rows: auto auto auto;
 row-gap: 18px;
 }
 .fairy-transition-section { grid-area: transition; }
 .fairy-quick-order { grid-area: offer; }
 .fairy-home-detail { grid-area: detail; }
}

.fairy-transition-section {
 min-width: 0;
 padding: 42px 0 28px;
}
.fairy-section-divider {
 position: relative;
 height: 18px;
 margin: 0 0 34px;
 overflow: hidden;
}
.fairy-section-divider::before,
.fairy-section-divider::after {
 content: "";
 position: absolute;
 top: 50%;
 width: calc(50% - 34px);
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(107,36,76,.22), rgba(107,36,76,.48));
}
.fairy-section-divider::before { left: 0; }
.fairy-section-divider::after {
 right: 0;
 transform: scaleX(-1);
}
.fairy-section-divider span {
 position: absolute;
 left: 50%;
 top: 50%;
 width: 38px;
 height: 12px;
 transform: translate(-50%,-50%);
 background:
 radial-gradient(circle at 20% 50%, rgba(107,36,76,.72) 0 1.3px, transparent 1.8px),
 radial-gradient(circle at 50% 50%, rgba(107,36,76,.9) 0 2px, transparent 2.6px),
 radial-gradient(circle at 80% 50%, rgba(107,36,76,.72) 0 1.3px, transparent 1.8px);
}
.fairy-section-divider span::after {
 content: "";
 position: absolute;
 inset: -2px -480px;
 opacity: .42;
 background: repeating-linear-gradient(90deg, transparent 0 48px, rgba(107,36,76,.18) 49px 50px, transparent 51px 96px);
 animation: fairy-divider-drift 18s linear infinite;
}
@keyframes fairy-divider-drift {
 from { transform: translateX(-96px); }
 to { transform: translateX(96px); }
}
@media (prefers-reduced-motion: reduce) {
 .fairy-section-divider span::after { animation: none; }
}
.fairy-flight-banner-wide {
 margin: 0;
 border-radius: 16px;
 box-shadow: 0 12px 28px rgba(55,43,64,.09);
}
.fairy-flight-banner-wide img {
 aspect-ratio: 14.5 / 1;
 object-fit: cover;
 object-position: center;
}

@media (max-width: 1080px) {
 .publisher-trust-grid {
 grid-template-areas:
 "intro"
 "stack"
 "transition"
 "offer"
 "detail";
 }
 .fairy-transition-section { grid-area: transition; padding: 36px 0 24px; }
 .fairy-section-divider { margin-bottom: 28px; }
 .fairy-flight-banner-wide img { aspect-ratio: 9.5 / 1; }
}
@media (max-width: 560px) {
 .fairy-transition-section { padding: 28px 0 20px; }
 .fairy-section-divider { margin-bottom: 22px; }
 .fairy-flight-banner-wide { border-radius: 12px; }
 .fairy-flight-banner-wide img {
 aspect-ratio: 5.1 / 1;
 object-position: center;
 }
}

/* v64: multi-paragraph Fairy descriptive copy */
.fairy-home-detail-body { margin-top: 13px; }
.fairy-home-detail-body p { margin: 0; }
.fairy-home-detail-body p + p { margin-top: 13px; }


/* v81: author-specific title homes and current publishing season */
.home-steve { background: linear-gradient(135deg, #eef7f7 0%, #f8fbfb 60%, #ffffff 100%); border-block: 1px solid var(--line); }
.home-steve-grid { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.45fr); gap: 56px; align-items: center; }
.home-steve-cover { display: block; max-width: 310px; justify-self: center; }
.home-steve-cover img { width: 100%; display: block; border-radius: 6px; box-shadow: 0 22px 46px rgba(28, 58, 66, .18); }
.home-steve-copy h2 { margin-bottom: 16px; }
.home-steve-copy p:not(.eyebrow) { max-width: 680px; color: var(--muted); font-size: 1.08rem; }
.catalog-development-note { max-width: 840px; margin: 8px auto 30px; text-align: center; color: var(--muted); }
.sugar-book-hero { background: linear-gradient(135deg, #edf8f6 0%, #f6fbfa 58%, #ffffff 100%); }
.sugar-page h1 em, .sugar-page h2 em { color: #0b6265; }
.sugar-author-line { color: #0b6265; font-weight: 750; margin: -4px 0 16px; }
.sugar-hero-card { border-top: 6px solid #0b7273; }
.sugar-cover img, .sugar-original-cover img { width: 100%; display: block; border-radius: 5px; box-shadow: 0 18px 36px rgba(20, 74, 77, .18); }
.sugar-evolution-section, .sugar-author-section, .sugar-legacy-section, .sugar-update-section, .joe-author-section { padding: 78px 0; }
.sugar-evolution-section { background: #fff; }
.sugar-author-section { background: #f3f8f7; border-block: 1px solid var(--line); }
.sugar-author-note, .joe-author-note { align-items: start; }
.sugar-author-note a { color: #0b6265; font-weight: 800; }
.sugar-legacy-section { background: #fff; }
.sugar-legacy-grid { display: grid; grid-template-columns: minmax(180px, 300px) minmax(0, 1fr); gap: 54px; align-items: center; }
.sugar-legacy-grid p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: 1.06rem; }
.sugar-update-section { background: linear-gradient(135deg, #123d43, #0b6667); color: #fff; }
.sugar-update-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: start; }
.sugar-update-section .eyebrow, .sugar-update-section h2 { color: #fff; }
.sugar-update-section p { color: rgba(255,255,255,.83); }
.sugar-update-form { background: #fff; color: var(--ink); padding: 28px; border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.18); display: grid; gap: 16px; }
.sugar-update-form label { display: grid; gap: 7px; font-weight: 750; font-size: .92rem; }
.sugar-update-form input { width: 100%; padding: 12px 13px; border: 1px solid #cbd6d5; border-radius: 8px; font: inherit; }
.sugar-update-form input:focus { outline: 3px solid rgba(11, 114, 115, .18); border-color: #0b7273; }
.sugar-update-form .form-fineprint { color: #5f6b6d; font-size: .82rem; margin: 0; }
.form-hidden { position: absolute !important; left: -9999px !important; }
.joe-author-section { background: #f5f8fa; border-top: 1px solid var(--line); }
@media (max-width: 820px) {
 .home-steve-grid, .sugar-legacy-grid, .sugar-update-grid { grid-template-columns: 1fr; }
 .home-steve-cover { max-width: 260px; }
 .sugar-original-cover { max-width: 250px; margin-inline: auto; }
}


/* v83: author-specific dropdown in the primary header */
.section-nav .authors-menu {
 position: relative;
 margin: 0;
}
.section-nav .authors-menu > summary {
 display: flex;
 align-items: center;
 gap: 7px;
 padding: 10px 15px;
 border-radius: 999px;
 color: var(--ink);
 font-size: 13px;
 font-weight: 850;
 cursor: pointer;
 list-style: none;
 user-select: none;
}
.section-nav .authors-menu > summary::-webkit-details-marker { display: none; }
.section-nav .authors-menu > summary:hover,
.section-nav .authors-menu[open] > summary,
.section-nav .authors-menu:focus-within > summary {
 background: var(--soft);
 color: var(--teal-dark);
}
.authors-menu-caret {
 width: 7px;
 height: 7px;
 border-right: 2px solid currentColor;
 border-bottom: 2px solid currentColor;
 transform: translateY(-2px) rotate(45deg);
 transition: transform .18s ease;
}
.authors-menu[open] .authors-menu-caret { transform: translateY(2px) rotate(225deg); }
.section-nav .authors-menu-panel {
 position: absolute;
 top: calc(100% + 10px);
 right: 0;
 z-index: 80;
 width: min(410px, 82vw);
 padding: 10px;
 border: 1px solid var(--line);
 border-radius: 20px;
 background: rgba(255,255,255,.98);
 box-shadow: 0 24px 60px rgba(18,36,43,.18);
 backdrop-filter: blur(16px);
}
.section-nav .authors-menu-panel::before {
 content: "";
 position: absolute;
 top: -6px;
 right: 29px;
 width: 11px;
 height: 11px;
 border-top: 1px solid var(--line);
 border-left: 1px solid var(--line);
 background: white;
 transform: rotate(45deg);
}
.section-nav .authors-menu-panel .authors-menu-link {
 position: relative;
 display: grid;
 gap: 3px;
 padding: 12px 13px;
 border-radius: 13px;
 color: var(--ink);
 white-space: normal;
}
.section-nav .authors-menu-panel .authors-menu-link:hover,
.section-nav .authors-menu-panel .authors-menu-link:focus-visible,
.section-nav .authors-menu-panel .authors-menu-link[aria-current="page"] {
 background: var(--soft);
 color: var(--teal-dark);
}
.section-nav .authors-menu-panel .authors-menu-link strong {
 font-size: 13px;
 font-weight: 850;
 line-height: 1.25;
}
.section-nav .authors-menu-panel .authors-menu-link span {
 color: var(--muted);
 font-size: 11px;
 font-weight: 650;
 line-height: 1.35;
}
.section-nav .authors-menu-panel .authors-menu-link:hover span,
.section-nav .authors-menu-panel .authors-menu-link:focus-visible span,
.section-nav .authors-menu-panel .authors-menu-link[aria-current="page"] span { color: inherit; opacity: .78; }
.authors-menu-separator {
 display: block;
 height: 1px;
 margin: 6px 5px;
 background: var(--line);
}
.section-nav .authors-menu-panel .authors-menu-for-authors {
 grid-template-columns: 1fr;
 background: rgba(17,111,111,.055);
}
@media (prefers-reduced-motion: reduce) {
 .authors-menu-caret { transition: none; }
}

/* v105: About MediSelf Press buyer trust and publisher credibility page */
.about-page main {
 overflow: hidden;
 background: #fff;
}
.about-hero {
 position: relative;
 padding: 86px 0 78px;
 background:
  radial-gradient(circle at 10% 15%, rgba(19,124,118,.12), transparent 34%),
  radial-gradient(circle at 88% 12%, rgba(38,107,145,.12), transparent 32%),
  linear-gradient(180deg, #fbfffe 0%, #f2faf8 100%);
 border-bottom: 1px solid var(--line);
}
.about-hero::after {
 content: "";
 position: absolute;
 right: -130px;
 bottom: -210px;
 width: 430px;
 height: 430px;
 border: 1px solid rgba(19,124,118,.10);
 border-radius: 50%;
 pointer-events: none;
}
.about-hero-grid {
 position: relative;
 z-index: 1;
 display: grid;
 grid-template-columns: minmax(0, 1.2fr) minmax(300px, .72fr);
 gap: 58px;
 align-items: center;
}
.about-hero-copy h1 { max-width: 760px; }
.about-hero-lede {
 max-width: 730px;
 margin: 25px 0 0;
 color: var(--muted);
 font-size: 21px;
}
.about-identity-card {
 padding: 31px;
 border: 1px solid rgba(19,124,118,.20);
 border-radius: 30px;
 background: rgba(255,255,255,.92);
 box-shadow: 0 26px 70px rgba(18,36,43,.12);
}
.about-mark {
 display: block;
 width: 112px;
 height: 112px;
 margin: 0 0 24px;
 border-radius: 50%;
 box-shadow: 0 12px 30px rgba(18,36,43,.14);
}
.about-identity-list { margin: 0; }
.about-identity-list > div {
 display: grid;
 grid-template-columns: 98px minmax(0, 1fr);
 gap: 14px;
 padding: 13px 0;
 border-top: 1px solid var(--line);
}
.about-identity-list dt {
 color: var(--muted);
 font-size: 12px;
 font-weight: 800;
 letter-spacing: .08em;
 text-transform: uppercase;
}
.about-identity-list dd {
 margin: 0;
 color: var(--ink);
 font-size: 14px;
 font-weight: 700;
 overflow-wrap: anywhere;
}
.about-identity-list a { color: var(--teal-dark); }
.about-order-section {
 background: #fff;
 border-bottom: 1px solid var(--line);
}
.about-trust-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 22px;
}
.about-trust-card {
 position: relative;
 min-height: 100%;
 padding: 30px;
 border: 1px solid var(--line);
 border-radius: 26px;
 background: linear-gradient(180deg, #fff 0%, #f8fbfa 100%);
 box-shadow: 0 14px 38px rgba(18,36,43,.06);
}
.about-card-number {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 42px;
 height: 42px;
 margin-bottom: 22px;
 border-radius: 14px;
 background: var(--soft);
 color: var(--teal-dark);
 font-size: 13px;
 font-weight: 900;
}
.about-trust-card h3 {
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 29px;
}
.about-trust-card p {
 margin: 15px 0 0;
 color: var(--muted);
}
.about-publisher-section {
 background: linear-gradient(180deg, #f6faf9 0%, #eef7f5 100%);
 border-bottom: 1px solid var(--line);
}
.about-publisher-grid {
 display: grid;
 grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
 gap: 64px;
 align-items: start;
}
.about-publisher-heading {
 position: sticky;
 top: 116px;
}
.about-role-line {
 margin: 18px 0 0;
 color: var(--teal-dark);
 font-weight: 800;
}
.about-publisher-copy p { font-size: 18px; }
.about-proof-strip {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 0;
 margin-top: 54px;
 padding: 12px;
 border: 1px solid rgba(19,124,118,.16);
 border-radius: 28px;
 background: rgba(255,255,255,.88);
 box-shadow: 0 16px 44px rgba(18,36,43,.07);
}
.about-proof-strip > div {
 min-width: 0;
 padding: 22px 18px;
 text-align: center;
}
.about-proof-strip > div + div { border-left: 1px solid var(--line); }
.about-proof-strip strong {
 display: block;
 color: var(--teal-dark);
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 31px;
 line-height: 1.05;
 letter-spacing: -.04em;
}
.about-proof-strip span {
 display: block;
 margin-top: 7px;
 color: var(--muted);
 font-size: 13px;
 font-weight: 750;
}
.about-inspire-section {
 padding: 88px 0;
 background:
  radial-gradient(circle at 92% 12%, rgba(82,165,158,.22), transparent 34%),
  linear-gradient(135deg, #102d32 0%, #17484b 58%, #0f5d5a 100%);
 color: #fff;
}
.about-inspire-card {
 display: grid;
 grid-template-columns: minmax(230px, .58fr) minmax(0, 1.42fr);
 gap: 58px;
 align-items: center;
}
.about-inspire-mark-wrap { text-align: center; }
.about-inspire-mark {
 display: block;
 width: min(300px, 100%);
 margin: 0 auto;
 border: 10px solid rgba(255,255,255,.12);
 border-radius: 50%;
 box-shadow: 0 30px 70px rgba(0,0,0,.26);
}
.about-inspire-mark-wrap p {
 margin: 18px 0 0;
 color: rgba(255,255,255,.65);
 font-size: 12px;
 font-weight: 800;
 letter-spacing: .12em;
 text-transform: uppercase;
}
.about-inspire-section .eyebrow { color: #a8e4dc; }
.about-inspire-copy h2 { max-width: 740px; color: #fff; }
.about-inspire-origin {
 max-width: 800px;
 margin: 22px 0 0;
 color: rgba(255,255,255,.78);
 font-size: 18px;
}
.about-inspire-origin strong { color: #fff; }
.inspire-acronym-list {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 10px;
 margin-top: 28px;
}
.inspire-acronym-list > div {
 display: flex;
 align-items: center;
 gap: 10px;
 min-width: 0;
 padding: 13px 14px;
 border: 1px solid rgba(255,255,255,.14);
 border-radius: 15px;
 background: rgba(255,255,255,.08);
}
.inspire-acronym-list strong {
 flex: 0 0 auto;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 31px;
 height: 31px;
 border-radius: 10px;
 background: rgba(255,255,255,.16);
 color: #fff;
 font-size: 15px;
}
.inspire-acronym-list span {
 min-width: 0;
 color: rgba(255,255,255,.88);
 font-size: 13px;
 font-weight: 750;
 overflow-wrap: anywhere;
}
.about-inspire-center {
 margin: 22px 0 0;
 padding: 18px 20px;
 border-left: 3px solid #a8e4dc;
 background: rgba(255,255,255,.07);
 color: #fff;
 font-family: "Source Serif 4", Georgia, serif;
 font-size: 20px;
 line-height: 1.45;
}
.about-origin-section { background: #fff; }
.about-origin-card {
 display: grid;
 grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
 gap: 56px;
 align-items: start;
 padding: 44px;
 border: 1px solid var(--line);
 border-radius: 32px;
 background: linear-gradient(135deg, #fff 0%, #f6fbfa 100%);
 box-shadow: 0 18px 50px rgba(18,36,43,.07);
}
.about-origin-copy p {
 margin: 0;
 color: var(--muted);
 font-size: 18px;
}
.about-origin-copy p + p { margin-top: 20px; }
.about-contact-section {
 padding-top: 22px;
 background: #fff;
}
.about-contact-card {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 42px;
 padding: 46px;
 border-radius: 32px;
 background: var(--ink);
 color: #fff;
 box-shadow: var(--shadow);
}
.about-contact-card h2 { color: #fff; }
.about-contact-card p:not(.eyebrow) {
 margin: 17px 0 0;
 color: rgba(255,255,255,.72);
 font-size: 17px;
}
.about-contact-card .eyebrow { color: #9de1d8; }
.about-contact-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 justify-content: flex-end;
}
.about-contact-card .button.secondary {
 border-color: rgba(255,255,255,.25);
 background: rgba(255,255,255,.08);
 color: #fff;
}
@media (max-width: 900px) {
 .about-hero-grid,
 .about-publisher-grid,
 .about-inspire-card,
 .about-origin-card { grid-template-columns: 1fr; }
 .about-publisher-heading { position: static; }
 .about-trust-grid { grid-template-columns: 1fr; }
 .about-proof-strip { grid-template-columns: repeat(2, 1fr); }
 .about-proof-strip > div + div { border-left: 0; }
 .about-proof-strip > div:nth-child(even) { border-left: 1px solid var(--line); }
 .about-proof-strip > div:nth-child(n+3) { border-top: 1px solid var(--line); }
 .about-inspire-mark { max-width: 270px; }
 .inspire-acronym-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .about-contact-card { align-items: flex-start; flex-direction: column; }
 .about-contact-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
 .about-hero { padding: 58px 0 54px; }
 .about-hero-lede { font-size: 18px; }
 .about-identity-card { padding: 24px; }
 .about-identity-list > div { grid-template-columns: 1fr; gap: 5px; }
 .about-trust-card { padding: 24px; }
 .about-proof-strip { grid-template-columns: 1fr; padding: 8px 18px; }
 .about-proof-strip > div:nth-child(even) { border-left: 0; }
 .about-proof-strip > div + div { border-top: 1px solid var(--line); }
 .about-inspire-section { padding: 62px 0; }
 .inspire-acronym-list { grid-template-columns: 1fr; }
 .about-inspire-center { font-size: 18px; }
 .about-origin-card, .about-contact-card { padding: 28px; }
 .about-contact-actions { width: 100%; }
 .about-contact-actions .button { width: 100%; }
}

