:root { --cream:#fbf5e9; --paper:#fffdf7; --rose:#eadcc7; --rose-mid:#d7bd92; --rose-dark:#b58b45; --plum:#4b2d46; --deep:#321e30; --gold:#b58b45; --muted:#4b2d46; --line:rgba(75,45,70,.14); --shadow:0 24px 70px rgba(75,45,70,.10); --serif:"Iowan Old Style","Baskerville","Times New Roman",serif; --sans:"Avenir Next","Segoe UI",Arial,sans-serif; --script:"Snell Roundhand","Bradley Hand",cursive; --parallax-offset:0px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--plum); background:var(--cream); font-family:var(--sans); font-size:16px; line-height:1.7; overflow-x:hidden; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button, a { -webkit-tap-highlight-color:transparent; }
.skip-link { position:absolute; left:-999px; top:10px; z-index:999; background:var(--deep); color:white; padding:10px 18px; }
.skip-link:focus { left:10px; }
.container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.narrow { max-width:800px; }.center { text-align:center; }
.section-pad { padding:96px 0; }.section-pad-small { padding:48px 0; }
h1,h2,h3,blockquote { font-family:var(--serif); margin-top:0; }
h1 { font-size:clamp(3.4rem, 12vw, 5rem); line-height:.94; letter-spacing:-.045em; margin-bottom:28px; font-weight:600; }
h2 { font-size:clamp(2.8rem, 9vw, 4.8rem); line-height:1; letter-spacing:-.035em; margin-bottom:26px; font-weight:600; }
h3 { font-size:2rem; line-height:1.1; margin-bottom:14px; }
h1 em,h2 em { color:var(--rose-dark); font-weight:500; }
p { margin:0 0 20px; }
.lead { font-size:1.08rem; max-width:600px; color:var(--muted); line-height:1.8; }.lead-small { font-size:1.05rem; color:var(--muted); }
.eyebrow { margin:0 0 18px; color:var(--rose-dark); font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 26px; border:1px solid var(--rose-dark); border-radius:999px; background:var(--rose-dark); color:#fff; font-weight:700; font-size:.83rem; letter-spacing:.02em; transition:.25s ease; cursor:pointer; }
.button:hover { transform:translateY(-2px); background:var(--plum); border-color:var(--plum); box-shadow:0 10px 25px rgba(73,56,63,.16); }
.button-small { min-height:44px; padding:0 20px; }.button-light { background:var(--paper); border-color:var(--paper); color:var(--plum); }.button-outline-light { background:transparent; border-color:rgba(255,255,255,.45); color:#fff; }
.text-link { display:inline-flex; gap:10px; align-items:center; font-size:.86rem; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }.text-link span { color:var(--gold); }.text-link.light { color:#fff; }
.button-row { display:flex; gap:26px; align-items:center; flex-wrap:wrap; margin-top:34px; }
.site-header { position:fixed; z-index:100; top:0; left:0; width:100%; transition:.25s; }
.site-header.scrolled,.site-header:has(.mobile-nav:not([hidden])) { background:rgba(250,245,239,.94); backdrop-filter:blur(16px); box-shadow:0 1px 0 var(--line); }
.header-inner { width:min(1240px, calc(100% - 32px)); height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:9px; line-height:1.05; }.brand img { width:30px; height:30px; }.brand span { display:flex; flex-direction:column; }.brand strong { font-family:var(--serif); font-size:1.25rem; }.brand small { font-size:.57rem; margin-top:4px; letter-spacing:.08em; color:var(--muted); }
.desktop-nav { display:none; align-items:center; gap:30px; font-size:.78rem; font-weight:700; }.desktop-nav > a:not(.button) { position:relative; }.desktop-nav > a:not(.button)::after { content:""; position:absolute; bottom:-6px; left:0; width:0; height:1px; background:var(--rose-dark); transition:.2s; }.desktop-nav > a:hover::after { width:100%; }
.menu-toggle { width:44px; height:44px; border:0; border-radius:50%; background:rgba(255,255,255,.5); display:grid; place-content:center; gap:6px; }.menu-toggle span { display:block; width:20px; height:1px; background:var(--plum); transition:.2s; }.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
.mobile-nav { position:absolute; top:76px; left:0; width:100%; height:calc(100vh - 76px); padding:32px 24px; background:var(--cream); }.mobile-nav a { display:block; padding:16px 4px; font-family:var(--serif); font-size:2rem; border-bottom:1px solid var(--line); }
.hero { min-height:100svh; position:relative; padding-top:130px; padding-bottom:0; background:radial-gradient(circle at 85% 10%, rgba(232,207,202,.68), transparent 28%), linear-gradient(145deg,#fffaf5,var(--cream)); overflow:hidden; }
.hero-grid { display:grid; gap:50px; align-items:center; position:relative; z-index:2; }.hero-copy { max-width:650px; }
.orb { position:absolute; border-radius:50%; filter:blur(3px); pointer-events:none; }.orb-one { width:220px;height:220px;right:-100px;top:22%;border:1px solid rgba(182,154,91,.3); }.orb-two { width:130px;height:130px;left:-70px;top:40%;background:rgba(232,207,202,.35); }
.hero-portrait { max-width:500px; margin:auto; width:100%; }.portrait-art { aspect-ratio:4/5; position:relative; overflow:hidden; border-radius:180px 180px 28px 28px; background:linear-gradient(160deg,#eddad1 0%,#d6aaa3 60%,#a86c72 100%); box-shadow:var(--shadow); }.portrait-art::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(54,41,47,.16));pointer-events:none; }.portrait-art .portrait-photo { width:100%;height:100%;object-fit:cover;object-position:50% 42%; }
.sun-disc { position:absolute; width:78%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,#fff9e8 0%,#ead5b1 42%,rgba(255,255,255,.05) 68%); top:9%;left:11%;box-shadow:0 0 80px rgba(255,244,215,.8); }.silhouette { position:absolute; z-index:1; width:52%;height:64%;bottom:-3%;left:24%;background:linear-gradient(170deg,#654950,#3d2f34);border-radius:48% 48% 15% 15%;filter:drop-shadow(0 10px 15px rgba(58,40,46,.3)); }.silhouette::before { content:"";position:absolute;width:43%;aspect-ratio:.9;border-radius:50%;background:#5a4148;top:-17%;left:29%; }.silhouette span { position:absolute;width:75%;height:35%;border-radius:55% 55% 0 0;background:#4c373e;top:-14%;left:13%; }
.portrait-caption { background:var(--paper); margin:-34px 20px 0; position:relative; z-index:3; padding:18px 22px; border-radius:14px; box-shadow:0 10px 35px rgba(73,56,63,.1); display:flex;flex-direction:column; }.portrait-caption span { font-family:var(--serif);font-size:1.35rem;font-weight:600; }.portrait-caption small { color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase; }
.trust-strip { position:relative; z-index:3; margin-top:80px; min-height:80px; padding:22px 20px; background:rgba(255,253,249,.75); border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 18px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }.trust-strip i,.contact-meta i { width:4px;height:4px;border-radius:50%;background:var(--gold); }
.welcome { background:var(--paper); }.section-intro { max-width:700px;margin:0 auto 34px;color:var(--muted);font-size:1.05rem; }.welcome blockquote { font-size:clamp(1.8rem,7vw,2.8rem);color:var(--rose-dark);margin:40px 0 30px;font-style:italic; }
.offers { background:var(--cream); }.section-heading { display:grid;gap:20px;margin-bottom:48px; }.section-heading > p { color:var(--muted);max-width:440px; }.offer-grid { display:grid;gap:28px; }.offer-card { background:var(--paper);border:1px solid rgba(73,56,63,.08);border-radius:26px;overflow:hidden;box-shadow:0 14px 50px rgba(73,56,63,.055); }.offer-visual { height:235px;position:relative;overflow:hidden;background:#d9b2ad;display:flex;align-items:center;justify-content:center; }.offer-visual::before,.offer-visual::after { content:"";position:absolute;border-radius:50%; }.offer-visual::before { width:270px;height:270px;background:radial-gradient(circle,rgba(255,249,223,.92) 0%,rgba(255,255,255,0) 68%); }.offer-visual::after { width:130px;height:190px;border:1px solid rgba(255,255,255,.4);border-radius:50% 50% 10px 10px;box-shadow:0 0 45px rgba(255,255,255,.4); }.offer-channeling { background:linear-gradient(145deg,#593f58,#b78783 60%,#dbc4a7); }.offer-seelengespraech { background:linear-gradient(145deg,#d5a89d,#f0d9cd 55%,#a86672); }.offer-seelenreise { background:linear-gradient(145deg,#2f4e56,#9b8077 55%,#d4a174); }.offer-reinigung { background:linear-gradient(145deg,#425f63,#b8d3c5 55%,#ddc8a7); }.offer-trauer { background:linear-gradient(145deg,#7c6870,#d6b7ac 65%,#eadcca); }.offer-icon { position:relative;z-index:3;color:white;font-family:var(--serif);font-size:5rem;text-shadow:0 2px 18px rgba(60,40,50,.22); }.visual-label { position:absolute;z-index:3;left:22px;bottom:18px;color:#fff;font-family:var(--serif);font-size:1.05rem;letter-spacing:.03em; }.offer-body { padding:28px 24px 26px; }.card-kicker { color:var(--rose-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:700;margin-bottom:9px; }.offer-body > p:not(.card-kicker) { color:var(--muted); }.chips { display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 18px; }.chips span { border:1px solid var(--line);border-radius:99px;padding:6px 10px;font-size:.62rem;font-weight:700;color:var(--muted); }.offer-price { display:flex;align-items:baseline;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }.offer-price span { color:var(--muted);font-size:.75rem; }.offer-price strong { font-family:var(--serif);font-size:1.7rem; }.offer-body details { border-bottom:1px solid var(--line);margin-bottom:20px; }.offer-body summary { list-style:none;cursor:pointer;padding:17px 0;font-size:.78rem;font-weight:700;display:flex;justify-content:space-between; }.offer-body summary::-webkit-details-marker { display:none; }.details-body { padding-bottom:16px;color:var(--muted);font-size:.83rem; }.details-body ul { margin:5px 0 0;padding-left:18px; }.button-card { width:100%; }
.prayer { background:linear-gradient(135deg,#e8cfca 0%,#f7eee8 50%,#f0ddd4 100%);position:relative; }.prayer::before,.prayer::after { content:"";position:absolute;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent); }.prayer::before { top:18px; }.prayer::after { bottom:18px; }.prayer-grid { display:grid;gap:50px;align-items:center; }.prayer-art { min-height:480px;border-radius:200px 200px 26px 26px;background:linear-gradient(180deg,#9e747b,#d5ada8 55%,#f2dccc);position:relative;overflow:hidden;box-shadow:var(--shadow);display:flex;align-items:flex-end;padding:42px; }.prayer-art::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(255,249,218,.95),rgba(255,255,255,0) 35%); }.prayer-art .halo { width:270px;height:270px;border-radius:50%;border:1px solid rgba(255,255,255,.45);position:absolute;top:44px;left:calc(50% - 135px);box-shadow:0 0 70px rgba(255,246,221,.5); }.prayer-art img { position:absolute;width:90px;top:135px;left:calc(50% - 45px);filter:brightness(0) invert(1);opacity:.8; }.prayer-art > span { position:relative;z-index:2;color:white;font-family:var(--serif);font-size:2.4rem;line-height:1.03; }.topic-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:28px 0; }.topic-grid > span { min-height:64px;padding:12px 13px;border:1px solid rgba(73,56,63,.13);border-radius:13px;background:rgba(255,255,255,.32);font-size:.73rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px; }.topic-grid i { color:var(--gold);font-style:normal; }.fine-print { font-size:.72rem;color:var(--muted);margin:14px 0 0; }
.process { background:var(--paper); }.section-title { margin-bottom:50px; }.steps { position:relative;display:grid;gap:0;margin-bottom:42px; }.steps::before { content:"";position:absolute;left:21px;top:20px;bottom:20px;width:1px;background:var(--line); }.step { position:relative;padding:0 0 40px 64px; }.step > span { position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-content:center;background:var(--cream);border:1px solid var(--gold);font-family:var(--serif);font-size:1rem;color:var(--rose-dark); }.step h3 { font-size:1.55rem;margin-bottom:8px; }.step p { color:var(--muted);font-size:.9rem; }
.telegram-band { background:var(--rose-dark);color:#fff; }.telegram-inner { display:grid;gap:22px;align-items:center; }.telegram-icon { width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-content:center;font-size:1.4rem; }.telegram-inner .eyebrow { color:#f2ddd4;margin-bottom:7px; }.telegram-inner h3 { margin-bottom:4px; }.telegram-inner p { color:rgba(255,255,255,.75);margin:0;font-size:.88rem; }
.testimonials { background:#f3e4de; }.testimonial-shell { display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;max-width:900px;margin:auto; }.testimonial { text-align:center;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px; }.quote-mark { font-family:var(--serif);font-size:5rem;color:var(--gold);line-height:.5; }.testimonial blockquote { font-size:clamp(1.65rem,6vw,2.5rem);line-height:1.25;font-style:italic;margin:20px 0; }.testimonial strong { font-size:.72rem;text-transform:uppercase;letter-spacing:.17em; }.slider-button { border:1px solid rgba(73,56,63,.18);border-radius:50%;width:42px;height:42px;background:rgba(255,255,255,.35);color:var(--plum);cursor:pointer; }.slider-dots { display:flex;justify-content:center;gap:8px;margin-top:25px; }.slider-dots button { width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(73,56,63,.25); }.slider-dots button.active { background:var(--rose-dark);transform:scale(1.3); }
.about { background:var(--paper); }.about-grid { display:grid;gap:55px;align-items:center; }.about-portrait { position:relative;max-width:520px;margin:auto;width:100%; }.portrait-art-secondary { aspect-ratio:4/5;border-radius:26px 190px 26px 26px; }.script-note { position:absolute;right:-4px;bottom:10%;font-family:var(--script);color:white;font-size:2.2rem;z-index:4;transform:rotate(-8deg); }.about-copy > p { color:var(--muted); }.about-copy blockquote { border-left:2px solid var(--gold);padding:8px 0 8px 20px;color:var(--rose-dark);font-size:1.55rem;line-height:1.3;font-style:italic;margin:30px 0; }.signature strong { font-family:var(--script);font-size:2.2rem;color:var(--rose-dark);font-weight:400; }
.contact { background:var(--deep);color:#fff;position:relative;overflow:hidden; }.contact::before { content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(182,154,91,.15);border-radius:50%;right:-220px;top:-180px;box-shadow:0 0 100px rgba(182,154,91,.05); }.contact-inner { position:relative;z-index:2;max-width:820px;text-align:center; }.contact .eyebrow { color:#d6b8a9; }.contact h2 em { color:#e4c4ba; }.contact-inner > p:not(.eyebrow) { max-width:680px;margin:0 auto 36px;color:rgba(255,255,255,.68); }.contact-buttons { display:flex;flex-direction:column;gap:12px;max-width:390px;margin:0 auto; }.contact-meta { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;margin:36px 0 24px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.58); }.social-links { display:flex;justify-content:center;gap:22px;flex-wrap:wrap; }.social-links a { color:#fff;font-size:.75rem;border-bottom:1px solid rgba(255,255,255,.3); }
.blessing { background:radial-gradient(circle at 50% 30%,#fffdf9,#ecd7cf 80%); }.blessing img { margin:0 auto 20px; }.blessing blockquote { font-size:clamp(1.5rem,6vw,2.3rem);line-height:1.5;font-style:italic;color:var(--plum);margin:24px 0 30px; }.blessing p { color:var(--rose-dark); }.signature-script { font-family:var(--script);font-size:3rem;color:var(--gold);display:block;margin-top:24px; }
.disclaimer { padding:28px 0;background:#eee4df;border-top:1px solid var(--line); }.disclaimer p { margin:0;text-align:center;color:var(--muted);font-size:.7rem;line-height:1.7; }.disclaimer a { color:var(--plum);font-weight:800;text-decoration:underline;text-underline-offset:3px; }
footer { background:var(--cream);padding:60px 0 100px; }.footer-grid { display:grid;gap:34px; }.footer-brand img { width:42px; }.footer-grid > div:not(:first-child) { display:flex;flex-direction:column;gap:7px;font-size:.76rem; }.footer-grid > div > strong { font-family:var(--serif);font-size:1.25rem;margin-bottom:3px; }.footer-grid a:not(.brand) { color:var(--muted); }.footer-bottom { border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.65rem; }
.mobile-contact { position:fixed;z-index:80;bottom:12px;left:12px;right:12px; }.mobile-contact a { display:flex;align-items:center;justify-content:space-between;background:var(--rose-dark);color:white;border-radius:999px;min-height:54px;padding:0 22px;font-size:.8rem;font-weight:700;box-shadow:0 12px 35px rgba(73,56,63,.28); }.mobile-contact span { font-size:1.1rem; }
.offer-visual.has-image::before { display:none; }
.offer-visual.has-image::after { inset:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(180deg,transparent 52%,rgba(45,29,35,.56));box-shadow:none;z-index:1; }
.offer-visual.has-image img { width:100%;height:100%;object-fit:cover; }
.offer-seelengespraech img { object-position:30% 55%; }.offer-seelenreise img { object-position:38% 52%; }.offer-reinigung img { object-position:30% 50%; }.offer-trauer img { object-position:29% 50%; }
.visual-label { text-shadow:0 2px 12px rgba(37,24,29,.55); }
.prayer-art { padding:0;display:block; }
.prayer-art::before { display:none; }
.prayer-art::after { content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.42);border-radius:inherit;pointer-events:none; }
.prayer-art .prayer-photo { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:none;opacity:1; }
.reveal { opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease; }.reveal.visible { opacity:1;transform:none; }.delay-one { transition-delay:.1s; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important} }
@media (min-width:700px) {
  .container { width:min(1180px, calc(100% - 72px)); }.section-pad { padding:120px 0; }
  .hero-grid { grid-template-columns:1.05fr .95fr;gap:70px; }.hero { padding-top:150px; }.hero-portrait { max-width:440px; }
  .offer-grid { grid-template-columns:1fr 1fr; }.offer-card:last-child { grid-column:1/-1;display:grid;grid-template-columns:.95fr 1.05fr; }.offer-card:last-child .offer-visual { height:100%;min-height:520px; }
  .prayer-grid,.about-grid { grid-template-columns:.9fr 1.1fr;gap:80px; }.prayer-art { min-height:650px; }
  .steps { grid-template-columns:repeat(4,1fr);gap:25px; }.steps::before { left:5%;right:5%;top:21px;bottom:auto;width:auto;height:1px; }.step { padding:64px 0 0; }.step > span { left:calc(50% - 22px); }.step { text-align:center; }
  .telegram-inner { grid-template-columns:auto 1fr auto; }.telegram-icon { width:64px;height:64px; }
  .footer-grid { grid-template-columns:1.7fr 1fr 1fr; }.footer-bottom { flex-direction:row;justify-content:space-between; }
  .contact-buttons { max-width:none;flex-direction:row;justify-content:center;align-items:center; }.contact-buttons .button { min-width:190px; }
}
@media (min-width:980px) {
  .desktop-nav { display:flex; }.menu-toggle { display:none; }.section-heading { grid-template-columns:1.35fr .65fr;align-items:end;margin-bottom:62px; }.section-heading h2 { margin-bottom:0; }
  .offer-grid { gap:32px; }.offer-card { display:grid;grid-template-columns:.88fr 1.12fr; }.offer-visual { height:100%;min-height:600px; }.offer-body { padding:40px 36px; }
  .prayer-grid { gap:120px; }.about-grid { gap:120px; }.mobile-contact { display:none; }.hero h1 { font-size:5.6rem; }
  footer { padding-bottom:45px; }
}

.legal-page { background:var(--paper); }.legal-header { position:sticky;background:rgba(250,245,239,.96);box-shadow:0 1px 0 var(--line); }.legal-main { padding:140px 0 90px; }.legal-content { max-width:820px; }.legal-content h1 { font-size:clamp(3.2rem,9vw,5.2rem);overflow-wrap:anywhere; }.legal-content h2 { font-size:2rem;margin:45px 0 14px; }.legal-content h3 { font-family:var(--sans);font-size:1rem;margin:30px 0 8px; }.legal-content p,.legal-content li { color:var(--muted); }.legal-content ul { padding-left:1.25rem;display:grid;gap:8px; }.legal-content a { color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px; }.legal-content strong { color:var(--plum); }.legal-lead { font-size:1.08rem;line-height:1.8;margin-bottom:34px; }.legal-note { background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:20px;margin:30px 0; }.legal-note p { margin:8px 0 0; }.legal-alert { background:#f6ead7;border:1px solid rgba(181,139,69,.38);border-left:4px solid var(--gold);border-radius:14px;padding:20px;margin:28px 0; }.legal-alert p { margin:8px 0 0; }.back-link { display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:700;margin-bottom:28px; }
.legal-divider { border:0;border-top:1px solid var(--line);margin:64px 0; }
.legal-subtitle { font-size:clamp(2.7rem,8vw,4.4rem) !important; }
.legal-content .inline-action { display:inline-flex;padding:12px 16px;border:1px solid rgba(181,139,69,.45);border-radius:10px;text-decoration:none;font-weight:800;color:var(--plum);background:rgba(255,255,255,.55); }
.withdrawal-form-copy { margin:28px 0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow); }
.withdrawal-form-copy p { margin:0 0 18px;color:var(--plum); }
.legal-content .legal-button { display:inline-flex;color:#fff;text-decoration:none; }
.consent-page { max-width:880px; }
.early-start-form { display:grid;gap:18px;margin:36px 0; }
.early-start-form > label:not(.choice-row) { display:grid;gap:8px;color:var(--plum);font-weight:600; }
.early-start-form input:not([type="checkbox"]),.early-start-form select { width:100%;min-height:54px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--plum);font:inherit;font-weight:500;padding:0 14px; }
.early-start-form input[type="datetime-local"]::-webkit-calendar-picker-indicator { width:26px;height:26px;padding:8px;cursor:pointer;opacity:.9; }
.early-start-form input:focus,.early-start-form select:focus { outline:3px solid rgba(181,139,69,.2);border-color:var(--gold); }
.early-start-form .choice-row { display:grid;grid-template-columns:auto 1fr;align-items:start;gap:13px; }
.early-start-form .choice-row input { width:20px;height:20px;margin-top:3px;accent-color:var(--gold); }
.early-start-form [hidden] { display:none !important; }
.consent-preview { background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:20px; }
.consent-preview p { margin:9px 0 0;color:var(--plum); }
.consent-actions { display:grid;gap:10px; }
.consent-actions .button { width:100%;text-align:center;text-decoration:none;color:#fff; }
.consent-actions .button-secondary { color:var(--plum); }
.form-trap { position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important; }
.field-error { min-height:1.25em;color:#8b2432;font-weight:700;font-size:.86rem; }
.early-start-form select:user-invalid,.early-start-form input:user-invalid { border-color:#a24350; }
.consent-submit { display:grid;gap:10px;padding:22px;background:var(--cream);border:1px solid var(--line);border-radius:14px; }
.consent-submit .button { width:100%; }
.consent-submit p { margin:0;font-size:.93rem; }
.confirmation-success { max-width:780px;text-align:center; }
.confirmation-success > img { width:72px;margin:0 auto 22px; }
.confirmation-success .button { display:inline-flex;text-decoration:none;color:#fff; }
.confirmation-success .legal-note { text-align:left; }
.button.is-disabled { opacity:.45;pointer-events:none; }
@media (min-width:700px) { .consent-actions { grid-template-columns:1fr 1fr; } }

/* Gold-, Beige- und Auberginen-Redesign */
.cover-hero { position:relative;padding-top:76px;background:#f5e7d1;overflow:hidden;border-bottom:1px solid rgba(181,139,69,.24); }
.cover-media { width:100%;overflow:hidden; }
.cover-media img { width:100%;height:auto;display:block;transform:translateY(var(--parallax-offset)) scale(1.015);transform-origin:center;transition:transform .12s linear; }
.scroll-cue { display:none;position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);color:var(--plum);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;padding:10px 15px;background:rgba(255,253,247,.78);backdrop-filter:blur(10px);border:1px solid rgba(181,139,69,.35);border-radius:12px; }
.scroll-cue i { font-style:normal;color:var(--gold);animation:cueBounce 1.8s ease-in-out infinite; }
@keyframes cueBounce { 0%,100%{transform:translateY(-2px)} 50%{transform:translateY(3px)} }
.site-header { background:rgba(251,245,233,.82);backdrop-filter:blur(12px); }
h1,h2,h3,body { color:var(--plum); }
.hero { min-height:auto;padding-top:110px;background:radial-gradient(circle at 85% 10%,rgba(219,194,151,.36),transparent 28%),linear-gradient(145deg,#fffaf0,var(--cream)); }
.portrait-art,.portrait-art-secondary { aspect-ratio:1;border-radius:50%; }
.portrait-art .portrait-photo { object-position:50% 42%;transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.hero-portrait:hover .portrait-photo,.about-portrait:hover .portrait-photo { transform:scale(1.035); }
.portrait-caption { margin:18px 0 0;background:transparent;box-shadow:none;padding:0;text-align:center;align-items:center; }
.portrait-caption span { color:var(--plum); }.portrait-caption small { color:var(--gold); }
.about-portrait { max-width:440px; }.script-note { color:var(--gold);right:-8px;bottom:4%;text-shadow:0 3px 16px rgba(255,253,247,.95); }
.button { border-radius:14px;background:var(--plum);border-color:var(--plum);position:relative;overflow:hidden; }
.button::after { content:"";position:absolute;top:-70%;left:-45%;width:30%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(18deg);transition:left .55s ease; }
.button:hover { background:#5d3a56;border-color:#5d3a56; }.button:hover::after { left:120%; }
.button-light { background:#f9ecd4;border-color:#f9ecd4;color:var(--plum); }.button-outline-light { background:transparent;border-color:rgba(238,216,177,.6); }
.mobile-contact a { border-radius:14px;background:var(--plum); }
.offer-card { border-radius:20px;transition:transform .35s ease,box-shadow .35s ease; }
.offer-card:hover { transform:translateY(-5px);box-shadow:0 24px 65px rgba(75,45,70,.13); }
.offer-visual { border-radius:0; }.offer-visual.has-image img { transition:transform .8s cubic-bezier(.2,.7,.2,1); }.offer-card:hover .offer-visual.has-image img { transform:scale(1.035); }
.offer-price strong { font-family:var(--sans);font-size:1rem;letter-spacing:.02em;color:var(--plum); }
.offer-price span { color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem; }
.prayer { background:linear-gradient(135deg,#eadcc7 0%,#fbf3e4 52%,#e5d0ad 100%); }
.prayer-art { min-height:480px;border-radius:22px; }
.telegram-band { background:var(--plum); }.testimonials { background:#f2e7d5; }.contact { background:var(--deep); }
.about-copy blockquote { color:var(--gold); }.blessing { background:radial-gradient(circle at 50% 30%,#fffdf7,#ead8b9 90%); }.blessing p { color:var(--gold); }
.reveal { transform:translateY(30px) scale(.992); }.reveal.visible { transform:none; }
@media (min-width:700px) {
  .cover-hero { min-height:100svh;padding-top:0;display:grid;place-items:center; }
  .cover-media { position:absolute;inset:0; }
  .cover-media img { width:100%;height:calc(100% + 60px);object-fit:cover; }
  .scroll-cue { display:flex; }
  .hero-portrait { max-width:390px; }
  .prayer-art { border-radius:24px; }
}
@media (min-width:980px) {
  .hero { padding-top:130px; }.hero-grid { grid-template-columns:1.12fr .88fr; }
  .offer-card,.offer-card:last-child { border-radius:22px; }.prayer-art { border-radius:26px; }
}
@media (prefers-reduced-motion:reduce) { .cover-media img{transform:none}.scroll-cue i{animation:none}.offer-card:hover,.offer-card:hover .offer-visual.has-image img,.hero-portrait:hover .portrait-photo,.about-portrait:hover .portrait-photo{transform:none} }

/* Inhaltliche Vertiefung und sanfte Interaktionen */
.details-body p { margin:0 0 16px;line-height:1.75; }
.details-body p:last-child { margin-bottom:0; }
.detail-section { margin:24px 0; }
.detail-section h4 { margin:0 0 12px;color:var(--plum);font-family:var(--serif);font-size:1.22rem;line-height:1.3; }
.emoji-list { display:grid;gap:9px;margin:0!important;padding:0!important;list-style:none; }
.emoji-list li { padding-left:0;line-height:1.55; }
.prayer-details { margin:0 0 26px;border-top:1px solid rgba(75,45,70,.13);border-bottom:1px solid rgba(75,45,70,.13); }
.prayer-details summary { list-style:none;cursor:pointer;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--plum);font-size:.78rem;font-weight:700; }
.prayer-details summary::-webkit-details-marker { display:none; }
.prayer-details .details-body { max-height:560px;overflow:auto;padding:0 10px 24px 0;scrollbar-color:var(--gold) rgba(255,255,255,.28); }
.prayer-details .detail-section { padding-top:4px; }

.contact h2 { color:#fffdf7; }
.contact h2 em { color:#e8cfa2; }

.testimonials { position:relative;isolation:isolate;background:#f2e7d5 url('/assets/images/kundenstimmen-hintergrund.jpg') center/cover no-repeat; }
.testimonials::before { content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(255,250,240,.82),rgba(255,250,240,.68) 50%,rgba(255,250,240,.82));backdrop-filter:blur(1.5px); }
.testimonials .section-title { display:inline-block;position:relative;left:50%;transform:translateX(-50%);padding:20px 30px;margin-bottom:32px;border:1px solid rgba(181,139,69,.25);border-radius:18px;background:rgba(255,253,247,.74);backdrop-filter:blur(10px); }
.testimonial-shell { border:1px solid rgba(181,139,69,.28);border-radius:22px;background:rgba(255,253,247,.84);box-shadow:0 20px 55px rgba(75,45,70,.1);backdrop-filter:blur(12px); }
.slider-dots { display:flex;justify-content:center;width:max-content;margin:25px auto 0;padding:10px 14px;border-radius:14px;background:rgba(255,253,247,.76);backdrop-filter:blur(8px); }

.steps::after { content:"";position:absolute;z-index:0;left:21px;top:20px;width:1px;height:calc(100% - 40px);background:linear-gradient(var(--gold),#e7c980);transform:scaleY(0);transform-origin:top;transition:transform 1.4s cubic-bezier(.2,.75,.2,1) .2s; }
.steps.visible::after { transform:scaleY(1); }
.step { z-index:1;opacity:0;transform:translateY(18px);transition:opacity .55s ease calc(.18s + var(--step-index) * .18s),transform .55s ease calc(.18s + var(--step-index) * .18s); }
.steps.visible .step { opacity:1;transform:none; }
.step > span { transform:scale(.72);box-shadow:0 0 0 7px var(--paper);transition:transform .55s cubic-bezier(.2,.8,.2,1) calc(.15s + var(--step-index) * .18s),background .4s ease calc(.15s + var(--step-index) * .18s); }
.steps.visible .step > span { transform:scale(1);background:#fff8e9; }

@media (min-width:700px) {
  .steps::after { left:5%;right:5%;top:21px;width:auto;height:1px;transform:scaleX(0);transform-origin:left; }
  .steps.visible::after { transform:scaleX(1); }
  .testimonials .section-title { padding:24px 48px; }
}
@media (max-width:420px) {
  .testimonial { min-height:360px;padding:22px 12px; }
  .testimonial blockquote { font-size:1.42rem;line-height:1.35; }
  .testimonial-shell { grid-template-columns:38px 1fr 38px;gap:2px; }
  .slider-button { width:38px;height:38px; }
}
@media (prefers-reduced-motion:reduce) {
  .steps::after,.steps.visible::after { transform:none; }
  .step,.steps.visible .step,.step > span,.steps.visible .step > span { opacity:1;transform:none; }
}

/* Responsive Bildkarten, ruhige Kundenstimmen und klare Button-Zustände */
.button-light:hover {
  background:#fff8e9;
  border-color:#d1ae6c;
  color:var(--plum);
  box-shadow:0 10px 28px rgba(34,20,31,.18);
}
.button-outline-light:hover {
  background:rgba(255,248,233,.1);
  border-color:#e8cfa2;
  color:#fff;
  box-shadow:0 10px 28px rgba(15,8,14,.16);
}

.offer-visual,
.offer-card:last-child .offer-visual {
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:3 / 2;
  background:#f4e8d5;
}
.offer-visual.has-image::after { display:none; }
.offer-visual.has-image img,
.offer-seelengespraech img,
.offer-seelenreise img,
.offer-reinigung img,
.offer-trauer img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}
.offer-card:hover .offer-visual.has-image img { transform:none; }

.testimonials {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(145deg,#fffaf0 0%,#f1e2c9 58%,#ead4ad 100%);
}
.testimonials::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:520px;
  height:520px;
  right:-250px;
  top:-250px;
  border:1px solid rgba(181,139,69,.24);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.5),transparent 68%);
  backdrop-filter:none;
}
.testimonials::after {
  content:"“";
  position:absolute;
  z-index:-1;
  left:5%;
  bottom:-.34em;
  color:rgba(181,139,69,.09);
  font-family:var(--serif);
  font-size:22rem;
  line-height:1;
}
.testimonials .section-title {
  display:block;
  position:static;
  left:auto;
  transform:none;
  max-width:620px;
  margin:0 auto 42px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
}
.testimonial-shell {
  max-width:880px;
  border:1px solid rgba(181,139,69,.3);
  border-radius:22px;
  background:rgba(255,253,247,.92);
  box-shadow:0 24px 65px rgba(75,45,70,.1);
  backdrop-filter:none;
}
.slider-dots {
  background:rgba(255,253,247,.76);
  border:1px solid rgba(181,139,69,.18);
  backdrop-filter:none;
}
.slider-button {
  background:#fffaf0;
  border-color:rgba(181,139,69,.35);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.slider-button:hover { transform:scale(1.06);background:#f7e8cb;border-color:var(--gold); }

@media (min-width:700px) {
  .cover-hero {
    min-height:0;
    display:block;
    padding:100px 24px 40px;
    background:linear-gradient(180deg,#fbf5e9,#f5e7d1);
  }
  .cover-media {
    position:relative;
    inset:auto;
    width:100%;
    display:flex;
    justify-content:center;
    overflow:visible;
  }
  .cover-media img {
    width:auto;
    max-width:100%;
    height:auto;
    max-height:760px;
    object-fit:contain;
    border-radius:22px;
    box-shadow:0 24px 70px rgba(75,45,70,.13);
  }
  .scroll-cue { bottom:58px; }

  .offer-card,
  .offer-card:last-child {
    display:block;
  }
  .offer-card:last-child {
    grid-column:1 / -1;
    width:calc((100% - 28px) / 2);
    max-width:574px;
    justify-self:center;
  }
  .offer-body { padding:32px 30px 30px; }
}

@media (min-width:980px) {
  .offer-card,
  .offer-card:last-child { display:block; }
  .offer-visual { height:auto;min-height:0; }
  .offer-body { padding:34px 34px 32px; }

  .testimonials .container {
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    align-items:center;
    gap:70px;
  }
  .testimonials .section-title {
    margin:0;
    text-align:left;
  }
  .testimonials .section-title h2 { font-size:clamp(3.8rem,5vw,5.4rem); }
  .testimonials .testimonial-shell { width:100%; }
  .testimonials .slider-dots { grid-column:2; }
}

@media (max-width:699px) {
  .cover-media img { transform:none; }
  .offer-card:hover { transform:none; }
  .mobile-contact {
    left:auto;
    right:14px;
    bottom:14px;
    width:min(220px,calc(100% - 28px));
  }
  .mobile-contact a { min-height:48px;padding:0 17px;box-shadow:0 10px 28px rgba(73,45,70,.24); }
}

/* Seelengebet: vollständiges Originalformat und eigener Preis */
.prayer-art {
  min-height:0;
  aspect-ratio:636 / 900;
  background:#ead8bd;
}
.prayer-art .prayer-photo {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.prayer-price {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin:0 0 24px;
  padding:16px 0;
  border-top:1px solid rgba(75,45,70,.13);
  border-bottom:1px solid rgba(75,45,70,.13);
}
.prayer-price span {
  color:var(--gold);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.prayer-price strong {
  color:var(--plum);
  font-size:1rem;
  letter-spacing:.02em;
}
@media (min-width:700px) {
  .prayer-art { min-height:0; }
}

/* Harmonische Typografie für Preiszeilen */
.offer-price span,
.prayer-price span {
  font-size:.78rem;
  letter-spacing:.08em;
}
.offer-price strong,
.prayer-price strong {
  font-size:.9rem;
  font-weight:700;
}

/* Kontaktwahl, Social Media und abschließende Lesbarkeitskorrekturen */
.topic-grid > span {
  justify-content:flex-start;
  cursor:default;
}
.topic-grid > span i {
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(181,139,69,.12);
  color:var(--gold);
  font-family:var(--serif);
  font-size:1rem;
}
.topic-grid > span b { font-weight:700; }

.social-links a,
.footer-socials a {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.social-links a { padding:5px 0; }
.social-links a img {
  width:18px;
  height:18px;
  filter:brightness(0) invert(1);
  opacity:.92;
}
.social-links a i { color:#e8cfa2;font-style:normal; }
.footer-socials { display:flex;flex-direction:column;align-items:flex-start;gap:8px; }
.footer-socials a { color:var(--muted);font-size:.86rem; }
.footer-socials img { width:17px;height:17px;opacity:.76; }

.disclaimer p { font-size:.82rem;line-height:1.75; }
.footer-grid > div:not(:first-child) { font-size:.88rem;gap:9px; }
.footer-grid a:not(.brand) { line-height:1.55; }

.mobile-contact {
  left:auto;
  right:14px;
  bottom:14px;
  width:auto;
}
.mobile-contact a {
  min-height:44px;
  padding:0 14px;
  gap:8px;
  justify-content:center;
  border-radius:12px;
  font-size:.72rem;
}
.mobile-contact img {
  width:18px;
  height:18px;
  filter:brightness(0) invert(1);
}
.mobile-contact span { font-size:.72rem; }

.contact-choice {
  width:min(520px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  padding:0;
  border:0;
  border-radius:22px;
  color:var(--plum);
  background:var(--paper);
  box-shadow:0 28px 90px rgba(32,18,30,.3);
}
.contact-choice::backdrop { background:rgba(40,23,38,.62);backdrop-filter:blur(4px); }
.contact-choice-card { position:relative;padding:34px 28px 30px;text-align:center; }
.contact-choice-card .eyebrow { margin-bottom:12px; }
.contact-choice-card h2 { font-size:clamp(2rem,8vw,3rem);margin-bottom:16px; }
.contact-choice-card > p:not(.eyebrow) { color:var(--muted);margin:0 auto 24px;max-width:400px; }
.contact-choice-close { position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--cream);color:var(--plum);font-size:1.45rem;cursor:pointer; }
.contact-choice-actions { display:grid;gap:10px; }
.contact-choice-actions .button { width:100%;gap:9px; }
.contact-choice-actions img { width:19px;height:19px;filter:brightness(0) invert(1); }
.button-secondary { background:transparent;border-color:rgba(75,45,70,.25);color:var(--plum); }
.button-secondary:hover { background:var(--cream);border-color:var(--gold);color:var(--plum); }

.testimonial.is-changing { animation:testimonialFade .55s ease both; }
@keyframes testimonialFade { from{opacity:0;transform:translateX(12px)} to{opacity:1;transform:none} }

@media (min-width:700px) {
  .footer-grid { grid-template-columns:1.5fr .9fr .8fr 1fr; }
  .contact-choice-card { padding:42px 42px 38px; }
  .contact-choice-actions { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .testimonial.is-changing { animation:none; }
}

/* Einheitlich gut lesbare Erklärungstexte */
.hero .lead,
.section-intro,
.section-heading > p,
.offer-body > p:not(.card-kicker),
.offer-body .details-body,
.prayer-copy .lead-small,
.prayer-details .details-body,
.step p,
.about-copy > p,
.contact-inner > p:not(.eyebrow),
.contact-choice-card > p:not(.eyebrow) {
  color:var(--plum);
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.78;
}

.contact-inner > p:not(.eyebrow) { color:rgba(255,253,247,.84); }
.telegram-inner p { color:rgba(255,253,247,.84);font-size:1rem;line-height:1.75; }

.direction-mark,
.down-mark {
  position:relative;
  display:inline-block;
  flex:0 0 12px;
  width:12px;
  height:12px;
  color:var(--gold);
}
.direction-mark::before,
.down-mark::before {
  content:"";
  position:absolute;
  left:2px;
  top:0;
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
}
.external-mark {
  position:relative;
  display:inline-block;
  flex:0 0 15px;
  width:15px;
  height:15px;
  color:#e8cfa2;
  border:1.35px solid currentColor;
  border-radius:50%;
}
.external-mark::before {
  content:"";
  position:absolute;
  inset:1px 4px;
  border-left:1px solid currentColor;
  border-right:1px solid currentColor;
  border-radius:50%;
}
.external-mark::after {
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  top:50%;
  height:1px;
  background:currentColor;
  transform:translateY(-50%);
}
.telegram-icon .external-mark { color:#fff4dd; }

/* Klarer Telegram-Hinweis und drei gleichwertige Kontaktwege */
.telegram-inner {
  justify-items:center;
  text-align:center;
  gap:18px;
}
.telegram-icon {
  width:64px;
  height:64px;
  border:1px solid rgba(232,207,162,.38);
  background:rgba(249,236,212,.11);
  box-shadow:0 12px 32px rgba(38,21,36,.12);
}
.telegram-icon img {
  width:30px;
  height:30px;
  filter:brightness(0) invert(92%) sepia(25%) saturate(523%) hue-rotate(343deg) brightness(105%);
}
.telegram-copy { max-width:520px; }
.telegram-copy h3 { margin-bottom:8px; }
.telegram-cta {
  width:100%;
  gap:11px;
}
.telegram-cta .external-mark { color:var(--plum); }

.contact-buttons .phone-button {
  border-bottom-width:1px;
  white-space:nowrap;
}

@media (min-width:700px) {
  .telegram-inner {
    grid-template-columns:72px minmax(0,1fr) auto;
    justify-items:start;
    text-align:left;
    gap:28px;
  }
  .telegram-icon { width:64px;height:64px; }
  .telegram-cta { width:auto;min-width:210px; }
  .contact-buttons .phone-button { min-width:250px; }
}

/* Stimmige Informationshierarchie in den Angebotskarten */
.chips { gap:9px; }
.chips span {
  border-radius:12px;
  padding:8px 12px;
  font-size:.78rem;
  line-height:1.25;
}
.offer-price span,
.offer-body summary {
  font-size:.9rem;
}
.offer-price strong { font-size:1rem; }

/* Ausführliche Erfahrungen und moderierte Einreichung */
.testimonial-content { min-width:0; }
.testimonial-read {
  margin-top:4px;
  padding:7px 3px 5px;
  border:0;
  border-bottom:1px solid var(--gold);
  background:transparent;
  color:var(--plum);
  font:700 .78rem/1.4 var(--sans);
  cursor:pointer;
}
.testimonial-read:hover { color:var(--gold); }
.testimonial-action {
  margin:30px auto 0;
  max-width:540px;
  text-align:center;
}
.testimonial-action p { margin-bottom:14px;font-size:.95rem; }
.testimonial-action .button { min-height:48px; }

.content-dialog {
  width:min(720px,calc(100% - 28px));
  max-height:calc(100dvh - 28px);
  padding:0;
  border:0;
  border-radius:22px;
  background:var(--paper);
  color:var(--plum);
  box-shadow:0 28px 90px rgba(32,18,30,.3);
}
.content-dialog::backdrop { background:rgba(40,23,38,.66);backdrop-filter:blur(5px); }
.content-dialog-card { position:relative;padding:38px 24px 32px; }
.content-dialog-close {
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--cream);
  color:var(--plum);
  font-size:1.45rem;
  cursor:pointer;
}
.content-dialog h2 { font-size:clamp(2.1rem,8vw,3.4rem);margin-right:34px; }
.review-dialog-copy { margin-top:28px; }
.review-dialog-copy p { font-size:1.02rem;line-height:1.78; }
.review-disclaimer {
  margin:28px 0 0;
  padding:16px 18px;
  border-left:2px solid var(--gold);
  background:var(--cream);
  font-size:.78rem;
  line-height:1.65;
}

.share-dialog .content-dialog-card > p:not(.eyebrow) { font-size:1rem;line-height:1.7; }
.experience-form { display:grid;gap:20px;margin-top:28px; }
.experience-form > label:not(.choice-row) { display:grid;gap:7px; }
.experience-form label > span,
.experience-form legend { font-size:.82rem;font-weight:700; }
.experience-form small { font-weight:400; }
.experience-form input[type="text"],
.experience-form input[type="email"],
.experience-form textarea {
  width:100%;
  border:1px solid rgba(75,45,70,.22);
  border-radius:12px;
  background:#fffefa;
  color:var(--plum);
  font:400 1rem/1.55 var(--sans);
  padding:12px 14px;
}
.experience-form textarea { resize:vertical;min-height:180px; }
.experience-form input:focus,
.experience-form textarea:focus { outline:2px solid rgba(181,139,69,.34);border-color:var(--gold); }
.experience-form fieldset { margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;display:grid;gap:11px; }
.experience-form legend { padding:0 7px; }
.choice-row { display:flex;align-items:flex-start;gap:10px; }
.choice-row input { flex:0 0 auto;margin-top:4px;accent-color:var(--plum); }
.choice-row span { font-size:.88rem!important;font-weight:400!important;line-height:1.55; }
.consent-row { padding:15px;border-radius:12px;background:var(--cream); }
.consent-row a { color:var(--gold);text-decoration:underline; }
.experience-form .button { width:100%; }
.honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.thanks-lotus { margin:0 auto 24px; }

/* Transparenter Datenschutzhinweis ohne fingierte Cookie-Kategorien */
.privacy-notice[hidden] { display:none; }
.privacy-notice {
  position:fixed;
  z-index:1200;
  left:14px;
  right:14px;
  bottom:14px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  width:auto;
  max-height:calc(100dvh - 28px);
  overflow:auto;
  padding:22px 20px;
  border:1px solid rgba(181,139,69,.34);
  border-radius:20px;
  background:rgba(255,252,245,.985);
  box-shadow:0 26px 80px rgba(45,24,42,.25);
  opacity:0;
  transform:translateY(22px);
  transition:opacity .22s ease,transform .22s ease;
}
.privacy-notice.is-visible { opacity:1;transform:none; }
.privacy-notice-mark {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(181,139,69,.3);
  border-radius:14px;
  background:var(--cream);
}
.privacy-notice-mark img { width:30px;height:30px; }
.privacy-notice .eyebrow { margin:0 0 7px; }
.privacy-notice h2 { margin:0 0 10px;font-size:clamp(1.65rem,7vw,2.35rem); }
.privacy-notice-content > p:not(.eyebrow) { margin:0;color:var(--plum);font-size:.92rem;line-height:1.65; }
.privacy-status { display:flex;align-items:center;gap:9px;margin:16px 0;color:var(--plum);font-size:.78rem; }
.privacy-status > span { width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:rgba(181,139,69,.16);color:var(--gold);font-weight:800; }
.privacy-notice-actions { display:grid;gap:9px; }
.privacy-notice-actions .button { width:100%;min-height:48px; }
.privacy-settings-link {
  width:max-content;
  padding:0;
  border:0;
  border-bottom:1px solid transparent;
  background:transparent;
  color:var(--muted);
  font:inherit;
  line-height:1.55;
  text-align:left;
  cursor:pointer;
}
.privacy-settings-link:hover,.privacy-settings-link:focus-visible { color:var(--plum);border-bottom-color:var(--gold); }
.privacy-notice-open .mobile-contact { opacity:0;pointer-events:none; }

@media (min-width:700px) {
  .privacy-notice { left:50%;right:auto;bottom:24px;width:min(760px,calc(100% - 48px));padding:28px 30px;transform:translate(-50%,22px);gap:20px; }
  .privacy-notice.is-visible { transform:translate(-50%,0); }
  .privacy-notice-actions { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .privacy-notice { transition:none; }
}

@media (min-width:700px) {
  .content-dialog-card { padding:50px 52px 44px; }
  .testimonial-action { margin-top:34px; }
}
