:root{--navy:#071b33;--navy2:#0d2945;--cyan:#45d9e7;--ink:#142538;--muted:#627387;--line:#e4ebef;--paper:#f8fafb;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}
header{position:absolute;z-index:5;top:0;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 64px));height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff2a;color:#fff}
.brand{display:inline-flex;align-items:center;flex:none;line-height:0;width:310px;height:66px;overflow:hidden;background:#fff;border-radius:10px;padding:0 9px;box-shadow:0 6px 22px #00000020}.brand img{display:block;width:292px;height:auto;filter:none}nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}nav a{transition:color .2s}nav a:hover{color:var(--cyan)}nav .nav-contact{border:1px solid #ffffff66;border-radius:7px;padding:10px 16px}nav .nav-contact span{padding-left:10px;color:var(--cyan)}
.hero{position:relative;min-height:650px;background:var(--navy) url('../img/hero-tech.png') center 48%/cover;display:flex;align-items:center;color:#fff;overflow:hidden}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#061b32f2 0%,#071b33c9 48%,#071b3370 76%,#071b3338 100%)}.hero-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 64px));margin:100px auto 65px}.hero small,.section small,.store small,.contact small{display:inline-block;font-size:11px;font-weight:750;letter-spacing:.18em;color:var(--cyan)}.hero h1{max-width:850px;font-size:clamp(42px,5.8vw,72px);line-height:1.1;letter-spacing:-.045em;margin:21px 0 22px}.hero h1 em{color:#a4eaf0;font-style:normal;font-weight:400}.hero p{max-width:580px;font-size:18px;line-height:1.7;color:#d5e3ed;margin:0}.actions{display:flex;align-items:center;gap:13px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:12px 21px;border:0;border-radius:7px;background:var(--cyan);color:var(--navy);font-size:14px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#7ce8ef}.btn.ghost{background:#ffffff0c;color:#fff;border:1px solid #ffffff70}.hero-scroll{position:absolute;bottom:26px;left:max(32px,calc((100vw - 1180px)/2));z-index:2;color:#dce9ef;font-size:12px;letter-spacing:.04em}.hero-scroll span{margin-left:12px;color:var(--cyan)}
.section{max-width:1180px;margin:auto;padding:88px 32px}.heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:end;gap:80px;margin-bottom:34px}.heading h2,.about h2,.store h2,.contact h2{font-size:clamp(32px,3.7vw,48px);line-height:1.16;letter-spacing:-.035em;margin:12px 0 0}.heading>p,.about>p{color:var(--muted);font-size:16px;line-height:1.75;margin:0 0 5px}
#servicios{scroll-margin-top:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid article{display:flex;align-items:flex-start;gap:18px;min-height:154px;padding:21px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 22px #09213807;transition:transform .2s,box-shadow .2s}.grid article:hover{transform:translateY(-3px);box-shadow:0 18px 34px #09213814}.service-photo{flex:0 0 88px;width:88px;height:88px;border-radius:9px;overflow:hidden;background:#edf3f6}.service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.service-content{flex:1;min-width:0;padding:0}.service-meta{display:flex;align-items:center;justify-content:space-between}.service-meta i{font-style:normal;color:#168da0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:750}.service-meta span{font-size:11px;color:#a6b4c1}.grid h3{font-size:18px;line-height:1.25;letter-spacing:-.02em;margin:9px 0 6px}.grid p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:1116px;margin:0 auto}.photos>div{display:flex;align-items:center;gap:19px;min-height:120px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.photos img{flex:0 0 90px;width:90px;height:76px;object-fit:cover;border-radius:7px}.photos h3{font-size:16px;line-height:1.35;letter-spacing:-.01em;margin:0;font-weight:650}.about{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:90px}.about h2{max-width:650px}.about>p{font-size:18px;border-left:3px solid var(--cyan);padding-left:22px}
.store{max-width:1116px;margin:0 auto 90px;border-radius:16px;background:linear-gradient(120deg,#071b33,#123a59);color:#fff;padding:46px 54px;display:flex;justify-content:space-between;align-items:center;gap:30px}.store p{color:#c3d5df;margin-bottom:0}.store>strong{color:#b2eff2;border:1px solid #94dae255;padding:16px 19px;border-radius:6px;font-size:10px;letter-spacing:.12em;white-space:nowrap}
.contact{background:#f3f7f8;padding:85px max(32px,calc((100vw - 1116px)/2));display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact p{color:var(--muted)}.contact ul{list-style:none;padding:0;line-height:2.2}.social{display:flex;gap:18px;color:#168da0}.contact form{background:#fff;padding:29px;border:1px solid var(--line);border-radius:13px;display:grid;gap:14px;box-shadow:0 15px 38px #0921380b}.contact label{display:grid;gap:6px;font-size:13px;font-weight:700}.contact input,.contact select,.contact textarea{width:100%;padding:11px 12px;border:1px solid #d3dee5;border-radius:6px;color:var(--ink);background:#fff}.contact input:focus,.contact select:focus,.contact textarea:focus{outline:2px solid #45d9e766;border-color:#35b8c6}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}
footer{background:#061b32;color:#bdcdd6;padding:31px max(32px,calc((100vw - 1116px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}footer .brand{width:220px;height:60px;padding:0 6px}footer .brand img{width:208px}footer>a:last-child:hover{color:var(--cyan)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.products article{border:1px solid var(--line);padding:24px;border-radius:10px}
@media(max-width:900px){.heading,.about{grid-template-columns:1fr;gap:20px}.heading>p{max-width:680px}.contact{gap:35px}.service-photo{width:80px;height:80px;flex-basis:80px}.grid h3{font-size:17px}}
@media(max-width:700px){header{height:76px;width:calc(100% - 32px)}header .brand{width:210px;height:56px;padding:0 5px}header .brand img{width:200px}nav{gap:14px}nav a:not(.nav-contact){display:none}nav .nav-contact{padding:8px 10px;font-size:12px}.hero{min-height:610px}.hero-copy{width:calc(100% - 44px);margin:90px auto 55px}.hero p{font-size:16px}.hero-scroll{left:22px}.section{padding:70px 22px}.grid{grid-template-columns:1fr;gap:12px}.grid article{min-height:0;padding:18px}.service-photo{width:84px;height:84px;flex-basis:84px}.service-content{padding:0}.photos{margin:0 22px;gap:12px}.photos>div{min-height:100px;padding:12px}.photos img{width:70px;height:65px;flex-basis:70px}.photos h3{font-size:14px}.store{margin:0 22px 70px;padding:34px;display:block}.store>strong{display:inline-block;margin-top:22px}.contact{padding:70px 22px;grid-template-columns:1fr}footer{padding:30px 22px}.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.hero h1{font-size:40px}.actions{flex-wrap:wrap}.grid{grid-template-columns:1fr}.grid article{gap:14px}.service-photo{width:72px;height:72px;flex-basis:72px}.photos{grid-template-columns:1fr}.photos>div{min-height:90px}.two,.products{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column;gap:9px}footer p{margin:0}}
/* Detalle interactivo de cada servicio */
.service-photo{display:block;border:0;padding:0;cursor:pointer;transition:transform .2s,box-shadow .2s}.service-photo:hover{transform:scale(1.04);box-shadow:0 5px 13px #09213826}.service-photo:focus-visible,.service-more:focus-visible,#dialog-close:focus-visible{outline:3px solid #16a9c0;outline-offset:3px}.service-more{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:0;border:0;background:none;color:#137e93;font-size:12px;font-weight:700;cursor:pointer}.service-more:hover{text-decoration:underline}
.service-dialog{width:min(790px,calc(100vw - 32px));max-height:min(88vh,860px);padding:0;border:1px solid #dbe6eb;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 28px 80px #061b3266;overflow:auto}.service-dialog::backdrop{background:#061b32b8;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:17px 27px;border-bottom:1px solid var(--line)}.dialog-head span{color:#137e93;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}#dialog-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#eef4f7;color:var(--ink);font-size:25px;line-height:1;cursor:pointer}.dialog-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:27px;padding:28px}.dialog-body h2{margin:0 0 12px;font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.03em}.dialog-body>div>p{color:var(--muted);margin:0 0 24px}.dialog-body h3{font-size:15px;margin:0 0 11px}.dialog-body ul{margin:0;padding-left:20px;color:#425669}.dialog-body li{padding-left:3px;margin-bottom:9px}.dialog-body img{display:block;width:190px;height:145px;object-fit:cover;border-radius:10px}.dialog-result{margin:22px 0;padding:14px 17px;border-left:3px solid var(--cyan);background:#f4f9fa}.dialog-result strong{font-size:13px}.dialog-result p{margin:4px 0 0;color:var(--muted);font-size:14px}.dialog-cta{margin-top:2px}
@media(max-width:620px){.dialog-body{grid-template-columns:1fr;padding:22px}.dialog-body img{grid-row:1;width:100%;height:125px}.dialog-head{padding:14px 20px}.dialog-body ul{font-size:14px}}
/* Página Quiénes somos: historia, misión y visión */
.about>div>p{color:var(--muted);font-size:18px;line-height:1.75;margin:0 0 18px;border-left:3px solid var(--cyan);padding-left:22px}.about-link{display:inline-flex;gap:9px;align-items:center;color:#137e93;font-size:14px;font-weight:700}.about-link:hover{text-decoration:underline}
.about-hero{min-height:340px;padding:135px 32px 55px;background:linear-gradient(115deg,#071b33 0%,#123a59 70%,#155270 100%);color:#fff}.about-hero-inner{max-width:1116px;margin:auto}.about-hero small,.story small,.purpose small,.about-cta small{color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.16em}.about-hero h1{font-size:clamp(43px,5.5vw,68px);letter-spacing:-.045em;line-height:1.1;margin:12px 0}.about-hero p{max-width:680px;color:#cfe0e9;font-size:18px;margin:0}
.story{max-width:1180px;margin:auto;padding:85px 32px 70px;display:grid;grid-template-columns:.8fr 1.2fr;gap:25px 95px}.story-heading h2{font-size:clamp(32px,3.8vw,46px);line-height:1.16;letter-spacing:-.035em;margin:14px 0}.story-heading p{color:var(--muted)}.story-copy p{font-size:16px;line-height:1.75;color:#4d6073;margin:0 0 19px}.story-copy strong{color:var(--ink)}.story-copy p:last-child{border-left:3px solid var(--cyan);padding-left:18px;color:var(--ink);font-weight:600}.story-timeline{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:24px;border-top:1px solid var(--line)}.story-timeline div{display:grid;gap:4px}.story-timeline strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#137e93}.story-timeline span{font-size:14px;color:var(--muted)}
.purpose{background:#f3f7f8;padding:78px max(32px,calc((100vw - 1116px)/2));display:grid;grid-template-columns:1fr 1fr;gap:24px}.purpose article{position:relative;padding:34px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 28px #09213808}.purpose .purpose-number{position:absolute;right:30px;top:27px;color:#b6c4cc;font-size:13px}.purpose small{color:#137e93}.purpose h2{font-size:35px;letter-spacing:-.035em;margin:12px 0 14px}.purpose p{font-size:15px;line-height:1.75;color:#4d6073;margin:0}.about-cta{max-width:1180px;margin:auto;padding:70px 32px;display:flex;align-items:center;justify-content:space-between;gap:25px}.about-cta small{color:#137e93}.about-cta h2{font-size:clamp(27px,3.3vw,40px);letter-spacing:-.03em;margin:10px 0 0}
@media(max-width:800px){.story{grid-template-columns:1fr;gap:18px;padding:65px 24px}.story-timeline{grid-column:auto}.purpose{padding:65px 24px}.about-cta{padding:60px 24px}}
@media(max-width:620px){.about-hero{min-height:300px;padding:125px 22px 45px}.about-hero p{font-size:16px}.story-timeline,.purpose{grid-template-columns:1fr}.purpose{gap:14px}.purpose article{padding:26px}.about-cta{display:block}.about-cta .btn{margin-top:22px}}
