:root{
  --green:#344233;--green2:#53614b;--cream:#f7f0e3;--ivory:#eee6d6;
  --sand:#d8c6a5;--terra:#b86b47;--brown:#59463a;--white:#fffaf0;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--sans)}
a{color:inherit}.site-header{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(1220px,calc(100% - 36px));height:64px;padding:0 18px 0 28px;border-radius:40px;background:rgba(247,240,227,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 40px rgba(36,42,32,.08)}
.brand{text-decoration:none;font:500 25px var(--serif);color:var(--green)}.brand i{font-weight:400}.nav{display:flex;gap:28px}.nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.nav a:hover{color:var(--terra)}
.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 28px;border-radius:999px;background:var(--terra);color:var(--white);text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.button-small{padding:12px 20px;font-size:11px}
.section,.story{padding:110px max(6vw,24px);text-align:center}.section-dark{background:var(--green);color:var(--white)}.section-light{background:var(--cream)}.sand{background:var(--ivory)}
.eyebrow{margin:0 0 22px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.section-dark .eyebrow{color:var(--sand)}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}h2{font-size:clamp(48px,5.2vw,76px);line-height:.98;color:var(--green)}.section-dark h2{color:var(--white)}.lead{max-width:780px;margin:24px auto 48px;font-size:18px;line-height:1.7}
.hero{min-height:100vh;padding:150px 24px 70px;display:grid;place-items:center;text-align:center;position:relative}.hero-inner{max-width:1050px}.hero .eyebrow{margin-bottom:18px}.wedding-date{font:400 clamp(44px,5.4vw,76px) var(--serif);margin:0 0 8px;color:var(--sand);letter-spacing:.06em}.hero h1{font-size:clamp(72px,10vw,142px);line-height:.8}.script{font:italic 38px var(--serif);margin:28px 0 34px;color:var(--sand)}.hero-place{margin:38px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.25);display:grid;gap:7px;max-width:620px;letter-spacing:.06em}.hero-place strong{font-size:16px}.hero-place span{font-size:13px;color:var(--sand)}.scroll-cue{position:absolute;bottom:24px;color:var(--sand);text-decoration:none;font-size:24px}
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;text-align:left;align-items:start;padding-top:80px;padding-bottom:80px}.story .eyebrow{grid-column:1/-1}.story h2{font-size:clamp(54px,6vw,84px)}.story-copy{font-size:18px;line-height:1.75}.story-copy p:first-child{margin-top:0}
.venue-grid,.dress-grid,.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1180px;margin:52px auto 0}.venue-card,.dress-grid article,.everyone{background:var(--cream);padding:44px 34px}.venue-card span,.dress-grid span,.everyone span,.guide-grid span,.hotel-card span{font-size:12px;letter-spacing:.14em;color:var(--terra)}.venue-card h3{font-size:42px;color:var(--green);margin:14px 0}.venue-card a{display:inline-block;margin-top:14px;color:var(--terra);text-decoration:none;font-size:13px}
.countdown{padding:110px 24px}.countdown h2{font-size:58px}.count-grid{max-width:1000px;margin:55px auto 0;display:grid;grid-template-columns:repeat(4,1fr)}.count-grid div{display:grid;gap:7px}.count-grid strong{font:400 clamp(68px,8vw,112px) var(--serif)}.count-grid span{font-size:11px;letter-spacing:.16em;color:var(--sand)}
.everyone{max-width:780px;margin:24px auto 0}.palette{display:flex;justify-content:center;gap:12px;margin-top:34px}.palette i{width:44px;height:44px;border-radius:50%;background:var(--c);display:block}
.brands{background:#e7ddc8}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;max-width:1180px;margin:48px auto 0}.brand-card{min-height:180px;background:var(--cream);padding:32px 20px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;transition:.25s}.brand-card:hover{transform:translateY(-5px);background:#fff8eb}.brand-card b{font:400 28px var(--serif);color:var(--green)}.brand-card span{margin-top:14px;color:var(--terra);font-size:12px;text-transform:uppercase}
.travel-alert{max-width:960px;margin:40px auto;padding:28px;border:1px solid rgba(184,107,71,.45)}.travel-alert strong{color:var(--terra);letter-spacing:.08em;font-size:13px}.travel-alert p{line-height:1.65}.route{max-width:1100px;margin:50px auto;display:flex;align-items:center;justify-content:space-between;gap:15px}.route div{display:grid;gap:8px}.route b{font:400 28px var(--serif);color:var(--terra)}.route strong{text-transform:uppercase;font-size:13px}.route span{font-size:13px}.route i{font-style:normal;color:var(--terra)}.map-placeholder{max-width:1180px;height:330px;margin:auto;background:#c7c7ad;display:grid;place-content:center;color:var(--green);letter-spacing:.1em}.map-placeholder small{margin-top:10px;letter-spacing:0}
.hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;margin:48px auto 0}.hotel-card{min-height:260px;padding:34px;text-align:left;background:var(--ivory);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end}.hotel-card h3{font-size:34px;color:var(--green);margin:12px 0}.hotel-card p{color:var(--terra)}
.guide-grid{grid-template-columns:repeat(3,1fr)}.guide-grid article{min-height:340px;padding:42px 30px;display:flex;flex-direction:column;justify-content:flex-end;text-align:left;background:#455443}.guide-grid h3{font-size:38px;margin:12px 0;color:var(--white)}.guide-grid p{line-height:1.6;color:#e9e2d3}.text-link{display:inline-block;margin-top:40px;color:var(--sand);text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.12em}
.gift{background:var(--terra);color:var(--white);padding-top:130px;padding-bottom:130px}.gift h2{font-size:clamp(68px,8vw,112px);color:var(--white)}.gift .lead{color:#fff4e8}
.photo-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr 1fr;gap:14px;max-width:1200px;margin:50px auto 0}.photo-grid div{height:360px;background:linear-gradient(145deg,#a7ad8e,#b87958);display:grid;place-items:center}.photo-grid span{font-size:12px;color:white;letter-spacing:.12em}
.faq{max-width:none}.faq details{max-width:820px;margin:auto;border-bottom:1px solid rgba(89,70,58,.25);text-align:left;padding:22px 0}.faq summary{cursor:pointer;font:400 25px var(--serif);color:var(--green)}.faq details p{line-height:1.65}
.closing{min-height:75vh;padding:130px 24px;text-align:center;display:grid;place-content:center}.closing h2{font-size:clamp(64px,7vw,100px)}.closing>p:not(.eyebrow){font:400 28px/1.4 var(--serif);margin:28px 0 36px}.closing small{display:block;margin-top:65px;color:var(--sand);letter-spacing:.12em}
.floating-rsvp{display:none}
@media(max-width:820px){
  .site-header{top:10px;height:56px}.nav{display:none}.site-header>.button{display:none}
  .section,.story{padding:78px 22px}.hero{padding-top:110px}.hero h1{font-size:68px}.wedding-date{font-size:46px}.script{font-size:31px}
  .story{grid-template-columns:1fr;gap:25px}.story .eyebrow{grid-column:auto}.story h2{font-size:54px}
  .venue-grid,.dress-grid,.guide-grid,.hotel-grid{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr 1fr}.count-grid{gap:8px}.count-grid strong{font-size:52px}
  .route{display:grid;grid-template-columns:1fr;text-align:center}.route i{transform:rotate(90deg)}
  .photo-grid{grid-template-columns:1fr 1fr}.photo-grid div{height:240px}
  .floating-rsvp{display:block;position:fixed;z-index:60;bottom:14px;left:14px;right:14px;padding:15px;border-radius:999px;background:var(--terra);color:white;text-align:center;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.08em;box-shadow:0 8px 30px rgba(0,0,0,.18)}
}
@media(max-width:480px){.brand-grid{grid-template-columns:1fr}.countdown{padding-left:12px;padding-right:12px}.count-grid strong{font-size:44px}.count-grid span{font-size:9px}.photo-grid{grid-template-columns:1fr}}


/* V2 — cinematic hero, editorial typography, centered countdown and real map */
.hero{overflow:hidden;isolation:isolate}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,31,24,.42),rgba(23,31,24,.62));z-index:-2}
.hero-inner{position:relative;z-index:1}

.editorial-copy{font-family:var(--serif);font-size:clamp(23px,2.05vw,31px);line-height:1.55;color:#513c2e;letter-spacing:-.01em}
.editorial-copy strong{font-family:var(--sans);font-size:.78em;letter-spacing:-.01em}

.countdown{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--green);
  text-align:center;
}
.countdown>.eyebrow,.countdown>h2,.countdown>.count-grid{position:relative;z-index:1}
.count-grid{width:min(1040px,100%);margin:55px auto 0;justify-items:center;align-items:center}
.count-grid div{text-align:center;width:100%}

.map-wrap{max-width:1180px;margin:0 auto}
.map-embed{display:block;width:100%;height:390px;border:0;filter:saturate(.78) contrast(.95)}
.map-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.map-button{padding:14px 20px;border-radius:999px;background:var(--green);color:var(--white);text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.map-button-alt{background:var(--terra)}
.rsvp-note{max-width:650px;margin:24px auto 0;font-size:13px;line-height:1.6;color:var(--sand)}

@media(max-width:820px){
  .editorial-copy{font-size:24px}
  .map-embed{height:330px}
}


/* HOTFIX — hero video must be the background, never an in-flow banner */
.hero{
  position:relative !important;
  min-height:100svh !important;
  height:100svh !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#26392c !important;
}
.hero-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  z-index:0 !important;
}
.hero-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(180deg,rgba(21,35,27,.32),rgba(21,35,27,.54)) !important;
}
.hero-inner{
  position:relative !important;
  z-index:2 !important;
  width:min(1180px,calc(100% - 48px)) !important;
  min-height:100svh !important;
  margin:0 auto !important;
  padding:150px 0 70px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.hero-inner > *{max-width:900px}
.hero .hero-media,.hero .hero-image,.hero .visual,.hero .hero-visual,.hero .media-frame{
  display:none !important;
}
.site-header{z-index:50 !important}

@media(max-width:820px){
  .hero{min-height:100svh !important;height:100svh !important}
  .hero-inner{
    width:calc(100% - 34px) !important;
    min-height:100svh !important;
    padding:120px 0 90px !important;
  }
  .hero-video{object-position:center center !important}
}

/* V4 final hero treatment */
.hero-video{
  filter:saturate(.82) brightness(.88) contrast(.96) !important;
}
.hero-overlay{
  background:
    linear-gradient(180deg,rgba(18,31,25,.28) 0%,rgba(18,31,25,.36) 45%,rgba(18,31,25,.52) 100%) !important;
}


/* V5 — premium transparent header matching approved reference */
.premium-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:100 !important;
  padding:28px 42px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.premium-nav{
  position:relative !important;
  width:100% !important;
  max-width:1540px !important;
  height:70px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:start !important;
  gap:34px !important;
}
.nav-side{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  padding-top:17px !important;
}
.nav-left{justify-content:flex-start !important}
.nav-right{justify-content:flex-end !important}
.nav-side a{
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-family:var(--serif) !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.16em !important;
  white-space:nowrap !important;
  text-shadow:0 1px 10px rgba(0,0,0,.22) !important;
  transition:opacity .2s ease !important;
}
.nav-side a:hover{opacity:.72 !important}
.nav-monogram{
  position:relative !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:14px !important;
  min-width:118px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:var(--serif) !important;
  font-size:43px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-shadow:0 1px 12px rgba(0,0,0,.18) !important;
}
.nav-monogram i{
  width:1px !important;
  height:48px !important;
  margin-top:-4px !important;
  background:rgba(255,255,255,.82) !important;
  display:block !important;
}
.nav-monogram::after{
  content:"";
  position:absolute;
  width:48px;
  height:1px;
  bottom:1px;
  left:50%;
  transform:translateX(-50%) rotate(-12deg);
  background:rgba(255,255,255,.58);
}
.nav-rsvp{
  padding:13px 22px !important;
  margin-top:-13px !important;
  border-radius:999px !important;
  background:#f3ecdf !important;
  color:#332f29 !important;
  text-shadow:none !important;
  letter-spacing:.12em !important;
}
.hero>.hero-inner{
  padding-top:130px !important;
}

/* On scroll, JS adds .is-scrolled for a subtle glass header */
.premium-header.is-scrolled{
  position:fixed !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
  background:rgba(30,45,35,.86) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.premium-header.is-scrolled .premium-nav{height:54px !important;align-items:center !important}
.premium-header.is-scrolled .nav-side{padding-top:0 !important}
.premium-header.is-scrolled .nav-monogram{font-size:30px !important;align-items:center !important}
.premium-header.is-scrolled .nav-monogram i{height:31px !important;margin-top:0 !important}
.premium-header.is-scrolled .nav-monogram::after{display:none !important}
.premium-header.is-scrolled .nav-rsvp{margin-top:0 !important;padding:10px 18px !important}

@media(max-width:1100px){
  .premium-header{padding:22px 24px !important}
  .nav-side{gap:18px !important}
  .nav-side a{font-size:10px !important;letter-spacing:.11em !important}
  .nav-rsvp{padding:11px 15px !important}
}
@media(max-width:820px){
  .premium-header{padding:18px 18px !important}
  .premium-nav{display:flex !important;justify-content:center !important;height:58px !important}
  .nav-side{display:none !important}
  .nav-monogram{font-size:37px !important}
}

/* V6 — header alignment fix */
.premium-header{
  box-sizing:border-box !important;
  width:100vw !important;
  max-width:none !important;
  left:0 !important;
  right:0 !important;
  padding:24px 34px !important;
  overflow:visible !important;
}
.premium-nav{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  height:76px !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr) !important;
  align-items:start !important;
  gap:24px !important;
  overflow:visible !important;
}
.premium-nav .nav-left,
.premium-nav .nav-right{
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  padding-top:16px !important;
  gap:28px !important;
}
.premium-nav .nav-left{justify-content:flex-start !important}
.premium-nav .nav-right{justify-content:flex-end !important}
.premium-nav .nav-monogram{
  display:flex !important;
  grid-column:2 !important;
  justify-self:center !important;
  visibility:visible !important;
  opacity:1 !important;
}
.premium-nav .nav-side a{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
.premium-nav .nav-rsvp{flex:0 0 auto !important}

@media (max-width:1250px){
  .premium-header{padding-left:20px !important;padding-right:20px !important}
  .premium-nav{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr) !important;gap:14px !important}
  .premium-nav .nav-left,.premium-nav .nav-right{gap:15px !important}
  .premium-nav .nav-side a{font-size:9px !important;letter-spacing:.08em !important}
  .premium-nav .nav-rsvp{padding:11px 14px !important}
}
@media (max-width:820px){
  .premium-nav{display:flex !important;justify-content:center !important}
  .premium-nav .nav-left,.premium-nav .nav-right{display:none !important}
}

/* V7 — isolated header reset. No grid; logo is absolute viewport center. */
.jd-header{
  position:absolute !important;
  inset:0 0 auto 0 !important;
  z-index:9999 !important;
  width:100% !important;
  height:104px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 42px !important;
  background:transparent !important;
  border:0 !important;
  transform:none !important;
  overflow:visible !important;
  font-family:"DM Sans",sans-serif !important;
}
.jd-header-left,
.jd-header-right{
  position:absolute !important;
  top:35px !important;
  display:flex !important;
  align-items:center !important;
  gap:30px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}
.jd-header-left{left:42px !important}
.jd-header-right{right:42px !important}
.jd-header a{
  display:inline-flex !important;
  align-items:center !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-size:11px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  white-space:nowrap !important;
  visibility:visible !important;
  opacity:1 !important;
  text-shadow:0 1px 10px rgba(0,0,0,.25) !important;
}
.jd-logo{
  position:absolute !important;
  top:23px !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
  width:112px !important;
  height:54px !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:40px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.jd-logo b{
  display:block !important;
  width:1px !important;
  height:46px !important;
  background:rgba(255,255,255,.82) !important;
}
.jd-rsvp{
  padding:14px 22px !important;
  border-radius:999px !important;
  background:#f4ecdf !important;
  color:#302d29 !important;
  text-shadow:none !important;
}
@media(max-width:1250px){
  .jd-header{padding:0 20px !important}
  .jd-header-left{left:20px !important;gap:15px !important}
  .jd-header-right{right:20px !important;gap:15px !important}
  .jd-header a{font-size:9px !important;letter-spacing:.08em !important}
  .jd-rsvp{padding:12px 14px !important}
}
@media(max-width:900px){
  .jd-header-left,.jd-header-right{display:none !important}
  .jd-logo{display:flex !important}
}

/* V8 — larger editorial monogram + yellow butterfly motif + stronger RSVP */
.jd-logo{
  top:17px !important;
  width:154px !important;
  height:82px !important;
  gap:18px !important;
  font-size:56px !important;
  overflow:visible !important;
}
.jd-logo .jd-letter{
  font-family:"Cormorant Garamond",serif !important;
  font-size:56px !important;
  font-weight:400 !important;
  line-height:.9 !important;
  color:#fff !important;
}
.jd-logo b{
  height:58px !important;
  background:rgba(255,255,255,.88) !important;
}
.jd-butterflies{
  position:absolute !important;
  left:50% !important;
  top:65px !important;
  width:92px !important;
  height:28px !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
}
.jd-butterflies .butterfly{
  position:absolute !important;
  display:block !important;
  color:#f0c84a !important;
  font-size:12px !important;
  line-height:1 !important;
  text-shadow:0 1px 7px rgba(0,0,0,.18) !important;
}
.jd-butterflies .butterfly::after{
  content:"◆";
  position:absolute;
  left:7px;
  top:0;
  transform:rotate(35deg);
}
.jd-butterflies .butterfly-1{left:11px;top:8px;transform:rotate(-24deg) scale(.72)}
.jd-butterflies .butterfly-2{left:39px;top:2px;transform:rotate(8deg) scale(.9)}
.jd-butterflies .butterfly-3{left:69px;top:11px;transform:rotate(22deg) scale(.62)}

.jd-header .jd-rsvp{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:48px !important;
  padding:0 26px !important;
  background:#f5eddf !important;
  color:#2e312c !important;
  border:1px solid rgba(255,255,255,.55) !important;
  box-shadow:0 5px 18px rgba(0,0,0,.12) !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
}
.jd-header .jd-rsvp:hover{
  background:#fff8ed !important;
  opacity:1 !important;
}
@media(max-width:1250px){
  .jd-logo{font-size:48px !important;width:132px !important}
  .jd-logo .jd-letter{font-size:48px !important}
  .jd-header .jd-rsvp{padding:0 17px !important}
}

/* V9 — recognizable yellow butterflies */
.jd-butterflies{top:66px !important;width:106px !important;height:32px !important}
.jd-butterflies .butterfly{
  position:absolute !important;
  width:18px !important;
  height:14px !important;
  display:block !important;
  color:transparent !important;
  font-size:0 !important;
}
.jd-butterflies .butterfly::before,
.jd-butterflies .butterfly::after{
  content:"" !important;
  position:absolute !important;
  top:1px !important;
  width:9px !important;
  height:11px !important;
  background:#f2c62f !important;
  box-shadow:0 1px 4px rgba(0,0,0,.10) !important;
}
.jd-butterflies .butterfly::before{
  left:0 !important;
  border-radius:85% 35% 75% 30% !important;
  transform:rotate(-28deg) !important;
  transform-origin:100% 70% !important;
}
.jd-butterflies .butterfly::after{
  right:0 !important;
  left:auto !important;
  border-radius:35% 85% 30% 75% !important;
  transform:rotate(28deg) !important;
  transform-origin:0 70% !important;
}
.jd-butterflies .butterfly em{
  position:absolute !important;
  left:8px !important;
  top:5px !important;
  width:2px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#c99918 !important;
  z-index:2 !important;
}
.jd-butterflies .butterfly-1{left:8px !important;top:11px !important;transform:rotate(-18deg) scale(.72) !important}
.jd-butterflies .butterfly-2{left:43px !important;top:2px !important;transform:rotate(5deg) scale(.95) !important}
.jd-butterflies .butterfly-3{left:79px !important;top:13px !important;transform:rotate(18deg) scale(.68) !important}

/* V10 — Nuestra historia */
.story-v10{padding:110px 5vw 120px!important;overflow:hidden;position:relative}
.story-layout{width:min(1440px,100%);margin:auto;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);gap:7vw;align-items:center}
.story-text{max-width:570px}.story-v10 h2{font-size:clamp(44px,4.3vw,72px);line-height:.94;margin:16px 0 38px;letter-spacing:-.035em}
.story-v10 .editorial-copy{font-size:clamp(19px,1.45vw,24px);line-height:1.5}.story-v10 .editorial-copy p{margin:0 0 20px}
.story-closing{margin-top:32px!important;padding-top:26px;border-top:1px solid rgba(77,66,53,.18)}.story-closing em{font-family:"Cormorant Garamond",serif;font-size:1.3em}
.first-times{position:relative;min-width:0}.first-times-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.slider-kicker{font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.18em;color:#9a644b}.first-times-head h3{font:400 clamp(26px,2.4vw,38px)/1.05 "Cormorant Garamond",serif;max-width:560px;margin:10px 0 0;color:#3e392f}
.slider-counter{display:flex;align-items:center;gap:10px;font:500 11px/1 "DM Sans",sans-serif;letter-spacing:.12em;color:#6e6659}.slider-counter i{width:34px;height:1px;background:#aaa08f}
.story-slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 12% 4px 0}.story-slider::-webkit-scrollbar{display:none}
.memory-card{position:relative;flex:0 0 min(430px,76%);aspect-ratio:4/5;border-radius:28px;overflow:hidden;scroll-snap-align:start;background:#d8d0c2;box-shadow:0 18px 45px rgba(64,51,38,.10)}
.memory-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}.memory-card::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(22,26,21,.78));opacity:.88;transition:opacity .35s}
.memory-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff;transform:translateY(9px);transition:transform .35s}.memory-caption span{font:600 10px/1 "DM Sans",sans-serif;letter-spacing:.18em;opacity:.82}
.memory-caption h4{font:400 clamp(28px,2.6vw,42px)/.98 "Cormorant Garamond",serif;margin:7px 0 5px}.memory-caption p{font:400 13px/1.35 "DM Sans",sans-serif;margin:0;opacity:.88}
.memory-card:hover img{transform:scale(1.035);filter:saturate(.92)}.memory-card:hover .memory-caption{transform:translateY(0)}.memory-card:hover::after{opacity:1}
.slider-controls{display:flex;align-items:center;gap:15px;margin-top:22px}.slider-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(70,61,50,.25);background:transparent;color:#4b443a;font-size:20px;cursor:pointer;transition:.25s}.slider-arrow:hover{background:#344233;color:#fff;border-color:#344233}
.slider-progress{height:1px;background:rgba(70,61,50,.18);flex:1;overflow:hidden}.slider-progress i{display:block;width:14.285%;height:100%;background:#b06f4d;transition:transform .45s ease}
.flying-butterfly{position:absolute;z-index:4;width:24px;height:18px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(91,67,16,.14))}
.flying-butterfly::before,.flying-butterfly::after{content:"";position:absolute;top:2px;width:12px;height:14px;background:#efc52f}.flying-butterfly::before{left:0;border-radius:85% 30% 72% 30%;transform-origin:100% 70%;animation:wingLeft 1.05s ease-in-out infinite}.flying-butterfly::after{right:0;border-radius:30% 85% 30% 72%;transform-origin:0 70%;animation:wingRight 1.05s ease-in-out infinite}.flying-butterfly>i{position:absolute;left:11px;top:7px;width:2px;height:9px;border-radius:2px;background:#bc8e13;z-index:2}
.bfly-a{right:5%;top:18%;opacity:.78;animation:floatA 8s ease-in-out infinite}.bfly-b{left:-2%;bottom:15%;transform:scale(.68);opacity:.55;animation:floatB 10s ease-in-out infinite}
.page-butterfly-1{right:6vw;margin-top:-22px;opacity:.48;animation:floatA 11s ease-in-out infinite}.page-butterfly-2{left:5vw;margin-top:-18px;opacity:.42;transform:scale(.72);animation:floatB 13s ease-in-out infinite}
@keyframes wingLeft{0%,100%{transform:rotate(-30deg) scaleX(1)}50%{transform:rotate(-8deg) scaleX(.58)}}@keyframes wingRight{0%,100%{transform:rotate(30deg) scaleX(1)}50%{transform:rotate(8deg) scaleX(.58)}}@keyframes floatA{0%,100%{translate:0 0;rotate:-8deg}35%{translate:16px -12px;rotate:8deg}70%{translate:-8px 9px;rotate:-2deg}}@keyframes floatB{0%,100%{translate:0 0;rotate:12deg}45%{translate:-13px -15px;rotate:-6deg}75%{translate:10px 5px;rotate:5deg}}
@media(max-width:900px){.story-v10{padding:85px 22px 95px!important}.story-layout{grid-template-columns:1fr;gap:62px}.story-text{max-width:680px}.first-times-head{align-items:flex-start}.memory-card{flex-basis:82%;border-radius:24px}}
@media(max-width:520px){.story-v10 h2{font-size:44px}.story-v10 .editorial-copy{font-size:19px}.first-times-head{display:block}.slider-counter{margin-top:18px}.story-slider{padding-right:8%}.memory-card{flex-basis:90%;border-radius:22px}.memory-caption{left:22px;right:22px;bottom:22px}}
@media(prefers-reduced-motion:reduce){.flying-butterfly,.flying-butterfly::before,.flying-butterfly::after{animation:none!important}.memory-card img,.memory-caption{transition:none!important}}

/* V11 — story section: wider, shorter, better use of full viewport */
.story-v10{
  padding:90px 4vw 96px !important;
}
.story-layout{
  width:min(1660px, 100%) !important;
  max-width:none !important;
  grid-template-columns:minmax(500px, .92fr) minmax(680px, 1.28fr) !important;
  gap:5.5vw !important;
  align-items:start !important;
}
.story-text{
  max-width:680px !important;
}
.story-v10 h2{
  max-width:650px !important;
  font-size:clamp(48px,4.1vw,70px) !important;
  line-height:.95 !important;
  margin-bottom:30px !important;
}
.story-v10 .editorial-copy{
  max-width:650px !important;
  font-size:clamp(18px,1.2vw,22px) !important;
  line-height:1.46 !important;
}
.story-v10 .editorial-copy p{
  margin-bottom:15px !important;
}
.story-closing{
  margin-top:24px !important;
  padding-top:20px !important;
}
.first-times{
  width:100% !important;
  padding-top:36px !important;
}
.first-times-head{
  margin-bottom:20px !important;
  min-height:24px !important;
}
.slider-kicker{
  font-size:12px !important;
  letter-spacing:.22em !important;
}
.story-slider{
  padding-right:16% !important;
  gap:20px !important;
}
.memory-card{
  flex-basis:min(400px, 62%) !important;
  border-radius:30px !important;
}
.memory-year{
  position:absolute !important;
  z-index:3 !important;
  right:22px !important;
  bottom:22px !important;
  color:rgba(255,255,255,.78) !important;
  font:500 10px/1 "DM Sans",sans-serif !important;
  letter-spacing:.18em !important;
  writing-mode:vertical-rl !important;
  transform:rotate(180deg) !important;
  text-shadow:0 1px 7px rgba(0,0,0,.25) !important;
}
.memory-caption{
  right:58px !important;
}
.slider-controls{
  max-width:760px !important;
}
@media (min-width:1500px){
  .story-v10{padding-left:4.5vw !important;padding-right:4.5vw !important}
  .story-layout{grid-template-columns:minmax(560px,.9fr) minmax(760px,1.3fr) !important;gap:6vw !important}
  .memory-card{flex-basis:min(430px,58%) !important}
}
@media(max-width:1100px){
  .story-layout{
    grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr) !important;
    gap:4vw !important;
  }
  .story-text{max-width:560px !important}
  .story-v10 .editorial-copy{font-size:18px !important}
  .memory-card{flex-basis:72% !important}
}
@media(max-width:900px){
  .story-v10{padding:78px 22px 88px !important}
  .story-layout{grid-template-columns:1fr !important;gap:46px !important}
  .story-text,.story-v10 h2,.story-v10 .editorial-copy{max-width:760px !important}
  .first-times{padding-top:0 !important}
  .memory-card{flex-basis:82% !important}
}

/* V12 — prevent page shift and keep both gallery controls fully clickable */
html, body{
  max-width:100% !important;
  overflow-x:clip !important;
}
.story-v10{
  box-sizing:border-box !important;
  width:100% !important;
  padding-left:4vw !important;
  padding-right:4vw !important;
}
.story-layout{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:1540px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap:5vw !important;
  overflow:visible !important;
}
.story-text,
.first-times{
  min-width:0 !important;
  width:100% !important;
}
.first-times{
  overflow:hidden !important;
}
.story-slider{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  padding-right:10% !important;
  overscroll-behavior-x:contain !important;
}
.memory-card{
  flex:0 0 calc(52% - 10px) !important;
  min-width:0 !important;
}
.slider-controls{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 2px !important;
}
.slider-arrow{
  flex:0 0 46px !important;
  position:relative !important;
  z-index:10 !important;
}
.slider-progress{
  min-width:0 !important;
}
@media(max-width:1100px){
  .story-layout{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap:4vw !important;
  }
  .memory-card{flex-basis:62% !important}
}
@media(max-width:900px){
  .story-layout{grid-template-columns:1fr !important}
  .first-times{overflow:hidden !important}
  .memory-card{flex-basis:82% !important}
}

/* V13 — definitive story wrapper reset
   The original global .story rule was still making the OUTER section a 2-column grid.
   story-layout was therefore being squeezed into only the first grid column. */
section.story.story-v10{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
  text-align:left !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
section.story.story-v10 > .story-layout{
  display:grid !important;
  width:min(1540px, 100%) !important;
  max-width:1540px !important;
  margin:0 auto !important;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap:5vw !important;
  align-items:start !important;
}
section.story.story-v10 .story-text{
  width:100% !important;
  max-width:650px !important;
}
section.story.story-v10 .first-times{
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
section.story.story-v10 .story-slider{
  width:100% !important;
  max-width:100% !important;
}
section.story.story-v10 .memory-card{
  flex:0 0 calc(52% - 10px) !important;
}
@media(max-width:1100px){
  section.story.story-v10 > .story-layout{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    gap:4vw !important;
  }
  section.story.story-v10 .memory-card{flex-basis:62% !important}
}
@media(max-width:900px){
  section.story.story-v10 > .story-layout{
    grid-template-columns:1fr !important;
    gap:46px !important;
  }
  section.story.story-v10 .story-text{max-width:760px !important}
  section.story.story-v10 .memory-card{flex-basis:82% !important}
}

/* V14: tighten story ending */
section.story.story-v10{padding-bottom:52px!important}
.story-closing{margin-bottom:0!important}
.story-closing em{font-weight:600!important;color:#304638!important}

/* V14: unified El gran día + Cómo llegar */
.day-v14{background:#eee7d7!important;padding:90px 4vw 100px!important;color:#283d31}
.day14-wrap{width:min(1540px,100%);margin:auto}
.day14-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:end;margin-bottom:46px}
.day14-intro h2{font-family:"Cormorant Garamond",serif;font-size:clamp(60px,5.4vw,88px);line-height:.88;font-weight:500;margin:14px 0 0}
.day14-copy{max-width:760px}
.day14-lead{font-family:"Cormorant Garamond",serif;font-size:clamp(28px,2vw,36px);line-height:1.05;margin:0 0 14px}
.day14-copy>p:last-child{font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.45;margin:0}
.day14-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.day14-card{background:#f8f1e5;border-radius:30px;overflow:hidden;box-shadow:0 12px 35px rgba(45,55,45,.06)}
.day14-card>img{width:100%;height:330px;display:block;object-fit:cover}
.day14-body{padding:28px 32px 32px}
.day14-body .eyebrow{color:#a95a3d}
.day14-body h3{font-family:"Cormorant Garamond",serif;font-size:clamp(42px,3.4vw,58px);font-weight:500;line-height:.95;margin:10px 0 22px}
.day14-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid rgba(45,60,48,.15);font:14px "DM Sans",sans-serif}
.day14-row strong{text-align:right}
.day14-note{font-family:"Cormorant Garamond",serif;font-size:18px;line-height:1.3;min-height:48px;margin:20px 0}
.day14-btn,.route-main-btn{display:inline-flex;text-decoration:none;border-radius:999px;font:600 11px "DM Sans",sans-serif;letter-spacing:.12em}
.day14-btn{background:#b9613f;color:#fff;padding:15px 22px}
.day14-route{margin-top:28px;background:#f8f1e5;border-radius:30px;padding:34px 40px}
.route-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}
.route-head .eyebrow{color:#a95a3d;margin:0}.route-head span{font-family:"Cormorant Garamond",serif;font-size:20px}
.route-track{position:relative;display:grid;grid-template-columns:1fr .72fr 1fr .5fr 1fr .5fr 1fr;align-items:start}
.route-track:before{content:"";position:absolute;left:5%;right:5%;top:14px;height:2px;background:#40584a;opacity:.55}
.route-stop,.route-seg{position:relative;z-index:1;text-align:center}
.route-stop i{display:block;width:16px;height:16px;border-radius:50%;background:#b9613f;border:4px solid #f8f1e5;box-shadow:0 0 0 1px #b9613f;margin:5px auto 17px}
.route-stop strong,.route-seg strong{display:block;font-family:"Cormorant Garamond",serif;font-size:18px;line-height:1.05}
.route-stop small,.route-seg small{display:block;font:500 10px/1.25 "DM Sans",sans-serif;margin-top:5px;opacity:.7}
.route-seg{padding-top:49px}
.route-main-btn{background:#304d3b;color:white;padding:17px 28px;margin:34px auto 0;width:max-content;display:flex}
@media(max-width:900px){
 .day-v14{padding:70px 22px 80px!important}.day14-intro,.day14-cards{grid-template-columns:1fr}.day14-intro{gap:22px}
 .day14-card>img{height:270px}.day14-route{padding:28px 22px}.route-head{display:block}.route-head span{display:block;margin-top:10px}
 .route-track{display:block;padding-left:32px}.route-track:before{left:7px;right:auto;top:8px;bottom:10px;width:2px;height:auto}
 .route-stop,.route-seg{text-align:left;margin-bottom:28px}.route-stop i{position:absolute;left:-32px;top:-3px;margin:0}.route-seg{padding-top:0}
 .route-main-btn{width:100%;box-sizing:border-box;justify-content:center}
}

/* V15 — real venue photos + designed responsive route map */
.day14-card>img{height:350px;object-fit:cover;object-position:center}
.route-v15{overflow:hidden;position:relative}
.route-head h3{font-family:"Cormorant Garamond",serif;font-size:clamp(32px,2.6vw,48px);font-weight:500;line-height:1;margin:8px 0 0}
.route-map-v15{height:310px;position:relative;margin:18px 0 10px;border-radius:24px;background:linear-gradient(180deg,#e8e0cf 0%,#f2eadb 100%);overflow:hidden}
.route-map-v15:before{content:"";position:absolute;left:-4%;right:-4%;bottom:-82px;height:220px;background:#d9dfcc;border-radius:50% 50% 0 0/45% 45% 0 0;opacity:.85}
.route-map-v15:after{content:"";position:absolute;right:-9%;top:-70px;width:48%;height:190px;background:#c9dfe0;border-radius:0 0 0 80%;opacity:.9}
.route-line-v15{position:absolute;z-index:2;left:7%;right:7%;top:151px;height:3px;background:#b9613f;transform:rotate(-2deg);transform-origin:center;box-shadow:0 0 0 1px rgba(185,97,63,.08)}
.route-place,.route-distance{position:absolute;z-index:3;text-align:center;transform:translateX(-50%)}
.route-place{top:115px}.route-place .route-icon{display:flex;width:38px;height:38px;margin:0 auto 12px;border-radius:50%;align-items:center;justify-content:center;background:#304d3b;color:#f4c842;border:5px solid #f2eadb;font:700 18px/1 serif;box-shadow:0 4px 16px rgba(40,61,49,.14)}
.route-place strong,.route-distance strong{display:block;font-family:"Cormorant Garamond",serif;font-size:19px;line-height:1.05}.route-place small,.route-distance small{display:block;font:500 10px/1.25 "DM Sans",sans-serif;margin-top:5px;opacity:.7;white-space:nowrap}
.rp-santa{left:8%}.rp-tayrona{left:43%}.rp-playa{left:67%}.rp-macondo{left:92%}
.route-distance{top:77px}.rd-city{left:25%}.rd-beach{left:55%}.rd-party{left:80%}.route-distance strong{color:#a65338;font-size:22px}.route-distance small{font-size:9px}
.route-butterfly{position:absolute;z-index:4;color:#e9b82f;font-size:20px;letter-spacing:-6px;animation:routeFly 4.8s ease-in-out infinite}.rb1{left:34%;top:42px}.rb2{right:18%;bottom:42px;animation-delay:1.4s}
@keyframes routeFly{0%,100%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(8px,-9px) rotate(8deg)}}
.route-caption{max-width:850px;margin:24px auto 0;text-align:center;font-family:"Cormorant Garamond",serif;font-size:19px;line-height:1.35;color:#3b473c}
@media(max-width:900px){
 .day14-card>img{height:260px}
 .route-map-v15{height:650px;margin-top:24px}
 .route-map-v15:before{left:-120px;right:-120px;bottom:-50px;height:360px}
 .route-map-v15:after{right:-110px;top:-20px;width:270px;height:240px;border-radius:0 0 0 90%}
 .route-line-v15{left:50%;right:auto;top:60px;bottom:60px;width:3px;height:auto;transform:none;background:#b9613f}
 .route-place,.route-distance{left:50%!important;right:auto;transform:none;text-align:left;width:42%}
 .route-place{display:grid;grid-template-columns:46px 1fr;column-gap:12px;align-items:center}
 .route-place .route-icon{grid-row:1/3;margin:0;width:36px;height:36px}.route-place strong,.route-place small{grid-column:2}.route-place small{white-space:normal}
 .rp-santa{top:48px}.rp-tayrona{top:225px}.rp-playa{top:385px}.rp-macondo{top:548px}
 .route-distance{transform:translateX(-100%);padding-right:28px;text-align:right;width:40%}.route-distance small{white-space:normal}
 .rd-city{top:151px}.rd-beach{top:315px}.rd-party{top:477px}
 .route-butterfly.rb1{left:18%;top:205px}.route-butterfly.rb2{right:13%;bottom:90px}
 .route-caption{text-align:left;font-size:18px}
}

/* V16 — hierarchy, compact aligned venue cards, illustrated animated route */
.day14-intro h2{font-size:clamp(44px,4.3vw,72px)!important;line-height:.94!important;letter-spacing:-.035em!important}
.day14-cards{align-items:stretch!important}
.day14-card{display:flex!important;flex-direction:column!important}
.day14-card>img{height:250px!important}
.day14-body{padding:24px 30px 28px!important;display:flex!important;flex-direction:column!important;flex:1!important}
.day14-body h3{font-size:clamp(36px,2.7vw,48px)!important;margin:8px 0 18px!important}
.day14-note{min-height:48px!important;margin:16px 0 18px!important;text-align:center}
.day14-btn{margin:auto auto 0!important}
.day14-row{min-height:22px!important}

.route-v15{padding:34px 40px 30px!important}
.route-map-v15{display:none!important}
.route-map-v16{position:relative;overflow:hidden;border-radius:26px;margin:18px 0 10px}
.route-map-v16 svg{display:block;width:100%;height:auto}
.route-map-v16 .pin16 circle:first-child{fill:#304d3b}.maplabel16{font:500 13px "DM Sans",sans-serif;fill:#435246}.maplabel16 .place{font:600 21px "Cormorant Garamond",serif;fill:#263d30}.time16{font:700 13px "DM Sans",sans-serif;fill:#a65338}.car16{filter:drop-shadow(0 3px 3px rgba(0,0,0,.18))}
.route-mobile{display:none}
@media(max-width:900px){
 .day14-card>img{height:210px!important}.day14-body{padding:22px!important}.day14-body h3{font-size:38px!important}.day14-note{min-height:0!important}
 .route-desktop{display:none}.route-mobile{display:block;height:650px;background:linear-gradient(#e8e3d6,#f6efe2);padding:34px 24px;box-sizing:border-box}
 .mountains16{position:absolute;inset:0 0 auto 0;height:220px;background:linear-gradient(145deg,transparent 20%,rgba(174,188,166,.65) 21% 42%,transparent 43%),linear-gradient(215deg,transparent 26%,rgba(203,211,191,.7) 27% 52%,transparent 53%);opacity:.75}
 .road16{position:absolute;left:48px;top:58px;bottom:58px;width:4px;background:repeating-linear-gradient(to bottom,#b9613f 0 9px,transparent 9px 17px);border-left:6px solid rgba(247,240,227,.9);border-right:6px solid rgba(247,240,227,.9)}
 .car-mobile16{position:absolute;left:50%;transform:translateX(-50%);font-size:22px;animation:driveMobile16 10s ease-in-out infinite}
 @keyframes driveMobile16{0%{top:0}50%{top:calc(100% - 28px)}100%{top:0}}
 .mstop16,.mtime16{position:relative;z-index:2;margin-left:70px}.mstop16{height:94px;padding-top:5px}.mstop16 i{position:absolute;left:-58px;top:7px;width:16px;height:16px;border-radius:50%;background:#304d3b;border:4px solid #f4c842;box-shadow:0 0 0 5px #f7f0e3}.mstop16 strong{display:block;font:600 24px/1 "Cormorant Garamond",serif}.mstop16 small{font:500 11px "DM Sans",sans-serif;opacity:.7}.mtime16{height:50px;font:700 12px "DM Sans",sans-serif;color:#a65338;padding-top:5px}
}


/* V17 — requested refinements */
.day14-intro{grid-template-columns:.72fr 1.28fr!important;align-items:center!important}
.day14-intro h2{font-size:clamp(52px,4.7vw,76px)!important;line-height:.92!important;margin:0!important}
.day14-body .eyebrow{font-size:13px!important;letter-spacing:.24em!important;font-weight:700!important}
.day14-card:first-child>img{object-position:center 24%!important}
.day14-card:nth-child(2)>img{object-position:center 50%!important}
.time16{font-size:12px!important}
.jeep16{filter:drop-shadow(0 3px 3px rgba(0,0,0,.2))}
@media(max-width:900px){
 .day14-intro{grid-template-columns:1fr!important}
 .day14-intro h2{font-size:clamp(48px,15vw,68px)!important}
 .day14-body .eyebrow{font-size:12px!important}
 .day14-card:first-child>img{object-position:center 24%!important}
 .car-mobile16{position:absolute;left:50%;width:36px;height:25px;transform:translateX(-50%);animation:driveMobile16 10s ease-in-out infinite;z-index:3}
 .car-mobile16 .jeep-body{display:block;position:relative;width:31px;height:13px;background:#304d3b;border-radius:3px;margin-top:5px;box-shadow:-5px 3px 0 -2px #304d3b}
 .car-mobile16 .jeep-body:before{content:"";position:absolute;left:7px;top:-7px;width:16px;height:8px;background:#304d3b;clip-path:polygon(18% 100%,35% 0,82% 0,100% 100%)}
 .car-mobile16 .jeep-body:after{content:"";position:absolute;left:4px;top:10px;width:6px;height:6px;border-radius:50%;background:#f7f0e3;border:2px solid #304d3b;box-shadow:20px 0 0 -2px #f7f0e3,20px 0 0 0 #304d3b}
}

/* V18 — mobile map keeps the illustrated Sierra + Caribbean language */
@media(max-width:900px){
 .route-mobile{height:auto!important;padding:0!important;background:transparent!important;border-radius:26px!important;overflow:hidden!important}
 .route-mobile svg{display:block!important;width:100%!important;height:auto!important;min-height:620px!important}
 .route-mobile .mobile-label18{font:500 11px "DM Sans",sans-serif;fill:#536257}
 .route-mobile .mobile-label18 .place{font:600 20px "Cormorant Garamond",serif;fill:#263d30}
 .route-mobile .mobile-time18{font:700 11px "DM Sans",sans-serif;fill:#a65338}
 .route-mobile .sea-label18,.route-mobile .sierra-label18{font:700 8px "DM Sans",sans-serif;letter-spacing:.18em;fill:#61756b;opacity:.72}
 .route-mobile .jeep18{filter:drop-shadow(0 3px 3px rgba(0,0,0,.22))}
 .route-mobile .mountains16,.route-mobile .road16,.route-mobile .mstop16,.route-mobile .mtime16{display:none!important}
}
@media(max-width:480px){
 .route-v15{padding:24px 14px 26px!important}
 .route-mobile svg{min-height:560px!important}
}

/* V19 — hierarchy aligned with Nuestra historia + clearer responsive route */
.day-v14{position:relative!important;padding-top:76px!important}
.day19-intro{display:block!important;margin-bottom:38px!important;position:relative!important}
.day19-intro .day14-copy{max-width:790px!important;margin:0!important;text-align:left!important}
.day19-kicker{margin:0 0 24px!important;color:#5f4639!important;font-size:12px!important;letter-spacing:.24em!important;font-weight:700!important}
.day14-lead{font-size:clamp(28px,2.15vw,38px)!important;line-height:1.08!important;margin-bottom:14px!important}
.day14-copy>p:last-child{font-size:20px!important;line-height:1.45!important}
.day14-body .eyebrow{font-size:13px!important}
.day19-butterfly{position:absolute!important;z-index:3}.db1{right:12%;top:8px}.db2{right:3%;bottom:5px;transform:scale(.8)}
/* Highlight only the two actual wedding venues on the map */
.venue-bg19,.venue-mobile19 rect{fill:#f7f0e3;stroke:#b9613f;stroke-width:1.5;opacity:.96}
.venue-label19 .place{font-size:23px!important;font-weight:700!important}.venue-label19 text:not(.place){font-weight:700!important;fill:#a65338!important}
.venue-pin19 circle:first-child{fill:#b9613f!important}
.venue-mobile19 .place{font-size:21px!important;font-weight:700!important}.venue-mobile19 text:not(.place){fill:#a65338!important;font-weight:700!important}
@media(max-width:900px){
 .day-v14{padding:60px 20px 74px!important}
 .day19-intro{margin-bottom:30px!important}.day19-intro .day14-copy{max-width:100%!important}
 .day19-kicker{font-size:11px!important;margin-bottom:18px!important}
 .day14-lead{font-size:30px!important;line-height:1.06!important}.day14-copy>p:last-child{font-size:18px!important;line-height:1.42!important}
 .db1{right:8%;top:-12px}.db2{right:0;bottom:-8px}
 .route-mobile svg{min-height:0!important}
}

/* V20 — consolidated hero, countdown placement/spacing, route polish */
.hero .script,.hero .hero-place{display:none!important}
.countdown-v20{position:relative!important;padding:58px 24px 62px!important;overflow:hidden!important}
.countdown-v20 h2{margin:18px 0 0!important;font-size:clamp(38px,3.8vw,58px)!important}
.countdown-v20 .count-grid{margin:32px auto 0!important}
.countdown-v20 .count-grid strong{font-size:clamp(64px,7vw,100px)!important}
.countdown-butterfly{position:absolute!important;z-index:2}.countdown-butterfly.cb1{left:10%;top:24%;transform:scale(.8)}.countdown-butterfly.cb2{right:11%;bottom:18%;transform:scale(.65)}
.day-v14{padding-top:66px!important}
.day19-kicker{font-size:12px!important}
/* keep venue labels safely inside the desktop illustrated map */
.route-desktop .venue-label19 .place{font-size:20px!important}
.route-desktop .venue-label19 text:not(.place){font-size:11px!important}
@media(max-width:900px){
 .countdown-v20{padding:46px 14px 50px!important}
 .countdown-v20 h2{font-size:36px!important;margin-top:14px!important}
 .countdown-v20 .count-grid{margin-top:25px!important}
 .countdown-v20 .count-grid strong{font-size:48px!important}
 .countdown-butterfly.cb1{left:4%;top:14%}.countdown-butterfly.cb2{right:5%;bottom:12%}
 .route-mobile .venue-mobile19 .place{font-size:19px!important}
 .route-mobile .venue-mobile19 text:not(.place){font-size:9.5px!important}
}
@media(max-width:480px){
 .countdown-v20{padding-top:42px!important;padding-bottom:44px!important}
 .countdown-v20 .count-grid strong{font-size:42px!important}
}

/* V21 — hero spacing, compact countdown, mobile navigation */
.hero .hero-inner{justify-content:center!important;padding-top:92px!important;padding-bottom:58px!important}
.hero .hero-inner>.eyebrow{transform:translateY(-28px);margin-bottom:6px!important}
.hero .hero-inner>.wedding-date{margin-bottom:18px!important}
.hero .hero-inner>.button{margin-top:38px!important;padding:15px 30px!important;font-size:12px!important}
.countdown-v20{padding:38px 24px 42px!important}
.countdown-v20 .eyebrow{margin:0!important}
.countdown-v20 .count-grid{margin:24px auto 0!important}
.countdown-v20 .count-grid strong{font-size:clamp(58px,6vw,88px)!important}
.countdown-v20 .count-grid span{margin-top:4px!important}
.route-v15{padding-top:28px!important}
.jd-menu-toggle,.jd-mobile-menu{display:none}

@media(max-width:900px){
  .hero .hero-inner{padding:88px 22px 64px!important}
  .hero .hero-inner>.eyebrow{transform:translateY(-22px);margin-bottom:4px!important}
  .hero .hero-inner>.button{margin-top:34px!important;padding:14px 27px!important}
  .countdown-v20{padding:34px 14px 38px!important}
  .countdown-v20 .count-grid{margin-top:20px!important}
  .jd-menu-toggle{display:flex!important;position:absolute;right:20px;top:28px;z-index:102;width:42px;height:42px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(32,49,39,.16);backdrop-filter:blur(8px);align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;cursor:pointer}
  .jd-menu-toggle span{width:17px;height:1.5px;background:#fff;display:block;transition:.25s ease}
  .jd-menu-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .jd-menu-toggle.is-open span:nth-child(2){opacity:0}
  .jd-menu-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .jd-mobile-menu{display:flex;position:fixed;z-index:101;inset:0;background:rgba(38,57,44,.97);padding:120px 34px 50px;flex-direction:column;align-items:center;gap:22px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.25s ease}
  .jd-mobile-menu.is-open{opacity:1;visibility:visible;transform:none}
  .jd-mobile-menu a{color:#f7f0e4!important;text-decoration:none!important;text-transform:uppercase;font:600 12px 'DM Sans',sans-serif!important;letter-spacing:.16em!important}
  body.menu-open{overflow:hidden}
  .floating-rsvp.hero-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(20px)}
  .floating-rsvp{transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
}

/* V22 — restore subtle scale + warmer countdown + story/map polish */
/* Countdown: compact, visually distinct from both hero and story */
.countdown-v20{
  background:#9b6954!important;
  color:#fbf4e8!important;
  padding:30px 24px 34px!important;
}
.countdown-v20 .eyebrow{color:#f0d7ad!important;font-size:11px!important}
.countdown-v20 .count-grid{margin:18px auto 0!important;max-width:940px!important}
.countdown-v20 .count-grid strong{font-size:clamp(48px,5vw,72px)!important;color:#fff9ef!important;line-height:.9!important}
.countdown-v20 .count-grid span{font-size:10px!important;color:#f0d7ad!important}
.countdown-butterfly{opacity:.58!important;transform:scale(.58)!important}

/* Story: same editorial character, but no oversized type and no tiny gallery */
section.story.story-v10{padding:68px 4vw 64px!important}
section.story.story-v10 > .story-layout{
  width:min(1500px,100%)!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:4.5vw!important;
  align-items:start!important;
}
section.story.story-v10 .story-text{max-width:610px!important}
section.story.story-v10 h2{
  max-width:590px!important;
  font-size:clamp(46px,3.35vw,60px)!important;
  line-height:.98!important;
  margin:14px 0 26px!important;
}
section.story.story-v10 .editorial-copy{
  max-width:610px!important;
  font-size:18px!important;
  line-height:1.48!important;
}
section.story.story-v10 .editorial-copy p{margin-bottom:14px!important}
section.story.story-v10 .first-times{padding-top:24px!important}
section.story.story-v10 .story-slider{gap:18px!important;padding-right:8%!important}
section.story.story-v10 .memory-card{flex:0 0 calc(52% - 9px)!important}
section.story.story-v10 .slider-controls{max-width:none!important}

/* Desktop route labels: both venues use exactly the same restrained type scale */
.route-desktop .venue-label19 .place{font-size:18px!important}
.route-desktop .venue-label19 text:not(.place){font-size:10px!important}

/* Mobile route labels: keep both venue names safely inside their cards */
.route-mobile .venue-mobile19 .place{font-size:17px!important}
.route-mobile .venue-mobile19 text:not(.place){font-size:8.7px!important}

@media(max-width:900px){
  .countdown-v20{padding:27px 14px 30px!important}
  .countdown-v20 .count-grid{margin-top:16px!important}
  .countdown-v20 .count-grid strong{font-size:44px!important}
  section.story.story-v10{padding:58px 22px 62px!important}
  section.story.story-v10 > .story-layout{grid-template-columns:1fr!important;gap:38px!important}
  section.story.story-v10 .story-text{max-width:680px!important}
  section.story.story-v10 h2{font-size:48px!important;max-width:620px!important}
  section.story.story-v10 .editorial-copy{font-size:18px!important;max-width:680px!important}
  section.story.story-v10 .memory-card{flex-basis:72%!important}
}
@media(max-width:520px){
  .countdown-v20{padding:24px 12px 27px!important}
  .countdown-v20 .count-grid{gap:4px!important}
  .countdown-v20 .count-grid strong{font-size:38px!important}
  .countdown-v20 .count-grid span{font-size:8px!important}
  section.story.story-v10{padding:52px 20px 56px!important}
  section.story.story-v10 h2{font-size:42px!important;line-height:.98!important}
  section.story.story-v10 .editorial-copy{font-size:17px!important;line-height:1.5!important}
  section.story.story-v10 .memory-card{flex-basis:86%!important}
  .route-mobile .venue-mobile19 .place{font-size:16px!important}
  .route-mobile .venue-mobile19 text:not(.place){font-size:8px!important}
}

/* V23 — restore approved hero scale + compact mobile venue slider */
/* Hero: return to the more restrained editorial scale from the approved first version */
.hero h1{
  font-size:clamp(68px,7.2vw,108px)!important;
  line-height:.82!important;
  letter-spacing:-.035em!important;
}
.hero .wedding-date{
  font-size:clamp(38px,4.1vw,60px)!important;
  line-height:1!important;
  margin-bottom:16px!important;
}
.hero .hero-inner>.eyebrow{font-size:11px!important;letter-spacing:.20em!important}
.hero .hero-inner>.button{margin-top:30px!important}

@media(max-width:900px){
  .hero h1{font-size:clamp(58px,16vw,76px)!important;line-height:.82!important}
  .hero .wedding-date{font-size:clamp(34px,10vw,45px)!important;margin-bottom:14px!important}
  .hero .hero-inner>.button{margin-top:28px!important}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(54px,15vw,68px)!important}
  .hero .wedding-date{font-size:36px!important}
}

/* On mobile, Ceremony + Reception become a horizontal swipe slider.
   Desktop remains the approved two-column layout. */
@media(max-width:900px){
  .day14-cards{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:22px;
    margin-left:-22px!important;
    margin-right:-22px!important;
    padding:0 22px 14px!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .day14-cards::-webkit-scrollbar{display:none}
  .day14-card{
    flex:0 0 min(86vw,520px)!important;
    scroll-snap-align:start;
  }
  .day14-card>img{height:220px!important}
  .day14-body{padding:22px 22px 24px!important}
  .day14-body h3{font-size:36px!important}
}
@media(max-width:520px){
  .day14-cards{gap:12px!important;padding-bottom:10px!important}
  .day14-card{flex-basis:88vw!important;border-radius:24px!important}
  .day14-card>img{height:190px!important}
  .day14-body h3{font-size:34px!important}
}

/* V24 — final hero micro-adjustments */
.hero .hero-inner>.eyebrow{
  transform:translateY(-42px)!important;
}
.hero .wedding-date{
  font-size:clamp(36px,3.7vw,54px)!important;
}
.hero .hero-inner>.button{
  margin-top:48px!important;
}
@media(max-width:900px){
  .hero .hero-inner>.eyebrow{transform:translateY(-34px)!important}
  .hero .wedding-date{font-size:clamp(32px,8.8vw,40px)!important}
  .hero .hero-inner>.button{margin-top:44px!important}
}
@media(max-width:520px){
  .hero .wedding-date{font-size:33px!important}
}

/* V25 — Hospedaje editorial carousel */
.stay-section{padding:78px max(6vw,24px) 88px!important;text-align:left!important;background:#f6f0e5!important;overflow:hidden}
.stay-head{max-width:1280px;margin:0 auto 30px}
.stay-head .day19-kicker{margin:0!important;font-size:12px!important;letter-spacing:.24em!important;color:#5f4639!important}
.stay-slider-wrap{max-width:1280px;margin:0 auto}
.stay-slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:5px}
.stay-slider::-webkit-scrollbar{display:none}
.stay-card{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start;text-decoration:none;color:#244534;background:#fffaf2;border:1px solid rgba(54,73,55,.15);border-radius:24px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.stay-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(49,55,43,.10)}
.stay-visual{height:260px;position:relative;overflow:hidden;padding:22px;display:flex;align-items:flex-end;background:linear-gradient(145deg,#49644f,#8f9b78 55%,#d8c3a3)}
.stay-2 .stay-visual{background:linear-gradient(145deg,#6d806a,#b1aa82 60%,#d7c5a7)}
.stay-3 .stay-visual{background:linear-gradient(145deg,#9a785e,#d2b38f 55%,#789489)}
.stay-4 .stay-visual{background:linear-gradient(145deg,#405c4e,#718b77 55%,#d6ba8e)}
.stay-5 .stay-visual{background:linear-gradient(145deg,#54695b,#8b9a79 50%,#b58a68)}
.stay-6 .stay-visual{background:linear-gradient(145deg,#355744,#75917a 58%,#c7ae84)}
.stay-visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 24%,rgba(255,255,255,.22),transparent 26%),linear-gradient(to top,rgba(23,47,34,.48),transparent 56%)}
.stay-number,.stay-zone,.stay-monogram{position:absolute;z-index:2;color:#fff}
.stay-number{top:20px;left:22px;font:600 11px 'DM Sans',sans-serif;letter-spacing:.18em}
.stay-monogram{top:18px;right:22px;font:500 12px 'DM Sans',sans-serif;letter-spacing:.12em;opacity:.8}
.stay-zone{left:22px;bottom:20px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.16em}
.stay-body{padding:22px 22px 24px;min-height:125px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.stay-body h3{font:500 30px/1 'Cormorant Garamond',serif;margin:0;color:#244534}
.stay-link{font:700 10px 'DM Sans',sans-serif;letter-spacing:.16em;color:#8c6044}
.stay-controls{display:flex;align-items:center;gap:14px;margin-top:20px;justify-content:flex-end;color:#6d685f;font:500 10px 'DM Sans',sans-serif;letter-spacing:.1em}
.stay-controls button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(36,69,52,.28);background:transparent;color:#244534;cursor:pointer;font-size:17px}
.stay-progress{width:110px;height:1px;background:rgba(36,69,52,.18);overflow:hidden}.stay-progress i{display:block;width:16.666%;height:100%;background:#8c6044;transition:transform .25s ease}
.stay-note{max-width:850px;margin:42px auto 0 0!important;font-size:15px!important;line-height:1.65!important;color:#655f57!important;text-align:left!important}
@media(max-width:900px){
 .stay-section{padding:62px 22px 70px!important}
 .stay-head{margin-bottom:24px}
 .stay-slider{margin-right:-22px;padding-right:22px;gap:13px}
 .stay-card{flex-basis:82vw;max-width:390px;border-radius:22px}
 .stay-visual{height:235px}
 .stay-body h3{font-size:29px}
 .stay-controls{justify-content:flex-start;margin-top:16px}
 .stay-note{margin-top:32px!important;font-size:14px!important;line-height:1.6!important}
}


/* V26 — lodging hierarchy matched to Cómo llegar + reliable carousel */
.stay-head{max-width:1280px!important;margin:0 auto 34px!important;text-align:left!important}
.stay-head .day19-kicker{margin:0 0 24px!important;font-size:12px!important;letter-spacing:.24em!important;color:#5f4639!important;font-weight:700!important}
.stay-lead{font-family:'Cormorant Garamond',serif!important;font-weight:500!important;color:#304d3b!important;font-size:clamp(28px,2.15vw,38px)!important;line-height:1.08!important;margin:0 0 14px!important;max-width:790px!important;text-align:left!important}
.stay-intro{font-family:'Cormorant Garamond',serif!important;font-size:20px!important;line-height:1.45!important;color:#5f4639!important;max-width:790px!important;margin:0!important;text-align:left!important}
.stay-slider-wrap{max-width:1280px!important;margin:0 auto!important;position:relative!important}
.stay-slider{scroll-behavior:smooth!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important;cursor:grab!important}
.stay-slider:active{cursor:grabbing!important}
.stay-controls button{display:grid!important;place-items:center!important;transition:background .2s ease,transform .2s ease!important}
.stay-controls button:hover{background:#304d3b!important;color:#fffaf2!important;transform:scale(1.04)!important}
@media(min-width:901px){.stay-card{flex:0 0 calc((100% - 36px)/3)!important}.stay-slider{padding-right:1px!important}}
@media(max-width:900px){
 .stay-head{margin-bottom:28px!important}
 .stay-head .day19-kicker{margin-bottom:20px!important}
 .stay-lead{font-size:28px!important;margin-bottom:12px!important}
 .stay-intro{font-size:18px!important;line-height:1.48!important}
 .stay-slider{scroll-snap-type:x mandatory!important}
 .stay-card{flex:0 0 84vw!important;max-width:380px!important}
}

/* V27 — real lodging photography supplied by Juanita & Daniel */
.stay-1 .stay-visual{background-image:linear-gradient(to top,rgba(20,39,29,.48),rgba(20,39,29,.03) 58%),url('hotel-playa-los-angeles.png')!important;background-size:cover!important;background-position:center!important}
.stay-2 .stay-visual{background-image:linear-gradient(to top,rgba(20,39,29,.48),rgba(20,39,29,.03) 58%),url('hotel-isabella-tayrona.png')!important;background-size:cover!important;background-position:center!important}
.stay-3 .stay-visual{background-image:linear-gradient(to top,rgba(20,39,29,.48),rgba(20,39,29,.03) 58%),url('hotel-magdalena-beach-house.png')!important;background-size:cover!important;background-position:center!important}
.stay-4 .stay-visual{background-image:linear-gradient(to top,rgba(20,39,29,.48),rgba(20,39,29,.03) 58%),url('hotel-senda-kokkos.png')!important;background-size:cover!important;background-position:center!important}
.stay-5 .stay-visual{background-image:linear-gradient(to top,rgba(20,39,29,.48),rgba(20,39,29,.03) 58%),url('hotel-nomada-tayrona.png')!important;background-size:cover!important;background-position:center!important}
.stay-6 .stay-visual{background-image:linear-gradient(to top,rgba(20,39,29,.48),rgba(20,39,29,.03) 58%),url('hotel-natyva-house.png')!important;background-size:cover!important;background-position:center!important}
.stay-visual:after{background:linear-gradient(to top,rgba(20,39,29,.36),transparent 48%)!important;pointer-events:none}

/* V28 — robust lodging + editorial dress code */
.day14-lead{font-weight:400!important}
.stay-section{display:block!important;box-sizing:border-box!important}
.stay-head{display:block!important}
.stay-slider-wrap{display:block!important;width:100%!important}
.stay-slider{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:18px!important;overflow-x:auto!important;width:100%!important}
.stay-card{display:block!important;flex:0 0 calc((100% - 36px)/3)!important;min-width:0!important;text-decoration:none!important;overflow:hidden!important}
.stay-visual{display:flex!important;position:relative!important;height:260px!important;background-size:cover!important;background-position:center!important}
.stay-body{display:flex!important}
.stay-controls{display:flex!important}
.stay-intro{display:none!important}

.dress28{position:relative;overflow:hidden;background:#e7e0cf;padding:78px max(6vw,24px) 86px;color:#304d3b}
.dress28-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto}
.dress28 .day19-kicker{margin:0 0 24px!important;font-size:12px!important;letter-spacing:.24em!important;color:#5f4639!important;font-weight:700!important}
.dress28-intro{max-width:790px;margin-bottom:38px}.dress28-intro h2{font:500 clamp(28px,2.15vw,38px)/1.08 'Cormorant Garamond',serif;margin:0 0 14px}.dress28-intro p{font:400 20px/1.45 'Cormorant Garamond',serif;color:#5f4639;margin:0}
.dress28-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dress28-person{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px;background:rgba(250,247,239,.62);border:1px solid rgba(48,77,59,.13);border-radius:26px;padding:24px;min-height:330px}
.dress28-art{height:290px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.dress28-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:18px;mix-blend-mode:multiply}
.dress28-copy>span,.dress28-palette span{font:700 11px 'DM Sans',sans-serif;letter-spacing:.22em;color:#5f4639}.dress28-copy h3{font:500 30px/1.05 'Cormorant Garamond',serif;margin:10px 0 12px}.dress28-copy p{font:400 15px/1.58 'DM Sans',sans-serif;color:#5f4639;margin:0}.dress28-copy .dress28-foot{margin-top:16px;font-weight:600;color:#304d3b}
.dress28-palette{margin-top:22px;border-radius:24px;padding:22px 24px;background:rgba(250,247,239,.7);display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(48,77,59,.12)}.dress28-palette p{font:500 22px 'Cormorant Garamond',serif;margin:4px 0 0}.dress28-swatches{display:flex;gap:8px}.dress28-swatches i{width:48px;height:48px;border-radius:50%;background:var(--c);display:block;border:3px solid rgba(255,255,255,.5);box-shadow:0 3px 10px rgba(50,50,40,.08)}
.dress28-palms{position:absolute;font-size:190px;line-height:1;color:#66765d;opacity:.09;z-index:1;transform:rotate(-25deg)}.dress28-palms-a{left:-45px;bottom:-35px}.dress28-palms-b{right:-40px;top:-30px;transform:rotate(155deg)}
@media(max-width:900px){
 .stay-slider{gap:13px!important;margin-right:-22px!important;padding-right:22px!important}.stay-card{flex:0 0 84vw!important;max-width:380px!important}.stay-visual{height:235px!important}
 .dress28{padding:62px 22px 68px}.dress28-intro{margin-bottom:28px}.dress28-intro h2{font-size:28px}.dress28-intro p{font-size:18px}.dress28-grid{grid-template-columns:1fr}.dress28-person{grid-template-columns:120px 1fr;min-height:0;padding:18px;gap:18px}.dress28-art{height:220px}.dress28-copy h3{font-size:27px}.dress28-copy p{font-size:14px}.dress28-palette{align-items:flex-start;flex-direction:column}.dress28-swatches{width:100%;overflow-x:auto}.dress28-swatches i{width:38px;height:38px;flex:0 0 38px}.dress28-palms{font-size:130px}
}
@media(max-width:520px){.dress28-person{grid-template-columns:95px 1fr;border-radius:22px;padding:15px;gap:14px}.dress28-art{height:185px}.dress28-copy h3{font-size:24px}.dress28-copy p{font-size:13px;line-height:1.5}.dress28-copy .dress28-foot{margin-top:10px}.dress28-palette p{font-size:20px}}


/* V29 — lighter dress code, palm details, mobile slider, Colombian brands */
.dress29{position:relative;overflow:hidden;background:#e7e0cf;padding:78px max(6vw,24px) 86px;color:#304d3b}
.dress29-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto}.dress29 .day19-kicker,.brands29 .day19-kicker{margin:0 0 24px!important;font-size:12px!important;letter-spacing:.24em!important;color:#5f4639!important;font-weight:700!important}.dress29-intro{max-width:760px;margin-bottom:36px}.dress29-intro h2,.brands29 h2{font:500 clamp(34px,4vw,62px)/1.02 'Cormorant Garamond',serif;margin:0 0 12px;color:#304d3b}.dress29-intro p{font:400 18px/1.5 'DM Sans',sans-serif;color:#655f57;margin:0;max-width:650px}
.dress29-slider{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dress29-person{display:grid;grid-template-columns:minmax(125px,175px) 1fr;align-items:center;gap:24px;background:rgba(250,247,239,.58);border:1px solid rgba(48,77,59,.12);border-radius:26px;padding:22px 26px;min-height:300px;overflow:hidden}.dress29-art{height:255px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f8f2e7;border-radius:22px}.dress29-art img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;filter:saturate(.94) contrast(1.01)}.dress29-copy>span,.dress29-palette span{font:700 11px 'DM Sans',sans-serif;letter-spacing:.22em;color:#5f4639}.dress29-copy p{font:400 15px/1.58 'DM Sans',sans-serif;color:#5f4639;margin:12px 0 0;max-width:390px}.dress29-icons{display:flex;gap:8px;margin-top:18px}.dress29-icons i{width:31px;height:31px;border:1px solid rgba(48,77,59,.20);border-radius:50%;display:grid;place-items:center;background:rgba(255,252,245,.52)}.dress29-icons svg{width:16px;height:16px;fill:none;stroke:#53634f;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.dress29-palette{margin-top:22px;border-radius:24px;padding:20px 24px;background:rgba(250,247,239,.65);display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(48,77,59,.11)}.dress29-palette p{font:500 22px 'Cormorant Garamond',serif;margin:4px 0 0}.dress29-swatches{display:flex;gap:7px}.dress29-swatches i{width:42px;height:42px;border-radius:50%;background:var(--c);display:block;border:3px solid rgba(255,255,255,.45);box-shadow:0 3px 10px rgba(50,50,40,.07)}.dress29-mobile-controls{display:none}
.dress29-palm,.brands29-palm{position:absolute;width:360px;height:360px;opacity:.10;pointer-events:none;background-repeat:no-repeat;background-size:contain;background-position:center;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cg fill='none' stroke='%23304d3b' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M45 270C90 205 127 142 164 45'/%3E%3Cpath d='M150 77C112 54 79 51 43 61M143 94C104 84 67 91 32 113M135 113C96 114 62 130 28 158M127 132C93 143 62 167 40 198M161 62C188 50 218 49 256 62M155 80C194 73 229 80 270 101M148 100C187 101 226 116 275 145M141 121C177 132 211 155 253 188'/%3E%3C/g%3E%3C/svg%3E")}.dress29-palm-a{left:-105px;bottom:-120px;transform:rotate(-18deg)}.dress29-palm-b{right:-100px;top:-120px;transform:rotate(155deg)}.dress29-butterfly{right:12%;top:58px;opacity:.52;transform:scale(.72)}

.brands29{position:relative;overflow:hidden;background:#f5efe4;padding:80px max(5vw,24px) 88px;color:#304d3b}.brands29-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto}.brands29-intro{font:400 17px/1.55 'DM Sans',sans-serif;color:#655f57;margin:0 0 38px;max-width:650px}.brands29-wrap{position:relative}.brands29-slider{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;overflow:visible}.brands29-card{text-decoration:none;color:inherit;min-width:0}.brands29-photo{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:#ddd3c2}.brands29-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.brands29-card:hover .brands29-photo img{transform:scale(1.025)}.brands29-card h3{font:600 13px/1.2 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#304d3b;margin:18px 0 8px}.brands29-card p{font:400 13px/1.45 'DM Sans',sans-serif;color:#75675c;margin:0 0 14px;min-height:38px}.brands29-card>span{display:inline-block;font:700 9px 'DM Sans',sans-serif;letter-spacing:.17em;color:#8c6044;border-bottom:1px solid rgba(140,96,68,.45);padding-bottom:5px}.brands29-arrow{position:absolute;z-index:5;top:42%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(48,77,59,.22);background:rgba(250,247,239,.92);color:#304d3b;font-size:20px;display:none;place-items:center;cursor:pointer}.brands29-prev{left:-22px}.brands29-next{right:-22px}.brands29-palm-a{left:-130px;top:-130px;transform:rotate(30deg)}.brands29-palm-b{right:-110px;top:-110px;transform:rotate(155deg)}.brands29-butterfly{position:absolute!important;z-index:3}.bb29-a{right:13%;top:90px;opacity:.55}.bb29-b{left:31%;bottom:28px;opacity:.42;transform:scale(.65)}
/* visually cover only the 1/3 badge on the supplied Manifiesta image, preserving the full composition */
.manifiesta-clean{position:absolute;right:10px;top:10px;width:54px;height:54px;border-radius:50%;background:rgba(34,45,32,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 14px rgba(34,45,32,.35)}

.butterfly-zone{position:relative!important;overflow:hidden}.section-butterfly{position:absolute!important;z-index:3;opacity:.42}.sb-stay{right:7%;top:46px;transform:scale(.65)}.sb-guide{left:7%;bottom:48px;transform:scale(.65)}.sb-gift{right:9%;top:35px;transform:scale(.55)}.sb-faq{left:6%;bottom:40px;transform:scale(.55)}.sb-close{right:8%;top:58px;transform:scale(.7)}

@media(max-width:1200px){.brands29-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:none;padding:0 2px 8px}.brands29-slider::-webkit-scrollbar{display:none}.brands29-card{flex:0 0 250px;scroll-snap-align:start}.brands29-arrow{display:grid}}
@media(max-width:900px){.dress29{padding:62px 22px 68px}.dress29-intro{margin-bottom:28px}.dress29-intro h2{font-size:34px}.dress29-intro p{font-size:15px}.dress29-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:13px;margin-right:-22px;padding-right:22px;scrollbar-width:none}.dress29-slider::-webkit-scrollbar{display:none}.dress29-person{flex:0 0 86vw;max-width:430px;scroll-snap-align:start;grid-template-columns:110px 1fr;min-height:255px;padding:18px;gap:17px}.dress29-art{height:210px}.dress29-copy p{font-size:14px;line-height:1.52;margin-top:10px}.dress29-icons{margin-top:13px}.dress29-icons i{width:28px;height:28px}.dress29-mobile-controls{display:flex;align-items:center;gap:13px;margin:15px 0 0;justify-content:flex-start;font:600 10px 'DM Sans',sans-serif;letter-spacing:.12em;color:#655f57}.dress29-mobile-controls button{width:35px;height:35px;border-radius:50%;border:1px solid rgba(48,77,59,.25);background:rgba(250,247,239,.55);color:#304d3b;font-size:16px}.dress29-palette{margin-top:18px;align-items:flex-start;flex-direction:column;gap:14px}.dress29-palette p{font-size:20px}.dress29-swatches{width:100%;overflow-x:auto}.dress29-swatches i{width:36px;height:36px;flex:0 0 36px}.dress29-palm{width:250px;height:250px}.brands29{padding:66px 22px 74px}.brands29 h2{font-size:43px}.brands29-intro{font-size:15px;margin-bottom:30px}.brands29-slider{margin-right:-22px;padding-right:22px}.brands29-card{flex-basis:72vw;max-width:300px}.brands29-arrow{display:none}.brands29-card p{min-height:0}.brands29-palm{width:250px;height:250px}.manifiesta-clean{width:48px;height:48px;right:8px;top:8px}}
@media(max-width:520px){.dress29-person{grid-template-columns:92px 1fr;flex-basis:88vw;border-radius:22px;padding:15px;gap:14px}.dress29-art{height:185px;border-radius:18px}.dress29-copy p{font-size:13px}.dress29-icons{gap:6px}.dress29-icons i{width:26px;height:26px}.dress29-icons svg{width:14px;height:14px}.brands29-card{flex-basis:78vw}.brands29-photo{border-radius:16px}}


/* V30 — cleaner dress-code figures, no decorative palms, interactive palette */
.dress29-palm,.brands29-palm,.dress28-palms{display:none!important}
.dress29-art{background:transparent!important;border-radius:0!important;overflow:visible!important}
.dress29-art img{mix-blend-mode:normal!important;object-fit:contain!important;filter:none!important;width:100%!important;height:100%!important}
.dress29-swatches{overflow:visible!important;scrollbar-width:none!important;padding:5px 4px 8px!important}
.dress29-swatches::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.dress29-swatches i{position:relative;cursor:pointer;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;will-change:transform}
.dress29-swatches i:hover{transform:translateY(-5px) scale(1.16);border-color:rgba(255,255,255,.82);box-shadow:0 10px 20px rgba(48,77,59,.18),0 0 0 2px rgba(48,77,59,.10)}
.dress29-swatches i:active{transform:translateY(-2px) scale(1.09)}

/* More butterflies across the page; movement stays soft and decorative. */
.ambient-butterfly{position:absolute!important;z-index:3!important;opacity:.38;pointer-events:none;animation:ambientFly var(--fly-dur,12s) ease-in-out var(--fly-delay,0s) infinite alternate!important}
.ambient-butterfly::before,.ambient-butterfly::after{animation-duration:.9s!important}
@keyframes ambientFly{0%{transform:translate3d(0,0,0) rotate(-7deg) scale(var(--fly-scale,.62))}35%{transform:translate3d(18px,-13px,0) rotate(6deg) scale(var(--fly-scale,.62))}70%{transform:translate3d(-10px,9px,0) rotate(-3deg) scale(var(--fly-scale,.62))}100%{transform:translate3d(24px,-20px,0) rotate(8deg) scale(var(--fly-scale,.62))}}

@media(max-width:900px){
 .dress29-person{grid-template-columns:124px 1fr!important;gap:16px!important}
 .dress29-art{height:225px!important}
 .dress29-swatches{width:auto!important;max-width:100%!important;gap:6px!important}
 .dress29-swatches i{width:34px!important;height:34px!important;flex:0 0 34px!important}
 .ambient-butterfly{opacity:.31}
}
@media(max-width:520px){
 .dress29-person{grid-template-columns:112px 1fr!important;gap:13px!important;padding:15px!important}
 .dress29-art{height:205px!important}
 .dress29-swatches{gap:5px!important;padding-bottom:3px!important}
 .dress29-swatches i{width:31px!important;height:31px!important;flex:0 0 31px!important;border-width:2px!important}
 .dress29-swatches i:hover{transform:translateY(-3px) scale(1.10)}
 .ambient-butterfly:nth-of-type(even){display:none!important}
}
@media(prefers-reduced-motion:reduce){.ambient-butterfly,.dress29-swatches i{animation:none!important;transition:none!important}}


/* V31 — typography system alignment + clean dress-code artwork */
/* Dress code and Colombian brands now use the same hierarchy as Cómo llegar / Hospedaje. */
.dress29-intro,
.brands29-inner > h2,
.brands29-intro{max-width:790px!important;text-align:left!important}
.dress29-intro h2,
.brands29 h2{
  font-family:'Cormorant Garamond',serif!important;
  font-weight:400!important;
  font-size:clamp(28px,2.15vw,38px)!important;
  line-height:1.08!important;
  color:#304d3b!important;
  margin:0 0 14px!important;
  letter-spacing:normal!important;
}
.dress29-intro p,
.brands29-intro{
  font-family:'Cormorant Garamond',serif!important;
  font-weight:400!important;
  font-size:20px!important;
  line-height:1.45!important;
  color:#5f4639!important;
  margin:0!important;
  text-align:left!important;
}
.brands29-intro{margin-bottom:38px!important}
.dress29-intro{margin-bottom:38px!important}

/* Use the supplied transparent figures directly: no tiles, blends or icon row. */
.dress29-icons{display:none!important}
.dress29-art{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.dress29-art img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  background:transparent!important;
}

/* Palette: no mobile scrollbar/line; simple hover emphasis on pointer devices. */
.dress29-swatches{
  overflow:visible!important;
  overflow-x:visible!important;
  scrollbar-width:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
  padding:5px 4px!important;
}
.dress29-swatches::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}
.dress29-swatches::before,.dress29-swatches::after{display:none!important;content:none!important}
.dress29-swatches i{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease!important}
@media(hover:hover) and (pointer:fine){
  .dress29-swatches i:hover{transform:translateY(-5px) scale(1.16)!important;box-shadow:0 10px 20px rgba(48,77,59,.18),0 0 0 2px rgba(48,77,59,.10)!important}
}

/* Decorative palms stay removed site-wide; butterflies carry the visual motif. */
.dress29-palm,.brands29-palm,.dress28-palms{display:none!important}

@media(max-width:900px){
  .dress29-intro h2,.brands29 h2{font-size:30px!important;line-height:1.06!important}
  .dress29-intro p,.brands29-intro{font-size:18px!important;line-height:1.42!important}
  .dress29-person{grid-template-columns:132px 1fr!important;gap:17px!important}
  .dress29-art{height:235px!important}
  .dress29-copy p{margin-top:10px!important}
  .dress29-swatches{width:100%!important;max-width:100%!important;display:flex!important;gap:6px!important;padding-bottom:2px!important}
  .dress29-swatches i{width:33px!important;height:33px!important;flex:0 0 33px!important}
}
@media(max-width:520px){
  .dress29-person{grid-template-columns:122px 1fr!important;gap:14px!important;padding:15px!important}
  .dress29-art{height:220px!important}
  .dress29-swatches{gap:4px!important}
  .dress29-swatches i{width:29px!important;height:29px!important;flex:0 0 29px!important;border-width:2px!important}
}

/* V32 — header alignment, ceremony stay note and editorial itinerary */
/* Both desktop nav groups occupy the same vertical box so left/right labels share one baseline. */
@media(min-width:901px){
  .jd-header-left,.jd-header-right{top:34px!important;height:48px!important;align-items:center!important}
  .jd-header-left>a:not(.jd-rsvp),.jd-header-right>a:not(.jd-rsvp){height:48px!important;align-items:center!important}
}

/* Cómo llegar: lead only */
.day19-intro{margin-bottom:34px!important}
.day19-intro .day14-copy{max-width:900px!important}

/* Subtle accommodation benefit inside Playa Los Ángeles card. */
.venue-stay-note{
  margin:18px 0 4px;padding:14px 16px;border:1px solid rgba(48,77,59,.16);
  border-radius:14px;background:rgba(241,235,220,.62);color:#5f4639;
  font:400 13px/1.5 'DM Sans',sans-serif;display:flex;flex-direction:column;gap:4px
}
.venue-stay-note strong{color:#304d3b;font-weight:700}
.venue-stay-note b{font-weight:700;color:#304d3b}
.venue-stay-note code{font-family:'DM Sans',sans-serif;font-weight:700;color:#8c6044;background:transparent;padding:0;white-space:nowrap}

/* Guide uses the same hierarchy as Cómo llegar / Hospedaje / Dress Code. */
.guide32{position:relative;overflow:hidden;padding:82px max(5vw,24px) 92px!important;text-align:left!important}
.guide32-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto}
.guide32-kicker{margin-bottom:12px!important}
.guide32 h2{
  max-width:790px;margin:0 0 14px!important;text-align:left!important;
  font-family:'Cormorant Garamond',serif!important;font-weight:400!important;
  font-size:clamp(28px,2.15vw,38px)!important;line-height:1.08!important;
  letter-spacing:normal!important;color:#f7f1e7!important
}
.guide32-intro{
  max-width:790px;margin:0 0 38px!important;text-align:left!important;
  font-family:'Cormorant Garamond',serif!important;font-weight:400!important;
  font-size:20px!important;line-height:1.45!important;color:#e9e2d3!important
}
.guide32-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 56px}
.guide32-video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#26392c;box-shadow:0 12px 28px rgba(0,0,0,.14)}
.guide32-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.guide32-plans{max-width:1180px}
.guide32-plans>.eyebrow{margin:0 0 18px!important;color:#d9c49d!important}
.guide32-plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;border-top:1px solid rgba(255,255,255,.18)}
.guide32-plan-list>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.18);align-items:start}
.guide32-plan-list span{font:600 10px/1.5 'DM Sans',sans-serif;letter-spacing:.12em;color:#d9c49d;padding-top:4px}
.guide32-plan-list p{margin:0!important;font:400 14px/1.55 'DM Sans',sans-serif;color:#e9e2d3!important}
.guide32-plan-list strong{display:block;margin-bottom:3px;font-family:'Cormorant Garamond',serif;font-size:23px;line-height:1.08;font-weight:500;color:#fff}
.guide32-butterfly{position:absolute!important;right:9%;top:15%;opacity:.45;--fly-scale:.62}

@media(max-width:900px){
  .guide32{padding:66px 22px 74px!important}
  .guide32 h2{font-size:30px!important;line-height:1.06!important}
  .guide32-intro{font-size:18px!important;line-height:1.42!important;margin-bottom:30px!important}
  .guide32-videos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:13px;margin-right:-22px;padding:0 22px 8px 0;scrollbar-width:none;margin-bottom:42px}
  .guide32-videos::-webkit-scrollbar{display:none}
  .guide32-video{flex:0 0 84vw;max-width:430px;scroll-snap-align:start;border-radius:16px}
  .guide32-plan-list{grid-template-columns:1fr;column-gap:0}
  .guide32-plan-list>div{grid-template-columns:34px 1fr;padding:17px 0}
  .guide32-plan-list strong{font-size:21px}
  .venue-stay-note{font-size:12px;padding:13px 14px}
}

/* V33 — compact itinerary on mobile + aligned, subtle gift section */
.guide33-plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;border-top:1px solid rgba(255,255,255,.18)}
.guide33-plan{border-bottom:1px solid rgba(255,255,255,.18);padding:0;margin:0}
.guide33-plan summary{list-style:none;display:grid;grid-template-columns:42px 1fr 18px;gap:14px;align-items:start;padding:18px 0 3px;cursor:default}
.guide33-plan summary::-webkit-details-marker{display:none}
.guide33-plan summary span{font:600 10px/1.5 'DM Sans',sans-serif;letter-spacing:.12em;color:#d9c49d;padding-top:4px}
.guide33-plan summary strong{font-family:'Cormorant Garamond',serif;font-size:23px;line-height:1.08;font-weight:500;color:#fff}
.guide33-plan summary i{display:none;font:400 18px/1 'DM Sans',sans-serif;color:#d9c49d;font-style:normal;text-align:right}
.guide33-plan>p{margin:0 0 18px 56px!important;font:400 14px/1.55 'DM Sans',sans-serif;color:#e9e2d3!important;max-width:470px}

.gift33{background:var(--terra)!important;color:var(--white);padding:72px max(5vw,24px)!important;text-align:left!important;overflow:hidden;position:relative}
.gift33-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:70px;align-items:center;min-height:250px}
.gift33-copy .eyebrow{margin:0 0 12px!important;color:#f2d8bd!important}
.gift33 h2{font-size:clamp(42px,4vw,58px)!important;line-height:1.02!important;color:#fff!important;margin:0!important}
.gift33-lead{max-width:690px;margin:18px 0 0!important;font:400 18px/1.55 'DM Sans',sans-serif;color:#fff4e8!important}
.gift33-envelope{width:210px;height:138px;position:relative;justify-self:center;perspective:800px;filter:drop-shadow(0 16px 22px rgba(78,43,30,.18))}
.gift33-envelope:before{content:"";position:absolute;inset:22px 0 0;border-radius:5px 5px 12px 12px;background:#f6ead7;clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%);z-index:3}
.gift33-envelope:after{content:"";position:absolute;left:0;right:0;bottom:0;height:116px;border-radius:5px 5px 12px 12px;background:#fff5e7;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);z-index:4}
.gift33-flap{position:absolute;left:0;right:0;top:22px;height:78px;background:#ead9bf;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;z-index:5;animation:giftFlap 5.2s ease-in-out infinite}
.gift33-letter{position:absolute;left:22px;right:22px;top:34px;height:92px;border-radius:4px;background:#fffaf0;color:var(--green);display:flex;align-items:center;justify-content:center;gap:10px;font:500 31px/1 var(--serif);z-index:2;animation:giftLetter 5.2s ease-in-out infinite}
.gift33-letter b{font-weight:400;color:var(--terra)}
.gift33-wing{position:absolute;z-index:7;width:22px;height:17px;opacity:0;animation:giftButterfly 5.2s ease-in-out infinite}
.gift33-wing i,.gift33-wing:before{content:"";position:absolute;top:4px;width:10px;height:13px;border-radius:70% 25% 65% 30%;background:#e8bd2e;transform-origin:100% 50%}
.gift33-wing i{left:1px;transform:rotate(28deg)}.gift33-wing:before{right:1px;transform:scaleX(-1) rotate(28deg)}
.gift33-wing-1{left:72px;top:14px;animation-delay:0s}.gift33-wing-2{left:112px;top:2px;animation-delay:.18s;transform:scale(.72)}.gift33-wing-3{left:142px;top:24px;animation-delay:.36s;transform:scale(.55)}
@keyframes giftFlap{0%,20%,78%,100%{transform:rotateX(0)}32%,66%{transform:rotateX(165deg)}}
@keyframes giftLetter{0%,24%,76%,100%{transform:translateY(0)}38%,64%{transform:translateY(-48px)}}
@keyframes giftButterfly{0%,31%{opacity:0;translate:0 0}40%{opacity:.9}62%{opacity:.8;translate:18px -56px}72%,100%{opacity:0;translate:34px -82px}}

@media(max-width:820px){
  .guide32-plans>.eyebrow{margin-bottom:10px!important}
  .guide33-plan-list{grid-template-columns:1fr;column-gap:0}
  .guide33-plan summary{grid-template-columns:28px 1fr 18px;padding:13px 0;align-items:center;cursor:pointer}
  .guide33-plan summary span{padding-top:0;font-size:9px}
  .guide33-plan summary strong{font-size:20px;line-height:1.05}
  .guide33-plan summary i{display:block;transition:transform .25s ease}
  .guide33-plan[open] summary i{transform:rotate(45deg)}
  .guide33-plan>p{margin:-2px 18px 13px 42px!important;font-size:13px!important;line-height:1.45!important}
  .gift33{padding:54px 22px 58px!important}
  .gift33-inner{grid-template-columns:1fr;gap:32px;min-height:0}
  .gift33 h2{font-size:30px!important;line-height:1.06!important}
  .gift33-lead{font-size:16px!important;line-height:1.5!important;margin-top:14px!important}
  .gift33-envelope{width:154px;height:102px;justify-self:start;margin-left:10px}
  .gift33-envelope:before{top:16px}.gift33-envelope:after{height:86px}.gift33-flap{top:16px;height:58px}.gift33-letter{left:16px;right:16px;top:25px;height:68px;font-size:24px}
  .gift33-wing-1{left:50px;top:7px}.gift33-wing-2{left:82px;top:-2px}.gift33-wing-3{left:108px;top:12px}
}
@media(prefers-reduced-motion:reduce){.gift33-flap,.gift33-letter,.gift33-wing{animation:none!important}.gift33-wing{display:none}}


/* V34 — cleaner hero/footer, safe desktop navigation, lodging benefit, envelope-only gift animation */
/* Keep both nav groups outside the monogram's safe area. */
@media(min-width:901px){
  .jd-header-left,.jd-header-right{max-width:calc(50% - 115px)!important}
  .jd-header-left{justify-content:flex-start!important}
  .jd-header-right{justify-content:flex-end!important}
}

/* RSVP lives only as a floating action throughout navigation. */
.jd-header .jd-rsvp,.hero .button,.closing .button{display:none!important}
.floating-rsvp{
  display:inline-flex!important;position:fixed!important;z-index:10000!important;right:24px!important;bottom:22px!important;left:auto!important;
  width:auto!important;min-width:205px!important;justify-content:center!important;align-items:center!important;
  padding:15px 23px!important;border-radius:999px!important;background:#b86b47!important;color:#fffaf0!important;
  text-align:center!important;text-decoration:none!important;text-transform:uppercase!important;font:700 10px/1 'DM Sans',sans-serif!important;
  letter-spacing:.13em!important;box-shadow:0 10px 28px rgba(51,42,35,.20)!important;opacity:1!important;visibility:visible!important;
  transform:none!important;transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important
}
.floating-rsvp:hover{transform:translateY(-3px)!important;box-shadow:0 14px 34px rgba(51,42,35,.26)!important;background:#a95f40!important}
.floating-rsvp.hero-hidden{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}

/* The Playa Los Ángeles accommodation benefit belongs to lodging, not ceremony. */
.venue-stay-note{display:none!important}
.stay-discount{
  max-width:1280px;margin:0 auto 28px;padding:17px 20px;border:1px solid rgba(48,77,59,.16);border-radius:16px;
  background:rgba(250,247,239,.72);display:flex;align-items:center;gap:22px;color:#5f4639
}
.stay-discount>span{flex:0 0 auto;font:700 9px/1.3 'DM Sans',sans-serif;letter-spacing:.17em;color:#8c6044}
.stay-discount p{margin:0!important;font:400 14px/1.5 'DM Sans',sans-serif;color:#5f4639}
.stay-discount strong,.stay-discount b{font-weight:700;color:#304d3b}
.stay-discount code{font-family:'DM Sans',sans-serif;font-weight:700;color:#8c6044;background:transparent;padding:0;white-space:nowrap}

/* Gift: no overlapping card. The envelope opens and butterflies emerge on their own. */
.gift33-envelope{overflow:visible!important}
.gift33-letter{display:none!important}
.gift33-flap{z-index:2!important;animation:giftFlap34 5.2s ease-in-out infinite!important}
.gift33-envelope:before{z-index:3!important}
.gift33-envelope:after{z-index:4!important}
.gift33-wing{z-index:6!important}
@keyframes giftFlap34{0%,18%,78%,100%{transform:rotateX(0deg)}32%,66%{transform:rotateX(168deg)}}

@media(max-width:900px){
  .floating-rsvp{left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%)!important;width:calc(100% - 28px)!important;max-width:430px!important;min-width:0!important;padding:15px 20px!important}
  .floating-rsvp:hover{transform:translateX(-50%) translateY(-2px)!important}
  .floating-rsvp.hero-hidden{transform:translateX(-50%)!important}
  .stay-discount{margin:0 0 24px;padding:15px 16px;display:block}
  .stay-discount>span{display:block;margin-bottom:7px}
  .stay-discount p{font-size:13px;line-height:1.5}
  .gift33-envelope{justify-self:center!important;margin-left:0!important;margin-right:0!important}
}

/* V35 — FAQ + final closing, aligned with the editorial section system */
.faq35{
  position:relative;overflow:hidden;background:#eee6d6;color:#59463a;
  padding:82px max(5vw,24px) 92px;text-align:left
}
.faq35-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto}
.faq35 .day19-kicker{margin:0 0 12px!important;font-size:12px!important;letter-spacing:.24em!important;color:#5f4639!important;font-weight:700!important}
.faq35 h2{margin:0 0 34px!important;font:400 clamp(42px,4vw,58px)/1.02 'Cormorant Garamond',serif!important;color:#304d3b!important}
.faq35-list{max-width:1080px;border-top:1px solid rgba(89,70,58,.22)}
.faq35 details{margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(89,70,58,.22)!important;max-width:none!important;text-align:left!important}
.faq35 summary{list-style:none;display:grid;grid-template-columns:1fr 24px;gap:22px;align-items:center;padding:22px 0;cursor:pointer;color:#304d3b!important;font:500 25px/1.12 'Cormorant Garamond',serif!important}
.faq35 summary::-webkit-details-marker{display:none}
.faq35 summary i{font:400 19px/1 'DM Sans',sans-serif;font-style:normal;text-align:center;color:#8c6044;transition:transform .25s ease}
.faq35 details[open] summary i{transform:rotate(45deg)}
.faq35 details>p{max-width:850px;margin:-4px 48px 22px 0!important;font:400 15px/1.7 'DM Sans',sans-serif!important;color:#5f4639!important}
.faq35 details>p strong{font-weight:700;color:#304d3b}
.faq35-contacts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.faq35-contacts a{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(48,77,59,.22);border-radius:999px;text-decoration:none;background:rgba(247,240,227,.62);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.faq35-contacts a:hover{transform:translateY(-2px);background:#f7f0e3;border-color:rgba(48,77,59,.42)}
.faq35-contacts b{font:700 10px/1 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#304d3b}
.faq35-contacts span{font:400 12px/1 'DM Sans',sans-serif;color:#8c6044}

.closing35{position:relative;overflow:hidden;min-height:0!important;padding:100px 24px 88px!important;text-align:center!important;display:block!important}
.closing35-inner{position:relative;z-index:2;max-width:900px;margin:0 auto}
.closing35 h2{margin:0!important;font:400 clamp(42px,4.5vw,64px)/1.02 'Cormorant Garamond',serif!important;color:#fffaf0!important}
.closing35 p{max-width:760px;margin:22px auto 0!important;font:400 clamp(21px,2vw,27px)/1.38 'Cormorant Garamond',serif!important;color:#f4eadc!important}
.closing35 p strong{font-weight:600;color:#fffaf0}
.closing35 small{display:block;margin-top:58px!important;font:600 10px/1.4 'DM Sans',sans-serif!important;letter-spacing:.18em;color:#d8c6a5!important}
.closing35-butterfly{position:absolute!important;left:12%;bottom:20%;opacity:.42;--fly-scale:.55}

@media(max-width:900px){
  .faq35{padding:64px 22px 72px}
  .faq35 h2{font-size:30px!important;line-height:1.06!important;margin-bottom:26px!important}
  .faq35 summary{padding:18px 0;font-size:21px!important;grid-template-columns:1fr 20px;gap:14px}
  .faq35 details>p{margin:-2px 30px 18px 0!important;font-size:13px!important;line-height:1.58!important}
  .faq35-contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
  .faq35-contacts a{justify-content:center;padding:11px 10px;gap:7px}
  .faq35-contacts span{font-size:11px}
  .closing35{padding:76px 22px 70px!important}
  .closing35 h2{font-size:34px!important}
  .closing35 p{font-size:21px!important;line-height:1.35!important;margin-top:18px!important}
  .closing35 small{margin-top:46px!important;font-size:9px!important;letter-spacing:.15em}
  .closing35-butterfly{left:8%;bottom:14%}
}

/* V37 — cache-safe final layout guard */
@media (min-width:901px){
  .floating-rsvp{display:inline-flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;position:fixed!important;right:24px!important;bottom:22px!important;left:auto!important;z-index:2147483000!important}
}
@media (min-width:821px){
  .guide33-plan summary{cursor:default!important}
  .guide33-plan summary i{display:none!important}
}

/* V38 — Playa Los Ángeles guest benefit lives only inside its lodging card */
.stay-discount{display:none!important}
.stay-card-benefit{margin:-5px 0 0;padding:11px 12px;border:1px solid rgba(48,77,59,.14);border-radius:12px;background:rgba(231,224,207,.45);color:#5f4639}
.stay-card-benefit span{display:block;margin-bottom:5px;font:700 8px/1.2 'DM Sans',sans-serif;letter-spacing:.14em;color:#8c6044}
.stay-card-benefit p{margin:0!important;font:400 11px/1.4 'DM Sans',sans-serif;color:#5f4639}
.stay-card-benefit strong{color:#304d3b;font-weight:700}.stay-card-benefit b{color:#8c6044;font-weight:700}
.stay-1 .stay-body{min-height:178px}
@media(max-width:900px){.stay-card-benefit{padding:10px 11px}.stay-card-benefit p{font-size:10.5px}.stay-1 .stay-body{min-height:168px}}


/* V39 — final detail pass: consistent section scale, story typography, gift card, FAQ and spacing */

/* Story: bold phrases keep exactly the same family and size as the surrounding copy. */
.story-v10 .editorial-copy strong{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  font-weight:700!important;
  color:inherit!important;
}
.story-closing em{font-style:normal!important;font-weight:600!important;color:#304638!important}

/* Tighten the transition between lodging and Dress Code. */
.stay-section{padding-bottom:48px!important}
.dress29{padding-top:58px!important}

/* Gift section follows the same editorial scale as the sections above. */
.gift33{padding:62px max(6vw,24px)!important}
.gift33-inner{max-width:1280px!important;grid-template-columns:minmax(0,720px) 1fr!important;gap:64px!important;min-height:220px!important}
.gift33-copy .eyebrow{margin-bottom:16px!important;font-size:12px!important;letter-spacing:.24em!important}
.gift33 h2{font-size:clamp(30px,2.6vw,38px)!important;line-height:1.08!important;font-weight:500!important}
.gift33-lead{max-width:650px!important;margin-top:14px!important;font-size:16px!important;line-height:1.55!important}

/* Letter comes from inside the envelope and always stays behind its front face. */
.gift33-envelope{overflow:visible!important}
.gift33-letter{
  display:flex!important;z-index:3!important;left:22px!important;right:22px!important;top:38px!important;height:88px!important;
  border-radius:5px!important;background:#fffaf0!important;box-shadow:0 6px 12px rgba(78,43,30,.08)!important;
  animation:giftLetter39 5.6s ease-in-out infinite!important
}
.gift33-flap{z-index:2!important;animation:giftFlap39 5.6s ease-in-out infinite!important}
.gift33-envelope:before{z-index:1!important}
.gift33-envelope:after{z-index:5!important}
@keyframes giftFlap39{0%,18%,80%,100%{transform:rotateX(0deg)}30%,68%{transform:rotateX(168deg)}}
@keyframes giftLetter39{0%,25%,76%,100%{transform:translateY(0)}40%,64%{transform:translateY(-58px)}}

/* Full butterflies: use the same complete butterfly component used across the site. */
.gift33-fly{position:absolute!important;z-index:7!important;opacity:0;animation:giftFly39 5.6s ease-in-out infinite!important;--fly-scale:.72}
.gift33-fly-1{left:72px;top:6px;animation-delay:.04s!important}
.gift33-fly-2{left:118px;top:-8px;animation-delay:.20s!important;--fly-scale:.58}
.gift33-fly-3{left:150px;top:20px;animation-delay:.36s!important;--fly-scale:.46}
@keyframes giftFly39{
  0%,34%{opacity:0;transform:translate(0,0) scale(var(--fly-scale)) rotate(-4deg)}
  42%{opacity:.92}
  64%{opacity:.86;transform:translate(14px,-62px) scale(var(--fly-scale)) rotate(8deg)}
  76%,100%{opacity:0;transform:translate(34px,-94px) scale(var(--fly-scale)) rotate(14deg)}
}

/* FAQ: same content width and title hierarchy as lodging/dress/brands; less visual saturation. */
.faq35{padding:66px max(6vw,24px) 76px!important}
.faq35-inner{max-width:1280px!important}
.faq35 .day19-kicker{margin-bottom:16px!important}
.faq35 h2{font-size:clamp(30px,2.6vw,38px)!important;line-height:1.08!important;font-weight:500!important;margin-bottom:28px!important}
.faq35-list{max-width:960px!important}
.faq35 summary{padding:18px 0!important;font-size:20px!important;line-height:1.18!important}
.faq35 details>p{max-width:820px!important;margin:-2px 44px 18px 0!important;font-size:14px!important;line-height:1.62!important}
.faq35-action{margin:-2px 0 22px}
.faq35-action a{display:inline-flex;align-items:center;padding:11px 15px;border:1px solid rgba(48,77,59,.22);border-radius:999px;text-decoration:none;background:rgba(247,240,227,.62);font:700 9px/1 'DM Sans',sans-serif;letter-spacing:.12em;color:#304d3b;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.faq35-action a:hover{transform:translateY(-2px);background:#f7f0e3;border-color:rgba(48,77,59,.42)}

@media(max-width:900px){
  .stay-section{padding-bottom:42px!important}
  .dress29{padding-top:50px!important}
  .story-v10 .editorial-copy strong{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}
  .gift33{padding:50px 22px 54px!important}
  .gift33-inner{gap:26px!important}
  .gift33 h2{font-size:28px!important;line-height:1.08!important}
  .gift33-lead{font-size:14px!important;line-height:1.55!important;margin-top:12px!important}
  .gift33-envelope{width:166px!important;height:110px!important}
  .gift33-envelope:before{top:17px!important}.gift33-envelope:after{height:92px!important}.gift33-flap{top:17px!important;height:61px!important}
  .gift33-letter{left:17px!important;right:17px!important;top:29px!important;height:72px!important;font-size:24px!important}
  .gift33-fly-1{left:54px;top:4px}.gift33-fly-2{left:88px;top:-8px}.gift33-fly-3{left:116px;top:13px}
  .faq35{padding:52px 22px 60px!important}
  .faq35 h2{font-size:28px!important;line-height:1.08!important;margin-bottom:22px!important}
  .faq35 summary{padding:15px 0!important;font-size:18px!important;line-height:1.18!important}
  .faq35 details>p{margin:-1px 28px 15px 0!important;font-size:13px!important;line-height:1.58!important}
  .faq35-action{margin:-1px 0 18px}
  .faq35-action a{font-size:8.5px;padding:10px 13px}
}

@media(prefers-reduced-motion:reduce){
  .gift33-flap,.gift33-letter,.gift33-fly{animation:none!important}
  .gift33-letter{transform:translateY(-42px)!important}
  .gift33-fly{display:none!important}
}

/* V42 — unified editorial typography, richer butterfly motif and butterfly cursor */
:root{
  --section-kicker-size:12px;
  --section-lead-size:clamp(30px,2.15vw,38px);
  --section-lead-line:1.08;
  --section-copy-size:16px;
  --section-copy-line:1.55;
}

/* One hierarchy across Cómo llegar, Hospedaje, Dress Code, Marcas, Itinerario, Regalo and FAQ. */
.day19-kicker,
.stay-head .day19-kicker,
.dress29 .day19-kicker,
.brands29 .day19-kicker,
.guide32-kicker,
.gift33-copy .eyebrow,
.faq35 .day19-kicker{
  margin:0 0 16px!important;
  font:700 var(--section-kicker-size)/1.2 'DM Sans',sans-serif!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
}
.day14-lead,
.stay-lead,
.dress29-intro h2,
.brands29 h2,
.guide32 h2,
.gift33 h2,
.faq35 h2{
  font-family:'Cormorant Garamond',serif!important;
  font-size:var(--section-lead-size)!important;
  line-height:var(--section-lead-line)!important;
  font-weight:500!important;
  letter-spacing:normal!important;
  margin:0 0 14px!important;
}
.day14-lead,.stay-lead,.dress29-intro h2,.brands29 h2{color:#304d3b!important}
.dress29-intro p,
.brands29-intro,
.guide32-intro,
.gift33-lead{
  font-family:'DM Sans',sans-serif!important;
  font-size:var(--section-copy-size)!important;
  line-height:var(--section-copy-line)!important;
  font-weight:400!important;
  letter-spacing:normal!important;
}
.day19-intro,.stay-head,.dress29-intro{margin-bottom:34px!important}
.brands29-intro,.guide32-intro{margin-top:0!important;margin-bottom:34px!important}

/* Playa Los Ángeles: subtle direct path to claim the guest discount. */
.stay-main-link{display:block;text-decoration:none;color:inherit}
.stay-booking-link{display:inline-block;text-decoration:none}
.stay-whatsapp{
  display:inline-block;margin-top:8px;text-decoration:none;
  font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.035em;color:#6f765f;
  border-bottom:1px solid rgba(48,77,59,.24);padding-bottom:2px
}
.stay-whatsapp:hover{color:#304d3b;border-color:#304d3b}
.stay-1 .stay-body{gap:15px!important}

/* More butterflies, kept light so the page still feels editorial. */
.ambient-butterfly-v42{position:absolute!important;z-index:3!important;pointer-events:none!important;opacity:.42;animation:ambientDriftV42 var(--fly-dur,14s) ease-in-out var(--fly-delay,0s) infinite alternate!important}
@keyframes ambientDriftV42{
  0%{transform:translate3d(0,0,0) scale(var(--fly-scale,.55)) rotate(-7deg)}
  45%{transform:translate3d(12px,-14px,0) scale(var(--fly-scale,.55)) rotate(5deg)}
  100%{transform:translate3d(-7px,-27px,0) scale(var(--fly-scale,.55)) rotate(12deg)}
}

/* Yellow butterfly cursor on desktop / mouse devices. */
@media (pointer:fine){
  html,body,body *,a,button,summary,input,textarea,select{
    cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg%3E%3Cpath d='M15.2 15.8C10.5 6.2 3.2 5.4 3.4 12.4c.2 5.2 5.5 7.3 11.8 5.2z' fill='%23F1C232'/%3E%3Cpath d='M16.8 15.8C21.5 6.2 28.8 5.4 28.6 12.4c-.2 5.2-5.5 7.3-11.8 5.2z' fill='%23F1C232'/%3E%3Cpath d='M15.2 18C10.9 18.2 7.5 21.4 9.5 25c1.8 3.1 4.7.7 6.2-5.2z' fill='%23E3AD22'/%3E%3Cpath d='M16.8 18c4.3.2 7.7 3.4 5.7 7-1.8 3.1-4.7.7-6.2-5.2z' fill='%23E3AD22'/%3E%3Cellipse cx='16' cy='17' rx='1.35' ry='5.1' fill='%23936B19'/%3E%3Cpath d='M15.7 12.1c-1.1-2.3-2.5-3-3.8-3.2M16.3 12.1c1.1-2.3 2.5-3 3.8-3.2' fill='none' stroke='%23936B19' stroke-width='1' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E") 16 16,auto!important;
  }
}

@media(max-width:900px){
  :root{--section-lead-size:30px;--section-copy-size:14px;--section-copy-line:1.55}
  .day19-kicker,.stay-head .day19-kicker,.dress29 .day19-kicker,.brands29 .day19-kicker,.guide32-kicker,.gift33-copy .eyebrow,.faq35 .day19-kicker{margin-bottom:14px!important}
  .day14-lead,.stay-lead,.dress29-intro h2,.brands29 h2,.guide32 h2,.gift33 h2,.faq35 h2{font-size:30px!important;line-height:1.08!important;margin-bottom:12px!important}
  .day19-intro,.stay-head,.dress29-intro{margin-bottom:28px!important}
  .brands29-intro,.guide32-intro{margin-bottom:28px!important}
  .stay-whatsapp{font-size:9px;line-height:1.45}
  .ambient-butterfly-v42{opacity:.34}
}
@media(max-width:520px){
  .ambient-butterfly-v42:nth-of-type(3n){display:none!important}
}
@media(prefers-reduced-motion:reduce){.ambient-butterfly-v42{animation:none!important}}
