  /* ============================================================
     escalar.mx — "documento operativo", versión para público general
     Vidrio ESCALAR en una sola superficie (la carátula), modo oscuro único.
     ============================================================ */
  :root{
    --void:#0A1016;
    --txt:#EDF3F6;
    --txt-2:#A8C0CC;
    --txt-3:#8AA6B5;
    --rule-seccion:rgba(168,192,204,.60);
    --rule-fuerte:rgba(168,192,204,.52);
    --rule:rgba(168,192,204,.30);
    --teal:#1A9B8A;
    --teal-lit:#38D9C0;          /* Teal Esmeralda de pantalla: foco y estados */
    --azul:#4FA3C4;              /* Azul Acero de pantalla: numeración e iniciales */
    --azul-linea:#2E6E8E;        /* Azul Acero: solo línea, nunca texto */
    --glass-dense:rgba(10,16,22,.66);
    --edge:rgba(255,255,255,.13);
    --edge-lit:rgba(255,255,255,.28);
    --maxw:1180px;
    --tab:96px;
    --rail:360px;
    --e1:4px; --e2:8px; --e3:16px; --e4:26px; --e5:44px; --e6:72px;
    --display:"Montserrat","Segoe UI",system-ui,sans-serif;
    --body:"Inter","Segoe UI",system-ui,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  }
  *{box-sizing:border-box}
  html{scroll-padding-top:80px;scroll-padding-bottom:88px}
  body{margin:0;background:var(--void);color:var(--txt);font-family:var(--body);
    font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
  h1,h2,h3{font-family:var(--display);margin:0;line-height:1.12;text-wrap:balance}
  p{margin:0}
  a{color:inherit}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
    outline:2px solid var(--teal-lit);outline-offset:3px}
  .btn-solido:focus-visible{outline-color:var(--txt)}
  main:focus{outline:none}
  .wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--e4)}
  .oculto-visual{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .salto{position:absolute;left:-9999px;top:0;background:var(--void);color:var(--txt);
    padding:12px 18px;border:1px solid var(--rule-fuerte);z-index:99}
  .salto:focus{left:16px;top:12px}
  .mono,.campo,.marcador,.corrido,.caratula .titulo,.fila .k,.sello,.pie-nota,.secuencia,
  .tabla th,.tabla td.id,.rotulo,.servicio .cod,.paso-btn span,.paso-detalle span,.paso-pista,
  .negativas li::before,.via .dato span,.campo-form label,.formnota,.formerror,.piedoc{
    font-family:var(--mono);font-variant-ligatures:none}
  @media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

  /* ---------- cabecera ---------- */
  .docbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--void);
    border-bottom:1px solid var(--rule-seccion)}
  .docbar .wrap{display:flex;align-items:center;gap:var(--e4);height:68px}
  .marca{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;flex:0 0 auto}
  .marca svg{display:block;width:40px;height:40px}
  .palabra{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.14em;color:var(--txt)}
  .palabra span{color:var(--teal-lit)}
  .corrido{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-3);
    margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .corrido b{color:var(--azul);font-weight:400}
  .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
    font-family:var(--body);font-size:16px;font-weight:600;text-decoration:none;
    padding:13px 22px;border-radius:2px;border:0;cursor:pointer;
    transition:background-color .14s ease-out}
  .btn-solido{background:var(--teal);color:#04141a}
  .btn-solido:hover{background:var(--teal-lit)}
  .docbar .btn{min-height:44px;padding:10px 16px;font-size:14px;flex:0 0 auto}
  @media (max-width:720px){.docbar .btn{display:none}}
  @media (max-width:420px){.corrido{font-size:12px}.marca svg{width:34px;height:34px}.palabra{font-size:19px}.docbar .wrap{height:62px}}

  /* ---------- portada ---------- */
  .portada{position:relative;overflow:hidden;padding-block:var(--e6)}
  .aura{position:absolute;inset:0;z-index:0;pointer-events:none}
  .aura b{position:absolute;border-radius:50%;display:block}
  .a1{width:54vw;height:54vw;left:-16vw;top:-20vw;
      background:radial-gradient(closest-side,rgba(0,84,112,.46),transparent 72%)}
  .a2{width:40vw;height:40vw;right:-8vw;bottom:-18vw;
      background:radial-gradient(closest-side,rgba(26,155,138,.18),transparent 72%)}
  .portada .wrap{position:relative;z-index:1;display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,var(--rail));gap:var(--e5);align-items:center}
  .campo{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3)}
  .portada h1{font-size:clamp(35px,4.6vw,55px);font-weight:700;letter-spacing:-.02em;
    margin-top:var(--e3);max-width:18ch}
  .lead{color:var(--txt-2);margin-top:var(--e4);max-width:44ch;font-size:20px;line-height:1.5}
  .acciones{display:flex;flex-wrap:wrap;gap:var(--e3);margin-top:var(--e5)}
  .caratula{background:var(--glass-dense);backdrop-filter:blur(24px) saturate(140%);
    -webkit-backdrop-filter:blur(24px) saturate(140%);border:1px solid var(--edge);
    border-top-color:var(--edge-lit);position:relative;padding:var(--e4)}
  .caratula::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}
  .caratula .titulo{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);
    display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--rule-fuerte)}
  .fila{display:grid;grid-template-columns:var(--tab) minmax(0,1fr);gap:var(--e3);align-items:baseline;
    padding:var(--e3) 0;border-bottom:1px solid var(--rule)}
  .fila .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3)}
  .fila .v{font-size:15.5px;color:var(--txt-2)}
  .cifra{font-family:var(--display);font-size:31px;font-weight:700;color:var(--txt);line-height:1}
  .cifra small{font-family:var(--body);font-size:15.5px;font-weight:400;color:var(--txt-2);margin-left:10px}
  .sello{margin-top:var(--e3);font-size:12px;color:var(--txt-3)}
  @media (max-width:980px){
    .portada .wrap{grid-template-columns:1fr;gap:var(--e5)}
    .caratula{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,16,22,.9)}
  }
  @media (max-width:560px){.acciones .btn{width:100%}}
  @media (max-width:420px){.fila{grid-template-columns:1fr;gap:var(--e1)}}

  /* ---------- secciones: un solo eje izquierdo ---------- */
  section{border-top:1px solid var(--rule-seccion);scroll-margin-top:84px;padding-block:clamp(48px,6vw,80px)}
  .portada{border-top:0}
  .densa{padding-block:clamp(40px,4.5vw,64px)}
  .marcador{display:flex;align-items:baseline;gap:var(--e3);font-size:12px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--txt-3)}
  .marcador .linea{flex:1;height:1px;background:var(--rule)}
  section h2{font-size:clamp(25px,3.2vw,36px);font-weight:700;margin-top:var(--e4);max-width:24ch;letter-spacing:-.012em}
  .intro{color:var(--txt-2);margin-top:var(--e3);max-width:58ch}
  .pie-nota{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--rule-fuerte);
    font-size:13px;color:var(--txt-3);line-height:1.6}

  /* ---------- 01 tabla ---------- */
  .tabla-scroll{overflow-x:auto}
  .tabla{margin-top:var(--e5);width:100%;border-collapse:collapse;font-size:15.5px;table-layout:fixed}
  .tabla th{font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);
    text-align:left;padding:0 var(--e4) 12px 0;border-bottom:1px solid var(--rule-fuerte);vertical-align:bottom}
  .tabla th:first-child{width:72px}
  .tabla td{padding:var(--e3) var(--e4) var(--e3) 0;border-bottom:1px solid var(--rule);
    vertical-align:top;color:var(--txt-2);line-height:1.45}
  .tabla td.id{font-size:13px;color:var(--azul)}
  .tabla td.sintoma{font-weight:600}
  .tabla td.control{color:var(--txt)}
  .tabla tr:last-child td{border-bottom:0}
  .rotulo{display:none}
  @media (max-width:760px){
    .tabla,.tabla thead,.tabla tbody,.tabla tr,.tabla td,.tabla th{display:block;width:100%}
    .tabla thead{display:none}
    .tabla tr{padding:var(--e3) 0;border-bottom:1px solid var(--rule)}
    .tabla tr:last-child{border-bottom:0}
    .tabla td{border:0;padding:0 0 var(--e2)}
    .rotulo{display:inline;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-3)}
    .tabla td.id .rotulo{display:none}
  }

  /* ---------- 02 experiencia ---------- */
  .logros{margin-top:var(--e5);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e4);max-width:760px}
  .logro{border-top:1px solid var(--rule-fuerte);padding-top:var(--e3)}
  .logro b{display:block;font-family:var(--display);font-size:31px;font-weight:700;line-height:1.05}
  .logro p{margin-top:var(--e2);font-size:15.5px;color:var(--txt-2);line-height:1.5}
  @media (max-width:560px){.logros{grid-template-columns:1fr}}

  /* ---------- 03 servicios ---------- */
  .catalogo{margin-top:var(--e5);border-top:1px solid var(--rule-fuerte)}
  .servicio{display:grid;grid-template-columns:var(--tab) minmax(0,1fr);gap:var(--e4);
    padding:var(--e4) 0;border-bottom:1px solid var(--rule);align-items:baseline}
  .servicio .cod{font-size:13px;color:var(--azul);letter-spacing:.06em}
  .servicio h3{font-size:21px;font-weight:700}
  .servicio p{color:var(--txt-2);margin-top:var(--e2);font-size:15.5px;max-width:58ch;line-height:1.55}
  .secuencia{margin-top:var(--e4);font-size:13px;color:var(--txt-3);letter-spacing:.04em;line-height:1.6}
  .secuencia b{color:var(--txt-2);font-weight:400}
  @media (max-width:560px){.servicio{grid-template-columns:1fr;gap:var(--e2)}}

  /* ---------- 04 metodología: E·S·C·A·L·A·R ---------- */
  .pasos{margin:var(--e5) 0 0;padding:0;list-style:none;display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--rule-fuerte)}
  .paso{position:relative}
  .paso::before{content:'';position:absolute;top:-1px;left:0;right:var(--e2);height:2px;background:var(--stage);
    transform:scaleX(0);transform-origin:left center}
  .pasos.trazada .paso::before{transform:scaleX(1);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
  .pasos.trazada .paso:nth-child(2)::before{transition-delay:90ms}
  .pasos.trazada .paso:nth-child(3)::before{transition-delay:180ms}
  .pasos.trazada .paso:nth-child(4)::before{transition-delay:270ms}
  .pasos.trazada .paso:nth-child(5)::before{transition-delay:360ms}
  .pasos.trazada .paso:nth-child(6)::before{transition-delay:450ms}
  .pasos.trazada .paso:nth-child(7)::before{transition-delay:540ms}
  .paso:nth-child(-n+3){--stage:var(--azul-linea)}
  .paso:nth-child(4),.paso:nth-child(5),.paso:nth-child(6){--stage:#3FB3B0}
  .paso:nth-child(7){--stage:var(--teal)}
  .paso-btn{display:block;width:100%;min-height:44px;text-align:left;background:none;border:0;cursor:pointer;
    padding:var(--e4) var(--e2) var(--e3) 0;font-family:var(--display);font-weight:700;
    font-size:clamp(15px,1.5vw,19px);color:var(--txt-2);transition:color .14s ease-out}
  .paso-btn span{display:block;font-weight:400;font-size:12px;color:var(--txt-3);letter-spacing:.06em;margin-bottom:var(--e2)}
  .paso-btn i{font-style:normal;color:var(--azul)}
  .paso-btn .verbo{font-weight:700}
  .acrostico{white-space:nowrap}
  .paso-btn:hover,.paso.activo .paso-btn{color:var(--txt)}
  .paso.activo::after{content:'';position:absolute;left:0;right:var(--e2);bottom:0;height:1px;background:var(--rule-fuerte)}
  .paso-desc{display:none}
  .paso-detalle{margin-top:var(--e4);min-height:3.2em;max-width:60ch;font-size:19.5px;line-height:1.5;
    display:flex;gap:var(--e3);align-items:baseline}
  .paso-detalle span{font-size:12px;letter-spacing:.06em;color:var(--azul);flex:0 0 auto}
  .paso-pista{margin-top:var(--e2);font-size:12px;color:var(--txt-3)}
  .pista-tactil{display:none}
  @media (hover:none){.pista-cursor{display:none}.pista-tactil{display:inline}}
  @media (prefers-reduced-motion:reduce){
    .paso::before{transform:scaleX(1)}
    .pasos.trazada .paso::before{transition:none}
  }
  @media (max-width:900px){.pasos{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--e4)}}
  @media (max-width:560px){
    .pasos{grid-template-columns:1fr;row-gap:0}
    .paso{border-bottom:1px solid var(--rule)}
    .paso::before{right:auto;width:2px;height:auto;top:0;bottom:0;transform:scaleY(0);transform-origin:center top}
    .pasos.trazada .paso::before{transform:scaleY(1)}
    .paso.activo::after{display:none}
    .paso-btn{padding:var(--e3) 0 var(--e3) var(--e3);display:flex;align-items:baseline;gap:var(--e3)}
    .paso-btn span{margin:0}
    .paso.activo .paso-desc{display:block;padding:0 0 var(--e3) var(--e3);font-size:16px;color:var(--txt-2);line-height:1.5}
    .paso-detalle{display:none}
    .acrostico{display:none}
  }

  /* ---------- 05 lo que no hacemos ---------- */
  .negativas{margin:var(--e5) 0 0;padding:0;list-style:none;max-width:820px;border-top:1px solid var(--rule-fuerte)}
  .negativas li{padding:var(--e4) 0;border-bottom:1px solid var(--rule);font-family:var(--display);
    font-size:17px;font-weight:700;display:grid;grid-template-columns:var(--tab) minmax(0,1fr);
    gap:var(--e4);align-items:baseline}
  .negativas li::before{content:attr(data-n);font-size:12px;font-weight:400;color:var(--azul);letter-spacing:.06em}
  @media (max-width:560px){.negativas li{grid-template-columns:1fr;gap:var(--e1)}}

  /* ---------- 06 solicitud ---------- */
  .solicitud{margin-top:var(--e5);display:grid;grid-template-columns:minmax(0,var(--rail)) minmax(0,1fr);
    gap:var(--e5);align-items:start}
  .via{border-top:1px solid var(--rule-fuerte);padding-top:var(--e3)}
  .via > p{color:var(--txt-2)}
  .via .dato{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--rule)}
  .via .dato span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3)}
  .via .dato p{margin-top:var(--e1);font-size:15.5px;color:var(--txt-2)}
  .via .dato a{display:inline-flex;align-items:center;min-height:44px;color:var(--txt);text-decoration:none;
    border-bottom:1px solid var(--rule-fuerte)}
  .via .dato a:hover{color:var(--teal-lit)}
  form{border-top:1px solid var(--rule-fuerte);padding-top:var(--e3);display:grid;gap:var(--e4);max-width:620px}
  .dos{display:grid;gap:var(--e4);grid-template-columns:repeat(2,minmax(0,1fr))}
  .campo-form{display:grid;gap:var(--e2)}
  .campo-form label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3)}
  .campo-form .opt{text-transform:none;letter-spacing:0}
  .campo-form.invalido label{color:var(--txt)}
  .campo-form.invalido label::after{content:" · " attr(data-aviso);text-transform:none;letter-spacing:0}
  .campo-form input,.campo-form textarea{font-family:var(--body);font-size:17px;color:var(--txt);
    background:transparent;border:0;border-bottom:1px solid var(--rule-fuerte);border-radius:0;
    min-height:48px;padding:12px 2px;width:100%}
  .campo-form input:focus,.campo-form textarea:focus{border-bottom-color:var(--teal-lit);outline-offset:6px}
  .campo-form textarea{min-height:84px;resize:vertical;line-height:1.5}
  .campo-form.invalido input{border-bottom:2px solid var(--txt)}
  .campo-form input:-webkit-autofill{-webkit-text-fill-color:var(--txt);transition:background-color 9999s}
  .formerror{font-size:13px;color:var(--txt);line-height:1.6;border-left:2px solid var(--txt);padding-left:var(--e3)}
  .formerror:empty{display:none}
  .formnota{font-size:13px;color:var(--txt-3);line-height:1.6}
  .respaldo{border:1px solid var(--rule-fuerte);padding:var(--e3);display:grid;gap:var(--e2)}
  .respaldo:empty{display:none}
  .respaldo p{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-3)}
  .respaldo textarea{font-family:var(--mono);font-size:13px;color:var(--txt);background:transparent;
    border:1px solid var(--rule);padding:var(--e2);min-height:150px;width:100%;line-height:1.5}
  @media (max-width:900px){.solicitud{grid-template-columns:1fr}}
  @media (max-width:520px){.dos{grid-template-columns:1fr}}

  /* ---------- pie y barra de celular ---------- */
  .piedoc{border-top:1px solid var(--rule-seccion);padding-block:var(--e4) var(--e5);font-size:13px;color:var(--txt-3)}
  .piedoc .wrap{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4);align-items:center;justify-content:space-between}
  .piedoc a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;border-bottom:1px solid var(--rule-fuerte)}
  .barra-movil{display:none}
  @media (max-width:720px){
    .barra-movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--void);
      border-top:1px solid var(--rule-seccion);padding:var(--e2) var(--e3);
      padding-bottom:calc(var(--e2) + env(safe-area-inset-bottom,0px));
      transform:translateY(110%);visibility:hidden;transition:transform .2s ease-out,visibility 0s .2s}
    .barra-movil.visible{transform:translateY(0);visibility:visible;transition:transform .2s ease-out}
    .barra-movil .btn{flex:1 1 0;min-height:52px}
    .piedoc{padding-bottom:var(--e6)}
  }
  @media (prefers-reduced-motion:reduce){.barra-movil{transition:none}}

  /* ---------- movimiento: el terreno de la portada ---------- */
  .terreno{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;transform-origin:70% 40%}
  .curva{fill:none;stroke:var(--azul);stroke-width:1;stroke-opacity:calc(.12 + var(--n) * .014);
    stroke-dasharray:1;stroke-dashoffset:0}
  @media (prefers-reduced-motion:no-preference){
    .curva{animation:dibujar-curva 2.4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--n) * 110ms)}
    @keyframes dibujar-curva{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
    @supports (animation-timeline: scroll()){
      .terreno{animation:levantar-terreno linear both;animation-timeline:scroll(root);animation-range:0 720px}
      @keyframes levantar-terreno{from{transform:translateY(0) scale(1)}to{transform:translateY(-56px) scale(1.06)}}
    }
  }

  /* ---------- movimiento: botones que responden ---------- */
  .btn{transition:background-color .14s ease-out,transform .1s ease-out}
  .btn-solido::after{content:'';flex:0 0 auto;width:15px;height:15px;margin-left:10px;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .18s cubic-bezier(.16,1,.3,1)}
  .btn-solido:hover::after,.btn-solido:focus-visible::after{transform:translateX(4px)}
  .btn:active{transform:translateY(1px) scale(.985)}
  @media (prefers-reduced-motion:reduce){
    .btn:active{transform:none}
    .btn-solido:hover::after,.btn-solido:focus-visible::after{transform:none}
  }

  /* ---------- página del aviso de privacidad ---------- */
  .aviso{padding-block:var(--e6)}
  .aviso .wrap{max-width:820px}
  .aviso h1{font-size:clamp(30px,4vw,44px);font-weight:700;margin-top:var(--e4);letter-spacing:-.015em}
  .aviso h2{font-size:19.5px;font-weight:700;margin-top:var(--e5);max-width:none}
  .aviso p,.aviso li{color:var(--txt-2);margin-top:var(--e3);max-width:66ch}
  .aviso ul{margin:0;padding-left:1.2em}
  .aviso li{margin-top:var(--e2)}
  .aviso a{color:var(--txt);text-decoration:none;border-bottom:1px solid var(--rule-fuerte)}
  .aviso a:hover{color:var(--teal-lit)}
  .pendiente{color:var(--txt);background:rgba(79,163,196,.16);padding:0 4px}
  .formnota a,.piedoc .legal{color:var(--txt-2)}

  /* ---------- modo presentación (?presentar) ---------- */
  .presentando{scroll-padding-top:68px;scroll-padding-bottom:0}
  .presentando main > section{min-height:calc(100svh - 68px);display:flex;flex-direction:column;
    justify-content:center;scroll-margin-top:0}
  .presentando .barra-movil{display:none}
  .folio-presentacion,.guia-presentacion{position:fixed;right:var(--e4);z-index:45;margin:0;
    font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-3)}
  .folio-presentacion{bottom:var(--e3)}
  .guia-presentacion{bottom:calc(var(--e3) + 24px);color:var(--txt-2);transition:opacity .6s ease-out}
  .guia-presentacion.oculta{opacity:0}
  @media (prefers-reduced-motion:reduce){.guia-presentacion{transition:none}}
