:root{
  /* ===============================
     PALETA NUEVA
  =============================== */
  --blue-950:#0A2A66;
  --blue-900:#0F3C91;
  --blue-800:#1256C4;
  --blue-700:#0F6BFF;
  --blue-600:#1E7BFF;
  --blue-500:#3C8DFF;

  --purple-700:#5B2FB8;
  --purple-600:#6D3ED1;
  --purple-500:#7C52E8;

  --gold-600:#B88416;
  --gold-500:#D8A628;
  --gold-400:#F0C24B;

  --cream:#F7F0E4;
  --cream-2:#FBF7F0;
  --cream-3:#EFE4D0;
  --white:#FFFFFF;

  --ink:#182338;
  --ink-soft:#38455E;
  --muted:#6D7890;

  --danger:#B83838;
  --success:#1F9D55;

  --shadow:0 18px 42px rgba(18,38,79,.12);
  --shadow-strong:0 24px 54px rgba(18,38,79,.18);

  --radius:24px;
  --radius-lg:28px;
  --radius-md:16px;
  --radius-sm:12px;
}

/* ===============================
   BASE
=============================== */
*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top right, rgba(60,141,255,.10), transparent 26%),
    linear-gradient(180deg, var(--cream-2) 0%, var(--cream) 100%);
  line-height:1.6;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

button,
input,
textarea,
select{
  font:inherit;
}

.container{
  width:min(1180px,calc(100% - 32px));
  margin:auto;
}

/* ===============================
   NAV
=============================== */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(251,247,240,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,60,145,.10);
}

.nav-inner{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:Georgia,serif;
  font-weight:700;
  color:var(--blue-950);
}

.brand img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 5px 20px rgba(184,132,22,.20);
}

.brand span{
  font-size:18px;
  line-height:1.05;
}

.navlinks{
  display:flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  font-weight:700;
}

.navlinks a{
  color:var(--blue-950);
  transition:.2s ease;
}

.navlinks a:hover{
  color:var(--purple-600);
}

.nav-actions{
  display:flex;
  gap:10px;
}

/* ===============================
   BOTONES
=============================== */
.btn{
  border:0;
  border-radius:999px;
  padding:12px 20px;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:.22s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

/* Morado elegante */
.btn-primary{
  background:linear-gradient(135deg,var(--purple-600),var(--blue-700));
  color:white;
  box-shadow:0 10px 24px rgba(109,62,209,.24);
}

/* Amarillo */
.btn-gold{
  background:linear-gradient(135deg,var(--gold-500),var(--gold-400));
  color:#2A210D;
  box-shadow:0 10px 24px rgba(216,166,40,.22);
}

/* Transparente elegante */
.btn-ghost{
  background:transparent;
  border:1px solid rgba(15,60,145,.18);
  color:var(--blue-900);
}

.btn-ghost:hover{
  background:rgba(30,123,255,.06);
}

/* Peligro */
.btn-danger{
  background:#FFF2F2;
  color:var(--danger);
  border:1px solid #F0CACA;
}

/* ===============================
   HERO
=============================== */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(30,123,255,.18), transparent 24%),
    radial-gradient(circle at 18% 0%, rgba(240,194,75,.18), transparent 28%),
    linear-gradient(145deg, #FFF9F1 0%, #F6EEDC 100%);
  padding:88px 0 74px;
}

.hero:after{
  content:"";
  position:absolute;
  inset:auto -10% -170px auto;
  width:560px;
  height:560px;
  border:1px solid rgba(15,60,145,.08);
  border-radius:50%;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:52px;
  align-items:center;
}

.eyebrow{
  display:inline-block;
  color:var(--gold-600);
  background:rgba(240,194,75,.13);
  border:1px solid rgba(216,166,40,.22);
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}

.hero h1,
.section-title,
h1,
h2,
h3{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--blue-950);
  line-height:1.08;
}

.hero h1{
  font-size:clamp(46px,6vw,78px);
  margin:10px 0 20px;
}

.hero p{
  font-size:20px;
  color:var(--ink-soft);
  max-width:720px;
}

.hero-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,60,145,.10);
  border-radius:34px;
  padding:26px;
  box-shadow:var(--shadow);
}

.hero-card img{
  border-radius:26px;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}

.trust-row{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:30px;
  color:var(--ink-soft);
  font-size:14px;
}

.trust-row span{
  display:flex;
  gap:8px;
  align-items:center;
}

.dot{
  width:8px;
  height:8px;
  background:var(--gold-500);
  border-radius:50%;
}

/* ===============================
   SECCIONES
=============================== */
.section{
  padding:82px 0;
}

.section.alt{
  background:rgba(255,255,255,.38);
  border-top:1px solid rgba(15,60,145,.06);
  border-bottom:1px solid rgba(15,60,145,.06);
}

.section-head{
  max-width:760px;
  margin-bottom:34px;
}

.section-title{
  font-size:clamp(34px,4vw,52px);
  margin:8px 0 14px;
}

.section-sub{
  color:var(--muted);
  font-size:18px;
}

/* ===============================
   GRIDS
=============================== */
.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

/* ===============================
   TARJETAS
=============================== */
.card{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(15,60,145,.10);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 10px 30px rgba(18,38,79,.08);
}

.teacher-card{
  overflow:hidden;
  padding:0;
}

.teacher-card img{
  width:100%;
  aspect-ratio:4/4.5;
  object-fit:cover;
}

.teacher-body{
  padding:24px;
}

.teacher-body h3{
  font-size:27px;
  margin:0 0 6px;
}

.teacher-role{
  color:var(--gold-600);
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.quote{
  font-family:Georgia,serif;
  font-style:italic;
  color:#58657D;
  border-left:3px solid var(--gold-400);
  padding-left:16px;
}

.feature{
  padding:28px;
}

.feature .icon{
  width:48px;
  height:48px;
  border-radius:15px;
  background:rgba(30,123,255,.10);
  color:var(--blue-800);
  display:grid;
  place-items:center;
  font-size:21px;
  font-weight:900;
}

.feature h3{
  margin:16px 0 8px;
  font-size:23px;
}

/* ===============================
   PRICING
=============================== */
.pricing{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.price-card{
  background:linear-gradient(180deg,#FFFFFF,#FBF5E9);
  border:1px solid rgba(216,166,40,.20);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow);
}

.price{
  font-family:Georgia,serif;
  font-size:52px;
  color:var(--blue-950);
  font-weight:700;
}

.price small{
  font-family:Inter,sans-serif;
  font-size:14px;
  color:var(--muted);
  font-weight:600;
}

.notice{
  border:1px solid rgba(216,166,40,.24);
  background:#FFF7E6;
  border-radius:18px;
  padding:18px;
  color:#5F4A1D;
}

/* ===============================
   FOOTER
=============================== */
.footer{
  background:linear-gradient(180deg,var(--blue-950),#112549);
  color:#E6ECF8;
  padding:48px 0 28px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr .7fr;
  gap:28px;
}

.footer a{
  color:#E6ECF8;
}

.footer a:hover{
  color:var(--gold-400);
}

.footer small{
  color:#B8C4D8;
}

/* ===============================
   PAGE HERO
=============================== */
.page-hero{
  padding:62px 0;
  background:
    radial-gradient(circle at top right, rgba(30,123,255,.14), transparent 30%),
    linear-gradient(135deg,#FFF8EE,#F4E8D3);
}

.page-hero h1{
  font-size:clamp(38px,5vw,64px);
  margin:8px 0 12px;
}

/* ===============================
   BIO
=============================== */
.bio-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:42px;
  align-items:start;
}

.portrait{
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:white;
}

.portrait img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.bio-copy{
  font-size:18px;
  color:var(--ink-soft);
}

.bio-copy h2{
  font-size:40px;
  margin-top:0;
}

/* ===============================
   CAMPUS
=============================== */
.campus-shell{
  display:grid;
  grid-template-columns:280px 1fr;
  min-height:calc(100vh - 82px);
}

.sidebar{
  background:linear-gradient(180deg,var(--blue-950) 0%, var(--blue-900) 100%);
  color:white;
  padding:26px 18px;
}

.sidebar h3{
  color:white;
}

.side-link{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  color:#DDE7F9;
  margin-bottom:6px;
}

.side-link:hover,
.side-link.active{
  background:rgba(255,255,255,.10);
  color:white;
}

.campus-main{
  padding:34px;
  background:
    radial-gradient(circle at top right, rgba(30,123,255,.10), transparent 24%),
    linear-gradient(180deg,var(--cream-2) 0%, var(--cream) 100%);
}

.lesson-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.lesson{
  position:relative;
}

.lesson.locked{
  opacity:.58;
}

.pill{
  display:inline-flex;
  border-radius:999px;
  background:rgba(30,123,255,.10);
  color:var(--blue-900);
  font-size:12px;
  font-weight:800;
  padding:6px 10px;
}

.progress{
  height:10px;
  background:#E3E8F0;
  border-radius:999px;
  overflow:hidden;
}

.progress>div{
  height:100%;
  background:linear-gradient(90deg,var(--blue-700),var(--purple-500),var(--gold-400));
  width:0;
}

.video-wrap{
  position:relative;
  background:#09172C;
  border-radius:20px;
  overflow:hidden;
}

.video-wrap video{
  width:100%;
  display:block;
  max-height:68vh;
  background:black;
}

.watermark{
  position:absolute;
  inset:0;
  pointer-events:none;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.18);
  font-size:clamp(14px,3vw,28px);
  font-weight:900;
  transform:rotate(-24deg);
  text-align:center;
  white-space:pre-line;
}

/* ===============================
   AUTH / FORM
=============================== */
.auth-card,
.form-card{
  width:min(620px,100%);
  margin:50px auto;
  background:rgba(255,255,255,.90);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow);
  border:1px solid rgba(15,60,145,.10);
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:16px;
}

.field label{
  font-weight:800;
  font-size:14px;
  color:var(--blue-950);
}

.field input,
.field textarea,
.field select{
  border:1px solid #D5DDEB;
  background:#FFFFFF;
  border-radius:13px;
  padding:12px 14px;
  outline:none;
  color:var(--ink);
}

.field input:focus,
.field textarea:focus,
.field select:focus{
  border-color:var(--blue-600);
  box-shadow:0 0 0 3px rgba(30,123,255,.12);
}

.avatar{
  width:110px;
  height:110px;
  border-radius:50%;
  object-fit:cover;
  background:#E9EEF8;
  border:4px solid white;
  box-shadow:0 6px 20px rgba(0,0,0,.10);
}

.admin-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.muted{
  color:var(--muted);
}

.hidden{
  display:none!important;
}

.mobile-toggle{
  display:none;
}

/* ===============================
   TABLAS
=============================== */
.table-wrap{
  overflow:auto;
}

.table{
  width:100%;
  border-collapse:collapse;
}

.table th,
.table td{
  text-align:left;
  padding:12px;
  border-bottom:1px solid #E3E9F2;
  font-size:14px;
}

.table th{
  color:var(--blue-950);
}

/* ===============================
   TOAST
=============================== */
.toast{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:90;
  background:var(--blue-950);
  color:white;
  padding:13px 16px;
  border-radius:13px;
  box-shadow:var(--shadow);
  display:none;
}

.toast.show{
  display:block;
}

/* ===============================
   RESPONSIVE
=============================== */
@media(max-width:900px){
  .hero-grid,
  .bio-layout,
  .pricing,
  .footer-grid,
  .admin-grid{
    grid-template-columns:1fr;
  }

  .grid-3{
    grid-template-columns:1fr 1fr;
  }

  .hero{
    padding-top:60px;
  }

  .navlinks{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:82px;
    background:var(--cream-2);
    padding:18px 22px;
    border-bottom:1px solid rgba(15,60,145,.10);
    flex-direction:column;
    align-items:flex-start;
  }

  .navlinks.open{
    display:flex;
  }

  .nav-actions .btn-ghost{
    display:none;
  }

  .mobile-toggle{
    display:inline-flex;
  }

  .campus-shell{
    grid-template-columns:1fr;
  }

  .sidebar{
    display:none;
  }

  .lesson-grid{
    grid-template-columns:1fr;
  }

  .hero-card{
    max-width:560px;
  }

  .form-row{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .grid-3{
    grid-template-columns:1fr;
  }

  .container{
    width:min(100% - 22px,1180px);
  }

  .nav-inner{
    height:72px;
  }

  .brand img{
    width:46px;
    height:46px;
  }

  .brand span{
    font-size:15px;
  }

  .navlinks{
    top:72px;
  }

  .hero h1{
    font-size:46px;
  }

  .hero p{
    font-size:18px;
  }

  .section{
    padding:58px 0;
  }

  .price-card,
  .auth-card,
  .form-card{
    padding:24px;
  }

  .campus-main{
    padding:20px;
  }

  .page-hero{
    padding:42px 0;
  }
}


/* =========================================================
   MAESTROS · PERFILES Y GALERÍAS
========================================================= */

.teacher-click-card{
  display:block;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease;
}

.teacher-click-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-strong);
}

.teacher-profile-button{
  margin-top:12px;
}

.teacher-detail-grid{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:38px;
  align-items:start;
}

.teacher-main-photo{
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid rgba(15,60,145,.10);
}

.teacher-main-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.teacher-about-card{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(15,60,145,.10);
  border-radius:28px;
  padding:32px;
  box-shadow:var(--shadow);
}

.teacher-about-card h2{
  font-size:clamp(34px,4vw,50px);
  margin:12px 0 18px;
}

.teacher-long-bio{
  white-space:pre-line;
  color:var(--ink-soft);
  font-size:18px;
}

.teacher-quote{
  margin-top:24px;
  font-size:18px;
}

.gallery-section-head{
  max-width:900px;
  margin-bottom:36px;
}

.gallery-main-title{
  font-size:clamp(42px,5vw,64px);
  letter-spacing:.02em;
  margin-bottom:10px;
}

.media-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start;
}

.media-gallery-card{
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,60,145,.10);
  box-shadow:0 10px 28px rgba(18,38,79,.09);
}

.media-gallery-media{
  background:#0a1324;
}

.media-gallery-media img,
.media-gallery-media video{
  width:100%;
  display:block;
}

.media-gallery-image-card .media-gallery-media img{
  aspect-ratio:4/3;
  object-fit:cover;
}

.media-gallery-video-card{
  grid-column:1 / -1;
  border-radius:28px;
}

.media-gallery-video-card .media-gallery-media{
  background:#000;
}

.media-gallery-video-card .media-gallery-media video{
  width:100%;
  aspect-ratio:16/9;
  object-fit:contain;
  background:#000;
  max-height:760px;
}

.media-gallery-video-card .media-gallery-copy{
  padding:22px 24px 24px;
}

.media-gallery-video-card .media-gallery-copy h3{
  font-size:clamp(26px,3vw,36px);
}

.media-gallery-image-card .media-gallery-media img{
  min-height:320px;
}

.media-gallery-image-card{
  min-width:0;
}

.media-gallery-copy{
  padding:18px;
}

.media-gallery-copy h3{
  margin:0 0 8px;
  font-size:22px;
}

.media-gallery-copy p{
  margin:0;
  color:var(--muted);
}


/* =========================================================
   PODCAST
========================================================= */

.podcast-feed{
  width:min(880px,100%);
  margin:0 auto;
  display:grid;
  gap:30px;
}

.podcast-post{
  padding:0;
  overflow:hidden;
}

.podcast-post-head{
  padding:24px 26px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.podcast-post>h2{
  padding:0 26px;
  font-size:clamp(30px,4vw,44px);
  margin:18px 0 10px;
}

.podcast-description{
  padding:0 26px;
  color:var(--ink-soft);
  font-size:17px;
  white-space:pre-line;
}

.podcast-video{
  width:100%;
  max-height:620px;
  display:block;
  background:#000;
  margin-top:22px;
}

.podcast-comments-wrap{
  padding:24px 26px 28px;
  background:#fbf7f0;
  border-top:1px solid rgba(15,60,145,.08);
}

.podcast-comments-wrap h3{
  margin:0 0 18px;
  font-size:24px;
}

.podcast-comments{
  display:grid;
  gap:14px;
}

.podcast-comment{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:start;
}

.comment-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
  background:#e7edf8;
}

.comment-avatar-fallback{
  display:grid;
  place-items:center;
  color:var(--blue-900);
}

.podcast-comment-body{
  background:#fff;
  border:1px solid rgba(15,60,145,.10);
  border-radius:16px;
  padding:12px 14px;
}

.podcast-comment-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  font-size:13px;
}

.podcast-comment-top span{
  color:var(--muted);
}

.podcast-comment-body p{
  margin:7px 0 0;
  white-space:pre-line;
}

.comment-delete{
  border:0;
  background:transparent;
  color:var(--danger);
  padding:7px 0 0;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.podcast-comment-form{
  margin-top:20px;
}

.podcast-comment-form textarea{
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid #d5ddeb;
  border-radius:16px;
  padding:13px 14px;
  background:#fff;
  color:var(--ink);
}

.comment-form-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:10px;
}


/* =========================================================
   ADMINISTRADOR DE CONTENIDO
========================================================= */

.content-admin-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.check-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:12px 0 20px;
  font-weight:700;
  color:var(--blue-950);
}

.content-list{
  display:grid;
  gap:10px;
}

.content-list-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:14px;
  border:1px solid rgba(15,60,145,.10);
  border-radius:15px;
  background:rgba(255,255,255,.72);
}

.content-list-row>div:first-child{
  min-width:0;
}

.content-list-row strong,
.content-list-row small{
  display:block;
}

.content-list-row small{
  color:var(--muted);
  margin-top:3px;
}

.content-list-row p{
  margin:7px 0 0;
  color:var(--ink-soft);
  white-space:pre-line;
}

.content-row-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.comment-admin-row{
  align-items:flex-start;
}


/* =========================================================
   RESPONSIVE NUEVO CONTENIDO
========================================================= */

@media(max-width:900px){
  .teacher-detail-grid,
  .content-admin-grid{
    grid-template-columns:1fr;
  }

  .media-gallery-grid{
    grid-template-columns:1fr;
  }

  .media-gallery-video-card{
    grid-column:auto;
  }

  .media-gallery-image-card .media-gallery-media img{
    min-height:0;
  }

  .nav-actions .mobile-toggle{
    display:inline-flex!important;
  }
}

@media(max-width:620px){
  .media-gallery-grid{
    grid-template-columns:1fr;
  }

  .teacher-about-card{
    padding:22px;
  }

  .podcast-post-head,
  .podcast-post>h2,
  .podcast-description,
  .podcast-comments-wrap{
    padding-left:18px;
    padding-right:18px;
  }

  .content-list-row{
    flex-direction:column;
    align-items:stretch;
  }

  .content-row-actions{
    justify-content:flex-start;
  }
}


.upload-status{
  border:1px solid rgba(15,60,145,.12);
  background:rgba(255,255,255,.86);
  border-radius:14px;
  padding:12px 14px;
}

.upload-status-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
  font-size:13px;
}

.upload-progress{
  height:10px;
  border-radius:999px;
  background:#e8edf6;
  overflow:hidden;
}

.upload-progress>div{
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#0F6BFF,#6D3ED1);
  transition:width .18s linear;
}




/* =========================================================
   CUMBRE DE IDENTIDAD · REDISEÑO DEFINITIVO 2026
   Azul rey + azul metálico + beige + naranja fluorescente
========================================================= */

:root{
  --royal-950:#071B58;
  --royal-900:#0A2A88;
  --royal-800:#123FBF;
  --royal-700:#1B55E5;

  --metal-900:#3D5878;
  --metal-700:#6788AD;
  --metal-500:#9DB4CC;
  --metal-300:#CCD8E5;

  --neon-orange:#FF5A00;
  --neon-orange-2:#FF7A00;
  --neon-orange-soft:#FFF0E4;

  --beige-50:#FCF8F1;
  --beige-100:#F5EBDD;
  --beige-200:#EAD9C3;
  --beige-300:#DCC5A7;

  --blue-950:var(--royal-950);
  --blue-900:var(--royal-900);
  --blue-800:var(--royal-800);
  --blue-700:var(--royal-700);
  --blue-600:#2F67ED;
  --blue-500:#4B7AF1;

  --purple-700:var(--metal-900);
  --purple-600:var(--metal-700);
  --purple-500:var(--metal-500);

  --gold-600:#D94A00;
  --gold-500:var(--neon-orange);
  --gold-400:var(--neon-orange-2);

  --cream:var(--beige-100);
  --cream-2:var(--beige-50);
  --cream-3:var(--beige-200);

  --ink:#122446;
  --ink-soft:#425774;
  --muted:#6C7C92;

  --shadow:0 18px 45px rgba(7,27,88,.12);
  --shadow-strong:0 26px 70px rgba(7,27,88,.18);
}

/* ---------- BASE ---------- */

html{
  background:var(--beige-100);
}

body{
  color:var(--ink);
  background:
    linear-gradient(180deg,var(--beige-50) 0%,var(--beige-100) 100%);
}

.container{
  width:min(1220px,calc(100% - 48px));
}

::selection{
  background:var(--neon-orange);
  color:#fff;
}

/* ---------- NAVEGACIÓN ---------- */

.nav{
  position:sticky;
  top:0;
  z-index:90;
  background:transparent;
  box-shadow:0 8px 28px rgba(7,27,88,.14);
}

.nav-menu-shell{
  position:relative;
  background:
    linear-gradient(95deg,
      var(--royal-950) 0%,
      var(--royal-800) 46%,
      var(--metal-900) 100%);
  border-bottom:3px solid var(--neon-orange);
}

.nav-inner{
  min-height:68px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.navlinks{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  white-space:nowrap;
}

.navlinks a{
  color:#fff;
  padding:10px 13px;
  border-radius:10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}

.navlinks a:hover{
  color:#fff;
  background:rgba(255,255,255,.13);
}

.nav-actions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:9px;
}

.language-switcher{
  display:flex;
  gap:3px;
  padding:4px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:10px;
  background:rgba(255,255,255,.09);
}

.language-option{
  border:0;
  border-radius:7px;
  padding:7px 9px;
  background:transparent;
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

.language-option.active{
  background:var(--neon-orange);
  color:#fff;
  box-shadow:0 0 18px rgba(255,90,0,.42);
}

/* ---------- BOTONES ---------- */

.btn{
  border-radius:10px;
  padding:12px 21px;
  font-weight:900;
  letter-spacing:.02em;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-primary,
.btn-gold{
  color:#fff;
  background:
    linear-gradient(135deg,var(--neon-orange) 0%,var(--neon-orange-2) 100%);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:
    0 10px 26px rgba(255,90,0,.30),
    0 0 20px rgba(255,90,0,.12);
}

.btn-primary:hover,
.btn-gold:hover{
  background:linear-gradient(135deg,#FF6A00,#FF4300);
  box-shadow:
    0 14px 34px rgba(255,90,0,.38),
    0 0 26px rgba(255,90,0,.18);
}

.btn-ghost{
  color:var(--royal-900);
  background:rgba(255,255,255,.72);
  border:1px solid var(--metal-500);
}

.btn-ghost:hover{
  color:var(--neon-orange);
  border-color:var(--neon-orange);
  background:#fff;
}

/* ---------- HERO PRINCIPAL ---------- */

.hero{
  position:relative;
  overflow:hidden;
  padding:76px 0 92px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.38),transparent 32%),
    linear-gradient(135deg,var(--beige-50) 0%,var(--beige-100) 55%,#E4D2BA 100%);
}

.hero:before{
  content:"";
  position:absolute;
  left:-120px;
  top:80px;
  width:280px;
  height:460px;
  border-radius:0 170px 170px 0;
  background:
    linear-gradient(180deg,var(--royal-800),var(--metal-700));
  opacity:.10;
}

.hero:after{
  content:"";
  position:absolute;
  right:-160px;
  bottom:-150px;
  width:460px;
  height:460px;
  border-radius:50%;
  border:58px solid rgba(18,63,191,.06);
}

.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr!important;
  max-width:1040px;
  margin:auto;
  text-align:center;
}

.hero-grid>div:first-child{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.home-brand-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  margin:0 auto 34px;
}

.home-brand-logo{
  width:clamp(135px,13vw,190px);
  height:clamp(135px,13vw,190px);
  object-fit:contain;
  border-radius:50%;
  background:#fff;
  padding:8px;
  box-shadow:
    0 25px 58px rgba(7,27,88,.18),
    0 0 0 8px rgba(103,136,173,.12);
}

.home-brand-title{
  margin-top:18px;
  color:var(--royal-900);
  font-family:"Snell Roundhand","Segoe Script","Brush Script MT","URW Chancery L",cursive;
  font-size:clamp(54px,6vw,88px);
  font-weight:700;
  line-height:.95;
  text-align:center;
  text-shadow:0 2px 0 #fff;
}

.hero .eyebrow{
  margin-top:6px;
}

.hero h1{
  max-width:930px;
  margin:18px auto 18px;
  color:var(--royal-950);
  font-size:clamp(44px,5.3vw,72px);
  letter-spacing:-.04em;
}

.hero p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  color:var(--ink-soft);
  font-size:19px;
}

.hero-actions{
  justify-content:center;
  margin-top:30px;
}

.trust-row{
  justify-content:center;
  margin-top:26px;
}

.hero-card{
  display:none!important;
}

/* ---------- ETIQUETAS / TÍTULOS ---------- */

.eyebrow{
  color:var(--royal-900);
  background:
    linear-gradient(90deg,rgba(103,136,173,.14),rgba(255,255,255,.40));
  border:1px solid rgba(103,136,173,.28);
  border-left:4px solid var(--neon-orange);
  border-radius:8px;
  padding:7px 12px;
}

.section-head{
  max-width:850px;
}

.section-title,
h1,h2,h3{
  color:var(--royal-950);
}

.section-title{
  position:relative;
  padding-bottom:16px;
}

.section-title:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--neon-orange),var(--metal-700));
}

/* ---------- SECCIONES ---------- */

.section{
  padding:88px 0;
}

.section.alt{
  background:
    linear-gradient(180deg,#EEE0CE 0%,#F8F0E5 100%);
  border-top:1px solid rgba(61,88,120,.12);
  border-bottom:1px solid rgba(61,88,120,.12);
}

.page-hero{
  position:relative;
  overflow:hidden;
  padding:70px 0;
  background:
    linear-gradient(105deg,#F9F2E9 0%,#EBDCC8 62%,#D7C6B0 100%);
  border-bottom:4px solid var(--neon-orange);
}

.page-hero:after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:34%;
  height:100%;
  background:
    linear-gradient(135deg,transparent 0%,rgba(61,88,120,.11) 100%);
  clip-path:polygon(35% 0,100% 0,100% 100%,0 100%);
}

.page-hero .container{
  position:relative;
  z-index:2;
}

/* ---------- TARJETAS ---------- */

.card,
.teacher-about-card,
.auth-card,
.form-card,
.price-card{
  background:#fffaf3;
  border:1px solid rgba(61,88,120,.20);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(7,27,88,.10);
}

.card{
  position:relative;
}

.feature{
  overflow:hidden;
  padding:30px;
  border-top:5px solid var(--royal-800);
}

.feature:after{
  content:"";
  position:absolute;
  right:-26px;
  top:-26px;
  width:95px;
  height:95px;
  border-radius:50%;
  background:var(--neon-orange);
  opacity:.08;
}

.feature .icon{
  width:52px;
  height:52px;
  border-radius:10px;
  color:#fff;
  background:
    linear-gradient(145deg,var(--royal-800),var(--metal-700));
  box-shadow:0 10px 24px rgba(7,27,88,.20);
}

/* ---------- MAESTROS ---------- */

.teacher-card{
  border-radius:18px;
  overflow:hidden;
  border-bottom:5px solid var(--metal-700);
}

.teacher-card img{
  filter:saturate(1.02) contrast(1.02);
}

.teacher-body{
  background:linear-gradient(180deg,#FFFCF8,#F4E7D7);
}

.teacher-role{
  color:var(--neon-orange);
}

.portrait,
.teacher-main-photo{
  border-radius:18px;
  border:1px solid rgba(61,88,120,.20);
  box-shadow:0 18px 42px rgba(7,27,88,.13);
}

.teacher-about-card{
  border-left:6px solid var(--royal-800);
}

.quote{
  color:#536982;
  border-left:4px solid var(--neon-orange);
}

/* ---------- GALERÍAS ---------- */

.media-gallery-card{
  border-radius:16px;
  border:1px solid rgba(61,88,120,.22);
  box-shadow:0 14px 32px rgba(7,27,88,.11);
}

.media-gallery-image-card{
  border-bottom:4px solid var(--metal-700);
}

.media-gallery-video-card{
  border:2px solid var(--royal-800);
  box-shadow:0 22px 55px rgba(7,27,88,.16);
}

.media-gallery-copy{
  background:#FFF9F1;
}

/* ---------- PRECIOS ---------- */

.price-card{
  border-top:5px solid var(--royal-800);
}

.price{
  color:var(--royal-800);
}

.notice{
  background:var(--neon-orange-soft);
  border:1px solid rgba(255,90,0,.28);
  border-left:5px solid var(--neon-orange);
  color:#6B351B;
}

/* ---------- CAMPUS ---------- */

.campus-shell{
  background:var(--beige-100);
}

.sidebar{
  background:
    linear-gradient(180deg,var(--royal-950) 0%,var(--royal-900) 54%,var(--metal-900) 100%);
  box-shadow:12px 0 32px rgba(7,27,88,.12);
}

.side-link{
  border-radius:8px;
}

.side-link:hover,
.side-link.active{
  background:rgba(255,255,255,.10);
  box-shadow:inset 4px 0 0 var(--neon-orange);
}

.campus-main{
  background:
    linear-gradient(180deg,var(--beige-50) 0%,var(--beige-100) 100%);
}

.lesson{
  border-top:4px solid var(--metal-700);
}

.pill{
  color:var(--royal-900);
  background:rgba(18,63,191,.08);
  border:1px solid rgba(18,63,191,.12);
}

.progress{
  background:#D8DDE5;
}

.progress>div{
  background:
    linear-gradient(90deg,var(--royal-800) 0%,var(--metal-700) 65%,var(--neon-orange) 100%);
}

/* ---------- PODCAST ---------- */

.podcast-post{
  border-top:5px solid var(--royal-800);
}

.podcast-video{
  border-top:1px solid rgba(103,136,173,.28);
  border-bottom:1px solid rgba(103,136,173,.28);
}

.podcast-comments-wrap{
  background:#F2E5D5;
}

/* ---------- FORMULARIOS ---------- */

.field input,
.field textarea,
.field select,
.podcast-comment-form textarea{
  border:1px solid rgba(103,136,173,.40);
  border-radius:9px;
  background:#FFFDF9;
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.podcast-comment-form textarea:focus{
  border-color:var(--royal-700);
  box-shadow:0 0 0 3px rgba(18,63,191,.12);
}

/* ---------- FOOTER ---------- */

.footer{
  background:
    linear-gradient(120deg,var(--royal-950) 0%,var(--royal-900) 50%,var(--metal-900) 100%);
  color:#F5F7FB;
  border-top:6px solid var(--neon-orange);
}

.footer a{
  color:#F5F7FB;
}

.footer a:hover{
  color:#FF8A42;
}

.footer small{
  color:#CAD4E1;
}

/* ---------- RESPONSIVE LAPTOP ---------- */

@media(max-width:1180px){
  .container{
    width:min(100% - 34px,1160px);
  }

  .navlinks{
    gap:1px;
  }

  .navlinks a{
    padding:9px 8px;
    font-size:12px;
  }

  .nav-login-button{
    padding:9px 12px;
  }
}

/* ---------- TABLET / LAPTOP COMPACTA ---------- */

@media(max-width:1060px){
  .nav-inner{
    height:62px;
    min-height:62px;
    justify-content:flex-end;
  }

  .navlinks{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:62px;
    z-index:100;
    padding:16px 18px 20px;
    background:
      linear-gradient(160deg,var(--royal-950),var(--metal-900));
    border-bottom:4px solid var(--neon-orange);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    box-shadow:0 20px 40px rgba(7,27,88,.25);
  }

  .navlinks.open{
    display:flex;
  }

  .navlinks a{
    width:100%;
    text-align:center;
    font-size:14px;
    padding:12px 14px;
  }

  .nav-actions{
    position:static;
    transform:none;
    margin-left:auto;
  }

  .nav-login-button{
    display:none;
  }

  .nav-actions .btn-ghost.mobile-toggle{
    display:inline-flex!important;
    color:#fff;
    background:var(--neon-orange);
    border-color:var(--neon-orange);
  }

  .teacher-detail-grid,
  .content-admin-grid{
    grid-template-columns:1fr;
  }
}

/* ---------- MÓVIL ---------- */

@media(max-width:700px){
  .container{
    width:min(100% - 24px,1220px);
  }

  .hero{
    padding:48px 0 62px;
  }

  .home-brand-logo{
    width:118px;
    height:118px;
  }

  .home-brand-title{
    margin-top:12px;
    font-size:clamp(44px,13vw,62px);
  }

  .hero h1{
    font-size:clamp(38px,10vw,50px);
  }

  .hero p{
    font-size:17px;
  }

  .section{
    padding:62px 0;
  }

  .grid-3,
  .pricing,
  .footer-grid,
  .admin-grid,
  .media-gallery-grid{
    grid-template-columns:1fr;
  }

  .page-hero{
    padding:48px 0;
  }
}

/* =========================================================
   AJUSTES FINALES CONSOLIDADOS
   - navegación dentro del flujo normal
   - logo completo sin recorte
   - footer compatible con logo horizontal
========================================================= */

.nav{
  position:static!important;
  top:auto!important;
}

.nav-menu-shell{
  position:relative;
}

.home-brand-center{
  width:100%;
  margin:30px auto 34px;
}

.home-brand-logo{
  display:block;
  width:min(720px,82vw)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}

.home-brand-title{
  display:none!important;
}

.footer .brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.footer .brand img{
  width:min(300px,80vw);
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:none;
}

@media(max-width:700px){
  .home-brand-center{
    margin:24px auto 28px;
  }

  .home-brand-logo{
    width:min(620px,94vw)!important;
  }

  .footer .brand img{
    width:min(260px,82vw);
  }
}


/* TRANSPARENT LOGO FIX */
.home-brand-logo,
.footer .brand img{
  background:transparent!important;
  box-shadow:none!important;
}


/* WHITE-BACKGROUND LOGO BLEND FIX */
.home-brand-logo{
  background:transparent!important;
  mix-blend-mode:multiply;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}

@supports not (mix-blend-mode:multiply){
  .home-brand-logo{
    background:transparent!important;
  }
}


/* HERO REFERENCIA LOGO INTEGRADO 20261022 */
.hero{
  padding:54px 0 88px!important;
}

.hero-grid{
  max-width:1280px!important;
}

.hero h1{
  max-width:1180px!important;
  margin:10px auto 26px!important;
  font-size:clamp(58px,6.4vw,96px)!important;
  line-height:.98!important;
}

.home-brand-center{
  width:100%!important;
  max-width:1180px!important;
  margin:4px auto 42px!important;
  overflow:visible!important;
}

.home-brand-logo{
  display:block!important;
  width:min(1040px,94vw)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  mix-blend-mode:multiply!important;
  transform:scale(1.08);
  transform-origin:center center;
}

.hero p{
  max-width:1180px!important;
  margin:18px auto 0!important;
  font-size:clamp(20px,2vw,30px)!important;
  line-height:1.45!important;
  color:#35557f!important;
}

.hero-actions{
  margin-top:34px!important;
  gap:18px!important;
}

.hero-actions .btn{
  min-width:260px;
  padding:17px 30px!important;
  font-size:clamp(18px,1.6vw,24px)!important;
  border-radius:14px!important;
}

.trust-row{
  margin-top:28px!important;
}

@media(max-width:900px){
  .hero{
    padding:44px 0 66px!important;
  }

  .hero h1{
    font-size:clamp(48px,9vw,70px)!important;
    margin-bottom:18px!important;
  }

  .home-brand-center{
    margin:0 auto 30px!important;
  }

  .home-brand-logo{
    width:min(900px,96vw)!important;
    transform:scale(1.04);
  }

  .hero p{
    font-size:clamp(18px,3.5vw,23px)!important;
  }
}

@media(max-width:620px){
  .hero h1{
    font-size:clamp(40px,11vw,56px)!important;
  }

  .home-brand-logo{
    width:98vw!important;
    transform:none;
  }

  .hero-actions{
    width:100%;
    flex-direction:column;
  }

  .hero-actions .btn{
    width:min(100%,360px);
    min-width:0;
  }
}


/* =========================================================
   SISTEMA VISUAL CUMBRE · OCT 2026
   Rediseño exclusivamente estético.
   Conserva paleta, contenido, imágenes, videos y lógica.
========================================================= */

:root{
  --c-royal:#071B58;
  --c-royal-2:#123FBF;
  --c-metal:#6788AD;
  --c-metal-light:#CCD8E5;
  --c-beige:#F5EBDD;
  --c-beige-light:#FCF8F1;
  --c-beige-deep:#EAD9C3;
  --c-orange:#FF5A00;
  --c-orange-2:#FF7A00;
  --c-ink:#182338;
  --c-soft:#536982;
  --c-shadow:0 22px 60px rgba(7,27,88,.11);
  --c-shadow-soft:0 12px 34px rgba(7,27,88,.08);
  --c-border:1px solid rgba(103,136,173,.22);
  --c-radius:24px;
  --c-radius-sm:16px;
}

/* ---------- BASE GLOBAL ---------- */

html{
  background:var(--c-beige-light);
}

body{
  color:var(--c-ink);
  background:
    radial-gradient(circle at 92% 4%,rgba(103,136,173,.12),transparent 22%),
    linear-gradient(180deg,var(--c-beige-light) 0%,var(--c-beige) 100%);
  font-size:16px;
  line-height:1.65;
}

.container{
  width:min(1240px,calc(100% - 40px));
}

h1,h2,h3,
.hero h1,
.section-title{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}

p{
  text-wrap:pretty;
}

::selection{
  background:var(--c-orange);
  color:#fff;
}

/* ---------- NAVEGACIÓN ---------- */

.nav{
  position:static!important;
  z-index:100;
  background:
    linear-gradient(90deg,var(--c-royal) 0%,#0b2e7f 56%,#294a70 100%)!important;
  border-bottom:4px solid var(--c-orange)!important;
  box-shadow:0 10px 28px rgba(7,27,88,.13);
}

.nav-menu-shell{
  position:relative;
}

.nav-inner{
  min-height:74px!important;
  height:auto!important;
  padding:10px 0;
  gap:18px;
}

.navlinks{
  gap:5px!important;
  flex-wrap:wrap;
}

.navlinks a{
  color:#fff!important;
  padding:10px 13px!important;
  border-radius:10px;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.015em;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}

.navlinks a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.10);
  transform:translateY(-1px);
}

.nav-actions{
  align-items:center;
  gap:10px!important;
}

.language-switcher{
  padding:4px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.07);
}

.language-option{
  min-width:38px;
  height:34px;
  padding:0 9px!important;
  border-radius:7px!important;
  color:#fff!important;
}

.language-option.active{
  background:var(--c-orange)!important;
  box-shadow:0 0 20px rgba(255,90,0,.32)!important;
}

.nav-login-button{
  padding:10px 18px!important;
  min-height:42px;
}

.mobile-toggle{
  min-width:44px;
  min-height:42px;
}

/* ---------- BOTONES ---------- */

.btn{
  border-radius:12px!important;
  padding:13px 22px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

.btn:hover{
  transform:translateY(-2px)!important;
}

.btn-primary,
.btn-gold{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.38)!important;
  background:linear-gradient(135deg,var(--c-orange),var(--c-orange-2))!important;
  box-shadow:0 12px 28px rgba(255,90,0,.25)!important;
}

.btn-primary:hover,
.btn-gold:hover{
  filter:saturate(1.08) brightness(1.03);
  box-shadow:0 16px 34px rgba(255,90,0,.34)!important;
}

.btn-ghost{
  color:var(--c-royal)!important;
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(103,136,173,.34)!important;
}

.btn-ghost:hover{
  background:#fff!important;
  color:var(--c-orange)!important;
  border-color:var(--c-orange)!important;
}

.btn-danger{
  border-radius:10px!important;
}

/* ---------- PORTADA / HERO ---------- */

.hero{
  position:relative;
  isolation:isolate;
  padding:58px 0 92px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(18,63,191,.08),transparent 25%),
    radial-gradient(circle at 92% 92%,rgba(103,136,173,.13),transparent 25%),
    linear-gradient(135deg,var(--c-beige-light) 0%,var(--c-beige) 68%,#ead9c3 100%)!important;
}

.hero:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-160px;
  top:170px;
  width:340px;
  height:520px;
  border-radius:0 220px 220px 0;
  background:linear-gradient(180deg,var(--c-royal-2),var(--c-metal));
  opacity:.055;
}

.hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-190px;
  bottom:-230px;
  width:520px;
  height:520px;
  border:62px solid rgba(103,136,173,.10);
  border-radius:50%;
}

.hero-grid{
  display:block!important;
  max-width:1280px!important;
  text-align:center;
}

.hero-grid>div:first-child{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.hero .eyebrow{
  margin:0 auto 14px;
}

.hero h1{
  max-width:1180px!important;
  margin:0 auto 28px!important;
  font-size:clamp(56px,6vw,94px)!important;
  line-height:.98!important;
  color:var(--c-royal)!important;
}

.home-brand-center{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto 42px!important;
  overflow:visible!important;
}

.home-brand-logo{
  display:block!important;
  width:min(1080px,96vw)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  background:transparent!important;
  mix-blend-mode:multiply!important;
  transform:scale(1.08);
  transform-origin:center;
}

.hero p{
  max-width:1150px!important;
  margin:10px auto 0!important;
  color:#36557d!important;
  font-size:clamp(19px,1.8vw,28px)!important;
  line-height:1.48!important;
  text-align:center;
}

.hero-actions{
  justify-content:center!important;
  gap:18px!important;
  margin-top:34px!important;
}

.hero-actions .btn{
  min-width:260px;
  padding:17px 30px!important;
  font-size:clamp(17px,1.4vw,22px)!important;
}

.trust-row{
  justify-content:center!important;
  gap:18px 30px!important;
  margin-top:30px!important;
  color:#49617e!important;
}

.trust-row>span{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.45);
  border:1px solid rgba(103,136,173,.15);
}

/* ---------- SECCIONES ---------- */

.section{
  position:relative;
  padding:96px 0!important;
}

.section.alt{
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(234,217,195,.35))!important;
  border-top:1px solid rgba(103,136,173,.12)!important;
  border-bottom:1px solid rgba(103,136,173,.12)!important;
}

.section-head{
  max-width:900px!important;
  margin-bottom:44px!important;
}

.section-head .eyebrow{
  margin-bottom:8px;
}

.section-title{
  font-size:clamp(38px,4.4vw,60px)!important;
  line-height:1.03!important;
  color:var(--c-royal)!important;
  margin:8px 0 16px!important;
}

.section-title:after{
  width:82px!important;
  height:4px!important;
  background:linear-gradient(90deg,var(--c-orange),var(--c-metal))!important;
}

.section-sub{
  max-width:820px;
  color:var(--c-soft)!important;
  font-size:18px!important;
  line-height:1.65;
}

/* ---------- TARJETAS Y GRIDS ---------- */

.grid-3{
  gap:26px!important;
}

.card,
.teacher-about-card,
.auth-card,
.form-card,
.price-card,
.podcast-post{
  border:var(--c-border)!important;
  border-radius:var(--c-radius)!important;
  background:rgba(255,252,247,.88)!important;
  box-shadow:var(--c-shadow-soft)!important;
}

.card{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.card:hover{
  transform:translateY(-3px);
  box-shadow:var(--c-shadow)!important;
  border-color:rgba(103,136,173,.35)!important;
}

.feature{
  padding:32px!important;
  border-top:5px solid var(--c-royal-2)!important;
  overflow:hidden;
}

.feature .icon{
  width:56px!important;
  height:56px!important;
  border-radius:14px!important;
  color:#fff!important;
  background:linear-gradient(145deg,var(--c-royal-2),var(--c-metal))!important;
  box-shadow:0 10px 24px rgba(7,27,88,.18);
}

.feature h3{
  font-size:26px!important;
  margin:18px 0 8px!important;
}

/* ---------- MAESTROS ---------- */

.teacher-card{
  padding:0!important;
  overflow:hidden!important;
  border-bottom:5px solid var(--c-metal)!important;
}

.teacher-card img{
  width:100%!important;
  aspect-ratio:4/4.5!important;
  object-fit:cover!important;
  filter:none!important;
}

.teacher-body{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px!important;
  background:linear-gradient(180deg,#fffdfa 0%,#f5e9da 100%)!important;
}

.teacher-body h3{
  font-size:29px!important;
  margin:7px 0 8px!important;
}

.teacher-role{
  color:var(--c-orange)!important;
}

.teacher-body .btn{
  margin-top:auto;
}

.teacher-detail-grid{
  gap:48px!important;
}

.teacher-main-photo,
.portrait{
  overflow:hidden!important;
  border-radius:26px!important;
  border:1px solid rgba(103,136,173,.24)!important;
  box-shadow:var(--c-shadow)!important;
  background:#fff;
}

.teacher-main-photo img,
.portrait img{
  width:100%;
  object-fit:cover!important;
}

.teacher-about-card{
  padding:38px!important;
  border-left:6px solid var(--c-royal-2)!important;
}

.teacher-about-card h2,
.bio-copy h2{
  color:var(--c-royal)!important;
}

.teacher-long-bio,
.bio-copy{
  color:#425a77!important;
  line-height:1.8;
}

.quote,
.teacher-quote{
  margin-top:26px!important;
  padding:18px 22px!important;
  border-left:4px solid var(--c-orange)!important;
  border-radius:0 14px 14px 0;
  background:rgba(255,90,0,.055);
  color:#536982!important;
}

/* ---------- GALERÍAS ---------- */

.gallery-section-head{
  margin-bottom:42px!important;
}

.gallery-main-title{
  font-size:clamp(46px,5.4vw,72px)!important;
}

.media-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
}

.media-gallery-card{
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(103,136,173,.25)!important;
  background:#fff!important;
  box-shadow:var(--c-shadow-soft)!important;
}

.media-gallery-image-card .media-gallery-media img{
  width:100%!important;
  min-height:360px!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
}

.media-gallery-video-card{
  grid-column:1/-1!important;
  border:2px solid rgba(18,63,191,.42)!important;
  box-shadow:0 24px 60px rgba(7,27,88,.16)!important;
}

.media-gallery-video-card .media-gallery-media{
  background:#05070d!important;
}

.media-gallery-video-card video{
  width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:contain!important;
  max-height:820px!important;
}

.media-gallery-copy{
  padding:22px 24px!important;
  background:#fffaf3!important;
}

.media-gallery-copy h3{
  color:var(--c-royal)!important;
}

/* ---------- PRECIOS ---------- */

.pricing{
  gap:28px!important;
}

.price-card{
  position:relative;
  overflow:hidden;
  padding:38px!important;
  border-top:5px solid var(--c-royal-2)!important;
}

.price-card:after{
  content:"";
  position:absolute;
  right:-54px;
  top:-54px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:var(--c-orange);
  opacity:.055;
}

.price-card h3{
  font-size:28px;
}

.price{
  margin:12px 0;
  color:var(--c-royal)!important;
  font-size:56px!important;
}

.pill{
  color:var(--c-royal)!important;
  background:rgba(18,63,191,.08)!important;
  border:1px solid rgba(18,63,191,.12)!important;
}

.notice{
  border:1px solid rgba(255,90,0,.24)!important;
  border-left:5px solid var(--c-orange)!important;
  border-radius:14px!important;
  background:#fff1e7!important;
  color:#6b351b!important;
}

/* ---------- PÁGINAS INTERNAS ---------- */

.page-hero{
  position:relative;
  overflow:hidden;
  padding:76px 0!important;
  background:
    radial-gradient(circle at 90% 25%,rgba(103,136,173,.14),transparent 28%),
    linear-gradient(115deg,var(--c-beige-light),var(--c-beige-deep))!important;
  border-bottom:4px solid var(--c-orange)!important;
}

.page-hero:after{
  opacity:.65;
}

.page-hero h1{
  max-width:1000px;
  color:var(--c-royal)!important;
  font-size:clamp(44px,5vw,68px)!important;
}

/* ---------- PODCAST ---------- */

.podcast-feed{
  width:min(980px,100%)!important;
  gap:36px!important;
}

.podcast-post{
  overflow:hidden!important;
  border-top:5px solid var(--c-royal-2)!important;
}

.podcast-post-head{
  padding:28px 30px 0!important;
}

.podcast-post>h2{
  padding:0 30px!important;
  font-size:clamp(32px,4vw,48px)!important;
}

.podcast-description{
  padding:0 30px!important;
  font-size:18px!important;
}

.podcast-video{
  margin-top:26px!important;
  max-height:720px!important;
  background:#000!important;
}

.podcast-comments-wrap{
  padding:28px 30px 32px!important;
  background:#f1e5d5!important;
}

.podcast-comment-body{
  border:1px solid rgba(103,136,173,.20)!important;
  border-radius:15px!important;
  box-shadow:0 6px 18px rgba(7,27,88,.05);
}

/* ---------- FORMULARIOS / ADMIN ---------- */

.auth-card,
.form-card{
  padding:38px!important;
}

.field label{
  color:var(--c-royal)!important;
}

.field input,
.field textarea,
.field select,
.podcast-comment-form textarea{
  border:1px solid rgba(103,136,173,.36)!important;
  border-radius:11px!important;
  background:#fffdfa!important;
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.podcast-comment-form textarea:focus{
  border-color:var(--c-royal-2)!important;
  box-shadow:0 0 0 4px rgba(18,63,191,.10)!important;
}

.content-admin-grid,
.admin-grid{
  gap:26px!important;
}

.content-list-row{
  padding:16px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.70)!important;
  border:1px solid rgba(103,136,173,.20)!important;
}

.table-wrap{
  border:1px solid rgba(103,136,173,.18);
  border-radius:14px;
  background:rgba(255,255,255,.58);
}

.table th{
  color:var(--c-royal)!important;
  background:rgba(18,63,191,.055);
}

.table th,
.table td{
  padding:14px!important;
}

/* ---------- CAMPUS / LECCIONES ---------- */

.campus-shell{
  background:var(--c-beige)!important;
}

.sidebar{
  background:linear-gradient(180deg,var(--c-royal) 0%,#0a2a88 56%,#3d5878 100%)!important;
  box-shadow:12px 0 36px rgba(7,27,88,.12)!important;
}

.side-link{
  border-radius:10px!important;
}

.side-link:hover,
.side-link.active{
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 4px 0 0 var(--c-orange)!important;
}

.campus-main{
  padding:40px!important;
  background:
    radial-gradient(circle at top right,rgba(103,136,173,.10),transparent 26%),
    linear-gradient(180deg,var(--c-beige-light),var(--c-beige))!important;
}

.lesson{
  border-top:4px solid var(--c-metal)!important;
}

.progress{
  height:11px!important;
  background:#d8dde5!important;
}

.progress>div{
  background:linear-gradient(90deg,var(--c-royal-2),var(--c-metal),var(--c-orange))!important;
}

.video-wrap{
  border-radius:18px!important;
  box-shadow:0 20px 50px rgba(7,27,88,.15);
}

/* ---------- FOOTER ---------- */

.footer{
  padding:58px 0 30px!important;
  background:linear-gradient(125deg,var(--c-royal) 0%,#0a2a88 58%,#3d5878 100%)!important;
  border-top:6px solid var(--c-orange)!important;
}

.footer-grid{
  gap:42px!important;
}

.footer h3{
  color:#fff!important;
}

.footer p{
  color:#e7edf7;
}

.footer a{
  color:#eef3fa!important;
}

.footer a:hover{
  color:#ff9a5c!important;
}

.footer .brand img{
  width:min(300px,82vw)!important;
  height:auto!important;
  border-radius:0!important;
  background:#fff;
  mix-blend-mode:screen;
  opacity:.96;
}

.footer small{
  color:#cad4e1!important;
}

/* ---------- ESTADOS / TOAST ---------- */

.toast{
  border-radius:12px!important;
  background:var(--c-royal)!important;
  box-shadow:0 18px 42px rgba(7,27,88,.25)!important;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1060px){
  .container{
    width:min(100% - 30px,1240px);
  }

  .nav-inner{
    min-height:64px!important;
    justify-content:flex-end!important;
  }

  .navlinks{
    position:absolute!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding:14px 18px 20px!important;
    background:linear-gradient(160deg,var(--c-royal),#294a70)!important;
    border-bottom:4px solid var(--c-orange)!important;
    box-shadow:0 22px 40px rgba(7,27,88,.24);
  }

  .navlinks.open{
    display:flex!important;
  }

  .navlinks a{
    width:100%;
    text-align:center;
    padding:12px 14px!important;
  }

  .nav-login-button{
    display:none!important;
  }

  .nav-actions .mobile-toggle{
    display:inline-flex!important;
    color:#fff!important;
    background:var(--c-orange)!important;
    border-color:var(--c-orange)!important;
  }

  .teacher-detail-grid,
  .content-admin-grid,
  .admin-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:760px){
  .container{
    width:min(100% - 24px,1240px);
  }

  .hero{
    padding:44px 0 64px!important;
  }

  .hero h1{
    font-size:clamp(42px,11vw,62px)!important;
    margin-bottom:18px!important;
  }

  .home-brand-center{
    margin-bottom:28px!important;
  }

  .home-brand-logo{
    width:98vw!important;
    transform:none!important;
  }

  .hero p{
    font-size:18px!important;
  }

  .hero-actions{
    width:100%;
    flex-direction:column;
    align-items:center;
  }

  .hero-actions .btn{
    width:min(100%,380px)!important;
    min-width:0!important;
  }

  .trust-row{
    justify-content:center!important;
  }

  .section{
    padding:68px 0!important;
  }

  .grid-3,
  .pricing,
  .footer-grid,
  .media-gallery-grid{
    grid-template-columns:1fr!important;
  }

  .media-gallery-video-card{
    grid-column:auto!important;
  }

  .media-gallery-image-card .media-gallery-media img{
    min-height:0!important;
  }

  .teacher-about-card,
  .auth-card,
  .form-card,
  .price-card{
    padding:24px!important;
  }

  .podcast-post-head,
  .podcast-post>h2,
  .podcast-description,
  .podcast-comments-wrap{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .campus-main{
    padding:22px!important;
  }

  .page-hero{
    padding:54px 0!important;
  }
}


/* =========================================================
   ÚNICO CAMBIO NUEVO: LOGO DE INICIO EN RECUADRO PEQUEÑO
========================================================= */

.home-brand-center{
  width:min(360px,82vw)!important;
  margin:0 auto 30px!important;
  padding:18px 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,250,243,.92)!important;
  border:1px solid rgba(103,136,173,.28)!important;
  border-radius:20px!important;
  box-shadow:0 14px 34px rgba(7,27,88,.10)!important;
}

.home-brand-logo{
  display:block!important;
  width:min(270px,68vw)!important;
  height:auto!important;
  max-height:220px!important;
  object-fit:contain!important;
  border-radius:0!important;
  padding:0!important;
  margin:0 auto!important;
  background:transparent!important;
  box-shadow:none!important;
  mix-blend-mode:multiply;
}

@media(max-width:620px){
  .home-brand-center{
    width:min(300px,86vw)!important;
    padding:14px 18px!important;
    border-radius:16px!important;
  }

  .home-brand-logo{
    width:min(220px,70vw)!important;
    max-height:180px!important;
  }
}


/* =========================================================
   IDENTIDAD VISUAL PREMIUM · AZUL METÁLICO / BEIGE / NARANJA
   Capa visual adicional: conserva estructura y funcionalidad.
========================================================= */
:root{
  --c-royal:#102E4F;
  --c-royal-2:#1C527B;
  --c-metal:#6F9DBB;
  --c-metal-light:#D8E6EF;
  --c-beige:#F3EBDD;
  --c-beige-light:#FCF9F3;
  --c-beige-deep:#E7D7C0;
  --c-orange:#D97732;
  --c-orange-2:#F0A15D;
  --c-ink:#172B3D;
  --c-soft:#526779;
  --c-shadow:0 24px 64px rgba(16,46,79,.14);
  --c-shadow-soft:0 14px 38px rgba(16,46,79,.09);
  --c-border:1px solid rgba(79,122,153,.22);
  --c-radius:26px;
  --c-radius-sm:17px;
}

html{scroll-padding-top:100px}
body{
  color:var(--c-ink);
  background:
    radial-gradient(ellipse at 8% 0%,rgba(111,157,187,.13),transparent 32%),
    radial-gradient(ellipse at 95% 18%,rgba(217,119,50,.07),transparent 25%),
    linear-gradient(180deg,#FCF9F3 0%,#F3EBDD 100%);
}
::selection{background:rgba(111,157,187,.28);color:#102E4F}

.nav{
  background:rgba(252,249,243,.88)!important;
  border-bottom:1px solid rgba(79,122,153,.20)!important;
  box-shadow:0 8px 30px rgba(16,46,79,.06);
  backdrop-filter:blur(18px) saturate(145%)!important;
}
.brand{color:#102E4F!important}
.brand img{box-shadow:0 8px 24px rgba(16,46,79,.16)!important}
.navlinks a{color:#294C67!important}
.navlinks a:hover{color:var(--c-orange)!important}
.navlinks a:after{
  content:"";
  display:block;
  height:2px;
  width:0;
  margin-top:4px;
  background:linear-gradient(90deg,var(--c-metal),var(--c-orange));
  transition:width .22s ease;
}
.navlinks a:hover:after{width:100%}

.btn{
  border-radius:999px!important;
  padding:13px 23px!important;
  letter-spacing:.01em;
  box-shadow:0 9px 22px rgba(16,46,79,.12);
}
.btn-primary{
  color:#fff!important;
  background:linear-gradient(125deg,#173B5C 0%,#34769D 48%,#8CB5CE 100%)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 12px 28px rgba(28,82,123,.28),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.btn-primary:hover{
  background:linear-gradient(125deg,#102E4F 0%,#28658D 48%,#79A9C6 100%)!important;
  box-shadow:0 16px 34px rgba(28,82,123,.32)!important;
}
.btn-gold{
  color:#fff!important;
  background:linear-gradient(125deg,#B95E27 0%,#D97732 52%,#F0A15D 100%)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 12px 26px rgba(185,94,39,.22),inset 0 1px 0 rgba(255,255,255,.25)!important;
}
.btn-gold:hover{filter:saturate(1.08) brightness(1.03)}
.btn-ghost{
  color:#1C527B!important;
  border:1px solid rgba(79,122,153,.34)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(216,230,239,.42))!important;
}
.btn-ghost:hover{
  background:linear-gradient(135deg,#fff,#E4EFF5)!important;
  border-color:#6F9DBB!important;
}

.hero{
  isolation:isolate;
  background:
    radial-gradient(ellipse at 82% 12%,rgba(111,157,187,.27),transparent 30%),
    radial-gradient(ellipse at 12% 0%,rgba(240,161,93,.16),transparent 34%),
    linear-gradient(132deg,#FCF9F3 0%,#F0E5D5 54%,#E3EDF3 100%)!important;
}
.hero:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.25;
  background-image:linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.55) 49%,transparent 51%);
  pointer-events:none;
}
.hero:after{
  border:1px solid rgba(79,122,153,.16)!important;
  box-shadow:0 0 0 28px rgba(111,157,187,.035),0 0 0 58px rgba(111,157,187,.025);
}
.hero h1,.section-title,.page-hero h1{
  color:#102E4F!important;
  text-wrap:balance;
}
.hero .eyebrow,.section .eyebrow,.bio-copy .eyebrow{
  color:#A85B2C!important;
  background:linear-gradient(120deg,rgba(240,161,93,.15),rgba(111,157,187,.10))!important;
  border-color:rgba(185,94,39,.20)!important;
}
.hero p{color:#435C70!important}
.home-brand-center{
  border:1px solid rgba(111,157,187,.32)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(231,239,244,.82))!important;
  box-shadow:0 20px 48px rgba(16,46,79,.13),inset 0 1px 0 #fff!important;
}

.section.alt{
  background:
    linear-gradient(180deg,rgba(255,255,255,.62),rgba(243,235,221,.68))!important;
  border-color:rgba(79,122,153,.13)!important;
}
.section-title:after{
  background:linear-gradient(90deg,#D97732,#6F9DBB,#D8E6EF)!important;
  border-radius:999px!important;
}
.section-sub{color:#607486!important}
.card,.price-card,.auth-card,.form-card,.podcast-post,.teacher-about-card{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,243,234,.92))!important;
  border:1px solid rgba(111,157,187,.24)!important;
  box-shadow:0 14px 40px rgba(16,46,79,.08)!important;
}
.card:hover,.teacher-card:hover{
  border-color:rgba(111,157,187,.48)!important;
  box-shadow:0 22px 52px rgba(16,46,79,.14)!important;
}
.feature{
  border-top:4px solid transparent!important;
  border-image:linear-gradient(90deg,#1C527B,#8CB5CE,#D97732) 1!important;
}
.feature .icon{
  background:linear-gradient(145deg,#173B5C 0%,#4E86A8 58%,#A9C7D8 100%)!important;
  box-shadow:0 12px 26px rgba(28,82,123,.22)!important;
}
.teacher-card{border-bottom:4px solid #D97732!important}
.teacher-body{
  background:linear-gradient(180deg,#FFFEFC 0%,#F3EBDD 100%)!important;
}
.teacher-role{color:#B96531!important}
.teacher-body h3{color:#102E4F!important}
.price-card{
  border-top:4px solid #6F9DBB!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(111,157,187,.13),transparent 34%),
    linear-gradient(145deg,#fff,#F4EBDD)!important;
}
.price{color:#102E4F!important}
.pill{
  color:#1C527B!important;
  background:linear-gradient(120deg,rgba(111,157,187,.15),rgba(216,230,239,.50))!important;
  border:1px solid rgba(111,157,187,.25)!important;
}
.notice{
  background:linear-gradient(120deg,#FFF7ED,#F7E8D8)!important;
  border-color:rgba(217,119,50,.28)!important;
  border-left-color:#D97732!important;
  color:#704323!important;
}
.page-hero{
  background:
    radial-gradient(circle at 90% 15%,rgba(111,157,187,.24),transparent 30%),
    linear-gradient(125deg,#FCF9F3 0%,#E8E0D2 48%,#E3EDF3 100%)!important;
  border-bottom:3px solid #D97732!important;
}
.page-hero:after{border-color:rgba(111,157,187,.20)!important}
.bio-copy,.teacher-long-bio{color:#526779!important}
.quote,.teacher-quote{
  border-left-color:#D97732!important;
  background:linear-gradient(100deg,rgba(240,161,93,.12),rgba(111,157,187,.07))!important;
  color:#526779!important;
}
.sidebar{
  background:linear-gradient(165deg,#102E4F 0%,#1C527B 52%,#6F9DBB 115%)!important;
}
.side-link:hover,.side-link.active{
  background:linear-gradient(100deg,rgba(255,255,255,.16),rgba(216,230,239,.10))!important;
  box-shadow:inset 3px 0 0 #F0A15D!important;
}
.progress>div{
  background:linear-gradient(90deg,#1C527B,#6F9DBB,#D97732)!important;
}
.footer{
  background:
    radial-gradient(circle at 90% 0%,rgba(111,157,187,.24),transparent 34%),
    linear-gradient(125deg,#102E4F 0%,#173E5D 60%,#315E79 100%)!important;
  border-top:4px solid #D97732!important;
}
.footer a:hover{color:#F0A15D!important}
.table th{background:rgba(111,157,187,.12)!important;color:#102E4F!important}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:#6F9DBB!important;
  box-shadow:0 0 0 4px rgba(111,157,187,.15)!important;
}
.toast{background:linear-gradient(120deg,#102E4F,#34769D)!important}

@media(max-width:1060px){
  .navlinks{
    background:linear-gradient(155deg,#102E4F,#1C527B)!important;
    border-bottom:3px solid #D97732!important;
  }
}
@media(max-width:760px){
  .hero{
    background:
      radial-gradient(ellipse at 85% 4%,rgba(111,157,187,.22),transparent 36%),
      linear-gradient(160deg,#FCF9F3,#F0E5D5)!important;
  }
  .home-brand-center{box-shadow:0 14px 34px rgba(16,46,79,.12)!important}
  .section{padding:70px 0!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* AJUSTE DE NAVEGACIÓN: SIN FRANJA AZUL */
.nav{
  background:rgba(252,249,243,.88)!important;
  background-image:none!important;
  border-bottom:1px solid rgba(79,122,153,.18)!important;
  box-shadow:0 5px 22px rgba(16,46,79,.055)!important;
  backdrop-filter:blur(16px) saturate(135%)!important;
}
.navlinks a{
  color:#294C67!important;
}
.navlinks a:hover{
  color:#B96531!important;
}
.nav .nav-login-button,
.nav-actions .btn{
  box-shadow:0 8px 20px rgba(28,82,123,.14)!important;
}
@media(max-width:1060px){
  .navlinks{
    background:linear-gradient(155deg,#102E4F,#1C527B)!important;
    border-bottom:3px solid #D97732!important;
  }
}


/* CORRECCIÓN DEFINITIVA: EL AZUL ESTABA EN .nav-menu-shell */
.nav,
header.nav,
.nav-menu-shell{
  background:#FCF9F3!important;
  background-image:none!important;
  border-bottom:1px solid rgba(79,122,153,.18)!important;
  box-shadow:0 5px 20px rgba(16,46,79,.055)!important;
}
.nav-menu-shell{
  background-color:rgba(252,249,243,.96)!important;
  border-top:0!important;
}
.navlinks a{
  color:#294C67!important;
}
.navlinks a:hover{
  color:#B96531!important;
  background:rgba(111,157,187,.10)!important;
}
@media(max-width:1060px){
  .nav-menu-shell{
    background:#FCF9F3!important;
    background-image:none!important;
    border-bottom:1px solid rgba(79,122,153,.18)!important;
  }
  .navlinks{
    background:linear-gradient(155deg,#102E4F,#1C527B)!important;
  }
}

/* HOMEPAGE — composición inspirada en la referencia editorial */
.reference-logo-hidden{display:none!important}
.hero{
 position:relative!important;isolation:isolate;overflow:hidden;
 min-height:850px;padding:112px 0 0!important;
 display:flex;align-items:stretch;
 background-image:
  linear-gradient(180deg,rgba(249,242,231,.58) 0%,rgba(249,242,231,.30) 45%,rgba(7,28,48,.05) 72%,rgba(5,24,43,.15) 100%),
  url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201650%20900%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%3E%0A%3Cdefs%3E%0A%20%3ClinearGradient%20id%3D%22sky%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23e7edf0%22%2F%3E%3Cstop%20offset%3D%22.52%22%20stop-color%3D%22%23f5e6d4%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f6d8b4%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22far%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23a9bdc9%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23536f86%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22near%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%236d8798%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23183b56%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22navy%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23061b31%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%23123d5d%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23061a30%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3ClinearGradient%20id%3D%22gold%22%20x2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23b95c22%22%2F%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23f2a04f%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23c66c2b%22%2F%3E%3C%2FlinearGradient%3E%0A%20%3CradialGradient%20id%3D%22glow%22%3E%3Cstop%20stop-color%3D%22%23fff5dd%22%20stop-opacity%3D%22.95%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f2c58f%22%20stop-opacity%3D%220%22%2F%3E%3C%2FradialGradient%3E%0A%3C%2Fdefs%3E%0A%3Crect%20width%3D%221650%22%20height%3D%22900%22%20fill%3D%22url(%23sky)%22%2F%3E%0A%3Cellipse%20cx%3D%221190%22%20cy%3D%22430%22%20rx%3D%22510%22%20ry%3D%22350%22%20fill%3D%22url(%23glow)%22%2F%3E%0A%3Ccircle%20cx%3D%221280%22%20cy%3D%22455%22%20r%3D%2247%22%20fill%3D%22%23fff2d2%22%20opacity%3D%22.82%22%2F%3E%0A%3Cpath%20d%3D%22M0%20565%20180%20430%20300%20520%20500%20350%20670%20535%20840%20390%201010%20555%201200%20350%201390%20525%201530%20390%201650%20500V900H0Z%22%20fill%3D%22url(%23far)%22%20opacity%3D%22.72%22%2F%3E%0A%3Cpath%20d%3D%22m0%20610%20180-185%20100%20105%20145-125%20165%20185%20130-130%20140%20145%20170-190%20180%20190%20130-120%20210%20155v160H0Z%22%20fill%3D%22%23e8e5dc%22%20opacity%3D%22.6%22%2F%3E%0A%3Cpath%20d%3D%22m0%20690%20230-205%20140%20120%20185-210%20190%20235%20165-145%20150%20155%20185-230%20210%20230%20195-150v410H0Z%22%20fill%3D%22url(%23near)%22%2F%3E%0A%3Cpath%20d%3D%22m0%20695%20230-205%20140%20120%20185-210%20190%20235%20165-145%20150%20155%20185-230%20210%20230%20195-150%22%20fill%3D%22none%22%20stroke%3D%22%23dbe4e4%22%20stroke-width%3D%2211%22%20opacity%3D%22.65%22%2F%3E%0A%3Cpath%20d%3D%22M0%200h430C310%2065%20225%20130%200%20250Z%22%20fill%3D%22url(%23navy)%22%2F%3E%0A%3Cpath%20d%3D%22M0%200h570C390%2052%20290%20120%200%20230Z%22%20fill%3D%22none%22%20stroke%3D%22%23b8c8d0%22%20stroke-width%3D%225%22%20opacity%3D%22.8%22%2F%3E%0A%3Cpath%20d%3D%22M0%20165C190%20118%20280%2052%20435%200h120C365%20112%20260%20184%200%20245Z%22%20fill%3D%22url(%23gold)%22%2F%3E%0A%3Cpath%20d%3D%22M0%20900V840c235-65%20365-125%20560-180%20245-70%20410-5%20635-95%20190-75%20320-170%20455-220v555Z%22%20fill%3D%22url(%23navy)%22%2F%3E%0A%3Cpath%20d%3D%22M0%20850c250-70%20390-145%20600-190%20250-55%20400%2010%20625-90%20180-80%20300-165%20425-220%22%20fill%3D%22none%22%20stroke%3D%22%23e6d8c6%22%20stroke-width%3D%2218%22%20opacity%3D%22.9%22%2F%3E%0A%3Cpath%20d%3D%22M0%20890c250-70%20390-145%20600-190%20250-55%20400%2010%20625-90%20180-80%20300-165%20425-220%22%20fill%3D%22none%22%20stroke%3D%22url(%23gold)%22%20stroke-width%3D%229%22%2F%3E%0A%3Cpath%20d%3D%22M0%20900V880c250-70%20390-145%20600-190%20250-55%20400%2010%20625-90%20180-80%20300-165%20425-220v520Z%22%20fill%3D%22url(%23navy)%22%20opacity%3D%22.94%22%2F%3E%0A%3C%2Fsvg%3E")!important;
 background-size:cover!important;background-position:center 46%!important;
}
.hero:before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 52% 38%,rgba(255,249,238,.88) 0%,rgba(255,248,235,.72) 28%,rgba(255,248,235,.10) 66%,transparent 78%);
}
.hero:after{display:none!important}
.hero-grid{display:block!important;width:100%;max-width:none!important}
.hero-grid>div{
 width:min(1120px,calc(100% - 40px));margin:0 auto;
 display:flex;flex-direction:column;align-items:center;text-align:center;
}
.hero .eyebrow{
 margin:8px auto 14px;padding:10px 20px;border-radius:999px;
 color:#79401f!important;background:rgba(255,248,235,.70)!important;
 border:1px solid rgba(173,103,52,.66)!important;
 letter-spacing:.19em;font-size:12px;box-shadow:0 4px 18px rgba(87,55,32,.07);
}
.hero h1{
 max-width:1180px;margin:0 auto 22px!important;
 font-family:Georgia,"Times New Roman",serif!important;
 font-size:clamp(54px,7.2vw,112px)!important;line-height:.99!important;
 letter-spacing:-.045em;color:#082b47!important;
 text-shadow:0 2px 18px rgba(255,250,241,.35);
}
.hero p{
 max-width:920px!important;margin:18px auto 0!important;
 color:#183d59!important;font-family:Georgia,"Times New Roman",serif;
 font-size:clamp(17px,1.6vw,23px)!important;line-height:1.55;
 font-style:italic;text-shadow:0 1px 12px rgba(255,250,241,.8);
}
.hero-actions{justify-content:center!important;margin-top:30px!important}
.hero-main-cta{
 min-width:330px;padding:17px 28px!important;border:1px solid #e9a04e!important;
 border-radius:999px!important;background:linear-gradient(135deg,#061d34,#124c70 68%,#1b658a)!important;
 color:#fff!important;box-shadow:0 12px 30px rgba(4,28,49,.28),inset 0 1px 0 rgba(255,255,255,.28)!important;
 font-family:Georgia,serif;font-size:18px;letter-spacing:.01em;
}
.hero-main-cta span{font-size:28px;line-height:0;color:#f4b56c}
.hero-feature-grid{
 width:min(1320px,100%);margin:80px auto 0;
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
}
.hero-feature-card{
 min-height:150px;padding:18px 14px 20px;display:flex;flex-direction:column;
 justify-content:center;align-items:center;gap:10px;text-align:center;
 color:#fff8ed;font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.18;
 border:1px solid #d8893c;border-radius:26px 26px 0 0;
 background:linear-gradient(145deg,rgba(5,28,49,.97),rgba(13,57,83,.94));
 box-shadow:0 12px 30px rgba(3,22,39,.25),inset 0 1px 0 rgba(255,255,255,.12);
 backdrop-filter:blur(10px);
}
.hero-feature-icon{font-family:Georgia,serif;color:#f2ad5e;font-size:39px;line-height:1;text-shadow:0 0 18px rgba(242,173,94,.22)}
.trust-row{display:none!important}
.footer .brand img{display:none!important}
.footer .brand{min-height:0!important}
@media(max-width:900px){
 .hero{min-height:790px;padding-top:90px!important;background-position:center!important}
 .hero-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:56px;gap:12px}
 .hero-feature-card{min-height:125px;font-size:18px;border-radius:20px}
}
@media(max-width:620px){
 .hero{min-height:900px;padding:78px 0 0!important;background-position:54% center!important}
 .hero-grid>div{width:calc(100% - 28px)}
 .hero .eyebrow{font-size:10px;letter-spacing:.12em;padding:8px 12px}
 .hero h1{font-size:clamp(43px,12vw,64px)!important;line-height:1.02!important}
 .hero p{font-size:17px!important;margin-top:14px!important}
 .hero-main-cta{min-width:0;width:min(100%,340px);font-size:16px}
 .hero-feature-grid{margin-top:54px;gap:10px}
 .hero-feature-card{min-height:112px;padding:12px 8px;font-size:16px}
 .hero-feature-icon{font-size:31px}
}

/* Detalles finales de la referencia */
.nav-inner{height:92px!important}
.hero h1 em{color:#C96B28!important;font-style:italic;font-weight:500}
@media(max-width:760px){.nav-inner{height:76px!important}}
