* {
    box-sizing: border-box;
}

body1 {
    font-family: Arial, sans-serif;
    margin: 0;
    background: #111;
    color: #eee;
    line-height: 1.6;
}

.main-nav {
    background: #181818;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 20px;
    flex-wrap: wrap;
}

.main-nav a {
    color: #eee;
    text-decoration: none;
    font-weight: bold;
    padding: 8px 12px;
}

.main-nav a:hover {
    color: #e63946;
}

.logo-link {
    padding: 0 !important;
}

.logo {
    width: 50px;
    height: auto;
    display: block;
}

.hero {
    text-align: center;
    padding: 70px 20px 90px;
    background:
        radial-gradient(circle at center, #333 0%, #111 65%);
}

.hero-logo {
    max-width: min(700px, 90%);
    height: auto;
}

.tagline {
    color: #aaa;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-top: 20px;
}

.firstliner {
    color: #aaa;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-top: 10px;
}

.hero h1 {
    font-size: clamp(2.2rem, 5vw, 4rem);
    margin: 20px 0;
}

.hero-text {
    max-width: 750px;
    margin: auto;
    font-size: 1.2rem;
    color: #ccc;
}

.hero-buttons {
    margin-top: 30px;
}

.cta {
    display: inline-block;
    padding: 13px 28px;
    background: #e63946;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    margin: 8px;
    font-weight: bold;
}

.cta:hover {
    background: #ff4f5e;
}

.cta.secondary {
    background: #333;
}

section {
    padding: 70px 20px;
    max-width: 1100px;
    margin: auto;
}

.feature-section {
    max-width: 900px;
    text-align: center;
}

.feature-icon {
    font-size: 3rem;
}

.feature-section h2,
.categories h2,
.story-section h2,
.decision-section h2,
.shop-teaser h2,
.newsletter-section h2 {
    font-size: clamp(1.8rem, 4vw, 2.7rem);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.category-card {
    background: #1d1d1d;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 30px;
    text-decoration: none;
    color: #eee;
    transition: transform .2s, border-color .2s;
}

.category-card:hover {
    transform: translateY(-4px);
    border-color: #e63946;
}

.category-icon {
    font-size: 2.5rem;
}

.category-card h3 {
    font-size: 1.5rem;
}

.category-card p {
    color: #bbb;
}

.story-section {
    max-width: 900px;
}

.story-box {
    background: linear-gradient(135deg, #222, #151515);
    border-left: 4px solid #e63946;
    padding: 40px;
    border-radius: 8px;
}

.section-label {
    color: #e63946;
    font-weight: bold;
    letter-spacing: 2px;
}

.story-intro {
    font-size: 1.2rem;
    color: #ccc;
}

.decision-section {
    text-align: center;
}

.decision-box {
    background: #1b1b1b;
    border-radius: 10px;
    padding: 50px 30px;
}

.shop-teaser {
    text-align: center;
}

.newsletter-section {
    text-align: center;
    background: #181818;
    max-width: none;
}

.footer {
    background: #0c0c0c;
    color: #aaa;
    padding: 50px 20px;
}

.footer-inner {
    max-width: 1100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-nav a {
    color: #ccc;
    text-decoration: none;
}

.footer-nav a:hover {
    color: #fff;
}

.footer-note {
    font-size: .85rem;
    color: #777;
}


/* =========================
   COOKIE
========================= */

#cookie-banner {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.75);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.cookie-box {
    max-width: 500px;
    background: #fff;
    color: #222;
    padding: 30px;
    border-radius: 10px;
    text-align: center;
}

.cookie-box button {
    width: 100%;
    padding: 12px;
    margin-top: 10px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

#cookie-accept {
    background: #e63946;
    color: white;
}

#cookie-settings {
    background: #ddd;
}


/* =========================
   MOBILE
========================= */

@media (max-width: 700px) {

    .main-nav {
        gap: 2px;
    }

    .main-nav a {
        font-size: .9rem;
        padding: 6px 7px;
    }

    .hero {
        padding: 50px 15px 70px;
    }

    .category-grid {
        grid-template-columns: 1fr;
    }

    .footer-inner {
        flex-direction: column;
    }

    .footer-nav {
        flex-direction: row;
        flex-wrap: wrap;
    }

}

/* =========================
   Ergänzendes Stylesheet 
========================= */
/* Seitenspezifische Gestaltung – Navigation und Footer kommen aus style.css */
:root {
    --book-bg: #111111;
    --book-panel: #1b1b1b;
    --book-panel-soft: #222222;
    --book-text: #f2f0eb;
    --book-muted: #c4c0b8;
    --book-gold: #d4af37;
    --book-gold-light: #f0d77b;
    --book-border: rgba(212,175,55,.28);
}
html { scroll-behavior: smooth; }
body { background: var(--book-bg); color: var(--book-text); }
.book-page { overflow: hidden; }
.book-container { width: min(1120px, 90%); margin: 0 auto; }
.book-eyebrow {
    display:inline-block; margin-bottom:18px; color:var(--book-gold-light);
    font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
}
.book-hero {
    position:relative; text-align:center; padding:76px 0 86px;
    background: radial-gradient(ellipse at 50% 0%, rgba(212,175,55,.12), transparent 58%);
}
.book-hero:after {
    content:""; display:block; width:76px; height:2px; background:var(--book-gold);
    margin:38px auto 0;
}
.book-hero-logo { display:block; width:min(330px, 70%); height:auto; margin:0 auto 30px; }
.book-hero h1 { max-width:900px; margin:0 auto 22px; font-size:clamp(2.1rem,5vw,4.1rem); line-height:1.12; letter-spacing:-.035em; }
.book-hero h1 span { color:var(--book-gold-light); }
.book-lead { max-width:720px; margin:0 auto 30px; color:var(--book-muted); font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.8; }
.book-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; }
.book-btn {
    display:inline-flex; align-items:center; justify-content:center; min-height:50px;
    padding:14px 24px; border:1px solid var(--book-gold); border-radius:4px;
    background:var(--book-gold); color:#111; text-decoration:none; font-weight:750;
    transition:transform .2s ease, background .2s ease, color .2s ease;
}
.book-btn:hover { background:var(--book-gold-light); transform:translateY(-2px); }
.book-btn-secondary { background:transparent; color:var(--book-text); }
.book-btn-secondary:hover { color:#111; }
.book-section { padding:76px 0; }
.book-section-alt { background:#171717; border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04); }
.book-section-heading { max-width:760px; margin:0 auto 38px; text-align:center; }
.book-section-heading h2 { margin:0 0 14px; font-size:clamp(1.8rem,3.5vw,2.65rem); line-height:1.2; }
.book-section-heading p { color:var(--book-muted); line-height:1.8; }
.book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.book-card {
    padding:28px; background:var(--book-panel); border:1px solid rgba(255,255,255,.08);
    border-radius:8px; transition:transform .2s ease,border-color .2s ease;
}
.book-card:hover { transform:translateY(-4px); border-color:var(--book-border); }
.book-card h3 { margin:0 0 12px; font-size:1.15rem; }
.book-card p { margin:0; color:var(--book-muted); line-height:1.75; }
.book-card-mark { display:block; margin-bottom:18px; color:var(--book-gold); font-size:1.45rem; }
.blockage-section { padding:84px 0; }
.blockage-panel {
    position:relative; overflow:hidden; display:grid; grid-template-columns:1.25fr .75fr;
    gap:34px; align-items:center; padding:clamp(28px,5vw,58px);
    border:1px solid rgba(212,175,55,.65); border-radius:10px;
    background:linear-gradient(125deg,#252117 0%,#1b1b1b 58%,#171717 100%);
    box-shadow:0 18px 55px rgba(0,0,0,.24);
}
.blockage-panel:before {
    content:""; position:absolute; width:250px; height:250px; right:-90px; top:-100px;
    border:1px solid rgba(212,175,55,.2); border-radius:50%; pointer-events:none;
}
.blockage-copy { position:relative; z-index:1; }
.blockage-copy h2 { margin:0 0 18px; font-size:clamp(2rem,4vw,3.2rem); line-height:1.12; }
.blockage-copy h2 span { color:var(--book-gold-light); }
.blockage-copy p { color:#d2cec4; line-height:1.85; }
.blockage-points { list-style:none; margin:20px 0 28px; padding:0; }
.blockage-points li { margin:10px 0; color:var(--book-text); }
.blockage-points li:before { content:"✓"; color:var(--book-gold-light); font-weight:800; margin-right:10px; }
.blockage-aside {
    position:relative; z-index:1; padding:28px 24px; background:rgba(0,0,0,.22);
    border-left:3px solid var(--book-gold); border-radius:0 6px 6px 0;
}
.blockage-aside strong { display:block; margin-bottom:12px; color:var(--book-gold-light); font-size:1.15rem; }
.blockage-aside p { margin:0; color:#d2cec4; line-height:1.8; }
.book-about { max-width:790px; margin:0 auto; text-align:center; }
.book-about img { width:112px; height:112px; object-fit:cover; border-radius:50%; border:2px solid var(--book-gold); margin-bottom:24px; }
.book-about p { color:var(--book-muted); line-height:1.9; }
.book-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.book-step { text-align:center; padding:8px 10px; }
.book-step-number {
    display:flex; align-items:center; justify-content:center; width:48px; height:48px;
    margin:0 auto 18px; border:1px solid var(--book-gold); border-radius:50%;
    color:var(--book-gold-light); font-weight:800;
}
.book-step h3 { margin-bottom:10px; }
.book-step p { color:var(--book-muted); line-height:1.7; }
.book-final-cta { padding:66px 0; text-align:center; background:#1a1a1a; }
.book-final-cta h2 { margin-bottom:14px; font-size:clamp(1.8rem,3.5vw,2.5rem); }
.book-final-cta p { max-width:650px; margin:0 auto 25px; color:var(--book-muted); line-height:1.8; }
@media (max-width:800px) {
    .book-grid { grid-template-columns:1fr; }
    .blockage-panel { grid-template-columns:1fr; }
    .book-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .book-hero { padding:54px 0 64px; }
    .book-section,.blockage-section { padding:58px 0; }
}
@media (max-width:480px) {
    .book-steps { grid-template-columns:1fr; }
    .book-card { padding:23px; }
    .book-actions { flex-direction:column; align-items:stretch; }
    .book-btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*:before,*:after { transition:none !important; }
}

/* =========================
   BOOKS
========================= */

        .container {
            display: flex;
            width: 100%;
        }
        .column {
            flex: 1;
            padding: 15px;
            box-sizing: border-box;
        }


/* =========================
   xxx
========================= */
   /* Responsive Seitenstruktur für couchbound.shop */
    :root {
      --cb-bg: #111;
      --cb-panel: #1c1c1c;
      --cb-panel-soft: #242424;
      --cb-text: #f4f1ed;
      --cb-muted: #c7c1ba;
      --cb-accent: #d8b58a;
      --cb-border: #393530;
      --cb-radius: 14px;
      --cb-gap: clamp(14px, 2vw, 26px);
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--cb-bg);
      color: var(--cb-text);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.65;
    }
    a { color: inherit; }
    .cb-topbar {
      display: flex; align-items: center; justify-content: space-between;
      gap: 16px; padding: 10px clamp(16px, 3vw, 40px);
      border-bottom: 1px solid var(--cb-border); background: #151515;
    }
    .cb-topbrand { font-weight: 800; letter-spacing: .04em; text-decoration: none; }
    .cb-topbar img { display: block; width: 66px; max-height: 44px; object-fit: contain; }
    .cb-topnote { color: var(--cb-muted); font-size: .82rem; text-align: right; }
    .cb-layout {
      width: min(1600px, 100%); margin: 0 auto; padding: var(--cb-gap);
      display: grid; grid-template-columns: minmax(220px, .9fr) minmax(320px, 1.65fr) minmax(220px, .9fr);
      gap: var(--cb-gap); align-items: start;
    }
    .cb-panel {
      min-width: 0; background: var(--cb-panel); border: 1px solid var(--cb-border);
      border-radius: var(--cb-radius); padding: clamp(16px, 2vw, 25px);
    }
    .cb-section-title {
      margin: 0 0 15px; font-size: 1.05rem; line-height: 1.35;
      letter-spacing: .04em; text-transform: uppercase; color: var(--cb-accent);
    }
    .cb-story-list { display: grid; gap: 12px; }
    .cb-story-link {
      display: block; padding: 13px 14px; border-radius: 10px;
      background: var(--cb-panel-soft); border: 1px solid var(--cb-border);
      text-decoration: none; overflow-wrap: anywhere;
      transition: border-color .15s ease, background .15s ease;
    }
    .cb-story-link:hover, .cb-story-link:focus-visible {
      border-color: var(--cb-accent); background: #302a24; outline: none;
    }
    .cb-story-link strong { display: block; font-size: .98rem; }
    .cb-story-link span { display: block; margin-top: 3px; color: var(--cb-muted); font-size: .86rem; }
    .cb-center { text-align: center; }
    .cb-hero-logo { display: block; width: min(100%, 480px); height: auto; margin: 0 auto 12px; }
    .cb-tagline { margin: 0 0 22px; color: var(--cb-accent); letter-spacing: .13em; text-transform: lowercase; }
    .cb-center h1 { font-size: clamp(1.55rem, 2.6vw, 2.45rem); line-height: 1.2; margin: 14px 0; }
    .cb-lead { color: var(--cb-muted); font-size: 1.04rem; max-width: 62ch; margin: 0 auto; }
    .cb-notice { margin-top: 26px; padding: 18px; background: #171717; border: 1px solid var(--cb-border); border-radius: 12px; text-align: left; }
    .cb-notice h2 { font-size: 1.1rem; margin: 0 0 8px; }
    .cb-notice p { margin: 0; color: var(--cb-muted); }
    .cb-nav-list { display: grid; gap: 10px; }
    .cb-nav-button {
      display: flex; align-items: center; justify-content: space-between; gap: 10px;
      width: 100%; min-height: 46px; padding: 12px 14px;
      border: 1px solid var(--cb-border); border-radius: 10px;
      background: var(--cb-panel-soft); color: var(--cb-text);
      text-decoration: none; font-weight: 650; line-height: 1.35;
      overflow-wrap: anywhere; transition: background .15s ease, border-color .15s ease;
    }
    .cb-nav-button::after { content: "›"; color: var(--cb-accent); font-size: 1.35rem; flex: 0 0 auto; }
    .cb-nav-button:hover, .cb-nav-button:focus-visible { background: #302a24; border-color: var(--cb-accent); outline: none; }
    .cb-nav-help { color: var(--cb-muted); font-size: .88rem; margin: 15px 0 0; }
    .cb-weekly { grid-column: 1 / -1; margin: 0; text-align: center; color: var(--cb-accent); font-size: 1.1rem; }
    .cb-feature-story { grid-column: 1 / -1; }
    .cb-feature-story .cb-story-copy { max-width: 90ch; margin: 0 auto; }
    .cb-feature-story h2 { margin: 8px 0; font-size: clamp(1.5rem, 2.5vw, 2rem); }
    .cb-feature-story .cb-intro { color: var(--cb-muted); font-size: 1.08rem; }
    .cb-pill { display: inline-block; color: var(--cb-accent); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
    .cb-cta {
      display: inline-flex; align-items: center; justify-content: center;
      min-height: 46px; margin-top: 10px; padding: 11px 18px;
      background: var(--cb-accent); color: #17130f; border-radius: 9px;
      font-weight: 750; text-decoration: none; text-align: center;
    }
    .cb-cta:hover, .cb-cta:focus-visible { filter: brightness(1.08); outline: 2px solid var(--cb-text); outline-offset: 2px; }
    .cb-legal-small { color: var(--cb-muted); font-size: .82rem; }
    .cb-footer { border-top: 1px solid var(--cb-border); padding: 25px clamp(16px, 3vw, 40px); color: var(--cb-muted); }
    .cb-footer-inner { width: min(1500px, 100%); margin: auto; display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
    .cb-footer p { margin: 8px 0; }
    .cb-footer-nav { display: flex; flex-wrap: wrap; gap: 10px 18px; align-content: start; }
    .cb-footer-nav a { color: var(--cb-text); }
    #cookie-banner { position: fixed; z-index: 1000; inset: auto 16px 16px; }
    .cookie-box { max-width: 560px; margin-left: auto; padding: 20px; border: 1px solid var(--cb-border); border-radius: 12px; background: #222; box-shadow: 0 8px 32px #0009; }
    .cookie-box h3 { margin-top: 0; }
    .cookie-box button { min-height: 42px; margin: 5px 8px 0 0; padding: 9px 13px; cursor: pointer; }
    @media (max-width: 1050px) {
      .cb-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
      .cb-center { grid-column: 1 / -1; grid-row: 1; }
      .cb-stories { grid-column: 1; }
      .cb-navigation { grid-column: 2; }
      .cb-weekly, .cb-feature-story { grid-column: 1 / -1; }
    }
    @media (max-width: 680px) {
      .cb-topbar { padding: 10px 15px; }
      .cb-topnote { max-width: 55%; }
      .cb-layout { display: flex; flex-direction: column; padding: 12px; gap: 12px; }
      .cb-panel { width: 100%; padding: 17px; }
      .cb-center { order: 0; }
      .cb-navigation { order: 1; }
      .cb-stories { order: 2; }
      .cb-weekly { order: 3; padding: 4px 0; }
      .cb-feature-story { order: 4; }
      .cb-nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
      .cb-nav-button { min-height: 48px; padding: 10px; font-size: .92rem; }
      .cb-nav-button::after { display: none; }
      .cb-hero-logo { width: min(100%, 360px); }
      .cb-tagline { font-size: .9rem; }
      .cb-center h1 { font-size: 1.7rem; }
      .cb-feature-story p { overflow-wrap: anywhere; }
      .cb-footer-inner { display: block; }
      .cb-footer-nav { margin-top: 18px; }
    }
    @media (max-width: 380px) {
      .cb-nav-list { grid-template-columns: 1fr; }
      .cb-topbrand { font-size: .92rem; }
      .cb-topnote { font-size: .75rem; }
    }
    
    .button-link {
      display: inline-block;
      background-color: #d8b58a; /* Angepasst an dein Farbschema */
      color: #17130f;
      padding: 8px 16px;
      text-decoration: none;
      border-radius: 6px;
      font-weight: 600;
      font-family: sans-serif;
      transition: filter 0.15s ease;
    }

    .button-link:hover {
      filter: brightness(1.08);
    }

    /* Schöneres Tabellen-Design passend zur Dark-Optik */
    .stories-table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 20px;
    }
    .stories-table td, .stories-table th {
      border: 1px solid var(--cb-border);
      padding: 10px 14px;
      background: var(--cb-panel-soft);
      color: var(--cb-text);
    }
    .stories-table tr:hover td {
      background: #302a24;
    }
    
    /* Einleitungs-Infobox */
    .intro-box {
      background: var(--cb-panel);
      border: 1px solid var(--cb-border);
      border-radius: var(--cb-radius);
      padding: 24px;
      margin-bottom: 24px;
    }
    .intro-box h2 {
      margin-top: 0;
      color: var(--cb-accent);
      font-size: 1.4rem;
    }
    .intro-box p {
      color: var(--cb-muted);
      margin-bottom: 12px;
    }





/* =========================
   yyy
========================= */

    /* Seitenspezifische Gestaltung – gemeinsame Navigation und Fußzeile bleiben erhalten. */
    :root {
      --author-bg: #111;
      --author-panel: #191919;
      --author-text: #f3efe9;
      --author-muted: #c7c0b7;
      --author-accent: #d8b58a;
      --author-line: rgba(216, 181, 138, .28);
      --author-width: 1180px;
    }

    .author-page {
      color: var(--author-text);
      background:
        radial-gradient(ellipse at 50% 0%, rgba(216,181,138,.075), transparent 42%),
        var(--author-bg);
      min-height: 100vh;
    }

    .author-page a { color: inherit; }

    .author-hero {
      width: min(var(--author-width), calc(100% - 48px));
      margin: 0 auto;
      padding: clamp(54px, 8vw, 104px) 0 66px;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(280px, .85fr);
      gap: clamp(32px, 6vw, 86px);
      align-items: center;
    }

    .author-kicker {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 20px;
      color: var(--author-accent);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .18em;
      line-height: 1.5;
      text-transform: uppercase;
    }

    .author-kicker::before {
      content: "";
      width: 34px;
      height: 1px;
      background: var(--author-accent);
      flex: 0 0 auto;
    }

    .author-hero h1 {
      max-width: 720px;
      margin: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(2.7rem, 5.4vw, 5.15rem);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: 1.02;
      text-wrap: balance;
    }

    .author-hero h1 em {
      color: var(--author-accent);
      font-weight: 400;
    }

    .author-deck {
      max-width: 590px;
      margin: 26px 0 0;
      color: var(--author-muted);
      font-size: clamp(1.02rem, 1.5vw, 1.16rem);
      line-height: 1.85;
    }

    .author-signature {
      margin: 27px 0 0;
      color: var(--author-text);
      font-family: Georgia, "Times New Roman", serif;
      font-size: 1.25rem;
    }

    .author-art {
      position: relative;
      max-width: 460px;
      justify-self: end;
      width: 100%;
    }

    .author-art::before {
      content: "";
      position: absolute;
      inset: 18px -18px -18px 18px;
      border: 1px solid var(--author-line);
      pointer-events: none;
    }

    .author-art img {
      position: relative;
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center;
      background: #202020;
      filter: saturate(.78);
    }

    .author-art-caption {
      position: relative;
      margin: 13px 0 0;
      color: var(--author-muted);
      font-size: .78rem;
      letter-spacing: .06em;
      text-align: right;
    }

    .author-divider {
      width: min(var(--author-width), calc(100% - 48px));
      height: 1px;
      margin: 0 auto;
      background: linear-gradient(90deg, transparent, var(--author-line), transparent);
    }

    .author-story {
      width: min(850px, calc(100% - 48px));
      margin: 0 auto;
      padding: clamp(58px, 8vw, 94px) 0;
    }

    .author-story h2 {
      max-width: 700px;
      margin: 0 0 28px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(2rem, 3.8vw, 3.2rem);
      font-weight: 400;
      letter-spacing: -.025em;
      line-height: 1.12;
      text-wrap: balance;
    }

    .author-story h2 span { color: var(--author-accent); }

    .author-story p {
      max-width: 760px;
      margin: 0 0 20px;
      color: var(--author-muted);
      font-size: 1.04rem;
      line-height: 1.9;
    }

    .author-story p strong {
      color: var(--author-text);
      font-weight: 600;
    }

    .author-quote {
      margin: 44px 0 0;
      padding: 25px 0 25px 27px;
      border-left: 2px solid var(--author-accent);
      color: var(--author-text);
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(1.35rem, 2.5vw, 1.9rem);
      line-height: 1.45;
    }

    .author-pillars {
      width: min(var(--author-width), calc(100% - 48px));
      margin: 0 auto;
      padding: 0 0 clamp(64px, 8vw, 100px);
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      background: var(--author-line);
      border: 1px solid var(--author-line);
    }

    .author-pillar {
      padding: clamp(22px, 3vw, 34px);
      background: #171717;
    }

    .author-pillar-number {
      display: block;
      margin-bottom: 20px;
      color: var(--author-accent);
      font-size: .76rem;
      letter-spacing: .16em;
    }

    .author-pillar h3 {
      margin: 0 0 12px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 1.45rem;
      font-weight: 400;
    }

    .author-pillar p {
      margin: 0;
      color: var(--author-muted);
      font-size: .95rem;
      line-height: 1.75;
    }

    .author-closing {
      padding: clamp(48px, 7vw, 78px) 24px;
      border-top: 1px solid var(--author-line);
      background: linear-gradient(180deg, #171513, #111);
      text-align: center;
    }

    .author-closing p {
      max-width: 660px;
      margin: 0 auto;
      color: var(--author-muted);
      line-height: 1.8;
    }

    .author-closing h2 {
      margin: 0 auto 16px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(2rem, 4vw, 3.25rem);
      font-weight: 400;
      line-height: 1.15;
    }

    .author-closing h2 em {
      color: var(--author-accent);
      font-weight: 400;
    }

    .cb-cta:hover, .cb-cta:focus-visible { filter: brightness(1.08); outline: 2px solid var(--cb-text); outline-offset: 2px; }

    .author-cta {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      min-height: 48px;
      margin-top: 27px;
      padding: 12px 22px;
      border: 1px solid var(--author-accent);
      color: var(--author-text) !important;
      text-decoration: none;
      font-size: .92rem;
      font-weight: 650;
      transition: background .2s ease, color .2s ease;
    }

    .author-cta:hover,
    .author-cta:focus-visible {
      background: var(--author-accent);
      color: #17130f !important;
      outline: none;
    }

    @media (max-width: 760px) {
      .author-hero {
        width: min(100% - 36px, 600px);
        grid-template-columns: 1fr;
        padding-top: 48px;
        gap: 34px;
      }

      .author-hero h1 { font-size: clamp(2.6rem, 12vw, 4.1rem); }

      .author-art {
        width: min(82%, 380px);
        justify-self: center;
        margin: 0 12px 12px 0;
      }

      .author-story,
      .author-divider,
      .author-pillars {
        width: calc(100% - 36px);
      }

      .author-pillars { grid-template-columns: 1fr; }

      .author-pillar { padding: 25px; }

      .author-quote { padding-left: 20px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        transition: none !important;
      }
    }
    
.button-link {
  display: inline-block;
  background-color: #d98032;
  color: white;
  padding: 10px 24px;
  text-decoration: none;
  border-radius: 4px;
  font-family: sans-serif;
}

.button-link:hover {
  background-color: #038f5b;
}

.ebook-heading {
    text-align: center;
    padding: 20px 20px 20;
}

.ebook-heading .tagline {
    margin: 0;
    padding: 10px 0;
}

.story-section {
    padding-top: 10px;
}

.story-box {
    margin-top: 0;
}
