/* ══════════════════════════════════════════════════════════════════════════
   La web pública de Augmenta.
   Se apoya en el sistema de diseño de la suite (/_p/tokens.css y /_p/ui.css, copias
   de packages/): fondos y tintas con sesgo violeta, bordes finos, botones en píldora,
   las teselas de cada app. Aquí solo va lo propio de la web. Estrategia §9.
   Al cambiar este fichero, sube VERSION en src/plantilla.ts.
   ══════════════════════════════════════════════════════════════════════════ */

body.w { background: var(--a-ground); color: var(--a-ink-2); }
.w a { color: var(--a-brand-ink); }
.w a.a-btn { color: var(--app-on-accent); }
.w a.a-btn--quiet { color: var(--a-ink); }
.w img { max-width: 100%; height: auto; display: block; }

.w-caja { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1.25rem; }
.w-estrecha { max-width: 46rem; }

.w-saltar { position: absolute; left: -9999px; top: 0; }
.w-saltar:focus { left: 1rem; top: 1rem; z-index: 50; background: var(--a-ground); padding: .5rem 1rem; border-radius: var(--a-r-sm); }

/* ── Cabecera ─────────────────────────────────────────────────────────── */
.w-cab {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20;
  background: color-mix(in srgb, var(--a-ground) 90%, transparent);
  backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid var(--a-rule);
}
.w-cab__fila { display: flex; align-items: center; gap: 1.5rem; min-height: 4rem; }
.w-marca { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: var(--a-ink) !important; font: 600 1.125rem/1 var(--a-display); letter-spacing: -.02em; flex: none; }
.w-marca svg { width: 22px; height: 20px; }
.w-nav { display: flex; align-items: center; gap: 1.5rem; flex: 1; }
.w-nav > a { color: var(--a-ink-2) !important; text-decoration: none; font-size: .9375rem; font-weight: 500; }
.w-nav > a:hover, .w-nav > a[aria-current="page"] { color: var(--a-ink) !important; }
.w-nav > a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--a-violeta); text-underline-offset: .45em; text-decoration-thickness: 2px; }
.w-idiomas { margin-left: auto; display: inline-flex; gap: .4rem; font-size: .875rem; color: var(--a-ink-3); }
.w-idiomas a { color: var(--a-ink-3) !important; text-decoration: none; }
.w-idiomas a:hover { color: var(--a-ink) !important; }
.w-idiomas [aria-current] { color: var(--a-ink); font-weight: 600; }
.w-cab__acc { display: flex; align-items: center; gap: 1rem; flex: none; }
.w-entrar { color: var(--a-ink) !important; text-decoration: none; font-weight: 600; font-size: .9375rem; }
.w-menu { display: none; font: inherit; font-weight: 600; font-size: .9375rem; color: var(--a-ink); background: none; border: 1px solid var(--a-rule-2); border-radius: 999px; padding: .375rem .875rem; cursor: pointer; }

@media (max-width: 960px) {
  .w-cab__fila { flex-wrap: wrap; gap: .75rem 1rem; padding-block: .625rem; }
  .w-cab__acc { margin-left: auto; gap: .75rem; }
  .js .w-menu { display: inline-block; }
  .w-nav { order: 3; flex-basis: 100%; flex-direction: column; align-items: flex-start; gap: .25rem; padding-block: .5rem 1rem; }
  .js .w-nav { display: none; }
  .js .w-nav.abierta { display: flex; }
  .w-nav > a { font-size: 1.0625rem; padding-block: .5rem; }
  .w-idiomas { margin-left: 0; padding-top: .5rem; }
}
@media (max-width: 420px) { .w-probar { display: none; } }

/* ── Secciones ────────────────────────────────────────────────────────── */
.w-seccion { padding-block: clamp(3rem, 7vw, 5rem); }
.w-seccion--suave { background: var(--a-ground-2); }
.w-seccion--intro { padding-block: clamp(2.5rem, 6vw, 4rem) 1rem; }
.w-seccion h2 { margin-bottom: 1rem; }
.w-seccion h2 + p, .w-seccion p + p { margin-top: .75rem; }
.w-seccion p { max-width: 65ch; }
.w-ante { font: 500 .75rem/1.2 var(--a-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--a-brand-ink); margin-bottom: .75rem !important; }
.w-entrada { font-size: clamp(1.0625rem, 2.2vw, 1.25rem); line-height: 1.55; color: var(--a-ink-2); margin-top: 1rem; }
.w-entrada-2 { margin-bottom: 1.5rem; }
.w-grande { font-size: 1.125rem; line-height: 1.6; }
.w-nota { font-size: .875rem; color: var(--a-ink-3); }
.w-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.w-dos h2:not(:first-child) { margin-top: 2rem; }
@media (max-width: 760px) { .w-dos { grid-template-columns: 1fr; } }

.w-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.w-enlace { font-weight: 600; text-decoration: none; }
.w-enlace::after { content: " →"; }
.w-enlace:hover { text-decoration: underline; }
.w-chip { display: inline-block; font: 600 .75rem/1.4 var(--a-body); padding: .125rem .625rem; border-radius: 999px; background: var(--a-warn-soft); color: var(--a-warn); vertical-align: middle; }

/* ── Portada: el héroe ────────────────────────────────────────────────── */
.w-heroe { position: relative; overflow: hidden; padding-block: clamp(3rem, 9vw, 6.5rem) clamp(3rem, 7vw, 5rem); border-bottom: 1px solid var(--a-rule); }
.w-heroe .w-caja { position: relative; z-index: 1; }
.w--portada .w-heroe h1 { font-size: clamp(2.375rem, 6.5vw, 4.25rem); letter-spacing: -.045em; line-height: 1.02; max-width: 15ch; }
.w--portada .w-heroe .w-entrada { max-width: 52ch; }
/* Los trazos del logo, en grande: la firma de la marca. Solo decoran. */
.w-trazos { position: absolute; inset: 0 0 0 auto; width: min(46vw, 36rem); pointer-events: none; }
.w-trazos i { position: absolute; bottom: -12%; width: 22%; height: 125%; border-radius: 999px; transform: skewX(-24deg); opacity: .9; }
.w-trazos i:nth-child(1) { right: 52%; background: var(--a-violeta); opacity: .55; }
.w-trazos i:nth-child(2) { right: 26%; background: var(--a-magenta); opacity: .45; }
.w-trazos i:nth-child(3) { right: 0; background: var(--a-rosa); opacity: .4; }
@media (max-width: 760px) { .w-trazos { width: 70vw; opacity: .35; } }

/* ── Portada: las puertas ─────────────────────────────────────────────── */
.w-puertas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 860px) { .w-puertas { grid-template-columns: 1fr; } }
.w-puerta {
  display: flex; flex-direction: column; justify-content: space-between; gap: 2rem;
  padding: 1.5rem; border: 1px solid var(--a-rule); border-radius: var(--a-r-lg);
  background: var(--a-ground); text-decoration: none; color: var(--a-ink-2) !important;
  border-top: 3px solid var(--t, var(--a-violeta));
  transition: transform .18s var(--a-ease-out), box-shadow .18s;
}
.w-puerta:hover { transform: translateY(-2px); box-shadow: var(--a-shadow-2); }
.w-puerta q { font: 600 clamp(1.375rem, 2.6vw, 1.75rem)/1.2 var(--a-display); letter-spacing: -.025em; color: var(--a-ink); quotes: "«" "»" "“" "”"; }
:lang(en) .w-puerta q { quotes: "“" "”"; }
.w-puerta span { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: .9375rem; }
.w-puerta b { color: var(--a-ink); }
.w-tambien { margin-top: 1.5rem; color: var(--a-ink-3); }

.w-pasos { list-style: none; counter-reset: paso; margin: 0; padding: 0; display: grid; gap: 1rem; }
.w-pasos li { counter-increment: paso; display: grid; grid-template-columns: 2.25rem 1fr; column-gap: .75rem; }
.w-pasos li::before { content: counter(paso); grid-row: span 2; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--a-brand-soft); color: var(--a-brand-ink); font: 600 .9375rem var(--a-display); }
.w-pasos b { color: var(--a-ink); }
.w-pasos span { font-size: .9375rem; }

.w-razones { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 860px) { .w-razones { grid-template-columns: 1fr; } }
.w-razones li { display: grid; gap: .5rem; padding-top: 1rem; border-top: 2px solid var(--a-violeta); }
.w-razones b { font: 600 1.125rem/1.3 var(--a-display); color: var(--a-ink); }

.w-cifras { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; }
.w-cifras > div { display: grid; gap: .25rem; padding: 1.25rem 1.5rem; border: 1px solid var(--a-rule); border-radius: var(--a-r-lg); background: var(--a-ground); min-width: 12rem; }
.w-cifras small { font-size: .8125rem; color: var(--a-ink-3); }
.w-cifras b { font: 600 1.5rem/1.2 var(--a-display); color: var(--a-ink); font-variant-numeric: tabular-nums; }
.w-cifras span { font-size: .875rem; color: var(--a-ink-3); }

/* ── Vídeo ────────────────────────────────────────────────────────────── */
.w-video { display: grid; grid-template-columns: minmax(0, 20rem) 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 700px) { .w-video { grid-template-columns: 1fr; } }
.w-video__marco { border-radius: var(--a-r-xl); overflow: hidden; background: #0e0a14; box-shadow: var(--a-shadow-2); aspect-ratio: 9 / 16; max-width: 100%; }
.w-video__marco video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── Suites y tarjetas ────────────────────────────────────────────────── */
.w-suites { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; }
.w-suite, .w-tarjeta { display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem; border: 1px solid var(--a-rule); border-radius: var(--a-r-lg); background: var(--a-ground); }
.w-suite { background: linear-gradient(160deg, var(--a-brand-soft), var(--a-ground) 60%); }
.w-suite__cab { display: flex; align-items: center; gap: .75rem; }
.w-suite__apps { display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.w-suite__apps a { display: inline-flex; align-items: center; gap: .375rem; text-decoration: none; color: var(--a-ink-2) !important; font-size: .875rem; }
.w-suite .w-acciones, .w-tarjeta .w-acciones { margin-top: auto; padding-top: .5rem; }
.w-ahorro { font-size: .9375rem; color: var(--a-ok); font-weight: 600; }
.w-precio { font-size: .9375rem; color: var(--a-ink-3); }
.w-precio b { color: var(--a-ink); font-variant-numeric: tabular-nums; }

.w-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
.w-tarjeta__cab { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--a-ink) !important; }
.w-tarjeta__cab span { display: grid; }
.w-tarjeta__cab b { font: 600 1.125rem/1.2 var(--a-display); }
.w-tarjeta__cab small { font-size: .8125rem; color: var(--a-ink-3); }
.w-tarjeta--beta { background: var(--a-ground-2); }
.w-tarjeta[hidden] { display: none; }

.w-filtros { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; }
.w-filtros button { font: inherit; font-size: .875rem; font-weight: 500; padding: .4375rem .9375rem; border-radius: 999px; border: 1px solid var(--a-rule-2); background: var(--a-ground); color: var(--a-ink-2); cursor: pointer; }
.w-filtros button[aria-pressed="true"] { background: var(--a-ink); border-color: var(--a-ink); color: var(--a-ground); }
.w-buscar { font: inherit; font-size: 1rem; flex: 1 1 14rem; min-width: 0; padding: .5rem 1rem; border-radius: 999px; border: 1px solid var(--a-rule-2); background: var(--a-ground); color: var(--a-ink); }
.w-cuenta { font-size: .875rem; color: var(--a-ink-3); margin-bottom: 1rem; }
.w-vacio { margin-top: 1rem; color: var(--a-ink-3); }

/* ── Ficha de una app ─────────────────────────────────────────────────── */
.w-heroe--app { background: linear-gradient(180deg, color-mix(in srgb, var(--t, var(--a-violeta)) 14%, var(--a-ground)), var(--a-ground) 70%); }
.w-heroe__fila { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 860px) { .w-heroe__fila { grid-template-columns: 1fr; } }
.w-app-nombre { display: inline-flex; align-items: center; gap: .625rem; font: 600 1.125rem var(--a-display); color: var(--a-ink) !important; text-decoration: none; }
.w-primera { margin-top: 1rem; font-size: .9375rem; color: var(--a-ink-3); max-width: 60ch; }
.w-heroe--app h1 { margin-top: .75rem; max-width: 18ch; }
.w-heroe--app .w-precio { margin-top: 1rem; }

.w-compo { position: relative; padding-right: 18%; padding-bottom: 8%; }
.w-compo__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--a-r-xl); }
.w-compo__movil { position: absolute; right: 0; bottom: 0; width: 42%; border-radius: 1.5rem; overflow: hidden; border: 6px solid #0e0a14; box-shadow: var(--a-shadow-3); background: #0e0a14; }
.w-compo__movil img { width: 100%; aspect-ratio: 390 / 844; object-fit: cover; object-position: top; }

.w-paso { padding-block: clamp(3rem, 7vw, 5rem); }
.w-paso__fila { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.w-paso--inv .w-compo { order: 2; }
@media (max-width: 860px) { .w-paso__fila { grid-template-columns: 1fr; } .w-paso--inv .w-compo { order: 0; } .w-compo { max-width: 28rem; } }

.w-checks, .w-cruces { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; }
.w-checks li, .w-cruces li { position: relative; padding-left: 1.75rem; }
.w-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--a-ok); font-weight: 700; }
.w-cruces li::before { content: "✕"; position: absolute; left: .125rem; color: var(--a-ink-3); font-size: .875rem; top: .1em; }
.w-alternativa { padding: 1.5rem; border-radius: var(--a-r-lg); background: var(--a-ground); border: 1px solid var(--a-rule); }
.w-alternativa h2 { font-size: 1.25rem; }
.w-fuentes { margin: 1rem 0 0; padding-left: 1.1rem; display: grid; gap: .375rem; font-size: .9375rem; }

.w-precio-caja { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2rem; border-radius: var(--a-r-xl); border: 1px solid var(--a-rule); border-top: 4px solid var(--t, var(--a-violeta)); background: var(--a-ground); }
.w-precio-caja .w-acciones { margin-top: 0; }

.w-faq { border-bottom: 1px solid var(--a-rule); }
.w-faq summary { cursor: pointer; padding-block: 1rem; font-weight: 600; color: var(--a-ink); list-style: none; position: relative; padding-right: 2rem; }
.w-faq summary::-webkit-details-marker { display: none; }
.w-faq summary::after { content: "+"; position: absolute; right: .25rem; top: .9rem; font-size: 1.25rem; color: var(--a-ink-3); }
.w-faq[open] summary::after { content: "−"; }
.w-faq p { padding-bottom: 1rem; }

.w-aviso { margin-top: 2rem; padding: 1.5rem; border-radius: var(--a-r-lg); background: var(--a-ground-2); border: 1px solid var(--a-rule); }
.w-copiar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.w-copiar code { font: 500 1rem var(--a-mono); color: var(--a-ink); background: var(--a-ground-3); padding: .375rem .75rem; border-radius: var(--a-r-sm); user-select: all; }

/* ── Precios ──────────────────────────────────────────────────────────── */
.w-tabla { overflow-x: auto; border: 1px solid var(--a-rule); border-radius: var(--a-r-lg); margin-bottom: 2.5rem; }
.w-tabla table { border-collapse: collapse; width: 100%; min-width: 40rem; font-size: .9375rem; }
.w-tabla th, .w-tabla td { padding: .875rem 1rem; text-align: left; border-bottom: 1px solid var(--a-rule); vertical-align: middle; }
.w-tabla thead th { font: 600 .75rem/1.2 var(--a-body); letter-spacing: .06em; text-transform: uppercase; color: var(--a-ink-3); background: var(--a-ground-2); }
.w-tabla tbody tr:last-child > * { border-bottom: 0; }
.w-tabla td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.w-tabla tbody th { font-weight: 400; }
.w-tabla tbody th small { display: block; color: var(--a-ink-3); font-size: .8125rem; margin-top: .25rem; }
.w-tabla .w-app-nombre { font-size: 1rem; gap: .5rem; }

/* ── Empresa ──────────────────────────────────────────────────────────── */
.w-bases { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.w-base { padding: 1.5rem; border-radius: var(--a-r-lg); background: var(--a-ground); border: 1px solid var(--a-rule); }
.w-base h3 { margin-bottom: .75rem; }

.w-fundador { display: grid; grid-template-columns: 10rem 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; max-width: 56rem; }
@media (max-width: 640px) { .w-fundador { grid-template-columns: 1fr; } }
.w-fundador__foto { width: 10rem; height: 10rem; border-radius: 50%; background: linear-gradient(135deg, var(--a-violeta), var(--a-magenta)); display: grid; place-items: center; }
.w-fundador__foto img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.w-fundador__foto span { font: 600 2.5rem var(--a-display); color: #fff; letter-spacing: -.03em; }
.w-fundador__nombre { color: var(--a-ink-3); margin-bottom: 1rem; }
.w-fundador__nombre b { color: var(--a-ink); }

.w-puestos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.w-puesto { display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem; border-radius: var(--a-r-lg); background: var(--a-ground); border: 1px solid var(--a-rule); }
.w-puesto__cab { display: flex; gap: .875rem; align-items: center; }
.w-puesto__cab h3 { margin-bottom: .25rem; }
.w-puesto__hueco { flex: none; width: 3rem; height: 3rem; border-radius: 50%; border: 2px dashed var(--a-rule-2); }
.w-puesto dl { margin: 0; display: grid; gap: .25rem .75rem; font-size: .9375rem; }
.w-puesto dt { font-weight: 600; color: var(--a-ink); margin-top: .5rem; }
.w-puesto dd { margin: 0; }

.w-motivos { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; }
.w-motivos a { display: block; padding: .75rem 1rem; border: 1px solid var(--a-rule); border-radius: var(--a-r-md); text-decoration: none; color: var(--a-ink) !important; font-weight: 500; background: var(--a-ground); }
.w-motivos a:hover { border-color: var(--a-violeta); }

/* ── Hola ─────────────────────────────────────────────────────────────── */
.w-lista-hola { display: grid; gap: .75rem; margin-block: 1.5rem; }
.w-hola { display: flex; align-items: center; gap: .875rem; padding: 1rem; border: 1px solid var(--a-rule); border-radius: var(--a-r-lg); text-decoration: none; color: var(--a-ink-2) !important; }
.w-hola span { display: grid; font-size: .9375rem; }
.w-hola b { color: var(--a-ink); font: 600 1.0625rem var(--a-display); }

/* ── Pie ──────────────────────────────────────────────────────────────── */
.w-pie { border-top: 1px solid var(--a-rule); padding-block: 3rem 2rem; font-size: .9375rem; }
.w-pie__entidad { display: flex; align-items: center; gap: .625rem; color: var(--a-ink); font-weight: 500; }
.w-pie__entidad svg { color: var(--a-ink); flex: none; }
.w-pie__cols { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2rem; margin-block: 2rem; }
@media (max-width: 760px) { .w-pie__cols { grid-template-columns: 1fr; } }
.w-pie h2 { font: 600 .75rem/1.2 var(--a-body); letter-spacing: .08em; text-transform: uppercase; color: var(--a-ink-3); margin-bottom: .75rem; }
.w-pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.w-pie ul a { color: var(--a-ink-2) !important; text-decoration: none; }
.w-pie ul a:hover { color: var(--a-ink) !important; text-decoration: underline; }
.w-pie ul b { color: var(--a-ink); font-weight: 600; margin-right: .25rem; }
.w-pie small { color: var(--a-ink-3); }
.w-pie__fin { color: var(--a-ink-3); font-size: .875rem; }

@media (prefers-reduced-motion: reduce) {
  .w *, .w *::before, .w *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ── Arreglos del ciclo 1 del arbitraje ───────────────────────────────── */
/* Las puertas: el nombre de la app en su línea y la frase debajo, sin separadores. */
.w-puerta { justify-content: flex-start; }
.w-puerta q { margin-bottom: auto; }
.w-puerta__app { margin-top: 2rem; }
.w-puerta__frase { display: block !important; font-size: .9375rem; color: var(--a-ink-3); }

/* Precios en el móvil: una tarjeta por fila en lugar de la tabla. */
.w-planes { display: none; list-style: none; margin: 0 0 2.5rem; padding: 0; gap: .75rem; }
.w-plan { display: grid; gap: .375rem; padding: 1rem 1.25rem; border: 1px solid var(--a-rule); border-radius: var(--a-r-lg); background: var(--a-ground); font-size: .9375rem; }
.w-plan .w-precio { margin: 0; }
@media (max-width: 700px) { .w-tabla { display: none; } .w-planes { display: grid; } }

/* El fundador, con su foto. */
.w-fundador__foto { overflow: hidden; background: var(--a-ground-3); }

/* Los puestos abiertos: «To be Hired» y un hueco gris oscuro con «?». */
.w-puesto__foto { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; border-radius: var(--a-r-md); background: #2b2733; color: #d8d3e2; font: 600 4.5rem/1 var(--a-display); }
.w-puesto h3 { margin-top: .25rem; }
.w-puesto__cargo { font-weight: 600; color: var(--a-ink-2); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }

/* ── Formularios: contacto y «Avísame» ────────────────────────────────── */
.w-form { display: grid; gap: .5rem; max-width: 34rem; }
.w-form label { font-weight: 600; font-size: .9375rem; color: var(--a-ink); margin-top: .5rem; }
.w-form input, .w-form select, .w-form textarea { font: inherit; font-size: 1rem; width: 100%; padding: .75rem .875rem; border: 1px solid var(--a-rule-2); border-radius: var(--a-r-md); background: var(--a-ground); color: var(--a-ink); }
.w-form input:focus, .w-form select:focus, .w-form textarea:focus { outline: none; border-color: var(--app-accent-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--a-violeta) 24%, transparent); }
.w-form textarea { resize: vertical; min-height: 8rem; }
.w-form .w-form__casilla { display: flex; gap: .625rem; align-items: flex-start; font-weight: 400; color: var(--a-ink-2); }
.w-form__casilla input { width: auto; margin-top: .3rem; }
.w-form .cf-turnstile { margin-top: .75rem; min-height: 65px; }
.w-form .a-btn { justify-self: start; margin-top: .5rem; }
.w-form--corto { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--a-rule); }
.w-aviso-form { padding: .875rem 1rem; border-radius: var(--a-r-md); background: var(--a-bad-soft); color: var(--a-bad); font-weight: 500; }
.w-aviso-form--ok { background: var(--a-ok-soft); color: var(--a-ok); }
/* El cuadro de Turnstile, entero en el móvil (arbitraje, ciclo 3). */
.w-form .cf-turnstile { width: 100%; max-width: 100%; }
@media (max-width: 480px) { .w-aviso { padding: 1rem .75rem; } }
