/* Sitio público: noche, champaña y mucho aire. Serif para decir, sans para informar. */
.saltar{position:absolute;left:-999px;top:0}
.saltar:focus{left:1rem;top:1rem;z-index:99;background:var(--marca);color:var(--sobre-marca);padding:0 1rem;min-height:44px;display:inline-flex;align-items:center;border-radius:10px}
.envoltura{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.envoltura.estrecha{width:min(760px,100% - 2.5rem)}
.ceja{font:500 var(--t-chico)/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--marca);margin:0 0 1rem}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.01em;margin:0}
h2{font-size:var(--t-1);line-height:1.08}
h1 em,h2 em{font-style:italic;color:var(--marca)}
.bajada{color:var(--marfil-2);font-size:1.075rem;max-width:56ch;margin:1rem 0 0}
.nota-legal,.leyenda-img{color:var(--marfil-2);font-size:var(--t-chico);opacity:.85;margin:1rem 0 0}
section{padding:clamp(4rem,10vw,8rem) 0}

/* Cabecera */
.cabecera{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:1.5rem;justify-content:space-between;padding:max(.75rem,env(safe-area-inset-top)) clamp(1rem,3vw,2.5rem) .75rem;transition:background .35s,backdrop-filter .35s}
.cabecera.solida{background:color-mix(in srgb,var(--noche) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linea-noche)}
.logo{display:block;min-height:44px}
.logo img{height:46px;width:auto;display:block}
.menu{display:none;gap:1.6rem}
.menu a{color:var(--marfil);text-decoration:none;font-size:.95rem;letter-spacing:.04em;opacity:.85;min-height:44px;display:inline-flex;align-items:center}
.menu a:hover{opacity:1;color:var(--marca)}
@media (min-width:900px){.menu{display:flex}}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:0 0 clamp(3rem,8vw,6rem);overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-velo{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--noche) 55%,transparent) 0%,transparent 30%,color-mix(in srgb,var(--noche) 70%,transparent) 62%,var(--noche) 100%)}
.hero-texto{position:relative;width:min(1180px,100% - 2.5rem);margin-inline:auto;opacity:0;transform:translateY(18px);transition:opacity 1.2s var(--curva) .3s,transform 1.2s var(--curva) .3s}
.hero.listo .hero-texto{opacity:1;transform:none}
.hero h1{font-size:var(--t-hero);line-height:1.02;max-width:17ch}
.hero-sub{font-size:1.15rem;color:var(--marfil-2);max-width:44ch;margin:1.25rem 0 1.75rem}
.hero-sub .desde{display:block;color:var(--marfil);margin-top:.4rem}
.hero-sub b{color:var(--marca);font-weight:500}
.hero-acciones{display:flex;flex-wrap:wrap;gap:.75rem}
.hero .leyenda-img{position:absolute;right:1rem;bottom:.6rem;margin:0}

/* Tesis: casa vs consultorio */
.tesis{background:var(--noche-2)}
.duelo{display:grid;gap:1.25rem;margin-top:2.5rem}
@media (min-width:820px){.duelo{grid-template-columns:1fr 1fr}}
.duelo-lado{border:1px solid var(--linea-noche);border-radius:var(--radio);overflow:hidden;background:var(--noche-3)}
.duelo-lado.destacado{border-color:color-mix(in srgb,var(--marca) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--marca) 25%,transparent),var(--sombra-noche)}
.duelo-media{aspect-ratio:16/9;overflow:hidden;background:var(--noche)}
.duelo-media video{width:100%;height:100%;object-fit:cover;display:block}
.duelo-lado:not(.destacado) video{filter:saturate(.6) brightness(.8)}
.duelo-lado h3{font:400 var(--t-2)/1.1 var(--display);margin:1.25rem 1.25rem .4rem}
.duelo-lado.destacado h3{color:var(--marca)}
.duelo-lado p{margin:0 1.25rem 1.5rem;color:var(--marfil-2)}
.duelo-lado b{color:var(--marfil);font-weight:500}

/* Ecosistema */
.eco-rejilla{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;gap:1rem}
@media (min-width:900px){.eco-rejilla{grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto}.eco.grande{grid-row:span 2}}
.eco{position:relative;border-radius:var(--radio);overflow:hidden;min-height:280px;background:var(--noche-3);isolation:isolate}
.eco video,.eco .eco-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.eco::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 20%,color-mix(in srgb,var(--noche) 70%,transparent) 55%,color-mix(in srgb,var(--noche) 94%,transparent) 100%)}
.eco-texto{position:absolute;inset:auto 0 0;padding:1.25rem}
.eco-texto h3{font:400 var(--t-2)/1.1 var(--display);margin:.5rem 0 .2rem}
.eco-texto h3,.eco-texto p{text-shadow:0 1px 12px var(--noche)}
.eco-texto p{margin:0;color:var(--marfil-2)}
.eco-texto .emoji{width:52px;height:52px}

/* Plano */
.plano-seccion{background:var(--noche-2)}
.plano-y-ficha{display:grid;gap:1.25rem;margin-top:2rem;align-items:start}
@media (min-width:980px){.plano-y-ficha{grid-template-columns:1.5fr 1fr}.ficha{position:sticky;top:96px}}
.cargando{color:var(--marfil-2)}
.ficha .acciones{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}

/* Plan de pagos */
.pagos-rejilla{display:grid;gap:2.5rem}
@media (min-width:900px){.pagos-rejilla{grid-template-columns:1fr 1.2fr;align-items:center}}
.pasos{list-style:none;padding:0;margin:0;display:grid;gap:.9rem;counter-reset:paso}
.pasos li{display:flex;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--linea-noche);border-radius:var(--radio);background:var(--noche-3)}
.pasos h3{font:500 1.15rem/1.2 var(--sans);margin:0 0 .15rem;color:var(--marfil)}
.pasos p{margin:0;color:var(--marfil-2);font-size:.95rem}

/* Ubicación */
.ubicacion{position:relative;padding:0;min-height:80vh;display:flex;align-items:flex-end;overflow:hidden}
.ubi-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ubicacion::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--noche) 100%)}
.ubi-texto{position:relative;z-index:1;padding:clamp(3rem,8vw,6rem) 0}

/* Galería */
.gal{list-style:none;padding:0;margin:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radio);display:block}

/* Preguntas */
.preguntas details{border-bottom:1px solid var(--linea-noche);padding:.25rem 0}
.preguntas summary{cursor:pointer;min-height:56px;display:flex;align-items:center;font:400 1.35rem/1.25 var(--display);list-style:none}
.preguntas summary::after{content:"+";margin-left:auto;color:var(--marca);font-size:1.5rem;transition:transform .3s}
.preguntas details[open] summary::after{transform:rotate(45deg)}
.preguntas p{color:var(--marfil-2);margin:.25rem 0 1rem}
.preguntas a,.pie a,.casilla a{color:var(--marca)}

/* Contacto */
.contacto{background:var(--noche-2)}
.contacto-rejilla{display:grid;gap:2.5rem}
@media (min-width:900px){.contacto-rejilla{grid-template-columns:1fr 1fr}}
.formulario{background:var(--noche-3);border:1px solid var(--linea-noche);border-radius:var(--radio);padding:clamp(1.25rem,3vw,2rem)}
.formulario .campo input{background:var(--noche);border-color:var(--linea-noche);color:var(--marfil)}
.formulario .campo label{color:var(--marfil)}
.opcional{color:var(--marfil-2);font-weight:400}
.err-form{color:var(--apartado);min-height:1.2em;font-size:var(--t-chico);margin:0 0 .5rem}
.te-atiende{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.5rem;padding:.6rem 1rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--marca) 50%,transparent);color:var(--marfil)}
.gracias{text-align:center;padding:2rem 1rem}
.gracias h3{font:400 var(--t-2)/1.1 var(--display);margin:.75rem 0 .5rem}

/* Pie */
.pie{padding:3rem 0 calc(3rem + env(safe-area-inset-bottom));border-top:1px solid var(--linea-noche);color:var(--marfil-2);font-size:var(--t-chico)}
.pie-rejilla{display:grid;gap:.75rem}
.pie img{height:56px;width:auto}
.pie nav{display:flex;flex-wrap:wrap;gap:1.25rem}
.pie nav a{min-height:44px;display:inline-flex;align-items:center}

/* Aparición al hacer scroll */
.aparece{opacity:0;transform:translateY(24px);transition:opacity .9s var(--curva),transform .9s var(--curva)}
.aparece.visto{opacity:1;transform:none}
