/* ============ ALTIA · núcleo del sitio (ronda 15) ============
   Un solo idioma: sala oscura cálida, Montserrat 500 con tracking cerrado, etiquetas en versales espaciadas,
   naranja solo en la acción y en el punto-lámpara. Cada página pone su propia idea encima de esto. */
:root{
 --ink:#08080A;--ink2:#0E0E10;--ink3:#151517;--tinta:#0F0F0F;
 --tx:#F4EDE6;--b:rgba(244,237,230,.72);--b2:rgba(244,237,230,.5);--hl:rgba(244,237,230,.14);--hl2:rgba(244,237,230,.08);
 --o:#E86428;--o2:#D5561C;--mist:#EAEEF1;
 --m:56px;--nav:84px;--r:28px;--sal:cubic-bezier(.2,.8,.2,1);--ease:cubic-bezier(.7,0,.2,1);--out:cubic-bezier(.16,1,.3,1);
 --fx:'Montserrat',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);scrollbar-color:#3A322D var(--ink);scroll-padding-top:96px}
html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:var(--ink)}
html::-webkit-scrollbar-thumb{background:#3A322D;border-radius:999px;border:3px solid var(--ink)}
body{background:var(--ink);color:var(--tx);font:400 16px/1.55 var(--fx);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;caret-color:var(--o)}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul{list-style:none}
::selection{background:var(--o);color:#fff}
:focus-visible{outline:2px solid var(--o);outline-offset:3px;border-radius:8px}
.pag{container-type:inline-size}
body::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---- tipografía ---- */
.eb{display:inline-flex;align-items:center;gap:12px;font:600 12.5px/1 var(--fx);letter-spacing:.26em;text-transform:uppercase;color:var(--b)}
.eb::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--o);flex:none}
.eb.n::before{display:none}
.t1{font:500 clamp(44px,5.4cqw,98px)/1 var(--fx);letter-spacing:-.04em;text-wrap:balance}
.t2{font:500 clamp(32px,3.7cqw,66px)/1.02 var(--fx);letter-spacing:-.035em;text-wrap:balance}
.t3{font:500 clamp(22px,1.9cqw,32px)/1.15 var(--fx);letter-spacing:-.025em}
.lead{font:400 clamp(17px,1.28cqw,21px)/1.55 var(--fx);letter-spacing:-.01em;color:var(--b);max-width:42ch;text-wrap:pretty}
.sm{font:400 14.5px/1.55 var(--fx);color:var(--b)}
.num{font-variant-numeric:tabular-nums}

/* ---- acciones ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:999px;background:var(--o);color:var(--tinta);font:600 14.5px/1 var(--fx);letter-spacing:-.005em;white-space:nowrap;transition:background-color .25s,transform .25s var(--sal),box-shadow .25s}
.btn:hover{background:var(--o2)}.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px}
.btn.b{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.btn.b:hover{background:#fff;color:var(--tinta);box-shadow:inset 0 0 0 1px #fff}
.lnk{display:inline-flex;align-items:center;gap:10px;font:600 14.5px/1 var(--fx);padding:14px 0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .45s,gap .3s}
.lnk:hover{background-size:0 1px;gap:16px}
.lnk svg{width:18px;height:18px}

/* ---- cabecera ---- */
.nav{position:fixed;left:0;right:0;top:0;z-index:50;height:var(--nav);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;padding:0 var(--m);color:#fff;transition:background-color .35s,box-shadow .35s}
.nav .lema{justify-self:start;font:600 12.5px/1 var(--fx);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .35s}
.nav.clara .lema{opacity:1}
.nav .logo{width:168px;height:44px;opacity:0;pointer-events:none;transition:opacity .35s}
.nav .logo img{object-fit:contain}
.nav.osc .logo,.nav.clara .logo{opacity:1;pointer-events:auto}
.nav .der{justify-self:end;display:flex;align-items:center;gap:26px}
.nav nav{display:flex;gap:30px;font:500 14.5px/1 var(--fx)}
.nav nav a,.nav .acc-l{white-space:nowrap;font:500 14.5px/1 var(--fx);padding:8px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s}
.nav nav a:hover,.nav .acc-l:hover,.nav nav a.act,.nav .acc-l.act{background-size:100% 1px}
.nav .btn{height:44px;padding:0 22px}
.nav.clara{background:rgba(8,8,10,.66);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 1px 0 rgba(255,255,255,.09)}

/* ---- pie ---- */
.pie{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:34px var(--m);border-top:1px solid var(--hl2);font:500 13.5px/1 var(--fx);color:var(--b2);background:var(--ink)}
.pie img{width:150px;height:auto;opacity:.9}
.pie nav{display:flex;gap:28px;justify-content:center}.pie nav a:hover{color:#fff}
.pie>span{justify-self:end}

/* ---- cortina entre páginas ---- */
.cortina{position:fixed;inset:0;z-index:200;background:#0A0A0C;display:grid;place-items:center;transform:translateY(100%);pointer-events:none;will-change:transform}
.cortina svg{width:52px;height:auto;overflow:visible}
.cubre .cortina{transform:none}
.cortina.abre{animation:cAbre .95s var(--ease) .05s both}
.cortina.cierra{animation:cCierra .55s var(--ease) both}
@keyframes cAbre{from{transform:none}to{transform:translateY(-100%)}}
@keyframes cCierra{from{transform:translateY(100%)}to{transform:none}}

/* ---- revelados ---- */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--out),transform 1s var(--out);transition-delay:var(--d,0ms)}
.rv.on{opacity:1;transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .12em .12em .06em;margin:-.12em -.12em -.12em -.06em}
.w>span{display:inline-block;transform:translateY(140%);transition:transform 1.15s var(--out);transition-delay:calc(var(--i)*55ms + var(--d,0ms))}
.hd.on .w>span{transform:none}
html:not(.js) .rv,html:not(.js) .hd .w>span{opacity:1;transform:none}
.grano{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---- portada de página interior (misma gramática en todas: etiqueta, título, una línea) ---- */
.por{position:relative;min-height:max(100svh,700px);display:grid;align-items:end;overflow:hidden;color:#fff;background:var(--ink)}
.por>img.fd{position:absolute;inset:-3% 0 -3%;height:106%;object-fit:cover;filter:grayscale(.55) brightness(.8) contrast(1.05)}
.por .tinte{position:absolute;inset:0;background:#C2581C;mix-blend-mode:soft-light;opacity:.14}
.por .velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.55) 0,rgba(8,8,10,.2) 30%,rgba(8,8,10,.35) 60%,#08080A 100%)}
.por .in{position:relative;z-index:3;padding:calc(var(--nav) + 40px) var(--m) 72px}

@media (max-width:900px){
 :root{--m:22px;--nav:68px}
 .nav{grid-template-columns:auto 1fr;gap:16px}.nav .lema{display:none}.nav .logo{width:130px}.nav nav,.nav .acc-l{display:none}
 .pie{grid-template-columns:1fr;text-align:center}.pie>span{justify-self:center}.pie img{margin:0 auto}.pie nav{flex-wrap:wrap;gap:16px 24px}
}
@media (prefers-reduced-motion:reduce){.rv,.w>span{opacity:1;transform:none;transition:none}.cortina{display:none}}

/* ---- fondo vivo: fotografía real que respira (deriva lenta y fundido entre tomas); sustituye al fondo plano ---- */
.vivo{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--ink);pointer-events:none}
.vivo img{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;opacity:0;filter:brightness(.38) saturate(.7) contrast(1.05) blur(1.5px);transform:scale(1.04) translate3d(0,0,0);transition:opacity 3.2s ease}
.vivo img.on{opacity:1;animation:vderiva 38s ease-in-out infinite alternate}
@keyframes vderiva{from{transform:scale(1.04) translate3d(-1.2%,.6%,0)}to{transform:scale(1.14) translate3d(1.4%,-.9%,0)}}
.vivo::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,rgba(8,8,10,.1),rgba(8,8,10,.78))}
@media (prefers-reduced-motion:reduce){.vivo img.on{animation:none}}

/* ---- cambio de página sin telón: el contenido se retira, una línea naranja cruza la cabecera y el contenido nuevo aparece ---- */
.pg-ln{position:fixed;left:0;right:0;top:0;height:2px;z-index:210;background:var(--o);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.sale .pg-ln{transform:scaleX(1);transition:transform .42s var(--ease)}
.sale main,.sale .pie{opacity:0;transform:translateY(-18px);transition:opacity .32s ease,transform .42s var(--ease)}
.llega .pg-ln{transform:scaleX(1);transform-origin:100% 50%}
.llega main,.llega .pie{opacity:0}
.llega.ya .pg-ln{transform:scaleX(0);transition:transform .75s var(--ease) .1s}
.llega.ya main,.llega.ya .pie{opacity:1;transition:opacity .8s var(--out)}
/* si el script no llega a correr, el contenido aparece solo */
@keyframes aparece{to{opacity:1}}
.llega:not(.ya) main,.llega:not(.ya) .pie{animation:aparece .4s 1.8s forwards}
@media (prefers-reduced-motion:reduce){.pg-ln{display:none}.llega main,.llega .pie{opacity:1}}

/* ---- menú de teléfono: botón en la cabecera y hoja a pantalla completa con las páginas ---- */
/* cabecera en pantallas medianas: menos aire entre enlaces; más abajo se oculta el lema; desde 1100 px, menú */
@media (max-width:1400px){.nav nav{gap:22px}.nav .der{gap:20px}.nav{gap:28px}}
@media (max-width:1330px){.nav{grid-template-columns:auto 1fr}.nav .lema{display:none}}
.men,.mm{display:none}
@media (max-width:1100px){
 .nav{grid-template-columns:auto 1fr;gap:16px}.nav .lema,.nav nav,.nav .acc-l{display:none}
 .pie{grid-template-columns:1fr;text-align:center}.pie>span{justify-self:center}.pie img{margin:0 auto}.pie nav{flex-wrap:wrap;justify-content:center;gap:16px 24px}
 .nav .der{gap:10px}.nav.clara{background:rgba(8,8,10,.88)}
 .men{position:relative;display:block;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}
 .men i{position:absolute;left:13px;right:13px;top:50%;height:1.5px;margin-top:-.75px;background:#fff;transition:transform .35s var(--ease)}
 .men i:first-child{transform:translateY(-4px)}.men i:last-child{transform:translateY(4px)}
 .mm-on .men i:first-child{transform:rotate(45deg)}.mm-on .men i:last-child{transform:rotate(-45deg)}
 .mm{display:block;position:fixed;inset:0;z-index:49;padding:calc(var(--nav) + 30px) var(--m) 40px;background:rgba(8,8,10,.95);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow:auto;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
 .mm-on .mm{opacity:1;visibility:visible;transition-delay:0s}
 .mm nav{display:grid}
 .mm a{padding:19px 0;border-bottom:1px solid var(--hl);font:500 30px/1.1 var(--fx);letter-spacing:-.03em;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .5s var(--out),transform .6s var(--out);transition-delay:calc(var(--i)*45ms + 90ms)}
 .mm-on .mm a{opacity:1;transform:none}
 .mm a.act{color:var(--o)}
 html.mm-on{overflow:hidden}
 .mm-on .nav{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
 .mm-on .nav .logo{opacity:1;pointer-events:auto}
}
@media (prefers-reduced-motion:reduce){.mm,.mm a,.men i{transition:none}}

/* ---- páginas de texto legal ---- */
.lg{padding:calc(var(--nav) + 70px) var(--m) 110px;background:var(--ink)}
.lg-in{max-width:74ch}
.lg-in p,.lg-in li{font:400 16.5px/1.65 var(--fx);color:var(--b);text-wrap:pretty}
.lg-in p{margin-top:16px}
.lg-in .eb{margin-top:0;font:600 12.5px/1 var(--fx);color:var(--b)}
.lg-in .lg-f{margin-top:14px;font-size:14.5px;color:var(--b2)}
.lg-in h2{margin-top:46px;font:500 clamp(21px,1.7cqw,26px)/1.2 var(--fx);letter-spacing:-.025em;color:#fff}
.lg-in ul{margin-top:14px;display:grid;gap:10px;padding-left:20px;list-style:disc}
.lg-in li::marker{color:var(--o)}
.lg-in strong{font-weight:600;color:#fff}
.lg-in a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.lg{padding-top:calc(var(--nav) + 40px);padding-bottom:80px}}

/* tamaños: las etiquetas de sección y las notas se leían demasiado chicas (14 oct 2026) */
.eb{font-size:15px;letter-spacing:.2em}
.lg-in .eb{font-size:15px}
@media (max-width:900px){.eb{font-size:13.5px;letter-spacing:.18em}.lg-in .eb{font-size:13.5px}}
