@font-face {
    font-family: "Buchschmied Fraktur";
    src: url("../fonts/fraktur.regular.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "Buchschmied Fraktur";
    src: url("../fonts/fraktur.bold.ttf") format("truetype");
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Buchschmied Suetterlin";
    src: url("../fonts/sutterlin-HJZ.ttf") format("truetype");
    font-display: swap;
}

:root {
    --paper: #fffdf8;
    --paper-warm: #f5efe4;
    --paper-deep: #eadbc4;
    --ink: #292529;
    --ink-soft: #615955;
    --chalk: #282529;
    --chalk-soft: #3a363a;
    --red: #d52b1e;
    --red-dark: #a92118;
    --gold: #c69842;
    --gold-light: #f0d99f;
    --line: #ded3c5;
    --green: #2f6a3a;
    --shadow-soft: 0 12px 34px rgba(50, 39, 31, .08);
    --shadow: 0 24px 65px rgba(45, 35, 29, .14);
    --radius-small: 8px;
    --radius: 14px;
    --radius-large: 22px;
    --site-width: 1180px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 78px;
}

body {
    margin: 0;
}

body.site-body {
    min-width: 320px;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--paper);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    line-height: 1.72;
}

img {
    max-width: 100%;
}

a {
    color: var(--red-dark);
}

a:hover {
    color: var(--red);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: 3px solid rgba(198, 152, 66, .62);
    outline-offset: 4px;
    border-radius: 4px;
}

::selection {
    color: white;
    background: var(--red-dark);
}

.site-wrap {
    width: min(var(--site-width), calc(100% - 40px));
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    top: 8px;
    left: 12px;
    z-index: 9999;
    padding: 10px 15px;
    color: white;
    background: var(--red-dark);
    border-radius: 5px;
    transform: translateY(-160%);
}

.skip-link:focus {
    color: white;
    transform: translateY(0);
}

.site-header {
    position: relative;
    z-index: 40;
    color: white;
    background:
        linear-gradient(rgba(25, 23, 26, .18), rgba(25, 23, 26, .18)),
        url("/grafiken/allgemein/kreidetafel-hintergrund.jpg") center / cover;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.site-header__inner {
    display: grid;
    width: 100%;
    min-height: 86px;
    padding: 12px clamp(16px, 2.25vw, 34px);
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 18px;
}

.site-header__logo {
    display: inline-flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    justify-self: start;
}

.site-header__logo img {
    display: block;
    width: 58px;
    height: 58px;
}

.brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    color: white;
    justify-self: center;
    text-decoration: none;
    transform: translateY(4px);
}

.brand:hover {
    color: white;
}

.brand__name {
    font-family: "Buchschmied Fraktur", Georgia, serif;
    font-size: clamp(2rem, 3.15vw, 2.85rem);
    line-height: 1;
    text-shadow: 0 2px 5px rgba(0, 0, 0, .65);
    white-space: nowrap;
}

.brand__name i {
    display: inline-block;
    margin-inline: .12em;
    color: var(--red);
    font-family: Georgia, serif;
    font-size: 1em;
    font-style: normal;
    animation: heartbeat 5.5s infinite;
    transform-origin: center;
}

.brand__name b {
    font-family: "Buchschmied Suetterlin", "Brush Script MT", cursive;
    font-size: 1.14em;
    font-weight: 400;
}

.header-newsletter {
    display: grid;
    min-height: 52px;
    padding: 8px 18px;
    color: white;
    background: var(--red);
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 7px;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .22);
    font-size: .92rem;
    font-weight: 850;
    justify-self: end;
    line-height: 1.18;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    animation: header-button-pulse 5.5s infinite;
    place-content: center;
}

.header-newsletter span {
    font-size: .76rem;
}

.header-newsletter:hover {
    color: white;
    background: #ed3a2c;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
    transform: translateY(-1px) scale(1.02);
    animation-play-state: paused;
}

.site-nav {
    position: sticky;
    top: 0;
    z-index: 35;
    background: rgba(255, 253, 248, .96);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 5px 20px rgba(46, 37, 31, .06);
    backdrop-filter: blur(12px);
}

.site-nav__inner {
    position: relative;
    display: flex;
    min-height: 58px;
    align-items: center;
}

.site-nav__links {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.site-nav__links > a,
.more-nav > summary {
    position: relative;
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 9px 14px;
    color: #3f3936;
    border-radius: 7px;
    font-size: .84rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.site-nav__links > a:hover,
.more-nav > summary:hover {
    color: var(--red-dark);
    background: #f4ebe0;
}

.site-nav__links > a[aria-current="page"] {
    color: var(--red-dark);
    background: #f7e8e4;
}

.site-nav__links > a[aria-current="page"]::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 4px;
    left: 14px;
    height: 2px;
    background: var(--red);
}

.site-nav__links > a.site-nav__paired-start {
    margin-right: -5px;
    padding-right: 11px;
    background: #f7f0e7;
    border-radius: 7px 0 0 7px;
}

.site-nav__links > a.site-nav__paired-end {
    gap: 5px;
    padding-left: 9px;
    color: var(--red-dark);
    background: #f7f0e7;
    border-left: 1px solid #dfcfbd;
    border-radius: 0 7px 7px 0;
}

.site-nav__continuation-arrow {
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.menu-toggle {
    display: none;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    padding: 8px 4px;
    color: var(--ink);
    background: transparent;
    border: 0;
    font: inherit;
    font-size: .85rem;
    font-weight: 800;
}

.menu-toggle__icon {
    display: grid;
    width: 23px;
    gap: 4px;
}

.menu-toggle__icon i {
    display: block;
    height: 2px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:nth-child(2) {
    opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.more-nav {
    position: relative;
}

.more-nav > summary {
    list-style: none;
}

.more-nav > summary::-webkit-details-marker {
    display: none;
}

.more-nav > summary::after {
    content: "⌄";
    margin-left: 7px;
    color: var(--gold);
}

.more-nav > div {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    width: 220px;
    padding: 9px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: var(--shadow-soft);
}

.more-nav > div a {
    padding: 9px 11px;
    color: var(--ink);
    border-radius: 6px;
    font-size: .8rem;
    text-decoration: none;
}

.more-nav > div a:hover {
    color: var(--red-dark);
    background: var(--paper-warm);
}

.season-decoration {
    position: absolute;
    top: 145px;
    left: 0;
    z-index: 30;
    width: clamp(120px, 14vw, 220px);
    aspect-ratio: 250 / 241;
    background: url("/grafiken/allgemein/weihnachtsschmuck-oben.png") left top / contain no-repeat;
    pointer-events: none;
}

.home-main {
    overflow: clip;
}

.home-hero {
    position: relative;
    padding: clamp(62px, 8vw, 104px) 0 clamp(72px, 9vw, 120px);
    background:
        radial-gradient(circle at 82% 18%, rgba(198, 152, 66, .17), transparent 25%),
        linear-gradient(145deg, #fcf8f0, #f0e5d4);
}

.home-hero::before,
.warm-section::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .3;
    background-image: repeating-linear-gradient(8deg, rgba(93, 70, 45, .025) 0 1px, transparent 1px 7px);
    pointer-events: none;
}

.hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(350px, .72fr);
    align-items: center;
    gap: clamp(45px, 7vw, 92px);
}

.eyebrow {
    margin: 0 0 13px;
    color: var(--red-dark);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.hero-copy h1 {
    max-width: 760px;
    margin: 0;
    font: 700 clamp(2.55rem, 5.5vw, 4.85rem)/1.01 Georgia, "Times New Roman", serif;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.hero-script {
    display: block;
    margin-bottom: 12px;
    color: #765f3c;
    font-family: "Buchschmied Suetterlin", "Brush Script MT", cursive;
    font-size: clamp(1.45rem, 3.2vw, 2.15rem);
}

.hero-lead {
    max-width: 720px;
    margin: 26px 0 0;
    color: #514843;
    font-size: clamp(1.06rem, 1.8vw, 1.24rem);
}

.hero-copy > p:not(.eyebrow, .hero-lead, .hero-meta) {
    max-width: 700px;
    color: var(--ink-soft);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 31px;
}

.button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 23px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: .9rem;
    font-weight: 850;
    text-align: center;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.button--primary {
    color: white;
    background: var(--red);
    box-shadow: 0 11px 28px rgba(169, 33, 24, .22);
}

.button--primary:hover {
    color: white;
    background: var(--red-dark);
    box-shadow: 0 15px 34px rgba(143, 27, 20, .28);
    transform: translateY(-2px);
}

.button--secondary {
    color: var(--ink);
    background: rgba(255, 255, 255, .6);
    border-color: #cfc0ae;
}

.button--secondary:hover {
    color: var(--red-dark);
    background: white;
    transform: translateY(-2px);
}

.hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin: 26px 0 0;
    color: #716761;
}

.hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .76rem;
}

.hero-meta a {
    color: inherit;
}

.hero-visual {
    position: relative;
    min-height: 475px;
}

.script-board {
    position: absolute;
    inset: 18px 0 auto 8%;
    min-height: 400px;
    padding: 42px;
    overflow: hidden;
    color: white;
    background:
        linear-gradient(rgba(37, 34, 38, .12), rgba(37, 34, 38, .12)),
        url("/grafiken/allgemein/kreidetafel-hintergrund.jpg") center / cover;
    border: 9px solid #d3b77d;
    border-radius: 7px;
    box-shadow: var(--shadow);
    transform: rotate(1.4deg);
}

.script-board::after {
    content: "";
    position: absolute;
    right: 22px;
    bottom: 18px;
    left: 22px;
    height: 2px;
    background: rgba(255, 255, 255, .16);
    box-shadow: 0 -72px rgba(255,255,255,.06), 0 -144px rgba(255,255,255,.06), 0 -216px rgba(255,255,255,.06);
}

.script-board img {
    position: relative;
    z-index: 1;
    display: block;
    width: 190px;
    height: 190px;
    margin: 3px auto 25px;
    border: 5px solid rgba(255, 255, 255, .82);
    border-radius: 50%;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .35);
}

.script-board p {
    position: relative;
    z-index: 1;
    width: calc(100% - 82px);
    margin: 0;
    font-family: "Buchschmied Suetterlin", "Brush Script MT", cursive;
    font-size: clamp(1.6rem, 3.2vw, 2.3rem);
    line-height: 1.18;
    text-align: left;
    text-wrap: balance;
}

.script-board small {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 18px;
    color: #e7ddcf;
    font-size: .7rem;
    letter-spacing: .11em;
    text-align: center;
    text-transform: uppercase;
}

.portrait-seal {
    position: absolute;
    right: -14px;
    bottom: 0;
    z-index: 2;
    display: grid;
    width: 132px;
    padding: 8px;
    background: white;
    border: 1px solid #d5c8b8;
    border-radius: 50%;
    box-shadow: 0 15px 38px rgba(45, 35, 29, .2);
    place-items: center;
}

.portrait-seal img {
    display: block;
    width: 114px;
    height: 114px;
    object-fit: cover;
    border-radius: 50%;
}

.content-section {
    position: relative;
    padding: clamp(72px, 8.5vw, 116px) 0;
}

.content-section--compact {
    padding-block: clamp(55px, 7vw, 88px);
}

.warm-section {
    background: var(--paper-warm);
}

.white-section {
    background: white;
}

.dark-section {
    color: white;
    background:
        radial-gradient(circle at 13% 30%, rgba(198, 152, 66, .12), transparent 26%),
        linear-gradient(135deg, var(--chalk-soft), var(--chalk));
}

.section-heading {
    width: min(780px, 100%);
    margin: 0 auto clamp(38px, 5.5vw, 62px);
    text-align: center;
}

.section-heading--left {
    margin-inline: 0;
    text-align: left;
}

.section-heading--spaced {
    margin-top: clamp(58px, 8vw, 95px);
}

.section-heading h2,
.content-copy h2,
.newsletter-copy h2 {
    margin: 0;
    font: 700 clamp(2rem, 4.7vw, 3.45rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.section-heading > p:last-child {
    max-width: 700px;
    margin: 19px auto 0;
    color: var(--ink-soft);
    font-size: 1.04rem;
}

.section-heading--left > p:last-child {
    margin-left: 0;
}

.dark-section .section-heading > p:last-child {
    color: #ddd6d1;
}

.dark-section .eyebrow {
    color: var(--gold-light);
}

.split-content {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(45px, 8vw, 95px);
}

.split-content--reverse {
    grid-template-columns: minmax(0, 1.28fr) minmax(260px, .72fr);
}

.split-content--reverse .image-frame {
    order: 2;
}

.content-copy > p {
    color: var(--ink-soft);
}

.content-copy > p:first-of-type {
    margin-top: 24px;
}

.content-copy strong {
    color: #413835;
}

.image-frame {
    position: relative;
    margin: 0;
}

.image-frame::before {
    content: "";
    position: absolute;
    inset: 18px -16px -16px 18px;
    background: #e6cf9d;
    border-radius: var(--radius);
}

.image-frame img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    background: #eee8df;
    border: 1px solid #cfc1af;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.image-frame figcaption {
    position: relative;
    margin-top: 26px;
    color: #756a64;
    font-size: .7rem;
}

.memory-card {
    position: relative;
    max-width: 920px;
    margin: clamp(55px, 7vw, 88px) auto 0;
    padding: clamp(30px, 5vw, 52px);
    background: white;
    border: 1px solid var(--line);
    border-left: 6px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.memory-card h3 {
    margin: 0 0 16px;
    font: 700 clamp(1.5rem, 3vw, 2.1rem)/1.15 Georgia, serif;
}

.memory-card p {
    color: var(--ink-soft);
}

.memory-card p:last-child {
    margin-bottom: 0;
}

.feature-cta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    max-width: 940px;
    margin: clamp(50px, 7vw, 82px) auto 0;
    padding: 20px 24px;
    align-items: center;
    gap: 22px;
    color: white;
    background: linear-gradient(135deg, #3a363a, #262326);
    border: 1px solid #4f494f;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    text-decoration: none;
}

.feature-cta:hover {
    color: white;
    transform: translateY(-2px);
}

.feature-cta img {
    width: 70px;
    height: 70px;
}

.feature-cta strong,
.feature-cta span {
    display: block;
}

.feature-cta strong {
    font: 700 1.18rem Georgia, serif;
}

.feature-cta span {
    color: #ddd5d0;
    font-size: .82rem;
}

.feature-cta b {
    padding: 9px 12px;
    color: var(--gold-light);
    font-size: .8rem;
    white-space: nowrap;
}

.knowledge-intro {
    display: grid;
    grid-template-columns: .58fr 1.42fr;
    align-items: center;
    gap: clamp(35px, 7vw, 75px);
    margin-bottom: 50px;
}

.knowledge-intro img {
    display: block;
    width: min(250px, 100%);
    margin-inline: auto;
    border: 8px solid white;
    border-radius: 50%;
    box-shadow: var(--shadow-soft);
}

.knowledge-intro p {
    color: var(--ink-soft);
}

.term-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 22px 0;
    padding: 0;
    list-style: none;
}

.term-list li {
    padding: 7px 11px;
    color: #604b28;
    background: #f6e8c8;
    border: 1px solid #e3cd9e;
    border-radius: 99px;
    font-size: .76rem;
    font-weight: 750;
}

.knowledge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.knowledge-card {
    min-height: 100%;
    padding: clamp(26px, 3.5vw, 38px);
    background: white;
    border: 1px solid var(--line);
    border-top: 5px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.knowledge-card:nth-child(2) {
    border-top-color: var(--red);
}

.knowledge-card:nth-child(3) {
    color: white;
    background: var(--chalk);
    border-color: #4a454a;
}

.knowledge-card h3 {
    margin: 0 0 17px;
    font: 700 1.5rem Georgia, serif;
}

.knowledge-card p {
    margin: 0;
    color: var(--ink-soft);
}

.knowledge-card:nth-child(3) p {
    color: #ddd6d1;
}

.history-note {
    max-width: 940px;
    margin: 34px auto 0;
    padding: clamp(26px, 4vw, 40px);
    color: #574d47;
    background: rgba(255, 255, 255, .72);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

.history-note h3 {
    margin-top: 0;
    font: 700 1.45rem Georgia, serif;
}

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

.book-card {
    display: grid;
    min-width: 0;
    overflow: hidden;
    color: var(--ink);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    text-decoration: none;
    transition: transform .28s ease, box-shadow .28s ease;
}

.book-card:hover {
    color: var(--ink);
    box-shadow: var(--shadow);
    transform: translateY(-5px);
}

.book-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--paper-deep);
    aspect-ratio: 2 / 1;
}

.book-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.book-card:hover .book-card__image img {
    transform: scale(1.025);
}

.book-card__label {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 11px;
    color: white;
    background: var(--red-dark);
    border-radius: 99px;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .04em;
}

.book-card__body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 24px 25px 26px;
}

.book-card__body > strong {
    font: 700 1.25rem/1.24 Georgia, serif;
}

.book-card__body > span {
    margin-top: 10px;
    color: var(--ink-soft);
    font-size: .86rem;
}

.book-card__body > b {
    margin-top: 20px;
    color: var(--red-dark);
    font-size: .78rem;
}

.affiliate-note {
    margin: 24px auto 0;
    color: #756b65;
    font-size: .72rem;
    text-align: center;
}

.reviews-shell {
    padding: clamp(28px, 4vw, 48px);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);
}

.reviews-shell::before {
    content: "★★★★★";
    display: block;
    margin-bottom: 18px;
    color: var(--gold);
    font-size: 1.15rem;
    letter-spacing: .18em;
    text-align: center;
}

.tips-grid {
    display: grid;
    grid-template-columns: minmax(230px, .48fr) minmax(0, 1.52fr);
    align-items: start;
    gap: clamp(40px, 7vw, 80px);
}

.tips-image {
    position: sticky;
    top: 100px;
    margin: 0;
    padding: 25px;
    background: #f2e5d1;
    border: 1px solid #dfccb0;
    border-radius: 50% 50% var(--radius) var(--radius);
}

.tips-image img {
    display: block;
    width: 100%;
    height: auto;
}

.tips-list {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    counter-reset: tips;
    list-style: none;
}

.tips-list li {
    position: relative;
    padding: 20px 22px 20px 68px;
    color: var(--ink-soft);
    background: white;
    border: 1px solid var(--line);
    border-radius: 10px;
    counter-increment: tips;
}

.tips-list li::before {
    content: counter(tips, decimal-leading-zero);
    position: absolute;
    top: 20px;
    left: 20px;
    color: var(--gold);
    font: 700 .82rem Georgia, serif;
}

.tips-newsletter-link {
    color: var(--red-dark);
    font-weight: 850;
    text-decoration-thickness: 2px;
    text-underline-offset: .2em;
}

.tips-newsletter-link:hover {
    color: var(--red);
}

.newsletter-section {
    padding: clamp(75px, 9vw, 118px) 0;
    color: white;
    background:
        radial-gradient(circle at 84% 28%, rgba(213, 43, 30, .24), transparent 22%),
        linear-gradient(135deg, #3a363a, #242225);
}

.newsletter-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: center;
    gap: clamp(42px, 8vw, 90px);
}

.newsletter-copy .eyebrow {
    color: var(--gold-light);
}

.newsletter-copy > p {
    color: #ddd6d1;
}

.newsletter-benefits {
    display: grid;
    gap: 11px;
    margin: 27px 0 0;
    padding: 0;
    list-style: none;
}

.newsletter-benefits li {
    position: relative;
    padding-left: 29px;
    color: #eee8e3;
}

.newsletter-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--gold-light);
    font-weight: 900;
}

.newsletter-card {
    padding: clamp(30px, 5vw, 46px);
    color: var(--ink);
    background: white;
    border-top: 6px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: 0 26px 66px rgba(0, 0, 0, .26);
    text-align: center;
}

.newsletter-card img {
    display: block;
    width: 122px;
    height: 122px;
    margin: 0 auto 22px;
    object-fit: cover;
    border-radius: 50%;
}

.newsletter-card strong {
    display: block;
    margin-bottom: 10px;
    font: 700 1.38rem Georgia, serif;
}

.newsletter-card p {
    color: var(--ink-soft);
    font-size: .84rem;
}

.newsletter-card .button {
    width: 100%;
    margin-top: 12px;
}

.teaser-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.teaser-card {
    display: grid;
    overflow: hidden;
    color: var(--ink);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
}

.teaser-card:hover {
    color: var(--ink);
    box-shadow: var(--shadow);
    transform: translateY(-4px);
}

.teaser-card > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 32 / 15;
    object-fit: cover;
}

.teaser-card__body {
    display: grid;
    padding: 23px;
}

.teaser-card__body > strong {
    font: 700 1.22rem Georgia, serif;
}

.teaser-card__body > span {
    margin-top: 8px;
    color: var(--ink-soft);
    font-size: .84rem;
}

.teaser-card__body > b {
    margin-top: 18px;
    color: var(--red-dark);
    font-size: .76rem;
}

.comments-section {
    padding: clamp(65px, 8vw, 100px) 0;
    background: var(--paper-warm);
}

.comments-shell {
    max-width: 940px;
}

.comments-disclosure {
    overflow: hidden;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.comments-disclosure > summary {
    position: relative;
    padding: 19px 56px 19px 22px;
    color: var(--ink);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.comments-disclosure > summary::-webkit-details-marker {
    display: none;
}

.comments-disclosure > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    color: var(--red-dark);
    font-size: 1.4rem;
    transform: translateY(-50%);
}

.comments-disclosure[open] > summary::after {
    content: "−";
}

.comments-list {
    display: grid;
    max-height: 700px;
    gap: 13px;
    padding: 20px;
    overflow-y: auto;
    background: #faf7f1;
    border-top: 1px solid var(--line);
}

.kommentarBox {
    padding: 21px;
    background: white;
    border: 1px solid #e5ddd2;
    border-radius: 9px;
}

.kommentarDatum {
    color: #7c716b;
    font-size: .72rem;
}

.kommentarVon {
    display: block;
    margin: 5px 0 9px;
    font: 700 1rem Georgia, serif;
}

.kommentarText {
    color: var(--ink-soft);
    font-size: .86rem;
    white-space: pre-line;
}

.admin-name img {
    width: 22px;
    height: 22px;
    vertical-align: middle;
}

.comments-closed {
    width: fit-content;
    margin: 16px 0 0;
    padding: 9px 13px;
    color: #685a4d;
    background: #eee3d3;
    border-radius: 7px;
    font-size: .76rem;
}

.site-footer {
    padding: 58px 0 28px;
    color: #d9d3d0;
    background:
        repeating-linear-gradient(3deg, rgba(255, 255, 255, .015) 0 1px, transparent 1px 5px),
        #282529;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: 1.25fr .8fr .65fr;
    gap: 45px;
}

.site-footer__brand {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.site-footer__brand img {
    flex: 0 0 auto;
}

.site-footer__brand p {
    margin: 5px 0 0;
    font-size: .8rem;
}

.site-footer__brand strong {
    color: white;
    font: 700 1.12rem Georgia, serif;
}

.site-footer__brand strong span {
    color: var(--red);
}

.site-footer nav {
    display: grid;
    align-content: start;
    gap: 9px;
}

.site-footer nav a {
    color: #e5dfdb;
    font-size: .78rem;
    text-decoration: none;
}

.site-footer nav a:hover {
    color: white;
    text-decoration: underline;
}

.site-footer__legal {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid #464146;
}

.site-footer__legal p {
    max-width: 560px;
    margin: 0;
    color: #aaa3a0;
    font-size: .68rem;
}

/* Bücherregal */
.books-main {
    overflow: clip;
    background: var(--paper);
}

.books-hero {
    position: relative;
    padding: clamp(64px, 8vw, 102px) 0 clamp(78px, 9vw, 118px);
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 16%, rgba(198, 152, 66, .2), transparent 28%),
        linear-gradient(145deg, #fcf8f0, #eee1ce);
}

.books-hero::before,
.book-category.warm-section::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .3;
    background-image: repeating-linear-gradient(8deg, rgba(93, 70, 45, .025) 0 1px, transparent 1px 7px);
    pointer-events: none;
}

.books-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
    align-items: center;
    gap: clamp(48px, 7vw, 90px);
}

.books-hero__copy h1 {
    max-width: 740px;
    margin: 0;
    font: 700 clamp(2.55rem, 5.2vw, 4.6rem)/1.02 Georgia, "Times New Roman", serif;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.books-hero__copy > p:not(.eyebrow, .books-hero__lead) {
    max-width: 700px;
    color: var(--ink-soft);
}

.books-hero__lead {
    max-width: 720px;
    margin: 26px 0 0;
    color: #514843;
    font-size: clamp(1.06rem, 1.8vw, 1.24rem);
}

.books-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 29px;
}

.books-jump-nav a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 8px 15px;
    color: var(--ink);
    background: rgba(255, 255, 255, .68);
    border: 1px solid #cfc0ae;
    border-radius: 99px;
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.books-jump-nav a::after {
    content: "↓";
    margin-left: 8px;
    color: var(--gold);
}

.books-jump-nav a:hover {
    color: var(--red-dark);
    background: white;
    transform: translateY(-2px);
}

.books-showcase {
    position: relative;
    min-height: 470px;
}

.books-showcase::before {
    content: "";
    position: absolute;
    inset: 8% 5% 0 13%;
    background: rgba(198, 152, 66, .28);
    border: 1px solid rgba(166, 124, 55, .2);
    border-radius: 48% 48% 12px 12px;
}

.books-showcase__item {
    position: absolute;
    width: min(395px, 82%);
    margin: 0;
    overflow: hidden;
    background: white;
    border: 7px solid white;
    border-radius: 8px;
    box-shadow: var(--shadow);
}

.books-showcase__item img {
    display: block;
    width: 100%;
    height: auto;
}

.books-showcase__item--one {
    top: 2%;
    left: 0;
    z-index: 1;
    transform: rotate(-4deg);
}

.books-showcase__item--two {
    top: 31%;
    right: 0;
    z-index: 2;
    transform: rotate(3.5deg);
}

.books-showcase__item--three {
    bottom: 1%;
    left: 7%;
    z-index: 3;
    transform: rotate(-1.7deg);
}

.books-showcase__seal {
    position: absolute;
    right: -11px;
    bottom: -16px;
    z-index: 4;
    display: grid;
    width: 94px;
    height: 94px;
    color: white;
    background: var(--red-dark);
    border: 7px solid white;
    border-radius: 50%;
    box-shadow: 0 15px 34px rgba(45, 35, 29, .2);
    font: 700 1.2rem/1.05 Georgia, serif;
    text-align: center;
    place-content: center;
}

.books-showcase__seal small {
    margin-top: 3px;
    font: 800 .6rem Arial, Helvetica, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.book-category {
    position: relative;
    scroll-margin-top: 58px;
    padding: clamp(72px, 8.5vw, 116px) 0;
}

.book-category__heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    width: min(890px, 100%);
    align-items: start;
    gap: clamp(20px, 4vw, 38px);
    margin: 0 auto clamp(38px, 5.5vw, 62px);
}

.book-category__number {
    display: grid;
    width: clamp(62px, 8vw, 88px);
    aspect-ratio: 1;
    color: var(--gold);
    background: var(--chalk);
    border: 6px solid white;
    border-radius: 50%;
    box-shadow: var(--shadow-soft);
    font: 700 clamp(1.1rem, 2.2vw, 1.55rem) Georgia, serif;
    place-items: center;
}

.book-category__heading h2 {
    margin: 0;
    font: 700 clamp(2rem, 4.7vw, 3.45rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.book-category__heading p:last-child {
    max-width: 760px;
    margin: 18px 0 0;
    color: var(--ink-soft);
    font-size: 1.04rem;
}

.book-grid--catalog {
    position: relative;
    gap: clamp(18px, 2.5vw, 28px);
}

.book-grid--catalog .book-card {
    border-bottom: 4px solid rgba(198, 152, 66, .72);
}

.reader-voice {
    display: grid;
    grid-template-columns: minmax(190px, .42fr) minmax(0, 1.58fr);
    align-items: center;
    gap: clamp(24px, 5vw, 54px);
    max-width: 970px;
    margin: clamp(42px, 6vw, 70px) auto 0;
    padding: clamp(25px, 4vw, 40px);
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.white-section .reader-voice {
    background: var(--paper-warm);
}

.reader-voice__rating {
    display: grid;
    gap: 9px;
    padding-right: clamp(22px, 4vw, 42px);
    border-right: 1px solid var(--line);
    text-align: center;
}

.reader-voice__rating span {
    color: var(--gold);
    font-size: 1.02rem;
    letter-spacing: .12em;
}

.reader-voice__rating strong {
    color: var(--ink-soft);
    font-size: .72rem;
}

.reader-voice h3 {
    margin: 0;
    font: 700 1.35rem Georgia, serif;
}

.reader-voice p {
    margin: 10px 0 0;
    color: var(--ink-soft);
    font-size: .88rem;
}

.books-cta {
    padding: clamp(68px, 8vw, 100px) 0;
    color: white;
    background:
        radial-gradient(circle at 84% 28%, rgba(213, 43, 30, .24), transparent 22%),
        linear-gradient(135deg, #3a363a, #242225);
}

.books-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(35px, 7vw, 82px);
}

.books-cta .eyebrow {
    color: var(--gold-light);
}

.books-cta h2 {
    max-width: 760px;
    margin: 0;
    font: 700 clamp(2rem, 4.4vw, 3.35rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.books-cta p:last-child {
    max-width: 780px;
    margin-bottom: 0;
    color: #ddd6d1;
}

.books-cta .button {
    min-width: 250px;
}

/* Über mich */
.about-main {
    overflow: clip;
}

.about-hero {
    position: relative;
    padding: clamp(64px, 8vw, 104px) 0 clamp(76px, 9vw, 118px);
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 18%, rgba(198, 152, 66, .2), transparent 27%),
        linear-gradient(145deg, #fcf8f0, #eee1ce);
}

.about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .3;
    background-image: repeating-linear-gradient(8deg, rgba(93, 70, 45, .025) 0 1px, transparent 1px 7px);
    pointer-events: none;
}

.about-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr);
    align-items: center;
    gap: clamp(48px, 8vw, 104px);
}

.about-hero__copy h1 {
    max-width: 760px;
    margin: 0;
    font: 700 clamp(2.65rem, 5.5vw, 4.85rem)/1.01 Georgia, "Times New Roman", serif;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.about-hero__lead {
    max-width: 720px;
    margin: 26px 0 0;
    color: #514843;
    font-size: clamp(1.06rem, 1.8vw, 1.24rem);
}

.about-hero__copy > p:not(.eyebrow, .about-hero__lead) {
    max-width: 700px;
    color: var(--ink-soft);
}

.about-page .about-portrait {
    position: relative;
    margin: 0;
    padding: 0 0 34px 30px;
}

.about-page .about-portrait::before {
    content: "";
    position: absolute;
    inset: -25px 24px 46px -2px;
    background: #dcc18a;
    border-radius: 48% 48% 12px 12px;
    transform: rotate(-3deg);
}

.about-page .about-portrait__frame {
    position: relative;
    padding: 9px;
    background: white;
    border: 1px solid #d2c3b1;
    border-radius: 50% 50% 11px 11px;
    box-shadow: var(--shadow);
}

.about-page .about-portrait img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50% 50% 8px 8px;
}

.about-page .about-portrait figcaption {
    position: absolute;
    right: -15px;
    bottom: 2px;
    z-index: 2;
    width: min(245px, 78%);
    padding: 12px 17px;
    color: white;
    background: var(--chalk);
    border-left: 4px solid var(--gold);
    border-radius: 5px;
    box-shadow: var(--shadow-soft);
    font: italic 700 .78rem/1.45 Georgia, serif;
}

.about-copy-grid {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(45px, 8vw, 100px);
}

.about-copy-grid .section-heading {
    margin-bottom: 0;
}

.about-long-copy p {
    margin-top: 0;
    color: var(--ink-soft);
    font-size: 1.02rem;
}

.about-long-copy p + p {
    margin-top: 20px;
}

.about-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: clamp(48px, 7vw, 82px);
}

.about-value {
    position: relative;
    padding: clamp(25px, 3.5vw, 38px);
    overflow: hidden;
    background: var(--paper-warm);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

.about-value > span {
    display: block;
    margin-bottom: 28px;
    color: var(--gold);
    font: 700 .78rem Georgia, serif;
}

.about-value h3 {
    margin: 0;
    font: 700 1.32rem/1.24 Georgia, serif;
}

.about-value p {
    margin-bottom: 0;
    color: var(--ink-soft);
    font-size: .88rem;
}

.about-path {
    position: relative;
    display: grid;
    grid-template-columns: minmax(190px, .42fr) minmax(0, 1.58fr);
    align-items: center;
    gap: clamp(42px, 8vw, 100px);
}

.about-path__marker {
    display: grid;
    grid-template-rows: auto minmax(150px, 1fr) auto;
    justify-items: center;
    min-height: 340px;
    padding: 30px;
    color: white;
    background: var(--chalk);
    border: 1px solid #4a454a;
    border-radius: 120px 120px var(--radius) var(--radius);
    box-shadow: var(--shadow);
}

.about-path__marker span {
    display: grid;
    width: 78px;
    height: 78px;
    background: #3c383c;
    border: 1px solid #5a5357;
    border-radius: 50%;
    font: 700 1rem Georgia, serif;
    place-items: center;
}

.about-path__marker i {
    width: 1px;
    background: linear-gradient(var(--gold), rgba(198, 152, 66, .3), var(--gold));
}

.about-path__copy h2 {
    max-width: 780px;
    margin: 0;
    font: 700 clamp(2rem, 4.7vw, 3.45rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.about-path__copy > p:not(.eyebrow) {
    color: var(--ink-soft);
}

.about-together {
    padding: clamp(72px, 9vw, 112px) 0;
    color: white;
    background:
        radial-gradient(circle at 84% 28%, rgba(213, 43, 30, .24), transparent 22%),
        linear-gradient(135deg, #3a363a, #242225);
}

.about-together__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, .45fr);
    align-items: center;
    gap: clamp(44px, 8vw, 96px);
}

.about-together .eyebrow {
    color: var(--gold-light);
}

.about-together h2 {
    max-width: 760px;
    margin: 0;
    font: 700 clamp(2rem, 4.7vw, 3.45rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.about-together p {
    color: #ddd6d1;
}

.button--dark-outline {
    color: white;
    background: transparent;
    border-color: rgba(255, 255, 255, .38);
}

.button--dark-outline:hover {
    color: white;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .7);
    transform: translateY(-2px);
}

.about-signature {
    padding: clamp(28px, 4vw, 42px);
    color: var(--ink);
    background: white;
    border-top: 6px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: 0 26px 66px rgba(0, 0, 0, .26);
    text-align: center;
    transform: rotate(-1.5deg);
}

.about-signature p {
    margin: 0 0 17px;
    color: var(--ink);
    font: italic 700 1.15rem Georgia, serif;
}

.about-signature img {
    display: block;
    width: 150px;
    height: auto;
    margin-inline: auto;
}

/* Rechtliche Inhaltsseiten */
.legal-main {
    padding-bottom: clamp(64px, 8vw, 100px);
    background:
        linear-gradient(rgba(255, 253, 248, .94), rgba(255, 253, 248, .94)),
        repeating-linear-gradient(8deg, rgba(93, 70, 45, .04) 0 1px, transparent 1px 7px);
}

.legal-hero {
    padding: clamp(52px, 7vw, 82px) 0 clamp(42px, 5vw, 62px);
    color: white;
    background:
        radial-gradient(circle at 82% 20%, rgba(198, 152, 66, .16), transparent 25%),
        linear-gradient(135deg, var(--chalk-soft), var(--chalk));
}

.legal-hero__inner {
    max-width: 980px;
}

.legal-hero .eyebrow {
    color: var(--gold-light);
}

.legal-hero h1 {
    max-width: 920px;
    margin: 0;
    font: 700 clamp(2.35rem, 5vw, 4.1rem)/1.04 Georgia, "Times New Roman", serif;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.legal-shell {
    width: min(920px, calc(100% - 40px));
    margin: clamp(38px, 6vw, 68px) auto 0;
}

.legal-content {
    padding: clamp(28px, 5vw, 58px);
    overflow-wrap: anywhere;
    color: #463f3b;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    font-size: 1rem;
}

.legal-content > :first-child {
    margin-top: 0;
}

.legal-content > :last-child {
    margin-bottom: 0;
}

.legal-content h2 {
    margin: clamp(38px, 6vw, 62px) 0 15px;
    color: var(--ink);
    font: 700 clamp(1.45rem, 3vw, 2rem)/1.2 Georgia, serif;
    letter-spacing: -.015em;
}

.legal-content h3 {
    margin: 30px 0 12px;
    color: var(--ink);
    font: 700 1.22rem/1.3 Georgia, serif;
}

.legal-content h4 {
    margin: 27px 0 8px;
    color: var(--ink);
    font: 700 1.05rem/1.35 Georgia, serif;
}

.legal-content p,
.legal-content li {
    color: #554d49;
}

.legal-content ul,
.legal-content ol {
    padding-left: 1.35rem;
}

.legal-content li + li {
    margin-top: 10px;
}

.legal-content a {
    text-underline-offset: 3px;
}

.legal-content a[href="#"] {
    display: inline-flex;
    margin-top: 26px;
    font-size: .82rem;
    font-weight: 800;
}

.legal-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.legal-jump-nav a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 9px 16px;
    color: white;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 99px;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}

.legal-jump-nav a:hover {
    color: white;
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .55);
}

.legal-shell--terms {
    display: grid;
    width: min(1020px, calc(100% - 40px));
    gap: clamp(46px, 7vw, 78px);
}

.legal-document {
    scroll-margin-top: 82px;
}

.legal-document__heading {
    margin-bottom: 22px;
}

.legal-document__heading h2 {
    margin: 0;
    font: 700 clamp(1.85rem, 4vw, 2.8rem)/1.1 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
    text-wrap: balance;
}

/* Newsletter-Landingpage */
.newsletter-main {
    overflow: clip;
}

.newsletter-hero {
    position: relative;
    padding: clamp(46px, 6vw, 72px) 0 clamp(58px, 7vw, 88px);
    overflow: hidden;
    color: white;
    background:
        radial-gradient(circle at 79% 20%, rgba(213, 43, 30, .28), transparent 25%),
        radial-gradient(circle at 12% 80%, rgba(198, 152, 66, .12), transparent 27%),
        linear-gradient(135deg, #3b373b, #242225);
}

.newsletter-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image: repeating-linear-gradient(8deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 7px);
    pointer-events: none;
}

.newsletter-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 450px);
    align-items: start;
    gap: clamp(42px, 7vw, 86px);
}

.newsletter-hero__copy {
    padding-top: 9px;
}

.newsletter-hero .eyebrow {
    color: var(--gold-light);
}

.newsletter-hero .hero-script {
    color: #dcc78f;
}

.newsletter-hero__copy h1 {
    max-width: 720px;
    margin: 0;
    font: 700 clamp(2.55rem, 5.2vw, 4.65rem)/1.01 Georgia, "Times New Roman", serif;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.newsletter-hero__lead {
    max-width: 700px;
    margin: 23px 0 0;
    color: #eee8e3;
    font-size: clamp(1.05rem, 1.7vw, 1.2rem);
}

.newsletter-hero__offer {
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    max-width: 650px;
    margin-top: 25px;
    padding: 15px 20px 15px 15px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--radius);
}

.newsletter-hero__offer img {
    display: block;
    width: 142px;
    height: 142px;
    object-fit: cover;
    border-radius: 8px;
}

.newsletter-hero__offer strong,
.newsletter-hero__offer span {
    display: block;
}

.newsletter-hero__offer strong {
    font: 700 1.13rem Georgia, serif;
}

.newsletter-hero__offer span {
    margin-top: 5px;
    color: var(--gold-light);
    font-size: .75rem;
    font-weight: 800;
}

.newsletter-hero__offer p {
    margin: 9px 0 0;
    color: #d9d2ce;
    font-size: .82rem;
    line-height: 1.55;
}

.signup-card {
    scroll-margin-top: 76px;
    padding: clamp(25px, 3.4vw, 38px);
    color: var(--ink);
    background: white;
    border-top: 7px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: 0 28px 75px rgba(0, 0, 0, .34);
}

.signup-card .eyebrow {
    color: var(--red-dark);
}

.signup-card h2 {
    margin: 0;
    font: 700 clamp(1.75rem, 3.3vw, 2.35rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.signup-card__intro {
    margin: 12px 0 18px;
    color: var(--ink-soft);
    font-size: .86rem;
}

.signup-card__frame {
    min-height: 305px;
    overflow: hidden;
    background: #faf8f4;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.signup-card__frame iframe {
    display: block;
    width: 100%;
    height: 305px;
    overflow: hidden;
    border: 0;
}

.signup-card__privacy {
    margin: 14px 0 0;
    color: #756b65;
    font-size: .75rem;
    line-height: 1.55;
}

.newsletter-package-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 30px);
}

.newsletter-package {
    position: relative;
    padding: clamp(28px, 4vw, 44px);
    overflow: hidden;
    background: var(--paper-warm);
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
}

.newsletter-package--dark {
    color: white;
    background:
        radial-gradient(circle at 90% 12%, rgba(198, 152, 66, .16), transparent 25%),
        var(--chalk);
    border-color: #4b464b;
}

.newsletter-package__icon {
    display: grid;
    width: 62px;
    height: 62px;
    margin-bottom: 28px;
    color: white;
    background: var(--red-dark);
    border-radius: 50%;
    font: 700 1.3rem Georgia, serif;
    place-items: center;
}

.newsletter-package--dark .newsletter-package__icon {
    color: var(--chalk);
    background: var(--gold-light);
}

.newsletter-package--dark .eyebrow {
    color: var(--gold-light);
}

.newsletter-package h3 {
    margin: 0;
    font: 700 clamp(1.55rem, 3vw, 2.15rem)/1.12 Georgia, serif;
    letter-spacing: -.02em;
}

.newsletter-package ul {
    display: grid;
    gap: 11px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.newsletter-package li {
    position: relative;
    padding-left: 28px;
    color: var(--ink-soft);
}

.newsletter-package--dark li {
    color: #e2dcda;
}

.newsletter-package li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--green);
    font-weight: 900;
}

.newsletter-package--dark li::before {
    color: var(--gold-light);
}

.newsletter-preview-layout {
    display: grid;
    grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
    align-items: center;
    gap: clamp(50px, 8vw, 100px);
}

.newsletter-preview-copy h2,
.newsletter-author__copy h2 {
    margin: 0;
    font: 700 clamp(2rem, 4.6vw, 3.4rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.newsletter-preview-copy p:not(.eyebrow),
.newsletter-author__copy p:not(.eyebrow) {
    color: var(--ink-soft);
}

.newsletter-preview-copy .button {
    margin-top: 15px;
}

.newsletter-preview-pages {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 12px;
    perspective: 1000px;
}

.newsletter-preview-pages figure {
    margin: 0;
    padding: 5px;
    overflow: hidden;
    background: white;
    border: 1px solid #d3c4b3;
    border-radius: 6px;
    box-shadow: var(--shadow);
}

.newsletter-preview-pages figure:nth-child(1) {
    transform: rotate(-3deg) translateY(13px);
}

.newsletter-preview-pages figure:nth-child(2) {
    z-index: 2;
    transform: rotate(1.5deg) translateY(-12px);
}

.newsletter-preview-pages figure:nth-child(3) {
    transform: rotate(-1deg) translateY(17px);
}

.newsletter-preview-pages figure:nth-child(4) {
    transform: rotate(3deg) translateY(-5px);
}

.newsletter-preview-pages img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 3px;
}

.newsletter-objections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.newsletter-objection {
    padding: clamp(25px, 3.5vw, 38px);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.newsletter-objection img {
    display: block;
    width: 52px;
    height: 52px;
    margin-bottom: 24px;
}

.newsletter-objection h3 {
    margin: 0;
    font: 700 1.27rem/1.28 Georgia, serif;
}

.newsletter-objection p {
    margin-bottom: 0;
    color: var(--ink-soft);
    font-size: .88rem;
}

.newsletter-proof {
    padding: clamp(70px, 8vw, 105px) 0;
    color: white;
    background:
        radial-gradient(circle at 15% 30%, rgba(198, 152, 66, .13), transparent 25%),
        linear-gradient(135deg, var(--chalk-soft), var(--chalk));
}

.newsletter-proof .eyebrow {
    color: var(--gold-light);
}

.newsletter-proof .section-heading > p:last-child {
    color: #ddd6d1;
}

.newsletter-proof__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    background: #514b50;
    border: 1px solid #514b50;
    border-radius: var(--radius);
}

.newsletter-proof__grid article {
    padding: clamp(28px, 4vw, 42px);
    background: #302d31;
}

.newsletter-proof__grid strong {
    display: block;
    margin-bottom: 20px;
    color: var(--gold-light);
    font: 700 clamp(2.1rem, 4vw, 3rem)/1 Georgia, serif;
}

.newsletter-proof__grid h3 {
    margin: 0;
    color: white;
    font: 700 1.2rem Georgia, serif;
}

.newsletter-proof__grid p {
    margin-bottom: 0;
    color: #cfc8c5;
    font-size: .84rem;
}

.newsletter-author {
    display: grid;
    grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr);
    align-items: center;
    gap: clamp(48px, 8vw, 100px);
}

.newsletter-author__portrait {
    position: relative;
    margin: 0;
    padding: 10px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 50%;
    box-shadow: var(--shadow);
}

.newsletter-author__portrait::before {
    content: "";
    position: absolute;
    inset: 7%;
    z-index: -1;
    border: 2px solid var(--gold);
    border-radius: 50%;
    transform: translate(22px, 18px);
}

.newsletter-author__portrait img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.newsletter-author__copy .button {
    margin-top: 13px;
}

.newsletter-faq-layout {
    display: grid;
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: clamp(42px, 8vw, 95px);
}

.newsletter-faq-layout .section-heading {
    position: sticky;
    top: 100px;
    margin-bottom: 0;
}

.newsletter-faq {
    display: grid;
    gap: 11px;
}

.newsletter-faq details {
    overflow: hidden;
    background: white;
    border: 1px solid var(--line);
    border-radius: 9px;
}

.newsletter-faq summary {
    position: relative;
    padding: 19px 52px 19px 20px;
    color: var(--ink);
    font: 700 1rem/1.35 Georgia, serif;
    cursor: pointer;
    list-style: none;
}

.newsletter-faq summary::-webkit-details-marker {
    display: none;
}

.newsletter-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 19px;
    color: var(--red-dark);
    font: 700 1.25rem Arial, sans-serif;
    transform: translateY(-50%);
}

.newsletter-faq details[open] summary::after {
    content: "−";
}

.newsletter-faq details[open] summary {
    color: var(--red-dark);
    border-bottom: 1px solid var(--line);
}

.newsletter-faq details p {
    margin: 0;
    padding: 18px 20px 21px;
    color: var(--ink-soft);
    font-size: .9rem;
}

.newsletter-final {
    padding: clamp(64px, 8vw, 94px) 0;
    color: white;
    background: var(--red-dark);
}

.newsletter-final__inner {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: clamp(32px, 6vw, 70px);
    max-width: 940px;
}

.newsletter-final img {
    display: block;
    width: 190px;
    height: 190px;
    object-fit: cover;
    border: 6px solid white;
    border-radius: 50%;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .25);
}

.newsletter-final .eyebrow {
    color: var(--gold-light);
}

.newsletter-final h2 {
    margin: 0;
    font: 700 clamp(2rem, 4.5vw, 3.35rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.newsletter-final p:not(.eyebrow) {
    color: #f1d9d6;
}

.newsletter-final .button {
    margin-top: 12px;
    color: var(--red-dark);
    background: white;
    box-shadow: 0 11px 28px rgba(75, 10, 7, .22);
}

.newsletter-final .button:hover {
    color: var(--red-dark);
    background: #fff8f6;
}

/* Newsletter-Folgeseiten */
.newsletter-result {
    overflow: clip;
}

.newsletter-result__hero {
    padding: clamp(62px, 8vw, 98px) 0;
    text-align: center;
    background:
        radial-gradient(circle at 82% 18%, rgba(198, 152, 66, .18), transparent 25%),
        linear-gradient(145deg, #fcf8f0, #eee1ce);
}

.newsletter-result__hero .site-wrap {
    max-width: 850px;
}

.newsletter-result__hero h1,
.newsletter-success h1 {
    margin: 0;
    font: 700 clamp(2.45rem, 5.5vw, 4.5rem)/1.02 Georgia, "Times New Roman", serif;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.newsletter-result__hero > .site-wrap > p:last-child {
    max-width: 720px;
    margin: 23px auto 0;
    color: var(--ink-soft);
    font-size: 1.06rem;
}

.newsletter-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.newsletter-steps li {
    padding: clamp(26px, 3.5vw, 38px);
    background: var(--paper-warm);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

.newsletter-steps li > span {
    display: grid;
    width: 58px;
    height: 58px;
    margin-bottom: 25px;
    color: var(--gold-light);
    background: var(--chalk);
    border-radius: 50%;
    font: 700 .85rem Georgia, serif;
    place-items: center;
}

.newsletter-steps h3 {
    margin: 0;
    font: 700 1.3rem/1.25 Georgia, serif;
}

.newsletter-steps p {
    color: var(--ink-soft);
    font-size: .88rem;
}

.newsletter-steps small {
    display: block;
    padding: 10px 12px;
    color: #6b5627;
    background: #f5e7c7;
    border-radius: 6px;
    font-size: .75rem;
    line-height: 1.45;
}

.newsletter-success {
    min-height: 650px;
    padding: clamp(68px, 9vw, 118px) 0;
    background:
        radial-gradient(circle at 80% 20%, rgba(198, 152, 66, .2), transparent 26%),
        linear-gradient(145deg, #fcf8f0, #eee1ce);
}

.newsletter-success__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr);
    align-items: center;
    gap: clamp(48px, 8vw, 100px);
}

.newsletter-success__copy > p:not(.eyebrow) {
    max-width: 720px;
    color: var(--ink-soft);
}

.newsletter-success__signature {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 32px;
    color: var(--ink);
    font: italic 700 1rem Georgia, serif;
}

.newsletter-success__signature img {
    width: 120px;
    height: auto;
}

.newsletter-success__visual {
    position: relative;
    margin: 0;
    padding: 28px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 50%;
    box-shadow: var(--shadow);
}

.newsletter-success__visual::before {
    content: "✓";
    position: absolute;
    top: -10px;
    right: 4px;
    z-index: 2;
    display: grid;
    width: 72px;
    height: 72px;
    color: white;
    background: var(--green);
    border: 6px solid white;
    border-radius: 50%;
    font-size: 1.7rem;
    font-weight: 900;
    place-items: center;
}

.newsletter-success__visual img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 980px) {
    .newsletter-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(350px, 400px);
        gap: 36px;
    }

    .newsletter-hero__offer {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .newsletter-hero__offer img {
        width: 112px;
        height: 112px;
    }

    .newsletter-preview-layout {
        grid-template-columns: 1fr;
    }

    .newsletter-preview-copy {
        max-width: 760px;
        text-align: center;
        margin-inline: auto;
    }

    .newsletter-proof__grid {
        grid-template-columns: 1fr 1fr;
    }

    .newsletter-proof__grid article:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .newsletter-hero__grid,
    .newsletter-package-grid,
    .newsletter-author,
    .newsletter-faq-layout,
    .newsletter-success__inner {
        grid-template-columns: 1fr;
    }

    .newsletter-hero__copy {
        text-align: center;
    }

    .newsletter-hero__copy h1,
    .newsletter-hero__copy > p {
        margin-inline: auto;
    }

    .newsletter-hero__offer {
        margin-inline: auto;
        text-align: left;
    }

    .signup-card {
        width: min(480px, 100%);
        margin-inline: auto;
    }

    .newsletter-objections,
    .newsletter-steps {
        grid-template-columns: 1fr;
    }

    .newsletter-objection,
    .newsletter-steps li {
        max-width: 680px;
        margin-inline: auto;
    }

    .newsletter-faq-layout .section-heading {
        position: static;
        width: min(760px, 100%);
        margin-bottom: 30px;
        text-align: center;
    }

    .newsletter-success__copy {
        text-align: center;
    }

    .newsletter-success__copy > p {
        margin-inline: auto;
    }

    .newsletter-success__copy .hero-actions,
    .newsletter-success__signature {
        justify-content: center;
    }

    .newsletter-success__visual {
        width: min(330px, 76%);
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .newsletter-hero {
        padding-top: 38px;
    }

    .newsletter-hero__copy h1 {
        font-size: clamp(2.25rem, 10.5vw, 3.35rem);
    }

    .newsletter-hero__offer {
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 14px;
        padding: 10px 13px 10px 10px;
    }

    .newsletter-hero__offer img {
        width: 86px;
        height: 86px;
    }

    .newsletter-hero__offer p {
        display: none;
    }

    .signup-card {
        padding: 24px 18px;
    }

    .newsletter-preview-pages {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .newsletter-preview-pages figure:nth-child(n) {
        transform: none;
    }

    .newsletter-proof__grid {
        grid-template-columns: 1fr;
    }

    .newsletter-proof__grid article:last-child {
        grid-column: auto;
    }

    .newsletter-final__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .newsletter-final img {
        width: 155px;
        height: 155px;
        margin-inline: auto;
    }

    .newsletter-final .button {
        width: 100%;
    }

    .newsletter-success__copy .hero-actions {
        display: grid;
    }

    .newsletter-success__signature {
        display: grid;
    }
}

@media (max-width: 900px) {
    .about-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(285px, .55fr);
        gap: 46px;
    }

    .about-copy-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .about-copy-grid .section-heading {
        width: min(780px, 100%);
    }
}

@media (max-width: 760px) {
    .about-hero__grid,
    .about-path,
    .about-together__inner {
        grid-template-columns: 1fr;
    }

    .about-hero__copy {
        text-align: center;
    }

    .about-hero__copy h1,
    .about-hero__copy > p {
        margin-inline: auto;
    }

    .about-hero__copy .hero-actions {
        justify-content: center;
    }

    .about-page .about-portrait {
        width: min(390px, 88%);
        margin: 25px auto 0;
    }

    .about-values {
        grid-template-columns: 1fr;
    }

    .about-path__marker {
        grid-template-rows: auto;
        grid-template-columns: auto minmax(100px, 1fr) auto;
        min-height: 0;
        border-radius: 99px;
    }

    .about-path__marker i {
        width: auto;
        height: 1px;
        align-self: center;
    }

    .about-together__inner {
        text-align: center;
    }

    .about-together .hero-actions {
        justify-content: center;
    }

    .about-signature {
        width: min(360px, 100%);
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .about-hero {
        padding-top: 50px;
    }

    .about-hero__copy h1 {
        font-size: clamp(2.3rem, 11vw, 3.5rem);
    }

    .about-page .about-portrait {
        padding-left: 18px;
    }

    .about-page .about-portrait figcaption {
        right: -4px;
    }

    .about-path__marker {
        padding: 18px;
    }

    .about-path__marker span {
        width: 65px;
        height: 65px;
        font-size: .88rem;
    }

    .legal-shell,
    .legal-shell--terms {
        width: min(100% - 28px, 1020px);
    }

    .legal-content {
        padding: 24px 19px;
    }

    .legal-jump-nav {
        display: grid;
    }

    .legal-jump-nav a {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 980px) {
    .books-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr);
        gap: 42px;
    }

    .books-showcase {
        min-height: 410px;
    }

    .books-cta__inner {
        grid-template-columns: 1fr;
    }

    .books-cta .button {
        width: fit-content;
    }
}

@media (max-width: 820px) {
    .books-hero__grid {
        grid-template-columns: 1fr;
    }

    .books-hero__copy {
        text-align: center;
    }

    .books-hero__copy h1,
    .books-hero__copy > p {
        margin-inline: auto;
    }

    .books-jump-nav {
        justify-content: center;
    }

    .books-showcase {
        width: min(520px, 100%);
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .books-hero {
        padding-top: 50px;
    }

    .books-hero__copy h1 {
        font-size: clamp(2.25rem, 11vw, 3.35rem);
    }

    .books-jump-nav {
        display: grid;
    }

    .books-jump-nav a {
        justify-content: space-between;
    }

    .books-showcase {
        min-height: 330px;
    }

    .books-showcase__item {
        width: 84%;
        border-width: 5px;
    }

    .books-showcase__seal {
        right: 0;
        bottom: -7px;
        width: 76px;
        height: 76px;
        border-width: 5px;
        font-size: 1rem;
    }

    .book-category__heading {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .book-category__number {
        width: 64px;
        margin-inline: auto;
    }

    .book-category__heading p:last-child {
        margin-inline: auto;
    }

    .reader-voice {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .reader-voice__rating {
        padding: 0 0 20px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .books-cta {
        text-align: center;
    }

    .books-cta .button {
        width: 100%;
    }
}

.has-js .reveal-item {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .75s ease, transform .75s ease;
}

.has-js .reveal-item.is-visible {
    opacity: 1;
    transform: none;
}

@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    25% { transform: scale(1.1); }
    50% { transform: scale(.9); }
    75% { transform: scale(1.1); }
}

@keyframes header-button-pulse {
    0% {
        box-shadow: 2px 2px 4px rgba(0, 0, 0, .3), 0 0 0 0 rgba(213, 43, 30, .7);
        transform: scale(1);
    }

    70% {
        box-shadow: 2px 2px 4px rgba(0, 0, 0, .3), 0 0 10px 20px rgba(213, 43, 30, 0);
        transform: scale(1.04);
    }

    100% {
        box-shadow: 2px 2px 4px rgba(0, 0, 0, .3), 0 0 0 0 rgba(213, 43, 30, 0);
        transform: scale(1);
    }
}

@media (max-width: 980px) {
    .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
        gap: 40px;
    }

    .hero-visual {
        min-height: 420px;
    }

    .script-board {
        min-height: 360px;
        padding: 34px 25px;
    }

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

    .knowledge-card:last-child {
        grid-column: 1 / -1;
    }

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

    .teaser-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .site-header__inner {
        min-height: 78px;
        padding-block: 10px;
        gap: 12px;
    }

    .site-nav__inner {
        display: block;
        min-height: 52px;
    }

    .menu-toggle {
        display: inline-flex;
    }

    .site-nav__links {
        display: none;
        align-items: stretch;
        padding: 4px 0 14px;
        border-top: 1px solid var(--line);
    }

    .site-nav__links.is-open {
        display: grid;
    }

    .site-nav__links > a,
    .more-nav > summary {
        justify-content: space-between;
        padding-inline: 8px;
    }

    .site-nav__links > a[aria-current="page"]::after {
        display: none;
    }

    .site-nav__links > a.site-nav__paired-start {
        margin-right: 0;
        border-radius: 7px 7px 0 0;
    }

    .site-nav__links > a.site-nav__paired-end {
        margin-top: -5px;
        padding-left: 20px;
        border-top: 1px solid #dfcfbd;
        border-left: 0;
        border-radius: 0 0 7px 7px;
    }

    .more-nav > div {
        position: static;
        width: auto;
        margin: 0 7px 7px;
        box-shadow: none;
    }

    .hero-grid,
    .split-content,
    .split-content--reverse,
    .newsletter-grid {
        grid-template-columns: 1fr;
    }

    .hero-copy {
        text-align: center;
    }

    .hero-copy h1,
    .hero-copy > p {
        margin-inline: auto;
    }

    .hero-actions,
    .hero-meta {
        justify-content: center;
    }

    .hero-visual {
        width: min(520px, 100%);
        margin-inline: auto;
    }

    .split-content--reverse .image-frame {
        order: 0;
    }

    .image-frame {
        width: min(390px, 86%);
        margin-inline: auto;
    }

    .knowledge-intro,
    .tips-grid {
        grid-template-columns: 1fr;
    }

    .tips-image {
        position: static;
        width: min(280px, 72%);
        margin-inline: auto;
    }

    .newsletter-copy {
        text-align: center;
    }

    .newsletter-card {
        width: min(520px, 100%);
        margin-inline: auto;
    }

    .site-footer__grid {
        grid-template-columns: 1.2fr 1fr;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .site-wrap {
        width: min(100% - 28px, var(--site-width));
    }

    .site-header__inner {
        padding-inline: 11px;
        gap: 7px;
    }

    .site-header__logo,
    .site-header__logo img {
        width: 44px;
        height: 44px;
    }

    .brand__name {
        font-size: clamp(.94rem, 4.8vw, 1.22rem);
    }

    .header-newsletter {
        max-width: 104px;
        min-height: 46px;
        padding: 7px 11px;
        font-size: .76rem;
    }

    .season-decoration {
        top: 128px;
        width: 115px;
    }

    .home-hero {
        padding-top: 50px;
    }

    .hero-copy h1 {
        font-size: clamp(2.25rem, 11vw, 3.35rem);
    }

    .hero-actions {
        display: grid;
    }

    .button {
        width: 100%;
    }

    .hero-visual {
        min-height: 365px;
    }

    .script-board {
        inset: 12px 8px auto;
        min-height: 330px;
        padding: 30px 20px;
        border-width: 6px;
        transform: none;
    }

    .script-board img {
        width: 155px;
        height: 155px;
    }

    .script-board p {
        width: calc(100% - 58px);
    }

    .portrait-seal {
        right: 0;
        width: 100px;
    }

    .portrait-seal img {
        width: 84px;
        height: 84px;
    }

    .feature-cta {
        grid-template-columns: auto 1fr;
        padding: 18px;
    }

    .feature-cta b {
        grid-column: 1 / -1;
        padding-left: 0;
    }

    .knowledge-grid,
    .book-grid,
    .teaser-grid {
        grid-template-columns: 1fr;
    }

    .knowledge-card:last-child,
    .teaser-card:last-child {
        grid-column: auto;
    }

    .tips-list li {
        padding: 55px 19px 19px;
    }

    .tips-list li::before {
        top: 17px;
        left: 19px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .site-footer__brand {
        grid-column: auto;
    }

    .site-footer__legal {
        display: grid;
    }

    .comments-list {
        padding: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .has-js .reveal-item {
        opacity: 1;
        transform: none;
    }
}

@media print {
    .site-header,
    .site-nav,
    .season-decoration,
    .hero-actions,
    .site-footer {
        display: none !important;
    }

    body.site-body {
        color: black;
        background: white;
        font-size: 11pt;
    }

    .content-section,
    .newsletter-section,
    .home-hero {
        padding: 28px 0;
        color: black;
        background: white;
    }
}

/* Kurzumfragen und Kurzlink-Empfehlungen */
.short-survey {
    padding: clamp(60px, 8vw, 92px) 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(198, 152, 66, .13), transparent 25%),
        var(--paper-warm);
    border-top: 1px solid var(--line);
}

.short-survey__inner {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(34px, 7vw, 88px);
    max-width: 1050px;
}

.short-survey__heading h2 {
    margin: 0;
    font: 700 clamp(1.8rem, 3.8vw, 2.85rem)/1.1 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
}

.short-survey__question {
    margin: 22px 0 0;
    padding: 17px 19px 18px 21px;
    color: var(--ink);
    background: rgba(255, 255, 255, .72);
    border-left: 5px solid var(--red);
    border-radius: 0 9px 9px 0;
    box-shadow: 0 12px 30px rgba(42, 34, 29, .08);
    font: 700 1.13rem/1.48 Georgia, "Times New Roman", serif;
    text-align: left;
}

.short-survey__form {
    position: relative;
    padding: clamp(22px, 4vw, 34px);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.short-survey__heading--success h2 {
    max-width: 560px;
}

.short-survey__success-text {
    max-width: 580px;
    margin: 20px 0 0;
    color: var(--ink-soft);
}

.short-survey__success-card {
    width: min(430px, 100%);
    justify-self: center;
}

.short-survey__success-card > .eyebrow {
    margin-bottom: 12px;
}

.short-survey__form textarea {
    display: block;
    width: 100%;
    min-height: 135px;
    resize: vertical;
    padding: 15px 17px;
    color: var(--ink);
    background: #fffefa;
    border: 2px solid #d2c6b6;
    border-radius: 8px;
    font: inherit;
}

.short-survey__form textarea:focus {
    border-color: var(--gold);
    outline: 3px solid rgba(198, 152, 66, .23);
}

.short-survey__actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin-top: 17px;
}

.short-survey__actions small {
    color: #756c67;
    font-size: .68rem;
    line-height: 1.45;
}

.short-survey__trap {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.survey-result {
    min-height: 58vh;
    padding: clamp(64px, 9vw, 105px) 0;
    background: linear-gradient(145deg, #fbf7ef, #f0e6d6);
}

.survey-result__card {
    max-width: 860px;
    padding: clamp(28px, 6vw, 58px);
    background: rgba(255, 255, 255, .92);
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow);
    text-align: center;
}

.survey-result__card h1 {
    max-width: 720px;
    margin: 6px auto 18px;
    font: 700 clamp(2.1rem, 5vw, 3.7rem)/1.04 Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
}

.survey-result__card > p:not(.eyebrow) {
    max-width: 680px;
    margin-inline: auto;
    color: var(--ink-soft);
}

.survey-result__recommendation {
    max-width: 390px;
    margin: 45px auto 30px;
    padding-top: 35px;
    border-top: 1px solid var(--line);
}

.survey-result__recommendation h2 {
    margin: 5px 0 20px;
    font: 700 1.45rem/1.2 Georgia, serif;
}

.survey-result__recommendation .book-card {
    text-align: left;
}

.survey-result__card .hero-actions {
    justify-content: center;
}

.feedback-result__signature {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 28px auto 12px;
    color: var(--ink);
    font: italic 700 1rem Georgia, "Times New Roman", serif;
}

.feedback-result__signature img {
    width: 120px;
    height: auto;
}

/* Buchbonus-Landingpages */
.bonus-main {
    overflow: clip;
    background: var(--paper);
}

.bonus-hero {
    padding: clamp(58px, 8vw, 96px) 0;
    color: white;
    background:
        radial-gradient(circle at 82% 18%, rgba(198, 152, 66, .23), transparent 26%),
        radial-gradient(circle at 12% 88%, rgba(169, 33, 24, .3), transparent 28%),
        linear-gradient(145deg, var(--chalk-soft), var(--chalk));
}

.bonus-hero__inner {
    max-width: 920px;
    text-align: center;
}

.bonus-hero .eyebrow {
    color: var(--gold-light);
}

.bonus-hero h1 {
    max-width: 850px;
    margin: 8px auto 24px;
    font: 700 clamp(2.35rem, 5.7vw, 4.7rem)/1.02 Georgia, "Times New Roman", serif;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.bonus-hero__inner > p:not(.eyebrow) {
    max-width: 760px;
    margin: 12px auto 0;
    color: #e4ded8;
    font-size: 1.02rem;
}

.bonus-signature {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 30px;
    color: white;
    font: italic 700 1rem Georgia, "Times New Roman", serif;
}

.bonus-signature img {
    width: 118px;
    height: auto;
    filter: brightness(0) invert(1);
}

.bonus-signature strong {
    color: var(--gold-light);
    font: italic 700 1.2rem Georgia, "Times New Roman", serif;
}

.bonus-content {
    padding: clamp(58px, 8vw, 100px) 0;
}

.bonus-content__list {
    display: grid;
    gap: 28px;
    max-width: 1050px;
}

.bonus-card {
    padding: clamp(26px, 4.8vw, 50px);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-soft);
}

.bonus-card__heading {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    margin-bottom: 19px;
}

.bonus-card__heading > span {
    display: grid;
    min-height: 70px;
    padding: 10px;
    color: var(--gold-light);
    background: var(--chalk);
    border-radius: 9px;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    place-items: center;
    text-align: center;
    text-transform: uppercase;
}

.bonus-card h2 {
    margin: 0;
    font: 700 clamp(1.65rem, 3.3vw, 2.6rem)/1.1 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
}

.bonus-card > p {
    max-width: 830px;
    color: var(--ink-soft);
}

.bonus-groups {
    margin-top: 25px;
}

.bonus-groups--multi {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.bonus-group {
    padding: 19px;
    background: var(--paper-warm);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.bonus-group h3 {
    margin: 0 0 13px;
    color: var(--red-dark);
    font: 700 1.08rem/1.25 Georgia, "Times New Roman", serif;
}

.bonus-links {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bonus-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 11px 13px;
    color: var(--ink);
    background: white;
    border: 1px solid #ddd1bf;
    border-radius: 7px;
    font-size: .87rem;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.bonus-links a:hover {
    border-color: var(--gold);
    box-shadow: 0 9px 20px rgba(42, 34, 29, .1);
    transform: translateY(-2px);
}

.bonus-links b {
    flex: 0 0 auto;
    min-width: 36px;
    color: var(--red);
    font-size: .7rem;
    letter-spacing: .04em;
    text-align: right;
}

@media (max-width: 720px) {
    .feedback-result__signature,
    .bonus-signature {
        flex-direction: column;
    }

    .bonus-card__heading,
    .bonus-groups--multi {
        grid-template-columns: 1fr;
    }

    .bonus-card__heading > span {
        min-height: 0;
        justify-self: start;
    }
}

.redirect-main {
    overflow: clip;
}

.redirect-hero {
    padding: clamp(60px, 8vw, 94px) 0;
    color: white;
    background:
        radial-gradient(circle at 80% 20%, rgba(198, 152, 66, .19), transparent 27%),
        linear-gradient(135deg, var(--chalk-soft), var(--chalk));
    text-align: center;
}

.redirect-hero .eyebrow {
    color: var(--gold-light);
}

.redirect-hero .hero-script {
    display: block;
    margin-top: 5px;
    color: white;
}

.redirect-hero h1 {
    margin: 7px 0 18px;
    font: 700 clamp(2.3rem, 5.4vw, 4.4rem)/1.03 Georgia, "Times New Roman", serif;
    letter-spacing: -.04em;
}

.redirect-hero p:last-child {
    max-width: 680px;
    margin: 0 auto;
    color: #ded8d3;
}

.redirect-recommendation {
    padding: clamp(65px, 9vw, 110px) 0;
    background: var(--paper);
}

.redirect-recommendation__inner {
    display: grid;
    justify-items: center;
}

.redirect-recommendation .book-card {
    width: min(430px, 100%);
}

.redirect-recommendation .book-card__image {
    display: grid;
    place-items: center;
    min-height: 310px;
    padding: 24px;
    aspect-ratio: 4 / 3;
}

.redirect-recommendation .book-card__image img {
    width: auto;
    max-width: 100%;
    height: 100%;
    margin-inline: auto;
    object-fit: contain;
}

.redirect-recommendation .book-card__image img.redirect-recommendation__fallback-logo {
    width: min(170px, 48%);
    height: auto;
    max-height: 170px;
}

.redirect-recommendation .book-card:hover .book-card__image img {
    transform: scale(1.015);
}

.redirect-recommendation__note {
    max-width: 720px;
    margin: 28px auto 0;
    color: var(--ink-soft);
    font-size: .72rem;
    text-align: center;
}

@media (max-width: 760px) {
    .short-survey__inner {
        grid-template-columns: 1fr;
    }

    .short-survey__heading {
        text-align: center;
    }

    .short-survey__success-text {
        margin-inline: auto;
    }

    .short-survey__success-card > .eyebrow {
        text-align: center;
    }

    .short-survey__actions {
        grid-template-columns: 1fr;
    }

    .short-survey__actions .button {
        width: 100%;
    }
}

/* Adventspost */
.advent-main {
    overflow: clip;
    background: var(--paper);
}

.advent-hero {
    position: relative;
    padding: clamp(54px, 7vw, 92px) 0 clamp(76px, 9vw, 118px);
    overflow: hidden;
    color: white;
    background:
        radial-gradient(circle at 82% 18%, rgba(198, 152, 66, .28), transparent 25%),
        radial-gradient(circle at 10% 90%, rgba(169, 33, 24, .33), transparent 28%),
        linear-gradient(145deg, #343035, #1f2923 70%, #26382d);
}

.advent-hero::before,
.advent-benefits::before,
.advent-final::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image: repeating-linear-gradient(8deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 8px);
    pointer-events: none;
}

.advent-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(385px, .92fr);
    align-items: center;
    gap: clamp(42px, 7vw, 84px);
}

.advent-hero .eyebrow,
.advent-final .eyebrow,
.advent-benefits .eyebrow {
    color: var(--gold-light);
}

.advent-hero .hero-script {
    color: #f2dba8;
}

.advent-hero__copy h1 {
    max-width: 760px;
    margin: 0;
    font: 700 clamp(2.65rem, 5.35vw, 4.85rem)/1.01 Georgia, "Times New Roman", serif;
    letter-spacing: -.048em;
    text-wrap: balance;
}

.advent-hero__lead {
    max-width: 700px;
    margin: 25px 0 0;
    color: #ece6e0;
    font-size: clamp(1.05rem, 1.75vw, 1.22rem);
}

.advent-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 680px;
    gap: 10px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.advent-hero__facts li {
    display: grid;
    min-height: 88px;
    padding: 15px;
    align-content: center;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 9px;
    backdrop-filter: blur(7px);
}

.advent-hero__facts strong {
    color: #f3d99c;
    font: 700 clamp(1.25rem, 2.2vw, 1.7rem) Georgia, serif;
}

.advent-hero__facts span {
    color: #d8d2cd;
    font-size: .7rem;
}

.advent-hero__cta {
    margin-top: 25px;
}

.advent-hero__deadline {
    margin: 10px 0 0;
    color: #e7d8c7;
    font-size: .72rem;
    font-weight: 750;
}

.advent-hero__offer {
    position: relative;
    display: grid;
}

.advent-hero__visual {
    position: relative;
    z-index: 2;
    width: 275px;
    margin: 0 auto -58px;
    padding: 8px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(255, 255, 255, .66);
    border-radius: 50%;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .32);
    transform: rotate(3deg);
}

.advent-hero__offer .advent-purchase {
    padding-top: 78px;
}

.advent-hero__visual > img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.advent-hero__visual figcaption {
    position: absolute;
    right: 22px;
    bottom: -18px;
    left: 22px;
    padding: 8px 10px;
    color: #453b34;
    background: #fffaf0;
    border: 1px solid #e7d2aa;
    border-radius: 99px;
    font-size: .64rem;
    font-weight: 800;
    text-align: center;
}

.advent-hero__visual > span {
    position: absolute;
    top: 6px;
    left: -24px;
    display: grid;
    width: 79px;
    height: 79px;
    color: #fff7e2;
    background: var(--red-dark);
    border: 4px solid #edcf8d;
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .24);
    font: 700 .67rem/1.2 Georgia, serif;
    text-align: center;
    transform: rotate(-9deg);
    place-content: center;
}

.advent-ribbon {
    position: relative;
    z-index: 2;
    color: white;
    background: linear-gradient(90deg, #8c1f1b, #b52a21, #8c1f1b);
    box-shadow: 0 10px 30px rgba(80, 21, 17, .18);
}

.advent-ribbon .site-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 64px;
    align-items: center;
}

.advent-ribbon span {
    padding: 8px 14px;
    border-right: 1px solid rgba(255, 255, 255, .24);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}

.advent-ribbon span:last-child {
    border-right: 0;
}

.advent-content-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.advent-content-card {
    min-height: 100%;
    padding: clamp(25px, 3vw, 35px);
    background: #fffdfa;
    border: 1px solid var(--line);
    border-top: 5px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.advent-content-card > span {
    display: block;
    margin-bottom: 18px;
    color: var(--red-dark);
    font: 700 .75rem Georgia, serif;
    letter-spacing: .1em;
}

.advent-content-card h3 {
    margin: 0 0 13px;
    font: 700 1.25rem/1.2 Georgia, serif;
}

.advent-content-card p {
    margin: 0;
    color: var(--ink-soft);
    font-size: .86rem;
}

.advent-content-card--dark {
    color: white;
    background: #28342c;
    border-color: #3d4c42;
}

.advent-content-card--dark > span {
    color: var(--gold-light);
}

.advent-content-card--dark p {
    color: #d9dedb;
}

.advent-purchase {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    padding: 26px;
    color: var(--ink);
    background: rgba(255, 253, 248, .98);
    border: 1px solid #e0c88f;
    border-top: 6px solid var(--gold);
    border-radius: var(--radius);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
}

.advent-purchase--kompakt {
    max-width: 880px;
    margin: clamp(42px, 6vw, 70px) auto 0;
    padding: 22px 26px;
    align-items: center;
    box-shadow: var(--shadow);
}

.advent-purchase--dunkel {
    color: white;
    background: #2b282c;
    border-color: #594f3e;
}

.advent-purchase__mark {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.advent-purchase .eyebrow {
    margin-bottom: 7px;
    color: var(--red-dark);
}

.advent-purchase h3 {
    margin: 0;
    font: 700 clamp(1.35rem, 2.7vw, 1.85rem)/1.12 Georgia, serif;
}

.advent-purchase__summary {
    margin: 9px 0 17px;
    color: var(--ink-soft);
    font-size: .8rem;
}

.advent-purchase__summary strong {
    color: var(--ink);
    font-size: 1rem;
}

.advent-purchase__button {
    width: 100%;
    color: white;
    background: linear-gradient(135deg, #dc3227, #a92118);
    box-shadow: 0 12px 28px rgba(169, 33, 24, .27);
}

.advent-purchase__button:hover {
    color: white;
    background: linear-gradient(135deg, #ee4135, #991a14);
    box-shadow: 0 16px 32px rgba(143, 27, 20, .32);
    transform: translateY(-2px);
}

.advent-purchase__deadline {
    margin: 13px 0 0;
    padding: 8px 10px;
    color: #6d281f;
    background: #faeae5;
    border: 1px dashed #d9a498;
    border-radius: 7px;
    font-size: .7rem;
    line-height: 1.45;
    text-align: center;
}

.advent-purchase__countdown {
    margin: 9px 0 0;
    color: var(--red-dark);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .03em;
    text-align: center;
}

.advent-purchase__closed {
    padding: 12px 15px;
    color: #5f554f;
    background: #eee7de;
    border-radius: 7px;
    font-weight: 800;
    text-align: center;
}

.advent-purchase small {
    display: block;
    margin-top: 12px;
    color: #756b65;
    font-size: .65rem;
    line-height: 1.5;
}

.advent-atmosphere {
    background:
        radial-gradient(circle at 87% 12%, rgba(198, 152, 66, .16), transparent 27%),
        linear-gradient(135deg, #f2e7d6, #fffaf1);
}

.advent-atmosphere__grid {
    display: grid;
    grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(48px, 8vw, 100px);
}

.advent-atmosphere__image {
    position: relative;
    width: min(390px, 100%);
    margin: 0 auto;
}

.advent-atmosphere__image::before {
    content: "";
    position: absolute;
    inset: 20px -18px -18px 20px;
    background: #b33126;
    border-radius: 48% 48% var(--radius) var(--radius);
}

.advent-atmosphere__image img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    border: 8px solid white;
    border-radius: 48% 48% var(--radius) var(--radius);
    box-shadow: var(--shadow);
}

.advent-atmosphere__copy h2,
.advent-author__copy h2 {
    margin: 0;
    font: 700 clamp(2rem, 4.7vw, 3.45rem)/1.07 Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.advent-atmosphere__copy > p,
.advent-author__copy > p {
    color: var(--ink-soft);
}

.advent-atmosphere__note {
    display: grid;
    gap: 5px;
    margin: 25px 0;
    padding: 18px 20px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid #dbc9ad;
    border-left: 5px solid var(--red);
    border-radius: 9px;
}

.advent-atmosphere__note strong {
    font: 700 1.08rem Georgia, serif;
}

.advent-atmosphere__note span {
    color: var(--ink-soft);
    font-size: .82rem;
}

.advent-preview-pages {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 980px;
    gap: clamp(10px, 2vw, 22px);
    margin: 0 auto;
    padding: 12px 4px 24px;
}

.advent-preview-pages figure {
    margin: 0;
    padding: 7px;
    background: white;
    border: 1px solid #d4c5b2;
    box-shadow: 0 16px 38px rgba(52, 42, 35, .16);
}

.advent-preview-pages figure:nth-child(odd) {
    transform: rotate(-1.5deg);
}

.advent-preview-pages figure:nth-child(even) {
    transform: translateY(13px) rotate(1.5deg);
}

.advent-preview-pages img {
    display: block;
    width: 100%;
    height: auto;
}

.advent-benefits {
    position: relative;
    padding: clamp(76px, 9vw, 118px) 0;
    color: white;
    background:
        radial-gradient(circle at 15% 23%, rgba(198, 152, 66, .17), transparent 25%),
        linear-gradient(135deg, #29342d, #1f2722);
}

.advent-benefits .section-heading > p:last-child {
    color: #d8ddd9;
}

.advent-benefits__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.advent-benefits__grid article {
    padding: clamp(27px, 3.5vw, 40px);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .12);
    border-top: 4px solid var(--gold);
    border-radius: var(--radius);
}

.advent-benefits__grid strong {
    color: var(--gold-light);
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.advent-benefits__grid h3 {
    margin: 12px 0 15px;
    font: 700 1.4rem/1.2 Georgia, serif;
}

.advent-benefits__grid p {
    margin: 0;
    color: #d5dad6;
    font-size: .87rem;
}

.advent-proof-grid {
    display: grid;
    grid-template-columns: .8fr .8fr 1.4fr;
    gap: 18px;
}

.advent-proof-stat,
.advent-reader-voice {
    min-height: 100%;
    margin: 0;
    padding: clamp(26px, 3.5vw, 39px);
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.advent-proof-stat > strong {
    display: block;
    color: var(--red-dark);
    font: 700 clamp(2.2rem, 4vw, 3.15rem) Georgia, serif;
}

.advent-proof-stat h3 {
    margin: 4px 0 15px;
    font: 700 1.2rem Georgia, serif;
}

.advent-proof-stat p,
.advent-reader-voice p {
    color: var(--ink-soft);
    font-size: .84rem;
}

.advent-reader-voice {
    color: white;
    background: #302d31;
    border-color: #4a454a;
}

.advent-reader-voice > div {
    color: var(--gold-light);
    letter-spacing: .16em;
}

.advent-reader-voice p {
    margin: 18px 0;
    color: #eee8e3;
    font: italic 1.02rem/1.72 Georgia, serif;
}

.advent-reader-voice cite {
    color: #bdb5b0;
    font-size: .7rem;
    font-style: normal;
}

.advent-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.advent-steps li {
    position: relative;
    min-height: 100%;
    padding: clamp(27px, 3.7vw, 42px);
    background: #fffdfa;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.advent-steps li > span {
    display: grid;
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
    color: white;
    background: var(--red-dark);
    border-radius: 50%;
    font: 700 .76rem Georgia, serif;
    place-content: center;
}

.advent-steps h3 {
    margin: 0 0 13px;
    font: 700 1.35rem Georgia, serif;
}

.advent-steps p {
    margin: 0;
    color: var(--ink-soft);
    font-size: .86rem;
}

.advent-steps__assurance {
    display: block;
    margin-top: 10px;
    color: var(--ink);
}

.advent-payment-note {
    max-width: 830px;
    margin: 30px auto 0;
    padding: 15px 18px;
    color: #685c53;
    background: #f4ecdf;
    border: 1px solid #dfd0bc;
    border-radius: 8px;
    font-size: .78rem;
    text-align: center;
}

.advent-faq-section {
    background: #f3e8d8;
}

.advent-faq-layout {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(42px, 7vw, 85px);
}

.advent-faq-layout .section-heading {
    position: sticky;
    top: 94px;
}

.advent-faq {
    display: grid;
    gap: 11px;
}

.advent-faq details {
    background: white;
    border: 1px solid #dccdb9;
    border-radius: 9px;
    box-shadow: 0 8px 22px rgba(58, 43, 31, .055);
}

.advent-faq summary {
    position: relative;
    padding: 18px 52px 18px 20px;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.advent-faq summary::-webkit-details-marker {
    display: none;
}

.advent-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    color: var(--red-dark);
    font-size: 1.35rem;
    transform: translateY(-50%);
}

.advent-faq details[open] summary::after {
    content: "−";
}

.advent-faq details p {
    margin: 0;
    padding: 0 20px 20px;
    color: var(--ink-soft);
    font-size: .86rem;
}

.advent-author {
    display: grid;
    grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr);
    align-items: center;
    gap: clamp(48px, 8vw, 96px);
}

.advent-author__portrait {
    position: relative;
    width: min(350px, 100%);
    margin: 0 auto;
    padding: 9px;
    background: #f4e3c8;
    border: 1px solid #dbc39d;
    border-radius: 49% 49% var(--radius) var(--radius);
    box-shadow: var(--shadow);
}

.advent-author__portrait img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 48% 48% 8px 8px;
}

.advent-final {
    position: relative;
    padding: clamp(68px, 8vw, 104px) 0;
    overflow: hidden;
    color: white;
    background:
        radial-gradient(circle at 82% 20%, rgba(198, 152, 66, .25), transparent 25%),
        linear-gradient(135deg, #6f1b1a, #2a282c 75%);
}

.advent-final__inner {
    position: relative;
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    align-items: center;
    gap: clamp(35px, 6vw, 70px);
}

.advent-final__inner > img {
    display: block;
    width: 210px;
    height: 210px;
    object-fit: cover;
    background: white;
    border: 7px solid rgba(255, 255, 255, .82);
    border-radius: 50%;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}

.advent-final h2 {
    max-width: 800px;
    margin: 0;
    font: 700 clamp(2rem, 4.5vw, 3.5rem)/1.06 Georgia, serif;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.advent-final p:not(.eyebrow) {
    max-width: 720px;
    color: #eee4dc;
}

.advent-final small {
    display: block;
    margin-top: 12px;
    color: #cfbfba;
    font-size: .68rem;
}

.advent-result {
    overflow: clip;
    background: var(--paper);
}

.advent-result__hero {
    padding: clamp(58px, 8vw, 94px) 0;
    color: white;
    background:
        radial-gradient(circle at 83% 18%, rgba(198, 152, 66, .24), transparent 27%),
        linear-gradient(140deg, #313035, #233027);
    text-align: center;
}

.advent-result__hero .eyebrow {
    color: var(--gold-light);
}

.advent-result__hero .hero-script {
    color: #eed8a7;
}

.advent-result__hero h1,
.advent-success h1 {
    max-width: 850px;
    margin: 0 auto;
    font: 700 clamp(2.35rem, 5.4vw, 4.55rem)/1.02 Georgia, serif;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.advent-result__hero > .site-wrap > p:last-child {
    max-width: 720px;
    margin: 23px auto 0;
    color: #e1dcd8;
    font-size: 1.05rem;
}

.advent-success {
    min-height: 64vh;
    padding: clamp(68px, 9vw, 118px) 0;
    background:
        radial-gradient(circle at 78% 18%, rgba(198, 152, 66, .25), transparent 28%),
        linear-gradient(135deg, #f7edde, #fffdf8);
}

.advent-success__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr);
    align-items: center;
    gap: clamp(45px, 8vw, 95px);
}

.advent-success__copy > p:not(.eyebrow) {
    max-width: 720px;
    color: var(--ink-soft);
}

.advent-success__signature {
    display: flex;
    margin-top: 31px;
    align-items: center;
    gap: 20px;
    color: #60554e;
    font: italic 1rem Georgia, serif;
}

.advent-success__signature img {
    width: 130px;
    height: auto;
}

.advent-success__visual {
    margin: 0;
    padding: 10px;
    background: white;
    border: 1px solid #ddc9a6;
    border-radius: 50% 50% var(--radius) var(--radius);
    box-shadow: var(--shadow);
    text-align: center;
}

.advent-success__visual img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.advent-success__visual figcaption {
    padding: 14px 12px 8px;
    color: #6c5f54;
    font: italic .78rem Georgia, serif;
}

.confetti-canvas {
    position: fixed;
    inset: 0;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    transition: opacity .6s ease;
}

.confetti-canvas.is-active {
    opacity: 1;
}

@media (max-width: 1050px) {
    .advent-content-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .advent-proof-grid {
        grid-template-columns: 1fr 1fr;
    }

    .advent-reader-voice {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .advent-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr);
        gap: 38px;
    }

    .advent-hero__offer {
        padding-top: 0;
    }

    .advent-hero__visual {
        width: 245px;
    }

    .advent-purchase {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .advent-purchase__mark {
        margin-inline: auto;
    }

    .advent-faq-layout {
        grid-template-columns: 1fr;
    }

    .advent-faq-layout .section-heading {
        position: static;
        width: min(760px, 100%);
        margin-bottom: 28px;
        text-align: center;
    }

    .advent-faq-layout .section-heading > p:last-child {
        margin-inline: auto;
    }
}

@media (max-width: 760px) {
    .advent-hero__grid,
    .advent-atmosphere__grid,
    .advent-author,
    .advent-success__inner {
        grid-template-columns: 1fr;
    }

    .advent-hero__copy {
        text-align: center;
    }

    .advent-hero__copy h1,
    .advent-hero__copy > p,
    .advent-hero__facts {
        margin-inline: auto;
    }

    .advent-hero__offer {
        width: min(520px, 100%);
        margin: 5px auto 0;
        padding-top: 0;
    }

    .advent-hero__visual {
        width: 200px;
        margin-bottom: -48px;
        transform: rotate(2deg);
    }

    .advent-hero__offer .advent-purchase {
        padding-top: 130px;
    }

    .advent-benefits__grid,
    .advent-steps {
        grid-template-columns: 1fr;
    }

    .advent-benefits__grid article,
    .advent-steps li {
        max-width: 680px;
        margin-inline: auto;
    }

    .advent-author__portrait {
        width: min(350px, 86%);
    }

    .advent-author__copy {
        text-align: center;
    }

    .advent-author__copy .button {
        width: fit-content;
    }

    .advent-success__copy {
        text-align: center;
    }

    .advent-success__copy > p {
        margin-inline: auto;
    }

    .advent-success__copy .hero-actions,
    .advent-success__signature {
        justify-content: center;
    }

    .advent-success__visual {
        width: min(340px, 78%);
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .advent-hero {
        padding-top: 42px;
    }

    .advent-hero__copy h1 {
        font-size: clamp(2.3rem, 11vw, 3.45rem);
    }

    .advent-hero__facts {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .advent-hero__facts li {
        min-height: 0;
        padding: 11px 14px;
    }

    .advent-hero__cta {
        width: 100%;
    }

    .advent-ribbon .site-wrap {
        grid-template-columns: 1fr 1fr;
        padding-block: 8px;
    }

    .advent-ribbon span {
        border-right: 0;
        font-size: .64rem;
    }

    .advent-content-grid,
    .advent-proof-grid {
        grid-template-columns: 1fr;
    }

    .advent-reader-voice {
        grid-column: auto;
    }

    .advent-preview-pages {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .advent-preview-pages figure:nth-child(n) {
        transform: none;
    }

    .advent-purchase,
    .advent-purchase--kompakt {
        padding: 22px 18px;
    }

    .advent-hero__offer .advent-purchase {
        padding-top: 126px;
    }

    .advent-final__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .advent-final__inner > img {
        width: 155px;
        height: 155px;
        margin-inline: auto;
    }

    .advent-final .button {
        width: 100%;
    }

    .advent-success__copy .hero-actions,
    .advent-success__signature {
        display: grid;
    }

    .advent-success__signature img {
        margin-inline: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .confetti-canvas {
        display: none !important;
    }
}

@media print {
    .advent-ribbon,
    .advent-purchase,
    .advent-final,
    .confetti-canvas {
        display: none !important;
    }

    .advent-hero,
    .advent-benefits,
    .advent-result__hero,
    .advent-atmosphere,
    .advent-faq-section,
    .advent-success {
        padding: 28px 0;
        color: black;
        background: white;
    }
}
