/* ACTUIA — hoja de estilos consolidada (capas base + v22 + v23 + v28) */
:root {
  --blue:#0b73c9; --navy:#10283e; --navy-dark:#071d2e;
  --text:#26394b; --muted:#68798a; --border:#dce7f0; --soft:#f5f9fc;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text); line-height:1.55; background:#fff;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}

header{
  position:sticky; top:0; z-index:40;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid #e7eef4;
  backdrop-filter:blur(12px);
}
.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.logo img{width:290px;max-height:78px;object-fit:contain;object-position:left center}
.menu{display:flex;align-items:center;gap:28px;font-weight:720;color:#304457;font-size:.93rem}
.menu a:hover{color:var(--blue)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;border-radius:10px;
  font-weight:820;font-size:.94rem;border:1px solid transparent;
  transition:.18s ease;
}
.btn.primary{background:var(--blue);color:#fff;box-shadow:0 10px 28px rgba(11,115,201,.20)}
.btn.primary:hover{background:#095da4;transform:translateY(-1px)}
.btn.secondary{color:var(--blue);border-color:#abcbe6;background:rgba(255,255,255,.86)}
.btn.secondary:hover{border-color:var(--blue);background:#fff}

.eyebrow{color:var(--blue);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}
h1,h2,h3{color:var(--navy);line-height:1.08}
h1{font-size:clamp(2.9rem,4.8vw,4.85rem);letter-spacing:-.052em}
h2{font-size:clamp(2rem,3.3vw,3.15rem);letter-spacing:-.04em}
h3{font-size:1.12rem}
p{color:var(--muted)}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  min-height:720px;
  display:flex;
  align-items:center;
  background-image:url('img/hero-fondo.jpg');
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.985) 0%,
      rgba(255,255,255,.965) 25%,
      rgba(255,255,255,.92) 42%,
      rgba(255,255,255,.72) 58%,
      rgba(246,251,255,.46) 73%,
      rgba(234,246,255,.22) 100%);
  z-index:1;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 12% 78%, rgba(17,116,201,.10), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0) 72%, rgba(241,247,252,.74) 100%);
  z-index:1;
  pointer-events:none;
}
.hero-grid{
  position:relative;
  z-index:2;
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0, 600px) minmax(470px, 1fr);
  gap:54px;
  align-items:center;
  padding:72px 0 42px;
}
.hero-copy{
  max-width:600px;
}
.hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(236,247,255,.90);
  border:1px solid rgba(11,115,201,.13);
  margin-bottom:18px;
}
.hero-copy h1{
  max-width:590px;
  font-size:clamp(3.2rem,5vw,5.2rem);
}
.hero-copy .lead{
  font-size:1.15rem;
  max-width:590px;
  margin:25px 0 30px;
  color:#42586b;
}
.hero-copy .accent{color:var(--blue)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.hero-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#24455f;
  font-weight:800;
  padding:8px 2px;
}
.hero-link span{
  transition:transform .18s ease;
}
.hero-link:hover{color:var(--blue)}
.hero-link:hover span{transform:translateX(4px)}

/* Visual transformation map */
.hero-map{
  position:relative;
  justify-self:end;
  width:min(530px,100%);
  height:490px;
  display:grid;
  place-items:center;
}
.map-glow{
  position:absolute;
  inset:9% 10%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(35,153,219,.20) 0%, rgba(35,153,219,.09) 36%, transparent 70%);
  filter:blur(5px);
}
.map-ring{
  position:absolute;
  width:385px;
  height:385px;
  border-radius:50%;
  border:1px solid rgba(11,115,201,.14);
}
.map-ring::before,
.map-ring::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(11,115,201,.10);
}
.map-ring::before{inset:34px}
.map-ring::after{inset:76px}

.map-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  overflow:visible;
}
.map-lines path{
  stroke:rgba(18,103,172,.38);
  stroke-width:1.3;
  stroke-dasharray:5 7;
  fill:none;
}
.map-lines circle{
  fill:#0b73c9;
  opacity:.55;
}

.map-center{
  position:relative;
  z-index:4;
  width:190px;
  height:190px;
  border-radius:34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  color:white;
  background:
    linear-gradient(145deg, rgba(29,148,213,.96), rgba(7,91,159,.97) 62%, rgba(6,54,94,.98));
  box-shadow:
    0 28px 58px rgba(10,77,128,.27),
    inset 0 1px 0 rgba(255,255,255,.24);
  border:1px solid rgba(255,255,255,.30);
}
.map-center .brand-mini{
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:-.02em;
}
.map-center .center-rule{
  width:42px;
  height:2px;
  background:rgba(255,255,255,.68);
  margin:10px 0;
}
.map-center .center-copy{
  max-width:135px;
  font-size:.86rem;
  line-height:1.28;
  color:rgba(255,255,255,.93);
  font-weight:760;
}

.map-card{
  position:absolute;
  z-index:5;
  width:172px;
  min-height:92px;
  padding:15px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 15px 36px rgba(26,69,104,.13);
  backdrop-filter:blur(10px);
}
.map-card .kicker{
  display:flex;
  align-items:center;
  gap:8px;
  color:#163c5b;
  font-size:.9rem;
  font-weight:900;
  margin-bottom:5px;
}
.map-card .dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 5px rgba(11,115,201,.09);
  flex:0 0 auto;
}
.map-card p{
  color:#617385;
  font-size:.78rem;
  line-height:1.35;
}
.card-process{top:22px;left:50%;transform:translateX(-50%)}
.card-clients{left:0;top:198px}
.card-info{right:0;top:198px}
.card-growth{bottom:22px;left:50%;transform:translateX(-50%)}

.hero-proof{
  position:relative;
  z-index:3;
  border-top:1px solid rgba(57,100,136,.16);
  background:rgba(255,255,255,.44);
  backdrop-filter:blur(8px);
}
.hero-proof .wrap{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}
.proof-label{
  color:#6d7f8e;
  font-size:.71rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.10em;
  white-space:nowrap;
}
.proof-items{
  flex:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.proof-item{
  text-align:center;
  color:#29475f;
  font-size:.82rem;
  font-weight:820;
  letter-spacing:.03em;
}
.proof-item + .proof-item{
  border-left:1px solid rgba(69,104,132,.16);
}

@media(max-width:1060px){
  .hero-grid{
    grid-template-columns:minmax(0, 1fr);
    min-height:auto;
    gap:24px;
    padding:58px 0 28px;
  }
  .hero-map{
    justify-self:center;
    width:min(560px,100%);
    height:470px;
  }
  .hero::before{
    background:linear-gradient(180deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 48%,
      rgba(248,252,255,.80) 100%);
  }
}
@media(max-width:700px){
  .hero{min-height:auto;background-position:68% center}
  .hero-grid{padding:44px 0 24px}
  .hero-copy h1{font-size:clamp(2.7rem,12vw,4rem)}
  .hero-copy .lead{font-size:1.02rem}
  .hero-map{
    height:420px;
    transform:scale(.92);
    transform-origin:center top;
    margin-bottom:-20px;
  }
  .map-card{width:146px;padding:13px}
  .map-center{width:160px;height:160px;border-radius:28px}
  .card-clients{left:4px}
  .card-info{right:4px}
  .proof-label{display:none}
  .hero-proof .wrap{min-height:auto;padding:16px 0}
  .proof-items{grid-template-columns:repeat(2,1fr);row-gap:12px}
  .proof-item + .proof-item{border-left:0}
  .proof-item:nth-child(even){border-left:1px solid rgba(69,104,132,.16)}
}

section{padding:84px 0}
.section-head{max-width:800px;margin:0 auto 45px;text-align:center}
.section-head p{font-size:1.02rem;margin-top:16px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{padding:27px;border:1px solid var(--border);border-radius:18px;background:#fff;min-height:220px;transition:.18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(31,65,96,.10);border-color:#c6dbe9}
.icon{width:48px;height:48px;border-radius:13px;background:#edf7ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:19px}
.card p{font-size:.94rem;margin-top:10px}

.dark{background:var(--navy-dark);color:#fff}
.dark h2,.dark h3{color:#fff} .dark p{color:#bdd0df}
.dark-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}
.statement{font-size:clamp(2.25rem,4vw,4rem);line-height:1.03;letter-spacing:-.045em;font-weight:860}
.statement span{color:#66c1f1}
.logic{display:grid;gap:7px;margin-top:22px}
.logic-row{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:17px 0;border-top:1px solid rgba(255,255,255,.12)}
.logic-row:first-child{border-top:0}
.num{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:rgba(102,193,241,.12);color:#73c7f4;font-weight:900}

.process{background:var(--soft)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.step{text-align:center;padding:0 8px}
.step .round{width:60px;height:60px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;background:#fff;border:1px solid #cfe0ed;box-shadow:0 8px 22px rgba(26,75,113,.08);color:var(--blue);font-weight:900}
.step p{font-size:.9rem;margin-top:9px}

.audience{display:grid;grid-template-columns:.94fr 1.06fr;gap:70px;align-items:center}
.audience .intro p{font-size:1.04rem;margin-top:17px}
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.area{border:1px solid var(--border);border-radius:14px;padding:17px 18px;background:#fff;font-weight:800;color:#2e4a62}

.about{background:linear-gradient(180deg,#fbfdff,#f2f7fb)}
.about-box{max-width:920px;margin:auto;background:#fff;border:1px solid var(--border);border-radius:22px;padding:40px;text-align:center;box-shadow:0 15px 50px rgba(35,70,103,.06)}
.about-box p{font-size:1.03rem;max-width:790px;margin:17px auto 0}
.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.tag{padding:9px 14px;border-radius:999px;background:#eef6fc;color:#28577d;font-weight:760;font-size:.86rem}

.contact{background:radial-gradient(circle at 10% 10%,rgba(32,142,207,.28),transparent 34%),linear-gradient(135deg,#061c30,#0a3153)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:66px;align-items:start}
.contact h2{color:#fff} .contact p{color:#c2d2df;margin-top:17px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form input,.form textarea{width:100%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;border-radius:10px;padding:14px 15px;font:inherit;outline:none}
.form input::placeholder,.form textarea::placeholder{color:#afc1d1}
.form textarea{grid-column:1/-1;min-height:112px;resize:vertical}
.form .wide,.form-note{grid-column:1/-1}
.form-note{font-size:.8rem;color:#9fb3c5}
footer{background:#041522;color:#8fa5b7;padding:24px 0;font-size:.84rem}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media(max-width:980px){
  .menu{display:none}
  .hero{min-height:auto;background-position:65% center}
  .hero::before{
    background:linear-gradient(180deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.93) 40%,
      rgba(255,255,255,.80) 100%);
  }
  .hero-grid,.dark-grid,.audience,.contact-grid{grid-template-columns:1fr}
  .hero-grid{min-height:auto;gap:26px;padding:54px 0}
  .hero-panel{justify-self:start;align-self:start;width:100%;max-width:480px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .nav{height:82px}
  .logo img{width:205px;max-height:62px}
  header .btn{min-height:42px;padding:0 14px;font-size:.82rem}
  h1{font-size:clamp(2.65rem,12.7vw,4rem)}
  section{padding:68px 0}
  .hero{background-position:72% center}
  .hero-grid{padding:46px 0}
  .hero-copy .lead{font-size:1rem}
  .services-grid,.steps,.areas,.form{grid-template-columns:1fr}
  .form textarea,.form .wide,.form-note{grid-column:1}
  .about-box{padding:29px 21px}
}

/* ===== ACTUIA V7 — HERO LAYOUT FIX ===== */

.hero{
  min-height: 670px !important;
  display:block !important;
  overflow:hidden !important;
  background-position:center right !important;
}

.hero-grid{
  width:min(var(--max), calc(100% - 44px)) !important;
  margin:0 auto !important;
  min-height:600px !important;
  padding:58px 0 34px !important;
  display:grid !important;
  grid-template-columns:minmax(460px, .92fr) minmax(500px, 1.08fr) !important;
  gap:54px !important;
  align-items:center !important;
}

.hero-copy{
  width:100% !important;
  max-width:560px !important;
  min-width:0 !important;
}

.hero-copy h1{
  max-width:560px !important;
  font-size:clamp(3.25rem, 4.15vw, 4.55rem) !important;
  line-height:.99 !important;
  letter-spacing:-.052em !important;
  text-wrap:balance !important;
}

.hero-copy .lead{
  max-width:550px !important;
  font-size:1.08rem !important;
  line-height:1.58 !important;
  margin:23px 0 27px !important;
}

.hero-map{
  width:100% !important;
  max-width:520px !important;
  height:440px !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  transform:none !important;
}

.map-ring{
  width:340px !important;
  height:340px !important;
}

.map-center{
  width:170px !important;
  height:170px !important;
  border-radius:30px !important;
}

.map-center .brand-mini{
  font-size:1.42rem !important;
}

.map-card{
  width:158px !important;
  min-height:84px !important;
  padding:13px 14px !important;
}

.map-card .kicker{
  font-size:.84rem !important;
}

.map-card p{
  font-size:.73rem !important;
}

.card-process{
  top:10px !important;
}

.card-clients{
  left:0 !important;
  top:177px !important;
}

.card-info{
  right:0 !important;
  top:177px !important;
}

.card-growth{
  bottom:8px !important;
}

.map-lines{
  transform:scale(.90) !important;
  transform-origin:center center !important;
}

/* Keep the proof strip as a separate band BELOW the hero content */
.hero-proof{
  position:relative !important;
  z-index:4 !important;
  width:100% !important;
  margin:0 !important;
  border-top:1px solid rgba(57,100,136,.15) !important;
  background:rgba(248,251,253,.93) !important;
  backdrop-filter:blur(8px) !important;
}

.hero-proof .wrap{
  width:min(var(--max), calc(100% - 44px)) !important;
  margin:0 auto !important;
  min-height:70px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
}

.proof-items{
  min-width:0 !important;
}

.proof-item{
  white-space:nowrap !important;
  font-size:.78rem !important;
}

/* Slightly stronger veil behind the copy, while keeping the people visible */
.hero::before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.985) 0%,
      rgba(255,255,255,.97) 26%,
      rgba(255,255,255,.93) 41%,
      rgba(255,255,255,.78) 55%,
      rgba(250,253,255,.50) 69%,
      rgba(242,249,254,.22) 100%) !important;
}

/* Large desktop */
@media (min-width: 1450px){
  :root{ --max:1280px; }

  .hero-grid{
    grid-template-columns:minmax(500px,.9fr) minmax(560px,1.1fr) !important;
    gap:70px !important;
  }

  .hero-copy{
    max-width:590px !important;
  }

  .hero-copy h1{
    max-width:590px !important;
    font-size:4.7rem !important;
  }

  .hero-map{
    max-width:555px !important;
    height:455px !important;
  }
}

/* Laptop / narrower desktop */
@media (max-width: 1180px){
  .hero-grid{
    grid-template-columns:minmax(410px,.92fr) minmax(440px,1.08fr) !important;
    gap:34px !important;
  }

  .hero-copy h1{
    font-size:clamp(3rem,4.6vw,4rem) !important;
  }

  .hero-map{
    max-width:470px !important;
    transform:scale(.93) !important;
    transform-origin:center right !important;
  }
}

/* Tablet: stack cleanly */
@media (max-width: 980px){
  .hero{
    min-height:auto !important;
  }

  .hero-grid{
    min-height:auto !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:48px 0 20px !important;
  }

  .hero-copy{
    max-width:680px !important;
  }

  .hero-copy h1{
    max-width:680px !important;
    font-size:clamp(3rem,7vw,4.3rem) !important;
  }

  .hero-map{
    justify-self:center !important;
    max-width:540px !important;
    width:100% !important;
    height:440px !important;
    transform:none !important;
  }

  .hero-proof .wrap{
    padding:14px 0 !important;
  }
}

/* Phone */
@media (max-width: 700px){
  .hero-grid{
    width:min(var(--max), calc(100% - 28px)) !important;
    padding:40px 0 10px !important;
  }

  .hero-copy h1{
    font-size:clamp(2.55rem,11vw,3.6rem) !important;
  }

  .hero-map{
    height:390px !important;
    transform:scale(.86) !important;
    transform-origin:center top !important;
    margin-bottom:-42px !important;
  }

  .hero-proof .wrap{
    width:min(var(--max), calc(100% - 28px)) !important;
  }

  .proof-items{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .proof-item{
    white-space:normal !important;
  }
}

/* ===== ACTUIA V8 — COLOR THEORY & VISUAL SYSTEM ===== */
:root{
  --blue:#086fbe;
  --blue-bright:#118ed5;
  --cyan:#16b8d9;
  --teal:#12a99a;
  --navy:#0c2840;
  --navy-dark:#061a2b;
  --violet:#6657d9;
  --amber:#f2a83b;
  --coral:#ef6c63;
  --ice:#eef8fc;
}

/* subtle brand wash through the page */
body{
  background:
    radial-gradient(circle at 90% 8%, rgba(22,184,217,.035), transparent 25%),
    #fff;
}

/* Header: slightly richer, still corporate */
header{
  box-shadow:0 10px 30px rgba(12,40,64,.035);
}
.logo img{
  filter:drop-shadow(0 4px 8px rgba(11,78,124,.07));
}
.btn.primary{
  background:linear-gradient(135deg,#0877c9,#0b97d0);
  box-shadow:0 13px 30px rgba(8,119,201,.22);
}
.btn.primary:hover{
  background:linear-gradient(135deg,#075fa5,#078bc0);
}

/* Hero: deeper art direction, with a cool brand veil and warm micro-accent */
.hero::before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.975) 25%,
      rgba(247,252,255,.93) 41%,
      rgba(231,247,252,.77) 57%,
      rgba(210,239,247,.46) 72%,
      rgba(13,58,91,.13) 100%) !important;
}
.hero::after{
  background:
    radial-gradient(circle at 8% 78%, rgba(18,169,154,.11), transparent 28%),
    radial-gradient(circle at 78% 16%, rgba(242,168,59,.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,0) 72%, rgba(238,248,252,.72) 100%) !important;
}
.hero .eyebrow{
  color:#0b729f !important;
  background:linear-gradient(90deg,rgba(22,184,217,.10),rgba(18,169,154,.08)) !important;
  border-color:rgba(18,169,154,.18) !important;
}
.hero-copy .accent{
  background:linear-gradient(90deg,#0877c9 0%,#11a7c7 58%,#0c9a8d 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}

/* Central hero icon replaces square */
.map-center-symbol{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  width:190px !important;
  height:210px !important;
  padding:0 !important;
  overflow:visible !important;
}
.symbol-halo{
  position:absolute;
  width:174px;
  height:174px;
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 30%,rgba(255,255,255,.98),rgba(229,247,252,.88) 34%,rgba(22,184,217,.17) 68%,rgba(8,111,190,.06) 100%);
  border:1px solid rgba(8,111,190,.13);
  box-shadow:
    0 25px 55px rgba(10,87,137,.18),
    0 0 0 16px rgba(255,255,255,.38),
    0 0 0 17px rgba(22,184,217,.08);
}
.map-symbol{
  position:relative;
  z-index:2;
  width:132px;
  max-height:150px;
  object-fit:contain;
  filter:drop-shadow(0 18px 22px rgba(4,63,105,.20));
}
.symbol-caption{
  position:absolute;
  z-index:3;
  bottom:-2px;
  left:50%;
  transform:translateX(-50%);
  width:170px;
  text-align:center;
  color:#15415f;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(8,111,190,.12);
  border-radius:999px;
  padding:8px 12px;
  box-shadow:0 10px 26px rgba(12,62,97,.08);
  backdrop-filter:blur(8px);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.02em;
}

/* Map cards use distinct but harmonized accent edges */
.map-card{
  border:1px solid rgba(255,255,255,.90) !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 18px 42px rgba(23,67,101,.13) !important;
}
.card-process{border-top:3px solid var(--cyan) !important}
.card-clients{border-top:3px solid var(--teal) !important}
.card-info{border-top:3px solid var(--violet) !important}
.card-growth{border-top:3px solid var(--amber) !important}
.card-process .dot{background:var(--cyan) !important}
.card-clients .dot{background:var(--teal) !important}
.card-info .dot{background:var(--violet) !important}
.card-growth .dot{background:var(--amber) !important}

/* Hero strategic strip gets more visual rhythm */
.hero-proof{
  background:linear-gradient(90deg,rgba(247,252,254,.96),rgba(235,247,250,.95)) !important;
}
.proof-item{
  position:relative;
}
.proof-item:nth-child(1){color:#0d4366}
.proof-item:nth-child(2){color:#0b7b78}
.proof-item:nth-child(3){color:#0877c9}
.proof-item:nth-child(4){color:#6657d9}

/* Services: emoji-led but premium */
.services-grid{
  gap:20px !important;
}
.service-card{
  position:relative;
  overflow:hidden;
  min-height:240px !important;
  padding:30px 28px 27px !important;
  border:1px solid rgba(215,228,238,.90) !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
}
.service-card::before{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  border-radius:50%;
  right:-38px;
  top:-44px;
  opacity:.11;
}
.service-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:17px;
  margin-bottom:22px;
  font-size:1.75rem;
  background:#f3f8fb;
  box-shadow:inset 0 0 0 1px rgba(19,69,105,.05),0 10px 22px rgba(26,74,110,.07);
}
.service-card h3{
  font-size:1.16rem;
}
.service-card p{
  font-size:.94rem;
}
.accent-cyan::before{background:var(--cyan)}
.accent-violet::before{background:var(--violet)}
.accent-blue::before{background:var(--blue)}
.accent-teal::before{background:var(--teal)}
.accent-amber::before{background:var(--amber)}
.accent-coral::before{background:var(--coral)}
.accent-cyan .service-icon{background:rgba(22,184,217,.10)}
.accent-violet .service-icon{background:rgba(102,87,217,.10)}
.accent-blue .service-icon{background:rgba(8,111,190,.10)}
.accent-teal .service-icon{background:rgba(18,169,154,.10)}
.accent-amber .service-icon{background:rgba(242,168,59,.12)}
.accent-coral .service-icon{background:rgba(239,108,99,.10)}

/* Dark section: stronger gradient, more dimensional */
.dark{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%,rgba(22,184,217,.11),transparent 27%),
    radial-gradient(circle at 85% 85%,rgba(102,87,217,.10),transparent 26%),
    linear-gradient(135deg,#071d2f 0%,#0a2d46 52%,#071d2f 100%) !important;
}
.statement span{
  background:linear-gradient(90deg,#63d3ee,#4dd0b8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}

/* New lower impact section with award-like contrast */
.impact-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 15%,rgba(102,87,217,.07),transparent 28%),
    radial-gradient(circle at 5% 85%,rgba(18,169,154,.07),transparent 24%),
    #f8fbfd;
}
.impact-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:64px;
  align-items:end;
  margin-bottom:38px;
}
.impact-head > p{
  font-size:1.04rem;
  max-width:610px;
}
.impact-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.impact-card{
  min-height:210px;
  border-radius:22px;
  padding:28px;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:20px;
  align-items:start;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 44px rgba(18,53,80,.10);
}
.impact-emoji{
  width:64px;
  height:64px;
  border-radius:19px;
  display:grid;
  place-items:center;
  font-size:2rem;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
}
.impact-card h3{
  color:#fff;
  font-size:1.3rem;
  margin-top:5px;
}
.impact-card p{
  color:rgba(255,255,255,.78);
  margin-top:10px;
  font-size:.94rem;
}
.impact-kicker{
  color:rgba(255,255,255,.68);
  font-weight:850;
  font-size:.72rem;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.impact-navy{background:linear-gradient(135deg,#0a2d47,#0b496f)}
.impact-cyan{background:linear-gradient(135deg,#087eb2,#0ea8c0)}
.impact-teal{background:linear-gradient(135deg,#08786f,#0aa694)}
.impact-warm{background:linear-gradient(135deg,#b56a23,#df8f32)}

/* About area tags now feel like design tokens */
.tag{
  background:linear-gradient(180deg,#fff,#f2f8fb) !important;
  border:1px solid rgba(8,111,190,.10);
  color:#224b67 !important;
  box-shadow:0 8px 18px rgba(26,69,100,.05);
}

/* Contact: richer brand finale */
.contact{
  background:
    radial-gradient(circle at 8% 8%,rgba(22,184,217,.24),transparent 31%),
    radial-gradient(circle at 90% 100%,rgba(102,87,217,.14),transparent 28%),
    linear-gradient(135deg,#061a2b,#0a3654 64%,#09293f) !important;
}

@media(max-width:980px){
  .impact-head{grid-template-columns:1fr;gap:16px}
}
@media(max-width:720px){
  .impact-grid{grid-template-columns:1fr}
  .impact-card{grid-template-columns:58px 1fr;padding:22px}
  .impact-emoji{width:54px;height:54px;border-radius:16px;font-size:1.7rem}
  .map-center-symbol{transform:scale(.92)}
}

/* ===== ACTUIA V9 — tighter hero + premium icons ===== */

/* Reduce visual dead space above hero */
.nav{
  height:88px !important;
}
.logo img{
  max-height:72px !important;
}
.hero{
  min-height:620px !important;
}
.hero-grid{
  min-height:auto !important;
  padding:28px 0 18px !important;
  align-items:start !important;
}
.hero-copy{
  padding-top:6px !important;
}
.hero-copy h1{
  margin-top:0 !important;
}
.hero-copy .lead{
  margin-top:20px !important;
}
.hero-map{
  align-self:start !important;
  margin-top:8px !important;
}
.hero-proof .wrap{
  min-height:62px !important;
}

/* Premium SVG icon treatment */
.service-icon,
.impact-emoji{
  position:relative;
  overflow:hidden;
}
.service-icon svg,
.impact-emoji svg{
  width:28px;
  height:28px;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-icon svg{
  stroke:#0c4568;
  stroke-width:1.8;
}
.impact-emoji svg{
  stroke:#ffffff;
  stroke-width:1.8;
}

/* slightly larger service icons */
.service-icon{
  width:60px !important;
  height:60px !important;
  border-radius:18px !important;
}
.service-card h3{
  margin-bottom:8px;
}

/* different icon color accents by service card */
.accent-cyan .service-icon svg{stroke:#0da4c4}
.accent-violet .service-icon svg{stroke:#6657d9}
.accent-blue .service-icon svg{stroke:#0877c9}
.accent-teal .service-icon svg{stroke:#0d9b8c}
.accent-amber .service-icon svg{stroke:#d28a1e}
.accent-coral .service-icon svg{stroke:#dd5f57}

/* impact cards icon block */
.impact-emoji{
  width:64px;
  height:64px;
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.impact-card h3{
  margin-bottom:2px;
}

/* responsive tightening */
@media (max-width: 1180px){
  .hero-grid{
    padding-top:22px !important;
  }
}
@media (max-width: 980px){
  .nav{
    height:82px !important;
  }
  .hero-grid{
    padding:24px 0 14px !important;
  }
}
@media (max-width: 700px){
  .hero-grid{
    padding:20px 0 10px !important;
  }
  .impact-emoji{
    width:56px;
    height:56px;
    border-radius:16px;
  }
  .impact-emoji svg,
  .service-icon svg{
    width:24px;
    height:24px;
  }
}

/* ===== ACTUIA V10 — cleaner hero, premium cards ===== */

/* slightly tighter and more refined header */
.nav{
  height:84px !important;
}
.logo img{
  max-height:68px !important;
}

/* cleaner hero spacing */
.hero{
  min-height:610px !important;
}
.hero-grid{
  min-height:auto !important;
  grid-template-columns:minmax(440px, .95fr) minmax(430px, 1.05fr) !important;
  gap:56px !important;
  padding:30px 0 24px !important;
  align-items:center !important;
}
.hero-copy{
  max-width:565px !important;
}
.hero-copy h1{
  max-width:560px !important;
  font-size:clamp(3.1rem,4.55vw,4.6rem) !important;
  line-height:.98 !important;
  letter-spacing:-.053em !important;
}
.hero-copy .lead{
  max-width:555px !important;
  font-size:1.07rem !important;
  line-height:1.62 !important;
  margin:22px 0 30px !important;
}
.actions{
  gap:18px !important;
}
.hero-link{
  font-size:1rem !important;
}

/* remove old center-piece remnants if any */
.hero-map, .map-center, .map-center-symbol, .map-ring, .map-glow, .map-lines, .map-card, .symbol-caption, .map-symbol{
  display:none !important;
}

/* new right-side premium layout */
.hero-side{
  justify-self:end;
  width:min(520px,100%);
}
.hero-side-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.78rem;
  font-weight:860;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#456175;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(65,107,137,.14);
  backdrop-filter:blur(6px);
  border-radius:999px;
  padding:9px 14px;
  margin:0 0 18px 4px;
  box-shadow:0 10px 25px rgba(18,57,90,.05);
}
.hero-side-label::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#0ca4c9,#0b79c7);
  box-shadow:0 0 0 5px rgba(12,164,201,.10);
}

.hero-cards-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.hero-info-card{
  position:relative;
  overflow:hidden;
  min-height:170px;
  padding:22px 22px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(12px);
  box-shadow:
    0 18px 44px rgba(17,54,84,.11),
    inset 0 1px 0 rgba(255,255,255,.58);
}
.hero-info-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  opacity:.95;
}
.hero-info-card::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  right:-34px;
  top:-44px;
  opacity:.10;
}

.hero-info-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.hero-info-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  flex:0 0 auto;
}
.hero-info-top h3{
  font-size:1.18rem;
  line-height:1.12;
  letter-spacing:-.02em;
  margin:0;
}
.hero-info-card p{
  font-size:.95rem;
  line-height:1.52;
  color:#5d7183;
  max-width:26ch;
}

/* card-specific palette aligned to site */
.info-process{
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(243,252,253,.80)) !important;
}
.info-process::before{
  background:linear-gradient(90deg,#16b8d9,#0fa5c4);
}
.info-process::after{
  background:#16b8d9;
}
.info-process .hero-info-dot{
  background:#16b8d9;
  box-shadow:0 0 0 6px rgba(22,184,217,.10);
}
.info-process h3{
  color:#0e4364;
}

.info-clients{
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(241,251,248,.82)) !important;
}
.info-clients::before{
  background:linear-gradient(90deg,#12a99a,#0c9588);
}
.info-clients::after{
  background:#12a99a;
}
.info-clients .hero-info-dot{
  background:#12a99a;
  box-shadow:0 0 0 6px rgba(18,169,154,.10);
}
.info-clients h3{
  color:#0f4b56;
}

.info-info{
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(245,244,255,.84)) !important;
}
.info-info::before{
  background:linear-gradient(90deg,#6657d9,#7769e5);
}
.info-info::after{
  background:#6657d9;
}
.info-info .hero-info-dot{
  background:#6657d9;
  box-shadow:0 0 0 6px rgba(102,87,217,.10);
}
.info-info h3{
  color:#283d76;
}

.info-growth{
  background:linear-gradient(180deg, rgba(255,255,255,.87), rgba(255,247,236,.84)) !important;
}
.info-growth::before{
  background:linear-gradient(90deg,#f2a83b,#de8e1b);
}
.info-growth::after{
  background:#f2a83b;
}
.info-growth .hero-info-dot{
  background:#f2a83b;
  box-shadow:0 0 0 6px rgba(242,168,59,.12);
}
.info-growth h3{
  color:#7b4c11;
}

/* proof strip more elegant */
.hero-proof{
  background:linear-gradient(90deg, rgba(248,252,254,.95), rgba(235,247,250,.93)) !important;
}
.hero-proof .wrap{
  min-height:64px !important;
}
.proof-label{
  color:#718493 !important;
}
.proof-item{
  font-size:.8rem !important;
  letter-spacing:.035em !important;
}

/* better section rhythm after hero */
section#que-hacemos{
  padding-top:78px !important;
}

/* responsive */
@media (max-width:1180px){
  .hero-grid{
    grid-template-columns:minmax(410px,.95fr) minmax(390px,1.05fr) !important;
    gap:34px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.95rem,4.8vw,4.15rem) !important;
  }
}
@media (max-width:980px){
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:26px 0 18px !important;
  }
  .hero-copy{
    max-width:680px !important;
  }
  .hero-copy h1{
    max-width:680px !important;
    font-size:clamp(2.9rem,7vw,4rem) !important;
  }
  .hero-side{
    width:100% !important;
    justify-self:start !important;
  }
}
@media (max-width:700px){
  .nav{
    height:78px !important;
  }
  .logo img{
    max-height:60px !important;
  }
  .hero-grid{
    padding:20px 0 10px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.45rem,11vw,3.45rem) !important;
  }
  .hero-copy .lead{
    font-size:1rem !important;
  }
  .hero-cards-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .hero-info-card{
    min-height:150px !important;
    padding:20px 18px 18px !important;
  }
}

/* ===== ACTUIA V11 — pastel service cards ===== */

/* Base service-card treatment: soft, integrated, premium */
.service-card{
  border-width:1px !important;
  border-style:solid !important;
  box-shadow:
    0 14px 34px rgba(19,58,88,.055),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
  transition:
    transform .20s ease,
    box-shadow .20s ease,
    border-color .20s ease !important;
}

.service-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:
    0 22px 44px rgba(19,58,88,.095),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

/* Make the decorative circle more intentional */
.service-card::before{
  width:132px !important;
  height:132px !important;
  right:-46px !important;
  top:-52px !important;
  opacity:.16 !important;
}

/* PALETTE — pale, harmonious with ACTUIA */

/* Automation — pale cyan */
.accent-cyan{
  background:
    radial-gradient(circle at 96% 4%, rgba(22,184,217,.12), transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f1fbfd 58%,#eaf9fc 100%) !important;
  border-color:#cfeef4 !important;
}
.accent-cyan::before{ background:#79d7e7 !important; }
.accent-cyan .service-icon{
  background:#e5f8fb !important;
  border:1px solid #c7edf3 !important;
}

/* Agents — pale lavender */
.accent-violet{
  background:
    radial-gradient(circle at 96% 4%, rgba(102,87,217,.11), transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f6f4ff 58%,#efedff 100%) !important;
  border-color:#ded9fb !important;
}
.accent-violet::before{ background:#aea5ef !important; }
.accent-violet .service-icon{
  background:#f0edff !important;
  border:1px solid #ddd7fb !important;
}

/* Analytics — pale blue */
.accent-blue{
  background:
    radial-gradient(circle at 96% 4%, rgba(8,111,190,.10), transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f2f8fd 58%,#eaf4fc 100%) !important;
  border-color:#d3e7f6 !important;
}
.accent-blue::before{ background:#8fc2e7 !important; }
.accent-blue .service-icon{
  background:#e8f3fb !important;
  border:1px solid #cfe4f3 !important;
}

/* Integration — pale teal */
.accent-teal{
  background:
    radial-gradient(circle at 96% 4%, rgba(18,169,154,.11), transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f0faf8 58%,#e8f7f4 100%) !important;
  border-color:#ccebe6 !important;
}
.accent-teal::before{ background:#82d1c7 !important; }
.accent-teal .service-icon{
  background:#e6f7f4 !important;
  border:1px solid #c7eae5 !important;
}

/* Commercial — pale warm sand */
.accent-amber{
  background:
    radial-gradient(circle at 96% 4%, rgba(242,168,59,.13), transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#fff9ef 58%,#fff3df 100%) !important;
  border-color:#f3dfbe !important;
}
.accent-amber::before{ background:#f4c77c !important; }
.accent-amber .service-icon{
  background:#fff3df !important;
  border:1px solid #f2ddba !important;
}

/* Opportunities — pale coral */
.accent-coral{
  background:
    radial-gradient(circle at 96% 4%, rgba(239,108,99,.11), transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#fff5f4 58%,#ffedeb 100%) !important;
  border-color:#f2d6d2 !important;
}
.accent-coral::before{ background:#efaaa4 !important; }
.accent-coral .service-icon{
  background:#fdecea !important;
  border:1px solid #f3d2ce !important;
}

/* Typography stays sober to keep the palette from feeling childish */
.service-card h3{
  color:#0b2b45 !important;
  letter-spacing:-.018em !important;
}
.service-card p{
  color:#5c7183 !important;
}

/* Slightly refine icon tiles */
.service-icon{
  box-shadow:
    0 8px 18px rgba(19,58,88,.055),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

@media (max-width:700px){
  .service-card{
    min-height:auto !important;
  }
}

/* ===== ACTUIA V12 — central symbol + orbit system ===== */

/* Restore visual balance */
.hero-grid{
  grid-template-columns:minmax(440px,.94fr) minmax(500px,1.06fr) !important;
  gap:52px !important;
  padding:28px 0 22px !important;
  align-items:center !important;
}
.hero-copy{
  max-width:560px !important;
}
.hero-copy h1{
  max-width:555px !important;
  font-size:clamp(3.08rem,4.5vw,4.55rem) !important;
  line-height:.985 !important;
}
.hero-copy .lead{
  max-width:545px !important;
  font-size:1.06rem !important;
  line-height:1.60 !important;
  margin:21px 0 28px !important;
}

/* Hide previous experimental side layouts */
.hero-side,
.hero-cards-grid,
.hero-info-card{
  display:none !important;
}

/* Main orbit composition */
.brand-orbit{
  position:relative;
  width:min(560px,100%);
  height:500px;
  justify-self:end;
  display:block;
}

.orbit-a,
.orbit-b{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
}

.orbit-a{
  width:360px;
  height:360px;
  border:1px solid rgba(22,184,217,.26);
  box-shadow:0 0 45px rgba(22,184,217,.045);
}

.orbit-b{
  width:440px;
  height:440px;
  border:1px solid rgba(8,111,190,.12);
}

.orbit-b::after{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:50%;
  border:1px dashed rgba(102,87,217,.11);
  animation:orbitSpin 28s linear infinite;
}

.orbit-glow{
  position:absolute;
  width:275px;
  height:275px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,255,255,.98) 0%,
      rgba(233,248,252,.87) 34%,
      rgba(22,184,217,.15) 58%,
      rgba(8,111,190,.03) 74%,
      transparent 76%);
  filter:blur(.2px);
}

/* connectors */
.orbit-connectors{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  overflow:visible;
}
.orbit-connectors path{
  fill:none;
  stroke:rgba(37,114,163,.24);
  stroke-width:1.25;
  stroke-dasharray:5 7;
}

/* center logo */
.orbit-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:188px;
  height:210px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.center-halo{
  position:absolute;
  width:176px;
  height:176px;
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 28%,#ffffff 0%,#edf9fc 35%,#dff4f8 62%,#d5ecf4 100%);
  border:1px solid rgba(8,111,190,.15);
  box-shadow:
    0 26px 58px rgba(13,66,101,.18),
    0 0 0 12px rgba(255,255,255,.52),
    0 0 0 13px rgba(22,184,217,.08);
}
.orbit-center img{
  position:relative;
  z-index:2;
  width:132px;
  max-height:148px;
  object-fit:contain;
  filter:drop-shadow(0 18px 20px rgba(10,65,104,.16));
}
.center-caption{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:2px;
  transform:translateX(-50%);
  width:172px;
  padding:8px 13px;
  border-radius:999px;
  text-align:center;
  font-size:.72rem;
  font-weight:860;
  letter-spacing:.018em;
  color:#16445f;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(8,111,190,.13);
  box-shadow:0 10px 24px rgba(22,62,91,.08);
}

/* orbit cards: opaque pastel colors, no blur */
.orbit-card{
  position:absolute;
  z-index:7;
  width:185px;
  min-height:112px;
  padding:17px 17px 15px;
  border-radius:20px;
  box-shadow:
    0 18px 38px rgba(22,57,84,.10),
    inset 0 1px 0 rgba(255,255,255,.82);
}
.orbit-card-head{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
}
.orbit-card-head h3{
  margin:0;
  font-size:1rem;
  letter-spacing:-.015em;
}
.orbit-card p{
  font-size:.82rem;
  line-height:1.43;
  color:#586f82;
}
.orbit-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  flex:0 0 auto;
}

/* Top — cyan */
.orbit-process{
  top:8px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(145deg,#ffffff 0%,#edfafd 55%,#e5f7fb 100%);
  border:1px solid #cdebf2;
}
.orbit-process::before{
  content:"";
  position:absolute;
  top:-1px; left:18px; right:18px; height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#20bcd8,#0f9fc1);
}
.orbit-process .orbit-dot{
  background:#1eb7d3;
  box-shadow:0 0 0 5px rgba(30,183,211,.11);
}
.orbit-process h3{color:#0d4663}

/* Left — teal */
.orbit-clients{
  left:0;
  top:194px;
  background:linear-gradient(145deg,#ffffff 0%,#edf9f6 55%,#e6f6f2 100%);
  border:1px solid #cde9e3;
}
.orbit-clients::before{
  content:"";
  position:absolute;
  top:18px; left:-1px; bottom:18px; width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,#18ae9e,#0c9789);
}
.orbit-clients .orbit-dot{
  background:#16a99a;
  box-shadow:0 0 0 5px rgba(22,169,154,.11);
}
.orbit-clients h3{color:#0f4c56}

/* Right — lavender/blue */
.orbit-info{
  right:0;
  top:194px;
  background:linear-gradient(145deg,#ffffff 0%,#f4f3ff 55%,#eeecff 100%);
  border:1px solid #ded9f9;
}
.orbit-info::before{
  content:"";
  position:absolute;
  top:18px; right:-1px; bottom:18px; width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,#7567e0,#5c50ca);
}
.orbit-info .orbit-dot{
  background:#6d60dc;
  box-shadow:0 0 0 5px rgba(109,96,220,.11);
}
.orbit-info h3{color:#303e74}

/* Bottom — pale amber */
.orbit-growth{
  bottom:4px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(145deg,#ffffff 0%,#fff8ed 55%,#fff2dd 100%);
  border:1px solid #f0dfc0;
}
.orbit-growth::before{
  content:"";
  position:absolute;
  left:18px; right:18px; bottom:-1px; height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#f1aa42,#de8d1c);
}
.orbit-growth .orbit-dot{
  background:#eda338;
  box-shadow:0 0 0 5px rgba(237,163,56,.12);
}
.orbit-growth h3{color:#744c18}

/* Tiny moving particles create orbit motion without rotating readable cards */
.orbit-particle{
  position:absolute;
  z-index:3;
  width:8px;
  height:8px;
  border-radius:50%;
  box-shadow:0 0 0 5px rgba(255,255,255,.58);
}
.particle-1{
  background:#16b8d9;
  left:75px;
  top:102px;
  animation:particleFloat 4.8s ease-in-out infinite;
}
.particle-2{
  background:#6657d9;
  right:70px;
  bottom:112px;
  animation:particleFloat 5.4s ease-in-out infinite reverse;
}
.particle-3{
  background:#12a99a;
  right:94px;
  top:96px;
  animation:particleFloat 4.4s ease-in-out infinite .6s;
}

@keyframes orbitSpin{
  to{transform:rotate(360deg)}
}
@keyframes particleFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-7px) scale(1.08)}
}

/* preserve clean hero photo */
.hero::before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.97) 25%,
      rgba(247,252,255,.93) 41%,
      rgba(230,246,251,.74) 58%,
      rgba(218,241,248,.42) 73%,
      rgba(28,74,104,.10) 100%) !important;
}

/* Responsive */
@media(max-width:1180px){
  .hero-grid{
    grid-template-columns:minmax(400px,.94fr) minmax(450px,1.06fr) !important;
    gap:32px !important;
  }
  .brand-orbit{
    transform:scale(.92);
    transform-origin:center right;
  }
}

@media(max-width:980px){
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .hero-copy{
    max-width:680px !important;
  }
  .brand-orbit{
    justify-self:center !important;
    transform:none !important;
    width:min(560px,100%);
  }
}

@media(max-width:650px){
  .brand-orbit{
    width:520px;
    max-width:none;
    left:50%;
    transform:translateX(-50%) scale(.76) !important;
    transform-origin:center top !important;
    margin-bottom:-105px;
  }
}

/* ===== ACTUIA V13 — cleaner pastel cards, larger fine-line icons ===== */

/* remove decorative corner color blobs completely */
.service-card::before{
  display:none !important;
  content:none !important;
}

/* remove radial corner gradients but keep subtle pastel card identity */
.accent-cyan{
  background:linear-gradient(145deg,#ffffff 0%,#f4fbfd 58%,#edf9fc 100%) !important;
}
.accent-violet{
  background:linear-gradient(145deg,#ffffff 0%,#f8f6ff 58%,#f2efff 100%) !important;
}
.accent-blue{
  background:linear-gradient(145deg,#ffffff 0%,#f5f9fd 58%,#edf5fb 100%) !important;
}
.accent-teal{
  background:linear-gradient(145deg,#ffffff 0%,#f4faf9 58%,#ecf7f4 100%) !important;
}
.accent-amber{
  background:linear-gradient(145deg,#ffffff 0%,#fffaf2 58%,#fff5e7 100%) !important;
}
.accent-coral{
  background:linear-gradient(145deg,#ffffff 0%,#fff7f6 58%,#fff0ee 100%) !important;
}

/* larger, more premium icon tiles */
.service-icon{
  width:74px !important;
  height:74px !important;
  border-radius:21px !important;
  margin-bottom:24px !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:
    0 10px 24px rgba(20,58,88,.05),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* larger icons with very fine linework */
.service-icon svg{
  width:42px !important;
  height:42px !important;
  fill:none !important;
  stroke-width:1.25 !important;
  vector-effect:non-scaling-stroke;
}

/* color-tuned linework */
.accent-cyan .service-icon svg{stroke:#0aa6c6 !important}
.accent-violet .service-icon svg{stroke:#6558d6 !important}
.accent-blue .service-icon svg{stroke:#0878c7 !important}
.accent-teal .service-icon svg{stroke:#0b9f91 !important}
.accent-amber .service-icon svg{stroke:#d88d19 !important}
.accent-coral .service-icon svg{stroke:#dc645c !important}

/* cleaner icon tile fills */
.accent-cyan .service-icon{
  background:rgba(224,247,251,.72) !important;
  border:1px solid rgba(15,166,198,.13) !important;
}
.accent-violet .service-icon{
  background:rgba(240,237,255,.74) !important;
  border:1px solid rgba(101,88,214,.12) !important;
}
.accent-blue .service-icon{
  background:rgba(232,244,252,.76) !important;
  border:1px solid rgba(8,120,199,.12) !important;
}
.accent-teal .service-icon{
  background:rgba(229,247,244,.78) !important;
  border:1px solid rgba(11,159,145,.12) !important;
}
.accent-amber .service-icon{
  background:rgba(255,243,223,.80) !important;
  border:1px solid rgba(216,141,25,.13) !important;
}
.accent-coral .service-icon{
  background:rgba(253,236,234,.82) !important;
  border:1px solid rgba(220,100,92,.12) !important;
}

/* subtle typography refinement */
.service-card h3{
  font-size:1.19rem !important;
  line-height:1.16 !important;
  letter-spacing:-.022em !important;
  margin-bottom:9px !important;
}
.service-card p{
  font-size:.95rem !important;
  line-height:1.55 !important;
}

/* give cards a little more breathing room for the larger icon */
.service-card{
  padding:30px 30px 29px !important;
  min-height:260px !important;
}

@media(max-width:700px){
  .service-icon{
    width:68px !important;
    height:68px !important;
  }
  .service-icon svg{
    width:38px !important;
    height:38px !important;
  }
}

/* ===== ACTUIA V14 — hero top space fixed + caption removed ===== */

.nav{
  height:80px !important;
}

.logo img{
  max-height:64px !important;
}

/* Hero starts much closer to the header */
.hero{
  min-height:auto !important;
}

.hero-grid{
  min-height:auto !important;
  padding:10px 0 18px !important;
  align-items:center !important;
}

.hero-copy{
  padding-top:0 !important;
  margin-top:0 !important;
}

.hero .eyebrow{
  margin-top:0 !important;
  margin-bottom:14px !important;
}

.hero-copy h1{
  margin-top:0 !important;
}

/* Bring orbit composition upward too */
.brand-orbit{
  margin-top:-4px !important;
}

/* Caption removed: recenter symbol visually */
.orbit-center{
  height:188px !important;
}

.center-halo{
  width:170px !important;
  height:170px !important;
}

.orbit-center img{
  width:130px !important;
  max-height:145px !important;
}

/* Ensure the obsolete caption can never show */
.center-caption{
  display:none !important;
}

/* Slightly tighten proof band */
.hero-proof .wrap{
  min-height:58px !important;
}

@media(max-width:980px){
  .hero-grid{
    padding:8px 0 14px !important;
  }
}

@media(max-width:700px){
  .nav{
    height:74px !important;
  }

  .hero-grid{
    padding:6px 0 10px !important;
  }
}

/* ======================================================
   ACTUIA V15
   Timeline + global premium hover system
   ====================================================== */

/* ---- Global interaction language ---- */
a, button, .card, .service-card, .impact-card, .about-box, .tag,
.logic-row, .orbit-card, .timeline-card, .timeline-node,
.form input, .form textarea, .area {
  transition:
    transform .22s cubic-bezier(.2,.7,.2,1),
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease,
    color .22s ease,
    filter .22s ease,
    opacity .22s ease;
}

/* Header / nav */
.logo{
  transition:transform .24s cubic-bezier(.2,.8,.2,1), filter .24s ease;
}
.logo:hover{
  transform:translateY(-2px) scale(1.018);
  filter:drop-shadow(0 8px 14px rgba(8,91,145,.11));
}

.menu a{
  position:relative;
  padding:10px 0;
}
.menu a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#0b73c9,#16b8d9,#12a99a);
  transition:right .25s ease;
}
.menu a:hover::after{
  right:0;
}

/* Buttons — lift + restrained shine */
.btn{
  position:relative;
  overflow:hidden;
}
.btn::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-32%;
  width:28%;
  height:220%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transition:left .55s ease;
  pointer-events:none;
}
.btn:hover::after{
  left:115%;
}
.btn:hover{
  transform:translateY(-3px);
}
.btn:active{
  transform:translateY(-1px);
}

.hero-link:hover{
  transform:translateX(3px);
}

/* Orbit / hero */
.orbit-card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 24px 50px rgba(18,58,88,.16), inset 0 1px 0 rgba(255,255,255,.9) !important;
  z-index:20;
}
.orbit-process:hover,
.orbit-growth:hover{
  transform:translateX(-50%) translateY(-6px) !important;
}
.orbit-center{
  transition:transform .28s cubic-bezier(.2,.8,.2,1), filter .28s ease;
}
.orbit-center:hover{
  transform:translate(-50%,-50%) scale(1.035);
  filter:drop-shadow(0 18px 26px rgba(8,95,150,.13));
}

/* Service cards */
.service-card:hover{
  transform:translateY(-7px) !important;
  box-shadow:0 26px 52px rgba(20,58,88,.11), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.service-card:hover .service-icon{
  transform:translateY(-3px) scale(1.055);
}
.service-card:hover .service-icon svg{
  transform:scale(1.06);
}
.service-icon svg{
  transition:transform .24s cubic-bezier(.2,.8,.2,1);
}

/* Dark perspective section */
.logic-row{
  border-radius:14px;
  padding-left:10px !important;
  padding-right:10px !important;
}
.logic-row:hover{
  transform:translateX(7px);
  background:rgba(255,255,255,.045);
  border-top-color:rgba(255,255,255,.18) !important;
}
.logic-row:hover .logic-num,
.logic-row:hover .num{
  transform:scale(1.08);
  box-shadow:0 0 0 7px rgba(102,193,241,.055);
}

/* ======================================================
   TIMELINE
   ====================================================== */
.timeline-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 7% 15%, rgba(22,184,217,.07), transparent 25%),
    radial-gradient(circle at 92% 90%, rgba(102,87,217,.065), transparent 28%),
    linear-gradient(180deg,#f8fbfd 0%,#f1f7fb 100%) !important;
  padding:86px 0 94px !important;
}

.timeline-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  left:-260px;
  top:110px;
  border-radius:50%;
  border:1px solid rgba(22,184,217,.08);
  box-shadow:
    0 0 0 48px rgba(22,184,217,.025),
    0 0 0 96px rgba(22,184,217,.015);
  pointer-events:none;
}

.timeline-head{
  margin-bottom:64px !important;
}
.timeline-head h2{
  max-width:880px;
  margin-inline:auto;
}
.timeline-head p{
  max-width:760px;
  margin-inline:auto;
}

.timeline-shell{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:8px 0 0;
}

.timeline-rail{
  position:absolute;
  left:9%;
  right:9%;
  top:53px;
  height:4px;
  border-radius:999px;
  background:#d8e8f1;
  box-shadow:inset 0 1px 2px rgba(17,64,97,.08);
  overflow:hidden;
  z-index:1;
}
.timeline-rail-gradient{
  width:100%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    #16b8d9 0%,
    #12a99a 24%,
    #6657d9 51%,
    #0b73c9 75%,
    #f2a83b 100%
  );
  transform-origin:left center;
  animation:timelineReveal 1.2s ease both;
}

.timeline-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}

.timeline-item{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.timeline-node{
  position:relative;
  width:108px;
  height:108px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:23px;
  background:#fff;
  border:1px solid rgba(24,91,133,.12);
  box-shadow:
    0 15px 34px rgba(20,62,94,.09),
    0 0 0 9px rgba(255,255,255,.78);
  cursor:default;
}

.timeline-node::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  opacity:.11;
}

.timeline-number{
  position:absolute;
  top:-8px;
  right:-5px;
  min-width:32px;
  height:32px;
  padding:0 7px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.06em;
  box-shadow:0 8px 18px rgba(20,61,91,.15);
}

.timeline-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
}
.timeline-icon svg{
  width:42px;
  height:42px;
  fill:none;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s cubic-bezier(.2,.8,.2,1);
}

.timeline-card{
  position:relative;
  width:100%;
  min-height:235px;
  border-radius:22px;
  padding:25px 23px 21px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(31,93,133,.10);
  box-shadow:
    0 16px 38px rgba(20,58,88,.065),
    inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(7px);
  overflow:hidden;
}

.timeline-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
}

.timeline-kicker{
  display:block;
  margin-bottom:9px;
  font-size:.69rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.105em;
}

.timeline-card h3{
  font-size:1.16rem;
  letter-spacing:-.021em;
  line-height:1.18;
  margin-bottom:12px;
}
.timeline-card p{
  font-size:.91rem;
  line-height:1.54;
  color:#617587;
}
.timeline-meta{
  position:absolute;
  left:23px;
  bottom:18px;
  font-size:.72rem;
  font-weight:800;
  color:#8091a0;
  letter-spacing:.018em;
}

/* stage colors */
.timeline-cyan .timeline-node::before{background:#16b8d9}
.timeline-cyan .timeline-number{background:linear-gradient(135deg,#16b8d9,#0e99bc)}
.timeline-cyan .timeline-icon svg{stroke:#0da1c1}
.timeline-cyan .timeline-card::before{background:#16b8d9}
.timeline-cyan .timeline-kicker{color:#0b99b8}

.timeline-teal .timeline-node::before{background:#12a99a}
.timeline-teal .timeline-number{background:linear-gradient(135deg,#12a99a,#087f75)}
.timeline-teal .timeline-icon svg{stroke:#0c9387}
.timeline-teal .timeline-card::before{background:#12a99a}
.timeline-teal .timeline-kicker{color:#0a887e}

.timeline-violet .timeline-node::before{background:#6657d9}
.timeline-violet .timeline-number{background:linear-gradient(135deg,#7568e2,#5548be)}
.timeline-violet .timeline-icon svg{stroke:#6255d1}
.timeline-violet .timeline-card::before{background:#6657d9}
.timeline-violet .timeline-kicker{color:#5d51c3}

.timeline-blue .timeline-node::before{background:#0b73c9}
.timeline-blue .timeline-number{background:linear-gradient(135deg,#1288d8,#075fa9)}
.timeline-blue .timeline-icon svg{stroke:#0874c2}
.timeline-blue .timeline-card::before{background:#0b73c9}
.timeline-blue .timeline-kicker{color:#086bb8}

.timeline-amber .timeline-node::before{background:#f2a83b}
.timeline-amber .timeline-number{background:linear-gradient(135deg,#f4b651,#d88a18)}
.timeline-amber .timeline-icon svg{stroke:#d78b1b}
.timeline-amber .timeline-card::before{background:#f2a83b}
.timeline-amber .timeline-kicker{color:#c47b12}

/* Timeline hover: node + card behave as one system */
.timeline-item:hover .timeline-node{
  transform:translateY(-7px) scale(1.055);
  box-shadow:
    0 24px 45px rgba(20,62,94,.14),
    0 0 0 11px rgba(255,255,255,.85);
}
.timeline-item:hover .timeline-icon svg{
  transform:scale(1.10) rotate(-2deg);
}
.timeline-item:hover .timeline-card{
  transform:translateY(-9px);
  box-shadow:
    0 28px 56px rgba(20,58,88,.12),
    inset 0 1px 0 rgba(255,255,255,.96);
  border-color:rgba(31,93,133,.16);
}
.timeline-item:hover .timeline-number{
  transform:scale(1.08);
}

/* Impact cards */
.impact-card{
  position:relative;
  overflow:hidden;
}
.impact-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-110px;
  top:-110px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  transition:transform .38s ease, opacity .38s ease;
}
.impact-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 54px rgba(15,48,72,.18);
}
.impact-card:hover::after{
  transform:scale(1.8);
  opacity:.55;
}
.impact-card:hover .impact-emoji{
  transform:scale(1.075) rotate(-2deg);
}

/* About */
.about-box:hover{
  transform:translateY(-5px);
  box-shadow:0 25px 58px rgba(31,69,99,.10);
  border-color:rgba(8,111,190,.16);
}
.tag:hover{
  transform:translateY(-3px);
  background:#eaf6fb !important;
  color:#0b6cae !important;
  border-color:rgba(8,111,190,.22);
  box-shadow:0 10px 22px rgba(26,69,100,.085);
}

/* Contact form */
.form input:hover,
.form textarea:hover{
  border-color:rgba(113,198,244,.42);
  background:rgba(255,255,255,.085);
}
.form input:focus,
.form textarea:focus{
  border-color:#6ac6ef;
  background:rgba(255,255,255,.10);
  box-shadow:0 0 0 4px rgba(106,198,239,.10);
  transform:translateY(-1px);
}
.form input,
.form textarea{
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

/* Footer */
footer{
  transition:background .25s ease;
}
footer:hover{
  background:#061a29;
}

/* Accessibility: hover enhancements only on capable devices */
@media (hover:none){
  .service-card:hover,
  .impact-card:hover,
  .about-box:hover,
  .timeline-item:hover .timeline-card,
  .timeline-item:hover .timeline-node,
  .orbit-card:hover,
  .logo:hover,
  .btn:hover{
    transform:none !important;
  }
}

/* Responsive timeline */
@media(max-width:1050px){
  .timeline-grid{
    grid-template-columns:repeat(5,minmax(170px,1fr));
    overflow-x:auto;
    padding:0 3px 24px;
    scroll-snap-type:x mandatory;
  }
  .timeline-item{
    scroll-snap-align:start;
  }
  .timeline-shell{
    overflow:hidden;
  }
  .timeline-rail{
    left:55px;
    right:55px;
  }
}

@media(max-width:760px){
  .timeline-section{
    padding:70px 0 76px !important;
  }
  .timeline-head{
    margin-bottom:42px !important;
  }
  .timeline-shell{
    padding-left:3px;
  }
  .timeline-rail{
    left:51px;
    right:auto;
    top:0;
    bottom:0;
    width:3px;
    height:auto;
    overflow:visible;
    background:#d9e7ef;
  }
  .timeline-rail-gradient{
    width:100%;
    height:100%;
    background:linear-gradient(180deg,#16b8d9,#12a99a,#6657d9,#0b73c9,#f2a83b);
  }
  .timeline-grid{
    display:flex;
    flex-direction:column;
    gap:24px;
    overflow:visible;
    padding:0;
  }
  .timeline-item{
    position:relative;
    display:grid;
    grid-template-columns:104px 1fr;
    align-items:start;
  }
  .timeline-node{
    width:102px;
    height:102px;
    margin:0;
    z-index:2;
  }
  .timeline-card{
    min-height:auto;
    padding:23px 21px 48px;
  }
}

@keyframes timelineReveal{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

/* ==========================================================
   ACTUIA V16 — editorial web language, fewer boxes
   ========================================================== */

/* ---------------- HERO: open annotations, not cards ---------------- */
.orbit-card{
  display:none !important;
}

.orbit-callout{
  position:absolute;
  z-index:8;
  display:flex;
  align-items:center;
  gap:12px;
  width:190px;
  color:#173d58;
  transition:transform .23s cubic-bezier(.2,.8,.2,1), filter .23s ease;
}

.callout-line{
  flex:0 0 34px;
  height:1px;
  opacity:.55;
}

.callout-copy{
  min-width:0;
}

.callout-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
  font-size:.92rem;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.015em;
}

.callout-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  flex:0 0 auto;
}

.orbit-callout p{
  max-width:145px;
  font-size:.76rem;
  line-height:1.38;
  color:#607688;
  text-shadow:0 1px 9px rgba(255,255,255,.95);
}

/* no boxes; only typographic annotations + short rules */
.callout-process{
  top:22px;
  left:50%;
  transform:translateX(-50%);
  flex-direction:column-reverse;
  text-align:center;
  gap:9px;
}
.callout-process .callout-line{
  width:1px;
  height:30px;
  background:#16b8d9;
}
.callout-process .callout-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.callout-process .callout-dot{background:#16b8d9}
.callout-process p{max-width:165px}

.callout-clients{
  left:-12px;
  top:205px;
  flex-direction:row-reverse;
  text-align:right;
}
.callout-clients .callout-line{background:#12a99a}
.callout-clients .callout-title{justify-content:flex-end}
.callout-clients .callout-dot{background:#12a99a}
.callout-clients p{margin-left:auto}

.callout-info{
  right:-10px;
  top:205px;
}
.callout-info .callout-line{background:#6657d9}
.callout-info .callout-dot{background:#6657d9}

.callout-growth{
  bottom:12px;
  left:50%;
  transform:translateX(-50%);
  flex-direction:column;
  text-align:center;
  gap:9px;
}
.callout-growth .callout-line{
  width:1px;
  height:30px;
  background:#f2a83b;
}
.callout-growth .callout-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.callout-growth .callout-dot{background:#f2a83b}
.callout-growth p{max-width:170px}

.orbit-callout:hover{
  filter:drop-shadow(0 8px 16px rgba(20,64,96,.10));
}
.callout-process:hover,
.callout-growth:hover{
  transform:translateX(-50%) translateY(-4px);
}
.callout-clients:hover{
  transform:translateX(-4px);
}
.callout-info:hover{
  transform:translateX(4px);
}

/* ---------------- TIMELINE: no presentation cards ---------------- */
.timeline-section.editorial-timeline{
  padding:84px 0 92px !important;
  background:
    radial-gradient(circle at 4% 18%,rgba(22,184,217,.055),transparent 25%),
    radial-gradient(circle at 95% 86%,rgba(102,87,217,.05),transparent 26%),
    linear-gradient(180deg,#f9fcfd 0%,#f3f8fb 100%) !important;
}

.editorial-timeline .timeline-head{
  margin-bottom:58px !important;
}

.editorial-timeline-shell{
  position:relative;
  max-width:1160px;
  margin:0 auto;
}

.editorial-rail{
  position:absolute;
  z-index:1;
  top:54px;
  left:8%;
  right:8%;
  height:2px;
  background:#dbe8ef;
}

.editorial-rail-progress{
  width:100%;
  height:100%;
  background:linear-gradient(90deg,#16b8d9,#12a99a 24%,#6657d9 50%,#0b73c9 75%,#f2a83b);
  transform-origin:left center;
  animation:timelineReveal 1.2s ease both;
}

.editorial-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
}

.editorial-step{
  min-width:0;
  text-align:center;
}

.editorial-node{
  position:relative;
  width:108px;
  height:108px;
  margin:0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(23,85,125,.12);
  box-shadow:
    0 13px 30px rgba(22,61,90,.075),
    0 0 0 8px rgba(255,255,255,.78);
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease;
}

.editorial-node::before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  opacity:.11;
}

.editorial-node svg{
  width:42px;
  height:42px;
  fill:none;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .24s ease;
}

.step-index{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:32px;
  height:32px;
  padding:0 7px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.055em;
  box-shadow:0 7px 16px rgba(20,60,90,.14);
}

.editorial-stem{
  width:1px;
  height:34px;
  margin:8px auto 13px;
  background:linear-gradient(180deg,rgba(65,117,150,.32),rgba(65,117,150,.05));
}

.editorial-copy{
  position:relative;
  padding:0 5px;
}

.editorial-kicker{
  display:block;
  margin-bottom:8px;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.editorial-copy h3{
  min-height:46px;
  margin:0 0 10px;
  font-size:1.06rem;
  line-height:1.18;
  letter-spacing:-.018em;
  color:#102d45;
}

.editorial-copy p{
  margin:0 auto;
  max-width:190px;
  min-height:82px;
  color:#65798a;
  font-size:.86rem;
  line-height:1.50;
}

.editorial-meta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:13px;
  color:#8293a0;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.02em;
}

.editorial-meta::before{
  content:"";
  width:16px;
  height:1px;
  background:currentColor;
  opacity:.55;
}

/* stage colors */
.step-cyan .editorial-node::before{background:#16b8d9}
.step-cyan .editorial-node svg{stroke:#0ca2c2}
.step-cyan .step-index{background:#11a9c8}
.step-cyan .editorial-kicker{color:#0999b8}

.step-teal .editorial-node::before{background:#12a99a}
.step-teal .editorial-node svg{stroke:#0b9488}
.step-teal .step-index{background:#0b9588}
.step-teal .editorial-kicker{color:#0a887d}

.step-violet .editorial-node::before{background:#6657d9}
.step-violet .editorial-node svg{stroke:#6255d1}
.step-violet .step-index{background:#6558d4}
.step-violet .editorial-kicker{color:#5e52c5}

.step-blue .editorial-node::before{background:#0b73c9}
.step-blue .editorial-node svg{stroke:#0874c2}
.step-blue .step-index{background:#0a75c5}
.step-blue .editorial-kicker{color:#086bb8}

.step-amber .editorial-node::before{background:#f2a83b}
.step-amber .editorial-node svg{stroke:#d78b1b}
.step-amber .step-index{background:#e39725}
.step-amber .editorial-kicker{color:#c57b11}

/* hover = focus on stage, not "card lift" */
.editorial-step{
  transition:opacity .22s ease, transform .22s ease;
}
.editorial-grid:hover .editorial-step{
  opacity:.52;
}
.editorial-grid .editorial-step:hover{
  opacity:1;
  transform:translateY(-4px);
}
.editorial-step:hover .editorial-node{
  transform:scale(1.055);
  box-shadow:
    0 20px 40px rgba(22,61,90,.13),
    0 0 0 10px rgba(255,255,255,.88);
}
.editorial-step:hover .editorial-node svg{
  transform:scale(1.10);
}
.editorial-step:hover .editorial-copy h3{
  color:#0874b7;
}

/* disable obsolete card styling from V15 */
.timeline-grid,
.timeline-card,
.timeline-item,
.timeline-node,
.timeline-meta,
.timeline-rail{
  /* old markup removed; nothing to render */
}

/* responsive */
@media(max-width:1000px){
  .editorial-grid{
    grid-template-columns:repeat(5,minmax(180px,1fr));
    overflow-x:auto;
    padding:0 8px 22px;
    scroll-snap-type:x mandatory;
  }
  .editorial-step{
    scroll-snap-align:start;
  }
  .editorial-rail{
    left:62px;
    right:62px;
  }
}

@media(max-width:760px){
  .editorial-timeline-shell{
    max-width:620px;
  }
  .editorial-rail{
    left:51px;
    top:0;
    bottom:0;
    width:2px;
    height:auto;
    right:auto;
  }
  .editorial-rail-progress{
    width:100%;
    height:100%;
    background:linear-gradient(180deg,#16b8d9,#12a99a,#6657d9,#0b73c9,#f2a83b);
  }
  .editorial-grid{
    display:flex;
    flex-direction:column;
    gap:25px;
    overflow:visible;
    padding:0;
  }
  .editorial-step{
    display:grid;
    grid-template-columns:103px 1fr;
    column-gap:18px;
    align-items:start;
    text-align:left;
  }
  .editorial-node{
    width:102px;
    height:102px;
    margin:0;
  }
  .editorial-stem{
    display:none;
  }
  .editorial-copy{
    padding:6px 0 10px;
  }
  .editorial-copy h3{
    min-height:0;
  }
  .editorial-copy p{
    min-height:0;
    max-width:430px;
    margin:0;
  }
}

/* hover on touch-capable devices: no dimming */
@media(hover:none){
  .editorial-grid:hover .editorial-step{
    opacity:1;
  }
  .editorial-grid .editorial-step:hover{
    transform:none;
  }
}

/* ===== ACTUIA V17 — improve callout readability without bringing boxes back ===== */

/* Slightly stronger local veil over the image, still preserving the photography */
.hero::before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.992) 0%,
      rgba(255,255,255,.975) 24%,
      rgba(247,252,255,.94) 40%,
      rgba(229,246,251,.79) 57%,
      rgba(220,242,248,.56) 72%,
      rgba(220,239,246,.34) 100%) !important;
}

/* Open annotations remain open — readability comes from a soft halo */
.callout-copy{
  position:relative;
  isolation:isolate;
  padding:5px 7px;
}

.callout-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-9px -13px;
  border-radius:18px;
  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,.88) 0%,
      rgba(255,255,255,.70) 48%,
      rgba(255,255,255,.33) 72%,
      rgba(255,255,255,0) 100%
    );
  filter:blur(3px);
  pointer-events:none;
}

/* stronger type hierarchy */
.callout-title{
  color:#123955 !important;
  font-size:.96rem !important;
  font-weight:900 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.96),
    0 0 8px rgba(255,255,255,.88),
    0 0 16px rgba(255,255,255,.52);
}

.orbit-callout p{
  color:#405b70 !important;
  font-size:.79rem !important;
  line-height:1.42 !important;
  font-weight:550 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 0 8px rgba(255,255,255,.92),
    0 0 18px rgba(255,255,255,.64) !important;
}

/* Right and lower annotations sit on darker photo areas — reinforce them slightly more */
.callout-info .callout-copy::before,
.callout-growth .callout-copy::before{
  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.79) 50%,
      rgba(255,255,255,.40) 74%,
      rgba(255,255,255,0) 100%
    );
}

/* keep lines visible but elegant */
.callout-line{
  opacity:.78 !important;
}

/* slightly stronger color dots */
.callout-process .callout-dot{
  box-shadow:0 0 0 5px rgba(22,184,217,.12),0 0 12px rgba(22,184,217,.24);
}
.callout-clients .callout-dot{
  box-shadow:0 0 0 5px rgba(18,169,154,.12),0 0 12px rgba(18,169,154,.22);
}
.callout-info .callout-dot{
  box-shadow:0 0 0 5px rgba(102,87,217,.12),0 0 12px rgba(102,87,217,.22);
}
.callout-growth .callout-dot{
  box-shadow:0 0 0 5px rgba(242,168,59,.13),0 0 12px rgba(242,168,59,.24);
}

/* make sure the center logo remains the strongest visual element */
.orbit-center{
  z-index:10 !important;
}

/* ============================================================
   ACTUIA V18 — DARK HERO / stronger brand presence
   ============================================================ */

:root{
  --hero-navy:#04111f;
  --hero-navy-2:#071d31;
  --hero-blue:#0a79c9;
  --hero-cyan:#12b8d8;
  --hero-teal:#13a99a;
  --hero-violet:#7567e2;
  --hero-warm:#f0a33a;
}

/* HEADER integrated with hero */
header{
  background:linear-gradient(180deg,rgba(4,17,31,.985),rgba(4,17,31,.94)) !important;
  border-bottom:1px solid rgba(143,185,214,.12) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.14) !important;
}

.nav{
  height:86px !important;
}

.logo img{
  width:280px !important;
  max-height:70px !important;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.22)) !important;
}

.menu{
  color:#d6e0e8 !important;
}

.menu a{
  color:#d6e0e8 !important;
  text-shadow:0 1px 12px rgba(0,0,0,.22);
}

.menu a:hover{
  color:#ffffff !important;
}

.menu a::after{
  background:linear-gradient(90deg,#1aa9e3,#26c5d8,#18b5a5) !important;
}

/* Hero dark photographic treatment */
.hero{
  position:relative;
  background-size:cover !important;
  background-position:center right !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
}

/* Deep navy veil on left, more transparent on the people/photo side */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(2,10,20,.97) 0%,
      rgba(3,14,27,.95) 24%,
      rgba(5,25,43,.91) 42%,
      rgba(6,31,52,.77) 57%,
      rgba(4,24,42,.54) 73%,
      rgba(2,14,25,.34) 100%) !important;
}

/* Controlled color/light accents */
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 67% 49%,rgba(14,145,205,.15),transparent 25%),
    radial-gradient(circle at 84% 37%,rgba(28,184,194,.08),transparent 19%),
    linear-gradient(180deg,rgba(0,0,0,0) 72%,rgba(2,12,22,.32) 100%) !important;
}

.hero-grid{
  position:relative;
  z-index:2;
  padding:26px 0 20px !important;
}

.hero .eyebrow{
  color:#a7dcef !important;
  background:rgba(23,150,196,.10) !important;
  border-color:rgba(88,199,226,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.hero-copy h1{
  color:#f7fbff !important;
  text-shadow:0 4px 28px rgba(0,0,0,.26);
}

.hero-copy .accent{
  background:linear-gradient(90deg,#147ee5 0%,#14bce0 58%,#18c6b1 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow:none !important;
}

.hero-copy .lead{
  color:#b9c8d5 !important;
  max-width:540px !important;
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}

.hero-link{
  color:#a8d7ed !important;
}
.hero-link:hover{
  color:#ffffff !important;
}

/* CTA on dark hero */
.btn.primary{
  background:linear-gradient(135deg,#0c57ba 0%,#0b91d1 68%,#16b6d3 100%) !important;
  color:#fff !important;
  border-color:rgba(108,205,239,.42) !important;
  box-shadow:
    0 14px 32px rgba(0,112,189,.29),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Central mark becomes luminous but still professional */
.center-halo{
  background:
    radial-gradient(circle at 38% 28%,
      rgba(50,171,220,.34) 0%,
      rgba(13,102,164,.42) 40%,
      rgba(4,42,76,.67) 67%,
      rgba(2,21,39,.88) 100%) !important;
  border:1px solid rgba(89,194,231,.44) !important;
  box-shadow:
    0 0 0 10px rgba(11,80,133,.20),
    0 0 0 11px rgba(52,194,231,.15),
    0 0 44px rgba(17,161,219,.37),
    inset 0 0 30px rgba(29,161,211,.14) !important;
}

.orbit-center img{
  filter:
    drop-shadow(0 0 10px rgba(67,200,238,.34))
    drop-shadow(0 18px 22px rgba(0,0,0,.26)) !important;
}

/* Orbit lines readable on dark background */
.orbit-a{
  border-color:rgba(30,187,221,.33) !important;
  box-shadow:0 0 44px rgba(19,155,206,.06) !important;
}

.orbit-b{
  border-color:rgba(41,145,199,.25) !important;
}

.orbit-b::after{
  border-color:rgba(107,96,220,.21) !important;
}

.orbit-connectors path{
  stroke:rgba(85,190,229,.36) !important;
}

/* Callouts on dark hero */
.callout-copy::before{
  background:
    radial-gradient(
      ellipse at center,
      rgba(3,22,38,.78) 0%,
      rgba(3,22,38,.50) 52%,
      rgba(3,22,38,.16) 78%,
      rgba(3,22,38,0) 100%
    ) !important;
  filter:blur(5px) !important;
}

.callout-title{
  color:#f1f7fb !important;
  text-shadow:0 2px 12px rgba(0,0,0,.54) !important;
}

.orbit-callout p{
  color:#bdcbd6 !important;
  font-weight:500 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.58) !important;
}

/* Stronger callout tones */
.callout-process .callout-dot{
  background:#19c2e2 !important;
}
.callout-clients .callout-dot{
  background:#14c6b4 !important;
}
.callout-info .callout-dot{
  background:#816ff0 !important;
}
.callout-growth .callout-dot{
  background:#f4aa37 !important;
}

/* Strategic strip below hero */
.hero-proof{
  border-top:1px solid rgba(112,177,212,.14) !important;
  background:
    linear-gradient(90deg,rgba(4,18,31,.99),rgba(6,29,48,.98)) !important;
}

.hero-proof .wrap{
  min-height:62px !important;
}

.proof-label{
  color:#8199aa !important;
}

.proof-item{
  color:#c1d0da !important;
  border-color:rgba(146,180,202,.13) !important;
}
.proof-item:nth-child(1){color:#d7e2e9 !important}
.proof-item:nth-child(2){color:#6fd3c7 !important}
.proof-item:nth-child(3){color:#62bde8 !important}
.proof-item:nth-child(4){color:#a398f0 !important}

/* The next light section gets a soft transition */
section#que-hacemos{
  position:relative;
  background:#fff;
  padding-top:88px !important;
}

section#que-hacemos::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:20px;
  background:linear-gradient(180deg,rgba(4,18,31,.10),rgba(255,255,255,0));
  pointer-events:none;
}

/* Responsive */
@media(max-width:980px){
  header{
    background:#04111f !important;
  }
  .hero::before{
    background:
      linear-gradient(180deg,
        rgba(3,13,25,.96) 0%,
        rgba(4,20,35,.90) 47%,
        rgba(3,17,29,.70) 100%) !important;
  }
  .hero-copy .lead{
    color:#c5d2db !important;
  }
}

@media(max-width:700px){
  .nav{
    height:78px !important;
  }
  .logo img{
    width:210px !important;
    max-height:60px !important;
  }
}

/* ============================================================
   ACTUIA V19 — glass header + stronger dark hero
   ============================================================ */

/* ------------------------------------------------------------
   GLASS / TRANSLUCENT NAVIGATION
   The same bar adapts naturally because the background shows through.
   ------------------------------------------------------------ */
header{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
  background:rgba(75,84,92,.46) !important;
  border-bottom:1px solid rgba(255,255,255,.20) !important;
  box-shadow:
    0 10px 30px rgba(5,15,24,.13),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
}

.nav{
  height:82px !important;
}

/* Keep the original logo intact, but give it a refined light glass cradle */
.logo{
  display:flex !important;
  align-items:center !important;
  padding:7px 12px 7px 10px !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(255,255,255,.58) !important;
  box-shadow:
    0 8px 20px rgba(7,25,39,.10),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
  backdrop-filter:blur(10px) !important;
}

.logo img{
  width:235px !important;
  max-height:56px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:none !important;
}

/* Navigation typography: cool light gray, strong enough on both light and dark sections */
.menu{
  color:#edf2f5 !important;
  font-weight:700 !important;
}

.menu a{
  color:rgba(244,247,249,.92) !important;
  font-size:.94rem !important;
  font-weight:760 !important;
  text-shadow:
    0 1px 1px rgba(0,0,0,.32),
    0 2px 12px rgba(0,0,0,.16) !important;
}

.menu a:hover{
  color:#ffffff !important;
}

.menu a::after{
  height:2px !important;
  background:linear-gradient(90deg,#75d8ee,#5fc9d8,#6ed6c8) !important;
}

header .btn.primary{
  background:rgba(16,139,202,.88) !important;
  border:1px solid rgba(152,222,244,.42) !important;
  box-shadow:
    0 9px 24px rgba(3,67,108,.24),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* ------------------------------------------------------------
   DARK HERO — brighter photo, stronger type
   ------------------------------------------------------------ */
.hero::before{
  background:
    linear-gradient(90deg,
      rgba(2,9,18,.975) 0%,
      rgba(3,14,27,.955) 23%,
      rgba(4,21,37,.90) 41%,
      rgba(5,29,49,.70) 57%,
      rgba(4,24,42,.39) 73%,
      rgba(2,14,25,.15) 100%) !important;
}

/* Lift the people/photo on the right without making it look artificial */
.hero::after{
  background:
    radial-gradient(circle at 79% 45%,rgba(82,174,211,.14),transparent 25%),
    radial-gradient(circle at 66% 49%,rgba(14,145,205,.12),transparent 24%),
    linear-gradient(180deg,rgba(0,0,0,0) 72%,rgba(2,12,22,.20) 100%) !important;
}

.hero-copy h1{
  color:#ffffff !important;
  font-weight:875 !important;
  letter-spacing:-.055em !important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.03),
    0 6px 28px rgba(0,0,0,.40) !important;
}

.hero-copy .accent{
  background:linear-gradient(
    90deg,
    #2a8ff2 0%,
    #22c8ea 48%,
    #28d0b8 100%
  ) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  filter:drop-shadow(0 4px 15px rgba(20,169,215,.16));
}

.hero-copy .lead{
  color:#d1dbe3 !important;
  font-size:1.09rem !important;
  font-weight:510 !important;
  line-height:1.62 !important;
  text-shadow:0 3px 16px rgba(0,0,0,.30) !important;
}

/* More visible secondary link */
.hero-link{
  color:#b9deed !important;
  font-weight:800 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}

.hero-link:hover{
  color:#ffffff !important;
}

/* ------------------------------------------------------------
   CENTRAL LOGO-SYMBOL — bigger, sharper, stronger
   ------------------------------------------------------------ */
.orbit-center{
  width:220px !important;
  height:220px !important;
  z-index:12 !important;
}

.center-halo{
  width:202px !important;
  height:202px !important;
  background:
    radial-gradient(circle at 38% 28%,
      rgba(74,190,231,.40) 0%,
      rgba(17,116,181,.52) 37%,
      rgba(5,56,99,.78) 67%,
      rgba(2,25,47,.94) 100%) !important;
  border:1px solid rgba(119,213,244,.64) !important;
  box-shadow:
    0 0 0 9px rgba(17,103,165,.18),
    0 0 0 10px rgba(83,199,235,.24),
    0 0 58px rgba(20,166,221,.52),
    inset 0 0 38px rgba(52,182,226,.18) !important;
}

.orbit-center img{
  width:160px !important;
  max-height:176px !important;
  filter:
    drop-shadow(0 0 8px rgba(119,220,247,.38))
    drop-shadow(0 0 20px rgba(30,169,220,.18))
    drop-shadow(0 20px 24px rgba(0,0,0,.28)) !important;
}

/* Give the rings more definition around the stronger central mark */
.orbit-a{
  border-color:rgba(47,199,231,.42) !important;
}
.orbit-b{
  border-color:rgba(58,158,211,.30) !important;
}
.orbit-b::after{
  border-color:rgba(125,111,229,.26) !important;
}

/* ------------------------------------------------------------
   OPEN CALLOUTS — stronger visibility, still not boxed
   ------------------------------------------------------------ */
.callout-title{
  color:#ffffff !important;
  font-size:1rem !important;
  font-weight:900 !important;
  text-shadow:
    0 2px 8px rgba(0,0,0,.66),
    0 0 18px rgba(0,0,0,.32) !important;
}

.orbit-callout p{
  color:#d0dae2 !important;
  font-size:.80rem !important;
  line-height:1.43 !important;
  font-weight:520 !important;
  text-shadow:
    0 2px 7px rgba(0,0,0,.70),
    0 0 14px rgba(0,0,0,.34) !important;
}

.callout-copy::before{
  background:
    radial-gradient(
      ellipse at center,
      rgba(2,15,27,.66) 0%,
      rgba(2,15,27,.42) 54%,
      rgba(2,15,27,.10) 80%,
      rgba(2,15,27,0) 100%
    ) !important;
}

/* ------------------------------------------------------------
   STRATEGY STRIP
   ------------------------------------------------------------ */
.hero-proof{
  background:
    linear-gradient(90deg,rgba(4,17,30,.985),rgba(8,34,53,.98)) !important;
  border-top:1px solid rgba(123,188,220,.16) !important;
}

.proof-label{
  color:#93a9b8 !important;
}

.proof-item{
  font-weight:820 !important;
}

/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */
@media(max-width:980px){
  header{
    background:rgba(69,78,87,.55) !important;
  }

  .logo{
    padding:6px 9px !important;
  }

  .logo img{
    width:195px !important;
    max-height:52px !important;
  }
}

@media(max-width:700px){
  .nav{
    height:74px !important;
  }

  .logo img{
    width:168px !important;
    max-height:46px !important;
  }

  header .btn.primary{
    min-height:40px !important;
    padding:0 13px !important;
  }
}

/* ============================================================
   ACTUIA V21 — remove grey logo box, replace with soft gradient
   ============================================================ */

/* Keep the sticky glass header, but give it the requested
   left-light to right-dark tonal gradient */
header{
  background:
    linear-gradient(
      90deg,
      rgba(247,249,250,.42) 0%,
      rgba(221,229,234,.24) 16%,
      rgba(126,137,147,.18) 38%,
      rgba(44,53,63,.30) 66%,
      rgba(14,20,27,.54) 100%
    ) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    0 12px 30px rgba(5,15,24,.14),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
}

.nav{
  height:82px !important;
}

/* Remove the grey square/capsule completely */
.logo{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:visible !important;
}

/* New soft diffused field behind the logo:
   pale translucent white/gray on the left, fading into dark on the right */
.logo::before{
  content:"";
  position:absolute;
  left:-24px;
  top:50%;
  transform:translateY(-50%);
  width:360px;
  height:96px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.82) 0%,
      rgba(240,244,247,.56) 24%,
      rgba(190,203,213,.22) 46%,
      rgba(78,92,104,.10) 68%,
      rgba(0,0,0,0) 100%
    );
  filter:blur(12px);
  z-index:-1;
  pointer-events:none;
}

/* The logo itself sits directly on the gradient */
.logo img{
  width:242px !important;
  max-height:58px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:
    drop-shadow(0 2px 8px rgba(255,255,255,.14))
    drop-shadow(0 4px 10px rgba(0,0,0,.08)) !important;
}

/* Navigation stays soft gray/white so it works on mixed backgrounds */
.menu{
  color:#e9eff3 !important;
}
.menu a{
  color:rgba(241,245,247,.88) !important;
  text-shadow:
    0 1px 1px rgba(0,0,0,.30),
    0 2px 12px rgba(0,0,0,.14) !important;
}
.menu a:hover{
  color:#ffffff !important;
}

header .btn.primary{
  background:rgba(15,136,198,.88) !important;
  border:1px solid rgba(152,222,244,.38) !important;
}

/* Apply the same design logic around the central symbol:
   a broader left-light to right-dark atmospheric blur */
.orbit-center::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:390px;
  height:250px;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.18) 0%,
      rgba(207,231,241,.10) 32%,
      rgba(18,61,96,.18) 62%,
      rgba(3,16,29,.42) 100%
    );
  filter:blur(22px);
  z-index:-1;
  pointer-events:none;
}

/* Slightly more presence for the central mark */
.center-halo{
  width:206px !important;
  height:206px !important;
  box-shadow:
    0 0 0 9px rgba(17,103,165,.18),
    0 0 0 10px rgba(83,199,235,.24),
    0 0 66px rgba(20,166,221,.60),
    inset 0 0 42px rgba(52,182,226,.20) !important;
}
.orbit-center img{
  width:162px !important;
  max-height:178px !important;
}

/* Slightly stronger hero copy contrast */
.hero-copy h1{
  color:#ffffff !important;
}
.hero-copy .lead{
  color:#d6e0e7 !important;
}

/* mobile tune */
@media(max-width:980px){
  .logo::before{
    width:290px;
    height:82px;
    left:-16px;
  }
  .logo img{
    width:205px !important;
    max-height:52px !important;
  }
}

@media(max-width:700px){
  .nav{
    height:74px !important;
  }
  .logo::before{
    width:230px;
    height:72px;
    left:-10px;
    filter:blur(10px);
  }
  .logo img{
    width:178px !important;
    max-height:47px !important;
  }
}

/* ============================================================
   ACTUIA V22 — premium dark hero + legible glass navigation
   Iterative refinement over V21; all existing sections remain.
   ============================================================ */

:root{
  --hero-ink:#020b14;
  --hero-ink-soft:#071a2b;
  --hero-line:rgba(125,199,230,.22);
}

/* Glass header: a dark, consistent reading field with a localized
   light bloom for the original high-resolution brand lockup. */
header{
  background:
    radial-gradient(
      ellipse 270px 108px at 7% 50%,
      rgba(252,254,255,.92) 0%,
      rgba(231,240,246,.64) 42%,
      rgba(137,164,181,.18) 68%,
      rgba(7,24,38,0) 100%
    ),
    linear-gradient(
      96deg,
      rgba(9,31,48,.73) 0%,
      rgba(5,23,38,.84) 38%,
      rgba(3,16,28,.91) 100%
    ) !important;
  border-bottom:1px solid rgba(150,209,233,.17) !important;
  box-shadow:
    0 12px 32px rgba(0,8,16,.24),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(22px) saturate(142%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(142%) !important;
}

.nav{
  height:84px !important;
  gap:30px !important;
}

.logo{
  isolation:isolate !important;
  min-width:124px;
}

.logo::before{
  left:-25px !important;
  width:210px !important;
  height:78px !important;
  border-radius:50% !important;
  background:radial-gradient(
    ellipse at 42% 50%,
    rgba(255,255,255,.76) 0%,
    rgba(244,249,252,.45) 45%,
    rgba(211,226,235,.13) 70%,
    rgba(255,255,255,0) 100%
  ) !important;
  filter:blur(9px) !important;
  z-index:0 !important;
}

.logo img{
  position:relative !important;
  z-index:1 !important;
  width:auto !important;
  height:64px !important;
  max-height:64px !important;
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.28))
    drop-shadow(0 5px 13px rgba(1,13,23,.14)) !important;
}

.menu{
  gap:26px !important;
  color:rgba(239,246,250,.90) !important;
  font-weight:680 !important;
}

.menu a{
  color:rgba(239,246,250,.90) !important;
  font-size:.91rem !important;
  font-weight:680 !important;
  letter-spacing:-.012em;
  text-shadow:0 2px 12px rgba(0,7,14,.36) !important;
}

.menu a:hover{
  color:#fff !important;
}

.menu a::after{
  bottom:2px !important;
  height:2px !important;
  background:linear-gradient(90deg,#39a9ec,#39d0df,#42d2b9) !important;
  box-shadow:0 0 12px rgba(46,194,222,.30);
}

header .btn.primary{
  min-height:46px !important;
  padding:0 20px !important;
  background:linear-gradient(135deg,rgba(13,100,178,.96),rgba(11,151,200,.96)) !important;
  border-color:rgba(143,218,243,.46) !important;
  box-shadow:
    0 10px 25px rgba(0,76,126,.30),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Hero: preserve the photography while making the message read with
   executive-level clarity and a calmer, deeper color treatment. */
.hero::before{
  background:
    linear-gradient(
      90deg,
      rgba(1,8,16,.985) 0%,
      rgba(2,12,23,.965) 23%,
      rgba(4,22,38,.91) 42%,
      rgba(5,30,50,.68) 58%,
      rgba(4,25,42,.36) 74%,
      rgba(2,14,25,.14) 100%
    ) !important;
}

.hero::after{
  background:
    radial-gradient(circle at 75% 47%,rgba(45,169,214,.16),transparent 24%),
    radial-gradient(circle at 59% 52%,rgba(18,111,174,.10),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,0) 58%,rgba(1,9,17,.32) 100%) !important;
}

.hero-grid{
  padding:30px 0 24px !important;
}

.hero .eyebrow{
  color:#b7e7f5 !important;
  background:rgba(18,127,173,.13) !important;
  border:1px solid rgba(91,198,227,.27) !important;
  letter-spacing:.095em !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 8px 22px rgba(0,8,16,.13) !important;
}

.hero-copy h1{
  color:#fbfdff !important;
  font-weight:860 !important;
  letter-spacing:-.057em !important;
  line-height:.98 !important;
  text-wrap:balance;
  text-shadow:0 8px 32px rgba(0,0,0,.36) !important;
}

.hero-copy .accent{
  background:linear-gradient(90deg,#3294ed 0%,#27c3e5 47%,#32d2ba 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  filter:drop-shadow(0 5px 18px rgba(23,166,211,.14));
}

.hero-copy .lead{
  color:#cbd7df !important;
  font-size:1.075rem !important;
  font-weight:450 !important;
  line-height:1.64 !important;
  letter-spacing:-.006em;
  text-shadow:0 3px 18px rgba(0,0,0,.34) !important;
}

.hero-link{
  color:#c1e2ee !important;
  font-weight:760 !important;
}

.hero .btn.primary{
  background:linear-gradient(135deg,#0b62bd 0%,#0c98d0 68%,#18b9ce 100%) !important;
  border-color:rgba(119,211,239,.52) !important;
  box-shadow:
    0 15px 34px rgba(0,99,165,.30),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}

/* Central isotipo: stronger silhouette, tighter glow and more precise rings. */
.orbit-center{
  width:228px !important;
  height:228px !important;
}

.orbit-center::before{
  width:330px !important;
  height:240px !important;
  background:radial-gradient(
    ellipse at center,
    rgba(30,157,211,.20) 0%,
    rgba(14,92,153,.15) 38%,
    rgba(3,18,32,0) 73%
  ) !important;
  filter:blur(18px) !important;
}

.center-halo{
  width:214px !important;
  height:214px !important;
  background:
    radial-gradient(circle at 36% 26%,
      rgba(67,177,221,.38) 0%,
      rgba(12,99,160,.54) 34%,
      rgba(5,48,86,.86) 67%,
      rgba(2,20,38,.97) 100%) !important;
  border:1px solid rgba(115,210,241,.58) !important;
  box-shadow:
    0 0 0 7px rgba(24,117,177,.13),
    0 0 0 8px rgba(111,207,237,.18),
    0 28px 68px rgba(0,8,17,.38),
    0 0 48px rgba(18,157,212,.38),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 34px rgba(47,179,224,.13) !important;
}

.orbit-center img{
  width:auto !important;
  height:184px !important;
  max-height:184px !important;
  filter:
    drop-shadow(0 0 8px rgba(105,215,243,.26))
    drop-shadow(0 18px 24px rgba(0,0,0,.30)) !important;
}

.orbit-a{
  border-color:rgba(54,197,226,.38) !important;
  box-shadow:0 0 48px rgba(27,150,203,.065) !important;
}
.orbit-b{
  border-color:rgba(71,160,207,.25) !important;
}
.orbit-b::after{
  border-color:rgba(126,115,226,.22) !important;
}
.orbit-connectors path{
  stroke:rgba(94,191,226,.34) !important;
}

.callout-title{
  color:#f8fbfd !important;
  font-weight:850 !important;
  text-shadow:0 3px 12px rgba(0,0,0,.62) !important;
}

.orbit-callout p{
  color:#d5dfe6 !important;
  font-weight:470 !important;
  text-shadow:0 3px 11px rgba(0,0,0,.68) !important;
}

.callout-copy::before{
  background:radial-gradient(
    ellipse at center,
    rgba(2,14,25,.69) 0%,
    rgba(2,14,25,.42) 52%,
    rgba(2,14,25,.08) 80%,
    rgba(2,14,25,0) 100%
  ) !important;
  filter:blur(4px) !important;
}

/* Keyboard clarity without changing mouse behavior. */
.menu a:focus-visible,
.logo:focus-visible,
.btn:focus-visible,
.hero-link:focus-visible{
  outline:2px solid #75dff0;
  outline-offset:4px;
}

@media(max-width:1180px){
  .nav{gap:20px !important}
  .menu{gap:18px !important}
  .menu a{font-size:.87rem !important}
  .logo img{
    height:60px !important;
    max-height:60px !important;
  }
}

@media(max-width:980px){
  header{
    background:
      radial-gradient(ellipse 245px 96px at 10% 50%,rgba(252,254,255,.90),rgba(226,238,245,.50) 48%,rgba(6,23,37,0) 100%),
      rgba(3,17,29,.91) !important;
  }
  .hero::before{
    background:linear-gradient(
      180deg,
      rgba(2,11,21,.97) 0%,
      rgba(3,18,32,.92) 48%,
      rgba(2,15,27,.72) 100%
    ) !important;
  }
  .hero-grid{padding:24px 0 20px !important}
}

@media(max-width:700px){
  .nav{height:76px !important}
  .logo{min-width:100px}
  .logo::before{
    left:-18px !important;
    width:172px !important;
    height:68px !important;
  }
  .logo img{
    height:54px !important;
    max-height:54px !important;
  }
  header .btn.primary{
    min-height:40px !important;
    padding:0 13px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.7rem,12vw,3.1rem) !important;
    letter-spacing:-.048em !important;
  }
  .hero-copy .lead{
    font-size:1rem !important;
    line-height:1.58 !important;
  }

  /* V21's 520 px orbital artwork contributed its intrinsic width to
     the grid track. Keep the composition, but stop it from widening
     the copy column on narrow screens. */
  .hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
  .hero-copy{
    width:100% !important;
    min-width:0 !important;
  }
  .actions{
    width:100% !important;
    min-width:0 !important;
    flex-wrap:wrap !important;
    row-gap:14px !important;
  }
  .brand-orbit{
    left:auto !important;
    justify-self:center !important;
    min-width:0 !important;
    transform:scale(.72) !important;
    transform-origin:center top !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .orbit-b::after,
  .orbit-particle{
    animation:none !important;
  }
}

/* ============================================================
   ACTUIA V23 — unified senior consulting design system
   Built as a reversible visual layer over V22.
   ============================================================ */

:root{
  --actuia-navy-950:#03111c;
  --actuia-navy-900:#071c2a;
  --actuia-navy-800:#0d2b3f;
  --actuia-ink:#102a3d;
  --actuia-text:#405767;
  --actuia-muted:#6b7f8d;
  --actuia-blue:#1178b5;
  --actuia-blue-dark:#0b6399;
  --actuia-teal:#1aa39a;
  --actuia-teal-light:#66c9c1;
  --actuia-surface:#f4f7f9;
  --actuia-surface-2:#edf3f6;
  --actuia-line:#d9e4e9;
  --actuia-white:#ffffff;
  --actuia-radius:14px;
  --actuia-shadow:0 18px 44px rgba(13,43,63,.07);
}

body{
  color:var(--actuia-text) !important;
  background:#fff !important;
  font-weight:430;
}

.wrap{
  width:min(1200px,calc(100% - 56px)) !important;
}

section{
  padding:96px 0 !important;
}

section[id]{
  scroll-margin-top:88px;
}

h1,h2,h3{
  color:var(--actuia-ink) !important;
}

h2{
  font-size:clamp(2.3rem,3.5vw,3.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}

h3{
  letter-spacing:-.022em !important;
}

.eyebrow{
  color:var(--actuia-blue) !important;
  font-size:.72rem !important;
  font-weight:820 !important;
  letter-spacing:.12em !important;
  margin-bottom:15px !important;
}

.section-head{
  max-width:780px !important;
  margin:0 auto 54px !important;
}

.section-head p,
.impact-head > p,
.about-box p{
  color:var(--actuia-muted) !important;
  line-height:1.68 !important;
}

.btn{
  min-height:46px !important;
  border-radius:9px !important;
  font-size:.91rem !important;
  font-weight:780 !important;
}

.btn.primary,
header .btn.primary,
.hero .btn.primary{
  background:var(--actuia-blue) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 24px rgba(7,86,132,.20) !important;
}

.btn.primary:hover,
header .btn.primary:hover,
.hero .btn.primary:hover{
  background:var(--actuia-blue-dark) !important;
  box-shadow:0 13px 28px rgba(7,70,109,.23) !important;
  transform:translateY(-2px) !important;
}

/* Header: restrained glass, one clear reading field. */
header{
  background:
    radial-gradient(ellipse 230px 92px at 7% 50%,rgba(255,255,255,.88),rgba(230,240,245,.48) 48%,rgba(7,25,38,0) 100%),
    rgba(5,22,35,.93) !important;
  border-bottom:1px solid rgba(157,197,216,.17) !important;
  box-shadow:0 8px 24px rgba(0,10,18,.18) !important;
  backdrop-filter:blur(14px) saturate(118%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(118%) !important;
}

.nav{
  height:78px !important;
  gap:28px !important;
}

.logo{
  min-width:116px !important;
}

.logo::before{
  left:-20px !important;
  width:185px !important;
  height:68px !important;
  background:radial-gradient(ellipse at 43% 50%,rgba(255,255,255,.66),rgba(238,245,248,.30) 52%,transparent 78%) !important;
  filter:blur(8px) !important;
}

.logo img{
  width:auto !important;
  height:58px !important;
  max-height:58px !important;
  filter:drop-shadow(0 3px 9px rgba(4,18,28,.12)) !important;
}

.menu{
  gap:25px !important;
}

.menu a{
  color:rgba(241,246,248,.88) !important;
  font-size:.89rem !important;
  font-weight:650 !important;
  letter-spacing:-.008em !important;
  text-shadow:none !important;
}

.menu a::after{
  height:1px !important;
  background:var(--actuia-teal-light) !important;
  box-shadow:none !important;
}

/* Hero: retain the brand asset and photography; remove the generic AI glow language. */
.hero{
  color:#fff !important;
}

.hero::before{
  background:linear-gradient(90deg,
    rgba(2,10,17,.99) 0%,
    rgba(3,15,26,.97) 25%,
    rgba(5,26,42,.91) 44%,
    rgba(5,29,47,.64) 62%,
    rgba(4,22,36,.30) 80%,
    rgba(2,13,22,.12) 100%) !important;
}

.hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 62%,rgba(2,11,18,.30)) !important;
}

.hero-grid{
  padding:34px 0 28px !important;
}

.hero .eyebrow{
  color:#b8dce8 !important;
  background:rgba(6,34,51,.62) !important;
  border:1px solid rgba(135,192,214,.25) !important;
  box-shadow:none !important;
}

.hero-copy h1{
  color:#fff !important;
  font-weight:835 !important;
  letter-spacing:-.054em !important;
  text-shadow:0 5px 24px rgba(0,0,0,.30) !important;
}

.hero-copy .accent{
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:var(--actuia-teal-light) !important;
  filter:none !important;
  text-shadow:0 5px 24px rgba(0,0,0,.28) !important;
}

.hero-copy .lead{
  color:#c9d5db !important;
  font-weight:430 !important;
  line-height:1.66 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.30) !important;
}

.hero-link{
  color:#d2e5eb !important;
  font-weight:720 !important;
  text-shadow:none !important;
}

.hero-link:hover{
  color:#fff !important;
}

.orbit-particle{
  display:none !important;
}

.orbit-center::before{
  display:none !important;
}

.orbit-glow{
  background:radial-gradient(circle,rgba(20,113,155,.18),rgba(3,22,35,.08) 52%,transparent 72%) !important;
  filter:none !important;
}

.orbit-center{
  width:216px !important;
  height:216px !important;
}

.center-halo{
  width:202px !important;
  height:202px !important;
  background:radial-gradient(circle at 38% 30%,#174f70 0%,#0b3654 46%,#071e31 100%) !important;
  border:1px solid rgba(118,194,218,.46) !important;
  box-shadow:
    0 0 0 7px rgba(58,137,170,.09),
    0 22px 48px rgba(0,8,14,.30),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.orbit-center img{
  width:auto !important;
  height:176px !important;
  max-height:176px !important;
  filter:drop-shadow(0 14px 20px rgba(0,0,0,.26)) !important;
}

.orbit-a,
.orbit-b,
.orbit-b::after{
  border-color:rgba(115,184,208,.22) !important;
  box-shadow:none !important;
}

.orbit-b::after{
  animation:none !important;
}

.orbit-connectors path{
  stroke:rgba(139,194,214,.26) !important;
  stroke-dasharray:3 8 !important;
}

.callout-copy::before{
  display:none !important;
}

.callout-title{
  color:#f6fafb !important;
  font-weight:790 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.58) !important;
}

.orbit-callout p{
  color:#d3dde2 !important;
  font-weight:430 !important;
  text-shadow:0 2px 9px rgba(0,0,0,.62) !important;
}

.callout-process .callout-dot,
.callout-clients .callout-dot,
.callout-info .callout-dot,
.callout-growth .callout-dot{
  background:var(--actuia-teal-light) !important;
  box-shadow:0 0 0 4px rgba(102,201,193,.10) !important;
}

.callout-line{
  background:rgba(102,201,193,.55) !important;
  opacity:1 !important;
}

.hero-proof{
  background:rgba(3,17,28,.97) !important;
  border-top:1px solid rgba(150,197,215,.14) !important;
}

.proof-label{
  color:#778f9d !important;
}

.proof-item,
.proof-item:nth-child(1),
.proof-item:nth-child(2),
.proof-item:nth-child(3),
.proof-item:nth-child(4){
  color:#c3d1d7 !important;
  border-color:rgba(164,195,208,.10) !important;
  font-weight:720 !important;
}

/* Services: one restrained component family instead of six pastel identities. */
section#que-hacemos{
  background:#fff !important;
  padding:96px 0 !important;
}

section#que-hacemos::before{
  display:none !important;
}

.services-grid{
  gap:18px !important;
}

.service-card,
.accent-cyan,
.accent-violet,
.accent-blue,
.accent-teal,
.accent-amber,
.accent-coral{
  min-height:236px !important;
  padding:28px 28px 26px !important;
  border:1px solid var(--actuia-line) !important;
  border-radius:var(--actuia-radius) !important;
  background:#fff !important;
  box-shadow:none !important;
}

.service-card::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:28px !important;
  right:28px !important;
  top:-1px !important;
  width:auto !important;
  height:2px !important;
  border-radius:0 !important;
  background:var(--actuia-blue) !important;
  opacity:.72;
}

.service-card:hover{
  transform:translateY(-3px) !important;
  border-color:#bdced7 !important;
  box-shadow:var(--actuia-shadow) !important;
}

.service-icon,
.accent-cyan .service-icon,
.accent-violet .service-icon,
.accent-blue .service-icon,
.accent-teal .service-icon,
.accent-amber .service-icon,
.accent-coral .service-icon{
  width:58px !important;
  height:58px !important;
  margin-bottom:22px !important;
  border-radius:12px !important;
  background:#edf5f8 !important;
  border:1px solid #d9e8ed !important;
  box-shadow:none !important;
}

.service-icon svg,
.accent-cyan .service-icon svg,
.accent-violet .service-icon svg,
.accent-blue .service-icon svg,
.accent-teal .service-icon svg,
.accent-amber .service-icon svg,
.accent-coral .service-icon svg{
  width:34px !important;
  height:34px !important;
  stroke:var(--actuia-blue) !important;
  stroke-width:1.3 !important;
}

.service-card h3{
  color:var(--actuia-ink) !important;
  font-size:1.13rem !important;
  margin-bottom:10px !important;
}

.service-card p{
  color:var(--actuia-muted) !important;
  font-size:.94rem !important;
  line-height:1.62 !important;
}

/* Perspective: one strong editorial contrast section, no decorative gradients. */
.dark{
  background:var(--actuia-navy-900) !important;
}

.dark::before,
.dark::after{
  display:none !important;
}

.dark-grid{
  gap:84px !important;
}

.statement{
  color:#fff !important;
  font-size:clamp(2.55rem,4.3vw,4.4rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.052em !important;
}

.statement span{
  color:var(--actuia-teal-light) !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}

.dark p{
  color:#b8c8d0 !important;
}

.dark h3,
.dark .logic-row h3{
  color:#fff !important;
}

.logic-row{
  padding:19px 0 !important;
  border-radius:0 !important;
  border-top:1px solid rgba(179,209,220,.14) !important;
}

.logic-row:hover{
  transform:none !important;
  background:transparent !important;
}

.logic-row .num,
.logic-num{
  background:#0e405d !important;
  color:#9fd6de !important;
  box-shadow:none !important;
}

/* Process: reduce ornament, align all stages to one visual system. */
.timeline-section.editorial-timeline{
  padding:92px 0 98px !important;
  background:var(--actuia-surface) !important;
}

.timeline-section::before,
.timeline-section::after{
  display:none !important;
}

.editorial-timeline .timeline-head{
  margin-bottom:56px !important;
}

.editorial-rail{
  top:45px !important;
  height:1px !important;
  background:#cbdbe2 !important;
}

.editorial-rail-progress{
  background:linear-gradient(90deg,var(--actuia-blue),var(--actuia-teal)) !important;
  animation:none !important;
}

.editorial-grid{
  gap:26px !important;
}

.editorial-node{
  width:90px !important;
  height:90px !important;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid #cfdee5 !important;
  box-shadow:0 9px 24px rgba(15,54,76,.07),0 0 0 6px rgba(255,255,255,.72) !important;
}

.editorial-node::before{
  inset:8px !important;
  background:#e7f2f5 !important;
  opacity:1 !important;
}

.editorial-node svg,
.step-cyan .editorial-node svg,
.step-teal .editorial-node svg,
.step-violet .editorial-node svg,
.step-blue .editorial-node svg,
.step-amber .editorial-node svg{
  position:relative !important;
  z-index:1 !important;
  width:36px !important;
  height:36px !important;
  stroke:var(--actuia-blue) !important;
}

.step-index,
.step-cyan .step-index,
.step-teal .step-index,
.step-violet .step-index,
.step-blue .step-index,
.step-amber .step-index{
  z-index:2 !important;
  top:-5px !important;
  right:-7px !important;
  min-width:30px !important;
  height:30px !important;
  background:var(--actuia-navy-800) !important;
  box-shadow:none !important;
}

.editorial-stem{
  height:28px !important;
  background:#cbdbe2 !important;
}

.editorial-kicker,
.step-cyan .editorial-kicker,
.step-teal .editorial-kicker,
.step-violet .editorial-kicker,
.step-blue .editorial-kicker,
.step-amber .editorial-kicker{
  color:var(--actuia-blue) !important;
}

.editorial-copy h3{
  color:var(--actuia-ink) !important;
  font-size:1.02rem !important;
}

.editorial-copy p{
  color:var(--actuia-muted) !important;
  font-size:.86rem !important;
  line-height:1.56 !important;
}

.editorial-meta{
  color:#7d919c !important;
}

.editorial-grid:hover .editorial-step{
  opacity:1 !important;
}

.editorial-step:hover,
.editorial-grid .editorial-step:hover{
  transform:translateY(-2px) !important;
}

.editorial-step:hover .editorial-node{
  transform:none !important;
  box-shadow:0 12px 28px rgba(15,54,76,.10),0 0 0 6px rgba(255,255,255,.76) !important;
}

/* Audience: remove the four unrelated color blocks. */
.impact-section{
  background:#fff !important;
}

.impact-section::before,
.impact-section::after{
  display:none !important;
}

.impact-head{
  gap:72px !important;
  margin-bottom:48px !important;
}

.impact-grid{
  gap:16px !important;
}

.impact-card,
.impact-navy,
.impact-cyan,
.impact-teal,
.impact-warm{
  min-height:188px !important;
  padding:26px !important;
  grid-template-columns:58px 1fr !important;
  border-radius:var(--actuia-radius) !important;
  border:1px solid var(--actuia-line) !important;
  background:var(--actuia-surface) !important;
  color:var(--actuia-text) !important;
  box-shadow:none !important;
}

.impact-card::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:3px;
  background:var(--actuia-blue);
  opacity:.78;
}

.impact-card::after{
  display:none !important;
}

.impact-card:hover{
  transform:translateY(-3px) !important;
  border-color:#c0d1d9 !important;
  box-shadow:var(--actuia-shadow) !important;
}

.impact-emoji{
  width:52px !important;
  height:52px !important;
  border-radius:11px !important;
  background:#fff !important;
  border:1px solid #d6e4ea !important;
  color:var(--actuia-blue) !important;
  box-shadow:none !important;
}

.impact-emoji svg{
  stroke:var(--actuia-blue) !important;
}

.impact-card:hover .impact-emoji{
  transform:none !important;
}

.impact-kicker{
  color:var(--actuia-blue) !important;
  font-weight:800 !important;
}

.impact-card h3{
  color:var(--actuia-ink) !important;
}

.impact-card p{
  color:var(--actuia-muted) !important;
}

/* About: an open editorial statement, not another card. */
.about{
  background:var(--actuia-surface) !important;
}

.about-box{
  max-width:980px !important;
  padding:58px 42px !important;
  background:transparent !important;
  border:0 !important;
  border-top:1px solid #cfdde3 !important;
  border-bottom:1px solid #cfdde3 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.about-box:hover{
  transform:none !important;
  box-shadow:none !important;
}

.about-box p{
  max-width:820px !important;
}

.tags{
  gap:8px 18px !important;
  margin-top:28px !important;
}

.tag{
  padding:6px 0 !important;
  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid #bfcfd7 !important;
  background:transparent !important;
  color:#39576a !important;
  box-shadow:none !important;
  font-size:.82rem !important;
  font-weight:720 !important;
}

.tag:hover{
  transform:none !important;
  color:var(--actuia-blue) !important;
  box-shadow:none !important;
}

/* Contact and footer: decisive, quiet brand close. */
.contact{
  background:var(--actuia-navy-900) !important;
}

.contact::before,
.contact::after{
  display:none !important;
}

.contact-grid{
  gap:82px !important;
}

.contact h2{
  color:#fff !important;
  max-width:520px;
}

.contact p{
  color:#b9cad2 !important;
  line-height:1.68 !important;
}

.form{
  gap:12px !important;
}

.form input,
.form textarea{
  border:1px solid rgba(178,208,220,.24) !important;
  background:#0d2b3f !important;
  color:#fff !important;
  border-radius:9px !important;
  padding:15px 16px !important;
  box-shadow:none !important;
}

.form input::placeholder,
.form textarea::placeholder{
  color:#aebfc7 !important;
  opacity:1;
}

.form input:hover,
.form textarea:hover{
  background:#11344a !important;
  border-color:rgba(178,208,220,.38) !important;
}

.form input:focus,
.form textarea:focus{
  transform:none !important;
  background:#11344a !important;
  border-color:#76c7d3 !important;
  box-shadow:0 0 0 3px rgba(118,199,211,.12) !important;
}

.form-note{
  color:#9db1bc !important;
}

footer{
  background:var(--actuia-navy-950) !important;
  color:#92a6b0 !important;
  border-top:1px solid rgba(167,200,212,.12);
}

footer:hover{
  background:var(--actuia-navy-950) !important;
}

/* Consistent focus treatment. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:2px solid #76c7d3 !important;
  outline-offset:3px !important;
}

@media(max-width:1180px){
  .wrap{
    width:min(1200px,calc(100% - 44px)) !important;
  }
  .menu{gap:18px !important}
  .menu a{font-size:.85rem !important}
  .editorial-grid{gap:18px !important}
}

@media(max-width:980px){
  section{
    padding:82px 0 !important;
  }
  .nav{
    height:76px !important;
  }
  .hero-grid{
    padding:30px 0 22px !important;
  }
  .dark-grid,
  .impact-head,
  .contact-grid{
    gap:48px !important;
  }
  .impact-head{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  .wrap{
    width:calc(100% - 30px) !important;
  }
  section,
  section#que-hacemos{
    padding:68px 0 !important;
  }
  section[id]{
    scroll-margin-top:78px;
  }
  h2{
    font-size:clamp(2rem,10vw,2.65rem) !important;
  }
  .section-head{
    margin-bottom:38px !important;
  }
  .logo::before{
    width:160px !important;
    height:64px !important;
  }
  .logo img{
    height:52px !important;
    max-height:52px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.62rem,12vw,3.1rem) !important;
  }
  .hero-copy .lead{
    font-size:1rem !important;
  }
  .services-grid{
    gap:12px !important;
  }
  .service-card,
  .accent-cyan,
  .accent-violet,
  .accent-blue,
  .accent-teal,
  .accent-amber,
  .accent-coral{
    min-height:auto !important;
    padding:24px !important;
  }
  .service-card::before{
    left:24px !important;
    right:24px !important;
  }
  .service-icon,
  .accent-cyan .service-icon,
  .accent-violet .service-icon,
  .accent-blue .service-icon,
  .accent-teal .service-icon,
  .accent-amber .service-icon,
  .accent-coral .service-icon{
    width:54px !important;
    height:54px !important;
    margin-bottom:18px !important;
  }
  .dark-grid{
    gap:38px !important;
  }
  .statement{
    font-size:clamp(2.4rem,11vw,3.2rem) !important;
  }
  .editorial-timeline-shell{
    max-width:620px;
  }
  .editorial-rail{
    left:43px !important;
  }
  .editorial-step{
    grid-template-columns:88px 1fr !important;
    column-gap:17px !important;
  }
  .editorial-node{
    width:86px !important;
    height:86px !important;
  }
  .editorial-copy{
    padding-top:3px !important;
  }
  .editorial-copy h3{
    font-size:1rem !important;
  }
  .impact-grid{
    grid-template-columns:1fr !important;
  }
  .impact-card,
  .impact-navy,
  .impact-cyan,
  .impact-teal,
  .impact-warm{
    min-height:auto !important;
    padding:23px !important;
    grid-template-columns:50px 1fr !important;
  }
  .impact-emoji{
    width:46px !important;
    height:46px !important;
  }
  .about-box{
    padding:42px 0 !important;
  }
  .tags{
    gap:7px 15px !important;
  }
  .form{
    grid-template-columns:1fr !important;
  }
  .form input,
  .form textarea,
  .form .wide,
  .form-note{
    grid-column:1 !important;
  }
}

@media(max-width:520px){
  .nav{
    height:72px !important;
  }
  .logo{
    min-width:92px !important;
  }
  .logo img{
    height:49px !important;
    max-height:49px !important;
  }
  header .btn.primary{
    min-height:39px !important;
    padding:0 12px !important;
    font-size:.8rem !important;
  }
  .hero-grid{
    padding-top:25px !important;
  }
  .hero .eyebrow{
    font-size:.66rem !important;
    letter-spacing:.085em !important;
  }
  .brand-orbit{
    transform:scale(.70) !important;
  }
  .proof-label{
    display:none !important;
  }
  .hero-proof .wrap{
    justify-content:center !important;
  }
  .proof-items{
    width:100% !important;
    justify-content:space-between !important;
    gap:8px !important;
  }
  .proof-item{
    font-size:.58rem !important;
    padding:0 !important;
    border:0 !important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}

/* ============================================================
   ACTUIA V28 (base V24→V27) — stronger brand presence and controlled contrast
   Built as a reversible visual layer over V23.
   ============================================================ */

:root{
  --actuia-navy-950:#03111c;
  --actuia-navy-900:#071c2a;
  --actuia-navy-800:#0d2b3f;
  --actuia-ink:#102a3d;
  --actuia-text:#405767;
  --actuia-muted:#6b7f8d;
  --actuia-blue:#1178b5;
  --actuia-blue-dark:#0b6399;
  --actuia-teal:#1aa39a;
  --actuia-teal-light:#66c9c1;
  --actuia-surface:#f4f7f9;
  --actuia-surface-2:#edf3f6;
  --actuia-line:#d9e4e9;
  --actuia-white:#ffffff;
  --actuia-radius:14px;
  --actuia-shadow:0 18px 44px rgba(13,43,63,.07);
}

body{
  color:var(--actuia-text) !important;
  background:#fff !important;
  font-weight:430;
}

.wrap{
  width:min(1200px,calc(100% - 56px)) !important;
}

section{
  padding:96px 0 !important;
}

section[id]{
  scroll-margin-top:88px;
}

h1,h2,h3{
  color:var(--actuia-ink) !important;
}

h2{
  font-size:clamp(2.3rem,3.5vw,3.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}

h3{
  letter-spacing:-.022em !important;
}

.eyebrow{
  color:var(--actuia-blue) !important;
  font-size:.72rem !important;
  font-weight:820 !important;
  letter-spacing:.12em !important;
  margin-bottom:15px !important;
}

.section-head{
  max-width:780px !important;
  margin:0 auto 54px !important;
}

.section-head p,
.impact-head > p,
.about-box p{
  color:var(--actuia-muted) !important;
  line-height:1.68 !important;
}

.btn{
  min-height:46px !important;
  border-radius:9px !important;
  font-size:.91rem !important;
  font-weight:780 !important;
}

.btn.primary,
header .btn.primary,
.hero .btn.primary{
  background:var(--actuia-blue) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 24px rgba(7,86,132,.20) !important;
}

.btn.primary:hover,
header .btn.primary:hover,
.hero .btn.primary:hover{
  background:var(--actuia-blue-dark) !important;
  box-shadow:0 13px 28px rgba(7,70,109,.23) !important;
  transform:translateY(-2px) !important;
}

/* Header: restrained glass, one clear reading field. */
header{
  background:
    radial-gradient(ellipse 230px 92px at 7% 50%,rgba(255,255,255,.88),rgba(230,240,245,.48) 48%,rgba(7,25,38,0) 100%),
    rgba(5,22,35,.93) !important;
  border-bottom:1px solid rgba(157,197,216,.17) !important;
  box-shadow:0 8px 24px rgba(0,10,18,.18) !important;
  backdrop-filter:blur(14px) saturate(118%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(118%) !important;
}

.nav{
  height:78px !important;
  gap:28px !important;
}

.logo{
  min-width:116px !important;
}

.logo::before{
  left:-20px !important;
  width:185px !important;
  height:68px !important;
  background:radial-gradient(ellipse at 43% 50%,rgba(255,255,255,.66),rgba(238,245,248,.30) 52%,transparent 78%) !important;
  filter:blur(8px) !important;
}

.logo img{
  width:auto !important;
  height:58px !important;
  max-height:58px !important;
  filter:drop-shadow(0 3px 9px rgba(4,18,28,.12)) !important;
}

.menu{
  gap:25px !important;
}

.menu a{
  color:rgba(241,246,248,.88) !important;
  font-size:.89rem !important;
  font-weight:650 !important;
  letter-spacing:-.008em !important;
  text-shadow:none !important;
}

.menu a::after{
  height:1px !important;
  background:var(--actuia-teal-light) !important;
  box-shadow:none !important;
}

/* Hero: retain the brand asset and photography; remove the generic AI glow language. */
.hero{
  color:#fff !important;
}

.hero::before{
  background:linear-gradient(90deg,
    rgba(2,10,17,.99) 0%,
    rgba(3,15,26,.97) 25%,
    rgba(5,26,42,.91) 44%,
    rgba(5,29,47,.64) 62%,
    rgba(4,22,36,.30) 80%,
    rgba(2,13,22,.12) 100%) !important;
}

.hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 62%,rgba(2,11,18,.30)) !important;
}

.hero-grid{
  padding:34px 0 28px !important;
}

.hero .eyebrow{
  color:#b8dce8 !important;
  background:rgba(6,34,51,.62) !important;
  border:1px solid rgba(135,192,214,.25) !important;
  box-shadow:none !important;
}

.hero-copy h1{
  color:#fff !important;
  font-weight:835 !important;
  letter-spacing:-.054em !important;
  text-shadow:0 5px 24px rgba(0,0,0,.30) !important;
}

.hero-copy .accent{
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:var(--actuia-teal-light) !important;
  filter:none !important;
  text-shadow:0 5px 24px rgba(0,0,0,.28) !important;
}

.hero-copy .lead{
  color:#c9d5db !important;
  font-weight:430 !important;
  line-height:1.66 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.30) !important;
}

.hero-link{
  color:#d2e5eb !important;
  font-weight:720 !important;
  text-shadow:none !important;
}

.hero-link:hover{
  color:#fff !important;
}

.orbit-particle{
  display:none !important;
}

.orbit-center::before{
  display:none !important;
}

.orbit-glow{
  background:radial-gradient(circle,rgba(20,113,155,.18),rgba(3,22,35,.08) 52%,transparent 72%) !important;
  filter:none !important;
}

.orbit-center{
  width:216px !important;
  height:216px !important;
}

.center-halo{
  width:202px !important;
  height:202px !important;
  background:radial-gradient(circle at 38% 30%,#174f70 0%,#0b3654 46%,#071e31 100%) !important;
  border:1px solid rgba(118,194,218,.46) !important;
  box-shadow:
    0 0 0 7px rgba(58,137,170,.09),
    0 22px 48px rgba(0,8,14,.30),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.orbit-center img{
  width:auto !important;
  height:176px !important;
  max-height:176px !important;
  filter:drop-shadow(0 14px 20px rgba(0,0,0,.26)) !important;
}

.orbit-a,
.orbit-b,
.orbit-b::after{
  border-color:rgba(115,184,208,.22) !important;
  box-shadow:none !important;
}

.orbit-b::after{
  animation:none !important;
}

.orbit-connectors path{
  stroke:rgba(139,194,214,.26) !important;
  stroke-dasharray:3 8 !important;
}

.callout-copy::before{
  display:none !important;
}

.callout-title{
  color:#f6fafb !important;
  font-weight:790 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.58) !important;
}

.orbit-callout p{
  color:#d3dde2 !important;
  font-weight:430 !important;
  text-shadow:0 2px 9px rgba(0,0,0,.62) !important;
}

.callout-process .callout-dot,
.callout-clients .callout-dot,
.callout-info .callout-dot,
.callout-growth .callout-dot{
  background:var(--actuia-teal-light) !important;
  box-shadow:0 0 0 4px rgba(102,201,193,.10) !important;
}

.callout-line{
  background:rgba(102,201,193,.55) !important;
  opacity:1 !important;
}

.hero-proof{
  background:rgba(3,17,28,.97) !important;
  border-top:1px solid rgba(150,197,215,.14) !important;
}

.proof-label{
  color:#778f9d !important;
}

.proof-item,
.proof-item:nth-child(1),
.proof-item:nth-child(2),
.proof-item:nth-child(3),
.proof-item:nth-child(4){
  color:#c3d1d7 !important;
  border-color:rgba(164,195,208,.10) !important;
  font-weight:720 !important;
}

/* Services: one restrained component family instead of six pastel identities. */
section#que-hacemos{
  background:#fff !important;
  padding:96px 0 !important;
}

section#que-hacemos::before{
  display:none !important;
}

.services-grid{
  gap:18px !important;
}

.service-card,
.accent-cyan,
.accent-violet,
.accent-blue,
.accent-teal,
.accent-amber,
.accent-coral{
  min-height:236px !important;
  padding:28px 28px 26px !important;
  border:1px solid var(--actuia-line) !important;
  border-radius:var(--actuia-radius) !important;
  background:#fff !important;
  box-shadow:none !important;
}

.service-card::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:28px !important;
  right:28px !important;
  top:-1px !important;
  width:auto !important;
  height:2px !important;
  border-radius:0 !important;
  background:var(--actuia-blue) !important;
  opacity:.72;
}

.service-card:hover{
  transform:translateY(-3px) !important;
  border-color:#bdced7 !important;
  box-shadow:var(--actuia-shadow) !important;
}

.service-icon,
.accent-cyan .service-icon,
.accent-violet .service-icon,
.accent-blue .service-icon,
.accent-teal .service-icon,
.accent-amber .service-icon,
.accent-coral .service-icon{
  width:58px !important;
  height:58px !important;
  margin-bottom:22px !important;
  border-radius:12px !important;
  background:#edf5f8 !important;
  border:1px solid #d9e8ed !important;
  box-shadow:none !important;
}

.service-icon svg,
.accent-cyan .service-icon svg,
.accent-violet .service-icon svg,
.accent-blue .service-icon svg,
.accent-teal .service-icon svg,
.accent-amber .service-icon svg,
.accent-coral .service-icon svg{
  width:34px !important;
  height:34px !important;
  stroke:var(--actuia-blue) !important;
  stroke-width:1.3 !important;
}

.service-card h3{
  color:var(--actuia-ink) !important;
  font-size:1.13rem !important;
  margin-bottom:10px !important;
}

.service-card p{
  color:var(--actuia-muted) !important;
  font-size:.94rem !important;
  line-height:1.62 !important;
}

/* Perspective: one strong editorial contrast section, no decorative gradients. */
.dark{
  background:var(--actuia-navy-900) !important;
}

.dark::before,
.dark::after{
  display:none !important;
}

.dark-grid{
  gap:84px !important;
}

.statement{
  color:#fff !important;
  font-size:clamp(2.55rem,4.3vw,4.4rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.052em !important;
}

.statement span{
  color:var(--actuia-teal-light) !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}

.dark p{
  color:#b8c8d0 !important;
}

.dark h3,
.dark .logic-row h3{
  color:#fff !important;
}

.logic-row{
  padding:19px 0 !important;
  border-radius:0 !important;
  border-top:1px solid rgba(179,209,220,.14) !important;
}

.logic-row:hover{
  transform:none !important;
  background:transparent !important;
}

.logic-row .num,
.logic-num{
  background:#0e405d !important;
  color:#9fd6de !important;
  box-shadow:none !important;
}

/* Process: reduce ornament, align all stages to one visual system. */
.timeline-section.editorial-timeline{
  padding:92px 0 98px !important;
  background:var(--actuia-surface) !important;
}

.timeline-section::before,
.timeline-section::after{
  display:none !important;
}

.editorial-timeline .timeline-head{
  margin-bottom:56px !important;
}

.editorial-rail{
  top:45px !important;
  height:1px !important;
  background:#cbdbe2 !important;
}

.editorial-rail-progress{
  background:linear-gradient(90deg,var(--actuia-blue),var(--actuia-teal)) !important;
  animation:none !important;
}

.editorial-grid{
  gap:26px !important;
}

.editorial-node{
  width:90px !important;
  height:90px !important;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid #cfdee5 !important;
  box-shadow:0 9px 24px rgba(15,54,76,.07),0 0 0 6px rgba(255,255,255,.72) !important;
}

.editorial-node::before{
  inset:8px !important;
  background:#e7f2f5 !important;
  opacity:1 !important;
}

.editorial-node svg,
.step-cyan .editorial-node svg,
.step-teal .editorial-node svg,
.step-violet .editorial-node svg,
.step-blue .editorial-node svg,
.step-amber .editorial-node svg{
  position:relative !important;
  z-index:1 !important;
  width:36px !important;
  height:36px !important;
  stroke:var(--actuia-blue) !important;
}

.step-index,
.step-cyan .step-index,
.step-teal .step-index,
.step-violet .step-index,
.step-blue .step-index,
.step-amber .step-index{
  z-index:2 !important;
  top:-5px !important;
  right:-7px !important;
  min-width:30px !important;
  height:30px !important;
  background:var(--actuia-navy-800) !important;
  box-shadow:none !important;
}

.editorial-stem{
  height:28px !important;
  background:#cbdbe2 !important;
}

.editorial-kicker,
.step-cyan .editorial-kicker,
.step-teal .editorial-kicker,
.step-violet .editorial-kicker,
.step-blue .editorial-kicker,
.step-amber .editorial-kicker{
  color:var(--actuia-blue) !important;
}

.editorial-copy h3{
  color:var(--actuia-ink) !important;
  font-size:1.02rem !important;
}

.editorial-copy p{
  color:var(--actuia-muted) !important;
  font-size:.86rem !important;
  line-height:1.56 !important;
}

.editorial-meta{
  color:#7d919c !important;
}

.editorial-grid:hover .editorial-step{
  opacity:1 !important;
}

.editorial-step:hover,
.editorial-grid .editorial-step:hover{
  transform:translateY(-2px) !important;
}

.editorial-step:hover .editorial-node{
  transform:none !important;
  box-shadow:0 12px 28px rgba(15,54,76,.10),0 0 0 6px rgba(255,255,255,.76) !important;
}

/* Audience: remove the four unrelated color blocks. */
.impact-section{
  background:#fff !important;
}

.impact-section::before,
.impact-section::after{
  display:none !important;
}

.impact-head{
  gap:72px !important;
  margin-bottom:48px !important;
}

.impact-grid{
  gap:16px !important;
}

.impact-card,
.impact-navy,
.impact-cyan,
.impact-teal,
.impact-warm{
  min-height:188px !important;
  padding:26px !important;
  grid-template-columns:58px 1fr !important;
  border-radius:var(--actuia-radius) !important;
  border:1px solid var(--actuia-line) !important;
  background:var(--actuia-surface) !important;
  color:var(--actuia-text) !important;
  box-shadow:none !important;
}

.impact-card::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:3px;
  background:var(--actuia-blue);
  opacity:.78;
}

.impact-card::after{
  display:none !important;
}

.impact-card:hover{
  transform:translateY(-3px) !important;
  border-color:#c0d1d9 !important;
  box-shadow:var(--actuia-shadow) !important;
}

.impact-emoji{
  width:52px !important;
  height:52px !important;
  border-radius:11px !important;
  background:#fff !important;
  border:1px solid #d6e4ea !important;
  color:var(--actuia-blue) !important;
  box-shadow:none !important;
}

.impact-emoji svg{
  stroke:var(--actuia-blue) !important;
}

.impact-card:hover .impact-emoji{
  transform:none !important;
}

.impact-kicker{
  color:var(--actuia-blue) !important;
  font-weight:800 !important;
}

.impact-card h3{
  color:var(--actuia-ink) !important;
}

.impact-card p{
  color:var(--actuia-muted) !important;
}

/* About: an open editorial statement, not another card. */
.about{
  background:var(--actuia-surface) !important;
}

.about-box{
  max-width:980px !important;
  padding:58px 42px !important;
  background:transparent !important;
  border:0 !important;
  border-top:1px solid #cfdde3 !important;
  border-bottom:1px solid #cfdde3 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.about-box:hover{
  transform:none !important;
  box-shadow:none !important;
}

.about-box p{
  max-width:820px !important;
}

.tags{
  gap:8px 18px !important;
  margin-top:28px !important;
}

.tag{
  padding:6px 0 !important;
  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid #bfcfd7 !important;
  background:transparent !important;
  color:#39576a !important;
  box-shadow:none !important;
  font-size:.82rem !important;
  font-weight:720 !important;
}

.tag:hover{
  transform:none !important;
  color:var(--actuia-blue) !important;
  box-shadow:none !important;
}

/* Contact and footer: decisive, quiet brand close. */
.contact{
  background:var(--actuia-navy-900) !important;
}

.contact::before,
.contact::after{
  display:none !important;
}

.contact-grid{
  gap:82px !important;
}

.contact h2{
  color:#fff !important;
  max-width:520px;
}

.contact p{
  color:#b9cad2 !important;
  line-height:1.68 !important;
}

.form{
  gap:12px !important;
}

.form input,
.form textarea{
  border:1px solid rgba(178,208,220,.24) !important;
  background:#0d2b3f !important;
  color:#fff !important;
  border-radius:9px !important;
  padding:15px 16px !important;
  box-shadow:none !important;
}

.form input::placeholder,
.form textarea::placeholder{
  color:#aebfc7 !important;
  opacity:1;
}

.form input:hover,
.form textarea:hover{
  background:#11344a !important;
  border-color:rgba(178,208,220,.38) !important;
}

.form input:focus,
.form textarea:focus{
  transform:none !important;
  background:#11344a !important;
  border-color:#76c7d3 !important;
  box-shadow:0 0 0 3px rgba(118,199,211,.12) !important;
}

.form-note{
  color:#9db1bc !important;
}

footer{
  background:var(--actuia-navy-950) !important;
  color:#92a6b0 !important;
  border-top:1px solid rgba(167,200,212,.12);
}

footer:hover{
  background:var(--actuia-navy-950) !important;
}

/* Consistent focus treatment. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:2px solid #76c7d3 !important;
  outline-offset:3px !important;
}

@media(max-width:1180px){
  .wrap{
    width:min(1200px,calc(100% - 44px)) !important;
  }
  .menu{gap:18px !important}
  .menu a{font-size:.85rem !important}
  .editorial-grid{gap:18px !important}
}

@media(max-width:980px){
  section{
    padding:82px 0 !important;
  }
  .nav{
    height:76px !important;
  }
  .hero-grid{
    padding:30px 0 22px !important;
  }
  .dark-grid,
  .impact-head,
  .contact-grid{
    gap:48px !important;
  }
  .impact-head{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  .wrap{
    width:calc(100% - 30px) !important;
  }
  section,
  section#que-hacemos{
    padding:68px 0 !important;
  }
  section[id]{
    scroll-margin-top:78px;
  }
  h2{
    font-size:clamp(2rem,10vw,2.65rem) !important;
  }
  .section-head{
    margin-bottom:38px !important;
  }
  .logo::before{
    width:160px !important;
    height:64px !important;
  }
  .logo img{
    height:52px !important;
    max-height:52px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.62rem,12vw,3.1rem) !important;
  }
  .hero-copy .lead{
    font-size:1rem !important;
  }
  .services-grid{
    gap:12px !important;
  }
  .service-card,
  .accent-cyan,
  .accent-violet,
  .accent-blue,
  .accent-teal,
  .accent-amber,
  .accent-coral{
    min-height:auto !important;
    padding:24px !important;
  }
  .service-card::before{
    left:24px !important;
    right:24px !important;
  }
  .service-icon,
  .accent-cyan .service-icon,
  .accent-violet .service-icon,
  .accent-blue .service-icon,
  .accent-teal .service-icon,
  .accent-amber .service-icon,
  .accent-coral .service-icon{
    width:54px !important;
    height:54px !important;
    margin-bottom:18px !important;
  }
  .dark-grid{
    gap:38px !important;
  }
  .statement{
    font-size:clamp(2.4rem,11vw,3.2rem) !important;
  }
  .editorial-timeline-shell{
    max-width:620px;
  }
  .editorial-rail{
    left:43px !important;
  }
  .editorial-step{
    grid-template-columns:88px 1fr !important;
    column-gap:17px !important;
  }
  .editorial-node{
    width:86px !important;
    height:86px !important;
  }
  .editorial-copy{
    padding-top:3px !important;
  }
  .editorial-copy h3{
    font-size:1rem !important;
  }
  .impact-grid{
    grid-template-columns:1fr !important;
  }
  .impact-card,
  .impact-navy,
  .impact-cyan,
  .impact-teal,
  .impact-warm{
    min-height:auto !important;
    padding:23px !important;
    grid-template-columns:50px 1fr !important;
  }
  .impact-emoji{
    width:46px !important;
    height:46px !important;
  }
  .about-box{
    padding:42px 0 !important;
  }
  .tags{
    gap:7px 15px !important;
  }
  .form{
    grid-template-columns:1fr !important;
  }
  .form input,
  .form textarea,
  .form .wide,
  .form-note{
    grid-column:1 !important;
  }
}

@media(max-width:520px){
  .nav{
    height:72px !important;
  }
  .logo{
    min-width:92px !important;
  }
  .logo img{
    height:49px !important;
    max-height:49px !important;
  }
  header .btn.primary{
    min-height:39px !important;
    padding:0 12px !important;
    font-size:.8rem !important;
  }
  .hero-grid{
    padding-top:25px !important;
  }
  .hero .eyebrow{
    font-size:.66rem !important;
    letter-spacing:.085em !important;
  }
  .brand-orbit{
    transform:scale(.70) !important;
  }
  .proof-label{
    display:none !important;
  }
  .hero-proof .wrap{
    justify-content:center !important;
  }
  .proof-items{
    width:100% !important;
    justify-content:space-between !important;
    gap:8px !important;
  }
  .proof-item{
    font-size:.58rem !important;
    padding:0 !important;
    border:0 !important;
  }
}

/* ============================================================
   ACTUIA V25 — living interface layer
   Motion adds rhythm and feedback without changing the approved
   information architecture or visual identity.
   ============================================================ */

header{
  transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease !important;
}

header.is-scrolled{
  background-color:rgba(4,20,32,.97) !important;
  border-bottom-color:rgba(102,201,193,.28) !important;
  box-shadow:0 13px 34px rgba(0,10,18,.26) !important;
}

.menu a{
  transition:color .2s ease,opacity .2s ease !important;
}

.menu a.is-active,
.menu a[aria-current="page"]{
  color:#fff !important;
}

.menu a.is-active::after,
.menu a[aria-current="page"]::after{
  transform:scaleX(1) !important;
  transform-origin:left !important;
}

.experience-ready .reveal-ready{
  opacity:0;
  translate:0 24px;
  transition:
    opacity .7s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),
    translate .7s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms) !important;
  will-change:opacity,translate;
}

.experience-ready .reveal-ready.is-visible{
  opacity:1;
  translate:0 0;
}

.hero-copy > .reveal-ready{
  translate:-20px 16px;
}

.hero-copy > .reveal-ready.is-visible{
  translate:0 0;
}

.orbit-callout.reveal-ready{
  translate:0 12px;
}

.orbit-callout.reveal-ready.is-visible{
  translate:0 0;
}

.orbit-a{
  border-top-color:rgba(102,201,193,.72) !important;
  border-right-color:rgba(59,178,193,.18) !important;
  border-bottom-color:rgba(59,178,193,.34) !important;
  border-left-color:rgba(88,169,220,.18) !important;
  animation:v25-orbit 28s linear infinite !important;
}

.orbit-b{
  border-top-color:rgba(82,111,158,.48) !important;
  border-right-color:rgba(210,154,60,.20) !important;
  border-bottom-color:rgba(73,134,179,.16) !important;
  border-left-color:rgba(73,134,179,.34) !important;
  animation:v25-orbit-reverse 38s linear infinite !important;
}

.orbit-b::after{
  border-top-color:rgba(210,154,60,.38) !important;
  border-right-color:rgba(198,111,89,.16) !important;
  animation:v25-orbit 30s linear infinite !important;
}

.orbit-connectors path{
  animation:v25-dash 12s linear infinite;
}

.center-halo{
  animation:v25-halo 5.6s ease-in-out infinite !important;
  transform-origin:center;
}

.orbit-center img{
  translate:var(--mark-x,0px) var(--mark-y,0px);
  transition:translate .22s ease-out !important;
}

.callout-dot{
  animation:v25-dot 3.8s ease-in-out infinite;
}

.callout-clients .callout-dot{animation-delay:.4s}
.callout-info .callout-dot{animation-delay:.8s}
.callout-growth .callout-dot{animation-delay:1.2s}

.hero .btn.primary{
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease !important;
}

.hero .btn.primary:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 16px 32px rgba(7,86,132,.31) !important;
}

.proof-item{
  transition:color .2s ease,translate .2s ease !important;
}

.proof-item:hover{
  color:#fff !important;
  translate:0 -2px;
}

.service-card,
.impact-card{
  transition:
    transform .28s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background-color .28s ease !important;
}

.service-icon,
.impact-emoji{
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease !important;
}

.service-card:hover{
  transform:translateY(-7px) !important;
  box-shadow:0 22px 48px rgba(13,43,63,.12) !important;
}

.service-card:hover .service-icon{
  transform:translateY(-4px) rotate(-2deg) !important;
  box-shadow:0 10px 22px rgba(20,68,91,.11) !important;
}

.impact-card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 20px 42px rgba(13,43,63,.11) !important;
}

.impact-card:hover .impact-emoji{
  transform:translateY(-3px) scale(1.04) !important;
  box-shadow:0 9px 20px rgba(20,68,91,.10) !important;
}

.logic-row{
  transition:transform .24s ease,background-color .24s ease,padding .24s ease !important;
}

.logic-row:hover{
  transform:translateX(7px) !important;
  background-color:rgba(255,255,255,.035) !important;
  padding-left:10px !important;
  padding-right:10px !important;
}

.editorial-rail-progress{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 1.5s cubic-bezier(.22,.61,.36,1) .18s !important;
}

.timeline-section:has(.editorial-step.is-visible) .editorial-rail-progress{
  transform:scaleX(1);
}

.editorial-step,
.editorial-node{
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease !important;
}

.editorial-step:hover{
  transform:translateY(-6px) !important;
}

.editorial-step:hover .editorial-node{
  transform:scale(1.045) !important;
  box-shadow:0 16px 34px rgba(15,54,76,.14),0 0 0 7px rgba(255,255,255,.84) !important;
}

.tag{
  transition:color .2s ease,transform .2s ease,border-color .2s ease !important;
}

.tag:hover{
  transform:translateY(-2px) !important;
}

.form input,
.form textarea{
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease !important;
}

.contact .btn.primary{
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease !important;
}

.contact .btn.primary:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 16px 32px rgba(7,86,132,.30) !important;
}

@keyframes v25-orbit{
  to{rotate:360deg}
}

@keyframes v25-orbit-reverse{
  to{rotate:-360deg}
}

@keyframes v25-dash{
  to{stroke-dashoffset:-44}
}

@keyframes v25-halo{
  0%,100%{scale:1;box-shadow:0 0 0 8px rgba(37,129,170,.14),0 18px 42px rgba(0,11,20,.32)}
  50%{scale:1.025;box-shadow:0 0 0 12px rgba(59,178,193,.10),0 22px 48px rgba(0,11,20,.36)}
}

@keyframes v25-dot{
  0%,100%{scale:1;opacity:.88}
  50%{scale:1.28;opacity:1}
}

@media(max-width:760px){
  .experience-ready .reveal-ready{
    translate:0 16px;
  }
  .experience-ready .reveal-ready.is-visible{
    translate:0 0;
  }
  .service-card:hover,
  .impact-card:hover,
  .editorial-step:hover{
    transform:translateY(-3px) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .experience-ready .reveal-ready,
  .experience-ready .reveal-ready.is-visible{
    opacity:1 !important;
    translate:0 0 !important;
    transition:none !important;
  }
  .orbit-a,
  .orbit-b,
  .orbit-b::after,
  .orbit-connectors path,
  .center-halo,
  .callout-dot{
    animation:none !important;
  }
  .editorial-rail-progress{
    transform:scaleX(1) !important;
    transition:none !important;
  }
  .orbit-center img{
    translate:0 0 !important;
  }
}

/* ============================================================
   ACTUIA V26 — expressive innovation system
   Brighter color, asymmetric editorial layouts and softer surfaces
   bring optimism and invention without losing senior credibility.
   ============================================================ */

:root{
  --v26-blue:#147fbd;
  --v26-cyan:#22b8c5;
  --v26-mint:#52c7a8;
  --v26-yellow:#f2be4d;
  --v26-coral:#ed765d;
  --v26-violet:#6259c7;
  --v26-ink:#102b3d;
  --v26-paper:#f7fbfc;
}

body{
  background:var(--v26-paper) !important;
}

h2{
  font-size:clamp(2.5rem,4vw,3.75rem) !important;
}

.btn{
  border-radius:14px !important;
}

header{
  border-bottom:3px solid rgba(34,184,197,.30) !important;
}

header .btn.primary,
.hero .btn.primary{
  background:var(--v26-coral) !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:0 12px 28px rgba(175,72,52,.28) !important;
}

header .btn.primary:hover,
.hero .btn.primary:hover{
  background:#dc654f !important;
  box-shadow:0 17px 34px rgba(175,72,52,.34) !important;
}

/* Hero: keep the strong photographic statement, but make the interface
   around it visibly optimistic and inventive. */
.hero .eyebrow{
  color:#eafffb !important;
  background:rgba(21,111,121,.68) !important;
  border-color:rgba(110,233,222,.56) !important;
}

.hero-copy .accent{
  color:#6fe0d2 !important;
}

.hero-link::after{
  background:var(--v26-yellow) !important;
  height:3px !important;
}

.orbit-callout .callout-copy{
  padding:9px 11px !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:13px !important;
  background:rgba(6,29,43,.68) !important;
  box-shadow:0 10px 24px rgba(0,12,20,.16) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

.center-halo{
  background:#fbffff !important;
  border:3px solid #54d0c2 !important;
  box-shadow:0 0 0 9px rgba(34,184,197,.16),0 20px 48px rgba(0,11,20,.34) !important;
}

.hero-proof{
  background:#071f2d !important;
  border-top:3px solid rgba(34,184,197,.24) !important;
}

.proof-item:nth-child(1){color:#62c8f2 !important}
.proof-item:nth-child(2){color:#69ddc1 !important}
.proof-item:nth-child(3){color:#f4c967 !important}
.proof-item:nth-child(4){color:#b8afff !important}

/* Services: an editorial bento composition replaces the formal matrix. */
section#que-hacemos{
  background:#f3fafc !important;
}

#que-hacemos .section-head{
  max-width:930px !important;
  margin:0 0 52px !important;
  text-align:left !important;
}

#que-hacemos .section-head h2{
  max-width:800px;
}

#que-hacemos .section-head p{
  max-width:740px;
}

.services-grid{
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:20px !important;
}

.service-card,
.accent-cyan,
.accent-violet,
.accent-blue,
.accent-teal,
.accent-amber,
.accent-coral{
  min-height:252px !important;
  padding:30px !important;
  border:0 !important;
  border-radius:26px !important;
  box-shadow:0 14px 36px rgba(21,63,82,.09) !important;
}

.service-card::before{
  display:none !important;
}

.service-card:nth-child(1){grid-column:span 7}
.service-card:nth-child(2){grid-column:span 5}
.service-card:nth-child(3),
.service-card:nth-child(4),
.service-card:nth-child(5){grid-column:span 4}
.service-card:nth-child(6){
  grid-column:span 12;
  min-height:158px !important;
  display:grid !important;
  grid-template-columns:72px minmax(240px,340px) 1fr !important;
  align-items:center !important;
  column-gap:26px !important;
}

.accent-cyan{background:#dff7f9 !important}
.accent-violet{background:#eceaff !important}
.accent-blue{background:#e1f0ff !important}
.accent-teal{background:#ddf7ed !important}
.accent-amber{background:#fff0cf !important}
.accent-coral{background:#ffe5df !important}

.service-icon,
.accent-cyan .service-icon,
.accent-violet .service-icon,
.accent-blue .service-icon,
.accent-teal .service-icon,
.accent-amber .service-icon,
.accent-coral .service-icon{
  width:66px !important;
  height:66px !important;
  margin-bottom:24px !important;
  border:1px solid rgba(255,255,255,.74) !important;
  border-radius:19px !important;
  background:rgba(255,255,255,.62) !important;
  box-shadow:0 8px 20px rgba(26,71,91,.08) !important;
}

.service-card:nth-child(6) .service-icon{
  margin-bottom:0 !important;
}

.service-card h3{
  font-size:1.3rem !important;
}

.service-card p{
  color:#496575 !important;
  font-size:1rem !important;
}

/* Perspective: a confident innovation color field with modular logic. */
.dark{
  background:#4542a5 !important;
}

.dark .eyebrow{
  color:#9ff1dd !important;
}

.statement span{
  color:#ffd36e !important;
}

.dark p{
  color:#e4e5ff !important;
}

.logic{
  display:grid !important;
  gap:12px !important;
}

.logic-row{
  padding:20px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.075) !important;
}

.logic-row:hover{
  background:rgba(255,255,255,.12) !important;
  padding-left:24px !important;
  padding-right:16px !important;
}

.logic-row:nth-child(1) .logic-num,
.logic-row:nth-child(1) .num{background:#1688bd !important;color:#fff !important}
.logic-row:nth-child(2) .logic-num,
.logic-row:nth-child(2) .num{background:#e2a939 !important;color:#2d2552 !important}
.logic-row:nth-child(3) .logic-num,
.logic-row:nth-child(3) .num{background:#42b99e !important;color:#fff !important}

/* Process: a lighter, more editorial flow with an asymmetric heading. */
.timeline-section.editorial-timeline{
  background:#f3f0ff !important;
}

.editorial-timeline .timeline-head{
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr) !important;
  gap:14px 70px !important;
  align-items:end !important;
  text-align:left !important;
}

.editorial-timeline .timeline-head .eyebrow{
  grid-column:1/-1 !important;
  margin-bottom:0 !important;
}

.editorial-timeline .timeline-head h2{
  grid-column:1 !important;
}

.editorial-timeline .timeline-head p{
  grid-column:2 !important;
  padding-bottom:8px;
  font-size:1.02rem !important;
}

.editorial-node{
  border:0 !important;
  box-shadow:0 12px 30px rgba(54,49,132,.12),0 0 0 7px rgba(255,255,255,.80) !important;
}

.editorial-rail{
  height:3px !important;
  background:#d7d0f2 !important;
}

.editorial-rail-progress{
  background:#26b7bf !important;
}

/* Audiences: stronger color fields and softer cards. */
.impact-section{
  background:#fffdf9 !important;
}

.impact-card,
.impact-navy,
.impact-cyan,
.impact-teal,
.impact-warm{
  min-height:200px !important;
  padding:30px !important;
  border:0 !important;
  border-radius:26px !important;
  box-shadow:0 14px 34px rgba(24,62,80,.08) !important;
}

.impact-card::before{
  display:none !important;
}

.impact-navy{background:#ddebff !important}
.impact-cyan{background:#d9f7f5 !important}
.impact-teal{background:#e0f7e8 !important}
.impact-warm{background:#ffefcb !important}

.impact-emoji{
  width:58px !important;
  height:58px !important;
  border:0 !important;
  border-radius:18px !important;
  box-shadow:0 9px 22px rgba(30,76,97,.10) !important;
}

.impact-card h3{
  font-size:1.22rem !important;
}

/* About: replace the formal ruled statement with a warm editorial panel. */
.about{
  background:#fff2e5 !important;
}

.about-box{
  max-width:1120px !important;
  display:grid !important;
  grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr) !important;
  gap:16px 68px !important;
  padding:62px !important;
  border:0 !important;
  border-radius:32px !important;
  background:#fffaf4 !important;
  box-shadow:0 22px 52px rgba(112,66,35,.10) !important;
  text-align:left !important;
}

.about-box .eyebrow{
  grid-column:1/-1 !important;
  margin-bottom:4px !important;
}

.about-box h2{
  grid-column:1 !important;
  grid-row:2/4 !important;
  align-self:start !important;
}

.about-box p{
  grid-column:2 !important;
  grid-row:2 !important;
  font-size:1.08rem !important;
}

.about-box .tags{
  grid-column:2 !important;
  grid-row:3 !important;
  margin-top:18px !important;
}

.tag{
  padding:8px 12px !important;
  border:0 !important;
  border-radius:999px !important;
  color:#243f50 !important;
}

.tag:nth-child(3n+1){background:#dff3ff !important}
.tag:nth-child(3n+2){background:#ddf6ed !important}
.tag:nth-child(3n){background:#ffecc7 !important}

/* Contact: a less formal, more optimistic closing color field. */
.contact{
  background:#073f49 !important;
  border-top:7px solid #f2be4d !important;
}

.contact .eyebrow{
  color:#ffd36e !important;
}

.contact p{
  color:#d3eceb !important;
}

.form input,
.form textarea{
  background:rgba(255,255,255,.09) !important;
  border-color:rgba(172,235,229,.28) !important;
}

.form input:hover,
.form textarea:hover,
.form input:focus,
.form textarea:focus{
  background:rgba(255,255,255,.14) !important;
}

.contact .btn.primary{
  background:var(--v26-coral) !important;
  border-color:rgba(255,255,255,.20) !important;
}

footer{
  border-top:3px solid rgba(34,184,197,.24) !important;
}

@media(max-width:980px){
  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .service-card:nth-child(n){
    grid-column:span 1 !important;
  }
  .service-card:nth-child(6){
    grid-column:span 2 !important;
    grid-template-columns:72px minmax(220px,300px) 1fr !important;
  }
  .editorial-timeline .timeline-head{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .editorial-timeline .timeline-head .eyebrow,
  .editorial-timeline .timeline-head h2,
  .editorial-timeline .timeline-head p{
    grid-column:1 !important;
  }
  .about-box{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .about-box .eyebrow,
  .about-box h2,
  .about-box p,
  .about-box .tags{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}

@media(max-width:660px){
  .services-grid{
    grid-template-columns:1fr !important;
  }
  .service-card:nth-child(n),
  .service-card:nth-child(6){
    grid-column:1 !important;
    display:block !important;
    min-height:auto !important;
    padding:25px !important;
  }
  .service-card:nth-child(6) .service-icon{
    margin-bottom:18px !important;
  }
  .orbit-callout .callout-copy{
    padding:7px 9px !important;
  }
  .impact-card,
  .impact-navy,
  .impact-cyan,
  .impact-teal,
  .impact-warm{
    padding:24px !important;
  }
  .about-box{
    padding:36px 24px !important;
    border-radius:24px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}

/* ============================================================
   V24 client iteration
   More information density, a cleaner central mark and a broader
   but still disciplined corporate palette.
   ============================================================ */

:root{
  --actuia-cyan:#3bb2c1;
  --actuia-amber:#d29a3c;
  --actuia-coral:#c66f59;
  --actuia-indigo:#526f9e;
}

/* Header and hero: remove the excess vertical air and make the first
   screen read as one compact, intentional composition. */
.nav{
  height:74px !important;
}

.hero{
  min-height:auto !important;
  padding:0 !important;
}

.hero-grid{
  min-height:610px !important;
  grid-template-columns:minmax(0,650px) minmax(450px,1fr) !important;
  gap:34px !important;
  align-items:start !important;
  padding:42px 0 18px !important;
}

.hero-copy{
  max-width:650px !important;
}

.hero-copy h1{
  max-width:650px !important;
  font-size:clamp(3.55rem,5.25vw,5.45rem) !important;
  line-height:.955 !important;
}

.hero-copy .lead{
  max-width:630px !important;
  margin:24px 0 27px !important;
  color:#d7e1e6 !important;
  font-size:1.22rem !important;
  line-height:1.62 !important;
  font-weight:465 !important;
}

.hero .eyebrow{
  color:#d4edf2 !important;
  border-color:rgba(102,201,193,.42) !important;
}

.hero-link{
  position:relative;
}

.hero-link::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:2px;
  height:2px;
  background:var(--actuia-amber);
  opacity:.72;
  transform:scaleX(.35);
  transform-origin:left;
  transition:transform .2s ease;
}

.hero-link:hover::after{
  transform:scaleX(1);
}

/* The supplied high-resolution symbol is presented as a crisp brand
   asset, not as a dark floating medallion. */
.orbit-center{
  width:198px !important;
  height:198px !important;
}

.center-halo{
  width:184px !important;
  height:184px !important;
  background:#eef8fb !important;
  border:2px solid #66c9c1 !important;
  box-shadow:
    0 0 0 8px rgba(37,129,170,.14),
    0 18px 42px rgba(0,11,20,.32) !important;
}

.orbit-center img{
  width:auto !important;
  height:150px !important;
  max-height:150px !important;
  filter:contrast(1.09) saturate(1.08) drop-shadow(0 8px 13px rgba(4,32,49,.18)) !important;
}

.orbit-a{
  border-color:rgba(59,178,193,.36) !important;
}

.orbit-b,
.orbit-b::after{
  border-color:rgba(73,134,179,.28) !important;
}

.callout-process .callout-dot,
.callout-process .callout-line{
  background:var(--actuia-teal-light) !important;
}

.callout-clients .callout-dot,
.callout-clients .callout-line{
  background:#58a9dc !important;
}

.callout-info .callout-dot,
.callout-info .callout-line{
  background:#e3ac4b !important;
}

.callout-growth .callout-dot,
.callout-growth .callout-line{
  background:#d98269 !important;
}

.callout-clients .callout-dot{
  box-shadow:0 0 0 4px rgba(88,169,220,.12) !important;
}

.callout-info .callout-dot{
  box-shadow:0 0 0 4px rgba(227,172,75,.12) !important;
}

.callout-growth .callout-dot{
  box-shadow:0 0 0 4px rgba(217,130,105,.12) !important;
}

.proof-item:nth-child(1){color:#91cbea !important}
.proof-item:nth-child(2){color:#78d2c8 !important}
.proof-item:nth-child(3){color:#efc572 !important}
.proof-item:nth-child(4){color:#a8bee5 !important}

/* Services: retain one component family while using color to improve
   scanning and differentiation. */
.service-card,
.accent-cyan,
.accent-violet,
.accent-blue,
.accent-teal,
.accent-amber,
.accent-coral{
  min-height:244px !important;
}

.service-card h3{
  font-size:1.19rem !important;
}

.service-card p{
  font-size:.98rem !important;
}

.accent-cyan::before{background:var(--actuia-cyan) !important}
.accent-violet::before{background:var(--actuia-indigo) !important}
.accent-blue::before{background:var(--actuia-blue) !important}
.accent-teal::before{background:var(--actuia-teal) !important}
.accent-amber::before{background:var(--actuia-amber) !important}
.accent-coral::before{background:var(--actuia-coral) !important}

.accent-cyan{background:#f6fbfc !important}
.accent-violet{background:#f7f8fc !important}
.accent-blue{background:#f5f9fc !important}
.accent-teal{background:#f5fbf9 !important}
.accent-amber{background:#fdf9f2 !important}
.accent-coral{background:#fdf7f5 !important}

.accent-cyan .service-icon{background:#e7f7f9 !important;border-color:#bce6eb !important}
.accent-violet .service-icon{background:#eef1f7 !important;border-color:#d4daea !important}
.accent-blue .service-icon{background:#eaf3fa !important;border-color:#c9deed !important}
.accent-teal .service-icon{background:#e8f7f4 !important;border-color:#c2e6df !important}
.accent-amber .service-icon{background:#fbf3e4 !important;border-color:#ead8b6 !important}
.accent-coral .service-icon{background:#faeeeb !important;border-color:#e9cec7 !important}

.accent-cyan .service-icon svg{stroke:#188fa0 !important}
.accent-violet .service-icon svg{stroke:var(--actuia-indigo) !important}
.accent-blue .service-icon svg{stroke:var(--actuia-blue) !important}
.accent-teal .service-icon svg{stroke:#248f86 !important}
.accent-amber .service-icon svg{stroke:#b77d20 !important}
.accent-coral .service-icon svg{stroke:#b75e49 !important}

/* Perspective and process: color identifies stages without turning the
   interface into a rainbow. */
.logic-row:nth-child(1) .logic-num,
.logic-row:nth-child(1) .num{background:#174f78 !important;color:#a9d7ed !important}
.logic-row:nth-child(2) .logic-num,
.logic-row:nth-child(2) .num{background:#5b4724 !important;color:#f1cb84 !important}
.logic-row:nth-child(3) .logic-num,
.logic-row:nth-child(3) .num{background:#15544f !important;color:#9be1d8 !important}

.step-cyan .editorial-node::before{background:#e5f7f9 !important}
.step-teal .editorial-node::before{background:#e7f6f3 !important}
.step-violet .editorial-node::before{background:#eef0f7 !important}
.step-blue .editorial-node::before{background:#e8f2f9 !important}
.step-amber .editorial-node::before{background:#fbf2e2 !important}

.step-cyan .editorial-node svg{stroke:#168c9c !important}
.step-teal .editorial-node svg{stroke:#238f85 !important}
.step-violet .editorial-node svg{stroke:var(--actuia-indigo) !important}
.step-blue .editorial-node svg{stroke:var(--actuia-blue) !important}
.step-amber .editorial-node svg{stroke:#b77d20 !important}

.step-cyan .step-index{background:#167f8d !important}
.step-teal .step-index{background:#237e76 !important}
.step-violet .step-index{background:var(--actuia-indigo) !important}
.step-blue .step-index{background:#176d9f !important}
.step-amber .step-index{background:#a87423 !important}

.step-cyan .editorial-kicker{color:#168c9c !important}
.step-teal .editorial-kicker{color:#238f85 !important}
.step-violet .editorial-kicker{color:var(--actuia-indigo) !important}
.step-blue .editorial-kicker{color:#176d9f !important}
.step-amber .editorial-kicker{color:#a87423 !important}

/* Audience cards get quiet tinted fields for stronger visual rhythm. */
.impact-navy{background:#edf4f8 !important}
.impact-cyan{background:#eaf8f9 !important}
.impact-teal{background:#ebf7f4 !important}
.impact-warm{background:#fbf3e7 !important}

.impact-navy::before{background:var(--actuia-blue) !important}
.impact-cyan::before{background:var(--actuia-cyan) !important}
.impact-teal::before{background:var(--actuia-teal) !important}
.impact-warm::before{background:var(--actuia-amber) !important}

.impact-navy .impact-emoji{color:var(--actuia-blue) !important}
.impact-cyan .impact-emoji{color:#168c9c !important}
.impact-teal .impact-emoji{color:#238f85 !important}
.impact-warm .impact-emoji{color:#b77d20 !important}

.impact-navy .impact-emoji svg{stroke:var(--actuia-blue) !important}
.impact-cyan .impact-emoji svg{stroke:#168c9c !important}
.impact-teal .impact-emoji svg{stroke:#238f85 !important}
.impact-warm .impact-emoji svg{stroke:#b77d20 !important}

.impact-navy .impact-kicker{color:var(--actuia-blue) !important}
.impact-cyan .impact-kicker{color:#168c9c !important}
.impact-teal .impact-kicker{color:#238f85 !important}
.impact-warm .impact-kicker{color:#a87423 !important}

.tag:nth-child(3n+1){border-color:var(--actuia-blue) !important}
.tag:nth-child(3n+2){border-color:var(--actuia-teal) !important}
.tag:nth-child(3n){border-color:var(--actuia-amber) !important}

@media(max-width:1120px){
  .hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr) !important;
    gap:22px !important;
  }
  .hero-copy h1{
    font-size:clamp(3.35rem,6.1vw,4.75rem) !important;
  }
}

@media(max-width:980px){
  .hero-grid{
    min-height:auto !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:center !important;
    padding:38px 0 24px !important;
  }
  .hero-copy{
    max-width:680px !important;
  }
  .hero-copy .lead{
    font-size:1.12rem !important;
  }
  .brand-orbit{
    justify-self:center !important;
    transform:scale(.82) !important;
    transform-origin:center top !important;
    margin:-8px auto -74px !important;
  }
}

@media(max-width:760px){
  .hero-grid{
    padding:32px 0 22px !important;
  }
  .hero-copy h1{
    font-size:clamp(2.82rem,12vw,3.35rem) !important;
  }
  .hero-copy .lead{
    font-size:1.07rem !important;
    line-height:1.58 !important;
    margin:20px 0 24px !important;
  }
  .service-card,
  .accent-cyan,
  .accent-violet,
  .accent-blue,
  .accent-teal,
  .accent-amber,
  .accent-coral{
    min-height:auto !important;
  }
}

@media(max-width:520px){
  .hero-grid{
    padding-top:24px !important;
  }
  .brand-orbit{
    transform:scale(.68) !important;
    margin:-6px auto -142px !important;
  }
}

/* V26.1 — make the moving brand orbit more legible without overpowering the mark. */
body .hero .brand-orbit .orbit-a{
  border-width:2px !important;
  border-style:solid !important;
  border-top-color:rgba(91,232,218,.98) !important;
  border-right-color:rgba(56,183,238,.36) !important;
  border-bottom-color:rgba(107,105,255,.72) !important;
  border-left-color:rgba(255,197,76,.48) !important;
  box-shadow:
    0 0 0 1px rgba(91,232,218,.10),
    0 0 34px rgba(52,194,231,.22),
    inset 0 0 28px rgba(92,224,215,.07) !important;
}

body .hero .brand-orbit .orbit-b{
  border-width:1.5px !important;
  border-style:solid !important;
  border-top-color:rgba(255,201,80,.78) !important;
  border-right-color:rgba(102,201,255,.58) !important;
  border-bottom-color:rgba(118,115,255,.54) !important;
  border-left-color:rgba(92,224,215,.42) !important;
  box-shadow:0 0 42px rgba(86,166,245,.13) !important;
}

body .hero .brand-orbit .orbit-b::after{
  border-width:1.5px !important;
  border-style:dashed !important;
  border-color:rgba(137,216,244,.56) !important;
  filter:drop-shadow(0 0 5px rgba(86,211,232,.28)) !important;
}

body .hero .brand-orbit .orbit-connectors path{
  stroke:rgba(143,224,239,.58) !important;
  stroke-width:1.45 !important;
}

body .hero .brand-orbit .orbit-glow{
  background:radial-gradient(circle,rgba(64,210,211,.23),rgba(35,122,192,.10) 48%,transparent 72%) !important;
}

@media(max-width:520px){
  body .hero .wrap{
    width:calc(100% - 36px) !important;
  }

  body .hero .hero-grid{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:minmax(0,1fr) !important;
  }

  body .hero .hero-copy{
    width:100% !important;
    min-width:0 !important;
  }

  body .hero .hero-copy h1{
    max-width:100% !important;
    font-size:clamp(2.28rem,10.4vw,2.55rem) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }

  body .hero .hero-copy .lead{
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.55 !important;
  }

  body .hero .hero-copy .actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:14px 18px !important;
  }

  body .hero .hero-copy .actions .btn.primary{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  body .hero .hero-copy .actions .hero-link{
    margin-left:2px !important;
  }

  body .hero .hero-grid .brand-orbit{
    width:500px !important;
    max-width:none !important;
    left:50% !important;
    transform:translateX(-50%) scale(.64) !important;
    transform-origin:center top !important;
    margin:0 auto -152px !important;
  }
}

/* ============================================================
   ACTUIA V27 — Enhanced mobile optimization for ultra-small screens
   ============================================================ */

@media(max-width:390px){
  h1{
    font-size:clamp(1.8rem,6vw,2.4rem) !important;
    line-height:1.12 !important;
  }
  
  .hero-grid{
    padding-top:18px !important;
  }
  
  .hero-copy{
    margin-bottom:20px !important;
  }
  
  .hero-copy .lead{
    font-size:.88rem !important;
    line-height:1.58 !important;
    margin-bottom:16px !important;
  }
  
  .hero-actions{
    flex-direction:column !important;
    gap:10px !important;
  }
  
  .hero-actions a{
    min-height:40px !important;
    font-size:.85rem !important;
  }
  
  .brand-orbit{
    transform:scale(.55) !important;
    margin-top:-24px !important;
  }
  
  .hero-proof{
    padding:20px 0 !important;
  }
  
  .proof-items{
    gap:6px !important;
  }
  
  .proof-item{
    font-size:.55rem !important;
  }
  
  section{
    padding:56px 0 !important;
  }
  
  h2{
    font-size:clamp(1.6rem,5vw,2.2rem) !important;
  }
  
  h3{
    font-size:.95rem !important;
  }
}


/* ============================================================
   ACTUIA V28 — personality layer
   Gold accent, bento services grid, intentional section
   backgrounds, asymmetric "Nosotros", body legibility.
   Reversible: remove this block to return to V27.
   ============================================================ */

:root{
  --actuia-gold:#d9a441;
  --actuia-gold-deep:#b8862c;
  --actuia-gold-light:#f0cf7c;
  --actuia-gold-soft:rgba(217,164,65,.14);
}

/* ---------- Legibility: keep the tight display type, relax body copy ---------- */
p,
.lead,
.service-card p,
.impact-card p,
.editorial-copy p,
.logic-row p,
.about-box p,
.contact p{
  letter-spacing:-.004em !important;
}

/* ---------- Eyebrows get a gold marker ---------- */
.section-head .eyebrow,
.impact-head .eyebrow,
.about-box .eyebrow,
.timeline-head .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
}
.section-head .eyebrow::before,
.impact-head .eyebrow::before,
.about-box .eyebrow::before,
.timeline-head .eyebrow::before{
  content:"";
  width:22px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--actuia-gold),var(--actuia-gold-light));
  flex:none;
}

/* ---------- Hero: warm details, blue CTA untouched ---------- */
.hero .eyebrow{
  padding-left:14px !important;
  border-color:rgba(217,164,65,.34) !important;
}
.hero .eyebrow::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--actuia-gold);
  box-shadow:0 0 0 4px rgba(217,164,65,.16);
  margin-right:9px;
  vertical-align:middle;
}
.hero-link span{
  color:var(--actuia-gold-light) !important;
}
.hero-link:hover span{
  transform:translateX(3px);
  display:inline-block;
  transition:transform .2s ease;
}
.hero-proof{
  border-top:1px solid rgba(217,164,65,.22) !important;
}
.proof-label{
  color:var(--actuia-gold-light) !important;
}
.proof-item + .proof-item{
  border-left:1px solid rgba(217,164,65,.28) !important;
}
.center-halo{
  border-color:rgba(240,207,124,.42) !important;
  box-shadow:
    0 0 0 7px rgba(217,164,65,.10),
    0 0 0 14px rgba(102,201,193,.06),
    0 22px 48px rgba(0,8,14,.30),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

/* ---------- Section backgrounds with intention ---------- */
#que-hacemos{
  position:relative;
  background:
    radial-gradient(ellipse 620px 420px at 0% 0%,rgba(26,163,154,.10),transparent 70%),
    radial-gradient(ellipse 520px 380px at 100% 100%,rgba(217,164,65,.09),transparent 70%),
    #fff !important;
}
#que-hacemos::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(16,42,61,.10) 1px,transparent 1.2px);
  background-size:26px 26px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 55%);
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 55%);
}
#que-hacemos > .wrap{position:relative;z-index:1}

.impact-section{
  background:
    radial-gradient(ellipse 560px 400px at 100% 0%,rgba(217,164,65,.13),transparent 70%),
    radial-gradient(ellipse 520px 380px at 0% 100%,rgba(17,120,181,.08),transparent 70%),
    #fff !important;
}

.about{
  background:
    linear-gradient(180deg,#f4f7f9 0%,#ffffff 100%) !important;
}

/* ---------- Services: bento grid with two navy protagonists ---------- */
.services-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(228px,auto) !important;
  gap:18px !important;
}
.services-grid .service-card{
  min-height:0 !important;
  border-radius:22px !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.services-grid .service-card:nth-child(1){grid-column:span 4}
.services-grid .service-card:nth-child(2){grid-column:span 2}
.services-grid .service-card:nth-child(3){grid-column:span 2}
.services-grid .service-card:nth-child(4){grid-column:span 4}
.services-grid .service-card:nth-child(5){grid-column:span 3}
.services-grid .service-card:nth-child(6){grid-column:span 3}

/* Protagonists */
.services-grid .service-card:nth-child(1),
.services-grid .service-card:nth-child(4){
  background:
    radial-gradient(circle at 88% 18%,rgba(102,201,193,.26),transparent 42%),
    radial-gradient(circle at 12% 100%,rgba(217,164,65,.20),transparent 40%),
    linear-gradient(135deg,#0a2438 0%,#0d2f47 55%,#0a2033 100%) !important;
  border:1px solid rgba(150,197,215,.18) !important;
  box-shadow:0 22px 50px rgba(6,26,40,.22) !important;
  padding:34px 34px 30px !important;
}
.services-grid .service-card:nth-child(1) h3,
.services-grid .service-card:nth-child(4) h3{
  color:#fff !important;
  font-size:1.5rem !important;
  letter-spacing:-.03em !important;
  max-width:18ch;
}
.services-grid .service-card:nth-child(1) p,
.services-grid .service-card:nth-child(4) p{
  color:#c6d5dd !important;
  font-size:1rem !important;
  max-width:46ch;
}
.services-grid .service-card:nth-child(1) .service-icon,
.services-grid .service-card:nth-child(4) .service-icon{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(240,207,124,.36) !important;
  color:var(--actuia-gold-light) !important;
  box-shadow:0 0 0 6px rgba(217,164,65,.08) !important;
}
.services-grid .service-card:nth-child(1) .service-icon svg,
.services-grid .service-card:nth-child(4) .service-icon svg{
  stroke:var(--actuia-gold-light) !important;
  color:var(--actuia-gold-light) !important;
}
.services-grid .service-card:nth-child(1)::before,
.services-grid .service-card:nth-child(4)::before{
  width:220px !important;
  height:220px !important;
  right:-70px !important;
  top:-70px !important;
  opacity:.18 !important;
}
.services-grid .service-card:nth-child(1)::after,
.services-grid .service-card:nth-child(4)::after{
  content:"";
  position:absolute;
  left:34px;
  bottom:0;
  width:64px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--actuia-gold),var(--actuia-gold-light));
}
.services-grid .service-card:nth-child(1):hover,
.services-grid .service-card:nth-child(4):hover{
  border-color:rgba(240,207,124,.42) !important;
  box-shadow:0 30px 60px rgba(6,26,40,.30) !important;
}

/* Supporting cards keep their V27 pastel tint; sixth card returns to the vertical layout */
.services-grid .service-card:nth-child(6){
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  align-items:stretch !important;
  min-height:0 !important;
}
.services-grid .service-card:nth-child(6) .service-icon{margin-bottom:22px !important}
.services-grid .service-card:not(:nth-child(1)):not(:nth-child(4)){
  border:1px solid rgba(255,255,255,.9) !important;
}
.services-grid .service-card:not(:nth-child(1)):not(:nth-child(4)):hover{
  border-color:rgba(217,164,65,.60) !important;
}

/* ---------- Timeline: gold indices and meta chips ---------- */
.step-index{
  color:#fff !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25) !important;
  box-shadow:0 0 0 3px #fff,0 6px 14px rgba(13,43,63,.18) !important;
}

.editorial-meta{
  display:inline-block !important;
  padding:5px 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(217,164,65,.38) !important;
  background:rgba(217,164,65,.09) !important;
  color:#8a6520 !important;
  font-size:.74rem !important;
  font-weight:760 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
.editorial-rail-progress{
  background:linear-gradient(180deg,var(--actuia-teal-light),var(--actuia-gold)) !important;
}

/* ---------- Impact cards: soft white edge ---------- */
.impact-card{
  border:1px solid rgba(255,255,255,.7) !important;
}

/* ---------- Nosotros: asymmetric editorial layout ---------- */
.about-box{
  max-width:1120px !important;
  text-align:left !important;
  padding:0 !important;
  border:0 !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 24px 60px rgba(13,43,63,.09) !important;
  display:grid !important;
  grid-template-columns:1.05fr 1fr !important;
  overflow:hidden;
  position:relative;
}
.about-box::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  padding:1px;
  background:linear-gradient(135deg,rgba(102,201,193,.55),rgba(217,164,65,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.about-box .eyebrow{
  grid-column:1;
  margin:44px 0 0 44px !important;
}
.about-box h2{
  position:relative;
  z-index:1;
  grid-column:1;
  margin:0 0 44px 44px !important;
  font-size:clamp(2.1rem,3.4vw,3.1rem) !important;
  max-width:14ch;
}
.about-box p{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  margin:44px 44px 0 0 !important;
  padding-left:38px;
  border-left:3px solid var(--actuia-gold) !important;
  font-size:1.02rem !important;
  max-width:none !important;
}
.about-box .tags{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  justify-content:flex-start !important;
  margin:0 !important;
  padding:24px 44px 32px;
  background:linear-gradient(90deg,#f6f9fb,#fbf8f1);
  border-top:1px solid rgba(217,164,65,.20);
}
.tag{
  background:#fff !important;
  color:#2b4d66 !important;
  border:1px solid rgba(43,77,102,.16) !important;
  transition:border-color .2s ease,color .2s ease,transform .2s ease !important;
}
.tag:hover{
  border-color:var(--actuia-gold) !important;
  color:var(--actuia-gold-deep) !important;
  transform:translateY(-2px);
}

/* Echo of the hero orbit behind the headline */
.about-box h2::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-150px;
  top:-120px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(217,164,65,.16) 0,rgba(217,164,65,.06) 18%,transparent 34%),
    repeating-radial-gradient(circle,rgba(26,163,154,.15) 0 1px,transparent 1px 44px);
  pointer-events:none;
}

/* ---------- Contact & footer: warm focus, gold hairline ---------- */
.form input:focus,
.form textarea:focus{
  border-color:rgba(240,207,124,.75) !important;
  box-shadow:0 0 0 3px rgba(217,164,65,.18) !important;
}
footer{
  position:relative;
  border-top:1px solid rgba(217,164,65,.28) !important;
}
footer::before{
  content:"";
  position:absolute;
  left:0;top:-1px;
  width:180px;height:2px;
  background:linear-gradient(90deg,var(--actuia-gold),transparent);
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .proof-item{font-size:.66rem !important;letter-spacing:.08em !important}
  .proof-items{gap:10px !important}
}
@media(max-width:1000px) and (min-width:761px){
  /* Timeline: two rows (3 + 2 centred) instead of a hidden horizontal scroll */
  .editorial-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    overflow:visible !important;
    padding:0 !important;
    scroll-snap-type:none !important;
    row-gap:34px !important;
  }
  .editorial-step{grid-column:span 2 !important}
  .editorial-step:nth-child(4){grid-column:2 / span 2 !important}
  .editorial-step:nth-child(5){grid-column:4 / span 2 !important}
  .editorial-rail{display:none !important}
}
@media(max-width:980px){
  .proof-label{display:none !important}
  .proof-items{flex-wrap:wrap !important;justify-content:center !important;row-gap:8px !important}
  .editorial-timeline .timeline-head,
  .editorial-timeline .timeline-head h2,
  .editorial-timeline .timeline-head p{
    text-align:left !important;
    justify-items:start !important;
    margin-left:0 !important;
  }
  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
  }
  .services-grid .service-card:nth-child(n){grid-column:span 1 !important}
  .services-grid .service-card:nth-child(1),
  .services-grid .service-card:nth-child(4){grid-column:span 2 !important}
  .about-box .tags{grid-row:auto !important}
  .about-box h2::after{left:-90px;top:-140px}
  /* Mobile navigation: the base CSS hides .menu below 980px with no replacement */
  .nav{position:relative}
  .nav-toggle{
    display:inline-flex !important;
    align-items:center;justify-content:center;
    width:44px;height:44px;margin-left:auto;margin-right:10px;
    border-radius:10px;border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.06);color:#fff;cursor:pointer;
  }
  .nav-toggle span{
    position:relative;display:block;width:20px;height:2px;background:currentColor;border-radius:2px;
    transition:transform .2s ease,opacity .2s ease;
  }
  .nav-toggle span::before,
  .nav-toggle span::after{
    content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px;
    transition:transform .2s ease,top .2s ease;
  }
  .nav-toggle span::before{top:-7px}
  .nav-toggle span::after{top:7px}
  header.nav-open .nav-toggle span{background:transparent}
  header.nav-open .nav-toggle span::before{top:0;transform:rotate(45deg)}
  header.nav-open .nav-toggle span::after{top:0;transform:rotate(-45deg)}
  header.nav-open .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    position:absolute;left:0;right:0;top:100%;
    padding:10px 0 14px;
    background:rgba(4,20,32,.98);
    border-bottom:1px solid rgba(240,207,124,.28);
    box-shadow:0 18px 40px rgba(0,10,18,.35);
  }
  header.nav-open .menu a{
    padding:14px 28px !important;
    font-size:1rem !important;
    color:#eef4f7 !important;
    border-top:1px solid rgba(255,255,255,.06);
  }
  header.nav-open .menu a.is-active{color:var(--actuia-gold-light) !important}
  .about-box{grid-template-columns:1fr !important}
  .about-box .eyebrow{margin:36px 0 0 32px !important}
  .about-box h2{margin:0 32px 18px 32px !important;max-width:none}
  .about-box p{
    grid-column:1;grid-row:auto;
    margin:0 32px 28px 32px !important;
    padding-left:22px;
  }
  .about-box .tags{padding:20px 32px 26px}
}
@media(max-width:660px){
  /* V27 dropped the hero wrap margin on small screens; restore breathing room for the copy */
  .hero-copy{padding:0 18px !important}
  .services-grid{grid-template-columns:1fr !important;gap:14px !important}
  .services-grid .service-card:nth-child(n){grid-column:span 1 !important}
  .services-grid .service-card:nth-child(1),
  .services-grid .service-card:nth-child(4){padding:28px 26px 26px !important}
  .services-grid .service-card:nth-child(1) h3,
  .services-grid .service-card:nth-child(4) h3{font-size:1.3rem !important}
  .about-box .eyebrow{margin:28px 0 0 22px !important}
  .about-box h2{margin:0 22px 14px 22px !important}
  .about-box p{margin:0 22px 22px 22px !important;padding-left:16px}
  .about-box .tags{padding:16px 22px 22px}
  #que-hacemos::before{background-size:22px 22px}
}
.nav-toggle{display:none}
@media(prefers-reduced-motion:reduce){
  .tag:hover,.hero-link:hover span{transform:none}
}

/* ---------- Tres satélites orbitando el símbolo (pedido de Andrés) ----------
   Los puntos existían en la base (ocultos desde V23 y sólo flotaban);
   ahora recorren de verdad los anillos de 360 y 440 px. */
.orbit-particle{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:11px !important;
  height:11px !important;
  margin:-5.5px 0 0 -5.5px !important;
  border-radius:50% !important;
  z-index:4 !important;
  background:var(--pc) !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.14),0 0 18px 3px var(--pc) !important;
  animation:v28-satellite var(--pd) linear infinite !important;
  will-change:transform;
}
.particle-1{--pc:#22c8ea;--pr:180px;--pd:17s}
.particle-2{--pc:#a08cff;--pr:220px;--pd:26s;animation-direction:reverse !important}
.particle-3{--pc:#f2b24a;--pr:180px;--pd:21s;animation-delay:-9s !important}
@keyframes v28-satellite{
  from{transform:rotate(0deg) translateX(var(--pr)) rotate(0deg)}
  to{transform:rotate(360deg) translateX(var(--pr)) rotate(-360deg)}
}

/* ---------- Botones de acción: el mismo coral, más vivo ---------- */
header .btn.primary,
.hero .btn.primary,
.contact .btn.primary{
  background:linear-gradient(135deg,#ff7d55 0%,#ff5a33 100%) !important;
  border:1px solid rgba(255,255,255,.26) !important;
  box-shadow:0 12px 30px rgba(255,90,51,.38),0 0 0 1px rgba(255,120,80,.25) !important;
  color:#fff !important;
}
header .btn.primary:hover,
.hero .btn.primary:hover,
.contact .btn.primary:hover{
  background:linear-gradient(135deg,#ff8a66 0%,#ff6a45 100%) !important;
  box-shadow:0 16px 36px rgba(255,90,51,.48),0 0 0 1px rgba(255,140,100,.35) !important;
}
@media(prefers-reduced-motion:reduce){
  .orbit-particle{animation:none !important;transform:rotate(45deg) translateX(var(--pr)) !important}
}

/* ---------- Hero: velo ajustado a la nueva fotografía (bodega al amanecer) ---------- */
.hero::before{
  background:linear-gradient(90deg,
    rgba(2,10,17,.96) 0%,
    rgba(3,15,26,.90) 22%,
    rgba(5,26,42,.66) 40%,
    rgba(5,29,47,.30) 56%,
    rgba(4,22,36,.10) 74%,
    rgba(2,13,22,.04) 100%) !important;
}
.hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.10),transparent 40%,rgba(2,11,18,.34)) !important;
}
.hero{
  background-position:center 40% !important;
}

/* ---------- Header: logotipo en negativo, sin el halo blanco de apoyo ---------- */
.logo::before{display:none !important}
.logo img{filter:none !important}
header{
  background:rgba(5,22,35,.93) !important;
}

/* ---------- Banda fotográfica "En la operación" (díptico) ---------- */
.photo-band{
  position:relative;
  padding:0 !important;
  min-height:460px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#071c2a;
}
.photo-band-grid{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:6px;
  background:#071c2a;
}
.photo-panel{
  position:relative;
  margin:0;
  background-size:cover;
  background-position:center 45%;
}
.photo-panel:nth-child(2){background-position:center 40%}
.photo-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,15,26,.08),transparent 40%,rgba(3,15,26,.62) 100%);
}
.photo-panel:first-child::before{
  background:
    linear-gradient(90deg,rgba(3,15,26,.88) 0%,rgba(3,15,26,.62) 40%,rgba(3,15,26,.14) 100%),
    linear-gradient(180deg,rgba(3,15,26,.08),transparent 40%,rgba(3,15,26,.55) 100%);
}
.photo-panel figcaption{
  display:none;
  position:absolute;
  right:22px;
  bottom:18px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(240,207,124,.42);
  background:rgba(3,15,26,.55);
  color:var(--actuia-gold-light);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.photo-band::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,var(--actuia-gold),rgba(217,164,65,0) 60%);
}
.photo-band-copy{
  position:relative;
  z-index:1;
  padding:56px 0 52px !important;
}
.photo-band .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  color:var(--actuia-gold-light) !important;
  margin-bottom:14px !important;
}
.photo-band .eyebrow::before{
  content:"";
  width:22px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--actuia-gold),var(--actuia-gold-light));
}
.photo-band-text{
  color:#f2f6f8 !important;
  font-size:clamp(1.2rem,1.9vw,1.6rem) !important;
  font-weight:640 !important;
  line-height:1.32 !important;
  letter-spacing:-.022em !important;
  max-width:24ch;
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
@media(max-width:980px){
  .photo-band{min-height:400px}
  .photo-band-text{max-width:26ch}
}
@media(max-width:660px){
  .photo-band{min-height:0;display:block}
  .photo-band-grid{
    position:relative;
    grid-template-columns:1fr;
    grid-auto-rows:240px;
    gap:4px;
  }
  .photo-panel:first-child::before{
    background:linear-gradient(180deg,rgba(3,15,26,.10) 0%,rgba(3,15,26,.30) 45%,rgba(3,15,26,.88) 100%);
  }
  .photo-band-copy{
    position:absolute;
    left:0;right:0;top:0;
    height:240px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:0 0 22px !important;
  }
  .photo-band-text{max-width:none;font-size:1.02rem !important}
  .photo-panel figcaption{right:14px;bottom:12px}
}

/* ---------- Copy del hero (revisión de textos): titular más largo, cuerpo más compacto ---------- */
.hero-copy h1{
  font-size:clamp(2.1rem,3.6vw,3.55rem) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
  max-width:15ch;
}
.hero-copy .lead{
  max-width:52ch;
}
@media(max-width:660px){
  .hero-copy h1{font-size:clamp(1.85rem,7.2vw,2.3rem) !important;max-width:none}
}
@media(max-width:390px){
  .hero-copy h1{font-size:1.8rem !important}
}

/* ---------- Copy de "Qué hacemos": enlace en la tarjeta de diagnóstico ---------- */
.card-link{
  margin-top:auto;
  padding-top:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--actuia-gold-deep) !important;
  font-weight:800;
  font-size:.9rem;
  letter-spacing:-.01em;
}
.card-link span{transition:transform .2s ease}
.card-link:hover{color:var(--actuia-gold) !important}
.card-link:hover span{transform:translateX(3px)}
.services-grid .service-card h3{margin-bottom:6px}

/* ---------- Copy de "Cómo trabajamos": textos más largos en cinco columnas ---------- */
@media(min-width:1001px){
  .editorial-copy p{font-size:.88rem !important;line-height:1.5 !important}
  .editorial-copy h3{font-size:1.02rem !important}
}

/* ---------- Hero: sello "Cobramos por resultados" ---------- */
.hero-seal{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
  padding:7px 14px 7px 10px;
  border-radius:999px;
  border:1px solid rgba(240,207,124,.38);
  background:rgba(6,34,51,.55);
  color:#f0cf7c !important;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:border-color .2s ease,background .2s ease;
}
.hero-seal::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--actuia-gold);
  box-shadow:0 0 0 4px rgba(217,164,65,.18);
}
.hero-seal:hover{border-color:var(--actuia-gold);background:rgba(6,34,51,.8)}

/* ---------- Sección "Cómo cobramos" ---------- */
.model-band{
  position:relative;
  overflow:hidden;
  padding:96px 0 !important;
  background:
    radial-gradient(ellipse 640px 420px at 100% 0%,rgba(217,164,65,.16),transparent 70%),
    radial-gradient(ellipse 520px 380px at 0% 100%,rgba(26,163,154,.12),transparent 70%),
    linear-gradient(135deg,#061a2b 0%,#0a2438 55%,#061a2b 100%) !important;
  color:#fff;
}
.model-band::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--actuia-gold),rgba(217,164,65,0) 70%);
}
.model-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:64px;
  align-items:center;
}
.model-band .eyebrow{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  color:var(--actuia-gold-light) !important;
}
.model-band .eyebrow::before{
  content:"";width:22px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--actuia-gold),var(--actuia-gold-light));
}
.model-title{
  color:#fff !important;
  font-size:clamp(2.2rem,3.8vw,3.6rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
  margin:0 0 20px;
}
.model-title span{color:var(--actuia-gold-light)}
.model-lead{
  color:#c9d5dd !important;
  font-size:1.06rem !important;
  line-height:1.62 !important;
  max-width:52ch;
}
.model-note{
  margin-top:18px;
  color:var(--actuia-gold-light) !important;
  font-weight:700 !important;
  font-size:.98rem !important;
}
.model-rules{display:grid;gap:14px}
.model-rule{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:18px;
  align-items:start;
  padding:22px 24px;
  border-radius:18px;
  border:1px solid rgba(240,207,124,.18);
  background:rgba(255,255,255,.04);
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.model-rule:hover{border-color:rgba(240,207,124,.45);background:rgba(255,255,255,.06);transform:translateX(4px)}
.model-num{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(217,164,65,.14);
  border:1px solid rgba(240,207,124,.42);
  color:var(--actuia-gold-light);
  font-weight:900;font-size:1.05rem;
}
.model-rule h3{color:#fff !important;font-size:1.06rem !important;margin-bottom:4px}
.model-rule p{color:#bfcbd3 !important;font-size:.94rem !important;line-height:1.55 !important}

/* ---------- Nosotros: credenciales en dos filas ---------- */
.about-box .tags.creds{display:grid !important;gap:12px}
.cred-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cred-label{
  min-width:86px;
  color:var(--actuia-gold-deep);
  font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;
}

@media(max-width:980px){
  .model-grid{grid-template-columns:1fr;gap:36px}
  .model-band{padding:72px 0 !important}
}
@media(max-width:660px){
  .model-band{padding:56px 0 !important}
  .model-rule{padding:18px;grid-template-columns:40px 1fr;gap:14px}
  .model-num{width:36px;height:36px;font-size:.95rem}
  .cred-label{min-width:0;width:100%}
  .hero-seal{margin-top:16px}
}

/* ---------- "Para quién": párrafo de audiencia más grande ---------- */
.impact-head > p{
  font-size:1.14rem !important;
  line-height:1.6 !important;
  color:#3f5566 !important;
  max-width:46ch;
}
@media(max-width:660px){.impact-head > p{font-size:1.02rem !important}}

/* ---------- Hero: acento con degradado, sin recorte de descendentes ---------- */
.hero-copy .accent,
.hero-copy h1 .accent{
  display:inline !important;
  background:linear-gradient(90deg,#3aa0f0 0%,#22c8ea 48%,#4fd8c0 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding:.06em 0 .18em !important;
  margin-bottom:-.18em;
  filter:none !important;
  text-shadow:none !important;
  overflow:visible !important;
}
.hero-copy h1{overflow:visible !important;padding-bottom:.1em}

/* ---------- Contacto: bloque más vivo ---------- */
.contact{
  background:
    radial-gradient(ellipse 620px 420px at 100% 0%,rgba(240,207,124,.22),transparent 65%),
    radial-gradient(ellipse 560px 420px at 0% 100%,rgba(34,200,234,.28),transparent 65%),
    linear-gradient(135deg,#0b4f9e 0%,#0d7fb4 55%,#0f9e93 100%) !important;
  border-top:7px solid var(--actuia-gold) !important;
}
.contact h2{color:#fff !important}
.contact p{color:#e3f1f6 !important}
.contact .eyebrow{color:var(--actuia-gold-light) !important}
.form input,.form textarea{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.34) !important;
  color:#fff !important;
}
.form input::placeholder,.form textarea::placeholder{color:#d6e8f0 !important}
.form-note{color:#cfe3ec !important}

/* ---------- Nosotros: párrafo en gris más oscuro ---------- */
.about-box p{
  color:#2f4453 !important;
  font-weight:450 !important;
}

/* ---------- Nosotros: logo original difuminado como marca de agua ---------- */
.about-box::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:var(--about-wm);
  background-repeat:no-repeat;
  background-size:min(72%,760px) auto;
  background-position:right 4% center;
  border-radius:28px;
}
.about-box > *{position:relative;z-index:1}
.about-box h2::after{display:none}
@media(max-width:980px){
  .about-box::after{background-size:85% auto;background-position:center 60%}
}

/* ---------- Marca: footer con logotipo ---------- */
footer{padding:0 !important}
.footer-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:40px;
  padding:44px 0 30px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logo{height:52px;width:auto;margin-bottom:14px}
.footer-brand p{color:#9fb3c3 !important;font-size:.9rem !important;line-height:1.6 !important;margin:0}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 26px;padding-top:14px}
.footer-nav a{color:#cfdbe4;font-size:.9rem;font-weight:650;transition:color .2s ease}
.footer-nav a:hover{color:var(--actuia-gold-light)}
footer .footer-row{padding:18px 0 22px;font-size:.82rem}
@media(max-width:760px){
  .footer-top{flex-direction:column;gap:22px;padding:36px 0 24px}
  .footer-nav{padding-top:0}
}

/* ---------- Marca: símbolo dorado tenue en "Cómo cobramos" ---------- */
.model-band::after{
  content:"";
  position:absolute;
  right:-40px;bottom:-60px;
  width:420px;height:420px;
  background-image:var(--model-mark);
  background-size:contain;background-repeat:no-repeat;background-position:right bottom;
  opacity:.07;
  pointer-events:none;
}
.model-band > .wrap{position:relative;z-index:1}
@media(max-width:980px){.model-band::after{width:300px;height:300px;right:-40px;bottom:-40px}}

/* ---------- Marca: sello en la foto del taller ---------- */
.photo-panel:nth-child(2)::after{
  content:"";
  position:absolute;
  top:18px;right:18px;
  width:44px;height:44px;border-radius:50%;
  background-image:var(--badge);background-size:cover;
  box-shadow:0 0 0 2px rgba(255,255,255,.35),0 8px 20px rgba(0,0,0,.35);
  opacity:.92;
}

/* ---------- Marca: menú móvil con símbolo y dominio ---------- */
@media(max-width:980px){
  header.nav-open .menu::before{
    content:"";
    display:block;height:34px;margin:6px 28px 8px;
    background-image:var(--badge-menu);background-size:34px 34px;background-repeat:no-repeat;
  }
  header.nav-open .menu::after{
    content:"actuia.co · Medellín";
    display:block;padding:14px 28px 4px;
    color:var(--actuia-gold-light);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  }
}
@media(max-width:980px){
  header.nav-open .menu{background:#061a2b !important;z-index:60}
}

/* ---------- Nosotros: marca de agua reubicada bajo el titular ---------- */
.about-box::after{
  background-size:min(31%,360px) auto !important;
  background-position:left 5.5% bottom 7% !important;
}
.about-box h2{margin-bottom:215px !important}
@media(max-width:980px){
  .about-box::after{background-size:60% auto !important;background-position:right -6% bottom 6% !important}
  .about-box h2{margin-bottom:18px !important}
}
