@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,700&family=Inter:wght@300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --cream:  #F5EFE6;
  --cream2: #EDE5D8;
  --cream3: #E4D8C8;
  --espresso: #2C1810;
  --espresso2:#4A2E1E;
  --peony:  #D4728A;
  --peony-l:#F0C4D2;
  --peony-a:rgba(212,114,138,.1);
  --beige:  #C4A882;
  --white:  #FDFAF6;
  --serif:  'Playfair Display',Georgia,serif;
  --sans:   'Inter',system-ui,sans-serif;
  --ease:   cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:var(--white);
  color:var(--espresso);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.7;
  max-width:430px;
  margin:0 auto;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
::selection{background:var(--peony-l);color:var(--espresso)}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.on{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

/* ── EYEBROW ── */
.eyebrow{
  display:block;
  font-family:var(--sans);
  font-size:10px;font-weight:500;
  letter-spacing:4px;text-transform:uppercase;
  color:var(--peony);
}

/* ── BUTTONS ── */
.btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;width:100%;
  font-family:var(--sans);font-size:12px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;border:none;
  border-radius:2px;
  transition:all .2s;
  -webkit-tap-highlight-color:transparent;
}
.btn-fill{background:var(--espresso);color:var(--white)}
.btn-fill:active{opacity:.85;transform:scale(.98)}
.btn-peony{background:var(--peony);color:var(--white)}
.btn-peony:active{opacity:.85;transform:scale(.98)}
.btn-out{background:transparent;border:1.5px solid var(--espresso);color:var(--espresso)}
.btn-out:active{background:var(--cream2)}

/* ══════════════
   HEADER / NAV
══════════════ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(253,250,246,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cream3);
  padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;
}

.site-header__logo{
  font-family:var(--serif);
  font-size:18px;font-weight:700;
  letter-spacing:3px;
  color:var(--espresso);
}

.site-header__cta{
  font-size:10px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;
  color:var(--peony);
  padding:8px 16px;
  border:1px solid var(--peony);
  border-radius:2px;
}

/* ══════════════
   HERO
══════════════ */
.hero{
  background:var(--cream);
  padding:0;
  position:relative;
  overflow:hidden;
}

/* big decorative text behind */
.hero__watermark{
  position:absolute;
  top:-20px;left:-10px;
  font-family:var(--serif);
  font-size:160px;font-weight:700;
  color:var(--espresso);
  opacity:.04;
  line-height:1;
  pointer-events:none;user-select:none;
  white-space:nowrap;
}

.hero__photos{
  display:grid;grid-template-columns:1fr 1fr;
  height:56vw;max-height:240px;
  position:relative;
}

.hero__photo{
  position:relative;overflow:hidden;
}
.hero__photo--m{background:linear-gradient(160deg,#C4956A,#8B5E3C)}
.hero__photo--e{background:linear-gradient(160deg,#A0785A,#6B4028)}

.hero__photo img{opacity:.85}

.hero__photo-ph{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;
  padding:14px 10px;
}

.hero__photo-ph-letter{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-60%);
  font-family:var(--serif);font-size:80px;font-weight:700;
  color:white;opacity:.08;line-height:1;user-select:none;
}

.hero__photo-ph-name{
  font-family:var(--serif);font-size:17px;font-weight:400;
  color:white;letter-spacing:2px;display:block;
  text-align:center;position:relative;
  text-shadow:0 1px 8px rgba(0,0,0,.3);
}

.hero__photo-divider{
  position:absolute;top:0;bottom:0;left:50%;
  width:1px;background:rgba(253,250,246,.4);z-index:2;
}

/* cream wave bottom */
.hero__wave{
  position:absolute;bottom:-1px;left:0;right:0;
  height:32px;
  background:var(--white);
  clip-path:ellipse(55% 100% at 50% 100%);
}

.hero__body{
  padding:32px 24px 40px;
  position:relative;z-index:2;
}

.hero__edition{margin-bottom:10px}

.hero__brand{
  font-family:var(--serif);
  font-size:52px;font-weight:700;
  letter-spacing:4px;
  color:var(--espresso);
  line-height:.95;
  margin-bottom:8px;
}

.hero__slogan{
  font-family:var(--serif);
  font-size:16px;font-style:italic;
  color:var(--peony);
  margin-bottom:24px;
  font-weight:400;
}

.hero__divider{
  width:40px;height:2px;
  background:var(--peony);
  margin-bottom:20px;
  border-radius:2px;
}

.hero__title{
  font-family:var(--serif);
  font-size:32px;font-weight:400;
  line-height:1.2;
  color:var(--espresso);
  margin-bottom:8px;
}
.hero__title em{font-style:italic;color:var(--peony)}

.hero__sub{
  font-size:11px;font-weight:500;letter-spacing:3px;
  text-transform:uppercase;color:var(--beige);
  margin-bottom:20px;
}

.hero__chips{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:28px;
}

.hero__chip{
  background:var(--cream2);
  border-radius:100px;
  padding:6px 14px;
  font-size:12px;font-weight:400;
  color:var(--espresso2);
  display:flex;align-items:center;gap:6px;
}

.hero__chip-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--peony);flex-shrink:0;
}

/* ══════════════
   COUNTDOWN
══════════════ */
.countdown{
  background:var(--espresso);
  padding:28px 24px;
  display:flex;flex-direction:column;align-items:center;gap:16px;
}

.countdown__label{
  font-size:10px;font-weight:500;letter-spacing:4px;
  text-transform:uppercase;color:var(--peony-l);opacity:.7;
}

.countdown__row{
  display:flex;align-items:center;
  justify-content:center;gap:8px;width:100%;
}

.cd-unit{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}

.cd-num{
  font-family:var(--serif);font-size:44px;font-weight:700;
  color:var(--white);line-height:1;text-align:center;
}

.cd-lbl{
  font-size:9px;font-weight:400;letter-spacing:2px;
  text-transform:uppercase;color:var(--peony-l);opacity:.5;
}

.cd-sep{
  font-family:var(--serif);font-size:28px;
  color:var(--peony-l);opacity:.2;
  margin-top:-8px;flex-shrink:0;
}

/* ══════════════
   NOSOTRAS PREVIEW
══════════════ */
.nos-prev{
  background:var(--white);
  padding:56px 24px;
}

.nos-prev__header{margin-bottom:20px}
.nos-prev__header .eyebrow{margin-bottom:12px}

.nos-prev__title{
  font-family:var(--serif);
  font-size:40px;font-weight:400;
  color:var(--espresso);line-height:1.1;
}
.nos-prev__title em{font-style:italic;color:var(--peony)}

.nos-prev__quote{
  font-family:var(--serif);
  font-size:16px;font-style:italic;font-weight:400;
  color:var(--espresso2);opacity:.75;
  line-height:1.75;
  padding:20px 0;
  border-top:1px solid var(--cream3);
  border-bottom:1px solid var(--cream3);
  margin:20px 0 28px;
}

.nos-duo{
  display:grid;grid-template-columns:1fr 1fr;
  gap:12px;margin-bottom:24px;
}

.nos-card{
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:3/4;
  position:relative;
  box-shadow:0 4px 20px rgba(44,24,16,.1);
}

.nos-card--m{background:linear-gradient(170deg,#C4956A,#6B3E28)}
.nos-card--e{background:linear-gradient(170deg,#A0785A,#4A2818)}

.nos-card img{opacity:.8;border-radius:12px}

.nos-card__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(44,24,16,.85) 0%,transparent 55%);
  border-radius:12px;
}

.nos-card__info{
  position:absolute;bottom:14px;left:14px;right:14px;
  z-index:2;
}

.nos-card__name{
  font-family:var(--serif);font-size:20px;font-weight:500;
  color:white;display:block;letter-spacing:1px;
}

.nos-card__role{
  font-size:9px;font-weight:400;letter-spacing:2px;
  text-transform:uppercase;color:var(--peony-l);
  opacity:.8;display:block;margin-top:3px;
}

.nos-card__ghost{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-60%);
  font-family:var(--serif);font-size:80px;font-weight:700;
  color:white;opacity:.06;line-height:1;user-select:none;
}

/* ══════════════
   EVENTO PREVIEW
══════════════ */
.evt-prev{
  background:var(--cream);
  padding:56px 24px;
  position:relative;overflow:hidden;
}

.evt-prev::before{
  content:'01';
  position:absolute;top:-20px;right:-10px;
  font-family:var(--serif);font-size:180px;font-weight:700;
  color:var(--espresso);opacity:.04;
  line-height:1;pointer-events:none;user-select:none;
}

.evt-prev .eyebrow{margin-bottom:12px}

.evt-prev__title{
  font-family:var(--serif);
  font-size:40px;font-weight:400;
  color:var(--espresso);line-height:1.1;margin-bottom:8px;
}
.evt-prev__title em{font-style:italic;color:var(--peony)}

.evt-prev__desc{
  font-size:15px;font-weight:400;
  color:var(--espresso2);opacity:.75;
  line-height:1.8;margin:16px 0 24px;
}

.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}

.pill{
  padding:7px 14px;
  border-radius:100px;
  background:var(--white);
  border:1px solid var(--cream3);
  font-size:11px;font-weight:400;
  color:var(--espresso2);
}

.evt-info{
  background:var(--white);
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--cream3);
  margin-bottom:24px;
}

.evt-info__row{
  display:flex;
  border-bottom:1px solid var(--cream3);
}
.evt-info__row:last-child{border-bottom:none}

.evt-info__cell{
  flex:1;padding:14px 16px;
  border-right:1px solid var(--cream3);
}
.evt-info__cell:last-child{border-right:none}

.evt-info__lbl{
  font-size:9px;font-weight:500;letter-spacing:2px;
  text-transform:uppercase;color:var(--peony);
  display:block;margin-bottom:4px;
}

.evt-info__val{
  font-family:var(--serif);font-size:14px;font-weight:400;
  color:var(--espresso);display:block;line-height:1.3;
}

.evt-btns{display:flex;flex-direction:column;gap:10px}

/* ══════════════
   KIT PREVIEW
══════════════ */
.kit-prev{
  background:var(--white);
  padding:56px 24px;
}

.kit-prev .eyebrow{margin-bottom:12px}

.kit-prev__title{
  font-family:var(--serif);
  font-size:40px;font-weight:400;
  color:var(--espresso);line-height:1.1;margin-bottom:8px;
}
.kit-prev__title em{font-style:italic;color:var(--peony)}

.kit-prev__sub{
  font-size:15px;font-weight:400;
  color:var(--espresso2);opacity:.7;line-height:1.8;
  margin:12px 0 28px;
}

.kit-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;margin-bottom:16px;
}

.kit-card{
  background:var(--cream);
  border-radius:12px;
  padding:18px 14px;
  border:1px solid var(--cream3);
}

.kit-card__icon{
  font-size:18px;display:block;margin-bottom:10px;
}

.kit-card h4{
  font-family:var(--serif);font-size:15px;font-weight:500;
  color:var(--espresso);margin-bottom:4px;
}

.kit-card p{
  font-size:11px;font-weight:400;
  color:var(--espresso2);opacity:.6;line-height:1.5;
}

.snack-strip{
  background:var(--espresso);
  border-radius:12px;
  padding:18px 20px;
  margin-bottom:24px;
}

.snack-strip__tag{
  font-size:9px;font-weight:500;letter-spacing:3px;
  text-transform:uppercase;color:var(--peony-l);
  opacity:.6;display:block;margin-bottom:6px;
}

.snack-strip__items{
  font-family:var(--serif);font-size:14px;
  font-style:italic;color:var(--white);opacity:.75;
}

/* ══════════════
   SPONSORS
══════════════ */
.sponsors{
  background:var(--cream2);
  padding:32px 24px;
  border-top:1px solid var(--cream3);
}

.sponsors__tag{
  font-size:9px;font-weight:500;letter-spacing:4px;
  text-transform:uppercase;color:var(--beige);
  text-align:center;display:block;margin-bottom:18px;
}

.sponsors__list{
  display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;
}

.sponsors__list span{
  font-family:var(--serif);font-size:13px;font-weight:400;
  color:var(--espresso2);opacity:.35;letter-spacing:1px;
}

/* ══════════════
   FOOTER
══════════════ */
footer{
  background:var(--espresso);
  padding:48px 24px 56px;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}

.footer__brand{
  font-family:var(--serif);font-size:26px;font-weight:700;
  letter-spacing:6px;color:var(--white);
}

.footer__slogan{
  font-family:var(--serif);font-size:14px;
  font-style:italic;color:var(--peony-l);opacity:.6;
}

.footer__igs{
  display:flex;align-items:center;gap:14px;
  font-size:11px;font-weight:400;
  color:var(--white);opacity:.4;margin-top:6px;
}

.footer__copy{
  font-size:10px;font-weight:300;
  color:var(--white);opacity:.2;margin-top:10px;
}

/* ── LOGO IMG ── */
.site-header__logo-img {
  height: 36px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* ── SPONSORS COMING SOON ── */
.sponsors__coming {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--beige);
  opacity: .4;
  text-align: center;
  margin-bottom: 10px;
  font-style: italic;
}

/* ── HERO IMAGES FIX (PRO LEVEL) ── */
.hero__photo img{
  object-fit: cover;
  height: 100%;
}

/* María (izquierda) MÁS CERCA */
.hero__photo--m img{
  object-position: center 15%;
  transform: scale(1.35);
}

/* Emely (derecha) balance */
.hero__photo--e img{
  object-position: center 15%;
  transform: scale(1.05);
}

/* ── FIX GLOBAL IMG SOLO HERO ── */
img{
  height: auto; /* 👈 esto arregla TODO */
}

/* ── FOOTER SIGNATURE PRO ── */
.footer__signature{
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.footer__signature img{
  width: 40px;   /* 👈 tamaño correcto */
  height: auto;
  object-fit: contain;
  opacity: .85;
}

.footer__signature span{
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--white);
  opacity: .4;
}

.site-header__logo-img {
  height: 64px;
}

.sponsors__list{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
  margin-top:20px;
}

.sponsors__list img{
  display:block;
  width:100%;
  height:95px;
  object-fit:contain;
  background:#c9ad97;
  border-radius:16px;
  padding:16px;
}
