@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;1,500&family=Montserrat:wght@400;500;600&family=Prata&display=swap');

:root{--navy:#172d50;--deep:#102d54;--blue:#315d8e;--mist:#c5d0dd;--paper:#f3f0e9;--gold:#d8b875;--serif:'Prata','Baskerville','Times New Roman',serif;--script:'Cormorant Garamond','Georgia',serif;--sans:'Montserrat','Arial',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--deep);font-family:var(--serif)}img{display:block;max-width:100%}a{color:inherit}.slide{position:relative;isolation:isolate;width:100%;min-height:100svh;overflow:hidden}.slide>img:not(.hero-couple):not(.hero-snow-bank):not(.frost-border):not(.ornate-frame):not(.dress-pattern):not(.chandelier):not(.angel){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.script{font-family:var(--script);font-style:italic}.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.34em}.gold{color:var(--gold)}.blue{color:var(--blue)}

.hero{height:100svh;background:var(--navy);color:white}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:rgba(23,45,80,.28)}.hero-couple{position:absolute;z-index:2;right:7%;bottom:-3%;height:83%;width:auto;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(7,24,47,.25))}.hero-snow-bank{position:absolute;z-index:3;left:25%;right:-4%;bottom:-5%;width:82%;height:20%;object-fit:cover;object-position:50% 15%;opacity:.92}.monogram,.details-link{position:absolute;z-index:6;top:5.5%;font-size:1.35rem;letter-spacing:.18em}.monogram{left:4.5%}.details-link{right:5%;font:500 .8rem var(--sans);letter-spacing:.27em;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.6rem}.details-link span{font-size:1rem}.glass-card{background:rgba(18,43,76,.66);border:1px solid rgba(216,184,117,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.hero-card{position:absolute;z-index:5;left:4.4%;top:15%;width:min(41vw,520px);padding:2rem 2.25rem 1.85rem}.hero-card .script{font-size:clamp(1.4rem,2.1vw,2rem);margin:0 0 .75rem}.hero-card .eyebrow{margin:.25rem 0 1rem}.hero-card h1{margin:0;font-size:clamp(3.4rem,6.2vw,5.8rem);line-height:1.1;font-weight:400}.hero-card h1 em{display:block;color:var(--gold);font-family:var(--script);font-size:.5em;line-height:.75}.date-card{position:absolute;z-index:5;right:5%;top:19%;width:min(25vw,330px);min-height:190px;padding:2rem 2rem 1.25rem;display:grid;grid-template-columns:auto 1fr;gap:.2rem 1.25rem;align-items:start}.date-card strong{font-size:clamp(4rem,6vw,6rem);font-weight:400;line-height:.9}.date-card>div{display:grid;font-size:clamp(1.4rem,2vw,2rem);line-height:1.05;color:var(--gold);padding-top:.25rem}.date-card small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.25);padding-top:1rem;margin-top:.5rem;letter-spacing:.3em}.scroll-cue{position:absolute;z-index:7;left:50%;bottom:2.5%;transform:translateX(-50%);font:italic 1.1rem var(--script);text-decoration:none;white-space:nowrap}.snow{position:absolute;z-index:8;inset:0;pointer-events:none;overflow:hidden}.snow i{position:absolute;top:-10%;display:block;width:var(--size);height:var(--size);border-radius:50%;background:#fff;opacity:var(--opacity);filter:blur(var(--blur));animation:snowfall var(--duration) linear var(--delay) infinite}@keyframes snowfall{to{transform:translate3d(var(--drift),115vh,0) rotate(360deg)}}

.invitation{background:var(--paper);display:grid;place-items:center;text-align:center;padding:7vh 5vw}.frost-fill{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:.3}.ornate-frame{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.invitation-copy{z-index:2;max-width:920px}.invitation-copy .script{font-size:clamp(1.8rem,3vw,3rem);margin:0 0 1.2rem}.invitation-copy h2{font-size:clamp(3rem,6vw,6.2rem);font-weight:400;line-height:1.12;margin:0 0 1.6rem}.invitation-copy>p:last-child{font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.5;color:#53627a;margin:0}

.save-date{background:var(--navy);color:white;padding:8vh 7vw}.frost-border{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18}.date-heading{position:absolute;left:8%;top:11%}.date-heading .eyebrow{font-size:.85rem}.date-display{display:flex;align-items:flex-end;gap:1.5rem}.date-display strong{font-size:clamp(7rem,15vw,13rem);line-height:.9;color:var(--gold);font-weight:400}.date-display span{font-size:clamp(2rem,4vw,4rem);line-height:1.15;padding-bottom:1rem}.countdown{position:absolute;right:7%;top:11%;display:flex;gap:2.6rem;text-align:center}.countdown div{display:grid}.countdown strong{font-size:clamp(2.7rem,5vw,5rem);font-weight:400}.countdown span{font:500 .65rem var(--sans);letter-spacing:.2em;color:var(--mist)}.calendar{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);width:min(680px,60vw);padding:1.5rem 2rem;background:rgba(10,35,70,.72);border:1px solid rgba(216,184,117,.75);text-align:center}.calendar h2{font-weight:400;margin:.2rem 0 1.2rem;font-size:1.8rem}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.week b{font:.65rem var(--sans);letter-spacing:.15em;color:var(--mist)}.days span{display:grid;place-items:center;min-height:2.2rem}.days .chosen{border:1px solid var(--gold);background:#315d8e;border-radius:50%;width:2.3rem;height:2.3rem;justify-self:center}

.ceremony{background:#35506e}.ceremony>img{filter:saturate(.82)}.place-card{position:absolute;z-index:2;left:5.5%;top:50%;transform:translateY(-50%);width:min(360px,32vw);min-height:535px;padding:2.25rem;background:rgba(243,240,233,.95);border:1px solid rgba(216,184,117,.75)}.place-card>strong{display:block;font-size:5.1rem;color:var(--blue);font-weight:400;line-height:1.15}.place-card h2{font-size:3.2rem;font-weight:400;margin:.4rem 0 1rem}.place-card .script{font-size:1.4rem;margin:.2rem 0 2rem}.place-card address{font-style:normal;font-size:1.45rem;line-height:1.3;color:#405776}.place-card a{display:block;margin-top:2.3rem;padding:1rem;border:1px solid rgba(216,184,117,.75);text-align:center;text-decoration:none;font-size:.85rem;letter-spacing:.04em}

.schedule{background:#e6edf2;padding:4vh 4vw}.schedule>img{opacity:.32}.schedule header{position:relative;text-align:center;z-index:2}.schedule header p{color:var(--blue);margin:0 0 .45rem}.schedule header h2{font-size:clamp(2rem,4vw,4rem);font-weight:400;margin:0}.timeline{position:relative;z-index:2;width:min(700px,75vw);margin:4vh auto 0}.timeline article{position:relative;display:grid;grid-template-columns:86px 40px 1fr;gap:1rem;min-height:105px}.timeline article:not(:last-child)::after{content:"";position:absolute;left:120px;top:32px;width:1px;height:calc(100% - 4px);background:#5b83a9}.timeline time{color:var(--blue);font-size:1.2rem;padding-top:.35rem}.timeline i{display:grid;place-items:center;width:30px;height:30px;border:1px solid #5b83a9;border-radius:50%;color:var(--blue);font-style:normal;background:#e7eef2}.timeline h3{margin:0;color:var(--deep);font-size:1.7rem;font-weight:400}.timeline p{margin:.35rem 0;color:#53627a;line-height:1.25;font-size:.92rem}

.dress-code{background:var(--navy);color:var(--paper)}.dress-pattern{position:absolute;inset:-10%;width:65%;height:120%;object-fit:cover;opacity:.35}.chandelier{position:absolute;right:1%;top:-6%;width:40%;height:55%;object-fit:contain;opacity:.16}.dress-copy{position:absolute;z-index:2;left:5%;top:14%;width:43%}.dress-copy>p:first-child{font:500 1.1rem var(--serif);color:var(--mist)}.dress-copy h2{font-size:clamp(3rem,5.4vw,5.5rem);font-weight:400;line-height:1.12;margin:.4rem 0 2rem}.dress-copy>p:not(:first-child){font-size:clamp(1.1rem,1.8vw,1.55rem);line-height:1.3;color:var(--mist);max-width:540px}.palette{position:absolute;z-index:2;right:6%;top:22%;width:40%;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 1.5rem}.palette figure{margin:0;text-align:center}.palette i{display:block;width:min(9vw,105px);aspect-ratio:1;margin:auto;background:var(--swatch);border-radius:50%;border:1px solid rgba(255,255,255,.35)}.palette figcaption{margin-top:1rem;font:500 .56rem var(--sans);color:var(--mist)}

.details{background:var(--paper);padding:5vh 7vw}.details>h2{position:relative;z-index:2;text-align:center;font-size:clamp(2rem,3.3vw,3.5rem);font-weight:400;margin:0 0 4vh}.angel{position:absolute;z-index:-1;top:-4%;height:112%;width:43%;object-fit:contain;opacity:.58}.angel-left{left:-9%}.angel-right{right:-9%;transform:scaleX(-1)}.detail-cards{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:7vw;position:relative;z-index:2}.detail-cards article{min-height:490px;background:rgba(243,240,233,.94);border:1px solid rgba(216,184,117,.75);padding:2rem}.detail-cards small{color:var(--blue)}.detail-cards h3{font-size:2rem;font-weight:400;margin:1.5rem 0}.detail-cards li,.detail-cards p{font-size:1.15rem;line-height:1.55;color:#53627a;margin-bottom:1.1rem}.detail-cards blockquote{margin:1rem 0 1.5rem;background:var(--mist);padding:1rem;color:var(--deep);font-size:1.2rem;line-height:1.45;text-align:center}

.rsvp{background:#8da5bf;padding:5vh 6vw}.rsvp>img{object-position:center}.rsvp-intro{position:absolute;z-index:2;left:6%;top:10%;width:31%;padding:1.7rem;color:white}.rsvp-intro h2{font-size:clamp(3rem,5vw,5rem);line-height:.98;font-weight:400;margin:.65rem 0 1.4rem}.rsvp-intro>p:last-child{font-size:1rem;line-height:1.35}.rsvp-form{position:absolute;z-index:2;right:6%;top:5%;width:52%;height:90%;overflow:auto;background:rgba(243,240,233,.97);border:1px solid rgba(216,184,117,.75);padding:1.6rem 2rem;color:var(--deep);font-family:var(--serif)}.rsvp-form>label,.rsvp-form legend{display:block;font:bold .8rem var(--serif);letter-spacing:.02em}.rsvp-form input[type=text],.rsvp-form input:not([type]),.rsvp-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #8997a8;background:transparent;padding:.45rem 0 .5rem;font:1rem var(--serif);color:var(--deep);outline:none}.rsvp-form fieldset{border:0;padding:.9rem 0;margin:0;display:flex;gap:2rem;flex-wrap:wrap}.rsvp-form fieldset label{font-size:.9rem}.rsvp-form .drinks{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem}.rsvp-form textarea{resize:vertical}.adult-note{font-size:.8rem;line-height:1.35}.rsvp-form button{width:100%;border:1px solid rgba(216,184,117,.75);background:var(--navy);color:white;padding:1rem;font:bold .75rem var(--sans);letter-spacing:.25em;cursor:pointer}.rsvp-form output{display:block;text-align:center;color:var(--blue);padding-top:.5rem;font-size:.9rem}

.finale{height:100svh;background:var(--navy);color:white}.finale>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.finale>img:nth-child(2){z-index:1}.final-shade{position:absolute;z-index:2;inset:0;background:rgba(11,35,72,.36)}.final-copy{position:absolute;z-index:3;top:3.5%;left:50%;transform:translateX(-50%);width:80%;text-align:center}.final-copy .script{font-size:2rem;margin:0}.final-copy h2{font-size:clamp(3rem,5vw,5rem);font-weight:400;margin:0}.final-copy>p:last-child{letter-spacing:.25em;margin:.5rem 0}

@media (max-width:700px){
  .slide{min-height:100svh}.hero{height:100svh}.hero-bg{object-position:45% center}.hero-couple{right:-12%;bottom:0;height:63%;max-width:88%;object-position:right bottom}.hero-snow-bank{left:10%;width:120%;bottom:-1%;height:12%}.monogram{left:6%;top:3.5%;font-size:1rem}.details-link{right:6%;top:3.8%;font-size:.58rem}.hero-card{left:5%;right:5%;top:11%;width:auto;padding:1.25rem 1.35rem;max-width:360px}.hero-card .script{font-size:1.35rem}.hero-card .eyebrow{font-size:.54rem}.hero-card h1{font-size:clamp(2.7rem,13vw,4rem)}.date-card{right:auto;left:5%;top:48%;width:44%;min-width:175px;min-height:118px;padding:1rem}.date-card strong{font-size:3rem}.date-card>div{font-size:1rem}.date-card small{font-size:.48rem;padding-top:.55rem}.scroll-cue{font-size:.9rem;bottom:1.5%}
  .invitation{padding:9vh 7vw}.ornate-frame{object-fit:cover;opacity:.8}.invitation-copy h2{font-size:clamp(2.4rem,11vw,4rem)}.invitation-copy>p:last-child{font-size:1.05rem}.invitation-copy br{display:none}
  .save-date{padding:6vh 6vw}.date-heading{left:7%;top:7%}.date-display strong{font-size:7rem}.date-display span{font-size:1.8rem}.countdown{top:30%;left:7%;right:7%;justify-content:space-between;gap:.5rem}.countdown strong{font-size:2.5rem}.calendar{width:88%;bottom:5%;padding:1.2rem .8rem}.calendar h2{font-size:1.45rem}.days span{min-height:2rem}
  .ceremony>img{object-position:61% center}.place-card{left:6%;right:6%;top:auto;bottom:5%;transform:none;width:auto;min-height:0;padding:1.5rem}.place-card>strong{font-size:3.5rem}.place-card h2{font-size:2.3rem;margin:.1rem 0 .5rem}.place-card .script{font-size:1.1rem;margin:.2rem 0 1rem}.place-card address{font-size:1rem}.place-card a{margin-top:1rem;padding:.75rem}
  .schedule{padding:5vh 5vw}.schedule header h2{font-size:2.2rem}.timeline{width:100%;margin-top:4vh}.timeline article{grid-template-columns:64px 34px 1fr;gap:.6rem;min-height:145px}.timeline article:not(:last-child)::after{left:80px}.timeline time{font-size:.95rem}.timeline h3{font-size:1.35rem}.timeline p{font-size:.82rem}.timeline i{width:28px;height:28px}
  .dress-pattern{width:150%;height:100%;opacity:.25}.chandelier{width:85%;height:45%;right:-30%}.dress-copy{left:7%;top:7%;width:86%}.dress-copy h2{font-size:3rem;margin-bottom:1.1rem}.dress-copy>p:not(:first-child){font-size:1.05rem}.palette{left:7%;right:7%;top:auto;bottom:7%;width:auto;gap:1.5rem .4rem}.palette i{width:70px}.palette figcaption{font-size:.45rem}
  .details{padding:5vh 5vw;overflow:auto}.details>h2{margin-bottom:2vh}.angel{width:80%;opacity:.24}.detail-cards{grid-template-columns:1fr;gap:1rem}.detail-cards article{min-height:0;padding:1.35rem}.detail-cards h3{font-size:1.7rem;margin:.7rem 0}.detail-cards li,.detail-cards p{font-size:.94rem;margin-bottom:.5rem}.detail-cards blockquote{font-size:1rem;margin:.5rem 0 1rem}
  .rsvp{min-height:1450px;padding:0}.rsvp>img{height:100svh!important;object-position:24% center}.rsvp-intro{left:5%;right:5%;top:5%;width:auto;padding:1.25rem}.rsvp-intro h2{font-size:3rem}.rsvp-form{left:5%;right:5%;top:39%;width:auto;height:auto;overflow:visible;padding:1.3rem}.rsvp-form fieldset{gap:.8rem}.rsvp-form .drinks{grid-template-columns:1fr}.rsvp-form button{letter-spacing:.16em}
  .finale>img{object-position:55% center}.final-copy{top:4%;width:95%}.final-copy .script{font-size:1.6rem}.final-copy h2{font-size:2.55rem}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.snow i{animation:none}}

/*
  Layout lock: every screen keeps the same internal coordinate system as the
  Figma frames. JavaScript scales the complete frame as one object, so text,
  images and cards never reflow independently when the browser is resized.
*/
.slide-shell{position:relative;width:100%;overflow:hidden;background:var(--navy)}
.slide-shell>.slide{position:absolute;inset:0 auto auto 0;transform-origin:0 0}
.slide{width:1280px!important;height:720px!important;min-height:720px!important}

/* First screen — exact 1280×720 geometry from the final Figma frame. */
.hero-bg{width:1280px;height:720px;object-fit:cover}
.hero-shade{width:1280px;height:720px;background:rgba(23,45,80,.3)}
.hero-couple{left:384px;right:auto;top:173px;bottom:auto;width:724px;height:733px;max-width:none;object-fit:contain;filter:none}
.hero-snow-bank{display:none}
.monogram{display:none}
.details-link{left:917px;right:auto;top:37px;padding:0 0 15px;width:311px;font:400 20px/1.12 var(--serif);letter-spacing:0;border-bottom:1px solid rgba(255,255,255,.35)}
.hero-card{left:30px;top:38px;width:421px;height:249px;padding:0;background:rgba(16,45,80,.82);backdrop-filter:blur(6px)}
.hero-card .script{position:absolute;left:38px;top:19px;margin:0;font:400 24px/1.12 var(--serif);white-space:nowrap}
.hero-card .eyebrow{position:absolute;left:38px;top:58px;margin:0;font:italic 500 14px/1.12 var(--script);letter-spacing:0;white-space:nowrap}
.hero-card h1{position:absolute;left:29px;top:84px;margin:0;font:400 50px/1.12 var(--serif);white-space:nowrap}
.hero-card h1 em{position:absolute;left:12px;top:54px;display:block;font:italic 400 32px/1.12 var(--script)}
.hero-card h1 em::after{content:'Артём';position:absolute;left:-12px;top:43px;color:white;font:400 50px/1.12 var(--serif);white-space:nowrap}
.hero-card h1{font-size:0}
.hero-card h1::before{content:'Александра';font:400 50px/1.12 var(--serif)}
.hero-card h1::after{content:''}
.date-card{left:917px;right:auto;top:79px;width:315px;height:204px;min-height:0;padding:0;display:block;background:rgba(16,45,80,.9)}
.date-card strong{position:absolute;left:13px;top:19px;font:400 120px/1.12 var(--serif)}
.date-card>div{position:absolute;left:157px;top:45px;display:block;padding:0;color:#e0c788;font:400 32px/1.12 var(--serif)}
.date-card>div span{display:block}.date-card>div span+span{font-size:38px;margin-top:7px}
.date-card small{position:absolute;left:18px;top:159px;width:278px;margin:0;padding:13px 0 0;border-top:1px solid rgba(255,255,255,.35);font:400 20px/1.12 var(--serif);letter-spacing:0}
.scroll-cue{display:none}

/* Fixed desktop geometry for the remaining frames. */
.invitation{padding:50px 64px}.invitation-copy{width:980px;max-width:none}.invitation-copy .script{font-size:38px;margin-bottom:18px}.invitation-copy h2{font-size:72px;line-height:1.12;margin-bottom:22px}.invitation-copy>p:last-child{font-size:23px;line-height:1.45}
.save-date{padding:0}.date-heading{left:80px;top:72px}.countdown{right:78px;top:76px}.calendar{bottom:34px;width:680px}
.ceremony .place-card{left:56px;top:72px;transform:none;width:360px;height:536px;min-height:0}
.schedule{padding:32px 40px}.schedule header h2{font-size:48px}.timeline{width:689px;margin-top:48px}
.dress-copy{left:80px;top:94px;width:526px}.palette{right:80px;top:170px;width:500px}
.details{padding:52px 70px}.detail-cards{grid-template-columns:413px 423px;gap:100px}.detail-cards article{height:492px;min-height:0}
.rsvp{padding:0}.rsvp-intro{left:78px;top:70px;width:390px}.rsvp-form{right:77px;top:45px;width:663px;height:630px}
.final-copy{top:25px;width:760px}.final-copy .script{font-size:32px}.final-copy h2{font-size:58px}

@media (max-width:700px){
  .slide{width:430px!important;height:932px!important;min-height:932px!important}
  .hero-bg{width:430px;height:932px}.hero-shade{width:430px;height:932px}
  .hero-couple{left:80px;top:420px;width:430px;height:540px;max-width:none}
  .hero-snow-bank{display:block;left:20px;bottom:-10px;width:520px;height:120px}
  .monogram{display:block;left:24px;top:24px;font-size:16px}
  .details-link{left:auto;right:24px;top:27px;width:166px;font:500 10px/1.2 var(--sans);letter-spacing:.18em;padding-bottom:8px}
  .hero-card{left:22px;top:90px;width:386px;height:244px;padding:0}
  .hero-card .script{left:26px;top:22px;font-size:23px}
  .hero-card .eyebrow{left:26px;top:61px;font-size:11px}
  .hero-card h1{left:23px;top:89px}.hero-card h1::before{font-size:47px}.hero-card h1 em{left:7px;top:52px;font-size:30px}.hero-card h1 em::after{left:-7px;top:42px;font-size:47px}
  .date-card{left:22px;top:350px;width:205px;height:142px}.date-card strong{left:10px;top:17px;font-size:72px}.date-card>div{left:96px;top:30px;font-size:20px}.date-card>div span+span{font-size:24px;margin-top:4px}.date-card small{left:12px;top:104px;width:179px;padding-top:9px;font-size:12px}
  .scroll-cue{display:block;bottom:20px}
  .invitation{padding:60px 30px}.invitation-copy{width:370px}.invitation-copy .script{font-size:30px}.invitation-copy h2{font-size:45px}.invitation-copy>p:last-child{font-size:17px}
  .date-heading{left:30px;top:58px}.countdown{left:30px;right:30px;top:275px}.calendar{width:380px;bottom:48px}
  .ceremony .place-card{left:24px;top:auto;bottom:35px;width:382px;height:auto}
  .schedule{padding:42px 22px}.schedule header h2{font-size:34px}.timeline{width:386px;margin-top:40px}
  .dress-copy{left:30px;top:60px;width:370px}.palette{left:24px;right:auto;top:585px;width:382px}
  .details{padding:40px 22px;overflow:hidden}.detail-cards{grid-template-columns:386px;gap:16px}.detail-cards article{height:auto;min-height:0}
  .rsvp-intro{left:22px;top:36px;width:386px}.rsvp-form{left:22px;right:auto;top:310px;width:386px;height:592px;overflow:hidden;padding:18px 20px}.rsvp-form fieldset{padding:.55rem 0}.rsvp-form .drinks{grid-template-columns:1fr 1fr;gap:.45rem 1rem}.adult-note{margin:.4rem 0}.rsvp-form button{padding:.75rem}
  .final-copy{top:30px;width:400px}
}

/* Details and RSVP need room past the locked 720px frame. */
.slide.details{
  height:auto !important;
  min-height:720px !important;
  padding:48px 70px 56px !important;
}
.details>h2{margin:0 0 32px !important;font-size:48px}
.slide.details .detail-cards article{height:auto !important}
.slide.details .angel{top:2%;height:96%}

.slide.rsvp{
  height:auto !important;
  min-height:720px !important;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:48px;
  padding:48px 72px 56px !important;
}
.slide.rsvp .rsvp-intro,
.slide.rsvp .rsvp-form{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  height:auto !important;
  overflow:visible !important;
}
.slide.rsvp .rsvp-intro{width:380px !important;flex:0 0 380px;padding:2rem 1.8rem}
.slide.rsvp .rsvp-form{
  width:680px !important;
  flex:1 1 auto;
  padding:2rem 2.4rem 1.8rem;
}
.slide.rsvp .rsvp-form>label,
.slide.rsvp .rsvp-form fieldset{margin:0 0 1.45rem}
.slide.rsvp .rsvp-form fieldset{padding:.15rem 0 .1rem;gap:1rem 2.2rem}
.slide.rsvp .rsvp-form legend{margin-bottom:.8rem}
.slide.rsvp .rsvp-form input[type=text],
.slide.rsvp .rsvp-form input:not([type]),
.slide.rsvp .rsvp-form textarea{margin-top:.5rem;padding:.75rem 0 .65rem}
.slide.rsvp .rsvp-form textarea{resize:none;min-height:4.6rem}
.slide.rsvp .rsvp-form .drinks{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.4rem}
.slide.rsvp .adult-note{margin:.2rem 0 1.45rem;font-size:.95rem;line-height:1.5}
.slide.rsvp .rsvp-form button{margin-top:.15rem}

@media (max-width:700px){
  .slide.details{
    height:auto !important;
    min-height:0 !important;
    padding:36px 22px 48px !important;
  }
  .details>h2{font-size:34px;margin-bottom:22px !important}
  .slide.rsvp{
    flex-direction:column;
    height:auto !important;
    min-height:0 !important;
    gap:18px;
    padding:28px 22px 36px !important;
  }
  .slide.rsvp .rsvp-intro,
  .slide.rsvp .rsvp-form{width:100% !important;flex:none}
  .slide.rsvp .rsvp-form{padding:1.35rem 1.2rem 1.25rem}
  .slide.rsvp .rsvp-form .drinks{grid-template-columns:1fr;gap:.85rem}
}
