*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: var(--color-fg);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

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

a { color: inherit; text-decoration: none; transition: color var(--duration-fast) var(--ease-out); }
a:hover { color: var(--color-primary); }

button { font-family: inherit; cursor: pointer; }

:focus-visible {
  outline: 2px solid var(--color-ring);
  outline-offset: 3px;
  border-radius: 2px;
}

.skip-link {
  position: absolute;
  top: -120px;
  left: var(--space-4);
  z-index: var(--z-toast);
  padding: 12px 18px;
  background: var(--color-primary);
  color: var(--color-fg);
  font-weight: 600;
  font-size: var(--text-sm);
  text-decoration: none;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  transition: top var(--duration-normal) var(--ease-out);
}
.skip-link:focus,
.skip-link:focus-visible {
  top: var(--space-3);
  outline: 2px solid var(--color-fg);
  outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 var(--space-4);
  font-weight: 700;
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
}

p { margin: 0 0 var(--space-4); }

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-px);
}

.section {
  padding-block: var(--space-24);
}
@media (max-width: 768px) {
  .section { padding-block: var(--space-16); }
}

.section--dark  { background: var(--color-bg);    color: var(--color-fg); }
.section--light { background: var(--color-bg-light); color: var(--color-fg-light); }

.eyebrow {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: var(--color-primary-lift);
  margin-bottom: var(--space-4);
}

.section--light .eyebrow { color: var(--color-primary-ink); }

.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 14px 26px;
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: var(--text-base);
  letter-spacing: -0.01em;
  border: 1px solid transparent;
  transition: all var(--duration-normal) var(--ease-out);
  white-space: nowrap;
  cursor: pointer;
}
.btn:hover { color: var(--color-fg); transform: translateY(-1px); }
.btn .icon { width: 18px; height: 18px; }

.btn-primary {
  background: var(--color-primary);
  color: var(--color-fg);
}
.btn-primary:hover {
  background: var(--color-primary-hover);
  box-shadow: var(--glow-primary);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.03);
  color: var(--color-fg);
  border-color: var(--color-border-strong);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}
.btn-secondary:hover {
  border-color: rgba(255,255,255,0.4);
  background: rgba(255,255,255,0.06);
  color: var(--color-fg);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.section--light .btn-secondary {
  color: var(--color-fg-light);
  border-color: var(--color-border-light);
}
.section--light .btn-secondary:hover {
  background: rgba(0,0,0,0.04);
  color: var(--color-fg-light);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: rgba(16, 16, 16, 0.85);
  backdrop-filter: saturate(160%) blur(12px);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--color-border);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  height: var(--header-h);
}
.site-header__brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.site-header__logo {
  height: 40px;
  width: auto;
  border-radius: 4px;
}

.main-nav { display: none; }
@media (min-width: 1024px) {
  .main-nav { display: block; }
}
.main-nav__list {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  font-weight: 500;
  font-size: var(--text-sm);
  color: var(--color-fg);
  transition: all var(--duration-fast) var(--ease-out);
}
.main-nav__link:hover,
.main-nav__link.is-active {
  color: var(--color-primary);
  background: rgba(220, 38, 38, 0.08);
}
.main-nav__link .icon { width: 14px; height: 14px; opacity: 0.7; }

.main-nav__item--has-children { position: relative; }
.main-nav__submenu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 320px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2);
  box-shadow: var(--shadow-lg);
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: all var(--duration-normal) var(--ease-out);
}
.main-nav__item--has-children:hover .main-nav__submenu,
.main-nav__item--has-children:focus-within .main-nav__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.main-nav__submenu a {
  display: block;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  color: var(--color-fg);
  transition: background var(--duration-fast) var(--ease-out);
}
.main-nav__submenu a:hover {
  background: rgba(255,255,255,0.06);
  color: var(--color-primary);
}

.site-header__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
}
.site-header__cta .btn { padding: 10px 18px; font-size: var(--text-sm); }

.mobile-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-fg);
}
@media (min-width: 1024px) {
  .mobile-menu-toggle { display: none; }
}
.mobile-menu-toggle .icon { width: 20px; height: 20px; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;

  padding: clamp(92px, 10.5vw, 120px) 0 clamp(30px, 3.8vw, 44px);
  background:

    radial-gradient(ellipse 55% 60% at 18% 8%,  rgba(220, 38, 38, 0.20), transparent 60%),

    radial-gradient(ellipse 55% 55% at 88% 22%, rgba(  6,182,212, 0.18), transparent 60%),

    radial-gradient(ellipse 45% 45% at 92% 72%, rgba(  6,182,212, 0.10), transparent 60%),

    radial-gradient(ellipse at 50% 100%, rgba(226, 232, 240, 0.05), transparent 45%),
    var(--color-bg);
  isolation: isolate;
}
.hero__inner {
  width: 100%;
}
.hero::before {

  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px);
  background-size: 64px 64px;

  mask-image: linear-gradient(to right, black 0%, black 45%, transparent 78%);
  -webkit-mask-image: linear-gradient(to right, black 0%, black 45%, transparent 78%);

  opacity: 0.55;
  pointer-events: none;

  z-index: 1;
}
.hero::after {

  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 110px;
  background: linear-gradient(to bottom, transparent, var(--color-bg) 96%);
  pointer-events: none;
  z-index: 2;
}

.hero__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;

  mask-image: radial-gradient(ellipse 130% 110% at center 50%, black 60%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 130% 110% at center 50%, black 60%, transparent 100%);
}

.hero__vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background:
    radial-gradient(ellipse 60% 50% at center 50%, rgba(16, 16, 16,0.35) 0%, transparent 70%);
}

.hero__scroll {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-muted);
  text-decoration: none;
  z-index: 5;
  opacity: 0.85;
  transition: opacity var(--duration-fast) var(--ease-out);
}
.hero__scroll:hover { opacity: 1; color: var(--color-fg); }
.hero__scroll-mouse {
  width: 22px;
  height: 36px;
  border: 1.5px solid rgba(255,255,255,0.5);
  border-radius: 12px;
  position: relative;
  box-shadow: 0 0 16px rgba(220,38,38,0.25);
}
.hero__scroll-mouse::before {
  content: '';
  position: absolute;
  top: 6px; left: 50%;
  width: 3px; height: 8px;
  background: var(--color-primary);
  border-radius: 2px;
  transform: translateX(-50%);
  animation: hero-scroll-dot 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  box-shadow: 0 0 6px rgba(220,38,38,0.45);
}
@keyframes hero-scroll-dot {
  0%   { transform: translate(-50%, 0); opacity: 0; }
  20%  { opacity: 1; }
  80%  { opacity: 1; }
  100% { transform: translate(-50%, 14px); opacity: 0; }
}

.hero__word,
.page-hero__word {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  line-height: 1.05;
}
.hero__word-inner,
.page-hero__word-inner {
  display: inline-block;
  will-change: transform, opacity;
}
.hero__inner {
  position: relative;
  z-index: 5;
}
.hero__title,
.hero__eyebrow,
.hero__subtitle,
.hero__actions,
.hero__trust { position: relative; z-index: 6; }

@media (max-width: 700px) {
  .hero__canvas {
    mask-image: radial-gradient(ellipse 110% 80% at center 50%, black 25%, transparent 95%);
    -webkit-mask-image: radial-gradient(ellipse 110% 80% at center 50%, black 25%, transparent 95%);
  }
}

.hero__inner {
  position: relative;

  z-index: 5;
  display: block;
  text-align: left;
  width: 100%;
}
.hero__col-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 680px;
}

.hero__eyebrow { max-width: none; white-space: nowrap; }
@media (max-width: 760px) { .hero__eyebrow { white-space: normal; } }
.hero__col-left .hero__chips { justify-content: flex-start; }
.hero__col-left .hero__actions { justify-content: flex-start; }
.hero__col-left .hero__trust { justify-content: flex-start; }

.hero__eyebrow { max-width: none; white-space: nowrap; }
@media (max-width: 760px) { .hero__eyebrow { white-space: normal; } }
.hero__col-left .hero__chips { justify-content: flex-start; }
.hero__col-left .hero__actions { justify-content: flex-start; }
.hero__col-left .hero__trust { justify-content: flex-start; }

.hero__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5) var(--space-4);
  background: linear-gradient(180deg, rgba(23, 23, 23, 0.55) 0%, rgba(16, 16, 16, 0.48) 100%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.35),
    0 20px 50px rgba(0, 0, 0, 0.40);
  overflow: hidden;
  isolation: isolate;
  will-change: auto;
}

.hero__panel::after {
  content: '';
  position: absolute;
  inset: -40% -25% -40% -25%;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(6, 182, 212, 0.18), transparent 70%);
  pointer-events: none;
  z-index: -2;
  filter: blur(20px);
}

.hero__panel::before {
  content: '';
  position: absolute; inset: 0;
  background:
    repeating-linear-gradient(180deg, transparent 0px, transparent 2px, rgba(255, 255, 255, 0.012) 3px, transparent 4px);
  pointer-events: none;
  z-index: -1;
}

.hero__panel-session {
  font: 500 11.5px/1.2 var(--font-mono);
  letter-spacing: 0;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transform: translateX(-6px);
  animation: panel-line-in 500ms cubic-bezier(0.16, 1, 0.3, 1) 200ms forwards;
}
.hero__panel-user   { color: rgb(110, 231, 183); }
.hero__panel-sep    { color: rgba(255, 255, 255, 0.35); }
.hero__panel-path   { color: rgb(165, 243, 252); }
.hero__panel-dollar { color: rgba(255, 255, 255, 0.55); margin: 0 8px 0 6px; }
.hero__panel-cmd    { color: rgba(241, 245, 249, 0.92); }

.hero__panel-head {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  opacity: 0;
  animation: panel-fade-in 400ms cubic-bezier(0.16, 1, 0.3, 1) 600ms forwards;
}
.hero__panel-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgb(34, 211, 238);
  box-shadow: 0 0 8px rgba(34, 211, 238, 0.7), inset 0 0 4px rgba(255,255,255,0.4);
  animation: hero-panel-pulse 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes hero-panel-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.55; transform: scale(0.82); }
}
.hero__panel-label {
  font: 600 10.5px/1 var(--font-mono);
  letter-spacing: 0.10em;
  color: rgba(203, 213, 225, 0.92);
  flex: 1;
}
.hero__panel-clock {
  font: 600 10px/1 var(--font-mono);
  letter-spacing: 0.06em;
  color: rgba(148, 163, 184, 0.75);
  font-variant-numeric: tabular-nums;
}

.hero__panel-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.hero__panel-list li {
  display: grid;
  grid-template-columns: 24px 92px 1fr;
  align-items: center;
  gap: var(--space-3);
  padding: 5px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.025);
  transition: background 240ms var(--ease-out);
  opacity: 0;
  transform: translateX(-6px);
  animation: panel-line-in 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: calc(750ms + var(--i, 0) * 90ms);
}
@keyframes panel-line-in {
  to { opacity: 1; transform: translateX(0); }
}
@keyframes panel-fade-in {
  to { opacity: 1; }
}
.hero__panel-list li:last-child { border-bottom: 0; }
.hero__panel-list li:hover { background: rgba(6, 182, 212, 0.04); }
.hero__panel-ln {
  font: 600 9.5px/1 var(--font-mono);
  letter-spacing: 0.06em;
  color: rgba(148, 163, 184, 0.30);
  font-variant-numeric: tabular-nums;
}
.hero__panel-key {
  font: 600 10px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.72);
}
.hero__panel-val {
  font: 700 12px/1 var(--font-mono);
  letter-spacing: 0.04em;
  color: var(--color-fg);
  font-variant-numeric: tabular-nums;
  text-align: right;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.hero__panel-val--ok {
  color: rgb(110, 231, 183);
}
.hero__panel-val small {
  font-size: 0.7em;
  color: rgba(148, 163, 184, 0.7);
  margin-left: 1px;
}
.hero__panel-check {
  width: 11px;
  height: 11px;
  color: rgb(34, 197, 94);
  flex-shrink: 0;
  filter: drop-shadow(0 0 4px rgba(34, 197, 94, 0.45));
}

.hero__panel-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  opacity: 0;
  animation: panel-fade-in 500ms cubic-bezier(0.16, 1, 0.3, 1) 1400ms forwards;
}
.hero__panel-foot .hero__panel-dollar {
  margin: 0;
  color: rgba(34, 211, 238, 0.85);
  font: 700 11px/1 var(--font-mono);
}
.hero__panel-foot-text {
  font: 600 10px/1 var(--font-mono);
  letter-spacing: 0.10em;
  color: rgba(134, 239, 172, 0.85);
  flex: 1;
}

.hero__panel-cursor {
  display: inline-block;
  width: 8px;
  height: 2px;
  background: rgba(34, 211, 238, 0.9);
  vertical-align: 2px;
  animation: hero-panel-cursor 1.05s steps(2) infinite;
}
@keyframes hero-panel-cursor {
  0%, 50%   { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

@media (max-width: 1023px) {
  .hero__panel { max-width: 480px; width: 100%; }
}
@media (max-width: 720px) {
  .hero__panel { padding: var(--space-4); }
  .hero__panel-list li { padding: 5px 0; grid-template-columns: 22px 84px 1fr; }
  .hero__panel-clock, .hero__panel-session { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__panel-pulse, .hero__panel-cursor { animation: none; }
  .hero__panel-session, .hero__panel-head, .hero__panel-list li, .hero__panel-foot {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: 8px 16px;
  background: rgba(220, 38, 38, 0.08);
  border: 1px solid rgba(220, 38, 38, 0.25);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-danger-soft);
  margin-bottom: var(--space-6);
}
.hero__eyebrow .pulse {
  width: 8px; height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(220,38,38,0.2);
  animation: pulse 2.4s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.40); }
  50%      { box-shadow: 0 0 0 6px rgba(220,38,38,0.0); }
}

.hero__title {
  font-size: clamp(var(--text-4xl), 6vw, var(--text-6xl));
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 800;
  margin-bottom: var(--space-6);
  color: #FFFFFF;
  text-shadow:
    0 0 32px rgba(255, 255, 255, 0.18),
    0 0 6px rgba(220, 38, 38, 0.35),
    0 2px 18px rgba(0, 0, 0, 0.45);
  position: relative;
  z-index: 10;
}
.hero__subtitle {
  font-size: clamp(var(--text-lg), 1.6vw, var(--text-xl));
  color: var(--color-muted);
  max-width: 640px;
  margin: 0 auto var(--space-8);
}
.hero__actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-bottom: var(--space-12);
}
.hero__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-6) var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border);
  max-width: 760px;
  margin-inline: auto;
}
.hero__trust-label {
  width: 100%;
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-2);
}
.hero__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-fg);
  opacity: 0.85;
  transition: opacity var(--duration-fast) var(--ease-out);
}
.hero__trust-item:hover { opacity: 1; }
.hero__trust-item .icon { width: 16px; height: 16px; color: var(--color-primary); }

.hero__trust-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.hero__trust-badge img { display: block; height: 40px; width: auto; }

.site-footer__badges { display: flex; gap: 10px; align-items: center; margin: var(--space-4) 0; }
.site-footer__coverage {
  font-size: var(--text-sm);
  color: var(--color-muted);
  margin: 0 0 var(--space-5);
  line-height: 1.6;
}
.site-footer__contact-title { margin-top: 0; }
.site-footer__contact {
  font-style: normal;
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: 1.7;
}
.site-footer__contact a { color: var(--color-muted); }
.site-footer__contact a:hover { color: var(--color-fg); }
.site-footer__contact-cta {
  display: inline-block;
  margin-top: var(--space-2);
  font-weight: 600;
  color: var(--color-primary) !important;
}

.site-footer__badges img {
  display: block;
  box-sizing: border-box;
  height: 66px;
  width: auto;
  padding: 7px 10px;
  border-radius: var(--radius-sm);
  background: rgba(248, 250, 252, 0.92);
}

.presence__globe:empty {
  position: relative;
  min-height: 420px;
}
.presence__globe:empty::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 120px; height: 120px;
  margin: -60px 0 0 -60px;
  border-radius: 50%;
  border: 1px solid rgba(220, 38, 38, 0.5);
  animation: globe-pulse 1.6s var(--ease-out) infinite;
}
.presence__globe:empty::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 8px; height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: var(--color-primary);
}
@keyframes globe-pulse {
  0%   { transform: scale(0.4); opacity: 0.9; }
  100% { transform: scale(2.2); opacity: 0; }
}

.liga {
  background: var(--color-bg);
  position: relative;
  overflow: hidden;
}
.liga::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center top, rgba(220,38,38,0.08) 0%, transparent 60%);
  pointer-events: none;
}
.liga__header {
  position: relative;
  text-align: center;
  max-width: 760px;
  margin: 0 auto var(--space-16);
}
.liga__title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.liga__lede {
  font-size: var(--text-lg);
  color: var(--color-muted);
  margin-top: var(--space-4);
}
.liga__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-6);
}
@media (min-width: 1024px) {
  .liga__grid { grid-template-columns: repeat(6, 1fr); gap: var(--space-4); }
}

.persona {
  position: relative;
  display: block;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--duration-normal) var(--ease-out);
  isolation: isolate;
}
.persona::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(16, 16, 16,0.92) 100%);
  pointer-events: none;
  z-index: 1;
}
.persona__img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center top;
  filter: saturate(1.05);
  transition: transform var(--duration-slow) var(--ease-out);

  background: radial-gradient(70% 55% at 50% 42%,
    color-mix(in srgb, var(--persona-color, var(--color-primary)) 22%, transparent) 0%,
    transparent 72%);
}
.persona:hover .persona__img { transform: scale(1.04); }
.persona__body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: var(--space-4);
  z-index: 2;
}
.persona__name {
  font-size: var(--text-base);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 4px;
}
.persona__role {
  font-size: var(--text-xs);
  color: var(--color-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0;
}

.persona[data-persona="zerotrust"] .persona__name { color: var(--color-zerotrust); }
.persona[data-persona="ngsoc"]     .persona__name { color: var(--color-ngsoc); }
.persona[data-persona="asha"]      .persona__name { color: var(--color-primary); }
.persona[data-persona="csirt"]     .persona__name { color: var(--color-csirt); }
.persona[data-persona="ctem"]      .persona__name { color: var(--color-ctem); }
.persona[data-persona="grc"]       .persona__name { color: var(--color-grc); }

.persona[data-persona="zerotrust"]:hover { border-color: var(--color-zerotrust); box-shadow: var(--glow-zerotrust); transform: translateY(-3px); }
.persona[data-persona="ngsoc"]:hover     { border-color: var(--color-ngsoc);     box-shadow: var(--glow-ngsoc);     transform: translateY(-3px); }
.persona[data-persona="asha"]:hover      { border-color: var(--color-primary);   box-shadow: var(--glow-primary);   transform: translateY(-3px); }
.persona[data-persona="csirt"]:hover     { border-color: var(--color-csirt);     box-shadow: var(--glow-csirt);     transform: translateY(-3px); }
.persona[data-persona="ctem"]:hover      { border-color: var(--color-ctem);      box-shadow: var(--glow-ctem);      transform: translateY(-3px); }
.persona[data-persona="grc"]:hover       { border-color: var(--color-grc);       box-shadow: var(--glow-grc);       transform: translateY(-3px); }

.section-head {
  max-width: 760px;
  margin: 0 auto var(--space-12);
  text-align: center;
}
.section-head--left {
  margin-inline: 0;
  text-align: left;
  max-width: 640px;
}
.section-title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.section-lede {
  font-size: var(--text-lg);
  margin-top: var(--space-4);
  color: var(--color-muted);
}
.section--light .section-lede { color: var(--color-muted-light); }

.section-lede--secondary {
  font-size: var(--text-base);
  margin-top: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px dashed rgba(255, 255, 255, 0.06);
  color: rgba(165, 243, 252, 0.85);
  max-width: 760px;
  margin-inline: auto;
}
.section-lede--secondary strong { color: var(--color-fg); font-weight: 700; }

.how__grid {
  display: grid;
  gap: var(--space-12);
  align-items: center;
}
@media (min-width: 900px) {
  .how__grid { grid-template-columns: 1.05fr 1fr; gap: var(--space-16); }
}
.how__media {
  position: relative;

  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
.how__media img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.how__media::after {

  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(220,38,38,0.08);
}
.how__text p {
  font-size: var(--text-lg);
  color: var(--color-muted-light);
}
.promises {
  list-style: none;
  margin: var(--space-6) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 540px) { .promises { grid-template-columns: repeat(2, 1fr); } }
.promise {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: rgba(220,38,38,0.05);
  border: 1px solid rgba(220,38,38,0.18);
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--color-fg-light);
}
.promise .icon {
  width: 20px; height: 20px;
  color: var(--color-primary);
  flex-shrink: 0;
}

.diff {
  position: relative;
  overflow: hidden;
}
.diff::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 90% 0%, rgba(220,38,38,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 100%, rgba(6,182,212,0.10) 0%, transparent 60%);
  pointer-events: none;
}
.diff__grid {
  position: relative;
  display: grid;
  gap: var(--space-12);
}
@media (min-width: 900px) {
  .diff__grid { grid-template-columns: 1.1fr 1fr; gap: var(--space-16); align-items: start; }
}
.diff__title .accent {
  color: var(--color-primary);
  font-weight: 800;
  font-style: italic;
}
.diff__copy p {
  color: var(--color-muted);
  font-size: var(--text-base);
}
.diff__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
  font-weight: 600;
  color: var(--color-primary);
  border-bottom: 1px solid transparent;
  transition: border-color var(--duration-fast) var(--ease-out);
}
.diff__cta:hover { border-color: currentColor; color: var(--color-primary); }
.diff__cta .icon { width: 18px; height: 18px; }

.metrics {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 480px) {
  .metrics { grid-template-columns: repeat(4, 1fr); }
}
.metric {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4) var(--space-4);
  text-align: left;
  transition: all var(--duration-normal) var(--ease-out);
}
.metric:hover {
  border-color: rgba(220,38,38,0.4);
  transform: translateY(-2px);
}
.metric__num {
  font-size: clamp(var(--text-3xl), 3vw, var(--text-4xl));
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-fg);
  font-feature-settings: 'tnum' 1;
}
.metric__num .unit {
  font-size: var(--text-xl);
  color: var(--color-primary);
  margin-left: 2px;
}
.metric__label {
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-muted);
}

.frameworks {
  margin-top: var(--space-12);
}
.frameworks__label {
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-4);
}
.frameworks__grid {
  display: grid;
  gap: var(--space-2);
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 540px) { .frameworks__grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .frameworks__grid { grid-template-columns: repeat(8, 1fr); } }
.framework {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--color-fg);
  text-align: center;
  transition: all var(--duration-normal) var(--ease-out);
}
.framework:hover {
  border-color: var(--color-border-strong);
  background: rgba(255,255,255,0.04);
}
.framework .icon { width: 14px; height: 14px; color: var(--color-primary); }

.industries__head {
  display: grid;
  gap: var(--space-8);
  align-items: end;
  margin-bottom: var(--space-12);
}
@media (min-width: 900px) {
  .industries__head { grid-template-columns: 1fr 1.4fr; gap: var(--space-16); }
}
.industries__sectors {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.industries__sector {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(220,38,38,0.06);
  border: 1px solid rgba(220,38,38,0.18);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.industries__sector--secondary {
  background: transparent;
  border-color: var(--color-border-light);
  color: var(--color-muted-light);
}
.industries__sector .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: currentColor;
}

.industries__grid {
  display: grid;
  gap: var(--space-6);
}
@media (min-width: 900px) {
  .industries__grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-8); }
}
.industry-card {
  position: relative;

  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-surface);
  min-height: 380px;
  isolation: isolate;
  box-shadow: var(--shadow-md);
}
.industry-card__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: -2;
  filter: saturate(1.05);
  transition: transform var(--duration-slow) var(--ease-out);
}
.industry-card:hover .industry-card__img { transform: scale(1.04); }
.industry-card::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(16, 16, 16,0.20) 0%, rgba(16, 16, 16,0.78) 80%, rgba(16, 16, 16,0.95) 100%);
  z-index: -1;
}
.industry-card__body {
  position: relative;
  padding: var(--space-12) var(--space-8) var(--space-8);
  margin-top: 240px;
  color: var(--color-fg);
}
.industry-card__body p {
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: rgba(255,255,255,0.9);
  margin: 0;
}
.industry-card__body strong { color: var(--color-primary); font-weight: 700; }

.presence {
  position: relative;
  overflow: hidden;
}
.presence::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(6,182,212,0.10) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 80%, rgba(220,38,38,0.10) 0%, transparent 60%);
  pointer-events: none;
}
.presence__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto var(--space-8);
}
.presence__head .section-title { margin-top: var(--space-3); }
.presence__head .section-lede { margin-top: var(--space-4); }

.presence__globe-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}
.presence__globe {
  width: 100%;

  max-width: 660px;
  aspect-ratio: 1;
  position: relative;
  border-radius: 50%;

  box-shadow:
    0 0 80px rgba(220, 38, 38, 0.18),
    inset 0 0 60px rgba(6, 182, 212, 0.06);
}
.presence__globe canvas { display: block; border-radius: 50%; }

.globe-tooltip {
  background: rgba(23, 23, 23, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  color: var(--color-fg);
  font: 600 var(--text-sm)/1.3 var(--font-sans);
  pointer-events: none;
  box-shadow: var(--shadow-lg);
  white-space: nowrap;
}
.globe-tooltip__country { display: block; }
.globe-tooltip__meta {
  display: block;
  margin-top: 4px;
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.08em;
  color: var(--color-muted);
  text-transform: uppercase;
}

.presence__stage {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
.presence__stage .presence__globe-wrap { width: 100%; }

.presence__float,
.presence__fallback {
  background: rgba(248, 250, 252, 0.03);
  border: 1px solid rgba(248, 250, 252, 0.10);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
}

@media (min-width: 1080px) {

  .presence__stage { display: block; min-height: 660px; }

  .presence__stage .presence__float {
    position: absolute;
    width: clamp(230px, 21vw, 290px);
    margin: 0;
    z-index: 3;
    backdrop-filter: blur(6px);
  }

  .presence__stage .presence__float--hub       { top: 0;    left: 0; }
  .presence__stage .presence__float--expanding { top: 0;    right: 0; }
  .presence__stage .presence__float--sectorial { bottom: 0; left: 0; }

  .presence.has-globe-pins .presence__fallback { display: none; }
  .presence__stage .presence__fallback {
    position: absolute; bottom: 0; right: 0;
    width: clamp(230px, 21vw, 290px);
    margin: 0;
  }
}

.globe-pins {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transition: opacity 400ms var(--ease-out);
}
.globe-pins.is-ready { opacity: 1; }
.globe-pin {
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 0;
  pointer-events: none;
  will-change: transform;
}
.globe-pin__chip {
  position: absolute;
  top: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(16, 16, 16, 0.82);
  border: 1px solid rgba(248, 250, 252, 0.16);
  font: 600 12px/1 var(--font-sans);
  color: var(--color-fg);
  transition: opacity 260ms var(--ease-out);
}

.globe-pin--right .globe-pin__chip { left: 16px;  transform: translateY(calc(-50% + var(--pin-dy, 0px))); }
.globe-pin--left  .globe-pin__chip { right: 16px; transform: translateY(calc(-50% + var(--pin-dy, 0px))); flex-direction: row-reverse; }
.globe-pin__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 8px var(--color-primary);
  flex: 0 0 auto;
}
.globe-pin__meta {
  font: 500 10px/1 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.globe-pin--hq .globe-pin__chip {
  border-color: rgba(220, 38, 38, 0.55);
  background: rgba(16, 16, 16, 0.9);
}
.globe-pin--hub .globe-pin__dot {
  background: var(--color-zerotrust);
  box-shadow: 0 0 8px var(--color-zerotrust);
}

.globe-pin.is-behind .globe-pin__chip { opacity: 0; }
@media (max-width: 1079px) {

  .globe-pin { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .globe-pin__chip { transition: none; }
}

.presence__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-6);
  margin-top: var(--space-2);
}
.presence__legend-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-muted);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.presence__legend-dot {
  width: 10px; height: 10px;
  border-radius: 999px;
  display: inline-block;
}
.presence__legend-dot--active    { background: var(--color-primary); box-shadow: 0 0 10px var(--color-primary); }
.presence__legend-dot--expanding { background: var(--color-csirt);   box-shadow: 0 0 10px var(--color-csirt); border: 1px dashed var(--color-fg); }
.presence__legend-dot--hub       { background: var(--color-zerotrust); box-shadow: 0 0 10px var(--color-zerotrust); }

.presence__panel {
  display: grid;
  gap: var(--space-5);
}
.presence__group .presence__sub-label { margin-top: 0; }

.presence__sub-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 600 11px/1 var(--font-mono);
  color: rgba(203, 213, 225, 0.95);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: var(--space-6) 0 var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.presence__sub-prompt {
  color: rgba(34, 211, 238, 0.85);
  font-weight: 700;
}
.presence__sub-count {
  margin-left: auto;
  color: rgba(148, 163, 184, 0.65);
  letter-spacing: 0.06em;
  font-weight: 500;
}

.country-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 6px;
}
.country {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: 10px 14px;
  background: rgba(23, 23, 23, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  font-size: var(--text-sm);
  font-weight: 600;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20);
  transition: border-color 240ms var(--ease-out), background 240ms var(--ease-out), transform 240ms var(--ease-out);
}
.country:hover {
  border-color: rgba(220, 38, 38, 0.35);
  background: rgba(220, 38, 38, 0.04);
  transform: translateX(2px);
}
.country__flag {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 5px rgba(220, 38, 38, 0.30), inset 0 0 2px rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
}
.country__name {
  color: var(--color-fg);
  letter-spacing: -0.005em;
}
.country--expanding {
  background: rgba(23, 23, 23, 0.35);
  border-style: dashed;
  border-color: rgba(6, 182, 212, 0.25);
}
.country--expanding:hover {
  border-color: rgba(6, 182, 212, 0.55);
  background: rgba(6, 182, 212, 0.04);
}
.country--expanding .country__flag {
  background: var(--color-csirt);
  box-shadow: 0 0 5px rgba(6, 182, 212, 0.30), inset 0 0 2px rgba(255, 255, 255, 0.25);
  animation: country-expanding-pulse 2.4s ease-in-out infinite;
}
@keyframes country-expanding-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.6; transform: scale(0.85); }
}
.country__since {
  font: 700 10px/1 var(--font-mono);
  letter-spacing: 0.08em;
  color: rgba(148, 163, 184, 0.7);
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  padding: 4px 7px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}
.country--expanding .country__since {
  color: rgba(165, 243, 252, 0.85);
  background: rgba(6, 182, 212, 0.06);
  border-color: rgba(6, 182, 212, 0.20);
}

.presence__highlights {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.highlight {
  position: relative;
  background: linear-gradient(180deg, rgba(23, 23, 23, 0.65) 0%, rgba(16, 16, 16, 0.50) 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  padding: var(--space-5);
  backdrop-filter: blur(12px) saturate(115%);
  -webkit-backdrop-filter: blur(12px) saturate(115%);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.25),
    0 8px 24px rgba(0, 0, 0, 0.25);
  transition: border-color 280ms var(--ease-out), transform 280ms var(--ease-out);
}
.highlight::before {

  content: '';
  position: absolute;
  left: 0; top: 14%; bottom: 14%;
  width: 2px;
  background: var(--color-primary);
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(220, 38, 38, 0.35);
}
.highlight--csirt::before {
  background: var(--color-csirt);
  box-shadow: 0 0 8px rgba(6, 182, 212, 0.35);
}
.highlight:hover {
  border-color: rgba(255, 255, 255, 0.12);
  transform: translateY(-1px);
}
.highlight__label {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 700 10px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.85);
  margin: 0 0 var(--space-3);
}
.highlight__label-marker {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 5px rgba(220, 38, 38, 0.30);
  flex-shrink: 0;
}
.highlight--csirt .highlight__label-marker {
  background: var(--color-csirt);
  box-shadow: 0 0 5px rgba(6, 182, 212, 0.30);
}
.highlight__title {
  font-size: var(--text-xl);
  font-weight: 700;
  margin: 0 0 var(--space-2);
  letter-spacing: -0.01em;
}
.highlight__text {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.practices__grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 720px) {
  .practices__grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
}

@media (min-width: 1100px) {
  .practices__grid { grid-template-columns: repeat(5, 1fr); gap: var(--space-3); }
  .practices__grid .practice { padding: var(--space-6) var(--space-5); gap: var(--space-3); }
  .practices__grid .practice__title { font-size: var(--text-base); line-height: 1.25; }
  .practices__grid .practice__desc { font-size: var(--text-sm); line-height: 1.4; }
  .practices__grid .practice__chips { gap: 4px; }
  .practices__grid .practice__chip { font-size: 9.5px; padding: 4px 7px; }
}
.practice {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  background: var(--color-surface-light);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  text-decoration: none;
  color: inherit;
  transition: all var(--duration-normal) var(--ease-out);
}
.practice:hover {
  border-color: var(--color-primary);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  color: inherit;
}
.practice__icon-wrap {
  width: 48px; height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: rgba(220,38,38,0.08);
  color: var(--color-primary);
}
.practice__icon-wrap .icon { width: 24px; height: 24px; }
.practice__title {
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.25;
}
.practice__desc {
  font-size: var(--text-sm);
  color: var(--color-muted-light);
  margin: 0;
  flex: 1;
}
.practice__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--space-2);
}
.practice__chip {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.06);
  color: var(--color-primary);
  border: 1px solid rgba(220,38,38,0.15);
}
.practice__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-primary);
  margin-top: var(--space-2);
}
.practice__more .icon { width: 16px; height: 16px; transition: transform var(--duration-fast) var(--ease-out); }
.practice:hover .practice__more .icon { transform: translateX(3px); }

.practices__grid--fronts { margin-bottom: var(--space-10); }
.practice[data-persona]:hover { border-color: var(--p, var(--color-primary)); }

.practice__hero {
  height: 280px;
  overflow: hidden;

  border-radius: calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;

  margin: calc(var(--space-8) * -1) calc(var(--space-6) * -1) var(--space-2);
}
.practice__hero img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  background: radial-gradient(70% 80% at 50% 38%,
    color-mix(in srgb, var(--p, var(--color-primary)) 24%, transparent) 0%,
    transparent 75%);
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.45));
  transition: transform var(--duration-slow) var(--ease-out);
}
.practice--card:hover .practice__hero img { transform: scale(1.04); }

.practice--card { text-align: left; }
.practice--card .practice__num { position: absolute; top: var(--space-4); right: var(--space-5); }

@media (min-width: 1024px) {
  .practice--span-2 { grid-column: span 1; }
}

.services {
  background: var(--color-bg-light);
}
.services__list {
  display: grid;
  gap: var(--space-4);
}
.service-group {
  background: var(--color-surface-light);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--duration-fast) var(--ease-out);
}
.service-group[open] { border-color: var(--color-primary); }
.service-group summary {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-6) var(--space-8);
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  font-size: var(--text-lg);
}
.service-group summary::-webkit-details-marker { display: none; }
.service-group summary:hover { background: rgba(0,0,0,0.02); }
.service-group__icon {
  width: 40px; height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: rgba(220,38,38,0.08);
  color: var(--color-primary);
  flex-shrink: 0;
}
.service-group__icon .icon { width: 22px; height: 22px; }
.service-group__title {
  flex: 1;
  margin: 0;
}
.service-group__chev {
  width: 22px; height: 22px;
  color: var(--color-muted-light);
  transition: transform var(--duration-normal) var(--ease-out);
}
.service-group[open] .service-group__chev { transform: rotate(180deg); }
.service-group__body {
  padding: 0 var(--space-8) var(--space-8) var(--space-8);
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 720px) {
  .service-group__body { grid-template-columns: repeat(2, 1fr); }
}
.service-item {
  padding: var(--space-4);
  border-left: 2px solid var(--color-border-light);
  padding-left: var(--space-4);
}
.service-item h4 {
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
  color: var(--color-fg-light);
}
.service-item ul {
  margin: 0;
  padding-left: 18px;
  font-size: var(--text-sm);
  color: var(--color-muted-light);
}
.service-item li { margin-bottom: 2px; }

.alliances__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto var(--space-12);
}

.destacados { padding: var(--space-10) 0 0; }
.destacados__panel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: rgba(23, 23, 23, 0.85);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.destacado {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-7) var(--space-7) var(--space-6);
  text-decoration: none;
  transition: background var(--duration-normal) var(--ease-out);
}
.destacado + .destacado { border-left: 1px solid var(--color-border); }
.destacado:hover { background: rgba(220, 38, 38, 0.06); }
.destacado__kicker {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-danger-soft);
}
.destacado__title {
  font-weight: 700;
  font-size: var(--text-base);
  line-height: 1.4;
  color: var(--color-fg);
  max-width: 34ch;
}
.destacado__arrow {
  margin-top: auto;
  font-size: var(--text-lg);
  color: var(--color-primary);
  transition: transform var(--duration-normal) var(--ease-out);
}
.destacado:hover .destacado__arrow { transform: translateX(6px); }
@media (max-width: 900px) {
  .destacados__panel { grid-template-columns: 1fr; }
  .destacado + .destacado { border-left: 0; border-top: 1px solid var(--color-border); }
}
.alliances__tier {
  margin-bottom: var(--space-12);
}
.alliances__tier:last-child { margin-bottom: 0; }
.alliances__tier-label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-6);
}
.alliances__tier-label::before,
.alliances__tier-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--color-border);
}
.alliances__grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 540px) { .alliances__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .alliances__grid { grid-template-columns: repeat(7, 1fr); } }
.alliance {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--color-fg);
  text-align: center;
  transition: all var(--duration-normal) var(--ease-out);
}
.alliance:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  transform: translateY(-1px);
}

.alliances__levels {
  margin-top: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border);
}
.partner-levels {
  list-style: none;
  margin: var(--space-6) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 720px)  { .partner-levels { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .partner-levels { grid-template-columns: repeat(5, 1fr); } }
.alliances__coverage {
  margin: var(--space-6) auto 0;
  max-width: 760px;
  text-align: center;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-muted);
}
.alliances__coverage-stat {
  font: 800 1.15em/1 var(--font-mono);
  color: var(--color-primary);
  margin-right: 4px;
}

.cases__head { text-align: center; max-width: 720px; margin: 0 auto var(--space-12); }

.cases__rows { display: flex; flex-direction: column; gap: var(--space-6); }
.case-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  padding: var(--space-8);
  background: rgba(248, 250, 252, 0.03);
  border: 1px solid rgba(248, 250, 252, 0.10);
  border-radius: var(--radius-lg);
}
@media (min-width: 900px) {
  .case-row {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
  }
}
.case-row__eyebrow {
  display: flex; align-items: center; gap: 8px;
  font: 600 12px/1 var(--font-mono);
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--color-muted);
  margin: 0 0 var(--space-3);
}
.case-row__marker {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 10px rgba(220, 38, 38, 0.6);
  flex: 0 0 auto;
}
.case-row__title {
  font-size: clamp(22px, 2.7vw, 32px);
  line-height: 1.15;
  color: var(--color-fg);
  margin: 0;
}
.case-row__main { display: flex; flex-direction: column; gap: var(--space-6); }
.case-row__metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-5) var(--space-4);
  padding-bottom: var(--space-6);
  border-bottom: 1px solid rgba(248, 250, 252, 0.10);
}
@media (min-width: 700px) { .case-row__metrics { grid-template-columns: repeat(4, 1fr); } }

.case-row__metrics--single { grid-template-columns: 1fr; }
.case-metric--lead .case-metric__num { font-size: clamp(32px, 4.4vw, 46px); }
.case-metric--lead .case-metric__label { max-width: 42ch; }
.case-row__story { display: flex; flex-direction: column; gap: var(--space-4); }

.case-metric { display: flex; flex-direction: column; gap: 6px; }
.case-metric__num {
  font: 800 clamp(20px, 3vw, 28px)/1 var(--font-mono);
  color: var(--color-primary);
  letter-spacing: -0.01em;
}
.case-metric__unit { font-size: 0.5em; font-weight: 600; margin-left: 3px; color: var(--color-fg); }
.case-metric__label { font-size: 12px; line-height: 1.3; color: var(--color-muted); }
.case-flow { display: flex; gap: var(--space-4); align-items: flex-start; }
.case-flow p { margin: 0; font-size: 14px; line-height: 1.5; color: rgba(248, 250, 252, 0.78); }
.case-flow__tag {
  flex: 0 0 auto;
  font: 600 10px/1 var(--font-mono);
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 5px 8px; border-radius: var(--radius-sm);
  margin-top: 2px;
}
.case-flow__tag--before { color: var(--color-muted); border: 1px solid rgba(248, 250, 252, 0.16); }

.case-flow__tag--after  { color: #22C55E; border: 1px solid rgba(34, 197, 94, 0.4); background: rgba(34, 197, 94, 0.08); }

.support__head { text-align: center; max-width: 720px; margin: 0 auto var(--space-12); }
.support-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: 1fr; gap: var(--space-3);
}
@media (min-width: 640px)  { .support-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .support-grid { grid-template-columns: repeat(3, 1fr); } }
.support-item {
  display: flex; align-items: center; gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  background: rgba(248, 250, 252, 0.03);
  border: 1px solid rgba(248, 250, 252, 0.10);
  border-radius: var(--radius-md);
  font-size: 15px; color: var(--color-fg);
}
.support-item .icon { flex: 0 0 auto; width: 18px; height: 18px; color: var(--color-primary); }

.leadership {
  list-style: none; margin: 0 auto; padding: 0;
  display: grid; grid-template-columns: 1fr; gap: var(--space-4);
  max-width: 760px;
}
@media (min-width: 640px) { .leadership { grid-template-columns: repeat(2, 1fr); } }
.leader-card {
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-5) var(--space-6);
  background: rgba(248, 250, 252, 0.03);
  border: 1px solid rgba(248, 250, 252, 0.10);
  border-radius: var(--radius-lg);
}
.leader-card__avatar {
  flex: 0 0 auto;
  width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center;
  font: 700 16px/1 var(--font-mono);
  letter-spacing: 0.04em;
  color: var(--color-fg);
  background: rgba(220, 38, 38, 0.14);
  border: 1px solid rgba(220, 38, 38, 0.4);
}
.leader-card__name { margin: 0; font-size: 18px; color: var(--color-fg); }
.leader-card__role { margin: 2px 0 0; font-size: 14px; color: var(--color-muted); }

.partner-level {
  --metal: rgba(220, 38, 38, 0.85);
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  justify-items: center;
  gap: var(--space-3);
  padding: var(--space-5) var(--space-4) var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-strong);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0));
  overflow: hidden;
  transition: transform var(--duration-normal) var(--ease-out),
              border-color var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
.partner-level::before {

  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--metal), transparent);
}
.partner-level:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--metal) 55%, transparent);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}
.partner-level__tag {
  display: inline-block;
  width: max-content;
  font: 700 10px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: var(--radius-full);
  color: var(--metal);
  background: color-mix(in srgb, var(--metal) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--metal) 45%, transparent);
}
.partner-level__logo {
  display: block;
  max-width: 82%;
  max-height: 44px;
  width: auto;
  height: auto;
  align-self: center;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.partner-level__note {
  font-size: var(--text-xs);
  color: var(--color-muted);
  text-align: center;
  line-height: 1.35;
}
.partner-level--elite    { --metal: #DC2626; }
.partner-level--platinum { --metal: #C9D4E3; }
.partner-level--gold     { --metal: #D4A94F; }

.clients__head {
  text-align: center;
  margin-bottom: var(--space-12);
}
.clients__title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-4xl));
}
.clients__sub {
  color: var(--color-muted-light);
  font-size: var(--text-lg);
  margin-top: var(--space-2);
}
.clients__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-2);
  align-items: center;
  justify-items: center;
}
@media (min-width: 540px) { .clients__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 720px) { .clients__grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .clients__grid { grid-template-columns: repeat(7, 1fr); } }
.client-logo {
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  border-radius: var(--radius-md);
  transition: all var(--duration-normal) var(--ease-out);
}
.client-logo img {
  max-width: 100%;
  max-height: 80%;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.55);
  transition: filter var(--duration-normal) var(--ease-out);
}
.client-logo:hover {
  background: rgba(220,38,38,0.04);
}
.client-logo:hover img {
  filter: grayscale(0%) opacity(1);
}

.clients__more {
  margin-top: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border-light);
  text-align: center;
}
.clients__more-label {
  font: 600 var(--text-xs)/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted-light);
  margin: 0 0 var(--space-6);
}
.client-names {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2) var(--space-3);
  max-width: 900px;
  margin-inline: auto;
}
.client-names li {
  font-weight: 500;
  font-size: var(--text-sm);
  color: var(--color-fg-light);
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: var(--color-surface-light);
  border: 1px solid var(--color-border-light);
}

.final-cta {
  position: relative;
  background: var(--color-surface);
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(220,38,38,0.18) 0%, transparent 65%),
    linear-gradient(rgba(220,38,38,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,38,38,0.04) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
  pointer-events: none;
  mask-image: radial-gradient(ellipse at center, black 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 80%);
}
.final-cta__inner {
  position: relative;
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  padding-block: var(--space-24);
}
.final-cta__title {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  line-height: 1.1;
}
.final-cta__title .accent {
  color: var(--color-primary);
  font-weight: 800;
}
.final-cta__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-top: var(--space-8);
}

.site-footer {
  background: var(--color-bg);
  border-top: 1px solid var(--color-border);
  padding-block: var(--space-16) 0;
}
.site-footer__grid {
  display: grid;
  gap: var(--space-12);
}
@media (min-width: 720px) {
  .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--space-12); }
}
.site-footer__col h3 {
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0 0 var(--space-4);
}
.site-footer__brand-text {
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: var(--leading-body);
  margin: var(--space-4) 0;
  max-width: 320px;
}
.site-footer__logo {
  height: 44px;
  width: auto;
  border-radius: 4px;
}
.site-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.site-footer__list a {
  font-size: var(--text-sm);
  color: var(--color-fg);
  opacity: 0.8;
  transition: all var(--duration-fast) var(--ease-out);
}
.site-footer__list a:hover { opacity: 1; color: var(--color-primary); }

.social-icons { display: flex; gap: var(--space-2); margin-top: var(--space-4); }
.social-icon {
  width: 36px; height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  color: var(--color-fg);
  transition: all var(--duration-fast) var(--ease-out);
}
.social-icon:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.social-icon .icon { width: 16px; height: 16px; }

.site-footer__bottom {
  margin-top: var(--space-16);
  padding-block: var(--space-6);
  border-top: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
  font-size: var(--text-xs);
  color: var(--color-muted);
}
.site-footer__bottom a { color: var(--color-muted); }
.site-footer__bottom a:hover { color: var(--color-primary); }

.footer-map {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-surface);
  padding: var(--space-2);
}
.footer-map img { width: 100%; height: auto; opacity: 0.85; }

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  background: rgba(16, 16, 16, 0.98);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  transition: opacity var(--duration-normal) var(--ease-out),
              visibility var(--duration-normal) var(--ease-out),
              transform var(--duration-normal) var(--ease-out);
}
.mobile-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (min-width: 1024px) {
  .mobile-menu { display: none; }
}

.mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4) var(--container-px);
  height: var(--header-h);
  border-bottom: 1px solid var(--color-border);
  flex-shrink: 0;
}
.mobile-menu__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-fg);
}
.mobile-menu__close .icon { width: 20px; height: 20px; }

.mobile-menu__inner {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-8) var(--container-px) var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.mobile-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}
.mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 4px;
  font-size: var(--text-2xl);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--color-fg);
  border-bottom: 1px solid var(--color-border);
}
.mobile-menu__link.is-active { color: var(--color-primary); }
.mobile-menu__link .icon { width: 18px; height: 18px; opacity: 0.5; }

.mobile-submenu {
  list-style: none;
  margin: 0;
  padding: 8px 0 12px var(--space-4);
  display: grid;
  gap: 4px;
  border-bottom: 1px solid var(--color-border);
}
.mobile-submenu a {
  display: block;
  padding: 8px 4px;
  font-size: var(--text-base);
  color: var(--color-muted);
}
.mobile-submenu a:hover { color: var(--color-primary); }

.mobile-menu__cta {
  margin-top: auto;
  padding: var(--space-6) var(--container-px) calc(var(--space-6) + env(safe-area-inset-bottom, 0px));
  display: grid;
  gap: var(--space-3);
  border-top: 1px solid var(--color-border);
  background: rgba(16, 16, 16,0.6);
}
.mobile-menu__cta .btn { justify-content: center; padding: 16px 24px; font-size: var(--text-base); }

body.menu-open { overflow: hidden; }

@media (max-width: 1023px) {
  .site-header__cta .btn { display: none; }
}

.page-hero {
  position: relative;
  padding: clamp(72px, 10vw, 120px) 0 clamp(40px, 6vw, 64px);
  background: var(--color-bg);
  overflow: hidden;
  text-align: center;
}
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at center top, rgba(220,38,38,0.12) 0%, transparent 60%),
    linear-gradient(rgba(220,38,38,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,38,38,0.04) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
  mask-image: radial-gradient(ellipse at top center, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at top center, black 0%, transparent 70%);
  pointer-events: none;
}
.page-hero__inner {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}
.page-hero__eyebrow {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}
.page-hero__title {
  font-size: clamp(var(--text-3xl), 4.5vw, var(--text-5xl));
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 800;
}

.page-hero__title .accent {
  color: var(--color-primary);
}
.page-hero__sub {
  margin: var(--space-4) auto 0;
  color: var(--color-muted);
  font-size: var(--text-lg);
  max-width: 720px;
}

.page-hero--league {
  text-align: left;
  padding: clamp(120px, 14vw, 184px) 0 clamp(80px, 10vw, 120px);
  min-height: clamp(500px, 70vh, 720px);
  min-height: 70dvh;
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
}
.page-hero--league::before { display: none; }

.page-hero__bg {
  position: absolute; inset: 0;
  z-index: 0;
  pointer-events: none;
}
.page-hero__bg-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.55;
  filter: saturate(1.05) contrast(1.05);
}
.page-hero__bg-grad {
  position: absolute; inset: 0;
  background:

    linear-gradient(180deg, transparent 0%, transparent 60%, var(--color-bg) 100%),

    radial-gradient(ellipse 60% 70% at 92% 8%,  rgba( 6, 182, 212, 0.10), transparent 60%),
    radial-gradient(ellipse 70% 80% at 8%  92%, rgba(220,  38,  38, 0.14), transparent 60%);
}
.page-hero__bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
  opacity: 0.4;
}

.page-hero--league .page-hero__inner {

  max-width: var(--container-max);
  margin-inline: auto;
  position: relative;
  z-index: 2;
}

.page-hero--league .page-hero__title,
.page-hero--league .page-hero__lede,
.page-hero--league .liga-constellation,
.page-hero--league .page-hero__actions {
  max-width: 880px;
}
.page-hero--league .page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  padding: 8px 14px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: var(--color-danger-soft);
}
.page-hero__eyebrow-dot {
  width: 8px; height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--color-primary);
  animation: pulse 2.4s ease-in-out infinite;
}

.page-hero--league .page-hero__title {

  font-size: clamp(var(--text-4xl), 5vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 800;
  margin: var(--space-6) 0 var(--space-6);
  color: var(--color-fg);
  text-shadow:
    0 0 32px rgba(255,255,255,0.18),
    0 0 6px rgba(220,38,38,0.35),
    0 2px 18px rgba(0,0,0,0.45);
}

.page-hero__bg-drift,
.hero__drift {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle 380px at 8%  88%, rgba(220, 38, 38, 0.22), transparent 60%),
    radial-gradient(circle 320px at 92% 18%, rgba(  6,182,212, 0.18), transparent 60%),
    radial-gradient(circle 280px at 65% 92%, rgba( 34,197, 94, 0.16), transparent 60%),
    radial-gradient(circle 240px at 30% 12%, rgba(168, 85,247, 0.14), transparent 60%);
  filter: blur(8px);
  opacity: 0.85;
  mix-blend-mode: screen;
  animation: liga-drift 26s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes liga-drift {
  0%   { transform: translate3d(0, 0, 0)        scale(1);    }
  50%  { transform: translate3d(-2%, 1.5%, 0)   scale(1.04); }
  100% { transform: translate3d(2%, -1.5%, 0)   scale(1.02); }
}

.page-hero__ticker {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.55);
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-full);
  background: rgba(16, 16, 16, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  animation: liga-ticker-fade 800ms var(--ease-out) 200ms forwards;
}
.page-hero__ticker--tl { top: 96px;  left: 24px; }
.page-hero__ticker--br { bottom: 24px; right: 24px; }
.page-hero__ticker-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 8px var(--color-primary);
  animation: pulse 2.4s ease-in-out infinite;
}
.page-hero__ticker-dot--cyan {
  background: var(--color-csirt);
  box-shadow: 0 0 8px var(--color-csirt);
}
@keyframes liga-ticker-fade { to { opacity: 1; } }
@media (max-width: 768px) {
  .page-hero__ticker { display: none; }
}

.liga-constellation {
  position: relative;
  margin: var(--space-6) 0 var(--space-8);
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  align-items: center;
}
.liga-constellation__wire {
  position: absolute;
  inset: 50% 0 auto 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
  pointer-events: none;
  overflow: visible;
  z-index: 0;
}
.liga-constellation__wire path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.12);
  stroke-width: 1.2;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: liga-wire-draw 1400ms cubic-bezier(0.16, 1, 0.3, 1) 200ms forwards;
}
@keyframes liga-wire-draw { to { stroke-dashoffset: 0; } }

.liga-constellation__node {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px 9px 14px;
  border-radius: var(--radius-full);
  background: rgba(16, 16, 16, 0.7);
  border: 1px solid var(--persona-stroke, rgba(255, 255, 255, 0.10));
  color: var(--color-fg);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-decoration: none;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transform: translateY(8px);
  animation: liga-node-in 520ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transition: transform var(--duration-normal) var(--ease-out),
              border-color var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
.liga-constellation__node:nth-child(2) { animation-delay: 420ms; }
.liga-constellation__node:nth-child(3) { animation-delay: 520ms; }
.liga-constellation__node:nth-child(4) { animation-delay: 620ms; }
.liga-constellation__node:nth-child(5) { animation-delay: 720ms; }
.liga-constellation__node:nth-child(6) { animation-delay: 820ms; }
.liga-constellation__node:nth-child(7) { animation-delay: 920ms; }
@keyframes liga-node-in {
  to { opacity: 1; transform: translateY(0); }
}
.liga-constellation__node:hover,
.liga-constellation__node:focus-visible {
  transform: translateY(-2px);
  border-color: var(--persona-color, var(--color-fg));
  box-shadow: 0 0 0 1px var(--persona-color, var(--color-fg)) inset,
              0 8px 24px -8px var(--persona-color, rgba(255,255,255,0.3));
  outline: none;
}
.liga-constellation__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--persona-color, var(--color-fg));
  box-shadow: 0 0 10px var(--persona-color, var(--color-fg));
}
.liga-constellation__label { line-height: 1; }

.liga-constellation__node[data-persona="ngsoc"]     { --persona-color: var(--color-ngsoc);     --persona-stroke: rgba(226,232,240,0.18); }
.liga-constellation__node[data-persona="csirt"]     { --persona-color: var(--color-csirt);     --persona-stroke: rgba(  6,182,212,0.30); }
.liga-constellation__node[data-persona="ctem"]      { --persona-color: var(--color-ctem);      --persona-stroke: rgba(249,115, 22,0.30); }
.liga-constellation__node[data-persona="zerotrust"] { --persona-color: var(--color-zerotrust); --persona-stroke: rgba(168, 85,247,0.30); }
.liga-constellation__node[data-persona="grc"]       { --persona-color: var(--color-grc);       --persona-stroke: rgba( 34,197, 94,0.30); }
.liga-constellation__node[data-persona="asha"]      { --persona-color: var(--color-primary);   --persona-stroke: rgba(220, 38, 38,0.32); }

@media (max-width: 640px) {
  .liga-constellation { gap: 10px 12px; }
  .liga-constellation__node { padding: 7px 12px 7px 10px; font-size: 11px; }
  .liga-constellation__wire { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .page-hero__bg-drift,
  .hero__drift { animation: none; }
  .liga-constellation__wire path { stroke-dashoffset: 0; animation: none; }
  .liga-constellation__node { opacity: 1; transform: none; animation: none; }
  .page-hero__ticker { opacity: 1; animation: none; }
}

.page-hero__lede {
  font-size: var(--text-lg);
  line-height: 1.6;
  color: var(--color-muted);
  margin: 0 0 var(--space-8);
  max-width: 56ch;
}

.page-hero__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.breadcrumb-wrap {
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}
.breadcrumb {
  list-style: none;
  margin: 0;
  padding: var(--space-3) 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: var(--text-xs);
  color: var(--color-muted);
  letter-spacing: 0.06em;
}
.breadcrumb a { color: var(--color-muted); }
.breadcrumb a:hover { color: var(--color-primary); }
.breadcrumb li:not(:last-child)::after {
  content: '/';
  margin-left: 6px;
  opacity: 0.4;
}
.breadcrumb li:last-child {
  color: var(--color-fg);
  font-weight: 600;
}

.persona-deep {
  padding-block: var(--space-16);
  position: relative;
}
.persona-deep + .persona-deep {
  border-top: 1px solid var(--color-border);
}
.persona-deep__grid {
  display: grid;
  gap: var(--space-12);
  align-items: center;
}
@media (min-width: 900px) {
  .persona-deep__grid { grid-template-columns: 1fr 1.4fr; gap: var(--space-16); }
  .persona-deep--reverse .persona-deep__grid > :first-child { order: 2; }
  .persona-deep--reverse .persona-deep__grid > :last-child  { order: 1; }
}

.persona-deep__media {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-surface);
  aspect-ratio: 3 / 4;
  max-width: 460px;
  margin-inline: auto;
  border: 1px solid var(--color-border);
}

.persona-deep__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
}
.persona-deep__media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(16, 16, 16,0.7) 100%);
  pointer-events: none;
}
.persona-deep__role {
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: var(--space-3);
  color: var(--color-primary);
}
.persona-deep__name {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-4);
}
.persona-deep__desc {
  font-size: var(--text-lg);
  color: var(--color-muted);
  margin-bottom: var(--space-6);
}
.persona-deep__bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.persona-deep__bullets li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  font-size: var(--text-base);
  color: var(--color-fg);
}
.persona-deep__bullets li .icon {
  width: 18px; height: 18px;
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 4px;
}

.persona-deep__services {
  position: relative;
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px dashed rgba(148, 163, 184, 0.18);
}

.persona-deep__services-toggle {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid rgba(6, 182, 212, 0.30);
  border-radius: var(--radius-full);
  background: rgba(6, 182, 212, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  user-select: none;
  transition: background 240ms var(--ease-out), border-color 240ms var(--ease-out), transform 240ms var(--ease-out);

  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.persona-deep__services-toggle::-webkit-details-marker,
.persona-deep__services-toggle::marker { display: none; content: ''; }
.persona-deep__services-toggle:hover {
  background: rgba(6, 182, 212, 0.12);
  border-color: rgba(6, 182, 212, 0.55);
  transform: translateY(-1px);
}
.persona-deep__services-toggle:active {
  transform: translateY(0);
}
.persona-deep__services-toggle:focus-visible {
  outline: 2px solid var(--color-csirt);
  outline-offset: 3px;
}
.persona-deep__services-label {
  font: 700 11.5px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(165, 243, 252, 0.92);
}
.persona-deep__services-count {
  font: 700 10px/1 var(--font-mono);
  letter-spacing: 0.04em;
  color: rgb(165, 243, 252);
  background: rgba(6, 182, 212, 0.22);
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(6, 182, 212, 0.40);
  font-variant-numeric: tabular-nums;
}
.persona-deep__services-chevron {
  width: 12px; height: 12px;
  color: rgba(165, 243, 252, 0.75);
  transition: transform 280ms var(--ease-out);
  flex-shrink: 0;
}
details[open] > .persona-deep__services-toggle .persona-deep__services-chevron {
  transform: rotate(90deg);
}
details[open] > .persona-deep__services-toggle {
  background: rgba(6, 182, 212, 0.16);
  border-color: rgba(6, 182, 212, 0.65);
}

.persona-deep__services-panel {

  position: static;
  z-index: 40;
  width: 100%;
  margin-top: 12px;
  padding: var(--space-5) var(--space-6);
  background: linear-gradient(180deg, rgba(23, 23, 23, 0.78) 0%, rgba(16, 16, 16, 0.70) 100%);
  border: 1px solid rgba(6, 182, 212, 0.22);
  border-radius: 14px;
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.25),
    0 18px 44px rgba(0, 0, 0, 0.45),
    0 0 28px rgba(6, 182, 212, 0.10);
  animation: services-bubble-in 320ms cubic-bezier(0.16, 1, 0.3, 1) backwards;
}

.persona-deep__services-panel::before {
  content: '';
  position: absolute;
  top: -7px;
  left: 28px;
  width: 12px;
  height: 12px;
  background: rgba(23, 23, 23, 0.78);
  border-left: 1px solid rgba(6, 182, 212, 0.22);
  border-top: 1px solid rgba(6, 182, 212, 0.22);
  transform: rotate(45deg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
@keyframes services-bubble-in {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (min-width: 900px) {
  .persona-deep { position: relative; }
  .persona-deep__services { position: static; }
  .persona-deep__services-panel {
    position: absolute;
    top: 50%;
    left: 0;
    width: 40%;
    max-height: 94%;
    overflow-y: auto;
    margin-top: 0;
    transform: translateY(-50%);
    animation-name: services-bubble-in-center;
  }
  .persona-deep--reverse .persona-deep__services-panel { left: auto; right: 0; }
  .persona-deep__services-panel::before { display: none; }
  @keyframes services-bubble-in-center {
    from { opacity: 0; transform: translateY(calc(-50% - 10px)) scale(0.98); }
    to   { opacity: 1; transform: translateY(-50%) scale(1); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .persona-deep__services-panel { animation: none; }
  .persona-deep__services-chevron { transition: none; }
}

.persona-deep__services-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}
.persona-deep__service {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: var(--space-4);
  align-items: baseline;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.persona-deep__service:last-child { border-bottom: 0; padding-bottom: 0; }
.persona-deep__service dt {
  font: 700 11.5px/1.3 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-fg);
  margin: 0;
}
.persona-deep__service dd {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: rgba(203, 213, 225, 0.88);
}
@media (max-width: 720px) {
  .persona-deep__services-panel { padding: var(--space-4); }
  .persona-deep__service { grid-template-columns: 1fr; gap: 4px; }
  .persona-deep__service dt { font-size: 10.5px; }
}

.persona-deep__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--space-6);
}
.persona-deep__chip {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 6px 12px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border-strong);
  color: var(--color-fg);
}

.persona-deep[data-persona="zerotrust"] .persona-deep__role { color: var(--color-zerotrust); }
.persona-deep[data-persona="zerotrust"] .persona-deep__bullets .icon { color: var(--color-zerotrust); }
.persona-deep[data-persona="zerotrust"] .persona-deep__media { border-color: rgba(168,85,247,0.4); box-shadow: var(--glow-zerotrust); }

.persona-deep[data-persona="ngsoc"] .persona-deep__role { color: var(--color-ngsoc); }
.persona-deep[data-persona="ngsoc"] .persona-deep__bullets .icon { color: var(--color-ngsoc); }
.persona-deep[data-persona="ngsoc"] .persona-deep__media { border-color: rgba(226,232,240,0.3); box-shadow: var(--glow-ngsoc); }

.persona-deep[data-persona="asha"] .persona-deep__role { color: var(--color-primary); }
.persona-deep[data-persona="asha"] .persona-deep__bullets .icon { color: var(--color-primary); }
.persona-deep[data-persona="asha"] .persona-deep__media { border-color: rgba(220,38,38,0.4); box-shadow: var(--glow-primary); }

.persona-deep[data-persona="csirt"] .persona-deep__role { color: var(--color-csirt); }
.persona-deep[data-persona="csirt"] .persona-deep__bullets .icon { color: var(--color-csirt); }
.persona-deep[data-persona="csirt"] .persona-deep__media { border-color: rgba(6,182,212,0.4); box-shadow: var(--glow-csirt); }

.persona-deep[data-persona="ctem"] .persona-deep__role { color: var(--color-ctem); }
.persona-deep[data-persona="ctem"] .persona-deep__bullets .icon { color: var(--color-ctem); }
.persona-deep[data-persona="ctem"] .persona-deep__media { border-color: rgba(249,115,22,0.4); box-shadow: var(--glow-ctem); }

.persona-deep[data-persona="grc"] .persona-deep__role { color: var(--color-grc); }
.persona-deep[data-persona="grc"] .persona-deep__bullets .icon { color: var(--color-grc); }
.persona-deep[data-persona="grc"] .persona-deep__media { border-color: rgba(34,197,94,0.4); box-shadow: var(--glow-grc); }

.persona-deep__media--video {
  isolation: isolate;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}
.persona-deep__media--video::after { display: none; }
.persona-deep__media--video::before {

  content: '';
  position: absolute;
  inset: 5%;
  background: radial-gradient(60% 55% at 50% 60%, var(--persona-aura, transparent) 0%, transparent 70%);
  filter: blur(40px);
  z-index: -1;
  pointer-events: none;
  opacity: 0.85;
}

.persona-deep__media--video img:not(.persona-deep__media__anim) {
  position: relative;
  z-index: 0;
  opacity: 0;
  transition: opacity var(--duration-slow) var(--ease-out);
}

.persona-deep__media__anim {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
.persona-deep__media video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  z-index: 1;
  background: transparent;
}

.persona-deep[data-persona="zerotrust"] .persona-deep__media--video { --persona-aura: rgba(168, 85, 247, 0.45); }
.persona-deep[data-persona="ngsoc"]     .persona-deep__media--video { --persona-aura: rgba(226, 232, 240, 0.25); }
.persona-deep[data-persona="asha"]      .persona-deep__media--video { --persona-aura: rgba(220,  38,  38, 0.45); }
.persona-deep[data-persona="csirt"]     .persona-deep__media--video { --persona-aura: rgba(  6, 182, 212, 0.45); }
.persona-deep[data-persona="ctem"]      .persona-deep__media--video { --persona-aura: rgba(249, 115,  22, 0.45); }
.persona-deep[data-persona="grc"]       .persona-deep__media--video { --persona-aura: rgba( 34, 197,  94, 0.45); }

.persona-deep__media__play {
  position: absolute;
  z-index: 3;
  right: var(--space-4);
  bottom: var(--space-4);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 10px 16px 10px 12px;
  border-radius: var(--radius-full);
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(16, 16, 16,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--color-fg);
  font: 600 12px/1 var(--font-sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out),
              border-color var(--duration-normal) var(--ease-out);
}
.persona-deep__media__play:hover,
.persona-deep__media__play:focus-visible {
  transform: translateY(-2px);
  background: rgba(16, 16, 16,0.75);
  border-color: rgba(255,255,255,0.45);
  outline: none;
}
.persona-deep__media__play .icon {
  width: 14px; height: 14px;
}

.persona-deep[data-persona="asha"]  .persona-deep__media__play::before,
.persona-deep[data-persona="ngsoc"] .persona-deep__media__play::before,
.persona-deep[data-persona="grc"]   .persona-deep__media__play::before,
.persona-deep[data-persona="csirt"] .persona-deep__media__play::before,
.persona-deep[data-persona="ctem"]  .persona-deep__media__play::before,
.persona-deep[data-persona="zerotrust"] .persona-deep__media__play::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 12px currentColor;
  animation: persona-pulse 2s var(--ease-out) infinite;
}
.persona-deep[data-persona="asha"]      .persona-deep__media__play::before { color: var(--color-primary); }
.persona-deep[data-persona="ngsoc"]     .persona-deep__media__play::before { color: var(--color-ngsoc); }
.persona-deep[data-persona="grc"]       .persona-deep__media__play::before { color: var(--color-grc); }
.persona-deep[data-persona="csirt"]     .persona-deep__media__play::before { color: var(--color-csirt); }
.persona-deep[data-persona="ctem"]      .persona-deep__media__play::before { color: var(--color-ctem); }
.persona-deep[data-persona="zerotrust"] .persona-deep__media__play::before { color: var(--color-zerotrust); }

@keyframes persona-pulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%      { opacity: 0.4; transform: scale(0.8); }
}

@media (hover: hover) and (min-width: 900px) {
  .persona-deep__media--video {
    transition: transform var(--duration-slow) var(--ease-out),
                box-shadow var(--duration-slow) var(--ease-out);
  }
  .persona-deep__media--video:hover {
    transform: translateY(-4px) scale(1.01);
  }
}

.persona-deep {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out);
}
.persona-deep.is-visible {
  opacity: 1;
  transform: none;
}

.video-lightbox[hidden] { display: none; }
.video-lightbox {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: grid;
  place-items: center;
  padding: var(--space-6);
  background: rgba(9, 9, 9, 0.85);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.video-lightbox.is-open { opacity: 1; }
.video-lightbox__frame {
  position: relative;
  width: min(1100px, 100%);
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #000;
  box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.08);
  transform: translateY(24px) scale(0.97);
  transition: transform 420ms var(--ease-out);
}
.video-lightbox.is-open .video-lightbox__frame { transform: none; }
.video-lightbox__video {
  width: 100%; height: 100%;
  display: block;
  background: #000;
}
.video-lightbox__caption {
  position: absolute;
  left: 0; right: 0; top: 0;
  padding: var(--space-6) calc(var(--space-12) + 28px) var(--space-8) var(--space-6);
  color: var(--color-fg);
  font: 700 var(--text-lg)/1.2 var(--font-sans);
  pointer-events: none;
  letter-spacing: -0.01em;
  background: linear-gradient(180deg, rgba(9, 9, 9,0.75), rgba(9, 9, 9,0));
}
.video-lightbox__caption span {
  display: block;
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: 6px;
}
.video-lightbox__close {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 44px; height: 44px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-full);
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(16, 16, 16,0.6);
  color: var(--color-fg);
  cursor: pointer;
  transition: background var(--duration-fast) var(--ease-out),
              border-color var(--duration-fast) var(--ease-out);
}
.video-lightbox__close:hover,
.video-lightbox__close:focus-visible {
  background: rgba(16, 16, 16,0.9);
  border-color: rgba(255,255,255,0.5);
  outline: none;
}
.video-lightbox__close .icon { width: 22px; height: 22px; }

@media (max-width: 640px) {
  .video-lightbox { padding: var(--space-3); }
  .video-lightbox__frame { aspect-ratio: 9 / 16; max-height: 90vh; width: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .persona-deep { opacity: 1; transform: none; transition: none; }
  .persona-deep__media__play::before { animation: none; }
  .persona-deep__media--video:hover { transform: none; }
  .video-lightbox,
  .video-lightbox__frame { transition: none; }
}

.feature-grid {
  display: grid;
  gap: var(--space-6);
  grid-template-columns: 1fr;
}
@media (min-width: 720px)  { .feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .feature-grid { grid-template-columns: repeat(3, 1fr); } }
.feature-card {
  background: var(--color-surface-light);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  transition: all var(--duration-normal) var(--ease-out);
}
.feature-card:hover {
  border-color: var(--color-primary);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.feature-card__icon {
  width: 48px; height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: rgba(220,38,38,0.08);
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}
.feature-card__icon .icon { width: 24px; height: 24px; }
.feature-card h3 {
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 var(--space-2);
  color: var(--color-fg-light);
}
.feature-card p {
  font-size: var(--text-base);
  color: var(--color-muted-light);
  margin: 0;
  line-height: 1.55;
}

.phase-grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.phase-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: all var(--duration-normal) var(--ease-out);
}
.phase-card:hover {
  border-color: rgba(220,38,38,0.4);
  transform: translateY(-2px);
}
.phase-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px; height: 40px;
  padding: 0 8px;
  background: linear-gradient(135deg, var(--color-primary) 0%, #FB7185 100%);
  color: var(--color-fg);
  font-weight: 800;
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  font-size: var(--text-base);
  margin-bottom: var(--space-3);
  letter-spacing: 0;
}
.phase-card h3 {
  font-size: var(--text-lg);
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}
.phase-card p {
  font-size: var(--text-sm);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.55;
}

.prose {
  max-width: 760px;
  margin: 0 auto;
}
.prose h2 {
  margin-top: var(--space-12);
  margin-bottom: var(--space-3);
  font-size: var(--text-2xl);
  letter-spacing: -0.01em;
}
.prose h2:first-child { margin-top: 0; }
.prose h3 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-2);
  font-size: var(--text-lg);
  color: var(--color-primary);
}
.prose p {
  font-size: var(--text-base);
  color: var(--color-muted-light);
  margin: 0 0 var(--space-4);
  line-height: var(--leading-body);
}
.prose blockquote {
  margin: 0 0 var(--space-4);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-primary);
  font-style: italic;
  color: var(--color-fg-light);
}
.prose ul {
  margin: 0 0 var(--space-4);
  padding-left: 1.4em;
  color: var(--color-muted-light);
  font-size: var(--text-base);
}
.prose ul li { margin-bottom: var(--space-2); line-height: var(--leading-body); }

.persona {
  --persona-color: var(--color-primary);
}
.persona[data-persona="zerotrust"] { --persona-color: var(--color-zerotrust); }
.persona[data-persona="ngsoc"]     { --persona-color: var(--color-ngsoc); }
.persona[data-persona="csirt"]     { --persona-color: var(--color-csirt); }
.persona[data-persona="ctem"]      { --persona-color: var(--color-ctem); }
.persona[data-persona="grc"]       { --persona-color: var(--color-grc); }

.persona::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--persona-color), transparent);
  z-index: 3;
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.persona:hover::before { opacity: 1; }

.persona__body {
  background: linear-gradient(180deg, transparent 0%, rgba(16, 16, 16,0.85) 60%, rgba(16, 16, 16,0.97) 100%);
  padding: var(--space-6) var(--space-4) var(--space-4);
  transition: background var(--duration-normal) var(--ease-out);
}
.persona__name {
  font-family: var(--font-mono);
  letter-spacing: 0.18em;
  text-shadow: 0 0 16px color-mix(in srgb, var(--persona-color) 60%, transparent);
}

.persona .persona__body::before,
.persona .persona__body::after {
  content: '';
  position: absolute;
  width: 14px; height: 14px;
  border: 1.5px solid var(--persona-color);
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);
}
.persona .persona__body::before {
  top: 8px; left: 8px;
  border-right: none; border-bottom: none;
  transform: translate(4px, 4px);
}
.persona .persona__body::after {
  bottom: 8px; right: 8px;
  border-left: none; border-top: none;
  transform: translate(-4px, -4px);
}
.persona:hover .persona__body::before,
.persona:hover .persona__body::after { opacity: 0.85; transform: translate(0,0); }

.persona__img {
  position: relative;
  z-index: 0;
}
.persona__scanline {
  position: absolute;
  left: 0; right: 0; top: -10%;
  height: 30%;
  background: linear-gradient(180deg,
    transparent 0%,
    color-mix(in srgb, var(--persona-color) 25%, transparent) 49%,
    color-mix(in srgb, var(--persona-color) 95%, white 5%) 50%,
    color-mix(in srgb, var(--persona-color) 25%, transparent) 51%,
    transparent 100%);
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transform: translateY(0);
  transition: opacity var(--duration-fast) var(--ease-out);
}
.persona:hover .persona__scanline {
  opacity: 0.9;
  animation: persona-scan 1.6s ease-in-out infinite;
}
@keyframes persona-scan {
  0%   { transform: translateY(-30%); }
  100% { transform: translateY(330%); }
}

.how__media {
  position: relative;
  isolation: isolate;
}
.how__media::before {
  content: '';
  position: absolute; inset: 0;
  background:
    linear-gradient(135deg, transparent 0%, transparent 70%, rgba(220,38,38,0.18) 100%),
    repeating-linear-gradient(0deg, transparent 0 6px, rgba(255,255,255,0.025) 6px 7px);
  border-radius: inherit;
  z-index: 1;
  pointer-events: none;
  mix-blend-mode: screen;
}
.how__media::after {
  content: '';
  position: absolute;
  top: 12px; right: 12px;
  width: 40px; height: 40px;
  border-top: 2px solid var(--color-primary);
  border-right: 2px solid var(--color-primary);
  z-index: 2;
  opacity: 0.75;
}
.promise {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 14px 18px;
  background: rgba(220,38,38,0.04);
  border: 1px solid rgba(220,38,38,0.18);
  border-radius: var(--radius-md);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-fg-light);
  transition: all var(--duration-normal) var(--ease-out);
}
.promise .icon {
  width: 22px; height: 22px;
  flex-shrink: 0;
  color: var(--color-primary);
  filter: drop-shadow(0 0 6px rgba(220,38,38,0.5));
}
.promise:hover {
  background: rgba(220,38,38,0.08);
  border-color: var(--color-primary);
  transform: translateX(4px);
}
.promises {
  list-style: none;
  margin: var(--space-6) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-2);
}

.metric__num {
  font-family: var(--font-mono);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-fg);
  text-shadow: 0 0 30px rgba(220,38,38,0.25);
}
.framework {
  transition: all var(--duration-fast) var(--ease-out);
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  cursor: default;
}
.framework:hover {
  border-color: var(--color-primary);
  background: rgba(220,38,38,0.10);
  color: var(--color-fg);
  transform: translateY(-2px);
  box-shadow: 0 0 18px rgba(220,38,38,0.2);
}
.framework .icon {
  filter: drop-shadow(0 0 4px rgba(220,38,38,0.6));
}

.industry-card::after {
  content: '';
  position: absolute;
  bottom: 12px; left: 12px;
  width: 36px; height: 36px;
  border-bottom: 2px solid var(--color-primary);
  border-left: 2px solid var(--color-primary);
  z-index: 2;
  opacity: 0.6;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.industry-card:hover::after { opacity: 1; }
.industries__sector .dot {
  background: var(--color-primary);
  box-shadow: 0 0 8px var(--color-primary);
}
.industries__sector--secondary .dot {
  background: var(--color-csirt);
  box-shadow: 0 0 8px var(--color-csirt);
}

.practice {
  isolation: isolate;
  overflow: hidden;
}

.practice[data-persona="csirt"]     { --p: var(--color-csirt); }
.practice[data-persona="ctem"]      { --p: var(--color-ctem); }
.practice[data-persona="ngsoc"]     { --p: var(--color-ngsoc); }
.practice[data-persona="zerotrust"] { --p: var(--color-zerotrust); }
.practice[data-persona="grc"]       { --p: var(--color-grc); }
.practice[data-persona="asha"]      { --p: var(--color-primary); }
.practice::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 0;
  height: 3px;
  background: var(--p, var(--color-primary));
  transition: width var(--duration-slow) var(--ease-out);
  z-index: 2;
}
.practice:hover::before { width: 100%; }
.practice:hover {
  border-color: var(--p, var(--color-primary));
  box-shadow: 0 0 0 1px var(--p, var(--color-primary)), 0 16px 32px rgba(0,0,0,0.10);
}
.practice:hover .practice__icon-wrap {
  background: color-mix(in srgb, var(--p, var(--color-primary)) 15%, transparent);
  color: var(--p, var(--color-primary));
  box-shadow: 0 0 24px color-mix(in srgb, var(--p, var(--color-primary)) 40%, transparent);
}
.practice__icon-wrap {
  transition: all var(--duration-normal) var(--ease-out);
}
.practice__chip {
  transition: all var(--duration-fast) var(--ease-out);
}
.practice:hover .practice__chip {
  background: color-mix(in srgb, var(--p, var(--color-primary)) 8%, transparent);
  border-color: color-mix(in srgb, var(--p, var(--color-primary)) 25%, transparent);
  color: var(--p, var(--color-primary));
}

.service-group {
  transition: border-color var(--duration-normal) var(--ease-out);
}
.service-group__chev {
  width: 18px; height: 18px;
  transition: transform var(--duration-normal) var(--ease-out);
  color: var(--color-muted-light);
}
.service-group[open] > summary .service-group__chev {
  transform: rotate(180deg);
  color: var(--color-primary);
}
.service-group:hover summary .service-group__icon {
  background: rgba(220,38,38,0.12);
  box-shadow: 0 0 16px rgba(220,38,38,0.3);
}
.service-group__icon {
  transition: all var(--duration-normal) var(--ease-out);
}

.alliance {
  transition: all var(--duration-fast) var(--ease-out);
  cursor: default;
}
.alliance:hover {
  background: rgba(220,38,38,0.12);
  border-color: var(--color-primary);
  color: var(--color-fg);
  transform: translateY(-2px);
  box-shadow: 0 0 20px rgba(220,38,38,0.25);
}
.partner-level {
  transition: all var(--duration-normal) var(--ease-out);
}
.partner-level:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
}
.partner-level--elite     { box-shadow: 0 0 24px rgba(220,38,38,0.20); }
.partner-level--platinum  { box-shadow: 0 0 24px rgba(168,85,247,0.20); }
.partner-level--gold      { box-shadow: 0 0 24px rgba(249,115,22,0.20); }
.partner-level--elite .partner-level__tag {
  text-shadow: 0 0 8px rgba(220,38,38,0.35);
}
.partner-level--platinum .partner-level__tag {
  text-shadow: 0 0 8px rgba(168,85,247,0.35);
}
.partner-level--gold .partner-level__tag {
  text-shadow: 0 0 8px rgba(249,115,22,0.35);
}

.client-logo {
  transition: all var(--duration-normal) var(--ease-out);
}
.client-logo img {
  filter: grayscale(100%) brightness(0.7) opacity(0.7);
  transition: filter var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);
}
.client-logo:hover img {
  filter: grayscale(0%) brightness(1) opacity(1);
  transform: scale(1.05);
}
.client-names li {
  transition: all var(--duration-fast) var(--ease-out);
}
.client-names li:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  transform: translateY(-1px);
}

.final-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(220,38,38,0.18), transparent 60%),
    radial-gradient(ellipse at 70% 50%, rgba(6,182,212,0.10), transparent 60%);
  pointer-events: none;
  z-index: -1;
}
.final-cta__inner {
  position: relative;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-xl);
  padding: clamp(40px, 6vw, 72px);
  background:
    linear-gradient(135deg, rgba(23, 23, 23,0.6), rgba(16, 16, 16,0.6));
  backdrop-filter: blur(8px);
  text-align: center;
  overflow: hidden;
}
.final-cta__inner::before,
.final-cta__inner::after {
  content: '';
  position: absolute;
  width: 60px; height: 60px;
  border: 2px solid var(--color-primary);
  opacity: 0.6;
}
.final-cta__inner::before {
  top: 16px; left: 16px;
  border-right: none; border-bottom: none;
}
.final-cta__inner::after {
  bottom: 16px; right: 16px;
  border-left: none; border-top: none;
}
.final-cta__title .accent {
  color: var(--color-primary);
  font-weight: 800;
}

.site-footer {
  position: relative;
  border-top: 1px solid var(--color-border-strong);
}
.site-footer::before {
  content: '';
  position: absolute;
  top: -1px; left: 50%;
  transform: translateX(-50%);
  width: 240px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
  box-shadow: 0 0 16px rgba(220,38,38,0.25);
}
.site-footer__list a {
  position: relative;
  transition: color var(--duration-fast) var(--ease-out);
}
.site-footer__list a::after {
  content: '';
  position: absolute;
  left: 0; bottom: -2px;
  width: 0; height: 1px;
  background: var(--color-primary);
  transition: width var(--duration-normal) var(--ease-out);
}
.site-footer__list a:hover::after { width: 100%; }
.site-footer__list a:hover { color: var(--color-primary); }
.social-icon {
  transition: all var(--duration-fast) var(--ease-out);
}
.social-icon:hover {
  color: var(--color-primary);
  transform: translateY(-2px);
  filter: drop-shadow(0 0 8px rgba(220,38,38,0.6));
}

.practices__grid,
.alliances__grid {
  align-items: stretch;
}
.practices__grid > .practice {
  height: 100%;
}

@media (prefers-reduced-motion: no-preference) {

}

.scene-hacked {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  background: var(--color-bg);
  padding: clamp(80px, 8vw, 112px) 0;
}

.scene-hacked__inner {
  position: relative;
  z-index: 3;
  display: grid;
  gap: var(--space-12);
  align-items: center;
}
@media (min-width: 900px) {
  .scene-hacked__inner {

    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(32px, 4vw, 72px);
  }
}

.scene-hacked__hero-wrap {
  position: relative;
  display: grid;
  place-items: center;

  aspect-ratio: 3/4;

  max-width: min(400px, 100%);
  margin-inline: auto;

}
@media (min-width: 1024px) {

}
.scene-hacked__hero {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;

}

.scene-hacked__replay {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(16, 16, 16, 0.55);
  border: 1px solid rgba(165, 243, 252, 0.25);
  color: rgba(165, 243, 252, 0.7);
  cursor: pointer;
  backdrop-filter: blur(6px);
  opacity: 0.55;
  transition: opacity 240ms var(--ease-out), background 240ms var(--ease-out), border-color 240ms var(--ease-out), color 240ms var(--ease-out), transform 240ms var(--ease-out);
}
.scene-hacked__replay:hover,
.scene-hacked__replay:focus-visible {
  opacity: 1;
  background: rgba(6, 182, 212, 0.15);
  border-color: rgba(6, 182, 212, 0.55);
  color: var(--color-csirt-soft);
  transform: scale(1.08);
  outline: none;
}
.scene-hacked__replay svg { width: 18px; height: 18px; }
.scene-hacked__replay:active { transform: scale(0.95); }

.scene-hacked__copy {
  color: var(--color-fg);
}
.scene-hacked__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: var(--color-danger-soft);
  font: 600 12px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: var(--space-6);
}
.scene-hacked__eyebrow .pulse {
  width: 8px; height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--color-primary);
  animation: pulse 2.4s ease-in-out infinite;
}

.scene-hacked__title {
  font-family: var(--font-sans);
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-6);
  color: var(--color-fg);
  text-shadow:
    0 0 32px rgba(255,255,255,0.18),
    0 0 6px rgba(220,38,38,0.35);
}
.scene-hacked__title-line {
  display: block;
}
.scene-hacked__title-attack {
  color: #EF4444;
  text-shadow: 0 0 16px rgba(239,68,68,0.6);
  font-style: italic;
  position: relative;
}
.scene-hacked__title-safe {
  color: var(--color-primary);
  font-weight: 800;
}

.scene-hacked__lede {
  font-size: var(--text-lg);
  line-height: 1.6;
  color: var(--color-muted);
  margin: 0 0 var(--space-6);
  max-width: 56ch;
}

.scene-hacked__status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: var(--radius-full);
  background: rgba(34,197,94,0.10);
  border: 1px solid rgba(34,197,94,0.40);
  color: var(--color-success);
  font: 700 12px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: var(--space-6);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 400ms, transform 400ms;
}
.scene-hacked__status .icon { width: 18px; height: 18px; filter: drop-shadow(0 0 6px rgba(34,197,94,0.6)); }

.scene-hacked__replay {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.scene-hacked__replay .icon { width: 18px; height: 18px; }

@media (prefers-reduced-motion: reduce) {

  .scene-hacked__hero { opacity: 1; transform: none; }

  .scene-hacked__status { opacity: 1; transform: none; }
}

.hero__title-accent {
  display: inline-block;
  color: var(--color-primary);
  font-weight: 800;
  font-style: normal;
  text-shadow: 0 0 32px rgba(220,38,38,0.35);
}

html.js .hero__eyebrow,
html.js .hero__title > span,
html.js .hero__subtitle,
html.js .hero__actions,
html.js .hero__trust,
html.js .hero__scroll { opacity: 0; }

html.js .page-hero--league .page-hero__eyebrow,
html.js .page-hero--league .page-hero__title > span,
html.js .page-hero--league .page-hero__lede,
html.js .page-hero--league .page-hero__actions,
html.js .page-hero--league .liga-constellation { opacity: 0; }
@media (prefers-reduced-motion: reduce) {

  html.js .page-hero--league .page-hero__eyebrow,
  html.js .page-hero--league .page-hero__title > span,
  html.js .page-hero--league .page-hero__lede,
  html.js .page-hero--league .page-hero__actions,
  html.js .page-hero--league .liga-constellation { opacity: 1; }
}
.hero__chips {
  list-style: none;
  margin: var(--space-6) 0 var(--space-8);
  padding: 0;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}
.hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(23, 23, 23,0.55);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-full);
  backdrop-filter: blur(8px);
  font: 600 11px/1 var(--font-mono);
  color: var(--color-fg);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: all var(--duration-fast) var(--ease-out);
}
.hero__chip:hover {
  border-color: var(--color-primary);
  background: rgba(220,38,38,0.12);
}
.hero__chip-dot {
  width: 6px; height: 6px;
  border-radius: 999px;
  background: var(--color-primary);
  box-shadow: 0 0 6px rgba(220,38,38,0.40);
}

.btn-pill {
  border-radius: var(--radius-full) !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.hero__scroll {
  flex-direction: row !important;
  bottom: 32px !important;
  right: 32px !important;
  left: auto !important;
  transform: none !important;
  gap: 10px !important;
}
.hero__scroll-text {
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.hero__scroll-arrow {
  width: 12px; height: 16px;
  animation: scroll-arrow-bounce 1.8s ease-in-out infinite;
  color: var(--color-primary);
}
@keyframes scroll-arrow-bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(4px); }
}
@media (max-width: 700px) {
  .hero__scroll { display: none; }
}

.metrics--editorial {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.metrics--editorial .metric {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: var(--space-8) var(--space-6);
  margin: 0;
  position: relative;
}
.metrics--editorial .metric:nth-child(odd) { border-right: 1px solid var(--color-border); }
.metrics--editorial .metric:nth-child(-n+2) { border-bottom: 1px solid var(--color-border); }
.metrics--editorial .metric:hover { transform: none; box-shadow: none; }
.metrics--editorial .metric__num {
  font-family: var(--font-mono) !important;
  font-size: clamp(64px, 9vw, 112px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 0.95 !important;
  color: #fff !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 0 32px rgba(220,38,38,0.35) !important;
  margin: 0 0 var(--space-3);
}
.metrics--editorial .metric__num .unit {
  font-size: 0.55em;
  color: var(--color-primary);
  margin-left: 4px;
  -webkit-text-fill-color: var(--color-primary) !important;
}
.metrics--editorial .metric__label {
  font: 600 11px/1.4 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0;
  max-width: 22ch;
}
@media (max-width: 700px) {
  .metrics--editorial { grid-template-columns: 1fr; }
  .metrics--editorial .metric { border-right: none !important; border-bottom: 1px solid var(--color-border) !important; }
  .metrics--editorial .metric:last-child { border-bottom: none !important; }
}

@media (min-width: 900px) {
  .liga__grid--asym {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 1fr 1fr;
    gap: var(--space-6) !important;
  }
  .persona--captain {
    grid-row: 1 / 3;
    grid-column: 1;
  }
  .liga__grid--asym .persona:not(.persona--captain) {
    aspect-ratio: auto;
  }

  .liga__grid--asym {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 1fr 1fr !important;
    grid-template-rows: 1fr 1fr;
  }
  .persona--captain { grid-column: 1; grid-row: 1 / 3; }

}

.persona--captain {
  position: relative;
}
.persona--captain .persona__body {
  padding: var(--space-8) var(--space-6);
  background: linear-gradient(180deg, transparent 0%, rgba(16, 16, 16,0.92) 50%, rgba(16, 16, 16,0.99) 100%);
}
.persona--captain .persona__name {
  font-size: clamp(28px, 3vw, 40px);
  font-family: var(--font-sans);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
  margin-bottom: var(--space-2);
  color: var(--color-primary);
  text-shadow: 0 0 18px rgba(220,38,38,0.35);
}
.persona--captain .persona__role {
  font-size: var(--text-sm);
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-fg);
  font-weight: 500;
  max-width: 32ch;
}
.persona__captain-tag {
  display: inline-block;
  font: 700 10px/1 var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-primary);
  background: rgba(220,38,38,0.12);
  border: 1px solid rgba(220,38,38,0.40);
  padding: 6px 10px;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-3);
  text-shadow: 0 0 6px rgba(220,38,38,0.30);
}

.practice {

  background: rgba(23, 23, 23, 0.85) !important;
  border-color: rgba(255,255,255,0.08) !important;
  position: relative;
}
.practice__num {
  position: absolute;
  top: var(--space-6);
  right: var(--space-6);
  font: 800 32px/1 var(--font-mono);
  color: rgba(255,255,255,0.10);
  letter-spacing: -0.02em;
  transition: all var(--duration-normal) var(--ease-out);
  z-index: 2;
}
.practice:hover .practice__num {
  color: var(--p, var(--color-primary));
  text-shadow: 0 0 16px color-mix(in srgb, var(--p, var(--color-primary)) 60%, transparent);
}
.practice__title { color: var(--color-fg) !important; }
.practice__desc { color: rgba(248,250,252,0.65) !important; }
.practice__chip {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.10) !important;
  color: var(--color-fg) !important;
}
.practice__more {
  color: var(--color-fg) !important;
}

#practicas.section--light {
  background: var(--color-bg);
  color: var(--color-fg);
}
#practicas .section-title { color: var(--color-fg); }
#practicas .section-lede  { color: var(--color-muted) !important; }

.practice::after {
  content: '';
  position: absolute;
  bottom: 12px; left: 12px;
  width: 16px; height: 16px;
  border-bottom: 1.5px solid var(--p, var(--color-primary));
  border-left: 1.5px solid var(--p, var(--color-primary));
  opacity: 0;
  transform: translate(-4px, 4px);
  transition: all var(--duration-normal) var(--ease-out);
}
.practice:hover::after {
  opacity: 0.8;
  transform: translate(0, 0);
}

.marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.marquee__track {
  display: flex;
  gap: var(--space-4);
  width: max-content;
  animation: marquee-scroll 50s linear infinite;
}
.marquee--right .marquee__track { animation-direction: normal; }
.marquee--left  .marquee__track { animation-direction: reverse; }
.marquee--clients .marquee__track { animation-duration: 70s; gap: var(--space-6); }
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee .alliance-card {
  flex-shrink: 0;
  width: 240px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-4);
}
.marquee .alliance-card[data-brand="darkivore"] { width: 180px; }
.marquee--clients .client-logo {
  flex-shrink: 0;
  width: 160px;
  height: 100px;
  background: var(--color-surface-light);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}
.marquee--clients .client-logo img {
  max-width: 100%;
  max-height: 60%;
  filter: grayscale(100%) brightness(0.5);
  transition: filter var(--duration-normal) var(--ease-out);
}
.marquee--clients .client-logo:hover img {
  filter: grayscale(0) brightness(1);
}
@media (prefers-reduced-motion: reduce) {
  .marquee__track { animation: none; }
}

.section--dark:not(.hero):not(.scene-hacked):not(.final-cta--poster) {
  position: relative;
}
.section--dark:not(.hero):not(.scene-hacked):not(.final-cta--poster)::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(220,38,38,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,38,38,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at center, black 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at center, black 20%, transparent 75%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.6;
}
.section--dark > .container { position: relative; z-index: 1; }

.final-cta--poster {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(96px, 14vw, 184px) 0;
  min-height: 70vh;
  display: flex;
  align-items: center;
}
.final-cta__bg-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;

  object-position: center bottom;

  opacity: 0.58;
  z-index: 0;
  filter: saturate(0.95);
}
.final-cta__bg-grad {
  position: absolute; inset: 0;
  z-index: 1;
  background:

    linear-gradient(180deg, rgba(16, 16, 16,0.74) 0%, rgba(16, 16, 16,0.82) 50%, var(--color-bg) 100%),
    radial-gradient(ellipse at 80% 20%, rgba(220,38,38,0.25), transparent 55%),
    radial-gradient(ellipse at 20% 80%, rgba(6,182,212,0.12), transparent 55%);
}
.final-cta__bg-grid {
  position: absolute; inset: 0;
  z-index: 2;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
}
.final-cta--poster .final-cta__inner {
  position: relative;
  z-index: 5;
  max-width: 920px;
  text-align: center;
  margin-inline: auto;
  padding: 0 var(--space-8);
}

.final-cta--poster .final-cta__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-danger-soft);
  margin-bottom: var(--space-6);
}
.final-cta--poster .final-cta__eyebrow .pulse {
  width: 8px; height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--color-primary);
  animation: pulse 2.4s ease-in-out infinite;
}
.final-cta__eyebrow-prefix {
  color: var(--color-success);
}

.final-cta--poster .final-cta__title {
  font-family: var(--font-sans);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--color-fg);
  margin: 0 0 var(--space-6);
  max-width: 18ch;
  margin-inline: auto;
}

.final-cta__accent {
  color: var(--color-primary);
  font-style: normal;
  font-weight: 800;
}
.final-cta--poster .final-cta__lede {
  font-size: var(--text-lg);
  color: var(--color-muted);
  max-width: 56ch;
  margin: 0 auto var(--space-8);
  line-height: 1.55;
}
.final-cta--poster .final-cta__actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-5);
  margin-bottom: var(--space-10);
}

.final-cta__btn-primary {
  font-size: var(--text-base);
  padding: 14px 28px;
}

.final-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 14px/1 var(--font-sans);
  letter-spacing: 0;
  color: rgba(241, 245, 249, 0.85);
  text-decoration: none;
  padding: 8px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  transition: color 200ms var(--ease-out), border-color 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.final-cta__link:hover {
  color: var(--color-fg);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateX(3px);
}
.final-cta__link .icon { width: 14px; height: 14px; }

.final-cta__corner {
  position: absolute;
  width: clamp(40px, 6vw, 72px);
  height: clamp(40px, 6vw, 72px);
  z-index: 4;
  border-color: var(--color-primary);
  opacity: 0.6;
  filter: drop-shadow(0 0 12px rgba(220,38,38,0.4));
}
.final-cta__corner--tl { top: 24px; left: 24px; border-top: 2px solid; border-left: 2px solid; }
.final-cta__corner--tr { top: 24px; right: 24px; border-top: 2px solid; border-right: 2px solid; }
.final-cta__corner--bl { bottom: 24px; left: 24px; border-bottom: 2px solid; border-left: 2px solid; }
.final-cta__corner--br { bottom: 24px; right: 24px; border-bottom: 2px solid; border-right: 2px solid; }

.final-cta__meta {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-3);
  font: 600 11px/1.5 var(--font-mono);
  letter-spacing: 0.10em;
  color: rgba(203, 213, 225, 0.7);
  text-transform: uppercase;
}
.final-cta__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.final-cta__meta-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgb(34, 197, 94);
  box-shadow: 0 0 5px rgba(34, 197, 94, 0.35);
  animation: hero-panel-pulse 2s ease-in-out infinite;
}
.final-cta__meta-sep {
  color: rgba(148, 163, 184, 0.35);
}

.site-header__logo {
  height: 40px !important;
  width: auto !important;
  background: transparent !important;
  filter: drop-shadow(0 0 8px rgba(220,38,38,0.25));
}
.site-footer__logo {
  height: 56px;
  width: auto;
  background: transparent;
  filter: drop-shadow(0 0 8px rgba(220,38,38,0.25));
}

.hero {

  min-height: max(560px, calc(100vh - 93px)) !important;
  min-height: max(560px, calc(100svh - 93px)) !important;
}
.hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: right center;
  z-index: 0;

  opacity: 0.55;
  filter: saturate(1.05) contrast(1.05);
}

.hero__drift {
  z-index: 1;
}

.hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to right,
    rgba(16, 16, 16, 0.78) 0%,
    rgba(16, 16, 16, 0.62) 26%,
    rgba(16, 16, 16, 0.28) 46%,
    transparent 62%
  );
}
@media (max-width: 900px) {

  .hero__scrim {
    background: linear-gradient(
      to bottom,
      rgba(16, 16, 16, 0.72) 0%,
      rgba(16, 16, 16, 0.58) 55%,
      rgba(16, 16, 16, 0.30) 100%
    );
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero__bg-img { animation: none; }
}

.hero__vignette { display: none !important; }
.hero__title {

  font-size: clamp(40px, min(6.4vw, 11vh), 82px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em;
  max-width: 15ch;
  margin-inline: auto;
}
.hero__subtitle {
  font-size: clamp(15px, 1.4vw, 18px) !important;
  max-width: 640px;
}

.practice {
  padding: var(--space-8) var(--space-6) var(--space-6) !important;
}
.practice__icon-wrap {
  width: 80px !important;
  height: 80px !important;
  background: color-mix(in srgb, var(--p, var(--color-primary)) 12%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--p, var(--color-primary)) 30%, transparent);
  color: var(--p, var(--color-primary)) !important;
  margin-bottom: var(--space-4);
}
.practice__icon-wrap .icon {
  width: 40px !important;
  height: 40px !important;
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--p, var(--color-primary)) 60%, transparent));
}
.practice__num {
  font-size: 56px !important;
  color: rgba(255,255,255,0.06) !important;
}
.practice:hover .practice__icon-wrap {
  background: color-mix(in srgb, var(--p, var(--color-primary)) 25%, transparent) !important;
  box-shadow: 0 0 32px color-mix(in srgb, var(--p, var(--color-primary)) 50%, transparent);
}
.practice:hover .practice__icon-wrap .icon {
  filter: drop-shadow(0 0 16px color-mix(in srgb, var(--p, var(--color-primary)) 90%, transparent));
}
.practice__title {
  font-size: var(--text-xl) !important;
  letter-spacing: -0.01em !important;
}

.clients .marquee--clients + .marquee--clients { margin-top: var(--space-4); }

.marquee--clients .client-logo {
  background: transparent !important;
  border: none !important;
  width: 280px !important;
  height: 140px !important;
  padding: var(--space-3) var(--space-5) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.marquee--clients .client-logo img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;

  filter: brightness(0) invert(1);
  opacity: 0.78;
  transition: all var(--duration-normal) var(--ease-out);
}
.marquee--clients .client-logo:hover img {
  filter: brightness(0) invert(1);
  opacity: 1;
  transform: scale(1.05);
}
@media (max-width: 720px) {
  .marquee--clients .client-logo { width: 200px !important; height: 100px !important; }
}

.clients.section--light {
  background: var(--color-bg) !important;
}
.clients__title { color: var(--color-fg) !important; }
.clients__sub { color: var(--color-muted) !important; }
.clients__more {
  border-top-color: var(--color-border) !important;
}
.clients__more-label { color: var(--color-muted) !important; }
.client-names li {
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: var(--color-fg) !important;
}

.partner-level {
  min-height: 132px;
  padding: var(--space-6) !important;
  gap: var(--space-3) !important;
}
.partner-level__tag {
  font-size: 11px !important;
  padding: 6px 12px !important;
  letter-spacing: 0.2em !important;
}
.partner-level__brand {
  font-size: var(--text-2xl) !important;
  margin-top: 4px;
}
.partner-level__note {
  font-size: var(--text-sm) !important;
  line-height: 1.5;
  color: var(--color-muted) !important;
}

.how__media {
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: relative;
}
.how__media::before {
  background:
    linear-gradient(135deg, transparent 0%, transparent 60%, rgba(220,38,38,0.25) 100%),
    repeating-linear-gradient(0deg, transparent 0 6px, rgba(255,255,255,0.025) 6px 7px) !important;
}
.how__text .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: #DC2626 !important;
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.how__text .eyebrow::before {
  content: '>';
  color: var(--color-primary);
  font-weight: 700;
}

.diff__title .accent {
  color: var(--color-primary) !important;
  font-weight: 800;
  font-style: italic;
}
.diff__copy p strong {
  color: var(--color-fg);
  background: linear-gradient(120deg, transparent 60%, rgba(220,38,38,0.20) 60%);
  padding: 0 4px;
}
.diff .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: var(--color-danger-soft) !important;
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.diff .eyebrow::before {
  content: '>';
  color: var(--color-primary);
  font-weight: 700;
}

.industries {
  background-image:
    radial-gradient(ellipse 90% 50% at 50% 0%, color-mix(in srgb, var(--color-csirt) 10%, transparent), transparent 55%),
    radial-gradient(ellipse 70% 50% at 50% 100%, color-mix(in srgb, var(--color-csirt-soft) 8%, transparent), transparent 55%);
  color: var(--color-fg);
  position: relative;
  overflow: hidden;
}
.industries::before {

  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(60deg, transparent 0 64px, color-mix(in srgb, var(--color-csirt) 4%, transparent) 64px 65px),
    repeating-linear-gradient(-60deg, transparent 0 64px, color-mix(in srgb, var(--color-csirt) 4%, transparent) 64px 65px),
    repeating-linear-gradient(0deg, transparent 0 64px, color-mix(in srgb, var(--color-csirt) 4%, transparent) 64px 65px);
  mask-image: radial-gradient(ellipse 80% 70% at center, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at center, black 30%, transparent 80%);
  pointer-events: none;
  opacity: 0.6;
}
.industries .container { position: relative; z-index: 2; }
.industries .section-title { color: var(--color-fg); }
.industries__sector {
  background: color-mix(in srgb, var(--color-csirt) 6%, transparent);
  border-color: color-mix(in srgb, var(--color-csirt) 25%, transparent) !important;
  color: var(--color-fg) !important;
}
.industries__sector .dot {
  background: var(--color-csirt) !important;
  box-shadow: 0 0 8px color-mix(in srgb, var(--color-csirt) 35%, transparent);
}
.industries__sector--secondary .dot {
  background: rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 0 8px rgba(226, 232, 240, 0.4);
}
.industries .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--color-csirt) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-csirt) 30%, transparent);

  color: var(--color-csirt-soft) !important;
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.industries .eyebrow::before {
  content: '>';
  color: var(--color-csirt);
  font-weight: 700;
}

.industry-card {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
}
.industry-card:hover {
  border-color: rgba(220, 38, 38, 0.55) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.40), 0 0 32px rgba(220, 38, 38, 0.18);
}
.industry-card__body p {
  color: rgba(255,255,255,0.85) !important;
}
.industry-card__body strong {

  color: var(--color-csirt-soft) !important;
}

.services.section--light {
  background: var(--color-bg) !important;
  color: var(--color-fg);
}
.services .section-title { color: var(--color-fg); }
.services .section-lede { color: var(--color-muted) !important; }
.services .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.30);
  color: var(--color-danger-soft) !important;
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.services .eyebrow::before {
  content: '>';
  color: var(--color-primary);
  font-weight: 700;
}
.service-group {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-3);
}
.service-group summary {
  color: var(--color-fg);
  padding: var(--space-5) var(--space-6);
}
.service-group__title {
  color: var(--color-fg) !important;
  font-size: var(--text-lg) !important;
}
.service-group__body {
  background: rgba(255,255,255,0.02);
  border-top: 1px solid var(--color-border);
  padding: var(--space-6);
}
.service-item h4 {
  color: var(--color-primary) !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  margin-bottom: var(--space-3) !important;
}
.service-item h4::before {
  content: '> ';
  color: var(--color-success);
}
.service-item ul {
  color: var(--color-muted) !important;
}
.service-item ul li { color: rgba(248,250,252,0.7) !important; }

.how.section--light {
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(220,38,38,0.06), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%) !important;
  color: var(--color-fg-light);
  position: relative;
  overflow: hidden;
}
.how.section--light::before {

  content: '';
  position: absolute;
  top: -1px;
  left: 0; right: 0;
  height: 60px;
  background: var(--color-bg);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 30%);
  z-index: 1;
}
.how.section--light::after {

  content: '';
  position: absolute;
  bottom: -1px;
  left: 0; right: 0;
  height: 60px;
  background: var(--color-bg);
  clip-path: polygon(0 70%, 100% 100%, 100% 100%, 0 100%);
  z-index: 1;
}
.how .container { position: relative; z-index: 2; }
.how .section-title { color: var(--color-fg-light); }
.how__text p { color: var(--color-muted-light) !important; }
.how__text p strong {
  color: var(--color-fg-light) !important;
  background: linear-gradient(120deg, transparent 60%, rgba(220,38,38,0.20) 60%);
  padding: 0 4px;
}
.how__text .eyebrow {
  color: var(--color-primary) !important;
  background: rgba(220,38,38,0.08);
  border: 1px solid rgba(220,38,38,0.20);
}
.how__media {

  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  box-shadow:
    0 32px 64px -16px rgba(16, 16, 16,0.25),
    0 0 0 1px rgba(220,38,38,0.10);
}
.how__media img {
  transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.how__media:hover img { transform: scale(1.03); }

.site-footer__bootlog {
  position: relative;
  margin-top: var(--space-12);
  margin-bottom: var(--space-4);
  padding: var(--space-4) var(--space-6);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(23, 23, 23, 0.55) 0%, rgba(16, 16, 16, 0.40) 100%);
  backdrop-filter: blur(12px) saturate(115%);
  -webkit-backdrop-filter: blur(12px) saturate(115%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  font: 500 11.5px/1.5 var(--font-mono);
  letter-spacing: 0.02em;
  color: rgba(203, 213, 225, 0.85);
  overflow: hidden;
}

.site-footer__bootlog-head {
  padding-bottom: var(--space-2);
  margin-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.site-footer__bootlog-prompt { color: rgb(110, 231, 183); font-weight: 600; }
.site-footer__bootlog-sep    { color: rgba(255, 255, 255, 0.35); }
.site-footer__bootlog-path   { color: rgb(165, 243, 252); font-weight: 600; }
.site-footer__bootlog-dollar { color: rgba(255, 255, 255, 0.55); margin: 0 6px; font-weight: 600; }
.site-footer__bootlog-cmd    { color: rgba(241, 245, 249, 0.92); }

.site-footer__bootlog-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.site-footer__bootlog-list li {
  display: grid;
  grid-template-columns: 78px 8px 1fr auto 52px;
  align-items: center;
  gap: var(--space-3);
  padding: 4px 0;
}
.site-footer__bootlog-time {
  color: rgba(148, 163, 184, 0.55);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.site-footer__bootlog-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgb(34, 197, 94);
  box-shadow: 0 0 5px rgba(34, 197, 94, 0.35);
}
.site-footer__bootlog-name {
  color: rgba(241, 245, 249, 0.95);
  font-weight: 600;
  letter-spacing: 0;
}
.site-footer__bootlog-desc {
  color: rgba(148, 163, 184, 0.85);
  text-align: right;
  letter-spacing: 0;
}
.site-footer__bootlog-ok {
  color: rgb(110, 231, 183);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: right;
}

@media (max-width: 720px) {
  .site-footer__bootlog { padding: var(--space-3) var(--space-4); font-size: 10.5px; }
  .site-footer__bootlog-list li {
    grid-template-columns: 60px 6px 1fr auto;
    gap: var(--space-2);
  }
  .site-footer__bootlog-desc { display: none; }
}

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

.alliance-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  padding: var(--space-4) var(--space-5);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: all var(--duration-normal) var(--ease-out);
  cursor: default;
  isolation: isolate;
  overflow: hidden;
}
.alliance-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.alliance-card:hover {
  border-color: var(--color-primary);
  background: linear-gradient(180deg, rgba(220,38,38,0.10), rgba(220,38,38,0.02));
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.30), 0 0 24px rgba(220,38,38,0.18);
}
.alliance-card:hover::before { opacity: 1; }

.alliance-card__name {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  color: var(--color-fg);
  text-align: center;
  line-height: 1;
}
.alliance-card[data-brand="crowdstrike"] .alliance-card__name,
.alliance-card[data-brand="proofpoint"]  .alliance-card__name { letter-spacing: 0.06em; }
.alliance-card[data-brand="group-ib"]    .alliance-card__name { letter-spacing: 0.14em; }

.alliance-card__logo {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
  filter: brightness(0) invert(0.85);
  opacity: 0.75;
  transition: filter var(--duration-normal) var(--ease-out), opacity var(--duration-normal) var(--ease-out);
  object-fit: contain;
}
.alliance-card:hover .alliance-card__logo {
  filter: brightness(0) invert(1);
  opacity: 1;
}

.alliance-card[data-brand="darkivore"] .alliance-card__logo { max-height: 64px; }

.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border-strong);
  margin-right: var(--space-3);
  font-family: var(--font-mono);
  background: rgba(255, 255, 255, 0.025);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    inset 0 -1px 0 rgba(0, 0, 0, 0.10);
}
.lang-switch__btn {
  background: transparent;
  border: 0;
  color: var(--color-muted);
  font: 700 11px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 8px;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);
}
.lang-switch__btn:hover { color: var(--color-fg); }
.lang-switch__btn.is-active {
  color: var(--color-fg);
  background: rgba(220,38,38,0.18);
  box-shadow: 0 0 12px rgba(220,38,38,0.35);
}
.lang-switch__sep { color: var(--color-muted-soft); font-size: 11px; }
@media (max-width: 900px) {
  .lang-switch { display: none; }
}
.prose ul li strong { color: var(--color-fg-light); }

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

[data-parallax] {
  will-change: transform;
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  transition: transform 80ms linear;
}

:root {
  --scroll-velocity-abs: 0;
  --scroll-velocity: 0;
}

[data-split-reveal] .split-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(14px);
  filter: blur(6px);
  transition:
    opacity 600ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 600ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 600ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--i, 0) * 35ms);
  will-change: opacity, transform, filter;
}
[data-split-reveal].is-revealed-words .split-word {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
@media (prefers-reduced-motion: reduce) {
  [data-split-reveal] .split-word {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

.scene-hacked__eyebrow {
  display: inline-flex;
  background: rgba(6, 182, 212, 0.08);
  border: 1px solid rgba(6, 182, 212, 0.35);
  color: rgba(165, 243, 252, 0.92);
  padding: 8px 14px;
  border-radius: var(--radius-full);
  font: 600 12px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: var(--space-6);
  box-shadow: 0 0 18px rgba(6,182,212,0.18);
  align-items: center;
  gap: 8px;
}
.scene-hacked__eyebrow .pulse {
  width: 8px; height: 8px;
  background: rgb(34, 211, 238);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(34, 211, 238, 0.9);
  animation: pulse 2.4s ease-in-out infinite;
}

.scene-hacked__title--how {
  font-family: var(--font-sans);
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-5);
  color: var(--color-fg);
  text-shadow:
    0 0 32px rgba(255,255,255,0.15),
    0 0 6px rgba(6, 182, 212, 0.30);
}

.promises--scene {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.promises--scene .promise {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid rgba(220, 38, 38, 0.42);
  background:
    linear-gradient(180deg, rgba(220, 38, 38, 0.14), rgba(220, 38, 38, 0.06)),
    rgba(23, 23, 23, 0.55);
  border-radius: var(--radius-md);
  color: rgba(248, 250, 252, 0.96);
  font-weight: 600;
  font-size: var(--text-sm);
  cursor: default;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px rgba(220, 38, 38, 0.08),
    0 12px 32px -16px rgba(220, 38, 38, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition:
    transform var(--duration-normal) var(--ease-out),
    border-color var(--duration-normal) var(--ease-out),
    box-shadow var(--duration-normal) var(--ease-out);
}
.promises--scene .promise:hover {
  transform: translateY(-2px);
  border-color: rgba(220, 38, 38, 0.65);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(220, 38, 38, 0.18),
    0 18px 40px -16px rgba(220, 38, 38, 0.55);
}
.promises--scene .promise .icon {
  width: 22px; height: 22px;
  color: var(--color-danger-soft);
  filter: drop-shadow(0 0 8px rgba(220, 38, 38, 0.55));
  flex: 0 0 auto;
}

.diferenciador {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(96px, 12vw, 144px) 0 clamp(112px, 14vw, 160px);

  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(6,182,212,0.08), transparent 55%),
    radial-gradient(ellipse 70% 50% at 50% 100%, rgba(148,163,184,0.04), transparent 60%),
    linear-gradient(180deg, #101010 0%, #171717 60%, #101010 100%);
}
.diferenciador::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse 70% 60% at center, black 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at center, black 30%, transparent 90%);
  pointer-events: none;
  z-index: 0;
}
.diferenciador > .container { position: relative; z-index: 1; }

.diferenciador__head {
  max-width: 760px;
  margin: 0 auto var(--space-12);
  text-align: center;
}
.diferenciador__title {
  font-family: var(--font-sans);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: var(--space-3) 0 var(--space-4);
  color: var(--color-fg);
}
.diferenciador__title .accent {
  color: var(--color-primary);
  font-weight: 800;
}
.diferenciador__lede {
  font-size: var(--text-lg);
  line-height: 1.6;
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 auto;
}

.pillars {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  margin-bottom: var(--space-16);
}
@media (min-width: 900px) {
  .pillars { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
}

.pillar {
  position: relative;

  padding: 0;
  overflow: hidden;

  background: rgba(23, 23, 23, 0.85);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  transition: border-color 320ms var(--ease-out), background 320ms var(--ease-out), transform 320ms var(--ease-out);
}
.pillar:hover {
  border-color: rgba(220, 38, 38, 0.55);
  background: rgba(220, 38, 38, 0.06);
  transform: translateY(-4px);
}

.pillar__media,
.practice__hero {
  position: relative;
  background: var(--color-plate);
  border-bottom: 1px solid var(--color-border);
}

.pillar__media::after,
.practice__hero::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(23, 23, 23, 0.85) 100%);
  pointer-events: none;
}

.pillar__media {

  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.pillar__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 480ms var(--ease-out);
}
.pillar:hover .pillar__media img {
  transform: scale(1.04);
}
.pillar__body {
  position: relative;
  padding: var(--space-7) var(--space-6) var(--space-6);
}

.pillar__num {
  position: absolute;
  top: var(--space-4);
  right: var(--space-5);
  font: 800 56px/1 var(--font-sans);
  color: rgba(255, 255, 255, 0.06);
  letter-spacing: -0.02em;
  pointer-events: none;
}

.pillar__title {
  font-family: var(--font-sans);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 var(--space-3);
  color: var(--color-fg);
  letter-spacing: -0.01em;

  padding-right: 52px;
}
.pillar__title em {
  font-style: italic;
  color: rgba(252, 165, 165, 0.95);
}
.pillar__stat {
  font: 600 12px/1.4 var(--font-mono);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(165, 243, 252, 0.85);
  padding-bottom: var(--space-4);
  margin: 0 0 var(--space-4);
  border-bottom: 1px dashed rgba(148, 163, 184, 0.20);
}
.pillar__stat strong {
  color: var(--color-fg);
  font-weight: 800;
}
.pillar__copy {
  font-size: var(--text-sm);
  line-height: 1.6;
  color: rgba(226, 232, 240, 0.85);
  margin: 0;
}

.liga-bridge {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  max-width: 760px;
  margin: 0 auto var(--space-8);
}
.liga-bridge__line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(6, 182, 212, 0.5) 50%,
    transparent);
}
.liga-bridge__tag {
  font: 600 11px/1 var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(165, 243, 252, 0.85);
  white-space: nowrap;
  padding: 6px 12px;
  border: 1px solid rgba(6, 182, 212, 0.25);
  border-radius: var(--radius-full);
  background: rgba(6, 182, 212, 0.05);
}
@media (max-width: 720px) {
  .liga-bridge__tag { font-size: 10px; letter-spacing: 0.16em; padding: 6px 10px; }
}

.liga-section-head {
  text-align: center;
  margin-bottom: var(--space-10);
}
.eyebrow--liga {
  color: rgba(165, 243, 252, 0.9);
  letter-spacing: 0.26em;
}
.liga-section-head__title {
  font-family: var(--font-sans);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  margin: var(--space-3) 0 0;
  color: var(--color-fg);
  letter-spacing: -0.01em;
}

.diferenciador__proof {
  display: grid;
  gap: var(--space-6);
  margin-top: var(--space-16);
  padding-top: var(--space-10);
  border-top: 1px solid var(--color-border);
  text-align: center;
}
.diferenciador__proof .frameworks__label,
.about-frameworks .frameworks__label {
  font: 700 11px/1 var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0;
}
.diferenciador__proof .frameworks__grid,
.about-frameworks .frameworks__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.diferenciador__proof .framework,
.about-frameworks .framework {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12px/1 var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(241, 245, 249, 0.92);
  padding: 8px 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--radius-full);
  background: rgba(148, 163, 184, 0.06);
}
.diferenciador__proof .framework .icon,
.about-frameworks .framework .icon {
  width: 14px; height: 14px;
  color: var(--color-success);
}

.diferenciador__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: var(--space-4) auto 0;
  font: 700 13px/1 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-fg);
  text-decoration: none;
  padding: 14px 22px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-full);
  background: rgba(255,255,255,0.02);
  transition: border-color 240ms, background 240ms, transform 240ms;
}
.diferenciador__cta:hover {
  border-color: var(--color-primary);
  background: rgba(220,38,38,0.10);
  transform: translateX(4px);
}
.diferenciador__cta .icon { width: 18px; height: 18px; }

.diferenciador .pillar,
.diferenciador .liga__grid .persona { opacity: 0; transform: translateY(20px); }
.diferenciador.is-in .pillar {
  opacity: 1; transform: translateY(0);
  transition: opacity 600ms cubic-bezier(0.16,1,0.3,1), transform 600ms cubic-bezier(0.16,1,0.3,1);
  transition-delay: var(--d, 0ms);
}
.diferenciador.is-in .pillar:nth-child(1) { --d: 0ms; }
.diferenciador.is-in .pillar:nth-child(2) { --d: 120ms; }
.diferenciador.is-in .pillar:nth-child(3) { --d: 240ms; }

.diferenciador.is-in .liga__grid .persona {
  opacity: 1; transform: translateY(0);
  transition: opacity 600ms cubic-bezier(0.16,1,0.3,1), transform 600ms cubic-bezier(0.16,1,0.3,1);
  transition-delay: var(--d, 0ms);
}
.diferenciador.is-in .liga__grid .persona:nth-child(1) { --d: 0ms; }
.diferenciador.is-in .liga__grid .persona:nth-child(2) { --d: 80ms; }
.diferenciador.is-in .liga__grid .persona:nth-child(3) { --d: 160ms; }
.diferenciador.is-in .liga__grid .persona:nth-child(4) { --d: 240ms; }
.diferenciador.is-in .liga__grid .persona:nth-child(5) { --d: 320ms; }
.diferenciador.is-in .liga__grid .persona:nth-child(6) { --d: 400ms; }

@media (prefers-reduced-motion: reduce) {
  .diferenciador .pillar,
  .diferenciador .liga__grid .persona {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}

.ops-triad {
  margin: var(--space-12) auto 0;
  max-width: 720px;
  text-align: center;
}
.ops-triad__label {
  font: 600 12px/1.4 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-6);
}
.ops-triad__prompt { color: var(--color-primary); margin-right: 6px; }
.ops-triad__grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}
.ops-triad__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 128px;
}
.ops-triad__num {
  font: 800 clamp(40px, 6vw, 60px)/1 var(--font-mono);
  color: var(--color-fg);
  letter-spacing: -0.02em;
}
.ops-triad__unit {
  font-size: 0.34em;
  font-weight: 600;
  color: var(--color-primary);
  margin-left: 4px;
  letter-spacing: 0.04em;
}
.ops-triad__cap {
  font: 600 12px/1 var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.ops-triad__sep {
  width: 1px;
  height: 44px;
  background: rgba(248, 250, 252, 0.14);
}
@media (max-width: 560px) {
  .ops-triad__sep { display: none; }
  .ops-triad__grid { gap: var(--space-6); }
}

.liga-tag {
  margin: var(--space-12) auto var(--space-6);
  text-align: center;
  font: 600 13px/1.4 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(165, 243, 252, 0.85);
}
.liga-tag strong {
  color: var(--color-fg);
  font-weight: 800;
}

.liga__grid--row6 {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-bottom: var(--space-12);
}
@media (min-width: 600px)  { .liga__grid--row6 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px)  { .liga__grid--row6 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .liga__grid--row6 { grid-template-columns: repeat(6, 1fr); gap: var(--space-3); } }

.liga__grid--row6 .persona {
  aspect-ratio: 3 / 4.6;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.liga__grid--row6 .persona__img {
  aspect-ratio: auto;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.liga__grid--row6 .persona__body {
  padding: var(--space-3) var(--space-3) var(--space-4);
}
.liga__grid--row6 .persona__name {
  font-size: var(--text-base);
  letter-spacing: 0.12em;
  margin: 0 0 4px;
}
.liga__grid--row6 .persona__role {
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: 0.02em;
}
.liga__grid--row6 .persona__role em {
  font-style: normal;
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-size: 10px;
  display: block;
  margin-bottom: 4px;
}

.btn:active,
.btn-primary:active,
.btn-secondary:active,
.btn-pill:active,
.diferenciador__cta:active {
  transform: translateY(1px) scale(0.985);
  transition: transform 80ms cubic-bezier(0.4, 0, 0.2, 1);
}
.persona:active,
.practice:active,
.industry-card:active,
.alliance-card:active,
.client-logo:active,
.country:active,
.framework:active {
  transform: translateY(1px) scale(0.985);
  transition: transform 80ms cubic-bezier(0.4, 0, 0.2, 1);
}
.lang-switch__btn:active,
.main-nav__link:active,
.scene-hacked__replay:active,
.fp-dot:active,
.mobile-menu-toggle:active {
  transform: scale(0.94);
  transition: transform 80ms cubic-bezier(0.4, 0, 0.2, 1);
}
.hero__chip:active {
  transform: scale(0.97);
}
@media (prefers-reduced-motion: reduce) {
  .btn:active, .btn-primary:active, .btn-secondary:active, .btn-pill:active,
  .persona:active, .practice:active, .industry-card:active, .alliance-card:active,
  .client-logo:active, .lang-switch__btn:active, .main-nav__link:active,
  .scene-hacked__replay:active, .hero__chip:active, .country:active,
  .framework:active, .diferenciador__cta:active {
    transform: none !important;
    transition: none !important;
  }
}

#practicas.section--light {
  background:
    radial-gradient(ellipse 100% 60% at 50% 0%, rgba(220, 38, 38, 0.05), transparent 55%),
    linear-gradient(180deg, #0B0B0B 0%, #101010 50%, #0B0B0B 100%) !important;
  position: relative;
}
#practicas.section--light::before {

  content: '';
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 80px, rgba(255, 255, 255, 0.015) 80px 81px);
  mask-image: radial-gradient(ellipse 90% 80% at center, black 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at center, black 30%, transparent 90%);
  pointer-events: none;
  z-index: 0;
}
#practicas.section--light > .container { position: relative; z-index: 1; }

.clients.section--light {
  background:
    radial-gradient(ellipse 90% 60% at 50% 100%, rgba(148, 163, 184, 0.04), transparent 55%),
    linear-gradient(180deg, #0B0B0B 0%, #101010 100%) !important;
}

#alianzas.section--dark {
  background-image:
    radial-gradient(ellipse 100% 50% at 50% 0%, rgba(148, 163, 184, 0.06), transparent 55%);
  position: relative;
}

.section--dark:not(.hero):not(.scene-hacked):not(.final-cta--poster)#alianzas::before {
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.045) 1px, transparent 1px);
}

.fp-bridge {
  position: relative;
  height: 1px;
  margin: 0;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(148, 163, 184, 0.10) 30%,
    rgba(148, 163, 184, 0.10) 70%,
    transparent 100%);
}

.theme-deep-slate {
  background:
    radial-gradient(ellipse 100% 60% at 50% 0%, rgba(220, 38, 38, 0.05), transparent 55%),
    linear-gradient(180deg, #0B0B0B 0%, #101010 50%, #0B0B0B 100%) !important;
  position: relative;
}
.theme-deep-slate::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 80px, rgba(255, 255, 255, 0.015) 80px 81px);
  mask-image: radial-gradient(ellipse 90% 80% at center, black 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at center, black 30%, transparent 90%);
  pointer-events: none;
  z-index: 0;
}
.theme-deep-slate > .container { position: relative; z-index: 1; }

.feature-grid--marcos {
  grid-template-columns: 1fr;
  gap: var(--space-5);
  margin-bottom: var(--space-12);
}
@media (min-width: 720px)  { .feature-grid--marcos { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .feature-grid--marcos { grid-template-columns: repeat(3, 1fr); } }

.feature-card--framework {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 36px 32px !important;
}
.feature-card--framework .feature-card__icon {
  margin-bottom: 4px;
}
.feature-card--framework h3 {
  margin: 0 !important;
}
.feature-card__quote {
  font-style: italic;
  color: rgba(165, 243, 252, 0.85) !important;
  border-left: 2px solid rgba(6, 182, 212, 0.4);
  padding-left: 16px;
  font-size: var(--text-sm) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.feature-card__bullets {
  margin: 6px 0 0;
  padding: 0 !important;
}
.feature-card__bullets {
  list-style: none;
  padding: 0;
  margin: var(--space-2) 0 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.feature-card__bullets li {
  position: relative;
  padding-left: 16px;
  font: 500 12.5px/1.4 var(--font-mono);
  letter-spacing: 0.02em;
  color: rgba(203, 213, 225, 0.85);
}
.feature-card__bullets li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: rgba(6, 182, 212, 0.6);
  font-weight: 700;
}
.feature-card__bullets li strong {
  color: var(--color-fg);
  font-weight: 700;
}

.acreditaciones__partners {
  margin-bottom: var(--space-10);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.acreditaciones__partners-label,
.acreditaciones__team-label {
  font: 700 11px/1 var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.85);
  text-align: center;
  margin: 0 0 var(--space-4);
}

.acreditaciones__team {
  padding-top: var(--space-6);
  border-top: 1px dashed rgba(255, 255, 255, 0.06);
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}
.acreditaciones__team-text {
  font-size: var(--text-base);
  line-height: 1.6;
  color: rgba(203, 213, 225, 0.85);
  margin: 0;
}
.acreditaciones__team-text strong {
  color: var(--color-fg);
}

.theme-steel {
  background:
    radial-gradient(ellipse 100% 50% at 50% 0%, rgba(148, 163, 184, 0.06), transparent 55%),
    linear-gradient(180deg, #171717 0%, #1A1A1A 50%, #171717 100%) !important;
  position: relative;
}
.theme-steel::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 70% at center, black 30%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at center, black 30%, transparent 90%);
  pointer-events: none;
  z-index: 0;
}
.theme-steel > .container { position: relative; z-index: 1; }

.section--dark .feature-card,
.theme-deep-slate .feature-card,
.theme-steel .feature-card {
  position: relative;
  background: rgba(23, 23, 23, 0.85);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  transition:
    border-color 320ms var(--ease-out),
    background 320ms var(--ease-out),
    transform 320ms var(--ease-out),
    box-shadow 320ms var(--ease-out);
}

.section--dark .feature-card::before,
.theme-deep-slate .feature-card::before,
.theme-steel .feature-card::before {
  content: '';
  position: absolute;
  top: -20%; left: -10%;
  width: 60%; height: 60%;
  background: radial-gradient(circle at center, rgba(220, 38, 38, 0.12), transparent 70%);
  opacity: 0;
  transition: opacity 320ms var(--ease-out);
  pointer-events: none;
  z-index: 0;
}

.section--dark .feature-card::after,
.theme-deep-slate .feature-card::after,
.theme-steel .feature-card::after {
  content: '';
  position: absolute;
  bottom: 14px; left: 14px;
  width: 18px; height: 18px;
  border-bottom: 1.5px solid var(--color-primary);
  border-left: 1.5px solid var(--color-primary);
  opacity: 0;
  transform: translate(-4px, 4px);
  transition: opacity 320ms var(--ease-out), transform 320ms var(--ease-out);
  pointer-events: none;
  z-index: 1;
}

.section--dark .feature-card:hover,
.theme-deep-slate .feature-card:hover,
.theme-steel .feature-card:hover {
  border-color: rgba(220, 38, 38, 0.55);
  background: rgba(220, 38, 38, 0.05);
  transform: translateY(-4px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.25),
    0 20px 48px rgba(0, 0, 0, 0.35),
    0 0 32px rgba(220, 38, 38, 0.18);
}
.section--dark .feature-card:hover::before,
.theme-deep-slate .feature-card:hover::before,
.theme-steel .feature-card:hover::before { opacity: 1; }
.section--dark .feature-card:hover::after,
.theme-deep-slate .feature-card:hover::after,
.theme-steel .feature-card:hover::after {
  opacity: 0.8;
  transform: translate(0, 0);
}

.section--dark .feature-card > *,
.theme-deep-slate .feature-card > *,
.theme-steel .feature-card > * { position: relative; z-index: 1; }

.section--dark .feature-card:hover .feature-card__icon,
.theme-deep-slate .feature-card:hover .feature-card__icon,
.theme-steel .feature-card:hover .feature-card__icon {
  background: rgba(220, 38, 38, 0.20);
  border-color: rgba(220, 38, 38, 0.55);
  box-shadow: 0 0 24px rgba(220, 38, 38, 0.22);
}
.section--dark .feature-card:hover .feature-card__icon .icon,
.theme-deep-slate .feature-card:hover .feature-card__icon .icon,
.theme-steel .feature-card:hover .feature-card__icon .icon {
  filter: drop-shadow(0 0 12px rgba(220, 38, 38, 0.55));
}
.section--dark .feature-card h3,
.theme-deep-slate .feature-card h3,
.theme-steel .feature-card h3 {
  color: var(--color-fg);
}
.section--dark .feature-card p,
.theme-deep-slate .feature-card p,
.theme-steel .feature-card p {
  color: rgba(203, 213, 225, 0.78);
}
.section--dark .feature-card__icon,
.theme-deep-slate .feature-card__icon,
.theme-steel .feature-card__icon {
  background: rgba(220, 38, 38, 0.12);
  border: 1px solid rgba(220, 38, 38, 0.30);
  width: 56px; height: 56px;
}
.section--dark .feature-card__icon .icon,
.theme-deep-slate .feature-card__icon .icon,
.theme-steel .feature-card__icon .icon {
  width: 28px; height: 28px;
  filter: drop-shadow(0 0 6px rgba(220, 38, 38, 0.35));
}

.section--dark .prose p,
.theme-deep-slate .prose p,
.theme-steel .prose p {
  color: rgba(203, 213, 225, 0.85);
}
.section--dark .prose p strong,
.theme-deep-slate .prose p strong,
.theme-steel .prose p strong {
  color: var(--color-fg);
}
.section--dark .prose h2,
.theme-deep-slate .prose h2,
.theme-steel .prose h2 {
  color: var(--color-fg);
}
.section--dark .prose h3,
.theme-deep-slate .prose h3,
.theme-steel .prose h3 {
  color: var(--color-csirt);
}
.section--dark .prose blockquote,
.theme-deep-slate .prose blockquote,
.theme-steel .prose blockquote {
  color: rgba(241, 245, 249, 0.95);
  border-left-color: var(--color-primary);
}
.section--dark .prose ul,
.theme-deep-slate .prose ul,
.theme-steel .prose ul {
  color: rgba(203, 213, 225, 0.85);
}
.section--dark .prose ul li strong,
.theme-deep-slate .prose ul li strong,
.theme-steel .prose ul li strong {
  color: var(--color-fg);
}

.phase-card {
  background: rgba(23, 23, 23, 0.55) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.phase-card:hover {
  background: rgba(23, 23, 23, 0.75) !important;
  border-color: rgba(220, 38, 38, 0.40) !important;
}
.phase-card__num {

  background: var(--color-primary) !important;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 9999px;
  background: rgba(220,38,38,0.08);
  border: 1px solid rgba(220,38,38,0.18);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.section-head--center {
  text-align: center;
  align-items: center;
}
.section-head--center .section-lede {
  margin-inline: auto;
}

.metric__caption {
  margin: var(--space-2) auto 0;
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: 1.55;
  max-width: 30ch;
}

.about-cards {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
  margin-top: var(--space-8);
  list-style: none;
  padding: 0;
}
@media (min-width: 640px)  { .about-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .about-cards { grid-template-columns: repeat(3, 1fr); } }

@media (min-width: 1024px) { .about-cards--4 { grid-template-columns: repeat(4, 1fr); } }

.about-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: var(--space-3);
  padding: var(--space-6);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-fg) !important;
  font-weight: 400;
  font-size: var(--text-base);
  transition:
    transform var(--duration-normal) var(--ease-out),
    border-color var(--duration-normal) var(--ease-out),
    box-shadow var(--duration-normal) var(--ease-out);
}
.about-card:hover {
  transform: translateY(-3px);
  border-color: rgba(220,38,38,0.42);
  box-shadow:
    0 12px 32px rgba(0,0,0,0.35),
    0 0 24px rgba(220,38,38,0.20);
}
.about-card__icon-wrap {
  display: inline-flex;
  width: 48px; height: 48px;
  border-radius: var(--radius-md);
  align-items: center;
  justify-content: center;
  background: rgba(220,38,38,0.10);
  border: 1px solid rgba(220,38,38,0.22);
  color: var(--color-primary);
}
.about-card__icon-wrap svg {
  width: 24px;
  height: 24px;
  color: var(--color-primary);
  stroke: currentColor;
  fill: none;
}
.about-card__title {
  margin: 0;
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-fg) !important;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.about-card__desc {
  margin: 0;
  font-size: var(--text-base);
  font-weight: 400;
  color: var(--color-muted) !important;
  line-height: 1.6;
}

.essence-mark {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-10) 0;
  padding: var(--space-8) 0;
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
}
.essence-mark__word {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(72px, 13vw, 152px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--color-primary);
  text-shadow: 0 0 32px rgba(220,38,38,0.20);
}
.essence-mark__lang {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted-light);
}
.essence-body p {
  font-size: var(--text-lg);
  line-height: 1.7;
  color: var(--color-fg-light);
  margin-bottom: var(--space-4);
}
.essence-body p:last-child { margin-bottom: 0; }
.essence-body .essence-pull {
  font-size: clamp(24px, 3.2vw, 32px);
  font-weight: 700;
  text-align: center;
  color: var(--color-primary);
  letter-spacing: -0.01em;
  margin: var(--space-6) 0;
  line-height: 1.3;
}

.cert-strip {
  list-style: none;
  margin: var(--space-8) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3);
}
@media (min-width: 640px)  { .cert-strip { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .cert-strip { grid-template-columns: repeat(5, 1fr); } }

.cert-card {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  background: var(--color-surface-light);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  transition:
    transform var(--duration-base) var(--ease-out),
    border-color var(--duration-base) var(--ease-out),
    box-shadow var(--duration-base) var(--ease-out);
}
.cert-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.cert-card__icon {
  width: 32px; height: 32px;
  color: var(--color-primary);
  flex-shrink: 0;
}

.cert-card__badge {
  height: 44px;
  width: auto;
  flex-shrink: 0;
}
.cert-card strong {
  display: block;
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-fg-light);
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.cert-card span {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted-light);
  margin-top: 2px;
}

.alliances-image {
  margin-top: var(--space-8);
  text-align: center;
}
.alliances-image img {
  max-width: 100%;
  width: 1100px;
  height: auto;
  margin: 0 auto;
  display: block;
  filter: drop-shadow(0 12px 32px rgba(0,0,0,0.35));
}

.rfc-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
.rfc-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 9999px;
  background: rgba(220,38,38,0.08);
  border: 1px solid rgba(220,38,38,0.22);
  color: var(--color-primary) !important;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition:
    background var(--duration-normal) var(--ease-out),
    transform var(--duration-normal) var(--ease-out);
}
.rfc-chip:hover {
  background: rgba(220,38,38,0.14);
  transform: translateY(-2px);
}
.rfc-chip svg { color: var(--color-primary); flex-shrink: 0; }

.contact-section {
  position: relative;
  isolation: isolate;
}
.contact-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 40% 30% at 12% 18%, rgba(220,38,38,0.10), transparent 60%),
    radial-gradient(ellipse 50% 40% at 90% 75%, rgba(6,182,212,0.08), transparent 60%);
  pointer-events: none;
  z-index: -1;
}

.contact-grid {
  display: grid;
  gap: var(--space-8);
  grid-template-columns: 1fr;
  margin-top: var(--space-8);
  align-items: start;
}

.contact-grid > * { min-width: 0; }
.contact-info__item a,
.contact-info__item strong { overflow-wrap: anywhere; }
@media (min-width: 960px) {
  .contact-grid {
    grid-template-columns: minmax(320px, 0.85fr) 1.4fr;
    gap: var(--space-10);
  }
}

.contact-info {
  background: var(--color-surface);
  border: 1px solid var(--color-border);

  border-top: 3px solid var(--color-primary);
  border-radius: var(--radius-lg);
  padding: var(--space-7) var(--space-6);
  color: var(--color-fg) !important;
}
.contact-info__title {
  margin: 0 0 var(--space-2);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-fg) !important;
  letter-spacing: -0.01em;
}
.contact-info__lede {
  margin: 0 0 var(--space-6);
  font-size: var(--text-sm);
  color: var(--color-muted) !important;
  line-height: 1.6;
}
.contact-info__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.contact-info__item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: var(--space-3);
  align-items: start;
}
.contact-info__icon {
  color: var(--color-csirt);
  margin-top: 2px;
}
.contact-info__item strong {
  display: block;
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-fg) !important;
  line-height: 1.35;
}
.contact-info__item strong a {
  color: var(--color-fg) !important;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,0.20);
  transition: color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);
}
.contact-info__item strong a:hover {
  color: var(--color-csirt) !important;
  border-color: var(--color-csirt);
}
.contact-info__item span {
  display: block;
  margin-top: 2px;
  font-size: 12.5px;
  color: var(--color-muted) !important;
  line-height: 1.4;
}
.contact-info__countries {
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}
.contact-info__countries .eyebrow {
  display: inline-block;
  margin-bottom: var(--space-2);
}
.contact-info__countries p {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-muted) !important;
  line-height: 1.6;
}

.csirt-form {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-7) var(--space-6);
}
.form-section {
  border: none;
  padding: 0;
  margin: 0 0 var(--space-8);
}
.form-section:last-of-type { margin-bottom: var(--space-6); }
.form-section__head {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--space-5);
  padding: 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.form-section__num {
  display: inline-flex;
  width: 24px; height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(220,38,38,0.14);
  border: 1px solid rgba(220,38,38,0.30);
  color: var(--color-primary);
  font-size: 11px;
  letter-spacing: 0;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}
@media (min-width: 640px) {
  .form-row { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: var(--space-4);
}
.form-group:last-child { margin-bottom: 0; }
.form-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--color-muted) !important;
}
.form-input,
.form-select,
.form-textarea {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-fg) !important;
  background: rgba(16, 16, 16,0.45);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  width: 100%;
  outline: none;
  transition:
    border-color var(--duration-normal) var(--ease-out),
    box-shadow var(--duration-normal) var(--ease-out),
    background var(--duration-normal) var(--ease-out);
}
.form-input:hover,
.form-select:hover,
.form-textarea:hover {
  border-color: rgba(255,255,255,0.30);
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(220,38,38,0.18);
  background: rgba(16, 16, 16,0.65);
}
.form-textarea {
  resize: vertical;
  min-height: 96px;
  line-height: 1.5;
}
.form-textarea--mono {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13.5px;
  letter-spacing: 0;
}
.form-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
  padding-right: 38px;
}
.form-file {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-muted) !important;
  background: rgba(16, 16, 16,0.45);
  border: 1px dashed var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  width: 100%;
}
.form-file::file-selector-button {
  background: var(--color-primary);
  color: var(--color-fg);
  border: 0;
  padding: 8px 14px;
  border-radius: var(--radius-md);
  font-weight: 600;
  cursor: pointer;
  margin-right: 12px;
  transition: background var(--duration-normal) var(--ease-out);
}
.form-file::file-selector-button:hover { background: var(--color-primary-hover); }

.form-checkbox {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: var(--space-3);
  align-items: start;
  cursor: pointer;
  font-size: var(--text-sm);
  color: var(--color-fg) !important;
  line-height: 1.6;
}
.form-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.form-checkbox__box {
  width: 22px; height: 22px;
  border: 1px solid var(--color-border-strong);
  border-radius: 6px;
  background: rgba(16, 16, 16,0.45);
  position: relative;
  margin-top: 1px;
  transition:
    border-color var(--duration-normal) var(--ease-out),
    background var(--duration-normal) var(--ease-out);
}
.form-checkbox__box::after {
  content: '';
  position: absolute;
  left: 6px; top: 2px;
  width: 7px; height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform var(--duration-normal) var(--ease-out);
}
.form-checkbox input[type="checkbox"]:checked + .form-checkbox__box {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.form-checkbox input[type="checkbox"]:checked + .form-checkbox__box::after {
  transform: rotate(45deg) scale(1);
}
.form-checkbox input[type="checkbox"]:focus-visible + .form-checkbox__box {
  box-shadow: 0 0 0 3px rgba(220,38,38,0.30);
}
.form-checkbox__label a {
  color: var(--color-primary) !important;
  border-bottom: 1px solid currentColor;
}

.form-note {
  margin: 0 0 var(--space-5);
  font-size: 12.5px;
  font-style: italic;
  color: var(--color-muted) !important;
}
.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.page-service {  }

.page-service--csirt {
  --page-accent:           #06B6D4;
  --page-accent-tint-08:   rgba(6,182,212,0.08);
  --page-accent-tint-18:   rgba(6,182,212,0.18);
  --page-accent-tint-30:   rgba(6,182,212,0.30);
  --page-accent-tint-45:   rgba(6,182,212,0.45);
}
.page-service--ctem {
  --page-accent:           #F97316;
  --page-accent-tint-08:   rgba(249,115,22,0.08);
  --page-accent-tint-18:   rgba(249,115,22,0.18);
  --page-accent-tint-30:   rgba(249,115,22,0.30);
  --page-accent-tint-45:   rgba(249,115,22,0.45);
}
.page-service--grc {
  --page-accent:           #22C55E;
  --page-accent-tint-08:   rgba(34,197,94,0.08);
  --page-accent-tint-18:   rgba(34,197,94,0.18);
  --page-accent-tint-30:   rgba(34,197,94,0.30);
  --page-accent-tint-45:   rgba(34,197,94,0.45);
}
.page-service--zerotrust {
  --page-accent:           #A855F7;
  --page-accent-tint-08:   rgba(168,85,247,0.08);
  --page-accent-tint-18:   rgba(168,85,247,0.18);
  --page-accent-tint-30:   rgba(168,85,247,0.30);
  --page-accent-tint-45:   rgba(168,85,247,0.45);
}
.page-service--ngsoc {
  --page-accent:           #E2E8F0;
  --page-accent-tint-08:   rgba(226,232,240,0.08);
  --page-accent-tint-18:   rgba(226,232,240,0.18);
  --page-accent-tint-30:   rgba(226,232,240,0.30);
  --page-accent-tint-45:   rgba(226,232,240,0.20);
}
.page-service--asha {

  --page-accent:           #DC2626;
  --page-accent-tint-08:   rgba(220,38,38,0.08);
  --page-accent-tint-18:   rgba(220,38,38,0.18);
  --page-accent-tint-30:   rgba(220,38,38,0.30);
  --page-accent-tint-45:   rgba(220,38,38,0.45);
}

.page-service .page-hero__title .accent {
  color: var(--page-accent) !important;
}
.page-service .page-hero__eyebrow {
  color: var(--page-accent) !important;
}
.page-service .page-hero__eyebrow-dot {
  background: var(--page-accent) !important;
  box-shadow: 0 0 12px var(--page-accent-tint-45);
}
.page-service .page-hero__ticker-dot {
  background: var(--page-accent) !important;
}
.page-service .page-hero__ticker {
  color: var(--page-accent) !important;
}

.page-service .breadcrumb a:hover {
  color: var(--page-accent) !important;
}

.page-service .eyebrow {
  color: var(--page-accent) !important;
}

.service-brief {
  display: grid;
  gap: var(--space-8);
  grid-template-columns: 1fr;
  align-items: start;
}
@media (min-width: 960px) {
  .service-brief {
    grid-template-columns: 1.5fr 1fr;
    gap: var(--space-12);
  }
}
.service-brief__copy .eyebrow {
  display: inline-block;
  margin-bottom: var(--space-3);
}
.service-brief__copy .section-title {
  margin-bottom: var(--space-5);
}
.service-brief__copy p {
  color: var(--color-muted) !important;
  font-size: var(--text-lg);
  line-height: 1.7;
  margin: 0 0 var(--space-4);
}
.service-brief__copy p strong {
  color: var(--color-fg) !important;
  font-weight: 700;
}

.service-stat {
  position: relative;
  padding: var(--space-7) var(--space-6);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  isolation: isolate;
  overflow: hidden;
}
.service-stat::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(circle at 100% 0%, var(--page-accent-tint-08) 0%, transparent 60%);
  z-index: -1;
}
.service-stat__num {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(56px, 10vw, 96px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--page-accent);
  text-shadow: 0 0 24px var(--page-accent-tint-45);
  display: block;
}
.service-stat__num .unit {
  font-size: 0.55em;
  font-weight: 700;
  margin-left: 4px;
}
.service-stat__label {
  margin: var(--space-3) 0 0;
  font-size: var(--text-base);
  color: var(--color-fg) !important;
  line-height: 1.45;
  font-weight: 600;
}
.service-stat__source {
  margin: var(--space-3) 0 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--color-muted) !important;
}

.service-cards {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
  margin-top: var(--space-8);
}
@media (min-width: 640px)  { .service-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .service-cards { grid-template-columns: repeat(3, 1fr); } }

.service-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: var(--space-3);
  padding: var(--space-6);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-fg) !important;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition:
    transform var(--duration-normal) var(--ease-out),
    border-color var(--duration-normal) var(--ease-out),
    box-shadow var(--duration-normal) var(--ease-out);
}
.service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--page-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--duration-normal) var(--ease-out);
  z-index: 1;
}
.service-card:hover {
  transform: translateY(-3px);
  border-color: var(--page-accent);
  box-shadow:
    0 12px 32px rgba(0,0,0,0.35),
    0 0 24px var(--page-accent-tint-18);
}
.service-card:hover::before {
  transform: scaleX(1);
}
.service-card__icon-wrap {
  display: inline-flex;
  width: 48px; height: 48px;
  border-radius: var(--radius-md);
  align-items: center;
  justify-content: center;
  background: var(--page-accent-tint-08);
  border: 1px solid var(--page-accent-tint-18);
  color: var(--page-accent);
}
.service-card__icon-wrap svg {
  width: 24px;
  height: 24px;
  color: var(--page-accent);
  stroke: currentColor;
  fill: none;
}
.service-card__title {
  margin: 0;
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-fg) !important;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.service-card__desc {
  margin: 0;
  font-size: var(--text-base);
  font-weight: 400;
  color: var(--color-muted) !important;
  line-height: 1.6;
}

.frameworks-strip {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
  margin-top: var(--space-7);
}
@media (min-width: 640px)  { .frameworks-strip { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .frameworks-strip { grid-template-columns: repeat(4, 1fr); } }

.framework-chip {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition:
    transform var(--duration-normal) var(--ease-out),
    border-color var(--duration-normal) var(--ease-out);
}
.framework-chip:hover {
  transform: translateY(-2px);
  border-color: var(--page-accent);
}
.framework-chip svg {
  color: var(--page-accent);
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}
.framework-chip strong {
  display: block;
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-fg) !important;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.framework-chip span {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--color-muted) !important;
  margin-top: 3px;
}

.page-service .final-cta__title .accent {
  color: var(--page-accent) !important;
}

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

.legal-prose {
  max-width: 760px;
  margin: 0 auto;
  color: var(--color-fg);
}
.legal-prose h2 {
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--color-fg) !important;
  margin: var(--space-10) 0 var(--space-3);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
  line-height: 1.3;
}
.legal-prose h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.legal-prose h3 {
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-fg) !important;
  margin: var(--space-6) 0 var(--space-2);
  letter-spacing: -0.005em;
}
.legal-prose p {
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--color-muted) !important;
  margin: 0 0 var(--space-4);
  text-align: justify;
}
.legal-prose p strong {
  color: var(--color-fg) !important;
  font-weight: 700;
}
.legal-prose p em {
  font-style: italic;
  color: var(--color-fg) !important;
}
.legal-prose ul {
  list-style: none;
  padding-left: 0;
  margin: var(--space-3) 0 var(--space-5);
}
.legal-prose ul li {
  position: relative;
  padding-left: var(--space-5);
  margin-bottom: var(--space-2);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--color-muted);
}
.legal-prose ul li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.65em;
  width: 6px; height: 6px;
  background: var(--color-primary);
  border-radius: 9999px;
}
.legal-prose a {
  color: var(--color-primary);
  border-bottom: 1px dashed currentColor;
  transition: border-color var(--duration-normal) var(--ease-out);
}
.legal-prose a:hover {
  border-bottom-style: solid;
}
.legal-prose__footer {
  margin-top: var(--space-12);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--color-muted-light) !important;
  text-align: center;
}

.page-hero--legal {
  padding: clamp(96px, 11vw, 140px) 0 clamp(64px, 8vw, 96px);
  min-height: auto;
}

.process-flow {
  list-style: none;
  margin: var(--space-10) auto 0;
  padding: 0;
  max-width: 820px;
  display: grid;
  gap: var(--space-8);
  position: relative;
}
.process-flow::before {
  content: '';
  position: absolute;
  left: 32px;
  top: 40px;
  bottom: 40px;
  width: 1px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    var(--page-accent-tint-30) 6%,
    var(--page-accent-tint-30) 94%,
    transparent 100%
  );
  z-index: 0;
}
.process-step {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: var(--space-6);
  align-items: start;
  position: relative;
  z-index: 1;
}
.process-step__num {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 700;
  color: var(--page-accent);
  background: var(--color-surface);
  border: 1.5px solid var(--page-accent);
  border-radius: 50%;

  box-shadow:
    0 0 0 6px var(--color-bg),
    0 0 24px var(--page-accent-tint-30);
}
.process-step__body {
  padding-top: 12px;
  min-width: 0;
}
.process-step__title {
  margin: 0 0 var(--space-2);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: -0.01em;
}
.process-step__desc {
  margin: 0;
  font-size: var(--text-base);
  color: var(--color-muted);
  line-height: 1.55;
}
@media (max-width: 640px) {
  .process-flow::before { left: 24px; top: 32px; bottom: 32px; }
  .process-step { grid-template-columns: 48px 1fr; gap: var(--space-4); }
  .process-step__num {
    width: 48px; height: 48px; font-size: 15px;
    box-shadow: 0 0 0 4px var(--color-bg), 0 0 16px var(--page-accent-tint-30);
  }
  .process-step__body { padding-top: 8px; }
  .process-step__title { font-size: var(--text-lg); }
}

.capability-rows {
  list-style: none;
  margin: var(--space-10) 0 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--color-border);
}
.capability-row {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: var(--space-6);
  align-items: baseline;
  padding: var(--space-7) 0;
  border-bottom: 1px solid var(--color-border);
  position: relative;
  transition:
    background var(--duration-normal) var(--ease-out),
    padding-left var(--duration-normal) var(--ease-out);
}
.capability-row::before {

  content: '';
  position: absolute;
  left: 0; top: 50%;
  width: 0; height: 2px;
  background: var(--page-accent);
  transform: translateY(-50%);
  transition: width var(--duration-normal) var(--ease-out);
}
.capability-row:hover {
  background: var(--page-accent-tint-08);
  padding-left: var(--space-4);
}
.capability-row:hover::before {
  width: var(--space-3);
}
.capability-row__num {
  font-family: var(--font-mono);
  font-size: clamp(32px, 5vw, 44px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--page-accent);
  align-self: start;
  padding-top: 6px;
}
.capability-row__body {
  display: grid;
  gap: var(--space-2);
  max-width: 720px;
  min-width: 0;
}
.capability-row__title {
  margin: 0;
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: -0.015em;
  line-height: 1.2;
}
.capability-row__desc {
  margin: 0;
  font-size: var(--text-base);
  color: var(--color-muted);
  line-height: 1.55;
}
@media (max-width: 640px) {
  .capability-row {
    grid-template-columns: 56px 1fr;
    gap: var(--space-3);
    padding: var(--space-5) 0;
  }
  .capability-row__num { font-size: 28px; padding-top: 4px; }
  .capability-row__title { font-size: var(--text-xl); }
  .capability-row:hover { padding-left: var(--space-2); }
}

.stepper {
  list-style: none;
  margin: var(--space-10) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-3);
  position: relative;
}
.stepper::before {
  content: '';
  position: absolute;
  left: 8.33%;
  right: 8.33%;
  top: 28px;
  height: 1px;
  background: var(--page-accent-tint-30);
  z-index: 0;
}
.stepper__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 0 var(--space-2);
}
.stepper__num {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--color-surface);
  border: 1.5px solid var(--page-accent);
  color: var(--page-accent);
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 0 0 6px var(--color-bg);
  transition:
    transform var(--duration-normal) var(--ease-out),
    box-shadow var(--duration-normal) var(--ease-out);
}
.stepper__item:hover .stepper__num {
  transform: scale(1.08);
  box-shadow: 0 0 0 6px var(--color-bg), 0 0 24px var(--page-accent-tint-45);
}
.stepper__body {
  display: grid;
  gap: var(--space-2);
}
.stepper__title {
  margin: 0;
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.stepper__desc {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-muted);
  line-height: 1.5;
}
@media (max-width: 1024px) {
  .stepper { grid-template-columns: repeat(3, 1fr); gap: var(--space-6) var(--space-4); }
  .stepper::before { display: none; }
}
@media (max-width: 640px) {
  .stepper { grid-template-columns: 1fr; gap: var(--space-5); }
  .stepper__item {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: var(--space-4);
    padding: 0;
  }
  .stepper__num { flex-shrink: 0; }
}

.threat-feed {
  list-style: none;
  margin: var(--space-10) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}
.threat-feed__entry {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: var(--space-6);
  align-items: start;
  padding: var(--space-5) var(--space-5);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  position: relative;
  transition:
    border-color var(--duration-normal) var(--ease-out),
    background var(--duration-normal) var(--ease-out);
}
.threat-feed__entry:hover {
  border-color: var(--color-border-strong);
  background: var(--page-accent-tint-08);
}
.threat-feed__status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--page-accent);
  font-weight: 600;
  padding-top: 4px;
}
.threat-feed__status::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--page-accent);
  box-shadow: 0 0 8px var(--page-accent-tint-45);
  animation: feed-pulse 2.4s ease-in-out infinite;
}
@keyframes feed-pulse {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 1; }
}
.threat-feed__body {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
}
.threat-feed__title {
  margin: 0;
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.threat-feed__desc {
  margin: 0;
  font-size: var(--text-base);
  color: var(--color-muted);
  line-height: 1.55;
}
@media (max-width: 768px) {
  .threat-feed__entry {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    padding: var(--space-4);
  }
  .threat-feed__status { padding-top: 0; }
}

.fraud-accordion {
  list-style: none;
  margin: var(--space-10) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}
.fraud-detail {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--duration-normal) var(--ease-out);
}
.fraud-detail[open] {
  border-color: var(--page-accent);
}
.fraud-detail__summary {
  display: grid;
  grid-template-columns: 56px 1fr 24px;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-5) var(--space-6);
  cursor: pointer;
  list-style: none;
  transition: background var(--duration-normal) var(--ease-out);
}
.fraud-detail__summary::-webkit-details-marker { display: none; }
.fraud-detail__summary::marker { content: ''; }
.fraud-detail__summary:hover { background: var(--page-accent-tint-08); }
.fraud-detail__num {
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 700;
  color: var(--page-accent);
}
.fraud-detail__title {
  margin: 0;
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.fraud-detail__chevron {
  width: 20px; height: 20px;
  color: var(--page-accent);
  transition: transform var(--duration-normal) var(--ease-out);
  justify-self: end;
}
.fraud-detail[open] .fraud-detail__chevron {
  transform: rotate(180deg);
}
.fraud-detail__body {
  padding: 0 var(--space-6) var(--space-6);
  padding-left: calc(56px + var(--space-5) + var(--space-6));
  margin: 0;
  font-size: var(--text-base);
  color: var(--color-muted);
  line-height: 1.6;
}
@media (max-width: 640px) {
  .fraud-detail__summary {
    grid-template-columns: 44px 1fr 20px;
    gap: var(--space-3);
    padding: var(--space-4);
  }
  .fraud-detail__title { font-size: var(--text-base); }
  .fraud-detail__body {
    padding: 0 var(--space-4) var(--space-4);
    padding-left: calc(44px + var(--space-3) + var(--space-4));
    font-size: var(--text-sm);
  }
}

.section--dark .essence-mark {
  border-top-color: var(--color-border);
  border-bottom-color: var(--color-border);
}
.section--dark .essence-mark__lang { color: var(--color-muted); }
.section--dark .essence-body p { color: var(--color-muted); }
.section--dark .essence-body .essence-pull { color: var(--color-primary); }
.section--dark .essence-body p strong,
.section--dark .essence-body p em { color: var(--color-fg); }
.section--dark .cert-card {
  background: var(--color-surface);
  border-color: var(--color-border-strong);
}
.section--dark .cert-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.section--dark .cert-card strong { color: var(--color-fg); }
.section--dark .cert-card span { color: var(--color-muted); }

.section--dark .cert-card__badge {
  background: rgba(248, 250, 252, 0.92);
  padding: 4px 7px;
  border-radius: var(--radius-sm);
}

.aia-card {
  position: fixed;
  right: clamp(12px, 1.6vw, 22px);
  bottom: clamp(12px, 1.6vw, 22px);
  z-index: var(--z-overlay);
  width: min(340px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
  background: #fff;
  color: var(--color-fg-light);
  border: 1px solid rgba(16, 16, 16, 0.10);
  border-radius: var(--radius-md);
  box-shadow: 0 18px 50px rgba(7, 7, 7, 0.42), 0 2px 8px rgba(7, 7, 7, 0.18);

  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity 380ms var(--ease-out), transform 380ms var(--ease-out);
}
.aia-ready .aia-card { opacity: 1; transform: translateY(0); pointer-events: auto; }
.aia-min .aia-card { opacity: 0; transform: translateY(14px) scale(0.98); pointer-events: none; }

.aia-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 12px 10px 14px;
}
.aia-card__emblem { width: 52px; height: 52px; flex: 0 0 auto; margin: -2px -2px -2px -4px; }
.aia-card__ident { flex: 1; min-width: 0; }
.aia-card__name {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  color: var(--color-fg-light);
}
.aia-card__role {
  font-size: 12px;
  line-height: 1.2;
  color: var(--color-muted-light);
}
.aia-card__min {
  flex: 0 0 auto;
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-muted-light);
  cursor: pointer;
  transition: background var(--duration-fast), color var(--duration-fast);
}
.aia-card__min:hover { background: rgba(16, 16, 16, 0.06); color: var(--color-fg-light); }

.aia-card__body {
  padding: 0 14px 12px;
  max-height: 46vh;
  overflow-y: auto;
}
.aia-card__welcome {
  margin: 0 0 12px;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(16, 16, 16, 0.86);
}
.aia-card__quick { display: flex; flex-wrap: wrap; gap: 8px; }
.aia-card__pill {
  padding: 7px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(220, 38, 38, 0.45);
  background: #fff;
  color: var(--color-primary);
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--duration-fast), border-color var(--duration-fast);
}
.aia-card__pill:hover { background: rgba(220, 38, 38, 0.07); border-color: var(--color-primary); }

.aia-log { display: flex; flex-direction: column; gap: 8px; }
.aia-msg {
  max-width: 92%;
  padding: 9px 11px;
  border-radius: var(--radius-sm);
  font-size: 13.5px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.aia-msg--user {
  align-self: flex-end;
  background: var(--color-primary);
  color: #fff;
}
.aia-msg--ai {
  align-self: flex-start;
  background: rgba(16, 16, 16, 0.05);
  color: rgba(16, 16, 16, 0.92);
}
.aia-msg.is-typing { color: var(--color-muted-light); font-style: italic; }
.aia-msg__link {
  display: inline-block;
  margin-top: 5px;
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
}

.aia-card__form {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid rgba(16, 16, 16, 0.10);
}
.aia-card__input {
  flex: 1;
  min-width: 0;
  height: 38px;
  padding: 0 12px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(16, 16, 16, 0.16);
  background: #fff;
  color: var(--color-fg-light);
  font-family: var(--font-sans);
  font-size: 13.5px;
}
.aia-card__input::placeholder { color: rgba(71, 85, 105, 0.75); }
.aia-card__input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.aia-card__send {
  flex: 0 0 auto;
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  color: #fff;
  cursor: pointer;
  transition: background var(--duration-fast);
}
.aia-card__send:hover:not(:disabled) { background: var(--color-primary-hover); }
.aia-card__send:disabled { opacity: 0.55; cursor: not-allowed; }

.aia-card__fine {
  margin: 0;
  padding: 0 14px 12px;
  font-size: 10.5px;
  line-height: 1.45;
  color: var(--color-muted-light);
}
.aia-card__privacy { color: var(--color-muted-light); text-decoration: underline; }
.aia-card__privacy:hover { color: var(--color-primary); }

.aia-reopen {
  position: fixed;
  right: clamp(10px, 1.4vw, 18px);
  bottom: clamp(10px, 1.4vw, 18px);
  z-index: var(--z-overlay);
  width: 92px; height: 92px;
  display: grid; place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms var(--ease-out), transform var(--duration-fast) var(--ease-out);
}
.aia-min.aia-ready .aia-reopen { opacity: 1; pointer-events: auto; }
.aia-reopen:hover { transform: translateY(-2px); }
.aia-reopen__emblem { width: 100%; height: 100%; }

.aia-live { width: 100%; height: 100%; }

@media (max-width: 700px) {

  .aia-card {
    left: clamp(12px, 1.6vw, 22px);
    width: auto;
  }
  .aia-card__body { max-height: 38vh; }
}
@media print {
  .aia-card, .aia-reopen { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .aia-card, .aia-reopen { transition: none; }
}

.trustband {
  background: var(--color-bg-light);
  padding: clamp(20px, 2.6vw, 34px) 0;
}

@media (max-width: 760px) {
  .trustband { padding: 30px 0; }

}

.trustband .marquee__track {
  animation-duration: 85s;
  align-items: center;
  gap: clamp(30px, 4.2vw, 68px);
}
.trustband__row { list-style: none; margin: 0; padding: 0; }
.trustband__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trustband__item img {
  height: clamp(24px, 2.7vw, 38px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(100%);

  opacity: 0.72;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.trustband__item--wide img { height: clamp(19px, 2.1vw, 30px); }
.trustband__item--sq   img { height: clamp(32px, 3.7vw, 50px); }
.trustband__item:hover img { opacity: 1; }

.hero__trust-line {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.72);
}
.hero__trust-seals {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 8px 15px;
  border-radius: var(--radius-md);
  background: var(--color-bg-light);
  border: 1px solid rgba(248, 250, 252, 0.18);
}
.hero__trust-seals .hero__trust-badge {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}
.hero__trust-seals .hero__trust-badge img { height: 34px; }

.hero__trust-badge--seal img { height: 34px !important; }
.hero__trust-badge--mid  img { height: 30px !important; }
.hero__trust-badge--wide img { height: 22px !important; }
.hero__trust-badge img { width: auto; }

.hero__trust-sep {
  width: 1px;
  align-self: stretch;
  margin: 2px 4px;
  background: rgba(16, 16, 16, 0.16);
}
@media (max-width: 700px) {
  .hero__trust-seals { flex-wrap: wrap; gap: 12px; }
  .hero__trust-sep { display: none; }
}

.frameworks__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: clamp(24px, 3.2vw, 52px);
  margin-bottom: var(--space-6);
}
.framework-logo img {
  height: 26px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.7;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.framework-logo--wide img { height: 21px; }
.framework-logo--tall img { height: 30px; }
.framework-logo:hover img { opacity: 1; }

.hero__trust--inline {
  padding-top: 0;
  border-top: 0;
  margin-inline: 0;

  margin-bottom: var(--space-6);
  justify-content: flex-start;
  max-width: none;
}

@media (min-width: 1024px) and (max-height: 830px) {
  .hero { padding-top: 44px !important; padding-bottom: 14px !important; }
}

@media (max-width: 900px) {
  .hero__bg-img {
    object-position: 68% center;

    opacity: 0.3;
  }
}

.section-head--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-8);
  text-align: left;
  max-width: none;
  margin: 0 0 var(--space-12);
}
.section-head--split .section-lede {
  max-width: 640px;
  margin-left: 0;
}

.section-title .accent { color: var(--color-primary); }
.section-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;

  margin-bottom: 6px;
  font-weight: 700;
  font-size: var(--text-base);
  color: var(--color-fg);
  text-decoration: none;
  white-space: nowrap;
}
.section-cta .icon {
  width: 20px; height: 20px;
  transition: transform var(--duration-normal) var(--ease-out);
}
.section-cta:hover { color: var(--color-primary); }
.section-cta:hover .icon { transform: translateX(4px); }
@media (max-width: 900px) {

  .section-head--split { flex-direction: column; align-items: flex-start; }
  .section-cta { margin-bottom: 0; }
}

.how-stats {

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(20px, 4vw, 72px);
  margin-top: clamp(48px, 5vw, 72px);
  padding-top: clamp(32px, 3.4vw, 48px);
  border-top: 1px solid var(--color-border);
}
.how-stats__label {

  flex-basis: 100%;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0;
  text-align: center;
}
.ring-stat { text-align: center; flex: 0 1 auto; }

.ring-stat { transition: --fill 1600ms var(--ease-out); }
@media (prefers-reduced-motion: reduce) {
  .ring-stat { transition: none; }
}
.ring-stat__dial-wrap {
  position: relative;
  display: block;
  width: clamp(104px, 7.4vw, 128px);
  aspect-ratio: 1;
  margin: 0 auto var(--space-3);
}

.ring-stat__dial {
  position: absolute; inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 220deg,
    var(--color-primary) calc(var(--fill, 100) * 1%),
    rgba(248, 250, 252, 0.16) 0);

  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 11px), #000 calc(100% - 10px));
          mask: radial-gradient(closest-side, transparent calc(100% - 11px), #000 calc(100% - 10px));
}
.ring-stat__num {
  position: absolute; inset: 0;
  display: flex;

  flex-wrap: wrap;
  align-content: center;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  line-height: 1;
  color: var(--color-fg);
}
.ring-stat__val {
  font-weight: 800;

  font-size: clamp(23px, 1.8vw, 30px);
  letter-spacing: -0.02em;
}

.ring-stat__unit {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  color: var(--color-muted);
}
.ring-stat__sub {
  color: var(--color-primary);
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0;
}
.ring-stat__cap {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-muted);
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 560px) {
  .how-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .how-stats__label { grid-column: 1 / -1; }
  .ring-stat__dial-wrap { width: min(88px, 100%); }

  .ring-stat__dial {
    -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 9px), #000 calc(100% - 8px));
            mask: radial-gradient(closest-side, transparent calc(100% - 9px), #000 calc(100% - 8px));
  }
  .ring-stat__val { font-size: 21px; }
  .ring-stat__unit { font-size: 10px; }
  .ring-stat__sub { font-size: 13px; }
}

.how__head {
  max-width: 860px;
  margin: 0 auto var(--space-10);
  text-align: center;
}
.how__title {
  font-family: var(--font-sans);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;

  margin: var(--space-3) 0 0;
  color: var(--color-fg);
}
.how__title .accent { color: var(--color-primary); font-weight: 800; }

.how__body {
  display: grid;
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
  position: relative;
  z-index: 3;
}
@media (min-width: 1024px) {
  .how__body { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
}
.how__visual { min-width: 0; }

.how__copy { min-width: 0; }

.how__copy .scene-hacked__lede {
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.55;
}
.how__copy .promises--scene .promise {
  font-size: clamp(15px, 1.2vw, 19px);
  line-height: 1.45;
  padding: clamp(16px, 1.5vw, 22px) clamp(18px, 1.6vw, 24px);
  gap: clamp(12px, 1.1vw, 16px);
}
.how__copy .promises--scene .promise .icon {
  width: clamp(22px, 1.7vw, 26px);
  height: clamp(22px, 1.7vw, 26px);
}
.how__copy .promises--scene { gap: clamp(12px, 1.2vw, 18px); }
.how__copy .scene-hacked__lede:first-child { margin-top: 0; }
.promises--scene { margin-top: var(--space-7); }

.problema__head { max-width: 880px; }

.symptoms {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2vw, 32px) clamp(24px, 2.4vw, 44px);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 1100px) {
  .symptoms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .symptoms { grid-template-columns: minmax(0, 1fr); }
}

.symptom {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: clamp(12px, 1.2vw, 18px);
  padding: clamp(4px, 0.6vw, 8px) 0 clamp(4px, 0.6vw, 8px) clamp(16px, 1.6vw, 24px);
  border-left: 2px solid rgba(220, 38, 38, 0.28);
  transition: border-color var(--duration-normal) var(--ease-out);
}
.symptom:hover { border-left-color: var(--color-primary); }

.symptom__idx {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: rgba(220, 38, 38, 0.75);

  padding-top: 0.28em;
}

.symptom__text {
  margin: 0;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.5;
  color: var(--color-muted);
}

.problema__turn {
  margin-top: clamp(56px, 6vw, 96px);
  padding-top: clamp(28px, 3vw, 44px);
  border-top: 1px solid var(--color-border);
  text-align: center;
}
.problema__turn-label {
  margin: 0 0 clamp(12px, 1.2vw, 18px);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.problema__turn-prompt { color: var(--color-primary); margin-right: 0.4em; }
.problema__turn-text {
  margin: 0;
  font-size: clamp(var(--text-3xl), 4.4vw, 64px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.defense-system__head { max-width: 900px; }

.layers {
  position: relative;
  --layers-rail: clamp(26px, 2.4vw, 34px);
}

.layers::before {
  content: '';
  position: absolute;
  left: var(--layers-rail);
  top: clamp(22px, 2vw, 30px);
  bottom: clamp(22px, 2vw, 30px);
  width: 1px;
  background: linear-gradient(
    to bottom,
    rgba(220, 38, 38, 0.5),
    rgba(255, 255, 255, 0.14) 22%,
    rgba(255, 255, 255, 0.14) 78%,
    rgba(220, 38, 38, 0.5)
  );
  pointer-events: none;
}

.layer {
  position: relative;
  display: grid;
  grid-template-columns: calc(var(--layers-rail) * 2) minmax(0, 1fr);
  align-items: center;
  gap: clamp(12px, 1.4vw, 20px);
  padding: clamp(14px, 1.5vw, 20px) clamp(16px, 1.6vw, 24px) clamp(14px, 1.5vw, 20px) 0;
}
.layer + .layer { margin-top: clamp(6px, 0.7vw, 10px); }

.layer__idx {
  position: relative;
  z-index: 1;
  justify-self: center;
  padding: 6px 0;
  background: var(--color-bg);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-muted);
  text-align: center;
}

.layer__body { min-width: 0; }
.layer__name {
  margin: 0;
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.layer__note {
  margin: 4px 0 0;
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.5;
  color: var(--color-muted);
}
.layer__label {
  margin: 0 0 clamp(12px, 1.2vw, 16px);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-muted);
}

.layer--crown,
.layer--outcome,
.layer--command { padding-block: 0; }
.layer--crown .layer__body,
.layer--outcome .layer__body,
.layer--command .layer__body {
  border-radius: var(--radius-md);
  padding: clamp(13px, 1.4vw, 19px) clamp(18px, 1.8vw, 26px);
}
.layer--crown .layer__body,
.layer--outcome .layer__body {
  border: 1px solid var(--color-border-strong);
  background: rgba(255, 255, 255, 0.02);
}
.layer--crown .layer__name { font-size: clamp(19px, 1.8vw, 26px); }
.layer--crown .layer__idx { color: rgba(248, 250, 252, 0.72); }

.layer--outcome .layer__body {
  border-color: rgba(220, 38, 38, 0.45);
  background: rgba(220, 38, 38, 0.05);
}
.layer--outcome .layer__name { color: var(--color-primary); }
.layer--outcome .layer__idx { color: var(--color-primary); }

.layer--command .layer__body {
  background: linear-gradient(90deg, rgba(220, 38, 38, 0.12), transparent 72%);
}
.layer--command .layer__name { color: var(--color-primary); }
.layer--command .layer__idx { color: var(--color-primary); }

.layer--base { padding-block: clamp(10px, 1.1vw, 14px); }
.layer--base .layer__name {
  font-size: clamp(15px, 1.25vw, 18px);
  font-weight: 600;
  color: rgba(248, 250, 252, 0.88);
}

.fronts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(8px, 0.9vw, 14px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.front {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: clamp(10px, 1.1vw, 15px) clamp(10px, 1.1vw, 16px);
  border: 1px solid var(--color-border);
  border-top: 2px solid var(--persona, var(--color-muted));
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  transition: border-color var(--duration-normal) var(--ease-out),
              transform var(--duration-normal) var(--ease-out);
}
.front:hover {
  transform: translateY(-2px);
  border-color: var(--persona, var(--color-border-strong));
}
.front__name {
  font-size: clamp(13px, 1.1vw, 16px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--persona, var(--color-fg));
}
.front__verb {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-muted);
}

.front[data-persona="ctem"]      { --persona: var(--color-ctem); }
.front[data-persona="ngsoc"]     { --persona: var(--color-ngsoc); }
.front[data-persona="csirt"]     { --persona: var(--color-csirt); }
.front[data-persona="zerotrust"] { --persona: var(--color-zerotrust); }
.front[data-persona="grc"]       { --persona: var(--color-grc); }

@media (max-width: 900px) {
  .fronts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .fronts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layers { --layers-rail: 22px; }
  .layer { gap: 10px; }
}

.practice--command {
  display: grid;
  grid-template-columns: clamp(190px, 21vw, 300px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 2.2vw, 40px);
  margin-bottom: clamp(14px, 1.6vw, 24px);
  border-color: rgba(220, 38, 38, 0.35);
}
.practice--command:hover { border-color: var(--color-primary); }
.practice--command .practice__hero {
  height: clamp(210px, 23vw, 300px);
  margin: 0;
}
.practice__command-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(8px, 0.9vw, 14px);
  min-width: 0;
}
.practice__rank {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.practice--command .practice__title {
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.15;
}
.practice--command .practice__desc {
  max-width: 62ch;
  font-size: clamp(14px, 1.1vw, 17px);
}
.practice--command .practice__chips { justify-content: flex-start; }

@media (max-width: 719px) {
  .practice--command {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
  .practice--command .practice__hero { height: 240px; }
}

@media (min-width: 860px) and (max-width: 1099px) {
  .practices__grid--fronts { grid-template-columns: repeat(3, 1fr); }
}

.operacion__head { max-width: 840px; }

.caps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 40px);
  margin: 0 0 clamp(48px, 5vw, 80px);
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) { .caps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px)  { .caps { grid-template-columns: minmax(0, 1fr); } }

.cap {
  padding-top: clamp(14px, 1.4vw, 20px);
  border-top: 1px solid var(--color-border-strong);
}
.cap__idx {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--color-primary);
}
.cap__title {
  margin: clamp(8px, 0.9vw, 12px) 0 clamp(6px, 0.7vw, 10px);
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.cap__text {
  margin: 0;
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.55;
  color: var(--color-muted);
}

.flow__label {
  margin: 0 0 clamp(18px, 1.8vw, 26px);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.flow__prompt { color: var(--color-primary); margin-right: 0.4em; }

.flow__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 16px);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.flow__steps::before {
  content: '';
  position: absolute;
  top: 5px;
  left: calc(100% / 12);
  right: calc(100% / 12);
  height: 1px;
  background: linear-gradient(90deg,
    var(--color-primary),
    rgba(255, 255, 255, 0.16) 30%,
    rgba(255, 255, 255, 0.16) 70%,
    var(--color-primary));
}
.flow__step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 1vw, 16px);
  font-size: clamp(13px, 1.05vw, 16px);
  font-weight: 600;
  text-align: center;
  color: var(--color-fg);
}
.flow__dot {
  width: 11px;
  height: 11px;
  border-radius: var(--radius-full);
  background: var(--color-bg);
  border: 2px solid var(--color-primary);
}

.flow__step:not(:first-child):not(:last-child) .flow__dot {
  border-color: rgba(255, 255, 255, 0.28);
}

@media (max-width: 900px) {
  .flow__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(14px, 2vw, 20px);
  }
  .flow__steps::before {
    top: 6px;
    bottom: 6px;
    left: 5px;
    right: auto;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg,
      var(--color-primary),
      rgba(255, 255, 255, 0.16) 30%,
      rgba(255, 255, 255, 0.16) 70%,
      var(--color-primary));
  }
  .flow__step {
    flex-direction: row;
    align-items: center;
    gap: clamp(14px, 2vw, 20px);
    text-align: left;
  }
}

.needs__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.4vw, 22px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) { .needs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px)  { .needs__grid { grid-template-columns: minmax(0, 1fr); } }

.need { display: flex; }
.need__link {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 0.9vw, 12px);
  width: 100%;
  padding: clamp(20px, 2vw, 30px) clamp(20px, 2vw, 28px);
  border: 1px solid var(--color-border);
  border-top: 2px solid var(--persona, var(--color-primary));
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--duration-normal) var(--ease-out),
              transform var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out);
}
.need__link:hover {
  transform: translateY(-3px);
  border-color: var(--persona, var(--color-primary));
  background: var(--color-surface-elev);
}
.need__method {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--persona, var(--color-primary));
}
.need__title {
  margin: 0;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.need__text {
  margin: 0;
  flex: 1;
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.55;
  color: var(--color-muted);
}
.need__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: clamp(6px, 0.7vw, 10px);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 600;
  color: var(--color-fg);
}
.need__cta .icon {
  width: 16px;
  height: 16px;
  transition: transform var(--duration-fast) var(--ease-out);
}
.need__link:hover .need__cta { color: var(--persona, var(--color-primary)); }
.need__link:hover .need__cta .icon { transform: translateX(3px); }

.need[data-persona="ngsoc"]     { --persona: var(--color-ngsoc); }
.need[data-persona="ctem"]      { --persona: var(--color-ctem); }
.need[data-persona="csirt"]     { --persona: var(--color-csirt); }
.need[data-persona="zerotrust"] { --persona: var(--color-zerotrust); }
.need[data-persona="grc"]       { --persona: var(--color-grc); }
.need[data-persona="asha"]      { --persona: var(--color-primary); }

.hero__support {
  max-width: 58ch;
  margin: clamp(10px, 1vw, 16px) 0 0;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.55;
  color: var(--color-muted);
}

@media (min-width: 1400px) {
  .symptoms { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.subnav {
  position: sticky;
  top: var(--header-h);

  z-index: 90;
  background: rgba(16, 16, 16, 0.94);
  backdrop-filter: saturate(160%) blur(12px);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--color-border);

  height: var(--subnav-h);
}
.subnav__inner {
  position: relative;
  height: 100%;
}

.subnav__track {
  height: 100%;
  display: flex;
  align-items: stretch;
  gap: clamp(2px, 0.6vw, 10px);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;

  scroll-behavior: smooth;
}
.subnav__track::-webkit-scrollbar { display: none; }

.subnav__item { flex: 0 0 auto; scroll-snap-align: center; }

.subnav__link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;

  padding-inline: clamp(8px, 1vw, 16px);
  color: var(--color-muted);
  font-size: clamp(12px, 0.85vw, 13.5px);
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color var(--duration-fast) var(--ease-out);
}
.subnav__link .icon {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
  color: var(--color-muted);
  opacity: 0.75;
  transition: color var(--duration-fast) var(--ease-out),
              opacity var(--duration-fast) var(--ease-out);
}

.subnav__role {
  font: 600 10px/1 var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted);
  opacity: 0.55;
  padding-left: 8px;
  margin-left: 2px;
  border-left: 1px solid var(--color-border-strong);
}

.subnav__link::after {
  content: '';
  position: absolute;
  left: clamp(8px, 1vw, 16px);
  right: clamp(8px, 1vw, 16px);
  bottom: 0;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--persona, var(--color-primary));
  transform: scaleX(0);
  transform-origin: 50% 100%;
  transition: transform var(--duration-normal) var(--ease-out);
}
.subnav__link:hover { color: var(--color-fg); }
.subnav__link:hover .icon { opacity: 1; color: var(--persona-lift, var(--persona)); }
.subnav__link:hover::after { transform: scaleX(0.4); }

.subnav__link.is-active {
  color: var(--color-fg);
  font-weight: 700;
}
.subnav__link.is-active .icon {
  color: var(--persona-lift, var(--persona));
  opacity: 1;

  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--persona-lift, var(--persona)) 45%, transparent));
}
.subnav__link.is-active::after { transform: scaleX(1); }
.subnav__link.is-active .subnav__role {
  color: var(--persona-lift, var(--persona));
  opacity: 0.9;
}
.subnav__link:focus-visible {
  outline: 2px solid var(--persona-lift, var(--color-ring));
  outline-offset: -3px;
  border-radius: 4px;
}

.subnav__inner::before,
.subnav__inner::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40px;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-out);
  z-index: 2;
}
.subnav__inner::before {
  left: 0;
  background: linear-gradient(90deg, rgba(16, 16, 16,0.98) 0%, rgba(16, 16, 16,0) 100%);
}
.subnav__inner::after {
  right: 0;
  background: linear-gradient(270deg, rgba(16, 16, 16,0.98) 0%, rgba(16, 16, 16,0) 100%);
}
.subnav.has-scroll-start .subnav__inner::before { opacity: 1; }
.subnav.has-scroll-end   .subnav__inner::after  { opacity: 1; }

@media (min-width: 1180px) {
  .subnav__track { justify-content: center; overflow-x: visible; }
}

@media (max-width: 1319px) {
  .subnav__role { display: none; }
}

@media (max-width: 420px) {
  .subnav__link { gap: 6px; padding-inline: 10px; }
  .subnav__link .icon { width: 15px; height: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .subnav__track { scroll-behavior: auto; }
  .subnav__link::after { transition: none; }
}

.method,
#liga-deep-title,
#acreditaciones,
#acompanamiento,
#contacto {
  scroll-margin-top: calc(var(--header-h) + var(--subnav-h) + 12px);
}

main > section[id] {
  scroll-margin-top: calc(var(--header-h) + var(--subnav-h, 0px));
}

.method {
  position: relative;
  isolation: isolate;
  background: var(--band-bg);
  color: var(--band-fg);
  padding-block: clamp(56px, 7vw, 104px);
  overflow: clip;
}

.method--dark {
  --band-bg: var(--color-bg);
  --band-fg: var(--color-fg);
  --band-muted: var(--color-muted);
  --band-rule: rgba(255, 255, 255, 0.12);
  --band-rule-soft: rgba(255, 255, 255, 0.07);
  --ink: var(--persona-lift);

  --plate-bg: var(--color-bg-light);
  --plate-fg: var(--color-fg-light);
  --plate-muted: var(--color-muted-light);
  --plate-rule: rgba(16, 16, 16, 0.12);
  --plate-ink: var(--persona-ink);
}

.method--light {
  --band-bg: var(--color-bg-light);
  --band-fg: var(--color-fg-light);
  --band-muted: var(--color-muted-light);
  --band-rule: var(--color-border-light);
  --band-rule-soft: rgba(16, 16, 16, 0.08);
  --ink: var(--persona-ink);
  --plate-bg: var(--color-bg);
  --plate-fg: var(--color-fg);
  --plate-muted: var(--color-muted);
  --plate-rule: rgba(255, 255, 255, 0.12);
  --plate-ink: var(--persona-lift);
}

.method[data-persona="asha"],      .subnav__link[data-persona="asha"]      { --persona: var(--color-primary);   --persona-ink: var(--color-primary-ink);   --persona-lift: var(--color-primary-lift); --persona-on: var(--color-fg); }
.method[data-persona="ctem"],      .subnav__link[data-persona="ctem"]      { --persona: var(--color-ctem);      --persona-ink: var(--color-ctem-ink);      --persona-lift: var(--color-ctem);      --persona-on: var(--color-fg-light); }
.method[data-persona="ngsoc"],     .subnav__link[data-persona="ngsoc"]     { --persona: var(--color-ngsoc);     --persona-ink: var(--color-ngsoc-ink);     --persona-lift: var(--color-ngsoc);     --persona-on: var(--color-fg-light); }
.method[data-persona="csirt"],     .subnav__link[data-persona="csirt"]     { --persona: var(--color-csirt);     --persona-ink: var(--color-csirt-ink);     --persona-lift: var(--color-csirt);     --persona-on: var(--color-fg-light); }
.method[data-persona="zerotrust"], .subnav__link[data-persona="zerotrust"] { --persona: var(--color-zerotrust); --persona-ink: var(--color-zerotrust-ink); --persona-lift: var(--color-zerotrust); --persona-on: var(--color-fg-light); }
.method[data-persona="grc"],       .subnav__link[data-persona="grc"]       { --persona: var(--color-grc);       --persona-ink: var(--color-grc-ink);       --persona-lift: var(--color-grc);       --persona-on: var(--color-fg-light); }

.method::before {
  content: '';
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 4px;
  background: var(--persona);
  z-index: 2;
}
.method--dark::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: -8%;
  width: min(50vw, 720px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at center,
              color-mix(in srgb, var(--persona) 18%, transparent) 0%,
              transparent 66%);
  pointer-events: none;
  opacity: 0.8;
}
.method--dark.method--media-start::after { left: -14vw; }
.method--dark.method--media-end::after   { right: -14vw; }

.method > .container { position: relative; z-index: 1; }

.method__head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  gap: clamp(16px, 2.5vw, 32px);
  padding-bottom: clamp(16px, 2vw, 24px);
  border-bottom: 2px solid var(--persona);
  margin-bottom: clamp(32px, 4vw, 56px);
}

.method__index {
  display: grid;
  place-items: center;
  min-width: clamp(64px, 8vw, 108px);
  padding: clamp(10px, 1.2vw, 18px) clamp(12px, 1.4vw, 20px);
  border-radius: var(--radius-md);
  background: var(--persona);
  color: var(--persona-on);
  font: 800 clamp(30px, 4vw, 54px)/0.9 var(--font-mono);
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
  align-self: end;
}
.method__head-text { min-width: 0; }

.method__role {
  margin: 0 0 clamp(6px, 0.8vw, 12px);
  font: 700 clamp(10px, 0.8vw, 12px)/1.2 var(--font-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
}
.method__name {
  margin: 0;
  font-size: clamp(30px, 5.2vw, 68px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  color: var(--band-fg);
  overflow-wrap: break-word;
}

.method__body {
  display: grid;
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}
@media (min-width: 920px) {
  .method__body {

    grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr);

    align-items: center;
  }

  .method--media-end .method__body {
    grid-template-columns: minmax(0, 1.28fr) minmax(230px, 0.72fr);
  }
  .method--media-end .method__media   { grid-column: 2; grid-row: 1; }
  .method--media-end .method__content { grid-column: 1; grid-row: 1; }
}

.method__media {
  position: relative;
  margin: 0;

}
.method__media img {
  width: 100%;
  max-width: 380px;
  height: auto;
  display: block;
  margin-inline: auto;
}

.method--dark .method__media::before {
  content: '';
  position: absolute;
  inset: 4% 2% 6%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(58% 52% at 50% 58%,
              color-mix(in srgb, var(--persona) 55%, transparent) 0%,
              transparent 70%);
  filter: blur(38px);
  pointer-events: none;
}

.method__media::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 2%;
  translate: -50% 0;
  width: 58%;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center,
              color-mix(in srgb, var(--persona) 42%, transparent) 0%,
              transparent 72%);
  filter: blur(7px);
  pointer-events: none;
}

.method__content { min-width: 0; }

.method__desc {
  margin: 0 0 clamp(20px, 2.4vw, 28px);
  max-width: 62ch;
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.6;
  color: var(--band-muted);
}

.method__points {
  margin: 0 0 clamp(24px, 3vw, 36px);
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
  max-width: 68ch;
}
.method__points li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
  font-size: clamp(14.5px, 1vw, 16px);
  line-height: 1.55;
  color: var(--band-fg);
}
.method__points .icon {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  color: var(--ink);
}

.method__proof {
  background: var(--plate-bg);
  color: var(--plate-fg);
  border: 1px solid var(--plate-rule);
  border-radius: var(--radius-lg);
  padding: clamp(20px, 2.2vw, 28px);
  box-shadow: var(--shadow-md);
}
.method--light .method__proof { box-shadow: var(--shadow-lg); }

.method__proof-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--plate-rule);
}

.method__proof-figure {
  font: 800 clamp(30px, 3.2vw, 44px)/0.85 var(--font-mono);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--plate-ink);
  margin: 0;
}
.method__proof-label {
  flex: 0 1 auto;
  max-width: 13ch;
  font: 700 10.5px/1.35 var(--font-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--plate-muted);
  margin: 0;
}

.method__proof .method__chips {
  margin: 0 0 0 auto;
  justify-content: flex-end;
}
.method__proof .method__chip {
  border-color: color-mix(in srgb, var(--plate-ink) 40%, var(--plate-rule));
  color: var(--plate-fg);
  background: color-mix(in srgb, var(--plate-ink) 8%, transparent);
}
@media (max-width: 640px) {
  .method__proof .method__chips { margin-left: 0; justify-content: flex-start; }
  .method__proof-label { max-width: none; }
}

.method__services {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.method__service {
  display: grid;
  grid-template-columns: minmax(120px, 172px) 1fr;
  gap: 6px 20px;
  align-items: baseline;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--plate-rule);
}
.method__service:last-child { border-bottom: 0; padding-bottom: 0; }
.method__service dt {
  margin: 0;
  font: 700 11.5px/1.35 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--plate-ink);
}
.method__service dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--plate-muted);
}
@media (max-width: 720px) {
  .method__service { grid-template-columns: 1fr; gap: 4px; }
}

.method__disclose { margin-top: 4px; }
.method__disclose-toggle {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: var(--radius-full);

  border: 1px solid color-mix(in srgb, var(--plate-ink) 80%, transparent);

  background: transparent;
  color: var(--plate-ink);
  font: 700 11.5px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  user-select: none;
  transition: background var(--duration-normal) var(--ease-out),
              border-color var(--duration-normal) var(--ease-out);
}
.method__disclose-toggle::-webkit-details-marker,
.method__disclose-toggle::marker { display: none; content: ''; }
.method__disclose-toggle:hover {

  background: transparent;
  border-color: var(--plate-ink);
}
.method__disclose-toggle:focus-visible {
  outline: 2px solid var(--plate-ink);
  outline-offset: 3px;
}
.method__disclose-chevron {
  width: 12px; height: 12px;
  flex-shrink: 0;
  transition: transform var(--duration-normal) var(--ease-out);
}
.method__disclose[open] > .method__disclose-toggle .method__disclose-chevron {
  transform: rotate(90deg);
}
.method__disclose-panel { padding-top: 18px; }
@media (prefers-reduced-motion: reduce) {
  .method__disclose-chevron { transition: none; }
}

.method__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: clamp(20px, 2.4vw, 28px);
}
.method__chip {
  font: 600 11.5px/1 var(--font-sans);
  letter-spacing: 0.05em;
  padding: 8px 13px;
  border-radius: var(--radius-full);
  border: 1px solid color-mix(in srgb, var(--ink) 42%, var(--band-rule));
  color: var(--band-fg);
  background: color-mix(in srgb, var(--persona) 8%, transparent);
}

.method__body > *,
.method__index,
.method__head-text {
  transition: transform 620ms var(--ease-out);
}
.method.is-pending .method__media   { transform: translateY(26px); }
.method.is-pending .method__content { transform: translateY(26px); }
.method.is-pending .method__head-text { transform: translateY(14px); }

.method.is-pending .method__index { transform: translateY(14px); }
.method.is-pending .method__content { transition-delay: 90ms; }
@media (prefers-reduced-motion: reduce) {
  .method__body > *, .method__index, .method__head-text { transition: none; }
  .method.is-pending .method__media,
  .method.is-pending .method__content,
  .method.is-pending .method__index,
  .method.is-pending .method__head-text { transform: none; }
}

@media (max-width: 919px) {

  .method__media img { max-width: min(300px, 62vw); }
  .method__head { grid-template-columns: 1fr; gap: 12px; align-items: start; }

  .method__index {
    justify-self: start;
    min-width: 72px;
    font-size: clamp(30px, 8vw, 44px);
  }
}
@media (max-width: 560px) {
  .method__media img { max-width: min(240px, 66vw); }
  .method__proof { padding: 18px 16px; border-radius: var(--radius-md); }
  .method__chips { gap: 6px; }
  .method__chip { font-size: 11px; padding: 7px 11px; }
}

@media (max-width: 700px) {
  .method::after { width: 120vw; left: -10vw; right: auto; top: -6%; opacity: 0.4; }
}

.liga-intro { padding-bottom: clamp(32px, 4vw, 56px); }

main > section[data-sol="0"],
main > section.section[data-sol="0"] { background-color: var(--sol-0); }

main > section[data-sol="1"],
main > section.section[data-sol="1"] { background-color: var(--sol-1); }

main > section[data-sol="2"],
main > section.section[data-sol="2"] { background-color: var(--sol-2); }

main > section[data-sol="clair"] { background-color: var(--sol-clair); }

main > section[data-sol="2"] { --color-muted: var(--color-muted-lift); }

main > section[data-sol="1"] > .container .eyebrow,
main > section[data-sol="2"] > .container .eyebrow {
  color: var(--color-fg);
  background: var(--color-primary);
  padding: 5px 12px 4px;
  border-radius: var(--radius-full);

  font-size: var(--text-xs);
}

main > section[data-sol="1"] .section-title .accent,
main > section[data-sol="1"] .section-title .accent .split-word {
  color: var(--color-primary);
}

main > section[data-sol="2"] .section-title .accent {

  color: var(--color-primary);
}

main > section[data-sol] .destacados__panel {
  background: var(--sol-1);
  border-color: var(--color-border-strong);
}
.destacado { padding-top: calc(var(--space-7) + 3px); }

.destacado::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--color-primary);
}
.destacado:hover { background: rgba(220, 38, 38, 0.10); }

.destacado__kicker {

  align-self: flex-start;
  color: var(--color-fg);
  background: var(--color-primary);
  padding: 4px 10px 3px;
  border-radius: var(--radius-full);
  font-size: 13px;
  letter-spacing: 0.10em;
}

.destacado__arrow {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-fg);
  font-size: var(--text-base);
  line-height: 1;
}

#problema .symptom__idx {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  padding: 3px 5px;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  color: var(--color-fg);
  font-weight: 700;

  padding-top: 3px;
}
#problema .symptom { border-left-color: rgba(220, 38, 38, 0.45); }

#problema .problema__turn-prompt { color: var(--color-danger-soft); }

main > section[data-sol="1"] .front {
  background: var(--persona);
  border-color: var(--persona);
  border-top-width: 1px;
}
main > section[data-sol="1"] .front__name,
main > section[data-sol="1"] .front__verb {
  color: var(--color-fg-light);
}
main > section[data-sol="1"] .front__verb { opacity: 0.78; }
main > section[data-sol="1"] .front:hover {
  transform: translateY(-2px);
  border-color: var(--color-fg);
}

main > section[data-sol="1"] .layer--command .layer__name,
main > section[data-sol="1"] .layer--outcome .layer__name { color: var(--color-fg); }
main > section[data-sol="1"] .layer--command .layer__idx,
main > section[data-sol="1"] .layer__idx {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  padding: 2px 4px;
  border-radius: var(--radius-sm);
  background: rgba(248, 250, 252, 0.10);
  color: var(--color-fg);
}
main > section[data-sol="1"] .layer--command .layer__idx {
  background: var(--color-primary);
  color: var(--color-fg);
}

.operacion__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
  margin-bottom: clamp(48px, 5vw, 80px);
}
@media (min-width: 1024px) {
  .operacion__split {

    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
  }
}
.operacion__split > .operacion__head {
  max-width: 520px;
  margin-bottom: 0;
  text-align: left;
}
.operacion__split .caps { margin-bottom: 0; }

main > section[data-sol="2"] .caps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 20px);
}
@media (max-width: 620px) {

  main > section[data-sol="2"] .caps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
  main > section[data-sol="2"] .caps { grid-template-columns: minmax(0, 1fr); }
}

main > section[data-sol="2"] .cap {
  padding: clamp(18px, 1.8vw, 26px) clamp(18px, 1.8vw, 24px);
  border-top: 0;
  border-radius: var(--radius-md);

  background: linear-gradient(150deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
  color: var(--color-fg);
}
main > section[data-sol="2"] .cap__idx {
  color: var(--color-fg);
  opacity: 0.72;
}
main > section[data-sol="2"] .cap__title { color: var(--color-fg); }

main > section[data-sol="2"] .cap__text { color: var(--color-fg); }

main > section[data-sol="2"] .flow__prompt { color: var(--color-danger-soft); }

#soluciones .need__link {
  background: var(--persona);
  border-color: var(--persona);
  border-top-width: 1px;
  color: var(--on-persona);
}
#soluciones .need__method,
#soluciones .need__title,
#soluciones .need__text,
#soluciones .need__cta { color: var(--on-persona); }

#soluciones .need__method { opacity: 0.82; }
#soluciones .need__text   { opacity: 0.88; }
#soluciones .need__link:hover {
  background: var(--persona);
  border-color: var(--on-persona);
}
#soluciones .need__link:hover .need__cta { color: var(--on-persona); }

.need[data-persona="ngsoc"],
.need[data-persona="ctem"],
.need[data-persona="csirt"],
.need[data-persona="zerotrust"],
.need[data-persona="grc"]  { --on-persona: var(--color-fg-light); }
.need[data-persona="asha"] { --on-persona: var(--color-fg); }

.diferenciador__lede .accent { color: var(--color-primary-lift); }

.pillar__num {
  position: absolute;
  top: var(--space-4);
  right: var(--space-5);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  font: 700 15px/1 var(--font-mono);
  letter-spacing: 0.04em;
  color: var(--color-fg);
  pointer-events: none;
}

.practice--command .practice__rank { color: var(--color-primary-lift); }

.ring-stat__sub { color: var(--color-primary-lift); }

.alliances__coverage-stat {
  display: inline-block;
  padding: 3px 9px 2px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-fg);
  font-size: 1em;
}

.partner-level__tag {
  color: var(--metal-on, var(--color-fg-light));
  background: var(--metal);
  border-color: var(--metal);
}
.partner-level--elite    { --metal-on: var(--color-fg); }
.partner-level--platinum { --metal-on: var(--color-fg-light); }
.partner-level--gold     { --metal-on: var(--color-fg-light); }

.partner-level--elite .partner-level__tag,
.partner-level--platinum .partner-level__tag,
.partner-level--gold .partner-level__tag { text-shadow: none; }

main > section[data-sol="2"] .case-metric {
  gap: 4px;
  padding: clamp(14px, 1.4vw, 20px) clamp(12px, 1.2vw, 18px);
  border-radius: var(--radius-md);
  background: linear-gradient(150deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
}
main > section[data-sol="2"] .case-metric__num,
main > section[data-sol="2"] .case-metric__unit { color: var(--color-fg); }

main > section[data-sol="2"] .case-metric__label { color: var(--color-fg); opacity: 0.92; }
main > section[data-sol="2"] .case-row__metrics { border-bottom: 0; }

main > section[data-sol="2"] .case-flow__tag--after {
  color: var(--color-fg-light);
  background: var(--color-grc);
  border-color: var(--color-grc);
}

main > section[data-sol="1"] > .container .industries__head .eyebrow,
main > section[data-sol="1"] .industries__head .eyebrow {
  background: rgba(6, 182, 212, 0.12);
  color: var(--color-csirt-soft);
}

main > section[data-sol="2"] .presence__sub-count { color: var(--color-muted-lift); }
main > section[data-sol="2"] .country__since      { color: var(--color-muted-lift); }
main > section[data-sol="2"] .highlight__label    { color: var(--color-muted-lift); }

.final-cta__meta-sep { color: var(--color-muted); }

.final-cta__link { padding: 14px 4px; }

.practice__num { color: var(--p, var(--color-primary-lift)) !important; }

.practice:hover .practice__num {
  text-shadow: 0 0 16px color-mix(in srgb, var(--p, var(--color-primary)) 60%, transparent);
}

.chip {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-fg);
}

.form-section__num {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-fg);
}

.form-section__head > span:not(.form-section__num) { color: var(--color-primary-lift); }

.form-checkbox__label a { color: var(--color-primary-lift) !important; }

.rfc-chip span { color: var(--color-primary-lift); }

.legal-prose a { color: var(--color-primary-lift); }

.section--dark .how__text p { color: var(--color-muted) !important; }

.final-cta__link { padding: 15px 4px; }
.section-cta { min-height: 44px; }
.scene-hacked__replay { width: 44px; height: 44px; }

main > section[data-sol="1"] .alliance-card__logo { opacity: 0.88; }

main > section[data-sol="2"] .case-row__metrics--single {
  grid-template-columns: minmax(0, max-content);
}

@media (min-width: 900px) {
  .industries__head { grid-template-columns: 1.35fr 1fr; }
}

@media (min-width: 1024px) {
  .operacion__split {

    grid-template-rows: auto 1fr;
    row-gap: clamp(28px, 3vw, 44px);
  }
  .operacion__split > .operacion__head { grid-column: 1; grid-row: 1; }
  .operacion__split > .caps            {
    grid-column: 2;
    grid-row: 1 / span 2;

    align-self: stretch;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .operacion__split > .flow            { grid-column: 1; grid-row: 2; align-self: end; }

  .operacion__split > .flow .flow__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(12px, 1.2vw, 18px);
  }
  .operacion__split > .flow .flow__steps::before {
    top: 6px;
    bottom: 6px;
    left: 5px;
    right: auto;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg,
      var(--color-primary),
      rgba(255, 255, 255, 0.16) 30%,
      rgba(255, 255, 255, 0.16) 70%,
      var(--color-primary));
  }
  .operacion__split > .flow .flow__step {
    flex-direction: row;
    align-items: center;
    gap: clamp(14px, 1.4vw, 20px);
    text-align: left;
  }
  .operacion__split > .flow .flow__label { margin-bottom: clamp(14px, 1.4vw, 20px); }
}

.main-nav__link:hover,
.main-nav__link.is-active { color: var(--color-primary-lift); }

.site-footer__contact-cta { color: var(--color-primary-lift) !important; }

.final-cta__accent,
.final-cta__title .accent,
.page-hero__title .accent { color: var(--color-primary-lift); }

.form-section__head > span:not(.form-section__num) { color: var(--color-primary-soft); }
.form-checkbox__label a { color: var(--color-primary-soft) !important; }
.rfc-chip span { color: var(--color-primary-soft); }
.contact-info__countries .eyebrow { color: var(--color-primary-soft); }

.eyebrow,
main > section[data-sol="1"] > .container .eyebrow,
main > section[data-sol="2"] > .container .eyebrow,
main > section[data-sol="1"] > .container .industries__head .eyebrow,
main > section[data-sol="1"] .industries__head .eyebrow,
.hero__eyebrow, .page-hero__eyebrow, .final-cta__eyebrow,
.symptom__idx, .layer__idx, .pillar__num,

.form-section__num, .chip, .rfc-chip, .partner-level__tag,
.destacado__kicker, .destacado__arrow, .alliances__coverage-stat,
.about-card__icon-wrap, .feature-card__icon, .leader-card__avatar,
.case-flow__tag, .framework, .industries__sector, .country__since,
.front {
  --plq: var(--color-primary);
  --plq-fond-haut: 14%;
  --plq-fond-bas: 6%;
  --plq-bord: 42%;
  border-style: solid;
  border-width: 1px;
  border-color: color-mix(in srgb, var(--plq) var(--plq-bord), transparent);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) var(--plq-fond-haut), transparent),
      color-mix(in srgb, var(--plq) var(--plq-fond-bas), transparent)),
    rgba(23, 23, 23, 0.55);
  color: rgba(248, 250, 252, 0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px color-mix(in srgb, var(--plq) 8%, transparent),
    0 12px 32px -16px color-mix(in srgb, var(--plq) 35%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.case-flow__tag              { --plq: var(--color-grc); }
.industries__sector,
.country__since              { --plq: var(--color-csirt); }
.front[data-persona="ctem"]      { --plq: var(--color-ctem); }
.front[data-persona="csirt"]     { --plq: var(--color-csirt); }
.front[data-persona="zerotrust"] { --plq: var(--color-zerotrust); }
.front[data-persona="grc"]       { --plq: var(--color-grc); }

.framework,
.front[data-persona="ngsoc"] {
  --plq: var(--color-ngsoc);
  --plq-fond-haut: 7%;
  --plq-fond-bas: 3%;
  --plq-bord: 24%;
}

.eyebrow .icon,
.hero__eyebrow .icon, .page-hero__eyebrow .icon, .final-cta__eyebrow .icon,
.chip .icon, .rfc-chip .icon, .framework .icon, .industries__sector .icon,
.about-card__icon-wrap .icon, .feature-card__icon .icon,
.destacado__arrow .icon, .case-flow__tag .icon {
  color: color-mix(in srgb, var(--plq) 62%, #FFFFFF);
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--plq) 55%, transparent));
}

a.rfc-chip:hover, a.industries__sector:hover, a.destacado__arrow:hover,
a.front:hover, .front a:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--plq) 65%, transparent);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px color-mix(in srgb, var(--plq) 18%, transparent),
    0 18px 40px -16px color-mix(in srgb, var(--plq) 55%, transparent);
}

.promises--scene .promise {
  --plq: var(--color-primary);
  border-color: color-mix(in srgb, var(--plq) 42%, transparent);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) 14%, transparent),
      color-mix(in srgb, var(--plq) 6%, transparent)),
    rgba(23, 23, 23, 0.55);
}

.symptom__idx, .layer__idx, .front, .framework, .country__since,
.feature-card__icon, .industries__sector {
  border-color: color-mix(in srgb, var(--plq) var(--plq-bord), transparent) !important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) var(--plq-fond-haut), transparent),
      color-mix(in srgb, var(--plq) var(--plq-fond-bas), transparent)),
    rgba(23, 23, 23, 0.55) !important;
  color: rgba(248, 250, 252, 0.96) !important;
}

main > section[data-sol="1"] .front__name,
.front__name { color: rgba(248, 250, 252, 0.96) !important; }
main > section[data-sol="1"] .front__verb,
.front__verb { color: var(--color-muted) !important; }

#liga .pillar__num {
  background: var(--color-primary) !important;
  border: 0 !important;
  border-radius: var(--radius-sm);
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--color-fg) !important;
}

#liga > .container > .diferenciador__head .eyebrow,
#liga .eyebrow {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--color-primary-lift) !important;
}

#liga .framework {
  background: rgba(148, 163, 184, 0.06) !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  border-radius: var(--radius-full);
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: rgba(241, 245, 249, 0.92) !important;
}
#liga .framework .icon {
  color: var(--color-success);
  filter: none;
}

.industries__coverage {
  margin: var(--space-7) 0 0;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-muted);
}
.industries__coverage-stat {
  display: inline-block;
  padding: 3px 9px 2px;
  border-radius: var(--radius-full);
  font-size: 1em;
  font: 800 1.15em/1 var(--font-mono);
  margin-right: 4px;

  --plq: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--plq) 42%, transparent);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) 14%, transparent),
      color-mix(in srgb, var(--plq) 6%, transparent)),
    rgba(23, 23, 23, 0.55);
  color: rgba(248, 250, 252, 0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px color-mix(in srgb, var(--plq) 8%, transparent),
    0 12px 32px -16px color-mix(in srgb, var(--plq) 35%, transparent);
}

.industries__sectors {
  flex-wrap: wrap;
  gap: 8px 10px;
}
@media (max-width: 900px) {
  .industries__sectors { justify-content: flex-start; }
}

.needs__grid .need__link { position: relative; overflow: hidden; }

.need__hero {
  position: absolute;
  right: -14px;
  bottom: -16px;
  width: 150px;
  height: 150px;
  object-fit: contain;
  object-position: bottom right;
  pointer-events: none;

  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.45));
  transition: transform var(--duration-slow) var(--ease-out);
}
.need__link:hover .need__hero { transform: translateY(-4px) scale(1.03); }

.needs__grid .need__text { padding-right: 118px; }
.needs__grid .need__cta  { position: relative; z-index: 1; }

@media (max-width: 560px) {

  .need__hero { width: 118px; height: 118px; right: -10px; bottom: -12px; }
  .needs__grid .need__text { padding-right: 92px; }
}

.need--bridge { --plq: var(--color-primary); }
#soluciones .need--bridge .need__link {
  border: 1px solid color-mix(in srgb, var(--plq) 42%, transparent);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) 14%, transparent),
      color-mix(in srgb, var(--plq) 6%, transparent)),
    rgba(23, 23, 23, 0.55);
  color: rgba(248, 250, 252, 0.96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px color-mix(in srgb, var(--plq) 8%, transparent),
    0 12px 32px -16px color-mix(in srgb, var(--plq) 35%, transparent);
}
#soluciones .need--bridge .need__title,
#soluciones .need--bridge .need__cta    { color: rgba(248, 250, 252, 0.96); }
#soluciones .need--bridge .need__method { color: var(--color-primary-soft); opacity: 1; }
#soluciones .need--bridge .need__text   { color: var(--color-muted); opacity: 1; }

.needs__grid .need--bridge .need__text { padding-right: 0; }
#soluciones .need--bridge .need__link:hover {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) 20%, transparent),
      color-mix(in srgb, var(--plq) 10%, transparent)),
    rgba(23, 23, 23, 0.55);
  border-color: color-mix(in srgb, var(--plq) 65%, transparent);
}

.fronts {
  grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
  gap: clamp(10px, 1vw, 16px);
}
.front { padding: 0; }
.front__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 14px 8px 8px;
  text-decoration: none;
  color: inherit;
  min-height: 44px;
}
.front__bust {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5));
  transition: transform var(--duration-normal) var(--ease-out);
}
.front__link:hover .front__bust { transform: translateY(-3px) scale(1.04); }
.front__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.front__verb {
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.front__name {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.front__name { color: var(--color-muted) !important; }
.front__verb { color: rgba(248, 250, 252, 0.96) !important; }

@media (max-width: 560px) {
  .fronts { grid-template-columns: minmax(0, 1fr); }
}

.versus__head { max-width: 50rem; margin-inline: auto; }

.versus__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 28px);
  align-items: stretch;
}

.versus__col {
  padding: clamp(24px, 2.4vw, 36px) clamp(20px, 2.2vw, 32px);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.versus__col--them {
  background: var(--color-surface);
  border: 1px solid var(--color-border-strong);
}

.versus__col--us {
  --plq: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--plq) 42%, transparent);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) 14%, transparent),
      color-mix(in srgb, var(--plq) 6%, transparent)),
    rgba(23, 23, 23, 0.55);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px color-mix(in srgb, var(--plq) 8%, transparent),
    0 12px 32px -16px color-mix(in srgb, var(--plq) 35%, transparent);
}

.versus__tag {
  align-self: flex-start;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: var(--radius-full);
}
.versus__col--them .versus__tag {
  border: 1px solid var(--color-border-strong);
  color: var(--color-muted);
}

.versus__col--us .versus__tag {
  border: 1px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  color: var(--color-primary-soft);
}

.versus__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.2vw, 18px);
}
.versus__list li {
  display: flex;
  gap: var(--space-3);
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.5;
  color: var(--color-muted);
}
.versus__list strong { color: var(--color-fg); font-weight: 700; }

.versus__mk {
  flex: 0 0 auto;
  font-family: var(--font-mono);
  line-height: 1.5;
}

.versus__txt { min-width: 0; }
.versus__col--them .versus__mk { color: var(--color-muted); opacity: 0.6; }
.versus__col--us   .versus__mk { color: var(--color-primary-soft); }

@media (max-width: 47.5rem) {

  .versus__cols { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 47.5rem) {
  .orbit {
    --orbit-size: min(560px, 100%);

    --orbit-r: 35%;
    --onode-w: 148px;
    --onode-h: 132px;
    position: relative;
    width: var(--orbit-size);
    aspect-ratio: 1;
    margin: clamp(8px, 1vw, 20px) auto 0;
  }

  .orbit::before,
  .orbit::after {
    content: '';
    position: absolute;
    border-radius: var(--radius-full);
    pointer-events: none;
  }
  .orbit::before {
    inset: 12%;
    border: 1px solid var(--color-border-strong);
  }
  .orbit::after {
    inset: 30%;
    border: 1px dashed var(--color-border);
  }

  .orbit__core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 168px;
    height: 140px;
    margin-left: -84px;
    margin-top: -70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
  }
  .orbit__core::before {
    content: '';
    position: absolute;
    inset: -6%;
    border-radius: var(--radius-full);
    background: radial-gradient(circle at 50% 42%,
      color-mix(in srgb, var(--color-primary) 30%, transparent) 0%,
      transparent 68%);
    pointer-events: none;
  }
  .orbit__core-bust {
    width: 120px;
    height: 120px;
    object-fit: contain;
    object-position: bottom center;
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.55));
  }
  .orbit__core-label { display: flex; flex-direction: column; gap: 1px; margin-top: 2px; }
  .orbit__core-name {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 0.14em;

    color: var(--color-primary-lift);
  }
  .orbit__core-role {
    font-size: var(--text-xs);
    color: var(--color-muted);
    letter-spacing: 0.02em;
  }

  .orbit__ring {
    display: block;
    position: absolute;
    inset: 0;
    grid-template-columns: none;
    gap: 0;
    margin: 0;
    padding: 0;
  }
  .orbit__ring .front {
    position: absolute;
    width: var(--onode-w);
    min-height: var(--onode-h);
    left: calc(50% + var(--cx) * var(--orbit-r) - var(--onode-w) / 2);
    top:  calc(50% + var(--cy) * var(--orbit-r) - var(--onode-h) / 2);
  }
  .orbit__ring .front[style*="--i: 0"] { --cx:  0.000; --cy: -1.000; }
  .orbit__ring .front[style*="--i: 1"] { --cx:  0.951; --cy: -0.309; }
  .orbit__ring .front[style*="--i: 2"] { --cx:  0.588; --cy:  0.809; }
  .orbit__ring .front[style*="--i: 3"] { --cx: -0.588; --cy:  0.809; }
  .orbit__ring .front[style*="--i: 4"] { --cx: -0.951; --cy: -0.309; }

  .orbit__ring .front__link {
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 8px 12px;
    text-align: center;
    min-height: var(--tap-min);
  }
  .orbit__ring .front__bust {
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
  }
  .orbit__ring .front__body { align-items: center; }
  .orbit__ring .front__verb { font-size: clamp(14px, 1.15vw, 17px); }

  .layer--fronts .layer__label { text-align: center; }
}

@media (max-width: 47.5rem) {
  .orbit__core {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
  }
  .orbit__core-bust { width: 72px; height: 72px; object-fit: contain; object-position: bottom center; }
  .orbit__core-label { display: flex; flex-direction: column; }
  .orbit__core-name {
    font-family: var(--font-mono); font-size: var(--text-sm); font-weight: 700;
    letter-spacing: 0.14em; color: var(--color-primary-lift);
  }
  .orbit__core-role { font-size: var(--text-xs); color: var(--color-muted); }
}

.hero__points {
  list-style: none;
  margin: clamp(18px, 1.8vw, 26px) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 0.9vw, 12px);
  max-width: 46ch;
}
.hero__points li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.5;
  color: var(--color-muted);
}
.hero__points li::before {
  content: '';
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--color-primary-lift);
}

.practices__grid--six {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-5);
}
@media (min-width: 45rem) {
  .practices__grid--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);

    grid-auto-rows: 1fr;
  }
}
@media (min-width: 62rem) {
  .practices__grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
}

.about-frameworks {

  display: grid;
  gap: var(--space-6);
  margin-top: clamp(32px, 3.4vw, 56px);
  padding-top: clamp(28px, 3vw, 44px);
  border-top: 1px solid var(--color-border);
  text-align: center;
}

.about-frameworks .frameworks__logos { margin-bottom: 0; }

.sistema__outro {
  margin-top: clamp(40px, 4vw, 72px);
  text-align: center;
}

.practices__grid--six .practice__rank {
  color: var(--p, var(--color-primary-lift));
  margin: 0;
}

.practices__grid--six .practice__more { margin-top: auto; }

.practices__grid--six .practice[data-persona="asha"] {
  border-color: rgba(220, 38, 38, 0.35);
}
.practices__grid--six .practice[data-persona="asha"]:hover {
  border-color: var(--color-primary);
}

.practices__grid--six .practice[data-persona="asha"] .practice__rank {
  color: var(--color-primary-soft);
}

.scene-hacked--anillos {
  padding-top: clamp(48px, 4.6vw, 68px);
  padding-bottom: clamp(48px, 4.6vw, 68px);
}

.scene-hacked--anillos .how-stats {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.presence__head {
  text-align: left;
  max-width: 68ch;
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 80rem) {
  .presence__stage {
    display: grid;

    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
    gap: clamp(32px, 3vw, 64px);
    align-items: center;
    min-height: 0;
  }

  .presence__stage .presence__float,
  .presence__stage .presence__fallback {
    position: static;
    width: auto;
    margin: 0;
  }
  .presence__cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .presence__globe-wrap { align-items: flex-start; }
}

.presence__cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.presence__globe { max-width: 820px; }

.presence.has-globe-pins .presence__fallback { display: block; }

.country--hub {
  background: rgba(23, 23, 23, 0.35);
  border-color: color-mix(in srgb, var(--color-zerotrust) 25%, transparent);
}
.country--hub:hover {
  border-color: color-mix(in srgb, var(--color-zerotrust) 55%, transparent);
  background: color-mix(in srgb, var(--color-zerotrust) 4%, transparent);
}
.country--hub .country__flag {
  background: var(--color-zerotrust);
  box-shadow: 0 0 5px color-mix(in srgb, var(--color-zerotrust) 30%, transparent),
              inset 0 0 2px rgba(255, 255, 255, 0.25);
}
.country--hub .country__since {
  --plq: var(--color-zerotrust);
  color: var(--color-zerotrust-soft, #D8B4FE);
}

.presence__note {
  margin: var(--space-3) 0 0;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--color-muted);
}

.section-head,
.presence__head,
.alliances__head,
.cases__head,
.support__head,
.industries__head {
  text-align: left;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.section-head .section-lede,
.presence__head .section-lede,
.alliances__head .section-lede,
.cases__head .section-lede,
.support__head .section-lede,
.industries__head .section-lede {
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.essence-mark { align-items: flex-start; }
.essence-body .essence-pull { text-align: left; }

.scene-hacked--anillos .ring-stat__dial-wrap {

  width: clamp(84px, 15vw, 196px);
}
.scene-hacked--anillos .ring-stat__dial {
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 13px), #000 calc(100% - 12px));
          mask: radial-gradient(closest-side, transparent calc(100% - 13px), #000 calc(100% - 12px));
}
.scene-hacked--anillos .ring-stat__val  { font-size: clamp(34px, 2.7vw, 46px); }
.scene-hacked--anillos .ring-stat__unit { font-size: clamp(14px, 1vw, 17px); }
.scene-hacked--anillos .ring-stat__sub  { font-size: clamp(15px, 1.15vw, 19px); }

.scene-hacked--anillos .how-stats { gap: clamp(6px, 0.7vw, 14px) clamp(40px, 9vw, 180px); }

@media (max-width: 48rem) {
  .scene-hacked--anillos .how-stats { gap: clamp(10px, 3vw, 20px); }
  .scene-hacked--anillos .ring-stat__dial {
    -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 9px), #000 calc(100% - 8px));
            mask: radial-gradient(closest-side, transparent calc(100% - 9px), #000 calc(100% - 8px));
  }
  .scene-hacked--anillos .ring-stat__val  { font-size: clamp(19px, 5.6vw, 26px); }
  .scene-hacked--anillos .ring-stat__unit { font-size: 10px; }
  .scene-hacked--anillos .ring-stat__sub  { font-size: clamp(12px, 3.4vw, 14px); }
}

.anillos__cta {
  margin-top: clamp(28px, 3vw, 44px);
  text-align: center;
}

.needs__grid .need__text { padding-right: 0; }

.alliances--band {
  padding-top: clamp(40px, 4vw, 64px);
  padding-bottom: clamp(40px, 4vw, 64px);
}
.alliances--band .alliance-card__logo {
  filter: brightness(0);
  opacity: 0.62;
}
.alliances--band .alliance-card:hover .alliance-card__logo {
  filter: brightness(0);
  opacity: 1;
}

.alliances--band .alliance-card {
  background: none;
  border: 0;
  box-shadow: none;
}
.alliances--band .alliance-card::before { content: none; }
.alliances--band .alliance-card:hover {
  background: none;
  border: 0;
  transform: none;
}

.alliances--band .alliances__tier-label {
  color: var(--color-muted-light);
}
.alliances--band .alliances__tier + .alliances__tier {
  margin-top: clamp(14px, 1.6vw, 24px);
}
.alliances__band-cta {
  margin-top: clamp(24px, 2.6vw, 40px);
  text-align: center;
}

.alliances--band .btn-secondary,
.diferenciador__cta-wrap .btn-secondary {
  color: var(--color-fg-light);
  border-color: color-mix(in srgb, var(--color-fg-light) 28%, transparent);
  background: transparent;
}
.alliances--band .btn-secondary:hover,
.diferenciador__cta-wrap .btn-secondary:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}

.subnav--home {
  background: color-mix(in srgb, var(--sol-1) 94%, transparent);
  border-bottom: 1px solid var(--color-border);
}

.subnav--home .subnav__link {
  --persona: var(--color-primary);
  --persona-lift: var(--color-primary-lift);
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.subnav--home .subnav__inner::before {
  background: linear-gradient(90deg, var(--sol-1) 0%, color-mix(in srgb, var(--sol-1) 0%, transparent) 100%);
}
.subnav--home .subnav__inner::after {
  background: linear-gradient(270deg, var(--sol-1) 0%, color-mix(in srgb, var(--sol-1) 0%, transparent) 100%);
}

.problema__source {
  margin-top: clamp(10px, 1.1vw, 16px);

  opacity: 0.92;
}

.solpanel__grid {
  display: grid;
  gap: clamp(24px, 3vw, 56px);
}
@media (min-width: 62rem) {
  .solpanel__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
  }
}

.solpanel__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.solpanel__tab {
  --p: var(--color-primary);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  width: 100%;

  padding: 14px clamp(14px, 1.4vw, 20px);
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: transparent;
  color: var(--color-muted);
  text-align: left;
  cursor: pointer;
  transition: background var(--duration-fast) var(--ease-out),
              border-color var(--duration-fast) var(--ease-out),
              color var(--duration-fast) var(--ease-out);
}
.solpanel__tab-method {
  font: 700 10px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-muted);
  opacity: 0.7;
}
.solpanel__tab-title {
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 600;
  line-height: 1.25;
}
.solpanel__tab:hover {
  background: rgba(248, 250, 252, 0.04);
  color: var(--color-fg);
}
.solpanel__tab.is-active,
.solpanel__tab[aria-selected="true"] {
  border-left-color: var(--p);
  background: color-mix(in srgb, var(--p) 10%, transparent);
  color: var(--color-fg);
}
.solpanel__tab.is-active .solpanel__tab-method,
.solpanel__tab[aria-selected="true"] .solpanel__tab-method {
  color: var(--p);
  opacity: 1;
}
.solpanel__tab:focus-visible {
  outline: 2px solid var(--p);
  outline-offset: -2px;
}

.solpanel__pane {
  --p: var(--color-primary);
  padding: clamp(22px, 2.4vw, 36px);
  border: 1px solid color-mix(in srgb, var(--p) 34%, transparent);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--p) 12%, transparent),
      color-mix(in srgb, var(--p) 4%, transparent)),
    var(--color-surface);
}
.solpanel__pane-method {
  display: block;
  font: 700 11px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--p);
  margin-bottom: var(--space-2);
}
.solpanel__pane-title {
  margin: 0 0 var(--space-3);
  font-size: clamp(22px, 2.1vw, 32px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-fg);
}
.solpanel__pane-text {
  margin: 0;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.6;
  color: var(--color-fg);
  opacity: 0.9;
}
.solpanel__pane-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: clamp(18px, 1.8vw, 26px);
  min-height: 44px;
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 700;
  color: var(--color-fg);
}
.solpanel__pane-cta .icon {
  width: 16px; height: 16px;
  transition: transform var(--duration-fast) var(--ease-out);
}
.solpanel__pane-cta:hover .icon { transform: translateX(3px); }

.solpanel__tab[data-persona="ctem"],      .solpanel__pane[data-persona="ctem"]      { --p: var(--color-ctem); }
.solpanel__tab[data-persona="ngsoc"],     .solpanel__pane[data-persona="ngsoc"]     { --p: var(--color-ngsoc); }
.solpanel__tab[data-persona="csirt"],     .solpanel__pane[data-persona="csirt"]     { --p: var(--color-csirt); }
.solpanel__tab[data-persona="zerotrust"], .solpanel__pane[data-persona="zerotrust"] { --p: var(--color-zerotrust); }
.solpanel__tab[data-persona="grc"],       .solpanel__pane[data-persona="grc"]       { --p: var(--color-grc); }

@media (max-width: 61.99rem) {
  .solpanel__list {
    flex-direction: row;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 6px;
    padding-bottom: 4px;
  }
  .solpanel__list::-webkit-scrollbar { display: none; }
  .solpanel__tab {
    flex: 0 0 auto;
    border-left: 0;
    border-bottom: 2px solid transparent;
    border-radius: var(--radius-md);
  }
  .solpanel__tab.is-active,
  .solpanel__tab[aria-selected="true"] { border-bottom-color: var(--p); }
  .solpanel__tab-title { white-space: nowrap; }
}

@property --fill {
  syntax: '<number>';

  inherits: true;
  initial-value: 0;
}

.cases__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: clamp(26px, 2.8vw, 44px);
}
.cases__tab {
  min-height: 44px;
  padding: 10px clamp(14px, 1.6vw, 22px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: clamp(11px, 0.95vw, 13px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--duration-fast) var(--ease-out),
              border-color var(--duration-fast) var(--ease-out),
              background var(--duration-fast) var(--ease-out);
}

.cases__tab:hover {
  color: var(--color-fg);
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

#casos-exito .cases__tab:hover:not([aria-selected="true"]):not(.is-active) {
  color: var(--color-fg);
  border-color: var(--color-grc);
  background: color-mix(in srgb, var(--color-grc) 8%, transparent);
}
.cases__tab.is-active,
.cases__tab[aria-selected="true"] {
  color: var(--color-fg);
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 14%, transparent);
}
.cases__tab:focus-visible { outline: 2px solid var(--color-primary-lift); outline-offset: 2px; }

.cases__pane { }
.cases--vivant .cases__pane {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 380ms var(--ease-out), transform 380ms var(--ease-out);
}
.cases--vivant .cases__pane.is-active { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .cases--vivant .cases__pane { transition: none; transform: none; }
}
.cases__pane-title {
  margin: 0 0 clamp(24px, 2.6vw, 40px);
  font-size: clamp(26px, 3.4vw, 46px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--color-fg);
  max-width: 20ch;
}

.cases__figures {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: clamp(22px, 2.6vw, 44px);
  align-items: start;
  margin-bottom: clamp(28px, 3vw, 48px);
}
.case-fig__num {
  display: block;
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-primary-lift);
  font-variant-numeric: tabular-nums;
}
.case-fig__unit {
  font-size: 0.42em;
  font-weight: 700;
  margin-left: 0.15em;
  letter-spacing: 0;

  color: var(--color-primary-soft);
}
.case-fig__label {
  margin: var(--space-2) 0 0;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.5;
  color: var(--color-muted);
}
.case-fig--lead .case-fig__num { font-size: clamp(46px, 6.4vw, 88px); }

.case-ring { text-align: left; }
.case-ring__dial-wrap {
  position: relative;
  display: block;
  width: clamp(112px, 9vw, 150px);
  aspect-ratio: 1;
  margin-bottom: var(--space-2);
}
.case-ring__dial {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 220deg,
    var(--color-primary) calc(var(--fill, 0) * 1%),
    rgba(248, 250, 252, 0.16) 0);
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 11px), #000 calc(100% - 10px));
          mask: radial-gradient(closest-side, transparent calc(100% - 11px), #000 calc(100% - 10px));
}

.case-ring { transition: --fill 1600ms var(--ease-out); }
@media (prefers-reduced-motion: reduce) {
  .case-ring { transition: none; }
}
.case-ring__num {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
}
.case-ring__val {
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-fg);
  font-variant-numeric: tabular-nums;
}
.case-ring__unit { font-size: 0.5em; font-weight: 700; color: var(--color-muted); }
.case-ring__label {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.5;
  color: var(--color-muted);
}

.cases__story {
  display: grid;
  gap: clamp(16px, 1.8vw, 28px);
}
@media (min-width: 48rem) {
  .cases__story { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.presence__group {
  --grp: var(--color-primary);
  background: rgba(23, 23, 23, 0.35);
  border: 1px dashed color-mix(in srgb, var(--grp) 30%, transparent);
  border-radius: var(--radius-lg);
  padding: var(--space-4) var(--space-4) var(--space-5);
}

.presence__group--activa     { --grp: var(--color-primary); }
.presence__group--desarrollo { --grp: var(--color-csirt); }
.presence__group--hub        { --grp: var(--color-zerotrust); }

.presence__group .presence__sub-prompt { color: color-mix(in srgb, var(--grp) 88%, white); }
.presence__group .presence__sub-count  { color: color-mix(in srgb, var(--grp) 70%, white); }

.country--chip {
  background: rgba(23, 23, 23, 0.35);
  border-style: dashed;
  border-color: color-mix(in srgb, var(--grp) 25%, transparent);
}
.country--chip:hover {
  border-color: color-mix(in srgb, var(--grp) 55%, transparent);
  background: color-mix(in srgb, var(--grp) 4%, transparent);
}
.country--chip .country__flag {
  background: var(--grp);
  box-shadow: 0 0 5px color-mix(in srgb, var(--grp) 30%, transparent),
              inset 0 0 2px rgba(255, 255, 255, 0.25);
}
.country--chip .country__since {
  --plq: var(--grp);
  color: color-mix(in srgb, var(--grp) 55%, white);
  background: color-mix(in srgb, var(--grp) 6%, transparent);
  border-color: color-mix(in srgb, var(--grp) 20%, transparent);
}

.presence__globe-wrap .presence__legend {
  width: 100%;
  max-width: 820px;
  justify-content: center;
}

.subnav--home .subnav__track { justify-content: center; }
@media (max-width: 61.99rem) {
  .subnav--home .subnav__track { justify-content: flex-start; }
}

@media (min-width: 62rem) {
  .cases__pane {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 4vw, 72px);
    align-items: start;
  }
}
.cases__figures {

  --zone: clamp(104px, 8.4vw, 128px);
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));

  align-items: start;
  margin-bottom: 0;
}
.case-fig__num {
  min-height: var(--zone);
  display: flex;
  align-items: flex-end;
}
.case-ring__dial-wrap {
  width: var(--zone);
  margin-bottom: 0;
}

.case-fig__label,
.case-ring__label { margin-top: var(--space-2); }

@media (min-width: 62rem) {
  .case-fig__num { font-size: clamp(46px, 4.2vw, 76px); }
  .case-fig--lead .case-fig__num { font-size: clamp(56px, 5.4vw, 96px); }
  .cases__pane-title { max-width: none; }
}

.cases__story {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(12px, 1.2vw, 18px);
  margin-top: clamp(26px, 2.8vw, 40px);
}
.cases__story .case-flow {
  display: block;
  padding: clamp(14px, 1.4vw, 20px) clamp(16px, 1.6vw, 22px);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--color-border-strong);
  background: rgba(248, 250, 252, 0.03);
}
.cases__story .case-flow:has(.case-flow__tag--after) {
  border-left-color: #22C55E;
  background: rgba(34, 197, 94, 0.06);
}
.cases__story .case-flow__tag {
  display: inline-block;
  margin-bottom: var(--space-2);
  font-size: 11px;
  letter-spacing: 0.16em;
}
.cases__story .case-flow p {
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.88);
}

@media (min-width: 62rem) {
  .cases__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.final-cta .final-cta__inner { padding-top: clamp(28px, 4vw, 72px); }

.site-header {
  background: color-mix(in srgb, var(--sol-clair) 92%, transparent);
  border-bottom: 1px solid rgba(16, 16, 16, 0.10);
}

.site-header__logo,
.site-footer__logo { filter: none; }

@media (min-width: 62rem) {
  .site-header__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }
  .site-header__cta { justify-self: end; }
}

.site-header .main-nav__link { color: var(--color-fg-light); }
.site-header .main-nav__link:hover {
  color: var(--color-primary-deep);
  background: color-mix(in srgb, var(--color-primary) 7%, transparent);
}
.site-header .main-nav__link.is-active {
  color: var(--color-primary-deep);
  background: color-mix(in srgb, var(--color-primary) 10%, transparent);
}
.site-header .lang-switch__btn { color: var(--color-muted-light); }
.site-header .lang-switch__btn.is-active {
  color: var(--color-fg-light);
  background: color-mix(in srgb, var(--color-primary) 14%, transparent);
}
.site-header .lang-switch__sep { color: rgba(16, 16, 16, 0.28); }
.site-header .btn-secondary {
  color: var(--color-fg-light);
  border-color: rgba(16, 16, 16, 0.22);
  background: transparent;
}
.site-header .btn-secondary:hover {
  color: var(--color-primary-deep);
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}
.site-header .mobile-menu-toggle { color: var(--color-fg-light); }

.site-footer {
  background: var(--sol-clair);
  border-top: 1px solid rgba(16, 16, 16, 0.10);
  color: var(--color-fg-light);
}
.site-footer__col h3          { color: var(--color-fg-light); }
.site-footer__brand-text,
.site-footer__coverage,
.site-footer__contact,
.site-footer__contact a       { color: var(--color-muted-light); }
.site-footer__contact a:hover { color: var(--color-fg-light); }
.site-footer__list a          { color: var(--color-fg-light); }
.site-footer__bottom          { border-top-color: rgba(16, 16, 16, 0.10); }
.site-footer__bottom,
.site-footer__bottom a        { color: var(--color-muted-light); }

.site-footer__badges img {
  background: #FFFFFF;
  border: 1px solid rgba(16, 16, 16, 0.12);
}

.site-footer__contact-cta { color: var(--color-primary-deep) !important; }
.site-footer__list a:hover,
.site-footer__bottom a:hover,
.site-footer__contact a:hover { color: var(--color-primary-deep); }
.site-footer__col h3 { color: var(--color-fg-light); }

.method[data-sol="0"] { --band-bg: var(--sol-0); }
.method[data-sol="1"] { --band-bg: var(--sol-1); }
.method[data-sol="2"] { --band-bg: var(--sol-2); }

.subnav { background: color-mix(in srgb, var(--sol-1) 94%, transparent); }
.subnav__inner::before {
  background: linear-gradient(90deg, var(--sol-1) 0%, color-mix(in srgb, var(--sol-1) 0%, transparent) 100%);
}
.subnav__inner::after {
  background: linear-gradient(270deg, var(--sol-1) 0%, color-mix(in srgb, var(--sol-1) 0%, transparent) 100%);
}

.site-header {
  background: rgba(16, 16, 16, 0.85);
  border-bottom: 1px solid var(--color-border);
}
.site-header .main-nav__link { color: var(--color-fg); }
.site-header .main-nav__link:hover {
  color: var(--color-primary-lift);
  background: rgba(220, 38, 38, 0.08);
}
.site-header .main-nav__link.is-active {
  color: var(--color-primary-lift);
  background: rgba(220, 38, 38, 0.08);
}
.site-header .lang-switch__btn { color: var(--color-muted); }
.site-header .lang-switch__btn.is-active {
  color: var(--color-fg);
  background: rgba(220, 38, 38, 0.18);
}
.site-header .lang-switch__sep { color: rgba(248, 250, 252, 0.32); }
.site-header .btn-secondary {
  color: var(--color-fg);
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.03);
}
.site-header .btn-secondary:hover {
  color: var(--color-fg);
  border-color: var(--color-primary);
  background: rgba(220, 38, 38, 0.12);
}
.site-header .mobile-menu-toggle { color: var(--color-fg); }

.site-header__logo { filter: drop-shadow(0 0 8px rgba(220, 38, 38, 0.25)); }

#acreditaciones.theme-steel { background: var(--sol-0) !important; }

.method[data-persona="zerotrust"] .method__role { color: var(--color-zerotrust-soft); }

.method--dark {
  --plate-bg:
    linear-gradient(180deg,
      color-mix(in srgb, var(--persona) 14%, transparent),
      color-mix(in srgb, var(--persona) 5%, transparent)),
    var(--color-surface);
  --plate-fg: var(--color-fg);
  --plate-muted: var(--color-muted);
  --plate-rule: color-mix(in srgb, var(--persona) 34%, transparent);
  --plate-ink: var(--persona-lift);
}

.method__proof { box-shadow: none; }

.method[data-persona="asha"] .method__disclose-toggle span { color: var(--color-primary-soft); }
.method[data-persona="zerotrust"] .method__disclose-toggle span { color: var(--color-zerotrust-soft); }

.cases__pane[hidden],
.solpanel__pane[hidden] { display: none !important; }

.case-fig__num { white-space: nowrap; }
.case-fig--lead .case-fig__num { font-size: clamp(38px, 3.6vw, 62px); }
@media (min-width: 62rem) {
  .case-fig--lead .case-fig__num { font-size: clamp(42px, 4vw, 68px); }
}

.cases__figures:has(> :only-child) {
  align-content: center;
  min-height: 100%;
}
@media (min-width: 62rem) {
  .cases__figures:has(> :only-child) .case-fig__num { font-size: clamp(52px, 5vw, 84px); }
  .cases__figures:has(> :only-child) .case-fig__label {
    font-size: 12px;
    max-width: 26ch;
  }
}

.hero__title { max-width: 20ch; }
.section-title { max-width: 30ch; }
.section-head { max-width: min(100%, 1000px); }
.final-cta__title,
.final-cta--poster .final-cta__title { max-width: 52ch; }
.page-hero__title { max-width: 66ch; }

.page-hero__title { font-size: clamp(26px, 3.1vw, 44px); }
.final-cta__title { font-size: clamp(26px, 2.9vw, 42px); }

.page-hero__inner { max-width: min(100%, 1240px); }
.page-hero--league .page-hero__title,
.page-hero .page-hero__title { font-size: clamp(26px, 3.1vw, 44px); max-width: 66ch; }
.section-head, .section-head--left { max-width: min(100%, 1060px); }
.hero .hero__title { max-width: 22ch; }
.hero__copy { max-width: min(100%, 1100px); }
.final-cta__inner .final-cta__title,
.final-cta--poster .final-cta__title { max-width: 52ch; font-size: clamp(26px, 2.9vw, 42px); }

.hero__col-left { max-width: min(100%, 860px); }
.industries__head > div:first-child { max-width: min(100%, 900px); }
.final-cta__inner { max-width: min(100%, 1000px); }

.hero__title, .page-hero__title, .section-title, .final-cta__title {
  text-wrap: balance;
}

.section-title { font-size: clamp(26px, 3.3vw, 48px); }
.page-hero--league .page-hero__title,
.page-hero .page-hero__title { font-size: clamp(24px, 2.8vw, 40px); }
.final-cta__inner .final-cta__title,
.final-cta--poster .final-cta__title { font-size: clamp(24px, 2.6vw, 38px); }

.final-cta__inner .final-cta__title,
.final-cta--poster .final-cta__title { font-size: clamp(23px, 2.2vw, 32px); }

.solpanel--vivant .solpanel__pane {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 340ms var(--ease-out), transform 340ms var(--ease-out);
}
.solpanel--vivant .solpanel__pane.is-active { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .solpanel--vivant .solpanel__pane { transition: none; transform: none; }
}

main > section.theme-deep-slate,
main > section.theme-steel {
  background-image: radial-gradient(ellipse 100% 60% at 50% 0%,
    color-mix(in srgb, var(--color-primary) 5%, transparent), transparent 55%) !important;
  background-color: transparent !important;
}
main > section.theme-steel {
  background-image: radial-gradient(ellipse 100% 50% at 50% 0%,
    rgba(148, 163, 184, 0.06), transparent 55%) !important;
}

main > section.theme-deep-slate[data-sol="0"],
main > section.theme-steel[data-sol="0"] { background-color: var(--sol-0) !important; }
main > section.theme-deep-slate[data-sol="1"],
main > section.theme-steel[data-sol="1"] { background-color: var(--sol-1) !important; }
main > section.theme-deep-slate[data-sol="2"],
main > section.theme-steel[data-sol="2"] { background-color: var(--sol-2) !important; }

main > section.theme-steel[data-sol="clair"],

main > section.theme-deep-slate[data-sol="clair"] { background-color: var(--sol-clair) !important; }

main > section[data-sol="2"] .about-card,
main > section[data-sol="2"] .leader-card {
  background: var(--color-surface-elev);
}

.page-hero__bg-grid {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  opacity: 0.55;

  -webkit-mask-image: linear-gradient(to right, black 0%, black 45%, transparent 82%);
          mask-image: linear-gradient(to right, black 0%, black 45%, transparent 82%);
}

.hero {
  min-height: max(560px, calc(100vh - 117px)) !important;
  min-height: max(560px, calc(100svh - 117px)) !important;
}

.leader-card,
.cap,
.support-item,
.method__proof,
.layer {
  transition: transform var(--duration-normal) var(--ease-out),
              border-color var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
.leader-card:hover,
.cap:hover,
.support-item:hover,
.method__proof:hover,
.layer:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.leader-card:hover,
.cap:hover,
.support-item:hover {
  border-color: color-mix(in srgb, var(--color-primary) 55%, transparent);
}
.method__proof:hover {
  border-color: color-mix(in srgb, var(--persona, var(--color-primary)) 62%, transparent);
}
.layer:hover {
  border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .leader-card, .cap, .support-item, .method__proof, .layer { transition: none; }
  .leader-card:hover, .cap:hover, .support-item:hover,
  .method__proof:hover, .layer:hover { transform: none; }
}

#soluciones { position: relative; isolation: isolate; }
#soluciones .solpanel__fond {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
#soluciones .solpanel__fond span {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 520ms var(--ease-out);
}

#soluciones .solpanel__fond span.is-on { opacity: 0.45; }

#soluciones .solpanel__fond span[data-bg="ctem"]      { background-image: url('../assets/images/bg/soluciones/v2/ctem.webp'); }
#soluciones .solpanel__fond span[data-bg="ngsoc"]     { background-image: url('../assets/images/bg/soluciones/v2/ngsoc.webp'); }
#soluciones .solpanel__fond span[data-bg="csirt"]     { background-image: url('../assets/images/bg/soluciones/v2/csirt.webp'); }
#soluciones .solpanel__fond span[data-bg="zerotrust"] { background-image: url('../assets/images/bg/soluciones/v2/zerotrust.webp'); }
#soluciones .solpanel__fond span[data-bg="grc"]       { background-image: url('../assets/images/bg/soluciones/v2/grc.webp'); }
#soluciones .solpanel__fond span[data-bg="bridge"]    { background-image: url('../assets/images/bg/soluciones/v2/bridge.webp'); }

#soluciones::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--sol-2) 82%, transparent) 0%,
      color-mix(in srgb, var(--sol-2) 68%, transparent) 46%,
      color-mix(in srgb, var(--sol-2) 34%, transparent) 100%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--sol-2) 34%, transparent),
      color-mix(in srgb, var(--sol-2) 10%, transparent) 40%,
      color-mix(in srgb, var(--sol-2) 46%, transparent));
}
@media (prefers-reduced-motion: reduce) {
  #soluciones .solpanel__fond span { transition: none; }
}

.about-cards--illustre .about-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
  padding: clamp(28px, 3vw, 44px) clamp(22px, 2.4vw, 32px);
}
.about-cards--illustre .about-card__icon-wrap {
  width: clamp(72px, 7vw, 96px);
  height: clamp(72px, 7vw, 96px);
  display: grid;
  place-items: center;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.about-cards--illustre .about-card__icon-wrap svg {
  width: 100%;
  height: 100%;
  color: var(--color-primary-lift);
  stroke-width: 1.2;
}
.about-cards--illustre .about-card__title {
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 700;
}
.about-cards--illustre .about-card__desc {
  max-width: 34ch;
  margin-inline: auto;
  line-height: 1.65;
}

.about-cards.about-cards--illustre .about-card {
  align-items: center;
  justify-items: center;
}
.about-cards.about-cards--illustre .about-card__icon-wrap { margin-inline: auto; }

.about-cards--illustre .about-card > * { align-self: stretch; }
.about-cards--illustre .about-card__icon-wrap { align-self: center; }

.method--dark[data-persona] {
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: normal, screen;
  background-color: var(--band-bg);
}
.method--dark.method--media-end[data-persona] {
  background-position: center, 88% 46%;
  background-image:
    linear-gradient(90deg,
      var(--band-bg) 0%,
      var(--band-bg) 46%,
      color-mix(in srgb, var(--band-bg) 52%, transparent) 60%,
      transparent 76%),
    var(--corridor);
}
.method--dark.method--media-start[data-persona] {
  background-position: center, 12% 46%;
  background-image:
    linear-gradient(270deg,
      var(--band-bg) 0%,
      var(--band-bg) 46%,
      color-mix(in srgb, var(--band-bg) 52%, transparent) 60%,
      transparent 76%),
    var(--corridor);
}

.method--dark[data-persona="asha"]      { --corridor: url('../assets/images/bg/corridor/asha.webp'); }

.method--dark[data-persona="ctem"]      { --corridor: url('../assets/images/bg/corridor/ctem-mirror.webp'); }
.method--dark[data-persona="ngsoc"]     { --corridor: url('../assets/images/bg/corridor/ngsoc.webp'); }
.method--dark[data-persona="csirt"]     { --corridor: url('../assets/images/bg/corridor/csirt.webp'); }
.method--dark[data-persona="zerotrust"] { --corridor: url('../assets/images/bg/corridor/zerotrust-mirror.webp'); }
.method--dark[data-persona="grc"]       { --corridor: url('../assets/images/bg/corridor/grc.webp'); }

@media (max-width: 61.99rem) {
  .method--dark.method--media-end[data-persona],
  .method--dark.method--media-start[data-persona] {
    background-position: center, center 62%;
    background-image:
      linear-gradient(180deg, var(--band-bg) 0%, var(--band-bg) 38%, transparent 66%),
      var(--corridor);
  }
}

.final-cta--poster .final-cta__inner {

  min-height: 310px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 48rem) {
  .final-cta--poster .final-cta__inner { min-height: 372px; }
}

.layer--fronts {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}
.layer--fronts .layer__idx {
  justify-self: start;
  margin-bottom: var(--space-2);
}
.layer--fronts .layer__body { padding-inline: 0; }

.layer--fronts { padding-right: 0; }

main > section[data-sol="clair"] {
  color: var(--color-fg-light);
  --band-fg: var(--color-fg-light);
  --band-muted: var(--color-muted-light);
  --color-fg: var(--color-fg-light);
  --color-muted: var(--color-muted-light);
  --color-border: rgba(16, 16, 16, 0.12);
  --color-border-strong: rgba(16, 16, 16, 0.22);
}
main > section[data-sol="clair"] .section-title,
main > section[data-sol="clair"] .section-title .split-word,
main > section[data-sol="clair"] .layer__name,
main > section[data-sol="clair"] h3 { color: var(--color-fg-light); }
main > section[data-sol="clair"] .section-lede,
main > section[data-sol="clair"] .layer__note,
main > section[data-sol="clair"] p { color: var(--color-muted-light); }

main > section[data-sol="clair"] .section-title .accent,
main > section[data-sol="clair"] .section-title .accent .split-word {
  color: var(--color-primary-deep);
}

main > section[data-sol="clair"] .industries__coverage-stat {
  color: var(--color-primary-deep);
}

main > section[data-sol="clair"] .layers::before,
main > section[data-sol="clair"] .layer,
main > section[data-sol="clair"] .layer__body {
  border-color: rgba(16, 16, 16, 0.14);
}

main > section[data-sol="clair"] .practice,
main > section[data-sol="clair"] .layer--command .layer__body,
main > section[data-sol="clair"] .industry-card {
  --color-fg: #F8FAFC;
  --color-muted: rgba(203, 213, 225, 0.92);
  color: #F8FAFC;
}
main > section[data-sol="clair"] .practice__title,
main > section[data-sol="clair"] .industry-card__title { color: #F8FAFC; }
main > section[data-sol="clair"] .practice__desc { color: rgba(203, 213, 225, 0.92); }
main > section[data-sol="clair"] .practice__chip {
  color: rgba(248, 250, 252, 0.94);
  border-color: rgba(248, 250, 252, 0.22);
  background: rgba(248, 250, 252, 0.06);
}

main > section[data-sol="clair"] > .container .eyebrow,
main > section[data-sol="clair"] .eyebrow {
  color: var(--color-muted-light) !important;
  background: rgba(220, 38, 38, 0.07) !important;
  border: 1px solid rgba(220, 38, 38, 0.42) !important;
  border-radius: 9999px !important;
  padding: 5px 12px 4px !important;
}

main > section[data-sol="clair"] .industries__coverage-stat {
  color: var(--color-primary-deep) !important;
}

main > section[data-sol="clair"] .practices__grid--six .practice {
  background-color: var(--color-surface);
  background-image: none;
}
main > section[data-sol="clair"] .industries__coverage-stat {
  color: #F8FAFC !important;
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.practices__label {
  margin: 0 0 clamp(20px, 2.2vw, 32px);
  font: 700 11px/1.4 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-muted);
}
main > section[data-sol="clair"] .practices__label { color: var(--color-muted-light); }
.practices__grid--six {
  gap: clamp(16px, 1.6vw, 24px);
  padding: 0;
  margin: 0;
}

main > section[data-sol="clair"] .practices__grid--six .practice {

  background-color: var(--sol-1) !important;
  background-image: none !important;
}

main > section[data-sol="clair"] .practices__grid--six .practice[data-persona] {
  background-image: linear-gradient(
      180deg,
      color-mix(in srgb, var(--p, var(--color-primary)) 12%, transparent),
      color-mix(in srgb, var(--p, var(--color-primary)) 4%, transparent)) !important;
}
main > section[data-sol="clair"] .practices__grid--six .practice[data-persona]:hover {
  background-image: linear-gradient(
      180deg,
      color-mix(in srgb, var(--p, var(--color-primary)) 20%, transparent),
      color-mix(in srgb, var(--p, var(--color-primary)) 7%, transparent)) !important;
}

.method[data-persona="asha"] .method__role { color: var(--color-primary-soft); }

.container--lecture {
  max-width: calc(920px + max(0px, (100% - var(--container-max)) / 2));
  margin-inline: max(0px, calc((100% - var(--container-max)) / 2)) auto;
}

.page-nosotros .section-head--rail {
  position: relative;
  padding-top: 0;
  margin-bottom: 48px;
}

.page-nosotros .section-head--rail::after { content: none; }

.page-nosotros #quienes .section-lede,
.page-nosotros #esencia .section-lede,
.page-nosotros #trayectoria .section-lede,
.page-nosotros #razones .section-lede,
.page-nosotros #certificaciones .section-lede,
.page-nosotros #alianzas .section-lede,
.page-nosotros #modelo .section-lede,
.page-nosotros #liderazgo .section-lede { max-width: 68ch; }

@media (min-width: 75rem) {

  .page-nosotros #trayectoria .metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .page-nosotros #razones .about-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
  .page-nosotros #razones .about-card { height: 100%; }

  .page-nosotros #modelo .about-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .page-nosotros #liderazgo .leadership {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
    max-width: min(100%, 860px);
  }

  .page-nosotros #certificaciones .cert-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }

  .page-nosotros #alianzas .partner-levels { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (min-width: 75rem) {
  .page-nosotros #quienes, .page-nosotros #esencia, .page-nosotros #trayectoria, .page-nosotros #razones,
  .page-nosotros #certificaciones, .page-nosotros #alianzas, .page-nosotros #modelo, .page-nosotros #liderazgo {

    padding-block: var(--space-24);
  }
}

.page-nosotros #razones .about-card {
  text-align: left;
  align-items: flex-start;
  justify-content: flex-start;
}

.page-nosotros #razones .about-card__icon-wrap {
  align-self: flex-start;

  margin-inline: 0;
}
.page-nosotros #razones .about-card__title,
.page-nosotros #razones .about-card__desc { text-align: left; }

.page-nosotros #modelo .about-card {
  text-align: left;
  align-items: flex-start;
}

.page-nosotros #modelo .about-card__icon-wrap { align-self: flex-start; }
.page-nosotros #modelo .about-card__title,
.page-nosotros #modelo .about-card__desc { text-align: left; }

.page-nosotros #certificaciones .about-frameworks { text-align: left; }
.page-nosotros #certificaciones .frameworks__label { text-align: left; }
.page-nosotros #certificaciones .frameworks__logos {
  justify-content: flex-start;
  text-align: left;
}
.page-nosotros #certificaciones .frameworks__grid { justify-content: flex-start; }

.page-nosotros #alianzas .partner-level {
  align-items: flex-start;
  text-align: left;
}
.page-nosotros #alianzas .partner-level__note { text-align: left; }

#alianzas { overflow-x: clip; }

body:not(.page-nosotros) #alianzas .alliances__tier .marquee {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

#alianzas .alliances__tier-label { width: auto; margin-inline: 0; }

.problema__turn {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: clamp(48px, 5vw, 88px);
  margin-bottom: calc(-1 * clamp(56px, 6vw, 104px));
  padding: clamp(44px, 4.6vw, 76px) 0;

  background: var(--color-fg);
}
#problema { overflow-x: clip; }

.problema__turn > * {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-px);

  text-align: center;
}

.problema__turn-text {
  color: var(--color-fg-light);
  text-align: center;
}
.problema__turn-text .accent,
.problema__turn-text .accent .split-word { color: var(--color-primary); }

.practices__grid--six .practice[data-persona] {
  border-color: color-mix(in srgb, var(--p, var(--color-primary)) 34%, transparent) !important;

  background-image: linear-gradient(
      180deg,
      color-mix(in srgb, var(--p, var(--color-primary)) 12%, transparent),
      color-mix(in srgb, var(--p, var(--color-primary)) 4%, transparent)) !important;
}

.practices__grid--six .practice[data-persona]:hover {
  border-color: var(--p, var(--color-primary)) !important;
  background-image: linear-gradient(
      180deg,
      color-mix(in srgb, var(--p, var(--color-primary)) 20%, transparent),
      color-mix(in srgb, var(--p, var(--color-primary)) 7%, transparent)) !important;
}

.practices__grid--six .practice[data-persona] .practice__rank { color: var(--p, var(--color-primary)); }
.practices__grid--six .practice[data-persona] .practice__num {
  color: color-mix(in srgb, var(--p, var(--color-primary)) 78%, transparent);
}

.page-hero__bg-img { z-index: 0; opacity: 0.5; }
.page-hero__bg-grad,
.page-hero__bg-grid,
.page-hero__bg-drift { z-index: 1; }

:root { --subnav-h: 60px; }
@media (max-width: 700px) { :root { --subnav-h: 54px; } }

.page-hero--liga {
  min-height: calc(100svh - var(--header-h) - var(--subnav-h));
  display: flex;
  align-items: center;
}

.practices__grid--six .practice[data-persona="asha"] .practice__rank {
  color: var(--color-primary-soft);
}

.liga-row {
  position: absolute;

  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;

  gap: clamp(-96px, -4.4vw, -40px);
  pointer-events: none;

  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 82%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 82%, transparent 100%);
}
.liga-row__fig {
  position: relative;
  display: block;
  flex: 0 0 auto;

  height: min(70%, 660px, 34vw);
}
.liga-row__fig img {
  display: block;
  height: 100%;
  width: auto;

  opacity: 0.72;
  filter: saturate(0.95);
}

.liga-row__fig::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 4%;
  width: 118%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle,
              color-mix(in srgb, var(--p, var(--color-primary)) 42%, transparent) 0%,
              color-mix(in srgb, var(--p, var(--color-primary)) 14%, transparent) 42%,
              transparent 70%);
  filter: blur(26px);
  opacity: 0.55;
  z-index: -1;
}
.liga-row__fig--capitana::before { opacity: 0.7; }
.liga-row__fig[data-persona="ctem"]      { --p: var(--color-ctem); }
.liga-row__fig[data-persona="ngsoc"]     { --p: var(--color-ngsoc); }
.liga-row__fig[data-persona="csirt"]     { --p: var(--color-csirt); }
.liga-row__fig[data-persona="zerotrust"] { --p: var(--color-zerotrust); }
.liga-row__fig[data-persona="grc"]       { --p: var(--color-grc); }
.liga-row__fig[data-persona="asha"]      { --p: var(--color-primary); }

.liga-row__fig[data-persona="ngsoc"] {
  height: min(80%, 740px, 38vw);
}

.liga-row__fig--capitana {
  height: min(80%, 740px, 38vw);
  z-index: 1;
}
.liga-row__fig--capitana img { opacity: 0.86; filter: none; }

@media (max-width: 1100px) {
  .liga-row { justify-content: flex-end; padding-right: 2vw; }
  .liga-row__fig:not(.liga-row__fig--capitana) { display: none; }
  .liga-row__fig--capitana { height: min(74%, 560px); }
  .liga-row__fig--capitana img { opacity: 0.5; }
}
@media (max-width: 700px) {
  .liga-row { display: none; }
}

.practices__grid--six .practice__hero { height: 350px; }
@media (max-width: 900px) {
  .practices__grid--six .practice__hero { height: 300px; }
}

.page-hero:not(.page-hero--liga) {
  min-height: calc(100svh - var(--header-h) - clamp(48px, 5vh, 88px));
  display: flex;
  align-items: center;
}

.alliances.alliances--band {
  padding-top: clamp(44px, 3.4vw, 64px);
  padding-bottom: clamp(44px, 3.4vw, 64px);
}

.page-nosotros #trayectoria .metric {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 1vw, 16px);
}
.page-nosotros #trayectoria .metric__num,
.page-nosotros #trayectoria .metric__caption {
  text-align: center;
  margin-inline: auto;
}
.page-nosotros #trayectoria .metric__caption { max-width: 34ch; }

.industries .eyebrow::before,
.industries__head .eyebrow::before { content: none !important; }
.industries .eyebrow,
main > section[data-sol="1"] .industries__head .eyebrow,
main > section[data-sol="2"] .industries__head .eyebrow {
  background: color-mix(in srgb, var(--color-csirt) 14%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--color-csirt) 46%, transparent) !important;
  border-radius: 9999px !important;
  padding: 5px 12px 4px !important;
  color: var(--color-fg) !important;
  gap: 0 !important;

  display: inline-block !important;
  line-height: 1.6 !important;
}

.industries .section-title .accent,
.industries .section-title .accent .split-word {
  color: var(--color-csirt-soft) !important;
}

.industries__coverage-stat,
main > section[data-sol="1"] .industries__coverage-stat,
main > section[data-sol="clair"] .industries__coverage-stat {
  color: var(--color-csirt-soft) !important;
  background: color-mix(in srgb, var(--color-csirt) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-csirt) 40%, transparent);
  border-radius: 9999px;
  padding: 3px 12px 2px;
}

@media (min-width: 920px) {
  #ngsoc .method__media img { max-width: 460px; }
}

.page-hero--liga .page-hero__bg-drift { display: none; }

.liga-row__fig img { opacity: 0.58; }
.liga-row__fig--capitana img { opacity: 0.72; }

.industries .industry-card:hover {
  border-color: color-mix(in srgb, var(--color-csirt) 62%, transparent) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.40),
              0 0 32px color-mix(in srgb, var(--color-csirt) 26%, transparent) !important;
}
.industries .industry-card::after {
  border-bottom-color: var(--color-csirt) !important;
  border-left-color: var(--color-csirt) !important;
}

.page-hero--liga .page-hero__bg-grid {
  -webkit-mask-image: none;
          mask-image: none;
}

.presence__cards > .presence__group,
.presence__cards > .presence__fallback,
.presence__cards > .presence__float--expanding {
  min-height: 12rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.site-footer__coverage strong {
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary-deep);
}
.site-footer__coverage-sub {
  display: inline-block;
  margin-top: 6px;
  opacity: 0.82;
}

.site-footer__contact-cta {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin-top: var(--space-4);
  padding: 6px 14px 5px;
  border-radius: 9999px;
  border: 1px solid color-mix(in srgb, var(--color-primary) 46%, transparent);
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background var(--duration-normal) var(--ease-out),
              border-color var(--duration-normal) var(--ease-out),
              color var(--duration-normal) var(--ease-out);
}
.site-footer__contact-cta:hover,
.site-footer__contact-cta:focus-visible {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-fg) !important;
}
@media (prefers-reduced-motion: reduce) {
  .site-footer__contact-cta { transition: none; }
}

@media (min-width: 62rem) {

  .scene-hacked--anillos .how-stats {
    justify-content: space-between;
    column-gap: 0;
  }
}

.hero__bg-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg-video { display: none; }
}

.page-nosotros #trayectoria .metric__caption { color: var(--color-muted-light); }

.page-nosotros #trayectoria .metric__num,
.page-nosotros #trayectoria .metric__num span:not(.unit) {
  color: var(--color-fg-light);

  -webkit-text-fill-color: var(--color-fg-light);
}
.page-nosotros #trayectoria .metric__num .unit {
  color: var(--color-primary-deep);
  -webkit-text-fill-color: var(--color-primary-deep);
}

.page-nosotros #trayectoria .metric__num span { text-shadow: none; }

main > section[data-sol="clair"] .frameworks__logos .framework-logo img,
main > section[data-sol="clair"] .framework-logo img {
  filter: brightness(0) !important;
  opacity: 0.78;
}
main > section[data-sol="clair"] .framework-logo:hover img { opacity: 1; }

@media (min-width: 62rem) {

  .page-nosotros #esencia .essence-duo {
    display: grid;

    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(40px, 5vw, 96px);
    align-items: start;
  }

  .page-nosotros #esencia .essence-mark { margin: 0; }

  .page-nosotros #esencia .essence-body > p,
  .page-nosotros #esencia .essence-body > .essence-pull { max-width: 68ch; }
}

@media (min-width: 62rem) {
  .page-nosotros #certificaciones .cert-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 32px);
  }
}
.page-nosotros #certificaciones .cert-card {
  padding: clamp(20px, 2vw, 30px) clamp(22px, 2.2vw, 34px);
  gap: clamp(16px, 1.6vw, 24px);
  align-items: center;
}
.page-nosotros #certificaciones .cert-card__badge {
  width: clamp(48px, 4.4vw, 72px);
  height: auto;
  max-height: none;
}
.page-nosotros #certificaciones .cert-card strong {
  font-size: clamp(17px, 1.5vw, 23px);
  line-height: 1.2;
}
.page-nosotros #certificaciones .cert-card span {
  font-size: clamp(12px, 1vw, 14px);
}

.solpanel--razones .solpanel__tab-method,
.solpanel--razones .solpanel__pane-method {
  color: var(--color-primary-soft);
  opacity: 1;
}
.solpanel--razones .solpanel__tab[aria-selected="true"] .solpanel__tab-method {
  color: var(--color-primary-soft);
}

main > section[data-sol="clair"]

@media (min-width: 62rem) {

  .page-nosotros #esencia .essence-duo {
    grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  }
}

.final-cta--azul .final-cta__title .accent,
.final-cta--azul .final-cta__title .final-cta__accent,
.final-cta--azul .final-cta__title .accent .split-word {
  color: var(--color-csirt-soft) !important;
  -webkit-text-fill-color: var(--color-csirt-soft) !important;
}
.final-cta--azul .btn-primary {
  background: var(--color-csirt) !important;
  border-color: var(--color-csirt) !important;
  color: #FFFFFF !important;
}

.final-cta--azul .btn-primary:hover,
.final-cta--azul .btn-primary:focus-visible {
  background: var(--color-csirt) !important;
  border-color: var(--color-csirt) !important;
  color: var(--color-fg-light) !important;
  -webkit-text-fill-color: var(--color-fg-light) !important;
}

.final-cta--azul .final-cta__corner {
  border-color: color-mix(in srgb, var(--color-csirt) 62%, transparent) !important;
}
.final-cta--azul .final-cta__meta-dot {
  background: var(--color-csirt) !important;
  box-shadow: 0 0 8px var(--color-csirt) !important;
}

.final-cta--azul .final-cta__inner::before,
.final-cta--azul .final-cta__inner::after {
  border-color: var(--color-csirt) !important;
}
.final-cta--azul .final-cta__eyebrow .pulse {
  background: var(--color-csirt) !important;
}

.page-nosotros #razones { position: relative; overflow: hidden; }
#razones .solpanel__fond {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
#razones .solpanel__fond span {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity var(--duration-slow, 420ms) var(--ease-out);
}

#razones .solpanel__fond span.is-on { opacity: 0.20; }

#razones .solpanel__fond span[data-bg="zerotrust"] { background-image: url('../assets/images/bg/razones/zerotrust.webp'); }
#razones .solpanel__fond span[data-bg="ngsoc"] { background-image: url('../assets/images/bg/razones/ngsoc.webp'); }
#razones .solpanel__fond span[data-bg="grc"] { background-image: url('../assets/images/bg/razones/grc.webp'); }
#razones .solpanel__fond span[data-bg="csirt"] { background-image: url('../assets/images/bg/razones/csirt.webp'); }
#razones .solpanel__fond span[data-bg="ctem"] { background-image: url('../assets/images/bg/razones/ctem-nuit.webp'); }
#razones .solpanel__fond span[data-bg="bridge"] { background-image: url('../assets/images/bg/razones/bridge.webp'); }
@media (prefers-reduced-motion: reduce) {
  #razones .solpanel__fond span { transition: none; }
}

.page-nosotros #razones > .container { position: relative; z-index: 1; }

#razones .solpanel__tab[data-persona="ctem"],      #razones .solpanel__pane[data-persona="ctem"]      { --p: var(--color-ctem); }
#razones .solpanel__tab[data-persona="ngsoc"],     #razones .solpanel__pane[data-persona="ngsoc"]     { --p: var(--color-ngsoc); }
#razones .solpanel__tab[data-persona="csirt"],     #razones .solpanel__pane[data-persona="csirt"]     { --p: var(--color-csirt); }
#razones .solpanel__tab[data-persona="zerotrust"], #razones .solpanel__pane[data-persona="zerotrust"] { --p: var(--color-zerotrust); }
#razones .solpanel__tab[data-persona="grc"],       #razones .solpanel__pane[data-persona="grc"]       { --p: var(--color-grc); }
#razones .solpanel__tab[data-persona="bridge"],    #razones .solpanel__pane[data-persona="bridge"]    { --p: var(--color-primary); }

#razones .solpanel__tab-method,
#razones .solpanel__pane-method { color: var(--p); opacity: 1; }
#razones .solpanel__tab[data-persona="bridge"] .solpanel__tab-method,
#razones .solpanel__pane[data-persona="bridge"] .solpanel__pane-method { color: var(--color-primary-soft); }

.essence-mark__word { font-size: clamp(56px, 5.4vw, 96px) !important; }

.page-nosotros .page-hero {
  min-height: calc(100svh - var(--header-h) - var(--subnav-h));
}

#presencia .country__since:empty { display: none; }

main > section[data-sol="0"] > .container .eyebrow,
main > section[data-sol="0"] .section-head .eyebrow {
  display: inline-block;
  background: rgba(23, 23, 23, 0.55);
  border: 1px solid rgba(220, 38, 38, 0.42);
  border-radius: 9999px;
  padding: 5px 12px 4px;
  color: rgba(248, 250, 252, 0.96);
}

#casos-exito .section-title .accent,
#casos-exito .section-title .accent .split-word {
  color: var(--color-grc) !important;
  -webkit-text-fill-color: var(--color-grc) !important;
}
#casos-exito .cases__tab[aria-selected="true"],
#casos-exito .cases__tab.is-active {
  border-color: var(--color-grc) !important;
  color: var(--color-fg) !important;
}
#casos-exito .case-fig__num,
#casos-exito .case-fig__unit {
  color: var(--color-grc) !important;
  -webkit-text-fill-color: var(--color-grc) !important;
}
#casos-exito .ring-stat__dial,
#casos-exito .case-fig__ring { --p: var(--color-grc); }

#razones .section-title .accent,
#razones .section-title .accent .split-word {
  color: var(--color-csirt-soft) !important;
  -webkit-text-fill-color: var(--color-csirt-soft) !important;
}
#razones .eyebrow {
  background: color-mix(in srgb, var(--color-csirt) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--color-csirt) 46%, transparent) !important;
  color: var(--color-csirt-soft) !important;
}

@media (min-width: 62rem) {
  .page-nosotros #esencia .essence-duo {
    grid-template-columns: minmax(0, 1.32fr) minmax(220px, 0.68fr);
  }
}
.essence-mark__word { font-size: clamp(34px, 3vw, 52px) !important; }
.essence-mark__lang { font-size: clamp(10px, 0.78vw, 12px) !important; }

.essence-body p.essence-motto,
.essence-lead p.essence-motto {
  margin: 0 0 clamp(20px, 2vw, 32px);
  font-size: clamp(32px, 3.6vw, 60px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.015em;

  max-width: none;
}
main > section[data-sol="clair"] .essence-body p.essence-motto,
main > section[data-sol="clair"] .essence-lead p.essence-motto { color: var(--color-primary-deep); }

@media (min-width: 62rem) {

  .page-nosotros #esencia .essence-duo {
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
    align-items: start;
  }
}
.essence-lead p.essence-motto {
  margin: 0;
  font-size: clamp(32px, 3.4vw, 58px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.015em;
  color: var(--color-primary-soft);

  max-width: none;
}
main > section[data-sol="clair"] .essence-lead p.essence-motto { color: var(--color-primary-deep); }

.essence-body .essence-mark { margin: 0 0 clamp(20px, 2vw, 30px); }

#casos-exito .eyebrow {
  background: color-mix(in srgb, var(--color-grc) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--color-grc) 46%, transparent) !important;
  color: var(--color-grc) !important;
}
#casos-exito .cases__tab.is-active,
#casos-exito .cases__tab[aria-selected="true"] {
  border-color: var(--color-grc) !important;
  background: color-mix(in srgb, var(--color-grc) 10%, transparent) !important;
}
#casos-exito .ring-stat,
#casos-exito .case-ring,
#casos-exito [class*="ring"] { --p: var(--color-grc); --ring: var(--color-grc); }
#casos-exito .ring-stat__dial,
#casos-exito .case-fig__dial {
  background: conic-gradient(var(--color-grc) calc(var(--fill, 0) * 1%), rgba(248,250,252,0.10) 0) !important;
}

.page-nosotros #certificaciones .section-head { text-align: center; }
.page-nosotros #certificaciones .section-head .section-title,
.page-nosotros #certificaciones .section-head .section-lede { margin-inline: auto; text-align: center; }
.page-nosotros #certificaciones .section-head .eyebrow { margin-inline: auto; }

.page-nosotros #certificaciones .cert-card {
  justify-content: center;
  padding: clamp(26px, 2.6vw, 40px);
}
.page-nosotros #certificaciones .cert-card__badge {
  width: clamp(92px, 9vw, 150px);
  height: auto;
  max-height: none;
}

.page-nosotros #certificaciones .about-frameworks { width: 100%; }
.page-nosotros #certificaciones .frameworks__label { text-align: center; }
.page-nosotros #certificaciones .frameworks__logos {
  display: flex;
  flex-wrap: wrap;

  justify-content: center;
  align-items: center;

  gap: clamp(48px, 11vw, 200px);
  width: 100%;
}
.page-nosotros #certificaciones .frameworks__grid {
  justify-content: center;
  width: 100%;
}

#soluciones .section-title .accent,
#soluciones .section-title .accent .split-word {
  color: var(--color-csirt-soft) !important;
  -webkit-text-fill-color: var(--color-csirt-soft) !important;
}
#soluciones > .container > .section-head .eyebrow,
#soluciones .section-head .eyebrow {
  background: color-mix(in srgb, var(--color-csirt) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--color-csirt) 46%, transparent) !important;
  color: var(--color-csirt-soft) !important;
}

.page-nosotros #certificaciones .section-head {
  margin-inline: auto;
  max-width: min(100%, 1060px);
}

.page-nosotros #certificaciones .frameworks__logos img {
  height: clamp(30px, 3vw, 52px) !important;
  width: auto !important;
  max-height: none !important;
  max-width: none !important;
}

.page-nosotros #certificaciones .section-title .accent,
.page-nosotros #certificaciones .section-title .accent .split-word {
  color: var(--color-grc-ink) !important;
  -webkit-text-fill-color: var(--color-grc-ink) !important;
}
.page-nosotros #certificaciones .section-head .eyebrow {
  background: color-mix(in srgb, var(--color-grc) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--color-grc) 46%, transparent) !important;

  color: color-mix(in srgb, var(--color-grc-ink) 78%, black) !important;
}

#casos-exito .case-ring__dial {
  background-image: conic-gradient(from 220deg,
    var(--color-grc) calc(var(--fill, 0) * 1%),
    rgba(248, 250, 252, 0.16) 0deg) !important;
}

#casos-exito .case-flow__tag--before {
  background: rgba(248, 250, 252, 0.07) !important;
  border-color: rgba(248, 250, 252, 0.22) !important;
  color: var(--color-muted-lift) !important;
}

@media (min-width: 62rem) {
  .page-nosotros #esencia .essence-lead { align-self: center; }
}

.liga-constellation__node:hover .liga-constellation__label,
.liga-constellation__node:focus-visible .liga-constellation__label {
  color: var(--persona-color, var(--color-primary));
}

.liga-constellation__node[data-persona="asha"]:hover .liga-constellation__label,
.liga-constellation__node[data-persona="asha"]:focus-visible .liga-constellation__label {
  color: var(--color-primary-soft);
}
.liga-constellation__node:hover .liga-constellation__dot {
  background: var(--persona-color, var(--color-primary));
  box-shadow: 0 0 10px var(--persona-color, var(--color-primary));
}

.liga-row__fig img,
.liga-row__fig::before {
  transition: opacity var(--duration-normal) var(--ease-out),
              filter var(--duration-normal) var(--ease-out),
              transform var(--duration-normal) var(--ease-out);
}

.page-hero--liga:has(.liga-constellation__node[data-persona="asha"]:hover) .liga-row__fig[data-persona="asha"] img,
.page-hero--liga:has(.liga-constellation__node[data-persona="asha"]:focus-visible) .liga-row__fig[data-persona="asha"] img {
  opacity: 1;
  filter: none;
}
.page-hero--liga:has(.liga-constellation__node[data-persona="asha"]:hover) .liga-row__fig[data-persona="asha"]::before,
.page-hero--liga:has(.liga-constellation__node[data-persona="asha"]:focus-visible) .liga-row__fig[data-persona="asha"]::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}
.page-hero--liga:has(.liga-constellation__node[data-persona="zerotrust"]:hover) .liga-row__fig[data-persona="zerotrust"] img,
.page-hero--liga:has(.liga-constellation__node[data-persona="zerotrust"]:focus-visible) .liga-row__fig[data-persona="zerotrust"] img {
  opacity: 1;
  filter: none;
}
.page-hero--liga:has(.liga-constellation__node[data-persona="zerotrust"]:hover) .liga-row__fig[data-persona="zerotrust"]::before,
.page-hero--liga:has(.liga-constellation__node[data-persona="zerotrust"]:focus-visible) .liga-row__fig[data-persona="zerotrust"]::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}
.page-hero--liga:has(.liga-constellation__node[data-persona="ngsoc"]:hover) .liga-row__fig[data-persona="ngsoc"] img,
.page-hero--liga:has(.liga-constellation__node[data-persona="ngsoc"]:focus-visible) .liga-row__fig[data-persona="ngsoc"] img {
  opacity: 1;
  filter: none;
}
.page-hero--liga:has(.liga-constellation__node[data-persona="ngsoc"]:hover) .liga-row__fig[data-persona="ngsoc"]::before,
.page-hero--liga:has(.liga-constellation__node[data-persona="ngsoc"]:focus-visible) .liga-row__fig[data-persona="ngsoc"]::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}
.page-hero--liga:has(.liga-constellation__node[data-persona="csirt"]:hover) .liga-row__fig[data-persona="csirt"] img,
.page-hero--liga:has(.liga-constellation__node[data-persona="csirt"]:focus-visible) .liga-row__fig[data-persona="csirt"] img {
  opacity: 1;
  filter: none;
}
.page-hero--liga:has(.liga-constellation__node[data-persona="csirt"]:hover) .liga-row__fig[data-persona="csirt"]::before,
.page-hero--liga:has(.liga-constellation__node[data-persona="csirt"]:focus-visible) .liga-row__fig[data-persona="csirt"]::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}
.page-hero--liga:has(.liga-constellation__node[data-persona="ctem"]:hover) .liga-row__fig[data-persona="ctem"] img,
.page-hero--liga:has(.liga-constellation__node[data-persona="ctem"]:focus-visible) .liga-row__fig[data-persona="ctem"] img {
  opacity: 1;
  filter: none;
}
.page-hero--liga:has(.liga-constellation__node[data-persona="ctem"]:hover) .liga-row__fig[data-persona="ctem"]::before,
.page-hero--liga:has(.liga-constellation__node[data-persona="ctem"]:focus-visible) .liga-row__fig[data-persona="ctem"]::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}
.page-hero--liga:has(.liga-constellation__node[data-persona="grc"]:hover) .liga-row__fig[data-persona="grc"] img,
.page-hero--liga:has(.liga-constellation__node[data-persona="grc"]:focus-visible) .liga-row__fig[data-persona="grc"] img {
  opacity: 1;
  filter: none;
}
.page-hero--liga:has(.liga-constellation__node[data-persona="grc"]:hover) .liga-row__fig[data-persona="grc"]::before,
.page-hero--liga:has(.liga-constellation__node[data-persona="grc"]:focus-visible) .liga-row__fig[data-persona="grc"]::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}

.page-nosotros #certificaciones .cert-card:hover,
.page-nosotros #certificaciones .cert-card:focus-within {
  border-color: var(--color-grc) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10),
              0 0 0 1px color-mix(in srgb, var(--color-grc) 40%, transparent) !important;
}

.essence-lead p.essence-motto { color: var(--color-fg); }

.essence-lead p.essence-motto .accent { color: var(--color-primary-lift); }
main > section[data-sol="clair"] .essence-lead p.essence-motto { color: var(--color-fg-light); }

main > section[data-sol="clair"] .essence-lead p.essence-motto .accent { color: var(--color-primary-deep); }

.cases__story--steps {
  display: grid;
  gap: clamp(18px, 1.8vw, 28px);
}
.case-step {
  padding: clamp(16px, 1.6vw, 24px) clamp(18px, 1.8vw, 26px);
  border: 1px solid rgba(248, 250, 252, 0.10);
  border-left-width: 3px;
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, 0.02);
}
.case-step__tag {
  margin: 0 0 clamp(10px, 1vw, 14px);
  font: 700 11px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.case-step__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.case-step__list li {
  position: relative;
  padding-left: 16px;
  font-size: var(--text-sm);
  line-height: 1.55;
  color: var(--color-muted-lift);
}

.case-step__list li::before {
  content: '—';
  position: absolute;
  left: 0;
  opacity: 0.55;
}

.case-step--antecedentes { border-left-color: rgba(248, 250, 252, 0.28); }
.case-step--antecedentes .case-step__tag { color: var(--color-muted-lift); }
.case-step--solucion,
.case-step--resultado { border-left-color: var(--color-grc); }
.case-step--solucion .case-step__tag,
.case-step--resultado .case-step__tag { color: var(--color-grc); }

.case-step--resultado { background: color-mix(in srgb, var(--color-grc) 6%, transparent); }

.hero__subtitle {
  margin-inline: 0 auto;
  text-align: left;
}

.hero__support--lede {
  color: var(--color-fg);
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.62;
  max-width: 62ch;
}

#problema .symptom {
  padding: clamp(16px, 1.5vw, 22px) clamp(18px, 1.7vw, 24px);
  border: 1px solid rgba(220, 38, 38, 0.30);
  border-left-width: 1px;
  border-radius: var(--radius-md);
  background: linear-gradient(180deg,
              rgba(220, 38, 38, 0.10) 0%,
              rgba(220, 38, 38, 0.02) 62%,
              transparent 100%),
              rgba(16, 16, 16, 0.60);
  transition: border-color var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out),
              translate var(--duration-normal) var(--ease-out);
}
#problema .symptom:hover {
  border-color: rgba(220, 38, 38, 0.62);

  translate: 0 -2px !important;
}
#problema .symptom__text { color: var(--color-fg); font-weight: 600; }

.practices__grid--six .practice[data-persona] {
  border-color: color-mix(in srgb, var(--p, var(--color-primary)) 46%, transparent) !important;
  border-radius: var(--radius-lg);
}

.versus__col {
  transition: border-color var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out),
              translate var(--duration-normal) var(--ease-out);
}

.versus__col--them:hover {
  border-color: rgba(248, 250, 252, 0.30);
  background: rgba(248, 250, 252, 0.04);
  translate: 0 -3px !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
}
.versus__col--us:hover {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 9%, transparent);
  translate: 0 -3px !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34),
              0 0 0 1px color-mix(in srgb, var(--color-primary) 34%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  #problema .symptom, .versus__col { transition: none; }
  #problema .symptom:hover, .versus__col:hover { translate: none !important; }
}

.hero__support--lede { margin-bottom: clamp(28px, 2.6vw, 40px); }

.problema__turn-text .accent,
.problema__turn-text .accent .split-word {

  color: var(--color-csirt) !important;
  -webkit-text-fill-color: var(--color-csirt) !important;
}

.case-fig__num--mot {

  font-size: clamp(22px, 2.6vw, 42px) !important;

  line-height: 1;
  letter-spacing: -0.01em;

  flex-wrap: wrap;
  max-width: 12ch;
}

.page-nosotros #modelo .about-card {
  padding: clamp(20px, 1.9vw, 28px) clamp(20px, 1.9vw, 28px);
  border: 1px solid rgba(220, 38, 38, 0.30) !important;
  border-radius: var(--radius-md);
  background: linear-gradient(180deg,
              rgba(220, 38, 38, 0.10) 0%,
              rgba(220, 38, 38, 0.02) 62%,
              transparent 100%),
              rgba(16, 16, 16, 0.55) !important;
  transition: border-color var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out),
              translate var(--duration-normal) var(--ease-out);
}
.page-nosotros #modelo .about-card:hover {
  border-color: rgba(220, 38, 38, 0.62) !important;

  translate: 0 -2px !important;
}

.page-nosotros #modelo .about-card__icon-wrap {
  width: 34px !important;
  height: 34px !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: clamp(10px, 1vw, 14px);
}
.page-nosotros #modelo .about-card__icon-wrap svg { width: 22px; height: 22px; }
.page-nosotros #modelo .about-card__title { font-size: var(--text-lg); }
@media (prefers-reduced-motion: reduce) {
  .page-nosotros #modelo .about-card { transition: none; }
  .page-nosotros #modelo .about-card:hover { translate: none !important; }
}

.opcard {
  transition: border-color var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out),
              translate var(--duration-normal) var(--ease-out);
}
.opcard:hover {
  border-color: rgba(220, 38, 38, 0.62) !important;
  background: color-mix(in srgb, var(--color-primary) 8%, transparent) !important;
  translate: 0 -2px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.30);
}
@media (prefers-reduced-motion: reduce) {
  .opcard { transition: none; }
  .opcard:hover { translate: none !important; }
}

#caso-2-pane .cases__figures {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(26px, 2.8vw, 44px) clamp(20px, 2.4vw, 40px);

}
#caso-2-pane .case-fig {
  display: grid;
  gap: 6px;
  padding-left: 0;
  border-left: 0;
}

#caso-2-pane .case-fig__num--mot { max-width: none; }
#caso-2-pane .case-fig__label { max-width: 34ch; }

.page-nosotros #modelo .about-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: clamp(14px, 1.3vw, 20px);
  row-gap: 6px;
  align-items: start !important;
}
.page-nosotros #modelo .about-card__icon-wrap {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0 !important;
  align-self: start !important;
  width: 26px !important;
  height: 26px !important;

  margin-top: 3px !important;
}

.page-nosotros #modelo .about-card__icon-wrap svg {
  width: 26px;
  height: 26px;
  color: var(--color-primary-soft) !important;
  opacity: 1 !important;
}
.page-nosotros #modelo .about-card__title { grid-column: 2; grid-row: 1; margin: 0; }
.page-nosotros #modelo .about-card__desc  { grid-column: 2; grid-row: 2; }

#caso-2-pane .case-fig__label {
  margin: 0;
  max-width: 26ch;
  font-family: var(--font-mono);
  font-size: clamp(10px, 0.8vw, 12px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.4;
}

main > section[data-sol="0"] > .container .eyebrow,
main > section[data-sol="0"] .section-head .eyebrow {
  background:
    linear-gradient(rgba(220, 38, 38, 0.10), rgba(220, 38, 38, 0.10)),
    rgba(23, 23, 23, 0.55);
}

#sistema .section-lede { max-width: 68ch; }

.page-nosotros #esencia .essence-body { max-width: 68ch; }
.page-nosotros #esencia .essence-body > p { max-width: none; }
.essence-body .essence-mark {
  align-items: center;
  text-align: center;
  max-width: none;
}

.page-nosotros #modelo .about-card__icon-wrap {
  align-self: center !important;
  margin-top: 0 !important;
}

.oprail__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(24px, 3vw, 48px);
  margin-bottom: clamp(28px, 3vw, 44px);
}
.oprail__top > .operacion__head {
  flex: 1 1 420px;
  max-width: 640px;
  margin-bottom: 0;
  text-align: left;
}

.oprail__ctrl {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.4vw, 20px);
  flex: 0 0 auto;
  padding-bottom: 4px;
}
.oprail__ctrl[hidden] { display: none; }

.oprail__count {
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  color: var(--color-muted);
  white-space: nowrap;
}

.oprail__cur { color: var(--color-fg); }
.oprail__slash { margin: 0 0.35em; opacity: 0.5; }

.oprail__bar {
  position: relative;
  width: clamp(56px, 8vw, 120px);
  height: 2px;
  background: var(--color-border-strong);
  overflow: hidden;
}

.oprail__fill {
  --oprail-avance: 0;
  position: absolute;
  inset: 0;
  background: var(--color-primary);
  transform-origin: left center;
  transform: scaleX(var(--oprail-avance));
  transition: transform 120ms linear;
}

.oprail__arrows { display: flex; gap: 8px; }
.oprail__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.03);
  color: var(--color-fg);
  cursor: pointer;
  transition: border-color var(--duration-normal) var(--ease-out),
              background var(--duration-normal) var(--ease-out),
              opacity var(--duration-normal) var(--ease-out);
}
.oprail__arrow .icon { width: 18px; height: 18px; }

.oprail__arrow--prev .icon { transform: scaleX(-1); }
.oprail__arrow:hover:not(:disabled) {
  border-color: var(--color-primary);
  background: rgba(220, 38, 38, 0.12);
}
.oprail__arrow:disabled { opacity: 0.32; cursor: default; }

.oprail {
  --oprail-marge: max(var(--container-px),
                      calc((100% - var(--container-max)) / 2 + var(--container-px)));
}

.oprail__track {
  display: flex;
  gap: clamp(16px, 1.93vw, 37px);
  margin: 0;
  padding: 4px var(--oprail-marge);
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;

  scroll-padding-left: var(--oprail-marge);
  scrollbar-width: none;
}
.oprail__track::-webkit-scrollbar { display: none; }
.oprail__track:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 4px;
}

.opcard {
  flex: 0 0 clamp(272px, 31.7vw, 500px);
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 3vw, 56px);
  min-height: clamp(300px, 24vw, 400px);
  padding: clamp(22px, 2vw, 34px);
  background: var(--color-plate);
  border: 1px solid var(--color-border-strong);
  border-radius: 0;
  scroll-snap-align: start;
}
.opcard__idx {
  font-family: var(--font-mono);
  font-size: clamp(40px, 4.2vw, 68px);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--color-primary);
}

.opcard__body { margin-top: auto; }
.opcard__title {
  margin: 0 0 10px;
  font-size: clamp(17px, 1.15vw, 21px);
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-fg);
}
.opcard__text {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--color-muted);
}

#operacion .flow { margin-bottom: clamp(28px, 3vw, 44px); }

@media (max-width: 720px) {
  .oprail__top { align-items: flex-start; }
  .oprail__ctrl { width: 100%; justify-content: flex-start; }
}

.diferenciador__cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(24px, 2.6vw, 40px);
}

.site-footer__coverage strong { margin-top: 12px; }
.site-footer__coverage strong:first-child { margin-top: 0; }
.site-footer__coverage span {
  display: block;
  opacity: 0.9;
}

.site-footer__badges { gap: 12px; }

.site-footer .social-icons { gap: 10px; margin-top: var(--space-5); }

.site-footer .social-icon {
  width: 44px;
  height: 44px;
  color: var(--color-fg-light);
  border-color: rgba(16, 16, 16, 0.18);
}
.site-footer .social-icon:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.site-footer .social-icon .icon { width: 20px; height: 20px; }

.alliances__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(14px, 1.4vw, 24px);
}
.alliances__row .alliance-card {
  flex: 0 1 clamp(120px, 18%, 232px);
}

.liga-row__fig:hover img {
  opacity: 1;
  filter: none;
}
.liga-row__fig:hover::before {
  opacity: 1;
  transform: translateX(-50%) scale(1.12);
}

.page-hero--liga .page-hero__inner { pointer-events: none; }

.page-hero--liga .liga-constellation,
.page-hero--liga .page-hero__actions { pointer-events: auto; }
.page-hero--liga .liga-row__fig { pointer-events: auto; }

.page-nosotros #alianzas .section-head--rail {
  text-align: center;
  margin-inline: auto;
}
.page-nosotros #alianzas .section-head--rail .section-title,
.page-nosotros #alianzas .section-head--rail .section-lede {
  margin-inline: auto;
}
.page-nosotros #alianzas .alliances__tier-label { text-align: center; }

.fantastic4 { margin-bottom: clamp(36px, 3.6vw, 60px); }

.fantastic4__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: clamp(14px, 1.6vw, 26px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.fantastic4__item {
  display: flex;
  align-items: center;
  justify-content: center;

  aspect-ratio: 16 / 9;
  padding: clamp(14px, 1.4vw, 22px);
  background: #F8FAFC;
  border: 1px solid rgba(16, 16, 16, 0.10);
  border-radius: var(--radius-md);
  transition: border-color var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out),
              translate var(--duration-normal) var(--ease-out);
}

.fantastic4__item:hover {
  border-color: rgba(220, 38, 38, 0.50);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
  translate: 0 -2px !important;
}

.fantastic4__logo {
  max-width: 84%;
  max-height: 62%;
  width: auto;
  height: auto;
  object-fit: contain;

  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .fantastic4__item { transition: none; }
  .fantastic4__item:hover { translate: none !important; }
}

.partner-level[data-brand="netskope"] .partner-level__logo {

  width: 58%;
  max-width: 58%;

  max-height: 62px;
}

.opcard {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.opcard::before,
.opcard::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.opcard::before {
  background-size: cover;
  background-position: center;
  opacity: 0.42;
  transition: opacity var(--duration-normal) var(--ease-out);
}
.opcard::after {

  background: linear-gradient(to top,
              rgba(0, 0, 0, 0.92) 0%,
              rgba(0, 0, 0, 0.82) 34%,
              rgba(0, 0, 0, 0.38) 62%,
              rgba(0, 0, 0, 0.08) 100%);
}

.opcard__idx,
.opcard__body {
  position: relative;
  z-index: 1;
}

.opcard:hover::before { opacity: 0.55; }

.opcard[data-bg="oficina"]::before    { background-image: url('../assets/images/bg/operamos/oficina.webp'); }
.opcard[data-bg="ingenieria"]::before { background-image: url('../assets/images/bg/operamos/ingenieria.webp'); }
.opcard[data-bg="tecnologia"]::before { background-image: url('../assets/images/bg/operamos/tecnologia.webp'); }
.opcard[data-bg="api"]::before        { background-image: url('../assets/images/bg/operamos/api.webp'); }

@media (prefers-reduced-motion: reduce) {
  .opcard::before { transition: none; }
}

#caso-2-pane .case-fig--mot { text-align: start; }

.opcard__idx { display: none; }

.cases__pane .cases__figures {
  align-self: start;
  align-content: start;
}

#problema .section-head .section-title { margin-bottom: 16px; }
#problema .section-head .section-lede { margin-top: 0; margin-bottom: 2px; }
#problema .section-head .section-lede + .section-lede { margin-top: 2px; }

.page-nosotros #modelo .about-card__icon-wrap {
  width: 36px !important;
  height: 36px !important;
}
.page-nosotros #modelo .about-card__icon-wrap svg {
  width: 36px !important;
  height: 36px !important;
  stroke-width: 1.4;
}

#areas .about-card {
  --plq: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--plq) 42%, transparent);
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--plq) 14%, transparent),
      color-mix(in srgb, var(--plq) 6%, transparent)),
    rgba(23, 23, 23, 0.55);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 1px color-mix(in srgb, var(--plq) 8%, transparent),
    0 12px 32px -16px color-mix(in srgb, var(--plq) 35%, transparent);
  transition: border-color var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out),
              translate var(--duration-normal) var(--ease-out);
}

#areas .about-card:hover {
  border-color: color-mix(in srgb, var(--plq) 62%, transparent);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    0 0 0 1px color-mix(in srgb, var(--plq) 14%, transparent),
    0 16px 38px -14px color-mix(in srgb, var(--plq) 45%, transparent);
  translate: 0 -2px !important;
}
@media (prefers-reduced-motion: reduce) {
  #areas .about-card { transition: none; }
  #areas .about-card:hover { translate: none !important; }
}

@media (min-width: 960px) {
  .contact-grid > .contact-info {
    position: sticky;
    top: calc(var(--header-h) + var(--subnav-h, 0px) + 16px);
  }
}

.contact-info__countries .contact-info__countries-label {
  display: inline-block;
  margin-bottom: var(--space-2);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary-soft);
}

.page-hero--liga .liga-row__fig[data-persona] { cursor: pointer; }

#csirt-form .section-head {
  margin-inline-start: 0;
  margin-inline-end: auto;
  text-align: left;
}
#csirt-form .section-head .eyebrow { margin-inline: 0; }
#bolsa-form .section-head {
  margin-inline: auto;
  text-align: center;
}
#bolsa-form .section-head .eyebrow { margin-inline: auto; }
#bolsa-form .section-head .section-title,
#bolsa-form .section-head .section-lede { margin-inline: auto; }

#csirt-form {
  --color-primary: var(--color-csirt);
  --color-primary-deep: var(--color-csirt-ink);
  --color-primary-soft: var(--color-csirt-soft);
  --color-primary-lift: var(--color-csirt-soft);
  --plq: var(--color-csirt);
}

#csirt-form .contact-info { border-top-color: var(--color-csirt); }

#csirt-form .csirt-form__step-num,
#csirt-form .csirt-form__group-title,
#csirt-form .form-group__num {
  color: var(--color-csirt) !important;
}

#csirt-form .btn-primary,
#csirt-form .btn-primary span,
#csirt-form .csirt-form__submit,
#csirt-form button[type="submit"] {
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
}
#csirt-form .btn-primary .icon,
#csirt-form .csirt-form__submit .icon,
#csirt-form button[type="submit"] .icon { color: #101010 !important; }

#brief .section-head,
#brief .section-head > * {
  margin-inline-start: 0;
  margin-inline-end: 0;
  text-align: left;
}
#brief .section-lede { max-width: 68ch; }

#brief .rfc-row {
  justify-content: flex-start;
  margin-inline: 0;
}

.bolsa-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 2.6vw, 40px) clamp(32px, 4.2vw, 80px);

  align-items: stretch;

  max-width: 1400px;
  margin-bottom: clamp(32px, 3.6vw, 60px);
}

.bolsa-top > .section-head { grid-column: 1; grid-row: 1; }
.bolsa-top > form { grid-column: 1; grid-row: 2; min-width: 0; }
.bolsa-top > .bolsa-photo { grid-column: 2; grid-row: 2; }
@media (min-width: 1360px) {

  .bolsa-top { grid-template-columns: minmax(0, 820px) minmax(260px, 1fr); }
}
#bolsa-form .bolsa-top .section-head {
  margin-inline: 0;
  text-align: left;
  max-width: 62ch;
}
#bolsa-form .bolsa-top .section-head .eyebrow,
#bolsa-form .bolsa-top .section-head .section-title,
#bolsa-form .bolsa-top .section-head .section-lede { margin-inline: 0; }

.bolsa-photo {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-strong);
}

.bolsa-photo { aspect-ratio: 2 / 3; }
@media (min-width: 1360px) {

  .bolsa-photo { align-self: center; }
}
.bolsa-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 32%;
  display: block;
}

@media (max-width: 1359px) {
  .bolsa-photo { max-width: 300px; margin-inline: auto; }
}

#bolsa-form {
  --color-primary: var(--color-csirt);
  --color-primary-deep: var(--color-csirt-ink);
  --color-primary-soft: var(--color-csirt-soft);
  --color-primary-lift: var(--color-csirt-soft);
  --plq: var(--color-csirt);
}
#bolsa-form .csirt-form__step-num,
#bolsa-form .csirt-form__group-title,
#bolsa-form .form-section__num,
#bolsa-form .form-group__num {
  color: var(--color-csirt) !important;
}

#bolsa-form .btn-primary,
#bolsa-form .btn-primary span,
#bolsa-form .csirt-form__submit,
#bolsa-form button[type="submit"] {
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
}
#bolsa-form .btn-primary .icon,
#bolsa-form .csirt-form__submit .icon,
#bolsa-form button[type="submit"] .icon { color: #101010 !important; }

@media (max-width: 1359px) {
  .bolsa-top > .section-head,
  .bolsa-top > form,
  .bolsa-top > .bolsa-photo { grid-column: auto; grid-row: auto; }
}

.bolsa-photo { position: relative; }
.bolsa-photo img {
  transition: transform var(--duration-slow) var(--ease-out);
}
.bolsa-photo:hover img { transform: scale(1.04); }
.bolsa-photo::after {
  content: '';
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 36px;
  height: 36px;
  border-bottom: 2px solid var(--color-primary);
  border-left: 2px solid var(--color-primary);
  z-index: 2;
  opacity: 0.6;
  transition: opacity var(--duration-normal) var(--ease-out);
  pointer-events: none;
}
.bolsa-photo:hover::after { opacity: 1; }

.bolsa-photo {
  transition: border-color var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
.bolsa-photo:hover {
  border-color: color-mix(in srgb, var(--color-primary) 55%, transparent);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.40),
              0 0 32px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .bolsa-photo { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bolsa-photo img { transition: none; }
  .bolsa-photo:hover img { transform: none; }
}

#casos-exito .section-cta {
  padding: 14px 28px;
  border-radius: var(--radius-full);
  background: var(--color-grc);
  border: 1px solid var(--color-grc);
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition: background var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
#casos-exito .section-cta .icon { color: #101010 !important; }
#casos-exito .section-cta:hover {
  background: color-mix(in srgb, var(--color-grc) 84%, #000);
  box-shadow: 0 0 24px color-mix(in srgb, var(--color-grc) 42%, transparent);
}

#casos-exito .section-cta::after { display: none; }

.cases__pane .cases__figures {
  justify-items: stretch;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.cases__pane .cases__figures .case-fig,
.cases__pane .cases__figures .case-ring { text-align: left; }
.cases__pane .cases__figures .case-fig__num { justify-content: flex-start; }
.cases__pane .cases__figures .case-fig__label,
.cases__pane .cases__figures .case-ring__label { margin-inline-start: 0; }

.cases__pane .cases__figures .case-ring__dial-wrap { margin-inline: 0; }

@media (max-width: 919px) {

  .mobile-menu__lang {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin: 0 0 var(--space-4);
    padding: 12px 4px 0;
    border-top: 1px solid var(--color-border);
  }
  .mobile-menu__lang-label {
    font: 700 11px/1 var(--font-mono);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-muted);
  }
  .mobile-menu .lang-switch { display: inline-flex; margin-right: 0; }

  .mobile-menu .lang-switch__btn {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
  }

  .form-textarea,
  .form-textarea--mono,
  .form-file,
  .form-input,
  .form-select,
  .aia-card__input {
    font-size: 16px;
  }

  .form-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }
  .form-checkbox {
    gap: 12px;
    align-items: flex-start;
  }

  .aia-card__min {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .site-footer__col a,
  .site-footer nav a {
    display: inline-block;
    padding-block: 9px;
  }

  .practice__chip,
  .method__chip,
  .solpanel__tab-method,
  .solpanel__pane-method,
  .liga-constellation__label,
  .metric__label,
  .practices__label,
  .frameworks__label,
  .how-stats__label,
  .partner-level__tag,
  .final-cta__meta-item,
  .form-section__num,
  .form-label,
  .method__proof-label,
  .contact-info__countries-label {
    font-size: 12px;
  }
  .method__role { font-size: 12px; }
  .ring-stat__unit { font-size: 11px; }

  .aia-card__fine { font-size: 12px; }
  .aia-card__privacy { display: inline-block; padding-block: 6px; }
}

@media (max-width: 61.99rem) {
  .solpanel__tab { width: auto; max-width: 68vw; }
  .solpanel__list {
    scroll-snap-type: x mandatory;
    scroll-padding-left: 4px;

    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 26px), transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 26px), transparent 100%);
  }
  .solpanel__tab { scroll-snap-align: start; }

  .subnav__track {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%);
  }
}

@media (max-width: 639px) {
  .cert-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert-card { min-width: 0; }
  .cert-card strong, .cert-card span { min-width: 0; overflow-wrap: anywhere; }
}

@media (max-width: 919px) {
  .metric__label.metric__label,
  .frameworks__label.frameworks__label,
  .partner-level__tag.partner-level__tag,
  .contact-info__countries-label.contact-info__countries-label,
  .case-fig__label.case-fig__label,
  .case-ring__label.case-ring__label,
  .case-flow__tag.case-flow__tag,
  .cases__tab.cases__tab,
  .presence__sub-label.presence__sub-label,
  .highlight__label.highlight__label,
  .country__since.country__since,
  .essence-mark__lang.essence-mark__lang {
    font-size: 12px;
  }

  .mobile-menu__lang-label { font-size: 12px; }

  .partner-level__tag { font-size: 12px !important; }
  .method__disclose-toggle span { font-size: 12px; }
}

@media (max-width: 919px) {
  .method__media { cursor: pointer; }
  .method__media.is-loading-motion img { opacity: 0.55; transition: opacity 200ms ease; }
  .method__media.is-loading-motion::after {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    width: 26px; height: 26px;
    margin: -13px 0 0 -13px;
    border-radius: 50%;
    border: 2px solid rgba(248, 250, 252, 0.25);
    border-top-color: var(--color-primary);
    animation: persona-spin 720ms linear infinite;
    z-index: 3;
  }
  @keyframes persona-spin { to { transform: rotate(360deg); } }
  @media (prefers-reduced-motion: reduce) {
    .method__media.is-loading-motion::after { animation: none; }
  }
}

@media (max-width: 919px) and (max-height: 640px) {
  .mobile-menu__link { padding: 9px 4px; font-size: var(--text-xl); }
  .mobile-menu__inner { padding-top: var(--space-4); padding-bottom: var(--space-2); }
  .mobile-menu__lang { margin-bottom: var(--space-2); padding-top: 8px; }
  .mobile-menu__cta { padding-top: var(--space-3); }
  .mobile-menu__cta .btn { padding-top: 12px; padding-bottom: 12px; }
}

.sc-w {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;

  padding-bottom: 0.16em;
  margin-bottom: -0.16em;
}
.sc-w__in {
  display: inline-block;

}
.sc-playing .sc-w__in { will-change: transform, opacity; }

@media (prefers-reduced-motion: reduce) {

  .sc-w { overflow: visible; padding-bottom: 0; margin-bottom: 0; }
  .sc-w__in { transform: none !important; opacity: 1 !important; }
}

.who__policy-title {
  margin: clamp(22px, 2.4vw, 34px) 0 clamp(8px, 0.9vw, 12px);
  font-family: inherit;
  font-size: var(--text-lg);
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  line-height: var(--leading-snug);
  color: var(--color-primary);
}
main > section[data-sol="clair"] .who__policy-title { color: var(--color-primary-deep); }

.fantastic4 .alliances__note {
  margin-inline: auto;
  max-width: 62ch;
  text-align: center;
}

.page-hero--liga .liga-row__fig[data-persona="ngsoc"]     { height: min(80%, 748px, 38.0vw); }
.page-hero--liga .liga-row__fig[data-persona="asha"],
.page-hero--liga .liga-row__fig--capitana                 { height: min(76%, 716px, 36.5vw); }
.page-hero--liga .liga-row__fig[data-persona="csirt"]     { height: min(72%, 678px, 34.5vw); }
.page-hero--liga .liga-row__fig[data-persona="zerotrust"] { height: min(69%, 650px, 33.0vw); }
.page-hero--liga .liga-row__fig[data-persona="ctem"]      { height: min(66%, 622px, 31.5vw); }
.page-hero--liga .liga-row__fig[data-persona="grc"]       { height: min(64%, 604px, 30.5vw); }

.cases__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 2vw, 28px);
  margin-bottom: clamp(26px, 2.8vw, 44px);
}

.cases__bar .cases__tabs { margin-bottom: 0; }
@media (max-width: 47.5rem) {
  .cases__bar { flex-direction: column; align-items: flex-start; }
}

.how__text > p,
.essence-body > p {
  text-align: justify;
  -webkit-hyphens: auto;
          hyphens: auto;

  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
          hyphenate-limit-chars: 6 3 3;
}

@media (max-width: 47.5rem) {
  .how__text > p,
  .essence-body > p { text-align: left; }
}

.subnav--home .subnav__link { padding-inline: clamp(6px, 0.72vw, 14px); }

.country-list { align-items: start; }

.aia-msg__recap {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
}
.aia-msg__recap-title {
  margin: 0 0 6px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.aia-msg__recap-line { margin: 0 0 3px; font-size: 13px; line-height: 1.45; }
.aia-msg__recap-line:last-child { margin-bottom: 0; }

.essence-motto .accent {
  display: block;
}

.country { min-height: calc(3.2em + 22px); }

.industries,
.final-cta--azul,
#soluciones,
#razones,
#presencia,
.essence-lead,
.problema__turn-text,
#bolsa-form {
  --color-csirt:      var(--color-azul);
  --color-csirt-soft: var(--color-azul-soft);
  --color-csirt-ink:  var(--color-azul-ink);
}

#bolsa-form .csirt-form__step-num,
#bolsa-form .csirt-form__group-title,
#bolsa-form .form-section__num,
#bolsa-form .form-group__num {
  color: var(--color-azul-soft) !important;
}

.method__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-6);
  padding: 12px 22px;
  border-radius: var(--radius-full);
  border: 1px solid var(--persona, var(--color-primary));
  background: var(--persona, var(--color-primary));
  color: var(--persona-on, var(--color-fg));

  font-size: var(--text-base);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: transform var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
.method__cta .icon {
  width: 18px;
  height: 18px;
  transition: transform var(--duration-normal) var(--ease-out);
}
.method__cta:hover,
.method__cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35),
              0 0 22px color-mix(in srgb, var(--persona, var(--color-primary)) 42%, transparent);
}
.method__cta:hover .icon,
.method__cta:focus-visible .icon { transform: translateX(3px); }

.method__cta:focus-visible {
  outline: 2px solid var(--color-fg);
  outline-offset: 3px;
}

.form-estado {
  margin-top: var(--space-5);
  padding: 12px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-fg);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
}
.form-estado:empty {
  display: none;
}

.form-estado.is-pending {
  color: var(--color-muted);
}

.form-estado.is-ok {
  border-color: color-mix(in srgb, var(--color-success) 46%, transparent);
  background: color-mix(in srgb, var(--color-success) 12%, var(--color-surface));
  color: var(--color-success);
}

.form-estado.is-warn {
  border-color: color-mix(in srgb, var(--color-ctem) 46%, transparent);
  background: color-mix(in srgb, var(--color-ctem) 12%, var(--color-surface));
  color: var(--color-ctem-soft);
}

.form-estado.is-error {
  border-color: color-mix(in srgb, var(--color-destructive) 46%, transparent);
  background: color-mix(in srgb, var(--color-destructive) 12%, var(--color-surface));
  color: var(--color-danger-soft);
}

.legal-aviso-traduccion {
  margin: 0 0 var(--space-8);
  padding: var(--space-4) var(--space-5);
  border-left: 3px solid var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-size: var(--text-sm);
  font-style: italic;
  line-height: var(--leading-body);

  color: var(--color-muted);
}
.legal-aviso-traduccion:empty { display: none; }

:root { --hauteur-entete: calc(var(--header-h) + 1px); }

.hero {
  margin-top: calc(-1 * var(--hauteur-entete));

  min-height: max(calc(560px + var(--hauteur-entete)), calc(100vh - 117px + var(--hauteur-entete))) !important;
  min-height: max(calc(560px + var(--hauteur-entete)), calc(100svh - 117px + var(--hauteur-entete))) !important;
}
.hero__inner { padding-top: var(--hauteur-entete); }

.site-header {
  transition: background-color var(--duration-slow) var(--ease-out),
              border-color var(--duration-slow) var(--ease-out),
              backdrop-filter var(--duration-slow) var(--ease-out);
}

.site-header.sans-transition { transition: none !important; }

.site-header.is-sur-hero {

  background: transparent;
  border-bottom-color: transparent;

  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.hero__bg-video {

  object-position: right top;

  --hero-video-montee: 7px;
  top: calc(-1 * var(--hero-video-montee));
  height: calc(100% + var(--hero-video-montee));
}

#csirt-form,
#form {
  --color-csirt:      var(--color-azul);
  --color-csirt-soft: var(--color-azul-soft);
  --color-csirt-ink:  var(--color-azul-ink);
}

#csirt-form .csirt-form__step-num,
#csirt-form .csirt-form__group-title,
#csirt-form .form-section__num,
#csirt-form .form-group__num,
#form .csirt-form__step-num,
#form .csirt-form__group-title,
#form .form-section__num,
#form .form-group__num {
  color: var(--color-azul-soft) !important;
}

.final-cta--azul .btn-primary:hover,
.final-cta--azul .btn-primary:focus-visible {
  box-shadow: 0 0 24px color-mix(in srgb, var(--color-azul) 45%, transparent) !important;
}

#csirt-form .btn-primary:hover,
#csirt-form .btn-primary:focus-visible,
#form .btn-primary:hover,
#form .btn-primary:focus-visible {
  box-shadow: 0 0 24px color-mix(in srgb, var(--color-azul) 45%, transparent) !important;
}

@media (min-width: 1360px) {
  .bolsa-top {
    max-width: none;
    grid-template-columns: minmax(0, 960px) minmax(320px, 1fr);
  }
  .bolsa-photo {
    aspect-ratio: auto;
    align-self: stretch;
  }
}

@media (min-width: 1360px) {
  .bolsa-photo { min-height: 0; }
  .bolsa-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.page-hero--contact .page-hero__bg-grad {
  background:
    linear-gradient(90deg,
      rgba(0, 0, 0, 0.60) 0%,
      rgba(0, 0, 0, 0.45) 55%,
      rgba(0, 0, 0, 0.30) 85%,
      rgba(0, 0, 0, 0.05) 100%);
}

#csirt-form,
#form,
#bolsa-form {
  --color-primary-hover: var(--color-azul-ink);
  --glow-primary: 0 0 24px color-mix(in srgb, var(--color-azul) 45%, transparent);
}

#form {
  --color-primary: var(--color-azul);
  --color-primary-deep: var(--color-azul-ink);
  --color-primary-soft: var(--color-azul-soft);
  --color-primary-lift: var(--color-azul-soft);
  --plq: var(--color-azul);
}

.form-file-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.form-file-input {

  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.form-file-btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-primary);
  background: var(--color-primary);

  color: #FFFFFF;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}
.form-file-btn:hover {
  background: var(--color-primary-hover);
  box-shadow: var(--glow-primary);
}

.form-file-wrap:focus-within .form-file-btn {
  outline: 2px solid var(--color-fg);
  outline-offset: 3px;
}
.form-file-name {
  font-size: var(--text-sm);
  color: var(--color-muted);

  max-width: min(100%, 42ch);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.form-file-name.is-rempli { color: var(--color-fg); }

.who__cta {
  margin-top: clamp(20px, 2.2vw, 30px);

  color: #FFFFFF !important;
}
.who__cta .icon { color: #FFFFFF; }

.alliances--band .btn-secondary:hover,
.diferenciador__cta-wrap .btn-secondary:hover,
.site-footer__contact-cta:hover,
.site-footer__contact-cta:focus-visible {
  color: var(--color-primary-deep);
  border-color: var(--color-primary-deep);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}

.site-footer__contact-cta {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 14px 28px !important;
  border-radius: 9999px;
  border: 1px solid color-mix(in srgb, var(--color-fg-light) 28%, transparent) !important;
  background: transparent !important;
  color: var(--color-fg-light) !important;
  font-size: var(--text-base) !important;
  font-weight: 600 !important;

  margin-top: var(--space-4);
}
.site-footer__contact-cta:hover,
.site-footer__contact-cta:focus-visible {
  color: var(--color-primary-deep) !important;
  border-color: var(--color-primary-deep) !important;
  background: color-mix(in srgb, var(--color-primary) 6%, transparent) !important;
}
.site-footer__contact-cta .icon { width: 18px; height: 18px; }

.anillos__cta .btn-secondary:hover,
.anillos__cta .btn-secondary:focus-visible {
  color: var(--color-primary-lift);
  border-color: var(--color-primary-lift);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-fg-light) !important;
  -webkit-text-fill-color: var(--color-fg-light) !important;
}
.btn-primary:hover .icon,
.btn-primary:focus-visible .icon {
  color: var(--color-fg-light) !important;
}

.hero .hero__actions .btn-primary:hover,
.hero .hero__actions .btn-primary:focus-visible {
  transform: translateY(-1px) !important;
}

.method__cta {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transition: transform var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out),
              color var(--duration-normal) var(--ease-out);
}

.method[data-persona="ngsoc"] .method__cta {
  color: var(--color-fg-light) !important;
  -webkit-text-fill-color: var(--color-fg-light) !important;
}
.method__cta:hover,
.method__cta:focus-visible {
  color: var(--color-fg-light) !important;
  -webkit-text-fill-color: var(--color-fg-light) !important;
  transform: translateY(-1px);
}

#casos-exito .section-cta {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transition: background var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out),
              color var(--duration-normal) var(--ease-out),
              transform var(--duration-normal) var(--ease-out);
}
#casos-exito .section-cta .icon { color: #FFFFFF !important; }
#casos-exito .section-cta:hover,
#casos-exito .section-cta:focus-visible {
  background: var(--color-grc) !important;
  color: var(--color-fg-light) !important;
  -webkit-text-fill-color: var(--color-fg-light) !important;
  transform: translateY(-1px);
}
#casos-exito .section-cta:hover .icon,
#casos-exito .section-cta:focus-visible .icon {
  color: var(--color-fg-light) !important;
}

.page-hero__actions .btn-primary:hover,
.page-hero__actions .btn-primary:focus-visible {
  transform: translateY(-1px) !important;
}

#csirt-form .btn-primary,
#csirt-form .btn-primary span,
#csirt-form .csirt-form__submit,
#csirt-form button[type="submit"],
#bolsa-form .btn-primary,
#bolsa-form .btn-primary span,
#bolsa-form .csirt-form__submit,
#bolsa-form button[type="submit"] {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
#csirt-form .btn-primary .icon,
#csirt-form .csirt-form__submit .icon,
#csirt-form button[type="submit"] .icon,
#bolsa-form .btn-primary .icon,
#bolsa-form .csirt-form__submit .icon,
#bolsa-form button[type="submit"] .icon { color: #FFFFFF !important; }

#csirt-form .btn-primary:hover,
#csirt-form .btn-primary:hover span,
#csirt-form .btn-primary:focus-visible,
#csirt-form .csirt-form__submit:hover,
#csirt-form button[type="submit"]:hover,
#bolsa-form .btn-primary:hover,
#bolsa-form .btn-primary:hover span,
#bolsa-form .btn-primary:focus-visible,
#bolsa-form .csirt-form__submit:hover,
#bolsa-form button[type="submit"]:hover {
  color: var(--color-fg-light) !important;
  -webkit-text-fill-color: var(--color-fg-light) !important;
}
#csirt-form .btn-primary:hover .icon,
#csirt-form .csirt-form__submit:hover .icon,
#csirt-form button[type="submit"]:hover .icon,
#bolsa-form .btn-primary:hover .icon,
#bolsa-form .csirt-form__submit:hover .icon,
#bolsa-form button[type="submit"]:hover .icon { color: var(--color-fg-light) !important; }

.consent {
  position: fixed;
  left: 50%;
  bottom: var(--space-5);
  z-index: 1200;
  width: min(1080px, calc(100vw - 2 * var(--space-5)));
  display: flex;
  align-items: center;
  gap: var(--space-6);
  flex-wrap: wrap;
  padding: var(--space-5) var(--space-6);
  border-radius: var(--radius-xl, 20px);
  background: var(--color-glass-bg, rgba(23, 23, 23, 0.82));
  border: 1px solid var(--color-glass-border, rgba(255, 255, 255, 0.12));
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.75);

  transform: translate(-50%, calc(100% + var(--space-5)));
  opacity: 0;
  transition: transform 420ms var(--ease-out, cubic-bezier(0.4, 0, 0.2, 1)),
              opacity   420ms var(--ease-out, cubic-bezier(0.4, 0, 0.2, 1));
}
.consent.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .consent { transition: opacity 200ms linear; transform: translate(-50%, 0); }
}

.consent__texte { flex: 1 1 460px; min-width: 0; }

.consent__titre {
  margin: 0 0 var(--space-2);
  font-size: var(--text-lg, 17px);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--color-primary-lift, #EF4444);
}
.consent__corps {
  margin: 0;
  font-size: var(--text-sm, 14px);
  line-height: 1.55;
  color: var(--color-muted-lift, #A0AEC2);
}

.consent__lien {
  color: var(--color-primary-lift, #EF4444);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.consent__lien:hover,
.consent__lien:focus-visible { color: var(--color-fg); }

.consent__actions {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  flex: 0 0 auto;
  margin-left: auto;
}

.consent__refus {
  padding: 10px 4px;
  background: none;
  border: 0;
  font-family: inherit;
  font-size: var(--text-sm, 14px);
  font-weight: 600;
  color: var(--color-muted-lift, #A0AEC2);
  cursor: pointer;
  transition: color var(--duration-normal) var(--ease-out);
}
.consent__refus:hover,
.consent__refus:focus-visible { color: var(--color-fg); }
.consent__accepter { white-space: nowrap; }

@media (max-width: 719px) {
  .consent {
    bottom: 0;
    width: 100vw;
    border-radius: var(--radius-xl, 20px) var(--radius-xl, 20px) 0 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    gap: var(--space-4);
    padding: var(--space-5);
  }
  .consent__actions { margin-left: 0; width: 100%; justify-content: space-between; }
  .consent__accepter { flex: 1 1 auto; justify-content: center; }
}

.method__ligne {
  position: relative;
}

@media (min-width: 560px) {
  .method__ligne .method__cta {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
  }
}

.anillos__bascule {
  max-width: 46ch;

  margin: 0 auto clamp(28px, 3vw, 44px);
  text-align: center;
}
.anillos__bascule-menace {
  margin: 0;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--color-fg);
  text-wrap: balance;
}
.anillos__bascule-respuesta {
  margin: var(--space-2) 0 0;
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;

  color: var(--color-primary-lift, #EF4444);
  text-wrap: balance;
}

@media (max-width: 760px) {

  .hero {

    min-height: max(520px, calc(100vh - 164px)) !important;
    min-height: max(520px, calc(100svh - 164px)) !important;
    padding-top: 60px;

    padding-bottom: 6px;
  }

  .hero .hero__trust--inline { margin-bottom: var(--space-3); }

  .hero .hero__eyebrow { display: none; }
}

@media (max-width: 760px) and (max-height: 700px) {
  .hero .hero__eyebrow { display: none; }

  .trustband { padding: 20px 0; }

  .hero .hero__actions .btn {

    padding: 13px 20px;
    font-size: 14px;
    line-height: 1.3;
  }
  .hero .hero__actions .btn .icon {
    width: 16px;
    height: 16px;
  }
  .hero .hero__actions { gap: 10px; }

  .hero .hero__trust--inline { margin-bottom: var(--space-5); }
  .hero .hero__trust-line {
    font-size: 11px;

    letter-spacing: 0.02em;
    line-height: 1.5;
  }
}

@media (max-width: 760px) {
  .practices__grid--six {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;

    scroll-padding-inline: var(--container-px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 12px;
    margin-inline: calc(-1 * var(--container-px));
    padding-inline: var(--container-px);

    padding-bottom: 4px;
  }
  .practices__grid--six::-webkit-scrollbar { display: none; }

  .practices__grid--six > .practice--card {

    flex: 0 0 88%;
    scroll-snap-align: start;

    height: auto;
  }

  .practices__grid--six > .practice--card:last-child { margin-right: var(--container-px); }

  .practice__hero img {
    height: calc(100% - 14px);
    margin-top: 14px;
  }

  .trustband__item img { height: 34px; }
  .trustband__item--sq img { height: 44px; }

  .symptoms {

    display: grid;

    grid-template-columns: none;
    grid-auto-flow: column;

    grid-template-rows: repeat(2, 1fr);
    grid-auto-columns: 100%;
    align-content: start;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 10px;
    padding-bottom: 4px;
  }
  .symptoms::-webkit-scrollbar { display: none; }
  .symptoms > .symptom { min-width: 0; }

  .symptoms > .symptom:nth-child(odd) { scroll-snap-align: start; }

  .hero .hero__title { font-size: 30px !important; line-height: 1.08 !important; }
  .hero .hero__support--lede { font-size: 14px; line-height: 1.5; }

  .hero .hero__actions .btn {
    padding: 8px 14px;
    font-size: 11px;
    line-height: 1.3;
  }

  .hero .hero__actions .btn { position: relative; }
  .hero .hero__actions .btn::after {
    content: '';
    position: absolute;

    inset: -6px 0;
    border-radius: inherit;
  }
  .hero .hero__actions .btn .icon { width: 14px; height: 14px; }

  .hero .hero__trust-line { font-size: 10px; letter-spacing: 0.02em; }

  .aia-reopen {
    width: 64px;
    height: 64px;

    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }

  .aia-reopen img,
  .aia-reopen svg,
  .aia-reopen canvas {
    pointer-events: none;
    -webkit-user-drag: none;
  }

  .site-footer__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .site-footer__col--brand {
    order: 99;
    margin-top: var(--space-6);
    padding-top: var(--space-6);
    border-top: 1px solid var(--color-border);
  }

  .site-footer__col:not(.site-footer__col--brand) {
    border-top: 1px solid var(--color-border);
  }

  .site-footer__col:not(.site-footer__col--brand) h3 { margin: 0; }
  .site-footer__pli > h3 { flex: 1 1 auto; }

  .site-footer__pli {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;

    padding: 16px 0;
    background: none;
    border: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
  }

  .site-footer__chevron {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform var(--duration-normal) var(--ease-out);
    opacity: 0.7;
  }
  .is-ouvert .site-footer__chevron {
    transform: rotate(-135deg) translate(-2px, -2px);
    opacity: 1;
  }

  .site-footer__pliable { display: none; }
  .is-ouvert .site-footer__pliable { display: block; padding-bottom: var(--space-5); }

  .presence__legend.is-onglets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
  }
  .presence__legend.is-onglets .presence__legend-item { margin: 0; }

  .presence__legend-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 10px 12px;
    border-radius: 9999px;
    border: 1px solid var(--color-border);
    background: transparent;
    font: inherit;
    color: inherit;
    cursor: pointer;
    transition: background var(--duration-normal) var(--ease-out),
                border-color var(--duration-normal) var(--ease-out);
  }

  .presence__legend-item.is-actif .presence__legend-btn {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.34);
  }

  .presence__cards.is-onglets > .presence__group--activa,
  .presence__cards.is-onglets > .presence__group--active,
  .presence__cards.is-onglets > .presence__float--expanding,
  .presence__cards.is-onglets > .presence__group--hub { display: none; }
  .presence__cards.is-onglets > .is-actif { display: block; }

  .hero__bg-video {

    object-position: 74% center;

    top: -36px;
    height: calc(100% + 36px);
  }

  .section-title { font-size: var(--text-3xl) !important; }
  .page-hero__title { font-size: 30px !important; }
  .method__name { font-size: var(--text-3xl) !important; }
  .cases__pane-title { font-size: var(--text-3xl); }
  .final-cta__title { font-size: var(--text-2xl) !important; }
  .solpanel__pane-title { font-size: var(--text-2xl); }

  .site-header.is-sur-hero {
    background: rgba(16, 16, 16, 0.85) !important;
    border-bottom-color: var(--color-border) !important;
    backdrop-filter: saturate(160%) blur(12px) !important;
    -webkit-backdrop-filter: saturate(160%) blur(12px) !important;
  }
}

.practices__pager { display: none; }

@media (max-width: 760px) {
  .practices__pager {
    display: flex;
    align-items: center;
    gap: 8px;

    margin: 0 0 var(--space-4);
    padding: 0;
  }

  .practices__pager-item {
    flex: 1 1 0;
    min-width: 0;
    height: 12px;
    padding: 0;
    border-radius: 9999px;
    background: color-mix(in srgb, var(--persona, var(--color-fg)) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--persona, var(--color-fg)) 55%, transparent);
    cursor: pointer;
    position: relative;
    transition: background var(--duration-normal) var(--ease-out),
                border-color var(--duration-normal) var(--ease-out);
  }

  .practices__pager-item::after {
    content: '';
    position: absolute;
    inset: -16px 0;
  }

  .practices__pager-item.is-actif {
    background: var(--persona, var(--color-fg));
    border-color: var(--persona, var(--color-fg));
  }

  .practices__pager-item:focus-visible {
    outline: 2px solid var(--color-fg);
    outline-offset: 6px;
  }

  .practices__pager-item[data-persona="asha"]      { --persona: var(--color-primary-ink); }
  .practices__pager-item[data-persona="ctem"]      { --persona: var(--color-ctem-ink); }
  .practices__pager-item[data-persona="ngsoc"]     { --persona: var(--color-ngsoc-ink); }
  .practices__pager-item[data-persona="csirt"]     { --persona: var(--color-csirt-ink); }
  .practices__pager-item[data-persona="zerotrust"] { --persona: var(--color-zerotrust-ink); }
  .practices__pager-item[data-persona="grc"]       { --persona: var(--color-grc-ink); }

  @media (prefers-reduced-motion: reduce) {
    .practices__pager-item { transition: none; }
  }
}

@media (max-width: 760px) and (max-height: 700px) {
  .trustband__item img { height: 26px; }
  .trustband__item--sq img { height: 34px; }
}

@media (max-width: 760px) {

  .site-footer__bottom.pied-bas--mobile {
    flex-direction: column;
    align-items: stretch;

    gap: 4px;
    text-align: center;
  }
  .pied-bas__rangee {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
  }

  .pied-bas__rangee .social-icons { margin-top: 0; }

  .pied-bas__langues { display: flex; align-items: center; gap: 2px; }
  .pied-bas__langue {
    appearance: none;
    -webkit-appearance: none;
    background: none;
    border: 0;

    min-width: 44px;
    min-height: 44px;
    padding: 0 6px;
    border-radius: var(--radius-full);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--color-muted-light);
    cursor: pointer;
    transition: color var(--duration-normal) var(--ease-out),
                background-color var(--duration-normal) var(--ease-out);
  }

  .pied-bas__langue.is-actif {
    color: var(--color-fg-light);
    background: rgba(16, 16, 16, 0.06);
  }
  .pied-bas__langue:hover { color: var(--color-fg-light); }

  .versus__col {
    padding: 6px 16px;
    gap: 0;
  }
  .versus__pli {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 12px 0;
    background: none;
    border: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
  }

  .versus__pli .versus__tag { align-self: auto; }
  .versus__chevron {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform var(--duration-normal) var(--ease-out);
    opacity: 0.7;
  }
  .versus__col.is-ouvert .versus__chevron {
    transform: rotate(-135deg) translate(-2px, -2px);
    opacity: 1;
  }
  .versus__col .versus__list { display: none; }
  .versus__col.is-ouvert .versus__list {
    display: flex;
    padding-bottom: 16px;
  }

  .flow__steps {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2px;
  }
  .flow__steps::before {
    top: 50%;
    bottom: auto;
    left: calc(100% / 12);
    right: calc(100% / 12);
    width: auto;
    height: 1px;
    background: linear-gradient(90deg,
      var(--color-primary),
      rgba(255, 255, 255, 0.16) 30%,
      rgba(255, 255, 255, 0.16) 70%,
      var(--color-primary));
  }
  .flow__step {
    display: grid;
    grid-template-rows: 1fr auto 1fr;
    justify-items: center;
    align-items: center;
    gap: 6px;
    text-align: center;
    font-size: 10px;
    line-height: 1.15;
    letter-spacing: 0;
  }
  .flow__step .flow__dot { grid-row: 2; grid-column: 1; }
  .flow__nom { grid-column: 1; }

  .flow__step:nth-child(odd)  .flow__nom { grid-row: 1; align-self: end; }
  .flow__step:nth-child(even) .flow__nom { grid-row: 3; align-self: start; }

  .alliances--band .marquee .alliance-card {
    width: auto;
    height: auto;
    min-height: 0;
    padding: 0;
  }
  .alliances--band .marquee .alliance-card[data-brand="darkivore"] { width: auto; }
  .alliances--band .alliance-card__logo {
    height: 34px;
    width: auto;
    max-height: none;
    max-width: none;
  }

  .alliances--band .alliance-card[data-brand="darkivore"] .alliance-card__logo {
    height: 44px;
  }

  .alliances--band .marquee__track { gap: 30px; }

  .alliances.alliances--band {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .alliances--band .alliances__tier { margin-bottom: 0; }
  .alliances--band .alliances__tier-label { margin-bottom: 12px; }
  .alliances--band .alliances__tier + .alliances__tier { margin-top: 18px; }
  .alliances__band-cta { margin-top: 22px; }
}

@media (max-width: 760px) {

  .btn {
    position: relative;
    padding: 8px 14px;
    font-size: 11px;
    line-height: 1.3;
  }
  .btn .icon { width: 14px; height: 14px; }

  .btn::after {
    content: '';
    position: absolute;
    inset: -6px 0;
    border-radius: inherit;
  }

  form .btn,
  .consent__accepter,
  .mobile-menu__cta .btn {
    padding-top: 14px;
    padding-bottom: 14px;
    font-size: 14px;
    line-height: 1.6;
  }
  .mobile-menu__cta .btn { padding-top: 16px; padding-bottom: 16px; }
  form .btn .icon,
  .consent__accepter .icon,
  .mobile-menu__cta .btn .icon { width: 16px; height: 16px; }
  form .btn::after,
  .consent__accepter::after,
  .mobile-menu__cta .btn::after { content: none; }

  .section-cta,

  #casos-exito .section-cta { font-size: 11px; gap: 7px; }
  .section-cta .icon,
  #casos-exito .section-cta .icon { width: 14px; height: 14px; }

  .hero .hero__actions .btn-secondary {
    padding: 9px 4px !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0 !important;
    background: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: rgba(241, 245, 249, 0.85);
    font-weight: 600;

    transition: color 200ms var(--ease-out),
                border-color 200ms var(--ease-out),
                transform 200ms var(--ease-out);
  }
  .hero .hero__actions .btn-secondary:hover,
  .hero .hero__actions .btn-secondary:focus-visible {
    color: var(--color-fg);
    background: none;
    border-bottom-color: rgba(255, 255, 255, 0.5);

    transform: translateX(3px) !important;
    box-shadow: none;
  }

  .final-cta--poster {
    padding-top: 44px;
    padding-bottom: 44px;
    min-height: 0;
  }
  .final-cta--poster .final-cta__inner { min-height: 0; }

  .final-cta--poster .final-cta__actions:last-child { margin-bottom: 0; }

  .final-cta .final-cta__inner { padding-top: 0; }

  .final-cta__corner { width: 28px; height: 28px; }
  .final-cta__corner--tl { top: 14px; left: 14px; }
  .final-cta__corner--tr { top: 14px; right: 14px; }
  .final-cta__corner--bl { bottom: 14px; left: 14px; }
  .final-cta__corner--br { bottom: 14px; right: 14px; }

  .final-cta__link { padding: 15px 4px; font-size: 11px; }
  .final-cta__link .icon { width: 13px; height: 13px; }

  .site-footer__bottom { margin-top: 24px; }
  .site-footer__badges { margin-bottom: 0; }
}

@media (max-width: 760px) {

  .marquee--secteurs {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .industries__sectors.secteurs--defile,
  .industries__sectors.is-ligne {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding-inline: 20px;
  }

  .industries__sectors.secteurs--defile { animation-duration: 38s; }

  .industries__sector {
    padding: 5px 10px;
    font-size: 9px;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .industries__sector .dot { width: 5px; height: 5px; }

  .marquee--chips { width: 100%; }
  .practice__chips.chips--defile,
  .practice__chips.is-ligne {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 6px;
  }

  .practice__chips.chips--defile { animation-duration: 26s; }
  .practice__chip { white-space: nowrap; }
}

.anillos__bascule-respuesta {
  color: var(--color-csirt, #06B6D4);
}
.anillos__cta .btn-secondary:hover,
.anillos__cta .btn-secondary:focus-visible {
  color: var(--color-csirt-soft);
  border-color: var(--color-csirt);
  background: color-mix(in srgb, var(--color-csirt) 8%, transparent);
}

@media (max-width: 760px) {

  .mobile-menu__lang-label { display: none; }
  .mobile-menu__lang { justify-content: center; }

  .page-hero__actions .btn-secondary {
    padding: 9px 4px !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0 !important;
    background: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: rgba(241, 245, 249, 0.85);
    font-weight: 600;
    align-self: flex-start;
    transition: color 200ms var(--ease-out),
                border-color 200ms var(--ease-out),
                transform 200ms var(--ease-out);
  }
  .page-hero__actions .btn-secondary:hover,
  .page-hero__actions .btn-secondary:focus-visible {
    color: var(--color-fg);
    background: none;
    border-bottom-color: rgba(255, 255, 255, 0.5);
    transform: translateX(3px) !important;
    box-shadow: none;
  }

  .metrics--editorial {
    display: flex;
    grid-template-columns: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--container-px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0;
    margin-inline: calc(-1 * var(--container-px));
    padding-inline: var(--container-px);
  }
  .metrics--editorial::-webkit-scrollbar { display: none; }
  .metrics--editorial > .metric {
    flex: 0 0 88%;
    scroll-snap-align: start;
    height: auto;
    padding: var(--space-6) var(--space-5);
  }
  .metrics--editorial > .metric:last-child { margin-right: var(--container-px); }
  .metrics--editorial .metric:nth-child(odd) { border-right: 0 !important; }
  .metrics--editorial .metric:nth-child(-n+2) { border-bottom: 0 !important; }
  .metrics--editorial .metric + .metric { border-left: 1px solid var(--color-border) !important; }

  .metrics--editorial .metric__num { font-size: 48px !important; }
}

@media (max-width: 760px) {

  .marquee--f4,
  .marquee--nichos,
  .marquee--niveaux {
    width: 100%;

    mask-image: none;
    -webkit-mask-image: none;
  }

  .fantastic4__row.f4--defile,
  .fantastic4__row.is-ligne,
  #alianzas .alliances__row.nichos--defile,
  #alianzas .alliances__row.is-ligne,
  #alianzas .partner-levels.niveaux--defile,
  #alianzas .partner-levels.is-ligne {
    display: flex;
    flex-wrap: nowrap;
    grid-template-columns: none;
    justify-content: flex-start;
    align-items: stretch;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .fantastic4__row.f4--defile { animation-duration: 40s; }

  #alianzas .alliances__row.nichos--defile { animation-duration: 27s; }

  #alianzas .partner-levels.niveaux--defile { animation-duration: 60s; }

  .fantastic4__row > .fantastic4__item { flex: 0 0 240px; width: 240px; height: auto; }
  #alianzas .alliances__row > .alliance-card { flex: 0 0 170px; width: 170px; height: 88px; }
  #alianzas .partner-levels > .partner-level { flex: 0 0 290px; width: 290px; height: auto; }
}

@media (max-width: 760px) {

  .page-hero .page-hero__lede,
  .section-head .section-lede,
  .section-lede,
  .solpanel__pane-text,
  .method__body .method__desc {
    font-size: 14px;
    line-height: 1.5;
  }
}

@media (max-width: 760px) {

  .cert-strip > .cert-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: 100%;
    max-width: 169px;
  }

  .about-frameworks .frameworks__label { display: none; }
}

@media (max-width: 760px) {

  .hero .hero__actions,
  .page-hero__actions {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    width: fit-content;
  }
  .hero .hero__actions .btn-secondary,
  .page-hero__actions .btn-secondary { align-self: center; }

  .method--dark[data-persona] { --sphere: 190px; }
  .method--dark[data-persona="ctem"],
  .method--dark[data-persona="csirt"],
  .method--dark[data-persona="grc"] { --sphere: 1381px; }

  .method--dark.method--media-start[data-persona],
  .method--dark.method--media-end[data-persona] {
    background-size: auto, auto 893px;
    background-position: 50% 0, calc(50% - var(--sphere)) 0;
    background-image:
      radial-gradient(320px 300px at 50% 375px,
        transparent 18%,
        color-mix(in srgb, var(--band-bg) 72%, transparent) 62%,
        var(--band-bg) 100%),
      var(--corridor);
  }
}

@media (max-width: 760px) {

  .about-cards.about-cards--4 {
    display: flex;
    grid-template-columns: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--container-px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 12px;
    margin-inline: calc(-1 * var(--container-px));
    padding-inline: var(--container-px);
    padding-bottom: 6px;
  }
  .about-cards.about-cards--4::-webkit-scrollbar { display: none; }
  .about-cards.about-cards--4 > .about-card {
    flex: 0 0 82%;
    scroll-snap-align: start;
    height: auto;
  }
  .about-cards.about-cards--4 > .about-card:last-child { margin-right: var(--container-px); }

  #bolsa-form .bolsa-photo { display: none; }
}

@media (max-width: 760px) {

  .liga-row { display: flex; }
  .liga-row__fig:not(.liga-row__fig--capitana) { display: block; }
  .liga-row {
    justify-content: center;

    align-items: flex-end;

    padding-bottom: 12px;

    padding-right: 80px;

    gap: 0;
  }

  .liga-row__fig + .liga-row__fig { margin-left: -40px; }

  .page-hero--liga .liga-row__fig[data-persona="ngsoc"]     { height: min(80%, 748px, 60vw); }
  .page-hero--liga .liga-row__fig[data-persona="asha"],
  .page-hero--liga .liga-row__fig--capitana                 { height: min(80%, 716px, 58vw); }
  .page-hero--liga .liga-row__fig[data-persona="csirt"]     { height: min(80%, 678px, 55vw); }
  .page-hero--liga .liga-row__fig[data-persona="zerotrust"] { height: min(80%, 650px, 52vw); }
  .page-hero--liga .liga-row__fig[data-persona="ctem"]      { height: min(80%, 622px, 50vw); }
  .page-hero--liga .liga-row__fig[data-persona="grc"]       { height: min(80%, 604px, 48vw); }

  .liga-constellation__node {
    padding: 8px 14px;
    font-size: 11px;
    line-height: 1.3;
    gap: 8px;
  }
  .liga-constellation { gap: 10px 14px; }

  .liga-constellation__label { font-size: 11px; line-height: 1.3; }
  .liga-row__fig img,
  .liga-row__fig--capitana img { opacity: 0.38; }

  .who__cta {
    display: flex;
    width: fit-content;
    margin-inline: auto;
  }

  .essence-body p.essence-motto--intercalee {
    text-align: center;
    margin: clamp(18px, 4vw, 28px) 0;

    font-size: 26px;
    line-height: 1.15;
  }

  #casos-exito .section-cta {
    display: flex;
    width: fit-content;
    margin: 28px auto 0;
  }
}

@media (max-width: 760px) {

  .final-cta--poster .final-cta__title { margin-bottom: 12px; }
  .final-cta--poster .final-cta__actions { margin-top: 10px; }

  .page-hero--careers .page-hero__bg-img,
  .page-hero--contact .page-hero__bg-img { object-position: 96% center; }
}

@media (max-width: 760px) {

  .site-footer__bottom.pied-bas--mobile p { margin-bottom: 0; }

  .page-hero.page-hero--league,
  .page-nosotros .page-hero {
    min-height: 0;
    align-items: flex-start;
    padding-top: 136px;

    padding-bottom: 8px;
  }

  .essence-body p.essence-motto--intercalee { color: var(--color-fg); }
  .essence-body p.essence-motto--intercalee .accent { color: var(--color-primary-lift); }

  .metrics--editorial {
    border-top: 0;
    border-bottom: 0;
  }
  .page-nosotros #trayectoria {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .industries__sectors.secteurs--defile,
  .industries__sectors.is-ligne {
    gap: 0;
    padding-inline: 0;
  }
  .industries__sectors.secteurs--defile > *,
  .industries__sectors.is-ligne > * { margin-right: 8px; }

  .practice__chips.chips--defile,
  .practice__chips.is-ligne { gap: 0; }
  .practice__chips.chips--defile > *,
  .practice__chips.is-ligne > * { margin-right: 6px; }

  .fantastic4__row.f4--defile,
  .fantastic4__row.is-ligne,
  #alianzas .alliances__row.nichos--defile,
  #alianzas .alliances__row.is-ligne,
  #alianzas .partner-levels.niveaux--defile,
  #alianzas .partner-levels.is-ligne { gap: 0; }
  .fantastic4__row.f4--defile > *,
  .fantastic4__row.is-ligne > *,
  #alianzas .alliances__row.nichos--defile > *,
  #alianzas .alliances__row.is-ligne > *,
  #alianzas .partner-levels.niveaux--defile > *,
  #alianzas .partner-levels.is-ligne > * { margin-right: 12px; }

  .practice__chips.chips--defile { animation-duration: 14s; }

  .practice__chip { padding-inline: 5px; }

  .final-cta--poster .final-cta__inner {
    margin-inline: 18px;
    padding-top: 22px;
    padding-bottom: 22px;
  }
  .final-cta--poster .final-cta__inner::before,
  .final-cta--poster .final-cta__inner::after { width: 32px; height: 32px; }
  .final-cta--poster .final-cta__inner::before { top: 12px; left: 12px; }
  .final-cta--poster .final-cta__inner::after { bottom: 12px; right: 12px; }
  .final-cta--poster .final-cta__actions { gap: 10px; }
  .final-cta__link {
    position: relative;
    padding: 7px 4px;
  }
  .final-cta__link::after {
    content: '';
    position: absolute;
    inset: -8px 0;
  }

  .page-hero--careers .page-hero__bg-img { object-position: 86% center; }
}

@media (max-width: 760px) {

  .industries__head { margin-bottom: 16px; }

  .final-cta--poster .final-cta__inner { margin-inline: 28px; }

  .page-hero__eyebrow { display: none; }

  .page-hero.page-hero--league,
  .page-nosotros .page-hero {
    min-height: max(520px, calc(100svh - 164px));

    padding-top: 112px;
  }

  .page-hero .page-hero__lede { color: var(--color-fg); }

  .industries__sectors > *,
  .fantastic4__row > *,
  #alianzas .alliances__row > *,
  #alianzas .partner-levels > * {
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
  }

  .fantastic4__row.f4--defile { animation-duration: 24s; }
  #alianzas .alliances__row.nichos--defile { animation-duration: 20s; }
  #alianzas .partner-levels.niveaux--defile { animation-duration: 36s; }

  .method--dark[data-persona] { --sphere: 256px; }
  .method--dark[data-persona="ctem"],
  .method--dark[data-persona="csirt"],
  .method--dark[data-persona="grc"] { --sphere: 1856px; }

  .method--dark.method--media-start[data-persona],
  .method--dark.method--media-end[data-persona] {
    background-size: auto, auto 1200px;
    background-position: 50% 0, calc(50% - var(--sphere)) -129px;
    background-image:
      radial-gradient(420px 340px at 50% 375px,
        transparent 45%,
        color-mix(in srgb, var(--band-bg) 58%, transparent) 78%,
        var(--band-bg) 100%),
      var(--corridor);
  }
}

@media (max-width: 760px) {

  .page-hero .page-hero__eyebrow,
  .page-hero--league .page-hero__eyebrow { display: none; }

  .industries__head { margin-bottom: 0; }

  .industries__coverage {
    margin-top: 16px;
    margin-bottom: var(--space-12);
  }
  #industrias .industries__head .section-title { margin-bottom: 0; }

  .practices__grid--six > .practice--card { flex: 0 0 100%; }

  .symptoms__pager .practices__pager-item {
    height: 3px;
    border-radius: 0;
    border: 0;
    background: color-mix(in srgb, var(--color-fg) 30%, transparent);
  }
  .symptoms__pager .practices__pager-item.is-actif {
    background: var(--color-primary);
    border: 0;
  }

  .symptoms__pager .practices__pager-item::after { inset: -21px 0; }

  .symptoms__pager { gap: 20px; }

  .practices__pager .practices__pager-item {
    height: 3px;
    border-radius: 0;
    border: 0;
    background: color-mix(in srgb, var(--persona, var(--color-fg)) 32%, transparent);
  }
  .practices__pager .practices__pager-item.is-actif {
    background: var(--persona, var(--color-fg));
    border: 0;
  }

  .practices__pager .practices__pager-item::after { inset: -21px 0; }

  .practices__pager:not(.symptoms__pager):not(.areas__pager) { gap: 12px; }
  .areas__pager { gap: 20px; }

  .symptoms__pager .practices__pager-item,
  .areas__pager .practices__pager-item {
    background: color-mix(in srgb, var(--color-fg) 30%, transparent);
  }
  .symptoms__pager .practices__pager-item.is-actif,
  .areas__pager .practices__pager-item.is-actif {
    background: var(--color-primary);
  }
}

@media (max-width: 760px) {

  .hero__bg-img {
    object-position: 72% center;
    top: -36px;
    height: calc(100% + 36px);
    opacity: 1;
    filter: none;
  }

  .hero__bg-video { object-position: 72% center; }
}

.marquee:hover .marquee__track { animation-play-state: running; }
@media (hover: hover) and (pointer: fine) {
  .marquee:hover .marquee__track { animation-play-state: paused; }
}

@media (max-width: 760px) {

  .method--dark.method--media-start[data-persona],
  .method--dark.method--media-end[data-persona] {
    background-position: 50% 0, calc(50% + 1066.5px - var(--sphere)) -129px;
  }

  .liga-row { padding-right: 10.77vw; }
  .liga-row__fig[data-persona="csirt"]     { margin-left: -13.33vw; }

  .liga-row__fig[data-persona="asha"]      { margin-left: -13.33vw; }
  .liga-row__fig[data-persona="ngsoc"]     { margin-left:  -8.72vw; }
  .liga-row__fig[data-persona="zerotrust"] { margin-left:  -6.15vw; }
  .liga-row__fig[data-persona="grc"]       { margin-left:  -5.64vw; }

  .page-hero--liga .liga-row__fig[data-persona="zerotrust"] { height: min(80%, 650px, 60vw); }
  .page-hero--liga .liga-row__fig[data-persona="grc"]       { height: min(80%, 604px, 56vw); }
}

@media (max-width: 760px) {

  .method--dark[data-persona="asha"] {
    --corridor: url('../assets/images/bg/corridor/asha-hd.webp');
    --sphere: 280px;
  }
  .method--dark[data-persona="ctem"] {
    --corridor: url('../assets/images/bg/corridor/ctem-hd.webp');
    --sphere: 520px;
  }
  .method--dark[data-persona="ngsoc"] {
    --corridor: url('../assets/images/bg/corridor/ngsoc-hd.webp');
    --sphere: 280px;
  }
  .method--dark[data-persona="csirt"] {
    --corridor: url('../assets/images/bg/corridor/csirt-hd.webp');
    --sphere: 520px;
  }
  .method--dark[data-persona="zerotrust"] {
    --corridor: url('../assets/images/bg/corridor/zerotrust-hd.webp');
    --sphere: 280px;
  }
  .method--dark[data-persona="grc"] {
    --corridor: url('../assets/images/bg/corridor/grc-hd.webp');
    --sphere: 520px;
  }

  .method--dark.method--media-start[data-persona],
  .method--dark.method--media-end[data-persona] {
    background-position: 50% 0, calc(50% + 400px - var(--sphere)) -129px;
  }
}

@media (min-width: 761px) {

  .hero .hero__actions .btn-secondary,
  .page-hero__actions .btn-secondary {
    padding-inline: 4px !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0 !important;
    background: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: rgba(241, 245, 249, 0.85);
    font-weight: 600;
    transition: color 200ms var(--ease-out),
                border-color 200ms var(--ease-out),
                transform 200ms var(--ease-out);
  }
  .hero .hero__actions .btn-secondary:hover,
  .hero .hero__actions .btn-secondary:focus-visible,
  .page-hero__actions .btn-secondary:hover,
  .page-hero__actions .btn-secondary:focus-visible {
    color: var(--color-fg);
    background: none;
    border-bottom-color: rgba(255, 255, 255, 0.5);

    transform: translateX(3px) !important;
    box-shadow: none;
  }
}

@media (max-width: 760px) {

  .hero {
    min-height: max(520px, calc(100vh - 104px)) !important;
    min-height: max(520px, calc(100svh - 104px)) !important;
  }
  .page-hero.page-hero--league,
  .page-nosotros .page-hero {
    min-height: max(520px, calc(100svh - 104px));
  }

  .hero {
    align-items: flex-start;
    padding-top: 136px;
  }
}

.consent__refus { color: var(--color-fg); }
.consent__refus:hover,
.consent__refus:focus-visible { color: var(--color-fg); text-decoration: underline; text-underline-offset: 3px; }
