:root {
  --navy: #07172f;
  --navy-light: #112540;
  --ink: #172b43;
  --gold: #e0b96e;
  --gold-ink: #765721;
  --paper: #f3f5f8;
  --muted: #526174;
  --line: #dce2e9;
  --serif: Georgia, 'Times New Roman', serif;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; border: 0; }
input, select, textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #96a4b5; border-radius: 4px; background: #fff; color: var(--ink); }
textarea { resize: vertical; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #ab781f; outline-offset: 3px; }
.information-content { max-width: 820px; }
.information-content h1 { font-size: clamp(2.7rem,5vw,4rem); }
.information-content h2 { font-size: 1.65rem; margin: 34px 0 16px; }
.information-content .section-intro { margin-bottom: 30px; }
.information-content a, .enquiry-section p a, .purchase-terms-link a { text-decoration: underline; }
.footer-legal { justify-content: flex-start !important; flex-wrap: wrap; gap: 12px 24px; padding-block: 12px 20px; }
.endorsement-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: center; }
.endorsement-grid figure { padding-left: 28px; border-left: 3px solid var(--gold); }
.endorsement-grid blockquote { font: 1.45rem/1.6 var(--serif); margin: 0 0 24px; }
.endorsement-grid figcaption span { display: block; color: var(--muted); font-size: .875rem; }
.enquiry-section { background: var(--paper); }
.enquiry-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; }
.enquiry-grid h2 { margin-bottom: 24px; }
.enquiry-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.enquiry-fields label { display: block; font-size: .9375rem; font-weight: 600; }
.enquiry-fields input, .enquiry-fields select, .enquiry-fields textarea { display: block; margin-top: 7px; font-size: 1rem; font-weight: 400; }
.enquiry-fields .field-wide { grid-column: 1/-1; }
.optional { font-weight: 400; color: var(--muted); }
.enquiry-section .small-note { font-size: .875rem; margin-top: 18px; }

.keynote-topics li { margin-bottom: 12px; }
.purchase-terms-link { margin-top: 24px; padding-bottom: 8px; font-size: .9375rem; }
@media (max-width: 760px) {
  .endorsement-grid, .enquiry-grid { grid-template-columns: 1fr; gap: 30px; }
  .enquiry-fields { grid-template-columns: 1fr; }
  .endorsement-grid figure { padding-left: 20px; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin: 0; font: 16px/1.7 Arial, Helvetica, sans-serif; color: var(--ink); background: #fff; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; text-underline-offset: .25em; }
a:hover { text-decoration: underline; }
a:focus-visible, summary:focus-visible { outline: 3px solid #ab781f; outline-offset: 5px; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 5vw, 4.7rem); max-width: 690px; }
h2 { font-size: clamp(2.15rem, 3.3vw, 3.25rem); }
h2 em { color: var(--gold-ink); font-style: normal; }
h3 { font-size: 1.125rem; line-height: 1.4; }
p { margin-bottom: 1rem; }
img { max-width: 100%; }
.wrap { width: min(1160px, calc(100% - 80px)); margin-inline: auto; }
.section { padding: 88px 0; }
.eyebrow { font-size: .875rem; letter-spacing: .12em; font-weight: 700; line-height: 1.6; color: var(--gold-ink); margin-bottom: 18px; }
.section-intro { color: var(--muted); margin: 22px 0 0; max-width: 640px; }
.section-heading { margin-bottom: 38px; }
.split-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: end; }
.split-heading>p { color: var(--muted); max-width: 450px; margin: 0 0 5px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 13px; min-height: 48px; padding: 12px 22px; font-size: .9375rem; font-weight: 700; border-radius: 4px; line-height: 1.5; transition: background-color .18s, box-shadow .18s; }
.button:hover { text-decoration: none; box-shadow: 0 5px 20px #0002; }
.gold { background: var(--gold); color: var(--navy); }
.gold:hover { background: #edcb8c; }
.outline-button { border: 1px solid var(--ink); color: var(--ink); background: transparent; }
.outline-button:hover { background: #e8edf3; }
.text-link, .simple-link { text-decoration: underline; text-underline-offset: 5px; font-weight: 600; }
.text-link { line-height: 1.6; }
.text-link span { display: inline-block; padding-left: 5px; }
.simple-link { font-size: .9375rem; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 26px; margin-top: 30px; }
.skip { position: fixed; left: 16px; top: -100px; z-index: 50; background: var(--gold); padding: 12px; }
.skip:focus { top: 12px; }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--navy); color: #fff; border-bottom: 1px solid #ffffff25; }
.site-header .nav { display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 92px; padding-block: 14px; }
.brand { font: 1.35rem/1.2 var(--serif); }
.brand:hover { text-decoration: none; }
.brand span { display: block; font: .75rem/1.5 Arial, Helvetica, sans-serif; letter-spacing: .07em; color: #b9c8da; margin-top: 6px; }
.site-header nav { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; font-size: .9375rem; }
.site-header nav a { padding: 10px 0 8px; border-bottom: 2px solid transparent; }
.site-header nav a[aria-current="page"] { color: var(--gold); border-bottom-color: var(--gold); }
.site-header nav a:hover { color: var(--gold); text-decoration: none; }
.hero { background: var(--navy); color: #fff; }
.hero .eyebrow, .about .eyebrow, .newsletter-section .eyebrow { color: var(--gold); }
.hero em, .about h2 em, .newsletter-section h2 em { color: var(--gold); font-style: normal; }
.hero-grid, .home-hero-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 70px; align-items: center; padding-block: 66px 72px; }
.home-hero-grid { padding-block: 70px 78px; }
.home-hero h1 { font-size: clamp(3.2rem, 5.2vw, 4.8rem); }
.home-intro { font-size: 1.125rem; line-height: 1.75; max-width: 570px; color: #c8d3e1; margin: 26px 0 0; }
.availability { font-size: .875rem; color: #b9c8da; margin: 22px 0 0; max-width: 540px; }
.byline { margin: 20px 0 24px; color: #b9c8da; font-size: 1rem; }
.lead { font-size: 1.35rem; line-height: 1.5; margin-bottom: 14px; }
.intro { max-width: 460px; color: #c8d3e1; }
.cover { width: min(100%, 300px); justify-self: center; }
.cover img, .home-book img { display: block; width: 100%; height: auto; box-shadow: 0 24px 45px #0005; border: 1px solid #ffffff20; }
.home-book { text-align: center; border-left: 1px solid #ffffff25; padding-left: 46px; }
.home-book .eyebrow { font-size: .8125rem; letter-spacing: .08em; margin-bottom: 24px; }
.home-book img { width: min(100%, 253px); margin-inline: auto; }
.home-book>a { display: block; }
.book-caption { margin-top: 24px; display: grid; gap: 8px; font-size: .9375rem; color: #c8d3e1; }
.book-caption a { color: var(--gold); text-decoration: underline; }
.expertise-strip { background: var(--navy-light); color: #d5dfeb; }
.expertise-strip .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 18px; font-size: .875rem; letter-spacing: .015em; }
.expertise-strip span { padding-left: 18px; border-left: 2px solid var(--gold); }
.focus-grid, .steps-grid, .work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.focus-grid article, .work-grid article { padding-top: 24px; border-top: 1px solid var(--line); }
.item-number { font-size: .875rem; font-weight: 700; letter-spacing: .06em; color: var(--gold-ink); }
.focus-grid h3, .steps-grid h3, .work-grid h3 { margin: 13px 0 12px; }
.focus-grid p, .steps-grid p, .work-grid p { color: var(--muted); margin: 0; }
.resource-section, .work-section, .formats { background: var(--paper); }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 36px; }
.resource-card { background: #fff; padding: 36px; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 5px; display: flex; flex-direction: column; }
.resource-card h3 { font: 2rem/1.25 var(--serif); letter-spacing: -.025em; margin-bottom: 20px; }
.resource-card>p:not(.card-label) { color: var(--muted); margin-bottom: 28px; }
.resource-card .text-link { margin-top: auto; }
.card-label, .format-card>p.card-label { display: flex; align-items: center; min-height: 30px; margin: 0 0 14px; font-size: .875rem; letter-spacing: .065em; font-weight: 700; color: var(--gold-ink); }
.writing-section { background: #fff; }
.writing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.writing-card { display: flex; flex-direction: column; padding: 28px 25px; border: 1px solid var(--line); border-radius: 5px; transition: border-color .2s, box-shadow .2s; }
.writing-card:hover { text-decoration: none; border-color: #b89a60; box-shadow: 0 10px 28px #1026400c; }
.writing-card:hover .text-link { text-decoration-thickness: 2px; }
.writing-card .card-label { font-size: .8125rem; }
.writing-card h3 { font: 1.65rem/1.3 var(--serif); letter-spacing: -.025em; margin-bottom: 17px; }
.writing-card p { color: var(--muted); }
.writing-card .text-link { margin-top: auto; padding-top: 18px; font-size: .9375rem; }
.channel-links { display: flex; flex-wrap: wrap; gap: 14px 26px; align-items: center; margin-top: 28px; font-size: .9375rem; }
.channel-links>span { color: var(--muted); margin-right: auto; }
.channel-links a { text-decoration: underline; }
.newsletter-section, .about { background: var(--navy); color: #fff; }
.newsletter-grid, .about-home-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 85px; }
.newsletter-grid { align-items: center; }
.newsletter-section h2, .about h2 { margin-bottom: 24px; }
.newsletter-section p:not(.eyebrow), .about p:not(.eyebrow) { color: #c8d3e1; }
.newsletter-copy { padding-left: 36px; border-left: 1px solid #ffffff30; }
.newsletter-copy>p:first-child { font-size: 1.125rem; line-height: 1.75; margin-bottom: 26px; }
.newsletter-copy .small-note { font-size: .875rem; margin: 16px 0 0; }
.about-home-grid>div:last-child p { font-size: 1.0625rem; color: var(--muted); }
.about-home-grid>div:last-child p:first-child { color: var(--ink); }
.about-home-grid .text-link { display: inline-block; margin-top: 6px; }
.work-grid article { display: flex; flex-direction: column; }
.work-grid .text-link { margin-top: auto; padding-top: 22px; font-size: .9375rem; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 35px; }
.testimonial-grid figure { display: flex; flex-direction: column; padding: 0 0 0 24px; border-left: 2px solid var(--gold); }
.quote-mark { color: var(--gold-ink); font: 3.5rem/.8 var(--serif); margin-top: 8px; }
.testimonial-grid blockquote { margin: 16px 0 25px; font: 1.3rem/1.55 var(--serif); }
.testimonial-grid figcaption { margin-top: auto; font-size: .9375rem; font-weight: 700; }
.testimonial-grid figcaption span { display: block; color: var(--muted); font-weight: 400; font-size: .875rem; }
.home-feedback .caption { margin-top: 30px; }
.caption { font-size: .875rem; color: var(--muted); margin: 22px 0 0; }
.caption a { text-decoration: underline; }
.about-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 85px; }
.about-grid>div>p { max-width: 580px; }
.contact { border-left: 1px solid #ffffff30; padding-left: 38px; align-self: stretch; }
.contact h3 { font: 1.75rem/1.3 var(--serif); margin-bottom: 18px; }
.contact .email { display: block; margin: 16px 0 24px; font-size: 1rem; text-decoration: underline; overflow-wrap: anywhere; }
.author-links { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 22px; }
.contact-social { display: block; color: #d7e0ec; font-size: .9375rem; margin-top: 22px; text-decoration: underline; }
.site-footer { background: var(--navy); color: #b9c8da; font-size: .875rem; }
.footer-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 35px; padding-block: 32px; border-top: 1px solid #ffffff25; }
.footer-main .brand { color: #fff; font-size: 1.2rem; }
.footer-main p { margin: 10px 0 0; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 25px; }
.site-footer nav a { padding-block: 7px; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-block: 18px 26px; border-top: 1px solid #ffffff1c; font-size: .8125rem; }
.readers { background: var(--paper); padding: 26px 0; text-align: center; }
.readers p { margin-bottom: 4px; }
.readers p:last-child { color: var(--muted); font-size: .9375rem; margin: 0; }
.book-jumps { background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .9375rem; }
.book-jumps .wrap { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 36px; padding-block: 12px; }
.book-jumps a { padding-block: 8px; text-decoration: underline; }
.reviews { border-bottom: 1px solid var(--line); }
.feedback-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; margin-top: 32px; align-items: stretch; }
.feedback-entry { display: flex; flex-direction: column; padding: 32px; background: var(--paper); border-top: 3px solid var(--gold); border-radius: 5px; }
.feedback-entry:first-child { background: var(--navy); color: #fff; }
.feedback-entry blockquote { font: 1.4rem/1.55 var(--serif); margin: 0 0 26px; white-space: pre-wrap; }
.feedback-entry:first-child blockquote { font-size: 1.5rem; }
.feedback-person { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.feedback-person p { margin: 0; }
.feedback-person small { display: block; font-size: .875rem; color: var(--muted); }
.feedback-entry:first-child .feedback-person strong { color: var(--gold); }
.feedback-entry:first-child .feedback-person small { color: #c8d3e1; }
.feedback-person img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.inside-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; }
.outcomes { padding: 0; margin: 0; list-style: none; }
.outcomes li { display: flex; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.outcomes li:first-child { padding-top: 0; }
.outcomes li>span { color: var(--gold-ink); font-size: .875rem; padding-top: 2px; }
.outcomes p { color: var(--muted); margin: 6px 0 0; }
.contents { margin-top: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
summary { list-style: none; cursor: pointer; position: relative; padding: 20px 34px 20px 0; font-weight: 600; font-size: 1rem; }
summary::-webkit-details-marker { display: none; }
summary::after { content: '+'; position: absolute; right: 3px; top: 16px; font-size: 1.4rem; color: var(--gold-ink); font-weight: 400; }
details[open]>summary::after { content: '−'; }
.chapter-groups { padding-bottom: 14px; }
.chapter-groups h3 { font-size: 1rem; margin: 10px 0 6px; }
.chapter-groups p { color: var(--muted); }
.toolkit-bridge { padding: 40px 0; border-top: 1px solid var(--line); background: var(--paper); }
.toolkit-bridge .wrap { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.toolkit-bridge .eyebrow { margin-bottom: 12px; }
.toolkit-bridge h2 { font-size: 2rem; margin-bottom: 14px; }
.toolkit-bridge p:last-child { margin: 0; color: var(--muted); }
.toolkit-bridge .button { flex-shrink: 0; }
.pricing-note { margin: 14px 0 0; font-size: .875rem; color: var(--muted); }
.format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.format-grid.book-editions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.book-editions>.featured { grid-column: auto; }
.book-editions .card-label { gap: 10px; flex-wrap: wrap; }
.format-card.featured>.card-label { color: var(--gold); }
.format-card .toolkit-inclusions { list-style: none; padding: 0; font-size: .9375rem; line-height: 1.6; margin-bottom: 16px; }
.toolkit-inclusions strong { display: block; color: var(--ink); }
.format-card>p.toolkit-card-detail { font-size: .875rem; line-height: 1.6; margin-bottom: 24px; }
.toolkit-card-detail .simple-link { display: inline-block; margin-top: 8px; font-size: .875rem; }
.format-card .price small { line-height: 1.5; }
.checkout-guidance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 20px; padding: 20px 24px; border-left: 3px solid var(--gold); background: #fff; }
.checkout-guidance p { margin: 0; color: var(--muted); font-size: .9375rem; }
.checkout-guidance strong { display: block; color: var(--ink); }
.checkout-guidance.digital-only { grid-template-columns: 1fr; }
.format-card { background: #fff; border: 1px solid var(--line); border-radius: 5px; padding: 28px; display: flex; flex-direction: column; }
.format-card h3 { font: 1.75rem/1.25 var(--serif); letter-spacing: -.025em; margin-bottom: 16px; }
.format-card>p:not(.card-label):not(.price), .format-card ul { color: var(--muted); }
.format-card ul { padding-left: 20px; margin: 4px 0 26px; font-size: 1rem; }
.format-card li { margin-bottom: 8px; }
.format-card .card-note { margin-top: auto; font-size: .875rem; }
.format-card .options { margin: 0 0 20px; }
.option { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.option:last-child { border-bottom: 0; }
.option-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.option-name strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.option .button { padding: 9px 11px; font-size: .875rem; }
.price { margin: 4px 0 24px; }
.price strong { display: block; font-size: 2.3rem; line-height: 1.3; font-weight: 600; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.price small { display: block; margin-top: 4px; font-size: .875rem; font-weight: 400; color: var(--muted); }
.featured { background: var(--navy); color: #fff; border-color: var(--navy); border-top: 3px solid var(--gold); padding-top: 26px; box-shadow: 0 14px 32px #07172f13; }
.recommended-badge { display: inline-flex; align-items: center; min-height: 30px; background: var(--gold); color: var(--navy); padding: 4px 12px; border-radius: 3px; font-size: .875rem; letter-spacing: 0; font-weight: 700; }
.featured>p:not(.card-label):not(.price), .featured ul, .featured .price small { color: #c8d3e1; }
.featured .bundle-value { color: var(--gold) !important; font-size: .875rem; }
.purchase { margin-top: auto; }
.purchase .button, .team-purchase .button { width: 100%; }
.coming { display: block; font-size: .875rem; color: #526174; background: #edf1f5; padding: 7px 10px; border-radius: 3px; text-align: center; }
.coming.full { padding: 12px; }
.featured .coming { background: #ffffff10; color: #d7e0ec; border: 1px solid #ffffff30; }
.checkout-note, .format-card>p.checkout-note { font-size: .875rem; line-height: 1.5; color: var(--muted); margin: 13px 0 0; }
.featured>p.checkout-note { color: #c8d3e1; }
.team-option { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 36px; align-items: center; margin-top: 24px; padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 5px; }
.team-copy .card-label { min-height: 0; margin-bottom: 10px; }
.team-copy h3 { font: 1.65rem/1.3 var(--serif); margin-bottom: 12px; }
.team-copy>p:last-child { max-width: 600px; margin: 0; color: var(--muted); }
.team-purchase .price { margin: 0 0 16px; }
.team-purchase .price strong { font-size: 2rem; }
.team-purchase .checkout-note { text-align: center; }
.enterprise-option { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.enterprise-option p { margin: 0; color: var(--muted); }
.enterprise-option strong { color: var(--ink); }
.enterprise-link { font-size: .9375rem; font-weight: 600; padding-block: 10px; text-decoration: underline; }
.checkout-explainer { max-width: 900px; margin: 20px 0 0; font-size: .875rem; color: var(--muted); }
.launch-note { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; padding-left: 17px; border-left: 3px solid var(--gold); }
.launch-note p { margin: 0; color: var(--muted); font-size: .9375rem; }
.launch-note a { font-size: .9375rem; font-weight: 600; text-decoration: underline; }
.faq-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 75px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq details:first-child { border-top: 1px solid var(--line); }
.faq details p { color: var(--muted); margin: 0 28px 22px 0; }
.faq details a { text-decoration: underline; }
.framework-hero { padding: 30px 0 65px; }
.breadcrumb { font-size: .875rem; color: #c0ccdb; line-height: 1.7; margin: 0 0 40px; }
.breadcrumb a { text-decoration: underline; }
.breadcrumb span { padding-inline: 10px; color: var(--gold); }
.framework-hero-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 90px; align-items: center; }
.file-summary { margin: 0; padding-left: 36px; border-left: 1px solid #ffffff30; }
.file-summary>div { padding: 22px 0; border-bottom: 1px solid #ffffff25; }
.file-summary>div:last-child { border-bottom: 0; }
.file-summary dt { font-size: 1.125rem; display: flex; align-items: baseline; gap: 20px; }
.file-summary dt strong { font: 2.6rem/1 var(--serif); color: var(--gold); }
.file-summary dd { font-size: 1rem; color: #c8d3e1; margin: 9px 0 0; }
.framework-starters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.framework-starters a { display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--line); border-radius: 4px; padding: 20px 22px; }
.framework-starters a:hover { text-decoration: none; border-color: #ac8d53; }
.framework-starters span { font-size: .875rem; color: var(--muted); }
.framework-starters strong { font-size: 1rem; }
.framework-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 36px; }
.framework-card { padding: 28px 30px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.framework-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.file-type { font-size: .875rem; font-weight: 600; letter-spacing: .02em; color: var(--muted); }
.file-type.excel { color: #226447; }
.file-type.word { color: #255493; }
.file-type.pdf { color: #9c433a; }
.framework-card h3 { font: 1.65rem/1.3 var(--serif); letter-spacing: -.02em; margin-bottom: 13px; }
.framework-card p { color: var(--muted); margin: 0; }
.included-note { margin: 26px 0 0; padding-left: 18px; border-left: 3px solid var(--gold); color: var(--muted); font-size: .9375rem; }
.toolkit-workflow { background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.steps-grid { list-style: none; padding: 0; margin: 34px 0 0; }
.steps-grid li { padding-top: 24px; border-top: 1px solid var(--line); }
.purchase-help { display: grid; grid-template-columns: 1.25fr 1fr; gap: 80px; align-items: center; }
.purchase-help h2 { margin-bottom: 22px; }
.purchase-help h3 { font-size: 1.2rem; margin-bottom: 16px; }
.purchase-help p:not(.eyebrow) { color: var(--muted); }
.purchase-help .text-link { overflow-wrap: anywhere; }
.framework-page .faq { padding-top: 0; }
.mobile-purchase { display: none; }
@media (max-width: 1000px) {
  .wrap { width: calc(100% - 48px); }
  .site-header .nav { gap: 18px; }
  .site-header nav { gap: 22px; }
  .site-header .header-cta { padding-inline: 15px; }
  .hero-grid, .home-hero-grid, .framework-hero-grid { gap: 40px; }
  .home-book { padding-left: 30px; }
  .cover { width: min(100%, 265px); }
  .inside-grid, .newsletter-grid, .about-home-grid, .about-grid, .faq-grid, .purchase-help, .split-heading { gap: 40px; }
  .focus-grid, .work-grid, .writing-grid, .testimonial-grid { gap: 24px; }
  .format-card { padding: 23px; }
  .featured { padding-top: 21px; }
  .resource-card { padding: 28px; }
  .writing-card { padding: 24px 20px; }
  .testimonial-grid blockquote { font-size: 1.2rem; }
}
@media (min-width: 701px) and (max-width: 900px) {
  .header-cta { display: none; }
  .format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .format-grid>.featured { grid-column: 1 / -1; }
  .book-editions>.featured { grid-column: auto; }
  .toolkit-prices>.featured { grid-column: auto; }
  .toolkit-prices>.format-card:last-child { grid-column: 1 / -1; }
  .writing-grid { grid-template-columns: 1fr; }
  .writing-card { padding: 26px; }
  .writing-card h3 { max-width: 600px; }
  .writing-card .text-link { padding-top: 0; }
  .footer-main { flex-direction: column; }
  .site-footer nav { justify-content: flex-start; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 140px; }
  .wrap { width: calc(100% - 36px); }
  .section { padding: 52px 0; }
  .site-header .nav { flex-wrap: wrap; padding-block: 15px 6px; gap: 8px; min-height: 0; }
  .brand { font-size: 1.2rem; }
  .brand span { font-size: .75rem; margin-top: 4px; }
  .site-header nav { width: 100%; gap: 28px; font-size: .9375rem; }
  .site-header nav a { padding: 8px 0; }
  .header-cta { display: none; }
  h1, .home-hero h1 { font-size: clamp(2.5rem, 9.7vw, 3.8rem); }
  h2 { font-size: clamp(2rem, 7.9vw, 2.7rem); }
  .hero-grid, .home-hero-grid { grid-template-columns: 1fr; padding-block: 38px 44px; gap: 35px; }
  .home-intro { font-size: 1.0625rem; margin-top: 22px; }
  .eyebrow { font-size: .875rem; letter-spacing: .07em; margin-bottom: 17px; }
  .hero-copy { max-width: 580px; }
  .home-book { border-left: 0; border-top: 1px solid #ffffff25; padding: 28px 0 0; }
  .home-book img { width: 205px; }
  .home-book .eyebrow { font-size: .8125rem; }
  .book-caption { margin-top: 20px; }
  .cover { width: 205px; }
  .actions { margin-top: 24px; gap: 18px 22px; }
  .actions .button { padding-inline: 18px; }
  .availability { font-size: .875rem; }
  .expertise-strip .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 16px; padding-block: 20px; }
  .expertise-strip span { padding-left: 12px; }
  .section-heading { margin-bottom: 28px; }
  .split-heading, .focus-grid, .work-grid, .resource-grid, .writing-grid, .testimonial-grid, .steps-grid, .newsletter-grid, .about-home-grid, .about-grid, .inside-grid, .faq-grid, .purchase-help { grid-template-columns: 1fr; gap: 28px; }
  .split-heading>p { max-width: 100%; }
  .focus-grid article, .work-grid article { padding-top: 22px; }
  .resource-grid { margin-top: 28px; gap: 18px; }
  .resource-card { padding: 27px; }
  .resource-card h3 { font-size: 1.9rem; }
  .card-label, .format-card>p.card-label { letter-spacing: .04em; }
  .writing-grid { gap: 18px; }
  .writing-card { padding: 26px; }
  .writing-card .text-link { padding-top: 8px; }
  .channel-links { gap: 12px 22px; margin-top: 24px; }
  .channel-links>span { flex-basis: 100%; }
  .newsletter-copy { padding: 24px 0 0; border-left: 0; border-top: 1px solid #ffffff30; }
  .newsletter-copy>p:first-child { font-size: 1.0625rem; }
  .testimonial-grid { gap: 32px; }
  .testimonial-grid blockquote { font-size: 1.3rem; }
  .contact { border-left: 0; border-top: 1px solid #ffffff30; padding: 26px 0 0; }
  .footer-main { flex-direction: column; gap: 22px; padding-block: 28px; }
  .site-footer nav { justify-content: flex-start; gap: 10px 23px; }
  .footer-bottom { padding-bottom: 104px; font-size: .8125rem; }
  .home-page .footer-bottom { padding-bottom: 26px; }
  .readers { text-align: left; padding-block: 24px; }
  .readers p:last-child { margin-top: 7px; }
  .book-jumps .wrap { justify-content: flex-start; gap: 3px 24px; padding-block: 10px; }
  .book-jumps { font-size: .875rem; }
  .feedback-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .feedback-entry { padding: 26px; }
  .feedback-entry blockquote, .feedback-entry:first-child blockquote { font-size: 1.3rem; }
  .outcomes li { gap: 17px; padding-block: 18px; }
  .toolkit-bridge { padding-block: 32px; }
  .toolkit-bridge .wrap { flex-direction: column; align-items: flex-start; gap: 25px; }
  .toolkit-bridge .button { flex-shrink: 1; }
  .toolkit-bridge h2 { font-size: 1.9rem; }
  .format-grid, .format-grid.book-editions { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .checkout-guidance { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .format-card { padding: 26px; }
  .featured { padding-top: 24px; }
  .team-option { grid-template-columns: 1fr; gap: 24px; padding: 26px; }
  .team-purchase .price strong { font-size: 2.3rem; }
  .enterprise-option { flex-direction: column; align-items: flex-start; gap: 8px; }
  .launch-note { align-items: flex-start; }
  .framework-hero { padding: 24px 0 42px; }
  .breadcrumb { margin-bottom: 28px; }
  .framework-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .file-summary { padding-left: 0; border-left: 0; border-top: 1px solid #ffffff30; }
  .file-summary>div { padding-block: 18px; }
  .file-summary dt strong { font-size: 2.2rem; }
  .framework-starters { grid-template-columns: 1fr; gap: 12px; }
  .framework-list { grid-template-columns: 1fr; gap: 18px; margin-top: 28px; }
  .framework-card { padding: 25px; }
  .framework-meta { gap: 14px; margin-bottom: 17px; }
  .file-type { letter-spacing: 0; }
  .framework-card h3 { font-size: 1.6rem; }
  .mobile-purchase { position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); background: var(--navy); border-top: 1px solid #ffffff35; }
  .mobile-purchase>span { color: #c8d3e1; max-width: 135px; font-size: .875rem; line-height: 1.5; }
  .mobile-purchase .button { padding: 10px 16px; font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  .site-header, .site-footer, .mobile-purchase, .book-jumps { display: none; }
  .wrap { width: 100%; }
  .section { padding-block: 24px; }
  .hero, .about, .newsletter-section, .featured, .feedback-entry:first-child { color: #000; background: #fff; }
  .hero p, .hero em, .about p, .newsletter-section p, .featured p { color: #333 !important; }
}

@media (max-height: 500px) {
  .site-header { position: relative; }
  .mobile-purchase { position: static; }
  .footer-bottom { padding-bottom: 26px; }
  html { scroll-padding-top: 20px; }
}

/* Explicit draft slots requested by the author; no fictional endorsements. */
.feedback-placeholder:first-child { grid-column: 1 / -1; }
.feedback-status { font-size: .875rem; font-weight: 700; color: var(--gold-ink); letter-spacing: .04em; margin-bottom: 18px; }
.feedback-placeholder:first-child .feedback-status { color: var(--gold); }
.feedback-placeholder blockquote { font-style: italic; }

/* Author's proposed service catalogue and disclosed programme referrals. */
.catalogue-note { font-size: .875rem; color: var(--muted); margin: 12px 0 0; }
.service-grid, .programme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.service-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 5px; padding: 32px; }
.service-top { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.service-format { font-size: .875rem; color: var(--muted); }
.service-card h3, .programme-card h3 { font: 1.85rem/1.3 var(--serif); letter-spacing: -.025em; margin-bottom: 16px; }
.service-card>p, .service-card>div>p, .programme-card>p:not(.card-label) { color: var(--muted); }
.service-card ul, .programme-card ul { color: var(--muted); padding-left: 20px; margin: 0 0 20px; }
.service-card li, .programme-card li { margin-bottom: 7px; }
.service-output { border-top: 1px solid var(--line); padding-top: 18px; margin-top: auto; }
.service-output strong { display: block; font-size: .875rem; color: var(--ink); margin-bottom: 5px; }
.service-card .text-link { margin-top: 8px; }
.service-featured { border-top: 3px solid var(--gold); padding-top: 30px; }
.service-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; }
.service-wide .service-output { border: 0; padding-top: 0; }
.service-wide>div:last-child { align-self: center; }
.programme-card { display: flex; flex-direction: column; padding: 34px; border: 1px solid var(--line); border-radius: 5px; }
.programme-card .button { align-self: flex-start; margin-top: auto; }
.programme-card .programme-note { font-size: .875rem; margin: 16px 0 0; }
.programme-featured { background: var(--navy); color: #fff; border-color: var(--navy); }
.programme-featured .card-label { color: var(--gold); }
.programme-featured>p:not(.card-label), .programme-featured ul { color: #c8d3e1; }
.affiliate-disclosure { font-size: .875rem; color: var(--muted); margin: 24px 0 0; padding-left: 16px; border-left: 3px solid var(--gold); }
.footer-main nav { max-width: 650px; }
@media (max-width: 700px) {
  .service-grid, .programme-grid, .service-wide { grid-template-columns: 1fr; gap: 20px; }
  .service-card, .programme-card { padding: 26px; }
  .service-featured { padding-top: 24px; }
  .service-wide { grid-column: auto; }
  .service-card h3, .programme-card h3 { font-size: 1.65rem; }
  .service-wide .service-output { border-top: 1px solid var(--line); padding-top: 18px; }
  .programme-card .button { width: 100%; }
}

/* Review edition: stronger proof, compact offers and explicit content placeholders. */
html { scroll-padding-top: var(--anchor-clearance, 112px); }
:focus-visible { outline: 3px solid #ab781f; outline-offset: 5px; }
.compact-section { padding-block: 58px; }
.draft-tag { display: inline-block; color: #73511d; background: #fbefcf; border: 1px solid #e2c887; border-radius: 3px; padding: 3px 9px; font-size: .8125rem; line-height: 1.5; font-weight: 700; letter-spacing: .02em; }
.inline-draft { display: inline; color: #765721; font-size: .875rem; font-weight: 600; }
.small-note { font-size: .875rem; color: var(--muted); margin: 16px 0 0; }
.compact-details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 24px; }
.compact-details + .compact-details { border-top: 0; margin-top: 0; }
.compact-details>p, .compact-details>ul { color: var(--muted); }
.compact-details>p:last-child { margin-bottom: 22px; }
.compact-details summary .inline-draft { font-weight: 400; margin-left: 8px; }
.author-intro { padding-block: 58px; }
.author-intro-grid { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 55px; align-items: start; }
.author-intro h2 { font-size: clamp(1.9rem, 2.8vw, 2.7rem); margin-bottom: 22px; }
.author-intro p:not(.eyebrow) { color: var(--muted); max-width: 790px; }
.author-intro .eyebrow { margin-bottom: 12px; }
.portrait-placeholder { min-height: 248px; background: var(--paper); border: 1px dashed #a3adba; border-radius: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 20px; text-align: center; font-size: .875rem; color: var(--muted); }
.portrait-initials { display: block; color: #92a0b1; font: 4.5rem/1.2 var(--serif); }
.author-feedback summary { font-size: .9375rem; }
.author-feedback .testimonial-grid { padding-bottom: 26px; }
.author-feedback .testimonial-grid blockquote { font-size: 1.1rem; }
.service-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.service-primary .service-card { padding: 27px; }
.service-primary .service-featured { padding-top: 25px; }
.service-primary .service-card h3 { font-size: 1.65rem; }
.service-primary .compact-details { margin-top: 10px; margin-bottom: 22px; }
.service-primary .compact-details summary { font-size: .9375rem; }
.service-primary .compact-details p { font-size: .9375rem; }
.service-primary .text-link { margin-top: auto; }
.advisory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; padding: 8px 0 26px; }
.advisory-grid h3 { margin-bottom: 12px; }
.advisory-grid p { color: var(--muted); }
.catalogue-note a { text-decoration: underline; }
.newsletter-example { border-color: #ffffff35; }
.newsletter-example summary { color: #fff; }
.newsletter-example summary::after { color: var(--gold); }
.newsletter-example ol { color: #c8d3e1; padding-left: 20px; }
.newsletter-example li { margin-bottom: 8px; }
.newsletter-example .inline-draft { color: var(--gold); }
.newsletter-example .small-note { color: #c8d3e1; }
.writing-section.compact-section .writing-card { padding: 24px; }
.writing-section.compact-section .writing-card h3 { font-size: 1.5rem; }
.programme-section .programme-card .button { margin-top: 10px; }
.programme-featured .inline-draft { color: var(--gold); }
.reading-sample { background: var(--paper); }
.reading-sample-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 75px; align-items: center; }
.sample-page { display: block; max-width: 290px; margin-inline: auto; box-shadow: 0 15px 35px #122a4220; border: 1px solid var(--line); }
.sample-page img { display: block; width: 100%; height: auto; }
.preview-notice { margin: 24px 0 18px; color: var(--muted); font-size: .9375rem; }
.preview-notice .draft-tag { margin-right: 7px; }
.preview-includes { margin: 0; padding-left: 21px; color: var(--muted); }
.preview-includes li { margin-bottom: 8px; }
.book-page .feedback-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.book-page .feedback-placeholder:first-child { grid-column: auto; }
.book-page .feedback-placeholder { padding: 23px; }
.book-page .feedback-placeholder blockquote, .book-page .feedback-placeholder:first-child blockquote { font-size: 1.125rem; }
.edition-comparison { background: #fff; padding-inline: 24px; border: 1px solid var(--line); border-radius: 5px; }
.table-scroll { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .9375rem; line-height: 1.5; }
caption { text-align: left; color: var(--muted); font-size: .875rem; padding-bottom: 14px; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
thead th { background: var(--navy); color: #fff; font-size: .875rem; }
tbody th { font-weight: 600; }
tbody tr:nth-child(even) { background: #f3f5f8; }
.edition-comparison table { min-width: 490px; }
.edition-comparison td:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.comparison-note { font-size: .875rem; margin: 18px 0 24px; color: var(--muted); }
.toolkit-only-link { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: #fff; padding: 24px 28px; border: 1px solid var(--line); border-radius: 5px; margin-top: 24px; }
.toolkit-only-link p { margin: 4px 0 0; color: var(--muted); }
.toolkit-only-link .button { flex-shrink: 0; }
.pricing-status { margin-top: 14px; font-size: .875rem; color: var(--muted); }
.pricing-status .draft-tag { margin-right: 6px; }
.pricing-status a { text-decoration: underline; }
.toolkit-previews { background: var(--paper); }
.toolkit-previews .draft-tag { margin-bottom: 10px; }
.preview-pane { border: 1px solid var(--line); background: #fff; border-radius: 5px; margin-top: 18px; }
.preview-pane summary { padding: 22px 52px 22px 26px; }
.preview-pane summary::after { right: 24px; top: 19px; }
.preview-pane .file-type { display: block; margin-bottom: 7px; font-size: .8125rem; letter-spacing: .06em; }
.preview-content { padding: 0 26px 28px; }
.preview-content>p { color: var(--muted); }
.preview-content .text-link { display: inline-block; margin-top: 22px; }
.preview-content table { min-width: 590px; }
.policy-preview { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.policy-preview>div { padding: 18px; border: 1px solid var(--line); border-left: 3px solid var(--gold); }
.policy-preview dt { font-weight: 700; margin-bottom: 8px; }
.policy-preview dd { margin: 0; color: var(--muted); }
.pilot-preview { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; padding: 0; margin: 0; }
.pilot-preview li { border-top: 3px solid var(--gold); padding-top: 16px; }
.pilot-preview strong, .pilot-preview span { display: block; }
.pilot-preview span { margin-top: 10px; color: var(--muted); }
.worked-example-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 12px 0 25px; }
.worked-example-grid h3 { margin-bottom: 16px; }
.worked-example-grid p { color: var(--muted); }
.example-figures { display: flex; flex-wrap: wrap; gap: 24px; margin: 24px 0 0; }
.example-figures dt { font-size: .875rem; color: var(--muted); }
.example-figures dd { margin: 5px 0 0; font-size: 1.2rem; font-weight: 600; }
.site-information { background: var(--paper); }
.site-information h2 { font-size: 2.2rem; }
.information-grid { margin-top: 28px; }
.information-grid .compact-details, .launch-review { background: #fff; border: 1px solid var(--line); padding-inline: 24px; margin-top: 12px; border-radius: 4px; }
.information-grid p { max-width: 850px; font-size: .9375rem; }
.information-grid a { text-decoration: underline; }
.info-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 0 0 24px; }
.info-list dt { font-weight: 600; font-size: .9375rem; }
.info-list dd { margin: 7px 0 0; color: var(--muted); font-size: .9375rem; overflow-wrap: anywhere; }
.launch-review { margin-top: 24px; }
.launch-review ul { padding: 0 0 20px 20px; font-size: .9375rem; }
.launch-review li { margin-bottom: 10px; }
.footer-info { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: .8125rem; padding-bottom: 20px; }
.footer-info a { text-decoration: underline; padding-block: 5px; }
.footer-bottom { padding-bottom: max(26px, var(--purchase-clearance, 26px)); }
@media (max-width: 1000px) {
  .author-intro-grid { gap: 35px; grid-template-columns: 170px minmax(0, 1fr); }
  .service-primary { grid-template-columns: 1fr; }
  .service-primary .service-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
  .service-primary .service-card h3, .service-primary .service-card>p { grid-column: 1; }
  .service-primary .compact-details { grid-column: 2; grid-row: 1 / span 4; margin-top: 0; align-self: start; }
  .service-primary .text-link { grid-column: 1; margin-top: 8px; }
  .reading-sample-grid { gap: 45px; }
  .book-page .feedback-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .compact-section, .author-intro { padding-block: 42px; }
  .author-intro-grid { grid-template-columns: 1fr; gap: 26px; }
  .portrait-placeholder { width: 150px; min-height: 170px; padding: 16px; gap: 12px; }
  .portrait-initials { font-size: 3rem; }
  .author-intro h2 { font-size: 2rem; }
  .author-feedback .testimonial-grid { gap: 28px; }
  .service-primary .service-card { display: flex; padding: 25px; }
  .service-primary .compact-details { margin-top: 10px; align-self: stretch; }
  .service-primary .text-link { margin-top: auto; }
  .advisory-grid, .reading-sample-grid, .policy-preview, .worked-example-grid, .info-list { grid-template-columns: 1fr; gap: 25px; }
  .reading-sample-grid>div { grid-row: 1; }
  .sample-page { max-width: 240px; }
  .book-page .feedback-grid { grid-template-columns: 1fr; }
  .book-page .feedback-placeholder { padding: 22px; }
  .edition-comparison { padding-inline: 18px; }
  th, td { padding: 12px; }
  .toolkit-only-link { flex-direction: column; align-items: flex-start; gap: 20px; padding: 25px; }
  .toolkit-only-link .button { flex-shrink: 1; }
  .preview-pane summary { padding: 20px 46px 20px 21px; }
  .preview-pane summary::after { right: 20px; }
  .preview-content { padding: 0 21px 24px; }
  .pilot-preview { grid-template-columns: 1fr 1fr; gap: 25px; }
  .site-information h2 { font-size: 2rem; }
  .information-grid .compact-details, .launch-review { padding-inline: 20px; }
  .footer-info { gap: 8px 20px; }
  .footer-bottom { padding-bottom: max(26px, var(--purchase-clearance, 105px)); }
  .home-page .footer-bottom { padding-bottom: 26px; }
}

/* Clear prelaunch actions and a practical connection between the book and toolkit. */
.signup-disclosure { max-width: 540px; color: #c8d3e1; font-size: .875rem; line-height: 1.6; margin: 16px 0 0; }
.hero .availability a { color: var(--gold); text-decoration: underline; }
.evidence-list { display: grid; gap: 20px; margin: 0 0 24px; }
.evidence-list dt { font-weight: 700; }
.evidence-list dd { margin: 5px 0 0; color: var(--muted); }
.evidence-list a { text-decoration: underline; }
.programme-section .split-heading a { text-decoration: underline; }
.programme-contribution p { font-size: .9375rem; }
.format-guidance { display: grid; grid-template-columns: .7fr 1.3fr; gap: 30px; border-left: 3px solid var(--gold); padding: 5px 0 5px 22px; margin: 24px 0 0; }
.format-guidance p { color: var(--muted); font-size: .9375rem; margin: 0; }
.format-guidance strong { color: var(--ink); }
.newsletter-consent-note { margin: 10px 0 0; font-size: .875rem; color: var(--muted); }
.companion-clarity { color: var(--muted); max-width: 860px; margin: 24px 0 0; }
.companion-clarity strong { color: var(--ink); }
.chapter-list { padding: 0; margin: 0 0 20px; list-style: none; }
.chapter-list li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); line-height: 1.5; }
.chapter-number { color: var(--gold-ink); font-size: .875rem; font-variant-numeric: tabular-nums; }
.chapter-list li:target { background: var(--paper); box-shadow: -10px 0 var(--paper), 10px 0 var(--paper); }
.framework-card .framework-output { padding-top: 16px; margin-top: 18px; border-top: 1px solid var(--line); font-size: .9375rem; }
.framework-output strong { display: block; color: var(--ink); margin-bottom: 6px; font-size: .875rem; }
.framework-card .chapter-link { display: inline-block; margin-top: 12px; font-size: .875rem; text-decoration: underline; color: var(--gold-ink); font-weight: 600; }
@media (max-width: 700px) {
 .format-guidance { grid-template-columns: 1fr; gap: 14px; padding-left: 18px; }
 .chapter-list li { gap: 8px; }
}

/* Proposed service fees: engagement pricing stays separate from book pricing. */
.service-primary .service-card .service-fee { margin: 5px 0 22px; color: var(--ink); }
.service-fee>strong { display: block; font-size: 2rem; line-height: 1.2; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.service-fee>span { display: block; margin-top: 8px; font-size: .875rem; line-height: 1.5; color: var(--muted); }
.service-fee .service-fee-alternative { font-weight: 600; color: var(--ink); }
.advisory-grid .advisory-fee { color: var(--gold-ink); font-weight: 700; }
.service-pricing-note { margin: 24px 0 0; color: var(--muted); font-size: .875rem; line-height: 1.7; }
.service-pricing-note strong { color: var(--ink); }
@media (min-width: 701px) and (max-width: 1000px) {
 .service-primary .compact-details { grid-row: 1 / span 5; }
}

/* Book-launch service offer: four services, with three priced cards and one quoted retainer. */
.service-offer-banner { background: #fbefcf; border: 1px solid #e2c887; border-left: 4px solid var(--gold); color: var(--ink); border-radius: 4px; padding: 17px 22px; margin: 0 0 26px; }
.service-offer-banner p { margin: 0; font-size: .9375rem; line-height: 1.65; }
.service-primary.service-catalogue { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.service-catalogue .service-fee>strong { overflow-wrap: anywhere; }
.service-catalogue .service-fee .service-list-price { color: var(--muted); font-size: .875rem; margin: 0 0 6px; }
.service-list-price s, .service-alternate-fee s { text-decoration-thickness: 1px; text-decoration-color: currentColor; }
.service-catalogue .service-fee .launch-rate-label { color: var(--gold-ink); font-size: .875rem; font-weight: 600; margin: 9px 0 0; }
.service-catalogue .service-fee .service-price-basis { margin-top: 10px; }
.service-primary .service-card .service-alternate-fee { font-size: .9375rem; color: var(--ink); line-height: 1.65; margin: -7px 0 20px; }
.service-alternate-fee s { color: var(--muted); font-size: .875rem; margin-right: 6px; }
.service-alternate-fee strong { white-space: nowrap; }
.service-alternate-fee>span { display: block; color: var(--muted); font-size: .875rem; }
.service-primary .service-card .service-book-inclusion { color: var(--ink); font-size: .9375rem; line-height: 1.6; padding: 14px 0 0; border-top: 1px solid var(--line); margin: 0 0 12px; }
.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; }
@media (min-width: 701px) and (max-width: 1000px) {
 .service-primary.service-catalogue { grid-template-columns: 1fr; }
 .service-catalogue .compact-details { grid-column: 2; grid-row: 1 / span 7; }
 .service-catalogue .text-link { grid-column: 1; }
}
@media (max-width: 700px) {
 .service-primary.service-catalogue { grid-template-columns: 1fr; }
 .service-offer-banner { padding: 16px 18px; margin-bottom: 20px; }
 .service-catalogue .service-card .card-label { min-height: 0; }
}

/* Service languages are visible before visitors choose an engagement. */
.service-languages { color: var(--ink); font-size: 1rem; line-height: 1.7; margin: -12px 0 24px; }
.programme-contribution a { text-decoration: underline; text-underline-offset: 3px; }

/* Launch edition: real author photography and product artwork. */
.author-intro-grid { grid-template-columns: minmax(210px, 290px) minmax(0, 1fr); gap: 55px; }
.author-portrait { margin: 0; overflow: hidden; border-radius: 5px; border-bottom: 4px solid var(--gold); }
.author-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 42%; }
.sample-includes { margin: 24px 0 0; padding-left: 22px; color: var(--muted); }
.sample-includes li { margin-bottom: 8px; }
.toolkit-art { max-width: 390px; margin-inline: auto; }
.toolkit-art img { display: block; width: 100%; height: auto; border: 1px solid #ffffff30; box-shadow: 0 20px 40px #0003; }
.toolkit-inside { background: var(--paper); }
.toolkit-sample-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; max-width: 890px; margin-inline: auto; }
.toolkit-sample-grid figure { background: #fff; padding: 24px; border: 1px solid var(--line); border-radius: 5px; }
.toolkit-sample-grid img { display: block; max-height: 450px; width: auto; height: auto; margin-inline: auto; border: 1px solid var(--line); }
.toolkit-sample-grid figcaption { margin-top: 22px; font-size: .9375rem; }
.toolkit-sample-grid figcaption span { display: block; color: var(--muted); margin-top: 5px; }
.edition-art { display: block; width: 100%; height: 170px; object-fit: contain; object-position: left center; margin: 0 0 24px; border-radius: 3px; }
.format-card:not(:has(.edition-art)) .card-label { margin-bottom: 20px; }
.service-primary .text-link { min-height: 44px; display: inline-flex; align-items: center; }
.footer-info a { min-height: 40px; display: inline-flex; align-items: center; }
@media (max-width: 1000px) { .author-intro-grid { grid-template-columns: 215px minmax(0, 1fr); gap: 35px; } }
@media (max-width: 700px) {
  .author-intro-grid { grid-template-columns: 1fr; gap: 28px; }
  .author-portrait { max-width: 240px; }
  .toolkit-art { max-width: 310px; }
  .toolkit-sample-grid { grid-template-columns: 1fr; gap: 22px; }
  .toolkit-sample-grid figure { padding: 20px; }
  .edition-art { height: 150px; }
}

/* Keep print-edition enquiries readable within narrow pricing cards. */
.format-card .option { display: grid; grid-template-columns: 1fr; gap: 12px; }
.format-card .option .option-name { display: flex; justify-content: space-between; gap: 12px; }
.format-card .option .button { width: 100%; }

@media (min-width: 701px) and (max-width: 1000px) {
 .service-catalogue .service-detail-stack { grid-column: 2; grid-row: 1 / span 7; }
}

/* Form delivery feedback stays on the page and remains keyboard accessible. */
.enquiry-honeypot { display: none; }
.enquiry-status { margin-top: 22px; padding: 16px 18px; border: 1px solid var(--line); border-left: 4px solid var(--gold-ink); border-radius: 4px; background: #fff; scroll-margin-top: var(--anchor-clearance, 112px); }
.enquiry-status[data-state="error"] { border-left-color: #a12828; }
.enquiry-status[data-state="success"] { border-left-color: #246440; }
.enquiry-status:focus-visible { outline: 3px solid var(--gold-ink); outline-offset: 4px; }
#enquiry-submit:disabled { cursor: wait; opacity: .7; }

.reader-attribution { display: flex; align-items: center; gap: 18px; }
.reader-attribution img { width: 96px; height: 96px; flex: 0 0 96px; border-radius: 50%; object-fit: cover; }
.reader-attribution a { display: inline-block; margin-top: 7px; font-size: .875rem; text-decoration: underline; }
.reader-attribution a span { display: inline; }
@media (max-width: 420px) { .reader-attribution { align-items: flex-start; gap: 14px; } .reader-attribution img { width: 72px; height: 72px; flex-basis: 72px; } }
