:root{
  --bg:#070605;--bg2:#0d0907;--ink:#f5eadb;--muted:#b8aa99;--gold:#dca650;--gold2:#ffd797;--ember:#e35418;--red:#8c1e12;--line:rgba(220,166,80,.28);--panel:rgba(14,10,8,.86);--max:1220px;--radius:24px;--shadow:0 28px 80px rgba(0,0,0,.52)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#050403}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}::selection{background:#d85b23;color:white}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.grain{position:fixed;z-index:200;pointer-events:none;inset:0;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.topbar{position:fixed;z-index:100;inset:0 0 auto;background:linear-gradient(to bottom,rgba(5,4,3,.92),rgba(5,4,3,.55),transparent);backdrop-filter:blur(8px);transition:.25s}.topbar.scrolled{background:rgba(7,6,5,.92);border-bottom:1px solid rgba(255,255,255,.07)}.navrow{height:74px;display:flex;align-items:center;gap:28px}.mini-logo{display:flex;flex-direction:column;font-family:Georgia,"Times New Roman",serif;line-height:.92;letter-spacing:.08em}.mini-logo span{font-size:.65rem;color:#d8c9b4;letter-spacing:.24em}.mini-logo strong{font-size:1.03rem;color:var(--gold2)}.navlinks{display:flex;gap:24px;margin-left:auto;color:#dfd1bf;font-size:.92rem}.navlinks a{position:relative}.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}.navlinks a:hover:after{right:0}.navticket{display:flex;gap:6px;align-items:center;border:1px solid rgba(220,166,80,.48);border-radius:999px;padding:9px 14px;background:rgba(17,11,7,.68);color:var(--gold2);font-weight:750;font-size:.84rem}.navticket span{font-family:Georgia,serif;font-size:1.05rem}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.nav{position:sticky;top:0;z-index:100;background:rgba(7,6,5,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;flex-wrap:wrap;gap:.45rem;font-family:Georgia,serif;font-weight:700;letter-spacing:.08em}.brand span{color:var(--gold2)}.nav-cta{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(220,166,80,.4);background:rgba(17,11,7,.68);color:var(--gold2);font-weight:800}.inline-link{color:var(--gold2);text-decoration:underline;text-decoration-color:rgba(220,166,80,.35);text-underline-offset:3px}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;background:#060504}.hero-media{position:absolute;inset:-4%;background:url('hero.webp') center 48%/cover no-repeat;transform:translate3d(0,0,0) scale(1.06);transform-origin:center center;will-change:transform;animation:heroFloat 18s ease-in-out infinite alternate}.hero-fog3d{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:.88;mix-blend-mode:screen}.hero-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(4,3,2,.8) 0%,rgba(4,3,2,.18) 46%,rgba(4,3,2,.18) 70%,rgba(4,3,2,.6) 100%),linear-gradient(to bottom,rgba(3,2,2,.06),rgba(5,4,3,.06) 40%,rgba(7,6,5,.98) 96%)}.hero-parallax{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.hero-char{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;user-select:none;pointer-events:none}.hero-char-left{}.hero-char-right{}.hero-inner{position:relative;z-index:5;padding:150px 0 76px}.hero-copy{max-width:760px}.kicker{display:flex;align-items:center;gap:12px;color:var(--gold2);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.kicker span{height:1px;width:42px;background:linear-gradient(90deg,transparent,var(--gold))}.kicker span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}.hero h1{font:800 clamp(3rem,7.5vw,7.5rem)/.88 Georgia,"Times New Roman",serif;margin:20px 0 22px;text-shadow:0 12px 50px rgba(0,0,0,.72);letter-spacing:-.035em}.hero h1 em{font-style:normal;color:var(--gold2);text-shadow:0 0 30px rgba(229,112,31,.28),0 12px 50px rgba(0,0,0,.7)}.hero-copy>p{font-size:clamp(1.05rem,2vw,1.25rem);max-width:680px;color:#eee0ce;text-shadow:0 4px 20px #000}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:850;transition:.22s}.btn:hover{transform:translateY(-2px)}.btn.hot{background:linear-gradient(135deg,#f0c477,#c77a26);color:#190f08;box-shadow:0 12px 34px rgba(218,78,16,.2)}.btn.ghost{border-color:rgba(246,219,177,.38);background:rgba(9,6,5,.55);backdrop-filter:blur(6px)}.hero-facts{display:flex;gap:0;flex-wrap:wrap;margin-top:46px;border-top:1px solid rgba(255,255,255,.16);max-width:760px}.hero-facts div{padding:18px 32px 0 0;margin-right:30px}.hero-facts b,.hero-facts span{display:block}.hero-facts b{font-family:Georgia,serif;color:var(--gold2);font-size:1.05rem}.hero-facts span{color:#c9bcab;font-size:.86rem}.scrollhint{position:absolute;z-index:3;bottom:22px;right:calc((100% - min(calc(100% - 40px),var(--max)))/2);width:34px;height:52px;border:1px solid rgba(255,255,255,.25);border-radius:20px}.scrollhint span{position:absolute;width:4px;height:9px;background:var(--gold2);border-radius:4px;left:14px;top:10px;animation:scroll 1.8s infinite}
.countdown-band{border-top:1px solid rgba(220,166,80,.22);border-bottom:1px solid rgba(220,166,80,.16);background:linear-gradient(90deg,#0c0907,#140c08 50%,#0c0907);padding:20px 0}.countdown-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.countdown-title small{display:block;color:#9f9283;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.countdown-title strong{font:700 1.3rem Georgia,serif;color:var(--gold2)}.countdown{display:flex;align-items:center;gap:20px}.countdown div{text-align:center;min-width:74px}.countdown b{display:block;font:700 2rem Georgia,serif;color:#fff}.countdown span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#9d9182}.countdown i{width:1px;height:36px;background:var(--line)}
.section{padding:104px 0;position:relative;background:radial-gradient(circle at 15% 10%,rgba(139,42,12,.08),transparent 27%),var(--bg)}.section-head{max-width:920px}.section-head.compact{max-width:720px}.overline{margin:0 0 12px;color:var(--gold);font-weight:900;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase}.section h2,.tour-section h2,.history h2,.finale h2{margin:0;font:800 clamp(2.3rem,5.3vw,5.3rem)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.025em}.section h2 span,.tour-section h2 span,.history h2 span,.finale h2 span{color:var(--gold2)}.section-head>p:last-child{color:var(--muted);font-size:1.08rem;max-width:780px;margin-top:18px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}.feature{position:relative;min-height:290px;padding:28px 26px 26px;border-radius:var(--radius);border:1px solid rgba(220,166,80,.19);background:radial-gradient(circle at 100% 0,rgba(224,83,21,.14),transparent 38%),linear-gradient(180deg,rgba(28,18,12,.92),rgba(10,8,6,.94));overflow:hidden;box-shadow:var(--shadow);transition:.25s}.feature:hover{transform:translateY(-6px);border-color:rgba(220,166,80,.42)}.feature:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.75}.feature .num{position:absolute;right:22px;top:17px;font:700 2.6rem Georgia,serif;color:rgba(255,255,255,.055)}.glyph{font-size:2.2rem;color:var(--gold2);filter:drop-shadow(0 5px 14px rgba(226,82,20,.3))}.feature h3{font:700 1.45rem Georgia,serif;margin:22px 0 10px}.feature p{margin:0;color:#bcae9d;font-size:.94rem}
.tour-section{position:relative;padding:120px 0;overflow:hidden;background:#050403}.tour-image{position:absolute;inset:0;background:url('tour.webp') 50% 45%/cover no-repeat;opacity:.48;filter:saturate(.9) contrast(1.08)}.tour-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.98) 0%,rgba(5,4,3,.65) 45%,rgba(5,4,3,.9) 100%),linear-gradient(to bottom,#070605 0%,transparent 20%,transparent 78%,#070605 100%)}.tour-content{position:relative;z-index:2}.tour-title{max-width:800px}.tour-title>p:last-child{color:#cfbfad;max-width:650px}.scene-track{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:54px;border-top:1px solid rgba(220,166,80,.28);border-bottom:1px solid rgba(220,166,80,.2);background:rgba(7,5,4,.58);backdrop-filter:blur(8px)}.scene{position:relative;padding:30px 22px 32px;border-right:1px solid rgba(255,255,255,.09);min-height:230px}.scene:last-child{border-right:0}.scene>span{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid rgba(220,166,80,.55);border-radius:50%;font:700 .85rem Georgia,serif;color:var(--gold2)}.scene h3{font:700 1.3rem Georgia,serif;margin:28px 0 8px}.scene p{color:#bfb1a0;font-size:.88rem;margin:0}.scene:after{content:"";position:absolute;width:7px;height:7px;background:var(--ember);border:2px solid #1a0d08;border-radius:50%;top:-5px;left:30px;box-shadow:0 0 16px rgba(226,82,20,.7)}.tour-note{margin-top:28px;display:flex;gap:20px;align-items:center;padding:18px 22px;border-left:2px solid var(--gold);background:linear-gradient(90deg,rgba(220,166,80,.08),transparent)}.tour-note strong{font-family:Georgia,serif;color:var(--gold2);white-space:nowrap}.tour-note span{color:#aa9d8e;font-size:.9rem}
.modes{background:radial-gradient(circle at 50% 15%,rgba(148,38,10,.12),transparent 32%),#090706}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}.mode{position:relative;padding:34px;border-radius:28px;border:1px solid rgba(220,166,80,.24);overflow:hidden;box-shadow:var(--shadow)}.mode:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,transparent 45%,rgba(255,255,255,.03))}.mode.little{background:radial-gradient(circle at 0 0,rgba(230,135,48,.2),transparent 35%),linear-gradient(180deg,#1a120b,#0c0907)}.mode.holy{background:radial-gradient(circle at 100% 0,rgba(145,23,15,.28),transparent 38%),linear-gradient(180deg,#160a08,#0b0807)}.mode-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.mode-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#c7b7a4}.mode-top b{font:700 1.9rem Georgia,serif;color:var(--gold2)}.mode h3{font:800 clamp(2.3rem,5vw,4.5rem)/.92 Georgia,serif;margin:14px 0 12px}.holy h3{color:#f1d1aa}.mode>p{color:#c3b4a2;max-width:560px}.mode ul{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.1)}.mode li{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#ded0bf}.mode li strong{color:var(--gold2)}.mode-foot{margin-top:22px;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#9d8e7d}.free-strip{margin-top:18px;padding:15px 20px;display:flex;justify-content:center;align-items:center;gap:18px;border-radius:999px;border:1px solid rgba(220,166,80,.25);color:#d9c9b4;background:#0d0907}.free-strip strong{font:700 1.25rem Georgia,serif;color:var(--gold2)}.free-strip em{font-style:normal;color:#a99b8c}
.history{position:relative;padding:118px 0;overflow:hidden;background:#050403}.history-bg{position:absolute;inset:0;background:url('story.webp') center/cover no-repeat;opacity:.25;filter:saturate(.7) contrast(1.1)}.history:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060504 0%,rgba(6,5,4,.78) 52%,rgba(6,5,4,.93) 100%),linear-gradient(to bottom,#070605,transparent 23%,transparent 78%,#070605)}.history-inner{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.history-copy p:last-child{color:#c5b6a4;max-width:470px}.history-facts{display:grid;gap:14px}.fact{display:grid;grid-template-columns:145px 1fr;gap:28px;padding:25px 0;border-top:1px solid rgba(220,166,80,.22)}.fact:first-child{border-top:0}.fact .year{font:800 2rem Georgia,serif;color:var(--gold2)}.fact h3{margin:0 0 6px;font:700 1.28rem Georgia,serif}.fact p{margin:0;color:#b9aa99;font-size:.92rem}.learn{padding-top:74px}.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.learn-card{position:relative;padding:38px;border-radius:28px;min-height:330px;border:1px solid rgba(220,166,80,.22);overflow:hidden}.learn-card:before{content:"";position:absolute;inset:0;opacity:.2;background:url('family.webp') center/cover no-repeat}.learn-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,6,5,.96),rgba(9,6,5,.78),rgba(9,6,5,.48))}.learn-card>*{position:relative;z-index:2}.learn-card.fire:before{filter:hue-rotate(-15deg) saturate(1.25)}.stamp{display:inline-block;border:1px solid rgba(220,166,80,.52);padding:5px 9px;border-radius:5px;color:var(--gold2);font-size:.7rem;font-weight:900;letter-spacing:.18em}.learn-card h3{font:800 2.05rem/1.05 Georgia,serif;margin:22px 0 12px;max-width:480px}.learn-card p{color:#c4b5a4;max-width:520px}.learn-card b{display:block;margin-top:22px;color:var(--gold2);font-family:Georgia,serif;font-size:1.15rem}
.place{background:linear-gradient(180deg,#090706,#050403)}.place-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:stretch}.place-copy{padding:20px 0}.place-copy .big{font:700 1.5rem/1.45 Georgia,serif;color:#f1e0cb}.place-copy>p:not(.overline):not(.big){color:#b7aa9a;max-width:560px}.place-actions{display:flex;gap:10px;margin-top:28px}.place-photo{position:relative;min-height:420px;margin:0;border-radius:30px;overflow:hidden;border:1px solid rgba(220,166,80,.24);box-shadow:var(--shadow);background:#0a0b0d}.place-photo img{display:block;width:100%;height:100%;object-fit:cover}.place-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,4,3,.9),rgba(5,4,3,.12) 45%,rgba(5,4,3,.05))}.place-photo figcaption{position:absolute;left:22px;bottom:18px;z-index:2;padding:9px 14px;border-radius:999px;background:rgba(7,6,5,.72);border:1px solid rgba(220,166,80,.28);color:var(--gold2);font:700 .82rem/1.1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.faq-section{background:#070605}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.faq{display:grid;gap:10px}.faq details{border-bottom:1px solid rgba(220,166,80,.19);padding:18px 0}.faq summary{cursor:pointer;font-weight:800;font-size:1.02rem;list-style:none;padding-right:35px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:-7px;font:300 2rem Georgia,serif;color:var(--gold)}.faq details[open] summary:after{content:"–"}.faq p{color:#aa9d8e;margin:13px 0 0;max-width:680px}
.finale{position:relative;min-height:620px;display:grid;place-items:center;text-align:center;overflow:hidden;background:#050403}.finale-bg{position:absolute;inset:0;background:url('hero.webp') center 51%/cover no-repeat;filter:saturate(.8);opacity:.52;transform:scale(1.05)}.finale:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(5,4,3,.2),rgba(5,4,3,.86) 70%),linear-gradient(to bottom,#070605,transparent 25%,transparent 75%,#070605)}.finale-content{position:relative;z-index:2;max-width:850px;padding:90px 20px}.finale h2{margin-bottom:18px}.finale p:not(.overline){max-width:660px;margin:0 auto 27px;color:#d0c0ae;font-size:1.08rem}.footer{border-top:1px solid rgba(220,166,80,.16);background:#050403;padding:34px 0 42px}.footer-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.footer-brand{display:flex;flex-direction:column;font-family:Georgia,serif}.footer-brand span{font-size:.68rem;letter-spacing:.25em;color:#9d8f80}.footer-brand strong{font-size:1.55rem;color:var(--gold2)}.footer-brand small{margin-top:5px;color:#817669;font-family:Inter,system-ui,sans-serif}.footer-meta{text-align:right;color:#817669;font-size:.83rem}.footer-meta p{margin:0 0 8px}.footer-meta nav{display:flex;gap:15px;justify-content:flex-end}.footer-meta a:hover{color:var(--gold2)}
.legal{padding:125px 0 70px;min-height:100vh;background:radial-gradient(circle at 50% 0,rgba(129,39,13,.1),transparent 28%),#070605}.legal .paper{max-width:900px;padding:42px;margin:0 auto;border:1px solid rgba(220,166,80,.22);border-radius:24px;background:linear-gradient(180deg,rgba(28,18,12,.92),rgba(10,8,6,.97));box-shadow:var(--shadow)}.legal h1{font:800 clamp(2.3rem,5vw,4.2rem) Georgia,serif;color:var(--gold2)}.legal h2{margin-top:30px;font:700 1.4rem Georgia,serif}.legal p,.legal li{color:#c7baaa}.legal a{color:var(--gold2);text-decoration:underline;text-decoration-color:rgba(220,166,80,.35)}.back{display:inline-flex;margin-bottom:24px;color:var(--gold2);font-weight:800}.reveal{opacity:0;transform:translateY(20px);transition:opacity .72s ease,transform .72s ease}.reveal.visible{opacity:1;transform:none}
@keyframes heroFloat{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(0,-1.2%,0)}}@keyframes scroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media,.hero-char{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;user-select:none;pointer-events:none}.hero-fog3d{opacity:.7}.scrollhint span{animation:none}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}
@media(max-width:1050px){.feature-grid{grid-template-columns:repeat(2,1fr)}.scene-track{grid-template-columns:repeat(5,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x mandatory}.scene{scroll-snap-align:start}.history-inner,.place-grid,.faq-grid{grid-template-columns:1fr}.history-copy p:last-child{max-width:720px}.place-photo{min-height:350px}.navlinks{display:none}}
@media(max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.navrow{height:65px}.mini-logo{font-size:.88rem}.navticket{font-size:.74rem;padding:8px 10px}.hero{min-height:900px}.hero-media{background-position:58% 45%;opacity:.95;transform:translate3d(0,0,0) scale(1.1)}.hero-fog3d{opacity:.82}.hero-char-left{}.hero-char-right{}.hero-shade{background:linear-gradient(to bottom,rgba(4,3,2,.1),rgba(4,3,2,.22) 35%,rgba(7,6,5,.98) 84%)}.hero-inner{padding:120px 0 65px}.hero-copy{margin-top:auto}.hero h1{font-size:clamp(3.1rem,16vw,5.6rem)}.kicker{font-size:.68rem;letter-spacing:.1em}.hero-facts{display:grid;grid-template-columns:1fr 1fr}.hero-facts div{padding:15px 15px 0 0;margin:0}.scrollhint{display:none}.countdown-row{align-items:flex-start}.countdown-title{display:none}.countdown{width:100%;justify-content:space-around}.countdown div{min-width:0}.feature-grid,.mode-grid,.learn-grid{grid-template-columns:1fr}.feature{min-height:auto}.section{padding:78px 0}.tour-section,.history{padding:88px 0}.tour-note{align-items:flex-start;flex-direction:column;gap:5px}.mode{padding:26px}.mode li{grid-template-columns:1fr;gap:3px}.free-strip{border-radius:18px;flex-wrap:wrap;gap:9px}.history-inner{gap:35px}.fact{grid-template-columns:110px 1fr;gap:16px}.learn-card{min-height:300px;padding:28px}.place-photo{min-height:300px}.footer-row{display:block}.footer-meta{text-align:left;margin-top:25px}.footer-meta nav{justify-content:flex-start}.finale{min-height:560px}}
@media(max-width:480px){.feature-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}.hero-facts{grid-template-columns:1fr 1fr}.scene-track{margin-left:-14px;margin-right:-14px}.fact{grid-template-columns:1fr;gap:5px}.place-actions{display:grid}.place-actions .btn{width:100%}.legal .paper{padding:24px}.nav-inner{min-height:64px;align-items:flex-start;padding:12px 0;flex-direction:column}.nav-cta{width:100%;justify-content:center}}

50%{transform:translate3d(45vw,-1.3vh,0) scale(1.06)}100%{transform:translate3d(125vw,.8vh,0) scale(1)}}

@keyframes charFloatLeft{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}100%{transform:translate3d(0,2px,0)}}
@keyframes charFloatRight{0%{transform:translate3d(0,1px,0)}50%{transform:translate3d(0,-10px,0)}100%{transform:translate3d(0,0,0)}}


/* FINAL HERO LAYERING: background and character overlay share the exact same crop. */
.hero-media{
  position:absolute !important;
  inset:-4% !important;
  background:url('hero.webp') center 48%/cover no-repeat !important;
  transform-origin:center center !important;
  will-change:transform !important;
  animation:none !important;
}
.hero-parallax{
  display:block !important;
  position:absolute !important;
  inset:-4% !important;
  z-index:4 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  transform-origin:center center !important;
  will-change:transform !important;
}
.hero-parallax .hero-char{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center 48% !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  animation:none !important;
  user-select:none !important;
  pointer-events:none !important;
}
.hero-fog3d{z-index:3 !important;opacity:.9 !important;}
.hero-shade{z-index:2 !important;}
.hero-inner{z-index:5 !important;}
@media(max-width:760px){
  .hero-media,.hero-parallax{inset:-5% !important;}
  .hero-parallax .hero-char{object-position:58% 45% !important;}
}
@media(prefers-reduced-motion:reduce){
  .hero-media,.hero-parallax,.hero-parallax .hero-char{animation:none !important;}
}


/* FINAL v11: clean BG + exact static figure overlay; only background moves. */
.hero-media{
  position:absolute !important;
  inset:0 !important;
  background:url("hero.webp") center 48%/cover no-repeat !important;
  transform:translate3d(0,0,0) scale(1) !important;
  transform-origin:center center !important;
  will-change:transform !important;
  animation:none !important;
  z-index:1 !important;
}
.hero-shade{z-index:2 !important;}
.hero-fog3d{z-index:3 !important;opacity:.9 !important;}
.hero-parallax{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  transform:none !important;
}
.hero-parallax .hero-char{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
  display:block !important;
  transform:none !important;
  animation:none !important;
  opacity:1 !important;
  filter:none !important;
}
.hero-inner{z-index:5 !important;}
@media(max-width:760px){
  .hero-media{background-position:58% 45% !important;}
  .hero-parallax .hero-char{object-position:58% 45% !important;}
}


/* FINAL v12: clean background moves; original-color transparent characters stay fixed. */
.hero{--bg-x:0px;--bg-y:0px;--bg-scale:1.02;}
.hero-media{
  position:absolute !important;
  inset:-5% !important;
  z-index:1 !important;
  background:url("hero.webp") center 48%/cover no-repeat !important;
  transform:translate3d(var(--bg-x),var(--bg-y),0) scale(var(--bg-scale)) !important;
  transform-origin:center center !important;
  will-change:transform !important;
  animation:none !important;
}
.hero-shade{z-index:2 !important;}
.hero-fog3d{z-index:3 !important;opacity:.90 !important;mix-blend-mode:screen !important;}
.hero-parallax{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  transform:none !important;
}
.hero-parallax .hero-char{
  position:absolute !important;
  display:block !important;
  width:auto !important;
  height:96% !important;
  bottom:-1% !important;
  top:auto !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  animation:none !important;
  object-fit:contain !important;
  user-select:none !important;
  pointer-events:none !important;
}
.hero-parallax .hero-char-left{left:0 !important;right:auto !important;}
.hero-parallax .hero-char-right{right:0 !important;left:auto !important;height:98% !important;}
.hero-inner{z-index:5 !important;}
@media(max-width:1000px){
  .hero-parallax .hero-char{height:78% !important;bottom:0 !important;}
  .hero-parallax .hero-char-left{left:-8% !important;}
  .hero-parallax .hero-char-right{right:-9% !important;height:80% !important;}
}
@media(max-width:760px){
  .hero-media{background-position:58% 45% !important;}
  .hero-parallax .hero-char{height:60% !important;opacity:.92 !important;}
  .hero-parallax .hero-char-left{left:-15% !important;}
  .hero-parallax .hero-char-right{right:-18% !important;height:62% !important;}
}
@media(prefers-reduced-motion:reduce){
  .hero{--bg-x:0px;--bg-y:0px;--bg-scale:1.04;}
}


/* FINAL v13: animated bg blur, opposing character scale pulse, denser fog. */
.hero{
  --bg-x:0px;
  --bg-y:0px;
  --bg-scale:1.06;
  --bg-blur:0px;
  --left-scale:1;
  --right-scale:1;
  --left-y:0px;
  --right-y:0px;
}
.hero-media{
  position:absolute !important;
  inset:-6% !important;
  z-index:1 !important;
  background:url("hero.webp") center 48%/cover no-repeat !important;
  transform:translate3d(var(--bg-x),var(--bg-y),0) scale(var(--bg-scale)) !important;
  transform-origin:center center !important;
  will-change:transform, filter !important;
  filter:blur(var(--bg-blur)) saturate(1.03) !important;
  animation:none !important;
}
.hero-shade{z-index:2 !important;}
.hero-fog3d{z-index:3 !important;opacity:.90 !important;mix-blend-mode:screen !important;}
.hero-parallax{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.hero-parallax .hero-char{
  position:absolute !important;
  bottom:0 !important;
  height:74% !important;
  width:auto !important;
  inset:auto !important;
  display:block !important;
  object-fit:contain !important;
  user-select:none !important;
  pointer-events:none !important;
  filter:none !important;
  transform-origin:50% 100% !important;
  will-change:transform !important;
}
.hero-parallax .hero-char-left{
  left:-4% !important;
  transform:translate3d(0,var(--left-y),0) scale(var(--left-scale)) !important;
}
.hero-parallax .hero-char-right{
  right:-7% !important;
  height:76% !important;
  transform:translate3d(0,var(--right-y),0) scale(var(--right-scale)) !important;
}
.hero-inner{z-index:5 !important;}
@media(max-width:760px){
  .hero-media{background-position:58% 45% !important; inset:-9% !important;}
  .hero-parallax .hero-char-left{left:-20% !important;height:58% !important;}
  .hero-parallax .hero-char-right{right:-24% !important;height:60% !important;}
}
@media(prefers-reduced-motion:reduce){
  .hero-media{filter:none !important;}
  .hero-parallax .hero-char-left,.hero-parallax .hero-char-right{transform:none !important;}
}


/* FINAL v15: uncut figure overlay */
/* Let the character overlay breathe beyond the hero crop so nothing important gets cut off. */
.hero{overflow:visible !important;}
.hero-media,.hero-shade,.hero-fog3d{overflow:hidden !important;}
.hero-parallax{
  inset:-6% -2.5% -2% -2.5% !important;
  overflow:visible !important;
  z-index:4 !important;
}
.hero-parallax .hero-char{
  bottom:-1.5% !important;
  top:auto !important;
  height:84% !important;
  width:auto !important;
  max-width:none !important;
}
.hero-parallax .hero-char-left{
  left:-3.5% !important;
}
.hero-parallax .hero-char-right{
  right:-5.5% !important;
  height:86% !important;
}
.hero-inner{z-index:5 !important;}
@media(max-width:1100px){
  .hero-parallax{inset:-5% -2% -1% -2% !important;}
  .hero-parallax .hero-char{height:78% !important;}
  .hero-parallax .hero-char-right{height:80% !important;right:-7% !important;}
  .hero-parallax .hero-char-left{left:-6% !important;}
}
@media(max-width:760px){
  .hero{overflow:hidden !important;}
  .hero-parallax{inset:0 !important;overflow:hidden !important;}
  .hero-parallax .hero-char{height:61% !important;bottom:0 !important;}
  .hero-parallax .hero-char-left{left:-18% !important;}
  .hero-parallax .hero-char-right{right:-22% !important;height:63% !important;}
}


/* FINAL v16: taller hero so figures fit without covering next section */
/* Keep the strong full-frame look, but reserve more vertical room so the figures
   are not cut off at the bottom and do not overlap the next section text. */
.hero{
  min-height:calc(100svh + 120px) !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
.hero-inner{
  padding:150px 0 150px !important;
}
.hero-parallax{
  inset:-5% -2.5% 0 -2.5% !important;
  overflow:hidden !important;
}
.hero-parallax .hero-char{
  bottom:0 !important;
  height:82% !important;
}
.hero-parallax .hero-char-left{
  left:-3.5% !important;
}
.hero-parallax .hero-char-right{
  right:-5.5% !important;
  height:84% !important;
}
.countdown-band{
  position:relative;
  z-index:8;
}
@media(max-width:1100px){
  .hero{min-height:calc(100svh + 80px) !important;}
  .hero-inner{padding:138px 0 122px !important;}
  .hero-parallax .hero-char{height:76% !important;}
  .hero-parallax .hero-char-right{height:78% !important;right:-7% !important;}
  .hero-parallax .hero-char-left{left:-7% !important;}
}
@media(max-width:760px){
  .hero{min-height:100svh !important;}
  .hero-inner{padding:122px 0 96px !important;}
  .hero-parallax{inset:0 !important;}
  .hero-parallax .hero-char{height:60% !important;}
  .hero-parallax .hero-char-left{left:-18% !important;}
  .hero-parallax .hero-char-right{right:-22% !important;height:62% !important;}
}


/* FINAL v17: full uncut character overlays with protected bottom safe-zone */
.hero{
  min-height:max(100svh,1080px) !important;
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
.hero-media{
  inset:-7% !important;
  z-index:1 !important;
}
.hero-shade{z-index:2 !important;}
.hero-fog3d{z-index:3 !important;}
.hero-parallax{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.hero-parallax .hero-char{
  position:absolute !important;
  top:auto !important;
  bottom:72px !important;
  width:auto !important;
  max-width:none !important;
  height:86% !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform-origin:50% 100% !important;
  filter:none !important;
  opacity:1 !important;
  pointer-events:none !important;
  user-select:none !important;
  will-change:transform !important;
}
.hero-parallax .hero-char-left{
  left:-2.5% !important;
}
.hero-parallax .hero-char-right{
  right:-4% !important;
  height:88% !important;
}
.hero-inner{
  z-index:5 !important;
  padding-top:150px !important;
  padding-bottom:190px !important;
}
.countdown-band{
  position:relative !important;
  z-index:20 !important;
  margin-top:0 !important;
}
@media(max-width:1200px){
  .hero{min-height:max(100svh,980px) !important;}
  .hero-parallax .hero-char{height:78% !important;bottom:68px !important;}
  .hero-parallax .hero-char-left{left:-7% !important;}
  .hero-parallax .hero-char-right{right:-8% !important;height:80% !important;}
  .hero-inner{padding-bottom:160px !important;}
}
@media(max-width:760px){
  .hero{min-height:930px !important;overflow:hidden !important;}
  .hero-parallax{overflow:hidden !important;}
  .hero-parallax .hero-char{height:57% !important;bottom:54px !important;}
  .hero-parallax .hero-char-left{left:-20% !important;}
  .hero-parallax .hero-char-right{right:-23% !important;height:59% !important;}
  .hero-inner{padding-bottom:120px !important;}
}


/* FINAL v18: smaller figures and direct countdown join */
/* Keep the cinematic full-screen hero, but make both characters smaller and
   finish the hero cleanly so the 31. Oktober countdown attaches immediately. */
.hero{
  min-height:max(100svh,820px) !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
}
.hero-inner{
  padding-top:138px !important;
  padding-bottom:76px !important;
}
.hero-parallax{
  inset:0 !important;
  overflow:hidden !important;
}
.hero-parallax .hero-char{
  bottom:0 !important;
  height:69% !important;
  width:auto !important;
  max-width:none !important;
}
.hero-parallax .hero-char-left{
  left:-7% !important;
}
.hero-parallax .hero-char-right{
  right:-8% !important;
  height:71% !important;
}
.countdown-band{
  position:relative !important;
  z-index:20 !important;
  margin-top:0 !important;
  transform:none !important;
}
@media(max-width:1200px){
  .hero{min-height:max(100svh,780px) !important;}
  .hero-inner{padding-top:128px !important;padding-bottom:70px !important;}
  .hero-parallax .hero-char{height:63% !important;}
  .hero-parallax .hero-char-left{left:-10% !important;}
  .hero-parallax .hero-char-right{right:-11% !important;height:65% !important;}
}
@media(max-width:760px){
  .hero{min-height:860px !important;}
  .hero-inner{padding-top:110px !important;padding-bottom:68px !important;}
  .hero-parallax .hero-char{height:47% !important;bottom:0 !important;}
  .hero-parallax .hero-char-left{left:-22% !important;}
  .hero-parallax .hero-char-right{right:-25% !important;height:49% !important;}
}


/* FINAL v20: Fratzensaal story block with scroll flicker */
.fratzen-spot{position:relative;padding:118px 0;overflow:hidden;background:#040302;isolation:isolate;min-height:760px}
.fratzen-bg{position:absolute;inset:0;background:url('fratzensaal.png') center center/cover no-repeat;opacity:.52;transform:scale(1.04);filter:saturate(.92) contrast(1.08) brightness(.88);transition:opacity .6s ease,filter .45s ease,transform 2.8s ease}
.fratzen-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,3,2,.72) 0%,rgba(4,3,2,.34) 40%,rgba(4,3,2,.60) 100%),linear-gradient(to bottom,rgba(7,6,5,.90) 0%,rgba(7,6,5,.18) 22%,rgba(7,6,5,.18) 78%,rgba(7,6,5,.90) 100%);z-index:1}
.fratzen-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .75fr;gap:42px;align-items:end}
.fratzen-copy{max-width:760px;padding:28px 30px;border-radius:26px;background:linear-gradient(180deg,rgba(12,8,6,.62),rgba(12,8,6,.42));backdrop-filter:blur(4px)}
.fratzen-copy p:not(.overline){color:#c9b9a8;font-size:1.04rem;max-width:680px}
.fratzen-copy p + p{margin-top:16px}
.fratzen-card{padding:30px 28px;border-radius:26px;border:1px solid rgba(220,166,80,.26);background:linear-gradient(180deg,rgba(20,12,9,.85),rgba(8,6,4,.94));backdrop-filter:blur(6px);box-shadow:var(--shadow)}
.fratzen-card .tag{display:inline-block;margin-bottom:14px;border:1px solid rgba(220,166,80,.45);padding:6px 10px;border-radius:999px;color:var(--gold2);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.fratzen-card h3{margin:0 0 12px;font:700 1.65rem Georgia,serif;color:#f2ddbd}
.fratzen-card p{margin:0 0 16px;color:#c4b4a2}
.fratzen-card ul{margin:0;padding-left:18px;color:#dcc9b0;display:grid;gap:10px}
.fratzen-card li::marker{color:var(--gold2)}
.fratzen-spot.in-view .fratzen-bg{animation:fratzenFlicker 3.8s linear infinite, fratzenBreath 14s ease-in-out infinite}
.fratzen-spot.in-view .fratzen-card{animation:fratzenCardGlow 5s ease-in-out infinite}
@keyframes fratzenBreath{0%,100%{transform:scale(1.04)}50%{transform:scale(1.08)}}
@keyframes fratzenFlicker{
  0%,8%,10%,31%,33%,58%,60%,100%{opacity:.52;filter:saturate(.92) contrast(1.08) brightness(.88)}
  9%{opacity:.66;filter:saturate(1.02) contrast(1.16) brightness(1.02)}
  32%{opacity:.60;filter:saturate(1.02) contrast(1.18) brightness(.98)}
  59%{opacity:.72;filter:saturate(1.08) contrast(1.22) brightness(1.08)}
  61%{opacity:.40;filter:saturate(.82) contrast(1.04) brightness(.70)}
  62%{opacity:.62;filter:saturate(1.04) contrast(1.18) brightness(1.0)}
}
@keyframes fratzenCardGlow{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 0 1px rgba(220,166,80,.08),0 0 30px rgba(225,126,60,.1)}}
@media(max-width:1050px){.fratzen-inner{grid-template-columns:1fr;gap:24px}.fratzen-copy p:not(.overline){max-width:none}}
@media(max-width:760px){.fratzen-spot{padding:88px 0;min-height:620px}.fratzen-bg{background-position:60% center;opacity:.44}.fratzen-copy{padding:22px 20px}.fratzen-copy p:not(.overline){font-size:.98rem}.fratzen-card{padding:24px 22px}}


/* FINAL v22: Pestkrankenhaus story block */
.pest-spot{position:relative;padding:118px 0;overflow:hidden;background:#050302;isolation:isolate;min-height:760px}
.pest-bg{position:absolute;inset:0;background:url('pestkrankenhaus.png') center center/cover no-repeat;opacity:.56;transform:scale(1.04);filter:saturate(.95) contrast(1.04) brightness(.82);transition:opacity .6s ease,filter .45s ease,transform 2.8s ease}
.pest-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,3,2,.70) 0%,rgba(5,3,2,.28) 44%,rgba(5,3,2,.62) 100%),linear-gradient(to bottom,rgba(8,6,5,.86) 0%,rgba(8,6,5,.18) 20%,rgba(8,6,5,.18) 80%,rgba(8,6,5,.90) 100%);z-index:1}
.pest-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .75fr;gap:42px;align-items:end}
.pest-copy{max-width:760px;padding:28px 30px;border-radius:26px;background:linear-gradient(180deg,rgba(12,8,6,.58),rgba(12,8,6,.40));backdrop-filter:blur(4px)}
.pest-copy p:not(.overline){color:#cfbca8;font-size:1.04rem;max-width:690px}
.pest-copy p + p{margin-top:16px}
.pest-copy em{color:#f2ddbd;font-style:italic}
.pest-card{padding:30px 28px;border-radius:26px;border:1px solid rgba(220,166,80,.26);background:linear-gradient(180deg,rgba(20,12,9,.85),rgba(8,6,4,.94));backdrop-filter:blur(6px);box-shadow:var(--shadow)}
.pest-card .tag{display:inline-block;margin-bottom:14px;border:1px solid rgba(220,166,80,.45);padding:6px 10px;border-radius:999px;color:var(--gold2);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.pest-card h3{margin:0 0 12px;font:700 1.65rem Georgia,serif;color:#f2ddbd}
.pest-card p{margin:0 0 16px;color:#c4b4a2}
.pest-card ul{margin:0;padding-left:18px;color:#dcc9b0;display:grid;gap:10px}
.pest-card li::marker{color:var(--gold2)}
.pest-spot.in-view .pest-bg{animation:pestFlicker 4.8s linear infinite,pestBreath 15s ease-in-out infinite}
.pest-spot.in-view .pest-card{animation:pestCardGlow 6s ease-in-out infinite}
@keyframes pestBreath{0%,100%{transform:scale(1.04)}50%{transform:scale(1.075)}}
@keyframes pestFlicker{
  0%,16%,19%,38%,42%,74%,78%,100%{opacity:.56;filter:saturate(.95) contrast(1.04) brightness(.82)}
  17%{opacity:.66;filter:saturate(1.02) contrast(1.10) brightness(.94)}
  39%{opacity:.62;filter:saturate(1.03) contrast(1.12) brightness(.98)}
  75%{opacity:.70;filter:saturate(1.06) contrast(1.14) brightness(1.02)}
}
@keyframes pestCardGlow{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 0 1px rgba(220,166,80,.08),0 0 30px rgba(255,180,70,.10)}}
@media(max-width:1050px){.pest-inner{grid-template-columns:1fr;gap:24px}.pest-copy p:not(.overline){max-width:none}}
@media(max-width:760px){.pest-spot{padding:88px 0;min-height:620px}.pest-bg{background-position:62% center;opacity:.48}.pest-copy{padding:22px 20px}.pest-copy p:not(.overline){font-size:.98rem}.pest-card{padding:24px 22px}}


/* FINAL v23: sermon block */
.sermon-spot{position:relative;padding:110px 0;background:#050302;overflow:hidden;isolation:isolate}
.sermon-bg{position:absolute;inset:0;background:url('pestkrankenhaus.png') center center/cover no-repeat;opacity:.24;filter:blur(2px) saturate(.8) brightness(.55);transform:scale(1.06)}
.sermon-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(192,126,52,.12),transparent 38%),linear-gradient(180deg,rgba(7,5,4,.94),rgba(7,5,4,.82) 18%,rgba(7,5,4,.86) 82%,rgba(7,5,4,.96));z-index:1}
.sermon-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .65fr;gap:36px;align-items:start}
.sermon-copy{padding:34px 36px;border-radius:28px;border:1px solid rgba(214,167,92,.18);background:linear-gradient(180deg,rgba(19,11,8,.82),rgba(10,7,5,.76));box-shadow:var(--shadow)}
.sermon-copy .sermon-lead{font-size:1.16rem;color:#eed8b7;line-height:1.75}
.sermon-copy p:not(.overline){color:#d1bdab;font-size:1.02rem;line-height:1.8;max-width:840px}
.sermon-copy p + p{margin-top:16px}
.sermon-copy strong{color:#f0dcbf}
.sermon-card{padding:28px 26px;border-radius:26px;border:1px solid rgba(220,166,80,.26);background:linear-gradient(180deg,rgba(22,13,10,.88),rgba(8,6,4,.96));backdrop-filter:blur(6px);box-shadow:var(--shadow)}
.sermon-card .tag{display:inline-block;margin-bottom:14px;border:1px solid rgba(220,166,80,.45);padding:6px 10px;border-radius:999px;color:var(--gold2);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.sermon-card h3{margin:0 0 12px;font:700 1.65rem Georgia,serif;color:#f2ddbd}
.sermon-card p{margin:0 0 16px;color:#c4b4a2}
.sermon-card ul{margin:0;padding-left:18px;color:#dcc9b0;display:grid;gap:10px}
.sermon-card li::marker{color:var(--gold2)}
.sermon-spot.in-view .sermon-copy{animation:sermonGlow 6s ease-in-out infinite}
@keyframes sermonGlow{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:0 26px 80px rgba(0,0,0,.55),0 0 0 1px rgba(220,166,80,.08),0 0 28px rgba(185,74,36,.12)}}
@media(max-width:1050px){.sermon-inner{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.sermon-spot{padding:84px 0}.sermon-copy{padding:24px 22px}.sermon-copy .sermon-lead{font-size:1.06rem}.sermon-copy p:not(.overline){font-size:.98rem}.sermon-card{padding:24px 22px}}


/* FINAL v24: Friedhof block */
.friedhof-spot{position:relative;padding:118px 0;overflow:hidden;background:#040302;isolation:isolate;min-height:760px}
.friedhof-bg{position:absolute;inset:0;background:url('friedhof.png') center center/cover no-repeat;opacity:.56;transform:scale(1.04);filter:saturate(.94) contrast(1.06) brightness(.78);transition:opacity .6s ease,filter .45s ease,transform 2.8s ease}
.friedhof-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,3,2,.74) 0%,rgba(4,3,2,.34) 42%,rgba(4,3,2,.62) 100%),linear-gradient(to bottom,rgba(8,7,6,.90) 0%,rgba(8,7,6,.18) 22%,rgba(8,7,6,.18) 78%,rgba(8,7,6,.92) 100%);z-index:1}
.friedhof-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .75fr;gap:42px;align-items:end}
.friedhof-copy{max-width:760px;padding:28px 30px;border-radius:26px;background:linear-gradient(180deg,rgba(12,8,6,.60),rgba(12,8,6,.40));backdrop-filter:blur(4px)}
.friedhof-copy p:not(.overline){color:#d1bdab;font-size:1.04rem;max-width:690px}
.friedhof-copy p + p{margin-top:16px}
.friedhof-card{padding:30px 28px;border-radius:26px;border:1px solid rgba(220,166,80,.26);background:linear-gradient(180deg,rgba(20,12,9,.85),rgba(8,6,4,.94));backdrop-filter:blur(6px);box-shadow:var(--shadow)}
.friedhof-card .tag{display:inline-block;margin-bottom:14px;border:1px solid rgba(220,166,80,.45);padding:6px 10px;border-radius:999px;color:var(--gold2);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.friedhof-card h3{margin:0 0 12px;font:700 1.65rem Georgia,serif;color:#f2ddbd}
.friedhof-card p{margin:0 0 16px;color:#c4b4a2}
.friedhof-card ul{margin:0;padding-left:18px;color:#dcc9b0;display:grid;gap:10px}
.friedhof-card li::marker{color:var(--gold2)}
.friedhof-spot.in-view .friedhof-bg{animation:friedhofBreath 13s ease-in-out infinite, friedhofFlicker 5s linear infinite}
.friedhof-spot.in-view .friedhof-card{animation:friedhofCardGlow 6s ease-in-out infinite}
@keyframes friedhofBreath{0%,100%{transform:scale(1.04)}50%{transform:scale(1.08)}}
@keyframes friedhofFlicker{0%,14%,18%,42%,45%,80%,84%,100%{opacity:.56;filter:saturate(.94) contrast(1.06) brightness(.78)}15%{opacity:.62;filter:saturate(1.0) contrast(1.12) brightness(.90)}43%{opacity:.66;filter:saturate(1.04) contrast(1.14) brightness(.96)}81%{opacity:.60;filter:saturate(.98) contrast(1.10) brightness(.86)}}
@keyframes friedhofCardGlow{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 0 1px rgba(220,166,80,.08),0 0 28px rgba(104,142,190,.10)}}
@media(max-width:1050px){.friedhof-inner{grid-template-columns:1fr;gap:24px}.friedhof-copy p:not(.overline){max-width:none}}
@media(max-width:760px){.friedhof-spot{padding:88px 0;min-height:620px}.friedhof-bg{background-position:58% center;opacity:.48}.friedhof-copy{padding:22px 20px}.friedhof-copy p:not(.overline){font-size:.98rem}.friedhof-card{padding:24px 22px}}


/* FINAL v25: single-column parallax story sections */
.story-parallax{position:relative;padding:0 !important;min-height:128svh;overflow:hidden;isolation:isolate;background:#040302}
.story-parallax .friedhof-bg,
.story-parallax .pest-bg,
.story-parallax .fratzen-bg,
.story-parallax .sermon-bg{
  transform:translate3d(0,var(--story-bg-y,0px),0) scale(var(--story-bg-scale,1.08)) !important;
  transform-origin:center center;
  will-change:transform,opacity,filter;
}
.story-parallax .wrap{
  position:relative;z-index:2;display:flex !important;align-items:flex-end;justify-content:flex-start;
  min-height:128svh;padding-top:54svh;padding-bottom:11svh;gap:0 !important;
}
.story-parallax .friedhof-copy,
.story-parallax .pest-copy,
.story-parallax .fratzen-copy,
.story-parallax .sermon-copy{
  width:min(100%,820px);max-width:820px;margin:0;
  opacity:var(--story-copy-opacity,0);
  transform:translate3d(0,var(--story-copy-y,68px),0);
  transition:opacity .42s ease,transform .6s cubic-bezier(.22,.61,.36,1);
}
.story-parallax.in-view .friedhof-copy,
.story-parallax.in-view .pest-copy,
.story-parallax.in-view .fratzen-copy,
.story-parallax.in-view .sermon-copy{
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.story-parallax .friedhof-copy p:not(.overline),
.story-parallax .pest-copy p:not(.overline),
.story-parallax .fratzen-copy p:not(.overline),
.story-parallax .sermon-copy p:not(.overline){max-width:760px}
.story-parallax + .story-parallax{margin-top:0}
.story-parallax .overline{margin-bottom:12px}
.story-parallax h2{margin-bottom:18px}
.story-parallax::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:1;
  background:linear-gradient(to bottom,rgba(4,3,2,0),rgba(4,3,2,.92));pointer-events:none;
}
@media(max-width:1050px){
  .story-parallax,.story-parallax .wrap{min-height:118svh}
  .story-parallax .wrap{padding-top:48svh;padding-bottom:10svh}
}
@media(max-width:760px){
  .story-parallax,.story-parallax .wrap{min-height:105svh}
  .story-parallax .wrap{padding-top:42svh;padding-bottom:9svh}
  .story-parallax .friedhof-copy,
  .story-parallax .pest-copy,
  .story-parallax .fratzen-copy,
  .story-parallax .sermon-copy{width:100%}
}


/* FINAL v26: dropdown navigation + scrollspy */
.navlinks{align-items:center}
.navlinks .nav-link,
.nav-group-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  background:none;
  color:#dfd1bf;
  padding:10px 0;
  cursor:pointer;
  font:inherit;
  transition:color .2s ease;
}
.navlinks .nav-link:after,
.nav-group-toggle:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:2px;
  height:1px;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  transition:right .25s ease;
}
.navlinks .nav-link:hover:after,
.navlinks .nav-link.active:after,
.nav-group-toggle:hover:after,
.nav-group.active .nav-group-toggle:after{right:0}
.navlinks .nav-link.active,
.nav-group.active .nav-group-toggle{
  color:var(--gold2);
  text-shadow:0 0 18px rgba(220,166,80,.24);
}
.nav-group{position:relative}
.nav-group-toggle span{font-size:.75em;transition:transform .2s ease}
.nav-group.open .nav-group-toggle span{transform:rotate(180deg)}
.nav-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  width:285px;
  transform:translate(-50%,8px);
  padding:10px;
  border:1px solid rgba(220,166,80,.24);
  border-radius:16px;
  background:rgba(8,6,5,.96);
  box-shadow:0 20px 55px rgba(0,0,0,.48);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.nav-group.open .nav-dropdown,
.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-dropdown .nav-link{
  display:flex;
  width:100%;
  padding:11px 12px;
  border-radius:10px;
  color:#cbbba7;
  font-size:.88rem;
}
.nav-dropdown .nav-link:after{display:none}
.nav-dropdown .nav-link:hover,
.nav-dropdown .nav-link.active{
  color:var(--gold2);
  background:linear-gradient(90deg,rgba(220,166,80,.14),rgba(220,166,80,.04));
}
.nav-dropdown .nav-link.active:before{
  content:"";
  width:5px;
  height:5px;
  margin-right:9px;
  align-self:center;
  border-radius:50%;
  background:var(--gold2);
  box-shadow:0 0 12px rgba(255,215,151,.5);
}
@media(max-width:1050px){
  .navlinks{
    display:flex !important;
    position:fixed;
    left:14px;
    right:14px;
    top:68px;
    gap:4px;
    padding:8px;
    overflow-x:auto;
    border:1px solid rgba(220,166,80,.18);
    border-radius:14px;
    background:rgba(7,6,5,.94);
    backdrop-filter:blur(10px);
    scrollbar-width:none;
  }
  .navlinks::-webkit-scrollbar{display:none}
  .navlinks > .nav-link,
  .nav-group-toggle{white-space:nowrap;padding:8px 10px;border-radius:9px}
  .navlinks .nav-link:after,
  .nav-group-toggle:after{display:none}
  .navlinks > .nav-link.active,
  .nav-group.active .nav-group-toggle{background:rgba(220,166,80,.12)}
  .nav-dropdown{
    position:fixed;
    left:14px;
    right:14px;
    top:118px;
    width:auto;
    transform:translateY(8px);
  }
  .nav-group.open .nav-dropdown,
  .nav-group:hover .nav-dropdown,
  .nav-group:focus-within .nav-dropdown{transform:none}
}


/* FINAL v27: Little Booo nav */
.little-nav{color:#f2d6a8 !important}
.little-nav.active{color:#ffd797 !important;text-shadow:0 0 18px rgba(255,215,151,.3)}
.hero-fact-link{display:block;color:inherit;text-decoration:none}
.hero-fact-link div{transition:transform .2s ease,opacity .2s ease}
.hero-fact-link:hover div{transform:translateY(-2px);opacity:.92}
#little-booo{scroll-margin-top:140px}


/* FINAL v28: little booo spotlight */
.little-booo-spot{position:relative;overflow:hidden;background:#0a0908;padding:110px 0;isolation:isolate}
.little-booo-bg{position:absolute;inset:0;background:url('little-booo-room.png') center center/cover no-repeat;transform:scale(1.05);filter:saturate(1.02) contrast(1.04) brightness(.72);opacity:.9;will-change:transform}
.little-booo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,5,.82) 0%,rgba(8,6,5,.40) 48%,rgba(8,6,5,.72) 100%),linear-gradient(to bottom,rgba(7,6,5,.80) 0%,rgba(7,6,5,.10) 28%,rgba(7,6,5,.16) 72%,rgba(7,6,5,.84) 100%)}
.little-booo-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:620px}
.little-booo-copy{max-width:760px;padding:34px 34px 30px;border-radius:28px;background:linear-gradient(180deg,rgba(17,11,8,.58),rgba(12,8,6,.44));backdrop-filter:blur(6px);box-shadow:0 22px 70px rgba(0,0,0,.35)}
.little-booo-copy h2 span{color:#ffdba6}
.little-booo-copy p:not(.overline){color:#e0cfbf;max-width:700px}
.little-booo-copy p + p{margin-top:14px}
.little-booo-pills{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}
.little-booo-pills span{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,220,166,.09);border:1px solid rgba(255,220,166,.22);color:#ffe5bd;font-size:.92rem;font-weight:700}
.little-booo-actions{margin-top:0}
.little-booo-spot::after{content:"";position:absolute;inset:auto 0 0 0;height:140px;background:linear-gradient(to bottom,rgba(8,6,5,0),rgba(8,6,5,.92));pointer-events:none}
.little-booo-spot.in-view .little-booo-bg{animation:littleBoooFloat 18s ease-in-out infinite}
@keyframes littleBoooFloat{0%,100%{transform:scale(1.05) translate3d(0,0,0)}50%{transform:scale(1.09) translate3d(-10px,-8px,0)}}
@media(max-width:980px){.little-booo-inner{min-height:560px}.little-booo-copy{max-width:100%;padding:28px 24px 24px}}
@media(max-width:760px){.little-booo-spot{padding:86px 0}.little-booo-bg{background-position:72% center;filter:saturate(1.02) contrast(1.02) brightness(.58)}.little-booo-inner{min-height:500px;align-items:flex-end}.little-booo-copy{padding:24px 20px 22px;border-radius:24px}.little-booo-pills span{font-size:.84rem;padding:9px 12px}}


/* FINAL v28: little booo story-parallax block */
.little-booo-spot{position:relative;padding:0 !important;min-height:118svh;overflow:hidden;isolation:isolate;background:#120b09}
.little-booo-spot .little-booo-bg{
  position:absolute;inset:0;
  background-image:url('little-booo-bg.png');
  background-size:cover;background-position:center center;background-repeat:no-repeat;
  transform:translate3d(0,var(--story-bg-y,0px),0) scale(var(--story-bg-scale,1.08));
  transform-origin:center center;will-change:transform,filter;
}
.little-booo-spot .little-booo-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,4,3,.30),rgba(7,4,3,.46) 35%,rgba(7,4,3,.68) 65%,rgba(7,4,3,.92) 100%)}
.little-booo-spot .little-booo-inner{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:flex-start;min-height:118svh;padding-top:52svh;padding-bottom:10svh}
.little-booo-spot .little-booo-copy{
  width:min(100%,860px);max-width:860px;opacity:var(--story-copy-opacity,0);transform:translate3d(0,var(--story-copy-y,68px),0);
  transition:opacity .42s ease,transform .6s cubic-bezier(.22,.61,.36,1);
  background:linear-gradient(180deg,rgba(11,8,7,.30),rgba(11,8,7,.54));
  border:1px solid rgba(237,170,96,.18);border-radius:28px;padding:34px 34px 28px;backdrop-filter:blur(6px);
  box-shadow:0 20px 60px rgba(0,0,0,.24);
}
.little-booo-spot .little-booo-copy p:not(.overline){max-width:760px}
.little-booo-spot .little-booo-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.little-booo-spot .little-booo-pills span{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(237,170,96,.22);background:rgba(18,12,10,.42);color:#f1e4d1;font-size:.95rem}
.little-booo-spot .little-booo-actions{margin-top:22px}
.little-booo-spot::after{content:'';position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(to bottom,rgba(4,3,2,0),rgba(4,3,2,.92));pointer-events:none;z-index:1}
@media(max-width:1050px){
  .little-booo-spot,.little-booo-spot .little-booo-inner{min-height:108svh}
  .little-booo-spot .little-booo-inner{padding-top:46svh;padding-bottom:9svh}
}
@media(max-width:760px){
  .little-booo-spot,.little-booo-spot .little-booo-inner{min-height:100svh}
  .little-booo-spot .little-booo-inner{padding-top:40svh;padding-bottom:8svh}
  .little-booo-spot .little-booo-copy{padding:24px 18px 22px;border-radius:22px}
  .little-booo-spot .little-booo-pills span{font-size:.88rem}
}

/* FINAL v29: local legal pages */
.legal-topbar{background:rgba(6,5,4,.95)}
.legal{padding:130px 0 80px;min-height:100vh;background:radial-gradient(circle at 50% 0,rgba(139,42,12,.10),transparent 30%),#070605}
.legal .paper{max-width:940px;margin:0 auto;padding:46px 48px;border:1px solid rgba(220,166,80,.22);border-radius:28px;background:linear-gradient(180deg,rgba(27,18,12,.94),rgba(10,8,6,.98));box-shadow:0 30px 80px rgba(0,0,0,.42)}
.legal .paper h1{margin:0 0 32px;font:800 clamp(2.6rem,6vw,4.8rem)/.96 Georgia,"Times New Roman",serif;color:var(--gold2);letter-spacing:-.025em}
.legal .paper h2{margin:34px 0 10px;font:700 1.35rem/1.2 Georgia,"Times New Roman",serif;color:#f0ddc3}
.legal .paper p,.legal .paper li{color:#c5b7a6;line-height:1.75}
.legal .paper a{color:var(--gold2);text-decoration:underline;text-decoration-color:rgba(220,166,80,.35);text-underline-offset:3px}
.legal .paper .back{display:inline-flex;margin-bottom:26px;text-decoration:none;font-weight:800;color:var(--gold2)}
.legal .legal-date{margin-top:42px;padding-top:18px;border-top:1px solid rgba(220,166,80,.16);font-size:.88rem;color:#887d70}
@media(max-width:760px){.legal{padding:105px 0 55px}.legal .paper{padding:30px 22px;border-radius:20px}.legal .paper h2{margin-top:28px}}
