/* ISIT Presentación · estilos de la portada (versión 1.0.0) */
:root{
  --night:#05183a; --deep:#0a2f6b; --blue:#1673e0; --cyan:#3cd2f5; --ink:#ffffff; --muted:rgba(226,238,255,.82); --line:rgba(255,255,255,.22);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --night:#041330; --deep:#082862; } }
:root[data-theme="dark"]{ --night:#041330; --deep:#082862; }
*,*::before,*::after{box-sizing:inherit}
html,body{height:100%;margin:0;overflow:hidden}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{font-family:"Plus Jakarta Sans",system-ui,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;
  background:radial-gradient(70% 60% at 68% 55%,rgba(40,120,230,.45),transparent 70%),radial-gradient(50% 50% at 10% 0%,rgba(20,90,200,.35),transparent 70%),linear-gradient(160deg,var(--deep) 0%,var(--night) 70%)}
a{color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:6px}
#cube{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}

/* Header */
.head{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top,0px);background:#fff;box-shadow:0 8px 28px rgba(3,16,45,.28)}
.top{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:1rem clamp(1.2rem,5vw,4rem)}
.top .support,.top .burger{justify-self:end}
.logo{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.logo{justify-self:start}
.logo b{font-weight:600;font-size:1.45rem;letter-spacing:.42em;margin-right:-.42em;background:linear-gradient(90deg,#0a4fae,#14a9dc);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:clamp(1.6rem,3.4vw,3.2rem);justify-content:center}
.nav a{text-decoration:none;font-size:.98rem;font-weight:500;color:#3c5677;padding:.6rem 0;border-bottom:1.5px solid transparent;transition:color .2s ease,border-color .2s ease}
.nav a:hover,.nav a[aria-current="true"]{color:#0a2f6b;border-bottom-color:#14a9dc}
.support{display:inline-flex;align-items:center;min-height:44px;padding:0 1.3rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.85);color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
.support:hover{background:#fff;color:var(--night)}
.top .support{background:#0a4fae;border-color:#0a4fae;color:#fff}
.top .support:hover{background:#083f8c;border-color:#083f8c;color:#fff}
.burger{display:none;width:46px;height:46px;border:0;background:none;color:#0a2f6b;cursor:pointer;padding:0}
.burger svg{width:26px;height:26px}
@media (max-width:1020px){.top{grid-template-columns:1fr auto}.nav,.top .support{display:none}.burger{display:grid;place-items:center}}

/* Menú móvil */
.menu{position:fixed;inset:0;z-index:30;background:rgba(4,19,48,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;padding:6rem 2rem 3rem;gap:.4rem;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.menu.open{opacity:1;visibility:visible}
.menu button.m{background:none;border:0;color:#fff;text-align:left;font:400 clamp(1.7rem,7vw,2.4rem)/1.25 "Plus Jakarta Sans",system-ui,sans-serif;padding:.45rem 0;cursor:pointer}
.menu .support{align-self:flex-start;margin-top:1.6rem}
.menu .close{position:absolute;top:calc(1.4rem + env(safe-area-inset-top,0px));right:1.2rem;width:46px;height:46px;border:0;background:none;color:#fff;cursor:pointer}

/* Diapositivas */
.deck{position:fixed;inset:0;z-index:5}
.slide{position:absolute;inset:0;display:flex;align-items:center;padding:6.5rem clamp(1.2rem,6vw,5.5rem) 6rem;max-width:1360px;margin:0 auto;visibility:hidden}
.slide.right{justify-content:flex-end}
.slide .in{max-width:34rem;width:100%}
.slide.wide .in{max-width:44rem}
#inicio .in{max-width:46rem}
#inicio p{max-width:34rem}
.slide .in > *{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.slide.on{visibility:visible}
.slide.on .in > *{opacity:1;transform:none}
.slide.on .in > *:nth-child(2){transition-delay:.08s}.slide.on .in > *:nth-child(3){transition-delay:.16s}
.slide.on .in > *:nth-child(4){transition-delay:.24s}.slide.on .in > *:nth-child(5){transition-delay:.32s}
.slide.leaving .in > *{opacity:0;transform:translateY(-20px);transition-duration:.45s;transition-delay:0s}

h1{margin:0 0 1.6rem;font-weight:800;font-size:clamp(2.6rem,5.4vw,5rem);line-height:1.02;letter-spacing:-.03em}
h1 small{display:block;margin-top:1rem;font-size:clamp(1.1rem,1.75vw,1.6rem);font-weight:600;letter-spacing:0;line-height:1.3;color:rgba(232,242,255,.92)}
h2{margin:0 0 1.4rem;font-weight:300;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.08;letter-spacing:-.01em}
.eyebrow{margin:0 0 .7rem;color:var(--cyan);font-weight:600;font-size:.82rem;letter-spacing:.2em}
p{margin:0 0 1.1rem;font-size:clamp(.98rem,1.15vw,1.08rem);line-height:1.75;color:var(--muted);font-weight:400}
p.strong{color:#fff;font-weight:500}
.cta{font-family:inherit;display:inline-flex;align-items:center;gap:.9rem;min-height:50px;padding:0 1.6rem;border-radius:999px;background:#fff;color:#0a2f6b;text-decoration:none;font-weight:500;font-size:1rem;border:0;cursor:pointer;margin-top:.8rem;transition:transform .2s ease,box-shadow .2s ease,background-color .25s ease,color .25s ease,border-color .25s ease}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(10,47,107,.45)}
.cta svg{width:22px;height:10px}
.cta.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.8)}
.cta.ghost:hover,.cta.ghost:focus-visible{background:#fff;color:#0a2f6b;border-color:#fff}
.row{display:flex;flex-wrap:wrap;gap:.9rem}

/* Misión y visión */
.mv{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.mv h3{margin:0 0 .2rem;font-weight:600;font-size:1.25rem;letter-spacing:.04em}
.mv .sub{margin:0 0 .9rem;color:var(--cyan);font-weight:600;font-size:.78rem;letter-spacing:.16em}

/* Valores */
.vals{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem}
.vals li{border-top:1px solid var(--line);padding-top:1rem}
.vals b{display:block;font-weight:600;font-size:1.12rem;margin-bottom:.35rem}
.vals span{color:var(--muted);font-size:.95rem;line-height:1.6}

/* Servicios */
.svc{list-style:none;margin:.3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 2.4rem}
.svc li{display:grid;grid-template-columns:2.2rem 1fr;align-items:start;gap:.8rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.svc svg{width:28px;height:28px;color:var(--cyan);margin-top:.15rem}
.svc b{display:block;font-weight:600;font-size:1.02rem}
.svc span{display:block;color:var(--muted);font-size:.9rem;line-height:1.5}



/* Pasos */
.steps{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:1.1rem;counter-reset:st}
.steps li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start;counter-increment:st}
.steps li::before{content:counter(st);display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;border:1.5px solid var(--cyan);color:#fff;font-weight:600}
.steps b{display:block;font-weight:600;font-size:1.05rem;margin-bottom:.15rem}
.steps span{color:var(--muted);font-size:.95rem;line-height:1.55}

/* Indicador de scroll */
.mouse{position:fixed;left:50%;bottom:calc(1.3rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:15;display:flex;flex-direction:column;align-items:center;gap:6px;padding:.4rem .8rem;border:0;background:none;color:rgba(255,255,255,.9);cursor:pointer;transition:opacity .4s ease,visibility .4s}
.mouse i{display:block;width:24px;height:38px;border:2px solid currentColor;border-radius:14px;position:relative}
.mouse i::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:currentColor;animation:wheel 1.6s ease-in-out infinite}
.mouse svg{width:14px;height:14px}
.mouse.hide{opacity:0;visibility:hidden}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.mouse i::after{animation:none}}

@media (max-width:760px){
  .slide,.slide.right{justify-content:flex-start;align-items:flex-end;padding:5.5rem 1.2rem 5.8rem}
  .slide .in,.slide.wide .in{max-width:none}
  .mv{grid-template-columns:1fr;gap:1.3rem}
  .vals{gap:1rem 1.2rem}
  .vals span{font-size:.86rem}
  .steps span{font-size:.88rem}
  .svc{grid-template-columns:1fr 1fr;gap:0 1rem}
  .svc li{grid-template-columns:1fr;gap:.3rem;padding:.6rem 0}
  .svc span{display:none}
  .svc svg{width:22px;height:22px}
    p{line-height:1.6}
}
@media (max-height:700px) and (min-width:761px){ .slide{padding-top:5.5rem;padding-bottom:4.5rem} h2{margin-bottom:.9rem} .svc li{padding:.6rem 0} }
@media (prefers-reduced-motion: reduce){ .slide .in > *{transition:opacity .2s linear;transform:none !important} }

.cta.plain:hover{transform:none;box-shadow:none;background:#fff;color:#0a2f6b}

/* Espacios para fotos (tratamiento azul ISIT) */
.slide.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.slide.split .in{justify-self:end}
.photo{margin:0;position:relative;width:100%;max-width:30rem;aspect-ratio:4/5;max-height:calc(100svh - 13rem);border-radius:26px;overflow:hidden;justify-self:start;
  background:linear-gradient(160deg,#1673e0 0%,#0a3f91 55%,#062a62 100%);box-shadow:0 30px 60px rgba(2,10,30,.45),inset 0 0 0 1px rgba(255,255,255,.18);
  opacity:0;transform:translateY(30px) scale(.97);transition:opacity .8s ease .1s,transform .9s cubic-bezier(.2,.7,.2,1) .1s}
.slide.on .photo{opacity:1;transform:none}
.slide.leaving .photo{opacity:0;transform:translateY(-16px);transition-duration:.45s;transition-delay:0s}
/* cuando haya foto real: <img> dentro de .photo y se tiñe sola de azul */
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:luminosity;opacity:.92}
.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,210,245,.18),rgba(5,24,58,.55));mix-blend-mode:multiply;pointer-events:none}
.photo::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:2rem;text-align:center;color:rgba(255,255,255,.9);z-index:1}
.ph svg{width:46px;height:46px;opacity:.85}
.ph b{font-weight:600;font-size:1.05rem}
.ph span{font-size:.88rem;line-height:1.5;color:rgba(226,238,255,.75);max-width:16rem}
@media (max-width:760px){.slide.split{display:flex}.photo{display:none}}
@media (prefers-reduced-motion: reduce){.photo{transition:opacity .2s linear;transform:none !important}}


/* Volver al inicio (solo en la última sección) */
.backtop{position:fixed;left:50%;bottom:calc(1.6rem + env(safe-area-inset-bottom,0px));transform:translate(-50%,12px);z-index:15;display:inline-flex;align-items:center;gap:.55rem;min-height:46px;padding:0 1.3rem 0 1rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.8);background:rgba(5,24,58,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font:500 .95rem "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .4s ease,transform .4s ease,visibility .4s,background-color .2s ease,color .2s ease}
.backtop svg{width:18px;height:18px}
.backtop.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.backtop:hover,.backtop:focus-visible{background:#fff;color:#0a2f6b}

/* Barra de administración de WordPress (solo visible con sesión iniciada) */
body.admin-bar .head{top:32px}
@media (max-width:782px){body.admin-bar .head{top:46px}}
