/* Final premium polish: section rhythm, process energy flow, client hover and contact cards */

/* Separate the metrics visually from the electrical diagram above. */
.figures{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 8% 20%,rgba(255,193,7,.10),transparent 24%),
    linear-gradient(180deg,#f6f8f5 0%,#eef4f0 100%)!important;
  color:#0b4845!important;
  padding:clamp(66px,7vw,96px) 0!important;
  border-top:1px solid #dbe7e0;
  border-bottom:1px solid #d8e4de;
  overflow:hidden;
}
.figures::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.55;
  background-image:linear-gradient(#0b59590a 1px,transparent 1px),linear-gradient(90deg,#0b59590a 1px,transparent 1px);
  background-size:40px 40px;
}
.figures::after{
  content:"";position:absolute;left:50%;top:0;width:min(78vw,1000px);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#ffc107 18%,#ffc107 82%,transparent);
  box-shadow:0 0 24px rgba(255,193,7,.25);
}
.figures>.wrap{padding-inline:clamp(24px,5vw,72px)!important}
.figures dl{gap:clamp(12px,1.5vw,22px)!important}
.figures dl>div,.figures dl>div+div{
  min-height:190px;
  border:1px solid #d4e2da!important;
  border-radius:18px!important;
  padding:clamp(28px,3vw,40px) clamp(18px,2vw,28px)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 12px 36px rgba(0,63,61,.07);
  backdrop-filter:blur(10px);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s!important;
}
.figures dl>div:hover{transform:translateY(-7px);border-color:#9ebfb2!important;box-shadow:0 22px 50px rgba(0,70,65,.12)}
.figures dt{color:#075753!important;text-shadow:none!important}
.figures dd{color:#52706a!important}
.figures dl>div::before{width:48px!important;height:3px!important;border-radius:99px;box-shadow:0 0 22px rgba(255,193,7,.34)!important}
.figures dl>div::after{color:#0c666633!important;font-size:15px!important}

/* Timeline: scroll-driven electrical flow with a unified technological atmosphere. */
#proceso{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 24%,rgba(75,215,190,.10),transparent 24%),
    radial-gradient(circle at 84% 18%,rgba(255,193,7,.065),transparent 22%),
    radial-gradient(circle at 52% 92%,rgba(31,145,135,.08),transparent 30%),
    linear-gradient(135deg,#063d41 0%,#075451 52%,#064448 100%)!important;
  color:#f2faf8;
  padding:clamp(86px,10vw,138px) 0;
}
#proceso::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.72;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 18%,rgba(197,233,222,.28) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 34% 42%,rgba(197,233,222,.16) 0 1.2px,transparent 2.2px),
    radial-gradient(circle at 61% 23%,rgba(255,209,72,.24) 0 1.4px,transparent 2.4px),
    radial-gradient(circle at 79% 56%,rgba(197,233,222,.18) 0 1.2px,transparent 2.2px),
    radial-gradient(circle at 92% 32%,rgba(197,233,222,.18) 0 1.2px,transparent 2.2px),
    linear-gradient(28deg,transparent 0 49.75%,rgba(169,220,205,.055) 50%,transparent 50.25%) 0 0/280px 210px,
    linear-gradient(-32deg,transparent 0 49.75%,rgba(169,220,205,.045) 50%,transparent 50.25%) 0 0/340px 250px,
    linear-gradient(rgba(183,226,213,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(183,226,213,.035) 1px,transparent 1px);
  background-size:auto,auto,auto,auto,auto,280px 210px,340px 250px,54px 54px,54px 54px;
}
#proceso::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 38%,rgba(255,209,72,.18) 0 3px,transparent 4px),
    radial-gradient(circle at 71% 70%,rgba(144,218,199,.15) 0 3px,transparent 4px),
    linear-gradient(90deg,transparent,rgba(255,255,255,.026),transparent);
  background-size:auto,auto,42% 100%;
  background-position:center;
  background-repeat:no-repeat;
}
#proceso .wrap{position:relative}
#proceso .wrap::before,
#proceso .wrap::after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.18;
  border-color:#8ac4b5;
}
#proceso .wrap::before{
  left:clamp(18px,3vw,46px);
  top:18%;
  width:92px;
  height:46px;
  border-left:1px solid;
  border-top:1px solid;
}
#proceso .wrap::after{
  right:clamp(18px,3vw,46px);
  bottom:10%;
  width:110px;
  height:54px;
  border-right:1px solid;
  border-bottom:1px solid;
}
#proceso .eyebrow{color:#c0dad4}
#proceso h2{color:#fff;max-width:none;text-shadow:0 8px 28px rgba(0,0,0,.12)}
.steps{
  --process-progress:0;
  position:relative;
  isolation:isolate;
  margin-top:clamp(54px,7vw,82px)!important;
  padding-top:8px!important;
}
.steps::before,.steps::after{
  content:"";position:absolute;z-index:-1;left:25px;right:calc(20% - 25px);top:33px;height:2px;border-radius:999px;transform-origin:left center;
}
.steps::before{background:rgba(188,220,210,.20);box-shadow:0 0 0 1px rgba(255,255,255,.02)}
.steps::after{
  background:linear-gradient(90deg,#ffc107,#ffe073 65%,#ffc107);
  box-shadow:0 0 18px rgba(255,193,7,.65),0 0 4px rgba(255,193,7,.7);
  transform:scaleX(var(--process-progress));
  transition:transform .08s linear;
}
.steps li{padding:0 clamp(16px,2vw,28px) 0 0!important;min-height:220px;transition:transform .35s ease}
.steps li::after{opacity:.16!important}
.steps li::before{
  width:56px!important;height:56px!important;border-radius:17px!important;
  background:linear-gradient(145deg,#075f5b,#064a49)!important;
  border:1px solid rgba(255,203,58,.45)!important;
  box-shadow:0 0 0 8px rgba(7,82,80,.72),0 12px 30px rgba(0,24,23,.18)!important;
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease!important;
}
.steps li.is-powered::before,.steps li:hover::before{
  transform:translateY(-4px) scale(1.03);
  background:linear-gradient(145deg,#ffc107,#ffd95f)!important;
  color:#083c3a!important;
  border-color:#ffe081!important;
  box-shadow:0 0 0 8px rgba(255,193,7,.09),0 0 34px rgba(255,193,7,.24)!important;
}
.steps h3{color:#fff!important;font-size:clamp(1.02rem,1.35vw,1.18rem)!important;margin-top:30px!important}
.steps p{color:#b9d6d0!important;font-size:.92rem!important;max-width:25ch}
.steps li:hover{transform:translateY(-5px)}
.process-spark{
  position:absolute;z-index:4;top:26px;left:25px;width:14px;height:14px;border-radius:50%;pointer-events:none;
  background:#fff3a7;border:3px solid #ffc107;box-shadow:0 0 0 5px rgba(255,193,7,.12),0 0 28px rgba(255,193,7,.8);
  translate:calc((var(--process-progress) * (400% - 50px))) 0;
  opacity:calc(.15 + var(--process-progress));
}

/* Client wall: cursor-reactive light, shine and subtle 3D. */
.clients{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 88% 6%,rgba(255,193,7,.075),transparent 25%),
    radial-gradient(circle at 5% 95%,rgba(79,188,157,.11),transparent 27%),
    #063f40!important;
}
.logo-wall{gap:16px!important}
.logo-wall li{
  --mx:50%;--my:50%;--rx:0deg;--ry:0deg;
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border:1px solid rgba(190,225,214,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .22s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease!important;
  will-change:transform;
}
.logo-wall li::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(220px circle at var(--mx) var(--my),rgba(255,209,78,.17),transparent 55%);
  opacity:0;transition:opacity .25s ease;
}
.logo-wall li::after{
  content:"";position:absolute;top:-30%;bottom:-30%;left:-60%;width:35%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-16deg);opacity:0;
}
.logo-wall li:hover{border-color:rgba(255,205,62,.65)!important;box-shadow:0 18px 44px rgba(0,26,25,.28),0 0 28px rgba(255,193,7,.08)!important;background:rgba(255,255,255,.075)!important}
.logo-wall li:hover::before{opacity:1}
.logo-wall li:hover::after{opacity:1;animation:client-shine .78s ease forwards}
.logo-wall li:hover img{transform:translateY(-2px) scale(1.055)!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12))}
@keyframes client-shine{to{left:135%}}
.clients .ally{border-radius:16px!important;background:linear-gradient(105deg,rgba(255,193,7,.07),rgba(255,255,255,.025))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

/* Contact information becomes a small interactive control panel. */
.contact{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 8% 90%,rgba(69,184,153,.16),transparent 27%),
    radial-gradient(circle at 95% 8%,rgba(255,193,7,.08),transparent 22%),
    #064748!important;
}
.contact::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(208,237,229,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(208,237,229,.13) 1px,transparent 1px);
  background-size:50px 50px;
  mask-image:linear-gradient(90deg,#000 0%,transparent 55%);
}
.contact-grid{position:relative;z-index:1}
.offices{grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:38px!important}
.office-card{
  position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;
  padding:18px;border:1px solid rgba(201,229,221,.16);border-radius:14px;background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
  overflow:hidden;
}
.office-card::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:#ffc107;transition:width .35s ease;box-shadow:0 0 12px rgba(255,193,7,.4)}
.office-card:hover{transform:translateY(-4px);border-color:rgba(255,213,92,.42);background:rgba(255,255,255,.065);box-shadow:0 14px 32px rgba(0,25,24,.15)}
.office-card:hover::after{width:100%}
.office-card-wide{grid-column:1/-1}
.office-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,213,92,.34);border-radius:12px;background:rgba(255,193,7,.075);color:#ffd24a;transition:transform .3s ease,background .3s ease}
.office-card:hover .office-icon{transform:rotate(-4deg) scale(1.05);background:rgba(255,193,7,.13)}
.office-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.offices h3{margin:2px 0 4px!important;font-size:.84rem!important;letter-spacing:.03em;text-transform:uppercase;color:#fff!important}
.offices p,.offices a{font-size:.82rem!important;line-height:1.6}
.social-links{display:flex;flex-wrap:wrap;gap:8px!important;margin-top:4px}
.social-links a{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid rgba(206,231,223,.15);border-radius:999px;text-decoration:none!important;background:rgba(255,255,255,.025);transition:background .2s,border-color .2s,transform .2s,color .2s}
.social-links a:hover{transform:translateY(-2px);background:rgba(255,193,7,.09);border-color:rgba(255,193,7,.35);color:#fff!important}
.contact .panel{position:relative;overflow:hidden;border-radius:22px!important}
.contact .panel::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#ffc107,#ffe78d,#ffc107)}
.contact input,.contact select,.contact textarea{transition:border-color .2s,box-shadow .2s,background .2s,transform .2s}
.contact input:focus,.contact select:focus,.contact textarea:focus{box-shadow:0 0 0 4px rgba(8,89,89,.08);background:#fff;transform:translateY(-1px)}
.contact .btn-sol{position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(255,193,7,.18)}
.contact .btn-sol::after{content:"";position:absolute;inset:-30% auto -30% -45%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg)}
.contact .btn-sol:hover::after{animation:contact-shine .7s ease forwards}
@keyframes contact-shine{to{left:125%}}

@media(max-width:900px){
  .steps::before,.steps::after{left:28px;right:auto;top:35px;bottom:0;width:2px;height:auto;transform-origin:center top}
  .steps::after{transform:scaleY(var(--process-progress))}
  .steps li{min-height:150px!important;padding-left:78px!important}
  .steps li::before{left:0!important;top:4px!important}
  .steps h3{margin-top:7px!important}
  .process-spark{left:21px;top:31px;translate:0 calc(var(--process-progress) * 520px)}
}
@media(max-width:760px){
  .figures{padding:54px 0!important}.figures dl{grid-template-columns:1fr 1fr!important}.figures dl>div{min-height:155px}
  #proceso{padding:74px 0 88px}.steps p{max-width:36ch}
  .logo-wall li{transform:none!important}
  .offices{grid-template-columns:1fr!important}.office-card,.office-card-wide{grid-column:auto!important}
}
@media(max-width:480px){
  .figures dl{grid-template-columns:1fr!important}.figures dl>div{min-height:140px}
  .process-spark{display:none}
}
@media(prefers-reduced-motion:reduce){
  #proceso::after,.logo-wall li::after,.contact .btn-sol::after{animation:none!important}
  .process-spark{display:none!important}
  .logo-wall li{transform:none!important}
}

/* Hero: subtle connected-node atmosphere, kept deliberately restrained. */
.hero{isolation:isolate}
.hero .wrap{position:relative;z-index:3}
.hero-tech-network{
  position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible;
  opacity:.68;
  filter:drop-shadow(0 0 9px rgba(91,201,172,.10));
}
.hero-tech-network .hero-tech-lines,
.hero-tech-network .hero-tech-faint{
  fill:none;stroke:#8fc9b8;stroke-width:1.05;vector-effect:non-scaling-stroke;
}
.hero-tech-network .hero-tech-lines{opacity:.42}
.hero-tech-network .hero-tech-faint{opacity:.19;stroke-dasharray:3 7}
.hero-tech-network .hero-tech-nodes{fill:#84c2ad;opacity:.72}
.hero-tech-network .hero-tech-signal{fill:#ffc107;opacity:.92;filter:drop-shadow(0 0 4px rgba(255,193,7,.38))}
.hero-tech-network .hero-tech-nodes circle:nth-child(2n),
.hero-tech-network .hero-tech-signal circle{
  animation:hero-node-pulse 5.8s ease-in-out infinite;
  transform-box:fill-box;transform-origin:center;
}
.hero-tech-network .hero-tech-signal circle:nth-child(2){animation-delay:1.4s}
.hero-tech-network .hero-tech-signal circle:nth-child(3){animation-delay:2.8s}
.hero-tech-network::before{display:none}

/* Replace the stronger diagonal decoration with a much softer side-light. */
.hero::before{
  content:"";
  z-index:0;
  position:absolute;
  inset:0;
  width:auto;height:auto;
  background:
    radial-gradient(circle at 6% 20%,rgba(255,193,7,.07) 0 2px,transparent 3px),
    radial-gradient(circle at 94% 18%,rgba(121,205,180,.10),transparent 20%),
    radial-gradient(circle at 90% 72%,rgba(255,193,7,.045),transparent 16%);
  transform:none;
  pointer-events:none;
  opacity:1;
}
.hero::after{
  z-index:0;
  background:
    radial-gradient(ellipse at 78% 31%,rgba(28,150,126,.16),transparent 48%),
    linear-gradient(90deg,rgba(6,63,64,.35),transparent 47%,rgba(6,63,64,.05));
}
@keyframes hero-node-pulse{
  0%,100%{opacity:.42;transform:scale(1)}
  50%{opacity:.88;transform:scale(1.45)}
}
@media(max-width:900px){
  .hero-tech-network{opacity:.48}
  .hero-tech-network .hero-tech-lines{opacity:.34}
  .hero-tech-network .hero-tech-faint{opacity:.14}
}
@media(max-width:760px){
  .hero-tech-network{opacity:.38}
  .hero-tech-network .hero-tech-lines path:nth-child(-n+3){opacity:.38}
  .hero::before{opacity:.65}
}
@media(prefers-reduced-motion:reduce){
  .hero-tech-network circle{animation:none!important}
}

/* v11 — cinco cifras y nueva pared de clientes */
@media(min-width:1051px){
  .figures dl{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .figures dl>div{min-height:180px!important;padding-inline:clamp(12px,1.35vw,22px)!important}
  .figures dt{font-size:clamp(1.38rem,2.3vw,2.2rem)!important;white-space:normal!important}
  .figures dd{font-size:.74rem!important;line-height:1.5!important}
}
@media(min-width:761px) and (max-width:1050px){
  .figures dl{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

.logo-wall-expanded{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:12px!important;
  border:0!important;
  margin-top:38px!important;
}
.logo-wall-expanded li{
  min-height:108px!important;
  padding:18px 14px!important;
  border-radius:15px!important;
  border:1px solid rgba(216,230,224,.9)!important;
  background:#f8faf8!important;
  box-shadow:0 9px 22px rgba(0,25,25,.08),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.logo-wall-expanded li.logo-card--dark{
  background:linear-gradient(145deg,#0a5653,#063f40)!important;
  border-color:rgba(190,225,214,.18)!important;
  box-shadow:0 9px 22px rgba(0,25,25,.15),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.logo-wall-expanded li:hover{
  transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-5px)!important;
  border-color:rgba(255,205,62,.72)!important;
  box-shadow:0 18px 38px rgba(0,26,25,.24),0 0 24px rgba(255,193,7,.09)!important;
}
.logo-wall-expanded img{max-height:58px!important;max-width:92%!important;opacity:1!important;transition:transform .24s ease,filter .24s ease!important}
.logo-wall-expanded li:not(.logo-card--dark) img{filter:none}
@media(max-width:1180px){.logo-wall-expanded{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:820px){.logo-wall-expanded{grid-template-columns:repeat(3,minmax(0,1fr))!important}.logo-wall-expanded li{min-height:96px!important}}
@media(max-width:480px){.logo-wall-expanded{grid-template-columns:repeat(2,minmax(0,1fr))!important}.logo-wall-expanded li{min-height:90px!important;padding:15px 10px!important}}

/* Alianza destacada ELING LATAM */
.clients .ally.ally-featured{
  position:relative;
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.35fr);
  gap:0;
  margin-top:58px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18)!important;
  border-left:0!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(255,193,7,.11),transparent 30%),
    linear-gradient(112deg,rgba(10,78,73,.98),rgba(5,60,61,.98) 56%,rgba(4,50,53,.99))!important;
  box-shadow:0 30px 75px rgba(0,24,24,.28),inset 0 1px 0 rgba(255,255,255,.05)!important;
  transform:translateZ(0);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  isolation:isolate;
}
.clients .ally.ally-featured::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(rgba(164,216,197,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(164,216,197,.035) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(90deg,transparent 8%,#000 28%,#000 100%);
}
.clients .ally.ally-featured::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:5px;
  height:100%;
  background:linear-gradient(180deg,#ffd75e,#ffc107 55%,#f2a800);
  box-shadow:0 0 28px rgba(255,193,7,.26);
}
.clients .ally.ally-featured:hover{
  transform:translateY(-4px);
  border-color:rgba(255,207,74,.34)!important;
  box-shadow:0 36px 90px rgba(0,22,22,.34),0 0 0 1px rgba(255,193,7,.08),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.ally-logo-panel{
  position:relative;
  min-height:245px;
  display:grid;
  place-items:center;
  padding:48px 42px 34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 18%,rgba(255,213,76,.13),transparent 32%),
    linear-gradient(145deg,#f7faf7,#eef5f0 74%,#e8f0eb);
  border-right:1px solid rgba(255,255,255,.14);
}
.ally-logo-panel::before{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border:1px solid rgba(12,93,83,.08);
  border-radius:50%;
  right:-76px;
  bottom:-95px;
  box-shadow:0 0 0 34px rgba(12,93,83,.025),0 0 0 68px rgba(12,93,83,.018);
}
.ally-logo-panel img{
  position:relative;
  z-index:2;
  width:min(100%,390px)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(2,55,52,.12));
  transition:transform .4s ease,filter .4s ease;
}
.ally-featured:hover .ally-logo-panel img{
  transform:scale(1.025) translateY(-2px);
  filter:drop-shadow(0 18px 22px rgba(2,55,52,.16));
}
.ally-partner-badge{
  position:absolute;
  top:20px;
  left:24px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(9,77,70,.08);
  border:1px solid rgba(9,77,70,.11);
  color:#285f57;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ally-partner-badge i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ffc107;
  box-shadow:0 0 0 5px rgba(255,193,7,.14);
}
.ally-signal{
  position:absolute;
  border:1px solid rgba(11,100,88,.09);
  border-radius:50%;
  pointer-events:none;
}
.ally-signal-a{width:105px;height:105px;left:-52px;bottom:14px}
.ally-signal-b{width:54px;height:54px;left:-26px;bottom:39px}
.ally-copy{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:42px 50px 40px;
  min-width:0;
}
.ally-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#ffd44d;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.ally-kicker::before{content:"";width:30px;height:2px;background:#ffc107;border-radius:999px;box-shadow:0 0 14px rgba(255,193,7,.32)}
.clients .ally-featured h3{
  margin:13px 0 12px;
  max-width:18ch;
  color:#f6fbf8;
  font:800 clamp(1.65rem,2.7vw,2.65rem)/1.04 var(--display);
  letter-spacing:-.035em;
}
.clients .ally-featured h3 span{color:#ffc107;font-weight:700}
.clients .ally-featured p{
  max-width:58ch;
  margin:0;
  color:#bed5cc!important;
  font-size:1rem!important;
  line-height:1.65;
}
.ally-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:24px;
}
.ally-tags span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid rgba(188,220,207,.16);
  background:rgba(255,255,255,.045);
  color:#e4f0eb;
  font-size:.77rem;
  font-weight:700;
  transition:transform .25s ease,border-color .25s ease,background-color .25s ease;
}
.ally-tags span::before{content:"";width:6px;height:6px;margin-right:8px;border-radius:50%;background:#ffc107;box-shadow:0 0 10px rgba(255,193,7,.35)}
.ally-featured:hover .ally-tags span{border-color:rgba(255,207,74,.24);background:rgba(255,255,255,.06)}
.ally-corner{position:absolute;pointer-events:none;width:55px;height:55px;opacity:.38}
.ally-corner-a{top:19px;right:19px;border-top:1px solid rgba(255,213,76,.52);border-right:1px solid rgba(255,213,76,.52)}
.ally-corner-b{bottom:19px;right:19px;border-bottom:1px solid rgba(135,195,175,.4);border-right:1px solid rgba(135,195,175,.4)}

@media(max-width:900px){
  .clients .ally.ally-featured{grid-template-columns:1fr}
  .ally-logo-panel{min-height:220px;border-right:0;border-bottom:1px solid rgba(12,93,83,.09);padding:48px 32px 30px}
  .ally-logo-panel img{width:min(88%,360px)!important}
  .ally-copy{padding:34px 30px 36px}
  .clients .ally-featured h3{max-width:22ch}
}
@media(max-width:520px){
  .clients .ally.ally-featured{margin-top:40px;border-radius:22px!important}
  .ally-logo-panel{min-height:190px;padding:52px 22px 26px}
  .ally-partner-badge{top:16px;left:18px;font-size:.64rem}
  .ally-copy{padding:28px 22px 30px}
  .clients .ally-featured h3{font-size:1.65rem}
  .clients .ally-featured p{font-size:.92rem!important}
  .ally-tags{gap:7px;margin-top:20px}
  .ally-tags span{min-height:34px;padding:0 11px;font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .clients .ally.ally-featured,.ally-logo-panel img,.ally-tags span{transition:none!important}
}
