@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#14283d;--navy2:#0c1e30;--teal:#00a9b7;--ink:#243447;--muted:#687889;--light:#f1f5f7;--line:#dfe7eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;font:800 21px/1 'Manrope',sans-serif;letter-spacing:.07em;color:var(--navy);white-space:nowrap}.brand small{display:block;font:600 9px/1.8 'DM Sans',sans-serif;letter-spacing:.32em}.mark{display:grid;place-items:center;width:42px;height:42px;background:var(--navy);color:white;font:800 28px 'Manrope',sans-serif;letter-spacing:-.13em}.mark span{color:var(--teal)}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover,nav a[aria-current]{color:var(--teal)}.nav-cta{background:var(--teal);color:white;padding:13px 21px;font-size:13px;font-weight:700}.nav-cta:hover,.primary:hover{background:#078e9a}.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{min-height:610px;display:grid;grid-template-columns:1.04fr .96fr}.hero-copy{padding:105px 38px 52px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-label{font:700 11px/1.5 'DM Sans',sans-serif;letter-spacing:.19em;text-transform:uppercase}.eyebrow{color:#b7d8df;display:flex;align-items:center;gap:12px}.dot{display:inline-block;background:var(--teal);width:7px;height:7px;border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(42px,4.4vw,67px);line-height:1.12;letter-spacing:-.055em;margin:26px 0 26px;font-weight:800}h1 em{font-style:normal;color:#57d6dc}.lead{font-size:17px;line-height:1.85;color:#c1d0db;max-width:530px}.actions{display:flex;gap:12px;margin-top:23px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;font-size:13px;font-weight:700;transition:background .2s}.primary{background:var(--teal);color:white}.secondary{border:1px solid #72869a;color:white}.secondary:hover{background:#243f58}.hero-foot{display:flex;align-items:center;gap:15px;margin-top:auto;padding-top:60px;font-size:10px;letter-spacing:.15em;color:#93a7b7}.hero-foot .line{width:72px;height:1px;background:#6c8599}.hero-art{position:relative;overflow:hidden;background:radial-gradient(circle at 52% 50%,#294e68 0,#173149 45%,#10273b 75%);min-height:520px}.gridlines,.blueprint{background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:35px 35px}.gridlines{position:absolute;inset:0}.orbit{position:absolute;border:1px solid #73c4ce65;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-23deg)}.orbit-a{width:380px;height:380px}.orbit-b{width:280px;height:280px;border-style:dashed}.orbit-c{width:480px;height:170px;transform:translate(-50%,-50%) rotate(-37deg);border-color:#42cad277}.axis{position:absolute;background:#8ddde14d;left:50%;top:50%;transform-origin:center}.axis-a{width:1px;height:650px;transform:translate(-50%,-50%) rotate(45deg)}.axis-b{height:1px;width:650px;transform:translate(-50%,-50%) rotate(45deg)}.core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:800 200px 'Manrope',sans-serif;color:#f5fcff;text-shadow:12px 12px 0 #00a9b780;letter-spacing:-.1em}.art-label{position:absolute;color:#a6d2db;font-size:10px;letter-spacing:.2em}.label-a{left:32px;top:35px}.label-b{right:24px;bottom:30px}.art-cross{position:absolute;right:55px;top:50px;font-size:30px;color:#3bb9c6}.intro{padding:100px 0;display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-label{color:#0a9da9}.intro h2,.section-top h2,.approach h2,.contact-banner h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.055em;line-height:1.2}.intro h2 span,.approach h2 span{color:#8a9aaa}.intro p:not(.section-label){max-width:720px;color:#647587;font-size:17px;line-height:1.9}.services{background:var(--light);padding:95px 0 105px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-top h2{margin:14px 0 0}.section-top>p{max-width:280px;line-height:1.7;color:var(--muted);font-size:14px}.accent{color:var(--teal)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{position:relative;background:#fff;padding:35px 30px 38px;min-height:270px;border:1px solid #e4ebee;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-4px);box-shadow:0 12px 30px #14283d12}.service-no{position:absolute;right:25px;top:25px;color:#9badb8;font-size:11px}.service-icon{color:var(--teal);font-size:35px;height:60px}.service h3{font-size:20px;letter-spacing:-.04em;margin:12px 0}.service p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.approach{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:120px 0;align-items:center}.approach-visual{height:460px;background:var(--navy);padding:30px}.blueprint{height:100%;position:relative;border:1px solid #ffffff20;overflow:hidden}.bp-circle{position:absolute;border:2px solid #62c8d3;border-radius:50%;width:230px;height:230px;top:50%;left:50%;transform:translate(-50%,-50%)}.bp-square{position:absolute;border:1px solid #80b7c3;width:180px;height:180px;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg)}.bp-diag{position:absolute;width:350px;height:1px;background:#80b7c380;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg)}.blueprint span{position:absolute;bottom:20px;left:20px;font-size:10px;color:#a7c7d3;letter-spacing:.15em}.approach-copy>p:not(.section-label){line-height:1.9;color:var(--muted);font-size:16px}.principles{margin-top:38px;border-top:1px solid var(--line)}.principles div{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.principles b{color:var(--teal)}.contact-banner{background:#00a0ae;color:white;padding:80px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-banner .section-label{color:#dcfaff}.contact-banner h2{margin:16px 0}.contact-banner p:last-child{color:#ddf8fa}.light{background:#fff;color:var(--navy)}.light:hover{background:#e4f6f7}footer{background:#0b1b2b;color:#b4c2ce}.footer-inner{min-height:125px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px}.footer-inner .brand{color:white}.footer-inner .mark{background:#1d4056}.contact-page{background:var(--navy);color:white;min-height:calc(100vh - 213px);padding:100px 0 110px}.contact-page h1{max-width:900px}.contact-page .lead{max-width:680px}.contact-panel{margin-top:65px;background:#fff;color:var(--navy);display:grid;grid-template-columns:1.3fr .7fr}.contact-panel>div:first-child{padding:55px}.contact-panel h2{font-size:32px;letter-spacing:-.04em}.contact-panel p:not(.section-label){color:var(--muted);line-height:1.8}.email-link{display:inline-block;font-size:clamp(18px,2.3vw,28px);font-weight:800;color:#008c9a;margin:18px 0}.contact-panel .note{font-size:12px;max-width:480px}.contact-graphic{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eaf2f5;min-height:300px}.contact-graphic span{font:800 140px 'Manrope',sans-serif;color:#14364d}.contact-graphic small{font-size:10px;letter-spacing:.22em;color:#688190}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding:75px 0 65px}.hero-art{min-height:380px}.intro{grid-template-columns:1fr;padding:70px 0;gap:10px}.service-grid{grid-template-columns:repeat(2,1fr)}.approach{gap:40px;padding:80px 0}.nav-cta{display:none}}@media(max-width:620px){.wrap{width:min(100% - 34px,1180px)}.nav{height:auto;min-height:78px;flex-wrap:wrap;padding:14px 0;gap:12px}.brand{font-size:17px}.mark{width:36px;height:36px;font-size:23px}nav{width:100%;justify-content:space-between;gap:10px;font-size:12px;padding-top:10px}.hero-copy{padding:65px 0 50px}.hero-art{min-height:300px}.core{font-size:130px}.orbit-a{width:240px;height:240px}.orbit-b{width:180px;height:180px}.orbit-c{width:310px;height:110px}.actions{flex-wrap:wrap}.hero-foot{padding-top:50px}.services{padding:65px 0}.section-top{display:block}.service-grid{grid-template-columns:1fr}.service{min-height:210px}.approach{grid-template-columns:1fr;gap:40px;padding:65px 0}.approach-visual{height:310px}.contact-inner{align-items:flex-start;flex-direction:column}.footer-inner{padding:35px 0;align-items:flex-start;flex-direction:column}.contact-page{padding:65px 0}.contact-panel{grid-template-columns:1fr}.contact-panel>div:first-child{padding:30px}.contact-graphic{min-height:220px}.contact-graphic span{font-size:100px}}

/* Logotipo Verne aprobado - primera reconstrucción */
.brand{gap:7px;letter-spacing:0}.brand-logo{display:block;width:126px;height:auto;object-fit:contain}.brand-subtitle{font:700 10px/1.4 'DM Sans',sans-serif;letter-spacing:.2em;color:var(--navy);margin-left:-3px}.footer-inner .brand-subtitle{color:#fff}.core-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(85%,420px);padding:24px;background:#fff;border-radius:2px;box-shadow:0 18px 70px #0004}.core-logo img{display:block;width:100%;height:auto}.contact-graphic img{display:block;max-width:80%;height:auto}.brand:focus-visible,.nav a:focus-visible,.btn:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media(max-width:620px){.brand-logo{width:95px}.brand-subtitle{font-size:8px;letter-spacing:.13em}.core-logo{width:78%;padding:12px}}

/* V3: paleta azul claro, marca exclusiva en la cabecera */
:root{--navy:#275b7b;--navy2:#1f4d6c;--teal:#087f94;--ink:#243b4c;--light:#f0f7fa;--line:#d8e8ef}
.header{background:#f2f9fc}
.hero{background:#dceff8;color:#173f59}
.hero .eyebrow{color:#396c87}
.hero h1 em{color:#087f94}
.hero .lead{color:#41667c}
.hero .secondary{color:#245d79;border-color:#86b2c9}
.hero .secondary:hover{background:#c7e5f3}
.hero-foot{color:#547d94}
.hero-foot .line{background:#8db9cd}
.hero-art{background:radial-gradient(circle at 52% 50%,#c7e5f3 0%,#a9d3e8 55%,#83bad5 100%)}
.gridlines{background-image:linear-gradient(#ffffff55 1px,transparent 1px),linear-gradient(90deg,#ffffff55 1px,transparent 1px)}
.orbit{border-color:#367b9c66}.orbit-c{border-color:#187e9a88}.axis{background:#2c7a9b55}.core{color:#e8f7ff;text-shadow:9px 9px 0 #3489ac70}.art-label{color:#2c6685}.art-cross{color:#237b9f}
.contact-page{background:#dceff8;color:#173f59}.contact-page .eyebrow{color:#396c87}.contact-page h1 em{color:#087f94}.contact-page .lead{color:#41667c}
footer{background:#d5eaf5;color:#3c6277}.footer-name{font:800 13px 'Manrope',sans-serif;letter-spacing:.14em;color:#24536f}
.contact-symbol{font:800 145px 'Manrope',sans-serif;color:#80b6cf;line-height:1}
.brand-logo{mix-blend-mode:multiply}

/* V4: composición limpia sin paneles decorativos con V */
.hero-grid{display:block;min-height:0}
.hero-copy{max-width:900px;padding:100px 0 90px}
.hero-copy h1{max-width:820px}
.hero-copy .lead{max-width:720px}
.hero-foot{margin-top:24px;padding-top:35px}
.contact-panel{display:block;max-width:850px}
.contact-panel>div:first-child{padding:55px 60px}
.intro strong{color:#205c79;font-weight:700}
@media(max-width:900px){.hero-copy{padding:75px 0 65px}}
@media(max-width:620px){.hero-copy{padding:60px 0 55px}.contact-panel>div:first-child{padding:30px}}

/* V5: filosofía sin panel METHOD 001 y firma corporativa más legible */
.approach{display:block;max-width:1180px;padding:95px 0}
.approach-copy{max-width:850px;margin:0 auto}
.approach-copy h2{max-width:740px}
.approach-copy>p:not(.section-label){max-width:760px}
.brand{gap:18px;flex-shrink:0}
.brand-logo{width:132px;height:auto}
.brand-subtitle{font-family:'Manrope',Arial,sans-serif;font-size:17px;line-height:1.2;font-weight:800;letter-spacing:.09em;color:#164c6b;margin-left:0}
@media(max-width:900px){.brand{gap:12px}.brand-logo{width:115px}.brand-subtitle{font-size:15px;letter-spacing:.06em}.approach{padding:75px 0}}
@media(max-width:620px){.brand{gap:9px}.brand-logo{width:94px}.brand-subtitle{font-size:13px;letter-spacing:.035em}.approach{padding:65px 0}}

/* V6: ENGINEER / ING con jerarquía visual y colores corporativos */
.brand{gap:16px}
.brand-subtitle{display:inline-flex;align-items:baseline;font-family:'Manrope',Arial,sans-serif;font-size:clamp(21px,2.1vw,27px);line-height:1.1;font-weight:850;letter-spacing:.015em;margin-left:0;white-space:nowrap}
.brand-engineer{color:#164c6b}
.brand-ing{color:#008c9a}
@media(max-width:900px){.brand{gap:10px}.brand-logo{width:110px}.brand-subtitle{font-size:21px;letter-spacing:0}}
@media(max-width:620px){.brand{gap:8px}.brand-logo{width:88px}.brand-subtitle{font-size:clamp(16px,4.3vw,20px);letter-spacing:-.02em}}

/* V7: tipografía redondeada próxima a la del logotipo y firma completa en pie */
@font-face{font-family:"Comfortaa Verne";src:local("Comfortaa");font-display:swap}
.brand-subtitle{font-family:"Comfortaa Verne","Arial Rounded MT Bold","Trebuchet MS",sans-serif;font-weight:700;letter-spacing:-.035em;font-size:clamp(21px,2.1vw,27px)}
.footer-inner{gap:22px;flex-wrap:wrap}
.footer-brand{gap:12px;flex-shrink:1}
.footer-brand .brand-logo{width:108px}
.footer-brand .brand-subtitle{font-size:clamp(17px,1.7vw,22px)}
.footer-inner .brand-engineer{color:#164c6b}
.footer-inner .brand-ing{color:#008c9a}
@media(max-width:620px){.brand-subtitle{font-size:clamp(15px,4.1vw,19px)}.footer-brand .brand-logo{width:90px}.footer-brand .brand-subtitle{font-size:17px}}

/* V9: selector bilingüe ES / EN */
.lang-switch{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;font:700 12px/1.2 'Manrope',Arial,sans-serif;letter-spacing:.05em;margin-left:auto}
.lang-switch a{color:#315f78;text-decoration:none;border:1px solid #b8d6e4;border-radius:5px;padding:8px 9px}
.lang-switch a[aria-current="page"]{background:#164c6b;color:#fff;border-color:#164c6b}
.lang-switch a:hover{border-color:#008c9a}
@media(max-width:900px){.lang-switch{margin-left:0}}
@media(max-width:620px){.lang-switch{font-size:11px}.lang-switch a{padding:6px 7px}}

/* V9.1: mejora visual del selector de idiomas */
.lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.lang-switch a {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 5px;
    text-align: center;
}

@media (max-width: 900px) {
    .lang-switch {
        margin-left: 0;
    }
}

@media (max-width: 620px) {
    .lang-switch {
        gap: 8px;
    }

    .lang-switch a {
        padding: 6px 9px;
    }
}

