:root{--paper:#f6f0e6;--ivory:#fffaf0;--ink:#332f25;--olive:#434d32;--gold:#a8864c;--muted:#777366}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 'DM Sans',Arial,sans-serif}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.script{font-family:'Great Vibes','Brush Script MT',cursive;font-weight:400}.eyebrow{font:500 11px/1.6 'DM Sans',sans-serif;letter-spacing:.32em}.eyebrow.light{color:#f9f0df}.section{position:relative;overflow:hidden}.section-inner{max-width:780px;margin:auto}.section-heading{text-align:center;margin:0 auto 70px;max-width:700px;padding:0 24px}.section-heading h2{font-size:clamp(68px,8vw,112px);line-height:1.05;margin:12px 0 8px;font-weight:400;color:#484632}.section-heading p{font-family:'Cormorant Garamond',serif;font-size:25px;line-height:1.4}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{height:83px;position:absolute;z-index:15;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(25px,5vw,100px);color:#fff;border-bottom:1px solid #ffffff45}.brand{font-size:39px;line-height:1}.brand span{font-size:23px}.topbar nav{display:flex;gap:34px;align-items:center}.topbar nav a{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.nav-rsvp{border:1px solid #ffffffa0;padding:12px 18px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}.hero{height:100svh;min-height:650px;position:relative;background:#313c30;display:grid;place-items:center;text-align:center;color:#fff}.hero-photo{position:absolute;inset:0;background:linear-gradient(130deg,#28392a6e,#201e1a50),url('terrace.webp') center 60%/cover no-repeat;filter:saturate(.76)}.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 10%,#10181070 100%),linear-gradient(180deg,#17271e4d 0%,transparent 35%,#111b17a8 100%)}.hero-content{position:relative;padding:60px 20px 0;z-index:1}.hero h1{font-size:clamp(100px,16vw,230px);font-weight:400;line-height:1.1;margin:25px 0 10px;text-shadow:0 4px 24px #0005}.hero h1 span{font-size:.55em;vertical-align:middle}.gold-rule{width:90px;height:1px;background:#d5b980;margin:24px auto}.hero-content p,.closing-content p{font-size:12px;letter-spacing:.34em}.bullet{padding:0 15px;color:#dfc88d}.outline-button{display:inline-flex;align-items:center;gap:28px;border:1px solid #f1e4ccad;padding:16px 25px;margin-top:35px;font-size:11px;letter-spacing:.17em;transition:.3s}.outline-button:hover{background:#f1e4cc;color:#2e352a}.hero-scroll{position:absolute;bottom:30px;font-size:9px;letter-spacing:.25em;z-index:1}.hero-scroll span{display:block;font-size:18px}.welcome{padding:150px 25px 145px;text-align:center;background:radial-gradient(ellipse at center,#fff9ef 10%,#ede3d4 100%)}.welcome .section-inner{position:relative;z-index:2}.welcome h2{font-size:clamp(75px,9vw,130px);line-height:1.15;margin:18px 0}.welcome .lead{font:400 clamp(27px,3vw,38px)/1.35 'Cormorant Garamond',serif;max-width:700px;margin:15px auto 30px}.welcome p:not(.lead):not(.signature){max-width:560px;margin:auto;color:#615d52;line-height:1.95}.small-heart{color:#776342;font-size:18px;margin:14px 0}.signature{font-size:54px;margin:0}.olive-divider{color:#677050;font-size:34px;margin:22px auto}.corner-botanical{position:absolute;font-family:Georgia;font-size:350px;color:#64734a30;top:-160px;line-height:1;transform:rotate(-25deg)}.corner-left{left:-90px}.corner-right{right:-90px;transform:scaleX(-1) rotate(-25deg)}.countdown-section{min-height:660px;display:grid;place-items:center;text-align:center;background:#e3d8c7}.countdown-image{position:absolute;inset:0;background:url('landscape.webp') center/cover no-repeat;filter:blur(2px) saturate(.6);transform:scale(1.04)}.countdown-wash{position:absolute;inset:0;background:#f4e8d5c9}.countdown-content{position:relative;padding:90px 20px}.countdown-content h2{font-size:clamp(66px,7vw,105px);line-height:1.1;margin:18px 0 48px}.countdown{display:flex;justify-content:center;gap:clamp(8px,2.5vw,30px)}.countdown>div{width:clamp(75px,11vw,140px);height:clamp(95px,13vw,160px);border:1px solid #9e876270;border-radius:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffaf052}.countdown strong{font:400 clamp(33px,5vw,60px) 'Cormorant Garamond',serif}.countdown span{font-size:9px;letter-spacing:.14em}.countdown-content>p{font-family:'Cormorant Garamond';font-size:22px;margin-top:36px}.locations{padding:140px clamp(20px,6vw,100px);background:#f7f2e9}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1350px;margin:auto}.location-card{background:#fffaf2;box-shadow:0 25px 60px #3c2d1d12}.location-photo{height:clamp(300px,36vw,490px);position:relative;background-position:center;background-size:cover}.location-photo.castle{background-image:linear-gradient(#0000,#0003),url('castle.webp')}.location-photo.dining{background-image:linear-gradient(#0000,#0003),url('dining.webp')}.photo-label{position:absolute;top:28px;left:30px;color:#fff;font-size:10px;letter-spacing:.25em;text-shadow:0 2px 8px #000}.location-body{text-align:center;padding:55px 25px 65px}.location-body h3{font-size:90px;line-height:1.05;margin:6px 0 10px;color:#4d513c}.location-time{display:block;color:#a17e4b;letter-spacing:.13em;font-size:13px;margin:20px 0}.location-body p{font:23px/1.5 'Cormorant Garamond',serif}.location-body p strong{font-weight:600}.text-link{display:inline-block;font-size:11px;letter-spacing:.19em;border-bottom:1px solid #b5a27f;padding-bottom:8px;margin-top:18px}.text-link span{margin-left:14px}.timeline-section{background:#ede5d7;padding:145px 20px}.timeline{max-width:650px;margin:auto;position:relative}.timeline:before{content:'';position:absolute;left:31px;top:10px;bottom:55px;width:1px;background:#b7a57d}.timeline-item{display:grid;grid-template-columns:65px 1fr;gap:32px;position:relative;margin-bottom:62px}.timeline-icon{width:63px;height:63px;background:#f8f0e3;border:1px solid #c7b899;border-radius:50%;display:grid;place-items:center;font:32px Georgia;color:#626d4c;z-index:1}.timeline-time{font-size:11px;letter-spacing:.23em;color:#89744d}.timeline-item h3{font:400 38px 'Cormorant Garamond',serif;margin:5px 0 0}.timeline-item p{margin:0;color:#766e61}.gift-section{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#f9f2e7}.gift-photo{background:linear-gradient(#1d2c1740,#1d2c1740),url('dining.webp') center/cover no-repeat}.gift-content{align-self:center;text-align:center;padding:100px clamp(25px,6vw,110px)}.gift-content h2{font-size:110px;line-height:1.1;margin:10px 0}.gift-content p{font:26px/1.45 'Cormorant Garamond',serif;max-width:500px;margin:25px auto}.rsvp-section{padding:140px 20px 160px;background:radial-gradient(ellipse at center,#fffaf0,#e9dfcf)}.rsvp-section .section-heading{margin-bottom:45px}.rsvp-card{max-width:650px;margin:auto;background:#fffbf4;border:1px solid #e1d2b9;padding:clamp(25px,5vw,65px);box-shadow:0 20px 70px #3a322219}.field-label{display:block;font-size:10px;letter-spacing:.19em;margin:22px 0 10px;color:#5e5e4b}.rsvp-card input[type=text],.rsvp-card select,.rsvp-card textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #bfb4a0;border-radius:0;padding:12px 4px;outline:none;color:#38372d}.rsvp-card input:focus,.rsvp-card textarea:focus,.rsvp-card select:focus{border-color:#4c5a3d}.rsvp-card fieldset{border:0;padding:0;margin:24px 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice input{position:absolute;opacity:0}.choice span{display:block;padding:15px 12px;border:1px solid #b8a88c;text-align:center;font-size:12px;cursor:pointer;transition:.25s}.choice input:checked+span{background:#4d5a3f;color:#fff;border-color:#4d5a3f}.choice input:focus-visible+span{outline:3px solid #bba26c}.submit-button{width:100%;margin-top:30px;background:#49563d;border:0;color:#fff;padding:18px 22px;font-size:11px;letter-spacing:.17em;display:flex;justify-content:center;gap:25px;transition:background .2s}.submit-button:hover{background:#313d29}.privacy-note{text-align:center;font-size:11px;color:#77736a;line-height:1.5}.hidden-trap{position:absolute;left:-10000px}.form-success,.form-error{padding:16px;background:#e4eadf;margin-bottom:20px}.form-error{background:#f4ded8}.closing{height:620px;display:grid;place-items:center;text-align:center;background:url('terrace.webp') center/cover no-repeat;color:#fff}.closing-overlay{position:absolute;inset:0;background:#1c241bb3}.closing-content{position:relative}.closing h2{font-size:clamp(95px,13vw,185px);font-weight:400;line-height:1;margin:28px 0}.closing h2 span{font-size:.6em}footer{background:#2d382a;color:#f0e5d4;padding:35px;text-align:center}footer .script{font-size:40px}footer p{font-size:9px;letter-spacing:.25em;margin:0}
/* Cinematic envelope opening */
.intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#fffaf0 0%,#e9ddc9 100%);overflow:hidden;opacity:1;transition:opacity .85s ease,visibility .85s}.intro.depart{opacity:0;visibility:hidden;pointer-events:none}.intro:before{content:'';position:absolute;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.intro-ambient{position:absolute;width:55vw;height:70vh;filter:blur(90px);opacity:.18;border-radius:50%;background:#87936c}.intro-ambient-a{left:-30vw;top:-20vh}.intro-ambient-b{right:-35vw;bottom:-30vh;background:#c9a572}.intro-inner{position:relative;text-align:center;width:100%;padding:30px 16px}.intro-heading{display:flex;flex-direction:column;align-items:center}.intro-heading .headline{font-size:clamp(82px,10vw,140px);line-height:1;margin:7px 0 13px;color:#4a4535}.intro-sub{font-size:9px;letter-spacing:.26em}.tiny-heart{font-size:15px;color:#826e49;margin-top:13px}.envelope-stage{width:min(470px,83vw);height:min(330px,58vw);margin:clamp(32px,6vh,65px) auto 0;position:relative;perspective:1300px;filter:drop-shadow(0 20px 25px #584c3633);transform:translateZ(0)}.envelope-shadow{position:absolute;bottom:-23px;left:8%;width:84%;height:24px;border-radius:50%;background:#5a4e3440;filter:blur(15px)}.envelope{position:absolute;inset:0;transform-style:preserve-3d}.envelope-back{position:absolute;inset:0;background:linear-gradient(140deg,#e7d3b2,#fbefdb 60%,#e6d0ae);box-shadow:inset 0 0 0 1px #c4aa7b}.letter{position:absolute;z-index:2;left:8%;width:84%;height:94%;top:5%;background:linear-gradient(145deg,#fffcf3,#f4e7d0);box-shadow:0 1px 9px #5a442524;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(0);transition:transform 1.3s cubic-bezier(.18,.7,.12,1) .52s;overflow:hidden}.letter:after{content:'❧';position:absolute;bottom:-22px;right:15px;font:100px Georgia;color:#70815b32;transform:rotate(-22deg)}.letter-kicker,.letter-date{font-size:10px;letter-spacing:.23em}.letter-names{font-size:clamp(45px,6vw,77px);line-height:1.2;color:#51442c;margin:10px 0}.letter-names small{font-size:.6em}.envelope-flap{position:absolute;z-index:5;inset:0;clip-path:polygon(0 0,100% 0,50% 58%);background:linear-gradient(180deg,#f7e8d0,#dec49e);transform-origin:50% 0;transform:rotateX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) .24s,z-index 0s .72s;backface-visibility:visible}.envelope-front{position:absolute;z-index:4;inset:0;background:linear-gradient(35deg,#e9d3af,#f6e7cd 55%,#e6cca7);clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);box-shadow:inset 0 0 0 1px #c9b18b}.wax{position:absolute;z-index:7;left:50%;top:53%;width:88px;height:88px;transform:translate(-50%,-50%);border-radius:44% 56% 49% 51%/52% 43% 57% 48%;background:radial-gradient(circle at 30% 25%,#788060,#36432e 65%,#1f2b21 100%);box-shadow:0 5px 8px #171f1a80,inset 0 2px 5px #a6a98c,inset 0 -5px 7px #131d16;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#e6c991;transition:transform .5s ease,opacity .45s ease;pointer-events:none}.wax:before{content:'';position:absolute;inset:9px;border:1px solid #e6c991a8;border-radius:50%}.wax>span{font:italic 26px 'Cormorant Garamond',serif;z-index:1}.wax-amp{font-size:16px}.wax i{font-size:21px;font-style:normal;line-height:.6}.open-hit{position:absolute;inset:0;z-index:8;border:0;background:transparent;cursor:pointer}.open-hit:focus-visible{outline:3px solid #a48651;outline-offset:7px}.olive-sprig{position:absolute;z-index:6;color:#556644;font:130px Georgia;pointer-events:none;opacity:.8;text-shadow:1px 2px 1px #c0a679}.sprig-left{bottom:-55px;left:-38px;transform:rotate(-35deg)}.sprig-right{top:-67px;right:-35px;transform:rotate(140deg)}.intro-hint{font-size:10px;letter-spacing:.25em;margin:10px 0 0}.hint-arrow{font-size:24px;color:#786748;animation:bob 1.8s ease-in-out infinite}.opening .envelope-flap{transform:rotateX(-180deg);z-index:1}.opening .wax{transform:translate(-50%,-50%) scale(.35) rotate(25deg);opacity:0}.opening .letter{transform:translateY(-65%);transition-delay:.85s}.intro.opening .intro-heading{animation:softOut 1.2s ease 1s both}.intro.opening .intro-hint,.intro.opening .hint-arrow{opacity:0;transition:opacity .4s}.intro.opening .envelope-stage{animation:envelopeExit .85s ease-in 1.75s both}@keyframes bob{50%{transform:translateY(8px)}}@keyframes softOut{to{opacity:0;transform:translateY(-30px)}}@keyframes envelopeExit{to{opacity:0;transform:translateY(70px) scale(.94)}}
@media(max-width:760px){.topbar{height:70px;padding:0 22px}.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;background:#354432;padding:25px;gap:0}.topbar nav.shown{display:flex}.topbar nav a{padding:14px 0}.hero{min-height:570px}.hero h1{font-size:clamp(80px,15vw,125px)}.hero-content p{font-size:10px;letter-spacing:.17em}.outline-button{margin-top:20px}.welcome{padding:100px 24px}.welcome h2{font-size:76px}.corner-botanical{font-size:210px}.countdown-section{min-height:540px}.countdown-content h2{font-size:68px}.locations{padding:95px 18px}.location-grid{grid-template-columns:1fr;gap:25px}.location-photo{height:360px}.location-body h3{font-size:80px}.section-heading{margin-bottom:40px}.timeline-section{padding:100px 22px}.gift-section{grid-template-columns:1fr}.gift-photo{height:360px}.gift-content{padding:75px 25px}.rsvp-section{padding:100px 16px}.closing{height:500px}.closing h2{font-size:100px}.intro-heading .headline{font-size:93px}.intro-hint{margin-top:25px}.envelope-stage{margin-top:60px}.wax{width:70px;height:70px}.wax>span{font-size:22px}.letter-kicker,.letter-date{font-size:8px}.letter-names{font-size:clamp(38px,8vw,62px)}}@media(max-width:430px){.intro-heading .headline{font-size:80px}.intro-sub{font-size:8px}.envelope-stage{width:85vw;height:60vw;margin-top:60px}.sprig-left,.sprig-right{font-size:90px}.wax{width:62px;height:62px}.letter-names{font-size:38px}.hero h1{font-size:80px}.hero h1 span{display:inline}.countdown{gap:7px}.countdown>div{width:76px;height:95px}.countdown strong{font-size:34px}.countdown span{font-size:8px}.countdown-content h2{font-size:60px}.choice-grid{grid-template-columns:1fr}.gift-content h2{font-size:85px}.section-heading h2{font-size:75px}.location-body h3{font-size:75px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.hint-arrow{animation:none}.opening .envelope-flap,.opening .letter,.opening .wax{transition-duration:.15s}.intro.opening .envelope-stage{animation:none}}

/* UPDATE: ausschließlich die Umschlagdarstellung an das Originalfoto angepasst. */
.envelope-stage{width:min(430px,82vw);height:auto;aspect-ratio:291 / 260;max-height:48vh;margin-top:clamp(20px,4vh,42px)}
.reference-envelope{position:absolute;inset:0;z-index:7;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 18px 22px rgba(55,43,27,.17));transition:opacity .62s ease .30s,transform .95s cubic-bezier(.2,.7,.2,1) .12s,filter .75s ease}
.opening .reference-envelope{opacity:0;transform:translateY(-12px) rotateX(-22deg) scale(1.045);filter:blur(3px)}
@media(max-width:760px){.envelope-stage{width:min(390px,86vw);height:auto;aspect-ratio:291 / 260;margin-top:clamp(20px,4vh,36px)}}
@media(max-width:430px){.envelope-stage{width:88vw;height:auto;aspect-ratio:291 / 260;margin-top:24px}}

/* Only requested decoration replacement */
.olive-branch-divider{display:inline-block;width:112px;max-width:35vw;height:auto;vertical-align:middle;object-fit:contain;}
.olive-divider:has(.olive-branch-divider){display:flex;align-items:center;justify-content:center;}

/* Update: ausschließlich Bildheader und Umschlag aus der freigegebenen Vorlage. */
.hero{background:#b49a72;min-height:620px}
.hero-photo{background-image:url('hochzeit-header.webp');background-position:center center;background-size:cover;filter:none}
.hero-vignette{display:none}
.hero-image-link{position:absolute;z-index:4;left:38%;top:79%;width:25%;height:13%;border-radius:60px}
.hero-image-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hero-scroll{display:none}
.reference-envelope{object-fit:contain}
@media(max-width:760px){.hero{height:auto;min-height:0;aspect-ratio:3/4}.hero-photo{background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#d3b994}.hero-image-link{left:32%;top:78%;width:36%;height:15%}}
@media(max-width:500px){.hero{aspect-ratio:3/4}.hero-image-link{left:28%;width:44%}}
