/* ===== v30 Magazin Nº 01 „Schichten“ (Generator: tools/build_heft2.py) ===== */
/* Bühne: Heft liegt vor einem hellen Ausblick, kein dunkler Hintergrund */
.h2-sec { position: relative; overflow: hidden; isolation: isolate; background: #cfdde9; color: var(--ink); padding-bottom: 64px; }
.h2-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; transform: scale(1.06); animation: h2-drift 48s ease-in-out infinite alternate; }
.h2-sec::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.08) 26%, rgba(255,255,255,0) 60%, rgba(244,239,230,.5) 100%); }
@keyframes h2-drift { from { transform: scale(1.06) translate3d(-1%, 0, 0); } to { transform: scale(1.1) translate3d(1%, -1%, 0); } }
.h2-sec .fb-front { box-shadow: inset 18px 0 22px -18px rgba(0,0,0,.3), 0 30px 46px -26px rgba(12,24,40,.55); }
.h2-sec .fb-back { box-shadow: inset -18px 0 22px -18px rgba(0,0,0,.3), 0 30px 46px -26px rgba(12,24,40,.55); }
.h2-sec .fb-book::after { background: radial-gradient(ellipse at center, rgba(20,34,52,.45), transparent 70%); }
.h2-sec .fb-nav .rv-btn { background: rgba(255,255,255,.9); color: var(--ink); border-color: rgba(27,26,23,.15); }
.h2-sec .fb-nav .rv-btn:hover { background: var(--ink); color: #fff; }
.h2-sec .fb-nav .rv-btn:disabled { opacity: .45; background: rgba(255,255,255,.6); }
.h2-sec .fb-count { color: var(--ink); background: rgba(255,255,255,.82); padding: 9px 16px; border-radius: 99px; }
.h2-sec .fb-hint { color: var(--ink); }
.h2-sec .fb-hint::before { content: ''; }
.h2-sec .fb-hint { display: table; margin: 14px auto 0; background: rgba(255,255,255,.72); padding: 6px 14px; border-radius: 99px; }
.h2-sec .fb-resume { background: rgba(255,255,255,.92); border-color: rgba(27,26,23,.12); }
.h2-sec .fb-resume p { color: var(--ink); }
.h2-sec .fb-resume .link { color: var(--bordeaux); }

/* Gemeinsam */
.h2-h { font-size: 8.2cqi; line-height: 1.04; font-style: italic; margin: 0 0 3cqi; }
.single .h2-h { font-size: 9.2cqi; }
.h2-pull { font-family: var(--serif); font-style: italic; font-size: 4.2cqi; line-height: 1.28; color: var(--bordeaux); border-left: 2px solid var(--champagne); padding-left: 3cqi; }
.single .h2-pull { font-size: 5cqi; }
.h2-small { font-size: 2.5cqi; line-height: 1.5; color: #6A645A; }
.single .h2-small { font-size: 3.2cqi; }
.h2-star { fill: var(--champagne); }

/* 00 Cover: Jaguar mit Funken */
.fb-page.h2-cover { padding: 0; background: #1A120A; color: #fff; }
.h2-cv-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%; animation: h2-kb 26s ease-in-out infinite alternate; }
@keyframes h2-kb { from { transform: scale(1); } to { transform: scale(1.07); } }
.h2-cover::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, transparent 30%, transparent 52%, rgba(0,0,0,.8) 100%); }
.h2-sp { position: absolute; z-index: 2; width: 6cqi; height: 6cqi; margin: -3cqi 0 0 -3cqi; transform: scale(var(--s, 1)); background: radial-gradient(circle, #fff 0 8%, transparent 14%), linear-gradient(#fff, #fff) center / 5% 100% no-repeat, linear-gradient(90deg, #fff, #fff) center / 100% 5% no-repeat; filter: drop-shadow(0 0 1.4cqi #fff) drop-shadow(0 0 3cqi #E2C799); animation: h2-tw 3.6s ease-in-out infinite; animation-delay: var(--d, 0s); opacity: 0; }
@keyframes h2-tw { 0%, 100% { opacity: 0; transform: scale(calc(var(--s, 1) * .4)) rotate(0deg); } 45% { opacity: 1; transform: scale(var(--s, 1)) rotate(90deg); } 60% { opacity: .9; } }
.h2-cv { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; padding: 4cqi 6cqi 6.5cqi; text-align: center; }
.h2-cv-top { display: flex; justify-content: space-between; font-size: 2.2cqi; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; }
.h2-mast { margin-top: 2.6cqi; font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 19cqi; line-height: 1.05; letter-spacing: -.02em; text-shadow: 0 .6cqi 3cqi rgba(0,0,0,.35); }
.h2-mast i { color: var(--champagne); }
.h2-mast-sub { margin-top: 1.4cqi; font-size: 2.2cqi; letter-spacing: .38em; padding-left: .38em; text-transform: uppercase; color: var(--champagne); font-weight: 600; }
.h2-cv-bot { margin-top: auto; }
.h2-gem { width: 8cqi; height: auto; fill: none; stroke: var(--champagne); stroke-width: 1.2; stroke-linejoin: round; margin-bottom: 2cqi; filter: drop-shadow(0 0 1.6cqi rgba(226,199,153,.8)); animation: h2-gem 4s ease-in-out infinite; }
@keyframes h2-gem { 0%, 100% { opacity: .75; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-.6cqi); } }
.h2-cover h2 { color: #fff; font-size: 10cqi; line-height: 1.02; font-style: italic; margin: 0 0 2cqi; text-shadow: 0 .4cqi 2.4cqi rgba(0,0,0,.4); }
.h2-cover p { margin: 0 auto 1cqi; max-width: 34ch; font-size: 3.3cqi; line-height: 1.4; color: rgba(255,255,255,.92); }
.h2-cover .h2-rub { margin-top: 2.6cqi; font-size: 2.1cqi; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--champagne); display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1cqi 2cqi; }
.h2-rub i { width: 1cqi; height: 1cqi; background: var(--champagne); transform: rotate(45deg); }
.single .h2-cv-top, .single .h2-mast-sub { font-size: 2.6cqi; }
.single .h2-cover p { font-size: 3.9cqi; }
.single .h2-cover .h2-rub { font-size: 2.6cqi; }

/* 03 Spiegel */
.h2-mi-stage { position: relative; height: 56cqi; margin: 2cqi 0 5cqi; }
.h2-mi-glass { position: absolute; left: 50%; top: 0; width: 36cqi; height: 54cqi; margin-left: -18cqi; border-radius: 50%; border: 1.3cqi solid #D9C49A; box-shadow: inset 0 0 0 .4cqi rgba(255,255,255,.6), 0 2cqi 4cqi -2cqi rgba(0,0,0,.3); background: linear-gradient(135deg, #EEF1F3 0%, #C7CED4 42%, #F6F8F9 52%, #BCC4CA 100%); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.h2-mi-glass::after { content: ''; position: absolute; inset: -20%; background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.75) 50%, transparent 60%); animation: h2-sheen 7s ease-in-out infinite; }
@keyframes h2-sheen { 0%, 60% { transform: translateX(-60%); } 100% { transform: translateX(60%); } }
.h2-mi-time { font-family: var(--serif); font-style: italic; font-size: 7cqi; color: rgba(27,26,23,.3); }
.h2-bub { position: absolute; max-width: 34cqi; background: #fff; border: 1px solid rgba(27,26,23,.12); border-radius: 3cqi; padding: 1.6cqi 2.6cqi; font-size: 2.9cqi; line-height: 1.35; box-shadow: 0 1.2cqi 2.4cqi -1.4cqi rgba(0,0,0,.25); animation: h2-float 7s ease-in-out infinite; }
.h2-bub::after { content: ''; position: absolute; width: 1.8cqi; height: 1.8cqi; border-radius: 50%; background: #fff; border: 1px solid rgba(27,26,23,.12); bottom: -2.6cqi; }
.h2-bub.b0 { left: 0; top: 2cqi; } .h2-bub.b0::after { right: 3cqi; }
.h2-bub.b1 { right: 0; top: 14cqi; animation-delay: -2s; } .h2-bub.b1::after { left: 3cqi; }
.h2-bub.b2 { left: 1cqi; top: 32cqi; animation-delay: -4s; } .h2-bub.b2::after { right: 3cqi; top: -2.6cqi; bottom: auto; }
.h2-bub.b3 { right: 2cqi; top: 44cqi; animation-delay: -5.5s; } .h2-bub.b3::after { left: 3cqi; top: -2.6cqi; bottom: auto; }
.h2-bub.b0 { font-weight: 600; color: var(--bordeaux); }
@keyframes h2-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1cqi); } }
.single .h2-bub { font-size: 3.1cqi; max-width: 40cqi; }

/* 04 Chat */
.h2-phone { border-radius: 4cqi; overflow: hidden; border: 1px solid rgba(27,26,23,.12); background: #EFE8DE; margin: 0 0 3.4cqi; box-shadow: 0 2cqi 4cqi -2.6cqi rgba(0,0,0,.35); }
.h2-ph-top { display: flex; align-items: center; gap: 2cqi; padding: 1.8cqi 3cqi; background: #fff; border-bottom: 1px solid rgba(27,26,23,.08); font-size: 2.6cqi; }
.h2-ph-top b { display: block; font-size: 1.1em; }
.h2-ph-top small { color: #8A8478; font-size: .85em; }
.h2-ava { width: 6cqi; height: 6cqi; border-radius: 50%; background: #B9A58A; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; }
.h2-ph-body { padding: 2.4cqi 3cqi 2.6cqi; display: flex; flex-direction: column; gap: 1.4cqi; }
.h2-msg { margin: 0 !important; max-width: 82%; padding: 1.4cqi 2.2cqi 1.2cqi; border-radius: 2.4cqi; font-size: 2.45cqi; line-height: 1.38; box-shadow: 0 .3cqi .6cqi rgba(0,0,0,.08); }
.h2-msg small { display: block; text-align: right; font-size: .78em; color: #7E8A79; margin-top: .4cqi; }
.h2-msg.me { align-self: flex-end; background: #DFF2D3; border-bottom-right-radius: .6cqi; }
.h2-msg.them { align-self: flex-start; background: #fff; border-bottom-left-radius: .6cqi; font-size: 3cqi; }
.h2-read { margin: 0 !important; align-self: flex-end; font-size: 2cqi; color: #8A8478; letter-spacing: .04em; }
.h2-sorry { animation: h2-shy 5s ease-in-out infinite; }
@keyframes h2-shy { 0%, 70%, 100% { transform: translateX(0); } 75% { transform: translateX(-.6cqi); } 80% { transform: translateX(.6cqi); } 85% { transform: translateX(0); } }
.h2-chat > p { font-size: .94em; }
.single .h2-msg { font-size: 3cqi; }
.single .h2-chat > p { font-size: .9em; }

/* 05 Instagram */
.h2-post { background: #fff; border: 1px solid rgba(27,26,23,.12); border-radius: 2cqi; overflow: hidden; margin: 0 0 3cqi; box-shadow: 0 2cqi 4cqi -2.6cqi rgba(0,0,0,.35); transform: rotate(-1.2deg); }
.h2-post-top { display: flex; align-items: center; gap: 1.8cqi; padding: 1.6cqi 2.4cqi; font-size: 2.4cqi; line-height: 1.2; }
.h2-post-top b { display: block; }
.h2-post-top small { color: #8A8478; }
.h2-post-top i { margin-left: auto; font-style: normal; font-weight: 700; letter-spacing: .1em; }
.h2-ring { width: 5.4cqi; height: 5.4cqi; border-radius: 50%; background: conic-gradient(#F2B66D, #E1306C, #A445B2, #F2B66D); padding: .5cqi; box-shadow: inset 0 0 0 .5cqi #fff; }
.h2-post-img { height: 30cqi; overflow: hidden; }
.h2-post-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; display: block; }
.h2-post-act { display: flex; gap: 2.4cqi; padding: 1.6cqi 2.4cqi .4cqi; }
.h2-post-act svg { width: 4.2cqi; height: 4.2cqi; fill: none; stroke: var(--ink); stroke-width: 1.6; }
.h2-post-act svg:first-child { fill: #E0294A; stroke: #E0294A; animation: h2-like 2.4s ease-in-out infinite; transform-origin: center; }
@keyframes h2-like { 0%, 100% { transform: scale(1); } 12% { transform: scale(1.25); } 24% { transform: scale(1); } }
.h2-post-cap { margin: 0 !important; padding: .6cqi 2.4cqi 1.8cqi; font-size: 2.3cqi; line-height: 1.4; }
.h2-post-cap small { display: block; color: #8A8478; font-size: .85em; margin-top: .4cqi; }
.h2-ig > p { font-size: .94em; }
.h2-stat { display: flex; align-items: center; gap: 2cqi; border-top: 1px solid rgba(27,26,23,.15); padding-top: 2cqi; }
.h2-stat span { font-size: 2.1cqi; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--bordeaux); }
.h2-stat b { font-family: var(--serif); font-style: italic; font-size: 4.6cqi; }
.h2-pulse { width: 1.8cqi; height: 1.8cqi; border-radius: 50%; background: #E0294A; animation: h2-beat 1s ease-in-out infinite; }
@keyframes h2-beat { 0%, 100% { box-shadow: 0 0 0 0 rgba(224,41,74,.5); } 50% { box-shadow: 0 0 0 1.4cqi rgba(224,41,74,0); } }
.h2-note { font-size: 2cqi; color: #8A8478; font-style: italic; margin: 0 !important; }
.single .h2-post-top, .single .h2-post-cap { font-size: 2.9cqi; }
.single .h2-note { font-size: 2.6cqi; }

/* 06 Abhaken */
.h2-ck { list-style: none; margin: 0 0 2.6cqi; padding: 0; }
.h2-ck li { border-bottom: 1px solid rgba(27,26,23,.12); }
.h2-ck label { display: flex; align-items: flex-start; gap: 2.6cqi; padding: 2.5cqi 0; cursor: pointer; font-size: 3.3cqi; line-height: 1.4; }
.h2-ck input { appearance: none; -webkit-appearance: none; flex: 0 0 auto; width: 3.6cqi; height: 3.6cqi; margin: .3cqi 0 0; border: 1.5px solid var(--bordeaux); border-radius: .6cqi; background: #fff; display: grid; place-content: center; cursor: pointer; transition: background .2s; }
.h2-ck input::after { content: ''; width: 1.1cqi; height: 2cqi; border: solid #fff; border-width: 0 .45cqi .45cqi 0; transform: rotate(45deg) scale(0); margin-top: -.4cqi; transition: transform .2s; }
.h2-ck input:checked { background: var(--bordeaux); }
.h2-ck input:checked::after { transform: rotate(45deg) scale(1); }
.h2-ck input:focus-visible { outline: 2px solid var(--champagne); outline-offset: 2px; }
.h2-ck input:checked + span { color: var(--bordeaux); }
.h2-ck-msg { font-family: var(--serif); font-style: italic; font-size: 4cqi; color: var(--bordeaux); opacity: 0; transform: translateY(1cqi); transition: opacity .5s, transform .5s; }
.h2-check:has(input:checked) .h2-ck-msg { opacity: 1; transform: none; }
.single .h2-ck label { font-size: 3.6cqi; padding: 1.5cqi 0; }
.single .h2-ck input { width: 4.4cqi; height: 4.4cqi; }

/* 07 Schatten: derselbe Jaguar, schwarz-weiß, staubig */
.fb-page.h2-shadow { background: #0C0B0A; color: rgba(244,238,228,.86); padding-top: 52cqi; }
.single .fb-page.h2-shadow { padding-top: 34cqi; }
.single .h2-shadow p, .single .h2-sh3 li { font-size: .9em; }
.h2-sh-img { position: absolute; inset: 0; width: 100%; height: 72%; object-fit: cover; object-position: 30% 40%; filter: grayscale(1) brightness(.42) contrast(1.2) blur(.4px); -webkit-mask-image: linear-gradient(180deg, #000 45%, transparent 100%); mask-image: linear-gradient(180deg, #000 45%, transparent 100%); animation: h2-kb 30s ease-in-out infinite alternate; }
.h2-dust { position: absolute; inset: 0; pointer-events: none; opacity: .55; background: var(--grain), radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.5), transparent), radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,.4), transparent), radial-gradient(1.5px 1.5px at 40% 60%, rgba(255,255,255,.35), transparent), radial-gradient(1px 1px at 85% 50%, rgba(255,255,255,.4), transparent); background-size: 160px 160px, 100% 100%, 100% 100%, 100% 100%, 100% 100%; animation: h2-dust 18s linear infinite; }
@keyframes h2-dust { from { transform: translateY(0); } to { transform: translateY(-4%); } }
.h2-sh-txt { position: relative; z-index: 2; }
.h2-shadow .fp-k { color: var(--champagne); }
.h2-shadow .h2-h { color: #F4EEE4; }
.h2-sh-lede { font-family: var(--serif); font-style: italic; font-size: 3.9cqi; line-height: 1.3; color: var(--champagne); }
.h2-shadow p { font-size: .95em; }
.h2-sh3 { list-style: none; margin: 0 0 2.6cqi; padding: 0; }
.h2-sh3 li { padding: 1.2cqi 0 1.2cqi 4cqi; border-top: 1px solid rgba(244,238,228,.14); position: relative; font-size: .95em; }
.h2-sh3 li::before { content: ''; position: absolute; left: .4cqi; top: 2.6cqi; width: 1.3cqi; height: 1.3cqi; background: var(--champagne); transform: rotate(45deg); }
.h2-sh3 b { color: #fff; }
.h2-sh-c { font-family: var(--serif); font-style: italic; color: #F4EEE4; font-size: 3.6cqi; line-height: 1.3; margin: 0 !important; }
.h2-shadow .fp-foot, .h2-back .fp-foot { color: rgba(244,238,228,.5); border-top-color: rgba(244,238,228,.15); }
.h2-shadow .fp-foot b { color: var(--champagne); }

/* 08 Schichten */
.h2-la-lede { font-family: var(--serif); font-style: italic; font-size: 3.7cqi; line-height: 1.32; color: #4A4640; }
.h2-rings { position: relative; width: 62cqi; height: 62cqi; margin: 1cqi auto 4cqi; }
.h2-rg { position: absolute; border-radius: 50%; border: 1px solid rgba(92,26,36,.45); animation: h2-peel0 14s ease-in-out infinite; }
.h2-rg.r0 { inset: 0; border-style: dashed; }
.h2-rg.r1 { inset: 13%; animation-name: h2-peel1; }
.h2-rg.r1 em { top: 100%; }
.h2-rg.r2 { inset: 26%; border-color: rgba(92,26,36,.6); animation-name: h2-peel2; }
.h2-rg em { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); white-space: nowrap; background: var(--paper); padding: .3cqi 1.4cqi; font-family: var(--serif); font-size: 2.3cqi; color: #6B5D4F; }
@keyframes h2-peel0 { 0%, 28% { opacity: 1; transform: scale(1); filter: blur(0); } 38%, 86% { opacity: 0; transform: scale(1.16); filter: blur(2px); } 96%, 100% { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes h2-peel1 { 0%, 38% { opacity: 1; transform: scale(1); filter: blur(0); } 48%, 88% { opacity: 0; transform: scale(1.16); filter: blur(2px); } 97%, 100% { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes h2-peel2 { 0%, 48% { opacity: 1; transform: scale(1); filter: blur(0); } 58%, 90% { opacity: 0; transform: scale(1.16); filter: blur(2px); } 98%, 100% { opacity: 1; transform: scale(1); filter: blur(0); } }
.h2-core { position: absolute; inset: 37%; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle, rgba(226,199,153,.55), rgba(226,199,153,0) 70%); animation: h2-glow 14s ease-in-out infinite; }
.h2-core .h2-star { width: 6cqi; height: 6cqi; filter: drop-shadow(0 0 1.4cqi rgba(226,199,153,.9)); }
.h2-core b { white-space: nowrap; font-family: var(--serif); font-style: italic; font-size: 3.4cqi; color: var(--bordeaux); margin-top: .6cqi; }
@keyframes h2-glow { 0%, 52% { transform: scale(.92); box-shadow: 0 0 0 0 rgba(226,199,153,0); } 64%, 88% { transform: scale(1.14); box-shadow: 0 0 7cqi 2.4cqi rgba(226,199,153,.6); } 100% { transform: scale(.92); box-shadow: 0 0 0 0 rgba(226,199,153,0); } }
.h2-steps { list-style: none; margin: 0 0 3cqi; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6cqi; }
.h2-steps li { border-top: 2px solid var(--bordeaux); padding-top: 1.4cqi; font-size: 2.35cqi; line-height: 1.42; }
.h2-steps b { display: block; font-size: .9em; letter-spacing: .14em; text-transform: uppercase; color: var(--bordeaux); margin-bottom: .6cqi; }
.single .h2-steps li { font-size: 2.9cqi; }
.single .h2-rg em { font-size: 2.8cqi; }
.single .h2-rings { width: 68cqi; height: 68cqi; }
.single .h2-core b { font-size: 4cqi; }

/* 11 Rückseite */
.h2-back { background: var(--bordeaux-2) var(--grain); color: #F4ECE0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.h2-back .h2-star { width: 16cqi; height: 16cqi; margin-bottom: 5cqi; filter: drop-shadow(0 0 3cqi rgba(226,199,153,.7)); animation: h2-spin 14s linear infinite; }
@keyframes h2-spin { to { transform: rotate(360deg); } }
.h2-back h2 { color: #F4ECE0; font-size: 10cqi; font-style: italic; margin: 0 0 3cqi; }
.h2-back p { color: rgba(244,236,224,.86); font-size: 3.6cqi; max-width: 32ch; }

@media (max-width: 760px) { .h2-sec { padding-bottom: 40px; } .h2-bg { object-position: 50% 62%; } }
.h2-back .btn { background: var(--champagne); color: var(--ink); border-color: var(--champagne); }
.h2-back .btn:hover { background: #fff; border-color: #fff; }
.fp-imp ul { list-style: disc; }

/* ===== v30.1 Vogue-Cover: minimalistisch, ohne Funken/Diamant/Stern ===== */
.h2-cover::after { background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, transparent 24%, transparent 58%, rgba(0,0,0,.62) 100%); }
.h2-cv { padding: 3.5cqi 6cqi 7cqi; text-align: left; }
.h2-mast { margin: 0; text-align: center; font-family: var(--serif); font-style: normal; font-weight: 500; font-size: 22cqi; line-height: 1; letter-spacing: -.035em; color: #fff; text-shadow: none; }
.h2-cv-no { margin: 0 0 2cqi !important; font-size: 2.3cqi !important; letter-spacing: .3em; text-transform: uppercase; font-weight: 600; color: #fff !important; }
.h2-cover h2 { font-style: normal; font-weight: 500; font-size: 8.6cqi; line-height: 1.04; letter-spacing: -.01em; margin: 0 0 1.6cqi; text-shadow: none; max-width: 12ch; }
.h2-cover p { margin: 0 !important; max-width: 30ch; font-size: 3.1cqi; color: rgba(255,255,255,.88); }
.single .h2-cv-no { font-size: 2.8cqi !important; }
.single .h2-cover p { font-size: 3.7cqi; }
.h2-core { background: none; }
@keyframes h2-glow { 0%, 52% { transform: scale(.94); } 64%, 88% { transform: scale(1.08); } 100% { transform: scale(.94); } }
.h2-core b { font-size: 3.8cqi; }
.h2-back h2 { margin-top: 0; }

/* ===== v30.2 Rückseite edel: Schwarz, gerade Schrift, keine Goldtöne ===== */
.fb-page.h2-back { background: #111110; color: #F2EFEA; padding: 10cqi 9cqi; }
.h2-back::before { content: ''; position: absolute; inset: 4.5cqi; border: 1px solid rgba(242,239,234,.18); pointer-events: none; }
.h2-back h2 { color: #fff; font-style: normal; font-weight: 500; font-size: 9cqi; line-height: 1.05; letter-spacing: -.01em; margin: 0 0 4cqi; }
.h2-back p { color: rgba(242,239,234,.72); font-size: 3.2cqi; max-width: 30ch; margin: 0 auto 6cqi !important; }
.h2-back .btn { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.75); }
.h2-back .btn:hover { background: #fff; color: #111; border-color: #fff; }
.h2-back .fp-bk-m { color: #fff; font-style: normal; font-weight: 500; letter-spacing: -.02em; font-size: 4.6cqi; bottom: 8cqi; }
.h2-back .fp-bk-m i { display: none; }

/* ===== v30.2 Einstieg „Was Selbstliebe ist“ + Cover-Schriftzug kleiner ===== */
.h2-mast { font-size: 19.5cqi; }
.h2-op-l { font-family: var(--serif); font-style: italic; font-size: 4cqi; line-height: 1.3; color: #4A4640; margin-bottom: 3.4cqi !important; }
.h2-op-k { font-size: 2.2cqi; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--bordeaux); margin: 0 0 1.4cqi !important; }
.h2-op-li { list-style: none; margin: 0 0 3.4cqi; padding: 0; counter-reset: op; }
.h2-op-li li { counter-increment: op; display: grid; grid-template-columns: 5cqi 1fr; column-gap: 1cqi; padding: 1.3cqi 0; border-top: 1px solid rgba(27,26,23,.12); font-size: 2.75cqi; line-height: 1.42; }
.h2-op-li li::before { content: '0' counter(op); grid-row: span 2; font-family: var(--serif); font-style: italic; color: var(--bordeaux); }
.h2-op-li b { font-weight: 600; }
.h2-op-m { background: rgba(27,26,23,.045); padding: 2.6cqi 3cqi; margin-bottom: 3cqi; }
.h2-op-m p:last-child { margin: 0 !important; font-size: 2.75cqi; line-height: 1.5; }
.h2-op-c { font-family: var(--serif); font-size: 3.7cqi; line-height: 1.3; margin: 0 !important; }
.h2-op-c span { display: block; font-style: italic; color: var(--bordeaux); margin-top: 1cqi; }
.single .h2-op-li li, .single .h2-op-m p:last-child { font-size: 3.2cqi; }
.single .h2-op-k { font-size: 2.7cqi; }
.h2-open .h2-h { margin-bottom: 2cqi; }
.h2-op-l { margin-bottom: 2.6cqi !important; }
.h2-op-li li { padding: .95cqi 0; }
.h2-op-li { margin-bottom: 2.6cqi; }
.h2-op-m { margin-bottom: 2.4cqi; padding: 2.2cqi 3cqi; }

/* v33 Umblättern: kein Doppeltipp-Zoom, senkrechtes Scrollen bleibt, kein grauer Tipp-Blitz */
.fb-book { touch-action: pan-y pinch-zoom; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; }
.fb-book input, .fb-book textarea { -webkit-user-select: auto; user-select: auto; }

/* ===== v51 „Das innere Mädchen“ (Foto: Nina König) ===== */
.fb-page.h2-tu-ph { padding: 0; background: #d9d6d2; }
.tu-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; animation: h2-kb 30s ease-in-out infinite alternate; }
.h2-tu-ph::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 40%, transparent 80%, rgba(40,20,24,.28)); pointer-events: none; }
.tu-draw { position: absolute; z-index: 2; top: 5%; right: 6%; width: 24cqi; text-align: center; }
.tu-girl { width: 100%; height: auto; overflow: visible; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 .5cqi rgba(255,255,255,.6)); }
.tu-girl path, .tu-girl circle { stroke-dasharray: 1; stroke-dashoffset: 1; animation: tu-draw 14s ease-in-out infinite; }
.tu-g { transform-origin: 50px 96px; animation: tu-spin 3.6s ease-in-out infinite; }
.tu-sw path { stroke: rgba(255,255,255,.75); stroke-width: 1.2; animation: tu-draw 14s ease-in-out infinite, tu-blink 1.8s ease-in-out infinite; }
@keyframes tu-draw { 0% { stroke-dashoffset: 1; opacity: 1; } 22%, 86% { stroke-dashoffset: 0; opacity: 1; } 96%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes tu-spin { 0%, 100% { transform: rotate(-6deg) skewX(4deg); } 50% { transform: rotate(6deg) skewX(-4deg); } }
@keyframes tu-blink { 0%, 100% { stroke-opacity: .25; } 50% { stroke-opacity: 1; } }
.tu-note { display: block; margin-top: 1cqi; font-family: var(--serif); font-style: italic; font-size: 3.4cqi; color: #fff; text-shadow: 0 0 1.2cqi rgba(80,50,55,.45); opacity: 0; animation: tu-note 14s ease-in-out infinite; }
@keyframes tu-note { 0%, 24% { opacity: 0; transform: translateY(.8cqi); } 32%, 86% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; } }
.tu-cr { position: absolute; z-index: 2; left: 5cqi; bottom: 4cqi; font-size: 2cqi; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.92); text-shadow: 0 0 1cqi rgba(0,0,0,.35); }
.fb-page.h2-tu { background: #F7EFEE var(--grain); }
.h2-tu .fp-k { color: #B4677A; }
.h2-tu .h2-h { margin-bottom: 4cqi; }
.h2-tu .h2-pull { color: #8E3F55; border-left-color: #E3B5BF; margin: 4cqi 0 2.4cqi; }
.tu-a { font-size: .92em; color: #5d5650; }
.tu-ex { margin-top: 4.5cqi; padding-top: 3cqi; border-top: 1px solid rgba(142,63,85,.25); }
.tu-ex span { display: block; font-size: 2.1cqi; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: #B4677A; margin-bottom: 1.2cqi; }
.tu-ex p { font-family: var(--serif); font-style: italic; font-size: 3.6cqi; line-height: 1.3; margin: 0 0 1.5cqi; }
.tu-ex i { display: block; height: 5.5cqi; border-bottom: 1px dashed rgba(27,26,23,.28); }
.single .tu-draw { width: 28cqi; }
.single .tu-cr { font-size: 2.6cqi; }
.single .fb-page.h2-tu { font-size: 3.5cqi; }
.single .tu-ex p { font-size: 4.4cqi; }
.single .tu-ex span { font-size: 2.8cqi; }
.h2-tu-ph .fp-foot { display: none; }
.single .tu-ex i:nth-of-type(2) { display: none; }
.single .h2-tu .h2-h { margin-bottom: 3cqi; }
.single .tu-ex { margin-top: 3cqi; padding-top: 2.4cqi; }
.tu-cr b { display: block; font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 4.2cqi; letter-spacing: 0; text-transform: none; margin-bottom: .6cqi; }
.tu-cta { margin-top: 3.5cqi; display: flex; align-items: center; gap: 3cqi; }
.tu-cta p { margin: 0; flex: 1; font-size: .9em; line-height: 1.45; color: #5d5650; }
.tu-cta .btn { flex: none; }
.h2-tu .tu-a { display: none; }
.single .tu-cta { flex-direction: column; align-items: flex-start; gap: 2cqi; }
.h2-tu .tu-ex { display: none; }
.tu-cta { flex-direction: column; align-items: flex-start; gap: 2.4cqi; margin-top: 4cqi; padding-top: 3.5cqi; border-top: 1px solid rgba(142,63,85,.25); }
.single .fb-page.h2-tu { font-size: 3.35cqi; }
.single .h2-tu .h2-h { font-size: 8.4cqi; }
.tu-close { margin-top: 4cqi !important; padding-top: 3.5cqi; border-top: 1px solid rgba(142,63,85,.25); font-family: var(--serif); font-style: italic; font-size: 1.12em; line-height: 1.4; color: #5d5650; }
.fp-q-cta p { margin-bottom: 0; }
.fp-q-cta { display: block; } .fp-q-cta p { font-family: var(--serif); font-style: italic; font-size: 1.15em; }

/* ===== v52 Impressum: clean, nur Fakten ===== */
.h2-imp { display: flex; flex-direction: column; }
.h2-imp .fp-k { margin-bottom: 4cqi; }
.h2-imp .h2-imp-k2 { margin-top: 8cqi; }
.h2-imp-l { margin: 0; border-top: 1px solid rgba(20,20,20,.18); }
.h2-imp-l > div { display: grid; grid-template-columns: 38% 1fr; gap: 3cqi; padding: 2.6cqi 0; border-bottom: 1px solid rgba(20,20,20,.12); }
.h2-imp-l dt { font-size: 2.3cqi; letter-spacing: .16em; text-transform: uppercase; color: rgba(20,20,20,.55); align-self: center; }
.h2-imp-l dd { margin: 0; font-size: 3cqi; color: var(--ink, #141414); }
.h2-imp-l a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(20,20,20,.3); }
.single .h2-imp-l dt { font-size: 2.9cqi; }
.single .h2-imp-l dd { font-size: 3.8cqi; }
.h2-imp-m { margin-top: auto; padding-bottom: 6cqi; text-align: center; font-family: var(--serif); font-style: italic; font-size: 11cqi; color: rgba(20,20,20,.14); line-height: 1; }
.h2-imp-m i { color: var(--bordeaux, #5C1A24); opacity: .6; font-style: normal; }

/* ===== v54 Cover sofort sichtbar, ohne Verschieben (16.10.) ===== */
.h2-cv-img { animation: none; transform: none; }
/* Nur die aufgeschlagenen Blätter werfen Schatten (sonst addieren sich alle Blätter zu einem trüben Rand) */
.h2-sec .fb-front { box-shadow: inset 18px 0 22px -18px rgba(0,0,0,.3); }
.h2-sec .fb-back { box-shadow: inset -18px 0 22px -18px rgba(0,0,0,.3); }
.h2-sec .fb-leaf.top .fb-front, .h2-sec .fb-book > .fb-leaf:only-child .fb-front { box-shadow: inset 18px 0 22px -18px rgba(0,0,0,.3), 0 30px 46px -26px rgba(12,24,40,.55); }
.h2-sec .fb-leaf.top .fb-back { box-shadow: inset -18px 0 22px -18px rgba(0,0,0,.3), 0 30px 46px -26px rgba(12,24,40,.55); }
/* v55 „Tippe mich an“: zeigt, dass man das Heft direkt hier aufblättern kann */
.h2-tap { position: absolute; z-index: 3; right: 5cqi; top: 50%; display: inline-flex; align-items: center; gap: 2.2cqi; padding: 2.2cqi 3.6cqi 2.2cqi 2.6cqi; border-radius: 99px; background: rgba(247,240,228,.94); color: #141414; font: 600 2.4cqi/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 1.4cqi 3cqi -1cqi rgba(0,0,0,.45); animation: h2-tap-bob 2.6s ease-in-out infinite; pointer-events: none; }
.single .h2-tap { font-size: 3cqi; }
.h2-tap i { position: relative; width: 2.6cqi; height: 2.6cqi; border-radius: 50%; background: var(--bordeaux, #5C1A24); flex: none; }
.h2-tap i::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--bordeaux, #5C1A24); animation: h2-tap-ring 2.6s ease-out infinite; }
@keyframes h2-tap-bob { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-1.2cqi); } }
@keyframes h2-tap-ring { 0% { transform: scale(1); opacity: .9; } 70%,100% { transform: scale(2.8); opacity: 0; } }
