/* Elevé Pilates · hoja compartida de las guías (/pilates-reformer y /pilates-para-principiantes). Sin JavaScript propio: las
   guías solo llevan la etiqueta de Analytics, el mismo <script> del inicio.
   Mismo lenguaje del inicio («Muro vivo · Velo»): gris de las paredes del estudio, grafito de los reformers, frambuesa del muro,
   Plus Jakarta Sans y botones «Frambuesa sólida». El fondo vivo del inicio (Canvas + WebGL) no viene: aquí la luz del muro va
   quieta, como en la 404. Si se cambia esta hoja, subir el ?v= del <link> en las dos páginas para que el navegador la renueve. */
:root{
  color-scheme:light;
  --wall:#eeecea; --wall-2:#e4e1de; --paper:#ffffff;
  --ink:#26252b; --ink-2:#4a4850; --ink-3:#66646b;
  --line:rgba(38,37,43,.12); --line-2:rgba(38,37,43,.22);
  --rasp:#b43a55; --rasp-deep:#9a2d47; --rasp-wall:#d9546e; --rasp-tint:#f7e6ea;
  --plum:#200c11;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.32,1.42,.46,1);
  --gut:16px;
  --head-h:64px;
}
@media (min-width:600px){ :root{ --gut:28px; } }
@media (min-width:1100px){ :root{ --gut:44px; --head-h:80px; } }

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--wall); color:var(--ink);
  font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
/* La luz del muro, quieta: frambuesa diluido arriba, madera abajo (las mismas manchas del inicio, sin animar) */
body::before{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(70vmax 55vmax at 10% 8%, rgba(217,84,110,.15), rgba(217,84,110,0) 70%),
    radial-gradient(60vmax 50vmax at 92% 96%, rgba(196,146,104,.13), rgba(196,146,104,0) 70%); }
img{ display:block; max-width:100%; height:auto; }
h1,h2,h3,p,ol,ul,dl,dd,figure{ margin:0; }
a{ color:inherit; }
:focus-visible{ outline:3px solid var(--ink); outline-offset:3px; border-radius:10px; }
.sr{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.nw{ white-space:nowrap; }
.page{ overflow-x:clip; }
.wrap{ width:100%; max-width:1320px; margin-inline:auto;
  /* viewport-fit=cover: con el teléfono de lado, el contenido nunca queda bajo la muesca (sin muesca, max() = --gut) */
  padding-left:max(var(--gut), env(safe-area-inset-left, 0px)); padding-right:max(var(--gut), env(safe-area-inset-right, 0px)); }
.skip{ position:absolute; left:12px; top:-80px; z-index:100; background:var(--ink); color:#fff; padding:12px 18px; border-radius:999px; font-weight:700; text-decoration:none; }
.skip:focus{ top:12px; }

/* ---------- Íconos ---------- */
.ic{ width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- Botones (sistema «Frambuesa sólida», sin flechas) ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:0 22px; border:0; border-radius:999px; cursor:pointer;
  font:inherit; font-size:17px; font-weight:700; letter-spacing:-.01em; line-height:1.15; text-decoration:none; text-align:center;
  transition:transform .25s var(--ease-out), background-color .25s ease, box-shadow .35s ease, color .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn .lbl{ text-wrap:balance; }
.btn.lg{ min-height:58px; padding:0 30px; font-size:18px; }
.btn.sm{ min-height:44px; padding:0 18px; font-size:16px; }
.btn-primary{ color:#fff; background-color:var(--rasp); background-image:linear-gradient(to bottom, rgba(255,255,255,.12), rgba(255,255,255,0) 48%);
  box-shadow:0 14px 28px -14px rgba(180,58,85,.72), 0 2px 5px -2px rgba(154,45,71,.35), inset 0 1px 0 rgba(255,255,255,.26), inset 0 -1px 0 rgba(32,12,17,.14); }
.btn-white{ color:var(--rasp-deep); background-color:var(--paper);
  box-shadow:0 18px 36px -18px rgba(32,12,17,.6), 0 2px 6px -3px rgba(32,12,17,.25), inset 0 -1px 0 rgba(154,45,71,.10); }
.btn-soft{ color:var(--ink); background-color:var(--paper); box-shadow:inset 0 0 0 1px rgba(38,37,43,.55), 0 1px 2px rgba(38,37,43,.06); }
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{ transform:translateY(-1px); background-color:var(--rasp-deep);
    box-shadow:0 18px 32px -14px rgba(180,58,85,.8), 0 3px 6px -2px rgba(154,45,71,.35), inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(32,12,17,.14); }
  .btn-white:hover{ transform:translateY(-1px); background-color:var(--rasp-tint); }
  .btn-soft:hover{ transform:translateY(-1px); box-shadow:inset 0 0 0 1.5px var(--ink), 0 8px 18px -12px rgba(38,37,43,.45); }
}
.btn-primary:active{ transform:translateY(1px) scale(.98); background-color:var(--rasp-deep);
  box-shadow:0 6px 14px -10px rgba(180,58,85,.75), inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(32,12,17,.14); }
.btn-white:active{ transform:scale(.98); background-color:var(--rasp-tint); }
.btn-soft:active{ transform:scale(.98); background-color:var(--wall-2); box-shadow:inset 0 0 0 1.5px var(--ink); }

.link{ display:inline-flex; align-items:center; gap:6px; min-height:44px; font-weight:700; color:var(--ink); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:4px; text-decoration-color:rgba(180,58,85,.6); transition:color .2s ease, text-decoration-color .2s ease; }
.link:hover{ text-decoration-color:var(--rasp-deep); color:var(--rasp-deep); }
/* Enlace dentro de un párrafo: en línea (no rompe el interlineado y puede partirse), con relleno vertical que no cambia el alto
   de la línea, para conservar un área de toque de ~44 px */
.link.inl{ display:inline; min-height:0; padding-block:11px; }

/* ---------- Encabezado ---------- */
.head-in{ height:var(--head-h); display:flex; align-items:center; gap:16px; }
.brand{ display:inline-flex; flex:none; align-items:center; min-height:44px; margin-right:auto; border-radius:12px; }
.brand img{ height:34px; width:auto; }
.head-nav{ display:none; }
.head-nav a{ display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:999px; font-size:16px; font-weight:600; color:var(--ink-2); text-decoration:none; transition:background-color .2s, color .2s; }
.head-nav a:hover{ background:rgba(38,37,43,.06); color:var(--ink); }
.head-nav a[aria-current="page"]{ color:var(--ink); background:rgba(38,37,43,.07); }
/* El botón del encabezado va siempre en una línea; en los teléfonos más angostos dice solo «Clase de prueba» */
.head-cta{ flex:none; white-space:nowrap; }
.head-cta .lbl{ white-space:nowrap; text-wrap:nowrap; }
.head-cta .l-short{ display:none; }
@media (max-width:439.98px){ .head-cta .l-long{ display:none; } .head-cta .l-short{ display:inline; } }
@media (min-width:1000px){ .head-nav{ display:flex; gap:2px; } }
@media (min-width:1100px){ .brand img{ height:42px; } }

/* ---------- Migas ---------- */
.crumbs ol{ display:flex; flex-wrap:wrap; align-items:center; gap:0 8px; padding:0; list-style:none; font-size:15px; font-weight:600; color:var(--ink-2); }
.crumbs li{ display:inline-flex; align-items:center; gap:8px; }
.crumbs a{ display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:4px; text-decoration-color:rgba(180,58,85,.6); border-radius:8px; }
.crumbs a:hover{ color:var(--rasp-deep); text-decoration-color:var(--rasp-deep); }
.crumbs .sep{ color:var(--ink-3); }

/* ---------- Portada de la guía ---------- */
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.eyebrow::before{ content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--rasp-wall); }
.g-hero{ display:grid; gap:32px; padding:4px 0 clamp(56px,8vw,104px); }
.g-hero .eyebrow{ margin-top:10px; }
.g-hero h1{ margin-top:16px; font-size:clamp(36px,9.4vw,64px); font-weight:700; letter-spacing:-.045em; line-height:1.03; text-wrap:balance; overflow-wrap:break-word; }
.g-hero h1 em{ font-style:normal; color:var(--rasp); }
.lede{ margin-top:20px; font-size:clamp(18px,2.2vw,21px); line-height:1.5; color:var(--ink-2); max-width:32em; text-wrap:pretty; }
.cta-row{ margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; }
.trial-line{ margin-top:18px; display:flex; align-items:flex-start; gap:10px; max-width:27em; font-size:17px; line-height:1.45; color:var(--ink); text-wrap:pretty; }
.trial-line .ic{ color:var(--rasp); margin-top:2px; }
.trial-line strong{ font-weight:800; }
.g-hero-photo{ border-radius:28px; overflow:hidden; aspect-ratio:4/3; background:#d8d4d2; }
.g-hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:var(--op, 50% 50%); }
@media (min-width:1000px){
  .g-hero{ grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(40px,5vw,88px); padding-top:16px; }
  .g-hero h1{ font-size:clamp(50px,4.9vw,70px); }
  .g-hero-photo{ aspect-ratio:5/4; }
}

/* ---------- Cuerpo: el texto y, en escritorio, la tarjeta de la clase de prueba al lado ---------- */
.g-body{ display:grid; gap:56px; }
.g-art{ min-width:0; max-width:46rem; }
/* Bajo 1100 px la tarjeta de la clase de prueba va debajo del texto: no se estira más que una tarjeta (en escritorio su columna
   mide 340 px y esto no la afecta) */
.g-aside{ max-width:28rem; }
@media (min-width:1100px){
  .g-body{ grid-template-columns:minmax(0,1fr) 340px; gap:clamp(56px,6vw,104px); align-items:start; }
  .g-aside{ position:sticky; top:28px; }
}
.g-sec + .g-sec{ margin-top:clamp(64px,8vw,96px); }
.g-sec > * + *{ margin-top:16px; }
.g-sec h2{ font-size:clamp(30px,5.4vw,46px); font-weight:700; letter-spacing:-.035em; line-height:1.08; text-wrap:balance; }
.g-sec > h2 + *{ margin-top:20px; }
:where(.g-sec) h3{ font-size:clamp(20px,2.3vw,23px); font-weight:700; letter-spacing:-.02em; line-height:1.25; color:var(--ink); text-wrap:balance; }
.g-sec > h3{ margin-top:36px; }
.g-sec > h3 + p{ margin-top:10px; }
/* Texto corrido de la guía: alcance sin especificidad (:where), así cualquier clase de un bloque lo ajusta sin !important */
:where(.g-sec) :where(p, li, dd){ font-size:18px; line-height:1.62; color:var(--ink-2); text-wrap:pretty; }
:where(.g-sec) strong{ font-weight:700; color:var(--ink); }
.g-sec > .btn, .g-sec > .cta-row{ margin-top:28px; }
.g-sec > figure{ margin-top:32px; }

/* Lista con puntos frambuesa */
.dots{ display:grid; gap:14px; padding:0; list-style:none; }
.dots li{ position:relative; padding-left:26px; }
.dots li::before{ content:""; position:absolute; left:3px; top:.68em; width:8px; height:8px; border-radius:50%; background:var(--rasp-wall); }

/* Partes del reformer (lista de definiciones con líneas finas) */
.parts{ border-top:1px solid var(--line-2); }
.parts > div{ display:grid; gap:4px; padding:16px 0; border-bottom:1px solid var(--line-2); }
.parts dt{ font-size:18px; font-weight:700; color:var(--ink); }
@media (min-width:640px){ .parts > div{ grid-template-columns:11.5rem minmax(0,1fr); gap:20px; padding:18px 0; } }

/* Beneficios (líneas finas; dos columnas en pantallas anchas) */
.benefits{ display:grid; padding:0; list-style:none; border-top:1px solid var(--line-2); }
.benefits li{ padding:20px 0; border-bottom:1px solid var(--line-2); }
.benefits h3{ font-size:20px; }
.benefits p{ margin-top:6px; }
@media (min-width:760px){
  .benefits{ grid-template-columns:1fr 1fr; column-gap:36px; }
}

/* Dos tarjetas lado a lado (Reformer y mat) */
.duo{ display:grid; gap:14px; }
@media (min-width:700px){ .duo{ grid-template-columns:1fr 1fr; } }
.card{ border-radius:28px; padding:24px 22px 26px; background:var(--paper); box-shadow:0 1px 2px rgba(38,37,43,.05); }
.card.alt{ background:rgba(255,255,255,.5); box-shadow:inset 0 0 0 1px var(--line); }
.card-k{ font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rasp-deep); }
.card h3{ margin-top:6px; font-size:24px; letter-spacing:-.025em; }
.card .dots{ margin-top:16px; gap:10px; }
.card .dots li{ font-size:17px; }

/* Datos de la clase */
.facts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(9rem, 1fr)); gap:10px; }
.facts > div{ border-radius:22px; padding:16px 18px 18px; background:var(--paper); }
.facts dt{ font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.facts dd{ margin-top:6px; font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.2; color:var(--ink); }

/* Pasos numerados */
.steps{ display:grid; padding:0; list-style:none; counter-reset:paso; }
.steps li{ position:relative; display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid var(--line-2); counter-increment:paso; }
.steps li:first-child{ border-top:1px solid var(--line-2); }
.steps li::before{ content:counter(paso); display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--paper); box-shadow:inset 0 0 0 1px var(--line-2); font-size:18px; font-weight:800; color:var(--rasp-deep); font-variant-numeric:tabular-nums; }
.steps h3{ font-size:20px; padding-top:8px; }
.steps p{ margin-top:4px; }

/* Texto y foto lado a lado en pantallas anchas (la foto vertical queda a la derecha) */
.split{ display:grid; gap:28px; }
@media (min-width:760px){ .split{ grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:32px; align-items:start; } }
.split > div > * + *{ margin-top:16px; }
.split > div > h3:not(:first-child){ margin-top:32px; }
.split > div > h3 + p{ margin-top:10px; }

/* Fotos dentro del texto */
.g-photo{ border-radius:28px; overflow:hidden; aspect-ratio:3/2; background:#d8d4d2; }
.g-photo img{ width:100%; height:100%; object-fit:cover; object-position:var(--op, 50% 50%); }
.g-photo.tall{ aspect-ratio:4/5; max-width:440px; }

/* Tabla de precios */
.tbl{ border-radius:28px; overflow:hidden; overflow-x:auto; background:var(--paper); }
.ptab{ width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.ptab caption{ padding:18px 14px 6px; text-align:left; font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.ptab th, .ptab td{ padding:14px 10px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.ptab th:first-child, .ptab td:first-child{ padding-left:14px; }
.ptab th:last-child, .ptab td:last-child{ padding-right:14px; }
.ptab tr:last-child > *{ border-bottom:0; }
.ptab thead th{ font-size:15px; font-weight:700; color:var(--ink-2); }
.ptab thead small{ display:block; font-size:15px; font-weight:600; }
.ptab tbody th{ font-size:18px; font-weight:800; color:var(--ink); }
.ptab tbody th small, .ptab td small{ display:block; margin-top:2px; font-size:15px; font-weight:500; line-height:1.35; color:var(--ink-2); }
.ptab td b{ display:block; font-size:clamp(18px,5vw,22px); font-weight:800; letter-spacing:-.025em; color:var(--ink); white-space:nowrap; }
@media (min-width:600px){
  .ptab caption{ padding:22px 24px 8px; }
  .ptab th, .ptab td{ padding:16px 18px; }
  .ptab th:first-child, .ptab td:first-child{ padding-left:24px; }
  .ptab th:last-child, .ptab td:last-child{ padding-right:24px; }
}
.note{ font-size:17px; color:var(--ink-2); }

/* Dónde estamos */
.place{ border-radius:28px; padding:24px 22px; background:var(--paper); }
@media (min-width:600px){ .place{ padding:28px; } }
.place-k{ font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.place-addr{ margin-top:8px; font-size:clamp(26px,3.4vw,32px); font-weight:800; letter-spacing:-.035em; line-height:1.08; color:var(--ink); }
.place-addr span{ display:block; margin-top:6px; font-size:19px; font-weight:600; letter-spacing:-.01em; color:var(--ink-2); }
.metro{ display:grid; gap:10px; margin-top:18px; padding:0; list-style:none; }
.metro li{ display:flex; align-items:flex-start; gap:10px; font-size:17px; font-weight:600; line-height:1.45; color:var(--ink); }
.metro .ic{ color:var(--rasp); margin-top:2px; }
.metro small{ font-size:inherit; font-weight:500; color:var(--ink-2); }
.place .btn{ margin-top:20px; }
.place-muted{ margin-top:12px; font-size:17px; color:var(--ink-2); }

/* Tarjeta de la clase de prueba */
.trial-card{ border-radius:28px; padding:26px 24px 24px; background:var(--paper);
  box-shadow:0 30px 60px -40px rgba(38,37,43,.45), 0 1px 2px rgba(38,37,43,.05); }
.trial-card .card-k{ display:block; }
.trial-card h2{ margin-top:6px; font-size:26px; font-weight:700; letter-spacing:-.03em; line-height:1.15; }
.trial-price{ margin-top:8px; font-size:56px; font-weight:800; letter-spacing:-.045em; line-height:1; color:var(--rasp-deep); font-variant-numeric:tabular-nums; }
.trial-card .dots{ margin-top:18px; gap:10px; }
.trial-card .dots li{ font-size:17px; line-height:1.45; color:var(--ink-2); }
.trial-card .btn{ width:100%; margin-top:22px; }
/* En el teléfono la tarjeta mide ~280 px por dentro: con menos relleno el botón cabe en una línea */
.trial-card .btn.lg{ padding-inline:16px; font-size:17px; }
.trial-card .ask{ margin-top:10px; font-size:17px; color:var(--ink-2); text-align:center; }

/* ---------- Preguntas frecuentes (mismo acordeón del inicio, sin JS) ---------- */
.faq{ padding-top:clamp(72px,9vw,128px); }
.faq-grid{ display:grid; gap:28px; }
.faq h2{ font-size:clamp(32px,5.4vw,52px); font-weight:700; letter-spacing:-.04em; line-height:1.05; text-wrap:balance; }
.faq .ask{ margin-top:18px; font-size:17px; color:var(--ink-2); }
@media (min-width:1000px){
  .faq-grid{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(48px,7vw,120px); }
  .faq-head{ position:sticky; top:28px; align-self:start; }
}
.acc details{ border-top:1px solid var(--line-2); }
.acc details:last-child{ border-bottom:1px solid var(--line-2); }
.acc summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:74px; padding:14px 4px; cursor:pointer; font-size:clamp(19px,2.2vw,22px); font-weight:700; letter-spacing:-.02em; line-height:1.28; border-radius:14px; -webkit-tap-highlight-color:transparent; }
.acc summary::-webkit-details-marker{ display:none; }
.pm{ position:relative; flex:none; width:40px; height:40px; border-radius:50%; background:var(--paper); box-shadow:inset 0 0 0 1px var(--line-2); transition:background-color .25s ease, transform .45s var(--ease-spring); }
.pm::before,.pm::after{ content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; margin:-1px 0 0 -7px; border-radius:2px; background:var(--ink); transition:transform .45s var(--ease-spring); }
.pm::after{ transform:rotate(90deg); }
.acc details[open] .pm{ background:var(--ink); }
.acc details[open] .pm::before,.acc details[open] .pm::after{ background:#fff; }
.acc details[open] .pm::after{ transform:rotate(0deg); }
@media (hover:hover) and (pointer:fine){ .acc summary:hover .pm{ transform:scale(1.06); } }
.acc-body p{ padding:0 4px 26px; font-size:18px; line-height:1.6; color:var(--ink-2); max-width:36em; text-wrap:pretty; }
@supports (interpolate-size:allow-keywords){
  :root{ interpolate-size:allow-keywords; }
  @media (prefers-reduced-motion:no-preference){
    .acc details::details-content{ block-size:0; overflow-y:clip; transition:block-size .45s var(--ease-out), content-visibility .45s allow-discrete; }
    .acc details[open]::details-content{ block-size:auto; }
  }
}

/* ---------- Sigue leyendo ---------- */
.next-wrap{ padding-top:clamp(56px,7vw,88px); }
.next{ display:grid; gap:6px; max-width:46rem; padding:24px 24px 26px; border-radius:28px; background:rgba(255,255,255,.55); box-shadow:inset 0 0 0 1px var(--line-2); text-decoration:none; transition:background-color .2s ease, box-shadow .3s ease, transform .25s var(--ease-out); }
.next-k{ font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.next-t{ font-size:clamp(22px,2.6vw,26px); font-weight:800; letter-spacing:-.025em; line-height:1.2; text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:5px; text-decoration-color:rgba(180,58,85,.6); }
.next-d{ font-size:17px; color:var(--ink-2); }
@media (hover:hover) and (pointer:fine){ .next:hover{ background:#fff; box-shadow:inset 0 0 0 1.5px var(--ink); transform:translateY(-1px); } .next:hover .next-t{ color:var(--rasp-deep); text-decoration-color:var(--rasp-deep); } }
.next:active{ transform:scale(.99); }

/* ---------- Cierre frambuesa (quieto) ---------- */
.g-close{ margin-top:clamp(72px,9vw,128px); padding:clamp(64px,9vw,120px) 0 clamp(60px,8vw,104px); border-radius:36px 36px 0 0; color:#fff;
  background:#b43a55; background-image:linear-gradient(to bottom,#c3425d 0%,#b73e57 55%,#a1304a 100%); }
.g-close h2{ font-size:clamp(42px,7.6vw,92px); font-weight:700; letter-spacing:-.045em; line-height:1; text-wrap:balance; }
.g-close h2 .dim{ color:var(--plum); }
.g-close p.l{ margin-top:18px; font-size:clamp(19px,2.1vw,23px); line-height:1.45; max-width:26em; }
.g-close .btn{ margin-top:30px; }
.g-close .login{ margin-top:10px; font-size:16px; }
.g-close .link{ color:#fff; text-decoration-color:rgba(255,255,255,.55); }
.g-close .link:hover{ color:#fff; text-decoration-color:#fff; }
.g-close :focus-visible{ outline-color:#fff; }

/* ---------- Pie: datos del estudio (los mismos del inicio) ---------- */
.g-foot{ padding-top:clamp(44px,6vw,64px); background:var(--plum); color:rgba(255,255,255,.78); font-size:16px; line-height:1.55; }
.g-foot :focus-visible{ outline-color:#fff; }
.foot-grid{ display:grid; gap:32px; }
.f-contact{ display:grid; gap:32px; }
@media (min-width:640px){ .f-contact{ grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:40px; } }
@media (min-width:900px){ .foot-grid{ grid-template-columns:minmax(0,2.2fr) minmax(0,1fr); gap:40px; } }
.foot-logo{ width:120px; height:auto; margin-bottom:14px; }
.g-foot address{ font-style:normal; }
.f-name{ font-size:20px; font-weight:800; letter-spacing:-.02em; color:#fff; }
.f-addr{ margin-top:6px; color:#fff; }
.f-k{ font-size:14px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.g-foot ul{ margin-top:6px; padding:0; list-style:none; }
.g-foot .link{ font-weight:600; color:#fff; text-decoration-color:rgba(255,255,255,.5); }
.g-foot .link:hover{ color:#fff; text-decoration-color:#fff; }
.f-val{ overflow-wrap:anywhere; }
.f-legal{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 24px; margin-top:36px; padding-top:18px; padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px)); border-top:1px solid rgba(255,255,255,.14); font-size:15px; }

@media (prefers-reduced-motion:reduce){
  .btn, .link, .next, .pm, .pm::before, .pm::after, .head-nav a{ transition:none; }
  .btn:active, .btn:hover, .next:hover, .next:active{ transform:none!important; }
}
