:root{
  --primary:#063b91; --secondary:#00a998; --accent:#ffb12a; --dark:#061c3f; --text:#14213d; --muted:#61718b; --light:#f5fbff; --white:#fff; --radius:22px; --shadow:0 18px 50px rgba(6,28,63,.12);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);line-height:1.6;background:#fff} img{max-width:100%;display:block} a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(6,59,145,.1)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:78px}.brand img{height:54px;width:auto}.nav-menu{display:flex;align-items:center;gap:28px;font-weight:700;font-size:.9rem}.nav-menu a:hover{color:var(--secondary)}.menu-toggle{display:none;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-size:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 24px;font-weight:800;transition:.25s}.btn-primary{background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;box-shadow:0 10px 24px rgba(6,59,145,.25)}.btn-secondary{background:#fff;color:var(--primary);border:2px solid rgba(6,59,145,.16)}.btn:hover{transform:translateY(-2px)}.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 38%,rgba(255,255,255,.08) 70%),url('hero-banner.png') center/cover no-repeat}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:130px;background:linear-gradient(180deg,transparent,#fff)}.hero-content{position:relative;z-index:2;padding:90px 0 140px}.eyebrow,.section-tag{display:inline-flex;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--secondary);font-size:.82rem}.hero h1{font-size:clamp(3rem,7vw,6.7rem);line-height:.92;margin:18px 0;color:var(--primary);letter-spacing:-.06em;max-width:720px}.lead{font-size:1.15rem;max-width:610px}.hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin:28px 0}.hero-meta div{background:rgba(255,255,255,.9);border:1px solid rgba(6,59,145,.12);padding:16px 20px;border-radius:18px;box-shadow:var(--shadow)}.hero-meta strong{display:block;color:var(--primary);font-size:1.05rem}.hero-meta span{color:var(--muted);font-size:.9rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.partners{background:#fff;padding:26px 0;border-bottom:1px solid #e9f1fb}.partners p{margin:0 0 14px;color:var(--muted);font-weight:800}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:center}.partner-grid img{height:82px;width:100%;object-fit:contain;padding:12px;border-right:1px solid #e6edf7}.partner-grid img:last-child{border-right:0}.section{padding:74px 0}.section.alt{background:var(--light)}.section h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:10px 0 18px;color:var(--dark);letter-spacing:-.035em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.feature-cards{display:grid;gap:16px}.feature-cards article,.module-card,.faq-item,.schedule{background:#fff;border:1px solid #e5eef8;border-radius:var(--radius);box-shadow:var(--shadow)}.feature-cards article{padding:24px}.feature-cards span,.module-card span{display:inline-flex;background:var(--secondary);color:#fff;border-radius:999px;padding:6px 12px;font-weight:900}.feature-cards h3,.module-card h3{color:var(--primary);line-height:1.15}.stats{padding:20px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:linear-gradient(135deg,var(--primary),#001a44);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.stats-grid div{padding:24px 22px;text-align:center;color:#fff;border-right:1px solid rgba(255,255,255,.18)}.stats-grid strong{display:block;font-size:2.1rem;color:var(--accent);line-height:1}.stats-grid span{font-weight:700}.module-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:26px}.module-card{padding:22px;min-height:310px}.module-card:nth-child(2) span{background:#0aa86f}.module-card:nth-child(3) span{background:#1d6fe8}.module-card:nth-child(4) span{background:#7b4ed9}.module-card:nth-child(5) span{background:#ff8a21}.module-card ul{padding-left:18px}.module-card li{margin:10px 0}.tabs{display:flex;gap:10px;margin:18px 0 20px}.tab{border:0;background:#fff;color:var(--primary);padding:12px 22px;border-radius:999px;font-weight:900;cursor:pointer}.tab.active{background:var(--primary);color:#fff}.schedule{display:none;padding:24px;overflow:auto}.schedule.active{display:block}.schedule h3{margin-top:0;color:var(--primary)}table{border-collapse:collapse;width:100%;min-width:640px}td{border-bottom:1px solid #e6edf7;padding:13px;vertical-align:top}td:first-child{width:220px;font-weight:900;color:var(--primary)}.check-list{list-style:none;padding:0}.check-list li{margin:14px 0;padding-left:32px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;top:0;background:var(--secondary);color:#fff;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:900}.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.audience-grid span{background:#fff;border:1px solid #e6edf7;border-radius:16px;padding:18px;font-weight:800;box-shadow:var(--shadow)}.narrow{max-width:850px}.section#faq .narrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start;max-width:1120px}.section#faq .narrow > .section-tag,.section#faq .narrow > h2{grid-column:1 / -1}.section#faq .faq-item{margin:0}.section#faq .faq-item:last-of-type{grid-column:1 / -1}.faq-item{overflow:hidden}.faq-item button{width:100%;border:0;background:#fff;text-align:left;padding:20px;font-weight:900;color:var(--primary);font-size:1rem;cursor:pointer}.faq-item div{display:none;padding:0 20px 20px;color:var(--muted)}.faq-item.open div{display:block}.cta{padding:50px 0;background:#fff}.cta-box{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,var(--primary),#002055 70%,var(--secondary));color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}.cta h2{margin:0;font-size:2rem}.cta p{margin:.4rem 0 0}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.site-footer{background:#061c3f;color:#fff;padding:44px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:32px}.footer-grid>div{min-width:0}.footer-grid img{max-height:70px;object-fit:contain}.footer-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:center}.footer-logos img{background:#fff;border-radius:12px;padding:8px;width:100%;height:70px}.copyright{text-align:center;margin-top:34px;padding:16px;background:#041530;color:#bfd1ef}.back-top{position:fixed;right:18px;bottom:18px;border:0;background:var(--secondary);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.2rem;font-weight:900;box-shadow:var(--shadow);display:none;cursor:pointer}.back-top.show{display:block}@media(max-width:980px){.nav-menu{position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:22px 4%;border-bottom:1px solid #e5eef8;display:none}.nav-menu.open{display:flex}.menu-toggle{display:block}.nav-cta{width:100%}.hero{min-height:650px}.hero-bg{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.35) 100%),url('hero-banner.png') center/cover no-repeat}.two-col,.footer-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.partner-grid{grid-template-columns:1fr}.partner-grid img{border-right:0;border-bottom:1px solid #e6edf7}.cta-box{flex-direction:column;align-items:flex-start}.section#faq .narrow{grid-template-columns:1fr;max-width:100%}.section#faq .faq-item:last-of-type{grid-column:auto}}@media(max-width:620px){.brand img{height:40px}.nav-wrap{height:66px}.nav-menu{top:66px}.hero{min-height:620px}.hero-content{padding:60px 0 110px}.hero h1{font-size:3.2rem}.lead{font-size:1rem}.hero-meta{display:grid}.section{padding:56px 0}.module-grid,.stats-grid,.audience-grid{grid-template-columns:1fr}.module-card{min-height:auto}.tabs{overflow:auto}.cta-actions,.hero-actions{width:100%;flex-direction:column}.btn{width:100%}.footer-logos{grid-template-columns:1fr}table{font-size:.9rem;min-width:560px}.section#faq .narrow{gap:12px}}

/* Footer polish overrides */
.site-footer{
  position:relative;
  background:
    radial-gradient(circle at top left, rgba(0,169,152,.22), transparent 32%),
    linear-gradient(180deg, #061c3f 0%, #082752 62%, #041530 100%);
  overflow:hidden;
  padding-top:28px;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 42%);
  pointer-events:none;
}
.footer-banner,
.footer-grid,
.copyright{position:relative;z-index:1}
.footer-banner{padding:0 0 22px}
.footer-banner img{
  width:100%;
  border-radius:28px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.05fr 1.25fr .9fr;
  gap:28px;
  align-items:start;
  padding:18px 0 24px;
}
.footer-brand{
  display:grid;
  gap:18px;
}
.footer-brand-logo{
  width:min(100%, 420px);
  max-height:none;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.28));
}
.footer-brand p,
.footer-contact p{
  margin:0;
  color:#c8d9f1;
}
.footer-partners h3,
.footer-contact h3{
  margin:0 0 14px;
  color:#fff;
  font-size:1.05rem;
  letter-spacing:.02em;
}
.footer-logos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.footer-logo-card{
  margin:0;
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:12px;
  display:grid;
  place-items:center;
  min-height:118px;
  backdrop-filter:blur(10px);
}
.footer-logo-card img{
  width:100%;
  height:84px;
  object-fit:contain;
}
.copyright{
  text-align:center;
  margin-top:10px;
  padding:16px;
  background:rgba(4,21,48,.84);
  color:#bfd1ef;
  border-top:1px solid rgba(255,255,255,.08);
}
@media(max-width:980px){
  .footer-grid{grid-template-columns:1fr}
  .footer-logos{grid-template-columns:1fr}
}
@media(max-width:620px){
  .footer-banner{padding-bottom:8px}
  .footer-banner img{
    max-height:72px;
    border-radius:14px;
  }
  .footer-brand-logo{width:min(100%, 140px)}
}

/* Module interaction overrides */
.module-detail{
  border:1px solid #e5eef8;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
  transition:transform .22s ease, box-shadow .22s ease;
}
.module-detail:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 56px rgba(6,28,63,.14);
}
.module-detail summary{
  list-style:none;
  cursor:pointer;
}
.module-detail summary::-webkit-details-marker{
  display:none;
}
.module-detail .module-image-wrap{
  position:relative;
  aspect-ratio:1 / 1;
}
.module-detail .module-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.module-detail .module-image-wrap span{
  position:absolute;
  top:14px;
  left:14px;
  background:rgba(255,255,255,.95);
  color:var(--primary);
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.module-detail .module-summary{
  padding:18px 22px 8px;
}
.module-detail .module-summary p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.95rem;
}
.module-detail .module-detail-body{
  padding:0 22px 22px;
}
.module-detail ul{
  margin:0;
  padding-left:18px;
}
.module-detail li{
  margin:10px 0;
}
.module-detail[open]{
  border-color:rgba(6,59,145,.18);
}

/* Compact footer override */
.site-footer{
  padding-top:14px;
  background:
    radial-gradient(circle at top left, rgba(0,169,152,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(29,111,232,.22), transparent 30%),
    linear-gradient(180deg, #061c3f 0%, #082752 62%, #041530 100%);
}
.footer-grid{
  grid-template-columns:1.15fr .9fr .9fr;
  gap:20px;
  padding:14px 0 16px;
}
.footer-brand{
  gap:10px;
  align-items:start;
}
.footer-brand-logo{
  width:min(100%, 300px);
  max-height:none;
}
.footer-links h3,
.footer-contact h3{
  margin:0 0 12px;
  color:#fff;
  font-size:1rem;
  letter-spacing:.01em;
}
.footer-links{
  display:grid;
  gap:10px;
  align-content:start;
}
.footer-links a{
  color:#c8d9f1;
  font-weight:700;
  line-height:1.4;
}
.footer-links a:hover{
  color:#fff;
}
.footer-contact,
.footer-brand p{
  margin:0;
  color:#c8d9f1;
}
.footer-contact{
  display:grid;
  gap:10px;
}
.footer-contact-line{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#c8d9f1;
  line-height:1.5;
  font-weight:700;
}
.footer-contact-line strong{
  color:#fff;
}
.footer-contact-line:hover{
  color:#fff;
}
.footer-contact-icon{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  margin-top:1px;
}
.footer-contact-icon.whatsapp{
  background:rgba(37,211,102,.14);
  color:#25d366;
}
.footer-contact-icon svg{
  width:15px;
  height:15px;
  fill:currentColor;
}
.footer-social{
  margin-top:4px;
  display:grid;
  gap:10px;
}
.footer-social-label{
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.footer-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.footer-social-btn{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
}
.footer-social-btn svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.footer-social-btn.facebook{color:#7fb2ff}
.footer-social-btn.x{color:#ffffff}
.footer-social-btn.whatsapp{color:#25d366}
.footer-social-btn.telegram{color:#6dc8ff}
.footer-social-btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.14);
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(4,21,48,.84);
}
.footer-bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 0;
  color:#bfd1ef;
  font-size:.92rem;
  letter-spacing:.01em;
}
.footer-bottom-copy{
  display:grid;
  gap:4px;
}
.footer-bottom-copy span{
  color:#fff;
  font-weight:700;
}
.footer-bottom-copy small{
  color:#a9bddc;
  font-size:.78rem;
  line-height:1.4;
  letter-spacing:.01em;
}
.footer-legal{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.footer-legal a{
  color:#bfd1ef;
}
.footer-legal a:hover{
  color:#fff;
}
@media(max-width:980px){
  .footer-grid{
    grid-template-columns:1fr;
  }
  .footer-brand-logo{
    width:min(100%, 240px);
  }
  .footer-bottom-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-bottom-copy small{
    font-size:.75rem;
  }
}
@media(max-width:620px){
  .site-footer{
    padding-top:10px;
  }
  .footer-grid{
    gap:14px;
    padding:12px 0 12px;
  }
  .footer-brand-logo{
    width:min(100%, 180px);
  }
  .footer-contact-line{
    font-size:.95rem;
  }
  .footer-social-links{
    gap:8px;
  }
  .footer-social-btn{
    width:40px;
    height:40px;
  }
  .footer-bottom-copy small{
    font-size:.72rem;
  }
}

/* Main page polish overrides */
.hero h1 span{
  display:block;
}
.hero-meta div{
  min-width:0;
}
.partner-grid img{
  max-width:240px;
  margin-inline:auto;
}
.footer-brand p{
  line-height:1.62;
}
.footer-links a{
  display:inline-flex;
  width:fit-content;
}
.footer-contact-line{
  color:#d9e7fa;
  line-height:1.55;
}
.footer-social-label{
  letter-spacing:.06em;
}
.footer-social-btn{
  width:42px;
  height:42px;
}

@media (max-width: 620px){
  .hero h1{
    font-size:clamp(2.15rem, 12vw, 2.95rem);
    line-height:.96;
    max-width:10ch;
  }
  .hero-content{
    padding:46px 0 88px;
  }
  .hero-meta{
    grid-template-columns:1fr;
  }
  .hero-meta div{
    width:100%;
    max-width:100%;
    padding:14px 15px;
    box-shadow:0 10px 26px rgba(6,28,63,.06);
  }
  .hero-meta strong{
    font-size:.98rem;
    word-break:break-word;
  }
  .lead{
    max-width:unset;
    font-size:.98rem;
  }
  .partner-grid{
    gap:16px;
  }
  .partner-grid img{
    max-width:180px;
  }
  .two-col{
    gap:28px;
  }
  .about-copy{
    position:static;
  }
  .about-copy h2{
    font-size:clamp(1.8rem, 8.6vw, 2.45rem);
    margin-top:8px;
  }
  .about-copy p{
    font-size:.98rem;
    line-height:1.65;
  }
  .about-microcopy{
    gap:8px;
  }
  .about-microcopy span{
    min-height:34px;
    padding:7px 12px;
    font-size:.82rem;
  }
  .feature-layer-stack{
    gap:12px;
  }
  .feature-layer-card{
    padding:18px 18px 20px;
    border-radius:24px;
  }
  .feature-layer-card h3{
    font-size:1.2rem;
  }
  .feature-layer-card p{
    font-size:.95rem;
    line-height:1.6;
  }
  .feature-layer-1,
  .feature-layer-2,
  .feature-layer-3{
    margin-left:0;
    margin-right:0;
  }
  .hero-actions .btn{
    min-height:48px;
  }
  .site-footer{
    padding-top:10px;
  }
  .footer-grid{
    gap:18px;
  }
  .footer-brand-logo{
    width:min(100%, 120px);
  }
  .footer-brand p{
    font-size:.94rem;
    line-height:1.56;
  }
  .footer-links a,
  .footer-contact-line,
  .footer-bottom-copy small{
    font-size:.88rem;
  }
  .footer-social-links{
    gap:8px;
  }
  .footer-social-btn{
    width:38px;
    height:38px;
  }
}

body{
  overflow-x:hidden;
}
