:root{color-scheme:dark;--bg:#07141c;--panel:#0f2531;--line:#28414b;--text:#f1f6f5;--muted:#a6bac2;--accent:#31e58a;--display:clamp(3rem,7vw,7.2rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}header{position:sticky;top:0;z-index:10;backdrop-filter:blur(16px);background:#08171fe8;border-bottom:1px solid #ffffff12}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:baseline;gap:10px;letter-spacing:.16em;font-weight:900;font-size:1.25rem}.brand small{letter-spacing:.14em;color:var(--accent);font-size:.64rem}.links{display:flex;gap:26px;font-size:.83rem;color:#c5d2d6}.pill,.button{border:1px solid var(--accent);border-radius:5px;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}.button{background:var(--accent);color:#09251b}.button.alt{background:transparent;color:var(--text);border-color:#67818b}.hero{position:relative;overflow:hidden;min-height:740px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 77% 35%,#244c51 0%,transparent 43%),linear-gradient(135deg,#0d2833,#07141c 65%)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:740px;gap:30px}.eyebrow{color:var(--accent);font-size:.72rem;letter-spacing:.24em;font-weight:800;text-transform:uppercase}.hero h1{font-size:var(--display);line-height:.99;letter-spacing:-.065em;margin:24px 0;max-width:780px}.hero h1 em{font-style:normal;color:var(--accent)}.lead{font-size:1.16rem;color:#b7cbd0;max-width:560px;margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero-art{position:relative;height:490px;isolation:isolate}.hero-art:before{content:"";position:absolute;width:72%;aspect-ratio:1;left:15%;top:11%;border:1px solid #7df7bd55;border-radius:50%;box-shadow:0 0 120px #27efab22,inset 0 0 100px #17a98722}.hero-art svg{position:absolute;width:100%;height:100%;filter:drop-shadow(0 30px 45px #0009)}.metrics{display:flex;gap:50px;margin-top:40px;flex-wrap:wrap}.metrics b{font-size:1.8rem;display:block;letter-spacing:-.04em}.metrics span{font-size:.69rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.block{padding:85px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.section-head h2{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.04;letter-spacing:-.05em;margin:10px 0}.section-head p{max-width:440px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:linear-gradient(150deg,#102b37,#0a1b24);border-radius:7px;padding:32px;min-height:320px;display:flex;flex-direction:column}.card .num{color:var(--accent);font-size:.7rem;letter-spacing:.18em}.card svg{width:64px;height:64px;margin:36px 0 18px;stroke:var(--accent);fill:none;stroke-width:1.3}.card h3{font-size:1.35rem;line-height:1.15;margin:0 0 12px}.card p{font-size:.92rem;color:var(--muted);margin:0}@media(max-width:850px){.links{display:none}.hero-grid{grid-template-columns:1fr;min-height:0;padding-top:76px;padding-bottom:46px}.hero-art{height:310px;order:-1}.cards{grid-template-columns:1fr}.section-head{display:block}}

.gallery{background:#0b202b;border-top:1px solid #28414b;border-bottom:1px solid #28414b}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-card{overflow:hidden;border:1px solid #28414b;border-radius:8px;background:#112b37}.gallery-art{min-height:245px;display:grid;place-items:center;background:radial-gradient(circle,#24545b,#0c202c 70%);position:relative}.gallery-art svg{width:62%;height:180px;fill:none;stroke:#57ddb2;stroke-width:1.5;filter:drop-shadow(0 12px 12px #0009)}.gallery-art:after{content:'VISUALIZACIÓN CONCEPTUAL';position:absolute;left:18px;bottom:13px;color:#97b8be;font-size:.65rem;letter-spacing:.12em}.gallery-copy{padding:20px}.gallery-copy h3{margin:0 0 8px;font-size:1.12rem}.gallery-copy p{margin:0;color:#a6bac2;font-size:.85rem}.contact{background:#0c2530}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.contact-form{display:grid;gap:14px;background:#091a23;padding:26px;border:1px solid #28414b;border-radius:8px}.contact-form label{display:grid;gap:6px;font-size:.78rem}.contact-form input,.contact-form select,.contact-form textarea{background:#12303b;border:1px solid #4a6871;color:white;min-width:0;padding:13px;border-radius:5px;font:inherit}.contact-form textarea{min-height:105px;resize:vertical}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form .check{display:flex;align-items:start;gap:10px}.contact-form .check input{margin-top:5px}.contact-form .status{font-size:.8rem;color:#aac3c9;min-height:1.5em}.contact-form .trap{position:absolute;left:-10000px}.foot{border-top:1px solid #28414b;padding:30px 0;color:#a6bac2;font-size:.8rem}.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.tech-box{border:1px solid #28414b;border-radius:8px;padding:25px;background:#102936}.tech-box h3{margin-top:0}.tech-box p{color:#a6bac2;font-size:.9rem}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:850px){.gallery-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.tech-grid{grid-template-columns:1fr}}@media(max-width:570px){.gallery-grid{grid-template-columns:1fr}.contact-form .row{grid-template-columns:1fr}.gallery-art{min-height:215px}}

/* Visual portfolio placeholders. Replace an SVG with a real photograph and update its src in index.html. */
.gallery-art img{display:block;max-width:62%;height:180px;object-fit:contain;filter:drop-shadow(0 12px 12px #0009)}
.skip-link{position:absolute;left:-10000px;top:10px;background:white;color:#07141c;padding:12px;z-index:99}
.skip-link:focus{left:12px}
.text-link{text-decoration:underline;text-underline-offset:3px;color:#31e58a}
.form-actions{display:flex;flex-wrap:wrap;gap:10px}
.form-actions .button{font-size:.76rem}
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.process-step{border-top:1px solid #31e58a;padding-top:16px}
.process-step span{color:#31e58a;font-size:.71rem;letter-spacing:.12em}
.process-step h3{font-size:1.2rem;margin:12px 0 6px}
.process-step p{color:#a6bac2;font-size:.88rem;margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #31e58a;outline-offset:4px}
@media(max-width:850px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.steps-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V1.2 — identidad institucional y capacidades técnicas */
:root{--accent:#12ed63}
body{overflow-x:hidden}section[id]{scroll-margin-top:94px}
header{background:rgba(6,18,25,.94)}
.nav{position:relative}
.brand--official{display:flex;align-items:center;gap:12px;letter-spacing:0;min-width:0}
.brand__logo{display:block;width:clamp(165px,17vw,222px);height:auto;mix-blend-mode:screen}
.brand__division{font-size:.75rem;line-height:1.2;white-space:nowrap;letter-spacing:.17em;color:#d4e7e7;border-left:1px solid #36604d;padding-left:13px}
.hero-brand{width:fit-content;max-width:100%;display:flex;flex-direction:column;align-items:flex-start;margin-bottom:20px;gap:2px}
.hero-brand img{width:min(380px,100%);height:auto;mix-blend-mode:screen}
.hero-brand span{letter-spacing:.24em;color:var(--accent);font-size:.65rem;font-weight:800;margin-left:4px}
.hero h1{font-size:clamp(2.8rem,5.45vw,5.8rem);letter-spacing:-.055em;margin:16px 0}
.hero-grid{min-height:730px}
.hero{min-height:730px}
.hero-art svg{max-width:100%;max-height:100%}
.pill:hover,.button:hover{filter:brightness(1.08);transform:translateY(-2px)}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery-art{min-height:230px}
.gallery-art img{max-width:72%;width:200px;height:180px;object-fit:contain}
.gallery-note{font-size:.8rem;color:var(--muted);margin:18px 0 0}
.capability-block{background:linear-gradient(180deg,#07141c,#0d2630);border-bottom:1px solid var(--line)}
.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.capability-card{background:linear-gradient(160deg,#12313c,#0a1e29);border:1px solid #31515b;border-radius:9px;padding:26px 22px 22px;min-height:380px;display:flex;flex-direction:column}
.capability-icon{width:59px;height:59px;border:1px solid #45705f;border-radius:12px;display:grid;place-items:center;color:var(--accent);margin-bottom:28px;background:#10372d88}
.capability-icon svg{width:38px;height:38px}
.capability-label{font-size:.68rem;letter-spacing:.13em;font-weight:800;color:var(--accent)}
.capability-card h3{font-size:clamp(1.24rem,1.65vw,1.55rem);line-height:1.15;margin:11px 0 12px;letter-spacing:-.02em}
.capability-card p{font-size:.87rem;color:#adc4c8;line-height:1.6;margin:0 0 28px}
.capability-tag{margin-top:auto;border-top:1px solid #3b5660;padding-top:13px;color:#cfe2d9;font-size:.75rem}
.technical-note{font-size:.76rem;color:#94afb4;margin:20px 0 0;line-height:1.55}
.capability-cta{margin-top:32px;background:#0f3440;border:1px solid #3f6f62;border-radius:8px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.capability-cta h3{margin:10px 0 0;font-size:1.3rem;line-height:1.25}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:5px;flex-direction:column;width:43px;height:43px;background:#17323b;border:1px solid #4c6e6c;border-radius:5px;cursor:pointer}
.menu-toggle span{display:block;width:21px;height:2px;background:#dcf4e8}
.mobile-quote{display:none}
@media(max-width:1090px){.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-card{min-height:345px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.nav{height:73px}.menu-toggle{display:flex}.links{display:none;position:absolute;left:-22px;right:-22px;top:100%;background:#0c202a;box-shadow:0 16px 25px #0009;border:1px solid var(--line);padding:22px 24px;flex-direction:column;align-items:flex-start;gap:17px;z-index:12}.links.is-open{display:flex}.links a{font-size:.98rem}.links .mobile-quote{display:inline;color:var(--accent);font-weight:700}.hero-grid{padding-top:55px;gap:5px}.hero{min-height:0}.hero-art{order:0;height:355px}.hero-brand img{width:min(330px,100%)}.hero h1{font-size:clamp(3rem,10vw,4.7rem)}.hero-art:before{top:11%}.capability-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.nav>.pill{display:none}.brand__logo{width:clamp(163px,47vw,230px)}.brand__division{font-size:.67rem;padding-left:9px}.hero-grid{padding-top:30px;padding-bottom:43px}.hero-brand{margin-bottom:14px}.hero-brand img{width:min(290px,100%)}.hero h1{font-size:clamp(2.65rem,12vw,4.1rem)}.eyebrow{font-size:.65rem}.hero-art{height:290px;margin-top:12px}.hero-art svg{object-fit:contain}.hero-art:before{width:65%;left:18%}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:auto}.gallery-grid{grid-template-columns:1fr}.gallery-art img{height:190px}.capability-cta{padding:22px}.hero .actions .button{font-size:.76rem}.metrics{gap:28px}}
@media(prefers-reduced-motion:reduce){.button,.pill{transition:none}}
