/* Adaptaciones visuales de NodeGraphBackground, Aurora, GlassCard y BigBack. */
body { position: relative; isolation: isolate; }
.site-atmosphere {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  background:
    linear-gradient(#80344612 1px, transparent 1px),
    linear-gradient(90deg, #80344612 1px, transparent 1px),
    radial-gradient(ellipse at 5% 25%, #6b142d52, transparent 52%),
    radial-gradient(ellipse at 95% 85%, #40213750, transparent 48%);
  background-size: 64px 64px, 64px 64px, auto, auto;
}
.site-atmosphere::before {
  content: "";
  position: absolute;
  inset: -15%;
  background: radial-gradient(ellipse at 70% 28%, #ff15352b, transparent 48%);
  animation: aurora-drift 18s ease-in-out infinite alternate;
}
.site-atmosphere canvas { width: 100%; height: 100%; opacity: .8; }
.background-code {
  position: absolute;
  color: #d4849845;
  font: 12px var(--mono);
  letter-spacing: .04em;
  transform: rotate(-90deg);
}
.background-code:first-of-type { top: 40%; left: -30px; }
.background-code:last-of-type { bottom: 27%; right: -40px; }
@keyframes aurora-drift { to { transform: translate(-8%, 10%) scale(1.15); } }

.hero { position: relative; }
.hero .eyebrow { color: #f4c4cf; }
.hero h1 { text-shadow: 0 0 50px #f7598420; }
.hero .accent {
  background: linear-gradient(110deg, #ff233e 15%, #ff7d93 60%, #ff233e 95%);
  background-clip: text;
  color: transparent;
}
.hero .visual {
  box-shadow: 0 20px 90px #c71c4329, inset 0 0 70px #5a15252e;
  border-color: #884052;
}
.terminal-bar { background: #29141a85; }
.hero-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 25px; }
.hero-badges a {
  padding: 5px 10px;
  border: 1px solid #5b303c;
  border-radius: 5px;
  background: #3518208c;
  color: #dcb7c1;
  font: 10px var(--mono);
  text-decoration: none;
}
.hero-badges a:hover { border-color: #ff778d; color: white; }
.terminal-content { position: relative; }
.terminal-content::before {
  content: "{ conectar(); }";
  position: absolute;
  top: 15px;
  right: 18px;
  color: #bb6d814f;
  font: 10px var(--mono);
}
.terminal-node { box-shadow: inset 0 -6px 22px #6b1c3126; }
#servicios, .process, .niche { position: relative; isolation: isolate; }
.niche { background: #100d11b8; }
.process { background: #110d12c4; }
#servicios::before {
  content: "{ FLUJOS }";
  position: absolute;
  top: 8px;
  right: max(24px, calc((100vw - 1180px) / 2));
  font: 900 clamp(40px, 7.5vw, 130px) var(--mono);
  color: #b8516a12;
  z-index: -1;
}
.card {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at var(--glow-x, 85%) var(--glow-y, 10%), #b52c4e33, transparent 70%),
    linear-gradient(135deg, #24141de8, #110e13ed);
  border-color: #58303e;
  backdrop-filter: blur(8px);
}
.card::after {
  content: "{}";
  position: absolute;
  top: 65px;
  right: 15px;
  font: 70px var(--mono);
  color: #c3637b13;
  pointer-events: none;
}
.card p { flex: 1; }
.case-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: #ff96a7;
  font-size: 13px;
  text-decoration: none;
  margin-top: 23px;
  width: fit-content;
}
.case-link:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.example {
  background: linear-gradient(135deg, #30141fd9, #141018ee);
  border-color: #65313f;
  box-shadow: 0 20px 65px #9f254b17;
}
.flow-row span { background: #571f323b; }
.step { padding: 22px 18px 20px; background: #27131c66; border: 1px solid #482a36; border-top-color: #ce496d; border-radius: 9px; }
.step b { color: #ff8ca3; }

.case-studio {
  position: relative;
  background: linear-gradient(130deg, #44132280, #100d14c9 65%);
  padding-block: 85px;
  border-block: 1px solid #5f2b3e;
}
.case-studio::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .17;
  pointer-events: none;
  background-image: radial-gradient(#e17b99 1px, transparent 1px);
  background-size: 19px 19px;
  mask-image: linear-gradient(90deg, #000, transparent 75%);
}
.case-studio > .wrap { position: relative; }
.case-studio .section-top { margin-bottom: 30px; }
.case-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 23px; }
.case-picker button {
  cursor: pointer;
  padding: 10px 15px;
  background: #1b1219;
  border: 1px solid #784053;
  border-radius: 7px;
  color: #e8c8d1;
  font-size: 13px;
}
.case-picker button[aria-pressed="true"] { color: #fff; border-color: #ff617e; background: #8d2541; box-shadow: 0 0 25px #fa346c25; }
.case-compare { display: grid; grid-template-columns: 1fr 65px 1fr; align-items: stretch; }
.compare-panel { min-width: 0; padding: 28px; border: 1px solid #573340; border-radius: 13px; background: #160f17ed; }
.compare-panel.after { border-color: #b84a68; background: linear-gradient(135deg, #531d327d, #1b111bec); box-shadow: 0 0 50px #ed386522; }
.compare-label { margin: 0 0 19px; color: #e1a1b5; font: 11px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.compare-panel h3 { font-size: 23px; letter-spacing: -.03em; margin: 0 0 16px; }
.compare-panel ol { padding-left: 19px; color: #c8b8c0; margin: 0; }
.compare-panel li { margin-bottom: 12px; font-size: 14px; line-height: 1.7; }
.compare-arrow { display: grid; place-items: center; color: #ff7a9a; font: 29px var(--mono); }
.case-bottom { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 24px; }
.case-bottom p { margin: 0; max-width: 450px; font-size: 12px; color: #b99ba7; }
.contact-panel { border-color: #73364b; box-shadow: 0 16px 70px #4c12252e; }
.contact-flow { background: linear-gradient(130deg, #35111f7d, #0d0b10c2); }
.contact-fields textarea, .contact-fields input[type="text"] { background: #26141e; }
.brand-footer { overflow: hidden; padding-top: 35px; background: linear-gradient(180deg, #100c13cc, #210d19ed); }
.brand-footer svg { width: 100%; display: block; margin: 12px auto 0; max-height: 240px; }
.brand-footer text { font-family: Inter, system-ui, sans-serif; font-weight: 900; }
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; font: 12px var(--mono); color: #d59bab; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: #fff; }
.brand-footer .footer { border-top: 1px solid #613244; margin-top: 15px; }

@media (min-width: 1700px) {
  .background-code { font-size: 15px; }
  .background-code:first-of-type { left: 5%; }
  .background-code:last-of-type { right: 5%; }
}
@media (max-width: 760px) {
  .case-studio { padding-block: 58px; }
  .case-compare { grid-template-columns: 1fr; }
  .compare-panel { padding: 23px; }
  .compare-arrow { height: 38px; transform: rotate(90deg); }
  .case-bottom .button { width: 100%; }
  .background-code { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-atmosphere::before { animation: none; }
}

/* Más contraste y una misma respuesta de luz en todos los paneles. */
:root {
  --muted: #d7cbd2;
  --surface-border: #795163;
  --lit-border: #ff7d9f;
}
.lead, .section-intro, .card p, .step p, .niche p { color: #dfd4db; }
.eyebrow, .terminal-bar, .terminal-foot { color: #e9d9e1; }
.card .number, .example-label, .compare-label, .case-link { color: #ff9bb6; }
.case-bottom p, .footer, .note { color: #c5b3be !important; }
.compare-panel ol, .flow-row { color: #e5dbe1; }
.card, .example, .step, .compare-panel, .contact-panel { border-color: var(--surface-border); }
.step { background: #160e16eb; border-top-color: #ff779d; }
.card {
  background:
    radial-gradient(circle at 85% 10%, #ad24492e, transparent 70%),
    linear-gradient(135deg, #24121ded, #0d0a11fa);
}
.example { background: linear-gradient(135deg, #301321eb, #100b14f5); }
.contact-fields textarea, .contact-fields input[type="text"] {
  background: #110d14;
  border-color: #92667b;
}
.contact-fields ::placeholder { color: #c4b2bf; }
.contact-fields input:focus-visible, .contact-fields textarea:focus-visible {
  border-color: #ff9cb8;
  outline-color: #ff9cb8;
  box-shadow: 0 0 23px #f23f792f;
}
.button {
  background: #cd1035;
  border-color: #ff7893;
  box-shadow: 0 3px 17px #c2133b26;
  transition: transform .18s, background .18s, box-shadow .18s, border-color .18s;
}
.button:focus-visible, .button:not(:disabled):active {
  color: #fff;
  background: #ab0a2b;
  border-color: #ffc1d0;
  box-shadow: 0 0 0 3px #f6658b30, 0 0 30px #f5246555;
}
.case-picker button, .niche-tabs button {
  color: #f0dee7;
  background: #190f1a;
  border-color: #946078;
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.case-picker button[aria-pressed="true"], .niche-tabs button[aria-pressed="true"] {
  background: #b31543;
  border-color: #ff91b2;
  box-shadow: 0 0 18px #ff3b733b;
  color: #fff;
}
.case-picker button:focus-visible, .niche-tabs button:focus-visible {
  background: #872244;
  box-shadow: 0 0 25px #ff4d8555;
}
.glow-surface {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.surface-light {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  margin: 0 !important;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    300px circle at var(--pointer-x, 50%) var(--pointer-y, 50%),
    #ff50733b, #fd377114 42%, transparent 75%
  );
  mix-blend-mode: screen;
  transition: opacity .2s;
}
.glow-surface:focus-within {
  border-color: var(--lit-border);
  box-shadow: 0 0 0 1px #ff4f7e55, 0 10px 44px #f92a6538;
}
.glow-surface:focus-within > .surface-light { opacity: 1; }
.glow-surface:active { border-color: var(--lit-border); }
.hero-badges a, .navlinks a, .footer a, .footer-links a, .secondary, .case-link, .brand {
  transition: color .18s, text-shadow .18s, background .18s, border-color .18s, filter .18s;
}
.hero-badges a { background: #201019; border-color: #87526a; color: #f2d3e0; }
.hero-badges a:focus-visible, .navlinks a:focus-visible,
.footer-links a:focus-visible, .secondary:focus-visible, .case-link:focus-visible {
  color: #fff;
  text-shadow: 0 0 16px #ff719b;
}
@media (hover: hover) {
  .glow-surface:hover {
    border-color: var(--lit-border);
    box-shadow: 0 0 0 1px #ff4f7e55, 0 10px 44px #f92a6538;
  }
  .glow-surface:hover > .surface-light { opacity: 1; }
  .card:hover {
    background:
      radial-gradient(circle at 85% 10%, #d82d573d, transparent 70%),
      linear-gradient(135deg, #24121ded, #0d0a11fa);
  }
  .button:not(:disabled):hover {
    background: #b10b31;
    border-color: #ffc1d0;
    box-shadow: 0 0 0 3px #f6658b30, 0 0 32px #f5246570;
  }
  .case-picker button:hover, .niche-tabs button:hover {
    background: #872244;
    border-color: #ffa0bf;
    box-shadow: 0 0 25px #ff4d8555;
  }
  .hero-badges a:hover { background: #601e38; box-shadow: 0 0 18px #f529633b; }
  .navlinks a:hover, .footer a:hover, .footer-links a:hover,
  .secondary:hover, .case-link:hover {
    color: #fff;
    text-shadow: 0 0 16px #ff719b;
  }
  .brand:hover { filter: brightness(1.25) drop-shadow(0 0 9px #ff3a724f); }
}
