:root{--navy:#123e67;--navy2:#335b78;--teal:#0aa89e;--teal2:#15b3a6;--text:#35536c;--muted:#6d8496;--line:#d8e4ea;--soft:#eef6f8;--soft2:#f5f9fb;--white:#fff}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#eaf0f4;font-family:Arial,Helvetica,sans-serif;color:var(--navy)}a{color:inherit}.page{width:1024px;margin:0 auto;background:#fff;min-height:1536px;box-shadow:0 0 0 1px #e2e9ed}
/* HEADER APROBADO */
.site-header{height:78px;background:#fff;border-bottom:1px solid #edf2f5}.header-inner{height:78px;width:920px;margin:0 auto;display:grid;grid-template-columns:112px 1fr 238px;align-items:center;gap:16px}.brand-header{height:78px;display:flex;align-items:center}.brand-header img{width:80px;height:74px;object-fit:contain}.nav-main{height:100%;display:flex;align-items:stretch;justify-content:center;gap:20px}.nav-main a{position:relative;display:flex;align-items:center;height:100%;padding-top:2px;text-decoration:none;font-size:.9375rem;font-weight:600;white-space:nowrap;color:#0a3158}.nav-main a::after{content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;background:transparent}.nav-main a.active{color:#087f7a}.nav-main a.active::after{background:var(--teal)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.contact-action{min-height:44px;max-width:100%;padding:0 14px;border:1px solid transparent;border-radius:9px;background:linear-gradient(90deg,#16aaa1,#15a79e);color:#fff;text-decoration:none;display:inline-grid;grid-template-columns:22px auto;column-gap:8px;align-items:center;justify-content:center;font-size:.875rem;line-height:1.15;font-weight:700;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.contact-action:hover{filter:brightness(.97);box-shadow:0 3px 10px rgba(0,73,79,.14)}.contact-action:focus-visible{outline:3px solid rgba(21,179,166,.28);outline-offset:2px}.contact-action svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-action .cta-line{display:block;white-space:nowrap}.contact-action--header{min-width:204px}.contact-action--hero{min-width:138px;padding-inline:14px}.contact-action--cta{min-width:220px}.contact-action:active{transform:translateY(1px)}.linkedin-head{width:32px;height:32px;border-radius:4px;background:#0876a8;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;font-size:19px;padding-top:2px}
/* COMMON */
.inner{width:920px;margin:0 auto}.kicker{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#55748d;margin-bottom:4px}.section-title{font-size:1.55rem;line-height:1.1;margin:0;color:var(--navy)}.section-copy{font-size:.94rem;line-height:1.4;color:#587184;margin:5px 0 0}.section{border-bottom:1px solid #e4edf1}.link{color:#08978f;text-decoration:none;font-weight:700}
/* HERO */
.hero{background:#fff}.hero-grid{display:grid;grid-template-columns:44% 56%;min-height:260px}.hero-copy{padding:24px 28px 16px 0}.hero h1{font-size:2.25rem;line-height:1.03;letter-spacing:-.025em;margin:0;color:#516a80}.hero h1 span{color:var(--teal)}.hero p{font-size:1rem;line-height:1.35;color:#4d687d;margin:12px 0 14px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{height:40px;border-radius:5px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.875rem;font-weight:700;border:1px solid var(--teal)}.btn.primary{background:var(--teal);color:#fff}.btn.secondary{background:#fff;color:#0b8d86}.hero-media{position:relative;overflow:hidden;min-height:260px;background:#d9e6eb}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(8,46,70,.02) 45%,rgba(5,36,58,.14))}.hero-tagline{position:absolute;right:24px;bottom:26px;color:#fff;font-size:1rem;font-weight:800;line-height:1.18;text-transform:uppercase;text-shadow:0 1px 5px rgba(0,0,0,.65);z-index:2}.hero-tagline::after{content:"";display:block;width:42px;height:3px;background:var(--teal2);margin-top:8px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:14px 0 16px}.benefit{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center}.icon{width:40px;height:40px;stroke:var(--teal);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.benefit strong{display:block;font-size:.92rem}.benefit span{font-size:.78rem;color:#60788a}
/* SERVICES */
.services{background:#f3f8fa;padding:14px 0 18px}.services .section-title{font-size:1.35rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.service-card{background:#fff;border:1px solid #d8e4ea;border-radius:6px;padding:11px 10px;min-height:96px;display:grid;grid-template-columns:44px 1fr;gap:8px}.service-card .icon{width:38px;height:38px}.service-card h3{font-size:.82rem;line-height:1.12;margin:0 0 4px}.service-card p{font-size:.72rem;line-height:1.25;color:#5e7688;margin:0 0 6px}.service-card a{font-size:.72rem;color:#09978f;font-weight:700;text-decoration:none}
/* SECTORS */
.sectors{background:#edf6f8;padding:14px 0 16px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}.sector-card{background:#fff;border:1px solid #d8e4ea;border-radius:6px;overflow:hidden}.sector-img{height:82px;background:#dce7ec;overflow:hidden}.sector-img img{width:100%;height:100%;object-fit:cover;display:block}.sector-body{padding:9px 10px 10px;display:grid;grid-template-columns:40px 1fr;gap:9px}.sector-body .icon{width:34px;height:34px}.sector-body h3{font-size:.9rem;margin:0 0 3px}.sector-body p{font-size:.72rem;line-height:1.25;color:#5d7587;margin:0 0 5px}.sector-body a{font-size:.72rem;color:#07988f;font-weight:700;text-decoration:none}
/* FOCUS */
.focus{padding:14px 0 16px;background:#fff}.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px}.focus-item{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:0 14px;border-right:1px solid #d7e4ea}.focus-item:first-child{padding-left:0}.focus-item:last-child{border-right:0;padding-right:0}.focus-item .icon{width:38px;height:38px}.focus-item h3{font-size:.85rem;margin:0 0 4px}.focus-item p{font-size:.69rem;line-height:1.25;color:#60788a;margin:0}
/* NEWS */
.news{padding:14px 0 16px;background:#f3f8fa}.news-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.news-head>a{font-size:.76rem;color:#07988f;font-weight:700;text-decoration:none}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.news-card{background:#fff;border:1px solid #d8e4ea;border-radius:5px;overflow:hidden;display:grid;grid-template-columns:42% 58%;min-height:92px}.news-card img{width:100%;height:100%;object-fit:cover;display:block}.news-text{padding:7px 8px}.news-date{font-size:.59rem;color:#6c8293}.news-text h3{font-size:.72rem;line-height:1.15;margin:3px 0 4px}.news-text p{font-size:.62rem;line-height:1.2;color:#60788a;margin:0 0 5px}.news-text a{font-size:.63rem;color:#07988f;font-weight:700;text-decoration:none}
/* CTA */
.cta{position:relative;min-height:72px;overflow:hidden;color:#fff}.cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.9)}.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,91,91,.90),rgba(0,84,90,.68),rgba(6,70,79,.48))}.cta-inner{position:relative;z-index:2;width:920px;margin:0 auto;min-height:72px;display:grid;grid-template-columns:70px 1fr 220px;gap:18px;align-items:center}.cta-icon{width:58px;height:50px}.cta-icon path,.cta-icon rect,.cta-icon circle{stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cta-copy{font-size:1rem;line-height:1.25;font-weight:700}.cta-btn{min-height:44px}
/* FOOTER APROBADO */
.footer{background:linear-gradient(180deg,#f8fbfd 0%,#f1f6f9 100%);color:var(--text);padding:22px 40px 16px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:145px 1fr 1fr 1fr 1.2fr;gap:22px;align-items:start}.brand-footer img{width:95px;height:auto;display:block}.footer h3{margin:0 0 10px;font-size:.88rem;line-height:1.2;color:#173f61}.footer nav,.footer .stack{display:flex;flex-direction:column;gap:5px}.footer a{color:#173f61;text-decoration:none;font-size:.78rem;line-height:1.25}.contact-line{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;color:var(--text);font-size:.77rem;line-height:1.3}.contact-line svg{width:16px;height:16px;stroke:var(--navy2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.linkedin-foot{display:inline-flex!important;align-items:center;gap:8px;margin-top:4px;font-weight:600}.in-icon{display:inline-grid;place-items:center;width:25px;height:25px;background:#0a77b8;border-radius:3px;color:#fff;font-weight:800;font-size:15px}.footer-bottom{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;gap:20px}.motto{font-size:.92rem;line-height:1.3;font-weight:700;color:#173f61;margin:0 0 5px}.legal-links a,.copyright{font-size:.72rem;color:var(--muted)}.col-divider{border-left:1px solid var(--line);padding-left:18px}

/* BASE PREPARADA PARA ETAPA 9: controles adaptables sin alterar el layout desktop aprobado */
img{max-width:100%}button,a{touch-action:manipulation}.contact-action{min-width:0}.contact-action--header{width:auto}.contact-action--hero{width:auto}.contact-action--cta{width:100%;max-width:240px}

/* Normalización tipográfica Body — Etapa 8 */
main .benefit strong{font-size:15px;line-height:1.25}
main .benefit span{font-size:14px;line-height:1.35}
main .service-card{min-height:112px;padding:12px 11px}
main .service-card h3{font-size:15px;line-height:1.2}
main .service-card p{font-size:14px;line-height:1.4}
main .service-card a{font-size:14px;line-height:1.25}
main .sector-body{padding:11px 11px 12px}
main .sector-body h3{font-size:16px;line-height:1.2}
main .sector-body p{font-size:14px;line-height:1.4}
main .sector-body a{font-size:14px;line-height:1.25}
main .focus-item h3{font-size:15px;line-height:1.2}
main .focus-item p{font-size:14px;line-height:1.4}
main .news-head>a{font-size:14px}
main .news-card{min-height:116px}
main .news-text{padding:9px 10px}
main .news-date{font-size:13px;line-height:1.2}
main .news-text h3{font-size:15px;line-height:1.2;margin:4px 0 5px}
main .news-text p{font-size:14px;line-height:1.35;margin:0 0 6px}
main .news-text a{font-size:14px;line-height:1.25}
main .section-copy{font-size:16px;line-height:1.45}


/* Actualidad dinámica: comparte la fuente de datos con Actualidad */
.news-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.news-nav{width:34px;height:34px;border:1px solid #b9d9dc;border-radius:50%;background:#fff;color:#087f7a;font-size:1.25rem;line-height:1;display:grid;place-items:center;cursor:pointer}
.news-nav:disabled{opacity:.35;cursor:default}
.news-nav[hidden]{display:none}
.news-empty{grid-column:1/-1;padding:18px;border:1px solid #d8e4ea;border-radius:7px;background:#fff;color:#60788a;font-size:15px;line-height:1.45}
.news-card{min-height:132px}
.news-text{padding:10px 11px}
.news-date{font-size:14px!important}
.news-text h3{font-size:16px!important;line-height:1.25!important}
.news-text p{font-size:15px!important;line-height:1.4!important}
.news-text a{font-size:14px!important}



/* ETAPA 9 — RESPONSIVE INICIO */
@media (max-width: 900px){
  body{background:#fff}
  .page{width:100%;min-height:0;box-shadow:none}
  .inner,.cta-inner{width:92%;max-width:920px}
  .site-header{height:auto}
  .header-inner{width:92%;height:auto;min-height:78px;display:grid;grid-template-columns:90px 1fr auto;grid-template-rows:78px auto;gap:0 12px}
  .brand-header{grid-column:1;grid-row:1;height:78px}
  .brand-header img{width:74px;height:70px}
  .header-actions{grid-column:3;grid-row:1;gap:10px}
  .contact-action--header{min-width:188px}
  .nav-main{grid-column:1/-1;grid-row:2;height:48px;justify-content:flex-start;gap:22px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;border-top:1px solid #eef3f5}
  .nav-main a{height:48px;flex:0 0 auto;font-size:15px}
  .nav-main a::after{bottom:7px}

  .hero-grid{grid-template-columns:1fr 1fr;min-height:0}
  .hero-copy{padding:28px 22px 24px 0}
  .hero h1{font-size:clamp(1.85rem,4vw,2.25rem)}
  .hero-media{min-height:300px}
  .benefits{gap:14px}
  .service-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .service-card{min-height:126px}
  .sector-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .focus-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}
  .focus-item{border-right:0;border-bottom:1px solid #d7e4ea;padding:0 14px 14px 0}
  .focus-item:nth-child(odd){border-right:1px solid #d7e4ea;padding-right:18px}
  .focus-item:nth-last-child(-n+2){border-bottom:0;padding-bottom:0}
  .news-head{align-items:flex-start}
  .news-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .news-card{grid-template-columns:40% 60%;min-height:150px}
  .cta{min-height:110px}
  .cta-inner{min-height:110px;grid-template-columns:54px 1fr 210px;gap:14px}
  .cta-copy{font-size:16px}
  .footer{padding:24px 4% 18px}
  .footer-grid{grid-template-columns:130px repeat(2,1fr);gap:22px}
  .footer-grid>section:nth-child(4),.footer-grid>section:nth-child(5){margin-top:8px}
  .footer-grid>section:nth-child(5){grid-column:2/-1;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}
}

@media (max-width: 640px){
  .inner,.cta-inner{width:90%}
  .header-inner{width:90%;grid-template-columns:72px 1fr auto;grid-template-rows:72px auto auto}
  .brand-header,.brand-header img{height:68px}
  .brand-header img{width:64px}
  .header-actions{grid-column:2/-1;justify-content:flex-end;gap:8px}
  .contact-action--header{min-width:0;padding:0 10px;font-size:14px}
  .contact-action--header .cta-line{white-space:normal}
  .linkedin-head{width:34px;height:34px}
  .nav-main{grid-row:2;height:46px;gap:18px}
  .nav-main a{height:46px;font-size:15px}

  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:26px 0 22px}
  .hero h1{font-size:2rem;line-height:1.06}
  .hero p{font-size:16px}
  .hero-actions{align-items:stretch}
  .hero-actions .btn,.contact-action--hero{min-height:44px;width:100%;max-width:none}
  .hero-media{min-height:280px}
  .hero-tagline{right:18px;bottom:20px;font-size:14px}

  .benefits{grid-template-columns:1fr;padding:18px 0;gap:16px}
  .benefit{grid-template-columns:42px 1fr}
  .services,.sectors,.focus,.news{padding-top:22px;padding-bottom:24px}
  .section-title{font-size:1.6rem}
  .service-grid,.sector-grid,.focus-grid,.news-grid{grid-template-columns:1fr}
  .service-card{min-height:0;padding:15px 14px}
  .sector-img{height:160px}
  .sector-body{padding:14px}
  .focus-item,.focus-item:nth-child(odd){border-right:0;border-bottom:1px solid #d7e4ea;padding:0 0 16px}
  .focus-item:last-child{border-bottom:0;padding-bottom:0}

  .news-head{display:block}
  .news-controls{margin:14px 0 0;justify-content:flex-start;flex-wrap:wrap}
  .news-grid{margin-top:14px}
  .news-card{grid-template-columns:1fr;min-height:0}
  .news-card img{height:180px}
  .news-text{padding:14px 15px}
  .news-date{font-size:14px!important}
  .news-text h3{font-size:18px!important;line-height:1.25!important}
  .news-text p{font-size:15px!important;line-height:1.45!important}
  .news-text a{font-size:15px!important;display:inline-block;margin-top:4px}
  .news-nav{width:40px;height:40px}

  .cta{min-height:0}
  .cta-inner{min-height:0;grid-template-columns:1fr;padding:24px 0;gap:14px;text-align:center}
  .cta-icon{margin:0 auto}
  .cta-copy br{display:none}
  .contact-action--cta{margin:0 auto;max-width:280px}

  .footer{padding:24px 5% 18px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:22px 18px}
  .brand-footer{grid-column:1/-1}
  .brand-footer img{width:90px}
  .footer-grid>section:nth-child(5){grid-column:1/-1;margin-top:0}
  .footer-bottom{display:block}
  .copyright{margin-top:12px}
}

@media (max-width: 420px){
  .header-inner{width:92%;grid-template-columns:64px 1fr auto}
  .contact-action--header{font-size:13px;column-gap:5px;padding:0 8px}
  .contact-action--header svg{width:18px;height:18px}
  .nav-main{gap:16px}
  .hero h1{font-size:1.82rem}
  .hero-media{min-height:235px}
  .hero-tagline{font-size:13px}
  .footer-grid{grid-template-columns:1fr}
  .brand-footer,.footer-grid>section:nth-child(5){grid-column:1}
}


@media (max-width:650px){
  .nav-main{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:46px!important;height:auto!important;min-height:92px!important;row-gap:0!important;column-gap:8px!important;overflow:visible!important;white-space:normal!important}
  .nav-main a{min-width:0!important;justify-content:center!important;text-align:center!important}
}


/* Ajuste Etapa 9 v1.2: separación CTA / Footer en tablet y móvil */
@media (max-width:900px){
  .cta{min-height:auto!important}
  .cta-inner{min-height:0!important;padding-top:30px!important;padding-bottom:34px!important}
}
@media (max-width:650px){
  .cta-inner{padding-top:30px!important;padding-bottom:38px!important}
}
