/*
Theme Name: Seminario Wesleyano Verde
Theme URI: https://seminariowesleyano.com
Author: Fire7Media
Description: Tema oficial del Seminario Wesleyano - Paleta Bosque + Mirra
Version: 14.0.6
License: GNU General Public License v2 or later
Text Domain: seminario-wesleyano-verde
*/

/* ─── TOKENS ─── */
:root {
  --bosque:       #0A1810;
  --pino:         #14281C;
  --selva:        #1F4030;
  --mirra:        #B8A040;
  --mirra-bright: #D4B850;
  --olivo:        #5A7548;
  --lino:         #F0F0E5;
  --crema:        #F8F6EC;
  --radius:       6px;
  --body:         'Inter', sans-serif;
  --display:      'Cormorant Garamond', serif;
}

/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--body);
  background: var(--bosque);
  color: var(--lino);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; border:0; }
strong { font-weight:700; }
em.serif { font-family: var(--display); font-style:italic; }

/* ─── LAYOUT ─── */
.container   { max-width:1480px; margin:0 auto; padding:0 48px; }
.narrow      { max-width:1200px; margin:0 auto; padding:0 48px; }

/* ─── EYEBROW ─── */
.ey {
  display:inline-flex; align-items:center; gap:10px;
  font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:600;
  color:var(--mirra);
}
.ey::before { content:''; display:inline-block; width:24px; height:1px; background:var(--mirra); }
.ey-olivo { color:var(--olivo); }
.ey-olivo::before { background:var(--olivo); }

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; gap:12px; padding:18px 32px;
  font-size:13px; font-weight:600; letter-spacing:0.02em; cursor:pointer;
  transition:all 0.3s; border:0; border-radius:999px; font-family:inherit;
  text-decoration:none;
}
.btn-primary  { background:var(--mirra); color:var(--bosque); }
.btn-primary:hover { background:var(--mirra-bright); transform:translateY(-2px); }
.btn-ghost    { background:transparent; border:1px solid rgba(240,240,229,0.25); color:var(--lino); }
.btn-ghost:hover { border-color:var(--mirra); color:var(--mirra); }
.btn-dark     { background:var(--bosque); color:var(--lino); border:1px solid var(--bosque); }
.btn-dark:hover { background:transparent; color:var(--bosque); border-color:var(--bosque); }
.btn .arr     { font-size:18px; line-height:1; transition:transform 0.2s; }
.btn:hover .arr { transform:translateX(4px); }

/* ─── NAV ─── */
.sw-nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:20px 0; backdrop-filter:blur(16px);
  background:rgba(10,24,16,0.75); border-bottom:1px solid rgba(240,240,229,0.06);
}
.sw-nav__inner {
  display:flex; align-items:center; justify-content:space-between;
  max-width:1480px; margin:0 auto; padding:0 48px;
}
.sw-nav__logo img,
.sw-nav__logo .custom-logo,
.sw-nav__logo .custom-logo-link img {
  height:68px !important;
  width:auto !important;
  max-width:260px !important;
  display:block;
}
.sw-nav__logo .custom-logo-link {
  display:flex;
  align-items:center;
}
.sw-nav__links { display:flex; gap:36px; list-style:none; }
.sw-nav__links a { font-size:14px; font-weight:500; color:rgba(240,240,229,0.65); transition:color 0.2s; }
.sw-nav__links a:hover,
.sw-nav__links .current-menu-item > a { color:var(--mirra); }
.sw-nav__cta { background:var(--mirra); color:var(--bosque); border:0; padding:12px 22px; font-size:13px; letter-spacing:0.02em; font-weight:700; font-family:inherit; transition:background 0.2s; border-radius:999px; text-decoration:none; display:inline-block; }
.sw-nav__cta:hover { background:var(--mirra-bright); }

/* ─── SECTION COMMON ─── */
section { position:relative; }
.sw-section { padding:140px 0; }
.sw-section--light { background:var(--lino); color:var(--bosque); }
.sw-section--pino  { background:var(--pino); }
.sw-section--dark  { background:var(--bosque); }

.sw-section__head { margin-bottom:80px; max-width:900px; }
.sw-section__head.center { text-align:center; margin-left:auto; margin-right:auto; }
.sw-section__head .ey { margin-bottom:24px; }
.sw-section__head h2 {
  font-family:var(--display); font-weight:300; font-size:88px;
  line-height:0.95; letter-spacing:-0.03em; margin-bottom:24px;
}
.sw-section__head h2 em { font-style:italic; color:var(--mirra); }
.sw-section__head .sub {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:24px;
  color:rgba(240,240,229,0.6); max-width:680px; line-height:1.45;
}
.sw-section--light .sw-section__head .sub { color:rgba(10,24,16,0.6); }

/* ─── HERO ─── */
.sw-hero {
  min-height:100vh; display:flex; align-items:center; justify-content:flex-start;
  background:var(--bosque); position:relative; overflow:hidden; padding:160px 0 120px;
}
.sw-hero::before {
  content:''; position:absolute; top:-20%; right:-10%; width:80%; height:140%;
  background:radial-gradient(circle,rgba(184,160,64,0.12) 0%,transparent 60%);
  pointer-events:none;
}
.sw-hero__inner { max-width:1480px; margin:0 auto; padding:0 48px; position:relative; z-index:1; }
.sw-hero .ey { margin-bottom:40px; }
.sw-hero h1 {
  font-family:var(--display); font-size:120px; font-weight:300;
  color:var(--lino); line-height:0.9; letter-spacing:-0.04em; margin-bottom:36px; max-width:1100px;
}
.sw-hero h1 em { font-style:italic; color:var(--mirra); }
.sw-hero__sub {
  font-family:var(--display); font-size:26px; font-style:italic; font-weight:300;
  color:rgba(240,240,229,0.6); margin-bottom:28px; max-width:760px;
}
.sw-hero__body {
  font-size:17px; color:rgba(240,240,229,0.55); line-height:1.8;
  max-width:600px; margin-bottom:48px; font-weight:300;
}
.sw-hero__actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.sw-hero__note { font-size:12px; color:rgba(240,240,229,0.35); letter-spacing:0.15em; text-transform:uppercase; }

/* ─── SIGNALS / LLAMADO ─── */
.sw-checklist { list-style:none; display:flex; flex-direction:column; gap:18px; max-width:800px; }
.sw-checklist__item { display:flex; gap:16px; align-items:flex-start; font-size:15px; line-height:1.7; color:rgba(240,240,229,0.8); }
.sw-checklist__icon { width:28px; height:28px; min-width:28px; border-radius:50%; background:var(--mirra); color:var(--bosque); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; margin-top:3px; }
.sw-checklist__icon--no { background:transparent; border:1px solid rgba(240,240,229,0.2); color:rgba(240,240,229,0.4); font-size:16px; }
.sw-checklist__item--no { color:rgba(240,240,229,0.45); }
.sw-section--light .sw-checklist__item { color:rgba(10,24,16,0.8); }
.sw-section--light .sw-checklist__icon--no { border-color:rgba(10,24,16,0.2); color:rgba(10,24,16,0.4); }

/* ─── SORTEO ─── */
.sw-sorteo {
  padding:160px 0;
  background:linear-gradient(180deg,var(--bosque) 0%,var(--pino) 50%,var(--bosque) 100%);
  position:relative; overflow:hidden;
}
.sw-sorteo::before, .sw-sorteo::after {
  content:''; position:absolute; border-radius:50%; filter:blur(80px);
}
.sw-sorteo::before { width:600px; height:600px; background:rgba(184,160,64,0.15); top:-200px; left:-100px; }
.sw-sorteo::after  { width:500px; height:500px; background:rgba(90,117,72,0.15); bottom:-200px; right:-100px; }
.sw-sorteo__inner  { max-width:1000px; margin:0 auto; padding:0 48px; text-align:center; position:relative; z-index:1; }
.sw-sorteo__badge  {
  display:inline-flex; align-items:center; gap:12px; padding:12px 24px; margin-bottom:40px;
  background:linear-gradient(135deg,rgba(184,160,64,0.2),rgba(184,160,64,0.05));
  border:1px solid rgba(184,160,64,0.4); border-radius:999px;
  font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:700; color:var(--mirra);
}
.sw-sorteo h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.92; letter-spacing:-0.03em; margin-bottom:36px; }
.sw-sorteo h2 em { font-style:italic; color:var(--mirra); }
.sw-sorteo blockquote { font-family:var(--display); font-style:italic; font-size:32px; line-height:1.4; color:rgba(240,240,229,0.85); max-width:800px; margin:0 auto 40px; padding:28px 0 28px 32px; border-left:3px solid var(--mirra); text-align:left; }
.sw-sorteo blockquote cite { display:block; margin-top:16px; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-style:normal; color:var(--mirra); font-family:var(--body); font-weight:600; }
.sw-sorteo__list { list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:48px; text-align:left; max-width:600px; margin-left:auto; margin-right:auto; }
.sw-sorteo__list li { font-size:16px; color:rgba(240,240,229,0.8); line-height:1.6; }
.sw-sorteo__list li::before { content:'\2726'; color:var(--mirra); font-family:var(--display); font-style:italic; margin-right:10px; }

/* ─── TIMELINE / MÓDULOS ─── */
.sw-timeline { display:flex; flex-direction:column; gap:0; }
.sw-timeline__item { display:grid; grid-template-columns:80px 1fr; gap:40px; padding:40px 0; border-bottom:1px solid var(--selva); align-items:start; transition:background 0.25s ease, box-shadow 0.25s ease; border-radius:0; }
.sw-timeline__item:last-child { border-bottom:0; }
a.sw-timeline__item { text-decoration:none; color:inherit; }
.sw-timeline__item:hover { background:rgba(10,24,16,0.05); box-shadow:-4px 0 0 var(--mirra); border-radius:0 12px 12px 0; }
.sw-timeline__marker { font-family:var(--display); font-style:italic; font-weight:300; font-size:72px; color:var(--mirra); line-height:0.85; transition:color 0.25s ease, transform 0.25s ease; }
.sw-timeline__item:hover .sw-timeline__marker { color:var(--olivo); transform:scale(1.08); }
.sw-timeline__period { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--mirra); font-weight:600; margin-bottom:14px; }
.sw-timeline__title { font-family:var(--display); font-weight:500; font-size:38px; line-height:1.1; letter-spacing:-0.02em; margin-bottom:14px; }
.sw-timeline__title em { font-style:italic; color:var(--mirra); }
.sw-timeline__desc { font-size:16px; line-height:1.75; color:rgba(240,240,229,0.7); }
.sw-section--light .sw-timeline__desc { color:rgba(10,24,16,0.7); }
.sw-timeline__cert { font-size:13px; color:var(--olivo); font-weight:600; margin-top:14px; letter-spacing:0.05em; }
.sw-timeline__close { font-size:17px; line-height:1.8; color:rgba(240,240,229,0.75); margin-top:48px; max-width:800px; }
.sw-section--light .sw-timeline__close { color:rgba(10,24,16,0.7); }

/* ─── MODALIDAD / PRECIOS ─── */
.sw-mod-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.sw-mod-pane {
  padding:48px 40px; background:var(--bosque); border:1px solid var(--selva);
  border-radius:20px; display:flex; flex-direction:column;
}
.sw-mod-pane--featured { border-color:var(--mirra); box-shadow:0 0 0 1px var(--mirra),0 32px 80px rgba(184,160,64,0.12); }
.sw-mod-pane .lbl { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.sw-mod-pane .lbl .ic {
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  background:rgba(184,160,64,0.15); border-radius:50%;
  font-family:var(--display); font-style:italic; color:var(--mirra); font-size:22px; font-weight:600;
}
.sw-mod-pane .lbl .tx { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:700; color:var(--mirra); }
.sw-mod-pane h3 { font-family:var(--display); font-weight:300; font-size:52px; line-height:0.95; letter-spacing:-0.025em; margin-bottom:36px; }
.sw-mod-pane h3 em { font-style:italic; color:var(--mirra); }
.sw-mod-items { flex:1; display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.sw-mod-item { display:flex; gap:14px; align-items:flex-start; }
.sw-mod-item .check {
  width:28px; height:28px; min-width:28px; border-radius:50%; background:var(--mirra);
  color:var(--bosque); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; margin-top:3px;
}
.sw-mod-item .x {
  width:28px; height:28px; min-width:28px; border-radius:50%;
  border:1px solid rgba(240,240,229,0.2); color:rgba(240,240,229,0.4);
  display:flex; align-items:center; justify-content:center; font-size:16px; margin-top:3px;
}
.sw-mod-item .body { font-size:14px; line-height:1.6; color:rgba(240,240,229,0.8); }
.sw-mod-item .body b { display:block; color:var(--lino); font-weight:600; margin-bottom:2px; }
.sw-mod-item.off .body { color:rgba(240,240,229,0.4); }
.sw-mod-item.off .body b { color:rgba(240,240,229,0.5); }
.sw-price {
  padding-top:32px; border-top:1px solid var(--selva);
  display:flex; flex-direction:column; gap:20px;
}
.sw-price .lab { font-size:11px; letter-spacing:0.25em; text-transform:uppercase; color:rgba(240,240,229,0.5); font-weight:600; }
.sw-price .pr { font-family:var(--display); font-weight:300; font-size:56px; color:var(--mirra); line-height:1; }
.sw-price .pr small { font-size:18px; color:rgba(240,240,229,0.5); font-family:var(--body); }

/* ─── FEATURES GRID ─── */
.sw-features { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.sw-feature { padding:40px 32px; background:var(--pino); border:1px solid var(--selva); border-radius:16px; }
.sw-feature__icon { font-size:40px; margin-bottom:24px; }
.sw-feature h3 { font-family:var(--display); font-weight:500; font-size:28px; line-height:1.15; margin-bottom:14px; }
.sw-feature h3 em { font-style:italic; color:var(--mirra); }
.sw-feature p { font-size:15px; line-height:1.75; color:rgba(240,240,229,0.7); }

/* ─── TESTIMONIOS ─── */
.sw-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.sw-testi-card { padding:40px; background:var(--pino); border:1px solid var(--selva); border-radius:20px; }
.sw-testi-card blockquote { font-family:var(--display); font-style:italic; font-size:20px; line-height:1.5; color:rgba(240,240,229,0.85); margin-bottom:24px; }
.sw-testi-foot { display:flex; align-items:center; gap:14px; }
.sw-testi-av { width:44px; height:44px; border-radius:50%; background:var(--mirra); color:var(--bosque); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--display); font-size:18px; }
.sw-testi-name { font-weight:600; font-size:14px; }
.sw-testi-role { font-size:12px; color:rgba(240,240,229,0.5); }

/* ─── CLUB SANTO ─── */
.sw-cs { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.sw-cs__l h2 { font-family:var(--display); font-weight:300; font-size:80px; line-height:0.92; letter-spacing:-0.03em; margin-bottom:24px; }
.sw-cs__l h2 em { font-style:italic; color:var(--mirra); }
.sw-cs__l p { font-size:17px; line-height:1.8; color:rgba(240,240,229,0.7); margin-bottom:36px; }
.sw-cs__tags { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:40px; }
.sw-cs__tag { padding:8px 20px; background:rgba(90,117,72,0.2); border:1px solid var(--olivo); border-radius:999px; font-size:12px; color:var(--olivo); font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }
.sw-cs__right { background:var(--pino); border:1px solid var(--selva); border-radius:24px; padding:48px; }
.sw-cs__price { font-family:var(--display); font-weight:300; font-size:80px; color:var(--mirra); line-height:1; margin-bottom:8px; }
.sw-cs__price-lbl { font-size:13px; color:rgba(240,240,229,0.5); margin-bottom:32px; }

/* ─── CTA FINAL ─── */
.sw-cta {
  padding:160px 0; background:var(--lino); color:var(--bosque);
  text-align:center; position:relative; overflow:hidden;
}
.sw-cta::before {
  content:''; position:absolute; width:1200px; height:1200px;
  background:radial-gradient(circle,rgba(184,160,64,0.18) 0%,transparent 60%);
  top:50%; left:50%; transform:translate(-50%,-50%); filter:blur(80px);
}
.sw-cta__inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 48px; }
.sw-cta h2 {
  font-family:var(--display); font-weight:300; font-size:112px;
  line-height:0.9; letter-spacing:-0.04em; margin-bottom:40px;
}
.sw-cta h2 em { font-style:italic; color:var(--mirra); }
.sw-cta > .sw-cta__inner > p { font-size:20px; line-height:1.55; color:rgba(10,24,16,0.7); max-width:720px; margin:0 auto 48px; font-weight:300; }
.sw-cta__actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:32px; }
.sw-cta__note { font-size:13px; color:rgba(10,24,16,0.5); font-weight:500; }
.sw-cta .btn-primary { background:var(--bosque); color:var(--mirra); }
.sw-cta .btn-primary:hover { background:var(--pino); }
.sw-cta .btn-ghost { border-color:rgba(10,24,16,0.3); color:var(--bosque); }
.sw-cta .btn-ghost:hover { border-color:var(--mirra); color:var(--mirra); }

/* ─── FOOTER ─── */
.sw-footer { background:var(--bosque); color:var(--lino); padding:96px 0 36px; border-top:1px solid var(--selva); }
.sw-footer__top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:48px; margin-bottom:64px; padding-bottom:64px; border-bottom:1px solid var(--selva); }
.sw-footer__brand img { width:100px; margin-bottom:24px; }
.sw-footer__tagline { font-family:var(--display); font-style:italic; font-weight:300; font-size:20px; color:rgba(240,240,229,0.6); line-height:1.4; max-width:300px; margin-bottom:24px; }
.sw-footer__col h4 { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:700; color:var(--mirra); margin-bottom:24px; }
.sw-footer__col ul { list-style:none; }
.sw-footer__col li { padding:6px 0; }
.sw-footer__col a { font-size:14px; color:rgba(240,240,229,0.6); transition:color 0.2s; }
.sw-footer__col a:hover { color:var(--lino); }
.sw-footer__bot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.sw-footer__copy { font-size:12px; color:rgba(240,240,229,0.4); }
.sw-footer__quote { font-family:var(--display); font-style:italic; font-weight:300; font-size:18px; color:var(--mirra); }

/* ─── PAGE HERO (páginas interiores) ─── */
.sw-page-hero { padding:180px 0 100px; background:var(--bosque); position:relative; overflow:hidden; }
.sw-page-hero::before {
  content:''; position:absolute; top:-30%; left:-10%; width:80%; height:140%;
  background:radial-gradient(circle,rgba(184,160,64,0.1) 0%,transparent 60%); pointer-events:none;
}
.sw-page-hero__inner { max-width:1200px; margin:0 auto; padding:0 48px; position:relative; z-index:1; }
.sw-page-hero h1 { font-family:var(--display); font-weight:300; font-size:104px; line-height:0.92; letter-spacing:-0.035em; color:var(--lino); margin-bottom:24px; }
.sw-page-hero h1 em { font-style:italic; color:var(--mirra); }
.sw-page-hero .meta { font-size:13px; color:rgba(240,240,229,0.45); letter-spacing:0.15em; text-transform:uppercase; font-weight:500; }

/* ─── LEGAL PAGES ─── */
.sw-legal { padding:100px 0 140px; background:var(--lino); color:var(--bosque); }
.sw-legal__inner { max-width:840px; margin:0 auto; padding:0 48px; }
.sw-legal__inner h2 {
  font-family:var(--display); font-weight:500; font-size:40px; line-height:1.1;
  letter-spacing:-0.02em; margin:56px 0 20px; padding-top:40px;
  border-top:1px solid rgba(10,24,16,0.1);
}
.sw-legal__inner h2:first-of-type { margin-top:0; padding-top:0; border-top:0; }
.sw-legal__inner h3 { font-family:var(--display); font-weight:500; font-size:26px; margin:32px 0 14px; }
.sw-legal__inner p { font-size:16px; line-height:1.8; color:rgba(10,24,16,0.85); margin-bottom:20px; }
.sw-legal__inner ul { margin:0 0 24px; padding-left:0; list-style:none; }
.sw-legal__inner ul li {
  font-size:16px; line-height:1.75; color:rgba(10,24,16,0.8);
  padding:6px 0 6px 28px; position:relative;
}
.sw-legal__inner ul li::before { content:'→'; position:absolute; left:0; color:var(--mirra); font-weight:600; }
.sw-legal__inner a { color:var(--bosque); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* ─── INSCRIPCIÓN ─── */
.sw-insc-hero { padding:200px 0 80px; background:var(--bosque); position:relative; overflow:hidden; }
.sw-insc-hero::before { content:''; position:absolute; top:0; right:-200px; width:800px; height:800px; background:radial-gradient(circle,rgba(184,160,64,0.12) 0%,transparent 60%); pointer-events:none; }
.sw-insc-hero__inner { max-width:1200px; margin:0 auto; padding:0 48px; position:relative; z-index:2; }
.sw-insc-hero h1 { font-family:var(--display); font-weight:300; font-size:104px; line-height:0.92; letter-spacing:-0.04em; color:var(--lino); margin-bottom:24px; max-width:900px; }
.sw-insc-hero h1 em { font-style:italic; color:var(--mirra); }
.sw-insc-hero .lead { font-size:20px; line-height:1.6; color:rgba(240,240,229,0.75); max-width:680px; font-weight:300; }
.sw-form-section { padding:120px 0; background:var(--lino); color:var(--bosque); }
.sw-form-grid { display:grid; grid-template-columns:1fr 420px; gap:96px; align-items:start; max-width:1480px; margin:0 auto; padding:0 48px; }
.sw-form { display:grid; gap:32px; }
.sw-field-group h3 { font-family:var(--display); font-weight:500; font-size:32px; line-height:1.05; margin-bottom:8px; padding-bottom:16px; border-bottom:1px solid rgba(10,24,16,0.15); }
.sw-field-group h3 em { font-style:italic; color:var(--mirra); }
.sw-field-group .gh { font-size:14px; color:rgba(10,24,16,0.6); margin-bottom:24px; }
.sw-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.sw-field { display:flex; flex-direction:column; gap:8px; }
.sw-field label { font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(10,24,16,0.7); font-weight:600; }
.sw-field label .req { color:#A04020; margin-left:4px; }
.sw-field input,.sw-field select,.sw-field textarea {
  padding:14px 16px; background:var(--crema); border:1px solid rgba(10,24,16,0.15);
  border-radius:8px; font-family:inherit; font-size:15px; color:var(--bosque); transition:border-color 0.2s,box-shadow 0.2s;
}
.sw-field input:focus,.sw-field select:focus,.sw-field textarea:focus { outline:none; border-color:var(--mirra); box-shadow:0 0 0 3px rgba(184,160,64,0.15); }
.sw-field textarea { min-height:100px; resize:vertical; }
.sw-radio-group { display:grid; gap:12px; margin-top:8px; }
.sw-radio-card {
  display:flex; gap:16px; padding:20px 24px; border:1.5px solid rgba(10,24,16,0.12);
  border-radius:12px; cursor:pointer; transition:all 0.2s; background:var(--crema);
}
.sw-radio-card:hover { border-color:var(--mirra); background:rgba(184,160,64,0.04); }
.sw-radio-card input { margin-top:4px; accent-color:var(--mirra); }
.sw-radio-card:has(input:checked) { border-color:var(--mirra); background:rgba(184,160,64,0.08); box-shadow:0 0 0 3px rgba(184,160,64,0.1); }
.sw-rc-title { font-family:var(--display); font-weight:500; font-size:20px; color:var(--bosque); margin-bottom:4px; }
.sw-rc-title em { font-style:italic; color:var(--mirra); }
.sw-rc-desc { font-size:14px; color:rgba(10,24,16,0.65); line-height:1.5; }
.sw-rc-price { font-family:var(--display); font-style:italic; font-weight:500; font-size:24px; color:var(--mirra); white-space:nowrap; align-self:center; }
.sw-checkbox { display:flex; gap:12px; align-items:flex-start; font-size:14px; color:rgba(10,24,16,0.75); line-height:1.5; cursor:pointer; }
.sw-checkbox input { margin-top:3px; accent-color:var(--mirra); }
.sw-checkbox a { color:var(--mirra); text-decoration:underline; }
.sw-submit-btn { padding:20px 32px; background:var(--bosque); color:var(--mirra); border:0; border-radius:999px; font-family:inherit; font-size:14px; letter-spacing:0.25em; text-transform:uppercase; font-weight:700; cursor:pointer; transition:all 0.3s; display:inline-flex; align-items:center; gap:14px; justify-content:center; width:100%; }
.sw-submit-btn:hover { background:var(--mirra); color:var(--bosque); }
.sw-summary { position:sticky; top:120px; background:var(--bosque); color:var(--lino); border-radius:24px; padding:40px; border:1px solid var(--selva); }
.sw-summary h3 { font-family:var(--display); font-weight:500; font-size:28px; line-height:1.1; margin-bottom:8px; }
.sw-summary h3 em { font-style:italic; color:var(--mirra); }
.sw-sum-meta { font-size:13px; color:rgba(240,240,229,0.6); margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid var(--selva); }
.sw-sum-line { display:flex; justify-content:space-between; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--selva); font-size:14px; }
.sw-sum-line .k { color:rgba(240,240,229,0.65); }
.sw-sum-line .v { font-family:var(--display); font-weight:500; font-size:18px; }
.sw-sum-line .v em { font-style:italic; color:var(--mirra); }
.sw-sum-total { display:flex; justify-content:space-between; align-items:baseline; padding-top:24px; margin-top:16px; border-top:2px solid var(--mirra); }
.sw-sum-total .k { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--mirra); font-weight:700; }
.sw-sum-total .v { font-family:var(--display); font-style:italic; font-weight:300; font-size:48px; color:var(--mirra); line-height:1; }
.sw-perks { margin-top:32px; padding-top:24px; border-top:1px solid var(--selva); }
.sw-perks p { font-size:11px; letter-spacing:0.25em; text-transform:uppercase; color:var(--olivo); font-weight:700; margin-bottom:14px; }
.sw-perks ul { list-style:none; }
.sw-perks li { padding:6px 0; font-size:13px; color:rgba(240,240,229,0.85); display:flex; gap:10px; align-items:center; }
.sw-perks li::before { content:'✓'; color:var(--mirra); font-weight:700; }
.sw-paypal-box { margin-top:24px; padding:20px; background:rgba(184,160,64,0.06); border:1px solid rgba(184,160,64,0.25); border-radius:12px; }
.sw-paypal-box p { font-size:13px; color:rgba(10,24,16,0.6); margin-bottom:12px; }
.sw-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; }
.sw-step { padding:32px 28px; background:var(--pino); border:1px solid var(--selva); border-radius:20px; }
.sw-step .n { font-family:var(--display); font-style:italic; font-weight:300; font-size:64px; color:var(--mirra); line-height:0.8; margin-bottom:14px; }
.sw-step h4 { font-family:var(--display); font-weight:500; font-size:22px; line-height:1.2; color:var(--lino); margin-bottom:10px; }
.sw-step h4 em { font-style:italic; color:var(--mirra); }
.sw-step p { font-size:14px; line-height:1.6; color:rgba(240,240,229,0.7); }

/* ─── HAMBURGER ─── */
.sw-nav__hamburger {
  display:none; background:transparent; border:0; cursor:pointer;
  width:40px; height:40px; flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:8px;
}
.sw-nav__hamburger span {
  display:block; width:24px; height:2px; background:var(--lino); border-radius:2px; transition:all 0.3s;
}
.sw-nav__hamburger.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.sw-nav__hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.sw-nav__hamburger.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

/* ─── TWO-COL LAYOUT (inner pages) ─── */
.sw-2col { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.sw-col-h2 { font-family:var(--display); font-weight:300; font-size:72px; line-height:0.95; letter-spacing:-0.03em; margin:24px 0 32px; }
.sw-col-h2 em { font-style:italic; color:var(--mirra); }
.sw-col-body p { font-size:17px; line-height:1.75; color:rgba(240,240,229,0.7); margin-bottom:24px; font-weight:300; }
.sw-pullquote {
  margin-top:48px; padding:40px; background:var(--pino); border-left:3px solid var(--mirra);
  border-radius:0 16px 16px 0; font-family:var(--display); font-style:italic; font-weight:400;
  font-size:26px; line-height:1.45; color:var(--lino);
}

/* ─── MISIÓN / VISIÓN ─── */
.sw-mvv-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.sw-mvv-card {
  background:var(--crema); border:1px solid rgba(10,24,16,0.08); border-radius:24px; padding:48px;
}
.sw-mvv-lbl {
  font-size:11px; letter-spacing:0.35em; text-transform:uppercase; color:var(--olivo);
  font-weight:700; margin-bottom:24px;
}
.sw-mvv-card h3 {
  font-family:var(--display); font-weight:400; font-size:40px; line-height:1.05;
  letter-spacing:-0.015em; margin-bottom:20px; color:var(--bosque);
}
.sw-mvv-card h3 em { font-style:italic; color:var(--mirra); }
.sw-mvv-card p { font-size:16px; line-height:1.7; color:rgba(10,24,16,0.7); }

/* ─── VALORES ─── */
.sw-valores-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin-top:16px; }
.sw-valor {
  padding:32px 24px; background:rgba(10,24,16,0.4); border:1px solid var(--selva);
  border-radius:16px; transition:all 0.3s;
}
.sw-valor:hover { border-color:rgba(184,160,64,0.4); transform:translateY(-6px); }
.sw-valor__num {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:48px;
  color:var(--mirra); line-height:1; margin-bottom:20px;
}
.sw-valor h4 {
  font-family:var(--display); font-weight:600; font-size:20px; line-height:1.2;
  margin-bottom:12px; letter-spacing:-0.01em; color:var(--lino);
}
.sw-valor p { font-size:14px; line-height:1.55; color:rgba(240,240,229,0.6); }

/* ─── FILOSOFÍA EDUCATIVA ─── */
.sw-filo-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.sw-filo-h3 {
  font-family:var(--display); font-weight:500; font-size:36px; line-height:1.1;
  margin-bottom:24px; color:var(--lino);
}
.sw-filo-h3 em { font-style:italic; color:var(--mirra); }
.sw-filo-grid p { font-size:17px; line-height:1.7; color:rgba(240,240,229,0.7); margin-bottom:24px; font-weight:300; }
.sw-filo-list { list-style:none; padding:0; }
.sw-filo-list li {
  padding:14px 0; border-top:1px solid var(--selva); font-size:16px;
  color:rgba(240,240,229,0.85); display:flex; gap:14px; align-items:flex-start;
}
.sw-filo-list li:last-child { border-bottom:1px solid var(--selva); }
.sw-filo-list li::before {
  content:''; display:inline-block; width:8px; height:8px; background:var(--mirra);
  border-radius:50%; margin-top:8px; flex-shrink:0;
}

/* ─── PROGRAMAS: TIMELINE ─── */
.sw-prog-timeline {
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  border-top:2px solid var(--mirra); border-bottom:2px solid var(--mirra); margin-top:48px;
}
.sw-prog-tl__item {
  padding:48px 36px; border-right:1px solid var(--selva); position:relative;
}
.sw-prog-tl__item:last-child { border-right:0; }
.sw-prog-tl__seq {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:80px;
  color:var(--mirra); line-height:0.8; margin-bottom:20px;
}
.sw-prog-tl__date {
  font-size:11px; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--olivo); font-weight:600; margin-bottom:14px;
}
.sw-prog-tl__item h3 {
  font-family:var(--display); font-weight:500; font-size:28px; line-height:1.1;
  color:var(--lino);
}
.sw-prog-tl__item h3 em { font-style:italic; color:var(--mirra); }

/* ─── PROGRAMAS: MODULE CARDS ─── */
.sw-mod-deep {
  background:var(--crema); border:1px solid rgba(10,24,16,0.08); border-radius:24px;
  padding:64px; margin-bottom:32px; display:grid; grid-template-columns:240px 1fr;
  gap:64px; align-items:start;
}
.sw-mod-deep:last-child { margin-bottom:0; }
.sw-mod-deep__num {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:140px;
  color:var(--mirra); line-height:0.8;
}
.sw-mod-deep__dur {
  font-size:11px; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--olivo); font-weight:700; margin-top:20px; display:block;
}
.sw-mod-deep__dur strong {
  display:block; font-family:var(--display); font-style:italic; font-weight:500;
  font-size:20px; color:var(--bosque); letter-spacing:0; text-transform:none; margin-top:4px;
}
.sw-mod-deep__r h3 {
  font-family:var(--display); font-weight:500; font-size:44px; line-height:1.05;
  letter-spacing:-0.02em; margin-bottom:20px; color:var(--bosque);
}
.sw-mod-deep__r h3 em { font-style:italic; color:var(--mirra); }
.sw-mod-deep__desc { font-size:17px; line-height:1.7; color:rgba(10,24,16,0.7); margin-bottom:32px; }
.sw-mod-deep__sublbl {
  font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--olivo);
  font-weight:700; margin-bottom:14px; margin-top:24px; padding-top:20px;
  border-top:1px solid rgba(10,24,16,0.1);
}
.sw-mod-deep__list { list-style:none; margin-bottom:16px; }
.sw-mod-deep__list li {
  padding:7px 0; font-size:15px; color:rgba(10,24,16,0.75); display:flex; gap:12px; align-items:flex-start;
}
.sw-mod-deep__list li::before { content:'\2192'; color:var(--mirra); font-weight:700; flex-shrink:0; }
.sw-mod-deep__cert {
  display:inline-block; margin-top:20px; padding:14px 22px; background:var(--bosque);
  color:var(--mirra); border-radius:10px; font-size:13px; letter-spacing:0.12em;
  text-transform:uppercase; font-weight:700;
}

/* ─── PROGRAMAS: CALENDAR ─── */
.sw-cal-list { margin-top:48px; border-top:1px solid rgba(10,24,16,0.15); }
.sw-cal-row {
  display:grid; grid-template-columns:auto 200px 1fr; gap:40px; padding:28px 0;
  border-bottom:1px solid rgba(10,24,16,0.12); align-items:center; transition:background 0.2s;
}
.sw-cal-row:hover { background:rgba(184,160,64,0.04); }
.sw-cal-icon { font-size:28px; }
.sw-cal-date {
  font-family:var(--display); font-style:italic; font-weight:500; font-size:22px; color:var(--mirra);
}
.sw-cal-row h4 {
  font-family:var(--display); font-weight:500; font-size:22px; line-height:1.2; color:var(--bosque);
}
.sw-cal-row h4 em { font-style:italic; color:var(--mirra); }

/* ─── METODOLOGÍA: PILARES ─── */
.sw-pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.sw-pillar {
  padding:48px 40px; background:rgba(10,24,16,0.35); border:1px solid var(--selva);
  border-radius:20px; transition:border-color 0.3s;
}
.sw-pillar:hover { border-color:rgba(184,160,64,0.4); }
.sw-pillar__roman {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:64px;
  color:var(--mirra); line-height:0.85; margin-bottom:20px;
}
.sw-pillar h3 {
  font-family:var(--display); font-weight:500; font-size:32px; line-height:1.1;
  margin-bottom:18px; color:var(--lino);
}
.sw-pillar h3 em { font-style:italic; color:var(--mirra); }
.sw-pillar p { font-size:15px; line-height:1.7; color:rgba(240,240,229,0.7); }

/* ─── METODOLOGÍA: FEATURES ─── */
.sw-feat-list { display:flex; flex-direction:column; gap:20px; }
.sw-feat {
  display:flex; gap:20px; align-items:flex-start; padding:24px;
  background:var(--pino); border:1px solid var(--selva); border-radius:14px;
}
.sw-feat__ic { font-size:22px; flex-shrink:0; margin-top:4px; color:var(--mirra); font-family:var(--display); font-style:italic; font-weight:500; line-height:1; min-width:28px; }
.sw-feat h4 {
  font-family:var(--display); font-weight:500; font-size:20px; margin-bottom:4px; color:var(--lino);
}
.sw-feat h4 em { font-style:italic; color:var(--mirra); }
.sw-feat p { font-size:14px; color:rgba(240,240,229,0.6); }

/* ─── METODOLOGÍA: EVALUACIÓN ─── */
.sw-eval-table { display:flex; flex-direction:column; gap:0; }
.sw-eval-row {
  display:flex; align-items:center; gap:20px; padding:20px 0;
  border-bottom:1px solid var(--selva);
}
.sw-eval-l {
  font-family:var(--display); font-style:italic; font-size:32px; color:var(--mirra);
  font-weight:300; min-width:36px;
}
.sw-eval-row h4 {
  font-family:var(--display); font-weight:500; font-size:20px; color:var(--lino); margin-bottom:4px;
}
.sw-eval-row h4 em { font-style:italic; color:var(--mirra); }
.sw-eval-row p { font-size:14px; color:rgba(240,240,229,0.6); }
.sw-eval-pct {
  margin-left:auto; font-family:var(--display); font-weight:300; font-size:28px;
  color:var(--mirra); font-style:italic; white-space:nowrap;
}

/* ─── CLUB SANTO: HERO ─── */
.sw-cs-hero {
  min-height:80vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,var(--pino) 0%,var(--bosque) 100%);
  text-align:center; position:relative; overflow:hidden; padding:180px 0 120px;
}
.sw-cs-hero::before {
  content:''; position:absolute; top:-20%; left:50%; transform:translateX(-50%);
  width:800px; height:800px; background:radial-gradient(circle,rgba(184,160,64,0.15) 0%,transparent 60%);
  pointer-events:none;
}
.sw-cs-hero__inner { position:relative; z-index:1; padding:0 48px; }
.sw-cs-emblem {
  display:inline-flex; align-items:center; justify-content:center; width:96px; height:96px;
  background:linear-gradient(135deg,rgba(184,160,64,0.2),rgba(184,160,64,0.05));
  border:1px solid rgba(184,160,64,0.4); border-radius:50%; font-family:var(--display);
  font-style:italic; font-size:52px; color:var(--mirra); margin-bottom:24px;
}
.sw-cs-tag {
  font-size:11px; letter-spacing:0.35em; text-transform:uppercase; color:var(--olivo);
  font-weight:700; margin-bottom:24px;
}
.sw-cs-hero h1 {
  font-family:var(--display); font-weight:300; font-size:112px; line-height:0.9;
  letter-spacing:-0.04em; color:var(--lino); margin-bottom:32px;
}
.sw-cs-hero h1 em { font-style:italic; color:var(--mirra); }
.sw-cs-lead {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:24px;
  color:rgba(240,240,229,0.6); max-width:720px; margin:0 auto; line-height:1.5;
}

/* ─── CLUB SANTO: OFFERINGS ─── */
.sw-cs-offerings { display:flex; flex-direction:column; gap:0; }
.sw-cs-off {
  display:flex; gap:20px; align-items:center; padding:20px 0;
  border-bottom:1px solid rgba(10,24,16,0.12);
}
.sw-cs-off:first-child { border-top:1px solid rgba(10,24,16,0.12); }
.sw-cs-off__ic {
  width:40px; height:40px; min-width:40px; border-radius:50%; background:rgba(90,117,72,0.15);
  border:1px solid var(--olivo); display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-style:italic; color:var(--olivo); font-size:18px; font-weight:600;
}
.sw-cs-off h4 { font-family:var(--display); font-weight:500; font-size:20px; color:var(--bosque); margin-bottom:2px; }
.sw-cs-off h4 em { font-style:italic; color:var(--mirra); }
.sw-cs-off p { font-size:14px; color:rgba(10,24,16,0.6); }

/* ─── CLUB SANTO: DETAIL BLOCKS ─── */
.sw-cs-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.sw-cs-block {
  padding:48px 40px; background:var(--pino); border:1px solid var(--selva); border-radius:20px;
}
.sw-cs-block__num {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:48px;
  color:var(--mirra); line-height:0.85; margin-bottom:12px;
}
.sw-cs-block__lbl {
  font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--olivo);
  font-weight:700; margin-bottom:16px;
}
.sw-cs-block h3 {
  font-family:var(--display); font-weight:500; font-size:32px; line-height:1.1;
  margin-bottom:24px; color:var(--lino);
}
.sw-cs-block h3 em { font-style:italic; color:var(--mirra); }
.sw-cs-list { list-style:none; padding:0; }
.sw-cs-list li {
  padding:8px 0 8px 24px; font-size:14px; line-height:1.6; color:rgba(240,240,229,0.75);
  position:relative; border-bottom:1px solid rgba(240,240,229,0.06);
}
.sw-cs-list li::before { content:'\2192'; position:absolute; left:0; color:var(--mirra); font-weight:700; }

/* ─── CLUB SANTO: WHO ─── */
.sw-who-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.sw-who-card {
  display:flex; gap:20px; align-items:flex-start; padding:32px;
  background:var(--selva); border:1px solid var(--olivo); border-radius:16px;
  transition:border-color 0.3s, transform 0.3s, background 0.3s;
}
.sw-who-card:hover { border-color:var(--mirra); background:#274d3a; transform:translateY(-4px); }
.sw-who-ic {
  font-family:var(--display); font-style:italic; font-weight:300; font-size:36px;
  color:var(--mirra); min-width:36px; line-height:1;
}
.sw-who-card h4 {
  font-family:var(--display); font-weight:500; font-size:22px; color:var(--lino);
  margin-bottom:8px; line-height:1.2;
}
.sw-who-card h4 em { font-style:italic; color:var(--mirra); }
.sw-who-card p { font-size:14px; line-height:1.6; color:rgba(240,240,229,0.6); }

/* ══════════════════════════════════════════════
   HOMEPAGE — DISEÑO EDITORIAL (sitio-final)
   ══════════════════════════════════════════════ */

/* ─── HERO (2 columnas) ─── */
.hero { min-height:100vh; padding:160px 0 80px; position:relative; overflow:hidden; display:flex; align-items:center; background:var(--bosque); }
.hero::before { content:''; position:absolute; top:-30%; left:-10%; width:80%; height:140%; background:radial-gradient(circle,rgba(184,160,64,0.12) 0%,transparent 60%); pointer-events:none; }
.hero::after { content:''; position:absolute; top:0; right:0; bottom:0; width:1px; background:linear-gradient(180deg,transparent 0%,rgba(184,160,64,0.2) 50%,transparent 100%); }
.hero-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:80px; align-items:center; position:relative; z-index:2; width:100%; }
.hero-l .ey { margin-bottom:32px; }
.hero h1 { font-family:var(--display); font-weight:300; font-size:120px; line-height:0.92; letter-spacing:-0.035em; margin-bottom:48px; }
.hero h1 em { font-style:italic; color:var(--mirra); }
.hero h1 .blk { display:block; }
.hero-sub { font-family:var(--display); font-style:italic; font-weight:300; font-size:26px; line-height:1.4; color:rgba(240,240,229,0.55); margin-bottom:28px; max-width:560px; }
.hero-body { font-size:17px; line-height:1.7; color:rgba(240,240,229,0.7); margin-bottom:48px; max-width:540px; font-weight:300; }
.hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.hero-meta { display:flex; gap:32px; font-size:12px; color:rgba(240,240,229,0.4); font-weight:500; flex-wrap:wrap; }
.hero-meta .dot { width:8px; height:8px; border-radius:50%; background:var(--mirra); display:inline-block; margin-right:8px; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }
.hero-r { position:relative; display:flex; align-items:center; justify-content:center; }
.hero-logo-wrap { position:relative; width:100%; display:flex; align-items:center; justify-content:center; }
.hero-logo-bg { position:absolute; inset:8%; border-radius:50%; background:radial-gradient(circle,rgba(184,160,64,0.25) 0%,transparent 70%); filter:blur(40px); }
.hero-logo-ring  { position:absolute; inset:0;   border:1px solid rgba(184,160,64,0.25); border-radius:50%; }
.hero-logo-ring2 { position:absolute; inset:6%;  border:1px solid rgba(184,160,64,0.15); border-radius:50%; }
.hero-logo-ring3 { position:absolute; inset:14%; border:1px solid rgba(184,160,64,0.10); border-radius:50%; }
.hero-logo { position:relative; width:100%; z-index:2; mix-blend-mode:screen; }

/* ─── MARQUEE ─── */
.marquee { padding:32px 0; border-top:1px solid rgba(240,240,229,0.08); border-bottom:1px solid rgba(240,240,229,0.08); overflow:hidden; background:var(--pino); }
.marquee-inner { display:flex; gap:80px; white-space:nowrap; animation:marquee-scroll 40s linear infinite; font-family:var(--display); font-style:italic; font-weight:300; font-size:36px; color:var(--lino); }
@keyframes marquee-scroll { to{transform:translateX(-50%)} }
.marquee-inner span { display:inline-flex; align-items:center; gap:80px; }
.marquee-inner em { color:var(--mirra); }
.marquee-inner .star::before { content:'✦'; color:var(--mirra); margin-right:16px; font-style:normal; }

/* ─── SEÑALES DEL LLAMADO ─── */
.seniales { padding:160px 0; background:var(--bosque); position:relative; }
.seniales-head { display:grid; grid-template-columns:1.5fr 1fr; gap:80px; margin-bottom:80px; align-items:end; }
.seniales-head h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.95; letter-spacing:-0.03em; margin-top:24px; }
.seniales-head h2 em { font-style:italic; color:var(--mirra); }
.seniales-head .r { font-size:18px; line-height:1.6; color:rgba(240,240,229,0.6); font-weight:300; max-width:380px; }
.signal-stack { display:flex; flex-direction:column; }
.sig-row { display:grid; grid-template-columns:120px 1fr 2fr; gap:48px; padding:40px 0; border-bottom:1px solid rgba(240,240,229,0.08); align-items:center; transition:all 0.3s; cursor:default; }
.sig-row:hover { padding-left:24px; background:linear-gradient(90deg,rgba(184,160,64,0.05) 0%,transparent 100%); }
.sig-row:first-child { border-top:1px solid rgba(240,240,229,0.08); }
.sig-row .nm { font-family:var(--body); font-weight:200; font-size:14px; color:rgba(240,240,229,0.4); letter-spacing:0.3em; }
.sig-row .nm em { color:var(--mirra); font-style:normal; font-weight:600; }
.sig-row h3 { font-family:var(--display); font-weight:400; font-size:38px; line-height:1.05; letter-spacing:-0.015em; color:var(--lino); }
.sig-row h3 em { font-style:italic; color:var(--mirra); }
.sig-row p { font-size:16px; line-height:1.6; color:rgba(240,240,229,0.65); }
.seniales-cta { margin-top:80px; text-align:center; font-family:var(--display); font-style:italic; font-weight:300; font-size:28px; color:rgba(240,240,229,0.7); max-width:680px; margin-left:auto; margin-right:auto; line-height:1.45; }
.seniales-cta em { color:var(--mirra); font-weight:400; }
.seniales-btn { display:block; text-align:center; margin:32px auto 0; width:fit-content; }

/* ─── SORTEO ─── */
.sorteo { padding:160px 0; background:linear-gradient(180deg,var(--bosque) 0%,var(--pino) 50%,var(--bosque) 100%); position:relative; overflow:hidden; }
.sorteo::before,.sorteo::after { content:''; position:absolute; border-radius:50%; filter:blur(80px); }
.sorteo::before { width:600px; height:600px; background:rgba(184,160,64,0.15); top:-200px; left:-100px; }
.sorteo::after  { width:500px; height:500px; background:rgba(90,117,72,0.15); bottom:-200px; right:-100px; }
.sorteo-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; position:relative; z-index:1; align-items:center; }
.sorteo h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.92; letter-spacing:-0.03em; margin-bottom:36px; }
.sorteo h2 em { font-style:italic; color:var(--mirra); }
.sorteo-l > p { font-size:17px; line-height:1.75; color:rgba(240,240,229,0.7); margin-bottom:32px; max-width:560px; font-weight:300; }
.wesley-quote { padding:32px 0 32px 32px; border-left:2px solid var(--mirra); margin-bottom:40px; max-width:540px; font-family:var(--display); font-style:italic; font-weight:400; font-size:24px; line-height:1.45; color:var(--lino); }
.wesley-quote cite { display:block; margin-top:18px; font-size:11px; letter-spacing:0.35em; text-transform:uppercase; font-style:normal; color:var(--mirra); font-family:var(--body); font-weight:600; }
.prize-card { background:linear-gradient(180deg,var(--pino) 0%,var(--bosque) 100%); border-radius:24px; padding:48px; border:1px solid rgba(184,160,64,0.3); position:relative; overflow:hidden; }
.prize-card::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:conic-gradient(from 0deg,transparent 340deg,var(--mirra) 360deg,transparent 380deg); animation:rotate 8s linear infinite; opacity:0.4; }
.prize-card::after { content:''; position:absolute; inset:1px; background:linear-gradient(180deg,var(--pino) 0%,var(--bosque) 100%); border-radius:23px; }
@keyframes rotate { to{transform:rotate(360deg)} }
.prize-inner { position:relative; z-index:1; }
.prize-inner .num { font-family:var(--display); font-style:italic; font-weight:300; font-size:120px; color:var(--mirra); line-height:0.85; margin-bottom:8px; }
.prize-inner .nlbl { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:rgba(240,240,229,0.5); font-weight:600; margin-bottom:32px; }
.prize-inner h3 { font-family:var(--display); font-weight:400; font-size:36px; line-height:1.1; margin-bottom:32px; color:var(--lino); }
.prize-inner h3 em { color:var(--mirra); }
.prize-rows { display:flex; flex-direction:column; gap:0; margin-bottom:32px; }
.prize-row { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(240,240,229,0.08); font-size:14px; }
.prize-row .k { color:rgba(240,240,229,0.5); }
.prize-row .v { color:var(--lino); font-weight:600; }
.prize-row .v em { color:var(--mirra); font-style:normal; }

/* ─── VIDEO ─── */
.video-sec { padding:160px 0; background:var(--lino); color:var(--bosque); }
.video-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; gap:48px; flex-wrap:wrap; }
.video-head h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.95; letter-spacing:-0.03em; margin-top:24px; }
.video-head h2 em { font-style:italic; color:var(--mirra); }
.video-head .ey-olivo { color:var(--olivo); }
.video-head .r { max-width:380px; font-size:17px; line-height:1.65; color:rgba(10,24,16,0.6); font-weight:300; }
.video-frame { aspect-ratio:16/9; background:var(--bosque); position:relative; border-radius:16px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.video-frame::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,rgba(184,160,64,0.2) 0%,transparent 60%); }
.video-play { width:140px; height:140px; border:2px solid var(--mirra); border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; z-index:2; transition:all 0.3s; background:rgba(10,24,16,0.6); backdrop-filter:blur(8px); }
.video-play::after { content:''; width:0; height:0; border-style:solid; border-width:20px 0 20px 32px; border-color:transparent transparent transparent var(--mirra); margin-left:8px; }
.video-frame:hover .video-play { transform:scale(1.1); background:var(--mirra); }
.video-frame:hover .video-play::after { border-left-color:var(--bosque); }
wistia-player[media-id='nzdbk813cd']:not(:defined){background:center/contain no-repeat url('https://fast.wistia.com/embed/medias/nzdbk813cd/swatch');display:block;filter:blur(5px);padding-top:56.25%}
.video-frame wistia-player{display:block;width:100%}
.video-foot { display:flex; justify-content:space-between; align-items:center; margin-top:32px; padding-top:24px; border-top:1px solid rgba(10,24,16,0.15); }
.video-foot .author { font-family:var(--display); font-weight:400; font-size:24px; font-style:italic; color:var(--bosque); }
.video-foot .role { font-size:12px; letter-spacing:0.25em; text-transform:uppercase; color:rgba(10,24,16,0.5); font-weight:600; }

/* ─── FORMACIÓN / PILARES ─── */
.formacion { padding:160px 0; background:var(--bosque); }
.form-head { margin-bottom:80px; max-width:900px; }
.form-head .ey { margin-bottom:24px; }
.form-head h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.95; letter-spacing:-0.03em; margin-top:24px; }
.form-head h2 em { font-style:italic; color:var(--mirra); }
.form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.form-card { background:var(--pino); border:1px solid var(--selva); border-radius:24px; padding:48px 40px; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:all 0.4s; min-height:480px; }
.form-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--mirra),transparent); opacity:0; transition:opacity 0.3s; }
.form-card:hover { border-color:rgba(184,160,64,0.4); transform:translateY(-8px); }
.form-card:hover::before { opacity:1; }
.form-num { font-family:var(--display); font-style:italic; font-weight:300; font-size:120px; color:var(--mirra); line-height:0.8; margin-bottom:40px; opacity:0.85; }
.form-card h3 { font-family:var(--display); font-weight:500; font-size:36px; line-height:1.05; margin-bottom:20px; letter-spacing:-0.015em; color:var(--lino); }
.form-card h3 em { font-style:italic; color:var(--mirra); }
.form-card > p { font-size:16px; line-height:1.7; color:rgba(240,240,229,0.65); margin-bottom:auto; }
.form-tag { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:700; color:var(--mirra); margin-top:32px; padding-top:20px; border-top:1px solid var(--selva); }

/* ─── PROGRAMA / MÓDULOS ─── */
.programa { padding:160px 0; background:var(--lino); color:var(--bosque); }
.programa-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:80px; gap:64px; flex-wrap:wrap; }
.programa-head .ey-olivo { color:var(--olivo); }
.programa-head .ey-olivo::before { background:var(--olivo); }
.programa-head h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.95; letter-spacing:-0.03em; margin-top:24px; }
.programa-head h2 em { font-style:italic; color:var(--mirra); }
.programa-head .r { max-width:400px; font-size:17px; line-height:1.6; color:rgba(10,24,16,0.6); font-weight:300; }
.modulo-stack { display:flex; flex-direction:column; gap:24px; }
.mod-row { display:grid; grid-template-columns:auto 1fr auto; gap:48px; align-items:center; padding:48px; background:var(--crema); border:1px solid rgba(10,24,16,0.08); border-radius:24px; transition:all 0.4s; cursor:default; }
.mod-row:hover { background:var(--bosque); color:var(--lino); transform:translateX(8px); }
.mod-row:hover h3 { color:var(--lino); }
.mod-row:hover .mod-desc { color:rgba(240,240,229,0.7); }
.mod-row:hover .mod-date { color:var(--mirra); }
.mod-row:hover .mod-cert { color:var(--mirra-bright); }
.mod-row:hover .mod-num { color:var(--mirra); }
.mod-row:hover .mod-price { color:var(--mirra); }
.mod-row:hover .mod-btn { background:var(--mirra); color:var(--bosque); border-color:var(--mirra); }
.mod-num { font-family:var(--display); font-style:italic; font-weight:300; font-size:100px; color:var(--mirra); line-height:0.8; width:120px; transition:color 0.3s; }
.mod-mid {}
.mod-date { font-size:12px; letter-spacing:0.3em; text-transform:uppercase; color:var(--olivo); font-weight:600; margin-bottom:14px; transition:color 0.3s; }
.mod-mid h3 { font-family:var(--display); font-weight:500; font-size:40px; line-height:1.05; margin-bottom:14px; letter-spacing:-0.02em; transition:color 0.3s; color:var(--bosque); }
.mod-mid h3 em { font-style:italic; color:var(--mirra); }
.mod-desc { font-size:16px; line-height:1.65; color:rgba(10,24,16,0.65); max-width:560px; transition:color 0.3s; }
.mod-cert { font-family:var(--display); font-style:italic; font-weight:400; font-size:16px; color:var(--olivo); text-align:right; max-width:200px; line-height:1.3; transition:color 0.3s; }
.mod-r { display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
.mod-price { font-family:var(--display); font-style:italic; font-size:36px; color:var(--bosque); font-weight:400; line-height:1; transition:color 0.3s; }
.mod-btn { font-size:12px; padding:12px 20px; white-space:nowrap; }
.programa-foot { margin-top:80px; padding-top:80px; border-top:1px solid rgba(10,24,16,0.1); text-align:center; }
.programa-foot p { font-family:var(--display); font-style:italic; font-weight:300; font-size:28px; line-height:1.45; max-width:780px; margin:0 auto 36px; color:var(--bosque); }
.programa-foot p em { color:var(--mirra); font-weight:400; }

/* ─── DIPLOMA SECTION ─── */
.diploma-sec { padding:160px 0; background:var(--pino); text-align:center; position:relative; overflow:hidden; }
.diploma-sec::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:800px; height:800px; background:radial-gradient(circle,rgba(184,160,64,0.12) 0%,transparent 60%); pointer-events:none; }
.diploma-inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 48px; }
.diploma-badge { display:inline-flex; align-items:center; gap:14px; padding:16px 32px; background:rgba(184,160,64,0.15); border:1px solid rgba(184,160,64,0.4); border-radius:999px; font-family:var(--display); font-style:italic; font-size:20px; color:var(--mirra); margin-bottom:32px; }
.diploma-sec h2 { font-family:var(--display); font-weight:300; font-size:96px; line-height:0.95; letter-spacing:-0.03em; margin:24px auto; max-width:900px; }
.diploma-sec h2 em { font-style:italic; color:var(--mirra); }
.diploma-desc { font-size:18px; line-height:1.7; color:rgba(240,240,229,0.7); max-width:640px; margin:0 auto 48px; font-weight:300; }
.diploma-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:580px; margin:0 auto 48px; text-align:left; }
.diploma-item { padding:16px 20px; background:rgba(240,240,229,0.06); border-radius:12px; display:flex; gap:12px; align-items:flex-start; }
.diploma-item span.chk { color:var(--mirra); font-size:16px; flex-shrink:0; }
.diploma-item span.txt { font-size:14px; color:rgba(240,240,229,0.8); }
.diploma-price { font-size:13px; color:rgba(240,240,229,0.4); margin-bottom:8px; }
.diploma-amount { font-family:var(--display); font-style:italic; font-size:96px; color:var(--lino); font-weight:300; line-height:1; }
.diploma-amount small { font-size:20px; color:rgba(240,240,229,0.5); font-family:var(--body); font-weight:400; margin-left:8px; }
.diploma-cta { margin-top:40px; }

/* ─── METODOLOGÍA (HOMEPAGE) ─── */
.metodologia-sec { padding:160px 0; background:var(--bosque); }
.metod-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.metod-l {}
.metod-l h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.95; letter-spacing:-0.03em; margin:24px 0 32px; }
.metod-l h2 em { font-style:italic; color:var(--mirra); }
.metod-l p { font-size:17px; line-height:1.75; color:rgba(240,240,229,0.7); margin-bottom:24px; font-weight:300; }
.metod-feats { display:flex; flex-direction:column; gap:20px; }
.metod-feat { display:grid; grid-template-columns:40px 1fr; gap:20px; padding:24px; background:var(--pino); border:1px solid var(--selva); border-radius:14px; align-items:center; }
.metod-feat .ic { font-family:var(--display); font-style:italic; color:var(--mirra); font-size:22px; font-weight:500; line-height:1; text-align:center; }
.metod-feat h4 { font-family:var(--display); font-weight:500; font-size:20px; color:var(--lino); margin-bottom:3px; }
.metod-feat h4 em { font-style:italic; color:var(--mirra); }
.metod-feat p { font-size:14px; color:rgba(240,240,229,0.6); }

/* ─── TESTIMONIOS ─── */
.testi { padding:160px 0; background:var(--pino); }
.testi-head { text-align:center; margin-bottom:80px; }
.testi-head .ey { margin-bottom:24px; }
.testi-head h2 { font-family:var(--display); font-weight:300; font-size:88px; line-height:0.95; letter-spacing:-0.03em; margin-top:24px; }
.testi-head h2 em { font-style:italic; color:var(--mirra); }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.testi-card { background:var(--bosque); border:1px solid var(--selva); border-radius:24px; padding:40px; position:relative; transition:all 0.3s; }
.testi-card:hover { border-color:rgba(184,160,64,0.4); transform:translateY(-6px); }
.testi-card .qm { font-family:var(--display); font-weight:300; font-size:96px; color:var(--mirra); line-height:0.6; margin-bottom:16px; height:48px; }
.testi-card blockquote { font-family:var(--display); font-weight:400; font-style:italic; font-size:24px; line-height:1.45; color:var(--lino); margin-bottom:32px; }
.testi-foot { display:flex; align-items:center; gap:14px; padding-top:24px; border-top:1px solid var(--selva); }
.testi-foot .av { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--olivo),var(--mirra)); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-style:italic; color:var(--bosque); font-size:22px; font-weight:600; }
.testi-foot .n { font-weight:600; font-size:15px; color:var(--lino); }
.testi-foot .r { font-size:12px; color:rgba(240,240,229,0.5); }

/* ─── CTA FINAL ─── */
.cta-final { padding:200px 0; background:var(--lino); color:var(--bosque); text-align:center; position:relative; overflow:hidden; }
.cta-final::before { content:''; position:absolute; width:1200px; height:1200px; background:radial-gradient(circle,rgba(184,160,64,0.18) 0%,transparent 60%); top:50%; left:50%; transform:translate(-50%,-50%); filter:blur(80px); }
.cta-final::after { content:'✦'; position:absolute; top:60px; left:50%; transform:translateX(-50%); font-family:var(--display); color:var(--mirra); font-size:48px; }
.cta-inner { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 48px; }
.cta-inner .ey { color:var(--olivo); margin-bottom:32px; }
.cta-inner .ey::before { background:var(--olivo); }
.cta-inner h2 { font-family:var(--display); font-weight:300; font-size:144px; line-height:0.9; letter-spacing:-0.04em; margin-bottom:48px; }
.cta-inner h2 em { font-style:italic; color:var(--mirra); }
.cta-inner > p { font-size:22px; line-height:1.55; color:rgba(10,24,16,0.7); max-width:760px; margin:0 auto 56px; font-weight:300; }
.cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.cta-buttons .btn { padding:24px 44px; font-size:14px; }
.cta-foot { font-size:13px; letter-spacing:0.05em; color:rgba(10,24,16,0.5); font-weight:500; }
.cta-foot b { color:var(--mirra); font-weight:700; }
.cta-final .btn-primary { background:var(--bosque); color:var(--mirra); }
.cta-final .btn-primary:hover { background:var(--pino); transform:translateY(-2px); }
.cta-final .btn-ghost { border-color:rgba(10,24,16,0.3); color:var(--bosque); }
.cta-final .btn-ghost:hover { border-color:var(--mirra); color:var(--mirra); }

/* ─── FOOTER SOCIAL ICONS ─── */
.sw-footer__social { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.sw-footer__social a { width:40px; height:40px; border-radius:50%; border:1px solid var(--selva); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:rgba(240,240,229,0.7); transition:all 0.2s; letter-spacing:0; }
.sw-footer__social a:hover { border-color:var(--mirra); color:var(--mirra); }

/* ─── RESPONSIVE ─── */
@media (max-width:1100px) {
  /* interior pages */
  .sw-hero h1 { font-size:72px; }
  .sw-section__head h2, .sw-sorteo h2, .sw-cta h2 { font-size:56px; }
  .sw-mod-grid, .sw-cs, .sw-testi-grid, .sw-features { grid-template-columns:1fr; }
  .sw-footer__top { grid-template-columns:1fr 1fr; gap:32px; }
  .sw-valores-grid { grid-template-columns:1fr 1fr; }
  .sw-pillars-grid { grid-template-columns:1fr; }
  .sw-cs-detail-grid { grid-template-columns:1fr; }
  .sw-prog-timeline { grid-template-columns:1fr; }
  .sw-prog-tl__item { border-right:0; border-bottom:1px solid var(--selva); }
  .sw-mod-deep { grid-template-columns:1fr; gap:24px; padding:32px; }
  .sw-mod-deep__num { font-size:80px; }
  .sw-col-h2 { font-size:48px; }
  .sw-cs-hero h1 { font-size:72px; }
  .sw-2col, .sw-mvv-grid, .sw-filo-grid, .sw-who-grid { grid-template-columns:1fr; gap:40px; }
  /* homepage */
  .hero-grid { grid-template-columns:1fr; gap:48px; }
  .hero h1 { font-size:72px; }
  .seniales-head { grid-template-columns:1fr; gap:32px; }
  .seniales-head h2,.sorteo h2,.video-head h2,.form-head h2,.programa-head h2,.testi-head h2,.metod-l h2,.diploma-sec h2 { font-size:56px; }
  .cta-inner h2 { font-size:80px; }
  .sorteo-grid,.metod-grid { grid-template-columns:1fr; gap:48px; }
  .form-grid,.testi-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .mod-row { grid-template-columns:auto 1fr; gap:24px; }
  .mod-r { display:none; }
  .diploma-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  .container,.narrow,.sw-legal__inner,.sw-insc-hero__inner,.sw-form-grid,.sw-cta__inner,.cta-inner,.diploma-inner { padding-left:24px; padding-right:24px; }
  .sw-nav__links { display:none; }
  .sw-nav__links.open { display:flex; flex-direction:column; gap:0; position:absolute; top:100%; left:0; right:0; background:rgba(10,24,16,0.97); padding:16px 0; border-bottom:1px solid var(--selva); }
  .sw-nav__links.open li a { display:block; padding:14px 24px; font-size:16px; }
  .sw-nav__hamburger { display:flex; }
  .sw-page-hero h1,.sw-insc-hero h1 { font-size:52px; }
  .sw-section { padding:80px 0; }
  .sw-form-grid { grid-template-columns:1fr; }
  .sw-summary { position:static; }
  .sw-row { grid-template-columns:1fr; }
  .sw-timeline__item { grid-template-columns:1fr; gap:16px; }
  .sw-process-grid { grid-template-columns:1fr 1fr; }
  .sw-footer__top { grid-template-columns:1fr; }
  .sw-valores-grid { grid-template-columns:1fr; }
  .sw-cal-row { grid-template-columns:1fr; gap:8px; }
  .sw-cs-hero h1 { font-size:52px; }
  .sw-col-h2 { font-size:40px; }
  .sw-2col { grid-template-columns:1fr; gap:32px; }
  /* homepage */
  .hero { padding:120px 0 60px; min-height:auto; }
  .hero-grid { grid-template-columns:1fr; }
  .hero h1 { font-size:56px; }
  .hero-r { display:none; }
  .marquee-inner { font-size:24px; gap:48px; }
  .seniales { padding:80px 0; }
  .seniales-head { grid-template-columns:1fr; gap:24px; }
  .seniales-head h2 { font-size:48px; }
  .sig-row { grid-template-columns:80px 1fr; gap:24px; }
  .sig-row p { display:none; }
  .sig-row h3 { font-size:28px; }
  .sorteo,.formacion,.programa,.testi,.cta-final,.diploma-sec,.video-sec,.metodologia-sec { padding:80px 0; }
  .sorteo-grid,.form-grid,.testi-grid,.metod-grid,.diploma-grid { grid-template-columns:1fr; gap:24px; }
  .sorteo h2,.video-head h2,.form-head h2,.programa-head h2,.testi-head h2,.metod-l h2,.diploma-sec h2 { font-size:48px; }
  .cta-inner h2 { font-size:56px; }
  .cta-inner > p { font-size:18px; }
  .mod-row { grid-template-columns:80px 1fr; gap:20px; padding:28px; }
  .mod-num { font-size:64px; width:80px; }
  .mod-r { display:none; }
  .mod-mid h3 { font-size:28px; }
  .video-head { flex-direction:column; gap:24px; }
  .video-play { width:80px; height:80px; }
  .form-num { font-size:80px; }
  .form-card h3 { font-size:28px; }
  .programa-head { flex-direction:column; gap:24px; }
  .prize-inner .num { font-size:80px; }
  .diploma-amount { font-size:64px; }
}
