/* Sitio de Irina Kravitz · Tinta #14202B · Niebla #E9ECEE · Piedra #8B949C · Bronce #A08460 · Marfil #F6F7F7 */
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:300;font-display:swap;src:url(/assets/fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:400;font-display:swap;src:url(/assets/fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:500;font-display:swap;src:url(/assets/fonts/jost-latin-500-normal.woff2) format("woff2")}

:root{--tinta:#14202B;--niebla:#E9ECEE;--piedra:#8B949C;--bronce:#A08460;--marfil:#F6F7F7;
--serif:"Cormorant Garamond",Georgia,serif;--sans:Jost,system-ui,sans-serif;--cab:72px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--cab)}
body{margin:0;background:var(--marfil);color:var(--tinta);font:300 1.0625rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0}
.saltar{position:absolute;left:-999px;top:0;background:var(--tinta);color:var(--marfil);padding:.6rem 1rem;z-index:100}
.saltar:focus{left:0}
:focus-visible{outline:2px solid var(--bronce);outline-offset:3px}
.wrap{width:min(1200px,100% - 3rem);margin-inline:auto}
.wrap--angosto{width:min(680px,100% - 3rem)}
.sobre{font:500 .72rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--bronce);margin:0 0 1.1rem}

/* Cabecera */
.cab{position:fixed;inset:0 0 auto;height:var(--cab);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,3rem);z-index:50;color:var(--marfil);transition:background .35s,box-shadow .35s}
.cab.is-solida,.pagina-galeria .cab{background:rgba(20,32,43,.94);backdrop-filter:blur(6px)}
.cab__marca{font:400 1.7rem/1 var(--serif);text-decoration:none;letter-spacing:.06em}
.cab__menu{display:flex;gap:2.2rem}
.cab__menu a{font:400 .78rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent;transition:border-color .25s}
.cab__menu a:hover,.cab__menu a[aria-current]{border-color:var(--bronce)}
.cab__burger{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer;color:inherit}
.cab__burger span{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .3s}
.cab__burger span:first-child{top:18px}.cab__burger span:last-child{top:26px}
.cab__burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.cab__burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Slide a pantalla completa */
.hero{position:relative;height:100vh;height:100svh;min-height:480px;background:var(--tinta);overflow:hidden;color:var(--marfil)}
.hero__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease;visibility:hidden}
.hero__slide.is-activo{opacity:1;visibility:visible}
.hero__slide img{width:100%;height:100%;object-fit:cover}
.hero__slide::after,.hero__vacio::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,32,43,.45) 0,rgba(20,32,43,0) 30%,rgba(20,32,43,0) 55%,rgba(20,32,43,.7) 100%)}
.hero__vacio{position:absolute;inset:0}
.hero__texto{position:absolute;z-index:2;right:clamp(1.25rem,4vw,3rem);bottom:7.5rem;text-align:right;display:grid;gap:.3rem;max-width:30ch}
.hero__tit{font:italic 400 1.5rem/1.2 var(--serif)}
.hero__sub{font-size:.9rem;opacity:.85}
.hero__marca{position:absolute;z-index:2;left:clamp(1.25rem,4vw,3rem);bottom:clamp(2.5rem,7vh,5rem)}
.hero__marca h1{font-size:clamp(3rem,9vw,7rem);letter-spacing:.04em}
.hero__marca p{margin:.6rem 0 0;font:400 .8rem/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;opacity:.85}
.hero__puntos{position:absolute;z-index:3;left:50%;bottom:1.4rem;transform:translateX(-50%);display:flex;gap:.2rem}
.hero__puntos button{width:30px;height:30px;background:none;border:0;cursor:pointer;position:relative}
.hero__puntos button::after{content:"";position:absolute;left:5px;right:5px;top:14px;height:1px;background:var(--marfil);opacity:.45;transition:opacity .3s,background .3s}
.hero__puntos button.is-activo::after{opacity:1;background:var(--bronce);height:2px;top:13px}
.hero__bajar{display:none}

/* Reseña */
.resena{padding:clamp(4rem,10vw,8rem) 0;background:var(--marfil)}
.resena__grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.resena__grid--solo{grid-template-columns:minmax(0,680px);justify-content:center;text-align:center}
.resena__foto{margin:0}
.resena__foto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.resena h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:1.6rem}
.resena__texto p:not(.sobre){margin:0 0 1.2rem;color:#2b3a47}

/* Contacto */
.contacto{padding:clamp(4rem,9vw,7rem) 0;background:var(--niebla)}
.contacto h2{font-size:clamp(2.2rem,4.5vw,3.2rem);margin-bottom:1rem}
.contacto__intro{margin:0 0 2.2rem;color:#2b3a47}
.form{display:grid;gap:1.4rem}
.form__fila{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.form label{display:grid;gap:.4rem}
.form label>span{font:500 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--piedra)}
.form input,.form textarea{font:300 1rem/1.5 var(--sans);color:var(--tinta);background:transparent;border:0;border-bottom:1px solid var(--piedra);padding:.6rem 0;border-radius:0;width:100%}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--bronce)}
.form textarea{resize:vertical;min-height:8rem}
.form__trampa{position:absolute;left:-9999px;height:0;overflow:hidden}
.btn{justify-self:start;font:500 .78rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;background:var(--tinta);color:var(--marfil);border:1px solid var(--tinta);padding:1.1rem 2.2rem;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--bronce);border-color:var(--bronce)}
.aviso{padding:1rem 1.2rem;margin:0 0 1.6rem;font-size:.95rem;border-left:2px solid}
.aviso--ok{border-color:var(--bronce);background:var(--marfil)}
.aviso--err{border-color:#9a3b3b;background:#f4e8e8}

/* Galería */
.galeria{padding:calc(var(--cab) + clamp(2.5rem,6vw,5rem)) 0 clamp(4rem,8vw,6rem)}
.galeria__tit{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:2rem}
.filtros{display:flex;flex-wrap:wrap;gap:.4rem 1.8rem;margin-bottom:2.4rem}
.filtros button{background:none;border:0;border-bottom:1px solid transparent;font:400 .78rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--piedra);padding:.6rem 0;cursor:pointer;transition:color .25s,border-color .25s}
.filtros button:hover,.filtros button.is-activo{color:var(--tinta);border-color:var(--bronce)}
.grid{margin:0 -.5rem}
.grid__item{display:block;width:33.333%;padding:.5rem;cursor:zoom-in}
.grid__item img{width:100%;height:auto;background:var(--niebla);transition:opacity .3s}
.grid__item:hover img{opacity:.88}
.vacio{color:var(--piedra);font:italic 400 1.4rem var(--serif)}

/* WhatsApp permanente */
.wa{position:fixed;display:grid;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 6px 22px rgba(20,32,43,.35);border:2px solid #fff;transition:background .25s,transform .25s}
.wa:hover{background:#1ebe5b;transform:translateY(-2px)}

/* Error */
.error{padding:calc(var(--cab) + clamp(4rem,12vw,9rem)) 0 clamp(4rem,10vw,8rem);text-align:center}
.error h1{font-size:clamp(2.6rem,6vw,4.4rem);margin-bottom:1rem}
.error p{margin:0 0 1.6rem;color:#2b3a47}
.error .btn{display:inline-block;text-decoration:none}
body.pagina-error .cab{background:rgba(20,32,43,.94)}

/* Aviso de cookies */
.consent{position:fixed;left:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:70;max-width:min(26rem,100% - 2rem);background:var(--tinta);color:var(--niebla);padding:1.2rem 1.3rem;box-shadow:0 10px 34px rgba(20,32,43,.4);font-size:.88rem;line-height:1.55}
.consent[hidden]{display:none}
.consent p{margin:0 0 1rem}
.consent__acciones{display:flex;gap:.7rem;flex-wrap:wrap}
.consent__btn{font:500 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;background:transparent;color:var(--niebla);border:1px solid var(--piedra);padding:.8rem 1.2rem;cursor:pointer}
.consent__btn--ok{background:var(--bronce);border-color:var(--bronce);color:#fff}
.consent__btn:hover{border-color:var(--niebla)}
.pie__cookies{margin:1rem 0 0}
.pie__cookies button{background:none;border:0;color:var(--piedra);font:inherit;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pie__cookies button:hover{color:var(--niebla)}

/* Pie */
.pie{background:var(--tinta);color:var(--niebla);text-align:center;padding:3rem 1.5rem 1.6rem;font-size:.85rem}
.pie__redes{margin:0 0 1.4rem}
.pie__redes ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}
.pie__redes .red{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid transparent;color:var(--niebla);text-decoration:none;transition:color .25s,border-color .25s}
.pie__redes .red:hover{color:var(--bronce);border-color:var(--bronce)}
.pie__redes .red svg{display:block}
.pie__copy{margin:0;color:var(--piedra)}
.pie__cubo3{margin:1.6rem 0 0;font-size:.68rem;letter-spacing:.08em;color:var(--piedra)}
.pie__cubo3 a{text-decoration:none;opacity:.8;border-bottom:1px solid transparent;transition:opacity .25s,border-color .25s}
.pie__cubo3 a:hover{opacity:1;border-color:var(--bronce);color:var(--niebla)}

@media(max-width:900px){.grid__item{width:50%}.resena__grid{grid-template-columns:1fr}}
@media(max-width:720px){
    .cab__burger{display:block}
    .cab__menu{position:fixed;inset:var(--cab) 0 auto;background:var(--tinta);flex-direction:column;gap:0;padding:.5rem 1.5rem 1.5rem;transform:translateY(-120%);transition:transform .35s;visibility:hidden}
    .cab__menu.is-abierto{transform:none;visibility:visible}
    .cab__menu a{padding:1rem 0;border-bottom:1px solid rgba(233,236,238,.12)}
    .form__fila{grid-template-columns:1fr}
    .hero__texto{display:none}
}
@media(max-width:480px){.grid__item{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
