/* Glotus · sitio 1.14 · recorridos B (pieza 14 de CD, export 18/10/2026 19:56). comun.css sin encabezado ni pie (el tema conserva los suyos) + portada.css + catalogo.css + lista.css. Todo vive dentro de .g-page. */
/* Glotus · sitio 1.14 · comun.css · encabezado, pie, botones, estados, signos C5, Ficha chica.
   Sobre tokens (glotus-tokens.css) y components.css. Sin JS salvo header.js (menú). Prefijo g- en todo lo nuevo. */
.g-page{--fg-1:var(--glotus-fg-primary);--fg-2:var(--glotus-fg-secondary);--border-2:var(--glotus-border-line);--font-serif:var(--glotus-font-serif);--font-mono:var(--glotus-font-mono);--font-sans:var(--glotus-font-sans);color:var(--fg-1);background:var(--glotus-paper);font-family:var(--font-sans);font-size:16px;line-height:1.5}
.g-page *,.g-page *::before,.g-page *::after{box-sizing:border-box}
.g-page h1,.g-page h2,.g-page h3,.g-page p,.g-page ul{margin:0;color:inherit}
.g-page a{color:inherit}
.g-page a:focus-visible,.g-page button:focus-visible{outline:2px solid var(--glotus-teal-650);outline-offset:2px}
/* contenedor */
.g-sec{padding:72px 24px}.g-in{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
@media (max-width:599px){.g-sec{padding:44px 16px}}
@media (min-width:600px) and (max-width:1023px){.g-sec{padding:56px 24px}}
/* tipografía de página */
.g-eb{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);display:flex;align-items:center;gap:8px;font-weight:500}
.g-h1{font-family:var(--font-serif);font-weight:500;line-height:1;letter-spacing:-.025em;text-wrap:balance}
.g-h2{font-family:var(--font-serif);font-weight:500;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.g-lede{font-size:19px;line-height:1.5;color:var(--fg-2);max-width:58ch;text-wrap:pretty}
@media (max-width:599px){.g-lede{font-size:17px}}
/* signo C5 · siempre maciza, color del texto */
.g-sgn{display:inline-grid;place-items:center;flex:none;width:16px;height:16px;color:currentColor}.g-sgn svg{width:100%;height:100%;display:block}
.g-sgn--20{width:20px;height:20px}.g-sgn--14{width:14px;height:14px}
/* estado de curso · la palabra siempre está; el punto solo acompaña */
.g-st{font-size:14px;color:var(--fg-2);display:flex;align-items:center;gap:8px;line-height:1.4;text-wrap:pretty}
.g-st::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;flex:none}
.g-st--open{color:var(--fg-1);font-weight:600}.g-st--open::before{background:var(--glotus-teal-500);border-color:var(--glotus-teal-500)}
/* botones · Primary teal-650 (A5), contorno teal-650 */
.g-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;border:1px solid transparent;font-family:inherit;cursor:pointer;line-height:1.2;transition:background .12s ease}
.g-btn:active{transform:scale(.98)}
.g-btn--pri{background:var(--glotus-teal-650);color:var(--glotus-paper)}.g-btn--pri:hover{background:var(--glotus-teal-700);color:var(--glotus-paper)}
.g-btn--out{border-color:var(--glotus-teal-650);color:var(--glotus-teal-650);background:transparent}.g-btn--out:hover{background:rgba(0,120,120,.07)}
.g-go{font-weight:600;color:var(--glotus-teal-650);font-size:15px}
.g-more{align-self:flex-start;font-weight:600;color:var(--glotus-teal-650);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.g-more:hover{border-bottom-width:2px}
.g-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
@media (max-width:599px){.g-act{flex-direction:column}.g-act .g-btn{width:100%}}
/* Ficha v2.1 chica dentro de contenedores.
   Problema: sitio/ficha.css declara container-type en .ficha y dimensiona padding y gap en cqw; anidada en otro
   contenedor inline-size colapsa a 0 de alto antes de asentar el layout. Arreglo: el envoltorio fija el 2/1 y el ancho;
   la Ficha usa % de su propio ancho para caja y gap, y cqw solo para tipografía y regla. */
.glotus-ficha-wrap{display:block;width:100%;aspect-ratio:2/1;border-radius:6px;overflow:hidden;flex:none}
.glotus-ficha-wrap .ficha{container-type:inline-size;width:100%;height:100%;aspect-ratio:auto;padding:6.1% 5%;gap:0;display:flex;flex-direction:column;border-radius:0}
.glotus-ficha-wrap .ficha__regla{margin-top:1.8cqw}
.glotus-ficha-wrap .ficha__nombre{margin-top:auto}

/* ---- portada.css ---- */
/* Glotus · sitio 1.14 · portada.css · plantilla front-page. Sobre tokens, components.css y comun.css. */
.g-hero{padding-bottom:0}
.g-hero .g-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px 48px;align-items:end}
.g-hero .g-h1{font-size:56px;letter-spacing:-.02em;max-width:14ch}
.g-hero .g-lede{font-size:17px;max-width:48ch}
/* tres caminos: bloque bone (Idiomas, dos caminos) + bloque tinta (Formación) */
.g-paths{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;grid-column:1/-1;margin-top:28px}
.g-blk{border-radius:12px;padding:22px 24px 24px;display:flex;flex-direction:column;gap:18px;min-width:0}
.g-blk--idiomas{background:var(--glotus-bone)}
.g-blk--formacion{background:var(--glotus-ink-900);color:var(--glotus-paper)}
.g-blk__h{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding-bottom:12px;border-bottom:1px solid rgba(28,25,21,.2);font-weight:500;line-height:1.4}
.g-blk--formacion .g-blk__h{border-color:rgba(250,247,242,.28)}
.g-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;flex:1}
.g-path{display:flex;flex-direction:column;gap:8px;text-decoration:none;flex:1;min-width:0}
.g-path:hover h2{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.g-path__n{font-family:var(--font-serif);font-size:40px;line-height:1;letter-spacing:-.02em;color:var(--glotus-teal-650);font-weight:500}
.g-blk--formacion .g-path__n{color:var(--glotus-coral-400)}
.g-path h2{font-family:var(--font-serif);font-weight:500;font-size:27px;line-height:1.1;letter-spacing:-.015em;text-wrap:balance}
.g-path__sub{font-size:13px;color:var(--fg-2);font-weight:600}
.g-path__d{font-size:15px;color:var(--fg-2);line-height:1.5;text-wrap:pretty}
.g-blk--formacion .g-path__d,.g-blk--formacion .g-st,.g-blk--formacion .g-path__sub{color:rgba(250,247,242,.8)}
.g-blk--formacion .g-st--open{color:var(--glotus-paper)}
.g-blk--formacion .g-go{color:var(--glotus-paper);border-bottom:1px solid var(--glotus-coral-400);align-self:flex-start}
.g-path .g-st{margin-top:auto;padding-top:6px}
/* método breve */
.g-met .g-in{gap:20px}
.g-met .g-h2{font-size:34px}
.g-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.g-step{border:1px solid var(--border-2);border-radius:12px;padding:18px 18px 20px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.5;text-wrap:pretty}
.g-step__n{font-family:var(--font-serif);font-size:32px;line-height:1;color:var(--glotus-teal-650);font-weight:500}
@media (max-width:599px){.g-hero .g-in{grid-template-columns:minmax(0,1fr)}.g-hero .g-h1{font-size:40px}.g-paths{grid-template-columns:minmax(0,1fr);margin-top:20px;gap:10px}.g-blk{padding:18px 16px 20px}.g-two{grid-template-columns:minmax(0,1fr);gap:0}.g-two .g-path+.g-path{border-top:1px solid rgba(28,25,21,.2);padding-top:18px;margin-top:18px}.g-path h2{font-size:24px}.g-path__n{font-size:34px}.g-met .g-h2{font-size:28px}.g-steps{grid-template-columns:minmax(0,1fr);gap:10px}}
@media (min-width:600px) and (max-width:1023px){.g-hero .g-in{grid-template-columns:minmax(0,1fr)}.g-hero .g-h1{font-size:48px}.g-paths{grid-template-columns:minmax(0,1fr)}.g-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- catalogo.css ---- */
/* Glotus · sitio 1.14 · catalogo.css · plantilla archive-curso. Sobre tokens, components.css, comun.css y ficha.css. */
.g-cat .g-h1{font-size:48px}
.g-cat .g-in{gap:16px}
.g-grps{padding-top:0}.g-grps .g-in{gap:48px}
/* grupo por intención: cabecera bone fija + filas */
.g-grp{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px 40px;align-items:start}
.g-grp__h{background:var(--glotus-bone);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}
.g-grp__n{font-family:var(--font-serif);font-size:48px;line-height:1;color:var(--glotus-teal-650);font-weight:500}
.g-grp__h .g-h2{font-size:26px}.g-grp__d{font-size:14px;color:var(--fg-2);line-height:1.5;text-wrap:pretty}
.g-rows{display:flex;flex-direction:column;border-top:1px solid var(--fg-1)}
/* fila de curso: numeral · Ficha 144 · texto · acciones */
.g-cr{display:grid;grid-template-columns:36px 144px minmax(0,1fr) 200px;gap:12px 20px;padding:20px 0;border-bottom:1px solid var(--border-2);align-items:start}
.g-cr__n{font-family:var(--font-mono);font-size:13px;color:var(--fg-2);padding-top:3px;font-weight:500}
.g-cr__bd{display:flex;flex-direction:column;gap:6px;min-width:0}
.g-cr h3{font-family:var(--font-serif);font-weight:500;font-size:23px;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
.g-cr h3 a{text-decoration:none}.g-cr h3 a:hover{color:var(--glotus-teal-650);text-decoration:underline}
.g-cr__d{font-size:15px;color:var(--fg-2);line-height:1.5;text-wrap:pretty}
.g-cr .g-act{flex-direction:column;align-items:stretch;margin:0;padding:0}
.g-fx{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-1);font-weight:500}
.g-fx li+li::before{content:"·";padding:0 8px;color:var(--fg-2)}
.g-ets{font-size:12px;color:var(--fg-2);line-height:1.45}
@media (max-width:599px){.g-cat .g-h1{font-size:34px}.g-grp{grid-template-columns:minmax(0,1fr)}.g-grp__h{position:static;padding:16px}.g-grp__n{font-size:40px}.g-cr{grid-template-columns:36px minmax(0,1fr)}.g-cr .glotus-ficha-wrap{width:160px}.g-cr__bd,.g-cr .g-act{grid-column:2}}
@media (min-width:600px) and (max-width:1023px){.g-cat .g-h1{font-size:40px}.g-grp{grid-template-columns:minmax(0,1fr)}.g-grp__h{position:static;flex-direction:row;align-items:baseline;gap:16px;flex-wrap:wrap}.g-grp__d{flex-basis:100%}.g-cr{grid-template-columns:36px 144px minmax(0,1fr)}.g-cr .g-act{grid-column:3;flex-direction:row}}

/* ---- lista.css ---- */
/* Glotus · sitio 1.14 · lista.css · plantilla page-lista-de-espera. Sobre tokens, components.css y comun.css. */
.g-lst .g-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start}
.g-lst__tx{display:flex;flex-direction:column;gap:18px;min-width:0}
.g-lst .g-h1{font-size:48px}
.g-kick{display:inline-flex;align-items:center;gap:10px;background:var(--glotus-bone);border-radius:8px;padding:8px 12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;align-self:flex-start;line-height:1.4;white-space:nowrap}
.g-fm{border:2px solid var(--fg-1);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.g-fm .g-h2{font-size:26px}
/* incrustado: iframe de Google Forms a todo el ancho de la caja, 640 de alto */
.g-emb{display:block;width:100%;height:640px;border:0;border-radius:8px;background:var(--glotus-bone)}
.g-emb--err{display:grid;place-items:center;padding:24px;height:auto;min-height:320px}
.g-errb{font-size:16px;color:var(--fg-1);display:flex;flex-direction:column;gap:16px;align-items:center;max-width:46ch;text-align:left;line-height:1.5}
.g-errb .g-act{justify-content:center;margin:0}
.g-hint{font-size:14px;color:var(--fg-2);line-height:1.5;text-wrap:pretty}
.g-hint a{color:var(--glotus-teal-650);text-decoration:underline}
.g-mob{display:none;flex-direction:column;gap:12px}
@media (max-width:767px){.g-emb,.g-emb-h{display:none}.g-mob{display:flex}.g-mob .g-btn{width:100%;min-height:48px}}
/* resto del catálogo */
.g-oth{padding-top:0}.g-oth .g-h2{font-size:26px}
.g-ol{list-style:none;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--border-2)}
.g-ol li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-2);font-size:16px}
.g-ol li a{text-decoration:none;text-wrap:pretty}.g-ol li a:hover{text-decoration:underline}
.g-ol__lang{color:var(--fg-2);font-size:13px;white-space:nowrap}
.g-ol__sm{font-size:14px;font-weight:600;color:var(--glotus-teal-650);white-space:nowrap;flex:none}
@media (max-width:599px){.g-lst .g-in{grid-template-columns:minmax(0,1fr);gap:28px}.g-lst .g-h1{font-size:34px}.g-fm{padding:18px}.g-fm .g-h2,.g-oth .g-h2{font-size:23px}.g-ol li{flex-direction:column;align-items:flex-start;gap:4px}}
@media (min-width:600px) and (max-width:1023px){.g-lst .g-in{grid-template-columns:minmax(0,1fr)}.g-lst .g-h1{font-size:40px}}

/* ---- 1.14 en el tema: el enlace genérico de .g-page (a{color:inherit}) le ganaba a los botones y enlaces de color ---- */
.g-page a.g-btn--pri,.g-page a.g-btn--pri:hover{color:var(--glotus-paper)}
.g-page a.g-btn--out,.g-page a.g-more,.g-page a.g-ol__sm{color:var(--glotus-teal-650)}
/* el formulario de la lista sigue siendo el contenido de la página (con sus estilos de .reserva-page); acá solo cabe en la columna */
.g-fm .glotus-form-embed{margin:0;min-width:0}

/* ---- 1.14.1 (19/10/2026): sublínea de cada línea en la portada, entre el rótulo y la línea (opción C) ---- */
.g-blk__h:has(+.g-blk__sub){border-bottom:0;padding-bottom:0}
.g-blk__sub{font-family:var(--font-serif);font-size:18px;line-height:1.25;letter-spacing:-.01em;text-wrap:balance;color:var(--fg-1);margin-top:-10px;padding-bottom:12px;border-bottom:1px solid rgba(28,25,21,.2)}
.g-blk--formacion .g-blk__sub{color:var(--glotus-paper);border-color:rgba(250,247,242,.28)}
@media (max-width:599px){.g-blk__sub{font-size:16px}}

/* ---- 1.19 (19/10/2026): avisos de formularios externos (auditoría del 19/10, 20:55) ----
   .g-fnote: debajo de un botón que abre un formulario de Google o WhatsApp (fichas, trayecto, cierre).
   .g-aviso: antes del formulario de la lista de espera; el texto de la computadora y el del celular
   cortan en 767/768 px, igual que el panel del formulario. */
.g-page .g-fnote{margin:0;font-size:14px;line-height:1.45;color:var(--fg-2);text-wrap:pretty}
.g-page .g-act + .g-fnote{margin-top:-4px}
.g-aviso{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.5;color:var(--fg-2);text-wrap:pretty}
.g-aviso p{margin:0}
.g-aviso--despues{gap:14px}
.g-after--lista{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--fg-2);line-height:1.5;border-top:1px solid var(--border-2);padding-top:14px}
.g-after--lista .g-after__k{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin:0}
.g-after--lista ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.g-after--lista li{font-size:14px;line-height:1.5;margin:0}
.g-lst__tx .g-after--lista{margin-top:4px}
.g-aviso__cel{display:none}
@media (max-width:767px){.g-aviso__compu{display:none}.g-aviso__cel{display:flex}}
/* el iframe del formulario muestra el foco cuando se llega con Tab */
.g-fm .glotus-form-embed iframe:focus{outline:2px solid var(--glotus-teal-650);outline-offset:2px}
/* la lista de otros cursos: objetivo de 44 px sin cambiar el alto de cada renglón */
.g-ol li a{padding-block:10px;margin-block:-10px}
