@font-face{font-family:"Aladin";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/aladin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Bangers";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/bangers.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/bebasneue.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ==========================================================
   PIPPERLAND — landing
   Concepto: una sola página = un mapa del tesoro.
   Cada sección es una "parada" marcada con una X.
   Tipografías de marca: Bangers (títulos), Aladin (script),
   Bebas Neue (rótulos). Lectura: también Bebas Neue.
   ========================================================== */

:root{
  --cream:#FBF1D6;
  --parch:#EEDBAE;
  --parch-d:#D9B97B;
  --ink:#35190C;
  --ink-soft:#5A3520;
  --red:#C9161C;
  --red-d:#8E0F14;
  --orange:#F39A1E;
  --gold:#FFC53D;
  --green:#2F8F2B;
  --jungle:#0E2B1B;
  --jungle-2:#143D27;
  --night:#120E2B;
  --night-2:#2A1648;
  --sky:#2B8ED8;
  --wood:#6B3F1F;

  --f-display:"Bangers","Impact",system-ui,sans-serif;
  --f-script:"Aladin","Brush Script MT",cursive;
  --f-label:"Bebas Neue","Impact",sans-serif;
  --f-body:"Bebas Neue","Impact","Arial Narrow",sans-serif;

  --wrap:1180px;
  --gut:clamp(20px,5vw,56px);
  --ease:cubic-bezier(.2,.8,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;
  font-family:var(--f-body);
  font-size:clamp(1.18rem,1.08rem + .35vw,1.4rem);
  line-height:1.4;letter-spacing:.025em;
  color:var(--ink);
  background:var(--parch);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* grano de papel sobre toda la página */
body::after{
  content:"";position:fixed;inset:0;z-index:90;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22300%22 height=%22300%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3CfeColorMatrix values=%220 0 0 0 .25  0 0 0 0 .13  0 0 0 0 .05  0 0 0 .55 0%22/%3E%3C/filter%3E%3Crect width=%22300%22 height=%22300%22 filter=%22url%28%23n%29%22/%3E%3C/svg%3E");opacity:.5;mix-blend-mode:multiply;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
em{font-style:italic}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--cream);padding:8px 14px;z-index:200}
.skip:focus{left:8px}

.wrap{width:min(var(--wrap),100% - var(--gut)*2);margin-inline:auto;position:relative}

/* ---------- tipografía ---------- */
.display{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(2.6rem,6.2vw,5.2rem);
  line-height:.98;letter-spacing:.01em;color:var(--red);
  text-transform:uppercase;
  text-shadow:0 .05em 0 var(--cream),0 0 0 var(--cream);
}
.display .script{
  font-family:var(--f-script);text-transform:none;letter-spacing:0;
  font-size:1.18em;line-height:.9;color:var(--red-d);
}
.lead{font-size:clamp(1.2rem,1.05rem + .7vw,1.5rem);line-height:1.4;font-weight:500;max-width:34em}
.lead strong{font-weight:800;color:var(--red-d)}

.kicker{font-family:var(--f-label);font-size:1.15rem;letter-spacing:.16em;display:flex;align-items:center;gap:.8em;flex-wrap:wrap}
.kicker--light{color:var(--cream)}
.kicker .dot{width:.35em;height:.35em;background:var(--gold);transform:rotate(45deg)}
.tag{font-family:var(--f-label);letter-spacing:.12em;font-size:1.05rem;color:var(--red-d)}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--f-display);font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  padding:.62em 1.3em .55em;border-radius:999px;border:3px solid var(--ink);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;
  box-shadow:0 4px 0 var(--ink);
}
.btn:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:0 7px 0 var(--ink)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.btn--lg{font-size:1.45rem;padding:.7em 1.5em .62em}
.btn--red{background:var(--red);color:var(--cream)}
.btn--red:hover{background:#e0212a}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--ghost{background:rgba(251,241,214,.14);color:var(--cream);border-color:var(--cream);box-shadow:0 4px 0 rgba(0,0,0,.45);backdrop-filter:blur(3px)}
.btn--ghost:hover{background:var(--cream);color:var(--ink)}
.btn--ghost-dark{background:var(--cream);color:var(--ink)}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:80;height:78px;
  display:flex;align-items:flex-start;gap:clamp(14px,3vw,40px);
  padding:0 var(--gut);
  transition:background .3s,box-shadow .3s;
}
.nav__logo{display:block;height:124px;margin-top:8px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4))}
.nav__logo img{height:100%;width:auto}
.nav__links,.nav__cta,.nav__burger,.nav__social{align-self:center;margin-top:0}
.nav__links{margin-left:auto;display:flex;gap:clamp(14px,2.4vw,34px)}
.nav__links a{
  font-family:var(--f-label);font-size:1.25rem;letter-spacing:.12em;text-decoration:none;color:var(--cream);
  position:relative;padding:4px 0;text-shadow:0 1px 8px rgba(0,0,0,.55);
}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav__links a:hover::after{transform:scaleX(1)}
.nav__cta{font-size:1.1rem;padding:.5em 1.1em .45em}
.nav__burger{display:none;width:48px;height:48px;border:3px solid var(--ink);border-radius:12px;background:var(--cream);position:relative;margin-left:auto;box-shadow:0 3px 0 var(--ink)}
.nav__burger span{position:absolute;left:11px;right:11px;height:3px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
.nav__burger span:nth-child(1){top:13px}.nav__burger span:nth-child(2){top:20px}.nav__burger span:nth-child(3){top:27px}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav.is-stuck{height:68px;background:rgba(238,219,174,.94);backdrop-filter:blur(8px);box-shadow:0 2px 0 var(--parch-d),0 10px 24px rgba(53,25,12,.18)}
.nav.is-stuck .nav__logo{height:78px;margin-top:5px}
.nav.is-stuck .nav__links a{color:var(--ink);text-shadow:none}

.menu{position:fixed;inset:0;z-index:70;background:var(--parch);padding:104px var(--gut) 40px;display:flex;flex-direction:column;gap:6px}
.menu[hidden]{display:none}
.menu a{font-family:var(--f-display);font-size:2.4rem;text-decoration:none;color:var(--red);padding:6px 0;border-bottom:2px dashed var(--parch-d)}
.menu .menu__cta{margin-top:18px;border:0;color:var(--cream);background:var(--red);text-align:center;border-radius:999px;padding:.35em}

/* ---------- ruta lateral ---------- */
.rail{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:60;
  background:rgba(251,241,214,.92);border:2px solid var(--ink);border-radius:999px;padding:14px 9px;box-shadow:0 4px 0 var(--ink);
  opacity:0;pointer-events:none;transition:opacity .4s}
.rail.is-on{opacity:1;pointer-events:auto}
.rail ol{display:flex;flex-direction:column;gap:11px;position:relative}
.rail ol::before{content:"";position:absolute;left:50%;top:6px;bottom:6px;border-left:2px dashed var(--red);transform:translateX(-50%)}
.rail a{display:block;position:relative;width:18px;height:18px}
.rail i{position:absolute;inset:0;background:var(--cream);border:2px solid var(--red);border-radius:50%;transition:transform .3s var(--ease),background .3s}
.rail a.is-active i{background:var(--red);transform:scale(1.35) rotate(45deg);border-radius:3px}
.rail span{position:absolute;left:30px;top:50%;transform:translate(-8px,-50%);white-space:nowrap;font-family:var(--f-label);letter-spacing:.1em;background:var(--ink);color:var(--cream);padding:3px 10px 1px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.rail a:hover span,.rail a:focus-visible span{opacity:1;transform:translate(0,-50%)}

/* ---------- secciones ---------- */
.sec{position:relative;padding:clamp(80px,11vw,150px) 0 clamp(70px,9vw,130px);z-index:1;--bg:var(--parch);background:var(--bg)}
.sec--edge::before{
  content:"";position:absolute;left:0;right:0;top:-59px;height:60px;background:var(--bg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 60%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0%2C60 L0%2C23.8 L11%2C31.6 L20%2C28.9 L35%2C17.4 L52%2C16.9 L68%2C17.7 L77%2C26.2 L100%2C19.0 L112%2C31.1 L137%2C19.9 L152%2C29.4 L161%2C26.6 L174%2C9.5 L184%2C13.4 L207%2C10.3 L226%2C21.3 L240%2C19.1 L249%2C7.4 L261%2C22.3 L277%2C13.5 L295%2C16.9 L309%2C25.1 L329%2C11.9 L348%2C18.6 L371%2C33.5 L385%2C39.5 L395%2C26.0 L416%2C19.6 L433%2C16.9 L453%2C34.3 L472%2C37.0 L485%2C22.7 L504%2C19.9 L520%2C26.2 L545%2C17.4 L565%2C7.5 L586%2C21.5 L612%2C25.7 L625%2C15.3 L645%2C6.5 L661%2C10.0 L671%2C7.4 L693%2C9.1 L705%2C15.4 L729%2C17.9 L745%2C29.2 L769%2C35.7 L793%2C22.7 L808%2C24.6 L832%2C39.0 L843%2C10.2 L855%2C11.6 L872%2C20.1 L884%2C6.1 L900%2C14.9 L918%2C28.9 L939%2C18.4 L958%2C22.2 L967%2C27.6 L989%2C27.0 L1011%2C15.4 L1026%2C8.5 L1046%2C7.5 L1055%2C11.0 L1066%2C14.2 L1075%2C6.0 L1085%2C18.4 L1100%2C16.6 L1124%2C30.7 L1134%2C22.1 L1149%2C24.7 L1159%2C36.4 L1185%2C27.2 L1200%2C20.0 L1200%2C60 Z%22 fill=%22%23000%22/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 60%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0%2C60 L0%2C23.8 L11%2C31.6 L20%2C28.9 L35%2C17.4 L52%2C16.9 L68%2C17.7 L77%2C26.2 L100%2C19.0 L112%2C31.1 L137%2C19.9 L152%2C29.4 L161%2C26.6 L174%2C9.5 L184%2C13.4 L207%2C10.3 L226%2C21.3 L240%2C19.1 L249%2C7.4 L261%2C22.3 L277%2C13.5 L295%2C16.9 L309%2C25.1 L329%2C11.9 L348%2C18.6 L371%2C33.5 L385%2C39.5 L395%2C26.0 L416%2C19.6 L433%2C16.9 L453%2C34.3 L472%2C37.0 L485%2C22.7 L504%2C19.9 L520%2C26.2 L545%2C17.4 L565%2C7.5 L586%2C21.5 L612%2C25.7 L625%2C15.3 L645%2C6.5 L661%2C10.0 L671%2C7.4 L693%2C9.1 L705%2C15.4 L729%2C17.9 L745%2C29.2 L769%2C35.7 L793%2C22.7 L808%2C24.6 L832%2C39.0 L843%2C10.2 L855%2C11.6 L872%2C20.1 L884%2C6.1 L900%2C14.9 L918%2C28.9 L939%2C18.4 L958%2C22.2 L967%2C27.6 L989%2C27.0 L1011%2C15.4 L1026%2C8.5 L1046%2C7.5 L1055%2C11.0 L1066%2C14.2 L1075%2C6.0 L1085%2C18.4 L1100%2C16.6 L1124%2C30.7 L1134%2C22.1 L1149%2C24.7 L1159%2C36.4 L1185%2C27.2 L1200%2C20.0 L1200%2C60 Z%22 fill=%22%23000%22/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.sec--parch{
  background:
    radial-gradient(60% 40% at 88% 62%,rgba(217,160,80,.34),transparent 70%),
    radial-gradient(50% 36% at 6% 82%,rgba(190,120,50,.26),transparent 70%),
    radial-gradient(40% 30% at 70% 24%,rgba(255,250,225,.55),transparent 70%),
    var(--bg);
}
.sec--jungle{--bg:var(--jungle);color:var(--cream);overflow:clip;
  background:radial-gradient(70% 50% at 50% 0%,var(--jungle-2),transparent 75%),var(--bg)}
.sec--night{--bg:var(--night);color:var(--cream);overflow:clip;
  background:radial-gradient(80% 60% at 70% 20%,var(--night-2),transparent 70%),var(--bg)}
.sec--hotel{--bg:#2A160B;color:var(--cream);padding:0;overflow:clip}
.sec--sky{--bg:#1F77C4;color:var(--ink);overflow:clip;
  background:linear-gradient(#2B8ED8,#6FBCEB 70%,#BFE3F3)}
.sec--sky::before{background:#2B8ED8}

/* rótulo de parada */
.stop{margin-bottom:clamp(26px,4vw,52px)}
.stop__label{
  display:inline-block;font-family:var(--f-label);font-size:1.3rem;letter-spacing:.2em;color:var(--cream);
  padding:.38em 1.8em .22em 1.1em;background:var(--red);
  clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%);
  box-shadow:0 3px 0 var(--red-d);
}
.stop--light .stop__label{background:var(--gold);color:var(--ink)}

/* ---------- HERO ---------- */
main{overflow-x:clip}
.hero{position:relative;min-height:max(100svh,680px);display:flex;align-items:flex-end;z-index:3;color:var(--cream);overflow-x:clip}
.cal__hint{display:none;font-family:var(--f-label);letter-spacing:.14em;color:var(--ink-soft);font-size:1rem;margin-top:8px}
@media (max-width:760px){.cal__hint{display:block}}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;z-index:5;background:var(--parch);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 60%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0%2C60 L0%2C23.8 L11%2C31.6 L20%2C28.9 L35%2C17.4 L52%2C16.9 L68%2C17.7 L77%2C26.2 L100%2C19.0 L112%2C31.1 L137%2C19.9 L152%2C29.4 L161%2C26.6 L174%2C9.5 L184%2C13.4 L207%2C10.3 L226%2C21.3 L240%2C19.1 L249%2C7.4 L261%2C22.3 L277%2C13.5 L295%2C16.9 L309%2C25.1 L329%2C11.9 L348%2C18.6 L371%2C33.5 L385%2C39.5 L395%2C26.0 L416%2C19.6 L433%2C16.9 L453%2C34.3 L472%2C37.0 L485%2C22.7 L504%2C19.9 L520%2C26.2 L545%2C17.4 L565%2C7.5 L586%2C21.5 L612%2C25.7 L625%2C15.3 L645%2C6.5 L661%2C10.0 L671%2C7.4 L693%2C9.1 L705%2C15.4 L729%2C17.9 L745%2C29.2 L769%2C35.7 L793%2C22.7 L808%2C24.6 L832%2C39.0 L843%2C10.2 L855%2C11.6 L872%2C20.1 L884%2C6.1 L900%2C14.9 L918%2C28.9 L939%2C18.4 L958%2C22.2 L967%2C27.6 L989%2C27.0 L1011%2C15.4 L1026%2C8.5 L1046%2C7.5 L1055%2C11.0 L1066%2C14.2 L1075%2C6.0 L1085%2C18.4 L1100%2C16.6 L1124%2C30.7 L1134%2C22.1 L1149%2C24.7 L1159%2C36.4 L1185%2C27.2 L1200%2C20.0 L1200%2C60 Z%22 fill=%22%23000%22/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 60%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0%2C60 L0%2C23.8 L11%2C31.6 L20%2C28.9 L35%2C17.4 L52%2C16.9 L68%2C17.7 L77%2C26.2 L100%2C19.0 L112%2C31.1 L137%2C19.9 L152%2C29.4 L161%2C26.6 L174%2C9.5 L184%2C13.4 L207%2C10.3 L226%2C21.3 L240%2C19.1 L249%2C7.4 L261%2C22.3 L277%2C13.5 L295%2C16.9 L309%2C25.1 L329%2C11.9 L348%2C18.6 L371%2C33.5 L385%2C39.5 L395%2C26.0 L416%2C19.6 L433%2C16.9 L453%2C34.3 L472%2C37.0 L485%2C22.7 L504%2C19.9 L520%2C26.2 L545%2C17.4 L565%2C7.5 L586%2C21.5 L612%2C25.7 L625%2C15.3 L645%2C6.5 L661%2C10.0 L671%2C7.4 L693%2C9.1 L705%2C15.4 L729%2C17.9 L745%2C29.2 L769%2C35.7 L793%2C22.7 L808%2C24.6 L832%2C39.0 L843%2C10.2 L855%2C11.6 L872%2C20.1 L884%2C6.1 L900%2C14.9 L918%2C28.9 L939%2C18.4 L958%2C22.2 L967%2C27.6 L989%2C27.0 L1011%2C15.4 L1026%2C8.5 L1046%2C7.5 L1055%2C11.0 L1066%2C14.2 L1075%2C6.0 L1085%2C18.4 L1100%2C16.6 L1124%2C30.7 L1134%2C22.1 L1149%2C24.7 L1159%2C36.4 L1185%2C27.2 L1200%2C20.0 L1200%2C60 Z%22 fill=%22%23000%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
#predio::before{display:none}
.hero__bg{position:absolute;inset:0;overflow:hidden;background:#12355a}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 55%;transform:scale(1.04);animation:push 22s ease-out forwards}
.hero__bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(24,10,4,.82) 0%,rgba(24,10,4,.5) 42%,transparent 72%),
  linear-gradient(0deg,rgba(24,10,4,.65),transparent 38%),
  linear-gradient(180deg,rgba(24,10,4,.5),transparent 24%)}
@keyframes push{to{transform:scale(1.12) translate3d(-1.2%,-1%,0)}}
.hero__inner{position:relative;z-index:2;width:min(var(--wrap),100% - var(--gut)*2);margin:0 auto;padding:170px 0 clamp(120px,16vh,190px)}
.hero__title{margin:1.1em 0 .9em;line-height:.84;display:flex;flex-direction:column;gap:.22em}
.hl{display:block;position:relative;width:fit-content;max-width:100%}
.hl::before{content:attr(data-t);position:absolute;inset:0;z-index:-1;color:var(--cream);-webkit-text-stroke:.2em var(--cream);paint-order:stroke fill;filter:drop-shadow(0 .05em 0 #8d4a17) drop-shadow(0 .12em .14em rgba(0,0,0,.45))}
.t-small{font-family:var(--f-display);font-size:clamp(2.2rem,5.2vw,4.4rem);color:var(--red);text-transform:uppercase;transform:rotate(-3deg);margin-left:.1em}
.t-script{font-family:var(--f-script);font-size:clamp(5.4rem,15.5vw,13.5rem);color:var(--red-d);line-height:.8;margin:.04em 0 .1em -.04em;transform:rotate(-2deg)}
.t-script::before{-webkit-text-stroke:.12em var(--cream)}
.t-grad{font-family:var(--f-display);font-size:clamp(2.1rem,5.4vw,4.7rem);text-transform:uppercase;background:linear-gradient(180deg,#F9A31B 0%,#EE6F12 55%,#C83A0A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.018em #6e2204;transform:rotate(-1.5deg);margin-left:.15em;padding-bottom:.06em}
.hero__lede{max-width:27em;letter-spacing:.04em;line-height:1.5;font-size:clamp(1.2rem,1.05rem + .7vw,1.55rem);font-weight:500;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.hero__cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:44px}
.hero__palm{position:absolute;pointer-events:none;z-index:1}
.hero__palm--a{width:min(40vw,470px);right:-9vw;top:-150px;transform:rotate(200deg);filter:drop-shadow(0 18px 18px rgba(0,0,0,.35));animation:sway 7s ease-in-out infinite}
.hero__palm--b{width:min(24vw,270px);left:-4vw;bottom:80px;transform:rotate(-24deg);opacity:.95;filter:drop-shadow(0 14px 14px rgba(0,0,0,.35));animation:sway2 6s ease-in-out infinite}
@keyframes sway{50%{transform:rotate(194deg)}}
@keyframes sway2{50%{transform:rotate(-30deg)}}
.hero__parrot{position:absolute;z-index:6;right:clamp(10px,7vw,120px);bottom:-48px;width:clamp(170px,26vw,360px);filter:drop-shadow(0 16px 14px rgba(0,0,0,.4));animation:bob 4.5s ease-in-out infinite;transform-origin:50% 100%}
@keyframes bob{50%{transform:translateY(-10px) rotate(1.2deg)}}

.seal{position:absolute;z-index:3;right:clamp(16px,24vw,360px);top:clamp(110px,18vh,170px);width:clamp(110px,13vw,170px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 10px 14px rgba(0,0,0,.45))}
.seal__ring{position:absolute;inset:-14%;width:128%;height:128%;animation:spin 28s linear infinite}
.seal__ring text{font-family:var(--f-label);font-size:15.5px;letter-spacing:.11em;fill:var(--cream)}
.seal img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;animation:spin 60s linear infinite reverse;opacity:.95}
.seal b{position:relative;font-family:var(--f-display);font-weight:400;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:.8;color:var(--cream);text-align:center;text-shadow:0 3px 0 var(--red-d),0 0 14px rgba(0,0,0,.8);background:radial-gradient(circle,rgba(14,6,2,.72) 38%,transparent 72%);padding:.4em .5em}
.seal b small{display:block;font-family:var(--f-label);font-size:.5em;letter-spacing:.18em;color:var(--gold)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- 02 predio ---------- */
.predio{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:start}
.predio__text{display:grid;gap:1.1em;padding-top:10px}
.predio__text .display{margin-bottom:.15em}
.owners{position:relative;margin-top:.4em;padding:1.15em 1.2em 1.1em 4.2em;background:rgba(251,241,214,.65);border:2px dashed var(--red);border-radius:6px;transform:rotate(-.6deg)}
.owners svg{position:absolute;left:1em;top:50%;width:2.2em;margin-top:-1.1em;stroke:var(--red);stroke-width:7;stroke-linecap:round;fill:none}
.predio__photos{position:relative;min-height:clamp(440px,52vw,640px)}
.ph{position:absolute;margin:0;background:var(--cream);padding:9px 9px 34px;border-radius:3px;box-shadow:0 14px 28px rgba(53,25,12,.32),0 2px 0 rgba(53,25,12,.2)}
.ph img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.ph--a{width:54%;aspect-ratio:3/4.1;left:0;top:0;transform:rotate(-3.5deg)}
.ph--b{width:56%;aspect-ratio:4/3.1;right:0;top:12%;transform:rotate(3deg);z-index:2}
.ph--c{width:40%;aspect-ratio:3/4;right:10%;bottom:-2%;transform:rotate(-2deg);z-index:3}
.predio__flag{position:absolute;width:clamp(70px,10vw,120px);left:44%;bottom:-6%;z-index:4;transform:rotate(8deg);filter:drop-shadow(0 8px 8px rgba(0,0,0,.3))}


/* ---------- 03 experiencias ---------- */
.sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(30px,4vw,50px)}
.sechead .lead{margin-top:.8em}
.sechead__parrot{width:clamp(110px,14vw,190px);margin-bottom:-22px;margin-right:4vw;filter:drop-shadow(0 10px 8px rgba(53,25,12,.3));animation:bob 5s ease-in-out infinite}
.sechead--light .display{color:var(--gold);text-shadow:0 .05em 0 #0a1a10}
.sechead--light .display .script{color:var(--cream)}

.cal{background:var(--cream);border:3px solid var(--ink);border-radius:14px;box-shadow:0 8px 0 var(--ink);padding:clamp(14px,2vw,24px);margin-bottom:clamp(50px,7vw,90px);position:relative}
.cal__scroll{overflow-x:auto;padding:30px 0 6px}
.sec--exp{--bg:#F4E6BF}
.sec--hist{--bg:#F4E6BF}
.cal__grid{position:relative;min-width:680px;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:46px;row-gap:8px;column-gap:0}
.cal__months{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);font-family:var(--f-label);letter-spacing:.14em;font-size:1.1rem;color:var(--ink-soft);height:30px}
.cal__months span{border-left:2px dashed rgba(90,53,32,.4);padding-left:7px}
.cal__grid::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 2px),rgba(90,53,32,.22) calc(100%/12 - 2px) calc(100%/12));z-index:0}
.bar{
  position:relative;z-index:1;grid-column:var(--s)/calc(var(--e) + 1);grid-row:calc(var(--r) + 1);
  border:3px solid var(--ink);border-radius:999px;font-family:var(--f-display);font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;
  text-align:left;padding:0 18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  box-shadow:0 4px 0 var(--ink);transition:transform .25s var(--ease),filter .25s,box-shadow .25s;margin:0 3px 4px;
}
.bar:hover,.bar.is-hot{transform:translateY(-3px) scale(1.01);box-shadow:0 7px 0 var(--ink)}
.bar--verano{background:linear-gradient(180deg,#FFC53D,#F28A15);color:var(--ink)}
.bar--day{background:var(--red);color:var(--cream)}
.bar--eventos{background:#52B04A;color:var(--ink)}
.bar--estu{background:#3C9BE3;color:var(--ink)}
.cal.is-dim .bar:not(.is-hot){filter:saturate(.35) opacity(.6)}
.cal__now{position:absolute;top:0;bottom:0;width:calc(100%/12);left:calc((var(--m) - 1) * 100%/12);pointer-events:none;z-index:2;background:rgba(201,22,28,.1);border-inline:2px solid var(--red)}
.cal__now span{position:absolute;top:-4px;left:50%;transform:translate(-50%,-100%);background:var(--red);color:var(--cream);font-family:var(--f-label);letter-spacing:.15em;padding:2px 12px 0;border-radius:6px 6px 0 0;font-size:1rem}
.cal__now span::after{content:"";position:absolute;left:50%;bottom:-6px;border:6px solid transparent;border-top-color:var(--red);border-bottom:0;transform:translateX(-50%)}
.cal__note{min-height:1.6em;margin-top:14px;font-weight:700;color:var(--red-d)}
.cal__note b{font-family:var(--f-display);font-weight:400;letter-spacing:.05em;font-size:1.2em}

.exps{border-top:3px solid var(--ink)}
.exp{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) clamp(130px,16vw,210px);gap:clamp(14px,3vw,40px);align-items:center;
  padding:clamp(22px,3vw,38px) 0;border-bottom:2px dashed var(--ink-soft);position:relative;transition:background .3s
}
.exp::before{content:"";position:absolute;inset:0 -20px;background:rgba(251,241,214,.55);opacity:0;transition:opacity .3s;z-index:-1;border-radius:8px}
.exp:hover::before,.exp.is-hot::before{opacity:1}
.exp h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1;color:var(--red);text-transform:uppercase;text-shadow:0 .05em 0 var(--cream)}
.exp .tag{margin-top:.5em}
.exp__hook{font-weight:800;font-size:1.12em;margin-bottom:.3em}
.exp__body p{max-width:34em}
.exp__link{display:inline-block;margin-top:.8em;font-family:var(--f-label);letter-spacing:.12em;font-size:1.15rem;color:var(--red-d);text-decoration:none;border-bottom:3px solid var(--gold);padding-bottom:1px}
.exp__link::after{content:" →";transition:margin .25s}
.exp__link:hover::after{margin-left:6px}
.exp__ph{justify-self:end;width:100%;aspect-ratio:4/5;background:var(--cream);padding:7px 7px 24px;border-radius:3px;box-shadow:0 10px 20px rgba(53,25,12,.3);transform:rotate(var(--rot,2deg));transition:transform .45s var(--ease)}
.exp:nth-child(even) .exp__ph{--rot:-2.5deg}
.exp__ph img{width:100%;height:100%;object-fit:cover}
.exp:hover .exp__ph,.exp.is-hot .exp__ph{transform:rotate(0) scale(1.14) translateX(-6%);z-index:3}

/* ---------- 04 atracciones ---------- */
.jungle__palm{position:absolute;pointer-events:none;opacity:.9}
.jungle__palm--l{width:min(34vw,420px);left:-10vw;top:-40px;transform:rotate(150deg);animation:sway3 8s ease-in-out infinite}
.jungle__palm--r{width:min(20vw,260px);right:-3vw;bottom:-10px;filter:brightness(.8)}
@keyframes sway3{50%{transform:rotate(145deg)}}
.attr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,90px);align-items:start;margin-top:clamp(20px,3vw,40px)}
.attr__stage{position:sticky;top:96px}
.frame{position:relative;aspect-ratio:4/5;max-height:calc(100svh - 190px);width:100%;border:10px solid var(--wood);border-radius:10px;background:#000;box-shadow:inset 0 0 0 3px #3a2010,0 0 0 3px #2a1608,0 22px 40px rgba(0,0,0,.5);overflow:hidden;transform:rotate(-1.5deg)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.frame img.is-on{opacity:1;transform:scale(1)}
.frame__x{position:absolute;right:14px;bottom:8px;font-family:var(--f-display);font-size:3rem;color:var(--red);text-shadow:0 2px 0 var(--cream),0 0 12px rgba(0,0,0,.5)}
.stage__cap{font-family:var(--f-label);letter-spacing:.2em;font-size:1.3rem;color:var(--gold);margin-top:18px;transform:rotate(-1.5deg)}
.cat{min-height:62vh;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:30px 0;border-bottom:2px dashed rgba(251,241,214,.28)}
.cat:last-of-type{border-bottom:0}
.cat__ph{display:none}
.cat h3{font-family:var(--f-display);font-weight:400;font-size:clamp(2.6rem,6vw,4.8rem);line-height:.95;text-transform:uppercase;color:var(--cream);transition:color .4s}
.cat h3 span{display:block;font-family:var(--f-script);text-transform:none;color:var(--gold);font-size:.9em;margin-top:.05em}
.cat h3.one{font-size:clamp(2.2rem,4.8vw,4rem)}
.cat h3.one span{display:inline;margin:0;font-size:1em}
.cat.is-on h3{color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips li{
  position:relative;font-family:var(--f-label);letter-spacing:.09em;font-size:1.28rem;
  background:var(--cream);color:var(--ink);padding:.28em .9em .15em 1.5em;border-radius:4px 14px 14px 4px;
  transition:transform .25s var(--ease),background .25s
}
.chips li::before{content:"";position:absolute;left:.6em;top:50%;width:.42em;height:.42em;margin-top:-.2em;background:var(--red);border-radius:50%;box-shadow:inset 0 0 0 2px var(--cream),0 0 0 2px var(--red)}
.chips li:hover{transform:translateY(-3px) rotate(-2deg);background:var(--gold)}
.fine{font-size:.98rem;opacity:.75;max-width:34em;padding-top:26px;font-style:italic}

/* ---------- 05 paraíso perdido ---------- */
.spot{position:absolute;width:60vw;height:120%;top:-10%;pointer-events:none;mix-blend-mode:screen;opacity:.55}
.spot--1{left:-14vw;background:conic-gradient(from 160deg at 50% 0%,transparent 0 20deg,rgba(255,196,80,.5) 30deg,transparent 42deg);animation:swing 9s ease-in-out infinite alternate;transform-origin:50% 0}
.spot--2{right:-12vw;background:conic-gradient(from 190deg at 50% 0%,transparent 0 12deg,rgba(255,80,170,.45) 24deg,transparent 36deg);animation:swing 11s ease-in-out infinite alternate-reverse;transform-origin:50% 0}
@keyframes swing{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.teatro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,80px);align-items:center;position:relative}
.teatro__text{display:grid;gap:1.1em;justify-items:start}
.teatro__logo{width:min(380px,80%);filter:drop-shadow(0 12px 18px rgba(0,0,0,.6))}
.teatro__num{display:flex;align-items:flex-end;gap:14px;line-height:.8}
.teatro__num b{font-family:var(--f-display);font-weight:400;font-size:clamp(7rem,17vw,13.5rem);color:var(--gold);text-shadow:0 .035em 0 #a35a00,0 .08em .12em rgba(0,0,0,.6);letter-spacing:.01em}
.teatro__num span{font-family:var(--f-script);font-size:clamp(2.2rem,4.4vw,3.6rem);color:var(--cream);padding-bottom:.28em}
.teatro .lead{color:var(--cream)}
.teatro .lead em{color:var(--gold)}
.award{display:inline-flex;flex-direction:column;border:2px solid var(--gold);padding:.55em 1.2em .5em;border-radius:6px;font-weight:500;transform:rotate(-1.5deg);background:rgba(255,197,61,.08)}
.award span{font-family:var(--f-display);font-size:1.7rem;letter-spacing:.06em;color:var(--gold);line-height:1}
.teatro__photos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tp{margin:0;border-radius:6px;overflow:hidden;border:3px solid var(--cream);box-shadow:0 22px 34px rgba(0,0,0,.55)}
.tp img{width:100%;height:100%;object-fit:cover}
.tp--wide{grid-column:1/-1;aspect-ratio:16/10;transform:rotate(1deg)}
.tp--a{aspect-ratio:3/4;transform:rotate(-2deg) translateY(-24px)}
.tp--b{aspect-ratio:3/4;transform:rotate(1.5deg) translateY(12px)}

/* ---------- 06 servicios ---------- */
.serv{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,6vw,90px);align-items:center}
.serv__mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(8,minmax(38px,5.4vw));gap:12px}
.m{margin:0;overflow:hidden;border-radius:4px;border:4px solid var(--cream);box-shadow:0 12px 22px rgba(53,25,12,.3)}
.m img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.m:hover img{transform:scale(1.07)}
.m--1{grid-column:1/5;grid-row:1/5;transform:rotate(-1deg)}
.m--2{grid-column:5/7;grid-row:2/6;transform:rotate(2deg)}
.m--3{grid-column:2/5;grid-row:5/9;transform:rotate(1.2deg)}
.m--4{grid-column:5/7;grid-row:6/9;transform:rotate(-2deg)}
.serv__text{display:grid;gap:1em}
.check{display:grid;gap:4px;margin-top:.4em}
.check li{position:relative;padding:.5em 0 .5em 3.3em;border-bottom:2px dashed var(--parch-d);font-size:1.12em}
.check li b{font-family:var(--f-display);font-weight:400;font-size:1.25em;letter-spacing:.04em;color:var(--red)}
.check svg{position:absolute;left:0;top:50%;width:2.3em;margin-top:-1.1em;fill:none;stroke:var(--red);stroke-width:6;stroke-linecap:round;overflow:visible}
.check svg path{stroke-dasharray:80;stroke-dashoffset:80;transition:stroke-dashoffset .7s var(--ease) calc(var(--i,0) * .09s)}
.check.is-in svg path{stroke-dashoffset:0}

/* ---------- 07 hotel ---------- */
.hotel__bg{position:absolute;inset:0}
.hotel__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease)}
.hotel__bg img.is-on{opacity:1}
.hotel__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,9,3,.88) 0%,rgba(20,9,3,.55) 45%,rgba(20,9,3,.1) 75%)}
.hotel__wrap{padding:clamp(90px,10vw,150px) 0 clamp(80px,9vw,130px);min-height:min(92svh,820px);display:flex;flex-direction:column;justify-content:center}
.hotel__panel{max-width:520px;display:grid;gap:1em;justify-items:start}
.hotel__panel .display{color:var(--gold);text-shadow:0 .05em 0 #4b2406}
.hotel__panel .display .script{color:var(--cream)}
.hotel__panel p{text-shadow:0 1px 12px rgba(0,0,0,.6)}
.hotel__panel .lead{color:var(--cream)}
.hotel__thumbs{display:flex;gap:10px;flex-wrap:wrap;margin:.5em 0}
.hotel__thumbs button{width:76px;height:76px;padding:0;border:3px solid var(--cream);border-radius:8px;overflow:hidden;background:none;opacity:.7;transition:opacity .25s,transform .25s var(--ease)}
.hotel__thumbs button img{width:100%;height:100%;object-fit:cover}
.hotel__thumbs button:hover{opacity:1;transform:translateY(-3px)}
.hotel__thumbs button.is-on{opacity:1;border-color:var(--gold);transform:translateY(-5px) rotate(-3deg)}

/* ---------- 08 historia ---------- */
.sec--hist{padding-bottom:0}
.hist{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1.3fr);gap:clamp(24px,5vw,70px);align-items:end}
.hist__parrot{width:100%;max-width:340px;justify-self:center;filter:drop-shadow(0 16px 12px rgba(53,25,12,.3));animation:bob 5s ease-in-out infinite}
.hist__text{display:grid;gap:1em;padding-bottom:clamp(10px,3vw,40px)}
.huellas{margin-top:clamp(40px,6vw,80px);font-family:var(--f-display);text-transform:uppercase;font-size:clamp(2.2rem,6.4vw,5.6rem);line-height:.98;color:var(--ink);position:relative;max-width:13em}
.huellas span{font-family:var(--f-script);text-transform:none;color:var(--red);font-size:1.25em;position:relative;display:inline-block}
.huellas span::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.1em;background:repeating-linear-gradient(90deg,var(--red) 0 .35em,transparent .35em .6em);opacity:.8}
.crew{margin-top:clamp(50px,7vw,90px);background:var(--ink);color:var(--cream);overflow:hidden;padding:18px 0 14px;border-block:4px solid var(--red)}
.crew__track{display:flex;width:max-content;gap:28px;align-items:center;font-family:var(--f-display);font-size:clamp(2rem,4vw,3.2rem);text-transform:uppercase;letter-spacing:.04em;animation:marquee 32s linear infinite}
.crew__track i{font-style:normal;color:var(--gold)}
.crew:hover .crew__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- 09 contacto ---------- */
.sky__palm{position:absolute;pointer-events:none}
.sky__palm--l{width:min(30vw,380px);left:-9vw;top:-30px;transform:rotate(155deg);animation:sway3 8s ease-in-out infinite}
.sky__palm--r{width:min(22vw,300px);right:-4vw;bottom:-14px}
.x-card{position:relative;background:var(--parch);border:4px solid var(--ink);border-radius:18px;box-shadow:0 12px 0 var(--ink),0 30px 50px rgba(10,40,70,.35);padding:clamp(28px,5vw,64px);overflow:visible;transform:rotate(-.6deg)}
.x-card__map{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:url(../assets/img/mapa-marco.webp) center/cover no-repeat;opacity:.55;mix-blend-mode:multiply;pointer-events:none}
.x-card__in{position:relative;display:grid;gap:1.1em;justify-items:start;max-width:640px}
.x-card__x{position:absolute;right:-8%;top:-6%;font-family:var(--f-display);font-size:clamp(7rem,16vw,13rem);line-height:1;color:var(--red);opacity:.16;transform:rotate(8deg);pointer-events:none}
.plate{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-label);letter-spacing:.14em;font-size:1.45rem;background:var(--wood);color:var(--cream);padding:.3em 1em .2em .8em;border-radius:6px;border:3px solid #3a2010;box-shadow:0 4px 0 #3a2010;transform:rotate(1deg)}
.plate svg{width:1em;height:1em;fill:var(--gold);margin-bottom:.1em}
.topics{border:0;display:flex;flex-wrap:wrap;gap:10px;margin-top:.4em}
.topics legend{font-family:var(--f-label);letter-spacing:.14em;font-size:1.2rem;margin-bottom:10px;color:var(--ink-soft)}
.topics label{cursor:pointer}
.topics input{position:absolute;opacity:0;pointer-events:none}
.topics span{display:inline-block;font-family:var(--f-label);letter-spacing:.08em;font-size:1.3rem;padding:.3em 1em .15em;border:2.5px solid var(--ink);border-radius:999px;background:var(--cream);transition:transform .2s var(--ease),background .2s,color .2s}
.topics label:hover span{transform:translateY(-2px)}
.topics input:checked+span{background:var(--red);color:var(--cream);transform:rotate(-2deg)}
.topics input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}
.x-card__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:.6em}
.pending{font-size:.95rem;font-weight:700;color:var(--red-d);background:rgba(255,197,61,.35);border:2px dashed var(--red-d);padding:.6em .9em;border-radius:6px}
.pending code{font-family:ui-monospace,monospace;font-size:.92em}
.toast{min-height:1.4em;font-weight:800;color:var(--green)}
.x-card__parrot{position:absolute;right:clamp(10px,5vw,70px);bottom:-6px;width:clamp(150px,22vw,300px);filter:drop-shadow(0 14px 12px rgba(53,25,12,.35));animation:bob 5s ease-in-out infinite;z-index:2}

.btn svg{width:1.15em;height:1.15em;fill:currentColor;margin-right:.45em;vertical-align:-.18em}

/* ---------- contacto directo ---------- */
.reach{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:1.4em}
.reach__a{display:flex;align-items:center;gap:12px;padding:12px 16px;border:3px solid var(--ink);border-radius:10px;background:var(--cream);color:var(--ink);text-decoration:none;box-shadow:0 4px 0 var(--ink);transition:transform .2s var(--ease),box-shadow .2s,background .2s}
.reach__a:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--ink);background:#fff6df}
.reach__a svg{width:30px;height:30px;flex:none;fill:var(--red)}
.reach__a span{display:flex;flex-direction:column;line-height:1.05;font-size:1.05rem;letter-spacing:.06em}
.reach__a b{font-family:var(--f-display);font-weight:400;font-size:1.35rem;letter-spacing:.05em;text-transform:uppercase;color:var(--red-d)}
.reach__a--wa{background:var(--green);color:var(--cream)}
.reach__a--wa:hover{background:#2f8a2f}
.reach__a--wa svg{fill:var(--cream)}
.reach__a--wa b{color:var(--gold)}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:85;display:flex;align-items:center;gap:10px;padding:12px 18px 10px 14px;border-radius:999px;background:var(--green);color:var(--cream);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink),0 12px 24px rgba(0,0,0,.3);text-decoration:none;font-family:var(--f-display);font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;transition:transform .2s var(--ease)}
.wa-float:hover{transform:translateY(-3px) rotate(-2deg)}
.wa-float svg{width:28px;height:28px;fill:var(--cream);margin-top:-2px}
@media (max-width:560px){.wa-float{padding:12px;}.wa-float span{display:none}.wa-float svg{width:32px;height:32px;margin:0}}

/* ---------- redes: menú móvil y footer ---------- */
.menu__social{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.menu__social a{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-label);font-size:1.2rem;letter-spacing:.1em;text-decoration:none;color:var(--ink);padding:8px 14px 6px;border:2.5px solid var(--ink);border-radius:999px;background:var(--cream);border-bottom:2.5px solid var(--ink)}
.menu__social svg{width:20px;height:20px;fill:var(--red)}
.hotel .btn--ghost,.hotel .btn + .btn{margin-left:10px}

/* ---------- reach en 2 columnas ---------- */
.reach{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reach__a{padding:10px 12px;gap:10px;min-width:0}
.reach__a svg{width:26px;height:26px}
.reach__a span{font-size:.95rem;min-width:0}
.reach__a b{font-size:1.2rem}

/* ---------- "Seguinos" en distintas secciones ---------- */
.follow{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;margin-top:clamp(22px,3vw,34px)}
.follow p{font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:1.1rem;color:var(--ink-soft);margin-right:4px}
.follow a{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-label);letter-spacing:.1em;font-size:1.15rem;text-decoration:none;padding:7px 14px 5px;border:2.5px solid var(--ink);border-radius:999px;background:var(--cream);color:var(--ink);transition:background .2s,color .2s,transform .2s var(--ease)}
.follow a:hover{background:var(--gold);transform:translateY(-2px)}
.follow svg{width:18px;height:18px;fill:var(--red);margin-top:-2px}
.follow--light p{color:var(--cream);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.follow--light a{background:rgba(251,241,214,.14);color:var(--cream);border-color:var(--cream)}
.follow--light a:hover{background:var(--cream);color:var(--ink)}
.follow--light svg{fill:currentColor}

.nav__social{display:flex;gap:8px}
.nav__social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid var(--cream);background:rgba(14,6,2,.25);transition:background .2s}
.nav__social a:hover{background:var(--gold)}
.nav__social svg{width:18px;height:18px;fill:var(--cream)}
.nav.is-stuck .nav__social a{border-color:var(--ink);background:transparent}
.nav.is-stuck .nav__social svg{fill:var(--ink)}
@media (max-width:1420px){.nav__social{display:none}}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--cream);position:relative;z-index:2}
.foot__cta{background:var(--red);border-bottom:5px solid var(--gold);padding:clamp(34px,5vw,60px) 0}
.foot__cta-in{display:flex;align-items:center;justify-content:space-between;gap:28px 40px;flex-wrap:wrap}
.foot__x{font-family:var(--f-display);font-size:2.4rem;line-height:1;color:var(--gold)}
.foot__big{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:.98;color:var(--cream);text-shadow:0 .05em 0 var(--red-d)}
.foot__big span{display:block;font-family:var(--f-script);text-transform:none;color:var(--gold);font-size:1.2em;margin-top:.02em}
.foot__sub{margin-top:.6em;max-width:30em;color:var(--cream)}
.foot__btns{display:flex;gap:14px;flex-wrap:wrap}
.foot__grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:36px clamp(24px,4vw,56px);padding-top:clamp(38px,5vw,64px);padding-bottom:clamp(32px,4vw,48px)}
.foot__brand{text-align:center;display:flex;flex-direction:column;align-items:center}
.foot__brand img{width:170px}
.foot__col--r{align-items:flex-end;text-align:right}
.foot__ico{display:inline-flex;align-items:center;gap:8px}
.foot__ico svg{width:20px;height:20px;fill:currentColor;flex:none}
.foot__tag{font-family:var(--f-script);font-size:2rem;color:var(--gold);line-height:1.1;margin-top:.4em}
.foot__years{margin-top:.5em;letter-spacing:.14em;color:rgba(251,241,214,.7);font-size:1.05rem;text-transform:uppercase}
.foot__col{display:flex;flex-direction:column;gap:.35em;align-items:flex-start}
.foot__col h3{font-family:var(--f-display);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:1.5rem;color:var(--gold);margin-bottom:.3em}
.foot__col a{color:var(--cream);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.foot__col a:hover{color:var(--gold);border-color:var(--gold)}
.foot__col p{color:rgba(251,241,214,.85);line-height:1.35}
.foot__go{margin-top:.5em;color:var(--gold)!important}
.foot__bar{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;border-top:2px dashed rgba(251,241,214,.22);padding-top:20px;padding-bottom:28px;font-size:1rem;letter-spacing:.1em;color:rgba(251,241,214,.65);text-transform:uppercase}
.foot__bar a{color:var(--cream);text-decoration:none}
.foot__bar a:hover{color:var(--gold)}
@media (max-width:900px){.foot__grid{grid-template-columns:1fr 1fr}.foot__brand{grid-column:1/-1;order:-1}}
@media (max-width:520px){.foot__grid{grid-template-columns:1fr}.foot__col--r{align-items:flex-start;text-align:left}.foot__btns .btn{width:100%;text-align:center}}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(34px) rotate(var(--r0,0deg));transition:opacity .8s var(--ease),transform .9s var(--ease)}
.js .reveal.is-in{opacity:1}
.js .ph--a.reveal,.js .ph--a.reveal.is-in{transition-delay:0s}
.js .ph--b.reveal{transition-delay:.12s}.js .ph--c.reveal{transition-delay:.24s}
/* los .ph/.tp/.m llevan su propia rotación: la conservamos al aparecer */
.js .ph--a.reveal.is-in{transform:rotate(-3.5deg)}
.js .ph--b.reveal.is-in{transform:rotate(3deg)}
.js .ph--c.reveal.is-in{transform:rotate(-2deg)}
.js .tp--wide.reveal.is-in{transform:rotate(1deg)}
.js .tp--a.reveal.is-in{transform:rotate(-2deg) translateY(-24px)}
.js .tp--b.reveal.is-in{transform:rotate(1.5deg) translateY(12px)}
.js .m--1.reveal.is-in{transform:rotate(-1deg)}
.js .m--2.reveal.is-in{transform:rotate(2deg)}
.js .m--3.reveal.is-in{transform:rotate(1.2deg)}
.js .m--4.reveal.is-in{transform:rotate(-2deg)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .rail{display:none}
}
@media (max-width:980px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:block}
  .nav__logo{height:104px}
  .predio,.serv,.teatro,.hist{grid-template-columns:1fr}
  .predio__photos{min-height:clamp(420px,100vw,600px);margin-top:10px}
  .exp{grid-template-columns:1fr clamp(96px,26vw,160px);grid-template-areas:"head ph" "body body"}
  .exp__head{grid-area:head}.exp__ph{grid-area:ph}.exp__body{grid-area:body}
  .exp:hover .exp__ph{transform:rotate(var(--rot)) }
  .attr{grid-template-columns:1fr}
  .attr__stage{display:none}
  .cat{min-height:0;padding:34px 0}
  .cat__ph{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:6px solid var(--wood);border-radius:8px;transform:rotate(-1deg);margin-bottom:6px;box-shadow:0 14px 24px rgba(0,0,0,.4)}
  .teatro__photos{margin-top:20px}
  .serv__mosaic{grid-template-rows:repeat(8,minmax(34px,9vw))}
  .hist__parrot{max-width:210px;justify-self:start}
  .hotel__bg::after{background:linear-gradient(0deg,rgba(20,9,3,.92) 20%,rgba(20,9,3,.35) 80%)}
  .hotel__wrap{justify-content:flex-end}
  .seal{right:14px;top:auto;bottom:240px;width:96px}
  .hero__palm--b{display:none}
}
@media (max-width:560px){
  .hero__bg::after{background:linear-gradient(0deg,rgba(24,10,4,.92) 0%,rgba(24,10,4,.7) 55%,rgba(24,10,4,.3) 100%)}
  .seal{right:14px;top:128px;bottom:auto;width:84px}
  .kicker .dot{display:none}
  .kicker{gap:.1em 1.2em;font-size:1rem}
  .btn--lg{font-size:1.25rem}
  .hero__inner{padding-top:140px}
  .hero__parrot{width:150px;right:6px;bottom:-34px}
  .hero__cta .btn{width:100%}
  .nav__logo{height:92px;margin-top:6px}
  .x-card__parrot{position:relative;right:auto;bottom:auto;margin:20px 0 -30px auto;display:block}
  .x-card{padding-bottom:20px}
  .teatro__photos{grid-template-columns:1fr}
  .tp--a,.tp--b,.js .tp--a.reveal.is-in,.js .tp--b.reveal.is-in{transform:none}
  .tp--a{aspect-ratio:4/3}.tp--b{aspect-ratio:4/3}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .check svg path{stroke-dashoffset:0}
}

/* footer simétrico */
.foot__col.foot__col--r{align-items:flex-end;text-align:right}
.foot__col--r .foot__go{color:var(--cream)!important;margin-top:0}
.foot__col--r .foot__go:hover{color:var(--gold)!important}
.foot__col--r .foot__ico{flex-direction:row-reverse}
.foot__credit{text-transform:none;letter-spacing:.04em;font-size:1.05rem;color:var(--cream)}
.foot__credit b{color:#FFE600;font-weight:700}
@media (max-width:520px){.foot__col.foot__col--r{align-items:flex-start;text-align:left}.foot__col--r .foot__ico{flex-direction:row}}

@media (max-width:560px){
  .hotel .btn--ghost,.hotel .btn + .btn{margin:12px 0 0}
  .exp__link{padding:8px 0 4px}
}

.huellas + .follow{margin-top:clamp(48px,9vw,80px)}

@media (max-width:560px){
  .reach__a{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px}
  .reach__a span{font-size:.85rem;letter-spacing:.03em}
  .reach__a b{font-size:1.15rem;letter-spacing:.03em}
}

.follow--stack p{flex-basis:100%;margin-bottom:2px}
.wa-float{transition:transform .2s var(--ease),opacity .25s}
.wa-float.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}

.reach{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.1em}
@media (max-width:560px){.reach{gap:8px}.reach__a{padding:10px}.reach__a span{font-size:.8rem}}

.cal__cta{display:flex;justify-content:center;margin:clamp(26px,4vw,40px) 0 clamp(8px,2vw,16px)}
.hotel .btn--ghost,.hotel .btn + .btn{margin-left:0}
