:root{
  --radion-ink:#0a2342;
  --radion-ink-soft:#103a66;
  --radion-teal:#0097b2;
  --radion-line:#dfe7ef;
  --radion-paper:#ffffff;
  --radion-soft:#f8fafc;
  --radion-muted:#31445f;
  --header-h:92px;
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:var(--header-h);overscroll-behavior-y:auto}
body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--radion-ink);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
#site-bg{position:fixed;inset:0;z-index:-5;width:100%;height:100%;pointer-events:none;background:linear-gradient(180deg,#fff 0%,#f9fbfd 48%,#fff 100%)}

.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,4.6vw,62px);background:rgba(255,255,255,.98);border-bottom:1px solid rgba(10,35,66,.08);box-shadow:0 9px 32px rgba(10,35,66,.045);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;justify-content:flex-start;width:clamp(205px,20vw,276px);height:100%;padding:0;margin:0;line-height:0}.brand img{display:block;width:100%;height:auto;max-height:60px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(28px,4.35vw,62px);height:100%}
.site-nav .nav-link{position:relative;display:flex;align-items:center;height:100%;padding:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--radion-ink);line-height:1;white-space:nowrap;transition:color .22s ease}.site-nav .nav-link::after{content:"";position:absolute;left:50%;bottom:20px;width:0;height:2px;background:var(--radion-teal);transform:translateX(-50%);transition:width .22s ease}.site-nav .nav-link:hover,.site-nav .nav-link.active{color:var(--radion-ink-soft)}.site-nav .nav-link:hover::after,.site-nav .nav-link.active::after{width:100%}
.menu-toggle{display:none;position:absolute;right:22px;top:23px;width:46px;height:46px;border:1px solid rgba(10,35,66,.16);border-radius:999px;background:#fff;padding:12px;gap:5px;flex-direction:column;justify-content:center}.menu-toggle span{display:block;width:100%;height:2px;background:var(--radion-ink);border-radius:99px;transition:.25s ease}.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.vertical-carousel{position:relative}.panel{position:relative;min-height:auto;scroll-snap-align:start;scroll-margin-top:0;overflow:hidden;display:flex;align-items:center;padding-top:var(--header-h)}
.panel-home{background:#fff;align-items:stretch;min-height:100svh}.hero-media{position:absolute;top:var(--header-h);right:0;bottom:0;width:72.4vw;overflow:hidden;background:#07101e}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;filter:saturate(.92) contrast(1.08) brightness(.94)}
.hero-media::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 12%,rgba(255,255,255,.91) 22%,rgba(255,255,255,.58) 32%,rgba(255,255,255,.18) 43%,rgba(255,255,255,0) 56%),linear-gradient(180deg,rgba(10,35,66,0) 0%,rgba(10,35,66,.04) 100%);pointer-events:none}.hero-media::after{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(circle at 62% 18%,rgba(0,151,178,.18),transparent 30%),linear-gradient(90deg,rgba(10,35,66,0),rgba(10,35,66,.12));mix-blend-mode:screen;pointer-events:none}
.hero-copy-zone{position:relative;z-index:5;align-self:center;width:min(470px,42vw);margin-left:clamp(38px,4.9vw,68px);margin-top:clamp(6px,2vw,24px);padding-top:12px}.hero-kicker{display:none}.hero-copy-zone h1{margin:0;color:var(--radion-ink);font-family:var(--serif);font-weight:400;font-size:clamp(3.05rem,4.52vw,5.5rem);line-height:.98;letter-spacing:-.035em}.hero-copy-zone h1 span{color:var(--radion-ink-soft)}.title-rule{display:block;width:45px;height:2px;margin:42px 0 28px;background:var(--radion-teal)}.intro-copy{max-width:405px;margin:0;color:var(--radion-ink);font-size:clamp(.95rem,1.04vw,1.05rem);font-weight:500;line-height:1.92;letter-spacing:.006em}.scroll-cue{position:absolute;z-index:10;left:50%;bottom:20px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:rgba(10,35,66,.45);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.scroll-cue i{font-size:1.06rem;animation:bounce 1.7s ease-in-out infinite}

.panel-light{min-height:72svh;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}.panel-dark{min-height:72svh;background:radial-gradient(circle at 74% 26%,rgba(0,151,178,.2),transparent 34%),linear-gradient(135deg,#0a2342 0%,#06162b 100%)}.section-shell{position:relative;z-index:2;width:min(1060px,88vw);margin-inline:auto;padding:clamp(52px,7vw,92px) clamp(22px,4vw,60px)}.section-kicker{margin:0 0 14px;color:var(--radion-teal);font-weight:800;text-transform:uppercase;letter-spacing:.17em;font-size:.86rem}.section-shell h2{font-family:var(--serif);font-size:clamp(2.35rem,4.2vw,4.7rem);line-height:1.06;letter-spacing:-.035em;color:var(--radion-ink);font-weight:400;margin:0}.section-shell h2 span{color:var(--radion-ink-soft)}.center-rule{display:block;width:45px;height:2px;background:var(--radion-teal);margin:28px auto 0}.section-lead{max-width:760px;margin:22px auto 0;color:var(--radion-muted);font-size:clamp(1rem,1.18vw,1.14rem);line-height:1.82}.panel-dark .section-kicker,.panel-dark .section-shell h2 span{color:#4fd9ee}.panel-dark .section-shell h2,.panel-dark .section-lead{color:#fff}.contact-shell{max-width:920px}.form-control{border:1px solid #d9e2ec;border-radius:2px;padding:15px 16px;color:var(--radion-ink);font-weight:500}.form-control:focus{border-color:var(--radion-teal);box-shadow:0 0 0 .25rem rgba(0,151,178,.1)}.btn-radion{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-width:220px;padding:18px 24px;border:0;border-radius:2px;background:var(--radion-ink);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;font-weight:800;box-shadow:0 18px 45px rgba(10,35,66,.15);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.btn-radion:hover{background:var(--radion-ink-soft);color:#fff;transform:translateY(-2px)}
.section-dots{position:fixed;z-index:40;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}.dot{width:8px;height:8px;border-radius:999px;border:1px solid rgba(10,35,66,.35);background:rgba(10,35,66,.08);transition:.25s ease}.dot.active{height:28px;background:var(--radion-teal);border-color:var(--radion-teal);box-shadow:0 0 20px rgba(0,151,178,.34)}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media (max-width:1199.98px){.site-nav{gap:26px}.site-nav .nav-link{font-size:.68rem;letter-spacing:.14em}.brand{width:215px}.hero-copy-zone{width:min(440px,44vw)}.hero-copy-zone h1{font-size:clamp(2.8rem,4.9vw,4.7rem)}}
@media (max-width:991.98px){:root{--header-h:78px}html{scroll-snap-type:y proximity}.site-header{height:var(--header-h);padding:0 22px}.brand{width:min(205px,66vw)}.brand img{max-height:52px}.menu-toggle{display:flex}.site-nav{position:fixed;top:72px;left:16px;right:16px;height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:10px;border-radius:18px;background:rgba(255,255,255,.99);box-shadow:0 24px 70px rgba(10,35,66,.14);border:1px solid rgba(10,35,66,.08);opacity:0;pointer-events:none;transform:translateY(-12px);transition:.25s ease}.menu-open .site-nav{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav .nav-link{width:100%;height:auto;padding:16px 14px;border-bottom:1px solid rgba(10,35,66,.08);font-size:.78rem}.site-nav .nav-link::after{display:none}.site-nav .nav-link:last-child{border-bottom:0}.panel-home{min-height:100svh;align-items:flex-end;padding-bottom:58px}.hero-media{top:var(--header-h);left:0;width:100%;height:55svh;bottom:auto}.hero-media img{object-position:center center}.hero-media::before{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.14) 44%,rgba(255,255,255,.93) 88%,#fff 100%),linear-gradient(90deg,rgba(10,35,66,.16),rgba(10,35,66,0))}.hero-copy-zone{width:auto;margin:0;padding:0 24px 22px}.hero-copy-zone h1{font-size:clamp(2.75rem,10.5vw,4.9rem);line-height:.98}.intro-copy{max-width:610px;line-height:1.75}.scroll-cue{display:none}.section-dots{display:none}.section-shell{text-align:left!important}.center-rule{margin-left:0;margin-right:auto}.section-lead{margin-left:0;margin-right:0}.panel{min-height:auto}.panel-home{min-height:100svh}.panel-light,.panel-dark{min-height:auto}}
@media (max-width:575.98px){:root{--header-h:72px}.site-header{padding-left:18px;padding-right:18px}.brand{width:min(178px,62vw)}.brand img{max-height:46px}.menu-toggle{top:14px;right:16px}.site-nav{top:68px}.hero-media{height:48svh}.hero-copy-zone{padding:0 21px 22px}.hero-copy-zone h1{font-size:clamp(2.45rem,12.6vw,3.85rem)}.title-rule{margin:25px 0 21px}.intro-copy{font-size:.95rem;line-height:1.72}.section-shell{width:100%;padding:42px 24px}.section-shell h2{font-size:clamp(2.15rem,9.4vw,3.5rem)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue i{animation:none}*{transition:none!important}}

/* V10 · Scroll más fluido + secciones más integradas */
.panel-essence{
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfcfe 42%,#ffffff 100%);
  align-items:stretch;
  min-height:auto;
}
.panel-essence::before{
  content:"";
  position:absolute;
  left:0;right:0;top:var(--header-h);
  height:1px;
  background:rgba(10,35,66,.08);
}
.essence-shell{
  position:relative;
  z-index:2;
  width:min(1220px,91vw);
  margin:0 auto;
  padding:calc(var(--header-h) + clamp(12px,2.4vw,30px)) 0 clamp(28px,4vw,48px);
  display:flex;
  min-height:auto;
  flex-direction:column;
  justify-content:center;
}
.philosophy-block{
  padding-bottom:clamp(22px,3.2vw,36px);
}
.philosophy-block h2{
  font-family:var(--serif);
  color:var(--radion-ink);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.05;
  font-size:clamp(2.65rem,4.1vw,4.8rem);
  margin:0;
}
.philosophy-block h2 span{color:var(--radion-ink-soft)}
.essence-block{
  border-top:1px solid rgba(10,35,66,.09);
  padding-top:clamp(18px,2.2vw,26px);
}
.essence-lead{
  max-width:830px;
  margin-top:8px;
  font-size:clamp(.98rem,1.03vw,1.12rem);
  line-height:1.72;
  color:var(--radion-ink);
}
.essence-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:clamp(22px,3vw,34px);
}
.essence-card{
  min-height:210px;
  padding:4px clamp(22px,3.2vw,48px) 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  border-right:1px solid rgba(10,35,66,.12);
}
.essence-card:last-child{border-right:0}
.essence-icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  color:var(--radion-teal);
}
.essence-icon i{
  font-size:3.65rem;
  line-height:1;
  color:var(--radion-teal);
}
.essence-card h3{
  margin:0 0 17px;
  font-family:var(--sans);
  color:var(--radion-ink);
  font-size:1rem;
  font-weight:800;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.essence-card p{
  max-width:286px;
  margin:0 auto;
  color:var(--radion-ink);
  font-size:.98rem;
  font-weight:500;
  line-height:1.78;
}

@media (max-width:991.98px){
  .essence-shell{
    width:min(720px,88vw);
    padding:calc(var(--header-h) + 28px) 0 40px;
    justify-content:flex-start;
  }
  .philosophy-block,.essence-block{text-align:left!important}
  .philosophy-block{padding-bottom:24px}
  .philosophy-block h2{font-size:clamp(2.45rem,8vw,4rem)}
  .essence-grid{grid-template-columns:1fr;gap:0;margin-top:20px;border-top:1px solid rgba(10,35,66,.1)}
  .essence-card{border-right:0;border-bottom:1px solid rgba(10,35,66,.1);align-items:flex-start;text-align:left;min-height:auto;padding:22px 0;display:grid;grid-template-columns:76px 1fr;column-gap:22px}
  .essence-card:last-child{border-bottom:0}
  .essence-icon{grid-row:1 / span 2;margin:0;justify-content:flex-start;place-items:start center}
  .essence-icon i{font-size:3.1rem}
  .essence-card h3{margin-top:7px;margin-bottom:9px}
  .essence-card p{max-width:none;margin:0}
}
@media (max-width:575.98px){
  .essence-shell{width:100%;padding:calc(var(--header-h) + 24px) 24px 32px}
  .philosophy-block h2{font-size:clamp(2.2rem,9.6vw,3.2rem)}
  .essence-card{grid-template-columns:56px 1fr;column-gap:16px;padding:20px 0}
  .essence-icon{width:56px;height:56px}.essence-icon i{font-size:2.45rem}
  .essence-card h3{font-size:.92rem}.essence-card p{font-size:.93rem;line-height:1.68}
}

/* V12 · Sección Compartimos Conocimiento · imagen más clara y menos difuminada */
.panel-knowledge{
  min-height:clamp(540px,70svh,730px);
  background:#fff;
  align-items:stretch;
  padding-top:var(--header-h);
}
.panel-knowledge::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.1) 38%,rgba(255,255,255,.22) 100%);
  z-index:1;
  pointer-events:none;
}
.knowledge-media{
  position:absolute;
  top:var(--header-h);
  right:0;
  bottom:0;
  width:71vw;
  overflow:hidden;
  background:#07101e;
}
.knowledge-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.04) contrast(1.02) brightness(1.18);
}
.knowledge-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 13%,rgba(255,255,255,.78) 24%,rgba(255,255,255,.36) 34%,rgba(255,255,255,.08) 45%,rgba(255,255,255,0) 55%),
    linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(10,35,66,.04) 100%);
  pointer-events:none;
}
.knowledge-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  background:radial-gradient(circle at 58% 23%,rgba(0,151,178,.09),transparent 28%);
  mix-blend-mode:screen;
  pointer-events:none;
}
.knowledge-copy-zone{
  position:relative;
  z-index:4;
  align-self:center;
  width:min(515px,43vw);
  margin-left:clamp(38px,4.9vw,68px);
  padding:clamp(22px,4vw,50px) 0;
}
.knowledge-copy-zone .section-kicker{
  margin-bottom:24px;
}
.knowledge-copy-zone h2{
  margin:0;
  max-width:520px;
  font-family:var(--serif);
  color:var(--radion-ink);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.08;
  font-size:clamp(2.55rem,3.55vw,4.3rem);
}
.knowledge-copy-zone .section-lead{
  max-width:430px;
  margin:30px 0 0;
  color:var(--radion-ink);
  font-size:clamp(.96rem,1.04vw,1.07rem);
  font-weight:500;
  line-height:1.88;
}

@media (max-width:991.98px){
  .panel-knowledge{
    min-height:auto;
    padding-top:0;
    display:block;
  }
  .knowledge-media{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:48svh;
    margin-top:var(--header-h);
  }
  .knowledge-media::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 52%,rgba(255,255,255,.86) 94%,#fff 100%),
      linear-gradient(90deg,rgba(10,35,66,.08),rgba(10,35,66,0));
  }
  .knowledge-copy-zone{
    width:min(720px,88vw);
    margin:0 auto;
    padding:0 0 46px;
    transform:translateY(-24px);
  }
  .knowledge-copy-zone h2{font-size:clamp(2.35rem,7.8vw,4rem)}
  .knowledge-copy-zone .section-lead{max-width:620px;margin-top:22px;line-height:1.75}
}
@media (max-width:575.98px){
  .knowledge-media{height:42svh}
  .knowledge-copy-zone{width:100%;padding:0 24px 36px;transform:translateY(-18px)}
  .knowledge-copy-zone .section-kicker{margin-bottom:16px}
  .knowledge-copy-zone h2{font-size:clamp(2.08rem,9.3vw,3.2rem)}
  .knowledge-copy-zone .section-lead{font-size:.94rem;line-height:1.72;margin-top:20px}
}


/* V13 · Corrección móvil: evitar encimado de texto e imagen */
@media (max-width: 991.98px){
  html{
    scroll-snap-type: none;
    scroll-padding-top: var(--header-h);
  }

  .panel{
    display:block;
    padding-top: var(--header-h);
    overflow: visible;
  }

  .panel-home,
  .panel-knowledge{
    min-height: auto;
    padding-top: var(--header-h);
    background:#fff;
  }

  .panel-home{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding-bottom:0;
  }

  .hero-media,
  .knowledge-media{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio: 16 / 9;
    background:#07101e;
  }

  .hero-media img,
  .knowledge-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .hero-media::before,
  .knowledge-media::before{
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.05) 45%,
        rgba(255,255,255,.72) 88%,
        #ffffff 100%);
  }

  .hero-media::after,
  .knowledge-media::after{
    opacity:.35;
  }

  .hero-copy-zone,
  .knowledge-copy-zone{
    position:relative;
    z-index:4;
    width:100%;
    max-width:760px;
    margin:0;
    padding:28px 26px 46px;
    align-self:auto;
    background:#fff;
  }

  .hero-copy-zone h1{
    font-size:clamp(2.55rem, 10vw, 4.2rem);
    line-height:1.02;
    max-width:620px;
  }

  .title-rule{
    margin:24px 0 20px;
  }

  .intro-copy,
  .knowledge-copy-zone .section-lead{
    max-width:620px;
    line-height:1.72;
  }

  .knowledge-copy-zone .section-kicker{
    margin-bottom:16px;
  }

  .knowledge-copy-zone h2{
    font-size:clamp(2.05rem, 8.2vw, 3.55rem);
    line-height:1.08;
    max-width:680px;
  }

  .knowledge-copy-zone .section-lead{
    margin-top:20px;
  }

  .panel-knowledge::before{
    display:none;
  }
}

@media (max-width: 575.98px){
  .panel{
    padding-top:var(--header-h);
  }

  .hero-media,
  .knowledge-media{
    aspect-ratio: 4 / 3;
  }

  .hero-media img{
    object-position:center center;
  }

  .knowledge-media img{
    object-position:center center;
  }

  .hero-copy-zone,
  .knowledge-copy-zone{
    padding:24px 22px 38px;
  }

  .hero-copy-zone h1{
    font-size:clamp(2.28rem, 11.6vw, 3.35rem);
  }

  .knowledge-copy-zone h2{
    font-size:clamp(1.92rem, 9vw, 3rem);
  }

  .intro-copy,
  .knowledge-copy-zone .section-lead{
    font-size:.94rem;
    line-height:1.68;
  }
}


/* V14 · Educación Continua dentro del bloque Conocimiento */
.knowledge-education{
  position:relative;
  z-index:2;
  background:#fff;
  padding:clamp(40px,5.4vw,72px) 0 clamp(44px,5.8vw,78px);
  border-top:1px solid rgba(10,35,66,.08);
  scroll-snap-align:none;
}

.education-shell{
  width:min(1120px,90vw);
  margin-inline:auto;
}

.education-shell .section-kicker{
  margin-bottom:10px;
}

.education-subtitle{
  margin:0 auto clamp(26px,3vw,38px);
  color:var(--radion-ink);
  font-size:clamp(1.02rem,1.25vw,1.22rem);
  font-weight:500;
  letter-spacing:.01em;
}

.education-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.education-card{
  min-height:230px;
  padding:34px 24px 28px;
  border:1px solid rgba(10,35,66,.13);
  background:rgba(255,255,255,.92);
  border-radius:3px;
  box-shadow:0 14px 32px rgba(10,35,66,.035);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.education-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,151,178,.34);
  box-shadow:0 22px 48px rgba(10,35,66,.075);
}

.education-icon{
  width:64px;
  height:64px;
  margin:0 auto 20px;
  display:grid;
  place-items:center;
  color:var(--radion-teal);
}

.education-icon i{
  font-size:3.35rem;
  line-height:1;
}

.education-card h3{
  margin:0 0 14px;
  color:var(--radion-ink);
  font-size:.92rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
  line-height:1.35;
}

.education-card p{
  margin:0 auto;
  max-width:230px;
  color:var(--radion-muted);
  font-size:.93rem;
  font-weight:500;
  line-height:1.7;
}

.coming-soon{
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin:28px auto 0;
  color:var(--radion-muted);
  font-size:.98rem;
  font-weight:500;
}

.coming-soon::before,
.coming-soon::after{
  content:"";
  width:58px;
  height:1px;
  background:rgba(0,151,178,.32);
}

@media (max-width:991.98px){
  .knowledge-education{
    padding:40px 0 52px;
  }

  .education-grid{
    grid-template-columns:repeat(2,1fr);
    gap:14px;
  }

  .education-card{
    min-height:220px;
    padding:30px 22px 26px;
  }
}

@media (max-width:575.98px){
  .knowledge-education{
    padding:34px 0 44px;
  }

  .education-shell{
    width:100%;
    padding:0 22px;
  }

  .education-subtitle{
    max-width:320px;
    line-height:1.55;
    margin-bottom:22px;
  }

  .education-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .education-card{
    min-height:auto;
    padding:24px 20px;
    display:grid;
    grid-template-columns:56px 1fr;
    column-gap:16px;
    align-items:start;
    text-align:left;
  }

  .education-icon{
    width:56px;
    height:56px;
    margin:0;
  }

  .education-icon i{
    font-size:2.55rem;
  }

  .education-card h3{
    margin-top:4px;
    margin-bottom:8px;
  }

  .education-card p{
    max-width:none;
    grid-column:2;
    font-size:.92rem;
    line-height:1.62;
  }

  .coming-soon{
    margin-top:24px;
    font-size:.9rem;
  }

  .coming-soon::before,
  .coming-soon::after{
    width:34px;
  }
}


/* V16 · Nuestra Comunidad corregida */
.panel-community{
  position:relative;
  min-height:clamp(320px, 39svh, 430px);
  background:linear-gradient(135deg,#07234a 0%, #0a2342 54%, #081a31 100%);
  align-items:stretch;
  overflow:hidden;
}
.community-bg{
  position:absolute;
  inset:0;
  z-index:1;
}
.community-bg img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.03) contrast(1.04) brightness(.93);
}
.community-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(7,35,74,.98) 0%, rgba(7,35,74,.96) 22%, rgba(7,35,74,.82) 38%, rgba(7,35,74,.46) 54%, rgba(7,35,74,.12) 68%, rgba(7,35,74,0) 80%),
    linear-gradient(180deg,rgba(5,20,40,.08) 0%, rgba(5,20,40,.16) 100%);
}
.community-copy-zone{
  position:relative;
  z-index:4;
  align-self:center;
  width:min(360px, 35vw);
  margin-left:clamp(34px, 4vw, 56px);
  padding:clamp(24px, 4vw, 40px) 0;
}
.panel-community .section-kicker{
  margin:0 0 12px;
  color:#2db8e3;
}
.community-copy-zone h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.95rem, 2.75vw, 3.1rem);
  line-height:1.08;
  letter-spacing:-.03em;
  color:#ffffff;
  font-weight:400;
}
.community-copy-zone .section-lead{
  max-width:330px;
  margin:12px 0 0;
  color:rgba(255,255,255,.9);
  font-size:clamp(.88rem, .92vw, .96rem);
  line-height:1.65;
}
.btn-community{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:18px;
  padding:13px 18px;
  border:1px solid rgba(46,184,227,.55);
  border-radius:2px;
  color:#fff;
  background:rgba(5,28,52,.46);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.76rem;
  font-weight:800;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn-community:hover{
  color:#fff;
  background:rgba(0,151,178,.18);
  border-color:rgba(46,184,227,.85);
  transform:translateY(-2px);
}

@media (max-width: 991.98px){
  .panel-community{
    display:flex;
    flex-direction:column;
    min-height:auto;
    padding-top:var(--header-h);
    background:#0a2342;
  }
  .community-bg{
    position:relative;
    inset:auto;
    width:100%;
    aspect-ratio:16/9;
  }
  .community-bg img{
    object-position:center center;
  }
  .community-overlay{
    inset:auto;
    top:var(--header-h);
    left:0;
    right:0;
    height:auto;
    bottom:auto;
    aspect-ratio:16/9;
    background:linear-gradient(180deg, rgba(7,35,74,.18) 0%, rgba(7,35,74,.12) 46%, rgba(7,35,74,.72) 88%, #0a2342 100%);
  }
  .community-copy-zone{
    width:100%;
    max-width:760px;
    margin:0;
    padding:22px 26px 32px;
    background:#0a2342;
  }
  .community-copy-zone h2{
    font-size:clamp(1.8rem, 7.2vw, 2.8rem);
  }
  .community-copy-zone .section-lead{
    max-width:620px;
    font-size:.92rem;
    line-height:1.6;
  }
}

@media (max-width: 575.98px){
  .community-bg,
  .community-overlay{
    aspect-ratio:4/3;
  }
  .community-copy-zone{
    padding:20px 22px 30px;
  }
  .community-copy-zone h2{
    font-size:clamp(1.62rem, 7.8vw, 2.35rem);
  }
  .community-copy-zone .section-lead{
    font-size:.88rem;
    line-height:1.58;
  }
  .btn-community{
    width:100%;
    justify-content:space-between;
    font-size:.78rem;
    padding:14px 18px;
  }
}


/* V19 · Contacto y footer estilo prototipo */
.panel-contact{
  display:block;
  min-height:auto;
  padding-top:0;
  background:#fff;
  overflow:visible;
}

.contact-strip{
  position:relative;
  z-index:2;
  background:#fff;
  border-top:1px solid rgba(10,35,66,.08);
  border-bottom:1px solid rgba(10,35,66,.08);
  padding:clamp(22px,2.5vw,34px) 0;
}

.contact-shell{
  width:min(1120px,91vw);
  margin-inline:auto;
}

.contact-shell h2{
  margin:0 0 20px;
  color:var(--radion-teal);
  font-size:clamp(1.02rem,1.35vw,1.35rem);
  line-height:1.25;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-actions{
  display:grid;
  grid-template-columns:1.16fr 1fr 1.12fr 220px;
  gap:clamp(18px,2.4vw,38px);
  align-items:center;
}

.contact-item{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  color:var(--radion-ink);
  font-size:clamp(.94rem,1vw,1.02rem);
  font-weight:500;
  line-height:1.35;
  transition:color .2s ease, transform .2s ease;
}

.contact-item:hover{
  color:var(--radion-teal);
  transform:translateY(-1px);
}

.contact-item i{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  color:var(--radion-teal);
  font-size:2rem;
  line-height:1;
}

.contact-item span{
  overflow-wrap:anywhere;
}

.contact-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  width:100%;
  min-height:58px;
  padding:15px 22px;
  background:var(--radion-ink);
  color:#fff;
  border:1px solid var(--radion-ink);
  border-radius:2px;
  box-shadow:0 16px 34px rgba(10,35,66,.16);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.87rem;
  font-weight:800;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.contact-button:hover{
  color:#fff;
  background:var(--radion-ink-soft);
  transform:translateY(-2px);
  box-shadow:0 22px 44px rgba(10,35,66,.22);
}

.site-footer{
  position:relative;
  z-index:2;
  background:linear-gradient(135deg,#071a33 0%, #0a2342 55%, #061529 100%);
  color:#fff;
  padding:clamp(22px,3vw,34px) 0;
}

.footer-shell{
  width:min(1120px,91vw);
  margin-inline:auto;
  display:grid;
  grid-template-columns:240px 1fr 150px;
  align-items:center;
  gap:34px;
}

.footer-brand{
  display:flex;
  align-items:center;
  width:210px;
}

.footer-brand img{
  display:block;
  width:100%;
  height:auto;
  max-height:62px;
  object-fit:contain;
}

.footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(160px,1fr));
  align-items:center;
  border-left:1px solid rgba(0,151,178,.45);
  border-right:1px solid rgba(0,151,178,.45);
}

.footer-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 26px;
  color:rgba(255,255,255,.9);
  font-size:.96rem;
  font-weight:500;
  line-height:1.3;
  border-right:1px solid rgba(0,151,178,.45);
  transition:color .2s ease;
}

.footer-links a:last-child{
  border-right:0;
}

.footer-links a:hover{
  color:#4fd9ee;
}

.footer-social{
  display:flex;
  justify-content:flex-end;
  gap:16px;
}

.footer-social a{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(0,151,178,.72);
  color:#fff;
  border-radius:999px;
  font-size:1.22rem;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}

.footer-social a:hover{
  background:rgba(0,151,178,.22);
  border-color:#4fd9ee;
  transform:translateY(-2px);
}

@media (max-width:991.98px){
  .panel-contact{
    padding-top:var(--header-h);
  }

  .contact-actions{
    grid-template-columns:1fr 1fr;
    gap:18px 24px;
  }

  .contact-button{
    grid-column:1 / -1;
    width:min(320px,100%);
  }

  .footer-shell{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:22px;
  }

  .footer-brand{
    width:205px;
  }

  .footer-links{
    width:100%;
    max-width:620px;
    border-left:0;
    border-right:0;
    border-top:1px solid rgba(0,151,178,.42);
    border-bottom:1px solid rgba(0,151,178,.42);
  }

  .footer-social{
    justify-content:center;
  }
}

@media (max-width:575.98px){
  .contact-strip{
    padding:28px 0;
  }

  .contact-shell{
    width:100%;
    padding:0 22px;
  }

  .contact-shell h2{
    font-size:1rem;
    line-height:1.45;
    margin-bottom:18px;
  }

  .contact-actions{
    grid-template-columns:1fr;
    gap:15px;
  }

  .contact-item{
    align-items:flex-start;
    gap:14px;
    padding:4px 0;
    font-size:.95rem;
  }

  .contact-item i{
    width:32px;
    height:32px;
    font-size:1.7rem;
  }

  .contact-button{
    margin-top:6px;
    width:100%;
    min-height:54px;
    justify-content:space-between;
  }

  .site-footer{
    padding:28px 0;
  }

  .footer-shell{
    width:100%;
    padding:0 22px;
  }

  .footer-brand{
    width:190px;
  }

  .footer-links{
    grid-template-columns:1fr;
  }

  .footer-links a{
    min-height:48px;
    border-right:0;
    border-bottom:1px solid rgba(0,151,178,.35);
    font-size:.92rem;
  }

  .footer-links a:last-child{
    border-bottom:0;
  }

  .footer-social a{
    width:44px;
    height:44px;
    font-size:1.1rem;
  }
}


/* V20 · Contacto más extendido para correo y teléfono en una línea */
.contact-shell{
  width:min(1320px,96vw);
}

.contact-actions{
  grid-template-columns:minmax(250px,1.2fr) minmax(190px,.86fr) minmax(250px,1.05fr) minmax(230px,.9fr);
  gap:clamp(18px,1.8vw,30px);
}

.contact-item{
  white-space:nowrap;
  gap:14px;
}

.contact-item span{
  overflow-wrap:normal;
  word-break:normal;
}

.contact-cta{
  min-width:220px;
  padding-inline:28px;
}

@media (max-width:1199.98px){
  .contact-shell{
    width:min(1120px,94vw);
  }

  .contact-actions{
    grid-template-columns:1fr 1fr;
  }

  .contact-item{
    white-space:normal;
  }

  .contact-cta{
    grid-column:1 / -1;
    width:min(360px,100%);
  }
}

@media (max-width:575.98px){
  .contact-shell{
    width:100%;
  }

  .contact-item{
    white-space:normal;
  }
}


/* V21 · Contacto con separación equitativa */
.contact-shell{
  width:min(1280px,94vw);
}

.contact-actions{
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,.82fr);
  gap:clamp(22px,2.4vw,38px);
  align-items:center;
}

.contact-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-width:0;
  white-space:nowrap;
}

.contact-item i{
  justify-self:center;
}

.contact-item span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.contact-cta{
  min-width:0;
  width:100%;
  padding-inline:26px;
}

@media (max-width:1199.98px){
  .contact-shell{
    width:min(1080px,94vw);
  }

  .contact-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
  }

  .contact-cta{
    grid-column:1 / -1;
    justify-self:center;
    width:min(360px,100%);
  }

  .contact-item{
    white-space:normal;
  }

  .contact-item span{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}

@media (max-width:767.98px){
  .contact-actions{
    grid-template-columns:1fr;
    gap:18px;
  }

  .contact-item{
    grid-template-columns:38px 1fr;
  }

  .contact-cta{
    width:100%;
  }
}


/* V22 · Contacto afinado a todo lo ancho, sin textos incompletos */
.contact-top{
  padding:clamp(28px,3.2vw,42px) 0;
}

.contact-shell{
  width:100%;
  max-width:none;
  padding-left:clamp(34px,4.8vw,72px);
  padding-right:clamp(34px,4.8vw,72px);
}

.contact-shell h2{
  margin-bottom:22px;
}

.contact-actions{
  width:100%;
  display:grid;
  grid-template-columns:minmax(330px,1.25fr) minmax(230px,.85fr) minmax(305px,1.08fr) minmax(220px,.74fr);
  gap:clamp(22px,2.6vw,46px);
  align-items:center;
}

.contact-item{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
  white-space:nowrap;
}

.contact-item span{
  display:inline;
  min-width:auto;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}

.contact-item i{
  flex:0 0 auto;
  justify-self:auto;
  font-size:1.95rem;
}

.contact-cta{
  width:100%;
  min-width:210px;
  min-height:60px;
  padding-inline:26px;
  justify-content:space-between;
  white-space:nowrap;
}

/* En pantallas medianas mantenemos el diseño uniforme, pero permitimos dos filas limpias */
@media (max-width:1279.98px){
  .contact-shell{
    padding-left:clamp(28px,4vw,48px);
    padding-right:clamp(28px,4vw,48px);
  }

  .contact-actions{
    grid-template-columns:minmax(330px,1.25fr) minmax(230px,.9fr);
    gap:22px 34px;
  }

  .contact-cta{
    width:min(320px,100%);
  }
}

/* Tablet: todo legible, sin cortes */
@media (max-width:991.98px){
  .contact-actions{
    grid-template-columns:1fr;
    gap:18px;
  }

  .contact-item{
    white-space:normal;
  }

  .contact-item span{
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .contact-cta{
    width:min(360px,100%);
    justify-self:start;
  }
}

/* Móvil: apilado claro */
@media (max-width:575.98px){
  .contact-shell{
    padding-left:22px;
    padding-right:22px;
  }

  .contact-shell h2{
    margin-bottom:20px;
  }

  .contact-item{
    gap:14px;
    align-items:flex-start;
  }

  .contact-item i{
    font-size:1.68rem;
    margin-top:1px;
  }

  .contact-cta{
    width:100%;
    min-height:58px;
    padding-inline:22px;
  }
}


/* V23 · Logos actualizados y responsivos */
.brand{
  width:clamp(210px, 21vw, 300px);
  min-width:190px;
}

.brand img{
  width:100%;
  max-height:64px;
  height:auto;
  object-fit:contain;
  object-position:left center;
  display:block;
}

.footer-brand img{
  width:clamp(210px, 19vw, 280px);
  max-height:90px;
  height:auto;
  object-fit:contain;
  object-position:left center;
  display:block;
  filter:none;
  opacity:1;
}

@media (max-width:1199.98px){
  .brand{
    width:clamp(200px, 23vw, 260px);
  }

  .brand img{
    max-height:58px;
  }
}

@media (max-width:991.98px){
  .brand{
    width:min(220px, 66vw);
    min-width:0;
  }

  .brand img{
    max-height:54px;
  }

  .footer-brand img{
    width:min(230px, 70vw);
    max-height:82px;
  }
}

@media (max-width:575.98px){
  .brand{
    width:min(190px, 62vw);
  }

  .brand img{
    max-height:48px;
  }

  .footer-brand img{
    width:min(210px, 76vw);
    max-height:76px;
  }
}


/* V24 · Header logo más grande */
.brand{
  width:clamp(255px, 26vw, 370px);
  min-width:230px;
}

.brand img{
  max-height:82px;
}

@media (max-width:1199.98px){
  .brand{
    width:clamp(235px, 27vw, 320px);
  }

  .brand img{
    max-height:74px;
  }
}

@media (max-width:991.98px){
  .brand{
    width:min(250px, 74vw);
  }

  .brand img{
    max-height:64px;
  }
}

@media (max-width:575.98px){
  .brand{
    width:min(220px, 72vw);
  }

  .brand img{
    max-height:56px;
  }
}


/* V25 · Header logo corregido para desktop y responsivo */
.site-header{
  height:var(--header-h);
  align-items:center;
}

.brand{
  width:clamp(315px, 30vw, 455px);
  min-width:300px;
  height:100%;
  display:flex;
  align-items:center;
  flex:0 0 auto;
  overflow:visible;
}

.brand img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:78px;
  object-fit:contain;
  object-position:left center;
  display:block;
}

.site-nav{
  flex:1 1 auto;
  min-width:0;
}

@media (min-width:1400px){
  .brand{
    width:clamp(380px, 31vw, 520px);
  }

  .brand img{
    max-height:82px;
  }
}

@media (max-width:1199.98px){
  .brand{
    width:clamp(280px, 28vw, 350px);
    min-width:260px;
  }

  .brand img{
    max-height:70px;
  }

  .site-nav{
    gap:clamp(18px,2.3vw,30px);
  }
}

@media (max-width:991.98px){
  .brand{
    width:min(270px, 72vw);
    min-width:0;
  }

  .brand img{
    max-height:60px;
  }
}

@media (max-width:575.98px){
  .brand{
    width:min(235px, 72vw);
  }

  .brand img{
    max-height:52px;
  }
}


/* V26 · Modal de contacto */
.contact-item-button{
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
}

button.contact-cta{
  cursor:pointer;
  font-family:inherit;
}

.contact-modal{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.contact-modal.is-open{
  opacity:1;
  pointer-events:auto;
}

.contact-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,18,34,.72);
  backdrop-filter:blur(10px);
}

.contact-modal__dialog{
  position:relative;
  z-index:2;
  width:min(720px,100%);
  max-height:min(88vh,820px);
  overflow:auto;
  background:#fff;
  border:1px solid rgba(10,35,66,.12);
  border-radius:6px;
  box-shadow:0 30px 90px rgba(5,18,34,.35);
  padding:clamp(28px,4vw,46px);
  transform:translateY(16px) scale(.98);
  transition:transform .24s ease;
}

.contact-modal.is-open .contact-modal__dialog{
  transform:translateY(0) scale(1);
}

.contact-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(10,35,66,.12);
  border-radius:999px;
  background:#fff;
  color:var(--radion-ink);
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.contact-modal__close:hover{
  background:var(--radion-ink);
  color:#fff;
  transform:rotate(90deg);
}

.contact-modal__header{
  padding-right:38px;
  margin-bottom:26px;
}

.contact-modal__header .section-kicker{
  margin:0 0 10px;
}

.contact-modal__header h2{
  margin:0;
  font-family:var(--serif);
  color:var(--radion-ink);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.05;
  font-size:clamp(2.25rem,4vw,3.7rem);
}

.contact-modal__header p{
  max-width:560px;
  margin:14px 0 0;
  color:var(--radion-muted);
  font-size:1rem;
  line-height:1.7;
  font-weight:500;
}

.contact-form{
  display:grid;
  gap:18px;
}

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

.form-field{
  display:grid;
  gap:8px;
}

.form-field label{
  color:var(--radion-ink);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid rgba(10,35,66,.18);
  border-radius:3px;
  background:#fff;
  color:var(--radion-ink);
  padding:14px 15px;
  font:inherit;
  font-size:1rem;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.form-field textarea{
  resize:vertical;
  min-height:132px;
}

.form-field input:focus,
.form-field textarea:focus{
  border-color:var(--radion-teal);
  box-shadow:0 0 0 4px rgba(0,151,178,.1);
}

.form-field small{
  display:none;
  color:#b42318;
  font-size:.78rem;
  font-weight:600;
}

.form-field.is-invalid input,
.form-field.is-invalid textarea{
  border-color:#b42318;
  background:#fffafa;
}

.form-field.is-invalid small{
  display:block;
}

.contact-form__actions{
  display:flex;
  justify-content:flex-end;
  gap:14px;
  margin-top:8px;
}

.btn-modal-secondary,
.btn-modal-primary{
  min-height:52px;
  padding:0 22px;
  border-radius:2px;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.btn-modal-secondary{
  border:1px solid rgba(10,35,66,.18);
  background:#fff;
  color:var(--radion-ink);
}

.btn-modal-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid var(--radion-ink);
  background:var(--radion-ink);
  color:#fff;
}

.btn-modal-secondary:hover,
.btn-modal-primary:hover{
  transform:translateY(-2px);
}

.btn-modal-primary:hover{
  background:var(--radion-ink-soft);
}

.form-response{
  margin:0;
  min-height:22px;
  color:var(--radion-teal);
  font-size:.92rem;
  font-weight:700;
}

body.modal-open{
  overflow:hidden;
}

@media (max-width:575.98px){
  .contact-modal{
    padding:14px;
    align-items:end;
  }

  .contact-modal__dialog{
    width:100%;
    max-height:92vh;
    padding:28px 22px;
    border-radius:16px 16px 0 0;
  }

  .contact-modal__header{
    padding-right:34px;
  }

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

  .contact-form__actions{
    flex-direction:column-reverse;
  }

  .btn-modal-secondary,
  .btn-modal-primary{
    width:100%;
  }
}


/* V27 · Ajuste modal visible sin mailto */
.contact-modal{
  z-index:9999;
}

.contact-modal.is-open{
  display:grid;
}

.contact-item-button{
  appearance:none;
  -webkit-appearance:none;
}

.contact-cta{
  appearance:none;
  -webkit-appearance:none;
}

.form-response{
  color:var(--radion-teal);
}


/* V28 · Modal local corregido: no depende de servidor, Bootstrap ni mailto */
.contact-item-button{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
  color:inherit;
}

button.contact-cta{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font-family:inherit;
}

.contact-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  place-items:center;
  padding:24px;
}

.contact-modal.is-open{
  display:grid;
}

.contact-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,18,34,.72);
  backdrop-filter:blur(10px);
}

.contact-modal__dialog{
  position:relative;
  z-index:2;
  width:min(720px,100%);
  max-height:min(88vh,820px);
  overflow:auto;
  background:#fff;
  border:1px solid rgba(10,35,66,.12);
  border-radius:6px;
  box-shadow:0 30px 90px rgba(5,18,34,.35);
  padding:clamp(28px,4vw,46px);
}

.contact-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(10,35,66,.12);
  border-radius:999px;
  background:#fff;
  color:var(--radion-ink);
  cursor:pointer;
}

.contact-modal__header{
  padding-right:38px;
  margin-bottom:26px;
}

.contact-modal__header .section-kicker{
  margin:0 0 10px;
}

.contact-modal__header h2{
  margin:0;
  font-family:var(--serif);
  color:var(--radion-ink);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.05;
  font-size:clamp(2.25rem,4vw,3.7rem);
}

.contact-modal__header p{
  max-width:560px;
  margin:14px 0 0;
  color:var(--radion-muted);
  font-size:1rem;
  line-height:1.7;
  font-weight:500;
}

.contact-form{
  display:grid;
  gap:18px;
}

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

.form-field{
  display:grid;
  gap:8px;
}

.form-field label{
  color:var(--radion-ink);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid rgba(10,35,66,.18);
  border-radius:3px;
  background:#fff;
  color:var(--radion-ink);
  padding:14px 15px;
  font:inherit;
  font-size:1rem;
  outline:none;
}

.form-field textarea{
  resize:vertical;
  min-height:132px;
}

.form-field input:focus,
.form-field textarea:focus{
  border-color:var(--radion-teal);
  box-shadow:0 0 0 4px rgba(0,151,178,.1);
}

.form-field small{
  display:none;
  color:#b42318;
  font-size:.78rem;
  font-weight:600;
}

.form-field.is-invalid input,
.form-field.is-invalid textarea{
  border-color:#b42318;
  background:#fffafa;
}

.form-field.is-invalid small{
  display:block;
}

.contact-form__actions{
  display:flex;
  justify-content:flex-end;
  gap:14px;
  margin-top:8px;
}

.btn-modal-secondary,
.btn-modal-primary{
  min-height:52px;
  padding:0 22px;
  border-radius:2px;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
}

.btn-modal-secondary{
  border:1px solid rgba(10,35,66,.18);
  background:#fff;
  color:var(--radion-ink);
}

.btn-modal-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid var(--radion-ink);
  background:var(--radion-ink);
  color:#fff;
}

.form-response{
  margin:0;
  min-height:22px;
  color:var(--radion-teal);
  font-size:.92rem;
  font-weight:700;
}

body.modal-open{
  overflow:hidden;
}

@media (max-width:575.98px){
  .contact-modal{
    padding:14px;
    align-items:end;
  }

  .contact-modal__dialog{
    width:100%;
    max-height:92vh;
    padding:28px 22px;
    border-radius:16px 16px 0 0;
  }

  .contact-modal__header{
    padding-right:34px;
  }

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

  .contact-form__actions{
    flex-direction:column-reverse;
  }

  .btn-modal-secondary,
  .btn-modal-primary{
    width:100%;
  }
}


/* V29 · Eliminación definitiva de mailto y soporte botón Contactar */
.contact-item{
  text-decoration:none;
}

.contact-item-button,
button.contact-button,
button.contact-cta{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  cursor:pointer;
  font-family:inherit;
}

button.contact-button,
button.contact-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
  min-height:60px;
  padding:0 26px;
  background:var(--radion-ink);
  color:#fff;
  border:1px solid var(--radion-ink);
  border-radius:2px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.92rem;
  font-weight:800;
  box-shadow:0 16px 34px rgba(10,35,66,.16);
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}

button.contact-button:hover,
button.contact-cta:hover{
  color:#fff;
  background:var(--radion-ink-soft);
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(10,35,66,.2);
}

.contact-modal{
  z-index:999999;
}



/* V30 · Modal sin texto descriptivo bajo el título */
.contact-modal__header{
  margin-bottom:22px;
}

.contact-modal__header h2{
  margin-bottom:0;
}


/* V32 · Página Aviso de Privacidad */
.legal-page{
  background:#fff;
}

.legal-page #site-bg{
  background:
    radial-gradient(circle at 80% 20%, rgba(0,151,178,.08), transparent 34%),
    linear-gradient(180deg,#fff 0%,#f8fbfd 46%,#fff 100%);
}

.legal-main{
  padding-top:var(--header-h);
}

.legal-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,116px) 0 clamp(34px,4vw,54px);
  background:
    radial-gradient(circle at 82% 20%, rgba(0,151,178,.13), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f7fbfd 55%,#ffffff 100%);
  border-bottom:1px solid rgba(10,35,66,.08);
}

.legal-hero::after{
  content:"";
  position:absolute;
  right:clamp(-120px,-8vw,-40px);
  top:clamp(40px,7vw,120px);
  width:clamp(220px,28vw,420px);
  height:clamp(220px,28vw,420px);
  border:1px solid rgba(0,151,178,.18);
  border-radius:50%;
  box-shadow:inset 0 0 0 18px rgba(0,151,178,.035);
  pointer-events:none;
}

.legal-shell{
  width:min(980px,88vw);
  margin-inline:auto;
  position:relative;
  z-index:2;
}

.legal-eyebrow{
  margin:0 0 18px;
  color:var(--radion-teal);
  font-size:.86rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.legal-hero h1{
  margin:0;
  color:var(--radion-ink);
  font-family:var(--serif);
  font-size:clamp(3rem,6vw,6.3rem);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
}

.legal-updated{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin:24px 0 0;
  color:var(--radion-muted);
  font-size:clamp(.96rem,1vw,1.04rem);
  font-weight:600;
}

.legal-updated::before{
  content:"";
  width:44px;
  height:2px;
  background:var(--radion-teal);
}

.legal-content{
  padding:clamp(42px,6vw,82px) 0 clamp(60px,7vw,96px);
  background:#fff;
}

.legal-card{
  background:#fff;
  border:1px solid rgba(10,35,66,.1);
  box-shadow:0 22px 60px rgba(10,35,66,.06);
  padding:clamp(28px,5vw,64px);
}

.legal-card p{
  margin:0 0 18px;
  color:var(--radion-muted);
  font-size:clamp(1rem,1.05vw,1.08rem);
  line-height:1.86;
  font-weight:500;
}

.legal-section{
  margin-top:clamp(30px,4vw,48px);
  padding-top:clamp(24px,3vw,34px);
  border-top:1px solid rgba(10,35,66,.09);
}

.legal-section h2{
  margin:0 0 16px;
  color:var(--radion-ink);
  font-family:var(--sans);
  font-size:clamp(1rem,1.15vw,1.16rem);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.legal-section ul{
  margin:14px 0 0;
  padding-left:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.legal-section li{
  position:relative;
  padding-left:28px;
  color:var(--radion-muted);
  font-size:clamp(1rem,1.05vw,1.06rem);
  line-height:1.72;
  font-weight:500;
}

.legal-section li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--radion-teal);
  box-shadow:0 0 0 5px rgba(0,151,178,.09);
}

.legal-copyright{
  margin-top:clamp(34px,4vw,50px)!important;
  padding-top:24px;
  border-top:1px solid rgba(10,35,66,.09);
  color:var(--radion-ink)!important;
  font-weight:700!important;
}

.legal-page .site-footer{
  margin-top:0;
}

@media (max-width:991.98px){
  .legal-shell{
    width:min(760px,88vw);
  }

  .legal-hero{
    padding-top:clamp(58px,9vw,82px);
  }

  .legal-card{
    box-shadow:0 16px 44px rgba(10,35,66,.05);
  }
}

@media (max-width:575.98px){
  .legal-shell{
    width:100%;
    padding-inline:22px;
  }

  .legal-hero{
    padding:52px 0 34px;
  }

  .legal-hero h1{
    font-size:clamp(2.55rem,13vw,3.8rem);
  }

  .legal-updated{
    align-items:flex-start;
    line-height:1.45;
  }

  .legal-updated::before{
    margin-top:.7em;
    width:32px;
  }

  .legal-content{
    padding:32px 0 52px;
  }

  .legal-card{
    border-left:0;
    border-right:0;
    padding:28px 22px;
  }

  .legal-section{
    margin-top:28px;
  }

  .legal-section h2{
    line-height:1.35;
  }
}


/* V33 · Ajustes página Términos y Condiciones */
.legal-hero h1{
  max-width:920px;
}

@media (max-width:575.98px){
  .legal-hero h1{
    font-size:clamp(2.35rem,11.5vw,3.55rem);
  }
}


/* V34 · Estados de envío formulario */
.btn-modal-primary:disabled{
  opacity:.72;
  cursor:not-allowed;
  transform:none!important;
}

.form-response.is-success{
  color:var(--radion-teal);
}

.form-response.is-error{
  color:#b42318;
}



/* V42 · Footer logo SVG */
.site-footer .footer-brand img,
.site-footer .footer-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
}

@media (min-width: 992px){
  .site-footer .footer-brand img,
  .site-footer .footer-logo img{
    max-height:72px;
  }
}

@media (max-width: 991.98px){
  .site-footer .footer-brand img,
  .site-footer .footer-logo img{
    max-height:64px;
  }
}


/* V43 · Footer logo más grande en desktop */
.footer-shell{
  grid-template-columns:minmax(280px,360px) 1fr auto;
}

.footer-brand img,
.site-footer .footer-brand img{
  width:clamp(280px, 23vw, 390px);
  max-height:118px;
}

@media (min-width:1400px){
  .footer-shell{
    grid-template-columns:minmax(330px,430px) 1fr auto;
  }

  .footer-brand img,
  .site-footer .footer-brand img{
    width:clamp(340px, 24vw, 460px);
    max-height:132px;
  }
}

@media (max-width:1199.98px){
  .footer-shell{
    grid-template-columns:minmax(250px,310px) 1fr auto;
  }

  .footer-brand img,
  .site-footer .footer-brand img{
    width:clamp(250px, 26vw, 330px);
    max-height:104px;
  }
}

@media (max-width:991.98px){
  .footer-shell{
    grid-template-columns:1fr;
  }

  .footer-brand img,
  .site-footer .footer-brand img{
    width:min(300px, 76vw);
    max-height:96px;
  }
}

@media (max-width:575.98px){
  .footer-brand img,
  .site-footer .footer-brand img{
    width:min(260px, 82vw);
    max-height:88px;
  }
}


/* V45 · Footer logo más grande y centrado en móvil */
.footer-brand{
  display:flex;
  align-items:center;
}

.footer-brand img,
.site-footer .footer-brand img{
  width:clamp(330px, 26vw, 480px);
  max-height:148px;
}

@media (min-width:1400px){
  .footer-shell{
    grid-template-columns:minmax(390px,500px) 1fr auto;
  }

  .footer-brand img,
  .site-footer .footer-brand img{
    width:clamp(400px, 27vw, 560px);
    max-height:162px;
  }
}

@media (min-width:992px) and (max-width:1399.98px){
  .footer-shell{
    grid-template-columns:minmax(350px,440px) 1fr auto;
  }

  .footer-brand img,
  .site-footer .footer-brand img{
    width:clamp(350px, 27vw, 470px);
    max-height:150px;
  }
}

@media (max-width:991.98px){
  .footer-shell{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }

  .footer-brand{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .footer-brand img,
  .site-footer .footer-brand img{
    width:min(360px, 84vw);
    max-height:122px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width:575.98px){
  .footer-brand img,
  .site-footer .footer-brand img{
    width:min(320px, 88vw);
    max-height:112px;
  }
}


/* V46 · Fix fuerte: logo footer centrado en móvil y más grande */
.site-footer .footer-brand{
  display:flex !important;
  align-items:center !important;
}

.site-footer .footer-brand img{
  width:clamp(360px, 28vw, 500px) !important;
  max-height:156px !important;
}

@media (min-width: 1400px){
  .site-footer .footer-brand img{
    width:clamp(420px, 28vw, 580px) !important;
    max-height:170px !important;
  }
}

@media (min-width: 992px) and (max-width: 1399.98px){
  .site-footer .footer-brand img{
    width:clamp(370px, 28vw, 500px) !important;
    max-height:156px !important;
  }
}

@media (max-width: 991.98px){
  .site-footer .footer-shell{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
  }

  .site-footer .footer-brand{
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto 8px !important;
    text-align:center !important;
    grid-column:1 / -1 !important;
  }

  .site-footer .footer-brand img{
    display:block !important;
    width:min(380px, 88vw) !important;
    max-height:128px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width: 575.98px){
  .site-footer .footer-shell{
    width:min(92vw, 420px) !important;
  }

  .site-footer .footer-brand{
    justify-content:center !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .site-footer .footer-brand img{
    width:min(340px, 90vw) !important;
    max-height:120px !important;
    margin:0 auto !important;
  }
}


/* V47 · Footer regenerado: solo logo centrado */
.site-footer.site-footer--simple{
  position:relative;
  z-index:2;
  background:linear-gradient(135deg,#071a33 0%, #0a2342 55%, #061529 100%);
  color:#fff;
  padding:clamp(28px, 4vw, 44px) 0;
}

.site-footer--simple .footer-shell--simple{
  width:min(1120px, 92vw);
  margin:0 auto;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}

.site-footer--simple .footer-brand--center{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin:0 auto !important;
  text-align:center !important;
}

.site-footer--simple .footer-brand--center img{
  display:block !important;
  width:clamp(360px, 28vw, 520px) !important;
  height:auto !important;
  max-width:100% !important;
  max-height:160px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

@media (min-width:1400px){
  .site-footer--simple .footer-brand--center img{
    width:clamp(420px, 29vw, 600px) !important;
    max-height:176px !important;
  }
}

@media (max-width:991.98px){
  .site-footer.site-footer--simple{
    padding:30px 0;
  }

  .site-footer--simple .footer-shell--simple{
    width:min(94vw, 520px);
  }

  .site-footer--simple .footer-brand--center{
    width:100% !important;
    justify-content:center !important;
  }

  .site-footer--simple .footer-brand--center img{
    width:min(360px, 86vw) !important;
    max-height:132px !important;
  }
}

@media (max-width:575.98px){
  .site-footer.site-footer--simple{
    padding:26px 0;
  }

  .site-footer--simple .footer-shell--simple{
    width:min(92vw, 420px);
  }

  .site-footer--simple .footer-brand--center img{
    width:min(320px, 82vw) !important;
    max-height:118px !important;
  }
}


/* V48 · Footer simple con logo más grande en web y móvil */
.site-footer--simple .footer-brand--center img{
  width:clamp(440px, 32vw, 640px) !important;
  max-height:190px !important;
}

@media (min-width:1400px){
  .site-footer--simple .footer-brand--center img{
    width:clamp(500px, 33vw, 720px) !important;
    max-height:208px !important;
  }
}

@media (min-width:992px) and (max-width:1399.98px){
  .site-footer--simple .footer-brand--center img{
    width:clamp(460px, 33vw, 620px) !important;
    max-height:196px !important;
  }
}

@media (max-width:991.98px){
  .site-footer--simple .footer-brand--center img{
    width:min(420px, 92vw) !important;
    max-height:150px !important;
  }
}

@media (max-width:575.98px){
  .site-footer--simple .footer-brand--center img{
    width:min(380px, 94vw) !important;
    max-height:138px !important;
  }
}


/* V49 · Logo footer recortado sin espacios sobrantes */
.site-footer--simple .footer-brand--center img{
  object-fit:contain !important;
  object-position:center center !important;
}

@media (min-width:1400px){
  .site-footer--simple .footer-brand--center img{
    width:clamp(540px, 35vw, 760px) !important;
    max-height:220px !important;
  }
}

@media (min-width:992px) and (max-width:1399.98px){
  .site-footer--simple .footer-brand--center img{
    width:clamp(500px, 34vw, 660px) !important;
    max-height:205px !important;
  }
}

@media (max-width:991.98px){
  .site-footer--simple .footer-brand--center img{
    width:min(440px, 94vw) !important;
    max-height:160px !important;
  }
}

@media (max-width:575.98px){
  .site-footer--simple .footer-brand--center img{
    width:min(400px, 96vw) !important;
    max-height:146px !important;
  }
}


/* V50 · Footer completo con logo recortado reducido */
.site-footer.site-footer--complete{
  position:relative;
  z-index:2;
  background:linear-gradient(135deg,#071a33 0%, #0a2342 55%, #061529 100%);
  color:#fff;
  padding:clamp(24px, 3.5vw, 38px) 0;
}

.site-footer--complete .footer-shell--complete{
  width:min(1120px, 92vw);
  margin:0 auto;
  display:grid !important;
  grid-template-columns:260px 1fr 150px;
  gap:34px;
  align-items:center;
}

.site-footer--complete .footer-brand--center{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin:0 auto !important;
  text-align:center !important;
}

.site-footer--complete .footer-brand--center img{
  display:block !important;
  width:clamp(220px, 16vw, 320px) !important;
  height:auto !important;
  max-width:100% !important;
  max-height:96px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.site-footer--complete .footer-links--restored{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(160px,1fr));
  align-items:center;
  border-left:1px solid rgba(0,151,178,.45);
  border-right:1px solid rgba(0,151,178,.45);
}

.site-footer--complete .footer-links--restored a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 26px;
  color:rgba(255,255,255,.92);
  font-size:.96rem;
  font-weight:600;
  line-height:1.3;
  text-align:center;
  text-decoration:none;
  border-right:1px solid rgba(0,151,178,.45);
  transition:color .2s ease, background .2s ease;
}

.site-footer--complete .footer-links--restored a:last-child{
  border-right:0;
}

.site-footer--complete .footer-links--restored a:hover{
  color:#fff;
  background:rgba(0,151,178,.08);
}

.site-footer--complete .footer-social--restored{
  display:flex !important;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
}

.site-footer--complete .footer-social--restored a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(0,151,178,.85);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  transition:transform .2s ease, background .2s ease;
}

.site-footer--complete .footer-social--restored a:hover{
  transform:translateY(-2px);
  background:rgba(0,151,178,.16);
}

@media (min-width:1400px){
  .site-footer--complete .footer-shell--complete{
    grid-template-columns:300px 1fr 160px;
  }

  .site-footer--complete .footer-brand--center img{
    width:clamp(250px, 17vw, 360px) !important;
    max-height:108px !important;
  }
}

@media (max-width:991.98px){
  .site-footer--complete .footer-shell--complete{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:18px;
    text-align:center;
  }

  .site-footer--complete .footer-brand--center{
    justify-content:center !important;
  }

  .site-footer--complete .footer-brand--center img{
    width:min(220px, 56vw) !important;
    max-height:78px !important;
  }

  .site-footer--complete .footer-links--restored{
    width:100%;
    grid-template-columns:1fr;
    border-left:0;
    border-right:0;
    border-top:1px solid rgba(0,151,178,.45);
    border-bottom:1px solid rgba(0,151,178,.45);
  }

  .site-footer--complete .footer-links--restored a{
    min-height:48px;
    border-right:0;
    border-bottom:1px solid rgba(0,151,178,.45);
  }

  .site-footer--complete .footer-links--restored a:last-child{
    border-bottom:0;
  }

  .site-footer--complete .footer-social--restored{
    justify-content:center;
  }
}

@media (max-width:575.98px){
  .site-footer.site-footer--complete{
    padding:24px 0;
  }

  .site-footer--complete .footer-brand--center img{
    width:min(190px, 54vw) !important;
    max-height:70px !important;
  }

  .site-footer--complete .footer-social--restored a{
    width:40px;
    height:40px;
  }
}


/* V51 · Menú móvil corregido */
@media (max-width: 991.98px){
  .menu-toggle{
    display:flex !important;
    position:relative;
    z-index:1002;
    cursor:pointer;
  }

  .site-header{
    z-index:1000;
  }

  .site-nav{
    z-index:1001;
    display:flex !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-12px);
  }

  body.menu-open .site-nav,
  .site-header.menu-open .site-nav{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  body.menu-open{
    overflow-x:hidden;
  }

  .menu-toggle.is-active span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .menu-toggle.is-active span:nth-child(2){
    opacity:0;
  }

  .menu-toggle.is-active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}

@media (min-width: 992px){
  .site-nav{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
  }
}
/* Fin V51 · Menú móvil corregido */


/* V52 · Centrado vertical del botón menú en móvil */
@media (max-width: 991.98px){
  .site-header{
    display:flex !important;
    align-items:center !important;
  }

  .menu-toggle{
    position:absolute !important;
    top:50% !important;
    right:22px !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }

  .menu-toggle.is-active{
    transform:translateY(-50%) !important;
  }

  .menu-toggle.is-active span:nth-child(1){
    transform:translateY(7px) rotate(45deg) !important;
  }

  .menu-toggle.is-active span:nth-child(2){
    opacity:0 !important;
  }

  .menu-toggle.is-active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg) !important;
  }
}

@media (max-width: 575.98px){
  .menu-toggle{
    right:18px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  .menu-toggle.is-active{
    transform:translateY(-50%) !important;
  }
}


/* V59 · Ajuste móvil de Nuestra Comunidad para mostrar mapa + taza */
@media (max-width: 991.98px){
  .community-bg{
    aspect-ratio: 16 / 10 !important;
  }

  .community-bg img{
    object-position: 78% center !important;
  }

  .community-overlay{
    top: var(--header-h);
    aspect-ratio: 16 / 10 !important;
    background: linear-gradient(180deg, rgba(7,35,74,.08) 0%, rgba(7,35,74,.12) 52%, rgba(7,35,74,.70) 88%, #0a2342 100%) !important;
  }
}

@media (max-width: 575.98px){
  .community-bg,
  .community-overlay{
    aspect-ratio: 3 / 2 !important;
  }

  .community-bg img{
    object-position: 82% center !important;
  }
}


/* V60 · Corrección móvil de franja superior en Nuestra Comunidad */
@media (max-width: 991.98px){
  .panel-community{
    padding-top: 0 !important;
    background: #0a2342 !important;
  }

  .community-bg{
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin-top: 0 !important;
    top: 0 !important;
    aspect-ratio: 16 / 10 !important;
  }

  .community-bg img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 82% center !important;
  }

  .community-overlay{
    inset: 0 0 auto 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    background: linear-gradient(180deg, rgba(7,35,74,.05) 0%, rgba(7,35,74,.12) 50%, rgba(7,35,74,.70) 88%, #0a2342 100%) !important;
  }

  .community-copy-zone{
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px){
  .community-bg,
  .community-overlay{
    aspect-ratio: 3 / 2 !important;
  }

  .community-bg img{
    object-position: 84% center !important;
  }
}



/* V61 · SEO content pages */
.education-card-link{color:inherit;text-decoration:none;}
.education-card-link:hover{color:inherit;}
.seo-main{position:relative;z-index:2;background:#fff;}
.seo-hero .legal-updated{max-width:760px;}
.seo-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px);}
.seo-content-card{padding:clamp(22px,2.4vw,32px);border:1px solid rgba(10,35,66,.10);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(10,35,66,.08);}
.seo-content-card h2{margin:0 0 12px;color:#0a2342;font-size:clamp(1.15rem,1.4vw,1.45rem);line-height:1.2;font-weight:800;}
.seo-content-card p{margin:0;color:rgba(10,35,66,.78);font-size:.98rem;line-height:1.72;}
@media (max-width:991.98px){.seo-content-grid{grid-template-columns:1fr;}}


/* V62 · Mapa original en Nuestra Comunidad */
.community-bg img{
  object-fit:cover !important;
  object-position:center center !important;
}

@media (max-width: 991.98px){
  .panel-community{
    padding-top:0 !important;
  }

  .community-bg{
    aspect-ratio:16 / 9 !important;
    margin-top:0 !important;
  }

  .community-overlay{
    top:0 !important;
    aspect-ratio:16 / 9 !important;
    background:linear-gradient(180deg, rgba(7,35,74,.08) 0%, rgba(7,35,74,.14) 48%, rgba(7,35,74,.72) 88%, #0a2342 100%) !important;
  }
}

@media (max-width: 575.98px){
  .community-bg,
  .community-overlay{
    aspect-ratio:4 / 3 !important;
  }
}


/* V63 · Estado activo del menú sincronizado por sección */
.site-nav .nav-link.active{
  color:var(--radion-ink) !important;
}

.site-nav .nav-link.active::after{
  transform:scaleX(1) !important;
  opacity:1 !important;
}

.section-dots .dot.active{
  background:var(--radion-teal) !important;
  border-color:var(--radion-teal) !important;
  opacity:1 !important;
}


/* V64 · Línea activa del menú alineada al centro de cada link */
@media (min-width: 992px){
  .site-nav{
    align-items:center !important;
  }

  .site-nav .nav-link{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:clamp(22px, 2.4vw, 42px) !important;
    margin-right:clamp(22px, 2.4vw, 42px) !important;
    text-align:center !important;
  }

  .site-nav .nav-link::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    width:48px !important;
    height:2px !important;
    background:var(--radion-teal) !important;
    transform:translateX(-50%) scaleX(0) !important;
    transform-origin:center center !important;
    opacity:0 !important;
    transition:transform .22s ease, opacity .22s ease !important;
  }

  .site-nav .nav-link.active::after,
  .site-nav .nav-link:hover::after{
    transform:translateX(-50%) scaleX(1) !important;
    opacity:1 !important;
  }
}

@media (max-width: 991.98px){
  .site-nav .nav-link{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .site-nav .nav-link::after{
    display:none !important;
  }
}

