:root{
  --burdeos:#4a0f1f; --burdeos-2:#621a2e; --burdeos-osc:#2d0812;
  --crema:#f4ecdf; --crema-2:#ebe0cf; --marfil:#faf6ef;
  --tinta:#1c1517; --tinta-2:#4a3d41; --oro:#b8955a; --oro-claro:#d4b57c;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --ancho:1180px; --ancho-e:760px; --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-weight:300;font-size:1.0625rem;line-height:1.7;color:var(--tinta);background:var(--marfil);overflow-x:hidden}
body.bloq{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:.01em}
h2{font-size:clamp(2.1rem,4.2vw,3.4rem);margin-bottom:1.4rem}
h3{font-size:1.65rem;margin-bottom:.6rem}
p+p{margin-top:1.1em}
.cont{max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,5vw,3.5rem)}
.cont--estrecho{max-width:var(--ancho-e)}
.kicker{font-family:var(--sans);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--burdeos);margin-bottom:1.1rem;font-weight:400}
.kicker--claro{color:var(--oro-claro)}
.kicker::before{content:"";display:inline-block;width:2rem;height:1px;background:currentColor;vertical-align:middle;margin-right:.9rem;opacity:.7}
.grande{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2.05rem);line-height:1.35;color:var(--burdeos-osc)}
.marca{font-family:var(--serif);font-weight:400;font-size:1.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--crema);white-space:nowrap}
.marca--peq{font-size:1.1rem;color:var(--oro);margin-bottom:1.4rem}
.marca--pie{font-size:1.4rem;margin-bottom:1rem;color:var(--oro-claro)}
.btn{display:inline-block;font-family:var(--sans);font-weight:400;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;padding:1rem 2.2rem;border:1px solid transparent;transition:all .35s var(--ease);cursor:pointer;line-height:1}
.btn--oro{background:var(--oro);color:var(--burdeos-osc);border-color:var(--oro)}
.btn--oro:hover{background:var(--oro-claro);border-color:var(--oro-claro)}
.btn--linea{border-color:rgba(244,236,223,.55);color:var(--crema)}
.btn--linea:hover{border-color:var(--crema);background:rgba(244,236,223,.08)}
/* placeholders de foto */
.foto{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--burdeos-2) 0%,var(--burdeos-osc) 100%)}
.foto::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(212,181,124,.18),transparent 55%),radial-gradient(ellipse at 80% 90%,rgba(212,181,124,.10),transparent 50%)}
.foto::after{content:"";position:absolute;inset:1.1rem;border:1px solid rgba(212,181,124,.28)}
.foto.con-img::before,.foto.con-img::after{display:none}
.foto>img{width:100%;height:100%;object-fit:cover}
/* aviso mayores */
.aviso{position:fixed;inset:0;z-index:100;background:rgba(28,8,16,.96);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:1;transition:opacity .6s var(--ease)}
.aviso.fuera{opacity:0;pointer-events:none}
.aviso__caja{max-width:520px;text-align:center;color:var(--crema);padding:3rem 2.2rem;border:1px solid rgba(212,181,124,.35)}
.aviso__caja h2{font-size:2rem;margin-bottom:1rem}
.aviso__caja p{color:rgba(244,236,223,.78);margin-bottom:2rem;font-size:.98rem}
/* cabecera */
.cab{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.25rem,5vw,3.5rem);transition:background .4s,padding .4s,box-shadow .4s}
.cab.fija{background:rgba(45,8,18,.92);backdrop-filter:blur(10px);padding:.9rem clamp(1.25rem,5vw,3.5rem);box-shadow:0 1px 0 rgba(212,181,124,.18)}
.nav{display:flex;align-items:center;gap:2.1rem;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,236,223,.85);font-weight:400}
.nav a{position:relative;padding:.3rem 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--oro-claro);transition:width .35s var(--ease)}
.nav a:hover::after{width:100%}
.idiomas{margin-left:.6rem;padding-left:1.4rem;border-left:1px solid rgba(244,236,223,.25);display:flex;gap:.5rem;align-items:center}
.idiomas i{font-style:normal;opacity:.5}
.idiomas a[aria-current]{color:var(--oro-claro)}
.burger{display:none;background:none;border:0;width:38px;height:30px;position:relative;cursor:pointer;z-index:60}
.burger span{position:absolute;left:6px;right:6px;height:1px;background:var(--crema);transition:.35s var(--ease)}
.burger span:first-child{top:11px}.burger span:last-child{top:19px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--crema);background:var(--burdeos-osc)}
.hero__img{position:absolute;inset:0}
.hero__img::after{inset:auto}
.hero__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,8,18,.35) 0%,rgba(45,8,18,.15) 40%,rgba(45,8,18,.88) 100%)}
.hero__txt{position:relative;z-index:2;max-width:var(--ancho);width:100%;margin:0 auto;padding:0 clamp(1.25rem,5vw,3.5rem) clamp(4rem,10vh,7rem)}
.h1-nombre{display:block;font-size:clamp(3.6rem,10vw,8.5rem);letter-spacing:.06em;text-transform:uppercase;line-height:.95;font-weight:300}
.h1-frase{display:block;font-size:clamp(1.25rem,2.4vw,1.85rem);font-style:italic;font-weight:300;max-width:34ch;margin-top:1.4rem;color:rgba(244,236,223,.9)}
.hero__acciones{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem}
.hero__scroll{position:absolute;right:clamp(1.25rem,5vw,3.5rem);bottom:2rem;width:1px;height:70px;overflow:hidden;z-index:2}
.hero__scroll span{display:block;width:100%;height:100%;background:linear-gradient(var(--oro-claro),transparent);animation:baja 2.4s var(--ease) infinite}
@keyframes baja{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
/* intro */
.intro{padding:clamp(5rem,11vw,9rem) 0 clamp(4rem,8vw,6rem);text-align:center}
.intro .grande{margin-bottom:1.6rem}
.intro p:not(.grande){max-width:58ch;margin-left:auto;margin-right:auto;color:var(--tinta-2)}
/* sobre */
.sobre{padding:clamp(3rem,7vw,6rem) 0 clamp(5rem,10vw,8rem)}
.sobre__grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.foto--retrato{aspect-ratio:3/4}
.sobre__txt p{color:var(--tinta-2)}
.cita{font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.35;color:var(--burdeos);margin-top:2rem;padding-left:1.4rem;border-left:1px solid var(--oro)}
/* experiencias */
.exp{background:var(--burdeos-osc);color:var(--crema);padding:clamp(5rem,10vw,8rem) 0}
.exp__cab{max-width:var(--ancho-e);margin:0 auto 3.5rem;text-align:center}
.exp__cab .kicker::before{display:none}
.exp__intro{color:rgba(244,236,223,.78)}
.exp__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.exp__item .foto{aspect-ratio:3/4;margin-bottom:1.3rem;background:linear-gradient(160deg,#5a1529,#33101b)}
.exp__item h3{font-size:1.5rem}
.exp__item p{color:rgba(244,236,223,.72);font-size:.98rem}
.exp__cierre{max-width:var(--ancho-e);margin:4rem auto 0;text-align:center;color:rgba(244,236,223,.82);font-family:var(--serif);font-size:1.3rem;line-height:1.45}
/* reservas */
.reservas{padding:clamp(5rem,10vw,8rem) 0;background:var(--crema)}
.reservas p{color:var(--tinta-2)}
.pasos{margin-top:4rem;display:grid;gap:0}
.paso{display:grid;grid-template-columns:5rem 1fr;gap:1.5rem;padding:2.4rem 0;border-top:1px solid rgba(74,15,31,.18);max-width:900px;margin:0 auto;width:100%}
.paso:last-child{border-bottom:1px solid rgba(74,15,31,.18)}
.paso__n{font-family:var(--serif);font-size:2.6rem;color:var(--oro);line-height:1}
.paso ul{list-style:none;margin:1rem 0 0;columns:2;gap:2rem}
.paso li{padding:.35rem 0;border-bottom:1px solid rgba(74,15,31,.12);break-inside:avoid;font-size:.98rem}
.paso li::before{content:"·";color:var(--oro);margin-right:.6rem}
.reservas__cierre{margin-top:4rem;text-align:center}
.reservas__lineas{font-family:var(--serif);font-size:1.5rem;line-height:1.6;color:var(--burdeos)!important}
/* contacto */
.contacto{background:var(--burdeos);color:var(--crema);padding:clamp(5rem,10vw,8rem) 0}
.contacto__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.contacto__p{font-family:var(--serif);font-size:1.5rem;line-height:1.4;color:rgba(244,236,223,.9)}
.contacto__firma{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--oro-claro);margin-top:2rem}
.form{display:grid;gap:1.3rem}
.form__fila{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.form label{display:block}
.form label span{display:block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:.45rem;font-weight:400}
.form input,.form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(244,236,223,.35);color:var(--crema);font-family:var(--sans);font-weight:300;font-size:1rem;padding:.6rem 0;outline:0;transition:border-color .3s;border-radius:0;-webkit-appearance:none}
.form input:focus,.form textarea:focus{border-color:var(--oro-claro)}
.form input::placeholder,.form textarea::placeholder{color:rgba(244,236,223,.4)}
.form textarea{resize:vertical}
.form input[type=date]{color-scheme:dark}
.form__priv{font-size:.85rem;color:rgba(244,236,223,.6)}
.form .btn{justify-self:start}
.form__msg{font-size:.95rem;min-height:1.5em;color:var(--oro-claro)}
.oculto{position:absolute;left:-9999px;opacity:0;height:0}
/* pie */
.pie{background:var(--burdeos-osc);color:rgba(244,236,223,.65);padding:3.5rem 0;text-align:center}
.pie__claim{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:rgba(244,236,223,.85)}
.pie__legal{font-size:.78rem;letter-spacing:.08em;margin-top:1.4rem}
/* aparición */
.rev{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rev.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.hero__scroll{display:none}}
/* responsive */
@media (max-width:960px){
  .exp__grid{grid-template-columns:repeat(2,1fr)}
  .sobre__grid,.contacto__grid{grid-template-columns:1fr}
  .sobre__foto{max-width:420px}
}
@media (max-width:720px){
  .burger{display:block}
  .nav{position:fixed;inset:0;background:rgba(45,8,18,.97);flex-direction:column;justify-content:center;gap:1.8rem;font-size:.95rem;transform:translateX(100%);transition:transform .45s var(--ease)}
  .nav.abierto{transform:none}
  .idiomas{margin:0;padding:0;border:0}
  .form__fila{grid-template-columns:1fr}
  .paso{grid-template-columns:1fr;gap:.6rem}
  .paso ul{columns:1}
  .h1-nombre{font-size:clamp(3rem,15vw,5rem)}
  .hero__txt{padding-bottom:5rem}
  .hero__scroll{display:none}
}
