@charset "UTF-8";
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;scroll-behavior:smooth;--ink:#071827;--night:#060a13;--navy:#0b2e59;--sky:#78d7ff;--blue:#247dcd;--text:#16304b;--muted:#536777;--line:#d9e5ee}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:#f7f9fc;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #68c9ff;outline-offset:4px}img,svg{max-width:100%}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1200px,calc(100% - 52px));margin-inline:auto}h1,h2,h3,p{margin-top:0}.wa-icon{width:19px;height:19px;fill:currentColor;flex:none}
.hero-shell{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 27% 23% at 22% 42%,#078ce877,transparent 100%),radial-gradient(ellipse 32% 25% at 72% 33%,#6723e5a6,transparent 100%),radial-gradient(ellipse 31% 24% at 85% 70%,#8bccf29c,transparent 100%),radial-gradient(ellipse 35% 25% at 9% 85%,#7021c782,transparent 100%),#06070c;color:#fff}.hero-shell:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 17% 17% at 25% 55%,#bfe9ffb0,transparent 100%),radial-gradient(ellipse 17% 18% at 83% 70%,#d7efffd0,transparent 100%);filter:blur(44px);opacity:.8;pointer-events:none}.header{position:relative;z-index:5;border-bottom:1px solid #ffffff1c}.header-inner{height:93px;display:flex;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:11px;flex:none}.brand img{width:49px;height:49px;object-fit:cover;border-radius:50%;background:#fff}.brand span,.hero-wordmark{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:17px;color:#fff;letter-spacing:.075em;font-weight:830}.brand small{font-size:13px;color:#84ceff;letter-spacing:.19em;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px;font-weight:650;color:#e3edfb}.desktop-nav a:hover{color:#87d6ff}.header-cta{display:inline-flex;align-items:center;gap:9px;border:1px solid #ffffff8c;border-radius:100px;padding:9px 17px;font-size:14px;font-weight:700;white-space:nowrap}.header-cta:hover{background:#ffffff21}.mobile-menu{display:none}
.hero{position:relative;text-align:center}.hero-content{min-height:660px;padding-block:75px 56px;display:flex;flex-direction:column;align-items:center}.hero-lockup{display:flex;align-items:center;justify-content:center;gap:26px;margin-bottom:36px}.hero-lockup img{width:110px;height:110px;border-radius:50%;object-fit:cover;box-shadow:0 12px 40px #0408128a}.hero-wordmark{text-align:left}.hero-wordmark span:first-child{font-size:clamp(34px,5.4vw,65px);font-weight:850;letter-spacing:.055em;color:#fff}.hero-wordmark span:last-child{font-size:clamp(19px,2.5vw,30px);font-weight:500;letter-spacing:.28em;color:#7fd0ff;margin-top:12px}.hero-overline{font-size:12px;letter-spacing:.21em;font-weight:800;color:#b1d9f3;margin-bottom:15px}.hero h1{font-size:clamp(38px,4.8vw,65px);line-height:1.1;letter-spacing:-.04em;font-weight:780;margin-bottom:19px;text-wrap:balance}.hero h1 em{font-style:normal;color:#acdfff}.hero-lead{max-width:670px;margin-bottom:29px;font-size:17px;line-height:1.7;color:#e1ebf4}.hero-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.button{min-height:50px;padding:11px 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:100px;font-size:14px;font-weight:750;line-height:1.25;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#f7fbff;color:#10254d;box-shadow:0 9px 28px #02061750}.button-primary:hover{background:#dbefff}.button-outline{border:1px solid #c5e3f8b0;color:#fff;background:#ffffff12}.button-outline:hover{background:#ffffff25}.hero-bottom{display:flex;gap:28px;margin-top:auto;padding-top:45px;font-size:12px;letter-spacing:.16em;font-weight:800;color:#ceeaff}.hero-bottom span+span:before{content:"·";position:relative;left:-14px;color:#91c8fa}
.intro-strip{background:#eaf3f9}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center;padding-block:41px}.intro-grid strong{font-size:20px;line-height:1.4;color:var(--navy)}.intro-grid p{margin:0;border-left:2px solid #318dcf;padding-left:24px;color:#4d6579}
.section{padding-block:96px}.section-label{display:inline-block;margin:0 0 18px;color:#187cc7;font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.section-head{display:grid;grid-template-columns:1fr .7fr;gap:65px;align-items:end;margin-bottom:34px}.section-head h2{margin:0}.section-head p{margin:0 0 4px;color:var(--muted)}h2{font-size:clamp(32px,3.8vw,49px);line-height:1.16;letter-spacing:-.038em;color:#102c48}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{min-height:340px;display:flex;flex-direction:column;padding:29px;border:1px solid #cedfea;border-radius:15px;background:#fff;box-shadow:0 14px 36px #18395d0b}.card-number{color:#248cce;font-weight:800;font-size:14px;letter-spacing:.1em;margin-bottom:37px}.service-card h3{font-size:24px;line-height:1.25;letter-spacing:-.02em;color:#112d4d;margin-bottom:13px}.service-card p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:19px}.service-card>span:last-child{display:block;margin-top:auto;padding-top:15px;border-top:1px solid var(--line);font-size:13px;font-weight:700;color:#236b9f}.method{background:#eaf2f9}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step{border-top:2px solid #8eb9d7;padding-top:18px}.step>span{display:block;color:#207fbd;font-size:14px;font-weight:850;margin-bottom:30px}.step h3{font-size:21px;margin-bottom:8px;color:#142f4f}.step p{color:var(--muted);font-size:15px;margin:0}
.tool-section{position:relative;overflow:hidden;color:#fff;background:radial-gradient(ellipse 55% 70% at 90% 10%,#143b76,#0b1737 75%),#09152e;padding-block:100px}.tool-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 45% 55% at 4% 80%,#531aa15e,transparent);pointer-events:none}.tool-layout{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:55px}.light-label{color:#8fd9ff}.tool-section h2{color:#fff;margin-bottom:17px}.tool-section h2 em{color:#a7daff;font-style:normal}.tool-copy p{color:#c6d6e8;line-height:1.75;font-size:17px;margin-bottom:24px}.tool-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.tool-tags span{padding:7px 10px;border:1px solid #8dbce75e;border-radius:100px;color:#d6e9fb;font-size:13px}.report-figure{margin:0;min-width:0}.report-frame{padding:10px;background:#d4e3ee;border:1px solid #a7cced;border-radius:17px;box-shadow:0 28px 70px #03091daf,0 0 45px #658bff2b;transform:perspective(1000px) rotateY(-3deg)}.report-frame-top{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0b2e59;border-radius:9px 9px 0 0;padding:12px 17px;color:#fff;letter-spacing:.05em;font-size:11px}.report-frame-top span:first-child{color:#93c0df}.report-frame-top span:last-child{color:#a8d7f2}.report-frame img{display:block;width:100%;height:auto;background:#f3f7fb;border-radius:0 0 8px 8px}.report-figure figcaption{color:#b9ccde;margin-top:15px;font-size:13px;line-height:1.55}
.sectors{background:#fff}.sectors h2{max-width:690px;margin-bottom:35px}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sector-grid div{border:1px solid var(--line);padding:23px;min-height:145px;display:flex;flex-direction:column;justify-content:space-between;border-radius:10px}.sector-grid span{color:#2c88c2;font-size:13px;font-weight:800}.sector-grid strong{font-size:17px;line-height:1.32;color:#173653}
.contact{background:#07182d;color:#fff;padding-block:93px}.contact-grid{display:grid;grid-template-columns:1.05fr .82fr;gap:12%;align-items:center}.contact h2{color:#fff;margin-bottom:17px}.contact p{color:#c6d5e5;font-size:17px;line-height:1.7;max-width:540px;margin-bottom:26px}.button-blue{background:#238dce;color:#fff}.button-blue:hover{background:#40a9e2}.contact-details{font-style:normal;background:#fff;color:#132f4c;border-radius:13px;padding:27px 32px}.contact-details>span{display:block;color:#237dba;font-size:12px;letter-spacing:.12em;font-weight:850;margin-bottom:8px}.contact-details>div{padding:17px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.contact-details small{font-size:13px;color:var(--muted)}.contact-details a,.contact-details strong{font-size:16px;font-weight:750;overflow-wrap:anywhere}.contact-details a:hover{color:#207bb6;text-decoration:underline}.footer{background:#040d1d;color:#b4c7dc;padding-block:26px}.footer-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px}.footer-brand{font-size:15px;color:#fff;font-weight:850}.footer-brand span{color:#77c8fb;font-size:12px;font-weight:500}.footer-inner>a:last-child{color:#fff}
@media(max-width:1050px){.desktop-nav{gap:15px}.tool-layout{gap:26px}.report-frame{transform:none}.section-head{gap:35px}}
@media(max-width:830px){.desktop-nav{display:none}.header-inner{height:76px}.header-cta{margin-left:auto}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;border:1px solid #ffffff7c;padding:9px 12px;border-radius:99px;font-size:14px;font-weight:700}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:48px;width:235px;background:#121a31;border:1px solid #ffffff5c;border-radius:10px;padding:8px;display:grid;box-shadow:0 20px 40px #0007;z-index:20}.mobile-menu nav a{padding:11px;border-bottom:1px solid #ffffff29;font-size:14px}.mobile-menu nav a:last-child{border:0}.hero-content{min-height:630px}.section-head,.intro-grid,.contact-grid{grid-template-columns:1fr;gap:18px}.service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1;min-height:260px}.steps,.sector-grid{grid-template-columns:1fr 1fr}.tool-layout{grid-template-columns:1fr;gap:40px}.tool-copy{max-width:650px}.report-figure{max-width:750px}.contact-details{max-width:650px}}
@media(max-width:570px){.container{width:calc(100% - 36px)}.brand img{width:40px;height:40px}.brand strong{font-size:13px}.brand small{font-size:11px}.header-cta{padding:8px 10px}.header-cta span{display:none}.hero-content{padding-block:65px 34px;min-height:640px}.hero-lockup{gap:12px;margin-bottom:38px}.hero-lockup img{width:68px;height:68px}.hero-wordmark span:first-child{font-size:clamp(23px,7vw,37px);letter-spacing:.02em}.hero-wordmark span:last-child{font-size:16px;letter-spacing:.21em;margin-top:6px}.hero-overline{font-size:11px;letter-spacing:.12em}.hero h1{font-size:clamp(37px,10vw,53px)}.hero-lead{font-size:16px}.hero-actions{align-items:stretch;width:100%}.hero-actions .button{width:100%}.hero-bottom{gap:9px;font-size:10px;letter-spacing:.03em;flex-wrap:wrap;justify-content:center}.hero-bottom span+span:before{left:-5px}.intro-grid{padding-block:30px}.intro-grid strong{font-size:18px}.section{padding-block:72px}h2{font-size:clamp(30px,8vw,42px)}.service-grid,.steps,.sector-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:0}.card-number{margin-bottom:20px}.steps{gap:25px}.step>span{margin-bottom:14px}.tool-section,.contact{padding-block:70px}.report-frame{padding:5px;border-radius:9px}.report-frame-top{padding:8px;font-size:8px}.report-frame-top span:last-child{display:none}.report-figure figcaption{font-size:12px}.sector-grid div{min-height:108px}.contact-details{padding:23px}.contact .button{width:100%;font-size:13px}.footer-inner{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}}
/* Alineación de marca y vista del informe en pantallas estrechas */
.hero-lockup{max-width:100%;margin-inline:auto}
.tool-layout,.report-figure,.report-frame{min-width:0}
.report-frame a{display:block;width:100%;min-width:0;overflow:hidden}
.report-frame img{display:block;width:100%;max-width:100%;height:auto}
@media(max-width:830px){.tool-layout{grid-template-columns:minmax(0,1fr)}.report-figure,.report-frame{width:100%;max-width:100%}}
@media(max-width:570px){.hero-lockup{width:max-content;max-width:100%;justify-content:center;align-items:center;gap:12px}.hero-wordmark{min-width:0}.hero-wordmark span:first-child{font-size:clamp(22px,6.7vw,35px);letter-spacing:0}.hero-wordmark span:last-child{font-size:clamp(14px,4vw,17px);letter-spacing:.14em}.report-frame-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-figure figcaption{overflow-wrap:anywhere}}
/* Marca original: símbolo y tipografía suministrada como una sola pieza visual. */
.brand{padding:5px 13px 5px 6px;background:#fff;border-radius:999px;gap:7px}
.brand .brand-symbol{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:50%}
.brand .brand-wordmark{width:177px;height:auto;object-fit:contain;border-radius:0;background:#fff}
.hero-lockup{width:max-content;max-width:100%;padding:13px 21px;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;gap:17px;box-shadow:0 22px 65px #0005;margin-inline:auto}
.hero-lockup .brand-symbol{width:106px;height:106px;flex:none;object-fit:contain;border-radius:50%;box-shadow:none}
.hero-lockup .brand-wordmark{width:385px;height:auto;max-width:100%;object-fit:contain;border-radius:0;box-shadow:none}
@media(max-width:570px){.header-inner{gap:9px}.brand{padding:4px 8px 4px 4px;gap:4px}.brand .brand-symbol{width:35px;height:35px}.brand .brand-wordmark{width:clamp(115px,37vw,156px);height:auto}.header-cta{display:none}.mobile-menu{margin-left:auto}.hero-lockup{width:max-content;max-width:100%;gap:8px;padding:9px 11px;border-radius:15px}.hero-lockup .brand-symbol{width:clamp(50px,17vw,64px);height:clamp(50px,17vw,64px)}.hero-lockup .brand-wordmark{width:min(56vw,225px);height:auto}}
/* Fondo continuo en todas las secciones, con luces azules y violetas desenfocadas. */
html{background:#080a13}
body{position:relative;isolation:isolate;background:transparent;color:#edf5ff}
body::before{content:"";position:fixed;z-index:-1;inset:-14%;pointer-events:none;background:radial-gradient(ellipse 31% 29% at 18% 35%,#057dc493,transparent 100%),radial-gradient(ellipse 29% 30% at 81% 25%,#5a24b99c,transparent 100%),radial-gradient(ellipse 30% 28% at 79% 77%,#4a9ac48c,transparent 100%),radial-gradient(ellipse 28% 22% at 11% 85%,#5819a580,transparent 100%),#090a11;filter:blur(35px)}
.hero-shell{background:transparent;isolation:auto;overflow:visible}
.hero-shell::before,.tool-section::before{display:none}
.intro-strip,.method,.sectors,.contact,.tool-section,.footer{background:transparent}
.intro-strip{border:0}
.intro-grid strong,.section-head h2,h2,.step h3,.service-card h3,.sector-grid strong,.contact h2{color:#f6fbff}
.intro-grid p,.section-head p,.service-card p,.step p,.tool-copy p,.contact p{color:#d7e5f3}
.section-label,.step>span,.card-number,.sector-grid span,.service-card>span:last-child{color:#95d8ff}
.intro-grid p{border-left-color:#80cdff}
.service-card,.sector-grid div,.contact-details{background:#0c1a31ad;border:1px solid #c5e0ff53;box-shadow:0 16px 38px #02051221;backdrop-filter:blur(12px)}
.service-card>span:last-child,.contact-details>div{border-top-color:#d1e9fa3f}
.method .step{border-top-color:#98c9edaa}
.contact-details{color:#f6fbff}
.contact-details>span{color:#95d8ff}
.contact-details small{color:#b9d0e3}
.contact-details a,.contact-details strong{color:#f6fbff}
.contact-details a:hover{color:#a5dfff}
.footer{border:0;color:#d3e4f4}
.footer-brand{color:#fff}
.footer-brand span{color:#9edcff}
.report-figure figcaption{color:#d1e2f2}
@media(prefers-reduced-transparency:reduce){.service-card,.sector-grid div,.contact-details{background:#102039;backdrop-filter:none}}
/* Variaciones suaves a lo largo del documento, además de las luces fijas del viewport. */
body{background-color:#080a13;background-image:radial-gradient(ellipse 38% 26% at 16% 33%,#10577962,transparent 100%),radial-gradient(ellipse 34% 30% at 82% 47%,#45227162,transparent 100%),radial-gradient(ellipse 38% 24% at 76% 83%,#28718b4f,transparent 100%);background-size:100% 1650px;background-repeat:repeat-y}
/* Ajustes de composición pedidos para la marca, textos y servicios. */
.hero-lockup{display:grid;grid-template-columns:90px 330px;align-items:center;justify-content:center;justify-items:center;gap:13px;padding:15px 25px;max-width:100%;margin-inline:auto}
.hero-lockup .brand-symbol{width:90px;height:90px;object-fit:contain}
.hero-lockup .brand-wordmark{width:330px;height:auto;object-fit:contain}
.hero-lead{font-size:20px;line-height:1.65;color:#f7fbff;font-weight:500;max-width:710px}
.intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;padding-block:38px}
.intro-grid strong,.intro-grid p{display:flex;align-items:center;margin:0;font-size:18px;font-weight:600;line-height:1.5;color:#f4faff}
.intro-grid strong{padding-right:34px}
.intro-grid p{padding-left:34px;border-left:1px solid #9fd8ffb8}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card,.service-card:last-child{grid-column:auto;min-height:285px}
.report-figure{max-width:650px;justify-self:center}
.report-frame{transform:none;width:100%;max-width:650px;margin-inline:auto}
.report-frame img{width:100%;height:auto;aspect-ratio:1200 / 1140;object-fit:contain}
@media(max-width:830px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:last-child{grid-column:auto}.intro-grid strong,.intro-grid p{font-size:17px}}
@media(max-width:570px){.header-inner{position:relative;justify-content:center}.header-inner .brand{margin-inline:auto}.mobile-menu{position:absolute;right:0;margin:0}.mobile-menu summary{padding:7px 9px;font-size:12px}.hero-lockup{display:grid;grid-template-columns:clamp(51px,16vw,61px) min(55vw,211px);gap:8px;padding:10px 12px;justify-content:center;justify-items:center}.hero-lockup .brand-symbol{width:clamp(51px,16vw,61px);height:clamp(51px,16vw,61px)}.hero-lockup .brand-wordmark{width:min(55vw,211px);height:auto}.hero-lead{font-size:18px;line-height:1.6;color:#fff}.intro-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-block:26px}.intro-grid strong,.intro-grid p{font-size:17px;font-weight:600;line-height:1.5}.intro-grid strong{padding:0 0 21px}.intro-grid p{border-left:0;border-top:1px solid #9fd8ffb8;padding:21px 0 0}.service-grid{grid-template-columns:minmax(0,1fr)}.service-card,.service-card:last-child{min-height:0}.report-figure,.report-frame{max-width:100%}}
@media(min-width:831px){.hero-lead{max-width:820px}}
/* Gráficos complementarios de Integrate Alpha. */
.tool-copy p+p{margin-top:-12px}
.alpha-gallery{position:relative;margin-top:72px}
.alpha-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:22px}
.alpha-gallery-heading h3{margin:0;color:#fff;font-size:clamp(24px,2.6vw,34px);line-height:1.2;letter-spacing:-.025em}
.alpha-gallery-heading p{margin:0;max-width:450px;color:#d7e5f3;font-size:15px;line-height:1.55}
.alpha-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.alpha-chart{min-width:0;margin:0;overflow:hidden;border:1px solid #b9dcfa54;border-radius:16px;background:#1132528a;box-shadow:0 18px 35px #03091d50}
.alpha-chart a{display:block;padding:12px 12px 0}
.alpha-chart a:focus-visible{outline:3px solid #a7daff;outline-offset:-2px}
.alpha-chart img{display:block;width:100%;height:auto;background:#fff;border-radius:9px;object-fit:contain}
.alpha-chart figcaption{display:grid;gap:5px;padding:15px 18px 18px;color:#d8e9f7;font-size:14px;line-height:1.5}
.alpha-chart figcaption strong{font-size:17px;color:#fff}
.alpha-chart:last-child{grid-column:1/-1;width:min(100%,760px);justify-self:center}
.alpha-gallery-note{margin:15px 0 0;color:#d7e5f3;font-size:13px;line-height:1.5}
@media(max-width:830px){.alpha-gallery-heading{display:block}.alpha-gallery-heading p{margin-top:10px}.alpha-gallery-grid{grid-template-columns:minmax(0,1fr)}.alpha-chart:last-child{grid-column:auto;width:100%}}
@media(max-width:570px){.alpha-gallery{margin-top:48px}.alpha-chart a{padding:7px 7px 0}.alpha-chart figcaption{padding:12px 14px 16px}.alpha-gallery-heading p{font-size:14px}}
/* Corrección óptica basada en los márgenes blancos de las imágenes originales.
   Nombre: centro de tinta 6,5/117 px por encima del lienzo.
   Símbolo: centro visible 8/193 px por debajo del lienzo. */
.brand .brand-wordmark,.hero-lockup .brand-wordmark{transform:translateY(5.56%)}
.brand .brand-symbol,.hero-lockup .brand-symbol{transform:translateY(-4.15%)}
/* Recorrido legible de un solo activo ficticio en Integrate Alpha. */
.alpha-case{position:relative;margin-top:82px}
.alpha-case-intro{max-width:810px}
.alpha-case-intro h3{margin:0 0 12px;color:#fff;font-size:clamp(27px,3.5vw,43px);line-height:1.14;letter-spacing:-.03em}
.alpha-case-intro p{margin:0;color:#e5f1fc;font-size:17px;line-height:1.7}
.alpha-case-intro strong{color:#fff}
.alpha-case-list{margin-top:34px}
.alpha-case-step{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(24px,5vw,72px);padding-block:34px}
.alpha-case-copy{min-width:0}
.alpha-case-number{display:block;margin-bottom:14px;color:#a6dfff;font-size:14px;font-weight:800;letter-spacing:.12em}
.alpha-case-copy h4{margin:0 0 13px;color:#fff;font-size:clamp(24px,2.6vw,32px);line-height:1.2;letter-spacing:-.025em}
.alpha-case-copy p{margin:0;color:#e0eef9;font-size:17px;line-height:1.7}
.alpha-case-figure{min-width:0;margin:0}
.alpha-case-figure a{display:block;overflow:hidden;border:1px solid #bcd8ed;border-radius:14px;box-shadow:0 22px 40px #02091491}
.alpha-case-figure a:focus-visible{outline:3px solid #a7daff;outline-offset:4px}
.alpha-case-figure img{display:block;width:100%;height:auto;aspect-ratio:640 / 460;object-fit:contain;background:#f5f9fd}
.alpha-case-figure figcaption{margin-top:10px;color:#d5e7f4;font-size:13px;line-height:1.45}
@media(max-width:830px){.alpha-case-step{grid-template-columns:minmax(0,1fr);gap:19px}.alpha-case-copy{max-width:720px}.alpha-case-figure{width:min(100%,640px);justify-self:center}}
@media(max-width:570px){.alpha-case{margin-top:64px}.alpha-case-intro p,.alpha-case-copy p{font-size:16px;line-height:1.6}.alpha-case-list{margin-top:23px}.alpha-case-step{padding-block:27px}.alpha-case-copy h4{font-size:24px}.alpha-case-figure figcaption{font-size:12px}}
.alpha-extra{margin-top:34px}
.alpha-extra-head{padding-top:32px;max-width:810px}
.alpha-extra-head h4{margin:0 0 9px;color:#fff;font-size:clamp(24px,2.9vw,33px);line-height:1.2}
.alpha-extra-head p{margin:0;color:#dcebf7;font-size:16px;line-height:1.6}
.alpha-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}
.alpha-extra-figure{margin:0;min-width:0}
.alpha-extra-figure a{display:block;overflow:hidden;border:1px solid #bcd8ed;border-radius:14px;box-shadow:0 22px 40px #02091491}
.alpha-extra-figure a:focus-visible{outline:3px solid #a7daff;outline-offset:4px}
.alpha-extra-figure img{display:block;width:100%;height:auto;aspect-ratio:640 / 460;object-fit:contain;background:#f5f9fd}
.alpha-extra-figure figcaption{margin-top:11px;color:#dcebf7;font-size:15px;line-height:1.55}
.alpha-extra-figure figcaption strong{color:#fff}
@media(max-width:830px){.alpha-extra-grid{grid-template-columns:minmax(0,1fr);gap:30px}.alpha-extra-figure{width:min(100%,640px);justify-self:center}}
@media(max-width:570px){.alpha-extra{margin-top:28px}.alpha-extra-head{padding-top:26px}.alpha-extra-grid{margin-top:19px}.alpha-extra-figure figcaption{font-size:15px}}
/* Integrate Alpha: explicacion y recorrido conectado. */
.tool-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,82px);align-items:center}
.tool-copy p+p{margin-top:0}
.tool-copy .tool-intro{max-width:620px;margin:0 0 34px;color:#f1f8ff;font-size:clamp(18px,1.6vw,21px);font-weight:500;line-height:1.55;text-wrap:pretty}
.tool-copy .alpha-summary,.tool-copy .alpha-clarification,.tool-copy .alpha-included{padding:13px 16px;border-radius:9px;background:#0c294aa8;border:1px solid #92cbf253;color:#f4faff;line-height:1.55;font-size:16px}
.tool-copy .alpha-summary,.tool-copy .alpha-clarification,.tool-copy .alpha-included{position:relative;margin-block:24px;padding:25px 16px 15px}
.tool-copy .alpha-card-label{position:absolute;top:-14px;left:14px;display:inline-flex;align-items:center;min-height:27px;padding:3px 12px;border:1px solid #b8e5ff;border-radius:999px;background:#d8f1ff;color:#0a3157;font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.02em;box-shadow:0 4px 12px #04112683}
.tool-copy .alpha-summary strong,.tool-copy .alpha-clarification strong,.tool-copy .alpha-included strong{display:block;margin-bottom:2px;color:#fff}
.tool-copy .alpha-included{background:#174c73af;border-color:#addfff84}
.alpha-flow{min-width:0;padding:26px clamp(14px,2vw,28px) 12px;border:1px solid #9bcdfb4a;border-radius:22px;background:linear-gradient(165deg,#071d37d6,#10264bb3);box-shadow:0 24px 60px #040b21a1}
.alpha-flow h3{margin:0 0 8px;color:#fff;font-size:clamp(22px,2.25vw,30px);letter-spacing:-.025em}
.alpha-flow>p{margin:0;color:#d6e9fa;font-size:15px;line-height:1.55}
.alpha-flow-diagram{position:relative;margin-top:10px}
.alpha-flow-curve{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.alpha-flow-curve path{fill:none;stroke:#55b9ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #2184d8a1)}
.alpha-flow-list{position:relative;display:grid;grid-template-rows:repeat(4,170px);list-style:none;margin:0;padding:0}
.alpha-flow-step{position:relative;align-self:center;justify-self:start;display:flex;flex-direction:column;justify-content:center;gap:3px;width:72%;min-height:100px;margin:0;padding:14px 18px;border:1px solid #8bc8f3a8;border-radius:15px;background:#0e2b50;box-shadow:0 13px 22px #030b1f9c;color:#e6f2fb;font-size:13px;line-height:1.36}
.alpha-flow-step:nth-child(even){justify-self:end}
.alpha-flow-number{color:#9fdcff;font-size:13px;font-weight:800;letter-spacing:.12em}
.alpha-flow-step strong{color:#fff;font-size:16px;line-height:1.2}
.alpha-main-report{max-width:760px;margin:0 auto 28px}
.alpha-main-report .report-frame{max-width:760px}
.alpha-main-report .report-frame img{aspect-ratio:1200 / 1140}
@media(max-width:830px){.tool-layout{grid-template-columns:minmax(0,1fr)}.alpha-flow{width:min(100%,590px);justify-self:center}.alpha-main-report{width:min(100%,760px)}}
@media(max-width:570px){.alpha-flow{padding:20px 14px 8px}.alpha-flow-step{padding:11px 12px;font-size:12px}.alpha-flow-step strong{font-size:15px}.alpha-main-report{margin-bottom:25px}}
/* Encabezado sin logo duplicado: navegación repartida en todo el ancho. */
.header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;height:76px}
.header .desktop-nav{width:100%;margin:0;justify-content:space-between;gap:clamp(14px,2.5vw,32px)}
.header-home{display:none}
@media(max-width:830px){
  .header .header-inner{display:flex;justify-content:space-between;gap:10px;height:70px}
  .header .desktop-nav{display:none}
  .header .header-home{display:inline-flex;align-items:center;color:#eef8ff;font-size:15px;font-weight:750}
  .header .header-cta{display:inline-flex;margin:0;padding:8px 12px;font-size:13px}
  .header .header-cta span{display:inline}
  .header .mobile-menu{display:block;position:relative;right:auto;margin:0}
}
@media(max-width:370px){
  .header .header-cta{width:42px;height:42px;justify-content:center;padding:8px}
  .header .header-cta span{display:none}
}

/* Contacto disponible durante todo el recorrido, con espacio para el área segura del móvil. */
.whatsapp-float{position:fixed;z-index:100;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;border:2px solid #fff;box-shadow:0 9px 28px #0314298c;transition:transform .18s ease,box-shadow .18s ease}
.whatsapp-float .wa-icon{width:32px;height:32px}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 13px 30px #031429a8}
.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:4px}
.footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
@media(max-width:570px){.whatsapp-float{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}

/* Titular y aplicaciones del inicio. */
.hero #hero-title{max-width:1060px;margin:0 0 35px;font-size:clamp(32px,3.65vw,52px);line-height:1.18;letter-spacing:-.035em}
.hero #hero-title span,.hero #hero-title em{display:block}
.hero #hero-title em{margin-top:.27em}
.hero .hero-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;width:min(100%,1060px);gap:clamp(14px,2.4vw,32px);padding-top:52px;font-size:12px;line-height:1.45;letter-spacing:.13em;text-transform:uppercase}
.hero .hero-bottom span+span::before{content:none}
.hero .hero-bottom > span{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:13px;min-width:0}
.hero .hero-bottom .application-label{display:block;width:100%;text-align:center}
.hero .hero-bottom svg{display:block;width:58px;height:58px;flex:none;fill:none;stroke:#f0faff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px #42a9ec99)}
@media(max-width:700px){.hero #hero-title{font-size:clamp(30px,6.7vw,43px);line-height:1.2;margin-bottom:32px}.hero .hero-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px;padding-top:43px;font-size:11px;letter-spacing:.09em}.hero .hero-bottom svg{width:52px;height:52px}}
@media(max-width:370px){.hero #hero-title{font-size:29px}.hero .hero-bottom{font-size:10px}}

/* Servicios como franjas de ancho completo, con la separación original. */
.services .service-heading{margin-bottom:34px}
.services .service-heading h2{max-width:720px;margin:0}
.services .service-grid{display:flex;flex-direction:column;gap:16px;width:100%}
.services .service-card,.services .service-card:last-child{display:block;width:100%;min-height:0;padding:32px 0;border:1px solid #c5e0ff53;border-left:0;border-right:0;border-radius:0;background:#0c1a31ad;box-shadow:none;backdrop-filter:blur(12px)}
.services .service-content{display:grid;grid-template-columns:minmax(225px,.55fr) minmax(0,1fr);column-gap:clamp(26px,5vw,88px);row-gap:12px;align-items:start}
.services .service-content h3{grid-column:1;grid-row:1/3;margin:0;font-size:clamp(24px,2.5vw,30px)}
.services .service-content p{grid-column:2;margin:0;font-size:16px;line-height:1.6}
.services .service-content>span{grid-column:2;margin:0;padding:0;border:0;font-size:14px;line-height:1.5;color:#ceeaff}
@media(max-width:700px){.services .service-card,.services .service-card:last-child{padding:26px 0}.services .service-content{grid-template-columns:minmax(0,1fr);row-gap:10px}.services .service-content h3,.services .service-content p,.services .service-content>span{grid-column:1;grid-row:auto}.services .service-content h3{font-size:24px}}

/* Metodología: una secuencia conectada que se vuelve vertical en móvil. */
.method .method-heading{margin:0 0 38px;color:#f6fbff;font-size:clamp(32px,3.8vw,49px);line-height:1.16;letter-spacing:-.038em}
.method .method-flow{--flow-gap:clamp(14px,2vw,26px);position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--flow-gap);list-style:none;margin:0;padding:0}
.method .method-node:not(:last-child)::before{content:"";position:absolute;top:17px;left:50%;width:calc(100% + var(--flow-gap));height:3px;background:linear-gradient(90deg,#2c93dc,#9bdcff);box-shadow:0 0 12px #2997e6a1}
.method .method-node{position:relative;z-index:1;min-width:0;text-align:center}
.method .method-dot{display:block;width:36px;height:36px;margin:0 auto 20px;border:4px solid #b8e9ff;border-radius:50%;background:#188ed5;box-shadow:0 0 0 5px #0c2745,0 0 22px #2e9ee0a6}
.method .method-body{min-height:190px;padding:24px 20px;border:1px solid #a8d6f576;border-radius:16px;background:#0d2541bf;box-shadow:0 18px 35px #02091470;text-align:left}
.method .method-body h3{margin:0 0 12px;color:#fff;font-size:21px;line-height:1.25}
.method .method-body p{margin:0;color:#d8e8f5;font-size:16px;line-height:1.55}
@media(max-width:700px){
  .method .method-heading{margin-bottom:26px}
  .method .method-flow{display:flex;flex-direction:column;gap:0}
  .method .method-node:not(:last-child)::before{top:18px;bottom:-18px;left:17px;width:3px;height:auto;background:linear-gradient(#2c93dc,#9bdcff)}
  .method .method-node{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;align-items:start;padding-bottom:18px;text-align:left}
  .method .method-node:last-child{padding-bottom:0}
  .method .method-dot{margin:0}
  .method .method-body{min-height:0;padding:18px}
  .method .method-body h3{font-size:20px}
}

/* Vista ampliada de las imágenes sin abandonar la página. */
.image-viewer{position:fixed;inset:0;width:min(96vw,1480px);height:min(94dvh,1050px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #9cc9ee7d;border-radius:18px;background:#071426;color:#f7fbff;box-shadow:0 25px 90px #000a;overflow:hidden}
.image-viewer::backdrop{background:#020711df;backdrop-filter:blur(9px)}
.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:10px 16px 10px 24px;background:#0b2e59}
.image-viewer-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;letter-spacing:.01em}
.image-viewer-controls{display:flex;align-items:center;gap:12px;flex:none}
.image-viewer-zoom{min-height:42px;padding:8px 16px;border:1px solid #b5ddf7a8;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.image-viewer-close{display:grid;place-items:center;width:46px;height:46px;padding:0;border:2px solid #fff;border-radius:50%;background:#fff;color:#0b2e59;font:inherit;font-size:30px;font-weight:500;line-height:1;cursor:pointer}
.image-viewer-close span{transform:translateY(-2px)}
.image-viewer-zoom:hover,.image-viewer-zoom:focus-visible{background:#ffffff27}
.image-viewer-close:hover,.image-viewer-close:focus-visible{background:#c9edff}
.image-viewer button:focus-visible{outline:3px solid #87d6ff;outline-offset:3px}
.image-viewer-stage{display:flex;align-items:center;justify-content:center;min-height:0;flex:1;overflow:auto;padding:18px;background:#e8f1f8;overscroll-behavior:contain}
.image-viewer-stage img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.image-viewer-stage.is-zoomed{display:block}
.image-viewer-stage.is-zoomed img{width:max(180%,1200px);height:auto;object-fit:initial}
@media(max-width:600px){.image-viewer{width:100vw;height:100dvh;border:0;border-radius:0}.image-viewer-header{min-height:64px;padding:8px 12px 8px 16px}.image-viewer-header strong{font-size:14px}.image-viewer-controls{gap:8px}.image-viewer-zoom{padding:8px 10px;font-size:13px}.image-viewer-close{width:44px;height:44px}.image-viewer-stage{padding:10px}}

/* Galería de fotografías del equipo. */
.photo-gallery{position:relative;color:#f7fbff}
.photo-gallery-heading{max-width:760px;margin-bottom:30px}
.photo-gallery-heading h2{margin:0 0 12px;color:#fff}
.photo-gallery-heading p{margin:0;color:#d7e8f5;font-size:17px;line-height:1.6}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.photo-gallery-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid #a4d4f47d;border-radius:18px;background:#0d2847b8;box-shadow:0 18px 40px #02091452}
.photo-gallery-grid a{display:block;overflow:hidden;background:#122b43}
.photo-gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .25s ease}
.photo-gallery-grid a:hover img,.photo-gallery-grid a:focus-visible img{transform:scale(1.025)}
.photo-gallery-grid a:focus-visible{outline:3px solid #a8e0ff;outline-offset:-3px}
.photo-gallery-grid figcaption{padding:16px 19px;color:#e8f4ff;font-size:16px;font-weight:700}
@media(max-width:700px){.photo-gallery-grid{grid-template-columns:minmax(0,1fr);gap:18px}.photo-gallery-grid figure{max-width:520px;margin-inline:auto;width:100%}.photo-gallery-heading p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.photo-gallery-grid img{transition:none}}
