
:root{
  --onyx:#161614; --chalk:#faf8f4; --sand:#e4e0dc; --marron:#a57a4b; --cielo:#9fc9e4; --mut:#16161480;
  --margin:1.25rem; --gutter:1.25rem; --n:6;
  --ease:cubic-bezier(.165,.84,.44,1);
  --fuente:'Petrona',Georgia,'Times New Roman',serif;
  --marcas:'Marcellus','Trajan Pro',Georgia,serif;
  --fg:var(--onyx); --bg:var(--chalk);
}
@media (min-width:1024px){:root{--margin:1.875rem;--n:12}}
:root{
  --uno:calc((100vw - var(--margin)*2 - (var(--n) - 1)*var(--gutter)) / var(--n));
  --col:calc(var(--uno) + var(--gutter));
  --c2:calc(var(--col)*2 - var(--gutter));
  --c3:calc(var(--col)*3 - var(--gutter));
  --c4:calc(var(--col)*4 - var(--gutter));
  --c8:calc(var(--col)*8 - var(--gutter));
  --c11:calc(var(--col)*11 - var(--gutter));
  --p2:calc(var(--col)*2);
  --p4:calc(var(--col)*4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;font-size:max(16px,calc(16px + 6.4*(100vw - 1440px)/1440));scroll-padding-top:10rem;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:var(--chalk);color:var(--onyx);font-family:var(--fuente);font-weight:400;font-size:1rem;line-height:1.3;letter-spacing:0;overflow-x:clip;width:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
img,video{display:block;max-width:100%}
img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) sepia(.05)}
.portada-poster{filter:none}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;cursor:pointer;text-align:inherit}
p{margin:0}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.saltar{position:fixed;left:50%;top:1rem;transform:translateX(-50%);z-index:1000;background:#fff;color:#000;padding:.375rem .625rem;border-radius:.25rem;font-size:.8125rem;opacity:0;pointer-events:none}
.saltar:focus-visible{opacity:1;pointer-events:auto}
.px{padding-inline:var(--margin)}
.mut{color:var(--mut)}


.fl-base{font-weight:400;font-size:1rem;line-height:1.3}
.fl-lg{font-weight:300;font-size:1.5rem;line-height:1.16}
.fl-xl{font-weight:300;font-size:1.875rem;letter-spacing:-.01em;line-height:1.1}
@media (min-width:1024px){
  .fl-2xl-lg{font-size:2.375rem}
  .fl-3xl-lg{font-size:4.75rem}
}
.fl-2xl{font-weight:300;font-size:2.375rem;letter-spacing:-.01em;line-height:1.1}


@keyframes lin-entra{to{transform:translate(0)}}
@keyframes lin-sale{0%{transform:translate(-66.66%)}to{transform:translate(-33.33%)}}
.lnk-sub{position:relative;overflow:clip;display:inline-block;padding-bottom:.25rem;width:fit-content}
.lnk-sub::after{content:"";background:linear-gradient(90deg,#0000,#0000 33.33%,currentColor 33.33% 66.66%,#0000 66.66%,#0000);width:300%;height:1px;animation:.3s ease-out forwards lin-sale;display:block;position:absolute;bottom:0;left:0;transform:translate(-33.33%)}
@media (hover:hover){.lnk-sub:hover::after{animation:.3s ease-out forwards lin-entra}}
.lnk-sub-p{padding-block:.125rem}
.lnk-sub-s{padding-bottom:.125rem}
.lnk-boton{padding-block:.5rem .25rem;display:inline-flex;align-items:center;align-self:flex-start}
.lnk-pie{padding-block:.25rem}


.cab{position:fixed;top:0;left:0;right:0;z-index:100;pointer-events:none;background:var(--bg);color:var(--fg);transition:background-color .1s var(--ease),color .1s var(--ease)}
.cab[data-tema="claro"]{--bg:transparent;--fg:var(--chalk)}
.cab[data-tema="crema"]{--bg:var(--chalk);--fg:var(--onyx)}
.cab[data-tema="cielo"]{--bg:var(--cielo);--fg:var(--onyx)}
.cab[data-tema="marron"]{--bg:var(--marron);--fg:var(--chalk)}
.cab[data-cero]{background:transparent}
.cab-in{pointer-events:auto;height:3.5rem;padding-inline:var(--margin);display:flex;align-items:center;justify-content:flex-end;position:relative}
.cab-nav{display:flex;align-items:center;gap:var(--gutter);flex-shrink:0}
.cab-izq{display:none}
.cab-der{width:100%;justify-content:space-between;flex-direction:row-reverse}
.lnk-cab{border-bottom:1px solid transparent;padding-block:.25rem;transition:border-color .2s}
.lnk-cab:hover{border-bottom-color:currentColor}
.sol-esc{display:none}
.idioma{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.lnk-idioma{padding-block:.25rem;display:inline-flex;align-items:center;border-bottom:1px solid transparent;transition:opacity .2s}
.lnk-idioma.activo{border-bottom-color:currentColor}
.lnk-idioma.apagado{opacity:.4;cursor:default}
.barra{opacity:.3}
.burger{display:flex;align-items:center;justify-content:center;padding-block:.25rem;flex-shrink:0;position:relative;z-index:1}
.burger::after{content:"";position:absolute;inset:-1rem}
@media (min-width:1024px){
  .cab-in{justify-content:space-between}
  .cab-izq{display:flex}
  .cab-der{width:auto;justify-content:flex-start;flex-direction:row}
  .sol-esc{display:inline}
  .burger{display:none}
}
.cab-marca{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;flex-shrink:0;transition:opacity .2s}
.cab-marca:hover{opacity:.8}
.eslogan,.logo-cab{grid-column:1;grid-row:1}
.eslogan{display:flex;gap:.25em;white-space:nowrap;font-weight:500;font-size:1rem;letter-spacing:.08em;margin-top:.15em;color:inherit;opacity:0;transform:translateY(-.5rem);pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease),color 0s}
.cab[data-arriba] .eslogan{opacity:1;transform:none;pointer-events:auto;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.pal{display:inline-block}
.logo-cab{display:flex;flex-direction:column;align-items:center;font-family:var(--marcas);text-transform:uppercase;font-size:.875rem;line-height:1.1;letter-spacing:.34em;padding-left:.34em;opacity:1;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.cab[data-arriba] .logo-cab{opacity:0;transform:translateY(.5rem);pointer-events:none}
@media (max-width:767px){
  .eslogan{white-space:normal;flex-wrap:wrap;justify-content:center;width:10rem;font-size:.875rem;line-height:1.15;margin-top:0;letter-spacing:.06em}
}
.js.intro .eslogan .pal{opacity:0}
.js.intro .eslogan{color:var(--onyx)}


.menu-movil{position:fixed;inset:0;z-index:99;background:var(--marron);color:var(--chalk);display:flex;flex-direction:column;opacity:0;transition:opacity .3s var(--ease)}
.menu-movil.abierto{opacity:1}
.menu-barra{height:3.5rem;padding-inline:var(--margin);position:relative;display:flex;align-items:center;justify-content:space-between;flex:none}
.menu-cuerpo{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.menu-lista{padding:2.5rem var(--margin);display:flex;flex-direction:column;gap:.625rem}
.menu-lista a{font-weight:300;font-size:1.5rem;line-height:1.16;width:fit-content;opacity:.5;transition:opacity .2s}
.menu-lista a:hover,.menu-lista a:focus-visible{opacity:1}
.menu-tarjeta{position:relative;margin:0 var(--margin) var(--margin);aspect-ratio:350/467;overflow:hidden;color:var(--chalk);flex:none}
.menu-tarjeta img{position:absolute;inset:0;filter:brightness(.55) saturate(.92)}
.menu-tarjeta-txt{position:relative;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}
.menu-tarjeta-txt p:first-child{margin-bottom:1.5rem}


.sec{position:relative;transition:opacity .7s var(--ease)}
.js .sec[data-rev]:not(.visto){opacity:0}
.sec-portada{margin-bottom:4rem}
.velo{position:absolute;inset:0;background:rgba(0,0,0,.2);pointer-events:none}
.s-medio .velo{background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,0) 48%),rgba(0,0,0,.2)}
.par{position:absolute;top:-20%;bottom:-20%;left:0;right:0;will-change:transform}


.portada{position:relative;height:100svh;min-height:100vh;overflow:hidden;color:var(--chalk);background:#2a2420}
.js.intro .portada{opacity:0}
.portada-medio{position:absolute;inset:0;transform-origin:center;transform:scale(1.08)}
.portada-poster,.portada-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portada-video{opacity:0;transition:opacity .5s linear}
.portada-video.listo{opacity:1}
.portada-centro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.portada-marca{display:block;width:var(--c4);height:fit-content;opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .portada-marca:not(.visto){opacity:0;transform:translateY(2.5rem)}
.marca-gran{display:flex;flex-direction:column;align-items:center;text-align:center;font-family:var(--marcas);font-weight:400;text-transform:uppercase;line-height:1;letter-spacing:.19em;font-size:calc(var(--c4)*.146);color:inherit}
.marca-gran span{display:block;padding-left:.19em}
.marca-gran .sub{font-size:calc(var(--c4)*.034);letter-spacing:.32em;padding-left:.32em;margin-top:calc(var(--c4)*.07)}
.marca-pie{font-size:calc(var(--c2)*.146);color:var(--chalk)}


.s-texto{color:var(--onyx)}
.s-texto-in{display:flex;flex-direction:column;gap:3.75rem;padding-block:2.5rem}
.s-texto-grupo{display:flex;flex-direction:column;gap:2.5rem}
.bloque-gran{width:100%}
@media (min-width:1024px){.s-texto-in{padding-block:3.75rem}.bloque-gran{width:var(--c11)}}


.s-textomedio{padding-block:2.5rem}
.s-textomedio-in{display:grid;grid-template-columns:1fr;gap:var(--gutter);align-items:start}
.tm-textos{order:2;display:flex;flex-direction:column;gap:2.5rem;padding-top:2.5rem}
.tm-medio{order:1;aspect-ratio:3/4;overflow:hidden}
.tm-col p{margin-bottom:1.3em}
.tm-col p:last-child{margin-bottom:0}
@media (min-width:1024px){
  .s-textomedio{padding-block:3.75rem}
  .s-textomedio-in{grid-template-columns:1fr 1fr}
  .tm-textos{order:1;gap:3.75rem;padding-top:3.75rem;padding-bottom:var(--p2)}
  .tm-medio{order:2;position:sticky;top:5rem;align-self:start}
  .tm-col-a{width:var(--c2)}
  .tm-col-b{margin-left:var(--p2);width:var(--c3)}
}


.s-productos-in{display:flex;flex-direction:column;gap:2rem;padding-block:2.5rem}
.sp-cab{display:flex;flex-wrap:wrap;gap:var(--gutter);align-items:flex-end}
.sp-grilla{display:grid;grid-template-columns:1fr;gap:2.5rem}
.tarjeta{display:flex;flex-direction:column;gap:.75rem}
.tarjeta-img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--sand)}
.tarjeta-a,.tarjeta-b{position:absolute;inset:0;transition:opacity .5s}
.tarjeta-b{opacity:0}
@media (hover:hover){
  .tarjeta:hover .tarjeta-a{opacity:0}
  .tarjeta:hover .tarjeta-b{opacity:1}
}
.tarjeta-txt{display:flex;flex-direction:column;gap:.125rem}
@media (min-width:1024px){
  .s-productos-in{padding-block:3.75rem}
  .sp-grilla{grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
}


.s-medio{position:relative;color:var(--chalk)}
.s-medio-enlace{position:absolute;inset:0;z-index:1}
.medio-caja{position:relative;width:100%;aspect-ratio:9/16}
.medio-rec{position:absolute;inset:0;overflow:hidden}
.medio-esc{position:absolute;inset:0;transform-origin:center;transform:scale(1.08)}
.medio-txt{position:sticky;top:4rem;display:flex;flex-direction:column;gap:1.25rem;padding-block:2rem;z-index:2;pointer-events:none}
.medio-txt a{pointer-events:auto;position:relative;z-index:2}
.mt-b{display:flex;flex-direction:column;gap:1rem}
.mt-p{max-width:24.875rem}
@media (min-width:1024px){
  .medio-caja{aspect-ratio:16/9}
  .medio-txt{flex-direction:row;gap:var(--gutter)}
  .mt-a{width:var(--c8)}
  .mt-p{width:var(--c4)}
}


.s-galeria-in{display:grid;grid-template-columns:1fr;gap:1.25rem;padding-block:3.75rem}
.gal-izq{order:-1;display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem}
.gal-pareja{display:flex;gap:1.25rem}
.gal-peq{aspect-ratio:3/4;overflow:hidden;flex:1;min-width:0}
.gal-gran{aspect-ratio:3/4;overflow:hidden;order:2}
@media (min-width:1024px){
  .s-galeria-in{grid-template-columns:1fr 1fr;gap:var(--gutter)}
  .gal-izq{gap:0}
  .gal-pareja{position:sticky;top:4rem;gap:var(--gutter);justify-content:flex-start}
  .gal-peq{flex:none;width:var(--c2)}
}


.s-cat-in{padding-block:3.75rem}
.cat-fila{display:flex;flex-direction:column-reverse;gap:2.5rem}
.cat-img{position:relative;aspect-ratio:3/4;overflow:hidden;flex-shrink:0}
.cat-capa{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease)}
.cat-capa.activa{opacity:1}
.cat-der{position:relative;display:flex;flex-direction:row;gap:var(--gutter);flex:1}
.cat-fijo{position:sticky;top:4rem;height:fit-content;display:flex;gap:var(--gutter)}
.cat-lista{display:flex;flex-direction:column;gap:.375rem}
.cat-lista a{display:flex;align-items:baseline;gap:.375rem}
.cat-nombre{transition:opacity .8s var(--ease)}
.cat-num{color:var(--mut);width:auto;flex-shrink:0;transition:opacity .8s var(--ease)}
.cat-desc{display:none}
@keyframes entra{from{opacity:0;transform:translateY(.5rem)}}
@media (min-width:1024px){
  .cat-fila{flex-direction:row;gap:var(--gutter);align-items:flex-start}
  .cat-img{width:var(--c4)}
  .cat-der{padding-left:var(--p4);min-height:calc(var(--c4)*4/3)}
  .cat-lista{width:-webkit-fill-available;width:stretch}
  .cat-lista a{gap:1.25rem}
  .cat-num{position:absolute;right:calc(100% + var(--gutter));width:3rem;text-align:right;opacity:0}
  .cat-der[data-activo="0"] li[data-i="0"] .cat-num,.cat-der[data-activo="1"] li[data-i="1"] .cat-num,.cat-der[data-activo="2"] li[data-i="2"] .cat-num,.cat-der[data-activo="3"] li[data-i="3"] .cat-num{opacity:1}
  .cat-der[data-activo="0"] li:not([data-i="0"]) .cat-nombre,.cat-der[data-activo="1"] li:not([data-i="1"]) .cat-nombre,.cat-der[data-activo="2"] li:not([data-i="2"]) .cat-nombre,.cat-der[data-activo="3"] li:not([data-i="3"]) .cat-nombre{opacity:.5}
  .cat-desc{display:block;position:absolute;left:0;bottom:0;width:var(--c3);max-width:13.5rem}
  .cat-desc p{display:none}
  .cat-desc p.activa{display:block;animation:entra .8s var(--ease)}
}


.s-historia{background:var(--cielo);color:var(--onyx)}
.s-historia-in{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-block:3.75rem}
.hi-izq{order:-1;display:flex;flex-direction:column;justify-content:space-between}
.hi-txt{display:flex;flex-direction:column}
.hi-txt h2{margin-bottom:1.25rem}
.hi-txt p{margin-bottom:2.5rem}
.hi-medio{aspect-ratio:3/4;overflow:hidden;order:2}
@media (min-width:1024px){
  .s-historia-in{grid-template-columns:1fr 1fr;gap:var(--gutter)}
  .hi-txt{padding-top:5rem}
  .hi-txt h2,.hi-txt p{width:var(--c3)}
}


.pie-env{position:relative;background:var(--chalk);color:var(--onyx)}
.pie{padding:3.75rem var(--margin) 1.25rem;display:flex;flex-direction:column;gap:3.125rem}
.pie-contacto{display:flex;flex-direction:column;gap:1.25rem}
.pie-empresa{display:flex;flex-direction:column;gap:2.5rem}
.pie-empresa>div{display:flex;flex-direction:column;gap:0}
.pie-contacto .parr{margin-bottom:0}
.pie-img{position:relative;aspect-ratio:3/4;overflow:hidden}
.pie-capa{position:absolute;inset:0;opacity:0;transition:opacity .7s ease-in-out}
.pie-img::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);pointer-events:none}
.pie-capa.activa{opacity:1}
.pie-logo{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem;pointer-events:none;color:var(--chalk)}
.pie-eslogan{position:absolute;bottom:3.125rem;left:50%;transform:translateX(-50%);z-index:1;width:max-content;text-align:center;color:var(--chalk);font-size:.8125rem;line-height:1.25;letter-spacing:.06em}
.pie-pareja{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter)}
.pie-legal,.pie-redes{display:flex;flex-direction:column;gap:.125rem}
@media (min-width:1024px){
  .pie{display:grid;column-gap:var(--gutter);row-gap:1rem;grid-template-areas:'contacto empresa imagen' 'legal empresa redes' 'copy empresa .';grid-template-columns:var(--c4) 1fr var(--c4);grid-template-rows:1fr auto auto}
  .pie-contacto{grid-area:contacto;width:var(--c3);align-self:start}
  .pie-empresa{grid-area:empresa;align-self:start}
  .pie-img{grid-area:imagen;align-self:start}
  .pie-pareja{display:contents}
  .pie-legal{grid-area:legal;align-self:end;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.375rem}
  .pie-redes{grid-area:redes;align-self:end;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.375rem}
  .pie-copy{grid-area:copy;align-self:start}
}
.aviso{padding:0 var(--margin) 1.25rem;text-align:center;font-size:.8125rem;color:var(--mut)}
.aviso a{border-bottom:1px solid currentColor;transition:color .3s}
.aviso a:hover{color:var(--onyx)}
.aviso-flot{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,1rem);background:var(--onyx);color:var(--chalk);padding:.75rem 1.25rem;opacity:0;pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease);z-index:400;max-width:calc(100vw - 2.5rem);text-align:center}
.aviso-flot.mostrar{opacity:1;transform:translate(-50%,0)}


.vista{position:fixed;inset:0;z-index:200;background:var(--chalk);color:var(--onyx);display:flex;flex-direction:column;opacity:0;transition:opacity .4s var(--ease)}
.vista.abierta{opacity:1}
.vista-barra{height:3.5rem;flex:none;position:relative;display:flex;align-items:center;justify-content:flex-end;padding-inline:var(--margin);border-bottom:1px solid #16161414}
.vista-cerrar{border-bottom:1px solid currentColor;padding-block:.25rem}
.vista-cuerpo{flex:1;overflow-y:auto;overscroll-behavior:contain}
.vc{padding-block:2.5rem 5rem}
.vc-cab{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2.5rem}
.vc-filtros{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.vc-filtros a{padding-block:.25rem;border-bottom:1px solid transparent;display:inline-flex;gap:.5rem;align-items:baseline}
.vc-filtros a[aria-current="true"]{border-bottom-color:currentColor}
.vc-filtros .mut{font-size:.875rem}
.vf{display:grid;grid-template-columns:1fr;gap:var(--gutter);padding-block:2rem 5rem}
.vf-medio{aspect-ratio:3/4;overflow:hidden;position:relative;background:var(--sand)}
.vf-medio img{position:absolute;inset:0;transition:opacity .5s}
.vf-medio img+img{opacity:0}
.vf-medio.alterna img:first-child{opacity:0}
.vf-medio.alterna img+img{opacity:1}
.vf-txt{display:flex;flex-direction:column;gap:1.5rem;padding-top:1rem}
.vf-txt h2{margin-bottom:-.5rem}
.vf-txt .vf-tipo{color:var(--mut)}
.vf-acciones{display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:center}
.vf-vista{display:flex;gap:.75rem}
.vf-vista button{border-bottom:1px solid transparent;padding-block:.25rem}
.vf-vista button[aria-pressed="true"]{border-bottom-color:currentColor}
.vf-ficha{display:grid;gap:.375rem;border-top:1px solid #16161426;padding-top:1rem}
.vf-ficha p:first-child{color:var(--mut)}
.vh-cuerpo{display:flex;flex-direction:column;gap:1.25rem}
.vh-cuerpo p{max-width:38rem}
@media (min-width:1024px){
  .vc{padding-block:3.75rem 6rem}
  .vc-cab{flex-direction:row;justify-content:space-between;align-items:flex-end}
  .vf{grid-template-columns:repeat(12,1fr);padding-block:3.75rem 6rem}
  .vf-medio{grid-column:1/6}
  .vf-txt{grid-column:7/12;padding-top:0}
}

html.menu-abierto .cab{opacity:0;pointer-events:none}
html.vista-abierta,html.menu-abierto{overflow:hidden}


@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .sec[data-rev]:not(.visto){opacity:1}
  .js .portada-marca:not(.visto){opacity:1;transform:none}
  .js.intro .portada{opacity:1}
  .par{transform:none!important}
  .eslogan .pal{opacity:1!important}
}
