/* EASM: página editorial de apoyo a la portada. Las reglas visuales quedan
   limitadas a body.page-easm; el fondo existente se reutiliza y se reorquesta
   mediante data-scene escrito por motion.js. */

body.page-easm {
  --easm-bg: #090e15;
  --easm-bg-raised: #0d1520;
  --easm-text: #edf3f7;
  --easm-muted: #b0bfcb;
  --easm-dim: #8293a1;
  --easm-line: rgba(161, 188, 206, .18);
  --easm-line-soft: rgba(161, 188, 206, .1);
  --easm-cyan: #83d5f2;
  --easm-blue: #38a7d7;
  --easm-wine: #bd5268;
  color-scheme: dark;
  color: var(--easm-text);
  background: var(--easm-bg);
  font-family: "Inter", system-ui, sans-serif;
  overflow-x: clip;
}

/* El sitio ya anima mesh, topología y grid desde motion.js. En esta página se
   reduce el grafo global y se devuelve profundidad a dos luces amplias que
   cambian de posición e intensidad por escena. */
.page-easm .bg-layers { opacity: .9; pointer-events: none; }
.page-easm .bg-mesh {
  overflow: visible;
  background: linear-gradient(180deg, #0b1119 0%, #0b111a 52%, #080d13 100%);
  transform: translate3d(calc(var(--scroll-p, 0) * -30px), calc(var(--scroll-p, 0) * -58px), 0)
             rotate(calc(var(--scroll-p, 0) * 1.4deg));
  filter: none;
  animation: none;
  will-change: transform;
}
.page-easm .bg-mesh::before,
.page-easm .bg-mesh::after {
  position: absolute;
  inset: -10%;
  content: "";
  pointer-events: none;
  transition: opacity 1.15s cubic-bezier(.2,.7,.2,1), transform 1.4s cubic-bezier(.2,.7,.2,1);
}
.page-easm .bg-mesh::before {
  opacity: var(--easm-blue-light, .72);
  background: radial-gradient(52% 48% at 68% 24%, rgba(31, 127, 174, .38), transparent 72%);
  transform: translate3d(var(--easm-blue-x, 0px), var(--easm-blue-y, 0px), 0);
}
.page-easm .bg-mesh::after {
  opacity: var(--easm-wine-light, .34);
  background: radial-gradient(42% 40% at 13% 76%, rgba(128, 37, 57, .32), transparent 72%);
  transform: translate3d(var(--easm-wine-x, 0px), var(--easm-wine-y, 0px), 0);
}
.page-easm .bg-grid {
  opacity: .12;
  -webkit-mask-image: radial-gradient(115% 82% at 51% 43%, #000 8%, transparent 84%);
  mask-image: radial-gradient(115% 82% at 51% 43%, #000 8%, transparent 84%);
}
.page-easm .bg-topology { opacity: .045; }
.page-easm .bg-noise { opacity: .025; }
html[data-scene="easm-reach"] {
  --easm-blue-light: .82; --easm-wine-light: .28;
  --easm-blue-x: 0px; --easm-blue-y: 0px; --easm-wine-x: 0px; --easm-wine-y: 0px;
}
html[data-scene="easm-change"] {
  --easm-blue-light: .56; --easm-wine-light: .56;
  --easm-blue-x: -6vw; --easm-blue-y: 5vh; --easm-wine-x: 5vw; --easm-wine-y: -3vh;
}
html[data-scene="easm-practice"] {
  --easm-blue-light: .72; --easm-wine-light: .18;
  --easm-blue-x: 4vw; --easm-blue-y: 2vh; --easm-wine-x: -4vw; --easm-wine-y: 5vh;
}
html[data-scene="easm-continuity"] {
  --easm-blue-light: .46; --easm-wine-light: .88;
  --easm-blue-x: 5vw; --easm-blue-y: -2vh; --easm-wine-x: 7vw; --easm-wine-y: -5vh;
}
html[data-scene="easm-action"] {
  --easm-blue-light: .9; --easm-wine-light: .38;
  --easm-blue-x: -4vw; --easm-blue-y: -3vh; --easm-wine-x: -3vw; --easm-wine-y: 3vh;
}

.page-easm .shell { width: min(1320px, calc(100% - 56px)); margin-inline: auto; }
.page-easm .site-header { z-index: 80; padding-top: 12px; }
.page-easm .nav-inner {
  width: min(1328px, calc(100% - 32px));
  height: 68px;
  padding: 0 12px 0 16px;
  border: 1px solid rgba(165, 192, 213, .18);
  border-radius: 20px;
  background: rgba(8, 13, 20, .93);
  box-shadow: 0 15px 40px rgba(0, 0, 0, .3);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}
.page-easm .site-header.is-scrolled .nav-inner {
  border-color: rgba(131, 213, 242, .24);
  background: rgba(7, 11, 17, .97);
  box-shadow: 0 15px 42px rgba(0, 0, 0, .4);
}
.page-easm .nav-links > a { color: #c3ced7; font-size: 13px; }
.page-easm .nav-links > a:hover,
.page-easm .nav-links > a.is-active { color: #f4f8fb; background: rgba(92, 192, 242, .1); }
.page-easm .nav-links > a.is-active { box-shadow: inset 0 -1px 0 var(--easm-cyan); }
.page-easm .nav-cta { gap: 4px; }
.page-easm .nav-cta .btn-sm { padding: 8px 10px; font-size: 12px; }
.page-easm .site-header .btn-secondary {
  color: #dce5ec;
  background: rgba(255, 255, 255, .035);
  border-color: rgba(165, 192, 213, .18);
}
.page-easm .site-header .btn-secondary:hover {
  color: #fff;
  background: rgba(92, 192, 242, .11);
  border-color: rgba(92, 192, 242, .4);
}
.page-easm .site-header .btn-primary {
  color: #04121b;
  background: linear-gradient(135deg, #8bdcf6, #38a7d7 84%);
  border: 0;
  box-shadow: 0 10px 25px -15px rgba(92, 192, 242, .75);
}
.page-easm .nav-toggle { background: rgba(255, 255, 255, .025); border-color: var(--easm-line); }
.page-easm .nav-dropdown-menu {
  color: var(--easm-text);
  background: rgba(9, 15, 23, .98);
  border-color: var(--easm-line);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .52);
}
.page-easm .nav-dropdown-menu a { color: var(--easm-text); }
.page-easm .nav-dropdown-menu a:hover { background: rgba(92, 192, 242, .08); }
.page-easm .nav-drop-desc, .page-easm .nav-drop-all { color: var(--easm-muted); }
.page-easm .nav-drop-title { color: var(--easm-text); }
.page-easm .mobile-menu {
  color: var(--easm-text);
  background: rgba(8, 13, 21, .985);
  border: 1px solid var(--easm-line);
  box-shadow: 0 24px 55px rgba(0, 0, 0, .5);
  backdrop-filter: blur(18px);
}
.page-easm .mobile-menu a { color: #dce5ec; }
.page-easm .mobile-menu a:hover,
.page-easm .mobile-menu a.is-active { background: rgba(92, 192, 242, .1); color: #fff; }
.page-easm .mobile-menu-label { color: var(--easm-cyan); }

.page-easm .easm-main { position: relative; z-index: 1; isolation: isolate; }
.page-easm a { text-underline-offset: .22em; }
.page-easm a:focus-visible,
.page-easm button:focus-visible { outline: 3px solid #a1e6ff; outline-offset: 4px; }
.page-easm [id] { scroll-margin-top: 104px; }
.page-easm .reveal {
  opacity: 0;
  transform: translateY(20px);
  filter: none;
  transition: opacity .55s ease, transform .68s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
.page-easm .reveal.is-visible { opacity: 1; transform: none; filter: none; }

.easm-hero {
  position: relative;
  padding: 126px 0 98px;
  border-bottom: 1px solid rgba(161, 188, 206, .12);
  background: linear-gradient(180deg, rgba(8, 13, 20, .32), rgba(8, 13, 20, .06) 72%, transparent);
}
.easm-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 0 0 46px;
  color: var(--easm-dim);
  font: 500 12px/1.4 "JetBrains Mono", ui-monospace, monospace;
}
.easm-crumbs a { color: #a9b9c6; text-decoration: none; transition: color .2s ease; }
.easm-crumbs a:hover { color: var(--easm-cyan); }
.easm-crumbs [aria-current="page"] { color: #e2ebf1; }
.easm-hero-grid {
  display: grid;
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
  gap: clamp(30px, 4.4vw, 66px);
  align-items: center;
}
.easm-hero-copy { min-width: 0; max-width: 590px; padding-block: 8px; }
.easm-kicker {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 20px;
  color: #9ec9d9;
  font: 500 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .025em;
}
.easm-kicker::before { width: 28px; height: 1px; content: ""; background: linear-gradient(90deg, var(--easm-cyan), transparent); }
.easm-hero h1 {
  max-width: 16ch;
  margin: 0 0 24px;
  color: var(--easm-text);
  font: 600 clamp(48px, 4.8vw, 64px)/1.04 "Space Grotesk", system-ui, sans-serif;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.easm-hero-lead {
  max-width: 48ch;
  margin: 0;
  color: #bdcbd5;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.72;
}
.easm-method-line {
  max-width: 49ch;
  margin: 24px 0 0;
  padding: 2px 0 2px 15px;
  border-left: 1px solid rgba(131, 213, 242, .52);
  color: #93a7b5;
  font-size: 13px;
  line-height: 1.7;
}
.easm-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 32px; }
.easm-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--easm-text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.easm-button:hover { transform: translateY(-2px); }
.easm-button:active { transform: translateY(1px) scale(.99); }
.easm-button--primary {
  color: #07131a;
  background: linear-gradient(135deg, #a0e4fa, #54bce1 88%);
  box-shadow: 0 12px 28px -18px rgba(92, 192, 242, .8);
}
.easm-button--primary:hover { color: #07131a; box-shadow: 0 15px 32px -16px rgba(92, 192, 242, .92); }
.easm-button--quiet {
  color: #d3e1e9;
  background: rgba(255, 255, 255, .025);
  border-color: rgba(165, 192, 213, .22);
}
.easm-button--quiet:hover { color: #fff; background: rgba(92, 192, 242, .08); border-color: rgba(92, 192, 242, .4); }
.easm-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #9ddcf3;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s ease, gap .2s ease;
}
.easm-text-link:hover { gap: 13px; color: #d8f2fb; }
.easm-perspective { min-width: 0; margin: 0; }
.easm-perspective-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0 4px 9px;
  color: #d5e2ea;
  font: 600 13px/1.35 "Space Grotesk", system-ui, sans-serif;
  letter-spacing: -.01em;
}
.easm-perspective-head span:last-child { text-align: right; }
.easm-perspective-axis { color: #8dcde4; font: 500 8px/1.35 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .035em; text-align: center; text-transform: uppercase; }
.easm-asset-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.easm-perspective-art {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  width: 100%;
}
.easm-perspective-view { min-width: 0; position: relative; }
.easm-perspective-view-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.easm-perspective-scene { display: block; width: 100%; height: auto; overflow: visible; filter: brightness(1.1) saturate(1.06); }
.easm-perspective-view--internet .easm-perspective-scene { filter: brightness(1.13) saturate(1.1); }
.easm-perspective-bridge { display: grid; align-content: center; justify-items: center; min-height: 120px; color: #8bd9f4; }
.easm-perspective-bridge svg { display: block; width: 32px; height: 32px; overflow: visible; filter: drop-shadow(0 0 9px rgba(92, 192, 242, .28)); }
.easm-perspective-bridge span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.easm-perspective-assets { display: grid; gap: 0; list-style: none; margin: -3px 4px 0; padding: 0; border-top: 1px solid rgba(161, 188, 206, .18); }
.easm-perspective-assets li { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 7px; min-height: 34px; padding: 5px 0; border-bottom: 1px solid rgba(161, 188, 206, .1); color: #d7e4ec; font-size: 11px; line-height: 1.35; }
.easm-perspective-assets li > span { color: #87cce5; font: 500 9px/1 "JetBrains Mono", ui-monospace, monospace; }
.easm-perspective-assets strong { font-weight: 550; }
.easm-perspective-assets--shared { margin-top: -3px; }
.easm-perspective-assets--new { margin-top: 10px; border-top-color: rgba(199, 116, 135, .38); }
.easm-perspective-assets--new li { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 6px; color: #f0d9dd; border-bottom-color: rgba(199, 116, 135, .19); }
.easm-perspective-assets--new li > span { color: #e2a0ae; }
.easm-perspective-assets--new small { color: #d595a1; font: 500 8px/1.2 "JetBrains Mono", ui-monospace, monospace; white-space: nowrap; }
.easm-discovery { opacity: 0; transform: translateY(10px) scale(.97); transform-box: fill-box; transform-origin: center; }
.easm-perspective.is-visible .easm-perspective-view--known .easm-perspective-scene { animation: easm-scene-arrive .58s cubic-bezier(.2, .72, .2, 1) .04s both; }
.easm-perspective.is-visible .easm-perspective-view--internet .easm-perspective-scene { animation: easm-scene-arrive .62s cubic-bezier(.2, .72, .2, 1) .18s both; }
.easm-perspective.is-visible .easm-discovery--legacy { animation: easm-discovery-arrive .62s cubic-bezier(.2, .75, .2, 1) .42s both; }
.easm-perspective.is-visible .easm-discovery--cloud { animation: easm-discovery-arrive .62s cubic-bezier(.2, .75, .2, 1) .56s both; }
.easm-discovery-wire { stroke-dasharray: 1; stroke-dashoffset: 1; }
.easm-perspective.is-visible .easm-discovery-wire { animation: easm-wire-arrive .65s ease-out .3s both; }
@keyframes easm-scene-arrive { from { opacity: .72; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes easm-discovery-arrive { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes easm-wire-arrive { to { stroke-dashoffset: 0; } }
.easm-perspective figcaption {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 25px;
  margin: 16px 4px 0;
  color: #b7c6cf;
  font-size: 12px;
  line-height: 1.6;
}
.easm-perspective figcaption span:last-child { color: #d2e5ee; }
.easm-change-section,
.easm-practice-section { position: relative; padding: clamp(94px, 10vw, 146px) 0; border-bottom: 1px solid rgba(161, 188, 206, .12); }
.easm-change-section {
  background: linear-gradient(110deg, rgba(13, 22, 32, .58), rgba(9, 14, 21, .16) 68%, rgba(9, 14, 21, .06));
}
.easm-change-intro,
.easm-practice-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(250px, .7fr);
  gap: clamp(30px, 7vw, 102px);
  align-items: end;
  margin-bottom: 62px;
}
.easm-change-intro > div,
.easm-practice-heading > div { min-width: 0; }
.easm-change-intro h2,
.easm-practice-heading h2,
.easm-waf-copy h2,
.easm-close h2 {
  margin: 0;
  color: var(--easm-text);
  font: 600 clamp(40px, 4.5vw, 62px)/1.05 "Space Grotesk", system-ui, sans-serif;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.easm-change-intro h2 { max-width: 17ch; font-size: clamp(42px, 4.1vw, 56px); }
.easm-change-intro > p:last-child,
.easm-practice-heading > p:last-child {
  max-width: 39ch;
  margin: 0 0 5px;
  color: var(--easm-muted);
  font-size: 15px;
  line-height: 1.75;
}
.easm-change-stories { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); gap: clamp(38px, 8vw, 114px); align-items: start; }
.easm-change-primary { padding: 31px 0 0; border-top: 1px solid rgba(131, 213, 242, .44); }
.easm-change-heading { display: flex; align-items: center; gap: 15px; margin: 0 0 17px; }
.easm-change-icon { display: block; width: 50px; height: 50px; flex: 0 0 50px; overflow: visible; color: #87d7f0; filter: drop-shadow(0 7px 14px rgba(31, 111, 143, .16)); }
.easm-change-story .easm-change-heading { gap: 12px; margin-bottom: 12px; }
.easm-change-story .easm-change-icon { width: 42px; height: 42px; flex-basis: 42px; }
.easm-change-heading .easm-story-type { margin: 0; }
.easm-story-type { margin: 0 0 17px; color: #9acfe2; font: 500 11px/1.4 "JetBrains Mono", ui-monospace, monospace; }
.easm-change-primary h3 {
  max-width: 20ch;
  margin: 0;
  color: #eaf2f6;
  font: 500 clamp(30px, 3.4vw, 46px)/1.12 "Space Grotesk", system-ui, sans-serif;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.easm-change-primary > p:last-child { max-width: 50ch; margin: 21px 0 0; color: #aebdc8; font-size: 14px; line-height: 1.75; }
.easm-change-secondary { display: grid; padding-top: 4px; }
.easm-change-story { padding: 23px 0 25px; border-top: 1px solid var(--easm-line-soft); }
.easm-change-story:last-child { border-bottom: 1px solid var(--easm-line-soft); }
.easm-change-story .easm-story-type { margin-bottom: 11px; color: #859aa8; }
.easm-change-story h3 { margin: 0; color: #e1eaf0; font: 550 21px/1.25 "Space Grotesk", system-ui, sans-serif; letter-spacing: -.025em; }
.easm-change-story > p:last-child { max-width: 48ch; margin: 9px 0 0; color: #9babb7; font-size: 13px; line-height: 1.65; }

.easm-practice-section { background: linear-gradient(155deg, rgba(11, 17, 25, .16), rgba(13, 23, 33, .44) 72%, rgba(9, 14, 21, .08)); }
.easm-practice-heading { margin-bottom: 50px; }
.easm-practice-heading h2 {
  max-width: 23ch;
  font-size: clamp(38px, 3.7vw, 52px);
  line-height: 1.08;
  letter-spacing: -.038em;
  text-wrap: balance;
}
.easm-practice-table-wrap { overflow-x: auto; border-top: 1px solid rgba(161, 188, 206, .34); }
.easm-practice-table { width: 100%; border-collapse: collapse; text-align: left; }
.easm-practice-table thead th {
  padding: 17px 18px 15px 0;
  color: #879aa8;
  font: 500 10px/1.4 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .025em;
}
.easm-practice-table thead th:first-child { width: 23%; }
.easm-practice-table thead th:nth-child(2) { width: 36%; }
.easm-practice-table tbody tr { border-top: 1px solid var(--easm-line-soft); transition: background .3s ease; }
.easm-practice-table tbody tr:hover { background: rgba(111, 154, 177, .045); }
.easm-practice-table tbody th,
.easm-practice-table tbody td { padding: 23px 24px 24px 0; vertical-align: top; }
.easm-practice-table tbody th {
  width: 23%;
  color: #e4edf2;
  font: 550 15px/1.45 "Space Grotesk", system-ui, sans-serif;
  text-align: left;
}
.easm-practice-table tbody td { width: 38.5%; color: #b2c0ca; font-size: 13px; line-height: 1.72; }
.easm-practice-icon { display: inline-grid; width: 23px; height: 23px; margin: 0 10px -6px 0; place-items: center; color: #8ec9df; }
.easm-practice-icon svg { display: block; width: 22px; height: 22px; }
.easm-practice-row--focus { border-top-color: rgba(131, 213, 242, .52) !important; }
.easm-practice-row--focus th { color: #a7e3f6 !important; }
.easm-practice-row--focus .easm-practice-icon { color: #8ee0fa; }
.easm-practice-row--focus td { color: #d2e2e9; }

.easm-waf-section {
  position: relative;
  overflow: hidden;
  padding: clamp(90px, 10vw, 145px) 0;
  border-bottom: 1px solid rgba(170, 112, 126, .2);
  background:
    radial-gradient(ellipse at 78% 45%, rgba(126, 40, 59, .24), transparent 46%),
    linear-gradient(105deg, rgba(15, 19, 28, .35), rgba(32, 16, 26, .5) 76%, rgba(10, 14, 21, .25));
}
.easm-waf-layout { display: grid; grid-template-columns: minmax(0, .86fr) minmax(390px, 1.14fr); gap: clamp(35px, 7vw, 100px); align-items: center; }
.easm-waf-copy { position: relative; z-index: 1; max-width: 620px; }
.easm-new-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: #e4a3af;
  font: 500 12px/1.5 "JetBrains Mono", ui-monospace, monospace;
}
.page-easm .easm-new-label .badge-new {
  padding: 2px 9px 2px 7px;
  color: #ffd9df;
  background: rgba(117, 37, 56, .48);
  border-color: rgba(221, 120, 140, .46);
  font-size: 10px;
}
.easm-new-context { color: #e4a3af; }
.easm-waf-copy h2 { max-width: 12ch; font-size: clamp(43px, 4.65vw, 64px); }
.easm-waf-copy > p:not(.easm-new-label) { max-width: 55ch; margin: 23px 0 0; color: #c0c5cc; font-size: 15px; line-height: 1.78; }
.easm-waf-copy .easm-waf-detail { margin-top: 14px !important; color: #929da8 !important; font-size: 12px !important; }
.easm-waf-copy .easm-text-link { margin-top: 25px; color: #efb0bc; }
.easm-waf-copy .easm-text-link:hover { color: #ffe0e5; }
.easm-waf-art { min-width: 0; margin: 0 -22px 0 0; }
.easm-waf-art svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 25px 50px rgba(3, 8, 13, .28)); }

.easm-close { position: relative; overflow: hidden; padding: clamp(92px, 10vw, 142px) 0 clamp(98px, 11vw, 156px); }
.easm-anchor-alias { position: absolute; top: 0; }
.easm-close-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .72fr);
  gap: clamp(38px, 8vw, 112px);
  align-items: end;
}
.easm-close-copy { max-width: 780px; }
.easm-close h2 { max-width: 16ch; }
.easm-close-copy > p:last-child { max-width: 55ch; margin: 22px 0 0; color: var(--easm-muted); font-size: 15px; line-height: 1.75; }
.easm-close-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: flex-start; }

.page-easm .site-footer {
  position: relative;
  z-index: 1;
  padding-top: 12px;
  border-top-color: rgba(161, 188, 206, .16);
  background:
    radial-gradient(62% 120% at 12% 0%, rgba(34, 119, 156, .13), transparent 68%),
    radial-gradient(70% 120% at 88% 12%, rgba(126, 40, 59, .11), transparent 70%),
    linear-gradient(180deg, rgba(8, 13, 20, .08), #080d13 76%);
}
.page-easm .footer-panel {
  padding: 52px 0 24px;
  border: 0;
  border-top: 1px solid rgba(161, 188, 206, .18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-easm .footer-panel::before { opacity: .1; }
.page-easm .footer-top { gap: 38px; }
.page-easm .footer-brand p { max-width: 35ch; color: #a7b7c3; line-height: 1.7; }
.page-easm .footer-col h4 { color: #d7e3eb; }
.page-easm .footer-col a { color: #a8b7c2; transition: color .2s ease; }
.page-easm .footer-col a:hover { color: #a0e1f6; }
.page-easm .footer-legal { border-top-color: var(--easm-line-soft); }
.page-easm .footer-bottom { color: #8293a1; }
.page-easm .footer-bottom .mono { color: #9aabb8; }
.page-easm .back-to-top { border-color: rgba(131, 213, 242, .3); background: rgba(10, 17, 25, .86); color: #d7f0f8; }

@media (max-width: 1080px) {
  .easm-hero-grid { grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); gap: 30px; }
  .easm-hero h1 { font-size: clamp(46px, 4.8vw, 60px); }
  .easm-waf-layout { grid-template-columns: minmax(0, .9fr) minmax(330px, 1.1fr); gap: 36px; }
  .easm-practice-table thead th:first-child,
  .easm-practice-table tbody th { width: 25%; }
}
@media (max-width: 860px) {
  .easm-hero { padding-top: 116px; }
  .easm-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .easm-hero-copy { max-width: 780px; }
  .easm-hero h1 { max-width: 16ch; font-size: clamp(48px, 6.4vw, 61px); }
  .easm-perspective { max-width: 850px; margin-inline: auto; }
  .easm-change-intro, .easm-practice-heading { grid-template-columns: minmax(0, 1fr); gap: 19px; }
  .easm-change-intro > p:last-child, .easm-practice-heading > p:last-child { max-width: 62ch; }
  .easm-waf-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .easm-waf-copy { max-width: 740px; }
  .easm-waf-art { width: min(100%, 670px); margin: -5px auto -25px; }
  .easm-close-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .easm-close-actions { justify-content: flex-start; }
}
@media (max-width: 700px) {
  .page-easm .shell { width: calc(100% - 36px); }
  .page-easm .site-header { padding-top: 8px; }
  .page-easm .nav-inner { width: calc(100% - 20px); height: 60px; padding: 0 10px 0 13px; border-radius: 17px; }
  .page-easm .brand-logo { width: clamp(156px, 48vw, 200px); max-height: 42px; }
  .page-easm .mobile-menu { inset: 74px 10px auto; max-height: calc(100dvh - 88px); overflow: auto; border-radius: 18px; }
  .easm-hero { padding: 99px 0 76px; }
  .easm-crumbs { gap: 6px; margin-bottom: 31px; font-size: 10px; }
  .easm-hero-grid { gap: 31px; }
  .easm-kicker { margin-bottom: 16px; font-size: 11px; }
  .easm-hero h1 { max-width: 16ch; margin-bottom: 18px; font-size: clamp(40px, 10.5vw, 52px); line-height: 1.04; }
  .easm-hero-lead { font-size: 15px; line-height: 1.72; }
  .easm-method-line { margin-top: 18px; font-size: 12px; }
  .easm-hero-actions { align-items: flex-start; gap: 14px 18px; margin-top: 25px; }
  .easm-button { min-height: 47px; padding-inline: 15px; font-size: 12px; }
  .easm-hero-actions .easm-text-link { min-height: 42px; }
  .easm-perspective-head { display: none; }
  .easm-perspective-art { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .easm-perspective-view-title { position: static; width: auto; height: auto; margin: 0 2px 7px; overflow: visible; clip: auto; clip-path: none; color: #e5edf2; font: 600 15px/1.3 "Space Grotesk", system-ui, sans-serif; letter-spacing: -.01em; white-space: normal; }
  .easm-perspective-view--internet .easm-perspective-view-title { margin-top: 3px; }
  .easm-perspective-bridge { min-height: 34px; grid-template-columns: 32px minmax(0, 1fr); justify-items: start; gap: 10px; padding-left: 4px; color: #9cdcf2; }
  .easm-perspective-bridge svg { transform: rotate(90deg); }
  .easm-perspective-bridge span { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; color: #9db0bd; font: 500 11px/1.4 "JetBrains Mono", ui-monospace, monospace; white-space: normal; }
  .easm-perspective-assets { margin-inline: 3px; }
  .easm-perspective-assets li { min-height: 37px; font-size: 12px; }
  .easm-perspective-assets li > span { font-size: 10px; }
  .easm-perspective-assets--new li { grid-template-columns: 27px minmax(0, 1fr) auto; }
  .easm-perspective-assets--new small { font-size: 9px; }
  .easm-perspective figcaption { grid-template-columns: 1fr; gap: 7px; margin: 15px 1px 0; font-size: 12px; }
  .easm-change-section, .easm-practice-section { padding-block: 76px; }
  .easm-change-intro, .easm-practice-heading { gap: 15px; margin-bottom: 37px; }
  .easm-change-intro h2, .easm-waf-copy h2, .easm-close h2 { font-size: clamp(35px, 9.3vw, 48px); }
  .easm-practice-heading h2 { max-width: 23ch; font-size: clamp(34px, 8.5vw, 44px); line-height: 1.08; }
  .easm-change-intro > p:last-child, .easm-practice-heading > p:last-child { font-size: 13px; }
  .easm-change-stories { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .easm-change-primary { padding-top: 24px; }
  .easm-change-heading { gap: 12px; margin-bottom: 15px; }
  .easm-change-icon { width: 44px; height: 44px; flex-basis: 44px; }
  .easm-change-story .easm-change-icon { width: 38px; height: 38px; flex-basis: 38px; }
  .easm-change-primary h3 { max-width: 17ch; font-size: clamp(30px, 8vw, 40px); }
  .easm-change-primary > p:last-child { margin-top: 16px; font-size: 13px; }
  .easm-change-secondary { padding-top: 0; }
  .easm-change-story { padding-block: 20px; }
  .easm-change-story h3 { font-size: 19px; }
  .easm-change-story > p:last-child { font-size: 12px; }
  .easm-practice-section { padding-bottom: 84px; }
  .easm-practice-table-wrap { overflow: visible; border-top: 0; }
  .easm-practice-table,
  .easm-practice-table tbody,
  .easm-practice-table tr,
  .easm-practice-table th,
  .easm-practice-table td { display: block; width: 100%; }
  .easm-practice-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
  .easm-practice-table tbody tr { padding: 20px 0 21px; border-top: 1px solid var(--easm-line); }
  .easm-practice-table tbody tr:last-child { border-bottom: 1px solid var(--easm-line); }
  .easm-practice-table tbody th { width: 100%; padding: 0 0 12px; font-size: 15px; }
  .easm-practice-table tbody td { display: grid; grid-template-columns: 126px minmax(0, 1fr); gap: 8px 12px; width: 100%; padding: 8px 0 0; font-size: 12px; line-height: 1.6; }
  .easm-practice-table tbody td::before { content: attr(data-label); color: #8799a5; font: 500 10px/1.55 "JetBrains Mono", ui-monospace, monospace; }
  .easm-practice-icon { width: 22px; height: 22px; margin-right: 8px; }
  .easm-practice-icon svg { width: 21px; height: 21px; }
  .easm-waf-section { padding-block: 76px 64px; }
  .easm-waf-copy h2 { max-width: 13ch; }
  .easm-waf-copy > p:not(.easm-new-label) { margin-top: 18px; font-size: 13px; }
  .easm-waf-copy .easm-waf-detail { font-size: 11px !important; }
  .easm-waf-art { width: calc(100% + 24px); max-width: 550px; margin: -3px -12px -18px; }
  .easm-close { padding-block: 77px 91px; }
  .easm-close-copy > p:last-child { margin-top: 17px; font-size: 13px; }
  .easm-close-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; justify-items: start; }
  .page-easm .site-footer { padding-top: 0; }
  .page-easm .footer-panel { padding-top: 37px; }
}
@media (max-width: 380px) {
  .page-easm .shell { width: calc(100% - 30px); }
  .easm-hero h1 { max-width: 16ch; font-size: 40px; }
  .easm-practice-table tbody td { grid-template-columns: 112px minmax(0, 1fr); gap: 7px 9px; font-size: 11px; }
  .easm-practice-table tbody td::before { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-easm .bg-mesh,
  .page-easm .bg-mesh::before,
  .page-easm .bg-mesh::after,
  .page-easm .bg-grid,
  .page-easm .bg-topology { animation: none !important; transition: none !important; transform: none !important; }
  .easm-perspective.is-visible .easm-perspective-scene,
  .easm-perspective.is-visible .easm-discovery,
  .easm-perspective.is-visible .easm-discovery-wire { animation: none !important; }
  .easm-discovery { opacity: 1; transform: none; }
  .easm-discovery-wire { stroke-dashoffset: 0; }
  .page-easm .easm-button,
  .page-easm .easm-text-link,
  .page-easm .easm-crumbs a,
  .page-easm .easm-practice-table tbody tr { transition: none !important; }
  .page-easm .reveal { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
}
