@font-face{
font-family:Zaslia;
src:url('/assets/fonts/zaslia.woff2') format('woff2');
font-display:swap
}

@font-face{
  font-family:Little Bleach;
  src:url('/assets/fonts/little-bleach-script.woff2') format('woff2');
  font-display:swap
}

:root{
--iv-paper:#f5f2ea;
--iv-ink:#465944;
--iv-stripe:#edf1ed;
--iv-serif:Zaslia,'Bodoni MT',Didot,'Times New Roman',serif
}

body[data-view='invitation']{
background:var(--iv-paper);
color:var(--iv-ink);
font-family:Montserrat,Arial,sans-serif;
overflow-x:clip
}
body[data-view='invitation'] .zaslia,body[data-view='invitation'] .rsvp-hero-title,body[data-view='invitation'] .rsvp-question-title,body[data-view='invitation'] .rsvp-success-title,body[data-view='invitation'] .rsvp-ticket-note__number{
font-family:var(--iv-serif);
-webkit-text-stroke:.3mm currentColor;
paint-order:stroke fill;
font-weight:400
}
body[data-view='invitation'] h1,body[data-view='invitation'] h2,body[data-view='invitation'] h3,body[data-view='invitation'] p{
margin-top:0
}
body[data-view='invitation'] img{
display:block;
width:100%;
height:auto
}
.invitation-page{
overflow:clip;
background:var(--iv-paper)
}
.invitation-page:focus{
outline:0
}

.opening-locked{
position:fixed;
inset-inline:0;
width:100%;
overflow:hidden;
touch-action:none
}
.opening{
position:fixed;
inset:0;
z-index:9999;
display:grid;
place-items:center;
color:#fff;
background:#254c58 url('/assets/images/opening-sea-mobile.webp') center/cover no-repeat;
overflow:auto;
overscroll-behavior:contain;
transition:opacity .65s ease,visibility .65s ease
}
.opening::before{
content:'';
position:absolute;
inset:0;
background:linear-gradient(180deg,#101c1961,#10232618 40%,#102b2a88)
}
.opening.is-closing{
opacity:0;
visibility:hidden;
pointer-events:none
}
.opening__content{
position:relative;
z-index:1;
width:min(100%,800px);
min-height:100%;
padding:clamp(2rem,5vh,5rem) 1.25rem;
display:grid;
justify-items:center;
align-content:center;
gap:clamp(.7rem,2vh,1.3rem);
text-align:center
}
.opening__title{
font-size:clamp(2.45rem,8.5vw,6.8rem);
line-height:1.04;
white-space:nowrap;
margin-bottom:clamp(1rem,3vh,2.5rem)
}
.opening__envelope{
position:relative;
width:min(84vw,590px);
margin:auto;
filter:drop-shadow(0 15px 20px #001b2450)
}

.opening__envelope .opening__guest {
  display: block !important;
  width: 80%;
  margin: 0 auto;
  font-family: "Little Bleach", cursive;
  font-size: clamp(1rem, 2vw, 1.55rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .03em;
  text-align: center;
}

.opening__guest:not(.opening__guest--accessible){
position:absolute;
inset:40% 10% auto;
transform:translateY(-50%);
color:#50605a;
font-size:2rem;
font-weight:600;
line-height:1.35
}
.opening__guest--accessible{
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip-path:inset(50%)
}


.opening__button{
border:0;
border-radius:6px;
background:#f2f0ed;
color:#263d42;
padding:.9rem 1.6rem;
margin:clamp(.5rem,3vh,2rem) 0;
font-weight:500;
text-transform:uppercase;
cursor:pointer
}
.opening__button:disabled{
opacity:.65;
cursor:wait
}
.opening__date{
font-size:clamp(1.4rem,4vw,3.2rem);
margin:.75rem 0 0
}
.opening__location{
text-transform:uppercase;
letter-spacing:.08em;
font-size:clamp(.65rem,2vw,1rem)
}

.story-section,.more-section,.closing{
background:#f5f2ea url('/assets/images/paper-texture.webp');
background-size:400px
}
.story-grid,.details-grid,.more-grid{
width:min(100% - clamp(2rem,8vw,8rem),1260px);
margin:auto
}
.story-grid{
min-height:min(105vw,1020px);
padding:clamp(3rem,8vw,7rem) 0;
display:grid;
grid-template-columns:1fr 1fr;
grid-template-rows:1fr 1fr;
align-items:center;
gap:clamp(1rem,3vw,3rem)
}
.photo-one{
width:100%;
justify-self:center;
transform:rotate(-5deg)
}
.photo-two{
width:90%;
justify-self:center;
transform:rotate(5deg)
}
.photo-one img,.photo-two img{
filter:drop-shadow(0 10px 13px #30342624)
}
.story-heading{
text-align:center;
align-self:center
}
.story-heading h2{
font-size:clamp(2.8rem,5.6vw,6rem);
line-height:1.02;
margin:.7rem 0
}
.story-heading p{
font-size:clamp(.75rem,1.2vw,1.05rem);
text-transform:uppercase;
letter-spacing:.06em
}
.story-heading .story-date{
font-size:clamp(1.25rem,2.5vw,2.2rem);
margin:0
}
.eyebrow{
letter-spacing:.3em
}

/* Cada composición editorial es un SVG completo y tiene controles independientes. */
.hero-composition{
width:min(95%,900px);
justify-self:center;
transform:rotate(0deg)
}
.hero-composition picture,
.hero-composition picture img{
display:block;
width:100%;
height:auto
}
.hero-composition picture img{
filter:drop-shadow(0 10px 13px #30342624)
}

.details-section{
background:repeating-linear-gradient(90deg,#f9faf7 0 52px,var(--iv-stripe) 52px 86px);
padding:clamp(4rem,8vw,8rem) 0
}
.details-grid{
display:grid;
grid-template-columns:.88fr 1.12fr;
gap:clamp(2rem,7vw,8rem);
align-items:center
}
.itinerary-composition{
position:relative;
width:min(100%,760px);
justify-self:center;
transform:rotate(-2deg)
}
.itinerary-composition>img{
filter:drop-shadow(0 10px 13px #30342624)
}
.travel-stack{
display:grid;
gap:2rem
}
.travel-composition{
position:relative;
width:100%;
transform:rotate(-2deg)
}
.travel-composition>picture,
.travel-composition>picture img{
display:block;
width:100%;
height:auto
}
.travel-composition>picture img{
filter:drop-shadow(0 10px 13px #30342624)
}

.asset-hotspot{
position:absolute;
display:block;
border-radius:.2rem;
outline-offset:4px
}
.asset-hotspot:focus-visible{
outline:3px solid #385445;
background:#ffffff2e
}
.asset-hotspot--parish{
left:29%;
top:35%;
width:42%;
height:7%
}
.asset-hotspot--hotel{
left:29%;
top:78%;
width:42%;
height:7%
}
.asset-hotspot--guide{
left:61%;
top:63%;
width:19%;
height:10%
}
.asset-hotspot--lodging{
left:60%;
top:77%;
width:28%;
height:10%
}
.asset-hotspot--gifts{
left:38%;
top:44%;
width:52%;
height:38%
}

.travel-map{
position:relative;
display:block;
width:100%;
padding:0;
border:0;
background:transparent;
color:var(--iv-ink);
text-align:inherit;
transform:rotate(2deg);
cursor:zoom-in
}
.travel-map img{
filter:drop-shadow(0 10px 13px #30342624)
}
.travel-map:focus-visible{
outline:3px solid var(--iv-ink);
outline-offset:6px
}
.travel-map__hint{
position:absolute;
right:.8rem;
bottom:.8rem;
padding:.35rem .65rem;
background:#f8f5edee;
box-shadow:0 2px 8px #25352c33;
font:600 .62rem Montserrat,Arial,sans-serif;
text-transform:uppercase;
letter-spacing:.04em
}

.more-section{
padding:clamp(4rem,8vw,8rem) 0 2rem
}
.more-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
align-items:center;
gap:clamp(2rem,5vw,5rem)
}
.gifts-composition{
position:relative;
width:100%;
max-width:1000px;
transform:rotate(0deg)
}
.gifts-composition>img{
filter:drop-shadow(0 10px 13px #30342624)
}
.dress-composition{
width:min(100%,760px);
justify-self:center;
transform:rotate(3deg)
}
.dress-composition>img{
filter:drop-shadow(0 10px 13px #30342624)
}
.countdown-block{
text-align:center;
padding:clamp(4rem,8vw,7rem) 0 11.5rem
}
.countdown-block h2{
font-size:clamp(2rem,4vw,4rem);
margin:0
}
.countdown{
display:flex;
justify-content:center;
gap:clamp(.65rem,3vw,4rem);
font-family:var(--iv-serif)
}
.countdown span{
font-size:clamp(2.5rem,5.5vw,6rem);
min-width:2ch;
line-height:1.2
}
.countdown small{
display:block;
font-size:clamp(.7rem,1.5vw,1.2rem);
text-transform:uppercase
}

.rsvp-section{
overflow:visible;
background:var(--iv-paper);
padding:0;
--wine:#493a2e;
--muted:#66594b;
--border:#806d593d;
--wine-soft:#493a2e12;
--olive:#596b51;
--olive-soft:#596b511a
}
.rsvp-scene{
min-height:0;
background:#497989 url('/assets/images/rsvp-background.webp') center/cover no-repeat;
display:grid;
place-items:center;
padding:0 clamp(1rem,4vw,3rem) clamp(4rem,7vw,7rem);
align-items:start
}
.rsvp-mount{
width:min(100%,610px);
margin-bottom:clamp(-8.5rem,-10vw,-5.5rem);
transform:translateY(clamp(-8.5rem,-10vw,-5.5rem))
}
body[data-view='invitation'] .rsvp-shell{
width:100%;
min-height:0;
padding:0;
display:block
}
body[data-view='invitation'] .rsvp-card{
min-height:0;
border-radius:2px;
background:#f8f4ed url('/assets/images/rsvp-ticket-paper.webp') center/100% 100% no-repeat;
backdrop-filter:none;
box-shadow:0 16px 30px #182c2d40;
overflow:visible;
clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
color:var(--iv-ink)
}
body[data-view='invitation'] .rsvp-step{
padding:clamp(1.5rem,4vw,3rem);
position:absolute;
min-height:0
}
body[data-view='invitation'] .rsvp-step.is-active{
position:relative;
min-height:390px
}
body[data-view='invitation'] .rsvp-step__content{
width:100%
}
body[data-view='invitation'] .rsvp-hero-title{
font-size:clamp(2rem,4vw,3.5rem);
color:var(--wine);
line-height:1.1;
max-width:none;
text-align:center;
margin:.45rem 0
}
.rsvp-section .rsvp-eyebrow,.rsvp-section .rsvp-lead{
text-align:center
}
.rsvp-section .rsvp-eyebrow{
letter-spacing:.06em
}
body[data-view='invitation'] .rsvp-question-title,body[data-view='invitation'] .rsvp-success-title{
color:var(--wine);
font-size:clamp(2rem,4vw,3rem)
}
body[data-view='invitation'] .rsvp-ticket-note{
margin:1rem auto;
background:transparent;
border-top:1px solid #c5c7ba;
border-bottom:1px solid #c5c7ba;
border-radius:0
}
body[data-view='invitation'] .rsvp-choice-card{
border-radius:5px
}
body[data-view='invitation'] .button--primary{
background:var(--wine)
}
body[data-view='invitation'] .rsvp-brand-signature{
display:none
}

body[data-view='invitation'] .rsvp-country-trigger,body[data-view='invitation'] .rsvp-input,body[data-view='invitation'] .rsvp-textarea,body[data-view='invitation'] .rsvp-choice-card,body[data-view='invitation'] .rsvp-country-option,body[data-view='invitation'] .rsvp-field__label,body[data-view='invitation'] .rsvp-back-button,body[data-view='invitation'] .rsvp-form-error{
color:var(--wine)
}
body[data-view='invitation'] .rsvp-country-trigger__caret,body[data-view='invitation'] .rsvp-country-option__dial{
color:#493a2eaa
}
body[data-view='invitation'] .rsvp-field__hint,body[data-view='invitation'] .rsvp-field__meta,body[data-view='invitation'] .rsvp-input::placeholder,body[data-view='invitation'] .rsvp-textarea::placeholder{
color:#493a2e91
}
body[data-view='invitation'] .rsvp-country-menu,body[data-view='invitation'] .progress,body[data-view='invitation'] .rsvp-guest-option__check,body[data-view='invitation'] .rsvp-review-row{
border-color:var(--border)
}
body[data-view='invitation'] .rsvp-lead,body[data-view='invitation'] .rsvp-helper,body[data-view='invitation'] .rsvp-success-copy,body[data-view='invitation'] .rsvp-privacy-note{
color:var(--muted)
}

.closing{
min-height:clamp(560px,46vw,720px);
position:relative;
display:grid;
place-items:center;
padding:clamp(4.5rem,7vw,7rem) clamp(3rem,8vw,8rem);
text-align:center
}
.closing__art{
position:absolute;
inset:0;
display:block;
width:100%;
height:100%;
pointer-events:none
}
body[data-view='invitation'] .closing__palms{
position:absolute;
inset:0;
display:block;
width:100%;
height:100%!important;
object-fit:contain;
object-position:center bottom
}
.closing__content{
position:relative;
z-index:1;
width:min(100%,810px);
display:grid;
justify-items:center;
align-content:center
}
.closing__content p{
font-size:.8rem;
text-transform:uppercase;
letter-spacing:.05em
}
.closing__content h2{
font-size:clamp(3rem,6vw,6.5rem);
line-height:.95;
margin:clamp(3rem,5vw,4.5rem) 0 1.5rem
}
.closing__date{
font-size:1.4rem!important
}
.closing__content a{
display:block;
margin-top:clamp(3.5rem,6vw,5rem);
font-size:.65rem;
text-transform:uppercase;
text-decoration:underline;
text-underline-offset: .25em
}

.map-dialog{
width:min(94vw,1300px);
max-width:none;
max-height:min(92dvh,960px);
margin:auto;
padding:0;
border:0;
background:transparent;
box-shadow:none;
overflow:visible
}
.map-dialog::backdrop{
background:#162826c9
}
.map-dialog img{
width:100%;
max-height:92dvh;
height:auto;
object-fit:contain;
background:var(--iv-paper);
box-shadow:0 20px 70px #152c2dbb
}
.map-dialog__close{
position:fixed;
z-index:1;
top:max(.65rem,env(safe-area-inset-top));
right:max(.65rem,env(safe-area-inset-right));
width:2.15rem;
height:2.15rem;
border:1px solid #f8f5edaa;
border-radius:50%;
background:#203632db;
color:#fff;
box-shadow:0 2px 10px #10201fb5;
font-size:1.25rem;
line-height:1;
cursor:pointer
}
.audio-button{
position:fixed;
right:max(1rem,env(safe-area-inset-right));
bottom:max(1rem,env(safe-area-inset-bottom));
z-index:100;
width:45px;
height:45px;
border:1px solid #536c60;
border-radius:50%;
background:#f6f4eced;
color:#435b4d;
box-shadow:0 3px 10px #142b2650;
font-size:1.3rem;
cursor:pointer
}
.audio-button.is-playing{
background:#485e50;
color:#fff
}
.reveal{
opacity:0;
translate:0 14px;
transition:opacity .7s ease,translate .7s ease
}
.reveal.is-visible{
opacity:1;
translate:0 0
}

/* RSVP: cada bloque tiene su propia regla para poder ajustarlo sin afectar los demás. */
.rsvp-section .rsvp-intro-title{
font-family:var(--iv-serif);
font-size:clamp(1.55rem,2.7vw,2.35rem);
line-height:4rem;
text-align:center;
text-transform:uppercase;
margin:0 0 .55rem;
color:var(--wine);
-webkit-font-feature-settings:"liga" 0,"clig" 0;
font-feature-settings:"liga" 0,"clig" 0;
font-variant-ligatures:none;
-webkit-text-stroke:.3mm currentColor
}
.rsvp-section .rsvp-ticket-note__number{
font-family:var(--iv-serif);
font-size:2.1rem;
line-height:.9;
-webkit-text-stroke:.3mm currentColor
}
.rsvp-section .rsvp-ticket-note__copy{
font-family:var(--iv-serif);
font-size:1.05rem;
line-height:1;
text-transform:uppercase;
-webkit-text-stroke:.3mm currentColor
}
.rsvp-section .rsvp-deadline{
max-width:AUTO;
margin:2.25rem auto 0;
color:#493a2eaa;
font-size:.76rem;
line-height:1.55;
text-align:center
}
.rsvp-section .rsvp-country-trigger,
.rsvp-section .rsvp-input{
min-height:2.9rem;
height:2.9rem;
padding:.55rem .75rem;
font-size:.75rem
}

.rsvp-section #phone {
  font-size: .95rem;
}

.rsvp-section .rsvp-textarea{
min-height:6.75rem;
padding:.65rem .75rem;
font-size:.75rem;
line-height:1.45
}
.rsvp-section .rsvp-question-number,
.rsvp-section .rsvp-helper,
.rsvp-section .rsvp-field__label,
.rsvp-section .rsvp-field__hint,
.rsvp-section .rsvp-field__meta,
.rsvp-section .rsvp-back-button,
.rsvp-section .rsvp-summary-block__title,
.rsvp-section .rsvp-review-row__label,
.rsvp-section .rsvp-review-row strong,
.rsvp-section .rsvp-privacy-note{
font-size:.75rem
}
.rsvp-section .rsvp-helper{
line-height:1.45
}
.rsvp-section .rsvp-success .rsvp-eyebrow{
margin:0 0 .8rem;
line-height:1.2
}
.rsvp-section .rsvp-success-title{
margin:0 auto 1.4rem;
line-height:1.02
}
.rsvp-section .rsvp-success-copy{
max-width:23rem;
margin:0 auto;
font-size:.75rem;
line-height:1.45
}

/* RSVP público: el teléfono se conserva internamente, pero no se muestra ni se edita. */
.rsvp-section .rsvp-field--intro {
  display: none;
}

.rsvp-section .rsvp-next-step-note {
  max-width: 22rem;
  margin: .3rem auto 1rem;
  color: #493a2e;
  font-size: .8rem;
  line-height: 1.45;
  text-align: center;
}

.rsvp-section .rsvp-adults-note {
  max-width: 22rem;
  margin: 0 auto 1.8rem;
  color: #493a2eb8;
  font-size: .72rem;
  line-height: 1.45;
  text-align: center;
}

/* Fecha límite más visible. */
.rsvp-section .rsvp-deadline {
  margin-top: 2.25rem;
  font-size: .95rem;
  line-height: 1.45;
}

.rsvp-section .rsvp-deadline strong {
  display: block;
  margin-top: .15rem;
  color: #493a2e;
  font-size: 1.14em;
}

@media(min-width:700px){
.opening{
background-image:url('/assets/images/opening-sea-desktop.webp')
}

}
@media(min-width:1800px){
body[data-view='invitation'] .closing__palms{
object-fit:cover;
object-position:center bottom
}

}

.itinerary-composition,
.travel-composition {
  container-type: inline-size;
}

.composition-button {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2.15cqw 2.4cqw;
  border: 1px solid #556a57;
  border-radius: 0.35rem;
  background: #f8f4ed;
  color: #465944;
  font-size: clamp(.5rem, 3.1cqw, .82rem);
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateX(-50%);
}

/* Desktop: cambia solo left y top para acomodar cada botón */
.composition-button--parish {
  left: 50%;
  top: 38%;
}

.composition-button--hotel {
  left: 50%;
  top: 88%;
}

.composition-button--guide {
  left: 65%;
  top: 76%;
}

@media(max-width:699px){
body[data-view='invitation'] .zaslia,body[data-view='invitation'] .rsvp-hero-title,body[data-view='invitation'] .rsvp-question-title,body[data-view='invitation'] .rsvp-success-title,body[data-view='invitation'] .rsvp-ticket-note__number{
-webkit-text-stroke:.1mm currentColor
}
.story-grid,.details-grid,.more-grid{
width:min(100% - 2rem,470px)
}
.story-grid{
grid-template-columns:1fr;
grid-template-rows:none;
gap:1rem;
padding:3rem 0 5rem
}
.photo-one{
grid-row:1;
width:120%
}
.story-heading{
grid-row:2;
padding:.5rem 0
}
.story-heading h2{
font-size:clamp(2.8rem,10vw,4rem)
}
.hero-composition{
grid-row:3;
width:95%
}
.photo-two{
grid-row:4;
width:100%;
transform:translateX(7px) rotate(3deg);
margin-top:1.5rem
}
.details-section{
padding:3rem 0
}
.details-grid,.more-grid{
grid-template-columns:1fr;
gap:3rem
}
.itinerary-composition{
width:86%
}
.travel-stack{
gap:1rem
}
.travel-map{
width:95%;
margin:auto
}
.travel-composition{
width: 65%;
justify-self: center;
}
.more-section{
padding:3rem 0 1rem
}
.gifts-composition{
width:100%
}
.dress-composition{
width:86%
}
.countdown-block{
padding:4rem 0 11rem
}
.countdown span{
font-size:clamp(2rem,9vw,3.6rem)
}
.rsvp-scene{
padding:0 max(.7rem,3vw) 3.5rem
}
.rsvp-mount{
width:min(86vw,450px);
margin-bottom:-8.5rem;
transform:translateY(-8.5rem)
}
body[data-view='invitation'] .rsvp-card,body[data-view='invitation'] .rsvp-step.is-active{
min-height:0
}
body[data-view='invitation'] .rsvp-step{
padding:1.4rem
}
body[data-view='invitation'] .rsvp-phone-composite{
grid-template-columns:max-content minmax(0,1fr);
align-items:stretch;
gap:.45rem
}
body[data-view='invitation'] .rsvp-country-trigger{
min-width:0;
height:100%;
padding:0 .55rem;
gap:.3rem;
border-radius:.7rem
}
body[data-view='invitation'] .rsvp-phone-composite .rsvp-input{
min-width:0;
width:100%;
padding:.65rem;
border-radius:.7rem
}
.rsvp-section .rsvp-choice-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.55rem
}
.rsvp-section .rsvp-choice-card{
min-width:0;
min-height:8.75rem;
padding:.8rem .55rem;
text-align:center
}
.rsvp-section .rsvp-choice-card__icon{
margin-bottom:.55rem;
font-size:1.5rem
}
.rsvp-section .rsvp-choice-card__title{
font-size:.82rem;
line-height:1.15
}
.rsvp-section .rsvp-choice-card__text{
font-size:.7rem;
line-height:1.25
}
.rsvp-section .rsvp-intro-title{
font-size:1.35rem;
-webkit-font-feature-settings:"liga" 0,"clig" 0;
font-feature-settings:"liga" 0,"clig" 0;
font-variant-ligatures:none;
-webkit-text-stroke:.1mm currentColor
}
.rsvp-section .rsvp-ticket-note__number{
font-size:1.7rem;
-webkit-text-stroke:.1mm currentColor
}
.rsvp-section .rsvp-ticket-note__copy{
font-size:.86rem;
-webkit-text-stroke:.1mm currentColor
}
.rsvp-section .rsvp-deadline{
margin-top:2.25rem;
font-size:.86rem
}
.rsvp-section .rsvp-country-trigger,
.rsvp-section .rsvp-input{
min-height:2.7rem;
height:2.7rem;
padding:.45rem .6rem;
font-size:.75rem
}
.rsvp-section .rsvp-textarea{
min-height:6.1rem;
padding:.55rem .6rem;
font-size:.75rem;
line-height:1.4
}
.rsvp-section .rsvp-success .rsvp-eyebrow{
margin-bottom:.7rem
}
.rsvp-section .rsvp-success-title{
margin-bottom:1.25rem
}
.rsvp-section .rsvp-success-copy{
font-size:.75rem;
line-height:1.4
}
/* Tarjetas de nombres */
.rsvp-section .rsvp-guest-option {
  min-height: 3.35rem;
  padding: .65rem .8rem;
  gap: .7rem;
  border-radius: .9rem;
}

.rsvp-section .rsvp-guest-option__check {
  width: 1.25rem;
  height: 1.25rem;
}

.rsvp-section .rsvp-guest-option__name {
  font-size: .85rem;
}

.rsvp-section .rsvp-guest-option__meta {
  font-size: .7rem;
}

/* Botones Continuar / Enviar */
.rsvp-section .rsvp-submit {
  min-height: 2.9rem;
  margin-top: 1.5rem;
  padding: .55rem 1rem;
  border-radius: .8rem;
  font-size: .85rem;
}
.closing{
min-height:clamp(540px,145vw,650px);
padding:3.75rem clamp(2.5rem,10vw,5rem)
}
.closing__content{
width:min(100%,420px)
}
.closing__content h2{
margin:3.4rem 0 1.25rem
}
.closing__content a{
margin-top:4rem
}
body[data-view='invitation'] .closing__palms{
object-fit:contain;
object-position:center bottom
}

/* Móvil: mueve cada uno independientemente */
.composition-button--parish {
  left: 50%;
  top: 38%;
}

.composition-button--hotel {
  left: 50%;
  top: 88%;
}

.composition-button--guide {
  left: 50%;
  top:87%;
  font-size: .6rem;
  padding: .6rem 1.15rem;
}

}
@media(max-width:359px){
.opening__title{
font-size:2.2rem
}
.rsvp-section .rsvp-step{
padding:1rem!important
}

}
@media(prefers-reduced-motion:reduce){
.reveal{
opacity:1;
translate:0 0;
transition:none
}
.opening{
transition:none
}
body[data-view='invitation'] .rsvp-step.is-entering,body[data-view='invitation'] .rsvp-step.is-leaving{
animation:none
}
html{
scroll-behavior:auto
}

}
