@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b1f33;--navy2:#102b45;--blue:#1676a8;--cyan:#52c4dc;--ink:#172b3b;--muted:#617181;--pale:#f2f6f8;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{height:82px;background:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:20;box-shadow:0 2px 18px #0b1f3310}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:112px;height:62px;object-fit:contain;display:block;background:#fff;border-radius:4px}.brand-name{font:800 17px Manrope,sans-serif;letter-spacing:.3px;color:var(--navy)}.brand-name b{color:var(--blue)}.brand-name small{display:block;font:600 9px "DM Sans";letter-spacing:2.5px;color:#6d7c88}.nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600;color:#34495a}.nav a:hover{color:var(--blue)}.nav .nav-cta{background:var(--navy);color:#fff;padding:12px 18px;border-radius:4px}.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--navy)}
.hero{min-height:630px;background:linear-gradient(110deg,#081b2d 0%,#0d2b46 65%,#123e5a 100%);position:relative;overflow:hidden;color:#fff;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 82% 40%,#287da544,transparent 42%),repeating-linear-gradient(135deg,transparent 0 45px,#ffffff08 46px 47px);opacity:.9}.hero-grid{position:absolute;right:-7%;top:-20%;width:58%;height:145%;border:1px solid #6bc5df33;transform:rotate(-24deg);background:repeating-linear-gradient(0deg,transparent 0 38px,#a4d9e51c 39px 40px),repeating-linear-gradient(90deg,transparent 0 38px,#a4d9e51c 39px 40px);mask-image:linear-gradient(90deg,transparent,#000 25%,#000)}.hero-content{position:relative;padding:95px 0 105px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;color:#73d3e6;margin:0 0 22px}.hero h1,.section h2{font:800 clamp(38px,5.2vw,66px)/1.12 Manrope,sans-serif;letter-spacing:-2.5px;margin:0}.hero h1 span{color:#75d0e2}.hero-copy{max-width:600px;color:#c4d3de;font-size:16px;margin:26px 0 32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:20px;padding:14px 20px;font-size:12px;font-weight:700;border-radius:4px;transition:.2s}.button span{font-size:17px}.button-primary{background:#55c4db;color:#092238}.button-primary:hover{background:#8bdeed;transform:translateY(-2px)}.button-outline{border:1px solid #ffffff66;color:#fff}.button-outline:hover{background:#ffffff12}.hero-tags{display:flex;align-items:center;gap:13px;margin-top:58px;color:#c1d0db;font-size:11px}.hero-tags i{width:4px;height:4px;background:#58c9df;border-radius:50%}.hero-coordinate{position:absolute;right:5%;bottom:38px;color:#8cc9d8;font:600 11px Manrope;letter-spacing:1px;text-align:right}.hero-coordinate small{font-size:8px;letter-spacing:2px;color:#8da5b5}
.section{padding:100px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.eyebrow.dark{color:var(--blue)}.section h2{font-size:clamp(32px,4vw,47px);color:var(--navy);letter-spacing:-1.7px}.section h2 span{color:var(--blue)}.intro-text{color:var(--muted);font-size:14px}.intro-text p:first-child{margin-top:0}.services{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading>p{max-width:380px;color:var(--muted);font-size:13px;margin:0 0 5px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:43px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{position:relative;background:#fff;padding:30px 32px 27px;border:1px solid #e5edf1;min-height:290px;transition:.25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #0b1f3310;border-color:#b9dce7}.service-number{position:absolute;right:28px;top:25px;color:#b4c5ce;font:700 12px Manrope}.service-icon{width:42px;height:42px;border-radius:8px;background:#eaf6f9;color:var(--blue);display:grid;place-items:center;font-size:25px;margin-bottom:20px}.service-card h3{font:700 19px Manrope;color:var(--navy);margin:0 0 8px}.service-card p{font-size:12px;color:var(--muted);max-width:470px;margin:0 0 15px}.service-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.service-card li{font-size:11px;color:#40586a;padding-left:13px;position:relative}.service-card li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:#48b6ce;border-radius:50%}.service-card-wide{grid-column:1/-1;min-height:220px}.service-card-wide ul{max-width:800px}
.method{background:#fff}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.method-copy{max-width:440px;color:var(--muted);font-size:14px;margin-top:25px}.steps{border-top:1px solid #e2e9ed}.step{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #e2e9ed}.step>b{font:700 13px Manrope;color:var(--blue);padding-top:3px}.step h3{font:700 16px Manrope;color:var(--navy);margin:0 0 5px}.step p{font-size:12px;color:var(--muted);margin:0}
.contact{padding:25px 0 100px}.contact-box{background:linear-gradient(110deg,#0b1f33,#124464);padding:55px 60px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;overflow:hidden}.contact-box:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff18;border-radius:50%;right:20%;top:-220px;box-shadow:0 0 0 35px #ffffff08,0 0 0 70px #ffffff05}.contact-box .eyebrow{margin-bottom:15px}.contact-box h2{font-size:35px;color:#fff}.contact-box>div>p:last-child{font-size:12px;color:#c2d1dc;margin-bottom:0}.contact-action{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;white-space:nowrap}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:#dff6fb}.contact-action small{color:#b9cedb;font-size:12px;padding-left:4px}
.footer{background:#071827;color:#fff;padding:34px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer strong{font:800 14px Manrope;letter-spacing:.5px}.footer p{font-size:11px;color:#9db0bf;margin:3px 0 0}.footer-links{display:flex;gap:22px;font-size:11px;color:#c0ccd5}.footer-links a:hover{color:#70d2e5}.footer small{font-size:10px;color:#8195a5}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:53px;height:53px;border-radius:50%;background:#20b96a;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;box-shadow:0 5px 20px #0003;z-index:30}
@media(max-width:760px){.container{width:min(100% - 36px,600px)}.site-header{height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px 24px 24px;box-shadow:0 12px 20px #0b1f3315;flex-direction:column;align-items:stretch;gap:18px}.nav.open{display:flex}.nav .nav-cta{text-align:center}.hero{min-height:600px}.hero-content{padding:80px 0}.hero h1{font-size:43px;letter-spacing:-1.8px}.hero-copy{font-size:14px}.hero-coordinate{font-size:9px;right:18px}.section{padding:70px 0}.intro-grid,.method-grid{grid-template-columns:1fr;gap:25px}.section-heading{display:block}.section-heading>p{margin-top:18px}.section-heading h2{font-size:36px}.service-grid{grid-template-columns:1fr}.service-card-wide{grid-column:auto}.service-card{padding:25px 23px}.service-card ul{grid-template-columns:1fr}.contact{padding:0 0 70px}.contact-box{padding:38px 25px;display:block}.contact-box h2{font-size:29px}.contact-action{margin-top:25px}.footer-inner{display:block}.footer-links{margin:20px 0}.footer small{display:block}.hero-tags{font-size:9px;gap:8px}}


.lab{background:#f2f6f8;padding-top:88px}.lab-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.lab-heading h2{font-size:43px}.lab-heading>p{max-width:410px;color:var(--muted);font-size:13px;margin:0 0 5px}.lab-heading .eyebrow{margin-bottom:15px}.lab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.lab-panel{background:#fff;border:1px solid #e3ebef;display:grid;grid-template-columns:42% 1fr;min-height:190px}.lab-panel>div:last-child{padding:24px 22px;align-self:center}.lab-panel h3{font:700 16px Manrope;color:var(--navy);margin:0 0 8px}.lab-panel p{font-size:11px;color:var(--muted);margin:0}.lab-visual{min-height:190px;position:relative;display:flex;align-items:end;padding:16px;color:#d9f3f8;overflow:hidden;background:linear-gradient(145deg,#0b1f33,#176084)}.lab-visual:before{content:"";position:absolute;width:150px;height:150px;border:1px solid #b7e5ef55;border-radius:50%;left:12%;top:5%;box-shadow:0 0 0 18px #b7e5ef0d,0 0 0 38px #b7e5ef0a}.lab-visual:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 20px,#ffffff0a 21px 22px)}.lab-visual span,.lab-visual b{position:relative;z-index:1;font:700 9px Manrope;letter-spacing:1.6px}.lab-visual b{position:absolute;right:14px;top:12px;color:#7fd4e3;font-size:11px}.lab-visual-maintenance{background:linear-gradient(145deg,#15364a,#287c91)}.lab-visual-calibration{background:linear-gradient(145deg,#10283d,#426d84)}.lab-visual-firmware{background:linear-gradient(145deg,#102238,#15536d)}.lab-note{font-size:10px;color:#718391;margin:18px 0 0}
@media(max-width:760px){.lab-heading{display:block}.lab-heading>p{margin-top:18px}.lab-heading h2{font-size:36px}.lab-grid{grid-template-columns:1fr}.lab-panel{grid-template-columns:38% 1fr;min-height:170px}.lab-visual{min-height:170px}.lab-panel>div:last-child{padding:18px 15px}}

/* Fotografías reales y galería optimizada */
.hero-photo{position:absolute;inset:0 0 0 auto;width:54%;background:linear-gradient(90deg,#0b1f33 0%,#0b1f3366 38%,#0b1f3340 100%),url('assets/dron-aerea-urbana.webp') center/cover no-repeat;opacity:.56;mask-image:linear-gradient(90deg,transparent 0%,#000 28%)}
.lab-photo{background-image:linear-gradient(0deg,#071827a8,#07182722),var(--photo);background-position:center;background-size:cover}
.lab-photo:before,.lab-photo:after{display:none}
.gallery{background:#fff}.gallery-subtitle{font:700 19px Manrope;color:var(--navy);margin:38px 0 17px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo-grid figure{margin:0;background:#f2f6f8;border:1px solid #e3ebef;overflow:hidden}.photo-grid img{width:100%;height:260px;display:block;object-fit:contain;object-position:center;background:#e9eef1;padding:4px}.photo-grid figure:hover img{transform:none}.photo-grid figcaption{font-size:11px;color:#40586a;padding:11px 13px;min-height:42px}.field-gallery{grid-template-columns:repeat(3,1fr)}.field-gallery img{height:280px}.drone-gallery{grid-template-columns:repeat(3,1fr)}.drone-gallery img{height:260px}.drone-gallery .gallery-feature{grid-column:span 2}.drone-gallery .gallery-feature img{height:320px}.gallery-note{font-size:10px;color:#718391;margin-top:20px}
@media(max-width:760px){.hero-photo{width:100%;opacity:.28;mask-image:linear-gradient(90deg,#000,transparent)}.photo-grid,.field-gallery,.drone-gallery{grid-template-columns:1fr 1fr}.photo-grid img,.field-gallery img,.drone-gallery img,.drone-gallery .gallery-feature img{height:210px}.drone-gallery .gallery-feature{grid-column:span 2}.gallery-subtitle{margin-top:30px}}

/* Ajuste de galería: mostrar las fotografías completas */
.photo-grid figure { display:flex; flex-direction:column; }
.photo-grid img, .field-gallery img, .drone-gallery img, .drone-gallery .gallery-feature img {
  height:auto;
  max-height:420px;
  width:100%;
  object-fit:contain;
  background:#e9eef1;
}
.software-gallery { grid-template-columns:minmax(0, 760px); }
.software-gallery img { max-height:440px; }
@media(max-width:760px) {
  .photo-grid img, .field-gallery img, .drone-gallery img, .drone-gallery .gallery-feature img {
    height:auto;
    max-height:340px;
  }
}

/* Datos de contacto de la empresa */
.contact-action { white-space:normal; max-width:390px; }
.contact-details { position:relative; z-index:1; color:#d5e3eb; font-size:12px; line-height:1.65; }
.contact-details p { margin:4px 0; color:#d5e3eb; }
.contact-details a { color:#ffffff; text-decoration:underline; text-underline-offset:3px; }
.footer-inner > div:first-child p a { color:#9db0bf; }
@media(max-width:760px) {
  .contact-box { padding:36px 24px; flex-direction:column; align-items:flex-start; }
  .contact-action { max-width:100%; }
}
