:root{
  --crema:#f7eadb; --crema-2:#fbf3e9; --tinta:#1d1a16; --suave:#574d42; --linea:rgba(29,26,22,.16);
  --f1:#ffd69d; --f2:#ecd8bf; --f3:#efb471; --f4:#fbcd94;
  --arcilla:#a8582f; --borde:clamp(20px,4vw,64px); --ancho:1440px;
}
*{box-sizing:border-box}
html{background:var(--crema);color:var(--tinta);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;font-family:"Albert Sans",system-ui,sans-serif;font-size:17px;line-height:1.55;background:var(--crema)}
a{color:inherit}
img,video{display:block;max-width:100%}
h1,h2,h3{margin:0;font-weight:700}
.num{font-variant-numeric:tabular-nums}


.titular{font-family:Archivo,"Albert Sans",sans-serif;font-stretch:62%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.93;font-size:clamp(64px,min(9.6vw,17vh),168px)}
.titular span{display:block}


.cab{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:44px;height:76px;padding:0 var(--borde);transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
.cab.solida{background:rgba(247,234,219,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--linea)}
.marca{font-family:Archivo,sans-serif;font-stretch:125%;font-weight:800;font-size:19px;letter-spacing:.08em;text-decoration:none}
.menu{display:flex;gap:30px;margin-left:auto;font-size:15px;font-weight:500}
.menu a{text-decoration:none;color:var(--suave);transition:color .2s}
.menu a:hover{color:var(--tinta)}
.boton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;background:var(--tinta);color:var(--crema);font-size:15px;font-weight:600;text-decoration:none;transition:background .25s,transform .16s}
.boton:hover{background:var(--arcilla)}
.boton:active{transform:scale(.97)}
.cab .boton{min-height:42px;padding:0 22px}
.enlace{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;padding:10px 0;border-bottom:1px solid currentColor}
.enlace i{font-style:normal}


.esc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);min-height:100vh;min-height:100svh;padding:0 var(--borde);overflow:hidden}
.esc .obj{position:relative;align-self:stretch;margin:0 -6vw}
.esc .obj video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.esc .tit{align-self:center;position:relative;z-index:2}
.esc .tit .enlace{margin-top:40px}
.esc .txt{align-self:center;position:relative;z-index:2;max-width:380px}
.n{display:block;font-family:Archivo,sans-serif;font-stretch:62%;font-weight:700;font-size:56px;line-height:1}
.eti{margin:18px 0 10px;font-size:14px;font-weight:600;color:var(--suave)}
.txt h2:not(.titular),.txt h3{font-family:Archivo,sans-serif;font-stretch:88%;font-weight:700;font-size:clamp(26px,2.2vw,34px);letter-spacing:-.015em;line-height:1.05;margin-bottom:14px}
.esc p{margin:0 0 26px;color:var(--suave)}
.foto{margin:34px 0 0}
.foto img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:6px}
.foto figcaption{margin-top:10px;padding-top:10px;border-top:1px solid var(--linea);font-size:14px;font-weight:600}

.s1{padding-top:76px;background:var(--f1)}
.s2{background:var(--f2)}
.s3{background:var(--f3)}
.s4{background:var(--f4)}
.s2 .tit.abajo{align-self:end;padding-bottom:clamp(40px,8vh,90px)}
.s2 .tit .titular{margin-top:14px}
.s3{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.s3 .obj{margin:0 -2vw 0 -6vw}
.s3 .txt{max-width:460px}
.s3 .txt .titular,.s4 .tit .titular{margin:14px 0 24px}
.s4{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.s4 .tit{max-width:460px}
.s4 .obj{margin:0 -6vw 0 -2vw}


.bloque{padding:clamp(100px,14vh,170px) var(--borde)}
.bloque.raya{border-top:1px solid var(--linea)}
.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;max-width:var(--ancho);margin:0 auto}
.intro p{max-width:40ch;color:var(--suave);margin:0;font-size:18px}
.tabla-wrap{max-width:var(--ancho);margin:72px auto 0;overflow-x:auto}
.tabla{width:100%;min-width:760px;border-collapse:collapse}
.tabla th,.tabla td{padding:20px 18px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.tabla thead th{padding-top:0;vertical-align:bottom}
.tabla thead th:first-child{width:28%}
.tabla thead b{display:block;font-family:Archivo,sans-serif;font-stretch:88%;font-size:24px;font-weight:700}
.tabla thead .precio{display:block;margin-top:14px;font-family:Archivo,sans-serif;font-stretch:62%;font-weight:800;font-size:clamp(44px,4vw,64px);line-height:1;white-space:nowrap}
.tabla thead small{display:block;margin-top:8px;color:var(--suave);font-size:14px;font-weight:400}
.tabla tbody th{font-weight:500}
.tabla td{color:var(--suave)}
.tabla .dest{background:var(--crema-2)}
.tabla tfoot td{border-bottom:0;padding-top:28px}
.tabla .si{color:var(--tinta);font-weight:600}
.vivo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:var(--ancho);margin:0 auto clamp(64px,10vh,110px);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.vivo div{padding:22px 24px 26px 0}
.vivo div+div{padding-left:24px;border-left:1px solid var(--linea)}
.vivo span,.vivo small{display:block;font-size:14px;color:var(--suave)}
.vivo b{display:block;margin:6px 0 8px;font-family:Archivo,sans-serif;font-stretch:62%;font-weight:800;font-size:clamp(40px,3.6vw,58px);line-height:1}
.visita{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,110px);max-width:var(--ancho);margin:0 auto}
.visita p{color:var(--suave);font-size:18px;max-width:42ch;margin:28px 0 0}
.visita .acciones{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}
.horario{width:100%;border-collapse:collapse}
.horario caption{text-align:left;font-family:Archivo,sans-serif;font-stretch:88%;font-weight:700;font-size:24px;padding-bottom:12px}
.horario th,.horario td{padding:16px 0;border-bottom:1px solid var(--linea);text-align:left;font-weight:500}
.horario td{text-align:right;color:var(--suave)}
.horario tr.hoy th,.horario tr.hoy td{color:var(--arcilla);font-weight:600}
.direccion{margin-top:34px;padding-top:22px;border-top:1px solid var(--linea)}
.direccion b{display:block;font-size:21px;font-weight:600}
.direccion span{color:var(--suave)}
.pie{padding:36px var(--borde) calc(36px + env(safe-area-inset-bottom));background:var(--tinta);color:rgba(239,232,220,.75);font-size:14px;display:flex;flex-wrap:wrap;gap:12px 36px}
.pie strong{color:var(--crema);font-family:Archivo,sans-serif;font-stretch:125%;letter-spacing:.08em}
.pie a{color:var(--crema)}


.js .titular span{opacity:0;transform:translateY(.5em);transition:opacity .7s ease,transform 1s cubic-bezier(.16,.84,.3,1)}
.js .titular.visto span{opacity:1;transform:none}
.js .titular span+span{transition-delay:.1s}
.js .sube{opacity:0;transform:translate3d(0,36px,0);transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,.84,.3,1)}
.js .sube.visto{opacity:1;transform:none}
.js .sube.d1{transition-delay:.1s}.js .sube.d2{transition-delay:.2s}

@media (max-width:1000px){
  .menu{gap:20px;font-size:14px}
  .visita{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .menu{display:none}
  .cab{height:62px}
  .cab .boton{margin-left:auto;min-height:40px;padding:0 18px;font-size:14px}
  .esc,.s3,.s4{grid-template-columns:1fr;gap:0;min-height:0;padding-bottom:56px}
  .s1{padding-top:86px}
  .esc .obj,.s3 .obj,.s4 .obj{order:2;height:62vh;height:62svh;margin:0 calc(var(--borde) * -1)}
  .esc .obj video{-webkit-mask-image:none;mask-image:none}
  .esc .tit{order:1;padding-top:20px}
  .esc .txt{order:3;max-width:none}
  .s2 .tit.abajo{align-self:start;padding:56px 0 0}
  .s4 .tit{order:3;max-width:none}
  .titular{font-size:clamp(56px,17vw,84px)}
  .esc .tit .enlace{margin-top:24px}
  .n{font-size:44px}
  .tabla{min-width:0;font-size:13px}
  .tabla th,.tabla td{padding:14px 6px}
  .tabla thead th:first-child{width:24%}
  .tabla thead b{font-size:15px}
  .tabla thead .precio{font-size:28px;margin-top:8px}
  .tabla thead small{font-size:12px}
  .tabla tfoot .boton{min-height:44px;padding:0 12px;font-size:13px}
  .tabla tfoot .enlace{font-size:13px}
  .vivo{grid-template-columns:1fr 1fr}
  .vivo div{padding:16px 12px 20px 0}
  .vivo div+div{padding-left:14px}
  .vivo div:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){ .js .sube,.js .titular span{opacity:1;transform:none;transition:none} }
