
:root{
  --navy:#0A1322;
  --navy-2:#1E2D3B;
  --slate:#334155;
  --gray:#475569;
  --silver:#D1D5DB;
  --light:#E5E7EB;
  --offwhite:#F2F4F7;
  --white:#FFFFFF;
  --orange:#FF6A00;
  --orange-soft:#FF8B4D;
  --blue:#0D4F8B;
  --blue-light:#2587D9;
  --ink:#0F1D33;
  --container:1200px;
  --radius:16px;
  --shadow:0 18px 50px rgba(10,19,34,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.narrow{max-width:920px}
.skip-link{position:absolute;left:-9999px;top:10px;background:var(--orange);color:#fff;padding:12px 16px;z-index:999}
.skip-link:focus{left:10px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(10,19,34,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);transition:.25s}
.site-header.scrolled{box-shadow:0 12px 35px rgba(0,0,0,.22)}
.nav-shell{height:96px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center}
.brand-logo{width:230px;height:76px;object-fit:contain;object-position:left center}
.main-nav{display:flex;gap:30px;margin-left:auto;align-items:center}
.main-nav a{color:#fff;font-size:14px;position:relative;padding:36px 0}
.main-nav a::after{content:"";position:absolute;bottom:24px;left:0;width:0;height:2px;background:var(--orange);transition:.25s}
.main-nav a:hover::after,.main-nav a.active::after{width:100%}
.nav-cta{margin-left:10px}
.menu-toggle{display:none;background:none;border:0;padding:8px;margin-left:auto}
.menu-toggle span{display:block;width:27px;height:2px;background:white;margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 24px;border-radius:7px;border:1px solid transparent;font-weight:700;cursor:pointer;transition:.2s}
.btn-primary{color:#fff;background:linear-gradient(90deg,var(--orange),var(--orange-soft));box-shadow:0 14px 34px rgba(255,106,0,.22)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(255,106,0,.34)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.64);background:rgba(10,19,34,.28)}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-full{width:100%}
.section{padding:110px 0}
.section-light{background:linear-gradient(180deg,#fff,var(--offwhite))}
.section-dark{background:radial-gradient(circle at 50% 0,var(--navy-2),var(--navy) 65%);color:#fff}
.section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:56px}
.section-heading h2{font-size:clamp(42px,5vw,68px);line-height:1.08;letter-spacing:-.045em;margin:15px 0 0}
.section-heading h2 em{font-style:normal;color:var(--orange)}
.section-heading>p{font-size:18px;max-width:500px}
.section-label{font-size:13px;letter-spacing:.22em;font-weight:800;color:var(--orange)}
.blue-label{color:var(--blue)}
.blue-emphasis{color:var(--blue)!important}
.reveal{opacity:0;transform:translateY(28px);transition:.72s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}

/* HOME HERO — PREMIUM V1.1 */
.hero-home{position:relative;min-height:100svh;padding:158px 0 58px;overflow:hidden;isolation:isolate}
.hero-scene{position:absolute;inset:0;background:linear-gradient(135deg,#07111f 0%,#12253a 46%,#334155 100%);overflow:hidden}
.hero-vignette{position:absolute;inset:0;z-index:20;background:linear-gradient(90deg,rgba(10,19,34,.98) 0%,rgba(10,19,34,.90) 36%,rgba(10,19,34,.26) 72%),linear-gradient(180deg,rgba(10,19,34,.14),rgba(10,19,34,.48));pointer-events:none}
.hero-grid-lines{position:absolute;inset:0;z-index:2;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to right,transparent 3%,#000 40%,#000 100%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(8px);opacity:.7;animation:glowPulse 7s ease-in-out infinite alternate}
.hero-glow-one{width:420px;height:420px;left:45%;top:20%;background:radial-gradient(circle,rgba(255,214,166,.92),rgba(255,106,0,.22) 34%,transparent 72%)}
.hero-glow-two{width:520px;height:520px;right:-12%;bottom:-25%;background:radial-gradient(circle,rgba(51,65,85,.82),transparent 70%);animation-delay:1.8s}
.landscape-layer{position:absolute;right:-5%;width:77%;will-change:transform;transition:transform .15s linear}
.landscape-back{bottom:22%;height:50%;background:#475569;opacity:.58;clip-path:polygon(0 100%,0 70%,12% 45%,26% 58%,38% 22%,52% 56%,67% 18%,83% 55%,100% 28%,100% 100%)}
.landscape-mid{bottom:14%;height:49%;background:#334155;opacity:.86;clip-path:polygon(0 100%,0 78%,15% 55%,28% 68%,42% 26%,55% 63%,69% 30%,84% 66%,100% 38%,100% 100%)}
.landscape-front{bottom:6%;height:38%;background:#1E2D3B;clip-path:polygon(0 100%,0 74%,18% 56%,31% 72%,48% 35%,62% 70%,76% 48%,90% 78%,100% 61%,100% 100%)}
.reservoir-layer{position:absolute;left:27%;right:-4%;bottom:-1%;height:38%;background:linear-gradient(180deg,#475569 0%,#25384d 34%,#0A1322 100%);clip-path:polygon(0 17%,72% 0,100% 37%,100% 100%,0 100%);will-change:transform}
.dam-layer{position:absolute;right:-7%;bottom:-3%;width:60%;height:32%;background:linear-gradient(158deg,#D1D5DB 0%,#697688 18%,#334155 45%,#1E2D3B 78%);clip-path:polygon(5% 14%,100% 0,90% 100%,0 87%);box-shadow:-20px -15px 50px rgba(0,0,0,.25);will-change:transform}
.turbine{position:absolute;width:92px;height:168px;z-index:8;will-change:transform}
.turbine .mast{position:absolute;left:44px;top:44px;width:4px;height:124px;background:linear-gradient(#E5E7EB,#8793A3)}
.turbine .hub{position:absolute;left:38px;top:35px;width:16px;height:16px;border-radius:50%;background:#E5E7EB;animation:turbineRotate 14s linear infinite}
.turbine .hub i{position:absolute;left:7px;top:7px;width:3px;height:72px;background:linear-gradient(#E5E7EB,rgba(229,231,235,.35));transform-origin:1.5px 1.5px;border-radius:3px}
.turbine .hub i:nth-child(2){transform:rotate(120deg)}.turbine .hub i:nth-child(3){transform:rotate(240deg)}
.turbine-one{left:52%;bottom:28%;transform:scale(.82)}.turbine-two{left:64%;bottom:34%;transform:scale(1.03)}.turbine-three{left:75%;bottom:29%;transform:scale(.9)}
.solar-array{position:absolute;z-index:7;width:150px;height:74px;background:repeating-linear-gradient(90deg,#12243A 0 21px,#526277 22px 24px),repeating-linear-gradient(0deg,transparent 0 15px,#D1D5DB 16px 17px);transform:skewX(-18deg) rotate(-3deg);box-shadow:0 12px 24px rgba(0,0,0,.22);will-change:transform}
.solar-array-one{right:28%;bottom:24%}.solar-array-two{right:16%;bottom:18%;transform:scale(.82) skewX(-18deg) rotate(-3deg)}
.hero-drone{position:absolute;right:10%;top:19%;z-index:12;width:166px;height:62px;animation:droneFloat 4.6s ease-in-out infinite;will-change:transform}
.drone-body{position:absolute;left:37px;top:18px;width:92px;height:34px;border-radius:8px 8px 18px 18px;background:linear-gradient(180deg,#18283A,#07111F);box-shadow:0 12px 24px rgba(0,0,0,.38)}
.drone-arm{position:absolute;top:23px;width:82px;height:7px;background:#334155}.arm-left{left:-22px;transform:rotate(-8deg)}.arm-right{right:-22px;transform:rotate(8deg)}
.rotor{position:absolute;top:2px;width:94px;height:10px;border-radius:50%;background:rgba(209,213,219,.58);filter:blur(.3px);animation:rotorBlur .16s linear infinite alternate}.rotor-left{left:-34px}.rotor-right{right:-34px}
.drone-camera{position:absolute;left:68px;top:47px;width:31px;height:28px;border-radius:5px;background:#0A1322;border:1px solid #475569}
.data-network{position:absolute;right:-8%;bottom:-9%;z-index:11;width:69%;height:58%;opacity:.30;background-image:radial-gradient(circle,rgba(255,139,77,.9) 1px,transparent 1px);background-size:20px 20px;transform:perspective(540px) rotateX(58deg);mask-image:linear-gradient(135deg,transparent 5%,#000 40%)}
.particle-field{position:absolute;inset:0;z-index:10;pointer-events:none}
.hero-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(255,139,77,.8);box-shadow:0 0 12px rgba(255,106,0,.8);animation:particleDrift var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
.hero-layout{position:relative;z-index:30;display:grid;grid-template-columns:1.04fr .96fr;min-height:650px;align-items:center}
.hero-copy{max-width:670px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.32em}.eyebrow span{color:var(--orange)}
.hero-copy h1{font-size:clamp(58px,6.4vw,96px);line-height:1.01;letter-spacing:-.055em;margin:28px 0 26px;text-wrap:balance}
.hero-copy h1 em{font-style:normal;color:var(--orange);text-shadow:0 0 38px rgba(255,106,0,.18)}
.hero-description{font-size:19px;color:#E5E7EB;max-width:635px}.button-row{display:flex;gap:16px;margin-top:34px}
.hero-proof{display:flex;align-items:center;gap:10px;margin-top:28px!important;font-size:13px!important;color:#D1D5DB!important;letter-spacing:.02em}.hero-proof span{display:inline-block;width:27px;height:2px;background:var(--orange)}
.hero-callouts{position:relative;height:560px}.callout{position:absolute;min-width:185px;border-left:1px solid var(--orange);padding:8px 0 8px 16px;text-transform:uppercase;font-size:11px;letter-spacing:.04em;opacity:0;animation:calloutIn .75s ease forwards}.callout::after{content:"";position:absolute;left:-1px;top:50%;width:90px;height:1px;background:linear-gradient(90deg,var(--orange),transparent)}
.callout strong,.callout small{display:block}.callout small{color:#D1D5DB;margin-top:3px}.callout-dot{position:absolute;left:-4px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px rgba(255,106,0,.9)}
.callout-a{left:7%;top:27%;animation-delay:.55s}.callout-b{right:-3%;top:11%;animation-delay:.85s}.callout-c{left:42%;bottom:28%;animation-delay:1.05s}.callout-d{right:-5%;bottom:15%;animation-delay:1.25s}
.feature-strip{position:relative;z-index:35;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.18);border-radius:14px;background:linear-gradient(90deg,rgba(10,19,34,.84),rgba(30,45,59,.72));backdrop-filter:blur(12px);margin-top:-78px;box-shadow:0 18px 55px rgba(0,0,0,.18)}
.feature-strip article{display:flex;gap:16px;align-items:center;padding:23px;border-right:1px solid rgba(255,255,255,.16);transition:.25s}.feature-strip article:hover{background:rgba(255,255,255,.035)}.feature-strip article:last-child{border:0}.feature-strip span{font-size:38px;color:var(--orange)}.feature-strip strong,.feature-strip small{display:block}.feature-strip small{color:#D1D5DB}
.hero-scroll{position:absolute;z-index:36;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:#D1D5DB;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hero-scroll span{width:1px;height:27px;background:linear-gradient(var(--orange),transparent);animation:scrollHint 1.8s ease-in-out infinite}
.btn-shine{position:relative;overflow:hidden}.btn-shine::after{content:"";position:absolute;top:-40%;left:-45%;width:28%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);transform:rotate(18deg);transition:.65s}.btn-shine:hover::after{left:120%}
@keyframes turbineRotate{to{transform:rotate(360deg)}}
@keyframes droneFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}
@keyframes rotorBlur{from{transform:scaleX(.94)}to{transform:scaleX(1.07)}}
@keyframes glowPulse{from{transform:scale(.96);opacity:.56}to{transform:scale(1.08);opacity:.82}}
@keyframes particleDrift{from{transform:translate3d(0,0,0);opacity:.12}to{transform:translate3d(12px,-24px,0);opacity:.92}}
@keyframes calloutIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes scrollHint{0%,100%{transform:scaleY(.55);transform-origin:top;opacity:.35}50%{transform:scaleY(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.turbine .hub,.hero-drone,.rotor,.hero-glow,.hero-particle,.hero-scroll span{animation:none!important}.callout{opacity:1;animation:none}}

/* cards */
.capabilities-grid,.sector-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.visual-card{background:#fff;border:1px solid var(--light);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.visual-card-art{height:230px;display:grid;place-items:center;color:#fff;font-size:58px;position:relative}
.visual-card-art::after{content:"";position:absolute;inset:0;background-image:linear-gradient(135deg,transparent 55%,rgba(255,255,255,.12))}
.art-uas{background:linear-gradient(145deg,#334155,#0A1322)}
.art-renewable{background:linear-gradient(145deg,#475569,#153852)}
.art-agri{background:linear-gradient(145deg,#334155,#1a4238)}
.art-maintenance{background:linear-gradient(145deg,#475569,#202a35)}
.art-consulting{background:linear-gradient(145deg,#334155,#0f1d33)}
.visual-card-body{padding:24px}.visual-card h3{font-size:20px}.visual-card p{font-size:14px;color:var(--gray);min-height:110px}.visual-card a{font-weight:700;color:var(--orange)}
.sector-card{background:linear-gradient(180deg,var(--blue),#082d54);color:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.sector-art{height:260px;position:relative}
.sector-art::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,var(--blue))}
.sector-energy{background:linear-gradient(145deg,#c6d8e7,#f7b366 62%,#26415f)}
.sector-agriculture{background:linear-gradient(145deg,#a4d58a,#1f7f4c)}
.sector-infrastructure{background:linear-gradient(145deg,#c7d8e5,#526b80)}
.sector-industry{background:linear-gradient(145deg,#a8bac8,#1e2d3b 70%,#c37b38)}
.sector-airport{background:linear-gradient(145deg,#d6e1e9,#526b80 60%,#d99450)}
.sector-body{padding:0 22px 24px}.sector-body>span{display:grid;place-items:center;width:70px;height:70px;border:2px solid white;border-radius:50%;background:var(--navy);margin-top:-38px;position:relative;font-size:34px}.sector-body h3{font-size:21px;line-height:1.2}.sector-body p{font-size:14px;min-height:105px}.sector-body a{font-weight:700;color:#55c4ff}

/* Method and solutions */
.method-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;position:relative}
.method-grid::before{content:"";position:absolute;top:25px;left:4%;right:4%;height:1px;background:rgba(255,255,255,.25)}
.method-step{text-align:center;position:relative;padding:0 10px}.method-step b{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--silver);border-radius:50%;background:var(--navy);margin:0 auto 25px}.method-step>span{font-size:42px}.method-step h3{font-size:17px;min-height:54px}.method-step h3::after{content:"";display:block;width:22px;height:3px;background:var(--orange);margin:15px auto}.method-step p{font-size:13px;color:var(--silver)}
.solutions-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.solution-card{min-height:330px;display:flex;flex-direction:column;border-radius:10px;padding:28px;color:#fff;background:linear-gradient(160deg,var(--navy-2),var(--navy));border:1px solid rgba(255,255,255,.08)}
.solution-card>span{font-size:44px;color:var(--orange)}.solution-card h3{font-size:20px;line-height:1.25}.solution-card p{font-size:14px;color:var(--silver);flex:1}.solution-card a{font-weight:700;color:var(--orange-soft)}
.commitment-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden}
.commitment-grid article{text-align:center;padding:38px 25px;border-right:1px solid rgba(255,255,255,.16)}
.commitment-grid article:last-child{border:0}.commitment-grid span{font-size:54px}.commitment-grid h3{font-size:19px}.commitment-grid h3::after{content:"";display:block;width:22px;height:3px;background:var(--orange);margin:18px auto}.commitment-grid p{font-size:14px;color:var(--silver)}

/* CTA / Forms */
.cta-contact{padding:110px 0;background:radial-gradient(circle at 22% 30%,rgba(71,85,105,.5),transparent 36%),linear-gradient(180deg,#0d2944,var(--navy))}
.cta-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.cta-grid h2{font-size:clamp(46px,5.4vw,72px);line-height:1.08}.cta-grid h2 em{font-style:normal;color:var(--orange)}.cta-grid>div>p:not(.section-label){font-size:20px;max-width:520px}
.contact-card{padding:36px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(10,19,34,.88);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.contact-card h3,.contact-card h2{margin-top:0;font-size:28px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-card label{display:block;font-size:13px;margin-bottom:15px}.contact-card input,.contact-card select,.contact-card textarea{width:100%;margin-top:8px;padding:14px;border:1px solid var(--gray);border-radius:5px;background:#0d1c2c;color:#fff}
.form-message{min-height:20px;font-size:13px}
.light-card{background:#fff;color:var(--ink);border:1px solid var(--light);box-shadow:var(--shadow)}.light-card input,.light-card select,.light-card textarea{background:#fff;color:var(--ink);border-color:#cbd5e1}
.contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-info h2{font-size:48px}.contact-info>a,.contact-info>div{display:flex;flex-direction:column;padding:20px 0;border-bottom:1px solid var(--light)}.contact-info strong{color:var(--blue)}.contact-info span{font-size:18px}

/* Inner pages */
.page-hero{padding:200px 0 110px}.page-hero h1{font-size:clamp(50px,6vw,84px);line-height:1.05;letter-spacing:-.045em;margin:20px 0}.page-hero p:not(.section-label){font-size:20px;color:var(--silver)}.compact-hero{padding-bottom:80px}
.service-list{padding-top:60px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:70px 0;border-bottom:1px solid var(--light)}.service-detail.reverse>div:first-child{order:2}.service-detail h2{font-size:46px;line-height:1.1}.service-detail li{margin:10px 0}.service-art{height:420px;border-radius:18px;box-shadow:var(--shadow)}
.sector-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.sector-detail{padding:36px;border:1px solid var(--light);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.sector-detail span{font-size:52px;color:var(--blue)}.sector-detail h2{font-size:32px}
.split-content{display:grid;grid-template-columns:1fr 1fr;gap:80px}.split-content h2{font-size:48px;line-height:1.15}.split-content p{font-size:18px}
.principles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.principles-grid article{background:#fff;border:1px solid var(--light);border-radius:12px;padding:30px;text-align:center}.principles-grid span{font-size:46px;color:var(--blue)}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.resource-card{padding:36px;border:1px solid var(--light);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.resource-card>span{font-size:54px;color:var(--blue);font-weight:800}.tag{font-size:12px;letter-spacing:.16em;color:var(--orange);font-weight:800}
.legal-copy{max-width:850px}.legal-copy h2{margin-top:42px}.legal-copy a{color:var(--blue);font-weight:700}

/* Footer */
.site-footer{background:#07111f;color:#fff;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:38px}.footer-logo{width:220px;height:75px;object-fit:contain;object-position:left}.footer-brand p{font-size:14px;color:var(--silver);max-width:300px}.footer-col{display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--silver)}.footer-col h3{color:#fff;text-transform:uppercase;font-size:13px}.social-row{display:flex;gap:12px}.social-row a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gray);border-radius:50%}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:50px;border-top:1px solid var(--slate);font-size:12px;color:var(--silver)}.footer-bottom div{display:flex;gap:25px}
.whatsapp-fab{position:fixed;right:22px;bottom:22px;z-index:90;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#1fa855;color:#fff;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.25)}

@media(max-width:1080px){
  .main-nav,.nav-cta{display:none}.menu-toggle{display:block}.main-nav.open{display:flex;position:absolute;left:0;right:0;top:96px;background:var(--navy);flex-direction:column;align-items:flex-start;padding:24px}.main-nav.open a{padding:10px 0}
  .hero-layout{grid-template-columns:1fr}.hero-callouts{height:420px}.feature-strip,.capabilities-grid,.sector-grid,.solutions-grid,.commitment-grid{grid-template-columns:repeat(2,1fr)}
  .method-grid{grid-template-columns:repeat(3,1fr)}.method-grid::before{display:none}.cta-grid,.contact-page-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr 1fr}.service-detail{grid-template-columns:1fr}.service-detail.reverse>div:first-child{order:0}
}
@media(max-width:720px){
  .container{width:min(var(--container),calc(100% - 28px))}.brand-logo{width:180px}.nav-shell{height:82px}.main-nav.open{top:82px}
  .hero-home{padding-top:120px}.hero-copy h1{font-size:49px}.button-row{flex-direction:column;align-items:stretch}.hero-callouts{height:330px}.callout{display:none}
  .feature-strip,.capabilities-grid,.sector-grid,.solutions-grid,.commitment-grid,.method-grid,.principles-grid,.resource-grid,.sector-detail-grid{grid-template-columns:1fr}
  .feature-strip article,.commitment-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .section{padding:75px 0}.section-heading,.split-content{grid-template-columns:1fr;gap:24px}.section-heading h2,.split-content h2{font-size:42px}.form-two{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-hero{padding-top:150px}.service-art{height:300px}
}

@media(max-width:1080px){
  .hero-layout{grid-template-columns:1fr}.hero-callouts{height:410px}.hero-home{padding-top:140px}.turbine-one{left:42%}.turbine-two{left:59%}.turbine-three{left:74%}
}
@media(max-width:720px){
  .hero-home{padding-top:118px;min-height:auto}.hero-copy h1{font-size:49px}.hero-description{font-size:17px}.hero-callouts{height:315px}.callout{display:none}.hero-drone{right:5%;top:24%;transform:scale(.74)}.feature-strip{margin-top:-28px}.hero-scroll{display:none}.hero-proof{align-items:flex-start}
}


/* =========================================================
   ALTITUM — HERO FINAL APROBADO · V2.0
   ========================================================= */
.home .site-header{
  background:rgba(7,17,31,.92);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.home .nav-shell{height:104px}
.home .brand-logo{
  width:210px;
  height:94px;
  object-fit:contain;
  object-position:left center;
}
.home .main-nav{gap:34px}
.home .main-nav a{
  font-size:15px;
  padding:39px 0;
}
.home .main-nav a::after{bottom:25px}
.home .nav-cta{
  padding:17px 28px;
  border-radius:7px;
}

.hero-final{
  position:relative;
  min-height:100svh;
  padding:104px 0 0;
  overflow:hidden;
  isolation:isolate;
  background:#07111f;
}
.hero-final-bg{
  position:absolute;
  inset:104px 0 0 34%;
  z-index:-4;
  background:
    linear-gradient(90deg,rgba(7,17,31,.72) 0%,rgba(7,17,31,.16) 24%,rgba(7,17,31,.04) 60%),
    url("../assets/hero-final-scene-clean.jpg") center center / cover no-repeat;
  transform:scale(1.018);
  animation:heroSceneBreath 14s ease-in-out infinite alternate;
}
.hero-final-shade{
  position:absolute;
  inset:104px 0 0;
  z-index:-3;
  background:
    linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.99) 25%,rgba(7,17,31,.78) 43%,rgba(7,17,31,.18) 68%,rgba(7,17,31,.08) 100%),
    linear-gradient(180deg,rgba(7,17,31,.10),rgba(7,17,31,.32));
}
.hero-final-grid{
  position:absolute;
  inset:104px 0 0;
  z-index:-2;
  opacity:.22;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.75),transparent 58%);
}
.hero-final-layout{
  min-height:calc(100svh - 104px);
  display:flex;
  align-items:center;
  position:relative;
  z-index:4;
}
.hero-final-copy{
  width:min(650px,52vw);
  padding:56px 0 102px;
}
.hero-final .eyebrow{
  margin:0;
  font-size:13px;
  letter-spacing:.31em;
  font-weight:700;
  color:#fff;
}
.hero-final .eyebrow span{color:var(--orange)}
.hero-accent-line{
  display:block;
  width:48px;
  height:3px;
  margin:25px 0 24px;
  background:var(--orange);
}
.hero-final h1{
  margin:0;
  max-width:680px;
  color:#fff;
  font-size:clamp(62px,6.3vw,98px);
  font-weight:600;
  line-height:.99;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.hero-final h1 em{
  display:inline-block;
  font-style:normal;
  color:var(--orange);
  text-shadow:0 0 34px rgba(255,106,0,.18);
}
.hero-final .hero-description{
  max-width:590px;
  margin:28px 0 0;
  color:#d7dce3;
  font-size:18px;
  line-height:1.85;
}
.hero-final .button-row{
  display:flex;
  gap:22px;
  margin-top:34px;
}
.hero-final .btn{
  min-width:244px;
  padding:17px 26px;
}
.hero-final .hero-secondary{
  border-color:rgba(255,255,255,.62);
  background:rgba(7,17,31,.22);
  backdrop-filter:blur(8px);
}
.hero-final .hero-secondary:hover{
  border-color:#fff;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.hero-final .btn span{transition:transform .22s ease}
.hero-final .btn:hover span{transform:translateX(5px)}
.hero-coordinate{
  position:absolute;
  left:4.3%;
  bottom:50px;
  z-index:5;
  color:rgba(209,213,219,.52);
  font-size:11px;
  letter-spacing:.08em;
}
.hero-coordinate::after{
  content:"";
  display:inline-block;
  width:260px;
  height:1px;
  margin-left:18px;
  vertical-align:middle;
  background:linear-gradient(90deg,rgba(209,213,219,.48),transparent);
}
.hero-discover{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:6;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  transform:translateX(-50%);
  color:#d1d5db;
}
.hero-discover small{
  font-size:10px;
  letter-spacing:.30em;
}
.hero-discover b{
  color:var(--orange);
  font-size:30px;
  font-weight:400;
  line-height:1;
  animation:discoverBounce 1.6s ease-in-out infinite;
}
.discover-mouse{
  position:relative;
  width:23px;
  height:36px;
  border:2px solid rgba(255,255,255,.8);
  border-radius:15px;
}
.discover-mouse::after{
  content:"";
  position:absolute;
  top:7px;
  left:50%;
  width:3px;
  height:7px;
  border-radius:3px;
  background:var(--orange);
  transform:translateX(-50%);
  animation:mouseScroll 1.5s ease-in-out infinite;
}
@keyframes heroSceneBreath{
  from{transform:scale(1.018) translate3d(0,0,0)}
  to{transform:scale(1.045) translate3d(-.6%,.2%,0)}
}
@keyframes discoverBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(6px)}
}
@keyframes mouseScroll{
  0%{opacity:0;transform:translate(-50%,0)}
  30%{opacity:1}
  100%{opacity:0;transform:translate(-50%,11px)}
}

@media(max-width:1080px){
  .home .brand-logo{width:180px;height:82px}
  .hero-final-bg{left:24%;opacity:.72}
  .hero-final-shade{
    background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.96) 46%,rgba(7,17,31,.38) 100%);
  }
  .hero-final-copy{width:min(680px,68vw)}
  .hero-coordinate{display:none}
}
@media(max-width:760px){
  .home .nav-shell{height:82px}
  .home .brand-logo{width:150px;height:70px}
  .hero-final{padding-top:82px;min-height:880px}
  .hero-final-bg{
    inset:82px 0 0;
    background-position:68% center;
    opacity:.54;
  }
  .hero-final-shade{
    inset:82px 0 0;
    background:
      linear-gradient(180deg,rgba(7,17,31,.24),rgba(7,17,31,.90) 54%,#07111f 100%),
      linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.46) 100%);
  }
  .hero-final-grid{inset:82px 0 0}
  .hero-final-layout{
    min-height:798px;
    align-items:flex-start;
  }
  .hero-final-copy{
    width:100%;
    padding:110px 0 150px;
  }
  .hero-final h1{font-size:clamp(50px,14vw,66px)}
  .hero-final .hero-description{font-size:16px;line-height:1.72}
  .hero-final .button-row{flex-direction:column;align-items:stretch}
  .hero-final .btn{width:100%;min-width:0}
  .hero-discover{bottom:20px}
}
@media(prefers-reduced-motion:reduce){
  .hero-final-bg,.hero-discover b,.discover-mouse::after{animation:none!important}
}


/* =========================================================
   ALTITUM — LOGO HORIZONTAL OFICIAL
   ========================================================= */
.brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:15px;
  min-width:max-content;
}
.brand-symbol{
  display:block;
  width:58px;
  height:46px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.18));
}
.brand-wordmark{
  color:#fff;
  font-family:Manrope,Arial,sans-serif;
  font-size:25px;
  font-weight:600;
  line-height:1;
  letter-spacing:.26em;
  white-space:nowrap;
}
.home .brand-logo,
.footer-logo{
  display:none!important;
}
.home .brand-lockup{
  width:auto;
  height:auto;
}
.footer-lockup{
  margin-bottom:20px;
}
.footer-lockup .brand-symbol{
  width:50px;
  height:40px;
}
.footer-lockup .brand-wordmark{
  font-size:22px;
}
@media(max-width:760px){
  .brand-lockup{gap:10px}
  .brand-symbol{width:44px;height:36px}
  .brand-wordmark{font-size:19px;letter-spacing:.20em}
}


/* =========================================================
   ALTITUM — DRON REAL EN VUELO · V3.0
   ========================================================= */
.flying-drone-stage{
  position:absolute;
  inset:104px 0 0 38%;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
  perspective:900px;
}
.flying-drone{
  --cursor-x:0px;
  --cursor-y:0px;
  position:absolute;
  top:14%;
  left:42%;
  width:310px;
  transform-origin:50% 45%;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.32));
  will-change:transform;
  animation:droneFlightPath 13s cubic-bezier(.45,.05,.18,1) infinite;
}
.drone-aircraft{
  display:block;
  width:100%;
  height:auto;
  position:relative;
  z-index:3;
  transform-origin:center;
  animation:droneHoverBody 2.3s ease-in-out infinite;
}
.drone-shadow{
  position:absolute;
  z-index:0;
  left:19%;
  right:19%;
  bottom:-7%;
  height:18px;
  border-radius:50%;
  background:rgba(0,0,0,.36);
  filter:blur(12px);
  animation:droneShadowPulse 2.3s ease-in-out infinite;
}
.rotor{
  position:absolute;
  z-index:4;
  top:7%;
  width:35%;
  height:11px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(209,213,219,.48),rgba(209,213,219,.09) 55%,transparent 72%);
  filter:blur(1.4px);
  opacity:.72;
  animation:rotorSpinBlur .11s linear infinite;
}
.rotor-left{left:1%;transform:rotate(-4deg)}
.rotor-right{right:1%;transform:rotate(4deg)}
.drone-status-light{
  position:absolute;
  z-index:5;
  right:11%;
  top:46%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 5px var(--orange),0 0 15px rgba(255,106,0,.9);
  animation:statusBlink 1.2s steps(2,end) infinite;
}
@keyframes droneFlightPath{
  0%{
    transform:translate3d(calc(-10% + var(--cursor-x)),calc(4% + var(--cursor-y)),0) rotateZ(-2deg) rotateY(-4deg) scale(.96);
  }
  12%{
    transform:translate3d(calc(2% + var(--cursor-x)),calc(-2% + var(--cursor-y)),20px) rotateZ(1deg) rotateY(2deg) scale(1);
  }
  26%{
    transform:translate3d(calc(12% + var(--cursor-x)),calc(1% + var(--cursor-y)),38px) rotateZ(2.4deg) rotateY(5deg) scale(1.025);
  }
  38%{
    transform:translate3d(calc(12% + var(--cursor-x)),calc(1% + var(--cursor-y)),38px) rotateZ(.4deg) rotateY(0deg) scale(1.025);
  }
  52%{
    transform:translate3d(calc(-1% + var(--cursor-x)),calc(-7% + var(--cursor-y)),20px) rotateZ(-2.8deg) rotateY(-5deg) scale(1.01);
  }
  66%{
    transform:translate3d(calc(-13% + var(--cursor-x)),calc(-2% + var(--cursor-y)),0) rotateZ(-2deg) rotateY(-3deg) scale(.98);
  }
  78%{
    transform:translate3d(calc(-13% + var(--cursor-x)),calc(-2% + var(--cursor-y)),0) rotateZ(0deg) rotateY(0deg) scale(.98);
  }
  90%{
    transform:translate3d(calc(-5% + var(--cursor-x)),calc(5% + var(--cursor-y)),0) rotateZ(2deg) rotateY(3deg) scale(.96);
  }
  100%{
    transform:translate3d(calc(-10% + var(--cursor-x)),calc(4% + var(--cursor-y)),0) rotateZ(-2deg) rotateY(-4deg) scale(.96);
  }
}
@keyframes droneHoverBody{
  0%,100%{transform:translateY(0) rotateX(0deg)}
  50%{transform:translateY(-8px) rotateX(1.5deg)}
}
@keyframes droneShadowPulse{
  0%,100%{transform:scale(.9);opacity:.26}
  50%{transform:scale(1.1);opacity:.14}
}
@keyframes rotorSpinBlur{
  from{transform:scaleX(.88) rotate(0deg)}
  to{transform:scaleX(1.12) rotate(360deg)}
}
@keyframes statusBlink{
  0%,45%{opacity:1}
  46%,100%{opacity:.2}
}

@media(max-width:1080px){
  .flying-drone-stage{left:27%}
  .flying-drone{width:250px;left:54%;top:18%}
}
@media(max-width:760px){
  .flying-drone-stage{inset:82px 0 0}
  .flying-drone{
    width:190px;
    top:17%;
    left:53%;
    opacity:.92;
    animation-duration:11s;
  }
}
@media(prefers-reduced-motion:reduce){
  .flying-drone{
    animation:none!important;
    transform:translate3d(0,0,0)!important;
  }
  .drone-aircraft,
  .drone-shadow,
  .rotor,
  .drone-status-light{
    animation:none!important;
  }
}


/* =========================================================
   ALTITUM — SPRINT 2.1 · HEADER PREMIUM
   ========================================================= */
.premium-header{
  --header-height:104px;
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  background:rgba(7,17,31,.88);
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  transition:
    background-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease,
    border-color .28s ease;
}
.premium-header.scrolled{
  background:rgba(7,17,31,.96);
  border-bottom-color:rgba(255,255,255,.14);
  box-shadow:0 14px 40px rgba(0,0,0,.24);
}
.premium-header .nav-shell{
  height:var(--header-height);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:42px;
}
.premium-header .brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:15px;
  min-width:max-content;
  transition:transform .25s ease,opacity .25s ease;
}
.premium-header .brand-lockup:hover{
  transform:translateY(-1px);
  opacity:.96;
}
.premium-header .brand-symbol{
  width:56px;
  height:46px;
  object-fit:contain;
  filter:drop-shadow(0 3px 9px rgba(0,0,0,.22));
}
.premium-header .brand-wordmark{
  color:#fff;
  font-size:25px;
  font-weight:600;
  letter-spacing:.27em;
  line-height:1;
}
.premium-header .main-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:34px;
  margin:0;
}
.premium-header .main-nav a{
  position:relative;
  padding:40px 0 36px;
  color:rgba(255,255,255,.90);
  font-size:15px;
  font-weight:500;
  transition:color .22s ease;
}
.premium-header .main-nav a::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:23px;
  width:0;
  height:2px;
  background:var(--orange);
  transform:translateX(-50%);
  transition:width .26s ease;
}
.premium-header .main-nav a::after{
  display:none!important;
}
.premium-header .main-nav a:hover,
.premium-header .main-nav a.active{
  color:#fff;
}
.premium-header .main-nav a:hover::before,
.premium-header .main-nav a.active::before{
  width:100%;
}
.premium-header .header-cta{
  min-width:238px;
  padding:17px 24px;
  border-radius:7px;
  justify-content:space-between;
  overflow:hidden;
  isolation:isolate;
}
.premium-header .header-cta::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.30) 45%,transparent 70%);
  transform:translateX(-125%);
  transition:transform .65s ease;
}
.premium-header .header-cta:hover::before{
  transform:translateX(125%);
}
.premium-header .header-cta:hover{
  transform:translateY(-2px);
}
.premium-header .cta-arrow{
  display:inline-block;
  font-size:22px;
  transition:transform .22s ease;
}
.premium-header .header-cta:hover .cta-arrow{
  transform:translateX(5px);
}
.header-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  overflow:hidden;
}
.header-progress span{
  display:block;
  width:0%;
  height:100%;
  background:linear-gradient(90deg,var(--orange),var(--orange-soft));
  box-shadow:0 0 12px rgba(255,106,0,.72);
  transition:width .08s linear;
}

@media(max-width:1080px){
  .premium-header{
    --header-height:88px;
  }
  .premium-header .nav-shell{
    grid-template-columns:auto auto;
  }
  .premium-header .brand-symbol{
    width:50px;
    height:40px;
  }
  .premium-header .brand-wordmark{
    font-size:22px;
  }
  .premium-header .menu-toggle{
    display:block;
    justify-self:end;
    z-index:3;
  }
  .premium-header .main-nav{
    display:none;
  }
  .premium-header .main-nav.open{
    position:absolute;
    top:var(--header-height);
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:18px 24px 28px;
    background:rgba(7,17,31,.98);
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.10);
    box-shadow:0 22px 40px rgba(0,0,0,.28);
  }
  .premium-header .main-nav a{
    padding:15px 0;
  }
  .premium-header .main-nav a::before{
    left:0;
    bottom:8px;
    transform:none;
  }
  .premium-header .main-nav a:hover::before,
  .premium-header .main-nav a.active::before{
    width:38px;
  }
  .premium-header .nav-cta{
    display:none;
  }
}
@media(max-width:640px){
  .premium-header{
    --header-height:80px;
  }
  .premium-header .nav-shell{
    gap:18px;
  }
  .premium-header .brand-lockup{
    gap:10px;
  }
  .premium-header .brand-symbol{
    width:43px;
    height:35px;
  }
  .premium-header .brand-wordmark{
    font-size:18px;
    letter-spacing:.20em;
  }
}


/* =========================================================
   ALTITUM — SPRINT 2.2 FINAL LIMPIO
   ========================================================= */
.hero-final-clean{
  position:relative;
  min-height:100svh;
  padding-top:104px;
  overflow:hidden;
  isolation:isolate;
  background:#07111f;
}
.hero-final-clean-scene{
  position:absolute;
  inset:104px 0 0 31%;
  z-index:-5;
  background-image:image-set(url("../assets/hero-sprint-2-2-final.webp") type("image/webp"),url("../assets/hero-sprint-2-2-final.jpg") type("image/jpeg"));background-position:center center;background-size:cover;background-repeat:no-repeat;
  transform:scale(1.012);
  animation:heroSceneBreath 18s ease-in-out infinite alternate;
}
.hero-final-clean-blend{
  position:absolute;
  inset:104px 0 0;
  z-index:-4;
  pointer-events:none;
  background:
    radial-gradient(
      ellipse at 25% 49%,
      rgba(7,17,31,.99) 0%,
      rgba(7,17,31,.95) 28%,
      rgba(7,17,31,.72) 45%,
      rgba(7,17,31,.38) 57%,
      rgba(7,17,31,.12) 69%,
      transparent 80%
    ),
    linear-gradient(
      90deg,
      #07111f 0%,
      rgba(7,17,31,.98) 22%,
      rgba(7,17,31,.84) 36%,
      rgba(7,17,31,.50) 49%,
      rgba(7,17,31,.18) 63%,
      transparent 78%
    ),
    linear-gradient(180deg,rgba(7,17,31,.02),rgba(7,17,31,.10));
}
.hero-final-clean-grid{
  position:absolute;
  inset:104px 0 0;
  z-index:-3;
  pointer-events:none;
  opacity:.10;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent 62%);
}
.hero-final-clean-layout{
  position:relative;
  z-index:10;
  min-height:calc(100svh - 104px);
  display:flex;
  align-items:center;
}
.hero-final-clean-copy{
  width:min(660px,47vw);
  padding:66px 0 112px;
}
.hero-final-clean-copy .eyebrow{
  margin:0;
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.305em;
}
.hero-final-clean-copy .eyebrow span{
  color:var(--orange);
}
.hero-final-clean-copy .hero-accent-line{
  display:block;
  width:49px;
  height:3px;
  margin:24px 0 26px;
  border-radius:2px;
  background:var(--orange);
}
.hero-final-clean-copy h1{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin:0;
  color:#fff;
  font-size:clamp(62px,6vw,94px);
  font-weight:600;
  line-height:.995;
  letter-spacing:-.058em;
  text-shadow:none!important;
}
.hero-final-clean-copy h1 span,
.hero-final-clean-copy h1 em{
  display:block;
  white-space:nowrap;
  text-shadow:none!important;
}
.hero-final-clean-copy h1 em{
  margin-top:5px;
  color:var(--orange);
  font-style:normal;
}
.hero-final-clean-copy .hero-description{
  width:min(590px,100%);
  margin:29px 0 0;
  color:#d9dee5;
  font-size:18px;
  line-height:1.82;
}
.hero-actions-final{
  display:flex;
  gap:22px;
  margin-top:34px;
}
.hero-actions-final .btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  min-width:245px;
  min-height:62px;
  padding:17px 24px;
  border-radius:7px;
  overflow:hidden;
}
.hero-actions-final .btn b{
  font-size:21px;
  font-weight:400;
  transition:transform .24s ease;
}
.hero-actions-final .btn:hover b{
  transform:translateX(6px);
}
.hero-primary-cta::after{
  content:"";
  position:absolute;
  top:-30%;
  bottom:-30%;
  left:-42%;
  width:32%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);
  transition:left .65s ease;
}
.hero-primary-cta:hover::after{left:116%}
.hero-secondary-cta{
  border-color:rgba(255,255,255,.60);
  background:rgba(7,17,31,.32);
  backdrop-filter:blur(6px);
}
.hero-secondary-cta:hover{
  color:#fff;
  border-color:#fff;
  background:rgba(255,255,255,.08);
}

/* DRONE FLIGHT */
.drone-flight-zone{
  position:absolute;
  inset:104px 0 0 35%;
  z-index:8;
  pointer-events:none;
  overflow:hidden;
  perspective:1200px;
}
.drone-flight{
  --cursor-x:0px;
  --cursor-y:0px;
  position:absolute;
  top:8%;
  left:45%;
  width:305px;
  transform-origin:50% 45%;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.34));
  will-change:transform;
  animation:droneFlightWide 24s cubic-bezier(.45,.05,.18,1) infinite;
}
.drone-aircraft{
  position:relative;
  z-index:3;
  display:block;
  width:100%;
  height:auto;
  animation:droneHoverBody 2.25s ease-in-out infinite;
}
.drone-shadow{
  position:absolute;
  z-index:0;
  left:18%;
  right:18%;
  bottom:-8%;
  height:18px;
  border-radius:50%;
  background:rgba(0,0,0,.34);
  filter:blur(12px);
  animation:droneShadowPulse 2.25s ease-in-out infinite;
}
.rotor{
  position:absolute;
  z-index:4;
  top:7%;
  width:35%;
  height:11px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(209,213,219,.48),rgba(209,213,219,.09) 55%,transparent 72%);
  filter:blur(1.4px);
  opacity:.72;
  animation:rotorSpinBlur .11s linear infinite;
}
.rotor-left{left:1%;transform:rotate(-4deg)}
.rotor-right{right:1%;transform:rotate(4deg)}
.drone-status-light{
  position:absolute;
  z-index:5;
  right:11%;
  top:46%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 5px var(--orange),0 0 15px rgba(255,106,0,.9);
  animation:statusBlink 1.2s steps(2,end) infinite;
}
@keyframes droneFlightWide{
  0%{
    transform:translate3d(calc(-42% + var(--cursor-x)),calc(20% + var(--cursor-y)),0) rotateZ(-5deg) rotateY(-7deg) scale(.78);
  }
  10%{
    transform:translate3d(calc(-18% + var(--cursor-x)),calc(2% + var(--cursor-y)),30px) rotateZ(2deg) rotateY(4deg) scale(.92);
  }
  20%{
    transform:translate3d(calc(12% + var(--cursor-x)),calc(-12% + var(--cursor-y)),70px) rotateZ(5deg) rotateY(8deg) scale(1.06);
  }
  30%{
    transform:translate3d(calc(38% + var(--cursor-x)),calc(-2% + var(--cursor-y)),90px) rotateZ(1deg) rotateY(2deg) scale(1.13);
  }
  40%{
    transform:translate3d(calc(44% + var(--cursor-x)),calc(19% + var(--cursor-y)),65px) rotateZ(-6deg) rotateY(-7deg) scale(1.04);
  }
  52%{
    transform:translate3d(calc(12% + var(--cursor-x)),calc(36% + var(--cursor-y)),30px) rotateZ(-8deg) rotateY(-10deg) scale(.94);
  }
  64%{
    transform:translate3d(calc(-28% + var(--cursor-x)),calc(29% + var(--cursor-y)),0) rotateZ(-3deg) rotateY(-4deg) scale(.82);
  }
  76%{
    transform:translate3d(calc(-42% + var(--cursor-x)),calc(4% + var(--cursor-y)),25px) rotateZ(6deg) rotateY(7deg) scale(.87);
  }
  88%{
    transform:translate3d(calc(-10% + var(--cursor-x)),calc(-15% + var(--cursor-y)),60px) rotateZ(5deg) rotateY(7deg) scale(1.01);
  }
  100%{
    transform:translate3d(calc(-42% + var(--cursor-x)),calc(20% + var(--cursor-y)),0) rotateZ(-5deg) rotateY(-7deg) scale(.78);
  }
}

@media(max-width:1100px){
  .hero-final-clean-scene{left:18%}
  .hero-final-clean-copy{width:min(650px,66vw)}
  .drone-flight-zone{left:24%}
  .drone-flight{width:250px}
}
@media(max-width:820px){
  .hero-final-clean{min-height:900px}
  .hero-final-clean-scene{
    inset:88px 0 0;
    background-position:60% center;
  }
  .hero-final-clean-blend{
    inset:88px 0 0;
    background:
      linear-gradient(180deg,rgba(7,17,31,.22),rgba(7,17,31,.90) 57%,#07111f 100%),
      linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.52) 100%);
  }
  .hero-final-clean-grid{inset:88px 0 0}
  .hero-final-clean-layout{
    min-height:812px;
    align-items:flex-start;
  }
  .hero-final-clean-copy{
    width:100%;
    padding:105px 0 190px;
  }
  .hero-final-clean-copy h1{
    font-size:clamp(52px,10vw,75px);
  }
  .drone-flight-zone{inset:88px 0 0}
  .drone-flight{
    width:205px;
    left:52%;
    top:17%;
    animation-duration:19s;
  }
}
@media(max-width:620px){
  .hero-final-clean-copy .eyebrow{
    font-size:10px;
    letter-spacing:.23em;
  }
  .hero-final-clean-copy h1{
    font-size:clamp(46px,13vw,62px);
  }
  .hero-final-clean-copy h1 span,
  .hero-final-clean-copy h1 em{
    white-space:normal;
  }
  .hero-final-clean-copy .hero-description{
    font-size:16px;
    line-height:1.7;
  }
  .hero-actions-final{
    flex-direction:column;
    gap:14px;
  }
  .hero-actions-final .btn{
    width:100%;
    min-width:0;
  }
}
@media(prefers-reduced-motion:reduce){
  .drone-flight{
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   ALTITUM — SPRINT 2.3 · ESCENA CINEMATOGRÁFICA
   ========================================================= */
.hero-final-clean{
  --scene-x:0px;
  --scene-y:0px;
  --light-x:0px;
  --light-y:0px;
}
.hero-final-clean-scene{
  filter:
    saturate(1.04)
    contrast(1.06)
    brightness(1.02);
  transform:
    translate3d(var(--scene-x),var(--scene-y),0)
    scale(1.035);
  animation:cinematicSceneBreath 20s ease-in-out infinite alternate;
  will-change:transform,filter;
}
@keyframes cinematicSceneBreath{
  0%{
    filter:saturate(1.02) contrast(1.05) brightness(1);
  }
  100%{
    filter:saturate(1.08) contrast(1.08) brightness(1.035);
  }
}

/* Nubes suaves, sin tapar la escena */
.cinematic-clouds{
  position:absolute;
  inset:104px 0 0 31%;
  z-index:-2;
  pointer-events:none;
  opacity:.24;
  mix-blend-mode:screen;
  will-change:transform,opacity;
}
.cinematic-clouds::before,
.cinematic-clouds::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(42px);
  background:rgba(209,213,219,.16);
}
.clouds-back{
  animation:cloudDriftBack 42s linear infinite;
}
.clouds-back::before{
  width:420px;
  height:90px;
  left:7%;
  top:15%;
}
.clouds-back::after{
  width:520px;
  height:120px;
  right:9%;
  top:22%;
}
.clouds-front{
  opacity:.16;
  animation:cloudDriftFront 55s linear infinite reverse;
}
.clouds-front::before{
  width:560px;
  height:130px;
  left:31%;
  top:7%;
}
.clouds-front::after{
  width:380px;
  height:90px;
  right:3%;
  top:34%;
}
@keyframes cloudDriftBack{
  from{transform:translate3d(-3%,0,0)}
  to{transform:translate3d(5%,1%,0)}
}
@keyframes cloudDriftFront{
  from{transform:translate3d(-2%,1%,0)}
  to{transform:translate3d(6%,-1%,0)}
}

/* Sol dinámico sobre el horizonte */
.cinematic-sun-glow{
  position:absolute;
  z-index:-1;
  left:63%;
  top:42%;
  width:240px;
  height:240px;
  border-radius:50%;
  pointer-events:none;
  transform:
    translate3d(var(--light-x),var(--light-y),0)
    translate(-50%,-50%);
  background:
    radial-gradient(circle,
      rgba(255,255,255,.30) 0%,
      rgba(255,184,105,.22) 18%,
      rgba(255,139,77,.12) 38%,
      transparent 70%);
  mix-blend-mode:screen;
  filter:blur(5px);
  animation:sunPulse 7s ease-in-out infinite;
}
@keyframes sunPulse{
  0%,100%{opacity:.68;transform:translate3d(var(--light-x),var(--light-y),0) translate(-50%,-50%) scale(.96)}
  50%{opacity:.95;transform:translate3d(var(--light-x),var(--light-y),0) translate(-50%,-50%) scale(1.05)}
}

/* Bruma atmosférica entre montañas y represa */
.cinematic-haze{
  position:absolute;
  inset:104px 0 0 39%;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent 0 37%,rgba(209,213,219,.08) 49%,rgba(71,85,105,.04) 61%,transparent 77%);
  filter:blur(10px);
  animation:hazeMove 16s ease-in-out infinite alternate;
}
@keyframes hazeMove{
  from{transform:translateY(0);opacity:.56}
  to{transform:translateY(-8px);opacity:.78}
}

/* Reflejo cálido sobre paneles y represa */
.cinematic-reflection{
  position:absolute;
  z-index:1;
  right:8%;
  bottom:3%;
  width:52%;
  height:37%;
  pointer-events:none;
  opacity:.18;
  clip-path:polygon(13% 5%,100% 0,89% 100%,0 93%);
  background:
    linear-gradient(118deg,
      transparent 12%,
      rgba(255,139,77,.05) 34%,
      rgba(255,255,255,.22) 47%,
      rgba(255,139,77,.08) 55%,
      transparent 72%);
  mix-blend-mode:screen;
  transform:translateX(-42%);
  animation:reflectionSweep 11s ease-in-out infinite;
}
@keyframes reflectionSweep{
  0%,100%{transform:translateX(-46%);opacity:.08}
  50%{transform:translateX(38%);opacity:.26}
}

/* Viñeta para conservar foco y contraste */
.cinematic-vignette{
  position:absolute;
  inset:104px 0 0;
  z-index:6;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 65% 48%,transparent 44%,rgba(7,17,31,.10) 72%,rgba(7,17,31,.28) 100%),
    linear-gradient(180deg,rgba(7,17,31,.04),transparent 20%,transparent 77%,rgba(7,17,31,.16));
}

/* Patrón técnico aún más discreto */
.hero-final-clean-grid{
  opacity:.075;
  background-size:72px 72px;
}

/* El contenido y dron siempre quedan sobre la atmósfera */
.hero-final-clean-layout{z-index:12}
.drone-flight-zone{z-index:13}
.hero-coordinate,.hero-discover{z-index:14}

@media(max-width:1100px){
  .cinematic-clouds{left:18%}
  .cinematic-haze{left:22%}
  .cinematic-sun-glow{left:66%;top:42%}
}
@media(max-width:820px){
  .cinematic-clouds,
  .cinematic-haze,
  .cinematic-vignette{
    inset-top:88px;
  }
  .cinematic-reflection{
    display:none;
  }
  .cinematic-sun-glow{
    left:67%;
    top:34%;
    width:190px;
    height:190px;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-final-clean-scene,
  .cinematic-clouds,
  .cinematic-sun-glow,
  .cinematic-haze,
  .cinematic-reflection{
    animation:none!important;
  }
}


/* =========================================================
   ALTITUM — SPRINT 2.4 · DRONE ENGINE
   ========================================================= */
.drone-flight-zone{
  position:absolute;
  inset:104px 0 0 34%;
  z-index:13;
  pointer-events:none;
  overflow:hidden;
  perspective:1400px;
}
.drone-flight-path{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
}
.drone-flight{
  --cursor-x:0px;
  --cursor-y:0px;
  --bank:0deg;
  --pitch:0deg;
  --scale:1;
  position:absolute;
  left:0;
  top:0;
  width:310px;
  offset-path:path("M 130 430 C 250 120, 590 40, 930 120 C 1190 190, 1100 430, 870 520 C 640 610, 360 570, 230 400 C 140 280, 190 160, 410 100 C 680 20, 1030 40, 1180 230 C 1280 390, 1090 600, 760 620 C 430 645, 160 560, 130 430");
  offset-rotate:0deg;
  offset-distance:0%;
  transform-origin:50% 45%;
  will-change:offset-distance,transform,filter;
  animation:droneOrbit 31s linear infinite;
}
.drone-body-wrap{
  position:relative;
  width:100%;
  transform-origin:50% 45%;
  animation:
    droneBanking 31s linear infinite,
    droneMicroHover 2.4s ease-in-out infinite;
}
.drone-aircraft{
  display:block;
  width:100%;
  height:auto;
  position:relative;
  z-index:4;
  filter:
    drop-shadow(0 15px 22px rgba(0,0,0,.34))
    saturate(1.05)
    contrast(1.03);
}
.drone-depth-shadow{
  position:absolute;
  z-index:0;
  left:18%;
  right:18%;
  bottom:-10%;
  height:20px;
  border-radius:50%;
  background:rgba(0,0,0,.36);
  filter:blur(13px);
  transform-origin:center;
  animation:droneDepthShadow 31s linear infinite;
}
.rotor{
  position:absolute;
  z-index:5;
  top:7%;
  width:36%;
  height:12px;
  border-radius:50%;
  opacity:.78;
  filter:blur(1.6px);
  background:
    radial-gradient(ellipse,
      rgba(229,231,235,.52) 0%,
      rgba(229,231,235,.16) 52%,
      transparent 74%);
  animation:rotorBlurSpin .085s linear infinite;
}
.rotor-left{left:0}
.rotor-right{right:0}
.nav-light,
.drone-status-light{
  position:absolute;
  z-index:7;
  width:5px;
  height:5px;
  border-radius:50%;
}
.nav-light-left{
  left:8%;
  top:42%;
  background:#ff3d3d;
  box-shadow:0 0 6px #ff3d3d,0 0 16px rgba(255,61,61,.85);
  animation:navBlinkLeft 1.6s steps(2,end) infinite;
}
.nav-light-right{
  right:8%;
  top:42%;
  background:#39d98a;
  box-shadow:0 0 6px #39d98a,0 0 16px rgba(57,217,138,.85);
  animation:navBlinkRight 1.6s steps(2,end) infinite;
}
.drone-status-light{
  right:13%;
  top:54%;
  background:var(--orange);
  box-shadow:0 0 6px var(--orange),0 0 16px rgba(255,106,0,.9);
  animation:statusBlink 1.2s steps(2,end) infinite;
}
@keyframes droneOrbit{
  0%{offset-distance:0%;transform:translate3d(var(--cursor-x),var(--cursor-y),0) scale(.72)}
  7%{offset-distance:7%;transform:translate3d(var(--cursor-x),var(--cursor-y),20px) scale(.86)}
  14%{offset-distance:14%;transform:translate3d(var(--cursor-x),var(--cursor-y),60px) scale(1.02)}
  22%{offset-distance:22%;transform:translate3d(var(--cursor-x),var(--cursor-y),90px) scale(1.14)}
  29%{offset-distance:29%;transform:translate3d(var(--cursor-x),var(--cursor-y),90px) scale(1.14)}
  37%{offset-distance:37%;transform:translate3d(var(--cursor-x),var(--cursor-y),55px) scale(1.03)}
  46%{offset-distance:46%;transform:translate3d(var(--cursor-x),var(--cursor-y),15px) scale(.88)}
  54%{offset-distance:54%;transform:translate3d(var(--cursor-x),var(--cursor-y),0) scale(.74)}
  62%{offset-distance:62%;transform:translate3d(var(--cursor-x),var(--cursor-y),20px) scale(.84)}
  71%{offset-distance:71%;transform:translate3d(var(--cursor-x),var(--cursor-y),70px) scale(1.05)}
  79%{offset-distance:79%;transform:translate3d(var(--cursor-x),var(--cursor-y),100px) scale(1.16)}
  86%{offset-distance:86%;transform:translate3d(var(--cursor-x),var(--cursor-y),100px) scale(1.16)}
  93%{offset-distance:93%;transform:translate3d(var(--cursor-x),var(--cursor-y),45px) scale(.97)}
  100%{offset-distance:100%;transform:translate3d(var(--cursor-x),var(--cursor-y),0) scale(.72)}
}
@keyframes droneBanking{
  0%{transform:rotateZ(-7deg) rotateY(-8deg) rotateX(2deg)}
  7%{transform:rotateZ(-2deg) rotateY(-3deg) rotateX(1deg)}
  14%{transform:rotateZ(5deg) rotateY(7deg) rotateX(-1deg)}
  22%{transform:rotateZ(8deg) rotateY(10deg) rotateX(-2deg)}
  29%{transform:rotateZ(0deg) rotateY(0deg) rotateX(0deg)}
  37%{transform:rotateZ(-6deg) rotateY(-8deg) rotateX(2deg)}
  46%{transform:rotateZ(-8deg) rotateY(-10deg) rotateX(3deg)}
  54%{transform:rotateZ(-2deg) rotateY(-3deg) rotateX(1deg)}
  62%{transform:rotateZ(6deg) rotateY(8deg) rotateX(-2deg)}
  71%{transform:rotateZ(8deg) rotateY(10deg) rotateX(-2deg)}
  79%{transform:rotateZ(2deg) rotateY(3deg) rotateX(0deg)}
  86%{transform:rotateZ(0deg) rotateY(0deg) rotateX(0deg)}
  93%{transform:rotateZ(-5deg) rotateY(-6deg) rotateX(2deg)}
  100%{transform:rotateZ(-7deg) rotateY(-8deg) rotateX(2deg)}
}
@keyframes droneMicroHover{
  0%,100%{margin-top:0}
  50%{margin-top:-8px}
}
@keyframes droneDepthShadow{
  0%,54%,100%{transform:scale(.72);opacity:.12}
  22%,29%,79%,86%{transform:scale(1.15);opacity:.30}
  37%,71%,93%{transform:scale(.94);opacity:.22}
}
@keyframes rotorBlurSpin{
  from{transform:scaleX(.88) rotate(0deg)}
  to{transform:scaleX(1.14) rotate(360deg)}
}
@keyframes navBlinkLeft{
  0%,40%{opacity:1}
  41%,100%{opacity:.25}
}
@keyframes navBlinkRight{
  0%,50%{opacity:.25}
  51%,100%{opacity:1}
}

/* Ruta luminosa sutil, sin sobrecargar */
.drone-flight-zone::after{
  content:"";
  position:absolute;
  inset:5% 4% 7% 3%;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:48% 52% 46% 54% / 40% 42% 58% 60%;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.12));
  opacity:.28;
  transform:rotate(-5deg);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 84%,transparent 100%);
}

/* Profundidad del dron respecto a la escena */
.drone-flight-zone::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 62% 24%,rgba(255,255,255,.03),transparent 28%),
    radial-gradient(circle at 46% 67%,rgba(255,106,0,.025),transparent 24%);
  pointer-events:none;
}

@media(max-width:1280px){
  .drone-flight{
    width:270px;
    offset-path:path("M 80 350 C 190 90, 470 30, 760 90 C 980 145, 930 350, 720 430 C 520 510, 280 490, 150 350 C 80 245, 140 130, 340 80 C 580 20, 870 35, 980 190 C 1060 325, 890 510, 620 525 C 350 545, 120 465, 80 350");
  }
}
@media(max-width:820px){
  .drone-flight-zone{
    inset:88px 0 0;
  }
  .drone-flight{
    width:205px;
    offset-path:path("M 70 280 C 140 85, 350 30, 590 75 C 760 110, 760 270, 590 340 C 430 410, 240 395, 120 285 C 65 205, 110 125, 260 75 C 470 10, 690 35, 770 160 C 825 265, 690 410, 480 430 C 270 445, 95 390, 70 280");
    animation-duration:24s;
  }
  .drone-flight-zone::after{
    opacity:.16;
  }
}
@media(max-width:620px){
  .drone-flight{
    width:165px;
    offset-path:path("M 45 220 C 110 70, 260 25, 430 60 C 565 95, 565 210, 430 270 C 300 325, 160 315, 80 225 C 40 160, 80 95, 190 55 C 335 15, 505 30, 565 125 C 610 205, 505 320, 350 335 C 190 345, 65 305, 45 220");
  }
}
@media(prefers-reduced-motion:reduce){
  .drone-flight,
  .drone-body-wrap,
  .drone-aircraft,
  .drone-depth-shadow,
  .rotor,
  .nav-light,
  .drone-status-light{
    animation:none!important;
  }
  .drone-flight{
    offset-distance:24%;
    transform:scale(1)!important;
  }
}


/* =========================================================
   ALTITUM — SPRINT 2.5 · PARTÍCULAS Y LUZ
   ========================================================= */

/* Campo de partículas ambientales */
.particle-field{
  position:absolute;
  inset:104px 0 0;
  z-index:5;
  pointer-events:none;
  overflow:hidden;
  opacity:.24;
}
.particle-field::before,
.particle-field::after{
  content:"";
  position:absolute;
  inset:0;
  background-repeat:repeat;
}
.particle-field-a::before{
  background-image:
    radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(255,106,0,.50) 0 1px,transparent 1.4px);
  background-size:96px 96px,143px 143px;
  background-position:12px 18px,66px 35px;
  animation:particleDriftA 28s linear infinite;
}
.particle-field-a::after{
  background-image:
    radial-gradient(circle,rgba(209,213,219,.42) 0 1px,transparent 1.5px);
  background-size:182px 182px;
  background-position:40px 20px;
  animation:particlePulse 7s ease-in-out infinite;
}
.particle-field-b{
  opacity:.16;
  mix-blend-mode:screen;
}
.particle-field-b::before{
  background-image:
    radial-gradient(circle,rgba(255,255,255,.35) 0 1px,transparent 1.4px);
  background-size:128px 128px;
  background-position:10px 70px;
  animation:particleDriftB 36s linear infinite reverse;
}
.particle-field-b::after{
  background-image:
    radial-gradient(circle,rgba(255,139,77,.35) 0 1px,transparent 1.4px);
  background-size:210px 210px;
  background-position:90px 20px;
  animation:particlePulse 10s ease-in-out infinite reverse;
}
@keyframes particleDriftA{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-90px,-48px,0)}
}
@keyframes particleDriftB{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(70px,-35px,0)}
}
@keyframes particlePulse{
  0%,100%{opacity:.28}
  50%{opacity:.78}
}

/* Destellos de datos */
.data-spark{
  position:absolute;
  z-index:9;
  width:5px;
  height:5px;
  border-radius:50%;
  pointer-events:none;
  background:#fff;
  box-shadow:
    0 0 6px rgba(255,255,255,.95),
    0 0 14px rgba(255,139,77,.70);
  animation:dataSparkPulse 3.8s ease-in-out infinite;
}
.data-spark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.65),transparent);
  transform-origin:left center;
  transform:translateY(-50%);
}
.spark-1{left:58%;top:28%;animation-delay:.2s}
.spark-2{left:72%;top:48%;animation-delay:1.1s}
.spark-3{left:82%;top:64%;animation-delay:2.1s}
.spark-4{left:66%;top:73%;animation-delay:2.9s}
@keyframes dataSparkPulse{
  0%,100%{opacity:.22;transform:scale(.65)}
  45%{opacity:1;transform:scale(1.12)}
  60%{opacity:.55;transform:scale(.92)}
}

/* Lens flare del atardecer */
.lens-flare{
  position:absolute;
  z-index:4;
  border-radius:50%;
  pointer-events:none;
  mix-blend-mode:screen;
}
.flare-main{
  left:62.5%;
  top:42%;
  width:260px;
  height:260px;
  transform:translate(-50%,-50%);
  background:
    radial-gradient(circle,
      rgba(255,255,255,.34) 0 2%,
      rgba(255,207,153,.19) 8%,
      rgba(255,139,77,.11) 24%,
      rgba(255,106,0,.045) 45%,
      transparent 70%);
  filter:blur(5px);
  animation:flarePulse 6.5s ease-in-out infinite;
}
.flare-soft{
  left:71%;
  top:47%;
  width:92px;
  height:92px;
  background:
    radial-gradient(circle,
      rgba(255,255,255,.16),
      rgba(255,139,77,.08) 35%,
      transparent 70%);
  filter:blur(8px);
  animation:flareFloat 11s ease-in-out infinite;
}
@keyframes flarePulse{
  0%,100%{opacity:.52;transform:translate(-50%,-50%) scale(.94)}
  50%{opacity:.90;transform:translate(-50%,-50%) scale(1.07)}
}
@keyframes flareFloat{
  0%,100%{transform:translate3d(0,0,0);opacity:.22}
  50%{transform:translate3d(18px,-10px,0);opacity:.52}
}

/* Rastros luminosos técnicos */
.light-streak{
  position:absolute;
  z-index:6;
  height:1px;
  pointer-events:none;
  transform-origin:left center;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),rgba(255,106,0,.32),transparent);
  filter:drop-shadow(0 0 5px rgba(255,255,255,.25));
  opacity:.22;
}
.streak-1{
  left:51%;
  top:35%;
  width:250px;
  transform:rotate(10deg);
  animation:streakSweepOne 9s ease-in-out infinite;
}
.streak-2{
  left:64%;
  top:63%;
  width:210px;
  transform:rotate(-12deg);
  animation:streakSweepTwo 12s ease-in-out infinite reverse;
}
@keyframes streakSweepOne{
  0%,100%{transform:translateX(-28px) rotate(10deg) scaleX(.72);opacity:.06}
  50%{transform:translateX(36px) rotate(10deg) scaleX(1.08);opacity:.30}
}
@keyframes streakSweepTwo{
  0%,100%{transform:translateX(-18px) rotate(-12deg) scaleX(.76);opacity:.05}
  50%{transform:translateX(28px) rotate(-12deg) scaleX(1.04);opacity:.24}
}

/* Brillo en la ruta del dron */
.drone-flight-zone::after{
  border-color:rgba(255,255,255,.20);
  box-shadow:
    0 0 6px rgba(255,255,255,.08),
    inset 0 0 14px rgba(255,106,0,.025);
  animation:pathGlow 5.8s ease-in-out infinite;
}
@keyframes pathGlow{
  0%,100%{opacity:.14;filter:drop-shadow(0 0 3px rgba(255,255,255,.10))}
  50%{opacity:.32;filter:drop-shadow(0 0 8px rgba(255,139,77,.20))}
}

/* Profundidad y jerarquía */
.hero-final-clean-layout{z-index:15}
.drone-flight-zone{z-index:16}
.hero-coordinate,.hero-discover{z-index:17}

@media(max-width:1100px){
  .flare-main{left:66%}
  .flare-soft{left:74%}
  .spark-1{left:61%}
}
@media(max-width:820px){
  .particle-field,
  .lens-flare,
  .light-streak{
    opacity:.12;
  }
  .data-spark{
    display:none;
  }
  .flare-main{
    left:67%;
    top:34%;
    width:190px;
    height:190px;
  }
  .flare-soft{
    left:72%;
    top:40%;
  }
}
@media(max-width:620px){
  .particle-field-b,
  .light-streak,
  .flare-soft{
    display:none;
  }
  .particle-field-a{
    opacity:.10;
  }
  .flare-main{
    opacity:.18;
  }
}
@media(prefers-reduced-motion:reduce){
  .particle-field::before,
  .particle-field::after,
  .data-spark,
  .lens-flare,
  .light-streak,
  .drone-flight-zone::after{
    animation:none!important;
  }
}


/* ALTITUM Sprint 2.6 — Production */
html{scroll-padding-top:104px;max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.drone-picture{display:block;width:100%}.drone-picture .drone-aircraft{width:100%;height:auto}
.hero-final-clean{contain:layout paint style}
.btn:focus-visible,.main-nav a:focus-visible,.brand-lockup:focus-visible,.hero-discover:focus-visible,.whatsapp-fab:focus-visible,.menu-toggle:focus-visible{outline:3px solid rgba(255,139,77,.95);outline-offset:4px}
body.page-hidden .hero-final-clean-scene,body.page-hidden .cinematic-clouds,body.page-hidden .cinematic-sun-glow,body.page-hidden .cinematic-haze,body.page-hidden .cinematic-reflection,body.page-hidden .particle-field::before,body.page-hidden .particle-field::after,body.page-hidden .data-spark,body.page-hidden .lens-flare,body.page-hidden .light-streak,body.page-hidden .drone-flight,body.page-hidden .drone-body-wrap,body.page-hidden .rotor,body.page-hidden .nav-light,body.page-hidden .drone-status-light{animation-play-state:paused!important}
body.performance-lite .particle-field-b,body.performance-lite .data-spark,body.performance-lite .light-streak,body.performance-lite .flare-soft,body.performance-lite .cinematic-reflection{display:none!important}
body.performance-lite .particle-field-a{opacity:.08}body.performance-lite .cinematic-clouds{opacity:.10}body.performance-lite .drone-flight-zone::after{display:none}
@media(max-width:1080px){html{scroll-padding-top:88px}}
@media(max-width:620px){html{scroll-padding-top:80px}.hero-final-clean{min-height:860px}.hero-final-clean-copy{padding-bottom:150px}.whatsapp-fab{width:52px;height:52px;right:16px;bottom:16px}}
@media print{.site-header,.whatsapp-fab,.hero-discover,.drone-flight-zone,.particle-field,.lens-flare,.light-streak{display:none!important}body{color:#000;background:#fff}}


/* =========================================================
   ALTITUM — SPRINT 2.6 FINAL AJUSTADO
   Fondo nítido + scroll prompt único
   ========================================================= */
.hero-final-clean-scene{
  background-image:image-set(
    url("../assets/hero-final-sharp.webp") type("image/webp"),
    url("../assets/hero-final-sharp.jpg") type("image/jpeg")
  )!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.04) contrast(1.045) brightness(1.015)!important;
  transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.018)!important;
}

/* Remove layers that could soften or smear the image */
.cinematic-clouds,
.cinematic-haze,
.cinematic-reflection{
  display:none!important;
}
.cinematic-vignette{
  background:
    radial-gradient(ellipse at 67% 48%,transparent 58%,rgba(7,17,31,.07) 82%,rgba(7,17,31,.18) 100%),
    linear-gradient(180deg,rgba(7,17,31,.02),transparent 22%,transparent 82%,rgba(7,17,31,.10))!important;
}
.hero-final-clean-blend{
  background:
    linear-gradient(
      90deg,
      #07111f 0%,
      rgba(7,17,31,.985) 21%,
      rgba(7,17,31,.82) 36%,
      rgba(7,17,31,.46) 49%,
      rgba(7,17,31,.15) 62%,
      transparent 76%
    )!important;
}

/* One single scroll indicator */
.hero-discover{
  z-index:30!important;
  bottom:18px!important;
  opacity:1!important;
}
.hero-discover small{
  display:block!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.65);
}
.hero-discover::before,
.hero-discover::after{
  content:none!important;
}

/* Hide any legacy duplicate prompt accidentally left in the Hero */
.hero-final-clean > small,
.hero-final-clean > .scroll-copy,
.hero-final-clean > .discover-copy{
  display:none!important;
}

/* Keep animated drone crisp */
.drone-aircraft{
  image-rendering:auto;
  filter:
    drop-shadow(0 15px 22px rgba(0,0,0,.34))
    saturate(1.04)
    contrast(1.04)
    brightness(1.02)!important;
}

@media(max-width:820px){
  .hero-final-clean-scene{
    background-position:62% center!important;
  }
}


/* =========================================================
   ALTITUM — CORRECCIÓN FINAL: FONDO SIN TEXTO INCRUSTADO
   ========================================================= */
.hero-final-clean-scene{
  background-image:image-set(
    url("../assets/hero-scene-no-text.webp") type("image/webp"),
    url("../assets/hero-scene-no-text.jpg") type("image/jpeg")
  )!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.03) contrast(1.04) brightness(1.015)!important;
}

/* Garantiza que ninguna copia heredada de contenido quede visible */
.hero-final-clean-scene::before,
.hero-final-clean-scene::after{
  content:none!important;
  display:none!important;
}
.hero-final-clean-copy::before,
.hero-final-clean-copy::after{
  content:none!important;
}


/* =========================================================
   ALTITUM — SPRINT 2.6 FINAL CORREGIDO
   Sin dron estático + sol controlado
   ========================================================= */
.hero-final-clean-scene{
  background-image:image-set(
    url("../assets/hero-scene-final-no-static-drone.webp") type("image/webp"),
    url("../assets/hero-scene-final-no-static-drone.jpg") type("image/jpeg")
  )!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.025) contrast(1.035) brightness(.97)!important;
}

/* Elimina capas que aumentaban excesivamente el brillo del sol. */
.cinematic-sun-glow,
.flare-main,
.flare-soft{
  display:none!important;
}

/* Mantiene la escena limpia y profunda sin manchas. */
.cinematic-clouds,
.cinematic-haze,
.cinematic-reflection{
  display:none!important;
}
.cinematic-vignette{
  background:
    radial-gradient(
      ellipse at 68% 48%,
      transparent 58%,
      rgba(7,17,31,.06) 82%,
      rgba(7,17,31,.16) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7,17,31,.02),
      transparent 22%,
      transparent 82%,
      rgba(7,17,31,.10)
    )!important;
}

/* El único dron visible es la capa animada. */
.drone-flight-zone{
  display:block!important;
  visibility:visible!important;
}


/* =========================================================
   ALTITUM — RECONSTRUCCIÓN DEFINITIVA DEL CIELO
   ========================================================= */
.hero-final-clean-scene{
  background-image:image-set(
    url("../assets/hero-scene-final-clean-sky.webp") type("image/webp"),
    url("../assets/hero-scene-final-clean-sky.jpg") type("image/jpeg")
  )!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.02) contrast(1.035) brightness(.97)!important;
}

/* El dron visible debe ser exclusivamente el elemento animado. */
.drone-flight-zone{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}


/* =========================================================
   ALTITUM — SPRINT 2.6 CORREGIDO FINAL
   Hero aprobado + dron animado intacto
   ========================================================= */
.hero-final-clean-scene{
  background-image:image-set(
    url("../assets/hero-approved-final-no-drone.webp") type("image/webp"),
    url("../assets/hero-approved-final-no-drone.jpg") type("image/jpeg")
  )!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.015) contrast(1.025) brightness(.99)!important;
  transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.018)!important;
}

/* Mantiene exactamente el dron móvil existente */
.drone-flight-zone{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Evita que reaparezcan fondos anteriores */
.hero-final-clean-scene::before,
.hero-final-clean-scene::after{
  content:none!important;
  display:none!important;
}

/* Escena limpia, sin capas que alteren el fondo aprobado */
.cinematic-clouds,
.cinematic-haze,
.cinematic-reflection,
.cinematic-sun-glow,
.flare-main,
.flare-soft{
  display:none!important;
}

.cinematic-vignette{
  background:
    radial-gradient(
      ellipse at 68% 48%,
      transparent 62%,
      rgba(7,17,31,.05) 84%,
      rgba(7,17,31,.14) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7,17,31,.02),
      transparent 22%,
      transparent 84%,
      rgba(7,17,31,.08)
    )!important;
}


/* =========================================================
   ALTITUM — SPRINT 2.6 · RESULTADO FINAL 100%
   Fondo exclusivamente escénico: sin letras ni dron estático
   ========================================================= */
.hero-final-clean-scene{
  inset:104px 0 0 38%!important;
  background-image:image-set(
    url("../assets/hero-scene-final-100-clean.webp") type("image/webp"),
    url("../assets/hero-scene-final-100-clean.jpg") type("image/jpeg")
  )!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.01) contrast(1.02) brightness(.985)!important;
  transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.012)!important;
}

/* La zona izquierda es color y degradado CSS, nunca una imagen con texto. */
.hero-final-clean-blend{
  background:
    linear-gradient(
      90deg,
      #07111f 0%,
      #07111f 22%,
      rgba(7,17,31,.99) 34%,
      rgba(7,17,31,.88) 45%,
      rgba(7,17,31,.52) 57%,
      rgba(7,17,31,.18) 69%,
      transparent 82%
    )!important;
}

/* Elimina cualquier resto visual de capas anteriores. */
.hero-final-clean-scene::before,
.hero-final-clean-scene::after,
.hero-final-clean-copy::before,
.hero-final-clean-copy::after{
  content:none!important;
  display:none!important;
}

.cinematic-clouds,
.cinematic-haze,
.cinematic-reflection,
.cinematic-sun-glow,
.flare-main,
.flare-soft{
  display:none!important;
}

/* Se conserva únicamente el dron programado y animado. */
.drone-flight-zone{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Evita que el dron invada el texto en escritorio. */
@media(min-width:1101px){
  .drone-flight-zone{
    inset:104px 0 0 42%!important;
  }
}

@media(max-width:1100px){
  .hero-final-clean-scene{
    inset:88px 0 0 24%!important;
    background-position:58% center!important;
  }
}

@media(max-width:820px){
  .hero-final-clean-scene{
    inset:88px 0 0!important;
    background-position:64% center!important;
  }
}


/* ALTITUM — SPRINT 3.1 REHECHO SOBRE SECCIÓN EXISTENTE */
.capabilities-existing{padding-top:112px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}
.capabilities-existing-heading{margin-bottom:58px}
.capabilities-existing-heading h2{max-width:800px}
.capabilities-existing-grid{gap:18px;align-items:stretch}
.capability-existing-card{position:relative;display:flex;flex-direction:column;min-height:650px;border-radius:14px;border:1px solid #dbe3ec;box-shadow:0 18px 45px rgba(15,23,42,.08);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.capability-existing-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(15,23,42,.14);border-color:#cbd5e1}
.capability-art{height:290px;background:#0a1322;color:#fff}
.capability-art svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:2}
.capability-existing-card:nth-child(2) .capability-art{background:#334155}
.capability-existing-card:nth-child(3) .capability-art{background:#1e3a4a}
.capability-existing-card:nth-child(4) .capability-art{background:#475569}
.capability-existing-card:nth-child(5) .capability-art{background:#1e293b}
.capability-existing-card .visual-card-body{position:relative;display:flex;flex-direction:column;flex:1;padding:28px 28px 26px}
.capability-existing-card .card-index{position:absolute;right:24px;top:24px;color:#cbd5e1;font-size:12px;font-weight:800;letter-spacing:.16em}
.capability-existing-card h3{min-height:58px;margin:0 38px 14px 0;font-size:22px;line-height:1.25;color:#0a1322}
.capability-existing-card p{min-height:104px;margin:0 0 18px;font-size:14px;line-height:1.7;color:#64748b}
.capability-existing-card ul{display:grid;gap:10px;margin:0 0 24px;padding:0;list-style:none}
.capability-existing-card li{position:relative;padding-left:17px;font-size:13px;color:#334155;line-height:1.4}
.capability-existing-card li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#ff6a00}
.capability-existing-card a{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid #e2e8f0;color:#0a1322;font-weight:800;font-size:13px}
.capability-existing-card a span{font-size:19px;transition:transform .2s ease}
.capability-existing-card a:hover span{transform:translateX(6px)}
@media(max-width:1320px){.capabilities-existing-grid{grid-template-columns:repeat(3,1fr)}.capability-existing-card{min-height:620px}}
@media(max-width:900px){.capabilities-existing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.capabilities-existing{padding-top:84px}.capabilities-existing-grid{grid-template-columns:1fr}.capability-existing-card{min-height:auto}.capability-art{height:240px}.capability-existing-card p,.capability-existing-card h3{min-height:0}}


/* =========================================================
   ALTITUM DESIGN SYSTEM V1 — SERVICE CARD PREMIUM
   ========================================================= */
:root{
  --ds-navy:#0b2239;
  --ds-navy-deep:#071426;
  --ds-steel:#475569;
  --ds-muted:#64748b;
  --ds-border:#e5e7eb;
  --ds-surface:#ffffff;
  --ds-surface-hover:#f8fafc;
  --ds-orange:#ff6a00;
  --ds-shadow:0 18px 55px rgba(11,34,57,.08);
  --ds-shadow-hover:0 26px 65px rgba(11,34,57,.16);
  --ds-ease:cubic-bezier(.2,.75,.25,1);
}
.ds-capabilities{padding:120px 0 112px;background:#f7f9fc;overflow:hidden}
.ds-capabilities::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 8%,rgba(51,65,85,.07),transparent 27%),linear-gradient(rgba(11,34,57,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(11,34,57,.025) 1px,transparent 1px);background-size:auto,80px 80px,80px 80px;mask-image:linear-gradient(#000,transparent 92%)}
.ds-capabilities>.container{position:relative;z-index:1}
.ds-section-heading{margin-bottom:56px}
.ds-section-heading h2{max-width:800px}
.ds-service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.ds-service-card{position:relative;display:flex;flex-direction:column;min-height:570px;padding:24px 24px 0;border:1px solid var(--ds-border);border-radius:20px;background:var(--ds-surface);box-shadow:var(--ds-shadow);overflow:hidden;transition:transform .35s var(--ds-ease),box-shadow .35s var(--ds-ease),background-color .35s var(--ds-ease),border-color .35s var(--ds-ease);transition-delay:var(--card-delay,0ms)}
.ds-service-card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--ds-orange);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ds-ease)}
.ds-service-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 14%,rgba(11,34,57,.045),transparent 30%);opacity:0;transition:opacity .35s ease}
.ds-service-card:hover{transform:translateY(-8px);border-color:#d6dde5;background:var(--ds-surface-hover);box-shadow:var(--ds-shadow-hover)}
.ds-service-card:hover::before{transform:scaleX(1)}
.ds-service-card:hover::after{opacity:1}
.ds-card-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.18em}
.ds-card-topline i{width:32px;height:1px;background:#d9e0e7}
.ds-icon-shell{position:relative;display:grid;place-items:center;width:80px;height:80px;margin-bottom:30px;border:1px solid #e5eaf0;border-radius:50%;background:#f3f6f9;color:var(--ds-navy);transition:transform .35s var(--ds-ease),background-color .35s ease,border-color .35s ease}
.ds-icon-shell::after{content:"";position:absolute;inset:8px;border:1px dashed rgba(11,34,57,.12);border-radius:50%;transition:transform .5s var(--ds-ease),opacity .35s ease}
.ds-icon-shell svg{width:52px;height:52px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.ds-icon-shell .icon-accent{fill:var(--ds-orange);stroke:var(--ds-orange)}
.ds-icon-shell .icon-accent-stroke{stroke:var(--ds-orange);stroke-width:3}
.ds-service-card:hover .ds-icon-shell{transform:rotate(6deg) scale(1.04);background:#fff;border-color:#cfd9e3}
.ds-service-card:hover .ds-icon-shell::after{transform:rotate(25deg);opacity:.65}
.ds-service-card:hover .icon-drone{animation:dsFloat .9s ease-in-out infinite alternate}
.ds-service-card:hover .turbine-blades{transform-origin:69px 30px;animation:dsSpin 4s linear infinite}
.ds-service-card:hover .spray-drops{animation:dsSpray .85s ease-in-out infinite}
.ds-service-card:hover .gear-teeth{transform-origin:44px 48px;animation:dsSpin 5s linear infinite}
.ds-service-card:hover .icon-consulting{animation:dsNudge .55s ease both}
@keyframes dsFloat{to{transform:translateY(-3px)}}
@keyframes dsSpin{to{transform:rotate(360deg)}}
@keyframes dsSpray{50%{transform:translateY(4px);opacity:.4}}
@keyframes dsNudge{50%{transform:translateX(2px)}100%{transform:none}}
.ds-card-content{position:relative;z-index:1;display:flex;flex-direction:column;flex:1}
.ds-card-content h3{min-height:62px;margin:0 0 16px;color:var(--ds-navy-deep);font-size:22px;line-height:1.3;letter-spacing:-.025em;transition:color .3s ease}
.ds-service-card:hover h3{color:var(--ds-navy)}
.ds-card-content p{min-height:105px;margin:0 0 22px;color:var(--ds-muted);font-size:14.5px;line-height:1.72}
.ds-card-content ul{display:grid;gap:11px;margin:0 0 28px;padding:0;list-style:none}
.ds-card-content li{position:relative;padding-left:18px;color:var(--ds-steel);font-size:13px;line-height:1.45}
.ds-card-content li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--ds-orange);box-shadow:0 0 0 4px rgba(255,106,0,.09)}
.ds-card-link{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:20px 0 24px;border-top:1px solid var(--ds-border);color:var(--ds-navy-deep);font-size:13px;font-weight:800}
.ds-card-link b{font-size:20px;font-weight:400;transition:transform .25s var(--ds-ease)}
.ds-card-link:hover b{transform:translateX(6px)}
@media(max-width:1320px){.ds-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-service-card{min-height:530px}}
@media(max-width:900px){.ds-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-service-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}}
@media(max-width:620px){.ds-capabilities{padding:88px 0 80px}.ds-section-heading{margin-bottom:38px}.ds-service-grid{grid-template-columns:1fr;gap:16px}.ds-service-card,.ds-service-card:last-child{grid-column:auto;max-width:none;min-height:510px}.ds-icon-shell{width:76px;height:76px}.ds-card-content h3{min-height:0}.ds-card-content p{min-height:0}}
@media(prefers-reduced-motion:reduce){.ds-service-card,.ds-icon-shell,.ds-icon-shell::after,.ds-icon-shell g{animation:none!important;transition:none!important}}


/* =========================================================
   ALTITUM — SPRINT 3.2 · SECTORES EDITORIAL PREMIUM
   ========================================================= */
.sectors-editorial{
  padding:120px 0 112px;
  background:#f8fafc;
  color:#0a1322;
  border-top:1px solid #e5e7eb;
}
.sectors-editorial-intro{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:88px;
  align-items:end;
  padding-bottom:72px;
}
.sectors-editorial-intro h2{
  margin:18px 0 0;
  font-size:clamp(48px,5.4vw,78px);
  line-height:1.01;
  letter-spacing:-.058em;
  color:#0a1322;
}
.sectors-editorial-lead{
  margin:0;
  max-width:620px;
  color:#475569;
  font-size:18px;
  line-height:1.82;
}
.sectors-editorial-list{
  border-top:1px solid #dfe5eb;
}
.sector-editorial-row{
  display:grid;
  grid-template-columns:1.22fr .78fr;
  min-height:470px;
  border-bottom:1px solid #dfe5eb;
  background:#fff;
}
.sector-row-image-right{
  grid-template-columns:.78fr 1.22fr;
}
.sector-editorial-media{
  position:relative;
  min-height:470px;
  overflow:hidden;
}
.sector-editorial-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(7,17,31,.02),rgba(7,17,31,.12));
  pointer-events:none;
}
.sector-editorial-media picture,
.sector-editorial-media img{
  display:block;
  width:100%;
  height:100%;
}
.sector-editorial-media img{
  object-fit:cover;
  transition:transform .85s cubic-bezier(.2,.8,.2,1),filter .45s ease;
  filter:saturate(.94) contrast(1.02);
}
.sector-editorial-row:hover .sector-editorial-media img{
  transform:scale(1.045);
  filter:saturate(1.04) contrast(1.035);
}
.sector-editorial-copy{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px 58px;
  background:#fff;
}
.sector-editorial-number{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
  color:#ff6a00;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
}
.sector-editorial-number::after{
  content:"";
  width:32px;
  height:1px;
  background:#ff6a00;
}
.sector-editorial-kicker{
  margin:0 0 14px;
  color:#ff6a00;
  font-size:12px;
  font-weight:800;
  letter-spacing:.20em;
}
.sector-editorial-copy h3{
  margin:0 0 20px;
  color:#0a1322;
  font-size:clamp(34px,3.6vw,54px);
  line-height:1.04;
  letter-spacing:-.045em;
}
.sector-editorial-copy > p:not(.sector-editorial-kicker){
  margin:0;
  color:#475569;
  font-size:16px;
  line-height:1.76;
}
.sector-editorial-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #dfe5eb;
  color:#0a1322;
  font-size:14px;
  font-weight:800;
}
.sector-editorial-link span{
  font-size:22px;
  transition:transform .24s ease;
}
.sector-editorial-link:hover span{
  transform:translateX(7px);
}
.sectors-editorial-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  margin-top:46px;
  padding:28px 30px;
  border-radius:18px;
  background:#0a1322;
}
.sectors-editorial-footer p{
  max-width:760px;
  margin:0;
  color:#d7dee8;
  font-size:15px;
  line-height:1.7;
}
.sectors-editorial-footer .btn{
  min-width:220px;
}

@media(max-width:980px){
  .sectors-editorial-intro{
    grid-template-columns:1fr;
    gap:26px;
  }
  .sector-editorial-row,
  .sector-row-image-right{
    grid-template-columns:1fr;
  }
  .sector-row-image-right .sector-editorial-copy{
    order:2;
  }
  .sector-row-image-right .sector-editorial-media{
    order:1;
  }
  .sector-editorial-media{
    min-height:420px;
  }
  .sectors-editorial-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:640px){
  .sectors-editorial{
    padding:88px 0 76px;
  }
  .sectors-editorial-intro{
    padding-bottom:46px;
  }
  .sectors-editorial-intro h2{
    font-size:43px;
  }
  .sectors-editorial-lead{
    font-size:16px;
  }
  .sector-editorial-media{
    min-height:310px;
  }
  .sector-editorial-copy{
    padding:38px 24px 42px;
  }
  .sector-editorial-copy h3{
    font-size:36px;
  }
  .sectors-editorial-footer .btn{
    width:100%;
  }
}


/* =========================================================
   ALTITUM — SPRINT 4 · PÁGINA SERVICIOS
   ========================================================= */
.services-hero{
  position:relative;
  min-height:760px;
  padding-top:104px;
  overflow:hidden;
  background:#07111f;
  color:#fff;
}
.services-hero-bg{
  position:absolute;
  inset:104px 0 0 38%;
  background:
    linear-gradient(90deg,rgba(7,17,31,.22),transparent 58%),
    image-set(
      url("../assets/hero-scene-final-100-clean.webp") type("image/webp"),
      url("../assets/hero-scene-final-100-clean.jpg") type("image/jpeg")
    ) center/cover no-repeat;
}
.services-hero::after{
  content:"";
  position:absolute;
  inset:104px 0 0;
  background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.98) 28%,rgba(7,17,31,.70) 47%,rgba(7,17,31,.16) 73%,transparent 90%);
}
.services-hero-layout{
  position:relative;
  z-index:2;
  min-height:656px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:center;
}
.services-hero-copy{
  max-width:790px;
}
.services-hero-copy .eyebrow{
  color:#ff8a3d;
  font-weight:800;
  letter-spacing:.24em;
}
.services-hero-copy h1{
  margin:22px 0 28px;
  font-size:clamp(58px,6vw,92px);
  line-height:.98;
  letter-spacing:-.06em;
}
.services-hero-copy>p:last-of-type{
  max-width:660px;
  color:#d9e0e8;
  font-size:18px;
  line-height:1.78;
}
.services-hero-actions{
  display:flex;
  gap:18px;
  margin-top:34px;
}
.services-hero-summary{
  align-self:end;
  margin-bottom:64px;
  display:grid;
  gap:12px;
  padding:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(7,17,31,.52);
  backdrop-filter:blur(10px);
}
.services-hero-summary span{
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#e2e8f0;
  font-size:14px;
}
.services-hero-summary span:last-child{border-bottom:0}

.services-index{
  position:sticky;
  top:104px;
  z-index:30;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.services-index-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.services-index a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:72px;
  padding:0 18px;
  border-right:1px solid #e5e7eb;
  color:#0a1322;
  font-size:13px;
  font-weight:700;
}
.services-index a:last-child{border-right:0}
.services-index a span{
  color:#ff6a00;
  font-size:11px;
  letter-spacing:.12em;
}

.service-detail{
  padding:116px 0;
}
.service-detail-light{
  background:#f8fafc;
  color:#0a1322;
}
.service-detail-dark{
  background:#0a1322;
  color:#fff;
}
.service-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:82px;
  align-items:center;
}
.service-detail-copy{
  max-width:680px;
}
.service-number{
  margin:0 0 20px;
  color:#ff6a00;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
}
.service-detail-copy h2{
  margin:18px 0 24px;
  font-size:clamp(46px,5vw,76px);
  line-height:1.01;
  letter-spacing:-.055em;
}
.service-detail-dark .service-detail-copy h2{color:#fff}
.service-lead{
  margin:0 0 32px;
  color:#64748b;
  font-size:18px;
  line-height:1.8;
}
.service-detail-dark .service-lead{color:#cbd5e1}
.service-benefits{
  display:grid;
  gap:0;
  border-top:1px solid #dfe5eb;
}
.service-detail-dark .service-benefits{border-color:rgba(255,255,255,.14)}
.service-benefits div{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:22px;
  padding:20px 0;
  border-bottom:1px solid #dfe5eb;
}
.service-detail-dark .service-benefits div{border-color:rgba(255,255,255,.14)}
.service-benefits strong{
  font-size:15px;
}
.service-benefits span{
  color:#64748b;
  line-height:1.6;
}
.service-detail-dark .service-benefits span{color:#cbd5e1}
.service-cta{
  display:inline-flex;
  align-items:center;
  gap:26px;
  margin-top:32px;
  color:inherit;
  font-weight:800;
}
.service-cta span{
  font-size:22px;
  transition:transform .24s ease;
}
.service-cta:hover span{transform:translateX(7px)}

.service-detail-visual{
  position:relative;
  min-height:620px;
  overflow:hidden;
  border-radius:24px;
  background-size:cover;
  background-position:center;
  box-shadow:0 28px 70px rgba(15,23,42,.18);
}
.service-visual-uas{
  background:
    linear-gradient(180deg,rgba(7,17,31,.05),rgba(7,17,31,.42)),
    image-set(url("../assets/hero-scene-final-100-clean.webp") type("image/webp"),url("../assets/hero-scene-final-100-clean.jpg") type("image/jpeg")) center/cover no-repeat;
}
.service-visual-renewables{
  background:
    linear-gradient(180deg,rgba(7,17,31,.05),rgba(7,17,31,.42)),
    image-set(url("../assets/sectors/sector-renewables.webp") type("image/webp"),url("../assets/sectors/sector-renewables.jpg") type("image/jpeg")) center/cover no-repeat;
}
.service-visual-agriculture{
  background:
    linear-gradient(180deg,rgba(7,17,31,.05),rgba(7,17,31,.42)),
    image-set(url("../assets/sectors/sector-agriculture.webp") type("image/webp"),url("../assets/sectors/sector-agriculture.jpg") type("image/jpeg")) center/cover no-repeat;
}
.service-visual-maintenance{
  background:
    radial-gradient(circle at 65% 25%,rgba(255,106,0,.18),transparent 30%),
    linear-gradient(145deg,#526174 0%,#233244 44%,#07111f 100%);
}
.service-visual-consulting{
  background:
    radial-gradient(circle at 70% 20%,rgba(255,106,0,.16),transparent 28%),
    linear-gradient(145deg,#e8edf2 0%,#aab5c1 42%,#334155 100%);
}
.service-visual-label{
  position:absolute;
  left:28px;
  bottom:28px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(7,17,31,.52);
  color:#fff;
  font-size:12px;
  letter-spacing:.10em;
  backdrop-filter:blur(8px);
}

.services-method{
  padding:110px 0;
  background:#fff;
}
.services-method-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:end;
  margin-bottom:54px;
}
.services-method-heading h2{
  margin:14px 0 0;
  font-size:clamp(46px,5vw,74px);
  line-height:1.02;
}
.services-method-heading p:last-child{
  color:#64748b;
  line-height:1.7;
}
.services-method-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid #e5e7eb;
  border-radius:18px;
  overflow:hidden;
}
.services-method-grid>div{
  min-height:230px;
  padding:28px 24px;
  border-right:1px solid #e5e7eb;
}
.services-method-grid>div:last-child{border-right:0}
.services-method-grid span{
  color:#ff6a00;
  font-size:12px;
  font-weight:800;
}
.services-method-grid strong{
  display:block;
  margin:54px 0 14px;
  font-size:20px;
}
.services-method-grid p{
  color:#64748b;
  line-height:1.6;
  font-size:14px;
}

.services-final-cta{
  padding:76px 0;
  background:#0a1322;
  color:#fff;
}
.services-final-cta-layout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.services-final-cta h2{
  max-width:850px;
  margin:14px 0 0;
  color:#fff;
  font-size:clamp(42px,4.6vw,68px);
  line-height:1.02;
}
.services-final-cta .btn{min-width:220px}

@media(max-width:1000px){
  .services-hero-layout,
  .service-detail-grid,
  .services-method-heading{
    grid-template-columns:1fr;
  }
  .services-hero-summary{align-self:auto;margin:0 0 48px}
  .services-index{position:relative;top:auto}
  .services-index-grid{grid-template-columns:1fr 1fr}
  .services-index a{border-bottom:1px solid #e5e7eb}
  .service-detail-reverse .service-detail-visual{order:2}
  .service-detail-reverse .service-detail-copy{order:1}
  .service-detail-visual{min-height:470px}
  .services-method-grid{grid-template-columns:repeat(2,1fr)}
  .services-method-grid>div{border-bottom:1px solid #e5e7eb}
  .services-final-cta-layout{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .services-hero{min-height:auto;padding-top:88px}
  .services-hero-layout{min-height:auto;padding:96px 0 70px}
  .services-hero-bg{inset:88px 0 0}
  .services-hero-copy h1{font-size:50px}
  .services-hero-actions{flex-direction:column}
  .services-index-grid{grid-template-columns:1fr}
  .service-detail{padding:82px 0}
  .service-detail-grid{gap:42px}
  .service-detail-copy h2{font-size:43px}
  .service-benefits div{grid-template-columns:1fr;gap:8px}
  .service-detail-visual{min-height:330px}
  .services-method-grid{grid-template-columns:1fr}
  .services-method-grid>div{border-right:0}
  .services-final-cta .btn{width:100%}
}


/* =========================================================
   ALTITUM — SPRINT 6.1
   Simplificación de Sectores en la Home
   ========================================================= */
.sectors-compact{
  position:relative;
  padding:112px 0 104px;
  overflow:hidden;
  background:#f7f9fc;
  color:#0a1322;
  border-top:1px solid #e6ebf1;
  border-bottom:1px solid #e6ebf1;
}
.sectors-compact::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.3;
  background-image:
    linear-gradient(rgba(10,19,34,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,19,34,.026) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,#000,transparent 92%);
}
.sectors-compact>.container{
  position:relative;
  z-index:1;
}
.sectors-compact-heading{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:76px;
  align-items:end;
  margin-bottom:48px;
}
.sectors-compact-heading h2{
  max-width:820px;
  margin:16px 0 0;
  color:#0a1322;
  font-size:clamp(48px,5vw,76px);
  line-height:1.01;
  letter-spacing:-.058em;
}
.sectors-compact-intro{
  max-width:590px;
  justify-self:end;
}
.sectors-compact-intro p{
  margin:0;
  color:#526174;
  font-size:17px;
  line-height:1.78;
}
.sectors-compact-main-link{
  display:inline-flex;
  align-items:center;
  gap:22px;
  margin-top:24px;
  color:#0a1322;
  font-size:14px;
  font-weight:800;
}
.sectors-compact-main-link span{
  color:#ff6a00;
  font-size:21px;
  transition:transform .25s ease;
}
.sectors-compact-main-link:hover span{
  transform:translateX(6px);
}

.sectors-compact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.sector-compact-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe5ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 42px rgba(15,23,42,.07);
  transition:
    transform .34s cubic-bezier(.2,.8,.2,1),
    box-shadow .34s ease,
    border-color .34s ease;
}
.sector-compact-card:hover,
.sector-compact-card:focus-within{
  transform:translateY(-7px);
  border-color:#cbd5e1;
  box-shadow:0 26px 58px rgba(15,23,42,.13);
}
.sector-compact-card>a{
  display:flex;
  min-height:100%;
  flex-direction:column;
  color:inherit;
}
.sector-compact-image{
  position:relative;
  height:235px;
  overflow:hidden;
  background:#dce3ea;
}
.sector-compact-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(7,17,31,.16));
}
.sector-compact-image picture,
.sector-compact-image img{
  display:block;
  width:100%;
  height:100%;
}
.sector-compact-image img{
  object-fit:cover;
  filter:saturate(.92) contrast(1.02);
  transition:
    transform .7s cubic-bezier(.2,.8,.2,1),
    filter .4s ease;
}
.sector-compact-card:hover .sector-compact-image img,
.sector-compact-card:focus-within .sector-compact-image img{
  transform:scale(1.055);
  filter:saturate(1.03) contrast(1.035);
}
.sector-compact-content{
  position:relative;
  display:flex;
  min-height:276px;
  flex:1;
  flex-direction:column;
  padding:25px 24px 24px;
}
.sector-compact-number{
  position:absolute;
  top:27px;
  right:23px;
  color:#a3b1c2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.sector-compact-kicker{
  max-width:78%;
  margin:0 0 12px;
  color:#ff6a00;
  font-size:10px;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.18em;
}
.sector-compact-content h3{
  max-width:88%;
  margin:0 0 14px;
  color:#0a1322;
  font-size:25px;
  line-height:1.12;
  letter-spacing:-.035em;
}
.sector-compact-content>p:not(.sector-compact-kicker){
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.66;
}
.sector-compact-arrow{
  display:block;
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid #e5eaf0;
  color:#0a1322;
  font-size:22px;
  text-align:right;
  transition:
    color .25s ease,
    transform .25s ease;
}
.sector-compact-card:hover .sector-compact-arrow,
.sector-compact-card:focus-within .sector-compact-arrow{
  color:#ff6a00;
  transform:translateX(5px);
}
.sector-compact-card::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:4px;
  background:#ff6a00;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.sector-compact-card:hover::after,
.sector-compact-card:focus-within::after{
  transform:scaleX(1);
}

@media(max-width:1120px){
  .sectors-compact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sector-compact-image{
    height:270px;
  }
}
@media(max-width:820px){
  .sectors-compact{
    padding:88px 0 82px;
  }
  .sectors-compact-heading{
    grid-template-columns:1fr;
    gap:24px;
  }
  .sectors-compact-intro{
    max-width:680px;
    justify-self:start;
  }
}
@media(max-width:600px){
  .sectors-compact-heading h2{
    font-size:42px;
  }
  .sectors-compact-grid{
    grid-template-columns:1fr;
  }
  .sector-compact-image{
    height:245px;
  }
  .sector-compact-content{
    min-height:245px;
  }
}


/* =========================================================
   ALTITUM — SPRINT 6.1.1
   Dirección artística y alineación cromática
   ========================================================= */
:root{
  --altitum-navy:#0A1322;
  --altitum-steel:#334155;
  --altitum-light:#E6EBF1;
  --altitum-orange:#FF6A00;
  --altitum-white:#FFFFFF;
}

/* Paleta oficial aplicada a la sección Sectores */
.sectors-compact{
  background:#f8fafc!important;
  color:var(--altitum-navy)!important;
}
.sectors-compact .blue-label,
.sectors-compact .section-label{
  color:var(--altitum-orange)!important;
}
.sectors-compact-heading h2{
  color:var(--altitum-navy)!important;
}
.sectors-compact-heading .blue-emphasis{
  color:var(--altitum-orange)!important;
  font-style:normal!important;
}
.sectors-compact-intro p{
  color:var(--altitum-steel)!important;
}
.sectors-compact-main-link{
  color:var(--altitum-navy)!important;
}
.sectors-compact-main-link span,
.sector-compact-kicker{
  color:var(--altitum-orange)!important;
}
.sector-compact-content h3{
  color:var(--altitum-navy)!important;
}
.sector-compact-content>p:not(.sector-compact-kicker){
  color:#64748b!important;
}

/* Tratamiento fotográfico coherente con el Hero */
.sector-compact-image img{
  filter:
    saturate(.93)
    contrast(1.055)
    brightness(.94)!important;
}
.sector-compact-card:hover .sector-compact-image img,
.sector-compact-card:focus-within .sector-compact-image img{
  filter:
    saturate(1)
    contrast(1.08)
    brightness(.99)!important;
}
.sector-compact-image::after{
  background:
    linear-gradient(
      180deg,
      rgba(10,19,34,.03) 0%,
      rgba(10,19,34,.08) 58%,
      rgba(10,19,34,.25) 100%
    )!important;
}

/* Mayor coherencia entre imagen y contenido */
.sector-compact-card{
  border-color:#dfe5ec!important;
  background:var(--altitum-white)!important;
}
.sector-compact-card::after{
  background:var(--altitum-orange)!important;
}
.sector-compact-arrow{
  color:var(--altitum-navy)!important;
}
.sector-compact-card:hover .sector-compact-arrow,
.sector-compact-card:focus-within .sector-compact-arrow{
  color:var(--altitum-orange)!important;
}


/* =========================================================
   ALTITUM — SPRINT 6.2
   Casos de uso orientados al problema del cliente
   ========================================================= */
.use-cases-section{
  position:relative;
  padding:112px 0 104px;
  overflow:hidden;
  background:#f8fafc;
  color:#0A1322;
  border-top:1px solid #e5eaf0;
  border-bottom:1px solid #e5eaf0;
}
.use-cases-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.3;
  background-image:
    linear-gradient(rgba(10,19,34,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,19,34,.026) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,#000,transparent 94%);
}
.use-cases-section>.container{
  position:relative;
  z-index:1;
}
.use-cases-heading{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:76px;
  align-items:end;
  margin-bottom:48px;
}
.use-cases-heading .section-label{
  color:#FF6A00;
}
.use-cases-heading h2{
  max-width:800px;
  margin:16px 0 0;
  color:#0A1322;
  font-size:clamp(48px,5vw,76px);
  line-height:1.01;
  letter-spacing:-.058em;
}
.use-cases-heading h2 span{
  color:#FF6A00;
}
.use-cases-intro{
  max-width:590px;
  margin:0;
  justify-self:end;
  color:#526174;
  font-size:17px;
  line-height:1.78;
}

.use-cases-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.use-case-card{
  overflow:hidden;
  border:1px solid #dfe5ec;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 46px rgba(15,23,42,.075);
  transition:
    transform .34s cubic-bezier(.2,.8,.2,1),
    box-shadow .34s ease,
    border-color .34s ease;
}
.use-case-card:hover,
.use-case-card:focus-within{
  transform:translateY(-7px);
  border-color:#cbd5e1;
  box-shadow:0 28px 64px rgba(15,23,42,.13);
}
.use-case-visual{
  position:relative;
  height:285px;
  background-size:cover;
  background-position:center;
}
.use-case-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,19,34,.02),rgba(10,19,34,.28));
}
.use-case-energy{
  background-image:
    linear-gradient(180deg,rgba(10,19,34,.02),rgba(10,19,34,.12)),
    url("../assets/sectors/sector-infrastructure-operation.webp");
}
.use-case-agriculture{
  background-image:
    linear-gradient(180deg,rgba(10,19,34,.02),rgba(10,19,34,.12)),
    url("../assets/sectors/sector-agriculture-operation.webp");
}
.use-case-airport{
  background-image:
    linear-gradient(180deg,rgba(10,19,34,.02),rgba(10,19,34,.12)),
    url("../assets/sectors/sector-airports-operation.webp");
}
.use-case-content{
  display:flex;
  min-height:520px;
  flex-direction:column;
  padding:28px 26px 26px;
}
.use-case-tag{
  margin:0 0 12px;
  color:#FF6A00;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}
.use-case-content h3{
  margin:0 0 26px;
  color:#0A1322;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.038em;
}
.use-case-flow{
  display:grid;
  gap:0;
  border-top:1px solid #e5eaf0;
}
.use-case-flow>div{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid #e5eaf0;
}
.use-case-flow span{
  color:#0A1322;
  font-size:12px;
  font-weight:800;
}
.use-case-flow p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.58;
}
.use-case-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:24px;
  color:#0A1322;
  font-size:14px;
  font-weight:800;
}
.use-case-link span{
  color:#FF6A00;
  font-size:21px;
  transition:transform .25s ease;
}
.use-case-link:hover span{
  transform:translateX(6px);
}
.use-cases-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  margin-top:34px;
  padding:26px 28px;
  border-radius:18px;
  background:#0A1322;
}
.use-cases-footer p{
  max-width:760px;
  margin:0;
  color:#d7dee8;
  font-size:15px;
  line-height:1.7;
}
.use-cases-footer .btn{
  min-width:220px;
}

@media(max-width:1100px){
  .use-cases-grid{
    grid-template-columns:1fr;
  }
  .use-case-card{
    display:grid;
    grid-template-columns:minmax(320px,.8fr) 1.2fr;
  }
  .use-case-visual{
    min-height:100%;
    height:auto;
  }
  .use-case-content{
    min-height:500px;
  }
}
@media(max-width:820px){
  .use-cases-section{
    padding:88px 0 82px;
  }
  .use-cases-heading{
    grid-template-columns:1fr;
    gap:24px;
  }
  .use-cases-intro{
    justify-self:start;
  }
  .use-case-card{
    grid-template-columns:1fr;
  }
  .use-case-visual{
    height:310px;
  }
  .use-cases-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .use-cases-heading h2{
    font-size:42px;
  }
  .use-case-visual{
    height:250px;
  }
  .use-case-content{
    min-height:auto;
  }
  .use-case-flow>div{
    grid-template-columns:1fr;
    gap:8px;
  }
  .use-cases-footer .btn{
    width:100%;
  }
}


/* =========================================================
   ALTITUM — SPRINT 6.3
   Credibilidad y confianza
   ========================================================= */
.trust-section{
  position:relative;
  padding:112px 0 104px;
  overflow:hidden;
  background:#0A1322;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.trust-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,#000,transparent 92%);
}
.trust-section>.container{
  position:relative;
  z-index:1;
}
.trust-heading{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:76px;
  align-items:end;
  margin-bottom:52px;
}
.trust-heading .section-label{
  color:#FF6A00;
}
.trust-heading h2{
  max-width:820px;
  margin:16px 0 0;
  color:#fff;
  font-size:clamp(48px,5vw,76px);
  line-height:1.01;
  letter-spacing:-.058em;
}
.trust-heading h2 span{
  color:#FF6A00;
}
.trust-intro{
  max-width:590px;
  margin:0;
  justify-self:end;
  color:#cbd5e1;
  font-size:17px;
  line-height:1.78;
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.025);
  backdrop-filter:blur(8px);
}
.trust-card{
  position:relative;
  min-height:390px;
  padding:32px 28px 30px;
  border-right:1px solid rgba(255,255,255,.12);
  transition:
    background-color .3s ease,
    transform .3s ease;
}
.trust-card:last-child{
  border-right:0;
}
.trust-card:hover{
  background:rgba(255,255,255,.045);
  transform:translateY(-4px);
}
.trust-card::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:4px;
  background:#FF6A00;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.trust-card:hover::after,
.trust-card:focus-within::after{
  transform:scaleX(1);
}
.trust-number{
  position:absolute;
  top:28px;
  right:26px;
  color:#718096;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.trust-icon{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  margin-bottom:52px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.035);
  color:#fff;
}
.trust-icon svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trust-card h3{
  margin:0 0 16px;
  color:#fff;
  font-size:24px;
  line-height:1.18;
  letter-spacing:-.03em;
}
.trust-card p{
  margin:0;
  color:#aeb8c5;
  font-size:14px;
  line-height:1.72;
}

.trust-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  margin-top:34px;
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.trust-footer strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:17px;
}
.trust-footer p{
  max-width:720px;
  margin:0;
  color:#aeb8c5;
  font-size:14px;
  line-height:1.65;
}
.trust-link{
  display:flex;
  align-items:center;
  gap:24px;
  color:#fff;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.trust-link span{
  color:#FF6A00;
  font-size:21px;
  transition:transform .25s ease;
}
.trust-link:hover span{
  transform:translateX(6px);
}

@media(max-width:1050px){
  .trust-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trust-card{
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .trust-card:nth-child(2){
    border-right:0;
  }
  .trust-card:nth-child(3),
  .trust-card:nth-child(4){
    border-bottom:0;
  }
}
@media(max-width:820px){
  .trust-section{
    padding:88px 0 82px;
  }
  .trust-heading{
    grid-template-columns:1fr;
    gap:24px;
  }
  .trust-intro{
    justify-self:start;
  }
  .trust-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .trust-heading h2{
    font-size:42px;
  }
  .trust-grid{
    grid-template-columns:1fr;
  }
  .trust-card,
  .trust-card:nth-child(2),
  .trust-card:nth-child(3){
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .trust-card:last-child{
    border-bottom:0;
  }
  .trust-card{
    min-height:330px;
  }
}


/* ALTITUM — SPRINT 6.4 · Centro de conocimiento */
.knowledge-section{position:relative;padding:112px 0 104px;overflow:hidden;background:#f8fafc;color:#0A1322;border-top:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0}
.knowledge-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(10,19,34,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(10,19,34,.026) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,#000,transparent 94%)}
.knowledge-section>.container{position:relative;z-index:1}
.knowledge-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:76px;align-items:end;margin-bottom:48px}
.knowledge-heading .section-label{color:#FF6A00}
.knowledge-heading h2{max-width:820px;margin:16px 0 0;color:#0A1322;font-size:clamp(48px,5vw,76px);line-height:1.01;letter-spacing:-.058em}
.knowledge-heading h2 span{color:#FF6A00}
.knowledge-intro{max-width:590px;margin:0;justify-self:end;color:#526174;font-size:17px;line-height:1.78}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.knowledge-card{position:relative;display:flex;min-height:520px;flex-direction:column;padding:32px 28px 28px;overflow:hidden;border:1px solid #dfe5ec;border-radius:22px;background:#fff;box-shadow:0 18px 46px rgba(15,23,42,.075);transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,border-color .34s ease}
.knowledge-card:hover,.knowledge-card:focus-within{transform:translateY(-7px);border-color:#cbd5e1;box-shadow:0 28px 64px rgba(15,23,42,.13)}
.knowledge-card::after{content:"";position:absolute;right:0;bottom:0;left:0;height:4px;background:#FF6A00;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.knowledge-card:hover::after,.knowledge-card:focus-within::after{transform:scaleX(1)}
.knowledge-number{position:absolute;top:29px;right:27px;color:#a3b1c2;font-size:11px;font-weight:800;letter-spacing:.16em}
.knowledge-icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:36px;border:1px solid #e1e7ed;border-radius:50%;background:#f4f7fa;color:#0A1322}
.knowledge-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.knowledge-kicker{margin:0 0 12px;color:#FF6A00;font-size:10px;font-weight:800;letter-spacing:.18em}
.knowledge-card h3{margin:0 0 18px;color:#0A1322;font-size:28px;line-height:1.14;letter-spacing:-.038em}
.knowledge-card>p:not(.knowledge-kicker){margin:0;color:#64748b;font-size:14px;line-height:1.72}
.knowledge-card ul{display:grid;gap:11px;margin:24px 0 0;padding:0;list-style:none}
.knowledge-card li{position:relative;padding-left:18px;color:#334155;font-size:13px;line-height:1.5}
.knowledge-card li::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:#FF6A00;box-shadow:0 0 0 4px rgba(255,106,0,.10)}
.knowledge-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:24px;border-top:1px solid #e5eaf0;color:#0A1322;font-size:14px;font-weight:800}
.knowledge-link span{color:#FF6A00;font-size:21px;transition:transform .25s ease}
.knowledge-link:hover span{transform:translateX(6px)}
.knowledge-footer{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:34px;padding:26px 28px;border-radius:18px;background:#0A1322}
.knowledge-footer strong{display:block;margin-bottom:8px;color:#fff;font-size:17px}
.knowledge-footer p{max-width:760px;margin:0;color:#d7dee8;font-size:14px;line-height:1.65}
.knowledge-footer .btn{min-width:230px}
@media(max-width:1000px){.knowledge-grid{grid-template-columns:1fr}.knowledge-card{min-height:460px}}
@media(max-width:820px){.knowledge-section{padding:88px 0 82px}.knowledge-heading{grid-template-columns:1fr;gap:24px}.knowledge-intro{justify-self:start}.knowledge-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.knowledge-heading h2{font-size:42px}.knowledge-card{min-height:auto}.knowledge-footer .btn{width:100%}}


/* ALTITUM — SPRINT 6.5 · Reestructuración final de Servicios */
.services-hero-refined .services-hero-layout{grid-template-columns:minmax(0,760px) 1fr}
.services-hero-refined .services-hero-copy{max-width:760px}
.services-hero-refined .services-hero-copy h1{max-width:760px}
.services-hero-refined .services-hero-bg{inset:104px 0 0 36%}
.services-hero-refined::after{background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.98) 29%,rgba(7,17,31,.66) 50%,rgba(7,17,31,.12) 76%,transparent 94%)}
.solutions-overview{padding:112px 0 104px;background:#f8fafc;color:#0A1322;border-bottom:1px solid #e5eaf0}
.solutions-overview-heading,.services-use-cases-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:76px;align-items:end;margin-bottom:48px}
.solutions-overview-heading .section-label,.services-use-cases-heading .section-label{color:#FF6A00}
.solutions-overview-heading h2,.services-use-cases-heading h2{margin:16px 0 0;font-size:clamp(48px,5vw,76px);line-height:1.01;letter-spacing:-.058em;color:#0A1322}
.solutions-overview-heading h2 span,.services-use-cases-heading h2 span{color:#FF6A00}
.solutions-overview-heading>p,.services-use-cases-heading>p{margin:0;color:#526174;font-size:17px;line-height:1.78}
.solutions-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.solution-overview-card{position:relative;display:flex;min-height:520px;flex-direction:column;padding:28px 24px 24px;border:1px solid #dfe5ec;border-radius:20px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.07);transition:transform .3s ease,box-shadow .3s ease}
.solution-overview-card:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(15,23,42,.13)}
.solution-overview-number{position:absolute;top:26px;right:23px;color:#a3b1c2;font-size:11px;font-weight:800;letter-spacing:.16em}
.solution-overview-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:34px;border:1px solid #e1e7ed;border-radius:50%;background:#f4f7fa;color:#FF6A00;font-size:28px}
.solution-overview-card h3{margin:0 0 14px;color:#0A1322;font-size:24px;line-height:1.14;letter-spacing:-.035em}
.solution-overview-card p{margin:0;color:#64748b;font-size:14px;line-height:1.68}
.solution-overview-card ul{display:grid;gap:10px;margin:24px 0;padding:0;list-style:none}
.solution-overview-card li{position:relative;padding-left:17px;color:#334155;font-size:13px;line-height:1.45}
.solution-overview-card li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#FF6A00}
.solution-overview-card a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid #e5eaf0;color:#0A1322;font-size:13px;font-weight:800}
.solution-overview-card a span{color:#FF6A00;font-size:20px}
.services-use-cases{padding:112px 0 104px;background:#fff;color:#0A1322}
.services-use-cases-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.services-use-case{display:grid;grid-template-columns:44% 56%;min-height:330px;overflow:hidden;border:1px solid #dfe5ec;border-radius:22px;background:#f8fafc;color:inherit;transition:transform .3s ease,box-shadow .3s ease}
.services-use-case:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(15,23,42,.12)}
.services-use-case-image{min-height:330px;background-size:cover;background-position:center}
.case-energy{background-image:url("../assets/sectors/sector-infrastructure-operation.webp")}
.case-agriculture{background-image:url("../assets/sectors/sector-agriculture-operation.webp")}
.case-airports{background-image:url("../assets/sectors/sector-airports-operation.webp")}
.case-infrastructure{background-image:url("../assets/sectors/sector-renewables-operation.webp")}
.services-use-case>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:30px}
.services-use-case span{color:#FF6A00;font-size:10px;font-weight:800;letter-spacing:.17em}
.services-use-case h3{margin:12px 0 15px;font-size:30px;line-height:1.12;letter-spacing:-.04em;color:#0A1322}
.services-use-case p{margin:0;color:#64748b;font-size:14px;line-height:1.68}
.services-use-case strong{margin-top:24px;color:#0A1322;font-size:13px}
.services-method-compact{padding:104px 0}
.services-method-compact .services-method-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}
.services-method-compact .services-method-heading>p{margin:0;color:#64748b;line-height:1.7}
.services-method-compact .services-method-grid>div{min-height:210px}
@media(max-width:1200px){.solutions-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-overview-card:last-child{grid-column:1/-1;min-height:400px}}
@media(max-width:900px){.solutions-overview-heading,.services-use-cases-heading{grid-template-columns:1fr;gap:24px}.services-use-cases-grid{grid-template-columns:1fr}.services-use-case{grid-template-columns:40% 60%}}
@media(max-width:640px){.solutions-overview,.services-use-cases{padding:84px 0 78px}.solutions-overview-heading h2,.services-use-cases-heading h2{font-size:42px}.solutions-overview-grid{grid-template-columns:1fr}.solution-overview-card:last-child{grid-column:auto}.services-use-case{grid-template-columns:1fr}.services-use-case-image{min-height:250px}.services-use-case>div:last-child{padding:26px 23px}}


/* =========================================================
   ALTITUM — SPRINT 7.1.1
   Limpieza arquitectónica de la Home
   ---------------------------------------------------------
   Las reglas históricas de Casos de uso y Centro de
   conocimiento se conservan temporalmente para evitar
   regresiones en otras páginas. Sus bloques HTML fueron
   retirados de la Home y podrán depurarse definitivamente
   tras aprobar el Sprint 7.1.2.
   ========================================================= */


/* =========================================================
   ALTITUM — FASE 2.2 · HERO PANORÁMICO APROBADO
   Ajuste aplicado sobre Sprint 7.1.2.1 sin alterar secciones inferiores.
   ========================================================= */
.hero-final-clean-scene{
  inset:104px 0 0 0!important;
  background-image:image-set(
    url("../assets/hero-cinematic-panorama.webp") type("image/webp"),
    url("../assets/hero-cinematic-panorama.jpg") type("image/jpeg")
  )!important;
  background-position:center 58%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.02) contrast(1.025) brightness(.93)!important;
  transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1)!important;
}

.hero-final-clean-blend{
  background:
    linear-gradient(
      90deg,
      #07111f 0%,
      rgba(7,17,31,.99) 17%,
      rgba(7,17,31,.94) 28%,
      rgba(7,17,31,.78) 38%,
      rgba(7,17,31,.48) 49%,
      rgba(7,17,31,.18) 60%,
      transparent 72%
    ),
    linear-gradient(
      180deg,
      rgba(7,17,31,.13) 0%,
      transparent 30%,
      transparent 78%,
      rgba(7,17,31,.24) 100%
    )!important;
}

@media(min-width:1101px){
  .drone-flight-zone{
    inset:104px 0 0 48%!important;
    transform:translateY(34px)!important;
  }
}

@media(max-width:1100px){
  .hero-final-clean-scene{
    inset:88px 0 0!important;
    background-position:62% 55%!important;
  }
  .hero-final-clean-blend{
    background:linear-gradient(90deg,#07111f 0%,rgba(7,17,31,.94) 32%,rgba(7,17,31,.60) 52%,rgba(7,17,31,.18) 72%,transparent 88%)!important;
  }
}

@media(max-width:820px){
  .hero-final-clean-scene{
    background-position:68% center!important;
  }
  .hero-final-clean-blend{
    background:linear-gradient(180deg,rgba(7,17,31,.42) 0%,rgba(7,17,31,.72) 50%,#07111f 100%)!important;
  }
}

/* =========================================================
   ALTITUM — SPRINT 2.3 · REFINAMIENTO FINAL DEL HERO
   Dirección de arte: más paisaje, dron secundario y overlay editorial.
   ========================================================= */
.hero-final-clean-scene{
  /* Capa atmosférica de respaldo para evitar bordes al alejar la escena. */
  background-image:image-set(
    url("../assets/hero-cinematic-panorama.webp") type("image/webp"),
    url("../assets/hero-cinematic-panorama.jpg") type("image/jpeg")
  )!important;
  background-size:cover!important;
  background-position:56% 54%!important;
  filter:saturate(1.035) contrast(1.025) brightness(.90)!important;
  overflow:hidden!important;
}

.hero-final-clean-scene::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  opacity:1!important;
  background-image:image-set(
    url("../assets/hero-cinematic-panorama.webp") type("image/webp"),
    url("../assets/hero-cinematic-panorama.jpg") type("image/jpeg")
  )!important;
  background-repeat:no-repeat!important;
  background-size:89% auto!important;
  background-position:61% 56%!important;
  filter:saturate(1.04) contrast(1.02) brightness(1.02)!important;
  transform:none!important;
  pointer-events:none!important;
}

.hero-final-clean-scene::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  opacity:1!important;
  background:linear-gradient(180deg,rgba(7,17,31,.10) 0%,transparent 35%,transparent 76%,rgba(7,17,31,.14) 100%)!important;
  pointer-events:none!important;
}

.hero-final-clean-blend{
  background:
    linear-gradient(
      90deg,
      #07111f 0%,
      rgba(7,17,31,.975) 16%,
      rgba(7,17,31,.90) 27%,
      rgba(7,17,31,.70) 37%,
      rgba(7,17,31,.39) 48%,
      rgba(7,17,31,.12) 59%,
      transparent 69%
    ),
    linear-gradient(
      180deg,
      rgba(7,17,31,.09) 0%,
      transparent 31%,
      transparent 79%,
      rgba(7,17,31,.18) 100%
    )!important;
}

.hero-final-clean-copy .hero-accent-line{
  width:68px!important;
}

@media(min-width:1101px){
  .drone-flight-zone{
    inset:104px 0 0 53%!important;
    transform:translateY(72px)!important;
  }
  .drone-flight{
    width:248px!important;
    filter:drop-shadow(0 14px 20px rgba(0,0,0,.27))!important;
  }
}

@media(max-width:1100px){
  .hero-final-clean-scene::before{
    background-size:105% auto!important;
    background-position:64% 55%!important;
  }
  .hero-final-clean-copy .hero-accent-line{
    width:60px!important;
  }
}

@media(max-width:820px){
  .hero-final-clean-scene::before{
    background-size:cover!important;
    background-position:68% center!important;
  }
}

/* =========================================================
   ALTITUM — HERO MASTER · PREVIEW EN CÓDIGO
   Recurso panorámico limpio, sin dron integrado.
   ========================================================= */
.hero-final-clean-scene{
  inset:104px 0 0!important;
  background-image:image-set(
    url("../assets/hero-master-altitum.webp") type("image/webp"),
    url("../assets/hero-master-altitum.jpg") type("image/jpeg")
  )!important;
  background-size:cover!important;
  background-position:center 52%!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.03) contrast(1.035) brightness(.91)!important;
  transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.01)!important;
  overflow:hidden!important;
}
.hero-final-clean-scene::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
.hero-final-clean-scene::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(5,14,27,.10) 0%,transparent 34%,transparent 74%,rgba(5,14,27,.19) 100%)!important;
  pointer-events:none!important;
}
.hero-final-clean-blend{
  background:
    linear-gradient(90deg,
      #07111f 0%,
      rgba(7,17,31,.99) 17%,
      rgba(7,17,31,.93) 28%,
      rgba(7,17,31,.72) 39%,
      rgba(7,17,31,.42) 50%,
      rgba(7,17,31,.14) 61%,
      transparent 72%),
    linear-gradient(180deg,rgba(7,17,31,.08) 0%,transparent 34%,transparent 78%,rgba(7,17,31,.20) 100%)!important;
}
.hero-final-clean-copy{
  padding-top:26px!important;
}
.hero-final-clean-copy .hero-accent-line{
  width:72px!important;
}
@media(min-width:1101px){
  .drone-flight-zone{
    inset:104px 0 0 56%!important;
    transform:translateY(118px)!important;
  }
  .drone-flight{
    width:218px!important;
    filter:drop-shadow(0 14px 18px rgba(0,0,0,.24))!important;
  }
}
@media(max-width:1100px){
  .hero-final-clean-scene{
    inset:88px 0 0!important;
    background-position:58% 52%!important;
  }
  .hero-final-clean-copy{padding-top:12px!important;}
}
@media(max-width:820px){
  .hero-final-clean-scene{
    background-position:66% center!important;
    transform:none!important;
  }
  .hero-final-clean-blend{
    background:linear-gradient(180deg,rgba(7,17,31,.40) 0%,rgba(7,17,31,.69) 51%,#07111f 100%)!important;
  }
}

/* =========================================================
   ALTITUM — HERO MASTER FIT · REVISIÓN 1
   Ajuste real para mostrar la composición completa sin recorte agresivo.
   ========================================================= */
@media (min-width:1101px){
  .hero-final-clean-scene{
    inset:104px 0 0!important;
    background-color:#07111f!important;
    background-image:image-set(
      url("../assets/hero-master-altitum.webp") type("image/webp"),
      url("../assets/hero-master-altitum.jpg") type("image/jpeg")
    )!important;
    background-repeat:no-repeat!important;
    background-size:auto 100%!important;
    background-position:right center!important;
    transform:none!important;
    filter:saturate(1.035) contrast(1.025) brightness(.94)!important;
  }

  .hero-final-clean-blend{
    background:
      linear-gradient(90deg,
        #07111f 0%,
        rgba(7,17,31,1) 20%,
        rgba(7,17,31,.96) 31%,
        rgba(7,17,31,.78) 42%,
        rgba(7,17,31,.46) 52%,
        rgba(7,17,31,.16) 62%,
        transparent 72%),
      linear-gradient(180deg,
        rgba(7,17,31,.06) 0%,
        transparent 35%,
        transparent 78%,
        rgba(7,17,31,.18) 100%)!important;
  }

  .hero-final-clean-copy{
    padding-top:54px!important;
  }

  .drone-flight-zone{
    inset:104px 0 0 58%!important;
    transform:translateY(88px)!important;
  }

  .drone-flight{
    width:205px!important;
    filter:drop-shadow(0 12px 18px rgba(0,0,0,.24))!important;
  }
}

@media (max-width:1100px){
  .hero-final-clean-scene{
    background-size:cover!important;
    background-position:66% center!important;
    transform:none!important;
  }
}

/* =========================================================
   ALTITUM — HERO v1.0 · GOLD POLISH (LOCKED)
   Cierre visual aprobado: composición, lectura y microdetalles.
   ========================================================= */
@media (min-width:1101px){
  .hero-final-clean-scene{
    /* Encuadre final: escena completa y leve ajuste editorial. */
    background-size:auto 100%!important;
    background-position:calc(100% + 34px) 48%!important;
    filter:saturate(1.035) contrast(1.03) brightness(.955)!important;
  }

  .hero-final-clean-blend{
    background:
      linear-gradient(90deg,
        #07111f 0%,
        rgba(7,17,31,.99) 18%,
        rgba(7,17,31,.94) 29%,
        rgba(7,17,31,.74) 40%,
        rgba(7,17,31,.40) 50%,
        rgba(7,17,31,.12) 61%,
        transparent 71%),
      linear-gradient(180deg,
        rgba(7,17,31,.04) 0%,
        transparent 34%,
        transparent 77%,
        rgba(7,17,31,.17) 100%)!important;
  }

  .hero-final-clean-layout{
    align-items:center!important;
  }

  .hero-final-clean-copy{
    padding-top:0!important;
    transform:translateY(-24px)!important;
  }

  .hero-final-clean-copy .eyebrow{
    margin-bottom:12px!important;
  }

  .hero-final-clean-copy .hero-accent-line{
    width:86px!important;
  }

  .hero-final-clean-copy .hero-description{
    max-width:600px!important;
  }

  .hero-secondary-cta{
    border-color:rgba(185,199,216,.52)!important;
    transition:transform .32s ease,border-color .32s ease,background-color .32s ease,color .32s ease!important;
  }

  .hero-secondary-cta:hover{
    border-color:rgba(220,229,239,.82)!important;
    background:rgba(255,255,255,.075)!important;
    transform:translateY(-2px)!important;
  }

  .drone-flight-zone{
    inset:104px 0 0 59%!important;
    transform:translateY(108px)!important;
  }

  .drone-flight{
    width:184px!important;
    opacity:.92!important;
    filter:drop-shadow(0 10px 14px rgba(0,0,0,.18))!important;
  }
}

/* Lenguaje técnico sutil sobre el paisaje. */
.hero-final-clean-grid{
  display:block!important;
  opacity:.28!important;
  background:none!important;
  pointer-events:none!important;
}
.hero-final-clean-grid::before{
  content:"";
  position:absolute;
  left:58%;
  top:39%;
  width:28%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,141,26,.20) 14%,rgba(255,141,26,.42) 55%,transparent);
  transform:rotate(-7deg);
  transform-origin:left center;
  box-shadow:0 0 12px rgba(255,141,26,.08);
}
.hero-final-clean-grid::after{
  content:"";
  position:absolute;
  left:67%;
  top:34.8%;
  width:5px;
  height:5px;
  border:1px solid rgba(255,174,82,.52);
  border-radius:50%;
  box-shadow:190px 23px 0 -1px rgba(255,174,82,.42),0 0 10px rgba(255,141,26,.18),190px 23px 10px rgba(255,141,26,.12);
}

/* Partículas y coordenadas pasan a segundo plano. */
.particle-field{opacity:.32!important;}
.particle-field-b{opacity:.18!important;}
.data-spark:nth-of-type(even){opacity:.32!important;}
.hero-coordinate{opacity:.46!important;}

/* Transición editorial hacia la siguiente sección. */
.hero-final-clean::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:64px;
  z-index:8;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(7,17,31,.30) 42%,#f7f8fa 100%);
}

@media (max-width:1100px){
  .hero-final-clean-copy{
    transform:none!important;
  }
  .hero-final-clean-copy .hero-description{
    max-width:620px!important;
  }
  .hero-final-clean-grid::before,
  .hero-final-clean-grid::after{
    display:none!important;
  }
  .hero-final-clean::after{
    height:42px;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-secondary-cta{transition:none!important;}
}


/* =========================================================
   SPRINT 3.0 — CAPACIDADES ESTRATÉGICAS
   ========================================================= */
.hero-actions-final{display:flex;align-items:center;gap:16px}
.hero-primary-cta{min-height:56px;padding-inline:34px;border-radius:15px}

.capabilities-v3{position:relative;padding:118px 0 122px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);overflow:hidden}
.capabilities-v3::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 6%,rgba(255,139,77,.09),transparent 28%),linear-gradient(rgba(11,34,57,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(11,34,57,.026) 1px,transparent 1px);background-size:auto,88px 88px,88px 88px;mask-image:linear-gradient(#000,transparent 86%)}
.capabilities-v3__container{position:relative;z-index:1}
.capabilities-v3__rail{height:48px;display:flex;align-items:center;gap:12px;margin-bottom:34px;color:#23384d;font-size:13px;font-weight:800;letter-spacing:.16em}
.capabilities-v3__rail i{height:1px;background:#c7d0da;flex:1}.capabilities-v3__rail i:first-of-type{max-width:260px}.capabilities-v3__rail b{width:7px;height:7px;border-radius:50%;background:#ff8b4d;box-shadow:0 0 0 5px rgba(255,139,77,.11)}
.capabilities-v3__heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:end;gap:72px;margin-bottom:58px}
.capabilities-v3__eyebrow{margin:0 0 16px;color:#20384f;font-size:12px;font-weight:800;letter-spacing:.18em}
.capabilities-v3 h2{margin:0;color:#0b2239;font-size:clamp(40px,4.2vw,68px);line-height:1.02;letter-spacing:-.045em}
.capabilities-v3 h2 em{color:#ff8b4d;font-family:Georgia,'Times New Roman',serif;font-weight:500}
.capabilities-v3__intro{max-width:560px;margin:0 0 6px;color:#617184;font-size:18px;line-height:1.72}
.capabilities-v3__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.cap-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e3e8ee;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px rgba(11,34,57,.07);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease;transition-delay:var(--delay,0ms)}
.cap-card:hover{transform:translateY(-10px);border-color:#d1dae4;box-shadow:0 24px 58px rgba(11,34,57,.14)}
.cap-card__media{position:relative;height:214px;overflow:hidden;background:#dfe6ec}
.cap-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,21,36,.26) 100%);pointer-events:none}
.cap-card__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.04);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.cap-card:hover .cap-card__media img{transform:scale(1.055);filter:saturate(1) contrast(1.04)}
.cap-card__icon{position:absolute;z-index:2;left:22px;bottom:-25px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#0b2239;border:4px solid #fff;box-shadow:0 10px 24px rgba(6,22,38,.22);transition:transform .35s ease,background .35s ease}
.cap-card:hover .cap-card__icon{transform:translateY(-3px) rotate(4deg);background:#ff8b4d}
.cap-card__icon svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cap-card__body{display:flex;flex-direction:column;flex:1;padding:46px 24px 25px}
.cap-card h3{min-height:56px;margin:0 0 14px;color:#0b2239;font-size:20px;line-height:1.26;letter-spacing:-.02em}
.cap-card p{margin:0;color:#687789;font-size:14px;line-height:1.65;flex:1}
.cap-card a{display:inline-flex;align-items:center;gap:9px;margin-top:24px;color:#0b2239;font-size:13px;font-weight:800;text-decoration:none;letter-spacing:.02em}
.cap-card a span{color:#ff8b4d;font-size:18px;transition:transform .3s ease}.cap-card a:hover span{transform:translateX(5px)}
@media(max-width:1320px){.capabilities-v3__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cap-card__media{height:230px}}
@media(max-width:900px){.capabilities-v3{padding:92px 0}.capabilities-v3__heading{grid-template-columns:1fr;gap:24px}.capabilities-v3__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cap-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}}
@media(max-width:620px){.capabilities-v3{padding:76px 0}.capabilities-v3__rail{margin-bottom:24px}.capabilities-v3__rail i:first-of-type{max-width:90px}.capabilities-v3__intro{font-size:16px}.capabilities-v3__grid{grid-template-columns:1fr}.cap-card:last-child{grid-column:auto;max-width:none}.cap-card__media{height:235px}.cap-card h3{min-height:0}.hero-actions-final{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.cap-card,.cap-card__media img,.cap-card__icon,.cap-card a span{transition:none!important}}

/* =========================================================
   SPRINT 3.0 FINAL — CAPACIDADES ESTRATÉGICAS
   ========================================================= */
.capabilities-v3{padding:96px 0 76px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.capabilities-v3::before{background:radial-gradient(circle at 92% 8%,rgba(255,106,0,.055),transparent 26%),linear-gradient(rgba(11,34,57,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(11,34,57,.018) 1px,transparent 1px);background-size:auto,88px 88px,88px 88px}
.capabilities-v3__kicker{display:flex;align-items:center;gap:18px;margin-bottom:36px;color:#0b2239;font-size:12px;font-weight:800;letter-spacing:.19em}
.capabilities-v3__number{color:#ff6a00;font-size:14px;letter-spacing:.08em}.capabilities-v3__slash{color:#9fb0c2}.capabilities-v3__eyebrow{white-space:nowrap}
.capabilities-v3__line{display:flex;align-items:center;flex:1;gap:10px;min-width:120px}.capabilities-v3__line i{height:1px;background:#b9c8d8;flex:1}.capabilities-v3__line i:first-child{max-width:90px}.capabilities-v3__line b{width:7px;height:7px;border-radius:50%;background:#ff6a00;box-shadow:0 0 0 4px rgba(255,106,0,.08)}
.capabilities-v3__heading{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:88px;margin-bottom:62px}
.capabilities-v3 h2{font-size:clamp(44px,4.35vw,72px);line-height:.99;letter-spacing:-.048em;font-weight:750}.capabilities-v3 h2 span{color:#ff6a00}.capabilities-v3__intro{max-width:500px;color:#22384f;font-size:17px;line-height:1.72}
.capabilities-v3__grid{gap:14px}
.cap-card{border-radius:14px;box-shadow:0 12px 32px rgba(11,34,57,.075);min-height:610px}
.cap-card__media{height:286px;border-bottom:3px solid #ff6a00}.cap-card__media::after{background:linear-gradient(180deg,rgba(3,15,27,.02),rgba(3,15,27,.13))}.cap-card__media img{filter:saturate(.95) contrast(1.03)}
.cap-card__icon{left:50%;bottom:-36px;transform:translateX(-50%);width:76px;height:76px;border:4px solid #fff;background:#071d33;box-shadow:0 12px 26px rgba(4,21,37,.24)}
.cap-card:hover .cap-card__icon{transform:translateX(-50%) translateY(-4px);background:#071d33;box-shadow:0 15px 32px rgba(255,106,0,.22)}
.cap-card__icon svg{width:36px;height:36px;stroke:#ff6a00;stroke-width:2.3}
.cap-card__body{padding:58px 24px 28px}.cap-card h3{min-height:54px;font-size:19px;line-height:1.22;margin-bottom:18px}.cap-card p{font-size:14px;line-height:1.75;color:#425978}.cap-card a{margin-top:28px;font-size:13px}.cap-card a span{color:#ff6a00}
.capabilities-v3__footer-line{display:flex;align-items:center;gap:10px;margin:62px auto 0;width:min(84%,1050px)}.capabilities-v3__footer-line i{height:1px;background:#aebfd1;flex:1}.capabilities-v3__footer-line b{width:8px;height:8px;border:2px solid #ff6a00}.capabilities-v3__footer-line span{width:32px;height:32px;border:1px solid #9fb1c5;border-radius:50%;box-shadow:inset 0 0 0 8px #fff;outline:1px solid rgba(11,34,57,.06)}
@media(max-width:1320px){.capabilities-v3__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cap-card{min-height:590px}.cap-card__media{height:250px}}
@media(max-width:900px){.capabilities-v3__kicker{gap:12px}.capabilities-v3__eyebrow{white-space:normal}.capabilities-v3__heading{gap:24px}.capabilities-v3__intro{max-width:650px}.cap-card{min-height:560px}.capabilities-v3__footer-line{width:100%}}
@media(max-width:620px){.capabilities-v3{padding:78px 0 62px}.capabilities-v3__line{display:none}.capabilities-v3__heading{margin-bottom:42px}.capabilities-v3 h2{font-size:44px}.cap-card{min-height:auto}.cap-card__media{height:250px}.cap-card__body{padding:58px 24px 26px}.capabilities-v3__footer-line{margin-top:44px}}

/* =========================================================
   SPRINT 3.1 — GOLD POLISH / CAPACIDADES ESTRATÉGICAS
   ========================================================= */
.capabilities-v3{
  scroll-margin-top:96px;
  padding:112px 0 78px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
}
.capabilities-v3::before{
  background:
    radial-gradient(circle at 92% 8%,rgba(255,106,0,.07),transparent 25%),
    linear-gradient(rgba(11,34,57,.023) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,34,57,.023) 1px,transparent 1px);
  background-size:auto,88px 88px,88px 88px;
}
.capabilities-v3__kicker{
  margin-bottom:28px;
  min-height:24px;
}
.capabilities-v3__heading{
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  align-items:center;
  gap:76px;
  margin-bottom:34px;
}
.capabilities-v3__intro{
  max-width:530px;
  font-size:17px;
  line-height:1.82;
  align-self:center;
}
.capabilities-v3__grid{
  gap:22px;
}
.cap-card{
  min-height:552px;
  border-color:rgba(155,174,194,.38);
  box-shadow:0 10px 28px rgba(11,34,57,.07);
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
.cap-card:first-child{
  border-color:rgba(255,106,0,.24);
  box-shadow:0 13px 34px rgba(11,34,57,.09);
}
.cap-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,106,0,.28);
  box-shadow:0 22px 48px rgba(11,34,57,.13);
}
.cap-card__media{
  height:250px;
}
.cap-card__media img{
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.cap-card:hover .cap-card__media img{
  transform:scale(1.035);
}
.cap-card__icon{
  bottom:-32px;
  width:68px;
  height:68px;
  border-width:3px;
  box-shadow:0 10px 22px rgba(4,21,37,.21);
}
.cap-card__icon svg{
  width:31px;
  height:31px;
}
.cap-card:hover .cap-card__icon{
  transform:translateX(-50%) translateY(-3px);
  box-shadow:0 13px 28px rgba(255,106,0,.19);
}
.cap-card__body{
  padding:50px 24px 24px;
}
.cap-card h3{
  min-height:50px;
  margin-bottom:14px;
}
.cap-card p{
  line-height:1.68;
}
.cap-card a{
  margin-top:22px;
}
.capabilities-v3__footer-line{
  margin-top:52px;
}
@media(max-width:1320px){
  .capabilities-v3__grid{gap:20px}
  .cap-card{min-height:545px}
  .cap-card__media{height:235px}
}
@media(max-width:900px){
  .capabilities-v3{padding:94px 0 72px}
  .capabilities-v3__heading{grid-template-columns:1fr;gap:22px;margin-bottom:38px}
  .capabilities-v3__intro{max-width:680px}
  .cap-card{min-height:535px}
}
@media(max-width:620px){
  .capabilities-v3{padding:78px 0 60px}
  .capabilities-v3__kicker{margin-bottom:24px}
  .capabilities-v3__heading{margin-bottom:34px}
  .cap-card{min-height:auto}
  .cap-card__media{height:230px}
  .cap-card__body{padding:48px 22px 24px}
}

/* =========================================================
   SPRINT 3.3 — IMÁGENES APROBADAS + ICONOS COMPLETOS
   ========================================================= */
.capabilities-v3{
  padding:104px 0 74px;
}
.capabilities-v3__heading{
  margin-bottom:42px;
}
.capabilities-v3__grid{
  gap:16px;
  align-items:stretch;
}
.cap-card{
  min-height:566px;
  overflow:hidden;
  border-radius:13px;
  background:#fff;
}
.cap-card__media{
  position:relative;
  height:274px;
  overflow:visible;
  border-bottom:0;
  background:#dfe7ee;
}
.cap-card__imageframe{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:12px 12px 0 0;
  border-bottom:3px solid #ff6a00;
}
.cap-card__imageframe::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,15,27,.01) 45%,rgba(3,15,27,.12) 100%);
}
.cap-card__imageframe img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.02) contrast(1.035);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.cap-card:hover .cap-card__imageframe img{
  transform:scale(1.035);
  filter:saturate(1.06) contrast(1.04);
}
.cap-card__media::after{
  display:none;
}
.cap-card__icon{
  z-index:5;
  left:50%;
  bottom:-38px;
  width:78px;
  height:78px;
  transform:translateX(-50%);
  border:4px solid #fff;
  background:#071d33;
  box-shadow:0 12px 27px rgba(4,21,37,.24);
  overflow:visible;
}
.cap-card__icon svg{
  width:36px;
  height:36px;
  stroke:#ff6a00;
  stroke-width:2.35;
}
.cap-card:hover .cap-card__icon{
  transform:translateX(-50%) translateY(-3px);
  background:#071d33;
  box-shadow:0 15px 34px rgba(255,106,0,.20);
}
.cap-card__body{
  padding:61px 28px 27px;
}
.cap-card h3{
  min-height:52px;
  margin-bottom:14px;
  font-size:19px;
  line-height:1.2;
}
.cap-card p{
  font-size:14px;
  line-height:1.67;
}
.cap-card a{
  margin-top:23px;
}
.capabilities-v3__footer-line{
  position:relative;
  z-index:1;
  margin-top:48px;
  overflow:visible;
}
.capabilities-v3__footer-line span{
  position:relative;
  flex:0 0 36px;
  width:36px;
  height:36px;
  background:#fff;
  box-shadow:inset 0 0 0 9px #fff,0 0 0 1px rgba(11,34,57,.04);
}
.capabilities-v3__footer-line span::before,
.capabilities-v3__footer-line span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
}
.capabilities-v3__footer-line span::before{
  width:9px;
  height:9px;
  border:1.5px solid #68829d;
  background:#fff;
}
.capabilities-v3__footer-line span::after{
  width:2px;
  height:2px;
  background:#ff6a00;
}
.capabilities-v3__footer-line b{
  flex:0 0 8px;
  box-sizing:border-box;
}
@media(max-width:1320px){
  .capabilities-v3__grid{gap:20px}
  .cap-card{min-height:548px}
  .cap-card__media{height:245px}
}
@media(max-width:900px){
  .capabilities-v3{padding:92px 0 68px}
  .cap-card{min-height:540px}
  .cap-card__media{height:250px}
  .capabilities-v3__footer-line{margin-top:44px}
}
@media(max-width:620px){
  .capabilities-v3{padding:78px 0 58px}
  .capabilities-v3__heading{margin-bottom:34px}
  .cap-card{min-height:auto}
  .cap-card__media{height:250px}
  .cap-card__icon{width:72px;height:72px;bottom:-35px}
  .cap-card__icon svg{width:33px;height:33px}
  .cap-card__body{padding:55px 23px 24px}
  .capabilities-v3__footer-line{margin-top:40px}
}

/* =========================================================
   SPRINT 3.3 AJUSTADO — MATCH FINAL APROBADO (2026-07-21)
   ========================================================= */
html{scroll-padding-top:110px}
.capabilities-v3{
  scroll-margin-top:110px;
  padding:112px 0 76px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 68%,#f8fafc 100%);
}
.capabilities-v3__container{
  width:min(1380px,calc(100% - 72px));
}
.capabilities-v3__kicker{
  margin-bottom:30px;
  min-height:24px;
  gap:18px;
}
.capabilities-v3__line i:first-child{max-width:105px}
.capabilities-v3__heading{
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  align-items:center;
  gap:92px;
  margin-bottom:38px;
}
.capabilities-v3 h2{
  font-size:clamp(50px,4.25vw,72px);
  line-height:1.01;
  letter-spacing:-.052em;
}
.capabilities-v3__intro{
  max-width:520px;
  margin:0;
  color:#172f48;
  font-size:17px;
  line-height:1.75;
}
.capabilities-v3__grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.cap-card{
  min-height:552px;
  border-radius:13px;
  border:1px solid rgba(151,170,191,.30);
  box-shadow:0 10px 28px rgba(11,34,57,.07);
  overflow:hidden;
}
.cap-card:first-child{
  border-color:rgba(151,170,191,.30);
  box-shadow:0 10px 28px rgba(11,34,57,.07);
}
.cap-card:hover{
  transform:translateY(-7px);
  border-color:rgba(255,106,0,.26);
  box-shadow:0 20px 44px rgba(11,34,57,.12);
}
.cap-card__media{
  height:260px;
  overflow:visible;
}
.cap-card__imageframe{
  border-radius:12px 12px 0 0;
  border-bottom:3px solid #ff6a00;
}
.cap-card__imageframe img{
  object-position:center center;
  filter:saturate(1.03) contrast(1.035);
}
.cap-card__icon{
  bottom:-35px;
  width:74px;
  height:74px;
  border:3px solid #fff;
  box-shadow:0 11px 25px rgba(4,21,37,.22);
}
.cap-card__icon svg{
  width:34px;
  height:34px;
}
.cap-card__body{
  padding:55px 28px 25px;
}
.cap-card h3{
  min-height:48px;
  margin:0 0 13px;
  font-size:19px;
  line-height:1.18;
}
.cap-card p{
  margin:0;
  font-size:14px;
  line-height:1.63;
  color:#425978;
}
.cap-card a{
  margin-top:auto;
  padding-top:22px;
  font-size:13px;
}
.capabilities-v3__footer-line{
  width:min(82%,1080px);
  margin-top:38px;
}
.capabilities-v3__footer-line span{
  flex-basis:38px;
  width:38px;
  height:38px;
}
@media(max-width:1440px){
  .capabilities-v3__container{width:min(1280px,calc(100% - 52px))}
  .capabilities-v3__grid{gap:16px}
  .cap-card__media{height:246px}
  .cap-card__body{padding-left:24px;padding-right:24px}
}
@media(max-width:1320px){
  .capabilities-v3__container{width:min(1120px,calc(100% - 44px))}
  .capabilities-v3__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .cap-card{min-height:535px}
  .cap-card__media{height:245px}
}
@media(max-width:900px){
  .capabilities-v3{padding:104px 0 68px}
  .capabilities-v3__container{width:min(760px,calc(100% - 36px))}
  .capabilities-v3__heading{grid-template-columns:1fr;gap:20px;margin-bottom:36px}
  .capabilities-v3__intro{max-width:660px}
  .capabilities-v3__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cap-card:last-child{grid-column:1/-1;max-width:calc(50% - 10px);justify-self:center;width:100%}
}
@media(max-width:620px){
  html{scroll-padding-top:88px}
  .capabilities-v3{scroll-margin-top:88px;padding:86px 0 56px}
  .capabilities-v3__container{width:calc(100% - 28px)}
  .capabilities-v3__kicker{gap:10px;margin-bottom:22px}
  .capabilities-v3__eyebrow{font-size:10px;letter-spacing:.13em}
  .capabilities-v3 h2{font-size:42px;line-height:1.02}
  .capabilities-v3__grid{grid-template-columns:1fr;gap:18px}
  .cap-card:last-child{grid-column:auto;max-width:none}
  .cap-card__media{height:245px}
  .cap-card__body{padding:54px 23px 23px}
  .capabilities-v3__footer-line{width:100%;margin-top:34px}
}

/* =========================================================
   SPRINT 3.3.1 — GOLD POLISH DE ICONOS
   Ajuste final de posición, proporción, borde y sombra.
   ========================================================= */
.cap-card__icon{
  bottom:-18px;
  width:80px;
  height:80px;
  border:4px solid #fff;
  background:#071d33;
  box-shadow:0 8px 20px rgba(4,21,37,.15);
}
.cap-card__icon svg{
  width:24px;
  height:24px;
  stroke-width:2.25;
}
.cap-card:hover .cap-card__icon{
  transform:translateX(-50%) translateY(-2px);
  background:#071d33;
  box-shadow:0 10px 24px rgba(4,21,37,.18);
}
.cap-card__body{
  padding-top:48px;
}

@media(max-width:1320px){
  .cap-card__icon{bottom:-18px;width:78px;height:78px}
  .cap-card__icon svg{width:23px;height:23px}
  .cap-card__body{padding-top:47px}
}
@media(max-width:620px){
  .cap-card__icon{bottom:-17px;width:76px;height:76px}
  .cap-card__icon svg{width:22px;height:22px}
  .cap-card__body{padding-top:46px}
}

/* =========================================================
   SPRINT 3.3.2 — ICONOGRAFÍA FINAL APROBADA
   Reproduce la escala, el solape y la presencia visual
   del boceto final aprobado para Capacidades Estratégicas.
   ========================================================= */
.cap-card__icon{
  bottom:-29px;
  width:76px;
  height:76px;
  border:3px solid #fff;
  background:#071d33;
  box-shadow:0 9px 20px rgba(4,21,37,.17);
}
.cap-card__icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:#ff6a00;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}
.cap-card:nth-child(2) .cap-card__icon svg{width:35px;height:35px}
.cap-card:nth-child(3) .cap-card__icon svg{width:36px;height:36px}
.cap-card:nth-child(4) .cap-card__icon svg{width:35px;height:35px}
.cap-card:nth-child(5) .cap-card__icon svg{width:39px;height:39px}
.cap-card:hover .cap-card__icon{
  transform:translateX(-50%) translateY(-2px);
  background:#071d33;
  box-shadow:0 12px 26px rgba(4,21,37,.20);
}
.cap-card__body{
  padding-top:56px;
}

@media(max-width:1320px){
  .cap-card__icon{bottom:-28px;width:74px;height:74px}
  .cap-card__icon svg{width:36px;height:36px}
  .cap-card:nth-child(2) .cap-card__icon svg{width:34px;height:34px}
  .cap-card:nth-child(3) .cap-card__icon svg{width:35px;height:35px}
  .cap-card:nth-child(4) .cap-card__icon svg{width:34px;height:34px}
  .cap-card:nth-child(5) .cap-card__icon svg{width:37px;height:37px}
  .cap-card__body{padding-top:54px}
}
@media(max-width:620px){
  .cap-card__icon{bottom:-27px;width:72px;height:72px}
  .cap-card__icon svg{width:35px;height:35px}
  .cap-card:nth-child(2) .cap-card__icon svg{width:33px;height:33px}
  .cap-card:nth-child(3) .cap-card__icon svg{width:34px;height:34px}
  .cap-card:nth-child(4) .cap-card__icon svg{width:33px;height:33px}
  .cap-card:nth-child(5) .cap-card__icon svg{width:36px;height:36px}
  .cap-card__body{padding-top:53px}
}


/* =========================================================
   SPRINT 3.3.3 — ICONOGRAFÍA APROBADA / AJUSTE DEFINITIVO
   Pictogramas redibujados con viewBox compacto para ocupar
   correctamente el círculo, tal como en el boceto aprobado.
   ========================================================= */
.capabilities-v3{scroll-margin-top:132px}
.cap-card__icon{
  bottom:-27px;
  width:78px;
  height:78px;
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(4,21,37,.16);
}
.cap-card__icon svg,
.cap-card:nth-child(2) .cap-card__icon svg,
.cap-card:nth-child(3) .cap-card__icon svg,
.cap-card:nth-child(4) .cap-card__icon svg,
.cap-card:nth-child(5) .cap-card__icon svg{
  width:42px;
  height:42px;
  stroke:#ff6a00;
  stroke-width:2.15;
  vector-effect:non-scaling-stroke;
}
.cap-card__body{padding-top:57px}
@media(max-width:1320px){
  .cap-card__icon{bottom:-26px;width:76px;height:76px}
  .cap-card__icon svg,
  .cap-card:nth-child(n) .cap-card__icon svg{width:40px;height:40px}
  .cap-card__body{padding-top:55px}
}
@media(max-width:620px){
  .capabilities-v3{scroll-margin-top:108px}
  .cap-card__icon{bottom:-25px;width:74px;height:74px}
  .cap-card__icon svg,
  .cap-card:nth-child(n) .cap-card__icon svg{width:39px;height:39px}
  .cap-card__body{padding-top:54px}
}


/* =========================================================
   SPRINT 3.3.2 FINAL — ICONOS DEFINITIVOS PARTE 02
   Un solo círculo, sin capas duplicadas y set aprobado.
   ========================================================= */
.cap-card__icon{
  position:absolute;
  z-index:10;
  left:50%;
  bottom:-31px;
  width:80px;
  height:80px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  transform:translateX(-50%);
  border:3px solid #fff;
  outline:0;
  border-radius:50%;
  background:#071d33;
  background-clip:padding-box;
  box-shadow:0 10px 24px rgba(4,21,37,.18);
  filter:none;
  isolation:isolate;
  overflow:hidden;
}
.cap-card__icon::before,
.cap-card__icon::after{
  content:none !important;
  display:none !important;
}
.cap-card__icon svg,
.cap-card:nth-child(n) .cap-card__icon svg{
  width:44px;
  height:44px;
  display:block;
  color:#fff;
  fill:none;
  stroke:currentColor;
  stroke-width:2.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  overflow:visible;
}
.cap-card:hover .cap-card__icon{
  transform:translateX(-50%) translateY(-3px) scale(1.03);
  background:#071d33;
  border-color:#fff;
  box-shadow:0 13px 28px rgba(4,21,37,.22);
}
.cap-card__body{padding-top:59px}
@media(max-width:1320px){
  .cap-card__icon{bottom:-29px;width:76px;height:76px}
  .cap-card__icon svg,
  .cap-card:nth-child(n) .cap-card__icon svg{width:41px;height:41px}
  .cap-card__body{padding-top:56px}
}
@media(max-width:620px){
  .cap-card__icon{bottom:-28px;width:74px;height:74px}
  .cap-card__icon svg,
  .cap-card:nth-child(n) .cap-card__icon svg{width:40px;height:40px}
  .cap-card__body{padding-top:55px}
}

/* =========================================================
   SPRINT 3.3.2 — GHOST RING FIX
   Corrige el doble aro causado por la rasterización de un
   elemento circular transformado (translateX) con borde y sombra.
   El centrado ahora se realiza con inset + margin, sin transform.
   ========================================================= */
.capabilities-v3 .cap-card__icon{
  left:0 !important;
  right:0 !important;
  margin-inline:auto !important;
  transform:none !important;
  will-change:auto !important;
  backface-visibility:visible !important;
  -webkit-backface-visibility:visible !important;
  contain:paint !important;
  isolation:auto !important;
  filter:none !important;
  outline:none !important;
  background-image:none !important;
  box-shadow:0 10px 22px rgba(4,21,37,.18) !important;
  transition:bottom .28s ease,box-shadow .28s ease !important;
}
.capabilities-v3 .cap-card:hover .cap-card__icon{
  bottom:-28px !important;
  transform:none !important;
  box-shadow:0 13px 26px rgba(4,21,37,.22) !important;
}
.capabilities-v3 .cap-card__icon::before,
.capabilities-v3 .cap-card__icon::after{
  content:none !important;
  display:none !important;
}

/* =========================================================
   SPRINT 3.3.2 — FIX ESTRUCTURAL DEFINITIVO DEL DOBLE ARO
   Se elimina la composición transformada del icono y el borde
   se construye con dos elementos físicos: aro + núcleo.
   ========================================================= */
.capabilities-v3 .cap-card.reveal,
.capabilities-v3 .cap-card.reveal.visible{
  opacity:1 !important;
  transform:none !important;
}
.capabilities-v3 .cap-card{
  transition:translate .32s ease,box-shadow .32s ease,border-color .32s ease !important;
}
.capabilities-v3 .cap-card:hover{
  transform:none !important;
  translate:0 -7px;
}
.capabilities-v3 .cap-card__icon{
  position:absolute !important;
  z-index:20 !important;
  left:0 !important;
  right:0 !important;
  bottom:-31px !important;
  width:80px !important;
  height:80px !important;
  margin-inline:auto !important;
  padding:3px !important;
  display:block !important;
  box-sizing:border-box !important;
  border:0 !important;
  outline:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:0 10px 24px rgba(4,21,37,.18) !important;
  transform:none !important;
  translate:none !important;
  filter:none !important;
  contain:none !important;
  isolation:auto !important;
  overflow:hidden !important;
  transition:bottom .28s ease,box-shadow .28s ease !important;
}
.capabilities-v3 .cap-card__icon-core{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#071d33;
  overflow:hidden;
}
.capabilities-v3 .cap-card__icon svg,
.capabilities-v3 .cap-card:nth-child(n) .cap-card__icon svg{
  width:42px !important;
  height:42px !important;
  display:block !important;
  color:#fff !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.45 !important;
  transform:none !important;
  filter:none !important;
}
.capabilities-v3 .cap-card:hover .cap-card__icon{
  bottom:-28px !important;
  transform:none !important;
  translate:none !important;
  box-shadow:0 13px 27px rgba(4,21,37,.22) !important;
}
@media(max-width:1320px){
  .capabilities-v3 .cap-card__icon{bottom:-29px !important;width:76px !important;height:76px !important}
  .capabilities-v3 .cap-card__icon svg,
  .capabilities-v3 .cap-card:nth-child(n) .cap-card__icon svg{width:40px !important;height:40px !important}
}
@media(max-width:620px){
  .capabilities-v3 .cap-card__icon{bottom:-28px !important;width:74px !important;height:74px !important}
  .capabilities-v3 .cap-card__icon svg,
  .capabilities-v3 .cap-card:nth-child(n) .cap-card__icon svg{width:39px !important;height:39px !important}
}


/* =========================================================
   SPRINT 3.3.2 — CODE CLEAN FIX
   Componente nuevo y aislado. No hereda ninguna regla histórica
   de .cap-card__icon ni utiliza capas, pseudo-elementos o sombras.
   ========================================================= */
.capabilities-v3 .cap-card__media > .capability-badge{
  position:absolute;
  z-index:50;
  left:50%;
  bottom:-31px;
  width:80px;
  height:80px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:3px solid #ffffff;
  border-radius:999px;
  outline:none;
  background:#071d33;
  background-image:none;
  box-shadow:none;
  filter:none;
  transform:translateX(-50%);
  overflow:hidden;
  isolation:auto;
  contain:none;
}
.capabilities-v3 .capability-badge::before,
.capabilities-v3 .capability-badge::after{
  content:none !important;
  display:none !important;
}
.capabilities-v3 .capability-badge svg{
  display:block;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  color:#ffffff;
  fill:none;
  stroke:currentColor;
  stroke-width:2.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:none;
  transform:none;
  overflow:visible;
}
.capabilities-v3 .cap-card:hover .capability-badge{
  background:#071d33;
  border-color:#ffffff;
  box-shadow:none;
  transform:translateX(-50%);
}
@media(max-width:1320px){
  .capabilities-v3 .cap-card__media > .capability-badge{bottom:-29px;width:76px;height:76px}
  .capabilities-v3 .capability-badge svg{width:40px;height:40px}
}
@media(max-width:620px){
  .capabilities-v3 .cap-card__media > .capability-badge{bottom:-28px;width:74px;height:74px}
  .capabilities-v3 .capability-badge svg{width:39px;height:39px}
}

/* =========================================================
   RC-002.1 — CAPACIDADES / PROFUNDIDAD GEOMÉTRICA
   Sombras proyectadas, HUD técnico, volumen y armonización.
   ========================================================= */
.capabilities-v3__grid{
  position:relative;
  isolation:isolate;
  padding-bottom:18px;
}
.cap-card{
  position:relative;
  overflow:visible;
  isolation:isolate;
  background:transparent;
  box-shadow:none;
  border:0;
}
/* Sombra geométrica larga, inspirada en el boceto aprobado */
.cap-card::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:9%;
  right:-7%;
  bottom:-15px;
  height:68px;
  border-radius:8px 18px 20px 8px;
  background:linear-gradient(108deg,
    rgba(13,36,58,.17) 0%,
    rgba(13,36,58,.105) 38%,
    rgba(13,36,58,.038) 75%,
    transparent 100%);
  transform:skewX(-18deg) translateX(7px);
  filter:blur(13px);
  opacity:.72;
  pointer-events:none;
  transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .38s ease,filter .38s ease;
}
.cap-card:hover::before{
  transform:skewX(-18deg) translate(10px,8px) scaleX(1.025);
  opacity:.9;
  filter:blur(15px);
}
/* Superficie blanca y volumen de la tarjeta */
.cap-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border:1px solid rgba(151,170,191,.32);
  border-radius:13px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,1) 20%,#fff 100%);
  box-shadow:
    0 8px 20px rgba(11,34,57,.055),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(11,34,57,.025);
  pointer-events:none;
  transition:border-color .38s ease,box-shadow .38s ease;
}
.cap-card:hover{
  box-shadow:none;
  border-color:transparent;
}
.cap-card:hover::after{
  border-color:rgba(255,106,0,.24);
  box-shadow:
    0 18px 40px rgba(11,34,57,.10),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(11,34,57,.025);
}
.cap-card__media{
  border-radius:13px 13px 0 0;
  overflow:visible;
}
.cap-card__imageframe{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:13px 13px 0 0;
}
/* Luz superior sutil para dar volumen */
.cap-card__imageframe::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.025) 30%,transparent 58%),
    radial-gradient(circle at 20% 8%,rgba(255,255,255,.12),transparent 32%);
  mix-blend-mode:screen;
}
/* HUD técnico común con Sectores */
.cap-card__imageframe::after{
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  opacity:.48;
  background-image:
    linear-gradient(rgba(255,255,255,.38),rgba(255,255,255,.38)),
    linear-gradient(90deg,rgba(255,255,255,.38),rgba(255,255,255,.38)),
    radial-gradient(circle at 73% 39%,transparent 0 24px,rgba(255,255,255,.48) 25px 26px,transparent 27px 37px,rgba(255,255,255,.28) 38px 39px,transparent 40px),
    radial-gradient(circle at 73% 39%,rgba(255,106,0,.78) 0 2px,transparent 3px),
    linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.28) 12% 12.35%,transparent 12.35% 88%,rgba(255,255,255,.22) 88% 88.35%,transparent 88.35%);
  background-size:
    46% 1px,
    1px 54%,
    auto,
    auto,
    100% 100%;
  background-position:
    50% 34%,
    73% 38%,
    0 0,
    0 0,
    0 0;
  background-repeat:no-repeat;
}
.cap-card:nth-child(2) .cap-card__imageframe::after{background-position:44% 31%,68% 42%,0 0,0 0,0 0}
.cap-card:nth-child(3) .cap-card__imageframe::after{background-position:54% 36%,77% 35%,0 0,0 0,0 0}
.cap-card:nth-child(4) .cap-card__imageframe::after{background-position:48% 33%,66% 40%,0 0,0 0,0 0}
.cap-card:nth-child(5) .cap-card__imageframe::after{background-position:52% 35%,75% 38%,0 0,0 0,0 0}
.cap-card__imageframe img{
  filter:saturate(.96) contrast(1.065) brightness(.985);
}
.cap-card:hover .cap-card__imageframe img{
  filter:saturate(1.02) contrast(1.075) brightness(1);
}
.cap-card__body{
  position:relative;
  z-index:1;
  border-radius:0 0 13px 13px;
  background:linear-gradient(180deg,rgba(255,255,255,.995),#fff 72%);
}
.cap-card__icon{z-index:5}

@media(max-width:900px){
  .capabilities-v3__grid{padding-bottom:8px}
  .cap-card::before{right:-3%;bottom:-11px;height:52px;opacity:.55;filter:blur(12px)}
}
@media(max-width:620px){
  .cap-card::before{left:7%;right:1%;bottom:-9px;height:42px;opacity:.46;transform:skewX(-12deg) translateX(3px)}
  .cap-card__imageframe::after{opacity:.38}
}
@media(prefers-reduced-motion:reduce){
  .cap-card::before,.cap-card::after{transition:none!important}
}


/* =========================================================
   RC-002.2 — CAPACIDADES INFORMATIVAS, SIN CTA SECUNDARIO
   Se eliminan los enlaces “Ver más” de las cinco tarjetas.
   El contacto permanece disponible mediante los CTA globales.
   ========================================================= */
.capabilities-v3 .cap-card__body{
  padding-bottom:38px;
}
.capabilities-v3 .cap-card__body p{
  margin-bottom:0;
}
.capabilities-v3 .cap-card__body > a{
  display:none!important;
}
@media(max-width:900px){
  .capabilities-v3 .cap-card__body{padding-bottom:34px}
}
@media(max-width:620px){
  .capabilities-v3 .cap-card__body{padding-bottom:32px}
}

/* =========================================================
   ALTITUM — RC-003.7R · HERO VIEWPORT + WHATSAPP FOOTER ONLY
   Mantiene el Hero aprobado completo dentro del primer viewport.
   ========================================================= */
@media (min-width:821px){
  .home .hero-final-clean{
    min-height:100svh;
    height:auto;
    padding-top:104px;
  }
  .home .hero-final-clean-layout{
    min-height:calc(100svh - 104px);
    align-items:center;
  }
  .home .hero-final-clean-copy{
    padding:28px 0 82px;
  }
  .home .hero-final-clean-copy h1{
    font-size:clamp(58px,5.65vw,90px);
  }
  .home .hero-final-clean-copy .hero-description{
    margin-top:24px;
    line-height:1.72;
  }
  .home .hero-actions-final{
    margin-top:28px;
  }
  .home .hero-final-clean-scene,
  .home .hero-final-clean-blend,
  .home .hero-final-clean-grid{
    bottom:0;
  }
}
@media (min-width:821px) and (max-height:820px){
  .home .hero-final-clean-copy{
    padding:18px 0 68px;
  }
  .home .hero-final-clean-copy .eyebrow{font-size:11px}
  .home .hero-final-clean-copy .hero-accent-line{margin:16px 0 18px}
  .home .hero-final-clean-copy h1{font-size:clamp(52px,5.2vw,78px)}
  .home .hero-final-clean-copy .hero-description{
    margin-top:18px;
    font-size:16px;
    line-height:1.62;
  }
  .home .hero-actions-final{margin-top:22px}
  .home .hero-actions-final .btn{min-height:56px}
  .home .hero-coordinate{bottom:28px}
  .home .hero-discover{bottom:10px!important}
}
/* El acceso a WhatsApp queda únicamente en la zona final/footer. */
.whatsapp-fab{display:none!important}

/* =========================================================
   RC-003.17R — CAPACIDADES: ALINEACIÓN REAL DEL DIVISOR
   El sitio carga styles.css (no styles.min.css). Esta regla fija
   una única geometría para las cinco tarjetas y elimina cualquier
   diferencia heredada en la quinta tarjeta.
   ========================================================= */
.capabilities-v3 .cap-card__media{
  position:relative!important;
  height:274px!important;
  min-height:274px!important;
  max-height:274px!important;
  flex:0 0 274px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  border-bottom:0!important;
}
.capabilities-v3 .cap-card__imageframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:274px!important;
  min-height:274px!important;
  max-height:274px!important;
  border-bottom:3px solid #ff6a00!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.capabilities-v3 .cap-card__imageframe img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}
.capabilities-v3 .cap-card__media::before{display:none!important;content:none!important}
@media(max-width:1320px){
  .capabilities-v3 .cap-card__media,
  .capabilities-v3 .cap-card__imageframe{height:245px!important;min-height:245px!important;max-height:245px!important;flex-basis:245px!important}
}
@media(max-width:900px){
  .capabilities-v3 .cap-card__media,
  .capabilities-v3 .cap-card__imageframe{height:250px!important;min-height:250px!important;max-height:250px!important;flex-basis:250px!important}
}

/* =========================================================
   RC-003.18R — CAPACIDADES: DIVISOR UNIFORME + LOGO TALLER VISIBLE
   Un solo divisor de 3px para las cinco tarjetas. La quinta imagen
   se reposiciona dentro del mismo marco para mostrar ALTITUM completo.
   ========================================================= */
.capabilities-v3 .cap-card__imageframe{
  border-bottom:0!important;
}
.capabilities-v3 .cap-card__imageframe::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  background:#ff6a00!important;
  z-index:4!important;
  display:block!important;
  pointer-events:none!important;
}
.capabilities-v3 .cap-card:nth-child(5) .cap-card__imageframe img{
  object-position:68% center!important;
}


/* =========================================================
   RC-003.19R — CAPACIDADES / DIVISOR ESTRUCTURAL DEFINITIVO
   El divisor deja de depender de bordes o pseudo-elementos del
   imageframe. Es un elemento HTML independiente dentro de media.
   ========================================================= */
.capabilities-v3 .cap-card__imageframe{
  border-top:0!important;
  border-bottom:0!important;
}
/* Restaurar HUD: RC-003.18R había reutilizado ::after como divisor. */
.capabilities-v3 .cap-card__imageframe::after{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  pointer-events:none!important;
  opacity:.48!important;
  display:block!important;
  background-color:transparent!important;
  background-image:
    linear-gradient(rgba(255,255,255,.38),rgba(255,255,255,.38)),
    linear-gradient(90deg,rgba(255,255,255,.38),rgba(255,255,255,.38)),
    radial-gradient(circle at 73% 39%,transparent 0 24px,rgba(255,255,255,.48) 25px 26px,transparent 27px 37px,rgba(255,255,255,.28) 38px 39px,transparent 40px),
    radial-gradient(circle at 73% 39%,rgba(255,106,0,.78) 0 2px,transparent 3px),
    linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.28) 12% 12.35%,transparent 12.35% 88%,rgba(255,255,255,.22) 88% 88.35%,transparent 88.35%)!important;
  background-size:46% 1px,1px 54%,auto,auto,100% 100%!important;
  background-position:50% 34%,73% 38%,0 0,0 0,0 0!important;
  background-repeat:no-repeat!important;
}
.capabilities-v3 .cap-card:nth-child(2) .cap-card__imageframe::after{background-position:44% 31%,68% 42%,0 0,0 0,0 0!important}
.capabilities-v3 .cap-card:nth-child(3) .cap-card__imageframe::after{background-position:54% 36%,77% 35%,0 0,0 0,0 0!important}
.capabilities-v3 .cap-card:nth-child(4) .cap-card__imageframe::after{background-position:48% 33%,66% 40%,0 0,0 0,0 0!important}
.capabilities-v3 .cap-card:nth-child(5) .cap-card__imageframe::after{background-position:52% 35%,75% 38%,0 0,0 0,0 0!important}
.capabilities-v3 .cap-card__divider{
  position:absolute!important;
  z-index:6!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:block!important;
  width:100%!important;
  height:3px!important;
  min-height:3px!important;
  background:#ff6a00!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}
/* El borde exterior de tarjeta nunca actúa como divisor. */
.capabilities-v3 .cap-card::after{border-color:rgba(151,170,191,.32)!important}
.capabilities-v3 .cap-card:hover::after{border-color:rgba(151,170,191,.32)!important}
/* Mantener el encuadre aprobado del taller. */
.capabilities-v3 .cap-card:nth-child(5) .cap-card__imageframe img{object-position:68% center!important}

/* RC-003.22R — Nosotros: identidad, misión/visión y principios */
.about-hero .narrow{max-width:1180px;margin-left:auto;margin-right:auto}.about-hero h1{max-width:1100px;font-size:clamp(48px,5.5vw,78px)}.about-hero p:not(.section-label){max-width:940px}
.about-purpose{padding:110px 0}.about-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.about-purpose-card{padding:54px 52px 58px;border:1px solid #dfe4ea;border-radius:14px;background:#fff;min-height:460px}.about-purpose-card h2{font-size:clamp(34px,3.2vw,48px);line-height:1.12;letter-spacing:-.035em;margin:24px 0 28px;color:var(--navy)}.about-purpose-card>p:last-child{font-size:18px;line-height:1.75;max-width:570px}
.about-values{padding:110px 0}.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px}.about-value{border-top:1px solid rgba(255,255,255,.28);padding:28px 20px 34px 0}.about-value span{display:block;color:var(--orange);font-weight:800;font-size:13px;letter-spacing:.12em;margin-bottom:48px}.about-value h3{font-size:22px;line-height:1.25;margin:0 0 16px;color:#fff}.about-value p{color:var(--silver);font-size:15px;line-height:1.7;margin:0;max-width:260px}.about-cta{margin-top:86px;padding-top:54px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.about-cta h2{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.035em;margin:14px 0 14px;color:#fff}.about-cta p:not(.section-label){color:var(--silver);font-size:17px;margin:0}.about-cta .btn{flex:0 0 auto}
@media(max-width:900px){.about-purpose-grid,.about-values-grid{grid-template-columns:1fr 1fr}.about-purpose-card{min-height:0}.about-cta{align-items:flex-start;flex-direction:column}.about-value span{margin-bottom:28px}}
@media(max-width:620px){.about-purpose,.about-values{padding:78px 0}.about-purpose-grid,.about-values-grid{grid-template-columns:1fr}.about-purpose-card{padding:36px 28px}.about-value{padding-right:0}.about-cta{margin-top:54px;padding-top:38px}}

/* ALTITUM RC-003.23R — redes sociales oficiales */
.social-row a{transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.social-row a:hover{transform:translateY(-2px);border-color:var(--orange);background:rgba(255,122,0,.08);color:#fff}

/* ALTITUM RC-003.24R — WhatsApp como canal comercial, separado de redes sociales */
.footer-direct-contact{margin-top:14px;display:flex;flex-direction:column;gap:5px}
.footer-direct-contact>span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.58}
.footer-whatsapp{width:max-content;font-size:.9rem;text-decoration:none}
.footer-whatsapp:hover{color:var(--orange)}
.contact-whatsapp-cta{margin-top:18px}


/* ALTITUM RC FINAL — consentimiento del formulario */
.privacy-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.45}.privacy-consent input{width:auto!important;margin-top:3px}.privacy-consent a{text-decoration:underline}
