@font-face{font-family:Parisienne;src:url('assets/fonts/Parisienne-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
/* Enveloppe photographique originale, sans inscription. */
.envelope-presentation{background:radial-gradient(ellipse at 50% 45%,#faf7f0,#e9e1d5);perspective:1800px}.opening .photo-envelope-button{width:max(102vw,calc(98svh * var(--photo-aspect)))!important;aspect-ratio:var(--photo-aspect);height:auto;transform:none;perspective:1800px;filter:drop-shadow(4px 15px 13px #3523162e)}.photo-envelope{position:absolute;inset:0;display:block;transform-style:preserve-3d}.photo-envelope img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;max-width:none;display:block;pointer-events:none}.photo-envelope-base{z-index:1}.photo-envelope-closed{z-index:2;will-change:opacity}.photo-envelope-flap{position:absolute;inset:0;display:block;z-index:3;transform-origin:var(--photo-hinge-x,50%) var(--photo-hinge-y,2.2%);transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:visible}.photo-envelope-flap img{backface-visibility:visible}.opening .photo-envelope-button:focus-visible{outline:2px solid #c0a16d;outline-offset:-12px}.opening .opening-skip{position:absolute;left:auto;right:18px;bottom:18px;transform:none;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:#593b36;background:#fff8e8b3;padding:8px;z-index:16}.opening-skip svg{width:18px;height:18px}.opening[data-phase=hearts] .opening-skip{background:#fff8e8b3;color:var(--ink)}.photo-envelope .opening-ray{left:5%;width:90%;height:85%;top:-10%;z-index:4;filter:blur(13px)}
/* Menu flottant, aucun bandeau. */
.floating-menu{position:fixed;right:22px;top:22px;width:43px;height:43px;display:grid;place-items:center;padding:11px;border:1px solid #a88d7040;background:#fbf6ebd9;border-radius:50%;color:var(--accent);z-index:70;box-shadow:0 3px 12px #3321140d;backdrop-filter:blur(5px)}.floating-menu svg{width:20px;height:20px}.hero{height:min(710px,100svh);min-height:550px}.hero-copy{width:48%;padding-left:25px;padding-right:25px}.names{--names-size:clamp(39px,5.5vw,77px);display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:center;gap:.16em;white-space:nowrap;font-family:Parisienne,Georgia,serif;font-size:var(--names-size);font-weight:400;letter-spacing:0;line-height:1.35;max-width:100%;overflow-wrap:normal}.names>span,.names>em{flex:none}.names em{font-family:Parisienne,Georgia,serif;font-size:.70em;line-height:inherit;padding:0;font-style:normal}.footer-names{--names-size:48px;font-size:var(--names-size);display:flex;margin:20px auto;max-width:100%}.footer-names em{font-size:.72em;padding:0}
.invitation-separator{display:block;width:min(76%,620px);height:1px;border:0;background:var(--line);margin:0 auto 15px}
/* Programme sur une ligne, au format compact. */
.programme-section{padding:48px max(4vw,22px)}.programme-section h2{font-size:clamp(25px,3vw,35px);margin:15px auto 25px}.programme-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1060px}.programme-illustration{width:112px;height:100px;margin-bottom:12px}.programme-list li+li:before{display:none}.programme-time{font-size:10px}.programme-list h3{font-size:18px;line-height:1.35;margin:7px 0 10px}.programme-list p:last-child{font-size:11px;line-height:1.75;max-width:210px}
.gift-section .details-art{position:relative;width:100%;padding-bottom:45px}.gift-section .details-art .gift-objects{width:100%;max-width:480px;transform:none}.gift-section .details-art .gift-booties{position:absolute;bottom:0;right:0;width:140px;max-width:38%;transform:rotate(7deg);filter:drop-shadow(0 5px 6px #5b3e251a)}.rsvp-cake{width:112px;height:130px;object-fit:contain;margin:0 0 20px}.rsvp-copy h2{margin-top:0}.finale{padding-top:40px}.finale .demo-footer{display:none}
@media(min-width:800px){.opening .photo-envelope-button{width:calc(108svh * var(--photo-aspect))!important;max-width:90vw;}.envelope-presentation{background:radial-gradient(ellipse at center,#f9f4e9,#e5dac9)}}
@media(max-width:680px){.floating-menu{right:16px;top:16px;width:40px;height:40px;padding:10px}.hero{height:auto;min-height:0}.hero-copy{width:100%;padding:18px 24px 28px;gap:16px}.hero .names{--names-size:47px;font-size:var(--names-size);line-height:1.4}.hero .names em{font-size:.7em;padding:0}.hero-note{font-size:15px}.footer-names{--names-size:43px;font-size:var(--names-size)}.programme-section{padding:36px 15px 40px}.programme-section:before,.programme-section:after{left:12px;right:12px}.programme-section:before{top:15px}.programme-section:after{bottom:15px}.programme-section>.eyebrow{font-size:8px;letter-spacing:1.5px}.programme-section h2{font-size:26px;margin:12px auto 23px;max-width:290px}.programme-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.programme-illustration{width:72px;max-width:100%;height:65px;margin:0 auto 11px}.programme-time{font-size:8px;letter-spacing:.3px;white-space:nowrap}.programme-list h3{font-size:13px;line-height:1.35;margin:7px 0 0}.programme-list p:last-child{display:none}.invitation-separator{width:75%;margin-bottom:7px}.gift-section .details-art{width:95%;padding-bottom:30px}.gift-section .details-art .gift-objects{max-width:360px;width:100%;transform:none}.gift-section .details-art .gift-booties{width:110px;right:-3%;bottom:0;max-width:36%}.gift-section{gap:22px}.rsvp-cake{width:92px;height:105px;margin:0 0 18px}.rsvp-copy{width:100%}}
@media(max-width:350px){.hero .names{--names-size:40px}.footer-names{--names-size:37px}.programme-list{gap:6px}.programme-list h3{font-size:12px}.programme-illustration{width:62px;height:58px}.programme-section h2{font-size:24px}}
.photo-envelope .opening-ray{clip-path:none;background:radial-gradient(ellipse at 50% 25%,#fff 0%,#fffaf2cc 28%,#fffaf200 70%);filter:blur(16px);inset:-10%;width:120%;height:110%;mix-blend-mode:screen}
@media(max-width:400px){.programme-list h3{font-size:11px;overflow-wrap:anywhere;hyphens:auto}}
