@font-face{font-family:Zaslia;src:url('/assets/fonts/zaslia.woff2') format('woff2');font-display:swap}
:root{--iv-paper:#f5f2ea;--iv-ink:#465944;--iv-blue:#a9c3c3;--iv-stripe:#edf1ed;--iv-shadow:0 16px 34px #2d352624;--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}
.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);padding:clamp(2rem,5vh,5rem) 1.25rem;text-align:center;display:grid;justify-items:center;align-content:center;min-height:100%;gap:clamp(.7rem,2vh,1.3rem)}
.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__guest:not(.opening__guest--accessible){position:absolute;inset:40% 10% auto;transform:translateY(-50%);color:#50605a;font-size:clamp(.65rem,1.25vw,1.1rem);font-weight:600;line-height:1.35}
.opening__guest--accessible{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.opening__button{border:0;background:#f2f0ed;color:#263d42;border-radius:6px;padding:.9rem 1.6rem;text-transform:uppercase;letter-spacing:.02em;font-weight:700;cursor:pointer;margin-top:clamp(.5rem,3vh,2rem)}
.opening__button:disabled{opacity:.65;cursor:wait}
.opening__date{font-size:clamp(1.4rem,4vw,3.2rem);margin-top:clamp(.75rem,3vh,1.8rem);margin-bottom:0}.opening__location{text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.65rem,2vw,1rem)}
.invitation-page{overflow:clip;background:var(--iv-paper)}.invitation-page:focus{outline:0}
.story-section,.more-section,.closing{background-color:#f5f2ea;background-image: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:min(76%,425px);justify-self:center;transform:rotate(-5deg)}.photo-two{width:min(78%,430px);justify-self:center;transform:rotate(5deg)}
.photo-one img,.photo-two img,.letter-composition img,.travel-map img,.gifts-composition>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}
.letter-composition{position:relative;width:min(95%,500px);justify-self:center}.letter-text{position:absolute;top:27%;left:31%;width:52%;height:65%;display:flex;flex-direction:column;justify-content:center;text-align:center;color:#526044;transform:rotate(2deg)}.letter-text p{font-size:clamp(.5rem,.9vw,.8rem);line-height:1.4;margin:0 0 .45em}.letter-text strong{font-size:clamp(1.4rem,3vw,2.6rem);line-height:.95;margin:.25em 0}.letter-text span{font-size:clamp(.5rem,1vw,.8rem);margin:.2em 0}
.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}
.paper-card{background:#fbf8f0;box-shadow:var(--iv-shadow);border:1px solid #e4e0d6;color:#485d49}.itinerary{text-align:center;padding:clamp(1.4rem,4vw,4rem);max-width:510px;justify-self:center;width:100%;transform:rotate(-2deg)}.itinerary h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:1.8rem}.event{margin:1.2rem 0}.event h3{font-size:clamp(1.15rem,2.2vw,2rem);margin-bottom:.25rem}.event p{font-size:clamp(.68rem,.95vw,.86rem);line-height:1.4;margin-bottom:.15rem}.divider{display:block;margin:1.5rem}.paper-link{display:inline-block;border:1px solid currentColor;padding:.45rem .8rem;margin-top:.6rem;text-decoration:none;text-transform:uppercase;font-size:.64rem;letter-spacing:.06em}.paper-link:hover{background:#e5e9df}
.travel-stack{display:grid;gap:2rem}.travel-map{width:100%;transform:rotate(2deg)}.travel-card{display:grid;grid-template-columns:30% 1fr;transform:rotate(-2deg);padding:1.4rem;gap:1.4rem}.travel-stub{border-right:1px dashed #93a394;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6rem}.travel-stub strong{font-size:3.5rem}.travel-stub span,.travel-stub small{font-size:.75rem}.travel-card h2{font-size:clamp(1.5rem,2.8vw,3rem);margin-bottom:.4rem}.travel-card p{font-size:.75rem;line-height:1.55}
.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;max-width:610px}.gifts-card{position:absolute;left:37%;top:42%;width:54%;height:37%;background:#78988b;color:#fff;padding:clamp(.6rem,1.5vw,1.5rem);transform:rotate(-2deg);display:flex;flex-direction:column;justify-content:center;text-align:center}.gifts-card h2{font-size:clamp(1.1rem,2.3vw,2.2rem);margin:0 0 .35rem}.gifts-card p{font-size:clamp(.5rem,.8vw,.8rem);line-height:1.35}.gifts-card .paper-link{font-size:.53rem;margin:.1rem auto 0;padding:.25rem .35rem}
.dress-card{text-align:center;width:min(100%,480px);justify-self:center;padding:clamp(1.3rem,3vw,2.7rem);transform:rotate(3deg)}.dress-card h2{font-size:clamp(2rem,3.5vw,3.8rem);margin:0}.dress-card h3{font-size:clamp(1.1rem,2vw,2rem);margin:.1rem}.dress-card p{font-size:.75rem;line-height:1.5;margin:0}
.countdown-block{text-align:center;padding:clamp(4rem,8vw,7rem) 0 3rem}.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{background:var(--iv-paper);padding:0}.rsvp-scene{min-height:620px;background:#497989 url('/assets/images/rsvp-background.webp') center/cover no-repeat;display:grid;place-items:center;padding:clamp(3rem,5vw,6rem) 1rem}.rsvp-mount{width:min(100%,650px)}
.closing{min-height:460px;position:relative;display:grid;place-items:center;text-align:center;padding:5rem 2rem}.closing__palms{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;pointer-events:none}.closing__content{position:relative;z-index:1}.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:3rem 0 1.2rem}.closing__date{font-size:1.4rem!important}.closing__content a{display:block;margin-top:4rem;font-size:.65rem;text-transform:uppercase;text-decoration:none}
.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;background:#f6f4eced;color:#435b4d;border-radius:50%;font-size:1.3rem;box-shadow:0 3px 10px #142b2650;cursor:pointer}.audio-button.is-playing{background:#485e50;color:white}
.reveal{opacity:0;translate:0 14px;transition:opacity .7s ease,translate .7s ease}.reveal.is-visible{opacity:1;translate:0 0}
/* Ticket RSVP: conservación del formulario original con una presentación integrada. */
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:#f5f1e9;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(--iv-ink);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(--iv-ink);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(--iv-ink)}
body[data-view="invitation"] .rsvp-brand-signature{display:none}
@media(min-width:700px){.opening{background-image:url('/assets/images/opening-sea-desktop.webp')}}
@media(max-width:699px){
 .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:88%;justify-self:center}.story-heading{grid-row:2;padding:.5rem 0}.story-heading h2{font-size:clamp(2.8rem,10vw,4rem)}.letter-composition{grid-row:3;width:95%}.photo-two{grid-row:4;width:83%;margin-top:1.5rem}.letter-text p{font-size:clamp(.56rem,2vw,.8rem)}.letter-text strong{font-size:clamp(1.5rem,6vw,2.4rem)}.letter-text span{font-size:clamp(.53rem,2vw,.75rem)}
 .details-section{padding:3rem 0}.details-grid,.more-grid{grid-template-columns:1fr;gap:3rem}.itinerary{width:86%;padding:2rem 1.5rem}.itinerary h2{font-size:2.5rem}.event p{font-size:.75rem}.travel-stack{gap:1rem}.travel-map{width:95%;margin:auto}.travel-card{padding:1rem;gap:.8rem}.travel-card h2{font-size:1.7rem}.travel-card p{font-size:.68rem}.travel-stub strong{font-size:2.7rem}
 .more-section{padding:3rem 0 1rem}.gifts-composition{width:100%}.gifts-card{padding:.5rem}.gifts-card h2{font-size:clamp(1rem,5vw,1.5rem)}.gifts-card p{font-size:clamp(.49rem,1.9vw,.67rem)}.dress-card{width:86%;padding:1.8rem}.dress-card h2{font-size:2.4rem}.countdown-block{padding:4rem 0 2.5rem}.countdown span{font-size:clamp(2rem,9vw,3.6rem)}
 .rsvp-scene{min-height:520px;padding:3rem max(.8rem,3vw)}.rsvp-mount{max-width:450px}.closing{min-height:540px}.closing__content h2{margin:3rem 0 1rem}
 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,body[data-view="invitation"] .rsvp-choice-grid{grid-template-columns:1fr}
}
@media(max-width:359px){.opening__title{font-size:2.2rem}.travel-card{grid-template-columns:26% 1fr}.travel-card h2{font-size:1.45rem}.travel-stub span{font-size:.55rem}.gifts-card p{font-size:.48rem}.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}}

/* Las tarjetas reciben imágenes independientes: basta reemplazar los WebP con el mismo nombre. */
body[data-view="invitation"] .itinerary {
  background: #f8f4ed url('/assets/images/itinerary-paper.webp') center / 100% 100% no-repeat;
}
body[data-view="invitation"] .travel-card {
  background: #f8f4ed url('/assets/images/travel-card-paper.webp') center / 100% 100% no-repeat;
}
body[data-view="invitation"] .dress-card {
  background: #f8f4ed url('/assets/images/dresscode-paper.webp') center / 100% 100% no-repeat;
}
body[data-view="invitation"] .rsvp-card {
  background: #f8f4ed url('/assets/images/rsvp-ticket-paper.webp') center / 100% 100% no-repeat;
}
body[data-view="invitation"] .rsvp-section {
  --wine: #493a2e;
  --muted: #66594b;
  --border: #806d593d;
  --wine-soft: #493a2e12;
  --olive: #596b51;
  --olive-soft: #596b511a;
}
body[data-view="invitation"] .rsvp-section .rsvp-country-trigger,
body[data-view="invitation"] .rsvp-section .rsvp-input,
body[data-view="invitation"] .rsvp-section .rsvp-textarea,
body[data-view="invitation"] .rsvp-section .rsvp-choice-card,
body[data-view="invitation"] .rsvp-section .rsvp-country-option,
body[data-view="invitation"] .rsvp-section .rsvp-field__label,
body[data-view="invitation"] .rsvp-section .rsvp-back-button,
body[data-view="invitation"] .rsvp-section .rsvp-form-error {
  color: var(--wine);
}
body[data-view="invitation"] .rsvp-section .rsvp-country-trigger__caret,
body[data-view="invitation"] .rsvp-section .rsvp-country-option__dial {
  color: #493a2eaa;
}
body[data-view="invitation"] .rsvp-section .rsvp-field__hint,
body[data-view="invitation"] .rsvp-section .rsvp-field__meta,
body[data-view="invitation"] .rsvp-section .rsvp-input::placeholder,
body[data-view="invitation"] .rsvp-section .rsvp-textarea::placeholder {
  color: #493a2e91;
}
body[data-view="invitation"] .rsvp-section .rsvp-country-menu {
  border-color: var(--border);
}
body[data-view="invitation"] .rsvp-section .progress,
body[data-view="invitation"] .rsvp-section .rsvp-guest-option__check,
body[data-view="invitation"] .rsvp-section .rsvp-review-row {
  border-color: var(--border);
}
body[data-view="invitation"] .rsvp-section .rsvp-lead,
body[data-view="invitation"] .rsvp-section .rsvp-helper,
body[data-view="invitation"] .rsvp-section .rsvp-success-copy,
body[data-view="invitation"] .rsvp-section .rsvp-privacy-note {
  color: var(--muted);
}
body[data-view="invitation"] .rsvp-section .button--primary {
  background: var(--wine);
}
body[data-view="invitation"] .rsvp-section .rsvp-hero-title,
body[data-view="invitation"] .rsvp-section .rsvp-question-title,
body[data-view="invitation"] .rsvp-section .rsvp-success-title {
  color: var(--wine);
}

/* El mapa se abre en un diálogo nativo; Escape y el botón lo cierran. */
.travel-map {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--iv-ink);
  text-align: inherit;
  cursor: zoom-in;
}
.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;
}
.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;
}

/* La imagen decorativa ocupa el footer completo y preserva las palmeras laterales. */
body[data-view="invitation"] .closing {
  min-height: clamp(560px, 46vw, 720px);
  padding: clamp(4.5rem, 7vw, 7rem) clamp(3rem, 8vw, 8rem);
}
body[data-view="invitation"] .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;
}
body[data-view="invitation"] .closing__content {
  width: min(100%, 810px);
  display: grid;
  justify-items: center;
  align-content: center;
}
body[data-view="invitation"] .closing__content h2 { margin: clamp(3rem, 5vw, 4.5rem) 0 1.5rem; }
body[data-view="invitation"] .closing__content a { margin-top: clamp(3.5rem, 6vw, 5rem); }
@media (max-width: 699px) {
  body[data-view="invitation"] .closing {
    min-height: clamp(540px, 145vw, 650px);
    padding: 3.75rem clamp(2.5rem, 10vw, 5rem);
  }
  body[data-view="invitation"] .closing__content { width: min(100%, 420px); }
  body[data-view="invitation"] .closing__content h2 { margin: 3.4rem 0 1.25rem; }
  body[data-view="invitation"] .closing__content a { margin-top: 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-country-trigger__main { gap: .2rem; }
  body[data-view="invitation"] .rsvp-country-trigger__flag { font-size: 1rem; }
  body[data-view="invitation"] .rsvp-country-trigger__dial { font-size: .78rem; }
  body[data-view="invitation"] .rsvp-country-trigger__caret { font-size: .68rem; }
  body[data-view="invitation"] .rsvp-phone-composite .rsvp-input {
    min-width: 0;
    width: 100%;
    padding: .65rem;
    border-radius: .7rem;
  }
  body[data-view="invitation"] .rsvp-country-menu {
    width: min(16.5rem, calc(100vw - 3rem));
  }
}

/* Primera pantalla del RSVP: ticket compacto, limpio y superpuesto al paisaje. */
.rsvp-section { overflow: visible; }
.rsvp-section .rsvp-scene {
  min-height: 0;
  padding: 0 clamp(1rem, 4vw, 3rem) clamp(4rem, 7vw, 7rem);
  align-items: start;
}
.rsvp-section .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-step[data-step="intro"] {
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.35rem, 4vw, 3rem);
}
body[data-view="invitation"] .rsvp-step[data-step="intro"].is-active { min-height: 0; }
.rsvp-intro-title {
  margin: 0 0 .85rem;
  color: var(--wine);
  font-family: var(--iv-serif);
  font-size: clamp(1.3rem, 3.2vw, 2.2rem);
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  -webkit-text-stroke: .3mm currentColor;
  paint-order: stroke fill;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-hero-title {
  margin: 0;
  font-size: clamp(1.7rem, 4vw, 2.75rem);
  text-transform: uppercase;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-ticket-note {
  margin: .2rem auto 1.15rem;
  padding: .25rem .8rem .8rem;
  border: 0;
  display: flex;
  justify-content: center;
  gap: .35rem;
  text-transform: uppercase;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-ticket-note__number {
  font-family: var(--iv-serif);
  font-size: clamp(1.4rem, 3vw, 2rem);
  -webkit-text-stroke: .3mm currentColor;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-ticket-note__copy {
  font-size: .78rem;
  letter-spacing: .04em;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-field--intro { margin: 0 auto 1.35rem; }
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-field__hint {
  margin-top: .45rem;
  font-size: .7rem;
  line-height: 1.4;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.6rem, 2vw, 1rem);
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-card {
  min-height: 8.2rem;
  padding: clamp(.8rem, 2vw, 1.15rem);
  border-color: #493a2e88;
  border-radius: 1rem;
  text-align: left;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-card__icon {
  margin-bottom: 1.1rem;
  font-size: 1.65rem;
  line-height: 1;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-card__title {
  font-size: clamp(.78rem, 2vw, .95rem);
  line-height: 1.05;
  text-transform: uppercase;
}
body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-card__text {
  margin-top: .2rem;
  font-size: clamp(.58rem, 1.5vw, .72rem);
  line-height: 1.25;
}
.rsvp-deadline {
  max-width: 35rem;
  margin: 1.8rem auto 0;
  color: var(--wine);
  font-size: clamp(.65rem, 1.6vw, .78rem);
  line-height: 1.45;
  text-align: center;
}
.rsvp-deadline strong { font-weight: 700; }

.section-divider { display: block; object-fit: contain; }
/* Cada divider se controla de forma independiente en estas tres reglas. */
body[data-view="invitation"] .section-divider--itinerary {
  width: 8rem;
  height: 1.25rem;
  margin: 1.3rem auto;
}
body[data-view="invitation"] .section-divider--travel {
  width: 1.55rem;
  height: .7rem;
  margin: .1rem auto .45rem;
}
body[data-view="invitation"] .section-divider--gifts {
  width: 1.35rem;
  height: .65rem;
  margin: .05rem auto .3rem;
}
.travel-stub img { display: block; width: min(100%, 10rem); height: auto; margin: auto; }

@media (max-width: 699px) {
  .rsvp-section .rsvp-scene {
    min-height: 0;
    padding: 0 max(.7rem, 3vw) 3.5rem;
  }
  .rsvp-section .rsvp-mount {
    width: min(86vw, 450px);
    margin-bottom: -8.5rem;
    transform: translateY(-8.5rem);
  }
  body[data-view="invitation"] .rsvp-step[data-step="intro"] { padding: 1.65rem 1.15rem 1.8rem; }
  body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-phone-composite {
    grid-template-columns: max-content minmax(0, 1fr);
  }
  body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-view="invitation"] .rsvp-step[data-step="intro"] .rsvp-choice-card { min-height: 7.6rem; }
  body[data-view="invitation"] .closing__palms {
    object-fit: contain;
    object-position: center bottom;
  }
}

/* Reserva el espacio que ocupa la parte superior sobresaliente del ticket. */
body[data-view="invitation"] .countdown-block {
  padding-bottom: 11.5rem;
}
@media (max-width: 699px) {
  body[data-view="invitation"] .countdown-block {
    padding-bottom: 11rem;
  }
}
