@font-face{font-family:Archivo;src:url(../fonts/Archivo-w1125-900.ttf) format("truetype");font-weight:900;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/inter.woff2) format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-display-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:"Permanent Marker";src:url(../fonts/PermanentMarker-Regular.ttf) format("truetype");font-display:swap}
:root{--crema:#F7F6F0;--crema-2:#EFEDE3;--tinta:#1F2230;--oliva:#7A7A2C;--oliva-osc:#5E5E1F;--negro:#0A0A0A;--bosque:#1A1E14;--blanco:#FFF;--linea-clara:rgba(255,255,255,.28);--linea-oscura:rgba(31,34,48,.22);--grilla:rgba(31,34,48,.06);--wa:#1F9E55;--wa-hover:#188447;--f-ancha:Archivo,sans-serif;--f-texto:Inter,sans-serif;--f-serif:"Playfair Display",Georgia,serif;--f-mano:"Permanent Marker",cursive;--pad-x:clamp(1rem,4vw,3rem);--ancho:1320px;--gap-sec:clamp(5rem,11vw,10rem)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--f-texto);font-size:16px}body::before{content:"";position:fixed;inset:0;border:8px solid var(--oliva-osc);pointer-events:none;z-index:1000}body.menu-open{overflow:hidden}img,video{display:block;max-width:100%}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer} :focus-visible{outline:3px solid #d9ad36;outline-offset:4px}
.container{width:min(100%,calc(var(--ancho) + var(--pad-x)*2));padding-inline:var(--pad-x);margin-inline:auto}.section{position:relative;overflow:clip;padding-block:var(--gap-sec)}.section--crema{background-color:var(--crema);background-image:linear-gradient(90deg,var(--grilla) 1px,transparent 1px);background-size:20% 100%;color:var(--tinta)}.section--oscura{background:var(--bosque);color:var(--blanco)}.section--negra{background:var(--negro);color:var(--blanco)}.display{font-family:var(--f-ancha);font-size:clamp(2.6rem,9vw,8.5rem);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;margin:0}.display--m{font-size:clamp(2rem,6vw,5.5rem)}.display--s{font-size:clamp(1.5rem,3.5vw,3rem)}.oliva{color:var(--oliva)}.serif{font-family:var(--f-serif);font-style:italic;font-weight:400;text-transform:none}.thumb-inline{display:inline-block;width:2.4em;height:.8em;vertical-align:-.08em;overflow:hidden}.thumb-inline img{width:100%;height:100%;object-fit:cover}.escalonado>.l{display:block}.btn-circulo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:clamp(94px,12vw,150px);aspect-ratio:1;border:1px solid currentColor;border-radius:50%;text-decoration:none;text-transform:uppercase;font-size:.75rem;font-weight:700;transition:background .2s,color .2s}.btn-circulo:hover{background:var(--blanco);color:var(--tinta)}.btn-circulo--oscuro{color:var(--tinta)}.btn-circulo--oscuro:hover{background:var(--tinta);color:var(--blanco)}.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.8rem 1.5rem;border:0;border-radius:999px;text-decoration:none;font-weight:700}.btn-pill--wa{background:var(--wa);color:white}.btn-pill--wa:hover{background:var(--wa-hover)}.btn-pill--blanco{background:white;color:var(--tinta)}.filas{margin:0;padding:0;list-style:none}.fila{border-top:1px solid var(--linea-clara);padding:1.4rem 0}.filas--oscuras .fila{border-color:var(--linea-oscura)}.fila__tit{font-size:1.2rem;font-weight:600}.fila__txt{font-size:.875rem;line-height:1.5}.polaroid{margin:0;padding:10px 10px 36px;background:var(--crema);box-shadow:0 8px 25px #0003;rotate:var(--giro,0deg)}.polaroid img{width:100%;height:auto;object-fit:cover}.polaroid__nota{font-family:var(--f-mano);color:var(--tinta)}.card-img{position:relative;overflow:hidden;border-radius:14px;min-height:320px;background:var(--bosque);color:white}.card-img__bg,.card-img__veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-img__veil{background:linear-gradient(transparent,#000a)}.card-img__body{position:relative;z-index:1;padding:1.5rem}.etiqueta-serif{display:inline-block;padding:.6rem 1rem;border-radius:999px;background:#ffffff55;backdrop-filter:blur(10px);font:italic 1rem var(--f-serif)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1100;top:12px;left:12px;padding:1rem;background:white;color:var(--tinta);translate:0 -150%}.skip-link:focus{translate:0}.js .reveal{transition:opacity .7s,translate .7s}.js .reveal.is-visible{opacity:1;translate:0}
.site-header{position:fixed;z-index:110;inset:8px 8px auto;display:flex;align-items:center;justify-content:space-between;padding:12px var(--pad-x);color:white;transition:background .2s,color .2s}.site-header.is-light{color:var(--tinta)}.site-header.menu-active{background:transparent;color:var(--tinta)}.site-header__brand,.site-footer__brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font:900 .75rem var(--f-ancha)}.site-header__brand img{width:24px;height:24px;border-radius:50%}.menu-toggle{display:grid;align-content:center;gap:5px;width:44px;height:44px;background:none;border:0;color:inherit}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;transition:transform .2s}.menu-active .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-active .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu{position:fixed;z-index:100;inset:8px;background:var(--crema);color:var(--tinta);overflow:auto;visibility:hidden;opacity:0;transition:opacity .2s,visibility .2s}.menu.is-open{visibility:visible;opacity:1}.menu__inner{min-height:100%;display:flex;align-items:center;position:relative;padding:90px 0 35px}.menu__list{width:100%;list-style:none;margin:0;padding:0}.menu__list li a{min-height:44px;display:flex;align-items:center;justify-content:center;gap:1rem;text-decoration:none;padding:.25rem var(--pad-x);transition:background .15s,color .15s}.menu__list li:nth-child(odd) a{flex-direction:row-reverse}.menu__list li a:hover,.menu__list li a:focus-visible{background:var(--oliva);color:white}.menu__title{font:900 clamp(1.7rem,5vw,5rem)/.96 var(--f-ancha);letter-spacing:-.02em;text-transform:uppercase}.menu__desc{font-size:clamp(.62rem,.8vw,.8rem);line-height:1.2;max-width:140px}.menu__photo{position:absolute;left:5%;top:29%;width:clamp(100px,14vw,200px);z-index:2;opacity:0;pointer-events:none;transition:opacity .2s;--giro:-5deg}.menu__inner:has(a:hover) .menu__photo,.menu__inner:has(a:focus-visible) .menu__photo{opacity:1}.menu__photo img{aspect-ratio:4/3}.site-footer{background:var(--bosque);color:white;padding:4rem 0;font-size:.85rem;line-height:1.7}.site-footer__inner{display:grid;gap:1.5rem}.site-footer__brand img{width:35px;height:35px;border-radius:50%}.wa-flotante{position:fixed;z-index:90;bottom:22px;right:22px;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--wa);color:#fff;box-shadow:0 4px 16px #0005;opacity:0;visibility:hidden;transition:opacity .2s}.wa-flotante:hover{background:var(--wa-hover)}.wa-flotante.is-visible{opacity:1;visibility:visible}.wa-flotante svg{width:30px;height:30px}
@media(min-width:900px){.escalonado>.l--in{padding-left:clamp(4rem,18vw,16rem)}.fila{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;padding-left:clamp(4rem,18vw,16rem)}.site-footer__inner{grid-template-columns:2fr 1.5fr 1.5fr 1fr}.menu__list li:nth-child(3n + 1) a{padding-left:18%}.menu__list li:nth-child(3n + 2) a{padding-right:16%}}@media(max-width:600px){.menu__inner{padding-top:76px}.menu__list li a{justify-content:flex-start;padding-block:.65rem}.menu__list li:nth-child(odd) a{flex-direction:row}.menu__desc{max-width:100px}.menu__photo{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;translate:none}}

@media (prefers-reduced-motion:no-preference){.menu{clip-path:inset(0 0 100%);opacity:1;transition:clip-path .65s cubic-bezier(.76,0,.24,1),visibility .65s}.menu.is-open{clip-path:inset(0)}.menu__list li{transform:translateY(38px);opacity:0;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s}.menu.is-open .menu__list li{transform:none;opacity:1}.menu.is-open .menu__list li:nth-child(1){transition-delay:.13s}.menu.is-open .menu__list li:nth-child(2){transition-delay:.18s}.menu.is-open .menu__list li:nth-child(3){transition-delay:.23s}.menu.is-open .menu__list li:nth-child(4){transition-delay:.28s}.menu.is-open .menu__list li:nth-child(5){transition-delay:.33s}.menu.is-open .menu__list li:nth-child(6){transition-delay:.38s}.menu.is-open .menu__list li:nth-child(7){transition-delay:.43s}}
.motion-line-mask{display:block;overflow:hidden}.motion-line-mask>.l{display:block}.motion-cursor{position:fixed;top:0;left:0;z-index:1200;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:var(--crema);color:var(--tinta);font:700 10px var(--f-texto);pointer-events:none;opacity:0;transform:translate(-50%,-50%);mix-blend-mode:difference}.motion-cursor.is-active{width:76px;height:76px;mix-blend-mode:normal}.motion-cursor.is-visible{opacity:1}
@media(prefers-reduced-motion:no-preference){.js video[data-bg-video]:not(.hero__video).is-playing{animation:motion-video-in .8s both}@keyframes motion-video-in{from{opacity:0}to{opacity:1}}}


.motion-cursor{background:var(--oliva);color:var(--crema);mix-blend-mode:normal}
@media (max-width:899px) {
  .site-header { height:56px; padding-block:0; transition:transform .25s ease,background .2s,color .2s; }
  .site-header.is-mobile-hidden:not(.menu-active) { transform:translateY(-120%); }
  .site-header.is-past-hero { background:var(--bosque); color:var(--blanco); }
  .site-header.is-past-hero.is-light { background:var(--crema); color:var(--tinta); }
  .site-header.menu-active { background:var(--crema); color:var(--tinta); transform:none; }
}

/* Worker B: Menú overlay y footer en móvil (≤ 899px) */
@media (max-width: 899px) {
  .menu {
    overflow-x: hidden;
  }
  .menu__inner {
    padding: 88px 0 32px;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .menu__photo {
    display: none !important;
  }
  .menu__list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
  }
  .menu__list li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 2px !important;
    padding: 0.5rem var(--pad-x) !important;
    border-radius: 0;
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
  }
  .menu__title {
    font-size: clamp(1.4rem, 5.2vw, 1.85rem) !important;
    font-family: var(--f-ancha);
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap !important;
    letter-spacing: -0.01em;
    text-transform: uppercase;
  }
  .menu__desc {
    font-size: 0.88rem !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    color: rgba(31, 34, 48, 0.75);
    margin-top: 1px;
  }

  /* Footer en móvil */
  .site-footer {
    padding: 3.5rem 0 5rem;
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .site-footer p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0.4rem 0;
  }
  .site-footer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-block: 4px;
    font-size: 0.95rem;
  }
  .site-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}

@media (max-width:899px) {
  .menu__list li a:active { background:var(--oliva); color:var(--blanco); }
  .menu__list li a:active .menu__desc, .menu__list li a:focus-visible .menu__desc { color:var(--blanco); }
}

/* Evita desplazamiento lateral de la pagina; los carruseles mantienen su propio scroll. */
html,body{overflow-x:hidden;overflow-x:clip}
