
:root{--ink:#102b32;--muted:#5c6c70;--accent:#007e86;--mint:#c6eee1;--bg:#f6f8f7;--line:#dce5e2;--hero:#102c34;--round:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}button,input,textarea{font:inherit}.review{background:#182023;color:white;padding:10px 5%;display:flex;gap:18px;align-items:center;font-size:12px;flex-wrap:wrap}.review strong{font-size:11px;letter-spacing:1px;text-transform:uppercase}.review a{text-decoration:none;opacity:.65}.review a[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:5px}.review .note{margin-left:auto;color:#bdceca}.wrap{width:min(1180px,90%);margin:auto}header{background:white;border-bottom:1px solid var(--line)}.nav{height:94px;display:flex;align-items:center;gap:35px}.brand{margin-right:auto;display:block}.brand img{width:290px;max-width:100%;display:block}.nav nav{display:flex;gap:25px;align-items:center}.nav a{text-decoration:none;font-size:14px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 23px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:5px;text-decoration:none;font-weight:600;font-size:14px;cursor:pointer}.btn.alt{background:transparent;border-color:#6c858b;color:white}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.2px;font-weight:700;color:var(--accent)}.hero{position:relative;background:var(--hero);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:540px;gap:35px}.hero .eyebrow{color:#99ddd1}.hero h1{font-size:clamp(39px,4.3vw,66px);line-height:1.07;letter-spacing:-2.8px;margin:22px 0 25px;max-width:650px}.hero h1 em{font-style:normal;color:#9de4d0}.hero p{color:#bed0d3;max-width:440px;font-size:17px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-image{position:relative;align-self:stretch;display:flex;align-items:center}.hero-image img{width:100%;height:320px;object-fit:cover;object-position:75% center;border-radius:var(--round)}.image-label{position:absolute;bottom:75px;right:0;background:#b7ecdb;color:#133b35;padding:14px 20px;border-radius:6px;font-size:12px;font-weight:700}.hero-foot{border-top:1px solid #ffffff24;padding:17px 0;color:#b6c9cc;display:flex;justify-content:space-between;font-size:12px;gap:15px}.section{padding:85px 0}.section h2{font-size:clamp(30px,3vw,42px);letter-spacing:-1.3px;line-height:1.15;margin:13px 0 20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:35px}.section-head p{max-width:390px;color:var(--muted);font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:var(--round);overflow:hidden;background:white}.card-image{background:#101217;position:relative;height:210px}.card-image img{width:100%;height:100%;object-fit:contain}.card-number{position:absolute;top:15px;left:18px;color:#cde7e1;font-size:11px}.card-body{padding:25px}.card h3{font-size:20px;line-height:1.25;margin:0 0 14px}.card p{font-size:14px;color:var(--muted);min-height:66px}.card a{font-size:13px;color:var(--accent);text-decoration:none;font-weight:bold}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.work{background:#e7efec}.work-visual{background:#162b2b;padding:38px;border-radius:var(--round);text-align:center}.work-visual img{width:100%;max-height:300px;object-fit:contain}.work p{color:var(--muted)}.tags{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.tags span{border:1px solid #b7cbc4;padding:6px 13px;font-size:12px;border-radius:30px}.services{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service{padding:35px;border:1px solid var(--line);background:white;border-radius:var(--round)}.service h3{font-size:24px;line-height:1.2;margin:12px 0}.service p{color:var(--muted);font-size:15px}.service a{font-size:14px;font-weight:bold;color:var(--accent)}.contact{background:var(--hero);color:white}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact .eyebrow{color:#99ddd1}.contact p{color:#bed0d3}.contact address{font-style:normal;color:#d2dfdf;font-size:14px;line-height:2}.contact address a{display:block;text-decoration:none}.form{background:white;color:var(--ink);padding:35px;border-radius:var(--round)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-size:12px;font-weight:bold}.field input,.field textarea{border:1px solid #c9d5d1;border-radius:4px;padding:12px;background:#fafcfb;min-width:0;width:100%;color:var(--ink)}.field textarea{resize:vertical;min-height:115px}.consent{font-size:12px;display:flex;gap:10px;align-items:flex-start;margin:4px 0 20px}.consent input{margin-top:4px}.form .btn{width:100%}.form .preview-msg{font-size:12px;color:#5c6c70;margin:12px 0 0}.form:focus-within{outline:2px solid #8dcfc0;outline-offset:5px}.footer{background:#071c22;color:#b5c7c7;padding:25px 0;font-size:12px}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:0}:focus-visible{outline:3px solid #eeaa38;outline-offset:4px}
body.claro{--bg:#fff;--hero:#ecf5f2;--round:8px}.claro .hero{color:var(--ink)}.claro .hero .eyebrow,.claro .hero h1 em{color:var(--accent)}.claro .hero p{color:var(--muted)}.claro .hero .btn.alt{color:var(--ink);border-color:#adcac1}.claro .hero-image img{height:370px}.claro .hero-foot{border-color:#c9ded6;color:#47665d}.claro .contact{background:#103c3d;color:white}.claro .section-head h2{max-width:540px}.claro .work{background:#f4f6f4}.claro .hero h1{font-size:clamp(40px,4.4vw,65px)}
body.editorial{--bg:#f6f4ed;--ink:#182e33;--accent:#125d64;--hero:#f6f4ed;--round:0px;--line:#d1d5cc}.editorial header{background:var(--bg)}.editorial .hero{color:var(--ink)}.editorial .hero-grid{min-height:600px;grid-template-columns:1.15fr 1fr}.editorial .hero h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(45px,5.2vw,78px);letter-spacing:-3px;line-height:1.04}.editorial .hero h1 em{color:var(--accent);font-style:italic}.editorial .hero p{color:var(--muted)}.editorial .hero .eyebrow{color:var(--accent)}.editorial .hero .btn.alt{color:var(--ink);border-color:var(--ink)}.editorial .hero-image img{height:440px;object-position:80%}.editorial .image-label{bottom:30px;left:-25px;right:auto;background:#125d64;color:white}.editorial .hero-foot{border-color:#c4cfc7;color:#47665d}.editorial .section h2{font-family:Georgia,serif;font-weight:normal}.editorial .card{border:none;background:transparent}.editorial .card-body{padding:25px 0}.editorial .card h3{font-family:Georgia,serif;font-size:26px;font-weight:normal}.editorial .work{background:#dce4da}.editorial .service{background:transparent;border-left:0;border-right:0}.editorial .contact{background:#173e3e}.editorial .btn{border-radius:0}
@media(min-width:1400px){.hero-grid{min-height:590px}}@media(max-width:800px){.review{gap:12px}.review .note{width:100%;margin:0}.nav{height:82px}.brand img{width:240px}.nav nav>a:not(.btn){display:none}.nav .btn{padding:9px 12px;font-size:12px}.hero-grid,.editorial .hero-grid{grid-template-columns:1fr;gap:10px;padding-top:48px}.hero h1,.editorial .hero h1{letter-spacing:-1.8px;max-width:600px}.hero-image img,.claro .hero-image img,.editorial .hero-image img{height:260px;margin:20px 0 30px}.image-label{bottom:15px!important;left:auto!important;right:0!important}.hero-foot{flex-wrap:wrap}.section{padding:55px 0}.section-head{display:block}.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:.85fr 1.15fr}.card-image{height:100%;min-height:210px}.card p{min-height:auto}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.services{grid-template-columns:1fr}.form{padding:25px}.work-visual{order:2}.contact-grid{gap:30px}.section-head p{max-width:none}.footer .wrap{display:block}.footer span{display:block;margin:5px 0}}@media(max-width:450px){.brand img{width:195px}.nav{gap:10px}.nav .btn{font-size:11px;padding:8px}.card{display:block}.card-image{height:200px}.form-grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:42px}.hero-actions .btn{width:100%}}

/* Paleta inspirada en el logo; azul oscuro para contraste legible. */
:root,body.claro,body.editorial{--ink:#102e44;--muted:#526977;--accent:#006da6;--mint:#a9ece5;--line:#d9e7ef}
body.tecnico{--hero:#082b45;--bg:#f5f9fc}
body.claro{--hero:#edf7fd;--bg:#fff}
body.editorial{--hero:#f3f8fc;--bg:#f3f8fc}
.brand img{height:auto}
.hero .eyebrow,.contact .eyebrow{color:#85e2dd}
.hero h1 em{color:#57c2f3}
.hero p{color:#c0d6e5}
.hero-foot{color:#c0d6e5}
.image-label{background:#a9ece5;color:#10364b}
.work{background:#eaf3fa}
.work-visual{background:#082b45}
.tags span{border-color:#a9c9df}
.contact,.claro .contact,.editorial .contact{background:#082b45}
.footer{background:#041c2e}
.claro .hero .eyebrow,.editorial .hero .eyebrow{color:#006da6}
.claro .hero h1 em,.editorial .hero h1 em{color:#006da6}
.claro .hero p,.editorial .hero p{color:#526977}
.claro .hero-foot,.editorial .hero-foot{color:#526977;border-color:#c8dce9}
.claro .work,.editorial .work{background:#eaf3fa}
.editorial .image-label{background:#006da6;color:white}
.btn:hover{background:#005b8d;border-color:#005b8d;color:white}
.btn.alt:hover{background:#ffffff15;border-color:#85c4ea}
.claro .btn.alt:hover,.editorial .btn.alt:hover{background:#dceffc;color:#102e44}

.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.btn:disabled{opacity:.55;cursor:wait}.legal{max-width:850px;min-height:60vh}.legal p{line-height:1.8}.footer a{color:inherit}

/* Portfolio HP sobre fondo neutro, sin recortar los equipos. */
.work-visual{background:#fff;border:1px solid #dce6ee;padding:28px 20px;box-shadow:0 16px 40px #082b4508}
.work-visual img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:450px){.work-visual{padding:22px 12px}}

.hero-foot a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .15s,text-decoration-color .15s}
.hero-foot a:hover,.hero-foot a:focus-visible{color:#fff;text-decoration-color:currentColor}
