.section{padding:44px 28px;scroll-margin-top:40px}.reading{width:min(760px,100%);margin:0 auto;text-align:center}h2{font:400 clamp(33px,4.4vw,47px)/1.22 Georgia;margin:8px 0 28px;letter-spacing:-.025em;color:#28553e}h3{font:400 28px/1.3 Georgia;margin:12px 0 18px}p{margin:0 0 22px}.lead{font-size:21px;line-height:1.9}.small{font:11px/1.8 Arial,sans-serif;letter-spacing:.04em}.button{font:12px/1.5 Arial,sans-serif;background:#28563f;color:#fff7e7;border:1px solid #8d754a;border-radius:30px;padding:13px 24px;min-height:44px;cursor:pointer}.button.light{background:#fff8e9;color:#28563f}.section-seam{height:65px;width:min(520px,80%);margin:10px auto}.section-seam img{width:100%;height:100%;object-fit:contain}a{color:inherit;text-underline-offset:5px}.hero{padding-top:155px;padding-bottom:20px}.parasol{width:145px;height:145px;top:8px;left:max(8px,calc(50% - 370px))}.hero-garland{position:absolute;top:35px;left:50%;transform:translateX(-50%);width:min(280px,43%);height:70px;object-fit:contain;pointer-events:none}.hero-lantern{position:absolute;top:15px;right:max(12px,calc(50% - 345px));width:70px;height:120px;object-fit:contain;transform-origin:50% 0;pointer-events:none}.has-opened .hero-lantern{animation:lantern 4s ease-in-out 2 alternate}.hero-parade{width:min(410px,100%);height:142px;margin:30px auto 0}.hero-parade img{width:100%;height:100%;object-fit:contain}.navigation{position:fixed;right:15px;top:18px;z-index:20}.navigation button{width:40px;height:40px;border:1px solid #b39c7350;border-radius:50%;background:#fff8e6e8;display:grid;place-items:center}.navigation #menu{position:absolute;right:0;top:50px;min-width:180px;padding:18px;background:#fff7e7f5;border:1px solid #cbb78d;font:12px/1.5 Arial;box-shadow:0 5px 20px #35523418}.navigation a{display:block;padding:8px 0;text-decoration:none}#opening:before,#opening:after{display:none}.door{width:50%;top:5px;bottom:5px}.door.left{left:0}.door.right{right:0}.face{background-size:100% 100%;background-position:center;border-width:1px}.hinge{display:none}.front:after{content:'';position:absolute;top:8%;left:12%;width:76%;height:17%;background:url('assets/guirlande.webp') center/contain no-repeat;transform:rotate(-8deg)}.front:before{content:'';position:absolute;top:24%;left:25%;width:45%;height:18%;background:url('assets/masque.webp') center/contain no-repeat}.right .front:before{background-image:url('assets/lanterne.webp');width:30%;left:35%;top:23%;height:20%}.opening-title{font-size:clamp(35px,5vw,50px)}.opening-controls{align-items:flex-end;padding-bottom:21vh}.opening-controls button{padding:12px 20px;background:#fcf4e7b8;border-radius:60%}#necklace{display:none!important}#celebration{position:fixed;inset:0;pointer-events:none;z-index:45;overflow:hidden}.celebration-piece{position:absolute;left:0;top:0;width:22px;height:30px;object-fit:contain;will-change:transform,opacity}#date-stage{position:relative;height:235px;margin-top:32px;isolation:isolate;overflow:hidden}#date-full{position:absolute;top:65px;left:0;width:100%;height:65px;opacity:0;clip-path:inset(0 100% 0 0);z-index:0}.date-embroidery>span{display:block;height:65px;width:100%}.date-umbrella{position:absolute;top:0;width:60%;height:190px;z-index:1;pointer-events:none;will-change:transform}.date-umbrella img{width:100%;height:100%;object-fit:contain}.date-umbrella.left{left:-3%;transform-origin:25% 80%}.date-umbrella.right{right:-3%;transform:scaleX(-1);transform-origin:75% 80%}#date-trigger{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap}#event-time{font-size:25px}.date-links{display:flex;align-items:center;justify-content:center;gap:24px;margin:15px 0 35px}.date-links a{font:11px Arial}.countdown-panel{position:relative;padding-top:48px;max-width:470px;margin:auto}.counter-beads{position:absolute;top:0;left:10%;width:80%;height:45px;object-fit:contain}#countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:15px 5px}#countdown strong{display:block;font:italic 34px/1.2 Georgia;color:#6c3654}#countdown span{font:7px/1.3 Arial;text-transform:uppercase;letter-spacing:.1em}.countdown-intro{font-size:9px;margin-bottom:10px}.countdown-outro{font:21px Georgia;margin-top:12px}#story-album{max-width:980px;margin:32px auto}.story-item{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;margin:40px 0 65px}.story-item:nth-child(even) .portrait{order:2}.story-copy{max-width:360px}.story-copy p{font-size:20px;line-height:1.8}.venue-art{width:230px;height:280px;margin:20px auto 32px}.venue-art img{width:100%;height:100%;object-fit:contain}.venue-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:35px auto 20px}.venue-details p{font-size:18px}.venue-details .eyebrow{font-size:9px}.timeline{position:relative;max-width:640px;margin:20px auto}.timeline ol{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:125px 1fr;gap:30px;align-items:center;min-height:180px;padding:15px 0;position:relative}.timeline img{width:95px;height:95px;object-fit:contain;justify-self:center}.timeline h3{font-size:26px;margin:8px 0 12px}.timeline p{font-size:18px;line-height:1.6}.timeline time{font:10px Arial;color:#866b40;letter-spacing:.17em}.timeline-thread{position:absolute;top:55px;bottom:60px;left:62px;border-left:2px dotted #a28b5e;z-index:-1}#timeline-pearl{position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fffef2,#d4c1a2 65%,#927642);box-shadow:1px 2px 2px #593e3130;transform:translateX(-50%)}.dance{position:relative;width:110%;margin:30px 0 25px -5%;aspect-ratio:1.5;overflow:hidden}.pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}.pose.active{opacity:1}#palette{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin:20px auto}#palette figure{margin:0;font:10px/1.6 Arial}#palette i{display:block;width:27px;height:27px;border-radius:50%;margin:0 auto 8px;box-shadow:inset 1px 1px 2px #fff7,1px 2px 3px #34271730}#practical-list{max-width:760px;margin:30px auto}.practical-item{padding:24px 0;border-bottom:1px dashed #bda77c55}.practical-item summary{font:25px/1.4 Georgia;list-style:none;cursor:pointer;padding-right:32px;position:relative}.practical-item summary::-webkit-details-marker{display:none}.practical-item summary:after{content:'+';position:absolute;right:0;top:0;color:#947b4e}.practical-item[open] summary:after{content:'−'}.practical-item p{font-size:19px;line-height:1.8;margin-top:20px}.practical-item a{font:11px Arial}.envelope{position:relative;width:min(570px,100%);height:365px;margin:95px auto 10px;perspective:1200px}.envelope-back,.envelope-pocket{position:absolute;bottom:0;left:0;width:100%;height:75%;object-fit:fill}.envelope-back{z-index:0}.envelope-pocket{z-index:4;pointer-events:none}.envelope-flap{position:absolute;top:25%;left:0;width:100%;height:57%;transform-origin:50% 0;transform:rotateX(0);z-index:6;transition:transform 1.5s ease;transform-style:preserve-3d}.envelope-flap img{width:100%;height:100%;object-fit:fill;backface-visibility:hidden}.envelope-flap:after{content:'';position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);background:#e9ddc4 url('assets/ivoire.webp') center/200px;transform:rotateY(180deg);backface-visibility:hidden}.rsvp-card{position:absolute;bottom:5%;left:20%;width:60%;height:73%;z-index:2;background:url('assets/papier.webp') center/100% 100%;border:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;padding:40px 10px 60px;transition:transform 1.5s ease .6s;color:#28563f}.rsvp-card span{font:32px/1.1 Parisienne}.rsvp-card small{font:10px/1.6 Arial;margin-top:24px;border-bottom:1px solid #b39b6c}#envelope-open{position:absolute;inset:20% 0 0;border:0;background:none;z-index:10}#envelope[data-state=open] .envelope-flap{transform:rotateX(175deg);z-index:0}#envelope[data-state=open] .rsvp-card{transform:translateY(-48%)}#envelope[data-state=open] #envelope-open{display:none}.closing{padding-bottom:0;max-width:900px}.closing .names{margin-bottom:30px}.closing-boat{width:min(760px,115%);margin:35px auto 0;height:220px}.closing-boat img{width:100%;height:100%;object-fit:contain}dialog{border:0;background:transparent;color:#28563f;padding:0;width:min(650px,calc(100% - 18px));max-height:94dvh;overflow:auto}dialog::backdrop{background:#1a2b25b0;backdrop-filter:blur(4px)}.rsvp-paper{background:#faf4e8 url('assets/papier.webp') center/100% 100%;padding:75px 12% 65px;min-height:600px}.rsvp-paper h2{font:42px Parisienne;text-align:center;margin:0 0 30px}.dialog-close{position:sticky;float:right;top:16px;margin:15px 18px -50px 0;width:36px;height:36px;border:0;background:#fff8e8db;border-radius:50%;z-index:8;font-size:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}form label{display:block;font:12px/1.7 Arial;margin-bottom:19px;min-width:0}input:not([type=radio]),select{display:block;width:100%;min-width:0;padding:12px;margin-top:7px;border:1px solid #bda679;background:#fff9ecdc;border-radius:3px;min-height:44px;color:#28563f;font:14px Arial}fieldset{border:0;border-top:1px solid #bda67955;padding:18px 0;margin:5px 0;min-width:0}legend{font:19px Georgia;padding-right:12px}.choice{font-size:13px;display:flex;gap:8px;align-items:center}.guest-person{border-top:1px dashed #bda67955;padding-top:15px}.guest-person h4{font:17px Georgia}#rsvp-submit{width:100%;margin:10px 0}#rsvp-result{font:13px/1.7 Arial;overflow-wrap:anywhere;margin-top:18px}#rsvp-result.error{color:#8b2538}.rsvp-personal-link{display:block;margin:12px 0;font-size:10px}@keyframes lantern{to{transform:rotate(2deg)}}@media(max-width:700px){.hero{padding:135px 28px 10px}.parasol{width:125px;height:125px;left:-12px;top:3px}.hero-garland{top:30px;width:40%;height:52px}.hero-lantern{width:52px;height:95px;right:18px;top:8px}.hero-parade{height:120px;margin-top:24px}.section{padding:34px 28px}.section-seam{height:55px;width:76%}.lead{font-size:20px}#date-stage{height:215px}#date-full{top:62px}.date-umbrella{height:170px}.date-links{gap:20px}.date-links a{font-size:10px}#countdown strong{font-size:28px}#countdown span{font-size:6.5px}#countdown{gap:6px}.story-item{display:flex;flex-direction:column;gap:25px;margin:35px 0 50px}.story-item:nth-child(even) .portrait{order:0}.story-copy{text-align:center}.venue-art{width:200px;height:240px}.venue-details{grid-template-columns:1fr;gap:15px}.timeline li{grid-template-columns:90px 1fr;gap:18px;min-height:175px}.timeline img{width:75px;height:85px}.timeline-thread{left:45px}.timeline h3{font-size:24px}.timeline p{font-size:17px}.dance{width:calc(100% + 28px);margin-left:-14px}.practical-item summary{font-size:23px}.envelope{height:280px;margin-top:85px}.rsvp-card{padding-top:30px}.rsvp-card span{font-size:25px}.rsvp-card small{font-size:8px;margin-top:20px}.rsvp-paper{padding-top:65px;padding-bottom:55px}.rsvp-paper h2{font-size:35px}.form-row{gap:12px}.closing-boat{height:150px;width:110%;margin-left:-5%}}@media(max-width:360px){.section{padding-left:23px;padding-right:23px}.rsvp-card span{font-size:22px}.envelope{height:245px}.form-row{grid-template-columns:1fr}.opening-title{font-size:31px}.timeline li{grid-template-columns:78px 1fr;gap:12px}.timeline-thread{left:39px}.timeline img{width:66px}.practical-item summary{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-width:701px){.dance{width:100%;margin-left:0}.closing-boat{width:100%}}
