:root{--green:#164109;--gold:#b79752;--ink:#3b3b2b;--cream:#fcf8ef;--muted:#938a79}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#e9e2d5;font-family:'Cormorant Garamond',Georgia,serif}body.sealed{overflow:hidden}body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at center,#fff7e9,#ddd4c1);z-index:-1}main{max-width:576px;margin:auto;background:var(--cream);box-shadow:0 0 100px #56462220;overflow:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,textarea,select{font:inherit}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.envelope-screen{position:fixed;inset:0;z-index:50;background:#102807;display:grid;place-items:center;transition:opacity .8s ease,visibility .8s;overflow:hidden}.envelope-art{position:relative;height:100svh;width:min(100vw,66.667svh);max-width:576px;max-height:864px;aspect-ratio:2/3}.envelope-half{position:absolute;inset:0;background:url('assets/enveloppe.png') center/100% 100%;transition:transform 1.5s cubic-bezier(.65,0,.2,1),filter 1.5s;will-change:transform}.left{clip-path:polygon(0 0,52% 0,52% 100%,0 100%)}.right{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%)}#open{position:absolute;inset:0;background:none;border:0;color:#f4df9d;width:100%;padding:0}.seal-ring{position:absolute;top:48.5%;left:49%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 24px #f9ce703b;animation:glow 2.8s ease-in-out infinite}.open-note{position:absolute;top:67%;left:10%;width:80%;font:8px/1.8 Arial,sans-serif;letter-spacing:2px;text-shadow:0 2px 6px #000;background:#0c220773;padding:12px 6px;border-radius:20px;transition:opacity .4s}.envelope-names{position:absolute;left:10%;right:10%;top:24%;text-align:center;pointer-events:none;color:#efd190;font-family:'Great Vibes',cursive;font-size:clamp(30px,7vw,47px);text-shadow:0 2px 10px #031600;margin:0;transition:opacity .4s}.envelope-names span{display:block;font:9px/2 Arial;letter-spacing:4px;margin-top:10px}.opening .left{transform:translateX(-100%) rotate(-5deg);filter:brightness(.6)}.opening .right{transform:translateX(100%) rotate(5deg);filter:brightness(.6)}.opening .open-note,.opening .envelope-names,.opening .seal-ring{opacity:0}.envelope-screen.opened{opacity:0;visibility:hidden;pointer-events:none}@keyframes glow{50%{box-shadow:0 0 38px #ffe39b88}}
.hero{position:relative;width:100%;aspect-ratio:2/3;background:#e8d2ac;isolation:isolate}.palace{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.hero-copy{position:absolute;top:28%;left:16%;width:68%;text-align:center}.eyebrow{font:8px/1.9 Arial,sans-serif;letter-spacing:2.2px;color:#8d7849;display:block}.hero-copy>.eyebrow{font-size:8px;letter-spacing:3px;color:#5b583e}.hero-copy>p{font-size:clamp(13px,3.2vw,18px);font-style:italic;line-height:1.45;margin:14px -8px 10px;color:#6d5c37}h1{font-family:'Great Vibes',cursive;font-weight:400;color:var(--green);font-size:clamp(45px,11.5vw,70px);line-height:1.08;margin:18px 0 14px}h1>span{display:block}h1 i{display:block;font:italic 22px/.85 'Cormorant Garamond',serif;margin:5px 0}.hero-date{font:8px/2 Arial;letter-spacing:2px;display:block;color:#5b5238}.hero-location{display:block;font-size:17px;font-style:italic;margin-top:7px}.discover{position:absolute;bottom:1.5%;left:calc(50% - 14px);width:28px;height:28px;text-align:center;border-radius:50%;background:#fff6dfbb;color:#5c542f;font-size:23px;line-height:24px}.paper{text-align:center;padding:60px 28px;background:radial-gradient(ellipse at 90% 90%,#f4eadc77,transparent 60%),var(--cream)}h2{font-size:36px;line-height:1.02;font-weight:400;letter-spacing:-.5px;margin:18px 0 20px}h2 em{font-weight:400}.poetry{font-style:italic;color:#ad9257;font-size:21px;line-height:1.4;margin:18px 0 22px}.body-copy{font-family:Arial,sans-serif;font-size:11px;line-height:1.9;color:#9a9384;max-width:410px;margin:0 auto}.date-band{display:flex;align-items:center;gap:18px;text-align:left;background:linear-gradient(100deg,#f0e4d1aa,#f8edde66);padding:23px 24px;border-radius:10px;margin:28px 0 0}.date-icon{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#e9dcbf88;color:var(--gold);font-size:20px}.date-band .eyebrow{font-size:7px;letter-spacing:1.6px}.date-band p{font-size:28px;margin:5px 0}.date-band small{font:9px/1.7 Arial;color:#9a907d}.patience{font:24px 'Great Vibes',cursive;color:#9c8964;margin:32px 0 20px}.countdown{display:flex;gap:10px;justify-content:center}.countdown>div{width:82px;padding:20px 4px 17px;background:#fffdf9;border:1px solid #efe4d4;border-radius:7px;box-shadow:0 3px 10px #b9955c07}.countdown strong{font-weight:400;font-size:35px;color:var(--green);line-height:1}.countdown span{display:block;font:6px Arial;letter-spacing:1.5px;color:#a19682;margin-top:10px}.calendar-button{display:inline-block;border:1px solid #e7ddcb;border-radius:20px;padding:10px 16px;font:9px Arial;color:#a19682;margin-top:22px}.calendar-button:hover{border-color:var(--gold)}#count-message:empty{display:none}.celebration{padding-top:32px;padding-bottom:38px}.celebration h2{color:var(--green)}.ornament{display:flex;align-items:center;gap:12px;justify-content:center;color:var(--gold);font-size:23px;margin:28px auto;width:140px}.ornament::after,.ornament::before{content:'';height:1px;background:#c1a36866;flex:1}.moments{margin:32px auto 0;text-align:left;max-width:420px}.moments article{display:flex;gap:24px;position:relative;padding-bottom:30px}.moments article:not(:last-child)::before{content:'';position:absolute;left:22px;top:44px;bottom:0;width:1px;background:#d9ccb2}.moment-icon{background:var(--green);color:#e2c782;width:45px;height:45px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:20px}.moments .eyebrow{font-size:7px;letter-spacing:1.5px}.moments h3{font-size:28px;color:var(--green);margin:6px 0 8px;font-weight:400}.moments p{font:10px/1.9 Arial;color:#9a9384;margin:0}.palace-strip{height:185px;background:url('assets/palais.png') center bottom/100% auto;position:relative}.palace-strip::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,var(--cream))}.venue{padding-top:36px}.venue-card{text-align:left;margin:28px auto 0;background:#fffdf9;border:1px solid #f0e7d6;border-radius:9px;padding:25px 28px;max-width:410px}.venue-card .eyebrow{font-size:7px}h3{font-size:28px;line-height:1.1;font-weight:400;margin:13px 0}.venue-card>p{font:11px Arial;color:#9a9384;margin:20px 0}.map-link{font:10px/1.7 Arial;color:var(--green);border-bottom:1px solid #d6c7aa;padding-bottom:8px;display:flex;justify-content:space-between}.attention{padding-top:15px}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.two-cards article{padding:24px 15px;background:#fffdf888;border:1px solid #f1e8d8;border-radius:6px}.two-cards article>span{font-size:24px;color:var(--gold)}.two-cards h3{font-size:27px;margin:16px 0}.two-cards p{font:10px/1.9 Arial;color:#9a9384}.rsvp{padding-top:25px}form{background:#fffdf9;border:1px solid #eee4d3;border-radius:12px;margin-top:30px;padding:24px;text-align:left;box-shadow:0 10px 25px #a78c5810}form>label,legend{display:block;font:8px/1.7 Arial;letter-spacing:1px;color:#8b826e;margin:0 0 10px}form label span{font-size:8px;letter-spacing:0}input:not([type=radio]),textarea,select{display:block;width:100%;border:1px solid #e5dccd;background:#fffdf9;border-radius:4px;padding:14px 12px;font:11px/1.5 Arial;color:#554f43;margin-bottom:22px}input::placeholder,textarea::placeholder{color:#b6ac9d}input:focus,textarea:focus,select:focus{outline:1px solid var(--gold)}fieldset{border:0;padding:0;margin:0 0 22px}.choice{display:flex;align-items:center;gap:10px;border:1px solid #e5dccd;border-radius:4px;padding:13px 10px;margin-bottom:8px}.choice>span{font:10px/1.6 Arial;color:#9a9182}.choice:has(input:checked){background:#f0f3ea;border-color:#809775}.choice input{margin:0;accent-color:var(--green)}select:disabled{opacity:.45}.submit{border:0;border-radius:30px;color:#fff8e5;background:var(--green);padding:16px 20px;width:100%;font:11px Arial;display:flex;align-items:center;justify-content:center;gap:18px}.submit:hover{background:#245718}.submit:disabled{opacity:.6}.privacy{font:8px/1.8 Arial;color:#b0a797;margin:17px 0 0}#form-status{font:11px/1.8 Arial;color:var(--green)}#form-status:empty{display:none}footer{background:radial-gradient(ellipse at top,#255518,var(--green));text-align:center;color:#f8ecd1;padding:46px 24px 40px}footer .ornament{margin:0 auto 25px}.footer-names{font:46px 'Great Vibes',cursive;color:#dcc084;margin:0 0 22px}footer>p:not(.footer-names){font:10px/1.9 Arial;color:#cfcead}footer .eyebrow{font-size:6px;letter-spacing:2px;color:#c6b77f;margin-top:24px}#replay{display:block;margin:25px auto 0;background:none;border:0;border-bottom:1px solid #a8996477;padding:6px;color:#cabd92;font:9px Arial}.sound{position:fixed;bottom:18px;right:max(18px,calc((100vw - 576px)/2 + 18px));z-index:20;background:#f8edcce8;border:1px solid #ddc99b;color:var(--green);border-radius:50%;width:43px;height:43px;box-shadow:0 2px 10px #6f53231a;font:19px Georgia}.sound[hidden]{display:none}body:not(.sealed) .hero-copy{animation:appear 1.6s ease both}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:420px){.hero-copy{top:27%}.hero-copy>p{font-size:13px;margin-top:12px}h1{font-size:51px;margin:12px 0 12px}h1 i{font-size:19px}.hero-date{font-size:6px;letter-spacing:1.4px}.hero-location{font-size:14px;margin-top:4px}.hero-copy>.eyebrow{font-size:6px;letter-spacing:2px}.paper{padding-left:22px;padding-right:22px}h2{font-size:32px}.date-band{padding:20px 17px;gap:13px}.date-band p{font-size:25px}.countdown{gap:8px}.countdown>div{width:68px}.countdown strong{font-size:30px}.two-cards{gap:10px}.two-cards article{padding:22px 12px}.two-cards h3{font-size:25px}form{padding:20px}.footer-names{font-size:40px}.palace-strip{height:145px}.envelope-names{font-size:36px}}
@media(max-width:350px){h1{font-size:43px;margin:10px 0}.hero-copy>p{font-size:11px}.hero-date{font-size:5px}.hero-location{font-size:12px}.open-note{font-size:6px}.envelope-names{font-size:30px}.countdown span{font-size:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Finitions du format téléphone : texte conservé dans la zone libre de l'arche. */
@media(max-width:420px){.hero-copy{top:24%}.hero-copy>p{font-size:12px;line-height:1.35;margin:10px -8px 8px}h1{font-size:46px;line-height:1;margin:9px 0}h1 i{font-size:17px;line-height:1;margin:3px 0}.hero-location{font-size:13px}.hero-date{font-size:6px}}
@media(max-width:350px){.hero-copy>p{font-size:10px;margin:7px -8px}h1{font-size:39px;margin:7px 0}h1 i{font-size:14px}.hero-date{font-size:5px}.hero-location{font-size:11px}}
.body-copy,.moments p,.two-cards p{color:#827a6c}.sound{font-family:Arial,sans-serif}.sound[aria-label="Mettre la musique en pause"] #sound-icon{font-size:0}.sound[aria-label="Mettre la musique en pause"] #sound-icon::before{content:'';display:block;width:8px;height:14px;border-left:2px solid #164109;border-right:2px solid #164109;margin:auto}

.map-frame{position:relative;margin:22px auto 0;max-width:520px;height:340px;overflow:hidden;border-radius:18px;border:1px solid #e1d5bd;background:#eee7d8;text-align:left}.map-frame iframe{display:block;width:100%;height:100%}.map-place{position:absolute;top:12px;left:12px;background:#fffdf9;padding:14px 16px;border-radius:5px;box-shadow:0 2px 7px #0002;max-width:230px;font-family:Arial,sans-serif}.map-place strong{display:block;font-size:14px;color:#30382b}.map-place>span{display:block;font-size:10px;color:#8b826e;margin:7px 0 12px}.map-place a{display:inline-block;background:#164109;color:#fff8e7;padding:10px 14px;border-radius:22px;font-size:11px}@media(max-width:420px){.map-frame{height:320px}.map-place{padding:12px;max-width:200px}.map-place strong{font-size:13px}}

@font-face{font-family:InvitationArabic;src:url('assets/arabic.ttf') format('truetype');font-display:swap}
.blessing{padding:44px 24px;background:radial-gradient(ellipse at 50% 0,#315b20,transparent 65%),#164109;position:relative;text-align:center;color:#f4e8cc}
.blessing::before{content:'';position:absolute;inset:12px;border:1px solid #c7a75f66;pointer-events:none}
.blessing-card{position:relative;padding:38px 24px 30px;border:1px solid #c6a461;border-radius:150px 150px 12px 12px;background:linear-gradient(160deg,#ffffff08,#0000000d);box-shadow:inset 0 0 0 6px #164109,inset 0 0 0 7px #b7975244;font-family:InvitationArabic,serif}
.blessing-star{font-size:26px;color:#d8b66b;margin:0 0 20px}.bismillah{font-size:clamp(25px,6.5vw,34px);line-height:1.8;color:#e8c982;margin:0 0 6px}.quran{font-size:clamp(21px,5.4vw,28px);line-height:2.05;margin:10px 0 16px;text-wrap:pretty}.quran-end{font-size:20px;color:#d8c59a;margin:0}.arabic-divider{display:flex;align-items:center;justify-content:center;gap:16px;color:#d8b66b;font-size:26px;margin:22px auto;width:75%;direction:ltr}.arabic-divider::before,.arabic-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#c6a461)}.arabic-divider::after{transform:rotate(180deg)}.arabic-invite{font-size:27px;line-height:1.9;margin:8px 0;color:#f8edcf}.arabic-date{font-size:22px;line-height:1.9;color:#daca9d;margin:18px 0}.arabic-wish{font-size:25px;line-height:1.8;color:#e8c982;margin:24px 0 12px}.bottom-star{font-size:20px;margin:14px 0 0}@media(max-width:380px){.blessing{padding:34px 20px}.blessing-card{padding:34px 18px 26px}.arabic-invite{font-size:24px}.quran{font-size:21px}}

.invitation-art{padding:0;margin:0;background:#f1d8ad;line-height:0}.invitation-art img{display:block;width:100%;height:auto;max-width:100%}
