:root{
  --naranja:#F39200; --coral:#E16A3F; --rosa:#D44F69; --magenta:#C73494; --morado:#B80FD0;
  --negro:#000; --tinta:#2A2230; --suave:#6A5F73; --lila:#F6F2F9; --blanco:#fff;
  --degradado:linear-gradient(90deg,var(--naranja),var(--coral),var(--rosa),var(--magenta),var(--morado));
  --cuerpo:'Jost','Century Gothic','Questrial',system-ui,sans-serif;
  --script:'Lobster','Brush Script MT',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--cuerpo);font-weight:300;font-size:1.125rem;line-height:1.65;color:var(--tinta);background:var(--blanco)}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px}
.wrap{width:min(72rem,100% - 3rem);margin-inline:auto}
.wrap--narrow{width:min(44rem,100% - 3rem)}
h1,h2,h3{font-weight:400;line-height:1.15;margin:0 0 1rem}
h2{font-size:clamp(1.8rem,4vw,2.6rem)}
p{margin:0 0 1.1rem}

/* HERO */
.hero{background:var(--negro);color:var(--blanco);padding:0 1.5rem 5rem;text-align:center}
.nav{display:flex;justify-content:space-between;align-items:center;width:min(72rem,100%);margin:0 auto;padding:1rem 0}
.nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;font-size:.98rem}
.nav a{text-decoration:none;opacity:.85}.nav a:hover{opacity:1}
.hero__logo{width:min(20rem,66%);margin:1.5rem auto 0;display:block}
.hero__q{font-family:var(--script);font-size:clamp(2.4rem,7vw,4.8rem);font-weight:400;line-height:1.15;max-width:20ch;margin:5rem auto 5rem}

/* PUERTAS: arcos reales, cada uno con su imagen e identidad */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;align-items:end;width:min(64rem,100%);margin:0 auto;text-align:left}
.door{--h:30rem;display:flex;flex-direction:column;height:var(--h);text-decoration:none;color:var(--blanco)}
.door--1{--h:29rem;--g:linear-gradient(180deg,var(--naranja),var(--coral));--glow:rgba(243,146,0,.55);--r:999px 999px 0 0}
.door--2{--h:34rem;--g:linear-gradient(180deg,var(--rosa),var(--magenta));--glow:rgba(212,79,105,.55);--r:50% 50% 0 0 / 38% 38% 0 0}
.door--3{--h:31rem;--g:linear-gradient(180deg,var(--magenta),var(--morado));--glow:rgba(184,15,208,.6);--r:50% 50% 0 0 / 16% 16% 0 0}
.door__frame{position:relative;flex:1;overflow:hidden;border:3px solid transparent;border-radius:var(--r);background:radial-gradient(circle at 50% 44%,var(--glow),transparent 62%) padding-box,linear-gradient(#000,#000) padding-box,var(--g) border-box}
.door--2 .door__frame{box-shadow:0 0 0 6px #000,0 0 0 8px var(--rosa)}
.door--3 .door__frame{box-shadow:0 0 40px var(--glow)}
.door__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .8s ease;filter:brightness(.85)}
.door__label{position:absolute;inset:auto 0 0 0;padding:4rem 1.4rem 1.6rem;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,0));display:flex;flex-direction:column;gap:.2rem}
.door__ask{font-size:1.45rem;line-height:1.2;font-weight:400}
.door__name{font-family:var(--script);font-size:1.3rem;color:#e9dff0}
.door__knob{position:absolute;top:56%;right:1rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--degradado);box-shadow:0 0 0 4px rgba(255,255,255,.12),0 0 14px var(--glow)}
.door__sill{display:block;height:6px;margin:0 -.8rem;border-radius:3px;background:var(--g);box-shadow:0 0 26px var(--glow);transition:box-shadow .5s,transform .5s}
.door:hover .door__img,.door:focus-visible .door__img{transform:scale(1.07);filter:brightness(1.05)}
.door:hover .door__sill,.door:focus-visible .door__sill{box-shadow:0 0 50px 6px var(--glow);transform:scaleX(1.04)}
.door:focus-visible{outline:none}.door:focus-visible .door__frame{outline:3px solid var(--naranja);outline-offset:6px}

/* FILOSOFÍA */
.filosofia{padding:6rem 0}
blockquote{margin:0 0 2.5rem}
blockquote p{font-family:var(--script);font-size:clamp(1.7rem,4.2vw,2.6rem);line-height:1.3;margin:0;background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.3rem;font-weight:400}

/* DETALLE */
.detalle{background:var(--lila);padding:5.5rem 0}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:2.5rem}
.col{border-top:4px solid;padding-top:1.4rem;display:flex;flex-direction:column;scroll-margin-top:2rem}
.col--1{border-color:var(--naranja)}.col--2{border-color:var(--rosa)}.col--3{border-color:var(--morado)}
.col h3{font-family:var(--script);font-size:1.9rem;font-weight:400}
.col ul{padding-left:1.1rem;margin:0 0 1.2rem}.col li{margin-bottom:.35rem;font-weight:400}
.col__areas{font-size:1rem;color:var(--suave)}
.btn{align-self:flex-start;margin-top:auto;display:inline-block;padding:.8rem 1.5rem;border-radius:999px;background:var(--tinta);color:var(--blanco);text-decoration:none;font-weight:400;transition:background .2s}
.btn:hover{background:var(--magenta)}
.btn--light{background:var(--blanco);color:var(--tinta)}.btn--light:hover{background:var(--naranja);color:var(--negro)}

/* RUTA */
.ruta{padding:5.5rem 0}
.ruta__intro{max-width:36rem;color:var(--suave)}
.steps{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;counter-reset:s}
.steps li{position:relative;padding-top:2.2rem}
.steps li::before{content:"";position:absolute;top:.55rem;left:0;right:-1.5rem;height:2px;background:var(--degradado)}
.steps li:last-child::before{right:0}
.steps li::after{content:"";position:absolute;top:0;left:0;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--blanco);border:3px solid var(--magenta)}
.steps strong{display:block;font-weight:500;font-size:1.2rem}
.steps span{font-size:1rem;color:var(--suave)}

.para{padding:0 0 5.5rem}

/* FUNDADORA */
.fundadora{background:var(--lila);padding:5rem 0;scroll-margin-top:1rem}
.fundadora__grid{max-width:44rem;margin-inline:auto}
.nombre{display:flex;align-items:center;gap:.6rem;font-size:clamp(2.2rem,5vw,3.2rem)}
.gato{height:1.5em;width:auto}
.rol{font-weight:400;color:var(--magenta)}
.firma{font-family:var(--script);font-size:1.6rem;margin-top:1.5rem}

/* CONTACTO */
.contacto{background:var(--negro);color:var(--blanco);padding:5rem 0 2rem}
.contacto__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:start}
.contacto__datos{list-style:none;margin:0;padding:0}
.contacto__datos li{margin-bottom:1.2rem}
.contacto__datos span{display:block;font-size:.95rem;color:#b9aec3}
.contacto__datos a{text-decoration:none;font-size:1.3rem}
.pie{margin-top:4rem;padding-top:2rem;border-top:1px solid #2b2b2b;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:#b9aec3}
.pie img{width:11rem}.pie p{margin:0}

/* RESPONSIVO */
@media (max-width:900px){
  .doors{grid-template-columns:1fr;max-width:22rem;gap:2.6rem}.door,.door--1,.door--2,.door--3{--h:25rem}.hero__q{font-family:var(--script);font-size:clamp(2.4rem,7vw,4.8rem);font-weight:400;line-height:1.15;max-width:20ch;margin:5rem auto 5rem}
  .cols,.contacto__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:1.2rem}
  .steps li{padding:0 0 0 2.2rem}
  .steps li::before{top:0;bottom:-1.2rem;left:.5rem;right:auto;width:2px;height:auto}
  .steps li:last-child::before{display:none}
  .nav ul{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ===== LA CASA: salas y dirección ===== */
.nav ul{align-items:center}
.nav__quiet a{opacity:.55;font-size:.9rem}
.nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:7px}
.respaldo{margin:4.5rem 0 0;font-size:.95rem;color:#b9aec3}
.respaldo a{text-underline-offset:4px}
.hero--room{text-align:left;padding-bottom:4.5rem}
.room-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:end;width:min(72rem,100%);margin:3rem auto 0}
.kicker{font-size:.9rem;color:#d9d1df;margin:0 0 .6rem;letter-spacing:.1em;text-transform:uppercase}
.room-title{font-family:var(--script);font-size:clamp(2.8rem,8vw,5.5rem);font-weight:400;margin:0 0 .6rem}
.room-ask{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:300;margin:0}
.room--1{--g:linear-gradient(180deg,var(--naranja),var(--coral));--glow:rgba(243,146,0,.5);--r:999px 999px 0 0}
.room--2{--g:linear-gradient(180deg,var(--rosa),var(--magenta));--glow:rgba(212,79,105,.5);--r:50% 50% 0 0 / 38% 38% 0 0}
.room--3{--g:linear-gradient(180deg,var(--magenta),var(--morado));--glow:rgba(184,15,208,.55);--r:50% 50% 0 0 / 16% 16% 0 0}
.room-arch{position:relative;margin:0 0 0 auto;width:min(17rem,100%);height:23rem;overflow:hidden;border:3px solid transparent;border-radius:var(--r);background:radial-gradient(circle at 50% 44%,var(--glow),transparent 62%) padding-box,linear-gradient(#000,#000) padding-box,var(--g) border-box;box-shadow:0 0 40px var(--glow)}
.room-arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.92)}
.sala{padding:4.5rem 0}.sala+.sala{border-top:1px solid #ece6f0}
.sala h2{margin-bottom:1.4rem}
.chips{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{padding:.45rem 1.1rem;border:1.5px solid var(--magenta);border-radius:999px;font-weight:400}
.ofertas{list-style:none;padding:0;margin:0 0 1rem}
.ofertas li{padding:1.1rem 0;border-top:1px solid #e5dfea;font-size:1.25rem;font-weight:400}
.ofertas li:last-child{border-bottom:1px solid #e5dfea}
.ofertas small{display:block;font-size:1rem;font-weight:300;color:var(--suave);margin-top:.3rem}
.principio{font-size:1.35rem;font-weight:400;margin:2rem 0;padding-left:1.2rem;border-left:4px solid;border-image:linear-gradient(180deg,var(--naranja),var(--morado)) 1}
.sala .btn{margin-top:1rem}
.otras{display:flex;gap:1.6rem;flex-wrap:wrap;margin:0 0 3rem;padding:0 0 2rem;border-bottom:1px solid #2b2b2b;font-size:1rem}
.otras a{text-underline-offset:4px;color:#d9d1df}
.banner-ere{display:block;width:min(30rem,calc(100% - 3rem));height:auto;margin:2.5rem auto 0;border-radius:14px}
.ere-cab{display:grid;grid-template-columns:1fr 13.5rem;gap:2rem;align-items:center;margin-bottom:3rem}
.ere-foto{display:block;width:13.5rem;height:auto;border-radius:14px;box-shadow:0 8px 30px rgba(42,34,48,.18)}
.momento{margin-bottom:3rem}.momento .kicker{color:var(--magenta)}
.momento h2{font-size:clamp(1.6rem,3.4vw,2.1rem)}
@media (max-width:900px){
 .nav ul{gap:.9rem;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem}
 .room-hero,.ere-cab{grid-template-columns:1fr}
 .room-arch{margin:0 auto;height:19rem}
 .ere-foto{display:block;width:13.5rem;height:auto;border-radius:14px;box-shadow:0 8px 30px rgba(42,34,48,.18)}
}

/* isotipos dentro de las puertas */
img.is-logo{position:absolute;inset:auto;top:44%;left:50%;width:66%;height:auto;transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 0 22px var(--glow))}
img.is-logo--sm{width:44%}
.door:hover img.is-logo,.door:focus-visible img.is-logo{transform:translate(-50%,-50%) scale(1.06);filter:drop-shadow(0 0 30px var(--glow))}
img.is-logo--lg{width:78%;top:42%}

/* botones, cita y momentos con color */
.cta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:1.6rem}
.cta .btn{margin-top:0}
.btn--ghost{background:transparent;color:inherit;border:2px solid currentColor;padding:calc(.8rem - 2px) calc(1.5rem - 2px)}
.btn--ghost:hover{background:var(--tinta);color:var(--blanco);border-color:var(--tinta)}
.contacto .btn--ghost:hover{background:var(--blanco);color:var(--negro);border-color:var(--blanco)}
.sala .banner-ere{width:100%;margin:0 0 2rem}
.cita{margin:2.2rem 0 0;padding-left:1.2rem;border-left:3px solid var(--magenta);font-style:italic;color:var(--suave)}
.cita cite{display:block;margin-top:.4rem;font-style:normal;font-size:.95rem}
.momento{position:relative;padding:0 0 3rem 2.6rem;background-position:0 0;background-size:16px 160px;background-repeat:repeat-y}.momento--4{padding-bottom:0}
.momento--1{--b:#F39200;--c:#A35700}.momento--2{--b:#E16A3F;--c:#B03E17}.momento--3{--b:#D44F69;--c:#B02A48}.momento--4{--b:#C73494;--c:#A31F7A}
.momento .kicker{color:var(--c)}
.momento h2{font-family:var(--script);font-weight:400;font-size:clamp(1.9rem,4vw,2.5rem);color:var(--c)}
.momento--1{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='160'%3E%3Cpath d='M8 -4C16 40 0 120 8 164' fill='none' stroke='%23F39200' stroke-width='3'/%3E%3C/svg%3E")}
.momento--2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='160'%3E%3Cpath d='M8 -4C16 40 0 120 8 164' fill='none' stroke='%23E16A3F' stroke-width='3'/%3E%3C/svg%3E")}
.momento--3{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='160'%3E%3Cpath d='M8 -4C16 40 0 120 8 164' fill='none' stroke='%23D44F69' stroke-width='3'/%3E%3C/svg%3E")}
.momento--4{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='160'%3E%3Cpath d='M8 -4C16 40 0 120 8 164' fill='none' stroke='%23C73494' stroke-width='3'/%3E%3C/svg%3E")}
.momento::before{content:"";position:absolute;left:0;top:.2rem;width:16px;height:16px;border-radius:50%;background:var(--b);box-shadow:0 0 0 4px #fff,0 0 10px var(--b);animation:respira 4.5s ease-in-out infinite}
@keyframes respira{0%,100%{box-shadow:0 0 0 4px #fff,0 0 8px var(--b)}50%{box-shadow:0 0 0 4px #fff,0 0 22px var(--b)}}
.destacada{font-family:var(--script);font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.3;color:var(--c);margin:0 0 1.4rem}
.ere-foto-wrap{position:relative;width:13.5rem}
.ere-foto-wrap::before{content:"";position:absolute;inset:.9rem -.9rem -.9rem .9rem;border-radius:18px;background:linear-gradient(135deg,var(--naranja),var(--rosa),var(--morado));opacity:.85}
.ere-foto-wrap .ere-foto{position:relative;width:100%}
@media (max-width:900px){.ere-foto-wrap{order:-1;width:12rem;margin:0 auto}}
