@charset "UTF-8";
:root{--ink:#0c100e;--forest:#17241c;--paper:#efe9dc;--muted:#b4b9af;--red:#ca362e;--gold:#bcaa7d;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.65 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.06}h2{font:clamp(2.7rem,6vw,5.5rem)/1.08 var(--serif);letter-spacing:-.045em}h3{font:1.8rem/1.2 var(--serif)}em{font-weight:400}p+p{margin-top:1rem}button{border:0}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:3px solid var(--gold);outline-offset:6px}[hidden]{display:none!important}.wrap{max-width:1240px;margin:auto;padding:6rem 3rem}.eyebrow,.section-label,.party-top,.edition{font: .75rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}.eyebrow{display:block;margin-bottom:1.4rem}.quiet,small{font-size:.875rem;color:var(--muted)}.button{min-height:52px;padding:1rem 1.5rem;background:var(--forest);color:var(--paper);font-size:.9rem;font-weight:600;display:inline-flex;gap:3rem;align-items:center;justify-content:center;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:#2d4234}.paper-button{background:var(--paper);color:var(--ink)}.paper-button:hover{background:#fff9ed}.outline{background:transparent;border-color:#637064}.text-button{color:inherit;background:none;padding:.75rem 0;text-decoration:underline;text-underline-offset:5px;font-size:.875rem}.skip{position:fixed;top:-100px;left:1rem;z-index:100;background:var(--paper);color:var(--ink);padding:1rem}.skip:focus{top:1rem}.masthead{position:absolute;z-index:3;top:0;width:100%;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.masthead a{text-decoration:none}.masthead>a:first-child{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.06em}.opening{min-height:850px;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7rem 1.5rem 3rem;background:radial-gradient(ellipse at 50% 38%,#2b352b 0,#121914 35%,#080b09 72%);overflow:hidden}.book-stage{perspective:1500px;margin-bottom:3rem}.book{position:relative;width:300px;height:410px;transform:rotate(-7deg) rotateY(-12deg);transform-style:preserve-3d;transition:transform 1.1s}.book-pages{position:absolute;inset:5px -10px -5px 0;background:repeating-linear-gradient(90deg,#aaa799 0 1px,#e2ddcd 1px 3px);box-shadow:25px 40px 60px #0009;border-radius:2px 5px 5px 2px}.book-cover{position:absolute;inset:0;background:linear-gradient(100deg,#0c1610,#1e3022 7%,#18271c 10%,#223127 90%,#17251c);border:1px solid #495441;box-shadow:inset 6px 0 8px #0009;padding:2.8rem 2rem;text-align:center;transform-origin:left center;transition:transform 1.2s;backface-visibility:hidden}.edition{font-size:.6rem;color:#c4cbbb}.book h1{font:3.3rem/.98 var(--serif);letter-spacing:-.055em;margin:2rem 0 1.5rem}.cover-line{display:block;background:#8b9580;width:30px;height:1px;margin:0 auto 1.3rem}.book p{font:1rem/1.4 var(--serif)}.book .cover-date{font:.58rem/1.7 var(--sans);letter-spacing:.08em;margin-top:2rem}.book.open{transform:scale(1.12) rotate(0deg)}.book.open .book-cover{transform:rotateY(-125deg)}.opening>.quiet{margin-top:1rem;font-size:.75rem}.paper{background:var(--paper);color:#23271f}.story{padding:2rem 7vw 4rem}.section-label{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid currentColor;padding-top:1.25rem;opacity:.75}.story-intro{padding:8rem 0 6rem;max-width:1100px;margin:auto}.story-intro h2{font-size:clamp(6rem,19vw,16rem);line-height:.95}.story-intro p{font:clamp(2rem,5vw,4rem)/1.15 var(--serif);margin-top:2rem;margin-left:35%}.memories{display:grid;grid-template-columns:1fr 1fr;gap:7rem 8vw;max-width:1060px;margin:auto}.memory:nth-child(2){margin-top:12rem}.photo-frame{padding:12px 12px 40px;background:#faf6eb;box-shadow:0 10px 30px #242a1d18}.photo-frame img{width:100%;aspect-ratio:5/6}.tilt-left{transform:rotate(-4deg)}.tilt-right{transform:rotate(4deg)}figcaption{margin-top:2rem}figcaption>span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.memory h3{margin-top:.7rem}.memory.wide{grid-column:1/-1;width:78%;margin:0 auto}.wide img{aspect-ratio:8/5}.today{max-width:1100px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5rem;margin:9rem auto 5rem}.today img{aspect-ratio:6/7}.today p{margin-top:2rem}.page-number{text-align:center;font:1rem var(--serif)}.interlude{min-height:100svh;display:grid;place-items:center;padding:5rem 1.5rem;text-align:center;background:linear-gradient(#151b15,#050706 35%)}.interlude p{font:clamp(1.8rem,5vw,4rem)/1.2 var(--serif)}.interlude .next{margin-top:3rem;color:#c5cbbf}.interlude .with{font-size:clamp(5rem,13vw,11rem);margin-top:3rem;font-style:italic}.interlude .text-button{margin-top:3rem}.js .interlude:not(.playing) .next,.js .interlude:not(.playing) .with{opacity:0}.playing .next{animation:fade-in 1.3s 1.5s both}.playing .with{animation:fade-in .35s 4s both}.party{background:var(--red);color:#170d0b;padding:2rem 7vw 5rem;scroll-margin-top:0}.party-top{display:flex;justify-content:space-between;border-top:1px solid #170d0b80;padding-top:1.25rem}.party-heading{position:relative;max-width:1100px;margin:5rem auto}.party-heading .eyebrow{margin-bottom:0}.party h2{font:clamp(10rem,32vw,29rem)/.86 var(--serif);letter-spacing:-.09em}.party h2 span{color:var(--paper)}.party-heading>p{font:clamp(2.5rem,6vw,5.5rem)/1.05 var(--serif);position:absolute;bottom:6%;right:0;max-width:55%;letter-spacing:-.04em}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:auto;border-top:1px solid #170d0b60;padding:2.5rem 0}.event-grid .eyebrow{margin-bottom:1rem}.event-grid h3{font-size:2.3rem}.event-grid p{margin-top:1rem}.event-bottom{max-width:1100px;margin:auto;display:flex;justify-content:space-between;align-items:end;gap:2rem}.forest{padding:3rem 7vw 7rem;background:var(--forest)}.forest h2{margin:5rem 0}.forest-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.forest-grid figure:nth-child(2){margin-top:8rem}.forest-grid img{width:100%}.forest figcaption{font:1.2rem var(--serif);font-style:italic}.community{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.community h2{font-size:3.5rem}.community p{margin-top:1rem}.numbers{display:flex;gap:3rem;align-items:center}.numbers strong{font:6rem/1 var(--serif);color:var(--gold)}.numbers span{display:block;font-size:.875rem}.guest-placeholder{grid-column:1/-1;border-top:1px solid #3a463e;padding-top:2rem;color:var(--muted)}.countdown{border-top:1px solid #3a463e;text-align:center}.countdown h2{font-size:3rem}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:3rem 0;gap:1rem}.count-grid strong{display:block;font:clamp(2.5rem,7vw,6rem)/1.2 var(--serif);font-variant-numeric:tabular-nums}.count-grid span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.practical{border-top:1px solid #3a463e}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 5rem;margin:4rem 0}.info-grid article{border-top:1px solid #3a463e;padding-top:1.5rem}.info-grid article>span{color:var(--gold);font-size:.75rem}.info-grid h3{margin:1rem 0}.info-grid p{color:#bfc5ba}.info-grid small{display:block;margin-top:1rem}.faq{margin:5rem 0}.faq h3{margin-bottom:2rem}details{border-top:1px solid #3a463e;padding:1.2rem 0}summary{cursor:pointer;padding-right:1rem}details p{padding:1rem 1.5rem 0;color:#bfc5ba}.calendar{background:var(--forest);padding:2.5rem;display:flex;gap:2rem;align-items:center}.calendar>div{flex:1}.calendar p{margin:1rem 0;max-width:600px}.ending{text-align:center;background:radial-gradient(ellipse at 50% 35%,#202d21,#090d0a 75%);padding:5rem 1.5rem 7rem}.closing-book{width:85px;height:115px;border:1px solid #55604f;background:#1d2c20;box-shadow:5px 4px 0 #b7b6a2;margin:0 auto 4rem;display:grid;place-items:center;font-family:var(--serif);transform:rotate(7deg)}.ending h2{margin:1rem 0 2rem}.ending p{color:#c3cabe}.ending .button{margin-top:2rem}.footer-line{max-width:1100px;margin:6rem auto 0;border-top:1px solid #3a463e;padding-top:1.5rem;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.sticky-rsvp{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 2rem));padding:.75rem 1rem;background:#17241cf5;border:1px solid #52604c;box-shadow:0 10px 50px #0008;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:1rem}.sticky-rsvp>span{font:1.2rem var(--serif)}.sticky-rsvp small{display:block;font:.75rem/1.5 var(--sans);margin-top:.3rem}.sticky-rsvp .button{padding:.8rem 1.2rem;min-height:46px}.appear{transition:opacity .8s,translate .8s}.js .appear.pending{opacity:0;translate:0 30px}.noscript{padding:1rem;background:var(--paper);color:var(--ink)}
dialog{border:0;width:min(640px,calc(100% - 2rem));max-height:90svh;background:var(--paper);color:var(--ink);padding:3rem;color-scheme:light;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#030705d9;backdrop-filter:blur(7px)}body.modal-open{overflow:hidden}dialog h2{font-size:2.5rem;margin-bottom:1rem}dialog h3{font-size:2rem;margin-bottom:1.5rem}.close-dialog{position:absolute;top:.5rem;right:.75rem;width:44px;height:44px;background:none;font-size:2rem;color:var(--ink)}.demo-note{background:#dcded2;border-left:2px solid #59654a;padding:.75rem 1rem;font-size:.8rem;margin:1.5rem 0}#step-content label:not(.check),#step-content legend{display:block;font-weight:600;margin-bottom:.6rem}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #7c8374;background:#fcf9f0;color:var(--ink);border-radius:0;padding:.85rem;font-size:1rem}textarea{min-height:100px;resize:vertical}fieldset{border:0;padding:0;margin:1.5rem 0}fieldset legend{font-family:var(--serif);font-size:1.5rem;font-weight:400!important}.field{margin-bottom:1.3rem}.check{display:flex;gap:.8rem;align-items:flex-start;margin:1.2rem 0;font-size:.9rem}.check input{width:20px;height:20px;flex:none;accent-color:var(--forest);margin-top:3px}dialog small,dialog .quiet{color:#525c4d}#form-error{color:#98291f;font-size:.9rem;min-height:1.5em;margin:1rem 0}.form-actions{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #b3b7aa;padding-top:1.5rem}.food-note{padding:1.25rem;background:#dce1d4;margin:1rem 0;border-left:2px solid #657456}.food-note p{font-family:var(--serif);font-size:1.2rem}.food-note button{margin:.6rem .6rem 0 0}.food-note .button{padding:.6rem 1rem;min-height:44px}.summary-list{padding-left:1.2rem}.success-mark{font-size:3rem;color:#3b5635}.success-mark+p{margin-top:1rem}#success>.button{margin:1.5rem 0}#success>.text-button{margin-top:1rem}@keyframes fade-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:700px){.masthead{padding:1.2rem 1.4rem}.masthead>span{display:none}.opening{padding-top:6rem}.book{width:250px;height:350px}.book-cover{padding:2rem 1.5rem}.book h1{font-size:2.9rem;margin:1.5rem 0}.book .cover-date{margin-top:1.4rem}.story{padding:1.5rem 1.5rem 3rem}.section-label,.party-top{font-size:.65rem}.story-intro{padding:5rem 0}.story-intro p{margin-left:15%}.memories{gap:4rem;display:block}.memory{width:86%;margin:0 auto 4rem}.memory:nth-child(2){margin:5rem 0 4rem auto}.memory.wide{width:100%}.today{gap:2rem;grid-template-columns:1fr;margin:5rem 0 3rem}.today img{max-height:520px;width:100%}.today figcaption{margin-top:0}.today h2 br{display:none}.interlude .next{font-size:1.6rem}.party{padding:1.5rem 1.5rem 3rem}.party-top{flex-direction:column;gap:.5rem}.party-heading{margin:3rem 0}.party-heading>p{position:static;max-width:none;margin-top:1.5rem}.event-grid{grid-template-columns:1fr;gap:2rem}.event-grid h3{font-size:2rem}.event-bottom{display:block}.event-bottom .button{margin-top:2rem}.forest{padding:2rem 1.5rem 4rem}.forest h2{margin:3rem 0}.forest-grid{gap:3rem;grid-template-columns:1fr}.forest-grid figure:nth-child(2){margin:0}.forest-grid img{max-height:500px}.wrap{padding:4rem 1.5rem}.community{grid-template-columns:1fr;gap:2rem}.community h2{font-size:3rem}.numbers{justify-content:space-between}.numbers strong{font-size:5rem}.guest-placeholder{grid-column:auto}.countdown h2{font-size:2.6rem}.count-grid{gap:.5rem}.count-grid span{font-size:.625rem;letter-spacing:.04em}.info-grid{grid-template-columns:1fr;gap:2rem}.calendar{padding:1.5rem;display:block}.calendar .button{margin-top:1.5rem}.footer-line{flex-direction:column;gap:.5rem}.sticky-rsvp small{font-size:.65rem}.sticky-rsvp .button{font-size:.8rem}dialog{padding:2.5rem 1.5rem 1.5rem}dialog h2{font-size:2rem}}
.js .closing-book{transform:perspective(500px) rotateY(-70deg) rotate(7deg);transform-origin:left;transition:transform 1.8s}.js .closing-book.closed{transform:perspective(500px) rotateY(0) rotate(7deg)}
@media(max-width:700px){.memory:nth-child(2){margin:5rem auto 4rem}.memory{width:82%}.photo-frame img{min-width:0}.today,.memory,.forest-grid figure{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .appear.pending,.js .interlude .next,.js .interlude .with{opacity:1;translate:none}.book.open{transform:none}.book.open .book-cover{transform:none}}

/* V3.1 — scoped art direction. All sections after the reveal retain V3 styles. */
.opening,.story,.interlude,.party{--ink:#08110D;--forest:#14271D;--paper:#EEE7D8;--red:#D6322C;color:var(--paper)}
.opening{background:radial-gradient(ellipse at 48% 33%,#304334 0%,#14271D 24%,#08110D 59%,#090909 100%);padding-top:8rem;padding-bottom:4rem}
.book-stage{perspective:1800px;margin-bottom:3.75rem;position:relative}
.book-stage::after{content:"";position:absolute;inset:85% -35% -15%;background:#090909;filter:blur(30px);opacity:.75;transform:rotate(-7deg);z-index:-1}
.book{width:350px;height:475px;transform:rotate(-6deg) rotateY(-15deg) rotateX(4deg)}
.book-pages{inset:7px -15px -7px 2px;background:repeating-linear-gradient(90deg,#b7b2a4 0 1px,#eee7d8 1px 3px);box-shadow:30px 45px 75px #000b,4px 3px 5px #0006}
.book-cover{padding:3.1rem 2.2rem;background:linear-gradient(100deg,#08110D 0%,#233b2b 5%,#102016 8%,#14271D 12%,#23382a 85%,#14271D 100%);border-color:#65715b;box-shadow:inset 8px 0 12px #000a,inset 0 1px 1px #eee7d84d,0 0 1px #eee7d8}
.book-cover::after{content:"";position:absolute;inset:14px 14px 14px 23px;border:1px solid #eee7d81c;pointer-events:none}
.book h1{font-size:4rem;margin:2.6rem 0 1.8rem;text-shadow:0 1px 0 #0009;color:#F6F0E5}
.book .edition{font-size:.65rem;letter-spacing:.2em}.book p{font-size:1.15rem}.book .cover-date{font-size:.85rem;letter-spacing:.22em;margin-top:2.4rem}.cover-line{background:#bcaa7d;width:38px}
.story{color:#14271D;background:#EEE7D8;padding:2.5rem 7vw 5rem}.story-intro{padding:10rem 0 9rem;max-width:1160px}.story-intro h2{font-size:clamp(7rem,22vw,20rem);letter-spacing:-.065em}.story-intro p{margin-top:3rem;margin-left:43%;font-size:clamp(2.2rem,4.5vw,4.5rem)}
.memories{max-width:1120px;gap:10rem 11vw;align-items:start}.memory:nth-child(2){margin-top:18rem}.photo-frame{background:#F6F0E5;padding:12px 12px 32px;box-shadow:0 2px 3px #08110d12,0 20px 36px -20px #08110d50}.tilt-left{transform:rotate(-3deg)}.tilt-right{transform:rotate(3deg)}.memory figcaption{margin-top:2.5rem;padding-left:.75rem}.memory h3{font-size:clamp(1.7rem,2.8vw,2.7rem);line-height:1.18}.memory.wide{width:86%}.memory.wide .photo-frame{transform:rotate(-1deg)}.memory.wide figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:2rem}.memory.wide h3{margin-top:0}
.today{max-width:1160px;margin:12rem auto 6rem;grid-template-columns:1fr;gap:0}.today>img{width:82%;height:auto;max-height:none;aspect-ratio:6/7;margin-left:auto;object-position:50% 40%;box-shadow:0 25px 65px -35px #08110d66}.today figcaption{margin:4rem 0 0;display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:3rem}.today h2{font-size:clamp(4rem,9vw,8rem);line-height:1.02}.today p{max-width:23rem;font-size:1.15rem;margin:0 0 .5rem;line-height:1.7}.page-number{margin-top:5rem;opacity:.6}
.interlude{background:#090909;min-height:100svh;padding:6rem 1.5rem}.interlude-inner{width:min(100%,1050px)}.interlude .half{font-size:clamp(1.7rem,3.8vw,3.7rem)}.interlude .next{font-size:clamp(1.5rem,3.2vw,3rem);margin-top:3rem;color:#EEE7D8}.interlude .with{font-size:clamp(5.5rem,15vw,13rem);letter-spacing:-.055em;line-height:1.1;margin-top:3rem;color:#F6F0E5}.interlude .text-button{margin-top:2.5rem;color:#aaa99f}.playing .half{animation:cinema-in 1.6s both}.playing .next{animation:cinema-in 1.8s 2.2s both}.playing .with{animation:cinema-in 1.8s 4.8s both}@keyframes cinema-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.party{background:linear-gradient(125deg,#14271D,#08110D 70%);color:#EEE7D8;padding-top:2.5rem;overflow:hidden}.party-top{border-color:#eee7d845;color:#EEE7D8}.party-heading{max-width:1200px;min-height:700px;margin:4.5rem auto 5rem;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto auto;align-content:center;isolation:isolate}.party-heading>.eyebrow{grid-column:1;align-self:end;margin:0 0 1.5rem .5rem;letter-spacing:.23em}.party h2{grid-column:1;position:relative;z-index:1;font-size:clamp(12rem,31vw,29rem);line-height:.82;letter-spacing:-.075em;color:#F6F0E5}.party h2 span{color:#D6322C}.party-heading>p{position:relative;grid-column:1/-1;right:auto;bottom:auto;max-width:none;margin:3rem 0 0 24%;font-size:clamp(3rem,6.5vw,6rem);line-height:1.08;z-index:1}.bollen-art{position:absolute;width:51%;right:-2%;top:0;transform:rotate(-13deg);z-index:0;pointer-events:none}.party .event-grid{border-color:#eee7d845}.party .event-grid p,.party .event-bottom p{color:#d2d5c9}.party .event-bottom strong{color:#F6F0E5}
@media(min-width:1600px){.party-heading{min-height:800px}}
@media(max-width:700px){
 .opening{padding:7rem 1.5rem 3.5rem}.book{width:min(290px,72vw);height:400px}.book-cover{padding:2.5rem 1.4rem}.book h1{font-size:3.25rem;margin:2rem 0 1.6rem}.book p{font-size:1rem}.book .cover-date{font-size:.75rem;margin-top:2rem}.book .edition{font-size:.6rem}.book-stage{margin-bottom:3.25rem}
 .story{padding:2rem 1.5rem 3rem}.story-intro{padding:6rem 0}.story-intro h2{font-size:clamp(6.8rem,25vw,11rem)}.story-intro p{margin-left:13%;margin-top:2rem}.memory{width:85%;margin-bottom:5rem}.memory:nth-child(2){margin:6rem auto}.memory figcaption{padding:0;margin-top:2rem}.memory.wide{width:94%}.memory.wide figcaption{display:block}.memory.wide h3{margin-top:.8rem}.today{margin:7rem 0 3rem}.today>img{width:100%;max-height:none}.today figcaption{display:block;margin-top:2.5rem}.today h2{font-size:clamp(3.5rem,13vw,5.5rem)}.today h2 br{display:initial}.today p{margin-top:1.5rem;font-size:1rem;max-width:20rem}.page-number{margin-top:3rem}
 .interlude{padding:5rem 1.5rem}.interlude .next{font-size:1.5rem;margin-top:2rem}.interlude .with{margin-top:2rem}.party{padding:2rem 1.5rem 3rem}.party-heading{display:block;min-height:0;margin:4rem auto}.party-heading>.eyebrow{margin:0 0 1.5rem}.party h2{font-size:clamp(9rem,39vw,17rem);padding-top:3rem}.bollen-art{width:64%;top:-1.5rem;right:-12%;transform:rotate(-13deg)}.party-heading>p{font-size:clamp(2.5rem,10vw,4.3rem);margin:2.5rem 0 0;line-height:1.12}.party .event-grid{margin-top:3rem}
}
@media(prefers-reduced-motion:reduce){.playing .half,.playing .next,.playing .with{animation:none!important;opacity:1;transform:none}.book.open,.book.open .book-cover{transform:none}}

/* V3.2 — existing V3/V3.1 components, extended editorial chapters. */
.party-heading .bollen-art{width:62%;right:calc(-7vw - 7%);top:1rem;transform:rotate(-9deg);overflow:visible}
.forest{background:#14271D;color:#EEE7D8;padding-bottom:8rem}
.venue-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:4rem;align-items:end;margin:6rem 0 4rem}
.venue-intro h2{margin:0;font-size:clamp(3rem,6vw,6rem)}
.venue-intro>p{font:1.2rem/1.65 var(--serif);max-width:24rem;margin-bottom:.5rem;color:#d0d5c8}
.forest-grid{grid-template-columns:1.5fr 1fr;gap:4rem 7vw;align-items:center}
.forest-grid .venue-photo{grid-column:1/-1;margin:0;position:relative}
.venue-photo img{width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-position:center 45%}
.forest .venue-photo figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:1.25rem;font: .8rem/1.5 var(--sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase}
.venue-details time{display:block;font:clamp(3rem,6.5vw,6.5rem)/1.1 var(--serif);letter-spacing:-.045em;color:#F6F0E5;margin-bottom:1.5rem}
.venue-details h3{font-size:clamp(1.6rem,2.5vw,2.4rem)}
.venue-lineup{font-size:1.05rem;line-height:1.9;max-width:36rem;margin-top:2rem}
.venue-details>.quiet{margin-top:2rem}.forest-grid .table-photo{margin:0}.table-photo img{aspect-ratio:6/5;height:auto}
.community{padding-top:8rem;padding-bottom:8rem;gap:4rem}
.guest-intro>p:not(.quiet){font:clamp(1.5rem,2.4vw,2.2rem)/1.3 var(--serif);margin-top:2rem}
.community .numbers{justify-content:flex-end;gap:3rem}.community .numbers strong{color:#EEE7D8}
.guest-page{grid-column:1/-1;background:#EEE7D8;color:#14271D;padding:clamp(2rem,5vw,5rem);box-shadow:9px 9px 0 #263328;position:relative}
.name-preview,.name-collage{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:1.25rem 2.5rem;margin:3.5rem 0;padding:0;list-style:none;font:clamp(2rem,4.7vw,4.5rem)/1.25 var(--serif);letter-spacing:-.035em;overflow-wrap:anywhere}
.name-preview span:first-child,.name-collage li:nth-child(4n+1){font-size:1.15em}
.name-preview em,.name-collage li:nth-child(4n+2){font-style:italic;font-size:.85em}
.name-preview em:last-child,.name-collage li:nth-child(4n){flex-basis:100%;text-align:center;font-size:1.35em}
.name-collage:not([hidden])+.name-preview{display:none}
.guest-page .guest-placeholder{margin:3rem auto 0;border-top:1px solid #14271d35;padding-top:1.5rem;color:#475345;max-width:38rem;font-size:.9rem;text-align:center}
.guest-page-number{display:block;margin-top:2rem;text-align:center;font:1rem var(--serif)}
.countdown{padding-top:6rem;padding-bottom:6rem}.countdown h2{font-size:clamp(2.5rem,5vw,4.5rem)}
.cuckoo-clock{max-width:820px;margin:4rem auto 0;color:#EEE7D8}
.clock-roof{display:block;width:100%;height:auto;margin-bottom:-1px}
.clock-house{border:1px solid #eee7d865;border-top:0;margin:0 1.25%;padding:1.5rem 2rem 2.5rem;background:linear-gradient(180deg,#14271d55,transparent)}
.clock-date{font-size:.75rem;letter-spacing:.25em}.clock-house .count-grid{margin:2.5rem 0 2rem;gap:.75rem}
.clock-house .count-grid strong{font-size:clamp(2.5rem,6.5vw,5.7rem)}
.clock-house .quiet{max-width:34rem;margin:auto;font-size:.9rem}
.clock-pendulum{height:130px;width:2px;background:#eee7d86b;position:relative;margin:0 auto 1.5rem;transform-origin:top center;animation:pendulum-sway 5s ease-in-out infinite alternate}
.clock-pendulum span{position:absolute;bottom:-15px;left:-17px;width:36px;height:36px;border:1px solid #EEE7D8;border-radius:50%;background:#14271D}
@keyframes pendulum-sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
.practical>h2{font-size:clamp(2.4rem,5vw,4.8rem);max-width:1000px;line-height:1.15}
.practical>h2 em{display:inline-block;margin-top:.4em}
.practical .info-grid{display:block;margin-top:5rem}
.practical .info-grid article{display:grid;grid-template-columns:3rem 1fr 1.2fr;column-gap:2rem;padding:2.5rem 0;border-top:1px solid #eee7d83b;background:none}
.practical .info-grid article>span{grid-column:1;grid-row:1/4;color:#b4b9af;padding-top:.5rem}
.practical .info-grid h3{grid-column:2;grid-row:1;margin:0;font-size:clamp(1.7rem,2.6vw,2.5rem)}
.practical .info-grid .org-label{grid-column:2;grid-row:2;font-size:.85rem;letter-spacing:.04em;color:#b4b9af;margin-top:.75rem}
.practical .info-grid article>p:not(.org-label){grid-column:3;grid-row:1/3;margin:0}
.practical .info-grid small{grid-column:3;grid-row:3;margin-top:1rem}
@media(max-width:700px){
 .party-heading .bollen-art{width:82%;right:-37%;top:-2.75rem;transform:rotate(-9deg)}
 .venue-intro{display:block;margin:4rem 0 2.5rem}.venue-intro h2{font-size:clamp(2.5rem,8.7vw,3.8rem)}.venue-intro>p{margin-top:2rem;font-size:1.1rem}
 .forest{padding-bottom:4rem}.forest-grid{grid-template-columns:1fr;gap:2.5rem}.venue-photo img{aspect-ratio:4/5;max-height:none}.forest .venue-photo figcaption{display:block;font-size:.7rem}.venue-photo figcaption span{display:block}.venue-details time{font-size:clamp(2.8rem,12vw,4.5rem)}.venue-details h3{font-size:1.7rem}.venue-lineup{font-size:1rem;margin-top:1.5rem}.table-photo{width:80%;justify-self:end}
 .community{padding-top:4rem;padding-bottom:4rem;gap:2.5rem}.community .numbers{justify-content:space-between}.guest-page{padding:2rem 1.25rem;box-shadow:5px 5px 0 #263328}.name-preview,.name-collage{gap:1rem 1.25rem;margin:2.5rem 0;font-size:clamp(1.7rem,7.5vw,2.5rem)}
 .countdown{padding:4rem 1.5rem}.cuckoo-clock{margin-top:3rem}.clock-house{padding:1rem .6rem 1.5rem}.clock-house .count-grid{gap:.3rem;margin:1.75rem 0}.clock-house .count-grid strong{font-size:clamp(1.7rem,7vw,3rem)}.clock-house .quiet{font-size:.8rem}.clock-date{font-size:.65rem;letter-spacing:.17em}.clock-pendulum{height:95px}
 .practical .info-grid{margin-top:3rem}.practical .info-grid article{grid-template-columns:1.5rem minmax(0,1fr);column-gap:1rem;padding:2rem 0}.practical .info-grid article>span{grid-row:1/5}.practical .info-grid h3{grid-column:2;grid-row:1}.practical .info-grid .org-label{grid-column:2;grid-row:2}.practical .info-grid article>p:not(.org-label){grid-column:2;grid-row:3;margin-top:1.25rem}.practical .info-grid small{grid-column:2;grid-row:4}
}
@media(prefers-reduced-motion:reduce){.clock-pendulum{animation:none;transform:none}}

/* V3.3 — photographs keep their natural proportions; existing JS hooks retained. */
.memories{display:block;max-width:1120px}.memories .memory,.memories .memory.wide{width:100%;margin:0 auto 10rem}
.memory-composition{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:2.5rem 2rem}
.memory .photo-frame{padding:9px;background:#F6F0E5;min-width:0;box-shadow:0 3px 5px #08110d14,0 24px 30px -25px #08110d60}
.memory .photo-frame img,.today>img,.venue-photo img,.table-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none}
.memory .photo-frame{--photo-tilt:0deg;transform:rotate(var(--photo-tilt))}.memory .tilt-left{--photo-tilt:-2deg}.memory .tilt-right{--photo-tilt:2deg}
.chapter-first .photo-main{grid-column:1/8;grid-row:1/3}.chapter-first .photo-secondary{grid-column:9/13;margin-top:4rem}.chapter-first .photo-accent{grid-column:8/12;margin-top:1rem}
.chapter-world .photo-main{grid-column:8/13;grid-row:1;margin-top:0}.chapter-world .photo-secondary{grid-column:1/7;grid-row:1;margin-top:9rem}
.chapter-people .photo-main{grid-column:1/9;grid-row:1}.chapter-people .photo-secondary{grid-column:9/13;grid-row:1/3;margin-top:9rem}.chapter-people .photo-accent{grid-column:3/7;grid-row:2;margin-top:-1rem}
.memory figcaption,.memory.wide figcaption{display:block;margin:3rem 0 0 7%;padding:0}.memory.wide h3{margin-top:.7rem}.chapter-world figcaption{margin-left:25%}.memory h3{font-size:clamp(2rem,3.6vw,3.7rem)}
.today{margin-top:5rem}.today>img{width:74%;margin:0 auto}.today figcaption{margin-top:3rem}
.venue-photo{width:86%;justify-self:center}.venue-photo img{max-height:850px}.table-photo img{max-height:500px}.venue-times{margin-top:1.6rem;font:1.15rem/1.8 var(--serif)}.venue-times strong{font-weight:400;color:#F6F0E5}
.party h2 span{color:#F6F0E5}.party-heading .bollen-art{width:70%;height:auto;max-width:none;right:calc(-7vw - 4%);top:-2rem;transform:rotate(-3deg);object-fit:contain;filter:none}
/* Sculptural clock: roof + inset body + day dial + lower time windows. */
.cuckoo-clock{max-width:720px;position:relative;margin-top:4rem;padding-bottom:1rem}
.clock-roof{position:relative;z-index:2;width:100%;margin:0;filter:drop-shadow(0 16px 9px #0004)}
.clock-house{position:relative;margin:-4.2% 10% 0;padding:1.5rem 2rem 2.5rem;background:linear-gradient(115deg,#253d2d,#14271D 45%,#0b1911);border:1px solid #63795f;border-top:0;box-shadow:inset 7px 0 0 #0a180f,inset -7px 0 0 #08110D,14px 16px 0 #08110D,20px 24px 35px #0004}
.clock-house::after{content:"";position:absolute;inset:12px;border:1px solid #eee7d818;pointer-events:none}.clock-date{display:block;font-size:.7rem;letter-spacing:.17em;margin:1.5rem 0}
.clock-house .count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:1.5rem .6rem}
.clock-house .count-grid>div:first-child{grid-column:1/-1;width:min(100%,300px);aspect-ratio:1;margin:0 auto 1rem;display:flex;flex-direction:column;justify-content:center;border-radius:50%;position:relative;background:radial-gradient(circle,#14271D 61%,transparent 62%),repeating-conic-gradient(from 0deg,#a8b59d 0deg 1deg,transparent 1deg 30deg);border:1px solid #8a9b7b;box-shadow:inset 0 0 0 8px #08110d55,0 6px 20px #0003}
.clock-house .count-grid>div:first-child strong{font-size:clamp(4rem,8vw,7rem);line-height:1.1;color:#F6F0E5}.clock-house .count-grid>div:first-child span{margin-top:.6rem;letter-spacing:.22em}
.clock-house .count-grid>div:not(:first-child){padding:1rem .2rem;border-top:1px solid #eee7d836;border-bottom:1px solid #eee7d81f}.clock-house .count-grid>div:not(:first-child) strong{font-size:clamp(1.8rem,4vw,3.2rem)}
.clock-house .count-grid span{font-size:.65rem;letter-spacing:.1em}.clock-house .quiet{font-size:.8rem;margin:1.75rem auto 0;max-width:25rem}
.clock-mechanism{height:190px;position:relative;width:62%;margin:0 auto}.clock-pendulum{height:145px;top:0;background:#82937c;animation:pendulum-sway 6s ease-in-out infinite alternate}.clock-pendulum span{width:54px;height:65px;left:-26px;bottom:-20px;border-radius:50%;background:linear-gradient(100deg,#63775e,#263e2c 50%,#0c1c12);border:1px solid #a3ae94;box-shadow:6px 8px 14px #0004}
.clock-weight{position:absolute;top:0;width:1px;height:87px;background:#7c8b7259}.weight-left{left:19%}.weight-right{right:19%;height:110px}.clock-weight::after{content:"";position:absolute;top:100%;left:-8px;width:17px;height:47px;background:linear-gradient(90deg,#18291d,#64795a,#14271D);clip-path:polygon(50% 0,100% 20%,85% 80%,50% 100%,15% 80%,0 20%)}
@media(max-width:900px){.memory-composition{gap:2rem 1.25rem}.party-heading .bollen-art{width:70%;right:-18%;top:0}.clock-house{padding:1rem 1.25rem 2rem}}
@media(max-width:700px){
 .memories .memory,.memories .memory.wide{margin:0 auto 5.5rem;width:100%}.memory-composition{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.75rem .75rem}.memory .photo-frame{padding:6px}
 .chapter-first .photo-main{grid-column:1/6;grid-row:1}.chapter-first .photo-secondary{grid-column:4/7;grid-row:2;margin:0}.chapter-first .photo-accent{grid-column:1/5;grid-row:3;margin:0}
 .chapter-world .photo-main{grid-column:3/7;grid-row:1;margin:0}.chapter-world .photo-secondary{grid-column:1/6;grid-row:2;margin:0}
 .chapter-people .photo-main{grid-column:1/7;grid-row:1}.chapter-people .photo-secondary{grid-column:4/7;grid-row:2;margin:0}.chapter-people .photo-accent{grid-column:1/4;grid-row:2;margin:3rem 0 0}
 .memory figcaption,.memory.wide figcaption{margin:2rem 0 0}.memory h3{font-size:2rem}.today{margin-top:5rem}.today>img{width:94%;height:auto}.venue-photo{width:100%}.venue-photo img{max-height:none}.table-photo img{height:auto}.venue-times{font-size:1.1rem}
 .party-heading .bollen-art{width:93%;right:-41%;top:-2rem;transform:rotate(-4deg)}.party h2{padding-top:4rem}
 .cuckoo-clock{margin-top:3rem}.clock-house{margin:-4% 6.5% 0;padding:1rem .8rem 1.5rem}.clock-roof{width:109%;max-width:109%;margin-left:-4.5%}.clock-date{font-size:.6rem;letter-spacing:.08em;margin:1rem 0 1.5rem}.clock-house .count-grid{gap:.5rem}.clock-house .count-grid>div:first-child{width:88%;margin-bottom:1rem}.clock-house .count-grid>div:first-child strong{font-size:clamp(3rem,16vw,5rem)}.clock-house .count-grid>div:not(:first-child) strong{font-size:1.7rem}.clock-house .count-grid span{font-size:.58rem;letter-spacing:.02em}.clock-house .quiet{font-size:.75rem;line-height:1.7}.clock-mechanism{height:155px}.clock-pendulum{height:112px}.clock-pendulum span{width:42px;height:51px;left:-20px}.weight-left{height:60px}.weight-right{height:80px}
}
@media(prefers-reduced-motion:reduce){.clock-pendulum{animation:none;transform:none}}

/* Persönliche Bildfassung auf V3.3 — nur die Lebensgeschichte. */
.personal-story{padding-bottom:6rem}.personal-story .story-intro{max-width:1160px;padding-bottom:6rem}
.personal-story .life-photo{margin:0;min-width:0}.personal-story .life-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;max-height:none;background:none}
.personal-story .life-photo figcaption{font: .8rem/1.5 var(--sans);letter-spacing:.035em;margin-top:1rem;color:#4d594a}
.personal-story .tilt-a{transform:rotate(-2deg)}.personal-story .tilt-b{transform:rotate(2deg)}
.personal-story .life-chapter{max-width:1160px;margin:11rem auto 0}.personal-story .chapter-heading h2{font-size:clamp(3.1rem,6vw,6rem)}.personal-story .chapter-heading>p{max-width:28rem;margin-top:2rem;line-height:1.8}.personal-story .chapter-heading{margin-bottom:4rem}
.personal-story .childhood-page{width:100%;max-width:1080px;margin:0 auto;display:block}.personal-story .album-lead{width:85%;margin:0 auto 5rem;box-shadow:0 18px 35px -25px #18261c55}.personal-story .childhood-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4rem;align-items:start;margin:0 5%}.personal-story .childhood-notes .small-note:nth-child(2){margin-top:5rem}.personal-story .childhood-notes .last-note{margin-top:2rem}.personal-story .small-note img{padding:7px;background:#F6F0E5;box-shadow:0 15px 24px -22px #08110d80}
.personal-story .world-chapter>.chapter-heading{margin-left:8%}.personal-story .world-opening{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:5rem}.personal-story .world-aside{margin-bottom:-5rem}.personal-story .world-lead img{box-shadow:0 18px 36px -30px #08110d66}
.personal-story .interrail-page{margin:12rem 0 0}.personal-story .mini-caption{margin-bottom:3rem;margin-left:7%}.personal-story .mini-caption p{font:2.3rem/1.2 var(--serif)}.personal-story .interrail-strip{display:grid;grid-template-columns:1.2fr .85fr 1.1fr;gap:2rem;align-items:center}.personal-story .rail-two{margin-top:6rem}.personal-story .rail-three{margin-top:2rem}.personal-story .interrail-strip img{padding:6px;background:#F6F0E5;box-shadow:0 10px 20px -18px #08110d99}
.personal-story .birthday-note{display:flex;align-items:center;gap:4rem;margin:6rem auto 0;max-width:720px}.personal-story .birthday-photo{width:35%;flex:none}.personal-story .birthday-note>p{font:clamp(1.5rem,3vw,2.2rem)/1.3 var(--serif)}
.personal-story .anja-chapter{padding-top:4rem;border-top:1px solid #14271d36}.personal-story .anja-chapter>.chapter-heading{margin-bottom:3rem}.personal-story .turning-point{font:clamp(1.8rem,3.7vw,3.5rem)/1.4 var(--serif);max-width:950px;margin:0 0 5rem 12%}.personal-story .turning-point em{color:#42563e}.personal-story .anja-pair{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem;align-items:start}.personal-story .anja-aside{margin-top:7rem}
.personal-story .proposal-chapter{padding-top:3rem}.personal-story .proposal-opening{display:grid;grid-template-columns:.85fr 1fr;gap:7rem;align-items:center;max-width:1030px;margin:0 auto 6rem}.personal-story .proposal-opening .chapter-heading{margin:0}.personal-story .proposal-opening h2{font-size:clamp(3rem,5vw,5rem)}.personal-story .snow-portrait{width:90%}.personal-story .proposal-reveal{width:100%;margin:0 auto}.personal-story .proposal-reveal img{box-shadow:0 18px 45px -35px #08110d77}.personal-story .proposal-after{display:flex;align-items:center;justify-content:flex-end;gap:3rem;margin-top:3rem}.personal-story .proposal-moment{width:40%}.personal-story .proposal-after>p{font:1.6rem/1.4 var(--serif);margin-right:8%}
.personal-story .together-chapter>.chapter-heading{margin-bottom:5rem}.personal-story .mountain-lead{width:92%;margin-left:auto}.personal-story .sports-page{display:grid;grid-template-columns:.8fr 1.25fr;gap:2rem 6rem;margin:6rem 7% 0;align-items:start}.personal-story .cologne-photo{margin-top:5rem}.personal-story .sports-page>p{grid-column:2;font:2rem/1.3 var(--serif);margin:0}
.personal-story .dive-page{position:relative;display:grid;grid-template-columns:1.3fr .75fr;gap:5rem;align-items:center;margin:9rem 0}.personal-story .dive-lead{width:100%}.personal-story .dive-page>p{font:clamp(2rem,4vw,4rem)/1.2 var(--serif);letter-spacing:-.035em}
.personal-story .small-adventures{display:grid;grid-template-columns:1.15fr .75fr;gap:4rem 6rem;align-items:center}.personal-story .cycle-photo{grid-column:1;grid-row:1}.personal-story .fun-photo{grid-column:2;grid-row:1/3;width:90%;margin-left:auto}.personal-story .sea-photo{grid-column:1;grid-row:2;width:85%;margin-left:10%}
.personal-story .lotti-chapter{display:grid;grid-template-columns:.85fr 1.25fr;gap:5rem;align-items:center;padding-top:6rem;border-top:1px solid #14271d33}.personal-story .lotti-chapter .chapter-heading{margin:0}.personal-story .lotti-chapter h2{font-size:clamp(3rem,5vw,5rem)}
.personal-story .today{max-width:1100px;margin:10rem auto 5rem}.personal-story .today>img{width:60%;margin:0 auto}.personal-story .today figcaption{margin-top:5rem}
@media(max-width:900px){.personal-story .world-opening,.personal-story .anja-pair,.personal-story .proposal-opening,.personal-story .dive-page,.personal-story .lotti-chapter{gap:3rem}.personal-story .childhood-notes{gap:2rem}.personal-story .sports-page{column-gap:3rem}.personal-story .small-adventures{gap:3rem}}
@media(max-width:700px){
 .personal-story{padding:2rem 1.5rem 3rem}.personal-story .story-intro{padding:5rem 0 3rem}.personal-story .life-chapter{margin-top:6rem}.personal-story .chapter-heading{margin-bottom:2.5rem}.personal-story .chapter-heading h2{font-size:clamp(2.7rem,10vw,4.5rem)}.personal-story .chapter-heading>p{margin-top:1.5rem}.personal-story .life-photo figcaption{font-size:.75rem;letter-spacing:0}.personal-story .album-lead{width:100%;margin-bottom:3rem}.personal-story .childhood-notes{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;margin:0 .4rem}.personal-story .childhood-notes .small-note:nth-child(2){margin-top:3rem}.personal-story .childhood-notes .last-note{grid-column:1/3;width:50%;justify-self:center;margin-top:0}
 .personal-story .world-chapter>.chapter-heading{margin-left:0}.personal-story .world-opening{display:block}.personal-story .world-aside{width:66%;margin:3rem 0 0 auto}.personal-story .interrail-page{margin-top:5rem}.personal-story .mini-caption{margin-left:0;margin-bottom:2rem}.personal-story .mini-caption p{font-size:2rem}.personal-story .interrail-strip{display:block}.personal-story .rail-one{width:90%}.personal-story .rail-two{width:75%;margin:2rem 0 2rem auto}.personal-story .rail-three{width:90%;margin:0}.personal-story .birthday-note{gap:1.5rem;margin-top:4rem}.personal-story .birthday-photo{width:42%}.personal-story .birthday-note>p{font-size:1.4rem}.personal-story .birthday-note .eyebrow{font-size:.65rem;letter-spacing:.08em}
 .personal-story .anja-chapter{padding-top:3rem}.personal-story .turning-point{font-size:1.9rem;margin:0 0 3rem}.personal-story .turning-point br{display:none}.personal-story .anja-pair{display:block}.personal-story .anja-main{width:94%}.personal-story .anja-aside{width:78%;margin:2.5rem 0 0 auto}
 .personal-story .proposal-opening{display:flex;flex-direction:column;gap:3rem;margin-bottom:3rem}.personal-story .snow-portrait{width:75%;align-self:flex-start}.personal-story .proposal-opening .chapter-heading{width:100%}.personal-story .proposal-opening h2{font-size:2.9rem}.personal-story .proposal-after{gap:1.5rem;align-items:center}.personal-story .proposal-moment{width:60%}.personal-story .proposal-after>p{margin:0;font-size:1.2rem}
 .personal-story .together-chapter>.chapter-heading{margin-bottom:3rem}.personal-story .mountain-lead{width:100%}.personal-story .sports-page{display:block;margin:4rem 0 0}.personal-story .freiburg-photo{width:63%}.personal-story .cologne-photo{width:85%;margin:2rem 0 0 auto}.personal-story .sports-page>p{font-size:1.8rem;margin:2rem 0 0 15%}.personal-story .dive-page{display:block;margin:5rem 0}.personal-story .dive-lead{width:90%;margin:auto}.personal-story .dive-page>p{font-size:2.5rem;margin:2.5rem 0 0 8%}.personal-story .small-adventures{grid-template-columns:1fr 1fr;gap:2rem 1.25rem}.personal-story .cycle-photo{grid-column:1/3;grid-row:1;width:95%}.personal-story .fun-photo{grid-column:2;grid-row:2;width:100%;margin:2rem 0 0}.personal-story .sea-photo{grid-column:1;grid-row:2;width:100%;margin:0}
 .personal-story .lotti-chapter{display:block;padding-top:3rem}.personal-story .lotti-chapter .chapter-heading{margin-bottom:3rem}.personal-story .lotti-chapter h2{font-size:3rem}.personal-story .lotti-lead{width:94%;margin-left:auto}.personal-story .today{margin:6rem auto 3rem}.personal-story .today>img{width:90%}.personal-story .today figcaption{margin-top:3rem}
}

/* Gezielte Korrektur: Bildreihenfolge, zusammenhängende Antragsszene, echte Mühle. */
.personal-story .proposal-chapter>.chapter-heading{max-width:1030px;margin:0 auto 4rem}
.personal-story .proposal-sequence{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;max-width:1030px;margin:0 auto 5rem}
.personal-story .proposal-sequence .snow-portrait{width:100%}.personal-story .proposal-sequence .proposal-moment{width:100%;margin-top:7rem}
.party-heading .bollen-art{width:clamp(85px,12vw,170px);max-width:16%;right:0;top:1rem;transform:rotate(-7deg);opacity:.9}
.party .location-arrival{width:100%;max-width:1200px;margin:0 auto 4rem}.party .location-arrival img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none}
.party .location-arrival figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font: .8rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#d0d5c8}
.forest-grid{grid-template-columns:1fr;gap:4rem}.forest-grid .venue-details{max-width:1000px}.forest-grid .table-photo{width:100%;max-width:1100px;margin:auto;justify-self:stretch}.forest-grid .table-photo img{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}
.venue-moments{display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center;max-width:1100px;width:100%;margin:auto}.venue-moments figure{min-width:0;margin:0}.venue-moments img{width:100%;height:auto;object-fit:contain;max-height:none}.venue-moments .stone-interior{width:85%;justify-self:end}.forest .venue-moments figcaption{font-size:1.1rem}.location-credit{font-size:.75rem;color:#b4b9af;margin:0}
/* Reserved styles for the supplied panorama once its file is available. No substitute asset. */
.interlude:has(.scene-landscape){position:relative;isolation:isolate;overflow:hidden;background:#08110D;padding-bottom:clamp(10rem,23vw,24rem)}.interlude .scene-landscape{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.85;mask-image:linear-gradient(transparent,black 60%)}.scene-landscape img{position:absolute;bottom:0;left:0;width:100%;height:auto;object-fit:contain;object-position:center bottom}.interlude-inner{position:relative;text-shadow:0 2px 24px #0009}.js .interlude:not(.playing) .scene-landscape{opacity:0}.interlude.playing .scene-landscape{animation:landscape-unfold 7s ease-out both}@keyframes landscape-unfold{0%,15%{opacity:0}45%{opacity:.35}100%{opacity:.85}}
@media(max-width:700px){.personal-story .proposal-chapter>.chapter-heading{margin-bottom:3rem}.personal-story .proposal-sequence{display:block;margin-bottom:3rem}.personal-story .proposal-sequence .snow-portrait{width:80%}.personal-story .proposal-sequence .proposal-moment{width:90%;margin:2.5rem 0 0 auto}.party-heading .bollen-art{width:90px;max-width:28%;right:-.5rem;top:0}.party .location-arrival{margin:0 auto 3rem}.party .location-arrival figcaption{display:block;font-size:.7rem}.party .location-arrival figcaption span{display:block}.forest-grid{gap:2.5rem}.venue-moments{display:block}.venue-moments .outside-table{width:88%}.venue-moments .stone-interior{width:70%;margin:3rem 0 0 auto}.forest .venue-moments figcaption{font-size:1rem}.scene-landscape img{object-position:62% center}}
@media(prefers-reduced-motion:reduce){.interlude .scene-landscape,.js .interlude:not(.playing) .scene-landscape,.interlude.playing .scene-landscape{animation:none;opacity:.85;transform:none}}

/* DJ BRUDDAL: Originalfoto als ruhiger Abschluss der Event-Ankündigung. */
.dj-chapter{max-width:1100px;margin:5rem auto 0;padding-top:3rem;border-top:1px solid #eee7d838}
.dj-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.dj-heading .eyebrow{margin-bottom:.75rem}.dj-heading h3{font:clamp(2.4rem,5vw,4.5rem)/1.1 var(--serif);letter-spacing:-.035em;color:#F6F0E5}
.dj-heading .dj-neon{width:220px;max-width:25%;height:auto;object-fit:contain}
.dj-live{margin:0}.dj-live .dj-photo{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:700px){.dj-chapter{margin-top:3rem;padding-top:2rem}.dj-heading{display:block;margin-bottom:1.5rem}.dj-heading h3{font-size:2.5rem}.dj-heading .dj-neon{width:150px;max-width:48%;margin-top:1.5rem}}
/* Modern woodland silhouette, with an accessible, silent cuckoo cameo. */
.cuckoo-clock{max-width:620px}.clock-crown{width:65%;margin:0 auto -1.7rem;position:relative;z-index:3;filter:drop-shadow(7px 10px 0 #0003)}.clock-crown svg,.clock-canopy svg{display:block;width:100%;height:auto}.clock-canopy{position:relative;z-index:2}.cuckoo-clock .clock-house{margin:-1px 15% 0;background:linear-gradient(110deg,#17251b,#090e0b 55%,#090909);border:1px solid #50604e;border-top:0;box-shadow:10px 12px 0 #0003;padding:1rem 1.5rem 2rem}.clock-house::before{content:"";position:absolute;inset:15% -17% 8%;z-index:-1;background:#1c3023;clip-path:polygon(12% 0,26% 20%,74% 20%,88% 0,90% 20%,100% 29%,87% 43%,98% 58%,86% 61%,95% 84%,80% 79%,75% 100%,50% 89%,25% 100%,20% 79%,5% 84%,14% 61%,2% 58%,13% 43%,0 29%,10% 20%)}.cuckoo-clock{isolation:isolate}.cuckoo-perch{position:relative;z-index:4;width:70%;margin:-.5rem auto 0;padding:.5rem 0 1rem;background:#101b13;border-inline:1px solid #50604e}.cuckoo-trigger{display:block;background:none;color:#EEE7D8;width:78px;height:84px;padding:6px;margin:auto;perspective:400px;border-radius:40px 40px 3px 3px}.cuckoo-opening{display:block;position:relative;width:100%;height:100%;background:#050706;border:1px solid #7b8870;border-radius:35px 35px 2px 2px;perspective:300px}.cuckoo-door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(120deg,#344832,#19291d);border:1px solid #62735c;transition:transform .55s ease}.door-left{left:0;border-radius:35px 0 0 0;transform-origin:left}.door-right{right:0;border-radius:0 35px 0 0;transform-origin:right}.cuckoo-bird{position:absolute;width:100%;height:100%;inset:0;opacity:0;transform:translateY(8px) scale(.65);transition:opacity .3s,transform .5s}.is-open .door-left{transform:rotateY(-105deg)}.is-open .door-right{transform:rotateY(105deg)}.is-open .cuckoo-bird{opacity:1;transform:translateY(0) scale(1);animation:cuckoo-hello 1.4s .5s ease-in-out}.cuckoo-perch #cuckoo-hint{display:block;font-size:.7rem;letter-spacing:.12em;margin-top:.5rem;color:#a8b59d}.cuckoo-trigger:hover .cuckoo-door{border-color:#EEE7D8}.cuckoo-message{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cuckoo-clock .clock-date{font-size:.65rem;letter-spacing:.1em}.cuckoo-clock .clock-pendulum span{background:#D6322C;border-color:#a92120;box-shadow:5px 7px 0 #0003}.cuckoo-clock .clock-house .count-grid>div:first-child{width:min(100%,245px)}
@keyframes cuckoo-hello{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(-7deg)}70%{transform:translateY(-2px) rotate(5deg)}}
@media(max-width:700px){.cuckoo-clock .clock-house{margin:0 9%;padding:.75rem .7rem 1.5rem}.cuckoo-perch{width:82%;margin-top:-.2rem}.clock-crown{width:78%;margin-bottom:-.9rem}.clock-canopy{width:110%;margin-left:-5%}.cuckoo-trigger{width:66px;height:72px}.cuckoo-clock .clock-date{font-size:.58rem;letter-spacing:.035em}.cuckoo-clock .clock-house .count-grid>div:not(:first-child) strong{font-size:1.55rem}}
@media(prefers-reduced-motion:reduce){.cuckoo-bird,.cuckoo-door{animation:none!important;transition:none!important}.is-open .cuckoo-bird{transform:none}}
