/* ==========================================================================
   Opositando en Fisioterapia — v9
   Sistema de diseño: "Expediente" — inspirado en boletines oficiales (BOE/BOJA)
   y fichas de convocatoria: papel, sello, tipografía de gaceta.
   ========================================================================== */

:root{
  --petrol:#143C38;
  --petrol-2:#1F5850;
  --clay:#A6402E;
  --gold:#B98A2E;
  --paper:#EFF1EA;
  --paper-2:#E7EAE0;
  --ink:#1B211E;
  --muted:#5B6660;
  --line:#DBDFD2;
  --white:#FFFFFF;
  --shadow:0 18px 44px rgba(20,60,56,.13);
  --shadow-sm:0 8px 22px rgba(20,60,56,.09);
  --radius:4px;
  --font-display:"Fraunces",Georgia,serif;
  --font-body:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--ink);line-height:1.6;background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1280px,calc(100% - 40px));margin:auto}
h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--petrol);letter-spacing:-.01em;margin:0}
::selection{background:var(--gold);color:var(--white)}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Topbar ---------- */
.topbar{background:var(--petrol);color:#DCE7E4;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em}
.topbar-in{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.topbar nav{display:flex;gap:22px}
.topbar a:hover{color:#fff}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(239,241,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:14px 0}
.brand img{width:250px;object-fit:contain}
.menu-toggle{display:none;background:var(--petrol);color:#fff;border:0;border-radius:var(--radius);padding:10px 14px;font-size:18px;cursor:pointer}
.main-nav{display:flex;justify-content:center}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.main-nav li{position:relative}
.main-nav a{display:block;padding:10px 16px;font-weight:600;font-size:14.5px;color:var(--petrol);border-bottom:2px solid transparent}
.main-nav>ul>li>a:hover,.main-nav>ul>li:hover>a{border-color:var(--clay);color:var(--clay)}
.main-nav li ul{display:none;position:absolute;left:0;top:100%;width:340px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:8px;z-index:99;max-height:70vh;overflow:auto}
.main-nav li:hover>ul{display:grid}
.main-nav li ul a{border-bottom:1px solid var(--paper-2);border-radius:0;padding:10px 12px;font-weight:500}
.nav-cta{display:flex;gap:10px;align-items:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);padding:13px 24px;font-weight:600;font-size:14.5px;border:1.5px solid transparent;cursor:pointer;transition:.15s ease}
.btn-primary{background:var(--petrol);color:#fff}
.btn-primary:hover{background:var(--petrol-2)}
.btn-accent{background:var(--clay);color:#fff}
.btn-accent:hover{background:#8c3527}
.btn-outline{border-color:var(--petrol);color:var(--petrol);background:transparent}
.btn-outline:hover{background:var(--petrol);color:#fff}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Eyebrow / section head ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:var(--clay);font-weight:600}
.eyebrow::before{content:"§";font-size:14px}
.section-head{margin-bottom:34px;max-width:640px}
.section-head h2{font-size:clamp(26px,3vw,38px);margin-top:10px;line-height:1.12}
.section-head p.desc{color:var(--muted);margin-top:10px;font-size:16px}
.section{padding:64px 0}
.section.alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- Hero ---------- */
.hero{padding:56px 0 40px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(38px,5vw,58px);line-height:1.05;margin:16px 0 20px}
.hero .lead{font-size:18px;color:var(--muted);max-width:52ch;margin-bottom:26px}
.hero-visual{position:relative}
.hero-visual img{aspect-ratio:4/3.1;object-fit:cover;filter:saturate(.92) contrast(1.03)}
.stamp{position:absolute;bottom:-26px;left:-26px;width:132px;height:132px;background:var(--paper);border:2px solid var(--clay);border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-9deg);box-shadow:var(--shadow)}
.stamp-in{font-family:var(--font-mono);color:var(--clay);line-height:1.25}
.stamp-in b{display:block;font-size:22px;font-family:var(--font-display);font-weight:700}
.stamp-in span{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}

/* ---------- Stat strip ---------- */
.stats{background:var(--petrol);color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stats article{padding:22px 10px;text-align:center;border-left:1px solid rgba(255,255,255,.14)}
.stats article:first-child{border-left:0}
.stats strong{display:block;font-family:var(--font-display);font-size:22px}
.stats span{font-family:var(--font-mono);font-size:12px;color:#B9CFC9;text-transform:uppercase;letter-spacing:.06em}

/* ---------- Features ---------- */
.features{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.feature{background:var(--white);padding:26px 20px}
.feature .num{font-family:var(--font-mono);color:var(--clay);font-size:13px}
.feature h3{font-size:17px;margin:10px 0 8px}
.feature p{color:var(--muted);font-size:14px;margin:0}

/* ---------- Comunidades (elemento de firma: ficha-expediente) ---------- */
.comunidades-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.expediente{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--petrol);padding:22px 20px;position:relative;transition:.15s ease}
.expediente:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-top-color:var(--clay)}
.expediente .ref{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.expediente h3{font-size:19px;margin:8px 0 4px;line-height:1.2}
.expediente .org{font-family:var(--font-mono);font-size:12.5px;color:var(--clay);font-weight:600}
.expediente a.go{display:inline-flex;margin-top:14px;font-weight:600;font-size:14px;color:var(--petrol);border-bottom:1.5px solid var(--gold)}

/* ---------- Boletín de noticias ---------- */
.bulletin{border-top:1px solid var(--line)}
.bulletin-row{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.bulletin-row time{font-family:var(--font-mono);font-size:13px;color:var(--clay);padding-top:4px}
.bulletin-row h3{font-size:19px;margin-bottom:6px}
.bulletin-row p{color:var(--muted);font-size:14.5px;margin:0}
.bulletin-row a.go{font-family:var(--font-mono);font-size:12.5px;color:var(--petrol);white-space:nowrap;border:1px solid var(--petrol);padding:8px 14px;border-radius:var(--radius);align-self:center}
.bulletin-row a.go:hover{background:var(--petrol);color:#fff}

/* ---------- Cards genéricas (cursos) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--white);border:1px solid var(--line);overflow:hidden}
.card-img{height:170px;width:100%;object-fit:cover;background:var(--paper-2)}
.card-body{padding:18px}
.card h3{font-size:18px;margin-bottom:6px}
.card p{color:var(--muted);font-size:14px;margin:0 0 10px}
.card a{font-weight:600;color:var(--clay);font-size:14px}

/* ---------- Contacto ---------- */
.contact-panel{background:var(--petrol);color:#fff;padding:52px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.contact-panel h2{color:#fff}
.contact-panel .lead{color:#C8D8D4}
.contact-actions{display:grid;gap:12px}
.contact-actions .btn{width:100%}

/* ---------- Página interior (comunidad / genérica) ---------- */
.page-hero{padding:46px 0 38px;border-bottom:1px solid var(--line)}
.page-hero .ref{font-family:var(--font-mono);color:var(--clay);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.page-hero h1{font-size:clamp(30px,4vw,46px);margin:12px 0 14px;line-height:1.08}
.page-hero .lead{color:var(--muted);font-size:17px;max-width:70ch}
.page-body{max-width:820px}
.page-body img{margin:18px 0;box-shadow:var(--shadow-sm)}
.page-body h2,.page-body h3{margin-top:34px;margin-bottom:12px}
.page-body p{margin:0 0 16px}
.page-body a{color:var(--clay);font-weight:600;border-bottom:1px solid currentColor}
.page-body ul,.page-body ol{padding-left:22px}
.page-cta{margin-top:38px;padding:26px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}

/* ---------- Footer ---------- */
.footer{background:#0E2926;color:#B9CFC9;padding:44px 0 26px}
.footer-in{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer img{width:190px;margin-bottom:14px;filter:brightness(0) invert(1) opacity(.9)}
.footer h4{font-family:var(--font-mono);text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#fff;margin-bottom:12px}
.footer nav{display:grid;gap:8px}
.footer a:hover{color:#fff}
.footer-bottom{padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;font-family:var(--font-mono)}

/* ---------- WhatsApp flotante ---------- */
.float-wa{position:fixed;right:22px;bottom:22px;background:#1ea952;color:#fff;border-radius:999px;padding:15px 20px;font-weight:600;box-shadow:0 14px 32px rgba(30,169,82,.4);z-index:80;display:flex;align-items:center;gap:8px}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .hero-grid,.contact-panel{grid-template-columns:1fr}
  .comunidades-grid,.cards{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:repeat(2,1fr)}
  .footer-in{grid-template-columns:1fr 1fr}
  .menu-toggle{display:block}
  .main-nav{display:none;grid-column:1/-1;order:3;width:100%}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;align-items:stretch}
  .main-nav li ul{position:static;width:auto;box-shadow:none;border:0;padding-left:14px}
  .nav{flex-wrap:wrap}
  .topbar-in{flex-direction:column;gap:4px;padding:10px 0;text-align:center}
}
@media(max-width:620px){
  .comunidades-grid,.cards,.stats-grid{grid-template-columns:1fr}
  .bulletin-row{grid-template-columns:1fr;gap:8px}
  .bulletin-row a.go{justify-self:start}
  .contact-panel{padding:36px 22px}
  .brand img{width:200px}
  .section{padding:44px 0}
}


/* V10 Premium juvenil/motivador */
:root{--green:#48b765;--green2:#6fd58a;--orange:#ff8a1c;--orange2:#ffb14a;--blue:#0d2b4f;--cyan:#7ed8ee;--cream:#fff8ef}
body{background:#fff!important}
.topbar{background:linear-gradient(90deg,#42b864,#0d9f69)!important}
.site-header{position:sticky!important;top:0!important;background:rgba(255,255,255,.985)!important;box-shadow:0 12px 34px rgba(13,43,79,.09)!important}
.nav-premium{display:grid!important;grid-template-columns:310px 1fr auto!important;align-items:center!important;gap:18px!important;min-height:96px!important}
.brand img{width:300px!important;max-height:92px!important;object-fit:contain!important}
.main-nav{justify-content:center!important}
.main-nav>ul{background:rgba(255,255,255,.94)!important;border:1px solid #e8eef2!important;border-radius:999px!important;padding:7px 10px!important;box-shadow:0 8px 24px rgba(13,43,79,.06)!important}
.main-nav>ul>li>a{font-size:15px!important;font-weight:900!important;color:var(--blue)!important}
.main-nav>ul>li>a:hover{background:#effff4!important;color:#22914c!important}
.main-nav li ul{border-radius:22px!important;text-align:left!important;background:#fff!important}
.header-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.btn-header{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:950;white-space:nowrap;padding:13px 18px;box-shadow:0 10px 24px rgba(13,43,79,.12);transition:.18s}
.btn-header:hover{transform:translateY(-2px)}
.btn-header-aula{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff!important;border:2px solid #ffd6a3}
.btn-header-aula::before{content:"🎓";margin-right:8px}
.btn-header-wa{background:#ecfff2;color:#149447!important;border:2px solid #c6f1d2}
.btn-header-wa::before{content:"💬";margin-right:8px}
.hero-premium{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 18%,rgba(126,216,238,.35),transparent 28%),linear-gradient(120deg,#effff3 0%,#fff 45%,#fff5e8 100%)!important}
.hero-premium::before{content:"";position:absolute;inset:auto -80px -120px auto;width:360px;height:360px;border-radius:50%;background:rgba(255,138,28,.12)}
.hero-premium .hero-grid{padding:58px 0 52px!important}
.hero-premium h1{font-size:clamp(42px,5.5vw,76px)!important;max-width:780px}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 6px}
.hero-pills span{background:#fff;border:1px solid #e7edf1;border-radius:999px;padding:9px 13px;color:var(--blue);font-weight:900;box-shadow:0 8px 20px rgba(13,43,79,.06)}
.hero-visual{position:relative}
.hero-visual>img{border-radius:32px!important;min-height:420px!important;object-fit:cover!important;box-shadow:0 24px 60px rgba(13,43,79,.18)!important}
.hero-card-floating{position:absolute;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid #eef2f5;border-radius:20px;padding:16px 18px;box-shadow:0 18px 40px rgba(13,43,79,.14);max-width:235px}
.hero-card-floating strong{display:block;color:var(--blue);font-size:17px}
.hero-card-floating span{color:#566377;font-size:14px}
.card-one{left:-16px;bottom:32px}.card-two{right:18px;top:28px}
.stats-premium{background:linear-gradient(90deg,#0d2b4f,#123d6b)!important}
.stats-premium article{position:relative}.stats-premium article:not(:last-child)::after{content:"";position:absolute;right:0;top:22%;height:56%;width:1px;background:rgba(255,255,255,.2)}
.split-section{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.split-section h2,.cta-clean h2{font-size:clamp(30px,3.6vw,48px);line-height:1.08;color:var(--blue);margin:10px 0}
.premium-panel{background:linear-gradient(145deg,#effff4,#fff 60%,#fff5e8)!important;border:1px solid #e6f1e9!important;border-radius:28px!important;padding:34px!important;box-shadow:0 18px 50px rgba(13,43,79,.12)!important}
.premium-panel h3{margin-top:0;color:var(--blue);font-size:30px}.premium-panel li{margin:10px 0;color:#314156;font-weight:800}
.features-four{grid-template-columns:repeat(4,1fr)!important}.feature{border-radius:22px!important}.feature span{background:linear-gradient(135deg,var(--orange),var(--orange2))!important}
.method-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.method-steps article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(13,43,79,.09);position:relative;overflow:hidden}
.method-steps article::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;background:rgba(72,183,101,.10);border-radius:50%}
.method-steps span{font-weight:950;color:var(--orange);font-size:26px}.method-steps h3{color:var(--blue);margin:8px 0 6px}.method-steps p{color:var(--muted);font-size:14px;margin:0}
.cards-compact{grid-template-columns:repeat(4,1fr)!important}.news-home{grid-template-columns:repeat(3,1fr)!important}
.card{border-radius:24px!important;overflow:hidden!important;transition:.18s ease!important}.card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(13,43,79,.16)!important}.card-img{height:205px!important}
.course-card-premium .card-body a,.news-card-premium .card-body a{display:inline-flex;margin-top:8px;background:#effff4;color:#1f944b!important;border-radius:999px;padding:9px 13px}
.center-actions{display:flex;justify-content:center;margin-top:26px}
.cta-premium{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(120deg,#effff4,#fff 55%,#fff2df)!important;border:1px solid #e8f2ea!important;border-radius:30px!important;padding:34px!important;box-shadow:0 20px 54px rgba(13,43,79,.12)!important}
.cta-premium p{font-size:18px;color:var(--muted)}
@media(max-width:1220px){.nav-premium{grid-template-columns:1fr auto!important}.header-actions{grid-column:1/-1;justify-content:center}.menu-toggle{display:block!important}.main-nav{display:none;grid-column:1/-1}.main-nav.is-open{display:block}.main-nav>ul{display:grid!important;border-radius:20px!important}.main-nav li ul{position:static!important;display:block!important;transform:none!important;width:auto!important;max-height:none!important;box-shadow:none!important;border:0!important}.split-section,.hero-grid{grid-template-columns:1fr!important}.features-four,.method-steps,.cards-compact,.news-home{grid-template-columns:repeat(2,1fr)!important}.hero-card-floating{position:static;margin-top:12px}}
@media(max-width:640px){.brand img{width:235px!important}.header-actions{flex-direction:column}.btn-header{width:100%}.features-four,.method-steps,.cards-compact,.news-home{grid-template-columns:1fr!important}.cta-premium{flex-direction:column;text-align:center}.hero-visual>img{min-height:auto!important}}


/* V11: sección "Qué hacemos" más llamativa y moderna */
#que-hacemos{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%, rgba(72,183,101,.18), transparent 26%),
    radial-gradient(circle at 92% 20%, rgba(255,138,28,.20), transparent 28%),
    linear-gradient(120deg,#f0fff5 0%,#ffffff 46%,#fff4e6 100%)!important;
}
#que-hacemos::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:999px;
  background:rgba(126,216,238,.18);
  right:-140px;
  bottom:-180px;
  pointer-events:none;
}
#que-hacemos .section-head{
  position:relative;
  z-index:1;
  text-align:left!important;
  max-width:780px;
}
#que-hacemos .section-head p{
  display:inline-flex;
  background:#ffffff;
  color:#15934a!important;
  border:1px solid #d8f1df;
  border-radius:999px;
  padding:8px 15px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
#que-hacemos .section-head h2{
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em;
  max-width:760px;
}
#que-hacemos .features-four{
  position:relative;
  z-index:1;
  gap:20px!important;
  margin-top:30px;
}
#que-hacemos .feature{
  position:relative;
  overflow:hidden;
  min-height:245px;
  padding:28px 24px 24px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(14px);
  box-shadow:0 22px 50px rgba(13,43,79,.13)!important;
}
#que-hacemos .feature::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.60));
  z-index:-2;
}
#que-hacemos .feature::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  border-radius:50%;
  right:-55px;
  bottom:-60px;
  background:linear-gradient(135deg,rgba(72,183,101,.20),rgba(255,138,28,.18));
  z-index:-1;
}
#que-hacemos .feature:hover{
  transform:translateY(-8px) scale(1.015)!important;
  box-shadow:0 30px 70px rgba(13,43,79,.18)!important;
}
#que-hacemos .feature span{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  font-size:22px!important;
  margin-bottom:20px!important;
  background:linear-gradient(135deg,#ff8a1c,#ffb14a)!important;
  box-shadow:0 14px 30px rgba(255,138,28,.30);
}
#que-hacemos .feature:nth-child(1) span::after{content:" 💻";font-size:18px}
#que-hacemos .feature:nth-child(2) span::after{content:" 📚";font-size:18px}
#que-hacemos .feature:nth-child(3) span::after{content:" ✅";font-size:18px}
#que-hacemos .feature:nth-child(4) span::after{content:" 🤝";font-size:18px}
#que-hacemos .feature h3{
  font-size:22px!important;
  line-height:1.12;
  margin-bottom:12px!important;
  color:#0d2b4f!important;
}
#que-hacemos .feature p{
  font-size:15.5px!important;
  color:#4d5b6d!important;
}
#que-hacemos .feature:nth-child(1){border-top:5px solid #48b765!important}
#que-hacemos .feature:nth-child(2){border-top:5px solid #7ed8ee!important}
#que-hacemos .feature:nth-child(3){border-top:5px solid #ff8a1c!important}
#que-hacemos .feature:nth-child(4){border-top:5px solid #0d2b4f!important}
@media(max-width:640px){
  #que-hacemos .section-head{text-align:center!important}
  #que-hacemos .feature{min-height:auto}
}


/* V12: Cómo lo hacemos como línea progresiva hacia la meta */
.method-road-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 10%, rgba(126,216,238,.22), transparent 28%),
    radial-gradient(circle at 88% 22%, rgba(255,138,28,.16), transparent 26%),
    linear-gradient(120deg,#ffffff 0%,#f2fff6 48%,#fff7ec 100%)!important;
}
.method-road-section::before{
  content:"";
  position:absolute;
  left:-120px;
  top:80px;
  width:340px;
  height:340px;
  border-radius:999px;
  background:rgba(72,183,101,.10);
  pointer-events:none;
}
.method-head{
  text-align:center!important;
  max-width:860px;
  margin-inline:auto;
}
.method-head p{
  display:inline-flex;
  background:#fff;
  color:#15934a!important;
  border:1px solid #d8f1df;
  border-radius:999px;
  padding:8px 15px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.method-head h2{
  font-size:clamp(34px,4vw,58px)!important;
  letter-spacing:-.035em;
}
.method-head span{
  display:block;
  margin-top:12px;
  font-size:18px;
  color:#5d6675;
}
.method-road{
  position:relative;
  min-height:560px;
  margin-top:44px;
  padding:28px 12px 38px;
}
.road-line{
  position:absolute;
  left:5%;
  right:8%;
  top:265px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,#48b765 0%,#7ed8ee 35%,#ffb14a 70%,#ff8a1c 100%);
  box-shadow:0 16px 40px rgba(13,43,79,.16);
}
.road-line::before{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:999px;
  border:1px dashed rgba(13,43,79,.18);
}
.road-line::after{
  content:"";
  position:absolute;
  right:-20px;
  top:50%;
  transform:translateY(-50%);
  width:0;height:0;
  border-top:18px solid transparent;
  border-bottom:18px solid transparent;
  border-left:28px solid #ff8a1c;
  filter:drop-shadow(0 10px 16px rgba(255,138,28,.32));
}
.road-step{
  position:absolute;
  width:215px;
}
.road-step .road-dot{
  width:66px;
  height:66px;
  border-radius:24px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:22px;
  font-weight:950;
  background:linear-gradient(135deg,#0d2b4f,#48b765);
  box-shadow:0 16px 34px rgba(13,43,79,.20);
  border:4px solid #fff;
  margin-inline:auto;
  position:relative;
  z-index:3;
}
.road-card{
  margin-top:12px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.85);
  border-radius:24px;
  padding:18px;
  text-align:center;
  box-shadow:0 18px 44px rgba(13,43,79,.12);
}
.road-card strong{
  display:block;
  color:#0d2b4f;
  font-size:20px;
  margin-bottom:8px;
}
.road-card p{
  margin:0;
  color:#596678;
  font-size:14.5px;
}
.step-1{left:0;top:24px}
.step-2{left:20%;top:330px}
.step-3{left:40%;top:24px}
.step-4{left:60%;top:330px}
.step-5{left:77%;top:24px}
.step-2 .road-dot,.step-4 .road-dot{background:linear-gradient(135deg,#ff8a1c,#ffb14a)}
.step-3 .road-dot{background:linear-gradient(135deg,#7ed8ee,#48b765)}
.step-5 .road-dot{background:linear-gradient(135deg,#0d2b4f,#ff8a1c)}
.road-goal{
  position:absolute;
  right:0;
  top:330px;
  width:260px;
  display:flex;
  gap:14px;
  align-items:center;
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
  color:#fff;
  border-radius:28px;
  padding:20px;
  box-shadow:0 24px 56px rgba(13,43,79,.22);
}
.goal-badge{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  flex:0 0 62px;
  border-radius:22px;
  background:#fff;
  font-size:32px;
}
.road-goal strong{
  display:block;
  font-size:24px;
  color:#fff;
}
.road-goal p{
  margin:4px 0 0;
  color:#dce9f4;
  font-size:14.5px;
}
@media(max-width:1180px){
  .method-road{min-height:auto;display:grid;gap:16px;padding-top:10px}
  .road-line{display:none}
  .road-step,.road-goal{position:relative;left:auto!important;right:auto!important;top:auto!important;width:auto}
  .road-step{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center}
  .road-step .road-dot{margin:0}
  .road-card{text-align:left;margin:0}
  .road-goal{margin-top:10px}
}
@media(max-width:640px){
  .road-step{grid-template-columns:1fr}
  .road-step .road-dot{margin:auto}
  .road-card{text-align:center}
  .road-goal{display:block;text-align:center}
  .goal-badge{margin:0 auto 12px}
}


/* V13: premios y objetivos cumplidos + foto interior de fisioterapia */
.achievements-section{
  position:relative;
  overflow:hidden;
  padding:46px 0;
  background:
    radial-gradient(circle at 15% 12%,rgba(255,255,255,.35),transparent 28%),
    radial-gradient(circle at 90% 22%,rgba(255,138,28,.18),transparent 30%),
    linear-gradient(120deg,#48b765 0%,#45c775 42%,#effff4 100%);
}
.achievements-section::before{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  border-radius:999px;
  left:-160px;
  bottom:-230px;
  background:rgba(255,255,255,.20);
}
.achievements-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:34px;
  align-items:center;
}
.achievements-copy{
  color:#fff;
}
.achievements-copy .eyebrow{
  background:rgba(255,255,255,.92)!important;
  color:#15934a!important;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 12px 28px rgba(13,43,79,.12);
}
.achievements-copy h2{
  color:#fff;
  font-size:clamp(34px,4vw,56px);
  line-height:1.02;
  letter-spacing:-.035em;
  margin:14px 0;
}
.achievements-copy p{
  color:rgba(255,255,255,.94);
  font-size:18px;
  max-width:560px;
}
.achievements-copy .btn{
  background:#fff!important;
  color:#0d2b4f!important;
  border-color:#fff!important;
  margin-top:8px;
}
.achievement-cards{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:16px;
}
.achievement-card{
  min-height:150px;
  border-radius:28px;
  padding:22px;
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 18px 44px rgba(13,43,79,.16);
  transition:.18s ease;
}
.achievement-card:hover{
  transform:translateY(-5px) rotate(-.4deg);
  box-shadow:0 26px 60px rgba(13,43,79,.22);
}
.achievement-card.big{
  grid-row:span 2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,#fff,#fff8ed);
}
.achievement-card span{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:20px;
  background:linear-gradient(135deg,#ff8a1c,#ffb14a);
  font-size:28px;
  box-shadow:0 14px 30px rgba(255,138,28,.28);
  margin-bottom:16px;
}
.achievement-card strong{
  display:block;
  color:#0d2b4f;
  font-size:clamp(22px,2.3vw,34px);
  line-height:1.05;
  margin-bottom:6px;
}
.achievement-card p{
  color:#5d6675;
  font-weight:750;
  margin:0;
}
.physio-panel{
  padding:0!important;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr;
}
.physio-panel>img{
  width:100%;
  height:250px;
  object-fit:cover;
  border-radius:28px 28px 0 0;
  box-shadow:none!important;
  margin:0!important;
}
.physio-panel>div{
  padding:28px 34px 34px;
}
@media(max-width:1040px){
  .achievements-grid{grid-template-columns:1fr}
  .achievement-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .achievement-cards{grid-template-columns:1fr}
  .achievement-card.big{grid-row:auto}
  .achievements-copy{text-align:center}
  .achievements-copy p{margin-inline:auto}
}


/* V14: premios/objetivos más visual, menos texto plano */
.achievements-wow{
  padding:58px 0!important;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,255,255,.38),transparent 24%),
    radial-gradient(circle at 88% 15%,rgba(255,177,74,.28),transparent 28%),
    linear-gradient(120deg,#36b761 0%,#4ed47b 42%,#ecfff3 100%)!important;
}
.achievements-wow-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:stretch;
}
.achievements-hero-card{
  position:relative;
  overflow:hidden;
  min-height:430px;
  border-radius:34px;
  padding:34px;
  color:#fff;
  background:
    linear-gradient(145deg,rgba(13,43,79,.94),rgba(18,61,107,.86)),
    radial-gradient(circle at 20% 20%,rgba(126,216,238,.35),transparent 28%);
  box-shadow:0 28px 70px rgba(13,43,79,.24);
}
.achievements-hero-card::before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  border-radius:50%;
  right:-90px;bottom:-90px;
  background:rgba(255,138,28,.22);
}
.achievements-hero-card .eyebrow{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
}
.achievements-hero-card h2{
  position:relative;
  z-index:2;
  color:#fff;
  font-size:clamp(34px,4vw,56px);
  line-height:1.02;
  margin:18px 0;
  letter-spacing:-.04em;
}
.award-orbit{
  position:absolute;
  right:24px;
  top:24px;
  width:150px;
  height:150px;
  border:1px dashed rgba(255,255,255,.28);
  border-radius:50%;
  display:grid;
  place-items:center;
}
.award-main{
  width:82px;height:82px;
  border-radius:28px;
  display:grid;
  place-items:center;
  font-size:44px;
  background:linear-gradient(135deg,#ff8a1c,#ffb14a);
  box-shadow:0 18px 42px rgba(255,138,28,.35);
}
.orbit-dot{
  position:absolute;
  background:#fff;
  color:#0d2b4f;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:950;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}
.dot-a{left:-8px;top:20px}
.dot-b{right:-14px;top:62px}
.dot-c{left:44px;bottom:-12px}
.achievement-tags{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0;
}
.achievement-tags span{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
}
.achievements-hero-card .btn{
  position:relative;
  z-index:2;
  background:#fff!important;
  color:#0d2b4f!important;
  border-color:#fff!important;
}
.achievement-metrics{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:18px;
}
.metric-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:26px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 20px 50px rgba(13,43,79,.15);
  min-height:190px;
  transition:.18s ease;
}
.metric-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 70px rgba(13,43,79,.20);
}
.metric-card::after{
  content:"";
  position:absolute;
  width:130px;height:130px;
  right:-42px;bottom:-50px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(72,183,101,.16),rgba(255,138,28,.18));
}
.metric-card small{
  display:inline-flex;
  color:#149447;
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  background:#effff4;
  border-radius:999px;
  padding:7px 10px;
  margin-bottom:14px;
}
.metric-card strong{
  display:block;
  color:#0d2b4f;
  font-size:clamp(30px,3.2vw,52px);
  line-height:.96;
  letter-spacing:-.04em;
  margin-bottom:12px;
}
.metric-card p{
  color:#526173;
  margin:0;
  font-size:15.5px;
  max-width:300px;
}
.metric-featured{
  grid-row:span 2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,#fff,#fff7eb);
}
.metric-featured::before{
  content:"🥇";
  position:absolute;
  right:24px;
  top:22px;
  font-size:52px;
}
.metric-featured strong{
  font-size:clamp(42px,4.5vw,72px);
}
.metric-goal{
  background:linear-gradient(145deg,#0d2b4f,#123d6b);
}
.metric-goal small{
  background:rgba(255,255,255,.13);
  color:#fff;
}
.metric-goal strong,.metric-goal p{
  color:#fff;
}
@media(max-width:1040px){
  .achievements-wow-grid{grid-template-columns:1fr}
  .achievements-hero-card{min-height:auto;padding-top:190px}
  .award-orbit{left:34px;right:auto}
}
@media(max-width:680px){
  .achievement-metrics{grid-template-columns:1fr}
  .metric-featured{grid-row:auto}
  .achievements-hero-card{text-align:left}
}


/* V15: premios compactos visibles nada más entrar + hero más visual */
.hero-v15{
  padding-top:18px!important;
}
.hero-v15 .hero-grid{
  padding-top:26px!important;
}
.hero-awards-mini{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:14px 0 0;
  position:relative;
  z-index:3;
}
.mini-award{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:11px;
  align-items:center;
  min-height:76px;
  padding:13px 15px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(232,238,242,.95);
  box-shadow:0 12px 30px rgba(13,43,79,.10);
  backdrop-filter:blur(12px);
  transition:.18s ease;
}
.mini-award:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(13,43,79,.15);
}
.mini-award span{
  grid-row:span 2;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:linear-gradient(135deg,#ff8a1c,#ffb14a);
  font-size:24px;
  box-shadow:0 12px 24px rgba(255,138,28,.26);
}
.mini-award strong{
  display:block;
  color:#0d2b4f;
  font-size:17px;
  line-height:1.05;
}
.mini-award small{
  color:#5d6675;
  font-size:13px;
  font-weight:800;
}
.mini-goal{
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
  border-color:rgba(255,255,255,.24);
}
.mini-goal strong,.mini-goal small{
  color:#fff;
}
.mini-goal span{
  background:rgba(255,255,255,.16);
  box-shadow:none;
}
.hero-title-v15{
  display:grid;
  gap:4px;
  max-width:800px!important;
}
.hero-title-v15 span,
.hero-title-v15 mark,
.hero-title-v15 em{
  display:block;
  font-style:normal;
}
.hero-title-v15 mark{
  width:max-content;
  max-width:100%;
  color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  border-radius:24px;
  padding:5px 18px 9px;
  box-shadow:0 18px 40px rgba(72,183,101,.22);
}
.hero-title-v15 em{
  color:#ff8a1c;
  text-shadow:0 10px 28px rgba(255,138,28,.18);
}
.hero-v15 .lead{
  max-width:660px;
  font-size:20px!important;
}
.hero-v15 .hero-visual>img{
  object-position:center!important;
  filter:saturate(1.05) contrast(1.02);
}
.hero-v15 .card-one{
  left:-10px!important;
  bottom:24px!important;
}
.hero-v15 .card-two{
  top:22px!important;
  right:14px!important;
}
@media(max-width:1100px){
  .hero-awards-mini{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .hero-awards-mini{grid-template-columns:1fr}
  .hero-title-v15 mark{width:auto}
}


/* V16: home más compacta sin sección cursos por comunidad */
#noticias-home{
  background:
    radial-gradient(circle at 10% 12%, rgba(72,183,101,.10), transparent 24%),
    radial-gradient(circle at 92% 18%, rgba(255,138,28,.12), transparent 28%),
    #fff!important;
}
#noticias-home .section-head{
  max-width:820px;
  margin-inline:auto;
}
#noticias-home .section-head h2{
  font-size:clamp(34px,4vw,54px)!important;
}


/* V18: foto de fisioterapia recortada sin borde verde ni texto */
.physio-panel>img{
  object-position:center center!important;
  height:285px!important;
}
@media(max-width:620px){
  .physio-panel>img{height:230px!important}
}


/* V19: burbujas Meta / Plaza más visuales */
.hero-goal-card{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  max-width:310px!important;
  padding:18px 20px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 20% 15%,rgba(255,255,255,.25),transparent 26%),
    linear-gradient(135deg,#0d2b4f 0%,#123d6b 48%,#ff8a1c 100%)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 24px 54px rgba(13,43,79,.28)!important;
}
.hero-goal-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,0));
  pointer-events:none;
}
.hero-goal-card .goal-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  font-size:30px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}
.hero-goal-card strong{
  color:#fff!important;
  font-size:20px!important;
  letter-spacing:-.02em;
}
.hero-goal-card span{
  color:#eef7ff!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.hero-goal-card:hover{
  transform:translateY(-6px) rotate(.5deg)!important;
}

.mini-goal-v19{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%,rgba(255,177,74,.40),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b)!important;
}
.mini-goal-v19::after{
  content:"";
  position:absolute;
  right:-22px;
  bottom:-28px;
  width:86px;
  height:86px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.mini-goal-v19 span{
  background:linear-gradient(135deg,#ff8a1c,#ffb14a)!important;
  box-shadow:0 12px 26px rgba(255,138,28,.28)!important;
}
.mini-goal-v19 strong{
  font-size:18px!important;
}
.mini-goal-v19 small{
  color:#dcecff!important;
}

.road-goal-v19{
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.20),transparent 28%),
    linear-gradient(135deg,#0d2b4f 0%,#123d6b 50%,#ff8a1c 100%)!important;
  border:1px solid rgba(255,255,255,.25);
}
.road-goal-v19::before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  border-radius:50%;
  right:-55px;
  bottom:-70px;
  background:rgba(255,255,255,.13);
}
.road-goal-v19 .goal-badge{
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
.road-goal-v19 small{
  display:inline-flex;
  color:#ffe3bd;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:4px;
}
.road-goal-v19 strong{
  font-size:30px!important;
  line-height:1!important;
}
.road-goal-v19 p{
  color:#eef7ff!important;
}
@media(max-width:1220px){
  .hero-goal-card{
    max-width:none!important;
  }
}


/* V20: burbuja Acompañamiento más agradable e intuitiva */
.hero-support-card{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  max-width:318px!important;
  padding:18px 20px!important;
  color:#0d2b4f!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.72),transparent 28%),
    linear-gradient(135deg,#effff4 0%,#ffffff 48%,#e8fbff 100%)!important;
  border:1px solid rgba(198,241,210,.95)!important;
  box-shadow:0 24px 54px rgba(72,183,101,.20)!important;
}
.hero-support-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(72,183,101,.18),rgba(126,216,238,.10),rgba(255,255,255,0));
  pointer-events:none;
}
.hero-support-card .support-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:21px;
  background:linear-gradient(135deg,#48b765,#7ed8ee);
  border:3px solid #fff;
  font-size:29px;
  box-shadow:0 14px 30px rgba(72,183,101,.28);
}
.hero-support-card strong{
  color:#0d2b4f!important;
  font-size:20px!important;
  letter-spacing:-.02em;
}
.hero-support-card span{
  color:#3f5268!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.hero-support-card:hover{
  transform:translateY(-6px) rotate(-.5deg)!important;
}
@media(max-width:1220px){.hero-support-card{max-width:none!important}}


/* V24: nuevo logotipo horizontal */
.brand img{
  width:340px!important;
  max-height:112px!important;
  object-fit:contain!important;
}
.footer img{
  max-width:310px!important;
  height:auto!important;
  object-fit:contain!important;
}
.card .logo,
.logo{
  max-width:320px!important;
  height:auto!important;
}
@media(max-width:720px){
  .brand img{
    width:260px!important;
    max-height:90px!important;
  }
}


/* V25: logotipo más grande aprovechando toda la franja del menú */
.site-header{
  min-height:126px!important;
}
.nav-premium,
.nav{
  min-height:126px!important;
  grid-template-columns:455px 1fr auto!important;
  align-items:center!important;
}
.brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:126px!important;
  padding:2px 0!important;
}
.brand picture{
  display:flex!important;
  align-items:center!important;
  height:100%!important;
}
.brand img{
  width:445px!important;
  max-width:445px!important;
  height:auto!important;
  max-height:122px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.main-nav>ul{
  margin-left:6px!important;
}
.header-actions{
  align-self:center!important;
}
@media(max-width:1320px){
  .nav-premium,
  .nav{
    grid-template-columns:390px 1fr auto!important;
  }
  .brand img{
    width:380px!important;
    max-width:380px!important;
  }
}
@media(max-width:1220px){
  .site-header{
    min-height:auto!important;
  }
  .nav-premium,
  .nav{
    grid-template-columns:1fr auto!important;
    min-height:108px!important;
  }
  .brand{
    height:108px!important;
  }
  .brand img{
    width:380px!important;
    max-width:calc(100vw - 120px)!important;
    max-height:104px!important;
  }
}
@media(max-width:720px){
  .nav-premium,
  .nav{
    min-height:92px!important;
  }
  .brand{
    height:92px!important;
  }
  .brand img{
    width:300px!important;
    max-width:calc(100vw - 92px)!important;
    max-height:88px!important;
  }
}
@media(max-width:430px){
  .brand img{
    width:265px!important;
    max-width:calc(100vw - 86px)!important;
  }
}


/* V26: logo XL real + sin Aula Virtual pública */
.site-header{
  min-height:188px!important;
  padding:0!important;
}
.nav-premium,
.nav{
  min-height:188px!important;
  grid-template-columns:minmax(720px,760px) 1fr auto!important;
  gap:18px!important;
  align-items:center!important;
}
.brand{
  height:188px!important;
  min-height:188px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
.brand picture{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:100%!important;
}
.brand img{
  width:740px!important;
  max-width:740px!important;
  height:auto!important;
  max-height:184px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.main-nav{
  align-self:center!important;
}
.main-nav>ul{
  transform:translateX(-14px);
}
.header-actions{
  align-self:center!important;
}
.btn-header-aula{
  display:none!important;
}
@media(max-width:1500px){
  .nav-premium,
  .nav{
    grid-template-columns:minmax(620px,660px) 1fr auto!important;
  }
  .brand img{
    width:650px!important;
    max-width:650px!important;
  }
}
@media(max-width:1320px){
  .nav-premium,
  .nav{
    grid-template-columns:minmax(520px,560px) 1fr auto!important;
  }
  .brand img{
    width:550px!important;
    max-width:550px!important;
  }
  .main-nav>ul{
    transform:none;
  }
}
@media(max-width:1220px){
  .site-header{
    min-height:auto!important;
  }
  .nav-premium,
  .nav{
    grid-template-columns:1fr auto!important;
    min-height:136px!important;
  }
  .brand{
    height:136px!important;
    min-height:136px!important;
  }
  .brand img{
    width:520px!important;
    max-width:calc(100vw - 120px)!important;
    max-height:132px!important;
  }
}
@media(max-width:720px){
  .nav-premium,
  .nav{
    min-height:112px!important;
  }
  .brand{
    height:112px!important;
    min-height:112px!important;
  }
  .brand img{
    width:380px!important;
    max-width:calc(100vw - 92px)!important;
    max-height:108px!important;
  }
}
@media(max-width:430px){
  .brand img{
    width:330px!important;
    max-width:calc(100vw - 84px)!important;
  }
}


/* V27 DEFINITIVO: logo 2X real + franja superior como imagen */
.topbar-img{
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#42b864!important;
}
.topbar-img picture,
.topbar-img img{
  display:block!important;
  width:100%!important;
  height:42px!important;
  object-fit:cover!important;
  object-position:center!important;
}
.site-header{
  min-height:124px!important;
  height:124px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
.site-header .container.nav,
.site-header .container.nav-premium,
.nav,
.nav-premium{
  min-height:124px!important;
  height:124px!important;
  grid-template-columns:640px minmax(420px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.brand{
  height:124px!important;
  min-height:124px!important;
  width:640px!important;
  max-width:640px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
.brand picture{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:100%!important;
}
.brand img{
  width:620px!important;
  max-width:620px!important;
  height:auto!important;
  max-height:120px!important;
  min-height:112px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.main-nav{
  align-self:center!important;
  justify-self:center!important;
}
.main-nav>ul{
  transform:none!important;
  margin-left:0!important;
  padding:7px 10px!important;
}
.header-actions{
  align-self:center!important;
  justify-self:end!important;
}
.btn-header-aula{
  display:none!important;
}

/* Portátiles / pantallas medias */
@media(max-width:1450px){
  .site-header,
  .site-header .container.nav,
  .site-header .container.nav-premium,
  .nav,
  .nav-premium{
    height:118px!important;
    min-height:118px!important;
    grid-template-columns:560px minmax(360px,1fr) auto!important;
  }
  .brand{
    height:118px!important;
    min-height:118px!important;
    width:560px!important;
    max-width:560px!important;
  }
  .brand img{
    width:545px!important;
    max-width:545px!important;
    max-height:114px!important;
    min-height:104px!important;
  }
}

/* Tablet: logo grande arriba, menú debajo al abrir */
@media(max-width:1220px){
  .site-header{
    height:auto!important;
    min-height:112px!important;
  }
  .site-header .container.nav,
  .site-header .container.nav-premium,
  .nav,
  .nav-premium{
    grid-template-columns:1fr auto!important;
    height:auto!important;
    min-height:112px!important;
  }
  .brand{
    width:auto!important;
    max-width:none!important;
    height:112px!important;
    min-height:112px!important;
  }
  .brand img{
    width:520px!important;
    max-width:calc(100vw - 120px)!important;
    min-height:96px!important;
    max-height:108px!important;
  }
}

/* Móvil: topbar imagen compacta y logo grande pero controlado */
@media(max-width:720px){
  .topbar-img,
  .topbar-img picture,
  .topbar-img img{
    height:38px!important;
    min-height:38px!important;
  }
  .site-header .container.nav,
  .site-header .container.nav-premium,
  .nav,
  .nav-premium{
    min-height:96px!important;
  }
  .brand{
    height:96px!important;
    min-height:96px!important;
  }
  .brand img{
    width:360px!important;
    max-width:calc(100vw - 84px)!important;
    min-height:78px!important;
    max-height:94px!important;
  }
}
@media(max-width:430px){
  .brand img{
    width:320px!important;
    max-width:calc(100vw - 78px)!important;
  }
}


/* V28: topbar móvil limpia */
.mobile-contact-strip{
  display:none;
}
@media(max-width:720px){
  .topbar-img{
    display:none!important;
  }
  .mobile-contact-strip{
    display:flex!important;
    gap:8px;
    justify-content:center;
    align-items:center;
    padding:8px 10px;
    background:linear-gradient(90deg,#effff4,#fff);
    border-bottom:1px solid #dfeee4;
    box-shadow:0 8px 20px rgba(13,43,79,.06);
  }
  .mobile-contact-strip a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:8px 12px;
    border-radius:999px;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    color:#0d2b4f;
    background:#ffffff;
    border:1px solid #d8f1df;
    box-shadow:0 6px 14px rgba(13,43,79,.06);
    white-space:nowrap;
  }
  .mobile-contact-strip a:first-child{
    background:linear-gradient(135deg,#48b765,#0d9f69);
    color:#fff;
    border-color:#48b765;
  }
}
@media(max-width:420px){
  .mobile-contact-strip{
    padding:7px 8px;
  }
  .mobile-contact-strip a{
    font-size:13px;
    padding:7px 10px;
  }
}


/* V29: logros superiores más potentes y editables */
.hero-results-v29{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:14px;
  align-items:stretch;
  margin:14px 0 0;
  position:relative;
  z-index:3;
}
.results-claim{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  padding:20px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(255,177,74,.35),transparent 28%),
    linear-gradient(135deg,#0d2b4f,#123d6b 60%,#ff8a1c);
  box-shadow:0 18px 44px rgba(13,43,79,.18);
}
.results-claim::after{
  content:"🏆";
  position:absolute;
  right:18px;
  bottom:12px;
  font-size:52px;
  opacity:.18;
}
.results-claim span{
  display:inline-flex;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.results-claim strong{
  display:block;
  font-size:24px;
  line-height:1.05;
  margin:12px 0 8px;
  letter-spacing:-.03em;
}
.results-claim p{
  color:#eef7ff;
  margin:0;
  font-size:14.5px;
  line-height:1.35;
}
.results-track{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:2px 2px 12px;
  scroll-snap-type:x mandatory;
}
.results-track::-webkit-scrollbar{height:8px}
.results-track::-webkit-scrollbar-thumb{background:#cfe8d7;border-radius:999px}
.result-chip{
  scroll-snap-align:start;
  min-width:245px;
  max-width:245px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:11px;
  align-items:start;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  border:1px solid #e4edf0;
  box-shadow:0 12px 30px rgba(13,43,79,.10);
  transition:.18s ease;
}
.result-chip:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 46px rgba(13,43,79,.16);
}
.result-chip.is-top{
  background:linear-gradient(145deg,#fff,#fff7eb);
  border-color:#ffd9a7;
}
.result-chip span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#ff8a1c,#ffb14a);
  font-size:25px;
  box-shadow:0 12px 24px rgba(255,138,28,.24);
}
.result-chip strong{
  display:block;
  color:#0d2b4f;
  font-size:18px;
  line-height:1.05;
}
.result-chip small{
  display:block;
  margin-top:4px;
  color:#15934a;
  font-weight:950;
}
.result-chip em{
  display:block;
  margin-top:7px;
  color:#5b6878;
  font-size:13px;
  line-height:1.25;
  font-style:normal;
}
@media(max-width:1050px){
  .hero-results-v29{grid-template-columns:1fr}
  .results-track{padding-bottom:10px}
}
@media(max-width:620px){
  .results-claim strong{font-size:21px}
  .result-chip{min-width:230px;max-width:230px}
}


/* V30: logros compactos sin scroll lateral ni vertical */
.hero-results-v29{
  grid-template-columns:300px 1fr!important;
  gap:12px!important;
  align-items:stretch!important;
  margin:10px 0 0!important;
}
.results-claim{
  border-radius:22px!important;
  padding:16px 17px!important;
  min-height:154px!important;
}
.results-claim span{
  padding:5px 9px!important;
  font-size:10.5px!important;
}
.results-claim strong{
  font-size:20px!important;
  line-height:1.03!important;
  margin:10px 0 6px!important;
}
.results-claim p{
  font-size:12.7px!important;
  line-height:1.28!important;
}
.results-claim::after{
  font-size:42px!important;
  right:13px!important;
  bottom:8px!important;
}
.results-track{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
  padding:0!important;
  scroll-snap-type:none!important;
}
.result-chip{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:34px 1fr!important;
  gap:8px!important;
  padding:9px 10px!important;
  border-radius:18px!important;
  scroll-snap-align:none!important;
  box-shadow:0 8px 18px rgba(13,43,79,.08)!important;
}
.result-chip:hover{
  transform:none!important;
  box-shadow:0 10px 22px rgba(13,43,79,.10)!important;
}
.result-chip span{
  width:34px!important;
  height:34px!important;
  border-radius:13px!important;
  font-size:18px!important;
  box-shadow:0 8px 15px rgba(255,138,28,.18)!important;
}
.result-chip strong{
  font-size:13.7px!important;
  line-height:1.02!important;
  letter-spacing:-.02em!important;
}
.result-chip small{
  margin-top:2px!important;
  font-size:11.6px!important;
  line-height:1.05!important;
}
.result-chip em{
  margin-top:3px!important;
  font-size:10.6px!important;
  line-height:1.12!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
@media(max-width:1180px){
  .hero-results-v29{
    grid-template-columns:1fr!important;
  }
  .results-track{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .results-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .result-chip{
    grid-template-columns:32px 1fr!important;
  }
}
@media(max-width:520px){
  .hero-results-v29{
    margin-top:8px!important;
    gap:9px!important;
  }
  .results-claim{
    min-height:auto!important;
    padding:13px 14px!important;
  }
  .results-claim strong{
    font-size:17px!important;
  }
  .results-claim p{
    font-size:12px!important;
  }
  .results-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .result-chip{
    padding:8px!important;
    grid-template-columns:28px 1fr!important;
    gap:6px!important;
    border-radius:15px!important;
  }
  .result-chip span{
    width:28px!important;
    height:28px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }
  .result-chip strong{
    font-size:12px!important;
  }
  .result-chip small{
    font-size:10.3px!important;
  }
  .result-chip em{
    display:none!important;
  }
}


/* V31: metodología compacta, moderna y orientada a contacto */
.method-compact-v31{
  padding:46px 0!important;
  background:
    radial-gradient(circle at 12% 10%,rgba(72,183,101,.12),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(255,138,28,.12),transparent 30%),
    linear-gradient(180deg,#ffffff,#f7fbf6);
}
.method-compact-v31 .compact-head{
  max-width:860px!important;
  margin:0 auto 22px!important;
  text-align:center!important;
}
.method-compact-v31 .section-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  color:#15733b;
  background:#effff4;
  border:1px solid #d6f1dc;
  font-weight:950;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.method-compact-v31 h2{
  font-size:clamp(30px,3.2vw,46px)!important;
  line-height:.98!important;
  margin:13px 0 10px!important;
  letter-spacing:-.045em!important;
  color:#0d2b4f!important;
}
.method-compact-v31 .compact-head p{
  max-width:740px;
  margin:0 auto;
  color:#5e6d7a;
  font-size:17px;
  line-height:1.42;
}
.method-compare-v31{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:14px;
  align-items:stretch;
  margin:22px 0 14px;
}
.method-side{
  position:relative;
  border-radius:24px;
  padding:20px 22px;
  box-shadow:0 12px 30px rgba(13,43,79,.08);
}
.method-side strong{
  display:block;
  font-size:22px;
  color:#0d2b4f;
  margin-bottom:12px;
  letter-spacing:-.02em;
}
.method-side ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.method-side li{
  position:relative;
  padding-left:28px;
  color:#46566a;
  font-weight:750;
  line-height:1.26;
  font-size:15px;
}
.method-side li::before{
  position:absolute;
  left:0;
  top:0;
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.method-normal{
  background:#ffffff;
  border:1px solid #e3ebef;
}
.method-normal li::before{
  content:"×";
  background:#fff1ee;
  color:#c94b2e;
}
.method-us{
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,177,74,.28),transparent 32%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  border:1px solid rgba(255,255,255,.12);
}
.method-us strong,
.method-us li{
  color:#fff;
}
.method-us li{
  color:#edf7ff;
}
.method-us li::before{
  content:"✓";
  background:#48b765;
  color:#fff;
}
.badge-best{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.method-steps-v31{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.method-step{
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-areas:"n t" "n s";
  column-gap:10px;
  align-items:center;
  min-height:88px;
  background:rgba(255,255,255,.92);
  border:1px solid #e2ece7;
  border-radius:20px;
  padding:13px;
  box-shadow:0 8px 20px rgba(13,43,79,.06);
}
.method-step span{
  grid-area:n;
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  font-weight:950;
  font-size:20px;
}
.method-step strong{
  grid-area:t;
  color:#0d2b4f;
  font-size:16px;
  line-height:1.05;
}
.method-step small{
  grid-area:s;
  color:#647282;
  font-size:12.5px;
  line-height:1.2;
}
.method-cta-v31{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  margin-top:16px;
  padding:18px 20px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff7eb,#effff4);
  border:1px solid #f0e2c8;
  box-shadow:0 14px 34px rgba(13,43,79,.08);
}
.method-cta-v31 strong{
  display:block;
  color:#0d2b4f;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.method-cta-v31 p{
  margin:5px 0 0;
  color:#5c6b76;
  font-size:14.5px;
  line-height:1.3;
}
.method-cta-v31 .btn{
  flex:0 0 auto;
  white-space:nowrap;
  box-shadow:0 14px 30px rgba(72,183,101,.22);
}
@media(max-width:980px){
  .method-compare-v31{grid-template-columns:1fr}
  .method-steps-v31{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .method-compact-v31{padding:34px 0!important}
  .method-compact-v31 h2{font-size:30px!important}
  .method-compact-v31 .compact-head p{font-size:15px}
  .method-side{padding:17px}
  .method-side strong{font-size:20px}
  .method-side li{font-size:14px}
  .method-steps-v31{grid-template-columns:1fr;gap:8px}
  .method-step{min-height:auto}
  .method-cta-v31{display:grid;text-align:left}
  .method-cta-v31 .btn{width:100%}
}


/* V32: topbar HTML clicable, compacta en móvil */
.topbar-html{background:linear-gradient(90deg,#42b864,#0d9f69);color:#fff}
.topbar-html .topbar-in{height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:850;font-size:14px}
.topbar-html a{color:#fff;text-decoration:none;font-weight:900;margin-left:14px;white-space:nowrap}
@media(max-width:720px){
  .topbar-html .topbar-in{height:auto;min-height:34px;justify-content:center;padding:6px 12px}
  .topbar-html span{display:none}
  .topbar-html nav{display:flex;gap:8px}
  .topbar-html a{margin:0;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:6px 10px;font-size:13px}
}

/* V32: página metodología realmente compacta */
.page-body:has(.metodologia-page-v32){padding-top:26px!important}
.metodologia-page-v32{display:grid;gap:16px;max-width:1120px;margin:0 auto 20px}
.metodologia-page-v32 .metodo-intro-card{display:grid;grid-template-columns:1.45fr 260px;gap:18px;align-items:center;background:linear-gradient(135deg,#0d2b4f,#123d6b);border-radius:26px;padding:22px;color:#fff;box-shadow:0 20px 46px rgba(13,43,79,.16)}
.metodo-intro-card h2{font-size:clamp(28px,3vw,42px);line-height:1;margin:8px 0 8px;color:#fff}
.metodo-intro-card p{font-size:16px;line-height:1.38;color:#edf7ff;margin:0}
.metodo-label{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.metodo-intro-card figure{margin:0}
.metodo-intro-card img{width:260px;height:170px;object-fit:cover;border-radius:22px;display:block;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.metodo-compact-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:14px}
.metodo-box{border-radius:22px;padding:18px 20px;box-shadow:0 10px 24px rgba(13,43,79,.08)}
.metodo-box h3{margin:0 0 10px;color:#0d2b4f;font-size:22px}
.metodo-box ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.metodo-box li{position:relative;padding-left:26px;font-weight:800;color:#46566a;line-height:1.25;font-size:14.5px}
.metodo-box li:before{position:absolute;left:0;top:0;width:19px;height:19px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:950}
.metodo-box.normal{background:#fff;border:1px solid #e3ebef}
.metodo-box.normal li:before{content:"×";background:#fff1ee;color:#c94b2e}
.metodo-box.destacado{background:linear-gradient(135deg,#fff,#effff4);border:1px solid #d8f1df}
.metodo-box.destacado li:before{content:"✓";background:#48b765;color:#fff}
.metodo-pasos-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.metodo-pasos-mini div{background:#fff;border:1px solid #e2ece7;border-radius:18px;padding:12px;display:grid;grid-template-columns:36px 1fr;grid-template-areas:"n t" "n s";gap:0 9px;box-shadow:0 8px 18px rgba(13,43,79,.06)}
.metodo-pasos-mini b{grid-area:n;width:36px;height:36px;border-radius:13px;background:linear-gradient(135deg,#48b765,#0d9f69);color:#fff;display:grid;place-items:center;font-size:18px}
.metodo-pasos-mini strong{grid-area:t;color:#0d2b4f;font-size:15px;line-height:1.05}
.metodo-pasos-mini small{grid-area:s;color:#627181;font-size:12px;line-height:1.15}
.metodo-resultados-mini{background:#fff7eb;border:1px solid #ffe1b6;border-radius:22px;padding:16px}
.metodo-resultados-mini h3{margin:0 0 10px;color:#0d2b4f;font-size:22px}
.metodo-resultados-mini div{display:flex;flex-wrap:wrap;gap:8px}
.metodo-resultados-mini span{background:#fff;border:1px solid #f3d3a8;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:950;color:#0d2b4f}
.metodo-cta-final{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#effff4,#ffffff);border:1px solid #d8f1df;border-radius:24px;padding:18px 20px;box-shadow:0 12px 28px rgba(13,43,79,.08)}
.metodo-cta-final h3{margin:0 0 4px;color:#0d2b4f;font-size:24px}
.metodo-cta-final p{margin:0;color:#5d6b76;font-size:14.5px;line-height:1.3}
.metodo-cta-final .btn{white-space:nowrap}
@media(max-width:860px){
  .metodologia-page-v32 .metodo-intro-card{grid-template-columns:1fr;padding:18px}
  .metodo-intro-card img{width:100%;height:170px}
  .metodo-compact-grid{grid-template-columns:1fr}
  .metodo-pasos-mini{grid-template-columns:repeat(2,1fr)}
  .metodo-cta-final{display:grid}
}
@media(max-width:520px){
  .metodologia-page-v32{gap:10px}
  .metodo-intro-card h2{font-size:27px}
  .metodo-intro-card p{font-size:14.5px}
  .metodo-pasos-mini{grid-template-columns:1fr}
  .metodo-cta-final .btn{width:100%}
}


/* V33: páginas internas compactas y homogéneas */
.page-modern-v33{
  max-width:1120px;
  margin:0 auto 26px;
  display:grid;
  gap:14px;
}
.page-modern-v33 .modern-hero-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  border-radius:26px;
  padding:20px 22px;
  color:#fff;
  box-shadow:0 20px 46px rgba(13,43,79,.14);
  overflow:hidden;
}
.modern-hero-card.blue{
  background:
    radial-gradient(circle at 90% 10%,rgba(255,177,74,.28),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
}
.modern-hero-card.green{
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 28%),
    linear-gradient(135deg,#0d9f69,#48b765);
}
.modern-hero-card.orange{
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.20),transparent 28%),
    linear-gradient(135deg,#ff8a1c,#d96a06);
}
.modern-label{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.modern-hero-text h2{
  color:#fff!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  margin:9px 0 8px!important;
}
.modern-hero-text p{
  max-width:760px;
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.modern-hero-photo.small{
  margin:0;
}
.modern-hero-photo.small img{
  width:170px!important;
  height:118px!important;
  object-fit:cover!important;
  border-radius:21px!important;
  display:block;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.modern-mini-badges,
.modern-contact-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  max-width:360px;
}
.modern-mini-badges span,
.modern-contact-buttons a{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  padding:8px 11px;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}
.modern-contact-buttons a:first-child{
  background:#48b765;
  border-color:#48b765;
}
.modern-compare-grid{
  display:grid;
  grid-template-columns:1fr 1.08fr;
  gap:12px;
}
.modern-box{
  border-radius:22px;
  padding:17px 19px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.modern-box h3{
  margin:0 0 10px!important;
  color:#0d2b4f!important;
  font-size:21px!important;
  letter-spacing:-.02em;
}
.modern-box ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.modern-box li{
  position:relative;
  padding-left:26px;
  font-size:14.5px;
  line-height:1.25;
  font-weight:800;
  color:#46566a;
}
.modern-box li::before{
  position:absolute;
  left:0;
  top:0;
  width:19px;
  height:19px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.modern-box.normal{
  background:#fff;
  border:1px solid #e3ebef;
}
.modern-box.normal li::before{
  content:"×";
  background:#fff1ee;
  color:#c94b2e;
}
.modern-box.destacado{
  background:linear-gradient(135deg,#fff,#effff4);
  border:1px solid #d8f1df;
}
.modern-box.destacado li::before{
  content:"✓";
  background:#48b765;
  color:#fff;
}
.modern-mini-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.modern-mini-steps div{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:18px;
  padding:11px;
  display:grid;
  grid-template-columns:34px 1fr;
  grid-template-areas:"n t" "n s";
  gap:0 8px;
  box-shadow:0 8px 18px rgba(13,43,79,.055);
}
.modern-mini-steps b{
  grid-area:n;
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  font-size:17px;
}
.modern-mini-steps strong{
  grid-area:t;
  color:#0d2b4f;
  font-size:14.5px;
  line-height:1.05;
}
.modern-mini-steps small{
  grid-area:s;
  color:#627181;
  font-size:11.8px;
  line-height:1.15;
}
.modern-cta-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  border-radius:24px;
  padding:17px 20px;
  box-shadow:0 12px 28px rgba(13,43,79,.075);
}
.modern-cta-card h3{
  margin:0 0 4px!important;
  color:#0d2b4f!important;
  font-size:23px!important;
  letter-spacing:-.02em;
}
.modern-cta-card p{
  margin:0!important;
  color:#5d6b76!important;
  font-size:14.2px!important;
  line-height:1.3!important;
}
.modern-cta-card .btn{
  flex:0 0 auto;
  white-space:nowrap;
}
@media(max-width:860px){
  .page-modern-v33 .modern-hero-card{
    grid-template-columns:1fr;
    padding:18px;
  }
  .modern-hero-photo.small img{
    width:100%!important;
    height:128px!important;
  }
  .modern-mini-badges,
  .modern-contact-buttons{
    max-width:none;
    justify-content:flex-start;
  }
  .modern-compare-grid{
    grid-template-columns:1fr;
  }
  .modern-mini-steps{
    grid-template-columns:repeat(2,1fr);
  }
  .modern-cta-card{
    display:grid;
  }
}
@media(max-width:520px){
  .page-modern-v33{
    gap:10px;
  }
  .modern-hero-text h2{
    font-size:26px!important;
  }
  .modern-hero-text p{
    font-size:14px!important;
  }
  .modern-mini-steps{
    grid-template-columns:1fr;
  }
  .modern-cta-card .btn{
    width:100%;
  }
}


/* V34: información directa, visual y contacto doble */
.page-visual-v34{
  max-width:1120px;
  margin:0 auto 22px;
  display:grid;
  gap:12px;
}
.visual-first-screen{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:14px;
  align-items:stretch;
}
.visual-title-block{
  background:
    radial-gradient(circle at 92% 12%,rgba(255,177,74,.30),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  border-radius:26px;
  padding:22px;
  color:#fff;
  box-shadow:0 18px 42px rgba(13,43,79,.14);
}
.visual-label{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.visual-title-block h2{
  color:#fff!important;
  font-size:clamp(28px,3.1vw,42px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:10px 0 8px!important;
}
.visual-title-block p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.visual-score-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.visual-score-grid article{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.visual-score-grid b{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  font-size:18px;
  margin-bottom:9px;
}
.visual-score-grid strong{
  display:block;
  color:#0d2b4f;
  font-size:16px;
  line-height:1.05;
}
.visual-score-grid small{
  display:block;
  margin-top:4px;
  color:#657382;
  font-size:12.5px;
  line-height:1.18;
}
.visual-difference{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.difference-card{
  border-radius:22px;
  padding:17px 19px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.difference-card h3{
  margin:0 0 10px!important;
  color:#0d2b4f!important;
  font-size:21px!important;
}
.difference-card div{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:8px;
  align-items:start;
  margin:8px 0;
  color:#46566a;
  font-weight:800;
  font-size:14.5px;
  line-height:1.25;
}
.difference-card span{
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.difference-card.weak{
  background:#fff;
  border:1px solid #e3ebef;
}
.difference-card.weak span{
  background:#fff1ee;
  color:#c94b2e;
}
.difference-card.strong{
  background:linear-gradient(135deg,#fff,#effff4);
  border:1px solid #d8f1df;
}
.difference-card.strong span{
  background:#48b765;
  color:#fff;
}
.visual-metrics,
.contact-info-grid-v34{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.visual-metrics div,
.contact-info-grid-v34 article{
  background:#fff7eb;
  border:1px solid #ffe1b6;
  border-radius:18px;
  padding:12px;
}
.visual-metrics strong,
.contact-info-grid-v34 strong{
  display:block;
  color:#0d2b4f;
  font-size:15px;
}
.visual-metrics small,
.contact-info-grid-v34 small{
  color:#657382;
  font-size:12px;
}
.contact-info-grid-v34 b{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:11px;
  color:#fff;
  background:#48b765;
  margin-bottom:6px;
}
.visual-contact-panel,
.contact-first-v34{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 12px 28px rgba(13,43,79,.075);
}
.visual-contact-panel h3,
.contact-first-v34 h2{
  margin:0 0 5px!important;
  color:#0d2b4f!important;
  font-size:clamp(24px,2.6vw,34px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.visual-contact-panel p,
.contact-first-v34 p{
  margin:0!important;
  color:#5d6b76!important;
  font-size:14.5px!important;
  line-height:1.3!important;
}
.contact-first-v34{
  grid-template-columns:1.05fr .95fr;
  background:
    radial-gradient(circle at 90% 10%,rgba(72,183,101,.16),transparent 32%),
    linear-gradient(135deg,#ffffff,#effff4);
}
.contact-first-v34 .visual-label{
  color:#15733b;
  background:#effff4;
  border-color:#d8f1df;
}
.dual-contact-v34{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  min-width:330px;
}
.dual-contact-v34 a{
  display:grid;
  gap:2px;
  border-radius:18px;
  padding:13px 15px;
  text-decoration:none;
  color:#fff;
  box-shadow:0 10px 22px rgba(13,43,79,.10);
}
.dual-contact-v34 span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:950;
  opacity:.88;
}
.dual-contact-v34 strong{
  font-size:15px;
  line-height:1.05;
}
.dual-whatsapp{
  background:linear-gradient(135deg,#25d366,#0d9f69);
}
.dual-email{
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
}
.community-grid-v34{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.community-card-v34{
  display:grid;
  gap:5px;
  padding:13px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e2ece7;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(13,43,79,.06);
  transition:.16s ease;
}
.community-card-v34:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(13,43,79,.10);
}
.community-card-v34 span{
  width:34px;
  height:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  font-size:13px;
  font-weight:950;
}
.community-card-v34 strong{
  color:#0d2b4f;
  font-size:14.5px;
  line-height:1.08;
}
.community-card-v34 small{
  color:#15733b;
  font-weight:900;
  font-size:12px;
}
.news-grid-v34{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:14px 0 26px;
}
.news-card-v34{
  overflow:hidden;
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:22px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.news-card-v34 img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}
.news-card-v34 div{
  padding:14px;
}
.news-card-v34 span{
  color:#15733b;
  font-size:12px;
  font-weight:950;
}
.news-card-v34 h3{
  margin:6px 0!important;
  font-size:17px!important;
  line-height:1.08!important;
}
.news-card-v34 h3 a{
  color:#0d2b4f;
  text-decoration:none;
}
.news-card-v34 p{
  margin:0 0 10px!important;
  color:#647282!important;
  font-size:13px!important;
  line-height:1.28!important;
}
.mini-read-v34{
  color:#0d9f69;
  font-weight:950;
  text-decoration:none;
  font-size:13px;
}
@media(max-width:980px){
  .visual-first-screen,
  .visual-difference,
  .visual-contact-panel,
  .contact-first-v34{
    grid-template-columns:1fr;
  }
  .dual-contact-v34{
    min-width:0;
  }
  .community-grid-v34{
    grid-template-columns:repeat(3,1fr);
  }
  .news-grid-v34{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .page-visual-v34{
    gap:9px;
  }
  .visual-score-grid,
  .visual-metrics,
  .contact-info-grid-v34{
    grid-template-columns:repeat(2,1fr);
  }
  .community-grid-v34{
    grid-template-columns:repeat(2,1fr);
  }
  .news-grid-v34{
    grid-template-columns:1fr;
  }
  .dual-contact-v34{
    grid-template-columns:1fr;
  }
  .visual-title-block,
  .visual-contact-panel,
  .contact-first-v34{
    padding:16px;
  }
  .visual-title-block h2,
  .contact-first-v34 h2{
    font-size:26px!important;
  }
}


/* V35 FIX REAL: page.php ya no impone hero/foto antigua a páginas modernas */
.section-modern-page-v35{
  padding:24px 0 36px!important;
}
.modern-body-v35{
  margin:0!important;
}
.modern-body-v35 > *:first-child{
  margin-top:0!important;
}

/* V35: sistema visual compacto definitivo */
.page-visual-v35{
  max-width:1120px;
  margin:0 auto 18px;
  display:grid;
  gap:12px;
}
.visual-first-screen-v35{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:14px;
  align-items:stretch;
}
.visual-title-block-v35{
  background:
    radial-gradient(circle at 92% 12%,rgba(255,177,74,.30),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  border-radius:26px;
  padding:22px;
  color:#fff;
  box-shadow:0 18px 42px rgba(13,43,79,.14);
}
.visual-label-v35{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.visual-title-block-v35 h2{
  color:#fff!important;
  font-size:clamp(28px,3.1vw,42px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:10px 0 8px!important;
}
.visual-title-block-v35 p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.visual-score-grid-v35{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.visual-score-grid-v35 article{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.visual-score-grid-v35 b{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  font-size:18px;
  margin-bottom:9px;
}
.visual-score-grid-v35 strong{
  display:block;
  color:#0d2b4f;
  font-size:16px;
  line-height:1.05;
}
.visual-score-grid-v35 small{
  display:block;
  margin-top:4px;
  color:#657382;
  font-size:12.5px;
  line-height:1.18;
}
.visual-difference-v35{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.difference-card-v35{
  border-radius:22px;
  padding:17px 19px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.difference-card-v35 h3{
  margin:0 0 10px!important;
  color:#0d2b4f!important;
  font-size:21px!important;
}
.difference-card-v35 div{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:8px;
  align-items:start;
  margin:8px 0;
  color:#46566a;
  font-weight:800;
  font-size:14.5px;
  line-height:1.25;
}
.difference-card-v35 span{
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.difference-card-v35.weak{
  background:#fff;
  border:1px solid #e3ebef;
}
.difference-card-v35.weak span{
  background:#fff1ee;
  color:#c94b2e;
}
.difference-card-v35.strong{
  background:linear-gradient(135deg,#fff,#effff4);
  border:1px solid #d8f1df;
}
.difference-card-v35.strong span{
  background:#48b765;
  color:#fff;
}
.visual-metrics-v35,
.contact-info-grid-v35{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.visual-metrics-v35 div,
.contact-info-grid-v35 article{
  background:#fff7eb;
  border:1px solid #ffe1b6;
  border-radius:18px;
  padding:12px;
}
.visual-metrics-v35 strong,
.contact-info-grid-v35 strong{
  display:block;
  color:#0d2b4f;
  font-size:15px;
}
.visual-metrics-v35 small,
.contact-info-grid-v35 small{
  color:#657382;
  font-size:12px;
}
.contact-info-grid-v35 b{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:11px;
  color:#fff;
  background:#48b765;
  margin-bottom:6px;
}
.visual-contact-panel-v35,
.contact-first-v35{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 12px 28px rgba(13,43,79,.075);
}
.visual-contact-panel-v35 h3,
.contact-first-v35 h2{
  margin:0 0 5px!important;
  color:#0d2b4f!important;
  font-size:clamp(24px,2.6vw,34px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.visual-contact-panel-v35 p,
.contact-first-v35 p{
  margin:0!important;
  color:#5d6b76!important;
  font-size:14.5px!important;
  line-height:1.3!important;
}
.contact-first-v35{
  grid-template-columns:1.05fr .95fr;
}
.contact-first-v35 .visual-label-v35{
  color:#15733b;
  background:#effff4;
  border-color:#d8f1df;
}
.dual-contact-v35{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  min-width:330px;
}
.dual-contact-v35 a{
  display:grid;
  gap:2px;
  border-radius:18px;
  padding:13px 15px;
  text-decoration:none;
  color:#fff;
  box-shadow:0 10px 22px rgba(13,43,79,.10);
}
.dual-contact-v35 span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:950;
  opacity:.88;
}
.dual-contact-v35 strong{
  font-size:15px;
  line-height:1.05;
}
.dual-whatsapp{
  background:linear-gradient(135deg,#25d366,#0d9f69);
}
.dual-email{
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
}
.community-grid-v35{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:12px 0;
}
.community-card-v35{
  display:grid;
  gap:5px;
  padding:13px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e2ece7;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(13,43,79,.06);
  transition:.16s ease;
}
.community-card-v35:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(13,43,79,.10);
}
.community-card-v35 span{
  width:34px;
  height:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  font-size:13px;
  font-weight:950;
}
.community-card-v35 strong{
  color:#0d2b4f;
  font-size:14.5px;
  line-height:1.08;
}
.community-card-v35 small{
  color:#15733b;
  font-weight:900;
  font-size:12px;
}
.news-grid-v35{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:14px 0 26px;
}
.news-card-v35{
  overflow:hidden;
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:22px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.news-card-v35 img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}
.news-card-v35 div{
  padding:14px;
}
.news-card-v35 span{
  color:#15733b;
  font-size:12px;
  font-weight:950;
}
.news-card-v35 h3{
  margin:6px 0!important;
  font-size:17px!important;
  line-height:1.08!important;
}
.news-card-v35 h3 a{
  color:#0d2b4f;
  text-decoration:none;
}
.news-card-v35 p{
  margin:0 0 10px!important;
  color:#647282!important;
  font-size:13px!important;
  line-height:1.28!important;
}
.mini-read-v35{
  color:#0d9f69;
  font-weight:950;
  text-decoration:none;
  font-size:13px;
}
@media(max-width:980px){
  .visual-first-screen-v35,
  .visual-difference-v35,
  .visual-contact-panel-v35,
  .contact-first-v35{
    grid-template-columns:1fr;
  }
  .dual-contact-v35{
    min-width:0;
  }
  .community-grid-v35{
    grid-template-columns:repeat(3,1fr);
  }
  .news-grid-v35{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .page-visual-v35{
    gap:9px;
  }
  .visual-score-grid-v35,
  .visual-metrics-v35,
  .contact-info-grid-v35{
    grid-template-columns:repeat(2,1fr);
  }
  .community-grid-v35{
    grid-template-columns:repeat(2,1fr);
  }
  .news-grid-v35{
    grid-template-columns:1fr;
  }
  .dual-contact-v35{
    grid-template-columns:1fr;
  }
  .visual-title-block-v35,
  .visual-contact-panel-v35,
  .contact-first-v35{
    padding:16px;
  }
  .visual-title-block-v35 h2,
  .contact-first-v35 h2{
    font-size:26px!important;
  }
}


/* V36: centrado visual y banderas por comunidad */
.section-center-v36{padding-top:24px!important;}
.centered-container-v36{max-width:1220px!important;margin-left:auto!important;margin-right:auto!important;}
.section-center-v36 .page-visual-v35,
.section-center-v36 .visual-contact-panel-v35,
.section-center-v36 .community-grid-v36,
.section-center-v36 .news-grid-v35{margin-left:auto!important;margin-right:auto!important;}
.section-center-v36 .page-visual-v35{max-width:1080px!important;}
.visual-first-screen-v35{justify-content:center!important;}
.visual-title-block-v35{min-height:0!important;}
.community-grid-v36{
  max-width:1160px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px auto 14px!important;
}
.community-card-v36{
  display:grid;
  grid-template-columns:74px 1fr;
  align-items:center;
  gap:12px;
  min-height:104px;
  padding:13px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e2ece7;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(13,43,79,.065);
  transition:.16s ease;
}
.community-card-v36:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(13,43,79,.12);
  border-color:#bfe9cb;
}
.community-card-v36 img{
  width:74px;
  height:52px;
  object-fit:cover;
  border-radius:16px;
  display:block;
  box-shadow:0 8px 18px rgba(13,43,79,.10);
}
.community-card-v36 strong{
  display:block;
  color:#0d2b4f;
  font-size:15px;
  line-height:1.12;
  letter-spacing:-.01em;
}
.community-card-v36 small{
  display:inline-flex;
  margin-top:7px;
  color:#15733b;
  font-weight:950;
  font-size:12.5px;
}
.visual-contact-center-v36{max-width:1080px!important;}
.title-with-flag-v36{position:relative;padding-left:112px!important;}
.course-flag-v36{
  position:absolute;
  left:22px;
  top:22px;
  width:72px;
  height:50px;
  object-fit:cover;
  border-radius:15px;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
  background:#fff;
}
@media(max-width:1120px){.community-grid-v36{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:820px){.community-grid-v36{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){
  .centered-container-v36{max-width:100%!important;}
  .community-grid-v36{grid-template-columns:1fr;gap:9px;}
  .community-card-v36{min-height:86px;grid-template-columns:64px 1fr;}
  .community-card-v36 img{width:64px;height:46px;}
  .title-with-flag-v36{padding-left:16px!important;padding-top:84px!important;}
  .course-flag-v36{left:16px;top:16px;}
}


/* V37: Cursos por comunidad englobado en una sola burbuja azul */
.cursos-bubble-v37{
  max-width:1160px!important;
}
.courses-main-bubble-v37{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:18px;
  align-items:stretch;
  width:100%;
  margin:0 auto 18px!important;
  padding:24px;
  border-radius:32px;
  background:
    radial-gradient(circle at 94% 12%,rgba(255,177,74,.28),transparent 28%),
    radial-gradient(circle at 20% 110%,rgba(72,183,101,.18),transparent 34%),
    linear-gradient(135deg,#0d2b4f,#123d6b 58%,#0d2b4f);
  box-shadow:0 24px 60px rgba(13,43,79,.18);
  color:#fff;
  overflow:hidden;
}
.courses-main-copy-v37{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:230px;
}
.courses-main-copy-v37 .visual-label-v35{
  align-self:flex-start;
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
}
.courses-main-copy-v37 h2{
  color:#fff!important;
  font-size:clamp(34px,3.5vw,54px)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  margin:13px 0 10px!important;
}
.courses-main-copy-v37 p{
  max-width:720px;
  margin:0!important;
  color:#edf7ff!important;
  font-size:16px!important;
  line-height:1.38!important;
}
.courses-mini-grid-v37{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.courses-mini-grid-v37 article{
  min-height:108px;
  padding:15px;
  border-radius:23px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 14px 32px rgba(0,0,0,.10);
  backdrop-filter:blur(10px);
}
.courses-mini-grid-v37 b{
  width:40px;
  height:40px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  font-size:18px;
  margin-bottom:9px;
  box-shadow:0 10px 22px rgba(72,183,101,.22);
}
.courses-mini-grid-v37 strong{
  display:block;
  color:#0d2b4f;
  font-size:17px;
  line-height:1.05;
}
.courses-mini-grid-v37 small{
  display:block;
  margin-top:4px;
  color:#5d6b78;
  font-size:12.8px;
  line-height:1.18;
}
@media(max-width:980px){
  .courses-main-bubble-v37{
    grid-template-columns:1fr;
    padding:20px;
  }
  .courses-main-copy-v37{
    min-height:auto;
  }
}
@media(max-width:620px){
  .courses-main-bubble-v37{
    border-radius:24px;
    padding:16px;
    gap:12px;
  }
  .courses-main-copy-v37 h2{
    font-size:30px!important;
  }
  .courses-main-copy-v37 p{
    font-size:14px!important;
  }
  .courses-mini-grid-v37{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .courses-mini-grid-v37 article{
    min-height:92px;
    padding:11px;
    border-radius:18px;
  }
  .courses-mini-grid-v37 b{
    width:32px;
    height:32px;
    border-radius:12px;
    font-size:15px;
    margin-bottom:7px;
  }
  .courses-mini-grid-v37 strong{
    font-size:14px;
  }
  .courses-mini-grid-v37 small{
    font-size:11.2px;
  }
}


/* V38: interiores de cursos y noticias modernos, compactos y SEO-friendly visual */
.course-detail-v38{
  max-width:1080px!important;
}
.course-hero-v38{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:18px;
  align-items:center;
  padding:22px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,177,74,.26),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  box-shadow:0 22px 54px rgba(13,43,79,.16);
}
.course-flag-v38{
  width:96px;
  height:68px;
  border-radius:18px;
  object-fit:cover;
  background:#fff;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.course-hero-v38 h2{
  color:#fff!important;
  font-size:clamp(30px,3.3vw,48px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:9px 0 7px!important;
}
.course-hero-v38 p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.course-value-grid-v38{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:12px 0;
}
.course-value-grid-v38 article{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:20px;
  padding:13px;
  box-shadow:0 8px 20px rgba(13,43,79,.06);
}
.course-value-grid-v38 b{
  width:36px;
  height:36px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  margin-bottom:8px;
}
.course-value-grid-v38 strong{
  display:block;
  color:#0d2b4f;
  font-size:15px;
  line-height:1.06;
}
.course-value-grid-v38 small{
  display:block;
  color:#657382;
  font-size:12px;
  line-height:1.15;
  margin-top:4px;
}
.course-info-v38{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.course-info-v38 article{
  border-radius:22px;
  padding:18px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.course-info-v38 h3{
  margin:0 0 10px!important;
  color:#0d2b4f!important;
  font-size:22px!important;
}
.course-info-v38 div{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:8px;
  margin:8px 0;
  color:#46566a;
  font-weight:800;
  line-height:1.25;
  font-size:14.5px;
}
.course-info-v38 span{
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.course-info-v38 .strong{
  background:linear-gradient(135deg,#fff,#effff4);
  border:1px solid #d8f1df;
}
.course-info-v38 .strong span{
  background:#48b765;
  color:#fff;
}
.course-info-v38 .soft{
  background:#fff;
  border:1px solid #e3ebef;
}
.course-info-v38 .soft span{
  background:#eff4f8;
  color:#0d2b4f;
}
.contact-v38{
  margin-top:12px!important;
}
.news-detail-v38{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.news-detail-head-v38{
  display:grid;
  grid-template-columns:1fr 230px;
  gap:18px;
  align-items:center;
  padding:22px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 12%,rgba(255,177,74,.28),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  box-shadow:0 22px 54px rgba(13,43,79,.16);
}
.news-detail-head-v38 h1{
  color:#fff!important;
  font-size:clamp(30px,3.3vw,48px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:10px 0 8px!important;
}
.news-detail-head-v38 p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.news-detail-head-v38 small{
  display:inline-flex;
  margin-top:10px;
  color:#fff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:6px 10px;
  font-weight:850;
}
.news-detail-head-v38 figure{
  margin:0;
}
.news-detail-head-v38 img{
  width:230px;
  height:145px;
  object-fit:cover;
  border-radius:22px;
  display:block;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.news-detail-grid-v38{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
}
.news-content-card-v38{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:24px;
  padding:24px;
  box-shadow:0 10px 24px rgba(13,43,79,.06);
}
.news-content-card-v38 p{
  color:#32445a;
  font-size:16px;
  line-height:1.58;
}
.news-content-card-v38 h2,
.news-content-card-v38 h3{
  color:#0d2b4f!important;
  letter-spacing:-.025em;
}
.news-content-card-v38 ul{
  display:grid;
  gap:8px;
  padding-left:0;
  list-style:none;
}
.news-content-card-v38 li{
  position:relative;
  padding-left:28px;
  color:#32445a;
  line-height:1.45;
}
.news-content-card-v38 li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#48b765;
  color:#fff;
  font-size:12px;
  font-weight:950;
}
.news-side-card-v38{
  align-self:start;
  position:sticky;
  top:130px;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  border-radius:24px;
  padding:18px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.news-side-card-v38 h3{
  margin:0 0 8px!important;
  color:#0d2b4f!important;
  font-size:22px!important;
}
.news-side-card-v38 p{
  margin:0 0 12px!important;
  color:#5d6b76!important;
  font-size:14px!important;
  line-height:1.3!important;
}
.dual-contact-v38{
  min-width:0!important;
}
.page-image-small-v38{
  width:min(100%,360px)!important;
  max-height:220px!important;
  object-fit:cover!important;
  border-radius:22px!important;
  margin:0 0 18px!important;
  box-shadow:0 10px 24px rgba(13,43,79,.08);
}
@media(max-width:900px){
  .course-value-grid-v38{
    grid-template-columns:repeat(2,1fr);
  }
  .course-info-v38,
  .news-detail-head-v38,
  .news-detail-grid-v38{
    grid-template-columns:1fr;
  }
  .news-detail-head-v38 img{
    width:100%;
    height:170px;
  }
  .news-side-card-v38{
    position:static;
  }
}
@media(max-width:560px){
  .course-hero-v38{
    grid-template-columns:1fr;
    padding:18px;
  }
  .course-flag-v38{
    width:88px;
    height:62px;
  }
  .course-value-grid-v38{
    grid-template-columns:1fr;
  }
  .news-detail-head-v38,
  .news-content-card-v38{
    padding:18px;
  }
}


/* V39: cursos interiores con el mismo formato que noticias */
.course-detail-news-style-v39{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.course-detail-head-v39{
  display:grid;
  grid-template-columns:1fr 210px;
  gap:18px;
  align-items:center;
  padding:22px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 12%,rgba(255,177,74,.28),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  box-shadow:0 22px 54px rgba(13,43,79,.16);
}
.course-detail-head-v39 h1{
  color:#fff!important;
  font-size:clamp(30px,3.3vw,48px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:10px 0 8px!important;
}
.course-detail-head-v39 p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
}
.course-flag-figure-v39{
  margin:0;
}
.course-flag-figure-v39 img{
  width:210px;
  height:145px;
  object-fit:cover;
  border-radius:22px;
  display:block;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.course-detail-grid-v39{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
}
.course-content-card-v39{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:24px;
  padding:24px;
  box-shadow:0 10px 24px rgba(13,43,79,.06);
}
.course-value-grid-v39{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:0 0 16px;
}
.course-value-grid-v39 article{
  background:#f8fcf7;
  border:1px solid #e2ece7;
  border-radius:20px;
  padding:13px;
}
.course-value-grid-v39 b{
  width:36px;
  height:36px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  margin-bottom:8px;
}
.course-value-grid-v39 strong{
  display:block;
  color:#0d2b4f;
  font-size:15px;
  line-height:1.06;
}
.course-value-grid-v39 small{
  display:block;
  color:#657382;
  font-size:12px;
  line-height:1.15;
  margin-top:4px;
}
.course-info-news-style-v39{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.course-info-news-style-v39 article{
  border-radius:22px;
  padding:18px;
  background:linear-gradient(135deg,#fff,#effff4);
  border:1px solid #d8f1df;
}
.course-info-news-style-v39 article:nth-child(2){
  background:#fff;
  border-color:#e3ebef;
}
.course-info-news-style-v39 h2{
  margin:0 0 10px!important;
  color:#0d2b4f!important;
  font-size:22px!important;
  letter-spacing:-.025em;
}
.course-info-news-style-v39 ul{
  display:grid;
  gap:8px;
  padding:0;
  margin:0;
  list-style:none;
}
.course-info-news-style-v39 li{
  position:relative;
  padding-left:28px;
  color:#32445a;
  line-height:1.42;
  font-weight:800;
}
.course-info-news-style-v39 li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#48b765;
  color:#fff;
  font-size:12px;
  font-weight:950;
}
.course-info-news-style-v39 article:nth-child(2) li::before{
  content:"•";
  background:#eff4f8;
  color:#0d2b4f;
}
.course-side-card-v39{
  align-self:start;
  position:sticky;
  top:130px;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  border-radius:24px;
  padding:18px;
  box-shadow:0 10px 24px rgba(13,43,79,.07);
}
.course-side-card-v39 h3{
  margin:0 0 8px!important;
  color:#0d2b4f!important;
  font-size:22px!important;
}
.course-side-card-v39 p{
  margin:0 0 12px!important;
  color:#5d6b76!important;
  font-size:14px!important;
  line-height:1.3!important;
}
.course-mini-points-v39{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:13px;
}
.course-mini-points-v39 span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #d8f1df;
  color:#15733b;
  font-size:12px;
  font-weight:950;
}
@media(max-width:900px){
  .course-detail-head-v39,
  .course-detail-grid-v39{
    grid-template-columns:1fr;
  }
  .course-flag-figure-v39 img{
    width:100%;
    height:150px;
  }
  .course-side-card-v39{
    position:static;
  }
  .course-value-grid-v39{
    grid-template-columns:repeat(2,1fr);
  }
  .course-info-news-style-v39{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .course-detail-head-v39,
  .course-content-card-v39{
    padding:18px;
  }
  .course-value-grid-v39{
    grid-template-columns:1fr;
  }
}


/* V40: ficha de curso comercial real, más visual, menos texto */
.course-sales-section-v40{
  padding-top:24px!important;
}
.course-sales-v40{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.course-sales-hero-v40{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:20px;
  align-items:center;
  padding:24px;
  border-radius:32px;
  color:#fff;
  background:
    radial-gradient(circle at 94% 10%,rgba(255,177,74,.30),transparent 28%),
    radial-gradient(circle at 12% 120%,rgba(72,183,101,.20),transparent 34%),
    linear-gradient(135deg,#0d2b4f,#123d6b 58%,#0d2b4f);
  box-shadow:0 24px 60px rgba(13,43,79,.18);
}
.course-sales-title-v40{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  align-items:center;
}
.course-sales-flag-v40{
  width:92px;
  height:64px;
  border-radius:18px;
  object-fit:cover;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.course-sales-title-v40 h1{
  color:#fff!important;
  font-size:clamp(32px,3.4vw,52px)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  margin:10px 0 8px!important;
}
.course-sales-title-v40 p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
  max-width:720px;
}
.course-sales-actions-v40{
  display:grid;
  gap:10px;
}
.course-sales-actions-v40 a{
  display:grid;
  gap:3px;
  padding:16px 18px;
  border-radius:22px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}
.course-sales-actions-v40 span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:950;
  opacity:.88;
}
.course-sales-actions-v40 strong{
  font-size:18px;
  line-height:1.05;
}
.action-wa-v40{background:linear-gradient(135deg,#25d366,#0d9f69);}
.action-mail-v40{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);}
.course-buy-grid-v40{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.course-buy-grid-v40 article{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 24px rgba(13,43,79,.065);
}
.course-buy-grid-v40 b{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  margin-bottom:9px;
}
.course-buy-grid-v40 strong{
  display:block;
  color:#0d2b4f;
  font-size:15.5px;
  line-height:1.05;
}
.course-buy-grid-v40 small{
  display:block;
  margin-top:4px;
  color:#657382;
  font-size:12.2px;
  line-height:1.15;
}
.course-sales-body-v40{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:14px;
}
.course-path-v40,
.course-aside-v40{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:26px;
  padding:22px;
  box-shadow:0 10px 24px rgba(13,43,79,.065);
}
.course-path-v40 h2,
.course-aside-v40 h2{
  margin:0 0 14px!important;
  color:#0d2b4f!important;
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.035em;
}
.path-row-v40{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid #edf3f2;
}
.path-row-v40:first-of-type{
  border-top:0;
}
.path-row-v40 span{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  font-size:20px;
  font-weight:950;
}
.path-row-v40 strong{
  display:block;
  color:#0d2b4f;
  font-size:17px;
  line-height:1.08;
}
.path-row-v40 small{
  display:block;
  color:#637180;
  margin-top:4px;
  font-size:13px;
  line-height:1.25;
}
.course-aside-v40{
  background:linear-gradient(135deg,#fff7eb,#fff);
  border-color:#ffe1b6;
}
.course-aside-v40 ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.course-aside-v40 li{
  position:relative;
  padding-left:30px;
  color:#32445a;
  line-height:1.35;
  font-weight:800;
}
.course-aside-v40 li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:21px;
  height:21px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#48b765;
  font-size:12px;
  font-weight:950;
}
.course-final-cta-v40{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border-radius:28px;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  box-shadow:0 14px 32px rgba(13,43,79,.075);
}
.course-final-cta-v40 h2{
  margin:0 0 5px!important;
  color:#0d2b4f!important;
  font-size:26px!important;
  line-height:1!important;
  letter-spacing:-.035em;
}
.course-final-cta-v40 p{
  margin:0!important;
  color:#5d6b76!important;
  font-size:14.5px!important;
  line-height:1.3!important;
}
.community-card-v40 strong{
  display:flex!important;
  align-items:center;
  gap:8px;
}
.inline-flag-v40{
  width:28px!important;
  height:20px!important;
  border-radius:6px!important;
  object-fit:cover!important;
  box-shadow:0 3px 7px rgba(13,43,79,.10)!important;
  flex:0 0 auto;
}
@media(max-width:980px){
  .course-sales-hero-v40,
  .course-sales-body-v40,
  .course-final-cta-v40{
    grid-template-columns:1fr;
  }
  .course-sales-actions-v40{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .course-sales-title-v40{
    grid-template-columns:1fr;
  }
  .course-sales-actions-v40,
  .course-buy-grid-v40{
    grid-template-columns:1fr;
  }
  .course-sales-hero-v40,
  .course-path-v40,
  .course-aside-v40,
  .course-final-cta-v40{
    padding:18px;
  }
}
@media(max-width:560px){
  .course-sales-title-v40 h1{
    font-size:30px!important;
  }
}


/* V41: cursos reales en page.php + formulario email preparado */
.courses-index-v41{
  max-width:1160px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px auto;
}
.course-index-card-v41{
  display:grid;
  gap:10px;
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:24px;
  padding:13px;
  box-shadow:0 10px 24px rgba(13,43,79,.065);
}
.course-index-main-v41{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  align-items:center;
  text-decoration:none;
}
.course-index-main-v41 img{
  width:72px;
  height:50px;
  object-fit:cover;
  border-radius:15px;
  box-shadow:0 8px 18px rgba(13,43,79,.10);
}
.course-index-main-v41 strong{
  display:block;
  color:#0d2b4f;
  font-size:16px;
  line-height:1.12;
}
.course-index-main-v41 small{
  display:block;
  margin-top:5px;
  color:#5e6d7a;
  font-size:12.5px;
  font-weight:850;
}
.course-index-actions-v41{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.course-index-actions-v41 a,
.course-index-actions-v41 button{
  border:0;
  border-radius:999px;
  padding:10px 12px;
  font-weight:950;
  font-size:13px;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
}
.mini-wa-v41{
  color:#fff;
  background:linear-gradient(135deg,#25d366,#0d9f69);
}
.mini-mail-v41{
  color:#fff;
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
}
.course-sales-section-v41{
  padding-top:24px!important;
}
.course-sales-v41{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.course-sales-hero-v41{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:20px;
  align-items:center;
  padding:24px;
  border-radius:32px;
  color:#fff;
  background:
    radial-gradient(circle at 94% 10%,rgba(255,177,74,.30),transparent 28%),
    radial-gradient(circle at 12% 120%,rgba(72,183,101,.20),transparent 34%),
    linear-gradient(135deg,#0d2b4f,#123d6b 58%,#0d2b4f);
  box-shadow:0 24px 60px rgba(13,43,79,.18);
}
.course-sales-title-v41{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  align-items:center;
}
.course-sales-flag-v41{
  width:92px;
  height:64px;
  border-radius:18px;
  object-fit:cover;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.course-sales-title-v41 h1{
  color:#fff!important;
  font-size:clamp(32px,3.4vw,52px)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  margin:10px 0 8px!important;
}
.course-sales-title-v41 p{
  margin:0!important;
  color:#edf7ff!important;
  font-size:15.5px!important;
  line-height:1.36!important;
  max-width:720px;
}
.course-sales-actions-v41{
  display:grid;
  gap:10px;
}
.course-sales-actions-v41 a,
.course-sales-actions-v41 button{
  display:grid;
  gap:3px;
  padding:16px 18px;
  border-radius:22px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 14px 30px rgba(0,0,0,.14);
  border:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.course-sales-actions-v41 span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:950;
  opacity:.88;
}
.course-sales-actions-v41 strong{
  font-size:18px;
  line-height:1.05;
}
.action-wa-v41{background:linear-gradient(135deg,#25d366,#0d9f69);}
.action-mail-v41{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)!important;}
.course-buy-grid-v41{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.course-buy-grid-v41 article{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 24px rgba(13,43,79,.065);
}
.course-buy-grid-v41 b{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  color:#fff;
  margin-bottom:9px;
}
.course-buy-grid-v41 strong{
  display:block;
  color:#0d2b4f;
  font-size:15.5px;
  line-height:1.05;
}
.course-buy-grid-v41 small{
  display:block;
  margin-top:4px;
  color:#657382;
  font-size:12.2px;
  line-height:1.15;
}
.course-sales-body-v41{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:14px;
}
.course-path-v41,
.course-aside-v41{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:26px;
  padding:22px;
  box-shadow:0 10px 24px rgba(13,43,79,.065);
}
.course-path-v41 h2,
.course-aside-v41 h2{
  margin:0 0 14px!important;
  color:#0d2b4f!important;
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.035em;
}
.path-row-v41{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid #edf3f2;
}
.path-row-v41:first-of-type{
  border-top:0;
}
.path-row-v41 span{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  font-size:20px;
  font-weight:950;
}
.path-row-v41 strong{
  display:block;
  color:#0d2b4f;
  font-size:17px;
  line-height:1.08;
}
.path-row-v41 small{
  display:block;
  color:#637180;
  margin-top:4px;
  font-size:13px;
  line-height:1.25;
}
.course-aside-v41{
  background:linear-gradient(135deg,#fff7eb,#fff);
  border-color:#ffe1b6;
}
.course-aside-v41 ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.course-aside-v41 li{
  position:relative;
  padding-left:30px;
  color:#32445a;
  line-height:1.35;
  font-weight:800;
}
.course-aside-v41 li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:21px;
  height:21px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#48b765;
  font-size:12px;
  font-weight:950;
}
.course-final-cta-v41{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border-radius:28px;
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  box-shadow:0 14px 32px rgba(13,43,79,.075);
}
.course-final-cta-v41 h2{
  margin:0 0 5px!important;
  color:#0d2b4f!important;
  font-size:26px!important;
  line-height:1!important;
  letter-spacing:-.035em;
}
.course-final-cta-v41 p{
  margin:0!important;
  color:#5d6b76!important;
  font-size:14.5px!important;
  line-height:1.3!important;
}
.course-final-actions-v41{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  min-width:330px;
}
.button-reset-v41{
  border:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.info-modal-v41{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  place-items:center;
  background:rgba(13,43,79,.58);
  padding:18px;
}
.info-modal-v41[aria-hidden="false"]{
  display:grid;
}
.info-modal-card-v41{
  position:relative;
  width:min(640px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:30px;
  padding:26px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.info-modal-close-v41{
  position:absolute;
  right:18px;
  top:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#eff4f8;
  color:#0d2b4f;
  font-size:24px;
  cursor:pointer;
}
.info-modal-card-v41 > span{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#effff4;
  color:#15733b;
  border:1px solid #d8f1df;
  font-weight:950;
  font-size:12px;
  text-transform:uppercase;
}
.info-modal-card-v41 h2{
  color:#0d2b4f!important;
  font-size:30px!important;
  line-height:1!important;
  margin:12px 0 8px!important;
}
.info-modal-card-v41 p{
  color:#5d6b76!important;
  margin:0 0 16px!important;
}
.info-form-v41{
  display:grid;
  gap:12px;
}
.info-form-v41 label{
  display:grid;
  gap:6px;
  color:#0d2b4f;
  font-weight:900;
}
.info-form-v41 input,
.info-form-v41 textarea,
.info-form-v41 select{
  width:100%;
  border:1px solid #d8e3e8;
  border-radius:16px;
  padding:12px 13px;
  font:inherit;
}
.info-form-v41 textarea{
  min-height:95px;
}
.info-form-v41 button{
  border:0;
  border-radius:999px;
  padding:14px 18px;
  color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  font-weight:950;
  cursor:pointer;
}
.request-ok-v41{
  max-width:760px;
  margin:0 auto;
  background:#fff;
  border:1px solid #d8f1df;
  border-radius:30px;
  padding:32px;
  box-shadow:0 20px 50px rgba(13,43,79,.10);
}
.request-ok-v41 span{
  color:#15733b;
  font-weight:950;
  text-transform:uppercase;
  font-size:13px;
}
.request-ok-v41 h1{
  color:#0d2b4f!important;
  font-size:42px!important;
  margin:10px 0!important;
}
@media(max-width:980px){
  .courses-index-v41{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .course-sales-hero-v41,
  .course-sales-body-v41,
  .course-final-cta-v41{
    grid-template-columns:1fr;
  }
  .course-sales-actions-v41,
  .course-final-actions-v41{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .courses-index-v41{
    grid-template-columns:1fr;
  }
  .course-sales-title-v41{
    grid-template-columns:1fr;
  }
  .course-sales-actions-v41,
  .course-buy-grid-v41,
  .course-final-actions-v41{
    grid-template-columns:1fr;
    min-width:0;
  }
  .course-sales-hero-v41,
  .course-path-v41,
  .course-aside-v41,
  .course-final-cta-v41{
    padding:18px;
  }
}


/* V42: formulario email con autorespuesta PDF */
.info-modal-card-v41 h2::after{
  content:"PDF incluido";
  display:inline-flex;
  margin-left:10px;
  vertical-align:middle;
  padding:6px 9px;
  border-radius:999px;
  background:#fff7eb;
  color:#c56a00;
  border:1px solid #ffe1b6;
  font-size:12px;
  font-weight:950;
}
.action-mail-v41 strong,
.dual-email strong,
.mini-mail-v41{
  letter-spacing:-.01em;
}


/* V44: una sola bandera en tarjetas + banderas en menú + botón fijo Email/PDF */
.inline-flag-v40{
  display:none!important;
}
.community-card-v36.community-card-v40 strong img.inline-flag-v40{
  display:none!important;
}
.menu-flag-v44{
  width:24px!important;
  height:17px!important;
  object-fit:cover!important;
  border-radius:5px!important;
  box-shadow:0 2px 5px rgba(13,43,79,.12)!important;
  margin-right:8px!important;
  flex:0 0 auto!important;
  vertical-align:middle!important;
}
.main-nav a:has(.menu-flag-v44),
.nav a:has(.menu-flag-v44),
.dropdown a:has(.menu-flag-v44){
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.main-nav a:has(.menu-flag-v44) span,
.nav a:has(.menu-flag-v44) span,
.dropdown a:has(.menu-flag-v44) span{
  min-width:0;
}
.global-email-pdf-v44{
  position:fixed;
  right:18px;
  top:118px;
  z-index:1500;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #d8f1df;
  border-radius:999px;
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
  color:#fff;
  padding:13px 17px;
  box-shadow:0 16px 34px rgba(13,43,79,.22);
  cursor:pointer;
  font-weight:950;
}
.global-email-pdf-v44 span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
}
.global-email-pdf-v44 strong{
  white-space:nowrap;
  font-size:15px;
}
@media(max-width:980px){
  .global-email-pdf-v44{
    top:auto;
    right:12px;
    bottom:82px;
    padding:12px 14px;
  }
}
@media(max-width:520px){
  .global-email-pdf-v44 strong{
    font-size:13px;
  }
}


/* V45: formulario Email + PDF en página propia */
.global-email-pdf-v44{
  text-decoration:none!important;
}
.request-page-section-v45{
  padding-top:28px!important;
}
.request-page-v45{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 460px;
  gap:18px;
  align-items:start;
}
.request-copy-v45{
  color:#fff;
  border-radius:32px;
  padding:28px;
  background:
    radial-gradient(circle at 90% 12%,rgba(255,177,74,.28),transparent 30%),
    linear-gradient(135deg,#0d2b4f,#123d6b);
  box-shadow:0 24px 60px rgba(13,43,79,.18);
}
.request-copy-v45 > span{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.24);
  font-weight:950;
  text-transform:uppercase;
  font-size:12px;
}
.request-copy-v45 h1{
  color:#fff!important;
  font-size:clamp(34px,3.5vw,54px)!important;
  line-height:.96!important;
  letter-spacing:-.05em!important;
  margin:14px 0 10px!important;
}
.request-copy-v45 p{
  color:#edf7ff!important;
  font-size:16px!important;
  line-height:1.4!important;
  margin:0 0 18px!important;
}
.request-points-v45{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.request-points-v45 article{
  background:rgba(255,255,255,.95);
  color:#0d2b4f;
  border-radius:20px;
  padding:13px;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.request-points-v45 b{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  margin-bottom:8px;
}
.request-points-v45 strong{
  display:block;
  font-size:15px;
  line-height:1.05;
}
.request-points-v45 small{
  display:block;
  color:#637180;
  margin-top:4px;
  font-size:12px;
}
.request-form-v45{
  background:#fff;
  border:1px solid #e2ece7;
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 42px rgba(13,43,79,.11);
  display:grid;
  gap:12px;
}
.request-form-v45 h2{
  color:#0d2b4f!important;
  font-size:28px!important;
  line-height:1!important;
  margin:0 0 4px!important;
}
.request-form-v45 label{
  display:grid;
  gap:6px;
  color:#0d2b4f;
  font-weight:900;
}
.request-form-v45 input,
.request-form-v45 textarea,
.request-form-v45 select{
  width:100%;
  border:1px solid #d8e3e8;
  border-radius:16px;
  padding:12px 13px;
  font:inherit;
}
.request-form-v45 input:disabled{
  background:#f5f8f7;
  color:#5e6d7a;
}
.request-form-v45 textarea{
  min-height:105px;
}
.request-form-v45 button{
  border:0;
  border-radius:999px;
  padding:15px 18px;
  color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);
  font-weight:950;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(72,183,101,.24);
}
@media(max-width:980px){
  .request-page-v45{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .request-copy-v45,
  .request-form-v45{
    padding:18px;
  }
  .request-points-v45{
    grid-template-columns:1fr;
  }
}


/* V46: selector de comunidad autónoma con bandera */
.selected-community-v46{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #d8e3e8;
  border-radius:16px;
  background:#f7fbf8;
  color:#5d6b76;
  font-weight:850;
  margin-top:-4px;
}
.selected-community-v46 img{
  width:44px;
  height:31px;
  object-fit:cover;
  border-radius:9px;
  background:#fff;
  box-shadow:0 5px 12px rgba(13,43,79,.10);
}
.selected-community-v46.is-selected{
  background:#effff4;
  border-color:#d8f1df;
  color:#0d2b4f;
}
.request-form-v45 select#comunidadSelectV46{
  font-weight:850;
  color:#0d2b4f;
}


/* V47: formulario discreto + móvil optimizado */
.request-page-v47{max-width:760px;margin:0 auto;}
.request-form-v47{
  background:#fff;border:1px solid #e2ece7;border-radius:30px;padding:28px;
  box-shadow:0 18px 42px rgba(13,43,79,.11);display:grid;gap:12px;
}
.request-form-v47 > span{
  display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;
  background:#effff4;color:#15733b;border:1px solid #d8f1df;font-weight:950;font-size:12px;text-transform:uppercase;
}
.request-form-v47 h1{
  color:#0d2b4f!important;font-size:clamp(34px,3.5vw,48px)!important;
  line-height:.98!important;letter-spacing:-.045em!important;margin:4px 0 4px!important;
}
.request-form-v47 p{color:#5d6b76!important;font-size:15.5px!important;line-height:1.38!important;margin:0 0 8px!important;}
.request-form-v47 label{display:grid;gap:6px;color:#0d2b4f;font-weight:900;}
.request-form-v47 input,.request-form-v47 textarea,.request-form-v47 select{
  width:100%;border:1px solid #d8e3e8;border-radius:16px;padding:12px 13px;font:inherit;
}
.request-form-v47 input:disabled{background:#f5f8f7;color:#5e6d7a;}
.request-form-v47 textarea{min-height:105px;}
.request-form-v47 button{
  border:0;border-radius:999px;padding:15px 18px;color:#fff;
  background:linear-gradient(135deg,#48b765,#0d9f69);font-weight:950;cursor:pointer;
  box-shadow:0 12px 26px rgba(72,183,101,.24);
}
.global-email-pdf-v44{text-decoration:none!important;}
.mobile-fixed-contact-v47{display:none;}
@media(max-width:860px){
  body{padding-bottom:82px;}
  .mobile-fixed-contact-v47{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:2200;
    display:grid;grid-template-columns:1fr 1fr;gap:8px;pointer-events:auto;
  }
  .mobile-fixed-contact-v47 a{
    display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;
    color:#fff;text-decoration:none;font-weight:950;box-shadow:0 12px 26px rgba(13,43,79,.20);font-size:14px;
  }
  .mf-wa-v47{background:linear-gradient(135deg,#25d366,#0d9f69);}
  .mf-email-v47{background:linear-gradient(135deg,#0d2b4f,#123d6b);}
  .global-email-pdf-v44{display:none!important;}
  .mobile-accordion-item-v47 > .mobile-submenu-v47{
    display:none!important;max-height:58vh;overflow:auto;padding-left:0!important;
  }
  .mobile-accordion-item-v47.is-open-v47 > .mobile-submenu-v47{display:block!important;}
  .mobile-submenu-toggle-v47{
    margin-left:8px;border:1px solid #d8e3e8;background:#fff;color:#0d2b4f;border-radius:999px;
    width:34px;height:34px;font-weight:950;cursor:pointer;
  }
  .mobile-accordion-item-v47{position:relative;}
  .mobile-accordion-item-v47 > a{display:inline-flex!important;align-items:center!important;max-width:calc(100% - 48px);}
}
@media(max-width:620px){.request-form-v47{padding:18px;}}


/* V49: burbuja Solicitar Información dentro del header, junto a WhatsApp */
.global-email-pdf-v44{
  display:none!important;
}
.header-email-v49{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:54px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0d2b4f,#123d6b)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:950!important;
  box-shadow:0 16px 34px rgba(13,43,79,.16)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  white-space:nowrap!important;
}
.header-email-v49 span{
  width:24px!important;
  height:24px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.15)!important;
}
@media(max-width:860px){
  .header-email-v49{
    display:none!important;
  }
}


/* V50: contacto email siempre al formulario */
.dual-email[href*="solicitar-informacion"],
.header-email-v49[href*="solicitar-informacion"],
.mf-email-v47[href*="solicitar-informacion"]{cursor:pointer;}


/* V51: forzar comunidades como ficha moderna y comercial */
.course-sales-section-v51{
  background:
    radial-gradient(circle at 8% 4%,rgba(72,183,101,.08),transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#ffffff 44%);
}
.course-sales-v51{
  max-width:1180px!important;
}
.course-sales-hero-v51{
  border:1px solid rgba(255,255,255,.18);
  position:relative;
  overflow:hidden;
}
.course-sales-hero-v51:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:240px;
  height:240px;
  border-radius:999px;
  background:rgba(72,183,101,.18);
  pointer-events:none;
}
.course-buy-grid-v51 article{
  min-height:132px;
  display:grid;
  align-content:start;
}
.course-sales-body-v51{
  align-items:stretch;
}
.course-final-cta-v51{
  border:1px solid #c9efd5;
}
.course-final-cta-v51 .dual-email,
.course-sales-actions-v41 .action-mail-v41{
  background:linear-gradient(135deg,#0d2b4f,#123d6b)!important;
  color:#fff!important;
  text-decoration:none!important;
}
.course-final-cta-v51 .dual-whatsapp,
.course-sales-actions-v41 .action-wa-v41{
  background:linear-gradient(135deg,#25d366,#0d9f69)!important;
  color:#fff!important;
  text-decoration:none!important;
}
@media(max-width:760px){
  .course-sales-title-v41 h1{
    font-size:32px!important;
  }
}


/* V53: RGPD, honeypot y banner de consentimiento */
.hp-field-v53{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.privacy-check-v53{display:flex!important;gap:10px!important;align-items:flex-start!important;font-weight:800!important}
.privacy-check-v53 input{width:auto!important;margin-top:4px}
.rgpd-note-v53{font-size:12.5px!important;line-height:1.35!important;color:#667!important;margin:2px 0 0!important}
.opf-cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:4000;background:#fff;border:1px solid #d8f1df;border-radius:22px;box-shadow:0 18px 50px rgba(13,43,79,.18);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.opf-cookie-banner p{margin:4px 0;color:#5d6b76}
.opf-cookie-banner a{color:#0d2b4f;font-weight:900}
.opf-cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.opf-cookie-actions button{border:0;border-radius:999px;padding:11px 15px;font-weight:950;cursor:pointer}
.opf-cookie-actions [data-opf-consent="accept"]{background:#48b765;color:#fff}
.opf-cookie-actions [data-opf-consent="reject"]{background:#eef4f8;color:#0d2b4f}
@media(max-width:720px){.opf-cookie-banner{display:block}.opf-cookie-actions{margin-top:12px}}


/* V55: contenido completo recuperado en comunidades */
.course-full-v55{
  max-width:1180px;
  margin:0 auto 64px;
  padding:0 22px 44px;
}
.course-full-head-v55{
  background:linear-gradient(135deg,#effff4,#ffffff);
  border:1px solid #c9efd5;
  border-radius:28px;
  padding:28px;
  margin:0 0 20px;
  box-shadow:0 18px 48px rgba(13,43,79,.08);
}
.course-full-head-v55 span,
.course-opinions-v55 > span{
  display:inline-flex;
  width:max-content;
  background:#effff4;
  color:#15733b;
  border:1px solid #d8f1df;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.course-full-head-v55 h2,
.course-opinions-v55 h2{
  color:#0d2b4f;
  font-size:clamp(30px,3vw,44px);
  line-height:1;
  letter-spacing:-.04em;
  margin:12px 0 8px;
}
.course-full-head-v55 p{
  color:#516273;
  max-width:760px;
  margin:0;
  line-height:1.5;
}
.course-full-grid-v55{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:18px 0;
}
.course-full-grid-v55 article{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:24px;
  padding:22px;
  box-shadow:0 14px 36px rgba(13,43,79,.07);
}
.course-full-grid-v55 article b{
  display:block;
  color:#0d2b4f;
  font-size:19px;
  margin-bottom:12px;
}
.course-full-grid-v55 article p,
.course-full-grid-v55 article li{
  color:#31445a;
  line-height:1.5;
  margin:.35em 0;
}
.course-full-grid-v55 article ul,
.course-full-grid-v55 article ol{
  padding-left:18px;
  margin:8px 0;
}
.course-opinions-v55{
  background:#fff7eb;
  border:1px solid #ffe1b6;
  border-radius:28px;
  padding:26px;
  margin:22px 0;
}
.course-opinions-grid-v55{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.course-opinions-grid-v55 blockquote{
  margin:0;
  background:#fff;
  border:1px solid #f2dfc7;
  border-radius:20px;
  padding:18px;
  color:#253a50;
  line-height:1.5;
  box-shadow:0 10px 24px rgba(13,43,79,.05);
}
.course-original-v55{
  margin-top:22px;
}
.course-original-v55 details{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:24px;
  padding:18px 22px;
  box-shadow:0 12px 30px rgba(13,43,79,.06);
}
.course-original-v55 summary{
  cursor:pointer;
  font-weight:950;
  color:#0d2b4f;
}
.course-original-content-v55{
  margin-top:18px;
  color:#263b50;
  line-height:1.62;
}
.course-original-content-v55 img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}
.course-original-content-v55 h2,
.course-original-content-v55 h3{
  color:#0d2b4f;
  margin-top:1.2em;
}
.course-original-content-v55 a{
  color:#0d2b4f;
  font-weight:900;
}
@media(max-width:900px){
  .course-full-grid-v55,
  .course-opinions-grid-v55{grid-template-columns:1fr}
  .course-full-v55{padding-left:16px;padding-right:16px}
}


/* V60: comunidades sin código visible */
.course-full-v60{
  max-width:1180px;
  margin:0 auto 64px;
  padding:0 22px 44px;
}
.course-full-head-v60{
  background:linear-gradient(135deg,#effff4,#ffffff);
  border:1px solid #c9efd5;
  border-radius:28px;
  padding:28px;
  margin:0 0 20px;
  box-shadow:0 18px 48px rgba(13,43,79,.08);
}
.course-full-head-v60 span{
  display:inline-flex;
  background:#effff4;
  color:#15733b;
  border:1px solid #d8f1df;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.course-full-head-v60 h2{
  color:#0d2b4f;
  font-size:clamp(30px,3vw,44px);
  line-height:1;
  letter-spacing:-.04em;
  margin:12px 0 8px;
}
.course-full-head-v60 p{
  color:#516273;
  max-width:790px;
  margin:0;
  line-height:1.5;
}
.course-full-content-v60{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:28px;
  padding:30px;
  box-shadow:0 18px 48px rgba(13,43,79,.07);
  color:#263b50;
  line-height:1.65;
}
.course-full-content-v60 h2,
.course-full-content-v60 h3,
.course-full-content-v60 h4{
  color:#0d2b4f;
  margin-top:1.3em;
}
.course-full-content-v60 p{margin:.65em 0}
.course-full-content-v60 ul,
.course-full-content-v60 ol{padding-left:22px}
.course-full-content-v60 img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}
.page-content-card-v60{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:28px;
  padding:30px;
  box-shadow:0 18px 48px rgba(13,43,79,.07);
}
@media(max-width:800px){
  .course-full-v60{padding-left:16px;padding-right:16px}
  .course-full-content-v60{padding:22px}
}


/* V62: esquema corregido en comunidades */
.course-extra-v62{
  max-width:1180px;
  margin:0 auto 70px;
  padding:0 22px 48px;
}
.course-extra-head-v62{
  background:linear-gradient(135deg,#0d2b4f,#123d6b);
  color:#fff;
  border-radius:30px;
  padding:34px;
  margin:0 0 22px;
  box-shadow:0 22px 60px rgba(13,43,79,.18);
}
.course-extra-head-v62 span{
  display:inline-flex;
  background:rgba(72,183,101,.18);
  color:#c9ffd8;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.course-extra-head-v62 h2{
  color:#fff;
  font-size:clamp(32px,4vw,52px);
  line-height:.98;
  letter-spacing:-.045em;
  margin:14px 0 10px;
}
.course-extra-head-v62 p{
  color:#e7f5ff;
  max-width:850px;
  margin:0;
  line-height:1.55;
  font-size:17px;
}
.course-schema-v62{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
  align-items:stretch;
}
.course-schema-v62 article{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:24px;
  padding:22px;
  box-shadow:0 16px 42px rgba(13,43,79,.08);
  min-height:178px;
}
.course-schema-v62 article span{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  background:#effff4;
  color:#15733b;
  border-radius:14px;
  font-weight:950;
  margin-bottom:14px;
}
.course-schema-v62 article h3{
  color:#0d2b4f;
  margin:0 0 8px;
  font-size:20px;
  line-height:1.1;
}
.course-schema-v62 article p{
  margin:0;
  color:#4d5f72;
  line-height:1.48;
}
.course-material-banner-v62{
  background:linear-gradient(135deg,#fff7eb,#ffffff);
  border:1px solid #ffe1b6;
  border-radius:28px;
  padding:28px;
  margin:22px 0;
  box-shadow:0 18px 48px rgba(255,138,28,.10);
}
.course-material-banner-v62 span{
  color:#a95800;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.course-material-banner-v62 h3{
  color:#0d2b4f;
  font-size:clamp(25px,3vw,36px);
  line-height:1.04;
  letter-spacing:-.035em;
  margin:8px 0;
}
.course-material-banner-v62 p{
  color:#4d5f72;
  margin:0;
  max-width:780px;
}
.course-long-v62{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:30px;
  padding:30px;
  box-shadow:0 20px 54px rgba(13,43,79,.08);
  margin-top:22px;
}
.course-long-title-v62{
  border-bottom:1px solid #e6eef4;
  padding-bottom:18px;
  margin-bottom:22px;
}
.course-long-title-v62 span{
  color:#15733b;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.course-long-title-v62 h2{
  color:#0d2b4f;
  margin:7px 0 0;
  font-size:clamp(27px,3vw,42px);
  line-height:1.04;
}
.course-long-content-v62{
  color:#263b50;
  line-height:1.68;
  font-size:17px;
}
.course-long-content-v62 h2,
.course-long-content-v62 h3,
.course-long-content-v62 h4{
  color:#0d2b4f;
  margin:1.35em 0 .45em;
}
.course-long-content-v62 p{
  margin:.7em 0;
}
.course-long-content-v62 ul,
.course-long-content-v62 ol{
  padding-left:24px;
}
.course-long-content-v62 img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}
@media(max-width:980px){
  .course-schema-v62{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .course-extra-v62{padding-left:16px;padding-right:16px}
  .course-schema-v62{grid-template-columns:1fr}
  .course-long-v62{padding:22px}
}


/* V63: cabecera superior de comunidades corregida */
.community-hero-v63{
  background:linear-gradient(180deg,#f4fbff 0%,#ffffff 70%);
  padding:38px 22px 28px;
}
.community-hero-card-v63{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  gap:28px;
  align-items:stretch;
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:34px;
  padding:32px;
  box-shadow:0 24px 70px rgba(13,43,79,.12);
  overflow:hidden;
  position:relative;
}
.community-hero-card-v63:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-110px;
  width:310px;
  height:310px;
  background:radial-gradient(circle,rgba(72,183,101,.22),rgba(72,183,101,0) 68%);
  pointer-events:none;
}
.community-hero-copy-v63{
  position:relative;
  z-index:2;
  padding:10px 0;
}
.community-kicker-v63{
  display:inline-flex;
  width:max-content;
  background:#effff4;
  color:#15733b;
  border:1px solid #d8f1df;
  border-radius:999px;
  padding:8px 13px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.community-hero-copy-v63 h1{
  color:#0d2b4f;
  font-size:clamp(36px,4.7vw,66px);
  line-height:.96;
  letter-spacing:-.055em;
  margin:18px 0 14px;
  max-width:780px;
}
.community-hero-copy-v63 p{
  color:#40566d;
  font-size:18px;
  line-height:1.55;
  max-width:820px;
  margin:0 0 22px;
}
.community-actions-v63{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.community-btn-v63{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 21px;
  border-radius:18px;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(13,43,79,.11);
}
.community-btn-whatsapp-v63{
  color:#fff;
  background:linear-gradient(135deg,#24b75a,#13a04a);
}
.community-btn-info-v63{
  color:#fff;
  background:linear-gradient(135deg,#0d2b4f,#174b80);
}
.community-hero-media-v63{
  position:relative;
  z-index:2;
  display:grid;
  gap:16px;
  align-content:center;
}
.community-flag-card-v63{
  width:132px;
  height:96px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e5edf3;
  border-radius:22px;
  box-shadow:0 16px 38px rgba(13,43,79,.10);
  justify-self:end;
}
.community-flag-card-v63 img{
  max-width:96px;
  max-height:70px;
  object-fit:contain;
}
.community-image-card-v63{
  background:linear-gradient(135deg,#effff4,#fff);
  border:1px solid #d8f1df;
  border-radius:28px;
  padding:14px;
  min-height:230px;
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(13,43,79,.10);
}
.community-image-card-v63 img{
  width:100%;
  height:100%;
  max-height:300px;
  object-fit:cover;
  border-radius:20px;
}
.community-image-placeholder-v63{
  text-align:center;
  color:#0d2b4f;
}
.community-image-placeholder-v63 strong{
  display:block;
  font-size:24px;
}
.community-image-placeholder-v63 span{
  color:#4d5f72;
  font-weight:800;
}
.community-fast-grid-v63{
  max-width:1180px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.community-fast-grid-v63 article{
  background:#fff;
  border:1px solid #dfe8ee;
  border-radius:22px;
  padding:20px;
  box-shadow:0 14px 36px rgba(13,43,79,.07);
}
.community-fast-grid-v63 article span{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  background:#effff4;
  color:#15733b;
  border-radius:12px;
  font-weight:950;
  margin-bottom:12px;
}
.community-fast-grid-v63 article b{
  display:block;
  color:#0d2b4f;
  font-size:18px;
  margin-bottom:7px;
}
.community-fast-grid-v63 article p{
  color:#4d5f72;
  line-height:1.45;
  margin:0;
}
@media(max-width:980px){
  .community-hero-card-v63{grid-template-columns:1fr}
  .community-flag-card-v63{justify-self:start}
  .community-fast-grid-v63{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .community-hero-v63{padding:24px 14px}
  .community-hero-card-v63{padding:22px;border-radius:26px}
  .community-fast-grid-v63{grid-template-columns:1fr}
  .community-actions-v63{display:grid}
  .community-btn-v63{width:100%}
}


/* V95 legal pages */
.legal-page-v95{max-width:980px;margin:0 auto;font-size:17px;line-height:1.65;color:#18324a}
.legal-page-v95 h2{margin-top:32px;color:#0d2b4f;font-size:26px;line-height:1.2}
.legal-page-v95 h3{margin-top:24px;color:#0d2b4f;font-size:21px}
.legal-page-v95 a{color:#0d7f54;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.legal-page-v95 ul{padding-left:24px}
.legal-page-v95 li{margin:8px 0}
.legal-table-v95{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0;border:1px solid #d8e8df;border-radius:18px;overflow:hidden;background:#fff}
.legal-table-v95 th,.legal-table-v95 td{padding:13px 15px;border-bottom:1px solid #e6f0ea;text-align:left;vertical-align:top}
.legal-table-v95 th{background:#effaf3;color:#0d2b4f;font-weight:950}
.legal-table-v95 tr:last-child td{border-bottom:0}
.legal-page-v95 code{background:#eef4f8;border-radius:8px;padding:2px 6px}
@media(max-width:720px){.legal-page-v95{font-size:16px}.legal-page-v95 h2{font-size:23px}.legal-table-v95{display:block;overflow-x:auto}.legal-table-v95 th,.legal-table-v95 td{min-width:220px}}

/* V96 - Selector visual de cursos por comunidad, pensado para móvil sin mega-desplegable */
.courses-selector-v96{margin-top:28px}
.courses-selector-head-v96{max-width:900px;margin:0 auto 24px;text-align:center}
.courses-selector-head-v96>span{display:inline-flex;align-items:center;gap:8px;background:#eaf8ef;color:#18733b;border:1px solid #cbeed8;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.courses-selector-head-v96 h2{margin:14px 0 8px;font-size:clamp(26px,4vw,42px);color:#0d2b4f;line-height:1.08}
.courses-selector-head-v96 p{margin:0 auto 18px;max-width:760px;color:#49627a;line-height:1.55}
.course-search-v96{display:flex;align-items:center;gap:12px;max-width:640px;margin:0 auto;background:#fff;border:1px solid #dfeee4;border-radius:18px;padding:10px 14px;box-shadow:0 12px 30px rgba(13,43,79,.08)}
.course-search-v96 span{font-weight:800;color:#0d2b4f;white-space:nowrap}
.course-search-v96 input{width:100%;border:0;outline:0;font-size:16px;padding:10px;background:transparent;color:#0d2b4f}
.spain-map-panel-v96{background:linear-gradient(135deg,#f3fbf6,#eef7ff);border:1px solid #dcefe5;border-radius:28px;padding:22px;margin:20px auto 24px;box-shadow:0 18px 44px rgba(13,43,79,.08);max-width:1040px}
.spain-map-v96{position:relative;min-height:460px;border-radius:24px;background:radial-gradient(circle at 48% 44%,rgba(72,183,101,.20),transparent 36%),radial-gradient(circle at 44% 42%,rgba(13,43,79,.08),transparent 50%),linear-gradient(160deg,#fff,#f4faf7);overflow:hidden;border:1px solid rgba(13,43,79,.08)}
.spain-map-v96:before{content:"";position:absolute;left:19%;top:9%;width:58%;height:74%;background:rgba(72,183,101,.10);clip-path:polygon(28% 5%,50% 2%,71% 12%,80% 28%,72% 42%,84% 58%,70% 80%,47% 92%,28% 83%,15% 64%,6% 42%,13% 22%);border:2px solid rgba(72,183,101,.25);filter:drop-shadow(0 18px 20px rgba(13,43,79,.08))}
.map-pin-v96{position:absolute;display:flex;align-items:center;gap:7px;min-width:126px;max-width:190px;background:#fff;color:#0d2b4f;text-decoration:none;border:1px solid #d9ecdf;border-radius:999px;padding:7px 10px;font-weight:800;font-size:13px;box-shadow:0 10px 24px rgba(13,43,79,.13);transition:.18s transform,.18s box-shadow,.18s border-color;z-index:2}
.map-pin-v96:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(13,43,79,.20);border-color:#48b765}
.map-pin-v96 img{width:24px;height:24px;object-fit:cover;border-radius:50%;flex:0 0 24px}
.map-pin-v96 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pin-1{left:27%;top:18%}.pin-2{left:59%;top:66%}.pin-3{left:43%;top:53%}.pin-4{left:49%;top:39%}.pin-5{left:18%;top:22%}.pin-6{left:38%;top:66%}.pin-7{left:41%;top:78%}.pin-8{left:56%;top:18%}.pin-9{left:42%;top:13%}.pin-10{left:66%;top:42%}.pin-11{left:75%;top:82%}.pin-12{left:24%;top:78%}.pin-13{left:67%;top:86%}.pin-14{left:77%;top:55%}.pin-15{left:48%;top:25%}.pin-16{left:55%;top:74%}.pin-17{left:53%;top:10%}.pin-18{left:31%;top:8%}
.courses-index-v96{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto}
.course-index-card-v96{background:#fff;border:1px solid #dfeee4;border-radius:22px;padding:14px;box-shadow:0 12px 30px rgba(13,43,79,.07)}
.course-index-main-v96{display:flex;gap:12px;align-items:center;text-decoration:none;color:#0d2b4f}
.course-index-main-v96 img{width:48px;height:48px;object-fit:cover;border-radius:14px;background:#f4f8f6;border:1px solid #edf5ef}
.course-index-main-v96 strong{display:block;font-size:16px;line-height:1.22;margin-bottom:3px}
.course-index-main-v96 small{color:#60758a;font-size:12px}
.course-index-actions-v96{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.mini-wa-v96,.mini-mail-v96{flex:1;text-align:center;text-decoration:none;border-radius:999px;padding:9px 11px;font-weight:800;font-size:12px;white-space:nowrap}
.mini-wa-v96{background:#eaf8ef;color:#18733b}.mini-mail-v96{background:#0d2b4f;color:#fff}
@media (max-width:900px){.spain-map-v96{min-height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.spain-map-v96:before{display:none}.map-pin-v96{position:static;max-width:none;min-width:0}.courses-index-v96{grid-template-columns:repeat(2,minmax(0,1fr))}.course-search-v96{align-items:stretch;flex-direction:column;text-align:left}}
@media (max-width:560px){.courses-index-v96,.spain-map-v96{grid-template-columns:1fr}.spain-map-panel-v96{padding:12px;border-radius:20px}.map-pin-v96{font-size:14px;padding:10px 12px}.course-index-actions-v96{flex-direction:column}.mini-wa-v96,.mini-mail-v96{width:100%}}

/* V97: FIX CRITICO banner cookies clicable en móvil y PC.
   Mantener por encima de menús/botones flotantes y respetar hidden. */
.opf-cookie-banner[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.opf-cookie-banner{
  position:fixed!important;
  left:max(14px,env(safe-area-inset-left))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  z-index:2147483000!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.opf-cookie-banner,.opf-cookie-banner *{box-sizing:border-box!important}
.opf-cookie-actions{position:relative!important;z-index:2147483001!important;pointer-events:auto!important}
.opf-cookie-btn,.opf-cookie-actions button{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  min-height:44px!important;
  line-height:1.1!important;
  -webkit-tap-highlight-color:rgba(0,0,0,.12)!important;
}
.opf-cookie-link{display:inline-block!important;min-height:34px!important;line-height:34px!important;pointer-events:auto!important}
@media(max-width:720px){
  .opf-cookie-banner{
    display:block!important;
    left:10px!important;
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    max-height:calc(100vh - 24px)!important;
    overflow:auto!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  .opf-cookie-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important}
  .opf-cookie-actions button{width:100%!important;padding:13px 10px!important;font-size:15px!important}
}
@media(max-width:380px){.opf-cookie-actions{grid-template-columns:1fr!important}}

/* V98: mapa de cursos limpio para producción.
   Sustituye el falso borrón V96 por un selector visual ordenado y clicable. */
.spain-map-panel-v98{
  background:linear-gradient(135deg,#f7fcf9,#eef7ff)!important;
  padding:24px!important;
}
.spain-map-v96.spain-map-v98{
  min-height:560px!important;
  background:linear-gradient(160deg,#ffffff,#f5fbf8)!important;
  overflow:hidden!important;
  border:1px solid rgba(13,43,79,.10)!important;
}
.spain-map-v96.spain-map-v98:before{display:none!important;content:none!important}
.spain-map-bg-v98{
  position:absolute;
  inset:18px;
  z-index:1;
  pointer-events:none;
}
.spain-map-bg-v98 svg{
  width:100%;
  height:100%;
  display:block;
}
.map-mainland-v98{
  fill:url(#mapSpainV98);
  stroke:#9fd9b2;
  stroke-width:4;
  filter:url(#mapShadowV98);
}
.map-portugal-v98{
  fill:#f3f7f5;
  stroke:#d9e7df;
  stroke-width:2;
}
.map-island-v98,.map-city-v98{
  fill:#e8f8ee;
  stroke:#9fd9b2;
  stroke-width:3;
}
.spain-map-bg-v98 text{
  fill:rgba(13,43,79,.16);
  font-size:30px;
  font-weight:900;
  letter-spacing:.02em;
}
.map-pin-v96.map-region-v98{
  left:var(--x)!important;
  top:var(--y)!important;
  transform:translate(-50%,-50%)!important;
  z-index:3!important;
  border:1px solid rgba(72,183,101,.36)!important;
  box-shadow:0 12px 25px rgba(13,43,79,.14)!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(8px);
}
.map-pin-v96.map-region-v98:hover{
  transform:translate(-50%,-54%) scale(1.02)!important;
  border-color:#48b765!important;
  box-shadow:0 18px 34px rgba(13,43,79,.22)!important;
}
.map-pin-v96.map-region-v98:focus-visible{
  outline:3px solid rgba(72,183,101,.45)!important;
  outline-offset:3px!important;
}
@media (max-width:900px){
  .spain-map-v96.spain-map-v98{
    min-height:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:14px!important;
  }
  .spain-map-bg-v98{display:none!important}
  .map-pin-v96.map-region-v98{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    max-width:none!important;
    min-width:0!important;
    width:100%!important;
    justify-content:flex-start!important;
    border-radius:16px!important;
    padding:11px 12px!important;
  }
  .map-pin-v96.map-region-v98:hover{transform:translateY(-1px)!important}
}
@media (max-width:560px){
  .spain-map-v96.spain-map-v98{grid-template-columns:1fr!important}
}

/* V99: selector profesional de cursos.
   Se sustituye el mapa abstracto por una imagen reconocible de España + botones accesibles.
   En móvil prima el listado para no perder usabilidad. */
.spain-map-panel-v99,.spain-map-panel-v98{
  background:linear-gradient(135deg,#f6fff8,#eef8ff)!important;
  border:1px solid rgba(13,43,79,.08)!important;
  border-radius:28px!important;
}
.spain-map-v96.spain-map-v98{
  min-height:620px!important;
  background:#07105f!important;
  border-radius:24px!important;
  box-shadow:0 24px 60px rgba(13,43,79,.14)!important;
}
.spain-map-bg-v98{display:none!important}
.spain-map-bg-v99{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.spain-map-bg-v99 picture,.spain-map-bg-v99 img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.map-pin-v96.map-region-v98{
  z-index:4!important;
  max-width:176px!important;
  min-width:128px!important;
  background:rgba(255,255,255,.97)!important;
  color:#0d2b4f!important;
  border:1px solid rgba(72,183,101,.42)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.20)!important;
}
.map-pin-v96.map-region-v98 span{font-size:12px!important;line-height:1.15!important;font-weight:800!important}
.map-pin-v96.map-region-v98 img{width:24px!important;height:24px!important;object-fit:contain!important;flex:0 0 24px!important}
@media (max-width:1050px){
  .spain-map-v96.spain-map-v98{min-height:560px!important}
  .map-pin-v96.map-region-v98{min-width:112px!important;max-width:150px!important;padding:9px 10px!important}
  .map-pin-v96.map-region-v98 span{font-size:11px!important}
}
@media (max-width:900px){
  .spain-map-v96.spain-map-v98{
    background:linear-gradient(160deg,#ffffff,#f5fbf8)!important;
    min-height:auto!important;
  }
  .spain-map-bg-v99{display:none!important}
  .map-pin-v96.map-region-v98{
    box-shadow:0 10px 22px rgba(13,43,79,.10)!important;
    max-width:none!important;
    min-width:0!important;
  }
  .map-pin-v96.map-region-v98 span{font-size:14px!important}
}

/* V100 SEO/UX: FAQ visible + contacto crawlable en footer */
.hero-seo-intro-v100{font-size:1.05rem;line-height:1.65;color:#415268;margin:14px 0 0;max-width:760px;font-weight:650}
.faq-home-v100{background:#fff}
.faq-grid-v100{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.faq-grid-v100 article{background:#ffffff;border:1px solid rgba(13,43,79,.10);border-radius:22px;padding:22px;box-shadow:0 14px 35px rgba(13,43,79,.07)}
.faq-grid-v100 h3{margin:0 0 10px;color:#0d2b4f;font-size:1.08rem;line-height:1.3}
.faq-grid-v100 p{margin:0;color:#4b5b6f;line-height:1.6}
.footer-contact-v100{display:flex;flex-direction:column;gap:6px;align-items:flex-start;color:#fff}
.footer-contact-v100 strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85}
.footer-contact-v100 a{color:#fff;text-decoration:none;font-weight:800}
.footer-contact-v100 a:hover{text-decoration:underline}
@media(max-width:760px){.faq-grid-v100{grid-template-columns:1fr}.hero-seo-intro-v100{font-size:1rem}.footer-contact-v100{align-items:center;text-align:center}}

/* V101: mapa de comunidades calibrado sobre el lienzo real de la imagen.
   Antes los pins usaban porcentajes del contenedor azul; al tener object-fit:contain,
   en escritorio quedaban desplazados respecto a la imagen. Ahora el mapa y los pins
   comparten un canvas 500/386, que es la proporción real del PNG/WebP. */
.spain-map-v96.spain-map-v98{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:auto!important;
  padding:18px!important;
  background:#07105f!important;
  overflow:hidden!important;
}
.spain-map-canvas-v101{
  position:relative!important;
  width:min(100%,780px)!important;
  aspect-ratio:500/386!important;
  min-height:0!important;
  flex:0 1 780px!important;
}
.spain-map-canvas-v101 .spain-map-bg-v99{
  position:absolute!important;
  inset:0!important;
  padding:0!important;
  display:block!important;
  z-index:1!important;
}
.spain-map-canvas-v101 .spain-map-bg-v99 picture,
.spain-map-canvas-v101 .spain-map-bg-v99 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.map-pin-v96.map-region-v98{
  position:absolute!important;
  left:var(--x)!important;
  top:var(--y)!important;
  transform:translate(-50%,-50%)!important;
  z-index:4!important;
  width:max-content!important;
  min-width:0!important;
  max-width:154px!important;
  padding:8px 11px!important;
  gap:6px!important;
  white-space:nowrap!important;
}
.map-pin-v96.map-region-v98 span{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1.1!important;
}
.map-pin-v96.map-region-v98 img{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
}
.map-pin-v96.map-region-v98:hover{
  transform:translate(-50%,-56%) scale(1.025)!important;
}
@media (max-width:1050px){
  .spain-map-canvas-v101{width:min(100%,740px)!important;flex-basis:740px!important}
  .map-pin-v96.map-region-v98{padding:7px 9px!important;max-width:145px!important}
  .map-pin-v96.map-region-v98 span{font-size:11px!important}
  .map-pin-v96.map-region-v98 img{width:20px!important;height:20px!important;flex-basis:20px!important}
}
@media (max-width:900px){
  .spain-map-v96.spain-map-v98{
    display:block!important;
    background:linear-gradient(160deg,#ffffff,#f5fbf8)!important;
    min-height:auto!important;
    padding:14px!important;
  }
  .spain-map-canvas-v101{
    width:100%!important;
    aspect-ratio:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    flex:none!important;
  }
  .spain-map-canvas-v101 .spain-map-bg-v99{display:none!important}
  .map-pin-v96.map-region-v98{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-content:flex-start!important;
    border-radius:16px!important;
    padding:11px 12px!important;
    box-shadow:0 10px 22px rgba(13,43,79,.10)!important;
  }
  .map-pin-v96.map-region-v98:hover{transform:translateY(-1px)!important}
  .map-pin-v96.map-region-v98 span{font-size:14px!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
@media (max-width:560px){
  .spain-map-canvas-v101{grid-template-columns:1fr!important}
}

/* V103 mini-bot WhatsApp público */
.wa-minibot-trigger-v103{cursor:pointer}
.wa-minibot-modal-v103[hidden]{display:none!important}
.wa-minibot-modal-v103{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}
.wa-minibot-backdrop-v103{position:absolute;inset:0;background:rgba(5,20,38,.66);backdrop-filter:blur(4px)}
.wa-minibot-card-v103{position:relative;width:min(100%,520px);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.28);padding:24px;border:1px solid rgba(13,43,79,.12)}
.wa-minibot-x-v103{position:absolute;right:14px;top:12px;border:0;background:#eff5f1;color:#0d2b4f;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}
.wa-minibot-head-v103 span{display:inline-flex;background:#e9fff0;color:#14743c;border:1px solid #c9f2d6;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.wa-minibot-head-v103 h2{margin:10px 0 6px;color:#0d2b4f;font-size:26px;line-height:1.12}
.wa-minibot-head-v103 p{margin:0 0 14px;color:#42617b;font-weight:700}
.wa-minibot-error-v103{background:#fff1f1;border:1px solid #ffc6c6;color:#8f1d1d;border-radius:14px;padding:10px 12px;margin:10px 0;font-weight:700}
.wa-minibot-step-v103{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:start;margin:12px 0}
.wa-minibot-step-v103 b{display:grid;place-items:center;height:42px;border-radius:14px;background:#0d2b4f;color:#fff;font-size:13px}
.wa-minibot-step-v103 label{font-weight:800;color:#0d2b4f;display:grid;gap:6px}
.wa-minibot-step-v103 input{width:100%;border:1px solid #d9e6df;border-radius:14px;padding:13px 14px;font:inherit;color:#123;background:#fbfdfc;outline:none}
.wa-minibot-step-v103 input:focus{border-color:#48b765;box-shadow:0 0 0 4px rgba(72,183,101,.14);background:#fff}
.wa-minibot-privacy-v103{display:flex;align-items:flex-start;gap:9px;margin:14px 0;color:#49627a;font-size:13px;line-height:1.35}
.wa-minibot-privacy-v103 input{margin-top:2px;flex:0 0 auto}
.wa-minibot-privacy-v103 a{color:#0d6b3c;font-weight:800;text-decoration:underline}
.wa-minibot-actions-v103{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.wa-minibot-actions-v103 .btn{border:none;text-decoration:none;cursor:pointer}
.wa-minibot-actions-v103 .btn[disabled]{opacity:.65;cursor:wait}
.wa-minibot-note-v103{display:block;margin-top:12px;color:#64748b;line-height:1.35}
.sol-wa-source-v103{background:#e9fff0!important;color:#13703b!important;border-color:#bceacb!important}
@media (max-width:560px){
  .wa-minibot-modal-v103{padding:10px;place-items:end center}
  .wa-minibot-card-v103{border-radius:24px 24px 0 0;padding:20px 16px;max-height:94vh}
  .wa-minibot-head-v103 h2{font-size:22px}
  .wa-minibot-step-v103{grid-template-columns:38px 1fr}
  .wa-minibot-actions-v103 .btn{width:100%;justify-content:center;text-align:center}
}


/* V115 — Modal promocional: clase gratis + código de descuento */
.opf-promo-v115{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.opf-promo-v115[hidden]{display:none!important}
.opf-promo-v115.is-visible{opacity:1;visibility:visible}
.opf-promo-backdrop-v115{position:absolute;inset:0;background:rgba(7,26,47,.72);backdrop-filter:blur(5px)}
.opf-promo-card-v115{position:relative;width:min(880px,100%);max-height:min(92vh,900px);overflow:auto;background:radial-gradient(circle at 90% 4%,rgba(126,216,238,.22),transparent 28%),linear-gradient(135deg,#f1fff5 0%,#fff 48%,#fff5e8 100%);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:30px 34px 28px;box-shadow:0 36px 90px rgba(13,43,79,.32);transform:translateY(16px) scale(.985);transition:transform .22s ease;color:#0d2b4f;text-align:center}
.opf-promo-v115.is-visible .opf-promo-card-v115{transform:translateY(0) scale(1)}
.opf-promo-close-v115{position:absolute;top:14px;right:15px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#0d2b4f;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(13,43,79,.13);z-index:2}
.opf-promo-close-v115:hover,.opf-promo-close-v115:focus-visible{background:#effff4;outline:3px solid rgba(72,183,101,.28)}
.opf-promo-logo-v115{display:flex;justify-content:center;margin:0 auto 8px;padding-right:36px;padding-left:36px}
.opf-promo-logo-v115 img{width:min(300px,76vw);height:auto;max-height:86px;object-fit:contain}
.opf-promo-kicker-v115{display:inline-flex;align-items:center;justify-content:center;margin:6px auto 10px;padding:7px 13px;border-radius:999px;background:#eaffef;border:1px solid #cfeeda;color:#149447;font-size:12px;letter-spacing:.12em;font-weight:950}
.opf-promo-card-v115 h2{margin:0 auto 10px;max-width:720px;font-size:clamp(30px,4.4vw,52px);line-height:1.02;letter-spacing:-.035em;color:#0d2b4f}
.opf-promo-card-v115 h2 span{color:#ff8a1c;white-space:nowrap}
.opf-promo-lead-v115{max-width:700px;margin:0 auto 20px;color:#536175;font-size:17px;line-height:1.5}
.opf-promo-offers-v115{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px auto;max-width:720px}
.opf-promo-offer-v115{position:relative;overflow:hidden;background:#fff;border:1px solid #dfeae4;border-radius:22px;padding:19px 18px 17px;box-shadow:0 14px 32px rgba(13,43,79,.09)}
.opf-promo-offer-v115::after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-45px;bottom:-55px;background:rgba(72,183,101,.12)}
.opf-promo-offer-main-v115{border:2px solid #ffd3a3;background:linear-gradient(145deg,#fff,#fff7ec)}
.opf-promo-offer-label-v115{font-size:12px;font-weight:950;letter-spacing:.1em;color:#66768a}
.opf-promo-amount-v115{margin:4px 0 0;font-size:clamp(38px,5.2vw,60px);line-height:1;font-weight:950;color:#ff8a1c;letter-spacing:-.04em}
.opf-promo-offer-v115 strong{display:block;margin-top:3px;color:#16994b;font-size:17px}
.opf-promo-offer-v115 p{margin:6px 0 0;color:#536175;font-size:14px}
.opf-promo-note-v115{max-width:720px;margin:12px auto 18px;padding:12px 15px;border-radius:14px;background:#eef7ff;color:#264967;font-size:14px;line-height:1.45;border:1px solid #d9eaf5}
.opf-promo-actions-v115{max-width:720px;margin:0 auto}
.opf-promo-primary-v115{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 18px;border-radius:999px;background:linear-gradient(135deg,#42b864,#17954f);color:#fff!important;font-size:16px;font-weight:950;letter-spacing:.015em;box-shadow:0 14px 30px rgba(36,158,83,.28);transition:transform .18s ease,box-shadow .18s ease}
.opf-promo-primary-v115:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(36,158,83,.34)}
.opf-promo-secondary-v115{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:11px}
.opf-promo-secondary-v115 a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border-radius:999px;background:#fff;border:1px solid #dce7e1;color:#0d2b4f!important;font-weight:900;box-shadow:0 8px 18px rgba(13,43,79,.06)}
.opf-promo-secondary-v115 a:hover{background:#effff4;border-color:#bfe4ca}
.opf-promo-foot-v115{margin:12px 0 0;color:#718096;font-size:12px;line-height:1.35}
body.opf-promo-open-v115{overflow:hidden}
@media(max-width:680px){
  .opf-promo-v115{padding:10px}
  .opf-promo-card-v115{border-radius:24px;padding:24px 16px 20px;max-height:94vh}
  .opf-promo-logo-v115{padding-right:42px;padding-left:42px;margin-bottom:4px}
  .opf-promo-logo-v115 img{width:min(245px,72vw)}
  .opf-promo-card-v115 h2{font-size:clamp(28px,9vw,40px)}
  .opf-promo-lead-v115{font-size:15px;margin-bottom:14px}
  .opf-promo-offers-v115{grid-template-columns:1fr;gap:10px;margin:14px auto}
  .opf-promo-offer-v115{padding:14px 14px 13px}
  .opf-promo-amount-v115{font-size:42px}
  .opf-promo-note-v115{margin:10px auto 13px;font-size:13px}
  .opf-promo-primary-v115{font-size:14px;min-height:50px}
  .opf-promo-secondary-v115{gap:8px}
  .opf-promo-secondary-v115 a{flex:1 1 145px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.opf-promo-v115,.opf-promo-card-v115,.opf-promo-primary-v115{transition:none!important}}

/* V118 - FIX CONTRASTE /cursos/ tras cambio SEO H2 -> H1 */
.courses-main-copy-v37 h1{
  color:#ffffff!important;
  font-size:clamp(34px,3.5vw,54px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:13px 0 12px!important;
  text-shadow:0 2px 16px rgba(0,0,0,.16);
}
@media(max-width:620px){
  .courses-main-copy-v37 h1{font-size:30px!important;line-height:1.02!important;letter-spacing:-.025em!important;}
}

/* V118 - Landing Meta /clase-gratis/ (sin menú, máxima concentración en lead) */
.meta-landing-v118{margin:0;background:#f6faf8;color:#0d2b4f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}
.meta-landing-v118 *{box-sizing:border-box}
.meta-wrap-v118{width:min(1160px,calc(100% - 36px));margin:0 auto}
.meta-header-v118{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e2eee7}
.meta-header-in-v118{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.meta-brand-v118{display:flex;align-items:center;text-decoration:none}
.meta-brand-v118 img{width:210px;max-height:58px;object-fit:contain;display:block}
.meta-head-cta-v118,.meta-btn-main-v118{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;background:linear-gradient(135deg,#48b765,#15985d);color:#fff!important;text-decoration:none;font-weight:950;letter-spacing:.01em;box-shadow:0 12px 28px rgba(21,152,93,.22);transition:transform .18s ease,box-shadow .18s ease}
.meta-head-cta-v118:hover,.meta-btn-main-v118:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(21,152,93,.28)}
.meta-hero-v118{position:relative;padding:74px 0 64px;background:radial-gradient(circle at 83% 20%,rgba(72,183,101,.20),transparent 32%),radial-gradient(circle at 10% 90%,rgba(255,177,74,.14),transparent 30%),linear-gradient(135deg,#eef9f2 0%,#f9fcfb 48%,#edf5fb 100%)}
.meta-hero-v118:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#dcebe3,transparent)}
.meta-hero-grid-v118{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);gap:44px;align-items:center}
.meta-eyebrow-v118{display:inline-flex;padding:8px 13px;border-radius:999px;background:#e4f6eb;border:1px solid #c9ead5;color:#176b3a;font-size:12px;font-weight:950;letter-spacing:.08em}
.meta-hero-copy-v118 h1{margin:18px 0 16px;color:#0d2b4f;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,5.4vw,74px);line-height:.96;letter-spacing:-.045em;max-width:760px}
.meta-hero-copy-v118 h1 span{color:#168555}
.meta-hero-lead-v118{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#3d566d;max-width:760px;margin:0}
.meta-hero-actions-v118{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.meta-btn-ghost-v118,.meta-btn-light-v118{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;border:1px solid #cfe2d7;background:#fff;color:#0d2b4f!important;text-decoration:none;font-weight:900;transition:transform .18s ease,border-color .18s ease}
.meta-btn-ghost-v118:hover,.meta-btn-light-v118:hover{transform:translateY(-2px);border-color:#48b765}
.meta-trust-v118{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px;color:#30566c;font-size:13px;font-weight:800}
.meta-trust-v118 span{display:inline-flex;align-items:center;gap:6px}
.meta-offer-v118{padding:26px;border-radius:30px;background:linear-gradient(150deg,#0d2b4f,#123d6b);color:#fff;box-shadow:0 26px 60px rgba(13,43,79,.20);border:1px solid rgba(255,255,255,.13)}
.meta-offer-label-v118{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.07em;color:#fff}
.meta-price-normal-v118{font-size:15px;color:#d7e8f4;margin:18px 0 12px;font-weight:500}
.meta-price-v118,.meta-price-alt-v118{display:grid;gap:2px;padding:17px 0;border-top:1px solid rgba(255,255,255,.14)}
.meta-price-v118 strong,.meta-price-alt-v118 strong{font-size:42px;line-height:1;color:#fff}
.meta-price-v118 small,.meta-price-alt-v118 small{font-size:13px;color:#d9eaf5;line-height:1.35}
.meta-price-v118 strong{color:#74e29a}
.meta-offer-note-v118{margin:10px 0 0;font-size:13px;line-height:1.5;color:#e7f3fb}
.meta-block-v118{padding:76px 0}
.meta-about-v118{background:#fff}
.meta-section-head-v118{max-width:850px;margin:0 auto 34px;text-align:center}
.meta-section-head-v118>span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#edf8f1;color:#167442;border:1px solid #d4eddd;font-size:11px;font-weight:950;letter-spacing:.08em}
.meta-section-head-v118 h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.2vw,54px);line-height:1.03;letter-spacing:-.035em;color:#0d2b4f;margin:14px 0 12px}
.meta-section-head-v118 p{font-size:18px;line-height:1.6;color:#51687c;margin:0}
.meta-proof-grid-v118{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.meta-proof-grid-v118 article{padding:22px;border:1px solid #deebe4;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbf9);box-shadow:0 12px 30px rgba(13,43,79,.06)}
.meta-proof-grid-v118 b{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eaf8ef;font-size:21px;margin-bottom:14px}
.meta-proof-grid-v118 h3{font-size:18px;color:#0d2b4f;margin:0 0 7px}
.meta-proof-grid-v118 p{font-size:14px;line-height:1.52;color:#586f83;margin:0}
.meta-inline-cta-v118{margin-top:24px;padding:19px 22px;border-radius:22px;background:#0d2b4f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.meta-inline-cta-v118 div{display:grid;gap:2px}.meta-inline-cta-v118 strong{font-size:18px}.meta-inline-cta-v118 span{font-size:14px;color:#dbeaf4}
.meta-inline-cta-v118 a{white-space:nowrap;text-decoration:none;background:#48b765;color:#fff;padding:11px 16px;border-radius:999px;font-weight:900}
.meta-courses-v118{background:linear-gradient(180deg,#f4f9f6,#eef6f2)}
.meta-course-top-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:30px}
.meta-course-top-v118 article{padding:24px;border-radius:24px;background:#fff;border:1px solid #dcebe3;box-shadow:0 14px 35px rgba(13,43,79,.07)}
.meta-course-top-v118 article>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#0d2b4f;color:#fff;font-size:12px;font-weight:950;margin-bottom:13px}
.meta-course-top-v118 h3{font-size:20px;margin:0 0 8px;color:#0d2b4f}.meta-course-top-v118 p{margin:0;color:#5b7082;line-height:1.52}
.meta-form-shell-v118{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:30px;padding:34px;border-radius:32px;background:linear-gradient(140deg,#0d2b4f,#123d6b);box-shadow:0 28px 70px rgba(13,43,79,.20);margin:30px 0;color:#fff;scroll-margin-top:92px}
.meta-form-copy-v118{padding:9px 5px}.meta-form-copy-v118>span{font-size:12px;font-weight:950;letter-spacing:.08em;color:#74e29a}.meta-form-copy-v118 h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,3.8vw,48px);line-height:1.02;color:#fff;margin:12px 0 13px}.meta-form-copy-v118 p{font-size:17px;line-height:1.55;color:#e3eef6;margin:0}.meta-form-copy-v118 ul{padding-left:20px;margin:20px 0 0;color:#edf7ff;line-height:1.65}
.meta-lead-form-v118{background:#fff;color:#0d2b4f;padding:23px;border-radius:25px;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.meta-lead-form-v118 label{display:grid;gap:6px;font-size:13px;font-weight:850;color:#26445b}.meta-lead-form-v118 input:not([type="checkbox"]),.meta-lead-form-v118 select{width:100%;min-height:48px;border:1px solid #d7e5dd;border-radius:13px;padding:10px 12px;background:#fbfdfc;color:#0d2b4f;font-size:15px;outline:none}.meta-lead-form-v118 input:focus,.meta-lead-form-v118 select:focus{border-color:#48b765;box-shadow:0 0 0 3px rgba(72,183,101,.13)}
.meta-lead-form-v118 label:nth-of-type(4){grid-column:1/-1}.meta-privacy-v118{grid-column:1/-1!important;display:flex!important;align-items:flex-start;gap:9px!important;font-weight:650!important;line-height:1.4!important}.meta-privacy-v118 input{margin-top:3px}.meta-privacy-v118 a{color:#0d7f54;font-weight:850}
.meta-lead-form-v118 button{grid-column:1/-1;border:0;border-radius:999px;min-height:52px;padding:12px 18px;background:linear-gradient(135deg,#48b765,#15985d);color:#fff;font-size:15px;font-weight:950;cursor:pointer;box-shadow:0 12px 26px rgba(21,152,93,.22)}
.meta-lead-form-v118>small{grid-column:1/-1;color:#6b7f90;line-height:1.35;text-align:center}
.meta-community-v118{padding:24px;border-radius:25px;background:#fff;border:1px solid #dcebe3;text-align:center}.meta-community-v118 h3{font-size:24px;color:#0d2b4f;margin:0 0 8px}.meta-community-v118 p{max-width:800px;margin:0 auto 18px;color:#5d7183;line-height:1.5}.meta-community-chips-v118{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.meta-community-chips-v118 span{padding:7px 11px;border-radius:999px;background:#eef8f2;color:#285745;border:1px solid #d7ebdf;font-size:12px;font-weight:850}
.meta-final-v118{background:#fff;padding-top:66px;padding-bottom:80px}.meta-final-card-v118{text-align:center;padding:46px;border-radius:34px;background:radial-gradient(circle at 10% 10%,rgba(72,183,101,.23),transparent 28%),linear-gradient(140deg,#0d2b4f,#123d6b);color:#fff;box-shadow:0 26px 65px rgba(13,43,79,.18)}
.meta-final-kicker-v118{font-size:11px;font-weight:950;letter-spacing:.09em;color:#80e7a4}.meta-final-card-v118 h2{max-width:900px;margin:12px auto 13px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.2vw,55px);line-height:1.03;color:#fff}.meta-final-card-v118>p{max-width:760px;margin:0 auto;color:#e2edf5;font-size:17px;line-height:1.55}.meta-final-actions-v118{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:25px}.meta-btn-light-v118{background:#fff}.meta-price-foot-v118{margin-top:18px!important;font-size:12.5px!important;color:#cbdce8!important}
.meta-footer-v118{padding:25px 0;background:#f5f8f6;border-top:1px solid #dfeae4}.meta-footer-in-v118{display:flex;align-items:center;justify-content:space-between;gap:20px}.meta-footer-in-v118 img{width:180px;max-height:55px;object-fit:contain}.meta-footer-in-v118>div{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap;color:#708291;font-size:12px}.meta-footer-in-v118 a{color:#36566d;font-weight:800;text-decoration:none}
.meta-landing-v118 .hp-field-v53{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:900px){
  .meta-hero-grid-v118,.meta-form-shell-v118{grid-template-columns:1fr}.meta-proof-grid-v118{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-course-top-v118{grid-template-columns:1fr}.meta-offer-v118{max-width:620px}.meta-form-copy-v118{padding:0}.meta-form-shell-v118{padding:24px}
}
@media(max-width:640px){
  .meta-wrap-v118{width:min(100% - 24px,1160px)}.meta-header-in-v118{min-height:66px}.meta-brand-v118 img{width:156px}.meta-head-cta-v118{font-size:12px;min-height:42px;padding:9px 12px}.meta-hero-v118{padding:44px 0 40px}.meta-hero-copy-v118 h1{font-size:42px;line-height:1}.meta-hero-lead-v118{font-size:17px}.meta-hero-actions-v118{display:grid}.meta-hero-actions-v118 a{width:100%}.meta-trust-v118{display:grid;gap:8px}.meta-offer-v118{padding:21px;border-radius:24px}.meta-block-v118{padding:52px 0}.meta-section-head-v118{text-align:left}.meta-section-head-v118 h2{font-size:36px}.meta-section-head-v118 p{font-size:16px}.meta-proof-grid-v118{grid-template-columns:1fr}.meta-inline-cta-v118{align-items:flex-start;flex-direction:column}.meta-inline-cta-v118 a{width:100%;text-align:center}.meta-form-shell-v118{margin-left:-2px;margin-right:-2px;padding:18px;border-radius:25px}.meta-form-copy-v118 h2{font-size:34px}.meta-form-copy-v118 p{font-size:15px}.meta-lead-form-v118{grid-template-columns:1fr;padding:17px}.meta-lead-form-v118 label:nth-of-type(4),.meta-privacy-v118,.meta-lead-form-v118 button,.meta-lead-form-v118>small{grid-column:auto}.meta-community-v118{padding:20px 14px}.meta-final-card-v118{padding:30px 18px;border-radius:26px}.meta-final-card-v118 h2{font-size:35px}.meta-final-actions-v118{display:grid}.meta-final-actions-v118 a{width:100%}.meta-footer-in-v118{flex-direction:column;align-items:flex-start}.meta-footer-in-v118>div{justify-content:flex-start}
}

/* V119 - Landing Meta Ads general / segmentada por comunidad. Sin precios ni oferta. */
.meta-landing-v119{margin:0;background:#f5f8f7;color:#0d2b4f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}
.meta-landing-v119 *{box-sizing:border-box}
.meta119-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.meta119-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #dce7e2}
.meta119-header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.meta119-brand{display:flex;align-items:center;max-width:250px}
.meta119-brand img{display:block;width:auto;max-width:100%;height:58px;object-fit:contain}
.meta119-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;background:#1fab6f;color:#fff!important;text-decoration:none;font-weight:900;letter-spacing:.01em;box-shadow:0 8px 22px rgba(31,171,111,.2)}
.meta119-hero{padding:70px 0 58px;background:radial-gradient(circle at 82% 10%,rgba(31,171,111,.16),transparent 32%),linear-gradient(135deg,#0c2b4d 0%,#113b68 72%,#0e4d64 100%);color:#fff}
.meta119-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:54px;align-items:center}
.meta119-kicker{display:inline-block;font-size:13px;font-weight:900;letter-spacing:.1em;color:#b9f2d6;margin-bottom:16px}
.meta119-community-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:14px;font-weight:800;margin:0 0 18px}
.meta119-hero h1{margin:0;max-width:760px;font-size:clamp(38px,5.2vw,68px);line-height:1.02;letter-spacing:-.045em;color:#fff}
.meta119-hero-copy>p{max-width:760px;margin:22px 0 0;font-size:clamp(18px,2vw,22px);line-height:1.5;color:#e3edf5}
.meta119-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.meta119-btn-primary,.meta119-btn-secondary,.meta119-btn-light{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:999px;text-decoration:none!important;font-weight:950;letter-spacing:.015em;text-align:center}
.meta119-btn-primary{background:#24b873;color:#fff!important;box-shadow:0 12px 28px rgba(36,184,115,.27)}
.meta119-btn-primary:hover{transform:translateY(-1px);background:#1da969}
.meta119-btn-secondary{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.45)}
.meta119-btn-secondary:hover{background:rgba(255,255,255,.08)}
.meta119-trustbar{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;font-size:14px;font-weight:750;color:#d8e7f2}
.meta119-map-card{background:#fff;border-radius:30px;padding:24px;box-shadow:0 24px 70px rgba(2,20,38,.28);color:#0d2b4f;transform:rotate(1.2deg)}
.meta119-map-card img{display:block;width:100%;max-height:350px;object-fit:contain}
.meta119-map-copy{display:flex;flex-direction:column;gap:4px;padding:10px 10px 2px;text-align:center}
.meta119-map-copy strong{font-size:24px;color:#0d2b4f}.meta119-map-copy span{font-size:14px;color:#5b6f80}
.meta119-section{padding:78px 0}
.meta119-section-head{max-width:830px;margin:0 auto 38px;text-align:center}
.meta119-section-head>span{display:inline-block;margin-bottom:10px;font-size:13px;font-weight:950;letter-spacing:.12em;color:#168d5a}
.meta119-section-head h2{margin:0;color:#0d2b4f;font-size:clamp(31px,4.2vw,50px);line-height:1.08;letter-spacing:-.035em}
.meta119-section-head p{margin:16px auto 0;max-width:780px;color:#536b7d;font-size:18px;line-height:1.6}
.meta119-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.meta119-proof-grid article{background:#fff;border:1px solid #dfe9e5;border-radius:24px;padding:26px;box-shadow:0 12px 34px rgba(13,43,79,.06)}
.meta119-proof-grid b{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e9fbf2;font-size:24px;margin-bottom:18px}
.meta119-proof-grid h3{margin:0 0 8px;color:#0d2b4f;font-size:20px}.meta119-proof-grid p{margin:0;color:#5c6f7f;line-height:1.55}
.meta119-proof-strip{display:flex;gap:12px;align-items:center;margin-top:22px;padding:18px 22px;border-radius:18px;background:#eaf7f0;color:#244d42}.meta119-proof-strip strong{white-space:nowrap;color:#0d2b4f}.meta119-proof-strip span{line-height:1.45}
.meta119-method{background:#0d2b4f;color:#fff}
.meta119-section-head-light>span{color:#85e9ba}.meta119-section-head-light h2{color:#fff}.meta119-section-head-light p{color:#ccdae6}
.meta119-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}
.meta119-method-grid article{position:relative;overflow:hidden;min-height:220px;padding:28px;border-radius:24px;background:linear-gradient(145deg,#12385f,#174a72);border:1px solid rgba(255,255,255,.12)}
.meta119-method-grid article>span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#24b873;color:#fff;font-weight:950;margin-bottom:34px}
.meta119-method-grid h3{margin:0 0 8px;color:#fff;font-size:24px}.meta119-method-grid p{margin:0;color:#d8e3ec;line-height:1.55}
.meta119-form-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:38px;align-items:center;background:#fff;color:#0d2b4f;border-radius:30px;padding:36px;box-shadow:0 24px 70px rgba(2,17,31,.25)}
.meta119-form-copy>span{display:inline-block;font-size:12px;font-weight:950;letter-spacing:.11em;color:#168d5a;margin-bottom:10px}
.meta119-form-copy h2{margin:0;font-size:clamp(30px,3.5vw,44px);line-height:1.08;color:#0d2b4f;letter-spacing:-.03em}
.meta119-form-copy p{font-size:17px;line-height:1.58;color:#536b7d}.meta119-form-copy ul{padding-left:21px;margin:20px 0 0;color:#31546e;line-height:1.75;font-weight:650}
.meta119-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f5f8f7;border:1px solid #dfe9e5;border-radius:24px;padding:24px}
.meta119-form label{display:flex;flex-direction:column;gap:7px;color:#0d2b4f;font-size:14px;font-weight:850}.meta119-form label:nth-of-type(3),.meta119-form label:nth-of-type(4){grid-column:auto}
.meta119-form input,.meta119-form select{width:100%;height:49px;border:1px solid #cfdcd6;border-radius:12px;padding:0 13px;background:#fff;color:#0d2b4f;font:inherit;font-weight:550;outline:none}
.meta119-form input:focus,.meta119-form select:focus{border-color:#24b873;box-shadow:0 0 0 3px rgba(36,184,115,.13)}
.meta119-form .meta119-privacy{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;font-size:12px;font-weight:550;color:#5a6f7d}.meta119-privacy input{width:18px;height:18px;margin:0}.meta119-privacy a{color:#0d5f9d}
.meta119-form button{grid-column:1/-1;min-height:54px;border:0;border-radius:999px;background:#24b873;color:#fff;font-weight:950;font-size:15px;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 24px rgba(36,184,115,.24)}
.meta119-form button:hover{background:#1da969}.meta119-form>small{grid-column:1/-1;text-align:center;color:#6d7d89;font-size:11px}
.meta-landing-v119 .hp-field-v53{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.meta119-final{background:#f5f8f7}
.meta119-final-card{padding:50px;border-radius:34px;background:linear-gradient(135deg,#0d2b4f,#174a72);text-align:center;color:#fff;box-shadow:0 22px 60px rgba(13,43,79,.17)}
.meta119-final-card>span{display:inline-block;font-size:13px;font-weight:950;letter-spacing:.12em;color:#8fe6ba;margin-bottom:12px}
.meta119-final-card h2{max-width:900px;margin:0 auto;color:#fff;font-size:clamp(32px,4.5vw,54px);line-height:1.08;letter-spacing:-.035em}.meta119-final-card>p{max-width:780px;margin:16px auto 0;color:#d8e4ed;font-size:18px;line-height:1.55}
.meta119-final-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}.meta119-btn-light{border:1px solid rgba(255,255,255,.32);color:#fff!important;background:rgba(255,255,255,.08)}
.meta119-community-list{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:30px}.meta119-community-list span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.08);color:#dbe7ef;font-size:12px}.meta119-community-list .is-active{background:#24b873;color:#fff;font-weight:900}
.meta119-footer{background:#fff;border-top:1px solid #dde8e3}.meta119-footer-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.meta119-footer img{display:block;height:54px;width:auto;max-width:220px;object-fit:contain}.meta119-footer-inner>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:#6a7d89}.meta119-footer a{color:#315a73;text-decoration:none}
@media(max-width:900px){
  .meta119-hero-grid{grid-template-columns:1fr;gap:34px}.meta119-map-card{max-width:540px;margin:0 auto;transform:none}.meta119-proof-grid{grid-template-columns:1fr 1fr}.meta119-method-grid{grid-template-columns:1fr}.meta119-form-card{grid-template-columns:1fr}.meta119-proof-strip{align-items:flex-start;flex-direction:column}.meta119-proof-strip strong{white-space:normal}
}
@media(max-width:640px){
  .meta119-wrap{width:min(100% - 24px,1180px)}.meta119-header-inner{height:68px}.meta119-brand{max-width:190px}.meta119-brand img{height:47px}.meta119-header-cta{min-height:40px;padding:0 15px;font-size:13px}.meta119-hero{padding:44px 0 40px}.meta119-kicker{font-size:11px}.meta119-hero h1{font-size:39px}.meta119-hero-copy>p{font-size:17px}.meta119-hero-actions{flex-direction:column}.meta119-btn-primary,.meta119-btn-secondary,.meta119-btn-light{width:100%;padding:0 16px}.meta119-map-card{border-radius:22px;padding:16px}.meta119-section{padding:54px 0}.meta119-section-head{margin-bottom:28px}.meta119-section-head h2{font-size:34px}.meta119-section-head p{font-size:16px}.meta119-proof-grid{grid-template-columns:1fr}.meta119-proof-grid article{padding:22px}.meta119-form-card{padding:20px;border-radius:22px;gap:24px}.meta119-form{grid-template-columns:1fr;padding:16px}.meta119-form label,.meta119-form label:nth-of-type(3),.meta119-form label:nth-of-type(4),.meta119-form .meta119-privacy,.meta119-form button,.meta119-form>small{grid-column:1}.meta119-final-card{padding:34px 20px;border-radius:24px}.meta119-final-card h2{font-size:35px}.meta119-footer-inner{padding:18px 0;flex-direction:column;justify-content:center;text-align:center}.meta119-footer-inner>div{justify-content:center}
}


/* V123 — MOBILE HARDENING GLOBAL: 320/360/390/430/768
   Revisión de cabecera, menú, CTA, footer, popup, cookies y anchos.
   Objetivo: cero scroll horizontal y controles táctiles alineados en móvil. */
@media (max-width:860px){
  html{overflow-x:hidden!important;scroll-padding-top:92px!important}
  body{overflow-x:hidden!important;padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  body.meta120,body.thanks122{padding-bottom:0!important}
  img,video,iframe{max-width:100%!important;height:auto}

  /* Cabecera móvil: solo logo + hamburguesa. Los contactos quedan en la franja inferior. */
  .topbar-html{display:none!important}
  .site-header{height:auto!important;min-height:78px!important;position:sticky!important;top:0!important;overflow:visible!important}
  .site-header .container.nav,.site-header .container.nav-premium,.nav,.nav-premium{
    width:calc(100% - 20px)!important;max-width:100%!important;height:auto!important;min-height:78px!important;
    grid-template-columns:minmax(0,1fr) 46px!important;gap:8px!important;align-items:center!important;
    padding:5px 0!important;margin-left:auto!important;margin-right:auto!important
  }
  .brand{width:100%!important;max-width:100%!important;min-width:0!important;height:68px!important;min-height:68px!important;overflow:hidden!important}
  .brand picture{width:100%!important;min-width:0!important}
  .brand img{width:min(260px,100%)!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:66px!important;object-fit:contain!important;object-position:left center!important}
  .menu-toggle{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;min-width:46px!important;padding:0!important;margin:0!important;border-radius:13px!important;font-size:24px!important;line-height:1!important}
  .header-actions{display:none!important}

  /* Menú desplegado: ancho real del móvil, sin columnas o submenús fuera de pantalla. */
  .main-nav{grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0 0 8px!important;overflow:visible!important}
  .main-nav.is-open{display:block!important}
  .main-nav>ul{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:8px!important;border-radius:18px!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:calc(100dvh - 160px)!important;box-shadow:0 14px 30px rgba(13,43,79,.10)!important}
  .main-nav li{width:100%!important;max-width:100%!important;min-width:0!important}
  .main-nav a{max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;padding:11px 12px!important}
  .main-nav li ul,.mobile-submenu-v47{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:4px 0 4px 10px!important;overflow-x:hidden!important;box-shadow:none!important}
  .main-nav li ul a{padding:10px!important;font-size:13.5px!important}
  .menu-flag-v44{width:28px!important;height:20px!important;min-width:28px!important;object-fit:cover!important;flex:0 0 28px!important}
  .mobile-accordion-item-v47>a{max-width:calc(100% - 46px)!important}
  .mobile-submenu-toggle-v47{position:absolute!important;right:5px!important;top:5px!important;margin:0!important;width:36px!important;height:36px!important}

  /* Franja de contacto móvil: dos botones simétricos y sin desbordes. */
  .mobile-contact-strip{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;max-width:100%!important;gap:6px!important;padding:7px 10px!important;box-sizing:border-box!important}
  .mobile-contact-strip a{width:100%!important;min-width:0!important;max-width:100%!important;min-height:40px!important;padding:8px 8px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Barra fija inferior: respeta notch/safe area y no fuerza ancho. */
  .mobile-fixed-contact-v47{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;max-width:calc(100% - 16px)!important}
  .mobile-fixed-contact-v47 a{min-width:0!important;max-width:100%!important;min-height:48px!important;padding:9px 8px!important;font-size:13px!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
  .float-wa{display:none!important}

  /* Contenedores generales y footer. */
  .container{width:calc(100% - 24px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .footer{padding:34px 0 calc(100px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
  .footer-in{width:100%!important;max-width:100%!important;grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:16px!important;padding-bottom:18px!important}
  .footer-in>*,.footer-contact-v100{min-width:0!important;max-width:100%!important}
  .footer img{width:min(220px,72vw)!important;max-width:100%!important;margin:0 auto 4px!important}
  .footer-contact-v100{align-items:center!important;text-align:center!important;width:100%!important}
  .footer-contact-v100 a{max-width:100%!important;overflow-wrap:anywhere!important}
  .footer nav{display:block!important;width:100%!important;max-width:100%!important}
  .footer nav>ul{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px 14px!important}
  .footer nav li,.footer nav a{max-width:100%!important;min-width:0!important}
  .footer nav a{display:block!important;padding:4px 2px!important;overflow-wrap:anywhere!important}
  .footer small{display:block!important;width:100%!important;max-width:100%!important;text-align:center!important;overflow-wrap:anywhere!important}

  /* Formularios y tarjetas: nunca más anchos que su contenedor. */
  .split-section,.hero-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .split-section>*,.hero-grid>*{min-width:0!important;max-width:100%!important}
  .physio-panel,.physio-panel>img,.physio-panel>div{width:100%!important;max-width:100%!important;min-width:0!important}
  .physio-panel>div{padding:20px 18px 22px!important}

  .request-page-v47,.request-form-v47,.contact-panel,.page-visual-v35,.visual-contact-panel-v35,.contact-first-v35,
  .courses-main-bubble-v37,.cursos-bubble-v37,.spain-map-panel-v99,.spain-map-panel-v98,.spain-map-panel-v96{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
  .request-form-v47{padding:18px 14px!important;border-radius:22px!important}
  .request-form-v47 input,.request-form-v47 select,.request-form-v47 textarea{min-width:0!important;max-width:100%!important}
}

@media (max-width:720px){
  /* Cursos: burbuja y mini-tarjetas más limpias en móvil. */
  .courses-main-bubble-v37{grid-template-columns:1fr!important;padding:16px!important;border-radius:24px!important;gap:14px!important}
  .courses-main-copy-v37{min-height:0!important}
  .courses-main-copy-v37 h1,.courses-main-copy-v37 h2{font-size:clamp(28px,8.2vw,36px)!important;line-height:1.03!important;margin:10px 0!important}
  .courses-main-copy-v37 p{font-size:15px!important;line-height:1.45!important}
  .courses-mini-grid-v37{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .courses-mini-grid-v37 article{min-width:0!important;min-height:0!important;padding:12px!important;border-radius:18px!important}

  /* Cookie: botones grandes y contenido dentro del viewport. */
  .opf-cookie-banner{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100% - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:13px!important;border-radius:18px!important}
  .opf-cookie-copy,.opf-cookie-actions{min-width:0!important;max-width:100%!important}
  .opf-cookie-copy p{font-size:13px!important;line-height:1.38!important}
  .opf-cookie-link{line-height:1.3!important;min-height:0!important;padding:5px 0!important}
}

@media (max-width:680px){
  /* Popup comercial: bottom-sheet compacto. El CTA queda mucho antes visible. */
  .opf-promo-v115{padding:6px!important;place-items:end center!important}
  .opf-promo-card-v115{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 12px)!important;border-radius:22px 22px 12px 12px!important;padding:14px 12px calc(14px + env(safe-area-inset-bottom))!important;text-align:center!important;overscroll-behavior:contain!important}
  .opf-promo-close-v115{top:9px!important;right:9px!important;width:38px!important;height:38px!important;font-size:27px!important}
  .opf-promo-logo-v115{padding:0 42px!important;margin:0 auto 2px!important;min-height:36px!important}
  .opf-promo-logo-v115 img{width:min(180px,62vw)!important;max-height:48px!important}
  .opf-promo-kicker-v115{margin:3px auto 7px!important;padding:5px 9px!important;font-size:10.5px!important;letter-spacing:.08em!important}
  .opf-promo-card-v115 h2{font-size:clamp(24px,7.4vw,31px)!important;line-height:1.02!important;margin:0 auto 7px!important;letter-spacing:-.025em!important}
  .opf-promo-lead-v115{font-size:13.5px!important;line-height:1.38!important;margin:0 auto 9px!important}
  .opf-promo-offers-v115{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:8px auto!important}
  .opf-promo-offer-v115{min-width:0!important;padding:9px 7px 8px!important;border-radius:16px!important}
  .opf-promo-offer-label-v115{font-size:9.5px!important;letter-spacing:.055em!important}
  .opf-promo-amount-v115{font-size:clamp(30px,9vw,38px)!important;margin:2px 0 0!important}
  .opf-promo-offer-v115 strong{font-size:12.5px!important;line-height:1.15!important;margin-top:2px!important}
  .opf-promo-offer-v115 p{font-size:11px!important;line-height:1.25!important;margin:4px 0 0!important}
  .opf-promo-note-v115{margin:7px auto 8px!important;padding:8px 9px!important;font-size:11.5px!important;line-height:1.32!important;border-radius:12px!important}
  .opf-promo-primary-v115{min-height:46px!important;padding:10px 12px!important;font-size:12.5px!important;line-height:1.15!important;white-space:normal!important}
  .opf-promo-secondary-v115{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;margin-top:7px!important}
  .opf-promo-secondary-v115 a{min-width:0!important;width:100%!important;min-height:40px!important;padding:8px 6px!important;font-size:11.5px!important;line-height:1.15!important;white-space:normal!important}
  .opf-promo-foot-v115{margin:7px 0 0!important;font-size:10.5px!important;line-height:1.25!important}
}

@media (max-width:360px){
  .site-header .container.nav,.site-header .container.nav-premium,.nav,.nav-premium{width:calc(100% - 16px)!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:6px!important}
  .brand{height:64px!important;min-height:64px!important}
  .brand img{width:min(230px,100%)!important;max-height:62px!important}
  .menu-toggle{width:44px!important;height:44px!important;min-width:44px!important}
  .mobile-contact-strip{padding:6px 8px!important;gap:5px!important}
  .mobile-contact-strip a{font-size:12px!important;padding:7px 5px!important}
  .courses-mini-grid-v37{grid-template-columns:1fr!important}
  .opf-promo-card-v115{padding-left:9px!important;padding-right:9px!important}
  .opf-promo-lead-v115{font-size:12.5px!important}
  .opf-promo-offer-v115 p{font-size:10.5px!important}
}

/* V124: contenido enriquecido creado desde CRM Pablo */
.rich-text-v124{line-height:1.6}.rich-text-v124>p:first-child,.rich-text-v124>div:first-child{margin-top:0}.rich-text-v124>p:last-child,.rich-text-v124>div:last-child{margin-bottom:0}.rich-card-text-v124{font-size:inherit;line-height:1.35}.rich-card-text-v124 p,.rich-card-text-v124 div{margin:0}.page-body font,.news-content-card-v38 font,.rich-text-v124 font,.rich-card-text-v124 font{line-height:inherit}
