@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#112d34;--cream:#f5f1e8;--line:#c8c6ba;--gold:#b8a36d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit}button,input,textarea{font:inherit}.hero{min-height:100svh;background:var(--ink);color:var(--cream);display:flex;flex-direction:column;justify-content:space-between;padding:30px clamp(24px,5vw,76px);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;width:70vw;height:70vw;max-width:680px;max-height:680px;border:1px solid #a9ae9d38;border-radius:50%;pointer-events:none}.hero:before{left:-32vw;top:14%}.hero:after{right:-32vw;top:3%}.hero-top,.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.19em;position:relative;z-index:1}.hero-top .mark{font-size:1.9rem;color:var(--gold);line-height:1}.hero-bottom{color:#c6d1cb}.hero-center{text-align:center;position:relative;z-index:1;padding:60px 0}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.76rem;font-weight:600;line-height:1.6}.hero-center .eyebrow{color:#dbd7c5}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;display:flex;flex-direction:column;align-items:center;font-size:clamp(4.1rem,11vw,10rem);line-height:1.04;letter-spacing:-.065em;margin:27px 0 20px}.hero h1 span{display:block}.hero h1 .amp{font-style:italic;font-size:.48em;color:var(--gold);line-height:.85;letter-spacing:0}.rule{display:flex;align-items:center;gap:16px;justify-content:center;max-width:250px;margin:26px auto;color:var(--gold)}.rule:before,.rule:after{content:"";width:85px;height:1px;background:#b8a36d7a}.hero-date{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.4rem,3vw,2rem);margin:0 0 6px}.hero-place{margin:0;color:#c6d1cb}.hero-link{display:inline-flex;gap:20px;text-decoration:none;margin-top:55px;border-bottom:1px solid #b8a36d;padding-bottom:10px;font-size:.84rem;letter-spacing:.04em}.hero-link span{font-size:1.15rem}.panel{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:30px;padding:clamp(64px,9vw,145px) clamp(24px,8vw,130px)}.section-number{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding-top:10px}.intro{min-height:560px;align-items:center}.intro-content{max-width:800px;text-align:center}.petal{font-size:2.6rem;color:var(--gold)}.large-copy,h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3.1rem,7vw,7rem);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin:25px 0}.body-copy{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.75;max-width:580px;margin:26px auto}.details{background:#e8e7dc}.details-content{max-width:850px}h2 em{font-weight:400}.event-list{margin-top:70px;border-top:1px solid var(--line)}.event{display:grid;grid-template-columns:minmax(125px,1fr) 2fr;gap:24px;border-bottom:1px solid var(--line);padding:32px 0}.event-time{font-size:.85rem;letter-spacing:.09em;text-transform:uppercase;padding-top:8px}.event h3{font-family:'Playfair Display',Georgia,serif;font-size:2rem;font-weight:400;margin:0 0 12px}.event p{margin:5px 0;line-height:1.5}.text-link{display:inline-block;margin-top:13px;text-underline-offset:5px}.reply{background:var(--ink);color:var(--cream)}.reply-content{max-width:660px}.reply .body-copy{margin:28px 0 45px;font-size:1rem;color:#d3dad3}.reply form{display:flex;flex-direction:column;gap:11px}.reply form>label,legend{font-size:.83rem;font-weight:600;letter-spacing:.04em}.reply input[type=text],.reply textarea{border:1px solid #7a8984;background:transparent;color:var(--cream);padding:16px;border-radius:0;width:100%;outline-offset:3px}.reply input::placeholder,.reply textarea::placeholder{color:#a6b1ac}.reply textarea{resize:vertical;min-height:100px}.reply fieldset{padding:0;border:0;margin:22px 0 12px}.choice-row{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.choice{cursor:pointer;display:flex;align-items:center;gap:9px;border:1px solid #7a8984;padding:15px 17px;min-height:54px}.choice:has(input:checked){border-color:var(--gold);background:#b8a36d1c}.choice input{accent-color:var(--gold)}.optional{font-weight:400;color:#c6d1cb}.reply button{align-self:flex-start;margin-top:20px;border:0;background:var(--gold);color:#142e31;padding:18px 28px;cursor:pointer;font-weight:600}.reply button:hover{background:#d2be8a}.reply button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.form-help{font-size:.8rem;color:#c6d1cb;line-height:1.5;margin:4px 0}footer{text-align:center;padding:75px 24px 85px}footer .footer-mark{color:var(--gold);font-size:2rem}footer p{margin:12px auto}footer p:last-child{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem}@media(max-width:700px){.hero{padding:22px}.hero-top,.hero-bottom{font-size:.64rem;letter-spacing:.12em}.hero h1{font-size:clamp(3.6rem,16vw,6rem)}.panel{display:block;padding:65px 25px 80px}.section-number{margin-bottom:55px}.intro{min-height:0}.intro-content{text-align:left}.intro .body-copy{margin-left:0}.details h2,.reply h2{font-size:clamp(3rem,12vw,5rem)}.event{grid-template-columns:1fr;gap:7px}.event-time{padding:0}.event-list{margin-top:45px}.choice-row{flex-direction:column}.choice{width:100%}}@media(prefers-reduced-motion:no-preference){.hero-center{animation:appear 1s ease both}.hero-top,.hero-bottom{animation:appear 1.3s ease both}@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{--ink:#263729;--cream:#f2ead9;--line:#c6bda8;--gold:#b8995d;--sage:#354331}
body{background:#d9d4c1;color:var(--ink)}
body.invitation-closed{overflow:hidden}
.opening[hidden]{display:none}
.opening{position:fixed;inset:0;z-index:20;background:var(--sage);display:grid;place-items:center;overflow:hidden}
.opening-image{position:absolute;inset:0;background:var(--sage) url('enveloppe-botanique.png') center center/cover no-repeat;animation:envelopeArrive .8s ease-out both}
.opening-control{position:relative;z-index:2;align-self:end;text-align:center;width:100%;padding:90px 20px max(35px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#1b271bdd);color:#fff9e9}
.opening-control p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.45rem,4vw,2.1rem);margin:0 0 15px;letter-spacing:.03em}
.opening-control button{border:1px solid #eee3c6;background:#f4ecd8;color:#263729;padding:15px 25px;min-height:54px;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.opening-control button:hover{background:white}
.opening.is-opening .opening-image{animation:envelopeOpen 1s cubic-bezier(.42,0,.18,1) forwards}
.opening.is-opening .opening-control{animation:controlLeave .35s ease forwards}
@keyframes envelopeArrive{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@keyframes envelopeOpen{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1.025)}100%{opacity:0;transform:translateY(-11%) scale(1.13)}}
@keyframes controlLeave{to{opacity:0;transform:translateY(20px)}}
.hero{color:var(--ink);background:radial-gradient(circle at 12% 17%,#fff9ed90 0 1px,transparent 2px),radial-gradient(circle at 80% 70%,#b3ac9228 0 1px,transparent 2px),var(--cream);background-size:21px 25px,37px 31px,auto;min-height:100svh;margin:clamp(0px,2vw,24px);border:1px solid #a9a68d;padding:clamp(28px,4vw,52px);box-shadow:0 10px 35px #24301d1a}
.hero:before{width:calc(100% - 27px);height:calc(100% - 27px);max-width:none;max-height:none;left:13px;top:13px;border:1px solid #9d9c7f80;border-radius:0}
.hero:after{display:none}
.hero-top,.hero-bottom{color:#596651}
.hero-top .mark{color:var(--gold)}
.hero-top .hero-bird{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4.9rem;height:4.9rem;display:block;background-color:var(--gold);-webkit-mask:url('love-bird-source.png') center/contain no-repeat;mask:url('love-bird-source.png') center/contain no-repeat}
.hero-center{transition:opacity .7s ease,transform .7s ease}
.invitation-closed .hero-center{opacity:0;transform:translateY(24px)}
.hero-center .eyebrow{color:#55634d}
.hero h1{font-size:clamp(4.1rem,10vw,9rem);letter-spacing:-.055em}
.hero h1 .amp{color:var(--gold)}
.rule:before,.rule:after{background:#b8995d99}
.hero-place{color:#596651}
.hero-link{border-color:var(--gold)}
.intro{background:radial-gradient(circle at 70% 25%,#e6dfca 0,transparent 42%),#f7f2e7}
.petal,footer .footer-mark{color:var(--gold)}
.details{background:radial-gradient(circle at 75% 20%,#56684d 0,transparent 58%),var(--sage);color:#f7f2e6}
.details .eyebrow,.details .section-number{color:#d0c6a7}
.details .event-list,.details .event{border-color:#bbc2a252}
.details .event-time{color:#d7c89c}
.reply{background:radial-gradient(circle at 80% 15%,#fffaf0,transparent 50%),#e9e1d0;color:var(--ink)}
.reply .body-copy,.reply .optional,.reply .form-help{color:#536150}
.reply input[type=text],.reply textarea{border-color:#8c9888;color:var(--ink);background:#fffdf77a}
.reply input::placeholder,.reply textarea::placeholder{color:#6b786c}
.choice{border-color:#8c9888}
.choice:has(input:checked){background:#b8995d29}
.reply button{background:var(--sage);color:#fff8e7}
.reply button:hover{background:#4c5e42}
.reply button:focus-visible,.opening button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
footer{background:#f8f3e9}
@media(max-width:700px){.hero{margin:0;min-height:100svh;padding:31px 27px}.hero:before{width:calc(100% - 18px);height:calc(100% - 18px);left:9px;top:9px}.hero-top,.hero-bottom{font-size:.6rem}.hero h1{font-size:clamp(3.65rem,15vw,6rem)}.hero-center{padding:40px 0}.opening-image{background-position:center center}}
@media(prefers-reduced-motion:reduce){.opening-image{animation:none}.opening.is-opening .opening-image,.opening.is-opening .opening-control{animation:none;opacity:0}.hero-center{transition:none}}
.opening-stage{position:absolute;inset:0;width:min(100%,62svh);margin-inline:auto;overflow:hidden;perspective:1100px;background:#3c4937}
.opening-stage>div{position:absolute;inset:0}
.opening-paper{z-index:1;background:var(--cream) url('papier-beige.png') center/cover;border:double 5px #b7a883;inset:10% 10% 8%!important;box-shadow:0 0 35px #111d1299;opacity:0;transform:translateY(48%)}
.opening-paper:after{content:'Invitation';position:absolute;left:0;right:0;top:38%;font-family:'Cormorant Garamond',Georgia,serif;text-align:center;color:var(--ink);font-size:clamp(2rem,7vw,4rem);letter-spacing:.1em}
.envelope-base,.envelope-flap{background:var(--sage) url('enveloppe-botanique.png') center/cover no-repeat}
.envelope-base{z-index:2;clip-path:polygon(0 27%,50% 57%,100% 27%,100% 100%,0 100%)}
.envelope-flap{z-index:3;clip-path:polygon(0 0,100% 0,100% 27%,50% 57%,0 27%);transform-origin:50% 27%;backface-visibility:hidden}
.opening-control{z-index:4;padding:45px 20px max(32px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#19241791)}
.opening-control button{font-size:.74rem;letter-spacing:.1em;padding:10px 17px;min-height:42px;border:1px solid #dcc99c;border-radius:999px;background:#f3ead7e8;box-shadow:0 4px 16px #16231555;backdrop-filter:blur(4px);display:inline-flex;align-items:center;gap:9px}
.opening-control button span{font-size:.9rem;color:#ab874f}
.opening.is-opening .envelope-flap{animation:flapFold .8s cubic-bezier(.45,0,.2,1) both}
.opening.is-opening .opening-paper{animation:paperRise .95s .56s cubic-bezier(.19,.8,.2,1) forwards}
.opening.is-opening .envelope-base{animation:baseDepart .85s .83s ease-in forwards}
.opening.is-opening .opening-stage{animation:stageFade .36s 1.54s linear forwards}
@keyframes flapFold{0%{transform:rotateX(0);filter:brightness(1)}55%{transform:rotateX(-96deg);filter:brightness(.66)}100%{transform:rotateX(-180deg);opacity:0}}
@keyframes paperRise{0%{opacity:0;transform:translateY(48%)}20%{opacity:1}100%{opacity:1;transform:translateY(-2%)}}
@keyframes baseDepart{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(26%)}}
@keyframes stageFade{to{opacity:0}}
.hero{background:#f3ead9 url('papier-beige-elegant.png') center/cover}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(4.5rem,11vw,10rem);line-height:.86;letter-spacing:-.055em}
.hero h1 .amp{font-family:'Cormorant Garamond',Georgia,serif;font-size:.57em;line-height:1.12}
@media(max-width:700px){.hero h1{font-size:clamp(4.3rem,16vw,6.8rem)}.opening-control{padding-bottom:max(27px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.opening.is-opening .envelope-flap,.opening.is-opening .opening-paper,.opening.is-opening .envelope-base,.opening.is-opening .opening-stage{animation:none}.opening.is-opening .opening-stage{opacity:0}}
.opening-stage{background:#263c2a}
.opening-logo{z-index:1;background:#263c2a url('carte-verte.png') center/cover;color:#e2cf9e;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.opening-logo:before{content:'';position:absolute;inset:3%;border:1px solid #cfbb8560;pointer-events:none}
.logo-frame{width:clamp(148px,45%,220px);aspect-ratio:1/1.17;border:1px solid #d9c28b;border-radius:47% 47% 43% 43%;display:grid;place-items:center;box-shadow:0 0 0 7px #233b2b,0 0 0 8px #d9c28b55}
.logo-initials{display:flex;flex-direction:column;align-items:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.2rem,8vh,5.3rem);font-weight:500;line-height:.69}
.logo-initials small{font-size:.31em;font-style:italic;line-height:1.2;color:#c9ab70}
.logo-names{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.35rem,3.3vh,2.1rem);letter-spacing:.09em;margin:28px 15px 4px}
.logo-date{font-size:.74rem;letter-spacing:.24em;margin:3px 0;text-transform:uppercase}
.opening-stage .envelope-base{display:none}
.opening-stage .envelope-flap,.opening-stage .envelope-left,.opening-stage .envelope-right,.opening-stage .envelope-bottom,.opening-stage .envelope-seal{background:#354331 url('enveloppe-ananas.png') center/cover no-repeat;backface-visibility:hidden;will-change:transform,opacity}
.opening-stage .envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,100% 27%,50% 56%,0 27%);transform-origin:50% 0}
.opening-stage .envelope-left{z-index:3;clip-path:polygon(0 27%,50% 56%,0 74%);transform-origin:0 50%}
.opening-stage .envelope-right{z-index:3;clip-path:polygon(100% 27%,50% 56%,100% 74%);transform-origin:100% 50%}
.opening-stage .envelope-bottom{z-index:2;clip-path:polygon(0 74%,50% 56%,100% 74%,100% 100%,0 100%);transform-origin:50% 100%}
.opening-stage .envelope-seal{z-index:5;clip-path:circle(8% at 50% 52%);transform-origin:50% 52%}
.opening.is-opening .envelope-seal{animation:sealRelease .4s ease-in forwards}
.opening.is-opening .envelope-flap{animation:topFold 1s .16s cubic-bezier(.45,0,.2,1) forwards}
.opening.is-opening .envelope-left{animation:leftFold .85s .63s ease-in-out forwards}
.opening.is-opening .envelope-right{animation:rightFold .85s .68s ease-in-out forwards}
.opening.is-opening .envelope-bottom{animation:bottomFold .85s 1.02s ease-in-out forwards}
.opening.is-opening .logo-frame,.opening.is-opening .logo-names,.opening.is-opening .logo-date{animation:logoReveal .75s 1.6s ease-out both}
.opening.is-opening .opening-stage{animation:logoDepart .65s 4.03s ease-in-out forwards}
@keyframes sealRelease{to{opacity:0;transform:scale(1.18)}}
@keyframes topFold{0%{transform:rotateX(0);opacity:1}65%{opacity:1}100%{transform:rotateX(175deg);opacity:0}}
@keyframes leftFold{0%{transform:rotateY(0);opacity:1}70%{opacity:1}100%{transform:rotateY(-170deg);opacity:0}}
@keyframes rightFold{0%{transform:rotateY(0);opacity:1}70%{opacity:1}100%{transform:rotateY(170deg);opacity:0}}
@keyframes bottomFold{0%{transform:rotateX(0);opacity:1}70%{opacity:1}100%{transform:rotateX(-170deg);opacity:0}}
@keyframes logoReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes logoDepart{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.opening.is-opening .envelope-seal,.opening.is-opening .envelope-flap,.opening.is-opening .envelope-left,.opening.is-opening .envelope-right,.opening.is-opening .envelope-bottom,.opening.is-opening .logo-frame,.opening.is-opening .logo-names,.opening.is-opening .logo-date,.opening.is-opening .opening-stage{animation:none}.opening.is-opening .opening-stage{opacity:0}}
.opening{transition:opacity .65s ease;background:#233827}
.opening-video{position:absolute;inset:0;height:100%;width:min(100%,56.25svh);margin:auto;object-fit:cover;background:#263c2a}
.opening-control{transition:opacity .38s ease,transform .38s ease}
.opening.is-playing .opening-control{opacity:0;transform:translateY(12px);pointer-events:none}
.opening.is-leaving{opacity:0}
#title:focus{outline:none}
@media(prefers-reduced-motion:reduce){.opening{transition:none}}
@font-face{font-family:'Eyesome Script';src:url('Eyesome-Script.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
.hero h1{font-size:clamp(3.35rem,8.2vw,7.4rem);line-height:1;margin:clamp(34px,5vh,58px) 0 28px;gap:.08em}
.hero h1 #name-one,.hero h1 #name-two{font-family:'Eyesome Script','Cormorant Garamond',cursive;font-weight:400;letter-spacing:0;line-height:.9;max-width:100%;padding-inline:.18em}
.hero h1 .amp{font-size:.42em;line-height:.7;margin:.02em 0 -.02em}
#footer-names{font-family:'Eyesome Script','Cormorant Garamond',cursive;font-size:2.4rem;letter-spacing:.01em}
@media(max-width:700px){
  .hero-center{padding:48px 0 34px}
  .hero h1{font-size:clamp(3rem,12vw,4.85rem);margin:42px 0 31px;gap:.13em}
  .hero h1 #name-one,.hero h1 #name-two{line-height:.92;padding-inline:.2em}
  .hero h1 .amp{font-size:.46em;margin:.02em 0}
}

/* Lumière douce sur l'enveloppe d'ouverture. */
.opening::after{content:'';position:absolute;z-index:1;top:-18%;right:-20%;width:min(78vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff7cf7d 0,#f2d78a36 28%,transparent 68%);filter:blur(14px);mix-blend-mode:screen;opacity:.58;pointer-events:none;animation:haloBreath 4.8s ease-in-out infinite alternate}
@keyframes haloBreath{from{opacity:.38;transform:translate3d(2%,-1%,0) scale(.94)}to{opacity:.65;transform:translate3d(-2%,2%,0) scale(1.06)}}

.music-toggle[hidden]{display:none}
.music-toggle{position:fixed;z-index:15;right:18px;bottom:max(18px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 15px;border:1px solid #b8995d8c;border-radius:999px;background:#f5eddcde;color:var(--ink);box-shadow:0 5px 20px #2637292e;backdrop-filter:blur(8px);cursor:pointer;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.music-toggle:hover{background:#fffaf0}.music-toggle[aria-pressed="false"]{opacity:.72}.music-note{font-size:1rem;color:#9d7b3f;line-height:1}
@media(max-width:700px){.music-toggle{width:43px;min-height:43px;justify-content:center;padding:0}.music-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}

/* Mouvement de profondeur très léger pendant le défilement. */
.parallax-layer{transform:translate3d(0,var(--parallax-shift,0px),0);will-change:transform}
.hero{background-position:center calc(50% + var(--hero-parallax,0px))}
@media(prefers-reduced-motion:reduce){.opening::after{animation:none}.parallax-layer{transform:none}.hero{background-position:center}}

/* Symbole vectoriel stable sur tous les navigateurs, notamment Safari iOS. */
.ornament-star{display:block;width:1.9rem;height:1.9rem}.rule .ornament-star{width:1.1rem;height:1.1rem}.petal .ornament-star{width:2.5rem;height:2.5rem;margin:auto}.footer-mark .ornament-star{width:2rem;height:2rem;margin:auto}
.intro-dress{display:block;width:2.5rem;height:2.5rem;object-fit:contain;margin:auto}.footer-car{display:block;width:clamp(72px,9vw,112px);height:auto;margin:24px auto 0}

/* Ornements botaniques en filigrane. */
.panel{position:relative;isolation:isolate;overflow:hidden}.panel>*{position:relative;z-index:1}
.intro::after,.details::after,.reply::after{content:'';position:absolute;z-index:0;background-position:center;background-size:contain;background-repeat:no-repeat;pointer-events:none}
.intro::after{width:clamp(330px,43vw,620px);height:310px;right:-5%;bottom:-8%;background-image:url('ornement-mariage.webp');opacity:.42;transform:rotate(-3deg)}
.details::after{width:clamp(110px,14vw,180px);height:150px;right:5%;top:8%;background-image:url('alliances-fleuries.svg');opacity:.72}
.reply::after{width:clamp(100px,13vw,170px);height:180px;left:50%;bottom:20px;transform:translateX(-50%);background-color:var(--gold);background-image:none;opacity:.5;-webkit-mask:url('rose-source.png') center/contain no-repeat;mask:url('rose-source.png') center/contain no-repeat}

@media(max-width:700px){
  .hero-top .hero-bird{left:50%;width:4.4rem;height:4.4rem}
  .section-number{text-align:center;margin-bottom:48px}
  .intro-content,.details-content{margin-inline:auto;text-align:center}
  .intro .body-copy{margin:26px auto}
  .details .event{grid-template-columns:minmax(72px,.62fr) minmax(0,2fr);gap:18px;text-align:left}
  .details .event-time{padding-top:8px}
  .reply-content{margin-inline:auto}
  .reply-content>.eyebrow,.reply-content>h2,.reply-content>.body-copy{text-align:center}
  .reply .body-copy{margin:28px auto 45px}
  .reply form{text-align:left}
  .intro::after{width:310px;height:190px;right:-90px;bottom:-26px;opacity:.28}
  .details::after{width:105px;height:90px;right:10px;top:90px;opacity:.64}
  .reply{padding-bottom:185px}
  .reply::after{width:95px;height:115px;left:50%;bottom:28px;opacity:.42}
}
