/* ENARIS — sistema visual. 1 Tokens 2 Base 3 Navegación 4 Secciones 5 Adaptación */
:root {
  --ink:#102d50;
  --brand:#1266ab;
  --deep:#071d38;
  --paper:#f8fbff;
  --muted:#53677e;
  --line:#d6e2ef;
  --accent:#238aed;
  --space:clamp(56px,7vw,112px);
  --radius:5px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:90px
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.65;
  font-size:16px
}

img {
  max-width:100%;
  height:auto;
  display:block
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit;
  cursor:pointer
}

a,button {
  touch-action:manipulation
}

a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #53b6ff;
  outline-offset:6px
}

h1,h2,h3,p {
  margin-top:0
}

h1,h2,h3 {
  line-height:1.06;
  letter-spacing:-.045em
}

h1 {
  font-size:clamp(44px,6.6vw,98px);
  font-weight:500;
  margin-bottom:30px
}

h2 {
  font-size:clamp(32px,3.6vw,54px);
  font-weight:500;
  margin-bottom:28px
}

h3 {
  font-size:26px;
  font-weight:500
}

p {
  color:var(--muted);
  margin-bottom:22px
}

em {
  font-style:normal;
  color:#1977ca
}

.wrap {
  width:min(1320px,90%);
  margin:auto
}

.section {
  padding-block:var(--space)
}

.eyebrow {
  display:block;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  margin-bottom:24px;
  line-height:1.6
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:var(--deep);
  padding:17px 26px;
  border-radius:3px;
  font-size:14px;
  font-weight:700;
  gap:30px;
  transition:background .2s,transform .2s
}

.button:hover {
  background:#46aaff;
  transform:translateY(-2px)
}

.button.dark {
  background:var(--brand);
  color:white
}

.text-link {
  display:inline-block;
  border-bottom:1px solid currentColor;
  padding-bottom:6px;
  font-size:14px;
  font-weight:700
}

.skip {
  position:fixed;
  top:-100px;
  left:10px;
  background:white;
  padding:12px;
  z-index:100
}

.skip:focus {
  top:10px
}

.header {
  height:92px;
  padding:0 5%;
  background:var(--deep);
  color:white;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #ffffff26;
  position:relative;
  z-index:20
}

.brand img {
  width:155px;
  height:60px;
  object-fit:contain
}

.header nav {
  display:flex;
  align-items:center;
  gap:30px;
  font-size:13px
}

.header nav a {
  padding-block:8px
}

.header nav a:hover,.header [aria-current] {
  color:var(--accent)
}

.nav-cta {
  border:1px solid #ffffff50;
  border-radius:3px;
  padding:11px 22px!important;
  margin-left:14px
}

.menu-toggle {
  display:none;
  color:white;
  background:none;
  border:1px solid #ffffff60;
  padding:8px 14px
}

.hero {
  position:relative;
  isolation:isolate;
  min-height:740px;
  overflow:hidden;
  color:#fff;
  background:var(--deep);
  display:flex;
  align-items:center
}

.hero-photo {
  position:absolute;
  inset:0 0 0 27%;
  background-position:center;
  background-size:cover;
  z-index:-3;
  animation:drift 20s ease-in-out infinite alternate;
  opacity:.88
}

.hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#071d38 4%,#071d38ed 28%,#071d38a8 54%,#071d3830 100%),linear-gradient(0deg,#071d38e8,transparent 40%);
  z-index:-2
}

.hero-grain {
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);
  background-size:70px 70px
}

.hero-content {
  padding-top:55px;
  padding-bottom:145px
}

.hero h1 {
  font-size:clamp(48px,6.4vw,96px);
  max-width:1000px;
  line-height:1.01
}

.hero h1 em {
  color:var(--accent)
}

.hero p {
  color:#e0edfa;
  max-width:540px;
  font-size:18px
}

.actions {
  display:flex;
  gap:28px;
  align-items:center;
  margin-top:35px
}

.link-light {
  font-size:13px;
  border-bottom:1px solid #fff8
}

.hero-caption {
  position:absolute;
  right:5%;
  bottom:135px;
  font-size:12px;
  text-align:right;
  max-width:300px
}

.hero-caption span {
  font-size:9px;
  letter-spacing:.15em;
  display:block;
  margin-bottom:10px;
  color:#ccdef3
}

.hero-bottom {
  position:absolute;
  bottom:0;
  left:5%;
  border-top:1px solid #ffffff40;
  display:flex;
  justify-content:space-between;
  padding-block:28px;
  font-size:10px;
  letter-spacing:.15em;
  color:#ccdef3
}

.intro-strip {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  align-items:center;
  padding-block:36px;
  border-bottom:1px solid var(--line);
  gap:20px
}

.intro-strip p {
  margin:0;
  font-size:15px
}

.intro-strip div {
  font-size:16px;
  border-left:1px solid var(--line);
  padding-left:30px
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:50px;
  margin-bottom:45px
}

.section-heading h2 {
  margin-bottom:0
}

.section-heading>p {
  max-width:350px;
  font-size:15px;
  margin-bottom:0
}

.service-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}

.service {
  padding:35px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:background .2s;
  display:flex;
  flex-direction:column;
  align-items:start
}

.service:hover {
  background:#eaf4ff
}

.number {
  font-size:12px;
  color:#587493;
  margin-bottom:40px;
  display:block;
  width:100%;
  letter-spacing:.1em
}

.number span {
  float:right;
  font-size:22px
}

.service h3 {
  max-width:250px;
  min-height:55px
}

.service p {
  font-size:14px;
  line-height:1.8
}

.service .text-link {
  margin-top:auto;
  font-size:12px
}

.work {
  background:#edf5fc
}

.project-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px
}

.project img {
  width:100%;
  aspect-ratio:1.25;
  object-fit:cover;
  border-radius:var(--radius);
  transition:filter .3s
}

.project:hover img {
  filter:brightness(1.08)
}

.project>div {
  padding:26px 0 0
}

.project .eyebrow {
  font-size:9px;
  margin-bottom:15px
}

.project h3 {
  font-size:27px
}

.project p {
  font-size:14px
}

.project-note {
  font-size:12px;
  margin:25px 0 0
}

.method {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:100px
}

.method>div>p {
  max-width:450px
}

.steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px
}

.method .steps {
  grid-template-columns:1fr 1fr
}

.steps article {
  border-top:1px solid #9ebbd7;
  padding-top:20px
}

.steps span {
  font-size:12px;
  color:#517da8
}

.steps h3 {
  font-size:23px;
  margin-top:20px;
  margin-bottom:16px
}

.steps p {
  font-size:14px
}

.ai-panel {
  background:var(--deep);
  color:white;
  padding-block:90px;
  overflow:hidden;
  background-image:radial-gradient(ellipse at 90% 80%,#176ac940,transparent 65%)
}

.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}

.ai-panel p {
  color:#bacfe8;
  max-width:500px
}

.signal {
  position:relative;
  aspect-ratio:1;
  max-width:460px;
  width:100%;
  margin:auto;
  display:grid;
  place-items:center
}

.signal>span {
  font-size:38px;
  letter-spacing:.08em;
  font-weight:bold;
  border:1px solid #60b4fa;
  width:190px;
  height:190px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#123e72
}

.signal-ring {
  position:absolute;
  inset:5%;
  border:1px solid #60b4fa60;
  border-radius:50%
}

.signal-ring:before {
  content:"";
  position:absolute;
  inset:15%;
  border:1px dashed #60b4fa80;
  border-radius:50%;
  animation:spin 90s linear infinite
}

.signal i {
  font-size:10px;
  letter-spacing:.14em;
  font-style:normal;
  position:absolute;
  background:var(--deep);
  border:1px solid #6faee560;
  padding:10px 20px;
  border-radius:30px
}

.s1 {
  top:3%;
  left:42%
}

.s2 {
  right:-2%;
  top:46%
}

.s3 {
  bottom:3%;
  left:42%
}

.s4 {
  left:0;
  top:46%
}

.partner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:75px;
  align-items:center
}

.partner>img {
  width:100%;
  aspect-ratio:1.1;
  object-fit:cover;
  border-radius:var(--radius)
}

.cta {
  background:var(--accent);
  padding-block:80px;
  background-image:repeating-radial-gradient(ellipse at 95% 130%,transparent 0,transparent 60px,#1278d80b 61px,#1278d80b 62px)
}

.cta h2 {
  font-size:clamp(42px,5vw,74px)
}

.cta .button {
  background:var(--deep);
  color:white
}

footer {
  background:#061a32;
  color:#d6e4f5;
  padding:70px 0 25px
}

.footer-grid {
  display:grid;
  grid-template-columns:1.3fr 1.2fr 1fr 1fr;
  gap:40px
}

.footer-brand {
  font-size:38px;
  letter-spacing:.08em;
  font-weight:bold
}

.footer-brand span {
  font-size:12px;
  vertical-align:super
}

footer p {
  font-size:13px;
  color:#adc2db
}

footer h2 {
  font-size:13px;
  font-weight:bold;
  letter-spacing:0;
  margin:10px 0 24px
}

footer .footer-grid>div>a:not(.footer-brand) {
  display:block;
  font-size:12px;
  margin-bottom:12px
}

footer a:hover {
  color:var(--accent)
}

.footer-bottom {
  border-top:1px solid #ffffff25;
  margin-top:55px;
  padding-top:23px;
  display:flex;
  justify-content:space-between;
  gap:25px;
  font-size:10px;
  color:#adc2db
}

.footer-bottom div {
  display:flex;
  gap:24px
}

.breadcrumbs {
  display:flex;
  gap:14px;
  font-size:11px;
  padding-block:20px;
  flex-wrap:wrap
}

.breadcrumbs a {
  text-decoration:underline
}

.intro {
  position:relative;
  isolation:isolate;
  background:var(--deep);
  color:white;
  padding-block:85px;
  overflow:hidden
}

.intro h1 {
  max-width:1000px;
  font-size:clamp(44px,6vw,84px)
}

.intro .lead {
  max-width:740px;
  color:#c5d9f0;
  font-size:18px
}

.intro .eyebrow {
  color:var(--accent)
}

.orbit {
  position:absolute;
  width:650px;
  height:650px;
  border:1px solid #ffffff15;
  border-radius:50%;
  right:-180px;
  top:-120px;
  z-index:-1
}

.orbit:before {
  content:"";
  position:absolute;
  inset:80px;
  border:1px solid #ffffff15;
  border-radius:50%
}

.orbit:after {
  content:"";
  position:absolute;
  inset:160px;
  border:1px solid #ffffff15;
  border-radius:50%
}

.detail-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  margin-top:45px
}

.detail-grid article {
  border-top:1px solid var(--line);
  padding-top:25px
}

.detail-grid p {
  font-size:16px
}

.detail-grid h2 {
  font-size:30px
}

.related {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}

.related a {
  border:1px solid var(--line);
  padding:15px 20px;
  font-size:14px
}

.related a:hover {
  background:#eaf4ff
}

.faq {
  max-width:950px
}

.faq details {
  border-bottom:1px solid var(--line);
  padding:22px 0
}

.faq summary {
  font-size:19px;
  cursor:pointer;
  font-weight:500;
  line-height:1.5
}

.faq details p {
  margin-top:20px;
  max-width:800px
}

.contact-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px
}

.contact-grid a {
  border-top:1px solid var(--line);
  padding:30px 0
}

.contact-grid h2 {
  font-size:28px;
  margin-top:25px
}

.contact-grid span {
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase
}

.brief {
  margin-top:40px;
  background:#edf5fc;
  padding:50px;
  max-width:850px
}

.editorial {
  max-width:960px
}

.editorial h2 {
  font-size:32px;
  margin-top:45px
}

.editorial p {
  line-height:1.85
}

.editorial a {
  text-decoration:underline;
  overflow-wrap:anywhere
}

.editorial figure {
  margin:30px 0
}

.editorial figure img {
  width:100%;
  max-height:560px;
  object-fit:contain;
  background:#edf4fc
}

.editorial li {
  margin-bottom:12px
}

.editorial h2:first-child {
  margin-top:0
}

@keyframes drift {
  from {
    transform:scale(1)
  }
  to {
    transform:scale(1.07) translateX(-1%)
  }
}

@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}

@media(min-width:1500px) {
  .hero-content {
    padding-top:80px;
    padding-bottom:170px
  }
  .hero {
    min-height:820px
  }
}

@media(max-width:1100px) {
  .header nav {
    gap:18px
  }
  .method {
    gap:45px
  }
  .partner {
    gap:40px
  }
  .hero-caption {
    display:none
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .split {
    gap:40px
  }
  .service {
    padding:28px
  }
  .hero {
    min-height:690px
  }
  .contact-grid h2 {
    font-size:23px
  }
}

@media(max-width:760px) {
  .header {
    height:78px;
    flex-wrap:wrap
  }
  .brand img {
    width:135px
  }
  .menu-toggle {
    display:block
  }
  .header nav {
    position:absolute;
    top:78px;
    left:0;
    right:0;
    background:var(--deep);
    padding:22px 5%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    border-top:1px solid #fff3
  }
  .header nav.open {
    display:flex
  }
  .header .nav-cta {
    margin:12px 0 0;
    text-align:center
  }
  .hero {
    min-height:680px
  }
  .hero-photo {
    inset:0;
    opacity:.5
  }
  .hero:before {
    background:linear-gradient(90deg,#071d38ef,#071d3860),linear-gradient(0deg,#071d38,transparent)
  }
  .hero-content {
    padding-top:50px;
    padding-bottom:125px
  }
  .hero h1 {
    font-size:clamp(43px,8.9vw,68px)
  }
  .hero p {
    font-size:16px;
    max-width:420px
  }
  .actions {
    align-items:start;
    flex-direction:column;
    gap:22px
  }
  .hero-bottom {
    font-size:8px;
    gap:12px
  }
  .hero-bottom span:nth-child(2) {
    display:none
  }
  .intro-strip {
    grid-template-columns:1fr 1fr;
    gap:20px
  }
  .intro-strip div {
    font-size:13px;
    padding-left:15px
  }
  .section-heading {
    display:block
  }
  .section-heading>p,.section-heading>.text-link {
    margin-top:25px
  }
  .service-grid {
    grid-template-columns:1fr 1fr
  }
  .service {
    padding:25px
  }
  .service h3 {
    font-size:23px
  }
  .project-grid {
    grid-template-columns:1fr
  }
  .project {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px
  }
  .project>div {
    padding:0
  }
  .project img {
    aspect-ratio:1;
    min-height:170px;
    height:100%
  }
  .project h3 {
    font-size:23px
  }
  .project p {
    font-size:13px
  }
  .project .eyebrow {
    font-size:8px
  }
  .method,.partner,.split {
    grid-template-columns:1fr;
    gap:40px
  }
  .steps {
    grid-template-columns:1fr 1fr
  }
  .signal {
    max-width:340px
  }
  .partner>img {
    aspect-ratio:1.4
  }
  .detail-grid,.contact-grid {
    grid-template-columns:1fr
  }
  .detail-grid {
    gap:20px
  }
  .detail-grid .number {
    margin-bottom:20px
  }
  .intro {
    padding-block:60px
  }
  .intro .lead {
    font-size:17px
  }
  .footer-grid {
    gap:30px
  }
  .footer-bottom {
    flex-direction:column
  }
  .brief {
    padding:30px
  }
  .cta {
    padding-block:60px
  }
  .editorial h2 {
    font-size:27px
  }
}

@media(max-width:430px) {
  .service-grid {
    grid-template-columns:1fr
  }
  .service h3 {
    min-height:auto
  }
  .number {
    margin-bottom:25px
  }
  .project {
    grid-template-columns:1fr
  }
  .project img {
    aspect-ratio:1.5;
    max-height:250px
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:25px 16px
  }
  .footer-grid>div:first-child {
    grid-column:1/-1
  }
  .intro-strip {
    grid-template-columns:1fr
  }
  .intro-strip div {
    border-left:0;
    padding-left:0
  }
  .hero-bottom span:last-child {
    display:none
  }
  .hero h1 {
    font-size:43px
  }
  .steps {
    gap:20px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}

/* Revisión 2 — azul corporativo, componentes editoriales y carrusel real */
:root {
  --accent:#238aed;
  --electric:#67c5ff;
  --sky:#e9f4ff;
  --deep:#071d38;
  --brand:#1266ab;
  --ink:#102d50;
  --line:#d6e2ef;
  --paper:#f8fbff
}

.header {
  position:sticky;
  top:0;
  z-index:100;
  background:#071d38f5;
  backdrop-filter:blur(16px);
  box-shadow:0 4px 20px #03172c15
}

.header nav {
  gap:23px
}

.header .nav-cta {
  background:#238aed;
  border-color:#238aed;
  color:#fff
}

.button {
  color:#fff;
  background:#187cd4
}

.button:hover {
  background:#0864b8
}

.nav-cta:hover {
  background:#1267b3
}

.header nav a:hover,.header [aria-current] {
  color:#7acfff
}

em {
  color:#2185dd
}

.carousel {
  height:750px;
  min-height:750px;
  display:block
}

.carousel:before {
  display:none
}

.slide-stack {
  position:absolute;
  inset:0
}

.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease,visibility .9s;
  overflow:hidden
}

.hero-slide.is-active {
  opacity:1;
  visibility:visible;
  z-index:1
}

.slide-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  transition:transform 6.5s ease;
  opacity:.83
}

.hero-slide.is-active .slide-photo {
  transform:scale(1.11)
}

.slide-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#041b38fa 5%,#052447e0 35%,#0a31546b 70%,#05264a20),linear-gradient(0deg,#061c38c9,transparent 45%)
}

.hero-content {
  position:relative;
  z-index:2;
  padding-top:105px;
  padding-bottom:120px
}

.carousel .slide-title {
  font-size:clamp(46px,5.8vw,85px);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.047em;
  color:white;
  max-width:1050px;
  margin-bottom:28px
}

.carousel .slide-title em {
  color:#75cdff
}

.carousel p {
  max-width:590px;
  font-size:18px;
  color:#e1edfa
}

.carousel .eyebrow {
  color:#badfff;
  font-size:11px
}

.slide-caption {
  position:absolute;
  right:5%;
  bottom:116px;
  color:#deebfb;
  font-size:11px;
  z-index:2
}

.carousel-bottom {
  position:absolute;
  bottom:0;
  left:5%;
  z-index:3;
  border-top:1px solid #c5deff50;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:23px
}

.carousel-tag {
  font-size:10px;
  letter-spacing:.16em;
  color:#c3d9f4
}

.carousel-controls {
  display:flex;
  align-items:center;
  gap:15px
}

.carousel-controls button {
  border:0;
  background:transparent;
  color:#bed4ed;
  font-size:14px;
  min-width:38px;
  min-height:38px
}

.carousel-controls button:hover {
  color:white;
  background:#ffffff16
}

.slide-dots {
  display:flex;
  gap:12px
}

.slide-dots button {
  border-bottom:2px solid #a2bed340;
  padding:8px 10px;
  letter-spacing:.12em
}

.slide-dots button[aria-pressed=true] {
  border-color:#65c6ff;
  color:#fff
}

.carousel-controls .slide-pause {
  border:1px solid #9abbdb50;
  border-radius:50%;
  margin-left:10px
}

.service-showcase {
  position:relative
}

.service-showcase:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(#f8fbfff0,#f8fbffe8),url('../img/img-generic-generic-1.webp') center/cover
}

.service-grid {
  border:0;
  gap:20px
}

.service {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid #ccdeef;
  background:#fffdfd;
  box-shadow:0 10px 28px #16417105;
  border-radius:6px;
  padding:32px;
  transition:transform .25s,box-shadow .25s
}

.service:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(120deg,#fffffffc 25%,#ffffffd8),var(--service-image);
  background-size:cover;
  background-position:center;
  opacity:.95;
  transition:opacity .3s
}

.service:nth-child(3n+1) {
  --service-image:url('../img/img-blog-generic-b.webp')
}

.service:nth-child(3n+2) {
  --service-image:url('../img/img-generic-generic-1.webp')
}

.service:nth-child(3n) {
  --service-image:url('../img/img-blog-generic-a.webp')
}

.service:hover {
  transform:translateY(-5px);
  box-shadow:0 15px 40px #134c7f15;
  background:#fff
}

.service:hover:before {
  opacity:.7
}

.service .number {
  color:#1879cf
}

.service .number span {
  background:#e6f2ff;
  border:1px solid #cce3f8;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  top:-10px
}

.service h3 {
  font-size:27px
}

.service p {
  color:#45617c
}

.case-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch
}

.case-card {
  background:#fff;
  border:1px solid #d3e2f0;
  border-radius:6px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  scroll-margin-top:115px
}

.case-image {
  position:relative;
  overflow:hidden
}

.case-image img {
  width:100%;
  height:235px;
  object-fit:cover;
  transition:transform .5s
}

.case-image:hover img {
  transform:scale(1.05)
}

.case-image>span {
  position:absolute;
  bottom:15px;
  right:15px;
  background:#092d55dd;
  color:white;
  padding:5px 13px;
  font-size:12px
}

.case-copy {
  padding:28px;
  display:flex;
  flex-direction:column;
  flex:1
}

.case-copy .eyebrow {
  font-size:9px;
  letter-spacing:.12em;
  color:#1469b4;
  margin-bottom:16px
}

.case-copy h3 {
  font-size:26px;
  line-height:1.12;
  min-height:58px
}

.case-copy>p {
  font-size:14px;
  line-height:1.8
}

.case-copy strong {
  color:#183c64
}

.case-result {
  border-top:1px solid #d9e7f3;
  padding-top:17px;
  margin-top:auto
}

.case-result>span {
  font-size:9px;
  letter-spacing:.12em;
  color:#176cb5;
  font-weight:bold
}

.case-result p {
  font-size:13px;
  line-height:1.7;
  margin-top:8px;
  margin-bottom:20px
}

.case-copy .text-link {
  font-size:12px;
  align-self:start
}

.portfolio-button {
  margin-top:38px
}

.visual-method {
  padding-top:100px
}

.method-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:stretch
}

.method-image {
  position:relative;
  overflow:hidden;
  border-radius:6px;
  min-height:530px
}

.method-image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.method-image:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#06264e,transparent 75%)
}

.method-image>span {
  position:absolute;
  bottom:35px;
  left:35px;
  color:#fff;
  font-size:29px;
  font-weight:500;
  line-height:1.18;
  letter-spacing:-.03em;
  z-index:1
}

.method-track article {
  display:flex;
  gap:24px;
  position:relative;
  padding-bottom:25px
}

.method-track article:not(:last-child):before {
  content:"";
  position:absolute;
  top:45px;
  left:22px;
  bottom:5px;
  width:1px;
  background:#b8d8f4
}

.method-track b {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex-shrink:0;
  border:1px solid #94c9f4;
  border-radius:50%;
  background:#eaf5ff;
  color:#176eb5;
  font-size:12px;
  font-weight:normal
}

.method-track h3 {
  font-size:27px;
  margin:8px 0 12px
}

.method-track p {
  font-size:15px;
  max-width:420px
}

.method-more {
  margin-top:32px
}

.ai-panel {
  background-color:#061d3c;
  background-image:radial-gradient(ellipse at 80% 40%,#174d8c7a,transparent 65%),linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);
  background-size:auto,55px 55px,55px 55px
}

.ai-panel h2 em {
  color:#70caff
}

.mini-tags {
  display:flex;
  gap:12px;
  margin:28px 0;
  flex-wrap:wrap
}

.mini-tags span {
  font-size:9px;
  letter-spacing:.1em;
  color:#c6e5ff;
  border:1px solid #5ca1e34d;
  padding:7px 12px;
  border-radius:20px
}

.ecosystem {
  position:relative;
  aspect-ratio:1;
  width:100%;
  max-width:540px;
  margin:auto;
  display:grid;
  place-items:center
}

.ecosystem-core {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:158px;
  height:158px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 15%,#2688d5,#0b366b 80%);
  border:1px solid #65bbff;
  box-shadow:0 0 65px #299bff45;
  z-index:2
}

.ecosystem-core strong {
  font-size:26px;
  letter-spacing:.05em;
  color:#fff
}

.ecosystem-core span {
  font-size:8px;
  letter-spacing:.22em;
  color:#bbdfff;
  margin-top:7px
}

.orbit-ring {
  position:absolute;
  border-radius:50%;
  border:1px solid #5aa9ed45
}

.ring-one {
  inset:22%;
  border-style:dashed;
  animation:spin 70s linear infinite
}

.ring-two {
  inset:9%;
  border-color:#59afff80
}

.ring-three {
  inset:0;
  border-color:#297bc630
}

.orbit-label {
  position:absolute;
  background:#0b2e56f5;
  border:1px solid #5c9dd580;
  border-radius:9px;
  width:124px;
  text-align:center;
  padding:12px 5px;
  z-index:3;
  box-shadow:0 8px 20px #0002
}

.orbit-label b {
  font-size:12px;
  letter-spacing:.09em;
  color:#d7eeff;
  display:block
}

.orbit-label span {
  font-size:9px;
  color:#a6c4e3
}

.o1 {
  top:1%;
  left:calc(50% - 62px)
}

.o2 {
  top:25%;
  right:-1%
}

.o3 {
  bottom:23%;
  right:-1%
}

.o4 {
  bottom:0;
  left:calc(50% - 62px)
}

.o5 {
  bottom:23%;
  left:-1%
}

.o6 {
  top:25%;
  left:-1%
}

.orbit-particle {
  position:absolute;
  inset:9%;
  border-radius:50%;
  animation:spin 18s linear infinite
}

.orbit-particle:before {
  content:"";
  position:absolute;
  top:10%;
  left:13%;
  height:8px;
  width:8px;
  border-radius:50%;
  background:#bcecff;
  box-shadow:0 0 16px #53baff
}

.partner-feature {
  padding-block:95px;
  background:linear-gradient(135deg,#fff,#edf6ff);
  border-bottom:1px solid var(--line)
}

.partner-photo {
  position:relative;
  min-height:520px;
  align-self:stretch;
  border-radius:6px;
  overflow:hidden
}

.partner-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute
}

.partner-photo:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#0b2f66cc,transparent 70%)
}

.partner-photo>span {
  position:absolute;
  bottom:30px;
  left:30px;
  font-size:22px;
  letter-spacing:.05em;
  color:#fff;
  z-index:1
}

.partner-pillars {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:25px 0
}

.partner-pillars span {
  background:#fff;
  border:1px solid #cce2f5;
  padding:12px;
  font-size:12px;
  color:#195a92
}

.partner strong {
  color:#103d6b
}

.cta {
  background:#0e63af;
  color:#fff;
  background-image:repeating-radial-gradient(ellipse at 90% 100%,transparent 0,transparent 70px,#ffffff0d 71px,#ffffff0d 72px),linear-gradient(120deg,#072b59,#0c74ca)
}

.cta h2 em {
  color:#8ed9ff
}

.cta-layout {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:70px;
  align-items:center
}

.cta h2 {
  font-size:clamp(42px,4.7vw,67px);
  margin-bottom:0
}

.cta p {
  color:#d9eaff;
  font-size:18px;
  max-width:400px
}

.cta .button {
  background:#fff;
  color:#105d9f
}

.rich-intro {
  padding-block:95px;
  background:#071d38;
  isolation:isolate
}

.rich-intro:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:linear-gradient(90deg,#061f40ef 5%,#092c50ba 48%,#0c335a55),var(--intro-image);
  background-size:cover;
  background-position:center
}

.rich-intro h1 em {
  color:#79cfff
}

.rich-intro .eyebrow {
  color:#b1dcff
}

.rich-intro h1 {
  font-size:clamp(44px,5.7vw,80px)
}

.intro-lines {
  position:absolute;
  inset:0;
  z-index:-1;
  background:repeating-linear-gradient(120deg,transparent,transparent 100px,#ffffff06 101px,#ffffff06 102px)
}

.glocal-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:20px
}

.glocal-grid article {
  background:white;
  padding:32px;
  border:1px solid var(--line)
}

.glocal-grid .glocal-main {
  grid-row:span 2;
  background:linear-gradient(140deg,#0b3366,#116bbb);
  color:white
}

.glocal-main>span {
  font-size:11px;
  letter-spacing:.13em;
  color:#a6d8ff;
  display:block;
  margin-bottom:75px
}

.glocal-grid h3 {
  font-size:28px;
  line-height:1.1
}

.glocal-main p {
  color:#d1e4f7;
  font-size:15px
}

.glocal-grid article>b {
  font-size:10px;
  letter-spacing:.12em;
  display:block;
  color:#1d75bd;
  margin-bottom:22px
}

.glocal-grid article:last-child {
  grid-column:2/4
}

.discipline-section {
  background:#eaf3fc
}

.discipline-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:45px
}

.discipline-grid article {
  border-top:1px solid #aacbe7;
  padding-top:25px
}

.discipline-grid article>span {
  font-size:12px;
  color:#197ad0;
  display:block;
  margin-bottom:30px
}

.discipline-grid h3 {
  font-size:27px;
  line-height:1.15
}

.discipline-grid p {
  font-size:15px
}

.method-depth {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center
}

.method-depth img {
  width:100%;
  height:480px;
  object-fit:cover;
  border-radius:6px
}

.founder {
  max-width:1000px;
  text-align:center
}

.founder p {
  font-size:18px;
  max-width:800px;
  margin:0 auto 30px
}

.lab-opening {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px
}

.lab-process {
  background:#08274f;
  color:white;
  background-image:radial-gradient(ellipse at 95% 25%,#176bb250,transparent 60%)
}

.lab-timeline {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  margin-top:60px
}

.lab-timeline article {
  border-top:1px solid #4385bf;
  padding-top:28px
}

.lab-timeline b {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid #62b8ff;
  font-size:18px;
  color:#8bd4ff;
  font-weight:normal;
  margin-bottom:25px
}

.lab-timeline h3 {
  font-size:27px
}

.lab-timeline p {
  color:#c3d8ed;
  font-size:14px
}

.lab-timeline small {
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7ecaff
}

.lab-areas {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px
}

.lab-areas article {
  padding:35px;
  background:linear-gradient(145deg,#fff,#eaf4ff);
  border:1px solid #cce1f3
}

.lab-areas article>span {
  font-size:10px;
  letter-spacing:.12em;
  color:#1d6bb5;
  display:block;
  margin-bottom:35px
}

.lab-areas h3 {
  font-size:30px
}

.lab-areas p {
  font-size:15px
}

.lab-areas .text-link {
  font-size:12px
}

.initiative-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
  margin-top:40px
}

.initiative-grid a {
  background:#fff;
  border:1px solid #d1e3f3;
  padding:35px
}

.initiative-grid span {
  font-size:9px;
  letter-spacing:.1em;
  color:#2a7bbc;
  display:block;
  margin-bottom:35px
}

.initiative-grid h3 {
  font-size:30px
}

.initiative-grid p {
  font-size:15px
}

.news-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:start
}

.news-card {
  background:#fff;
  border:1px solid #d0e0ef;
  border-radius:6px;
  overflow:hidden;
  scroll-margin-top:110px
}

.news-card>img {
  width:100%;
  height:225px;
  object-fit:cover
}

.news-copy {
  padding:27px
}

.news-copy .eyebrow {
  font-size:9px;
  color:#1972b8;
  letter-spacing:.12em;
  margin-bottom:16px
}

.news-copy h2 {
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.035em;
  margin-bottom:18px
}

.news-copy p {
  font-size:14px;
  line-height:1.8
}

.news-links {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

.news-link {
  font-size:11px;
  color:#1263a7;
  border-bottom:1px solid #9ec9ec;
  overflow-wrap:anywhere
}

.news-card:target {
  outline:3px solid #238aed;
  outline-offset:4px
}

@media(max-width:1100px) {
  .header nav {
    gap:15px;
    font-size:12px
  }
  .case-copy {
    padding:23px
  }
  .case-copy h3 {
    font-size:24px
  }
  .ecosystem {
    max-width:420px
  }
  .orbit-label {
    width:106px
  }
  .o1,.o4 {
    left:calc(50% - 53px)
  }
  .method-split {
    gap:40px
  }
  .news-copy {
    padding:22px
  }
  .glocal-grid {
    grid-template-columns:1fr 1fr
  }
  .glocal-grid .glocal-main {
    grid-row:auto;
    grid-column:1/-1
  }
  .glocal-grid article:last-child {
    grid-column:1/-1
  }
  .glocal-main>span {
    margin-bottom:35px
  }
}

@media(max-width:1000px) {
  .header {
    height:78px;
    flex-wrap:wrap
  }
  .brand img {
    width:135px
  }
  .menu-toggle {
    display:block
  }
  .header nav {
    position:absolute;
    top:78px;
    left:0;
    right:0;
    background:var(--deep);
    padding:22px 5%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    border-top:1px solid #fff3;
    font-size:14px
  }
  .header nav.open {
    display:flex
  }
  .header .nav-cta {
    margin:12px 0 0;
    text-align:center
  }
  .case-grid,.news-grid {
    gap:18px
  }
  .case-image img {
    height:195px
  }
  .case-copy {
    padding:19px
  }
  .case-copy h3 {
    font-size:22px
  }
  .case-copy>p {
    font-size:13px
  }
  .news-copy h2 {
    font-size:23px
  }
  .lab-timeline {
    grid-template-columns:1fr 1fr
  }
  .carousel .hero-content {
    padding-top:100px
  }
  .ecosystem-core {
    width:125px;
    height:125px
  }
  .ecosystem-core strong {
    font-size:22px
  }
}

@media(max-width:760px) {
  .carousel {
    height:710px;
    min-height:710px
  }
  .carousel .hero-content {
    padding-top:70px;
    padding-bottom:125px
  }
  .carousel .slide-title {
    font-size:clamp(42px,8vw,60px)
  }
  .carousel p {
    font-size:16px;
    max-width:480px
  }
  .carousel .eyebrow {
    font-size:9px;
    max-width:300px
  }
  .slide-overlay {
    background:linear-gradient(90deg,#041c3af0,#06284bac),linear-gradient(0deg,#041d3ee0,transparent)
  }
  .slide-caption {
    display:none
  }
  .carousel-bottom {
    gap:10px;
    padding-block:17px
  }
  .carousel-tag {
    font-size:8px;
    max-width:140px
  }
  .carousel-controls {
    gap:5px
  }
  .slide-dots {
    gap:3px
  }
  .carousel-controls button {
    min-width:32px;
    font-size:12px
  }
  .carousel-controls .slide-pause {
    margin-left:3px
  }
  .service-grid {
    gap:16px
  }
  .service {
    padding:25px
  }
  .service h3 {
    font-size:25px
  }
  .case-grid,.news-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .case-image img {
    height:200px
  }
  .case-copy h3 {
    min-height:0
  }
  .method-split,.method-depth,.lab-opening,.cta-layout {
    grid-template-columns:1fr;
    gap:35px
  }
  .method-image {
    min-height:380px;
    height:380px
  }
  .method-image>span {
    font-size:26px
  }
  .method-track p {
    max-width:none
  }
  .ecosystem {
    max-width:450px;
    margin-top:20px
  }
  .ecosystem-core {
    width:145px;
    height:145px
  }
  .ecosystem-core strong {
    font-size:24px
  }
  .partner-feature {
    padding-block:60px
  }
  .partner-photo {
    height:390px;
    min-height:390px
  }
  .discipline-grid {
    grid-template-columns:1fr 1fr
  }
  .lab-areas,.initiative-grid {
    grid-template-columns:1fr
  }
  .method-depth img {
    height:350px
  }
  .rich-intro {
    padding-block:65px
  }
  .rich-intro h1 {
    font-size:clamp(40px,7.5vw,60px)
  }
  .cta p {
    max-width:600px
  }
  .cta-layout {
    gap:30px
  }
  .case-result p {
    font-size:12px
  }
  .news-copy {
    padding:22px
  }
  .news-card>img {
    height:190px
  }
  .news-copy h2 {
    font-size:24px
  }
  .glocal-grid {
    gap:15px
  }
  .glocal-grid article {
    padding:25px
  }
}

@media(max-width:480px) {
  .carousel {
    height:740px;
    min-height:740px
  }
  .carousel .hero-content {
    padding-top:68px
  }
  .carousel .slide-title {
    font-size:41px
  }
  .carousel p {
    font-size:15px
  }
  .carousel .actions {
    gap:22px;
    margin-top:30px
  }
  .carousel .button {
    font-size:12px;
    padding:16px 20px
  }
  .carousel-tag {
    display:none
  }
  .carousel-bottom {
    justify-content:center
  }
  .carousel-controls {
    gap:10px
  }
  .slide-dots {
    gap:10px
  }
  .service-grid,.case-grid,.news-grid,.discipline-grid,.glocal-grid {
    grid-template-columns:1fr
  }
  .glocal-grid article:last-child,.glocal-grid .glocal-main {
    grid-column:auto
  }
  .case-image img {
    height:230px
  }
  .case-copy {
    padding:27px
  }
  .case-copy h3 {
    font-size:28px
  }
  .case-copy>p {
    font-size:15px
  }
  .case-result p {
    font-size:14px
  }
  .news-card>img {
    height:230px
  }
  .news-copy {
    padding:27px
  }
  .news-copy h2 {
    font-size:27px
  }
  .news-copy p {
    font-size:15px
  }
  .method-image {
    height:320px;
    min-height:320px
  }
  .method-image>span {
    left:25px;
    font-size:24px
  }
  .ecosystem {
    max-width:350px
  }
  .orbit-label {
    width:95px;
    padding:10px 4px
  }
  .orbit-label b {
    font-size:10px
  }
  .orbit-label span {
    font-size:8px
  }
  .o1,.o4 {
    left:calc(50% - 47.5px)
  }
  .ecosystem-core {
    width:112px;
    height:112px
  }
  .ecosystem-core strong {
    font-size:20px
  }
  .ecosystem-core span {
    font-size:6px
  }
  .o2,.o3 {
    right:-1%
  }
  .o5,.o6 {
    left:-1%
  }
  .lab-timeline {
    grid-template-columns:1fr
  }
  .lab-timeline article {
    display:block
  }
  .lab-timeline b {
    float:left;
    margin-right:20px
  }
  .lab-timeline h3 {
    padding-top:15px
  }
  .lab-timeline p {
    clear:both
  }
  .partner-pillars {
    gap:8px
  }
  .partner-pillars span {
    font-size:11px
  }
  .partner-photo {
    height:330px;
    min-height:330px
  }
  .partner-photo>span {
    font-size:20px
  }
  .cta h2 {
    font-size:42px
  }
}

@media(prefers-reduced-motion:reduce) {
  .hero-slide,.slide-photo {
    transition:none
  }
  .orbit-ring,.orbit-particle {
    animation:none
  }
  .hero-slide.is-active .slide-photo {
    transform:none
  }
}

.news-grid {
  align-items:stretch
}

.news-card {
  display:flex;
  flex-direction:column
}

.news-copy {
  display:flex;
  flex-direction:column;
  flex:1
}

.news-links {
  margin-top:auto
}

/* Consentimiento: controles equivalentes, panel accesible y preferencias revisables. */
.cookie-banner[hidden] { display:none; }
.cookie-banner {
  position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
  z-index:200; width:min(1120px,calc(100% - 32px)); background:#fff;
  color:#173657; border:1px solid #b9d5ee; border-radius:8px;
  box-shadow:0 12px 70px #041b3860; padding:25px 28px;
  display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:center;
}
.cookie-banner h2 { font-size:20px; letter-spacing:-.02em; margin:0 0 8px; }
.cookie-banner p { font-size:13px; line-height:1.65; margin:0; }
.cookie-banner a { color:#126bb4; text-decoration:underline; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; }
.cookie-action {
  padding:11px 16px; color:#fff; background:#1268b4; border:1px solid #1268b4;
  border-radius:3px; font-size:12px; font-weight:bold;
}
.cookie-action:hover { background:#084c89; }
.cookie-action.secondary { background:white; color:#125c9b; }
.cookie-action.secondary:hover { background:#eaf4ff; }
.cookie-settings {
  width:min(570px,calc(100% - 32px)); max-height:85vh; overflow:auto;
  border:1px solid #aac9e6; border-radius:8px; padding:32px; color:#123458;
  background:#fff; box-shadow:0 20px 100px #0004;
}
.cookie-settings::backdrop { background:#03172caa; }
.cookie-settings h2 { font-size:28px; margin-bottom:20px; }
.cookie-settings p { font-size:14px; }
.cookie-setting { display:block; border-top:1px solid #d9e5f0; padding:20px 0; }
.cookie-setting label { display:flex; gap:12px; align-items:center; font-weight:bold; }
.cookie-setting input { width:20px; height:20px; accent-color:#1679cd; }
.cookie-setting p { margin:10px 0 0 32px; font-size:13px; }
.cookie-settings .cookie-actions { justify-content:flex-start; margin-top:20px; }
.cookie-reopen { background:transparent; color:inherit; font:inherit; border:0; padding:0; text-decoration:underline; }
.cookie-reopen:hover { color:#7acfff; }
@media(max-width:760px) {
  .cookie-banner { grid-template-columns:1fr; gap:17px; padding:20px; bottom:12px; }
  .cookie-actions { justify-content:flex-start; }
  .cookie-action { padding:10px 13px; font-size:11px; }
  .footer-bottom div { flex-wrap:wrap; }
  .cookie-settings { padding:24px; }
}

/* REVISIÓN 3 / Composición editorial, imágenes y navegación contextual */
.footer-breath{height:70px;background:#fff;width:100%}
.carousel-controls{gap:12px}.carousel-controls .slide-prev,.carousel-controls .slide-next{width:58px;height:48px;border:1px solid #a4d5ff70;border-radius:25px;font-size:24px;transition:background .2s,transform .2s}.carousel-controls button:hover{background:#187bca;transform:translateX(2px)}
.metrics-stage{background:#0a2a50;color:#fff;position:relative;overflow:hidden;padding:65px 0 70px;background-image:radial-gradient(ellipse at 95% 5%,#177ed778,transparent 55%),repeating-linear-gradient(125deg,transparent,transparent 110px,#ffffff05 111px,#ffffff05 112px)}.metrics-stage:after{content:"+";position:absolute;right:-20px;top:-190px;font-size:500px;line-height:1;color:#ffffff03;font-weight:200;pointer-events:none}.metrics-heading{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-bottom:55px}.metrics-heading h2{font-size:34px;margin:0;max-width:550px}.metrics-heading .eyebrow{max-width:230px;color:#9dcefc;margin-top:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;position:relative;z-index:1}.metric-grid>div{border-left:1px solid #72b7f466;padding-left:28px}.metric-grid strong{font-size:clamp(38px,4.7vw,70px);font-weight:400;letter-spacing:-.06em;line-height:1}.metric-grid strong span{font-size:.45em;color:#6ec7ff;vertical-align:top;margin-left:4px}.metric-grid p{font-size:13px;color:#c3d9ee;margin:18px 0 0}
.service-editorial .section-heading{align-items:start}.service-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.service-rows .service{display:grid;grid-template-columns:52px 1fr;gap:0 20px;align-items:start;border:0;border-top:1px solid #bcd3e8;border-radius:0;padding:30px 0;box-shadow:none;background:transparent;transform:none}.service-rows .service:before{display:none}.service-rows .service .number{grid-row:span 3;font-size:14px;margin:4px 0 0}.service-rows .service .number span{display:none}.service-rows .service h3{min-height:0;max-width:none;font-size:29px;margin-bottom:15px}.service-rows .service p{font-size:15px;line-height:1.75}.service-rows .service .text-link{grid-column:2;justify-self:start;margin-top:0}.service-rows .service:hover h3{color:#0878cc}.service-editorial{position:relative}.service-editorial:after{content:"";position:absolute;inset:0 -5.55%;z-index:-1;background:radial-gradient(ellipse at 100% 40%,#daeafa80,transparent 55%)}
.global-editorial{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.global-visual{position:relative;min-height:680px;align-self:stretch}.global-visual>img{height:90%;width:90%;position:absolute;object-fit:cover;left:0;top:0;border-radius:4px}.global-visual:after{content:"";position:absolute;inset:12% 0 0 12%;z-index:-1;background:repeating-linear-gradient(0deg,#c3daee 0,#c3daee 1px,transparent 1px,transparent 18px)}.global-stamp{position:absolute;bottom:0;right:0;background:linear-gradient(135deg,#0e2c54,#1276c5);color:#fff;font-size:40px;letter-spacing:-.04em;line-height:.95;padding:35px 40px;box-shadow:0 20px 40px #042e5030}.global-stamp span{color:#7dccff;font-size:58px}.large-copy{font-size:21px;line-height:1.55;color:#2b4d70}.global-line{display:flex;gap:20px;padding-top:20px;border-top:1px solid #ccddeb;margin-top:20px}.global-line b{font-size:10px;color:#2882c7;margin-top:6px}.global-line h3{font-size:22px;letter-spacing:-.025em;margin-bottom:12px}.global-line p{font-size:14px}.references{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:40px;align-items:center;padding-bottom:85px}.references h2{font-size:28px}.references .eyebrow{font-size:9px}.references>a{display:flex;flex-direction:column;align-items:center;gap:20px;border-left:1px solid #d5e4f1;padding-left:25px}.references img{width:150px;height:70px;object-fit:contain;mix-blend-mode:multiply}.references span:not(.eyebrow){font-size:11px;line-height:1.6;text-align:center;color:#536f8b}
.editorial-work{background:#edf4fb}.editorial-work .case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.editorial-work .case-card{border:0;background:transparent;border-radius:0;display:grid;grid-template-columns:42% 1fr;gap:20px;align-items:stretch}.editorial-work .case-image img{height:100%;min-height:320px;object-fit:cover}.editorial-work .case-copy{padding:8px 0}.editorial-work .case-copy h3{min-height:0;font-size:25px}.editorial-work .case-copy>p{font-size:13px}.editorial-work .case-card:first-child{grid-column:1/-1;grid-template-columns:1.25fr 1fr;gap:60px;padding-bottom:40px;border-bottom:1px solid #c4d9ec}.editorial-work .case-card:first-child .case-image img{min-height:500px}.editorial-work .case-card:first-child .case-copy{padding:30px 0;align-self:center}.editorial-work .case-card:first-child h3{font-size:48px}.editorial-work .case-card:first-child p{font-size:17px}.editorial-work .case-card:first-child .case-result p{font-size:15px}.editorial-work .case-card:last-child{grid-column:1/-1;grid-template-columns:1fr 1.3fr;border-top:1px solid #c4d9ec;padding-top:35px}.editorial-work .case-card:last-child .case-image img{max-height:350px}.editorial-work .case-card:last-child .case-copy{padding:25px 35px}
.presentation-feature{margin-block:90px;display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center;background:#fff;padding:70px 80px;position:relative;box-shadow:0 20px 65px #0b41600c;border:1px solid #e0eaf4}.presentation-feature:after{content:"";position:absolute;right:-15px;top:-20px;width:200px;height:200px;border:1px solid #c4d9eb;z-index:-1}.presentation-cover{aspect-ratio:.8;background:linear-gradient(135deg,#052549,#126db3);padding:35px;color:white;transform:rotate(-5deg);box-shadow:20px 25px 0 #cfe3f5,30px 35px 40px #06294b25;display:flex;flex-direction:column;position:relative;overflow:hidden}.presentation-cover:after{content:"";position:absolute;width:400px;height:400px;border:1px solid #6ab5f866;border-radius:50%;right:-180px;bottom:-160px}.presentation-cover>span{font-size:26px;letter-spacing:.1em;font-weight:bold}.presentation-cover>div{font-size:clamp(25px,3vw,43px);line-height:1.05;letter-spacing:-.04em;margin:auto 0}.presentation-cover small{font-size:9px;letter-spacing:.15em}.presentation-cover b{position:absolute;right:30px;bottom:25px;font-size:40px;font-weight:normal}.download-caption{display:block;margin-top:15px;font-size:11px;color:#6d8399}
.funteso-logo{width:205px;height:85px;overflow:hidden;position:relative;margin-bottom:25px;background:white;border-radius:3px}.funteso-logo img{position:absolute;width:370px;max-width:none;height:auto;left:-80px;top:-67px}
.service-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:75px;align-items:start}.service-sidebar{position:sticky;top:115px;border-top:3px solid #1683dc;background:#edf5fd;padding:25px}.service-sidebar .eyebrow{font-size:10px}.service-sidebar nav{display:flex;flex-direction:column}.service-sidebar nav a{padding:15px 0;border-top:1px solid #cddfef;font-size:13px;display:flex;justify-content:space-between;gap:10px}.service-sidebar nav a[aria-current]{font-weight:bold;color:#096dbb}.service-sidebar>div{margin-top:32px;padding-top:25px;border-top:1px solid #cddfef}.service-sidebar h3{font-size:22px}.service-sidebar p{font-size:13px}.service-sidebar .text-link{font-size:12px}.service-content>h2{font-size:45px}.service-chapters{margin:50px 0}.service-chapters article{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:30px 0;border-top:1px solid #cbdeef}.service-chapters article>span{font-size:28px;font-weight:300;color:#1883da;line-height:1.1}.service-chapters h3{font-size:30px}.service-chapters p{font-size:17px;line-height:1.8;margin-bottom:0}.service-photo{margin:30px 0 55px;position:relative}.service-photo img{width:100%;height:380px;object-fit:cover;border-radius:4px}.service-photo figcaption{position:absolute;bottom:0;background:#05294acc;color:#fff;padding:18px 25px;width:100%;font-size:12px}.service-deliverables{padding:40px;background:#eaf4fd;border-left:3px solid #147fce}.service-deliverables h2,.service-start h2{font-size:34px}.service-deliverables ul{list-style:none;padding:0;margin:25px 0}.service-deliverables li{padding:14px 0 14px 30px;border-top:1px solid #bdd9ee;position:relative;font-size:16px}.service-deliverables li:before{content:"↗";position:absolute;left:0;color:#1475bb}.service-deliverables p{font-size:12px;margin:25px 0 0}.service-start{padding-top:55px}.service-hero{min-height:460px}
.cmice-art{min-height:240px;padding:28px;background:linear-gradient(135deg,#092956,#1479bd);color:white;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.cmice-art:after{content:"";width:280px;height:280px;position:absolute;right:-120px;top:-80px;border:1px solid #ffffff35;border-radius:50%}.cmice-art>span{font-size:8px;letter-spacing:.12em;color:#b8ddfa}.cmice-art>strong{font-size:52px;letter-spacing:-.05em;font-weight:400;margin:15px 0}.cmice-art>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:10px}.cmice-art>div>span{border-top:1px solid #a0cff36b;padding-top:12px}.cmice-art b{font-size:11px}.cmice-case{border-color:#6fb1e8;box-shadow:0 10px 28px #116caf12}
.continuous-lab{background:#eaf4fd;background-image:radial-gradient(ellipse at 90% 60%,#c7e7ff,transparent 60%)}.lab-visual-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.process-cycle{aspect-ratio:1;position:relative;max-width:520px;width:100%;display:grid;place-items:center}.cycle-ring{position:absolute;inset:10%;border:1px dashed #3c94d4;border-radius:50%;animation:spin 65s linear infinite}.cycle-ring:before{content:"";position:absolute;top:13%;left:12%;width:12px;height:12px;border-radius:50%;background:#167ad2;box-shadow:0 0 0 8px #167ad21a}.cycle-center{width:180px;height:180px;border-radius:50%;background:linear-gradient(130deg,#0a2e5b,#1480cd);color:white;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:18px;line-height:1.25;box-shadow:0 15px 40px #195b9c30}.cycle-center strong{font-size:22px}.cycle-center span{font-size:8px;margin-top:12px}.cycle-step{position:absolute;background:#fff;border:1px solid #a9cce9;border-radius:25px;padding:13px 20px;font-size:12px;box-shadow:0 8px 20px #104b7f0b}.c1{top:1%;left:35%}.c2{top:26%;right:-2%}.c3{bottom:25%;right:-2%}.c4{bottom:1%;left:35%}.c5{bottom:25%;left:-2%}.c6{top:26%;left:-2%}.process-requests{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.process-requests article{border-top:1px solid #bdd5e9;padding-top:25px}.process-requests b{font-size:10px;letter-spacing:.08em;color:#0c72c1;display:block;margin-bottom:25px}.process-requests h3{font-size:28px}.process-requests p{font-size:15px}
.funteso-work>.large-copy{max-width:800px}.funteso-projects{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;margin-top:50px}.funteso-projects article{padding:35px 0;border-top:1px solid #bbd6ec;display:grid;grid-template-columns:40px 1fr;gap:15px}.funteso-projects article>span{font-size:15px;color:#2389dc}.funteso-projects h3{font-size:29px}.funteso-projects p{font-size:16px}
.contact-editorial{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.contact-editorial h1{font-size:clamp(44px,5.5vw,78px)}.contact-editorial .actions{flex-wrap:wrap}.contact-image{position:relative;align-self:stretch;min-height:650px;overflow:hidden}.contact-image>img{width:100%;height:100%;object-fit:cover;position:absolute}.contact-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#052d58ee,transparent 70%)}.contact-image>div{position:absolute;bottom:40px;left:35px;right:25px;color:white;z-index:1}.contact-image span{font-size:10px;letter-spacing:.18em;display:block;margin-bottom:20px}.contact-image strong{font-size:40px;line-height:1.05;font-weight:400;letter-spacing:-.04em}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-block:30px 60px}.contact-options a{padding-top:25px;border-top:1px solid #b9d7ef}.contact-options span{font-size:10px;color:#1978be;letter-spacing:.1em;display:block;margin-bottom:25px}.contact-options h2{font-size:27px}.contact-options p{font-size:15px}.conversation{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.conversation>.eyebrow{grid-column:1/-1}.conversation p{font-size:18px}
@media(max-width:1100px){.service-layout{grid-template-columns:235px minmax(0,1fr);gap:40px}.global-editorial{gap:45px}.global-visual{min-height:620px}.editorial-work .case-card{grid-template-columns:1fr}.editorial-work .case-image img{min-height:240px;height:240px}.editorial-work .case-card:first-child{gap:35px}.presentation-feature{padding:50px;gap:60px}.references{gap:22px}.references img{width:120px}.lab-visual-layout{gap:40px}.cycle-step{font-size:10px;padding:10px 14px}.cycle-center{width:155px;height:155px}.contact-editorial{gap:40px}.contact-editorial h1{font-size:57px}.contact-options h2{font-size:24px}}
@media(max-width:760px){.footer-breath{height:45px}.metrics-heading{display:block;margin-bottom:35px}.metrics-heading h2{font-size:30px}.metrics-heading .eyebrow{max-width:none}.metric-grid{grid-template-columns:1fr 1fr;gap:30px}.metric-grid strong{font-size:48px}.metric-grid>div{padding-left:17px}.metric-grid p{font-size:11px}.service-rows{grid-template-columns:1fr}.service-rows .service h3{font-size:27px}.global-editorial{grid-template-columns:1fr}.global-visual{min-height:420px}.global-visual>img{width:95%}.global-stamp{font-size:28px;padding:25px 35px}.global-stamp span{font-size:40px}.references{grid-template-columns:1fr 1fr;gap:30px}.references>div{grid-column:1/-1}.references>a{padding-left:0;border:0}.editorial-work .case-grid{grid-template-columns:1fr}.editorial-work .case-card,.editorial-work .case-card:first-child,.editorial-work .case-card:last-child{grid-template-columns:1fr;grid-column:auto;gap:20px}.editorial-work .case-card:first-child .case-image img{min-height:330px}.editorial-work .case-card:first-child .case-copy{padding:0}.editorial-work .case-card:first-child h3{font-size:38px}.editorial-work .case-card:last-child .case-copy{padding:0}.editorial-work .case-copy>p{font-size:15px}.presentation-feature{grid-template-columns:1fr;padding:40px 30px;gap:55px;margin-block:60px}.presentation-cover{max-width:300px;width:90%;margin:auto}.presentation-cover>div{font-size:36px}.service-layout{grid-template-columns:1fr;gap:45px}.service-sidebar{position:static;order:2}.service-content>h2{font-size:35px}.service-chapters article{grid-template-columns:35px 1fr;gap:15px}.service-chapters h3{font-size:27px}.service-chapters p{font-size:16px}.service-photo img{height:300px}.service-deliverables{padding:27px}.service-deliverables h2{font-size:29px}.lab-visual-layout{grid-template-columns:1fr;gap:40px}.process-cycle{max-width:420px;margin:auto}.process-requests{grid-template-columns:1fr;gap:20px}.funteso-projects{grid-template-columns:1fr}.contact-editorial{grid-template-columns:1fr;gap:45px}.contact-editorial h1{font-size:clamp(44px,8vw,63px)}.contact-image{min-height:400px}.contact-image strong{font-size:35px}.contact-options{grid-template-columns:1fr;gap:15px}.conversation{grid-template-columns:1fr;gap:10px}.contact-options h2{font-size:29px}.references{padding-bottom:55px}}
@media(max-width:420px){.metric-grid strong{font-size:41px}.service-rows .service{grid-template-columns:35px 1fr;gap:0 13px}.service-rows .service h3{font-size:25px}.cycle-center{width:125px;height:125px;font-size:14px}.cycle-center strong{font-size:17px}.cycle-center span{font-size:6px}.cycle-step{font-size:9px;padding:9px 12px}.c1,.c4{left:32%}.funteso-projects h3{font-size:26px}.contact-editorial h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.cycle-ring{animation:none}}

/* Revisión 4: identidad visual del bloque de servicios de portada. */
.service-editorial{isolation:isolate;padding-top:78px;padding-bottom:78px;margin-top:0;margin-bottom:0}
.service-editorial:after{inset:0 -3%;z-index:-1;border-top:1px solid #d6e7f4;border-bottom:1px solid #d6e7f4;background:radial-gradient(ellipse at 92% 10%,#bbdef280,transparent 48%),radial-gradient(circle at 8% 90%,#c9e7f580,transparent 40%),radial-gradient(#729cc62e .8px,transparent .8px),linear-gradient(120deg,#f0f7fc,#e9f3fa);background-size:auto,auto,18px 18px,auto;pointer-events:none}
.service-rows .service{border-top-color:#abc9df}
.service-rows .service .number{width:42px;height:42px;border:1px solid #b4d3e9;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffffad;color:#1678ba;box-shadow:0 5px 18px #285f8d0a}
.service-rows .service h3{transition:color .2s ease}
@media(max-width:760px){.service-editorial{padding-top:52px;padding-bottom:52px}.service-rows .service .number{width:32px;height:32px;font-size:12px}}
