:root {
  --ink: #090c0b;
  --surface: #101513;
  --paper: #f1efe8;
  --muted: #98a39e;
  --signal: #b9f227;
  --grid: rgb(177 190 183 / 10%);
  --line: rgb(177 190 183 / 25%);
  --header-height: 4.75rem;
  color-scheme: dark;
  font-family: "Instrument Sans", Arial, sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--ink);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 20rem;
  background: var(--ink);
  color: var(--paper);
  overflow-x: clip;
}

body.menu-open {
  overflow: hidden;
}

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

button {
  color: inherit;
  font: inherit;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--signal);
  color: var(--ink);
  transform: translateY(-180%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto minmax(12rem, 1fr);
  align-items: center;
  gap: 1.5rem;
  padding: 0 clamp(1.5rem, 4.4vw, 5.25rem);
  border-bottom: 1px solid var(--line);
  transition: height 260ms ease, background-color 260ms ease, backdrop-filter 260ms ease;
}

.site-header.is-scrolled {
  --header-height: 4.25rem;
  background: rgb(9 12 11 / 88%);
  backdrop-filter: blur(14px);
}

.wordmark {
  display: inline-flex;
  align-items: center;
  width: max-content;
  font-size: 0.94rem;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.wordmark-x {
  position: relative;
  display: inline-block;
  width: 0.9rem;
  height: 1.1rem;
  margin-left: 0.08rem;
}

.wordmark-x::before,
.wordmark-x::after {
  content: "";
  position: absolute;
  top: -0.08rem;
  left: 0.41rem;
  width: 0.1rem;
  height: 1.3rem;
  background: var(--signal);
  transform: rotate(42deg);
  transform-origin: center;
}

.wordmark-x::after {
  transform: rotate(-42deg);
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 2.3vw, 2.15rem);
}

.desktop-nav a,
.language-switch {
  position: relative;
  color: #bdc5c1;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.55rem;
  height: 1px;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms ease;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.25rem;
}

.language-switch {
  color: var(--muted);
  white-space: nowrap;
}

.header-contact {
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0 1rem;
  background: var(--signal);
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.header-contact:hover,
.header-contact:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 0.75rem 2rem rgb(185 242 39 / 13%);
}

.menu-trigger {
  display: none;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.75rem;
  text-transform: uppercase;
  cursor: pointer;
}

.menu-icon {
  position: relative;
  width: 1.25rem;
  height: 0.8rem;
}

.menu-icon i {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transition: transform 180ms ease, top 180ms ease;
}

.menu-icon i:first-child { top: 0.2rem; }
.menu-icon i:last-child { top: 0.65rem; }
.menu-trigger[aria-expanded="true"] .menu-icon i:first-child { top: 0.42rem; transform: rotate(45deg); }
.menu-trigger[aria-expanded="true"] .menu-icon i:last-child { top: 0.42rem; transform: rotate(-45deg); }

.mobile-navigation {
  position: fixed;
  z-index: 20;
  inset: 0;
  display: none;
  flex-direction: column;
  justify-content: center;
  padding: 7rem 1.5rem 2rem;
  background: var(--surface);
}

.mobile-navigation[hidden] { display: none; }

.mobile-navigation nav {
  border-top: 1px solid var(--line);
}

.mobile-navigation nav a {
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  font-size: 1.5rem;
}

.mobile-navigation nav span {
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.7rem;
}

.mobile-contact {
  min-height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding: 0 1rem;
  background: var(--signal);
  color: var(--ink);
  font-weight: 600;
}

.hero {
  --pointer-x: 0px;
  --pointer-y: 0px;
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  padding-top: var(--header-height);
  background: var(--ink);
}

.hero-grid,
.hero-light {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-grid {
  z-index: -3;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: clamp(3.5rem, 5.2vw, 5rem) clamp(3.5rem, 5.2vw, 5rem);
  background-position: calc(50% + var(--pointer-x)) calc(50% + var(--pointer-y));
  transition: background-position 250ms ease-out;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 89%, transparent 100%);
}

.hero-light {
  z-index: -2;
  background:
    radial-gradient(circle at 75% 42%, rgb(185 242 39 / 9%), transparent 27%),
    linear-gradient(90deg, rgb(9 12 11 / 100%) 0%, rgb(9 12 11 / 93%) 36%, rgb(9 12 11 / 28%) 73%, rgb(9 12 11 / 69%) 100%);
}

.hero-content {
  position: relative;
  z-index: 5;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(4rem, 7vh, 6.5rem) clamp(1.5rem, 4.4vw, 5.25rem) clamp(6.5rem, 12vh, 8.5rem);
}

.hero-kicker {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  color: var(--signal);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero-kicker span {
  width: 1.85rem;
  height: 1px;
  background: var(--signal);
}

.hero-title {
  max-width: min(75vw, 71rem);
  margin: clamp(1.25rem, 2.4vh, 2rem) 0 clamp(1.35rem, 2.7vh, 2.2rem);
  color: var(--paper);
  font-size: clamp(3.8rem, 7.4vw, 7.7rem);
  font-stretch: 88%;
  font-weight: 520;
  letter-spacing: -0.065em;
  line-height: 0.88;
}

.title-line {
  display: block;
  overflow: hidden;
}

.title-line > span {
  display: block;
  transform: translateY(112%);
  animation: title-reveal 850ms cubic-bezier(0.2, 0.75, 0.2, 1) forwards;
}

.title-line:nth-child(2) > span { animation-delay: 90ms; }
.title-line:nth-child(3) > span { animation-delay: 180ms; }
.title-line-muted > span { color: #b9c1bd; }

.hero-description {
  max-width: 37rem;
  margin: 0;
  color: #b4bdb8;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.6;
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.6rem;
  margin-top: clamp(1.6rem, 3.5vh, 2.6rem);
}

.primary-action,
.secondary-action {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  font-size: 0.83rem;
  font-weight: 600;
}

.primary-action {
  min-width: 13.5rem;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 1.15rem;
  background: var(--signal);
  color: var(--ink);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.primary-action:hover,
.primary-action:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 1rem 2.5rem rgb(185 242 39 / 14%);
}

.secondary-action {
  border-bottom: 1px solid var(--muted);
  transition: border-color 180ms ease, color 180ms ease;
}

.secondary-action:hover,
.secondary-action:focus-visible {
  color: var(--signal);
  border-color: var(--signal);
}

.reveal-item {
  opacity: 0;
  transform: translateY(0.8rem);
  animation: item-reveal 650ms ease 520ms forwards;
}

.hero-description { animation-delay: 570ms; }
.hero-actions { animation-delay: 660ms; }

.operational-network {
  position: absolute;
  z-index: 2;
  top: 9%;
  right: -4%;
  width: min(67vw, 72rem);
  height: 82%;
  opacity: 0;
  transform: translate(calc(var(--pointer-x) * 1.2), calc(var(--pointer-y) * 1.2));
  animation: network-reveal 1s ease 340ms forwards;
  transition: transform 250ms ease-out;
}

.network-lines {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.network-track {
  fill: none;
  stroke: var(--line);
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}

.network-signal {
  fill: none;
  stroke: var(--signal);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 1 650;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 6px rgb(185 242 39 / 60%));
  animation: signal-travel 6s linear 1.15s infinite;
}

.network-point circle {
  fill: var(--ink);
  stroke: var(--muted);
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
}

.network-core-halo {
  fill: rgb(185 242 39 / 7%);
  stroke: rgb(185 242 39 / 38%);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  transform-origin: 506px 258px;
  animation: core-breathe 3.4s ease-in-out infinite;
}

.network-core {
  fill: var(--signal);
  filter: drop-shadow(0 0 9px rgb(185 242 39 / 65%));
}

.network-label {
  position: absolute;
  padding: 0.25rem 0.4rem;
  background: rgb(9 12 11 / 76%);
  color: #b7c0bb;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.label-people { left: 25%; top: 15%; }
.label-data { left: 72%; top: 14%; }
.label-system { left: 50%; top: 43%; color: var(--signal); }
.label-process { left: 20%; top: 73%; }
.label-machines { left: 76%; top: 69%; }
.label-decisions { left: 85%; top: 41%; }

.hero-footer {
  position: absolute;
  z-index: 6;
  left: clamp(1.5rem, 4.4vw, 5.25rem);
  right: clamp(1.5rem, 4.4vw, 5.25rem);
  bottom: 1.4rem;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.66rem;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}

.scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.scroll-cue span {
  width: 2rem;
  height: 1px;
  background: var(--signal);
  transition: width 180ms ease;
}

.scroll-cue:hover span,
.scroll-cue:focus-visible span {
  width: 3rem;
}

.next-scene {
  min-height: 75vh;
  display: grid;
  grid-template-columns: minmax(9rem, 0.45fr) minmax(0, 1.55fr);
  align-items: start;
  gap: 3rem;
  padding: clamp(6rem, 12vw, 12rem) clamp(1.5rem, 5.5vw, 6.5rem);
  background: var(--paper);
  color: var(--ink);
}

.next-scene-index {
  padding-top: 0.65rem;
  color: #58635e;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.next-scene h2 {
  max-width: 62rem;
  margin: 0;
  font-size: clamp(2.6rem, 6vw, 6.2rem);
  font-weight: 520;
  letter-spacing: -0.06em;
  line-height: 0.96;
}

@keyframes title-reveal {
  to { transform: translateY(0); }
}

@keyframes item-reveal {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes network-reveal {
  from { opacity: 0; transform: translate(1.5rem, 1rem); }
  to { opacity: 0.96; transform: translate(calc(var(--pointer-x) * 1.2), calc(var(--pointer-y) * 1.2)); }
}

@keyframes signal-travel {
  0% { stroke-dasharray: 1 650; stroke-dashoffset: 0; }
  43% { stroke-dasharray: 74 650; }
  100% { stroke-dasharray: 1 650; stroke-dashoffset: -650; }
}

@keyframes core-breathe {
  0%, 100% { opacity: 0.45; transform: scale(0.96); }
  50% { opacity: 1; transform: scale(1.05); }
}

@media (max-width: 68rem) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .desktop-nav {
    display: none;
  }

  .header-contact {
    display: none;
  }

  .menu-trigger {
    display: inline-flex;
  }

  .mobile-navigation:not([hidden]) {
    display: flex;
  }
}

@media (max-width: 48rem) {
  :root { --header-height: 4rem; }

  .site-header,
  .site-header.is-scrolled {
    --header-height: 4rem;
    padding: 0 1.35rem;
  }

  .wordmark {
    font-size: 0.84rem;
  }

  .language-switch {
    font-size: 0.67rem;
  }

  .hero-light {
    background:
      radial-gradient(circle at 55% 77%, rgb(185 242 39 / 9%), transparent 27%),
      linear-gradient(180deg, rgb(9 12 11 / 100%) 0%, rgb(9 12 11 / 93%) 58%, rgb(9 12 11 / 35%) 100%);
  }

  .hero-grid {
    background-size: 3rem 3rem;
  }

  .hero-content {
    min-height: calc(100svh - var(--header-height));
    justify-content: flex-start;
    padding: clamp(3.8rem, 9vh, 5.25rem) 1.35rem 19rem;
  }

  .hero-kicker {
    font-size: 0.64rem;
  }

  .hero-title {
    max-width: 100%;
    margin-top: 1.25rem;
    font-size: clamp(3.05rem, 13.8vw, 4.55rem);
    line-height: 0.91;
  }

  .hero-description {
    max-width: 31rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  .hero-actions {
    width: 100%;
    display: grid;
    justify-items: start;
    gap: 0.75rem;
    margin-top: 1.6rem;
  }

  .primary-action {
    width: 100%;
  }

  .secondary-action {
    min-height: 2.75rem;
  }

  .operational-network {
    top: auto;
    right: -27%;
    bottom: 0.75rem;
    width: 150%;
    height: 21rem;
    opacity: 0.7;
  }

  .network-label {
    font-size: 0.56rem;
  }

  .label-decisions {
    display: none;
  }

  .hero-footer {
    left: 1.35rem;
    right: 1.35rem;
    bottom: 1rem;
  }

  .hero-footer > span:last-child {
    display: none;
  }

  .next-scene {
    min-height: 70vh;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 6rem 1.35rem;
  }

  .next-scene h2 {
    font-size: clamp(2.8rem, 13.2vw, 4.25rem);
  }
}

@media (max-width: 25rem) {
  .header-actions {
    gap: 0.85rem;
  }

  .language-switch span,
  .language-switch {
    font-size: 0;
  }

  .language-switch::before {
    content: "ES";
    font-size: 0.67rem;
  }

  .hero-title {
    font-size: clamp(2.65rem, 13vw, 3.2rem);
  }
}

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

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .title-line > span,
  .reveal-item,
  .operational-network {
    opacity: 1;
    transform: none;
  }
}

/* FABERNEX v3 — shared editorial system */
:root{--content:1440px}section[id]{scroll-margin-top:5rem}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--signal);outline-offset:6px}::selection{background:var(--signal);color:var(--ink)}.section{padding:7rem clamp(1.5rem,5vw,6rem);max-width:var(--content);margin:auto}.eyebrow,.tag,.index,.back,.visual-top,.step-number,.visual-bottom{font-family:'IBM Plex Mono',monospace}.eyebrow{font-size:.68rem;letter-spacing:.12em;color:var(--signal);text-transform:uppercase;margin:0 0 2.2rem}.section h2{font-size:clamp(2.3rem,4.2vw,4.5rem);font-weight:500;line-height:1.07;letter-spacing:-.055em;margin:0 0 1.8rem}.section h3{font-weight:500;letter-spacing:-.025em;font-size:1.5rem;line-height:1.25}.section p{line-height:1.7}.section p:not(.eyebrow):not(.product-name):not(.product-pitch){color:#aab6ae}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:5rem;align-items:end;margin-bottom:3rem}.section-heading>p{max-width:30rem;margin-bottom:2rem}.lead{font-size:1.2rem;max-width:43rem}.muted,.muted-title{color:var(--muted)}.home-hero .hero-title{font-size:clamp(3rem,5.8vw,6.2rem);max-width:1100px;line-height:1.02;letter-spacing:-.06em}.home-hero .hero-content{padding-top:7rem;padding-bottom:8rem}.home-hero .operational-network{opacity:.5;right:-17%;width:68vw}.home-hero .hero-light{background:linear-gradient(90deg,#090c0b 0%,#090c0bec 40%,#090c0b88 75%,#090c0b44)}.home-hero .hero-description{max-width:35rem;margin-top:1rem}.pain-section{border-bottom:1px solid var(--line)}.pain-list>a{display:grid;grid-template-columns:3rem 1fr 2rem;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);align-items:center}.pain-list h3{margin:0;max-width:800px;font-size:clamp(1.4rem,2.4vw,2rem)}.pain-list p{margin:.65rem 0 0}.index{font-size:.7rem;color:var(--signal)}.arrow{font-size:1.7rem;color:var(--signal)}.pain-list a:hover h3,.service-card:hover h3{color:var(--signal)}.solutions{padding-bottom:3rem}.product{display:grid;grid-template-columns:.9fr 1.2fr;gap:4rem;padding:4rem 0;border-top:1px solid var(--line);align-items:center}.product h3{font-size:2.8rem;letter-spacing:-.06em;margin:1.3rem 0}.product em{color:var(--signal);font-style:normal}.product-pitch{font-size:1.45rem;line-height:1.35!important}.tag{border:1px solid var(--line);padding:.5rem .65rem;font-size:.6rem;letter-spacing:.1em}.flow-visual{background:radial-gradient(ellipse at 50% 20%,#b9f20f0a,transparent 70%),#101513;border:1px solid var(--line);padding:1.5rem;position:relative;overflow:hidden}.visual-top{display:flex;align-items:center;gap:.5rem;font-size:.6rem;letter-spacing:.06em;color:#c4cec7;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px #b9f27799;flex-shrink:0}.visual-code{margin-left:auto;color:var(--muted);font-size:.55rem}.flow-steps{list-style:none;padding:1rem 0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.flow-steps li{min-height:100px;border-bottom:1px solid #b9f24455;padding:1rem .5rem;position:relative;display:flex;flex-direction:column;gap:1rem}.step-number{font-size:.6rem;color:var(--signal)}.flow-steps strong{font-size:.9rem;font-weight:500}.visual-bottom{border-top:1px solid var(--line);padding-top:1rem;display:flex;flex-direction:column;gap:.7rem;font-size:.55rem;line-height:1.7;color:#a8b8ac}.visual-bottom small{color:#819086;font-size:.55rem}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:2.3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .2s}.service-card:hover{background:var(--surface)}.service-card h3{font-size:1.8rem;margin:2rem 0 .7rem}.service-card .arrow{position:absolute;right:2rem;top:1.8rem}.method{background:var(--surface);max-width:none}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}.method-grid article{border-top:1px solid var(--line);padding-top:1.5rem}.method-grid h3{margin-bottom:.8rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;border-bottom:1px solid var(--line)}.about>.eyebrow{grid-column:1/-1}.about .lead{margin-top:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.contact h2{font-size:clamp(2.5rem,4vw,4rem)}label{display:block;font-size:.8rem;line-height:1.6;margin-bottom:1.3rem}label span{color:var(--muted)}input,textarea{font:inherit;color:var(--paper);width:100%;border:1px solid var(--line);background:#101513;padding:.85rem;border-radius:0;margin-top:.5rem}input:focus,textarea:focus{outline:1px solid var(--signal);border-color:var(--signal)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-note{font-size:.75rem}.primary-action{border:0;cursor:pointer}.contact form .primary-action{width:100%;margin-top:.7rem}.copy-button{background:none;cursor:pointer;color:var(--signal);border:0;border-bottom:1px solid currentColor}#contact-result{margin-top:2rem}#form-status{font-size:.85rem;color:var(--signal)}.footer{border-top:1px solid var(--line);padding:3rem clamp(1.5rem,5vw,6rem);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}.footer p,.footer small{font-size:.75rem;color:var(--muted)}.footer>div{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.75rem}.footer small{text-align:right}.detail-hero{padding-top:10rem}.detail-hero h1{font-size:clamp(2.8rem,6vw,6.5rem);line-height:1.02;letter-spacing:-.06em;font-weight:500;max-width:1100px;margin:1rem 0 2rem}.detail-hero .flow-visual{margin-top:4rem;max-width:1000px}.detail-hero .flow-steps{grid-template-columns:repeat(6,1fr)}.detail-hero .primary-action{margin-top:1.5rem}.back{display:block;margin-bottom:2rem;color:var(--muted);font-size:.7rem}.product-name{font-size:1.2rem;color:var(--signal);margin-bottom:1.5rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.feature-grid article{border-top:1px solid var(--line);padding-top:1.8rem}.feature-grid .eyebrow{line-height:1.6}.feature-grid h3{font-size:1.65rem}.example-section{background:var(--surface);max-width:none}.example-steps{list-style:none;padding:0;max-width:850px;margin:3rem 0}.example-steps li{display:flex;gap:2rem;padding:1.3rem 0;border-top:1px solid var(--line);font-size:1.2rem}.example-steps span{font-family:'IBM Plex Mono',monospace;color:var(--signal);font-size:.75rem;padding-top:.3rem}.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.roles-grid article{border-left:1px solid var(--signal);padding-left:1.5rem}.roles-grid h3{margin-top:0}.faq{max-width:1100px;padding-top:2rem}details{border-bottom:1px solid var(--line);padding:1.5rem 0}summary{cursor:pointer;font-size:1.1rem;line-height:1.5}details p{max-width:800px}.end-cta{border-top:1px solid var(--line);background:radial-gradient(ellipse at right bottom,#b9f2270b,transparent 70%)}.pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem}.pills a{border:1px solid var(--line);padding:.8rem 1rem;font-size:.75rem}.pills a:hover{border-color:var(--signal)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line)}.check-list{list-style:none;padding:0;margin:2rem 0}.check-list li{padding:.9rem 0;border-bottom:1px solid var(--line);color:#c4cec7;font-size:.95rem}.check-list li:before{content:'↗';color:var(--signal);margin-right:.8rem}.mobile-navigation nav a{font-size:1.3rem}
@media(min-width:1500px){.home-hero .hero-title{font-size:6.6rem}.section{padding-top:8rem;padding-bottom:8rem}}
@media(max-width:900px){.section-heading,.product,.contact,.service-detail{grid-template-columns:1fr;gap:2rem}.method-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.section{padding-top:4.5rem;padding-bottom:4.5rem}.detail-hero{padding-top:8rem}.home-hero .hero-title{font-size:6.6vw}.product{padding:3rem 0}.detail-hero .flow-steps{grid-template-columns:repeat(3,1fr)}.roles-grid{gap:1.5rem}.section-heading{margin-bottom:2rem}.section-heading h2{margin-bottom:0}}
@media(max-width:600px){.home-hero .hero-title{font-size:clamp(2.25rem,8.3vw,3.2rem);line-height:1.08}.home-hero .hero-content{padding-top:4.5rem;padding-bottom:13rem;min-height:85svh}.home-hero .operational-network{width:145%;right:-40%;height:16rem;bottom:1rem;opacity:.4}.home-hero .hero-light{background:linear-gradient(180deg,#090c0b 20%,#090c0b99)}.home-hero .hero-description{font-size:.95rem;max-width:90%}.home-hero .hero-kicker{font-size:.55rem;letter-spacing:.05em}.home-hero .hero-actions{gap:.8rem}.services-grid,.feature-grid,.method-grid,.roles-grid,.about,.form-row{grid-template-columns:1fr}.pain-list>a{grid-template-columns:1.3rem 1fr 1rem;gap:1rem}.pain-list h3{font-size:1.3rem}.pain-list p{font-size:.85rem}.section h2{font-size:2.3rem}.service-card{padding:1.7rem}.service-card h3{font-size:1.5rem}.flow-visual{padding:1rem}.flow-steps{gap:.6rem}.flow-steps strong{font-size:.75rem}.flow-steps li{min-height:90px;padding:.8rem .2rem}.visual-code{display:none}.visual-top{font-size:.52rem}.footer{grid-template-columns:1fr}.footer small{text-align:left}.detail-hero h1{font-size:2.8rem}.detail-hero .lead{font-size:1.05rem}.product h3{font-size:2.4rem}.about>div{margin-top:1rem}.contact{gap:2rem}.method-grid{gap:1.5rem}.eyebrow{line-height:1.7}.example-steps li{font-size:1rem}.product-pitch{font-size:1.3rem}}

/* SEO v4: visible breadcrumbs and readable service content */
.breadcrumbs{position:relative;margin:7rem clamp(1.5rem,5vw,6rem) -6rem;z-index:1;font-size:.75rem;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0}.breadcrumbs li+li:before{content:'/';padding-right:.6rem;color:var(--signal)}.breadcrumbs a:hover{color:var(--signal)}.seo-editorial{padding-top:0;max-width:1100px}.seo-editorial article{padding:2rem 0;border-top:1px solid var(--line)}.seo-editorial h2{font-size:clamp(1.7rem,3vw,2.7rem)}.seo-editorial p{font-size:1.1rem;max-width:850px}@media(max-width:900px){.breadcrumbs{margin-top:6rem;margin-bottom:-5rem}}

.ex,.team{margin:0;min-width:0}.ex{background:#101513;padding:clamp(1.2rem,3vw,2.6rem);border:1px solid var(--line)}.ex figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem}.ex small,.ord-id,.route-key{font-family:'IBM Plex Mono',monospace}.ex small{color:var(--muted);font-size:.63rem}.ord-id{padding:1.4rem 0;font-size:1.7rem}.ord-id em{font-style:normal;color:var(--signal)}.order dl{margin:0}.order dl div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line);font-size:.9rem}.order dd{margin:0;text-align:right}.order p{border-left:2px solid #edc493;padding-left:1rem;margin-bottom:0}.order strong,.route-key b:nth-child(2){color:#edc493}.route svg,.team svg{display:block;width:100%;height:auto}.route svg{margin:1.3rem 0}.route-key{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.65rem}.route-key b:first-child{color:var(--signal)}.detail-hero>.ex{max-width:700px;margin-top:3rem}.ai-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:3rem}.ai-hero h1{font-size:clamp(2.7rem,5.1vw,5.5rem)}.team{border-block:1px solid var(--line);padding-block:2rem}.team figcaption{margin-bottom:.5rem}@media(max-width:850px){.ai-hero{grid-template-columns:1fr}.team{width:100%;max-width:550px}}
/* FABERNEX v5.1 — portada en una columna; el dibujo nunca comparte fila con los enlaces. */
@media (max-width: 48rem) {
  .home-hero {
    --side: clamp(1.25rem, 5vw, 2.25rem);
    min-height: auto;
    padding-top: var(--header-height);
  }
  .home-hero .hero-content {
    min-height: 0;
    padding: clamp(2.25rem, 6vw, 3rem) var(--side) 0;
    justify-content: flex-start;
  }
  .home-hero .hero-title {
    max-width: 100%;
    margin: 1.15rem 0 1rem;
    font-size: clamp(1.85rem, 8.15vw, 3.7rem);
    line-height: 1.07;
  }
  .home-hero .hero-description {
    margin: 0; max-width: 44ch; font-size: 1rem; line-height: 1.55;
  }
  .home-hero .hero-actions {
    width: 100%; display: grid; justify-items: start;
    gap: .4rem; margin-top: 1.4rem;
  }
  .home-hero .primary-action {
    width: min(100%, 26rem); min-width: 0; min-height: 3rem;
  }
  .home-hero .secondary-action { min-height: 2.75rem; }
  .home-hero .operational-network {
    position: relative;
    inset: auto; z-index: auto;
    width: 100%; height: clamp(7rem, 30vw, 11rem);
    margin: 1.15rem 0 0;
    overflow: hidden; pointer-events: none;
    animation: none; transition: none; transform: none; opacity: .88;
  }
  .home-hero .network-lines {
    position: absolute; top: 50%; left: 0;
    width: 100%; height: auto; display: block;
    transform: translateY(-46.0714%); /* y=258 en viewBox de 560 */
  }
  .home-hero .network-label { display: none; }
  .home-hero .label-system {
    display: block; left: 56.2222%; top: calc(50% + .9rem);
    transform: translateX(-50%); font-size: .6rem;
  }
  .home-hero .hero-footer {
    position: relative; inset: auto;
    margin: .3rem var(--side) .8rem;
  }
  .home-hero .scroll-cue { min-height: 2.75rem; }
  .home-hero .hero-footer > span { display: none; }

  .mobile-navigation:not([hidden]) {
    justify-content: flex-start; overflow-y: auto;
    padding-top: calc(var(--header-height) + 1rem);
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }
  .section-heading > *, .service-detail > *, .ai-hero > * { min-width: 0; }
  .detail-hero .primary-action, .end-cta .primary-action {
    min-width: 0; max-width: 100%; gap: .8rem;
  }
}
@media (max-width: 48rem) and (prefers-reduced-motion: reduce) {
  .home-hero .network-signal, .home-hero .network-core-halo { animation: none; }
}
