/* ==========================================================================
   Tobal & Carol · Landing del casamiento
   Escritorio: todas las medidas usan --u (1u = 1px del diseño de 1920px de ancho),
   por eso la página escala idéntica al PDF en cualquier ancho de pantalla.
   Celular (<768px): --u se agranda y algunos bloques cambian de layout.
   ========================================================================== */

@font-face{font-family:"Wendy LP";src:url(../fonts/wendylp-bold.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Bodoni 72 OS";src:url(../fonts/bodoni72os-book.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni 72 OS";src:url(../fonts/bodoni72os-bookitalic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Bodoni 72 OS";src:url(../fonts/bodoni72os-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --red:#e0141f;
  --ink:#000;
  --line:#949494;
  --u:calc(100vw / 1920);
  --script:"Wendy LP","Brush Script MT",cursive;
  --serif:"Bodoni 72 OS","Bodoni 72 Oldstyle","Bodoni 72","Bodoni MT",Didot,"Times New Roman",serif;
  --nav-h:calc(92.98 * var(--u));
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--serif);font-weight:400;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,p,ol,ul,figure{margin:0;padding:0;font-weight:400}
ol,ul{list-style:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
b{font-weight:700}
.emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;letter-spacing:0}
.page{overflow-x:clip}
.br-d{display:inline}

/* ---------- tipografías base ---------- */
.t-script{font-family:var(--script);font-weight:400;font-size:calc(87.9 * var(--u));line-height:1.1;color:var(--red);text-align:center}
.t-body{font-size:calc(34.5 * var(--u));line-height:1.2;letter-spacing:.1em;padding-left:.1em;text-align:center}
.t-body--multi{line-height:1.4746}
.t-caps{font-size:calc(34.5 * var(--u));line-height:1.2;letter-spacing:.2em;padding-left:.2em;text-align:center}

.divider{display:block;border:0;margin:0 auto;width:calc(209 * var(--u));height:max(1px,calc(1.642 * var(--u)));background:var(--line)}

.btn{display:flex;align-items:center;justify-content:center;width:fit-content;min-width:calc(403.14 * var(--u));height:calc(41.84 * var(--u));min-height:26px;margin-left:auto;margin-right:auto;padding:0 calc(22.8 * var(--u));border:max(1px,calc(.722 * var(--u))) solid var(--ink);border-radius:999px;font-size:max(11px,calc(22.92 * var(--u)));line-height:1.2;letter-spacing:.2em;white-space:nowrap;transition:color .2s,border-color .2s}
.btn span{margin-right:-.2em}
.btn:hover,.btn:focus-visible{color:var(--red);border-color:var(--red)}

/* ---------- header + menú ---------- */
.top{padding-top:calc(90 * var(--u));text-align:center}
.logo{font-family:var(--script);font-weight:400;font-size:calc(145.7 * var(--u));line-height:1.1;color:var(--red)}

.nav{position:sticky;top:0;z-index:50;background:#fff;margin-top:calc(39.24 * var(--u));padding:calc(31.5 * var(--u)) calc(233.5 * var(--u)) calc(33.9 * var(--u)) calc(244.2 * var(--u));transition:box-shadow .25s}
.nav ul{display:flex;justify-content:space-between;align-items:baseline}
.nav a{display:block;font-size:max(11px,calc(22.98 * var(--u)));line-height:1.2;letter-spacing:.2em;white-space:nowrap;transition:color .2s}
.nav a:hover,.nav a:focus-visible{color:var(--red)}
.nav.is-stuck{box-shadow:0 1px 0 rgba(0,0,0,.08)}
.nav__brand,.nav__toggle{display:none}

/* ---------- hero ---------- */
.hero{position:relative;display:flex;height:calc(656.5 * var(--u));background:#000}
.hero__photo{flex:0 0 calc(var(--w) / 1920 * 100%);height:100%;overflow:hidden}
.hero__photo img{width:100%;height:100%;object-fit:cover}
.hero__title{position:absolute;left:0;right:0;top:calc(431.33 * var(--u));z-index:2;font-family:var(--script);font-size:calc(188.75 * var(--u));line-height:1;color:var(--red);text-align:center;white-space:nowrap}
.hero::after{content:"";position:absolute;left:calc(449.3 / 1920 * 100%);top:100%;width:calc(991 / 1920 * 100%);height:calc(118.7 * var(--u));background:url(../img/hero-shadow.png) 0 0/100% 100% no-repeat;pointer-events:none}

/* ---------- día y horario ---------- */
.s-dia{padding-top:calc(57.67 * var(--u));text-align:center}
.names{font-size:calc(55.22 * var(--u));line-height:1.2;letter-spacing:.08em;padding-left:.08em}
.dia__sub{margin-top:calc(-7.55 * var(--u))}
.dia__day{margin-top:calc(75.27 * var(--u))}
.dia__date{margin-top:calc(36.53 * var(--u));font-size:calc(52.44 * var(--u));line-height:1.2;letter-spacing:.08em;padding-left:.08em}
.dia__label{margin-top:calc(48.54 * var(--u))}
.dia__time{margin-top:calc(53.3 * var(--u));font-size:calc(34.5 * var(--u));line-height:1.2;letter-spacing:.08em;padding-left:.08em}
.dia__arrive{margin-top:calc(5.66 * var(--u));font-size:calc(34.5 * var(--u));line-height:1.2;font-style:italic;letter-spacing:.1em;padding-left:.1em}

.countdown{margin-top:calc(76.56 * var(--u))}
.countdown__label{font-size:calc(31.27 * var(--u));line-height:1.2;letter-spacing:.1em;padding-left:.1em}
.countdown__pill{position:relative;display:flex;align-items:center;justify-content:center;width:fit-content;min-width:calc(630.22 * var(--u));height:calc(82.08 * var(--u));margin:calc(11.12 * var(--u)) auto 0;padding:0 calc(39.5 * var(--u)) 0 calc(42.45 * var(--u));background:#fff;border-radius:999px;font-size:calc(29.52 * var(--u));line-height:1.2;letter-spacing:.1em;white-space:nowrap}
.countdown__pill::before{content:"";position:absolute;z-index:-1;inset:calc(-197.2 * var(--u)) calc(-197.1 * var(--u));background:url(../img/countdown-glow.png) 0 0/100% 100% no-repeat;pointer-events:none}
.countdown__seg{padding:0 calc(23.85 * var(--u)) 0 calc(26.8 * var(--u))}
.countdown__seg:first-child{padding-left:0}
.countdown__seg:last-child{padding-right:0}
.countdown__sep{flex:none;width:max(1px,calc(.702 * var(--u)));height:calc(41.7 * var(--u));background:var(--ink)}
.dia__div{margin-top:calc(61.39 * var(--u))}

/* ---------- historia / rsvp / música ---------- */
.s-historia{padding-top:calc(65.76 * var(--u))}
.historia__text{margin-top:calc(23.64 * var(--u))}
.historia__div{margin-top:calc(99.83 * var(--u))}

.s-rsvp{padding-top:calc(80.76 * var(--u))}
.rsvp__btn{margin-top:calc(39.85 * var(--u))}
.rsvp__div{margin-top:calc(128.52 * var(--u))}

.s-musica{padding-top:calc(80.86 * var(--u))}
.musica__q{margin-top:calc(41.07 * var(--u))}
.musica__btn{margin-top:calc(50.3 * var(--u))}
.musica__div{margin-top:calc(87.6 * var(--u))}

/* ---------- cronograma ---------- */
.s-info{position:relative;padding-top:calc(80.76 * var(--u))}
.timeline{position:relative;z-index:1;margin-top:calc(24.12 * var(--u));text-align:center}
.timeline li{display:flex;flex-direction:column;align-items:center}
.timeline li+li{margin-top:calc(66.38 * var(--u))}
.timeline__time{font-family:var(--script);font-size:calc(55.82 * var(--u));line-height:1;letter-spacing:.05em;padding-left:.05em;color:var(--red)}
.timeline__what{margin-top:calc(5.13 * var(--u));font-size:calc(34.5 * var(--u));line-height:1.2;letter-spacing:.1em;padding-left:.1em}
.ill{position:absolute;left:calc(50% + var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u));height:auto;transform:translateX(-50%);pointer-events:none;user-select:none}
.ill--cupido-bandera{--x:-599.5;--y:262.18;--w:130}
@media (max-width:767.98px){.ill--cupido-bandera{left:auto;right:auto;left:6px;transform:none;width:calc(130*var(--u))}}
.ill--acordeon{--x:622.8;--y:322.98;--w:189}
@media (max-width:767.98px){.ill--acordeon{left:auto;right:auto;right:4px;transform:none;width:calc(179.55*var(--u))}}
.ill--corazon-1{--x:80.5;--y:380.48;--w:29}
.ill--cupido-bandeja{--x:-395.9;--y:590.58;--w:144}
@media (max-width:767.98px){.ill--cupido-bandeja{left:auto;right:auto;left:18px;transform:none;width:calc(144*var(--u))}}
.ill--corazon-2{--x:-122;--y:696.48;--w:28}
.ill--mesa{--x:389.9;--y:652.68;--w:199}
@media (max-width:767.98px){.ill--mesa{left:auto;right:auto;right:2px;transform:none;width:calc(189.05*var(--u))}}
.ill--corazones{--x:-448.45;--y:956.78;--w:151.5}
@media (max-width:767.98px){.ill--corazones{left:auto;right:auto;left:10px;transform:none;width:calc(151.5*var(--u))}}
.ill--corazon-3{--x:137.4;--y:1045.38;--w:29}
.ill--cupido-copa{--x:445.65;--y:1036.58;--w:128.5}
@media (max-width:767.98px){.ill--cupido-copa{left:auto;right:auto;right:14px;transform:none;width:calc(128.5*var(--u))}}
.info__div{margin-top:calc(89.74 * var(--u))}

/* ---------- ubicación ---------- */
.s-lugar{padding-top:calc(80.76 * var(--u));padding-bottom:calc(147.2 * var(--u))}
.lugar__nota{margin-top:calc(41.07 * var(--u))}
.lugar__btn{margin-top:calc(50.3 * var(--u))}
.map{position:relative;display:block;width:calc(1199.4 * var(--u));margin:calc(44.43 * var(--u)) auto 0;border-radius:calc(47.8 * var(--u));overflow:hidden;isolation:isolate}
.map img{width:100%;height:auto}
.map__label{position:absolute;font-weight:700;line-height:1.023;white-space:nowrap;color:var(--ink)}
.map__label--ss{left:12.256%;top:39.2%;transform:translateX(-50%);font-size:max(8px,calc(20.92 * var(--u)));letter-spacing:.25em;text-align:center}
.map__label--ba{left:76.02%;top:48.032%;transform:translateX(-50%);font-size:max(8px,calc(19.7 * var(--u)));line-height:.9645;letter-spacing:.2em;text-align:center}
.map__label--flt{left:52.834%;top:63.874%;font-size:max(8px,calc(20.92 * var(--u)));letter-spacing:.25em;text-align:left}

/* ---------- banners (dresscode / regalos) ---------- */
.banner{position:relative}
.banner img{width:100%;height:auto}
.banner__text{position:absolute;left:calc(201.4 * var(--u));width:calc(800 * var(--u));top:calc(170.07 * var(--u));text-align:center}
.banner__kicker{font-size:calc(55.22 * var(--u));line-height:1.2;letter-spacing:.08em}
.banner__title{margin-top:calc(-14.68 * var(--u));font-family:var(--script);font-size:calc(174.47 * var(--u));line-height:1;color:var(--red);white-space:nowrap}
.banner--damas .banner__text{top:calc(187.77 * var(--u))}
.banner--damas .banner__title{transform:translateX(calc(-18 * var(--u)))}
.banner--regalos .banner__title{position:absolute;left:calc(346.3 * var(--u));top:calc(188.75 * var(--u));margin:0}

/* ---------- dresscode ---------- */
.s-dress{padding-top:calc(40 * var(--u));padding-bottom:calc(134.3 * var(--u))}
.dress__text{margin-top:calc(118.71 * var(--u))}
.dress__text--damas{margin-top:calc(118.91 * var(--u))}
.gallery{display:flex;gap:calc(66.4 * var(--u));padding:0 calc(71 * var(--u));margin-top:calc(108.44 * var(--u))}
.gallery--damas{margin-top:calc(105.24 * var(--u))}
.gallery__col{flex:1 1 0;min-width:0}
.gallery__item{margin-top:calc(var(--g) / 394.7 * 100%)}
.gallery__item img{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;border-radius:calc(44.5 * var(--u))}
.banner--damas{margin-top:calc(144.9 * var(--u))}

/* ---------- regalos ---------- */
.s-regalos{padding-top:calc(40 * var(--u));padding-bottom:calc(153.83 * var(--u))}
.regalos__title{margin-top:calc(83.98 * var(--u))}
.regalos__text{margin-top:calc(41.07 * var(--u))}
.accounts{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;margin-top:calc(121.03 * var(--u))}
.account--ars{justify-self:end;margin-right:calc(120.1 * var(--u))}
.account--usd{justify-self:start;margin-left:calc(127.5 * var(--u))}
.accounts__sep{width:max(1px,calc(1.642 * var(--u)));height:calc(176 * var(--u));margin-top:calc(-7.07 * var(--u));background:var(--line)}
.account__label{display:flex;align-items:center;width:fit-content;height:calc(34.05 * var(--u));padding:0 calc(8.9 * var(--u)) 0 calc(14.7 * var(--u));border:max(1px,calc(.588 * var(--u))) solid var(--ink);border-radius:999px;font-size:calc(27.83 * var(--u));line-height:1.2;letter-spacing:.2em;white-space:nowrap}
.account__row{margin-top:calc(25.6 * var(--u));padding-left:calc(14.7 * var(--u));font-size:calc(29.71 * var(--u));line-height:1.2;letter-spacing:.1em;white-space:nowrap}
.account__row+.account__row{margin-top:calc(25.35 * var(--u))}

/* ==========================================================================
   Celular
   ========================================================================== */
@media (max-width:767.98px){
  :root{--u:min(calc(100vw / 1920 * 2.2),.62px);--nav-h:56px}
  .br-d{display:none}
  .t-script{font-size:calc(76 * var(--u));line-height:1.12;text-wrap:balance;padding:0 16px}
  .t-body{padding-left:calc(16px + .1em);padding-right:16px}
  .t-body--multi{line-height:1.55;text-wrap:pretty}

  .top{padding-top:calc(70 * var(--u))}
  .logo{font-size:calc(128 * var(--u))}
  /* barra fija con logo chico + botón MENÚ; el menú se abre a pantalla completa */
  .nav{display:flex;align-items:center;justify-content:space-between;height:56px;margin-top:calc(26 * var(--u));padding:0 18px;z-index:101}
  .nav__brand{display:block;position:relative;z-index:101;font-family:var(--script);font-size:23px;line-height:1;color:var(--red);opacity:0;transition:opacity .25s}
  .nav.is-stuck .nav__brand,.nav.is-open .nav__brand{opacity:1}
  .nav__toggle{display:flex;position:relative;z-index:101;align-items:center;gap:9px;margin-left:auto;padding:10px 0 10px 10px;border:0;background:none;color:var(--ink);font-family:var(--serif);font-size:10.5px;letter-spacing:.18em;cursor:pointer}
  .nav__word{padding-left:.18em}
  .nav__bars{position:relative;width:20px;height:9px}
  .nav__bars::before,.nav__bars::after{content:"";position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .3s}
  .nav__bars::before{top:0}
  .nav__bars::after{bottom:0}
  .nav.is-open .nav__bars::before{transform:translateY(4px) rotate(45deg)}
  .nav.is-open .nav__bars::after{transform:translateY(-4px) rotate(-45deg)}
  .nav ul{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;background:#fff;transform:translateY(-101%);transition:transform .38s cubic-bezier(.4,0,.2,1);visibility:hidden}
  .nav.is-open ul{transform:none;visibility:visible}
  .nav a{font-size:13.5px;letter-spacing:.24em;padding-left:.24em}

  .hero{flex-wrap:wrap;height:auto}
  .hero__photo{flex:0 0 50%;height:auto;aspect-ratio:480/656.5}
  .hero__title{top:auto;bottom:calc(8% + 6px);font-size:calc(176 * var(--u))}

  .names span{display:block}
  .names{line-height:1.3}
  .dia__sub{margin-top:calc(10 * var(--u))}

  .countdown__pill{min-width:0;padding:0 calc(36 * var(--u)) 0 calc(39 * var(--u))}

  .btn{height:42px;font-size:11.5px;padding:0 22px;min-width:0}

  .map{width:calc(100% - 32px);border-radius:16px}
  .map__label--ss,.map__label--flt{font-size:8.6px;letter-spacing:.14em}
  .map__label--ba{font-size:8.2px;letter-spacing:.12em}

  .banner img{object-fit:cover;object-position:78% 100%}
  .banner--caballeros img{height:calc(336 * var(--u))}
  .banner--damas img{height:calc(350 * var(--u))}
  .banner--regalos img{height:calc(260 * var(--u));object-position:100% 100%}
  .banner__text{left:2%;width:48%}
  .banner__kicker{font-size:calc(42 * var(--u))}
  .banner__title{font-size:calc(120 * var(--u));margin-top:calc(-8 * var(--u))}
  .banner--caballeros .banner__text{top:40.5%}
  .banner--damas .banner__text{top:42.9%}
  .banner--damas .banner__title{transform:none}
  .banner--regalos .banner__title{left:5%;top:40%;font-size:calc(130 * var(--u))}

  .gallery{flex-wrap:wrap;column-gap:7.75%;row-gap:0;padding:0 16px}
  .gallery__col{flex:0 0 46.125%}
  .gallery__col:nth-child(n+3) .gallery__item:first-child{margin-top:14.6%}

  .accounts{grid-template-columns:1fr;justify-items:center}
  .account{margin:0 !important;justify-self:center !important;display:flex;flex-direction:column;align-items:center}
  .account__row{padding-left:.1em}
  .accounts__sep{width:calc(209 * var(--u));height:max(1px,calc(1.642 * var(--u)));margin:calc(70 * var(--u)) 0}
}
