
/* Portada fusionada (03/11/2026): estilo elegido por Sarah (paleta A, tipografía Terminal,
   cabecera 1, foto 4, pie 3) con la estructura y los textos de su PDF «Inicio (web completa)». */
:root{
  --bg:#0E1C36;--sf:#142846;--fg:#FFFFFF;--mu:#A9B6CC;--ac:#23B3A3;--aci:#0E1C36;--dk:#081226;--dk2:#142846;--ln:rgba(255,255,255,.12);
  --fd:"Space Mono",ui-monospace,monospace;--fb:"Inter",system-ui,sans-serif;--fm:"Space Mono",ui-monospace,monospace;
  --px:48px;--py:110px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--fb);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{margin:0}
.D{font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:-.04em;line-height:1.02}
.D em{font-style:normal;color:var(--ac)}
.M{font-family:var(--fm);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
/* botones: el relleno sube al pasar el ratón (como en Tirant Milles) */
.bt{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:8px;background:var(--ac);color:var(--aci);font:700 13px/1.2 var(--fm);letter-spacing:.02em;text-transform:uppercase;padding:14px 22px;white-space:nowrap;transition:color .4s cubic-bezier(.7,0,.2,1),border-color .4s}
.bt::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateY(101%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.bt:hover::before{transform:translateY(0)}
.bt.o{background:none;color:#fff;border:1.5px solid currentColor}
.bt.o::before{background:var(--ac)}
.bt.o:hover{color:var(--aci);border-color:var(--ac)}
.bt.n{background:var(--aci);color:var(--ac)}
section[id],footer[id]{scroll-margin-top:80px}
/* palabras de los títulos: suben desde una máscara */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em 0 .1em;margin:-.14em 0 -.1em}
.w>span{display:inline-block}

/* pantalla de carga, barra de progreso y cursor */
.ld{position:fixed;inset:0;z-index:100;background:var(--dk);display:grid;place-content:center;justify-items:center;gap:20px;color:#fff}
.ld b{font:700 clamp(64px,10vw,128px)/1 var(--fd);letter-spacing:-.05em}
.ld .M{color:var(--ac)}
.ld i{display:block;width:min(320px,70vw);height:2px;background:var(--ln);position:relative;overflow:hidden}
.ld i::after{content:"";position:absolute;inset:0;background:var(--ac);transform:scaleX(var(--p,0));transform-origin:left}
html:not(.js) .ld,html.ld-off .ld{display:none}
.prog{position:fixed;left:0;top:0;right:0;height:2px;z-index:60;background:var(--ac);transform:scaleX(0);transform-origin:left;pointer-events:none}
.cur{position:fixed;left:0;top:0;z-index:90;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #fff;border-radius:50%;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:width .35s,height .35s,margin .35s,background-color .35s,opacity .3s}
.cur.on{opacity:1}
.cur.big{width:72px;height:72px;margin:-36px 0 0 -36px;background:#fff}
@media (hover:none),(pointer:coarse){.cur{display:none}}

/* logo */
.wm{display:inline-flex;align-items:center;gap:10px;color:#fff;line-height:1}
.wm svg{width:30px;height:26px;flex:none;fill:#23B3A3}
.wm .wt{display:grid;gap:4px}
.wm b{font:800 21px/1 "Montserrat",sans-serif;letter-spacing:.01em}
.wm i{font:600 8.4px/1 "Montserrat",sans-serif;letter-spacing:.46em;color:#23B3A3;font-style:normal}
.lang{font-family:var(--fm);font-size:12px;letter-spacing:.1em;white-space:nowrap}
.lang b{color:var(--ac)}

/* títulos de sección */
.tt{display:grid;gap:14px;margin-bottom:44px;max-width:900px}
.tt .M{color:var(--ac)}
.tt h2{font-size:clamp(28px,3.6vw,46px)}
.tt p{color:var(--mu);font-size:17px;margin:0;max-width:44em}

/* cabecera 1: transparente sobre la foto */
.hd1{position:fixed;inset:0 0 auto;z-index:50;color:#fff;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,0));border-bottom:1px solid transparent;transition:transform .5s cubic-bezier(.7,0,.2,1),border-color .4s}
.hd1.sc{background:rgba(8,18,38,.84);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--ln)}
.hd1.up{transform:translateY(-100%)}
.hd1 .in{display:flex;align-items:center;gap:40px;padding:26px var(--px);transition:padding .4s}
.hd1.sc .in{padding-top:14px;padding-bottom:14px}
.hd1 nav{display:flex;gap:28px;font-size:15px;font-weight:500;margin-left:auto}
.hd1 nav a{position:relative;padding:4px 0;transition:color .3s}
.hd1 nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--ac);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.hd1 nav a:hover::after,.hd1 nav a.on::after{transform:scaleX(1);transform-origin:left}
.hd1 nav a.on{color:var(--ac)}
.hd1 .r{display:flex;align-items:center;gap:22px}
.hd1 .bt{padding:11px 18px;font-size:12px}
.burger{display:none;background:none;border:0;color:#fff;padding:8px;cursor:pointer}
.burger i{display:block;width:22px;height:2px;background:currentColor;box-shadow:0 -7px 0 currentColor,0 7px 0 currentColor}

/* portada */
.sh{position:relative;overflow:hidden;min-height:min(860px,100svh);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:#081226;isolation:isolate}
.sh .bgi{position:absolute;inset:-6% 0;z-index:-2;background:url("/media/portada-avion-altura.webp") 65% center/cover no-repeat;will-change:transform}
/* red de datos: nodos que se mueven y se unen con el ratón (canvas) */
.sh .net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;-webkit-mask:linear-gradient(90deg,#000,rgba(0,0,0,.6) 60%,rgba(0,0,0,.3));mask:linear-gradient(90deg,#000,rgba(0,0,0,.6) 60%,rgba(0,0,0,.3))}
.sh.on-net::after{display:none}
/* panel de datos flotante: tarjetas de cristal con gráficos de sus proyectos demo */
.dash{position:absolute;right:calc(var(--px) + 12px);top:262px;width:clamp(400px,33vw,500px);display:none;perspective:1200px;pointer-events:none}
@media (min-width:1180px){.dash{display:block}.sh p{max-width:32em}}
.gc{position:absolute;background:linear-gradient(160deg,rgba(32,62,104,.55),rgba(12,26,52,.6));border:1px solid rgba(255,255,255,.15);border-radius:14px;-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 30px 60px -24px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.1);padding:16px 18px;color:#fff}
.gc .gh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:12px}
.gc .gh .M{font-size:10px;letter-spacing:.12em;color:var(--mu)}
.gc .kv{font:700 20px/1 var(--fd);letter-spacing:-.04em}
.gc svg{overflow:visible}
.dash .cov{background:none}
.dash .vl{stroke:rgba(255,255,255,.3);stroke-dasharray:3 4}
.dash .pt{transform-box:fill-box;transform-origin:center;animation:pt 1.8s ease-in-out infinite}
@keyframes pt{50%{transform:scale(1.8)}}
.gc .ax{display:flex;margin-top:8px;font:400 9.5px/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.gc .ax span:first-child{width:64%}
.gc .ax span:last-child{white-space:nowrap}
.ga{position:relative;z-index:1}
.sh::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,18,38,.97) 0%,rgba(8,18,38,.93) 36%,rgba(8,18,38,.6) 58%,rgba(4,8,18,.08) 86%),linear-gradient(0deg,rgba(4,8,18,.8),rgba(4,8,18,0) 45%)}
.sh::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,rgba(255,255,255,.35) 1px,transparent 1.4px) 0 0/24px 24px;-webkit-mask:linear-gradient(90deg,#000 0%,transparent 55%);mask:linear-gradient(90deg,#000 0%,transparent 55%);opacity:.5}
.sh .in{padding:140px var(--px) 52px;max-width:1100px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
/* etiqueta de la portada: línea turquesa + texto en mono, sin cápsula */
.chip{display:inline-flex;align-items:center;gap:14px;justify-self:start;color:var(--ac)}
.chip i{flex:none;width:40px;height:1.5px;background:var(--ac);transform-origin:left}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(35,179,163,.7)}70%{box-shadow:0 0 0 11px rgba(35,179,163,0)}100%{box-shadow:0 0 0 0 rgba(35,179,163,0)}}
.sh h1{font-size:clamp(32px,4.6vw,62px);line-height:1.14;max-width:15ch}
.sh p{font-size:19px;max-width:36em;color:rgba(255,255,255,.88);margin:0}
.sh .row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;margin-top:10px}
.sh .row .bt{padding:18px 30px}
.sh .row .tl{font-weight:500;font-size:16px;color:#fff;transition:color .3s}
.sh .row .tl:hover{color:var(--ac)}
.sh .pl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:0 var(--px)}
.sh .pl::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.22);transform:scaleX(var(--d,1));transform-origin:left}
.sh .pl span{padding:18px 18px 26px 0;font-size:14px;color:rgba(255,255,255,.88);display:grid;gap:4px}
.sh .pl b{font:400 12px/1 var(--fm);letter-spacing:.12em;color:var(--ac)}

/* franja de diagnóstico gratuito, justo debajo de la portada */
.g3{background:var(--sf);border-bottom:1px solid var(--ln);padding:26px var(--px)}
.g3 .in{display:flex;align-items:center;gap:28px}
.g3 .ico{flex:none;width:58px;height:58px;border:1.5px solid var(--ac);display:grid;place-items:center}
.g3 .ico svg{width:30px;height:30px;stroke:var(--ac);fill:none;stroke-width:2}
.g3 .tx{display:grid;gap:4px}
.g3 .tx .M{color:var(--ac)}
.g3 .tx strong{font:700 24px/1.08 var(--fd);text-transform:uppercase;letter-spacing:-.04em}
.g3 .tx span{color:var(--mu);font-size:15px}
.g3 .lk{margin-left:auto;font:700 12px/1 var(--fm);letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ac);padding-bottom:4px;white-space:nowrap;transition:color .3s,letter-spacing .4s}
.g3 .lk:hover{color:var(--ac);letter-spacing:.12em}

/* pilares */
.ss{padding:var(--py) var(--px)}
/* las tarjetas se quedan pegadas arriba y se apilan una encima de otra */
.cards{display:grid;grid-template-columns:1fr;gap:22px}
.card{--dim:0;position:sticky;top:calc(100px + var(--i,0) * 22px);background:linear-gradient(135deg,#1b355d,var(--sf) 60%);border:1px solid var(--ln);border-radius:18px;padding:40px 44px;display:grid;grid-template-columns:200px 1fr;column-gap:40px;row-gap:12px;align-content:center;min-height:250px;overflow:hidden;transform-origin:50% 0;box-shadow:0 -24px 50px -24px rgba(0,0,0,.55);transition:border-color .4s}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#050b17;opacity:var(--dim);pointer-events:none}
/* luz que sigue al ratón dentro de la tarjeta */
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--x,50%) var(--y,0%),rgba(35,179,163,.2),transparent 45%);opacity:0;transition:opacity .4s}
.card>*{position:relative}
.card:hover{border-color:rgba(35,179,163,.55)}
.card:hover::before{opacity:1}
.card .n{grid-column:1;grid-row:1/4;font:700 88px/.85 var(--fd);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(35,179,163,.6);transition:color .5s}
.card:hover .n{color:var(--ac)}
.card h3,.card p{grid-column:2}
.card h3{font-size:clamp(22px,2.4vw,32px);margin-top:6px}
.card p{color:var(--mu);font-size:17px;margin:0;max-width:40em}

/* tarifas */
.st{padding:var(--py) var(--px);background:var(--dk)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan{background:var(--sf);border:1px solid var(--ln);padding:32px 28px;display:grid;gap:14px;align-content:start;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s}
.plan:hover{transform:translateY(-6px);border-color:rgba(35,179,163,.5)}
/* el plan B lleva un borde de luz que gira */
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.plan.hi{border:2px solid transparent;background:linear-gradient(var(--sf),var(--sf)) padding-box,conic-gradient(from var(--a),rgba(35,179,163,.3),var(--ac) 16%,rgba(35,179,163,.3) 34%) border-box;box-shadow:0 30px 60px -30px rgba(35,179,163,.45);animation:spin 5s linear infinite}
.plan.hi:hover{border-color:transparent}
@keyframes spin{to{--a:360deg}}
.plan .M{color:var(--ac);font-size:11px}
.plan h3{font-size:20px;min-height:2.1em}
.plan .pr{font:700 clamp(32px,3.3vw,42px)/1 var(--fd);letter-spacing:-.05em}
.plan .pz{font-family:var(--fm);font-size:13px;color:var(--mu);border-bottom:1px solid var(--ln);padding-bottom:16px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.plan li{display:flex;gap:10px;font-size:15px;color:#DCE3EF}
.plan li::before{content:"→";color:var(--ac);font-family:var(--fm);flex:none}
.st .after{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:18px;color:var(--mu);font-size:15px}

/* ciclo de 7 días: banda de color */
.sm7{background:var(--ac);color:var(--aci);padding:96px var(--px)}
.sm7 .top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px}
.sm7 .top .M{display:block;margin-bottom:14px;opacity:.75}
.sm7 h2{font-size:clamp(28px,3.6vw,48px);max-width:14em}
.sm7 h2 em{color:#fff}
.sm7 ol{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}
.sm7 ol::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--aci);transform:scaleX(var(--d,1));transform-origin:left}
.sm7 li{position:relative;padding:22px 22px 0 0;display:grid;gap:8px;align-content:start;font-size:15px}
.sm7 li::before{content:"";position:absolute;left:0;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--aci);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
/* al bajar, cada día se enciende sobre la línea */
html.mo .sm7 li{opacity:.3;transition:opacity .6s}
html.mo .sm7 li.on{opacity:1}
.sm7 li.on::before{transform:scale(1.6);box-shadow:0 0 0 4px rgba(255,255,255,.5)}
.sm7 .dd{font:700 clamp(34px,4.2vw,62px)/.9 var(--fd);letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px var(--aci)}
.sm7.pinned{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.sm7 li b{font:700 13px/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.sm7 li strong{font:700 22px/1.05 var(--fd);text-transform:uppercase;letter-spacing:-.03em}

/* proyectos demo */
/* en ordenador la sección se queda fija y las tarjetas pasan en horizontal; en móvil se deslizan con el dedo */
.se .se-in{padding:var(--py) 0}
.se.pinned .se-in{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:84px 0 40px}
.se .hd2{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:0 var(--px)}
.se .tt{margin-bottom:16px}
.se .ctr{flex:none;display:grid;gap:12px;justify-items:end;margin-bottom:22px}
.se .ctr b{font:700 34px/1 var(--fd);letter-spacing:-.05em}
.se .ctr small{font-size:18px;color:var(--mu);letter-spacing:0}
.se .bar{display:block;width:200px;height:2px;background:var(--ln);position:relative}
.se .bar::after{content:"";position:absolute;inset:0;background:var(--ac);transform:scaleX(var(--p,0));transform-origin:left}
.se .sw{display:none;color:var(--mu);padding:14px var(--px) 0}
.note{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);margin:0 0 26px;padding:0 var(--px)}
.pj-wrap{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--px);scrollbar-width:none;padding:10px 0;margin-top:-10px}
.pj-wrap::-webkit-scrollbar{display:none}
.se.pinned .pj-wrap{overflow:hidden}
.pj{display:flex;gap:22px;padding:0 var(--px);width:max-content}
.pj article{flex:0 0 clamp(300px,27vw,420px);scroll-snap-align:start}
.pj .end{flex:0 0 clamp(280px,24vw,360px);scroll-snap-align:start;display:grid;align-content:space-between;gap:28px;padding:32px 28px;background:var(--ac);color:var(--aci)}
.pj .end .M{opacity:.75}
.pj .end strong{font-size:clamp(24px,2.2vw,32px)}
.pj .end .bt{justify-self:start}
.pj article{background:var(--sf);border:1px solid var(--ln);display:grid;grid-template-rows:auto 1fr;overflow:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s}
.pj article:hover{transform:translateY(-6px);border-color:rgba(35,179,163,.55)}
.pj .cov{transition:filter .5s}
.pj article:hover .cov{filter:brightness(1.3)}
.pj .tx{padding:22px;display:grid;gap:10px;align-content:start}
.stag{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac)}
.pj h3{font-size:17px;line-height:1.12}
.pj .big{font:700 24px/1 var(--fd);letter-spacing:-.05em;color:#fff;margin-top:4px}
.pj p{color:var(--mu);font-size:14px;margin:0}
.pj .read{font:700 11px/1 var(--fm);letter-spacing:.06em;text-transform:uppercase;margin-top:6px}
.pj .read::after{content:"→";display:inline-block;margin-left:6px;color:var(--ac);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pj article:hover .read::after{transform:translateX(6px)}
.cov{display:block;width:100%;height:auto;background:#081226}
.cov .gl{stroke:rgba(255,255,255,.08)}
.cov .ln1{fill:none;stroke:#23B3A3;stroke-width:3}
.cov .ln2{fill:none;stroke:#A9B6CC;stroke-width:2;stroke-dasharray:6 6}
.cov .ar{fill:rgba(35,179,163,.16)}
.cov .br{fill:rgba(169,182,204,.4)}
.cov .hi{fill:#23B3A3}
.cov .c2{fill:#A9B6CC}
.cov .c3{fill:none;stroke:#23B3A3;stroke-width:2}


/* sobre nosotros: foto y cifras */
.sa{padding:var(--py) var(--px)}
.sa .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.sa .M{color:var(--ac)}
.sa h2{font-size:clamp(22px,2.6vw,34px);font-weight:400;line-height:1.18;margin:14px 0 18px}
.sa .lead p{color:var(--mu);font-size:17px;margin:0 0 30px;max-width:38em}
.nums{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nums div{border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.02);padding:26px 24px;display:grid;gap:10px;align-content:start}
.nums b{font:700 38px/1 var(--fd);letter-spacing:-.05em;color:var(--ac)}
.nums span{color:var(--mu);font-size:15px}
.vals{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.02);padding:22px 0}
.vals div{padding:0 20px;border-left:1px solid rgba(255,255,255,.16)}
.vals div:first-child{border-left:0}
.vals strong{display:flex;align-items:center;gap:8px;font:600 15px/1 var(--fb);text-transform:uppercase;letter-spacing:.02em}
.vals svg{width:18px;height:18px;fill:none;stroke:var(--ac);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vals p{margin:12px 0 0;color:var(--mu);font-size:14px;line-height:1.45}

/* pie 3: formulario al final, sin nombre gigante */
.ft3 .cta{background:var(--sf);border-top:1px solid var(--ln);padding:96px var(--px);display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.ft3 .cta h2{font-size:clamp(28px,3.4vw,44px);margin:0 0 16px}
.ft3 .cta p{color:var(--mu);font-size:18px;margin:0 0 22px}
.ft3 .mail{display:inline-block;font:700 15px/1 var(--fm);color:var(--ac);border-bottom:2px solid var(--ac);padding-bottom:5px;word-break:break-all;transition:color .3s}
.ft3 .mail:hover{color:#fff}
.ft3 .links{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;font-size:14px;color:var(--mu)}
.ft3 .links a{transition:color .3s}
.ft3 .links a:hover{color:#fff}
.ft3 form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ft3 label{display:grid;gap:6px;font:400 11px/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.ft3 label.w{grid-column:1/-1}
.ft3 input,.ft3 textarea{width:100%;background:var(--bg);border:1px solid var(--ln);padding:14px 16px;font:15px/1.4 var(--fb);color:#fff;border-radius:0;transition:border-color .3s,background-color .3s}
.ft3 input:hover,.ft3 textarea:hover{border-color:rgba(35,179,163,.5)}
.ft3 textarea{height:110px;resize:vertical}
.ft3 input:focus,.ft3 textarea:focus{outline:2px solid var(--ac);outline-offset:-1px}
.ft3 form .bt{justify-self:start;border:0;cursor:pointer}
.ft3 .ftn{background:var(--dk);border-top:1px solid var(--ln);padding:56px var(--px) 24px;display:grid;grid-template-columns:2fr;grid-auto-flow:column;grid-auto-columns:1fr;gap:40px}.ft3 .ftn div{display:block}.ft3 .ftn div:first-child{columns:2;column-gap:32px}.ft3 .ftn .M{display:block;column-span:all;font:400 11px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--ac);margin:0 0 18px}.ft3 .ftn a{display:block;break-inside:avoid;font-size:14px;line-height:1.4;color:var(--mu);margin:0 0 10px;transition:color .3s}.ft3 .ftn a:hover{color:#fff}
.ft3 .strip{background:var(--dk);padding:24px var(--px);display:flex;align-items:center;gap:28px}
.ft3 .legal{margin-left:auto;display:flex;flex-wrap:wrap;gap:24px;font-size:13px;color:var(--mu)}
.ft3 .legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}.ft3 .legal a:hover{color:var(--fg)}
.ft3 .lang b{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* frase manifiesto: se ilumina palabra a palabra al bajar */
.mf{position:relative;padding:clamp(120px,15vw,210px) var(--px)}
.mf p{margin:0;max-width:1080px;font-size:clamp(21px,2.9vw,42px);font-weight:400;line-height:1.34;letter-spacing:-.03em;color:#E2E8F0}
.mf .M{display:block;margin-top:36px;color:var(--ac)}

/* fondo técnico: rejilla de plano, halos de color y grano */
.ss,.se,.sa,.mf{background:radial-gradient(760px circle at 6% 0%,rgba(35,179,163,.14),transparent 60%),radial-gradient(640px circle at 100% 100%,rgba(35,179,163,.08),transparent 60%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/80px 80px,var(--bg)}
.st{background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/80px 80px,var(--dk)}
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.06;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/180px 180px}

/* palabras gigantes en contorno detrás de cada sección */
.bgw{position:absolute;z-index:0;top:24px;right:-.04em;font:700 clamp(110px,19vw,300px)/.8 var(--fd);letter-spacing:-.07em;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.075);pointer-events:none;user-select:none}
.sm7 .bgw{top:auto;bottom:-6px;-webkit-text-stroke-color:rgba(14,28,54,.2)}
.ss,.st,.sm7,.se,.sa{position:relative;overflow-x:clip}
.ss>:not(.bgw),.st>:not(.bgw),.sm7>:not(.bgw),.se>:not(.bgw),.sa>:not(.bgw){position:relative;z-index:1}


/* tableta: el menú pasa a la hamburguesa */
@media (max-width:1100px){
  .hd1 nav,.hd1 .lang{display:none}
  .burger{display:inline-block}
  .hd1 .r{margin-left:auto}
  .hd1.open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--dk);padding:8px var(--px) 18px;margin:0}
  .hd1.open{background:var(--dk)}
  .hd1.open nav a{padding:14px 0;border-bottom:1px solid var(--ln)}
  .hd1.open nav a::after{display:none}
  .card{grid-template-columns:120px 1fr;column-gap:28px}
  .card .n{font-size:64px}
  .sm7 li{padding-right:14px}
  .sm7 li strong{font-size:18px}
  .sa .grid{grid-template-columns:1fr;gap:44px}
}
/* móvil */
@media (max-width:820px){
  :root{--px:18px;--py:64px}
  .hd1 .bt{display:none}
  .hd1 .in{padding:18px var(--px);justify-content:space-between}
  .wm b{font-size:17px}.wm i{font-size:6.8px}.wm svg{width:24px;height:21px}
  .sh{min-height:auto}
  .sh .bgi{background-position:70% center}
  .sh::before{background:linear-gradient(0deg,rgba(4,8,18,.94) 18%,rgba(4,8,18,.5) 62%,rgba(4,8,18,.15))}
  .sh .in{padding:120px var(--px) 30px;gap:18px}
  .chip{font-size:10px;letter-spacing:.06em;max-width:100%}
  .sh p{font-size:16px}
  .sh .row{flex-direction:column;align-items:stretch;gap:16px}
  .sh .row .tl{text-align:center}
  .sh .row .bt{justify-content:center;white-space:normal;text-align:center}
  .sh .pl{grid-template-columns:1fr 1fr;margin:0 var(--px)}
  .sh .pl span{padding:12px 10px 16px 0;font-size:13px}
  .g3 .in{flex-wrap:wrap;gap:16px}
  .g3 .ico{width:46px;height:46px}
  .g3 .tx{flex:1 1 220px;min-width:0}
  .g3 .tx strong{font-size:19px}
  .g3 .lk{margin-left:0}
  .tt{margin-bottom:28px}
  .tt p{font-size:16px}
  .plans{grid-template-columns:1fr}
  .card{min-height:0;padding:26px 22px;grid-template-columns:1fr;top:calc(74px + var(--i,0) * 14px)}
  .card .n,.card h3,.card p{grid-column:1;grid-row:auto}
  .card .n{font-size:44px}
  .card p{font-size:15px}
  .plan h3{min-height:0}
  .sm7{padding:64px var(--px)}
  .sm7 .top{flex-direction:column;align-items:flex-start;margin-bottom:30px}
  .sm7 ol{grid-template-columns:1fr;row-gap:0}
  .sm7 li{padding:18px 0;border-bottom:1px solid rgba(14,28,54,.25)}
  .sm7 ol{padding-left:28px}
  .sm7 ol::before{left:4px;right:auto;top:0;bottom:0;width:2px;height:auto;transform:scaleY(var(--d,1));transform-origin:top}
  .sm7 li::before{left:-28px;top:22px}
  .sm7 .dd{font-size:34px}
  .note{margin:0 0 18px}
  .se .hd2{display:block}
  .se .ctr{display:none}
  .se .sw{display:block}
  .pj{gap:14px}
  .pj article{flex-basis:80vw}
  .pj .end{flex-basis:72vw}
  .mf p{font-size:19px}
  .sa .grid{grid-template-columns:1fr;gap:34px}
  .vals{grid-template-columns:1fr;padding:0}
  .vals div{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:18px 16px}
  .vals div:first-child{border-top:0}
  .nums div{padding:20px 16px}
  .nums b{font-size:30px}
  .ft3 .cta{grid-template-columns:1fr;gap:30px;padding:56px var(--px)}
  .ft3 form{grid-template-columns:1fr}
  .ft3 .ftn{grid-template-columns:1fr;grid-auto-flow:row;gap:28px;padding:40px var(--px) 12px}
  .ft3 .strip{flex-direction:column;align-items:flex-start;gap:14px}
  .ft3 .legal{margin-left:0;flex-direction:column;gap:6px}
}
@media (prefers-reduced-motion:reduce){
  .chip i,.plan.hi,.dash .pt{animation:none}
  .bt::before,.hd1 nav a::after{transition:none}
}

/* ===== páginas interiores (Fase 1, 04/11/2026) ===== */
.pg-in{max-width:1180px;margin:0 auto;padding:0 var(--px)}
.pg-h{position:relative;overflow:hidden;isolation:isolate;padding:170px 0 64px;background:#081226}
.pg-h .bgi{position:absolute;inset:0;z-index:-2;background:url("/media/portada-avion-altura.webp") 70% center/cover no-repeat;opacity:.55}
@media (max-width:800px){.pg-h .bgi{background-image:url("/media/portada-avion-altura-800.webp")}}
.pg-h::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,18,38,.97) 0%,rgba(8,18,38,.92) 45%,rgba(8,18,38,.55) 80%),linear-gradient(0deg,rgba(14,28,54,1),rgba(14,28,54,0) 40%)}
.pg-h .pg-in{display:grid;gap:20px}
.pg-h .M{color:var(--ac)}
.pg-h h1{font-size:clamp(30px,4.4vw,58px);line-height:1.1;max-width:20ch}
.pg-h .lead{font-size:19px;color:rgba(255,255,255,.88);margin:0;max-width:40em}
.pg-h .row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;margin-top:6px}
.pg-h .row .bt{padding:17px 28px}
.tl{font-weight:500;font-size:16px;color:#fff;transition:color .3s}
.tl:hover{color:var(--ac)}
.pg-crumbs{display:flex;flex-wrap:wrap;gap:8px;font:400 12px/1.4 var(--fm);letter-spacing:.06em;color:var(--mu)}
.pg-crumbs a:hover{color:#fff}
.pg-crumbs [aria-current]{color:#fff}
.pg-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-top:1px solid rgba(255,255,255,.22)}
.pg-facts span{padding:16px 16px 0 0;font-size:14px;color:rgba(255,255,255,.88);display:grid;gap:4px}
.pg-facts b{font:400 12px/1.2 var(--fm);letter-spacing:.1em;color:var(--ac);text-transform:uppercase}
.pg-s{padding:var(--py) 0;position:relative;background:radial-gradient(700px circle at 0% 0%,rgba(35,179,163,.08),transparent 60%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/80px 80px,var(--bg)}
.pg-s.alt{background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/80px 80px,var(--dk)}
.pg-s .M{color:var(--ac);display:block;margin-bottom:14px}
.pg-s h2{font-size:clamp(26px,3.2vw,42px);line-height:1.1;max-width:24ch;margin-bottom:22px}
.pg-intro{color:var(--mu);font-size:17px;margin:0 0 34px;max-width:46em}
.pg-prose{max-width:860px}
.pg-prose p{color:rgba(255,255,255,.86);font-size:17px;margin:0 0 18px}
.pg-prose a,.pg-intro a,.pg-faq a,.pg-card p a{color:var(--ac);border-bottom:1px solid rgba(35,179,163,.5)}
.pg-prose a:hover,.pg-intro a:hover,.pg-faq a:hover{color:#fff}
.pg-ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:10px}
.pg-ul li{position:relative;padding-left:26px;color:rgba(255,255,255,.86);font-size:16px}
.pg-ul li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:2px;background:var(--ac)}
.pg-cards{display:grid;gap:14px}
.pg-cards.c3{grid-template-columns:repeat(3,1fr)}
.pg-cards.c2{grid-template-columns:repeat(2,1fr)}
.pg-card{border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.025);padding:26px 24px;display:grid;gap:10px;align-content:start;transition:border-color .3s,background-color .3s}
.pg-card:hover{border-color:rgba(35,179,163,.55);background:rgba(35,179,163,.05)}
.pg-card .n{font:700 13px/1 var(--fm);color:var(--ac)}
.pg-card h3{font:700 18px/1.2 var(--fd);text-transform:uppercase;letter-spacing:-.03em}
.pg-card h3 a:hover{color:var(--ac)}
.pg-card p{margin:0;color:var(--mu);font-size:15px}
.pg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ac)}
.pg-steps li{padding:22px 18px 0 0;display:grid;gap:8px;align-content:start}
.pg-steps b{font:400 12px/1 var(--fm);letter-spacing:.1em;color:var(--ac);text-transform:uppercase}
.pg-steps strong{font:700 18px/1.15 var(--fd);text-transform:uppercase;letter-spacing:-.03em}
.pg-steps span{color:var(--mu);font-size:15px}
.pg-plan-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pg-plan{border:2px solid var(--ac);border-radius:14px;background:var(--sf);padding:34px 32px;display:grid;gap:14px;box-shadow:0 30px 60px -30px rgba(35,179,163,.45)}
.pg-plan h3{font:700 22px/1.15 var(--fd);text-transform:uppercase;letter-spacing:-.03em}
.pg-plan .pr{display:flex;align-items:baseline;gap:16px;margin:0}
.pg-plan .pr b{font:700 34px/1 var(--fd);letter-spacing:-.05em;color:var(--ac)}
.pg-plan .pr span{color:var(--mu);font-size:14px}
.pg-plan ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.pg-plan li{position:relative;padding-left:24px;font-size:15px;color:rgba(255,255,255,.88)}
.pg-plan li::before{content:"✓";position:absolute;left:0;color:var(--ac)}
.pg-plan .bt{justify-self:start;margin-top:6px}
.pg-lk{display:inline-block;color:var(--ac);font-weight:600;border-bottom:1.5px solid var(--ac);padding-bottom:5px}
.pg-lk:hover{color:#fff}
.pg-demos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.pg-demo{border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.025);padding:24px;display:grid;gap:10px;align-content:start}
.pg-demo .tag{justify-self:start;font:400 10.5px/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--aci);background:var(--ac);padding:6px 9px;border-radius:4px}
.pg-demo .M{margin:0;color:var(--mu)}
.pg-demo h3{font:700 17px/1.2 var(--fd);text-transform:uppercase;letter-spacing:-.03em}
.pg-demo .big{font:700 21px/1 var(--fd);letter-spacing:-.04em;color:var(--ac)}
.pg-demo p{margin:0;color:var(--mu);font-size:15px}
.pg-tw{overflow-x:auto;border:1px solid rgba(255,255,255,.14);border-radius:12px}
.pg-table{width:100%;border-collapse:collapse;font-size:15px;min-width:620px}
.pg-table th,.pg-table td{text-align:left;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:top}
.pg-table thead th{font:400 11px/1.3 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--ac);background:rgba(255,255,255,.03)}
.pg-table tbody th{font-weight:600;color:#fff}
.pg-table td{color:var(--mu)}
.pg-table tr:last-child>*{border-bottom:0}
.pg-faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.pg-faq details{border-top:1px solid rgba(255,255,255,.14);padding:20px 0}
.pg-faq details:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.pg-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:600 17px/1.35 var(--fb)}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary::after{content:"+";font:400 22px/1 var(--fm);color:var(--ac);transition:transform .3s}
.pg-faq details[open] summary::after{transform:rotate(45deg)}
.pg-faq p{margin:14px 0 0;color:var(--mu);font-size:16px;max-width:42em}
.pg-rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.pg-rel a{position:relative;display:grid;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:24px 56px 24px 24px;transition:border-color .3s,background-color .3s}
.pg-rel a:hover{border-color:var(--ac);background:rgba(35,179,163,.06)}
.pg-rel .M{margin:0;color:var(--mu)}
.pg-rel strong{font:700 18px/1.2 var(--fd);text-transform:uppercase;letter-spacing:-.03em}
.pg-rel .ar{position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--ac);font-size:20px;transition:transform .3s}
.pg-rel a:hover .ar{transform:translate(4px,-50%)}
.pg-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.pg-dl{margin:0;display:grid}
.pg-dl div{padding:18px 0;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:6px}
.pg-dl div:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.pg-dl dt{font:700 15px/1.2 var(--fd);text-transform:uppercase;letter-spacing:-.02em}
.pg-dl dd{margin:0;color:var(--mu);font-size:15px}
.pg-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pg-nums div{border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.02);padding:24px 22px;display:grid;gap:10px;align-content:start}
.pg-nums b{font:700 34px/1 var(--fd);letter-spacing:-.05em;color:var(--ac)}
.pg-nums span{color:var(--mu);font-size:15px}
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
@media (max-width:1100px){
  .pg-cards.c3{grid-template-columns:repeat(2,1fr)}
  .pg-steps{grid-template-columns:repeat(2,1fr);border-top:0}
  .pg-steps li{border-top:2px solid var(--ac);padding-bottom:18px}
  .pg-plan-wrap,.pg-faq-wrap,.pg-split{grid-template-columns:1fr;gap:36px}
  .pg-nums{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .pg-h{padding:120px 0 44px}
  .pg-h .lead{font-size:16px}
  .pg-h .row{flex-direction:column;align-items:stretch;gap:16px}
  .pg-h .row .bt{justify-content:center;white-space:normal;text-align:center}
  .pg-h .row .tl{text-align:center}
  .pg-facts{grid-template-columns:1fr 1fr}
  .pg-cards.c3,.pg-cards.c2{grid-template-columns:1fr}
  .pg-steps{grid-template-columns:1fr}
  .pg-plan{padding:26px 22px}
  .pg-plan .pr b{font-size:28px}
  .pg-nums b{font-size:28px}
  .pg-faq summary{font-size:16px}
}
