:root{
  --primary:#173B7A;
  --secondary:#155D7A;
  --accent:#53D8FF;
  --gold:#F7C948;
  --ink:#0B132B;
  --muted:#637083;
  --bg:#F4F8FB;
  --card:#FFFFFF;
  --line:rgba(15,23,42,.10);
  --shadow:0 24px 80px rgba(11,19,43,.12);
  --radius:28px;
  --radius-sm:18px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;overflow-x:hidden}
body.menu-open{overflow:hidden;touch-action:none}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,92%);margin-inline:auto}
.hide{display:none!important}
.badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(83,216,255,.35);background:rgba(83,216,255,.12);color:#DDF8FF;padding:.55rem .85rem;border-radius:999px;font-weight:800;font-size:.84rem;letter-spacing:.02em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:none;border-radius:999px;padding:.95rem 1.28rem;font-weight:900;cursor:pointer;transition:.25s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--gold),#fff19b);color:#172036;box-shadow:0 14px 35px rgba(247,201,72,.32)}
.btn-secondary{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(16px)}
.btn-dark{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 18px 45px rgba(23,59,122,.22)}
.btn-light{background:#fff;color:var(--primary);box-shadow:0 18px 45px rgba(15,23,42,.12)}
.btn-outline{background:transparent;color:var(--primary);border:1px solid rgba(23,59,122,.18)}
.section{padding:92px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:34px}
.eyebrow{font-weight:900;color:var(--secondary);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin:0 0 8px}
.title{font-size:clamp(2rem,4vw,3.45rem);line-height:1.05;margin:0;letter-spacing:-.045em;color:#102033}
.lead{font-size:1.08rem;color:var(--muted);margin:12px 0 0;max-width:680px}
.topbar{background:#10285d;color:#eaf6ff;font-size:.9rem}
.topbar .container{height:42px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.topbar-items{display:flex;gap:1.2rem;flex-wrap:wrap}.topbar strong{color:#fff}.topbar a{opacity:.95}.topbar a:hover{opacity:1;color:var(--gold)}
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.9rem;font-weight:1000}.brand-logo{width:174px;height:auto}.menu{display:flex;align-items:center;gap:.4rem}.menu a{padding:.75rem .85rem;border-radius:999px;font-weight:800;color:#24344b;font-size:.95rem}.menu a:hover,.menu a.active{background:rgba(21,93,122,.08);color:var(--secondary)}.nav-actions{display:flex;align-items:center;gap:.7rem}.hamb{display:none;width:44px;height:44px;border:none;border-radius:14px;background:#eef6fb;color:var(--primary);font-size:1.3rem;cursor:pointer}
.hero{position:relative;padding:72px 0 84px;background:#08142c;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url('../assets/hero-pattern.svg') center/cover no-repeat;opacity:1}.hero:after{content:"";position:absolute;inset:auto -10% -35% -10%;height:290px;background:linear-gradient(180deg,transparent,var(--bg));}.hero .container{position:relative;z-index:2}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:46px}.hero h1{font-size:clamp(2.6rem,6vw,5.35rem);line-height:.96;letter-spacing:-.07em;color:#fff;margin:18px 0}.hero h1 span{color:var(--gold)}.hero p{color:#d5e7f1;font-size:1.13rem;max-width:690px;margin:0 0 28px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.stat{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:16px;backdrop-filter:blur(18px)}.stat strong{display:block;color:#fff;font-size:1.75rem;line-height:1}.stat span{color:#c9dbe8;font-weight:700;font-size:.88rem}.hero-card{position:relative;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);box-shadow:0 35px 100px rgba(0,0,0,.22);border-radius:36px;padding:22px;backdrop-filter:blur(18px)}.hero-card-inner{background:#fff;border-radius:28px;padding:24px;min-height:470px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.cert-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}.cert-seal{width:72px;height:72px;border-radius:24px;background:linear-gradient(135deg,#e8fbff,#fff6c9);display:grid;place-items:center;font-size:2rem}.cert-title h3{font-size:1.65rem;line-height:1.05;margin:0;color:#102033}.cert-title p{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.cert-visual{margin:28px 0;border-radius:30px;min-height:220px;background:linear-gradient(135deg,#173B7A,#155D7A 55%,#53D8FF);position:relative;overflow:hidden}.cert-visual:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.14);right:-44px;top:-42px}.cert-visual:after{content:"TAIRA";position:absolute;left:28px;bottom:18px;color:#fff;font-size:3.5rem;font-weight:1000;letter-spacing:-.08em;opacity:.18}.floating-module{position:absolute;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;display:flex;align-items:center;gap:.7rem;box-shadow:0 18px 50px rgba(15,23,42,.16);font-weight:900}.fm-1{right:5%;top:36%}.fm-2{left:0;bottom:20%}.fm-dot{width:12px;height:12px;background:var(--gold);border-radius:50%}.cert-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-card{border:1px solid var(--line);border-radius:22px;padding:15px;background:#f9fcff}.mini-card b{display:block;color:var(--primary)}.mini-card span{font-size:.88rem;color:var(--muted);font-weight:700}
.trust-strip{position:relative;margin-top:-36px;z-index:5}.trust-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.trust-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-logo{border:1px dashed rgba(21,93,122,.20);background:#f7fbff;border-radius:18px;padding:16px;text-align:center;font-weight:1000;color:var(--secondary);min-height:68px;display:grid;place-items:center}.trust-text b{display:block;font-size:1.05rem}.trust-text span{color:var(--muted);font-weight:700}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 18px 60px rgba(11,19,43,.06);transition:.25s ease}.benefit:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.benefit-icon{width:58px;height:58px;border-radius:19px;background:linear-gradient(135deg,#ecfbff,#fff7cf);display:grid;place-items:center;font-size:1.8rem;margin-bottom:16px}.benefit h3{margin:.2rem 0 .55rem;font-size:1.18rem}.benefit p{margin:0;color:var(--muted);font-weight:600}.programs{background:#fff}.filters{display:flex;gap:.75rem;flex-wrap:wrap}.filter-btn{border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:999px;padding:.72rem 1rem;font-weight:900;cursor:pointer}.filter-btn.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:transparent}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.program-card{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 20px 70px rgba(11,19,43,.07);transition:.25s ease;display:flex;flex-direction:column}.program-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.program-img{height:210px;background:linear-gradient(135deg,#173B7A,#155D7A,#53D8FF);position:relative;overflow:hidden}.program-img:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.28),transparent 34%),linear-gradient(180deg,transparent,rgba(0,0,0,.22))}.program-img img{width:100%;height:100%;object-fit:cover}.program-tag{position:absolute;top:16px;left:16px;z-index:2;background:rgba(255,255,255,.92);color:var(--primary);font-weight:1000;border-radius:999px;padding:.5rem .75rem;font-size:.8rem}.program-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.program-body h3{font-size:1.28rem;line-height:1.15;margin:0;color:#102033}.program-body p{margin:0;color:var(--muted);font-weight:600}.program-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.pill{background:#eef8fc;color:#155D7A;border-radius:999px;padding:.45rem .65rem;font-weight:900;font-size:.78rem}.program-actions{display:flex;gap:.7rem;flex-wrap:wrap}.aula-section{background:linear-gradient(135deg,#0B132B,#173B7A 55%,#155D7A);color:#fff;position:relative;overflow:hidden}.aula-section:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:rgba(83,216,255,.13);right:-140px;top:-160px}.aula-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.aula-preview{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:34px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.22);backdrop-filter:blur(16px)}.screen{background:#fff;color:var(--ink);border-radius:26px;overflow:hidden}.screen-top{height:54px;background:#f3f8fc;display:flex;align-items:center;gap:8px;padding:0 18px}.dot{width:12px;height:12px;border-radius:50%;background:#d2dbe7}.screen-body{padding:22px}.course-progress{display:grid;gap:12px}.lesson-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:16px}.check{width:34px;height:34px;border-radius:12px;background:#e6f8ee;color:#10a15f;display:grid;place-items:center;font-weight:1000}.bar{height:10px;background:#e9eef5;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;width:72%;background:linear-gradient(90deg,var(--secondary),var(--accent));border-radius:999px}.steps{display:grid;gap:14px;margin-top:22px}.step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.step-num{width:36px;height:36px;border-radius:14px;background:var(--gold);color:#172036;display:grid;place-items:center;font-weight:1000}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 16px 60px rgba(11,19,43,.06)}.quote p{color:#425165;font-weight:650}.quote b{color:var(--primary)}.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.contact-card,.contact-form{background:#f8fbff;border:1px solid var(--line);border-radius:30px;padding:28px}.contact-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:none}.contact-ico{width:42px;height:42px;border-radius:14px;background:#eaf8ff;display:grid;place-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:900;color:#1e2e45}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:#fff;outline:none}.field textarea{min-height:118px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(21,93,122,.42);box-shadow:0 0 0 4px rgba(83,216,255,.12)}.footer{background:#071126;color:#d7e8f0;padding:54px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}.footer h4{color:#fff;margin:0 0 12px}.footer a{display:block;padding:5px 0;color:#c5d5df}.footer a:hover{color:var(--gold)}.footer-logo{width:180px;margin-bottom:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#a8bdca}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:60;width:62px;height:62px;border-radius:22px;background:#25D366;color:#fff;display:grid;place-items:center;font-size:2rem;box-shadow:0 18px 50px rgba(37,211,102,.32)}.page-hero{padding:72px 0;background:linear-gradient(135deg,#0B132B,#173B7A,#155D7A);color:#fff}.page-hero h1{font-size:clamp(2.2rem,5vw,4.4rem);margin:0;letter-spacing:-.06em;line-height:1}.page-hero p{color:#d7e8f0;font-size:1.1rem;max-width:720px}.detail-shell{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:start}.detail-card,.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:0 16px 60px rgba(11,19,43,.06)}.sidebar-card{position:sticky;top:106px}.list-check{display:grid;gap:12px;padding:0;margin:20px 0;list-style:none}.list-check li{display:flex;gap:10px;align-items:flex-start;font-weight:700;color:#324157}.list-check li:before{content:"✓";display:grid;place-items:center;min-width:24px;height:24px;border-radius:9px;background:#e6f8ee;color:#10a15f;font-weight:1000}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#0B132B;color:#fff;border-radius:18px;padding:14px 18px;box-shadow:0 18px 50px rgba(0,0,0,.22);z-index:100;display:none}.toast.show{display:block}
@media (max-width:980px){.topbar{display:none}.hamb{display:grid;place-items:center}.menu{position:fixed;inset:82px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);padding:14px;width:100%;display:none;flex-direction:column;align-items:stretch}.menu.show{display:flex}.menu a{border-radius:16px}.nav-actions .btn-dark{display:none}.hero-grid,.aula-grid,.contact-grid,.detail-shell{grid-template-columns:1fr}.benefits-grid,.program-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.trust-card{grid-template-columns:1fr}.trust-logos{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.sidebar-card{position:static}.hero-card-inner{min-height:auto}.section-head{align-items:start;flex-direction:column}.cert-bottom{grid-template-columns:1fr}}
@media (max-width:640px){.container{width:min(94%,1180px)}.nav-inner{height:72px}.brand-logo{width:148px}.menu{inset:72px 0 auto}.hero{padding:44px 0 70px}.hero h1{font-size:3rem}.hero-stats{grid-template-columns:1fr}.benefits-grid,.program-grid,.testimonials-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.section{padding:64px 0}.floating-module{position:relative;right:auto;left:auto;top:auto;bottom:auto;margin-top:12px}.cert-visual{min-height:180px}.trust-strip{margin-top:-22px}.whatsapp-float{width:56px;height:56px;border-radius:20px}.program-img{height:185px}.topbar-items{gap:.7rem}}


/* Flyers públicos */
.flyers-section{background:linear-gradient(180deg,#f4f8fb,#fff)}
.flyers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.flyer-card{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 20px 70px rgba(11,19,43,.07);transition:.25s ease}.flyer-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.flyer-img{height:235px;background:linear-gradient(135deg,#173B7A,#155D7A,#53D8FF);overflow:hidden}.flyer-img img{width:100%;height:100%;object-fit:cover}.flyer-body{padding:20px;display:grid;gap:10px}.flyer-body h3{margin:0;font-size:1.25rem;line-height:1.15;color:#102033}.flyer-body p{margin:0;color:var(--muted);font-weight:650}.empty-flyers{grid-column:1/-1;border:1px dashed rgba(21,93,122,.20);background:#fff;border-radius:24px;padding:24px;text-align:center;color:var(--muted);font-weight:900}
@media(max-width:980px){.flyers-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.flyers-grid{grid-template-columns:1fr}.flyer-img{height:220px}}

/* Pulido visual principal */
.hero{
  padding:86px 0 96px;
  background:
    linear-gradient(135deg,rgba(8,20,44,.98),rgba(23,59,122,.9)),
    url('../assets/hero-pattern.svg') center/cover no-repeat;
}
.hero:before{
  opacity:.58;
  mix-blend-mode:screen;
}
.hero-grid{gap:58px}
.hero .badge{box-shadow:0 18px 44px rgba(83,216,255,.14)}
.hero h1{text-wrap:balance}
.hero p{max-width:720px}
.hero-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.nav{
  box-shadow:0 10px 30px rgba(11,19,43,.05);
}
.nav-actions .btn-dark{
  padding:.82rem 1.05rem;
}
.hero-actions .btn{
  min-width:168px;
}
.section-head .title{
  text-wrap:balance;
}
.hero-highlights span{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.09);
  color:#eaf6ff;
  border-radius:999px;
  padding:.55rem .78rem;
  font-weight:850;
  font-size:.86rem;
  backdrop-filter:blur(14px);
}
.hero-card{
  transform:translateY(4px);
  border-radius:28px;
}
.hero-card-inner{
  border-radius:22px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}
.cert-visual{
  background:
    linear-gradient(135deg,rgba(23,59,122,.96),rgba(21,93,122,.88)),
    url('../assets/hero-pattern.svg') center/cover no-repeat;
}
.trust-card,.benefit,.program-card,.quote,.contact-card,.contact-form,.flyer-card{
  border-color:rgba(21,93,122,.12);
}
.section:nth-of-type(2){
  background:linear-gradient(180deg,#f4f8fb 0%,#ffffff 100%);
}
.benefit{
  position:relative;
  overflow:hidden;
}
.benefit:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--primary),var(--accent),var(--gold));
  opacity:.85;
}
.benefit-icon{
  color:var(--primary);
  font-weight:1000;
  font-size:1.05rem;
}
.process-band{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:16px;
  border:1px solid rgba(21,93,122,.14);
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 60px rgba(11,19,43,.06);
}
.process-band div{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 12px;
  align-items:center;
  padding:12px;
  border-radius:18px;
  background:#f8fbff;
}
.process-band span{
  grid-row:1/3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--gold);
  color:#172036;
  font-weight:1000;
}
.process-band b{color:#102033}
.process-band small{color:var(--muted);font-weight:700}
.mission-section{background:linear-gradient(180deg,#fff,#f4f8fb)}
.mission-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.mission-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mission-card{background:#fff;border:1px solid rgba(21,93,122,.13);border-radius:24px;padding:22px;box-shadow:0 18px 55px rgba(11,19,43,.06)}
.mission-card span{display:inline-flex;margin-bottom:10px;color:var(--secondary);font-weight:1000;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.mission-card p{margin:0;color:#344258;font-weight:650}
.mission-wide{grid-column:1/-1}
.comments-section{background:#fff}
.comment-form{margin-top:24px;background:#f8fbff;border:1px solid rgba(21,93,122,.13);border-radius:24px;padding:24px;box-shadow:0 18px 55px rgba(11,19,43,.06)}
.stars{color:#d9a928;font-weight:1000;letter-spacing:.08em;margin-bottom:8px}
.quote span{display:block;color:var(--muted);font-weight:750;margin-top:8px}
.program-card,.flyer-card{
  border-radius:24px;
}
.program-img,.flyer-img{
  position:relative;
  isolation:isolate;
}
.program-img:before,.flyer-img:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,17,38,.08),rgba(7,17,38,.38));
  z-index:1;
  pointer-events:none;
}
.program-tag{z-index:3}
.program-body h3,.flyer-body h3{text-wrap:balance}
.aula-section{
  background:
    linear-gradient(135deg,rgba(11,19,43,.98),rgba(23,59,122,.92),rgba(21,93,122,.95)),
    url('../assets/hero-pattern.svg') center/cover no-repeat;
}
.contact-card,.contact-form{
  border-radius:24px;
}
.contact-section{
  background:linear-gradient(180deg,#fff,#f4f8fb);
}
.verify-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}
.verify-lines{display:grid;gap:10px;margin-top:14px}
.verify-lines div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}
.verify-lines span{color:var(--muted);font-weight:850}
.verify-lines b{text-align:right;color:var(--primary);word-break:break-word}
.payments-section{background:linear-gradient(180deg,#f4f8fb,#fff)}
.payments-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.payment-card{
  background:#fff;
  border:1px solid rgba(21,93,122,.13);
  border-radius:22px;
  padding:20px;
  box-shadow:0 18px 55px rgba(11,19,43,.06);
  display:grid;
  gap:10px;
  min-width:0;
}
.payment-card span{font-weight:1000;color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}
.payment-card h3{margin:0;color:#102033;font-size:1.05rem;word-break:break-word}
.payment-card p{margin:0;color:var(--muted);font-weight:700;font-size:.92rem}
.payment-note{margin:18px 0 0;color:var(--muted);font-weight:800}

@media (max-width:980px){
  .nav-inner{justify-content:space-between}
  .brand{margin-right:auto}
  .hamb{margin-left:auto;box-shadow:0 10px 24px rgba(23,59,122,.14)}
  .menu{
    box-shadow:0 22px 60px rgba(11,19,43,.16);
    z-index:41;
    border-radius:0 0 24px 24px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
  }
  .menu a{
    padding:1rem;
    font-size:1rem;
  }
  .process-band{grid-template-columns:1fr}
  .mission-grid,.mission-cards{grid-template-columns:1fr}
  .verify-grid{grid-template-columns:1fr}
  .payments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .hero{padding:54px 0 76px}
  .hero h1{font-size:clamp(2.7rem,14vw,3.6rem)}
  .hero p{font-size:1rem}
  .hero-actions .btn{width:100%;min-width:0}
  .hero-highlights{display:grid}
  .hero-highlights span{text-align:center}
  .process-band{padding:10px;border-radius:20px}
  .trust-card,.contact-card,.contact-form{border-radius:22px}
  .program-card,.flyer-card,.benefit,.quote{border-radius:22px}
  .verify-lines div{display:grid}
  .verify-lines b{text-align:left}
  .payments-grid{grid-template-columns:1fr}
}

.mobile-overlay{
  position:fixed;
  inset:0;
  background:rgba(7,17,38,.48);
  backdrop-filter:blur(4px);
  z-index:38;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.mobile-overlay.show{opacity:1;pointer-events:auto}
@media (min-width:981px){
  .mobile-overlay{display:none!important}
  body.menu-open{overflow-x:hidden;overflow-y:auto;touch-action:auto}
}

/* Hero premium con imagen institucional TAIRA */
.hero{
  min-height:clamp(680px,78vh,860px);
  display:flex;
  align-items:center;
  padding:clamp(76px,8vw,118px) 0;
  background:#06162d;
}
.hero:before{
  z-index:0;
  opacity:1;
  mix-blend-mode:normal;
  background:var(--hero-image, url('../assets/img/hero-gerente-taira.png')) center center/cover no-repeat;
  transform:scale(1.01);
}
.hero:after{
  z-index:1;
  inset:0;
  height:auto;
  background:
    linear-gradient(90deg,rgba(2,11,26,.92) 0%,rgba(7,27,58,.82) 32%,rgba(7,27,58,.42) 58%,rgba(7,27,58,.08) 100%),
    linear-gradient(180deg,rgba(3,13,29,.18) 0%,rgba(3,13,29,.18) 58%,rgba(244,248,251,.96) 100%);
}
.hero-grid{
  grid-template-columns:minmax(0,680px) 1fr;
  min-height:520px;
  align-items:center;
}
.hero-copy{
  max-width:680px;
  padding:18px 0;
  text-shadow:0 2px 24px rgba(0,0,0,.28);
}
.hero-brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.hero-brand-lockup img{
  width:104px;
  height:auto;
  padding:4px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
}
.hero-brand-lockup span{
  color:#eaf6ff;
  font-weight:850;
  font-size:.9rem;
}
.hero .badge{
  background:rgba(83,216,255,.14);
  color:#f2fbff;
}
.hero h1{
  max-width:660px;
  margin:18px 0;
  letter-spacing:-.055em;
}
.hero p{
  max-width:620px;
  color:#e0eff8;
}
.btn-whatsapp{
  background:#25d366;
  color:#fff;
  box-shadow:0 18px 45px rgba(37,211,102,.22);
}
.btn-whatsapp:hover{background:#1fb85a}
.hero-stats .stat{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}

@media (max-width:980px){
  .hero{
    min-height:720px;
    padding:84px 0 90px;
  }
  .hero:before{
    background-position:60% center;
  }
  .hero:after{
    background:
      linear-gradient(90deg,rgba(2,11,26,.92) 0%,rgba(7,27,58,.76) 46%,rgba(7,27,58,.34) 100%),
      linear-gradient(180deg,rgba(3,13,29,.16) 0%,rgba(3,13,29,.24) 60%,rgba(244,248,251,.96) 100%);
  }
  .hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-copy{max-width:640px}
}
@media (max-width:640px){
  .hero{
    min-height:760px;
    padding:72px 0 86px;
  }
  .hero:before{
    background-position:64% center;
  }
  .hero:after{
    background:
      linear-gradient(90deg,rgba(2,11,26,.94) 0%,rgba(7,27,58,.82) 54%,rgba(7,27,58,.46) 100%),
      linear-gradient(180deg,rgba(3,13,29,.18) 0%,rgba(3,13,29,.3) 66%,rgba(244,248,251,.98) 100%);
  }
  .hero-brand-lockup{
    width:100%;
    justify-content:center;
    border-radius:18px;
  }
  .hero-brand-lockup img{width:112px}
  .hero-brand-lockup span{font-size:.82rem}
  .hero h1{
    font-size:clamp(2.45rem,12vw,3.35rem);
    line-height:1;
  }
  .hero p{
    font-size:1.02rem;
    color:#f0f7fb;
  }
  .hero-stats{
    margin-top:22px;
    gap:10px;
  }
  .hero-stats .stat{
    padding:14px;
    border-radius:18px;
  }
}

/* Carruseles premium: flyers y diplomados */
body.flyer-modal-open{overflow:hidden;touch-action:none}
.carousel-shell{
  position:relative;
  isolation:isolate;
}
.flyers-track,
.programs-track{
  display:flex;
  gap:20px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  padding:8px 6px 24px;
  margin-inline:-6px;
  scrollbar-width:thin;
  scrollbar-color:rgba(21,93,122,.22) transparent;
}
.flyers-track::-webkit-scrollbar,
.programs-track::-webkit-scrollbar{height:8px}
.flyers-track::-webkit-scrollbar-thumb,
.programs-track::-webkit-scrollbar-thumb{background:rgba(21,93,122,.18);border-radius:999px}
.flyers-track::-webkit-scrollbar-track,
.programs-track::-webkit-scrollbar-track{background:transparent}
.flyers-track > .flyer-card,
.programs-track > .program-card{
  flex:0 0 auto;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.flyers-track > .flyer-card{
  width:clamp(268px,78vw,370px);
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.programs-track > .program-card{
  width:clamp(286px,82vw,390px);
}
.flyer-img{
  aspect-ratio:4/3;
  height:auto;
  display:grid;
  place-items:center;
  background:
    linear-gradient(135deg,rgba(23,59,122,.08),rgba(83,216,255,.12)),
    #f8fbff;
}
.flyer-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}
.program-img{
  aspect-ratio:16/10;
  height:auto;
}
.program-body p,
.flyer-body p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.program-body h3,
.flyer-body h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.carousel-btn{
  position:absolute;
  top:44%;
  z-index:5;
  width:46px;
  height:46px;
  border:none;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.94);
  color:var(--primary);
  font-size:2rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(11,19,43,.16);
  border:1px solid rgba(21,93,122,.12);
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.carousel-btn:hover{transform:translateY(-2px);background:var(--primary);color:#fff}
.carousel-btn.prev{left:-18px}
.carousel-btn.next{right:-18px}
.carousel-fade{
  position:absolute;
  top:0;
  bottom:18px;
  width:70px;
  z-index:4;
  pointer-events:none;
}
.carousel-fade.fade-left{left:-1px;background:linear-gradient(90deg,var(--bg),rgba(244,248,251,0))}
.programs .carousel-fade.fade-left,
.comments-section .carousel-fade.fade-left{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.carousel-fade.fade-right{right:-1px;background:linear-gradient(270deg,var(--bg),rgba(244,248,251,0))}
.programs .carousel-fade.fade-right,
.comments-section .carousel-fade.fade-right{background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.carousel-empty{
  min-width:min(100%,520px);
  scroll-snap-align:start;
}
.flyer-modal{
  position:fixed;
  inset:0;
  z-index:5200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,3vw,32px);
  background:
    radial-gradient(circle at 50% 18%, rgba(83,216,255,.14), transparent 34%),
    rgba(2,11,26,.88);
  backdrop-filter:blur(12px);
}
.flyer-modal.show{display:flex}
.flyer-modal-close{
  position:fixed;
  top:clamp(14px,2vw,24px);
  right:clamp(14px,2vw,24px);
  z-index:5202;
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#102033;
  font-size:1.65rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.flyer-modal-content{
  width:min(720px,calc(100vw - 32px));
  max-height:calc(100dvh - 38px);
  display:grid;
  justify-items:center;
  gap:12px;
  overflow:hidden;
  padding:12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  background:rgba(255,255,255,.08);
  box-shadow:0 34px 120px rgba(0,0,0,.42);
  cursor:pointer;
}
.flyer-modal-content img{
  max-width:100%;
  max-height:calc(100dvh - 160px);
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 28px 90px rgba(0,0,0,.38);
  background:#fff;
}
.flyer-modal-info{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  color:#fff;
  text-align:center;
  width:100%;
  padding:2px 4px 4px;
}
.flyer-modal-info h3{margin:0;font-size:clamp(1.1rem,3vw,1.6rem)}

@media (min-width:981px){
  .programs-track > .program-card{width:min(380px,calc((100% - 44px)/3))}
  .flyers-track > .flyer-card{width:min(360px,calc((100% - 44px)/3))}
}
@media (max-width:980px){
  .carousel-btn{display:none}
  .carousel-fade{display:none}
  .flyers-track,.programs-track{gap:16px;padding-bottom:18px}
  .programs-track > .program-card{width:clamp(286px,66vw,380px)}
  .flyers-track > .flyer-card{width:clamp(270px,62vw,350px)}
}
@media (max-width:640px){
  .flyers-track,.programs-track{gap:14px;margin-inline:-3%;padding-inline:3%;scroll-padding-inline:3%}
  .programs-track > .program-card,
  .flyers-track > .flyer-card{width:86vw}
  .program-actions .btn{flex:1 1 100%}
  .flyer-modal{
    align-items:center;
    padding:8px;
  }
  .flyer-modal-close{
    top:14px;
    right:14px;
    width:42px;
    height:42px;
    font-size:1.55rem;
  }
  .flyer-modal-content{
    width:min(94vw,380px);
    max-height:calc(100dvh - 18px);
    gap:8px;
    padding:10px;
    border-radius:20px;
  }
  .flyer-modal-content img{
    width:100%;
    max-height:calc(100dvh - 138px);
    border-radius:13px;
  }
  .flyer-modal-info{
    display:grid;
    width:100%;
    gap:9px;
    padding:0 2px 2px;
  }
  .flyer-modal-info h3{
    font-size:1.08rem;
    line-height:1.15;
  }
  .flyer-modal-info .btn{
    width:100%;
    min-height:48px;
    padding:.78rem .95rem;
    border-radius:18px;
    white-space:normal;
    text-align:center;
  }
}
.footer-legal{display:block;color:#a9bed5;line-height:1.6;margin-top:10px}

/* Pagina de diplomados: grilla normal, independiente del carrusel del inicio */
.program-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  align-items:stretch;
}
.program-grid .program-card{
  width:100%;
  min-width:0;
  max-width:none;
  flex:initial;
  scroll-snap-align:unset;
}
.program-grid .program-body{min-width:0}
.program-grid .program-body h3,
.program-grid .program-body p{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.program-grid .program-actions .btn{
  min-width:0;
}

@media (max-width:640px){
  .program-grid{grid-template-columns:1fr}
  .program-grid .program-card{border-radius:22px}
  .program-grid .program-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .program-grid .program-actions .btn{
    width:100%;
  }
}

/* WhatsApp premium, PWA y equipo */
.whatsapp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:none;
  border-radius:999px;
  padding:14px 22px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#25d366,#128c7e);
  box-shadow:0 18px 40px rgba(37,211,102,.32);
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.whatsapp-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 50px rgba(37,211,102,.45);
  filter:brightness(1.05);
}
.whatsapp-btn-compact{
  padding:.78rem 1rem;
  min-width:0;
}
.whatsapp-icon{
  width:22px;
  height:22px;
  flex:0 0 auto;
}
.float-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:2500;
  width:64px;
  height:64px;
  border-radius:999px;
  background:linear-gradient(135deg,#25d366,#128c7e);
  box-shadow:0 18px 45px rgba(37,211,102,.38);
  display:grid;
  place-items:center;
  color:#fff;
  animation:waPulse 2.4s infinite;
}
.float-whatsapp .whatsapp-float-icon{
  display:grid;
  place-items:center;
}
.float-whatsapp .whatsapp-icon{
  width:34px;
  height:34px;
}
.whatsapp-float-label{
  position:absolute;
  right:74px;
  top:50%;
  transform:translateY(-50%);
  white-space:nowrap;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(7,17,38,.92);
  color:#fff;
  font-size:.82rem;
  font-weight:900;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
  box-shadow:0 14px 34px rgba(7,17,38,.22);
}
.float-whatsapp:hover .whatsapp-float-label{
  opacity:1;
  transform:translateY(-50%) translateX(-4px);
}
@keyframes waPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}
.btn-install{
  color:#fff;
  background:linear-gradient(135deg,#173B7A,#155D7A);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 44px rgba(23,59,122,.28);
}
.pwa-install-disabled .pwa-install-btn,
.pwa-install-btn[hidden]{
  display:none!important;
}
.install-hint{
  margin-top:12px;
  color:#d7e8f0;
  font-weight:800;
}
.app-section{
  background:
    radial-gradient(circle at 15% 15%,rgba(83,216,255,.16),transparent 34%),
    linear-gradient(135deg,#071126,#173B7A 56%,#155D7A);
  color:#fff;
}
.app-card{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:30px;
  padding:clamp(24px,5vw,46px);
  background:rgba(255,255,255,.09);
  box-shadow:0 32px 90px rgba(0,0,0,.24);
  backdrop-filter:blur(18px);
}
.app-section .title,
.app-section .lead{color:#fff}
.app-mockup{
  display:grid;
  place-items:center;
}
.app-phone{
  width:min(280px,80vw);
  aspect-ratio:9/16;
  border:10px solid rgba(255,255,255,.22);
  border-radius:34px;
  background:linear-gradient(180deg,#fff,#eff9ff);
  color:#0B132B;
  padding:28px 22px;
  display:grid;
  align-content:start;
  gap:12px;
  box-shadow:0 28px 75px rgba(0,0,0,.28);
}
.app-phone img{width:148px;margin:0 auto 10px}
.app-phone strong{text-align:center;font-size:2rem;color:var(--primary)}
.app-phone span{text-align:center;color:var(--muted);font-weight:900}
.app-phone div{
  height:56px;
  border-radius:18px;
  background:linear-gradient(135deg,#eef8fc,#fff7dc);
  border:1px solid rgba(21,93,122,.12);
}
.team-section{
  background:linear-gradient(180deg,#fff,#f4f8fb);
}
.team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:20px;
}
.team-card{
  background:#fff;
  border:1px solid rgba(21,93,122,.12);
  border-radius:28px;
  padding:18px;
  box-shadow:0 20px 70px rgba(11,19,43,.07);
  transition:transform .24s ease,box-shadow .24s ease;
  overflow:hidden;
}
.team-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}
.team-photo{
  aspect-ratio:1/1;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,#eaf8ff,#fff7dc);
  display:grid;
  place-items:center;
  margin-bottom:16px;
}
.team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-avatar-placeholder{
  width:92px;
  height:92px;
  border-radius:30px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  font-size:2rem;
  font-weight:1000;
}
.team-body span{
  display:inline-flex;
  color:var(--secondary);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:1000;
}
.team-body h3{
  margin:8px 0 8px;
  font-size:1.22rem;
  line-height:1.12;
  color:#102033;
}
.team-body p{
  margin:0;
  color:var(--muted);
  font-weight:650;
}
.team-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.team-links a{
  border-radius:999px;
  padding:7px 10px;
  background:#eef8fc;
  color:var(--secondary);
  font-size:.78rem;
  font-weight:900;
}
.team-empty{
  grid-column:1/-1;
  border:1px dashed rgba(21,93,122,.22);
  background:#fff;
  border-radius:24px;
  padding:28px;
  text-align:center;
  color:var(--muted);
  font-weight:900;
}
.reveal-on-scroll{
  opacity:1;
  transform:none;
}
.reveal-on-scroll.reveal-ready{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .38s ease,transform .38s ease;
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
}

@media(max-width:980px){
  .app-card{grid-template-columns:1fr}
  .app-mockup{display:none}
}
@media(max-width:768px){
  .float-whatsapp{
    right:16px;
    bottom:92px;
    width:58px;
    height:58px;
  }
  .float-whatsapp .whatsapp-icon{
    width:31px;
    height:31px;
  }
  .whatsapp-float-label{display:none}
  .team-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
    padding:4px 3% 16px;
    margin-inline:-3%;
    scrollbar-width:none;
  }
  .team-grid::-webkit-scrollbar{display:none}
  .team-card{
    flex:0 0 82vw;
    scroll-snap-align:start;
  }
  .app-card{border-radius:24px}
}

/* TAIRA PRO - HERO GERENTE + WHATSAPP PREMIUM */

.hero-premium {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  padding: 94px 0 110px;
  background: #07162f;
  overflow: hidden;
  isolation: isolate;
}

.hero-premium::before {
  display: none !important;
}

.hero-premium::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 150px;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, var(--bg));
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  filter: saturate(1.06) contrast(1.03);
  transform: scale(1.01);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 20%, rgba(83, 216, 255, .24), transparent 30%),
    radial-gradient(circle at 75% 18%, rgba(247, 201, 72, .18), transparent 28%),
    linear-gradient(90deg, rgba(5, 16, 36, .94) 0%, rgba(5, 16, 36, .82) 38%, rgba(5, 16, 36, .28) 68%, rgba(5, 16, 36, .10) 100%),
    linear-gradient(180deg, rgba(5, 16, 36, .22) 0%, rgba(5, 16, 36, .56) 100%);
}

.hero-premium .container {
  position: relative;
  z-index: 3;
}

.hero-premium .hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 720px) 1fr;
  align-items: center;
  gap: 40px;
}

.hero-premium .hero-copy {
  max-width: 720px;
  color: #fff;
}

.hero-premium .hero-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding: 10px 14px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .11);
  border: 1px solid rgba(255, 255, 255, .17);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .12);
  backdrop-filter: blur(14px);
}

.hero-premium .hero-brand-lockup img {
  width: 104px;
  height: auto;
  filter: brightness(0) invert(1);
}

.hero-premium .hero-brand-lockup span {
  color: #fff;
  font-weight: 900;
  letter-spacing: .01em;
}

.hero-premium .badge {
  color: #e9fbff;
  background: rgba(83, 216, 255, .13);
  border-color: rgba(83, 216, 255, .30);
  box-shadow: 0 18px 45px rgba(83, 216, 255, .14);
}

.hero-premium h1 {
  max-width: 780px;
  margin: 18px 0 20px;
  color: #fff;
  font-size: clamp(2.55rem, 5.9vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.07em;
  text-wrap: balance;
}

.hero-premium h1 span {
  color: var(--gold);
  text-shadow: 0 14px 45px rgba(247, 201, 72, .22);
}

.hero-premium p {
  max-width: 650px;
  margin: 0 0 28px;
  color: #dceeff;
  font-size: clamp(1rem, 1.25vw, 1.22rem);
  line-height: 1.72;
}

.hero-premium .hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hero-premium .hero-actions .btn {
  min-height: 52px;
}

.btn-whatsapp,
.whatsapp-btn {
  color: #fff !important;
  background: linear-gradient(135deg, #25d366, #128c7e) !important;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 18px 42px rgba(37, 211, 102, .34);
}

.btn-whatsapp:hover,
.whatsapp-btn:hover {
  filter: brightness(1.04);
  box-shadow: 0 24px 56px rgba(37, 211, 102, .46);
}

.wa-svg {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

.wa-svg svg {
  width: 26px;
  height: 26px;
  display: block;
}

.hero-premium .hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 14px;
  max-width: 620px;
  margin-top: 30px;
}

.hero-premium .stat {
  padding: 17px 18px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .10);
  backdrop-filter: blur(16px);
}

.hero-premium .stat strong {
  display: block;
  color: var(--gold);
  font-size: 1.78rem;
  line-height: 1;
  font-weight: 1000;
}

.hero-premium .stat span {
  color: #eaf6ff;
  font-size: .88rem;
  font-weight: 800;
}

.hero-premium .hero-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.hero-premium .hero-highlights span {
  padding: 9px 13px;
  border-radius: 999px;
  color: #effaff;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .14);
  font-size: .86rem;
  font-weight: 900;
  backdrop-filter: blur(12px);
}

.whatsapp-float,
.float-whatsapp {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2500;
  width: auto;
  min-width: 64px;
  height: 64px;
  padding: 0 18px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #25d366, #128c7e);
  box-shadow: 0 20px 50px rgba(37, 211, 102, .38);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 1rem;
  font-weight: 1000;
  border: 1px solid rgba(255, 255, 255, .22);
  animation: tairaWaPulse 2.45s ease-in-out infinite;
}

.whatsapp-float:hover,
.float-whatsapp:hover {
  transform: translateY(-3px);
  box-shadow: 0 26px 64px rgba(37, 211, 102, .48);
}

.whatsapp-float-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
}

.whatsapp-float-icon svg {
  width: 34px;
  height: 34px;
  display: block;
}

.whatsapp-float-label {
  font-size: .92rem;
  letter-spacing: .01em;
}

@keyframes tairaWaPulse {
  0%, 100% {
    box-shadow: 0 20px 50px rgba(37, 211, 102, .38);
  }
  50% {
    box-shadow: 0 22px 70px rgba(37, 211, 102, .58);
  }
}

@media (max-width: 980px) {
  .hero-premium {
    min-height: 760px;
    padding: 92px 0 70px;
    align-items: flex-end;
  }

  .hero-premium .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-bg img {
    object-position: 62% center;
  }

  .hero-overlay {
    background:
      radial-gradient(circle at 50% 18%, rgba(83, 216, 255, .14), transparent 33%),
      linear-gradient(180deg, rgba(5, 16, 36, .08) 0%, rgba(5, 16, 36, .45) 42%, rgba(5, 16, 36, .96) 100%);
  }

  .hero-premium .hero-copy {
    max-width: 100%;
  }

  .hero-premium h1 {
    max-width: 680px;
  }

  .hero-premium p {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .hero-premium {
    min-height: 790px;
    padding: 86px 0 54px;
  }

  .hero-bg img {
    object-position: 66% top;
  }

  .hero-premium .hero-brand-lockup {
    display: none;
  }

  .hero-premium h1 {
    font-size: clamp(2.35rem, 12vw, 3.55rem);
    letter-spacing: -.06em;
  }

  .hero-premium p {
    font-size: 1rem;
    line-height: 1.62;
  }

  .hero-premium .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .hero-premium .hero-actions .btn {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
    padding-inline: 18px;
  }

  .hero-premium .hero-stats {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .hero-premium .stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .hero-premium .stat strong {
    font-size: 1.5rem;
  }

  .hero-premium .hero-highlights {
    gap: 8px;
  }

  .hero-premium .hero-highlights span {
    font-size: .78rem;
  }

  .whatsapp-float,
  .float-whatsapp {
    right: 14px;
    bottom: 88px;
    width: 58px;
    min-width: 58px;
    height: 58px;
    padding: 0;
    border-radius: 22px;
  }

  .whatsapp-float-label {
    display: none;
  }

  .whatsapp-float-icon {
    width: 32px;
    height: 32px;
  }

  .whatsapp-float-icon svg {
    width: 32px;
    height: 32px;
  }
}

/* Ajustes finales de entrega: equipo compacto, textos largos y hero estable */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.section,
.card,
.program-card,
.flyer-card,
.team-card,
.quote,
.contact-card,
.contact-form,
.payment-card,
.footer,
.modal-card,
.flyer-modal-content {
  min-width: 0;
}

.title,
.lead,
.program-body h3,
.program-body p,
.flyer-body h3,
.flyer-body p,
.team-body h3,
.team-body p,
.quote p,
.contact-row,
.payment-card h3,
.payment-card p,
.footer p,
.footer a,
.footer small,
.field input,
.field textarea,
.field select {
  overflow-wrap: anywhere;
}

.hero-bg img {
  object-position: center right;
}

.team-section .section-head {
  justify-content: center;
  text-align: center;
}

.team-section .lead {
  margin-inline: auto;
}

.team-grid {
  width: min(100%, 980px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 292px));
  justify-content: center;
  align-items: start;
  gap: 20px;
}

.team-grid[data-count="1"] {
  grid-template-columns: minmax(240px, 310px);
}

.team-grid[data-count="2"] {
  grid-template-columns: repeat(2, minmax(240px, 292px));
}

.team-card {
  width: 100%;
  max-width: 310px;
  padding: 18px;
  border-radius: 24px;
  text-align: center;
}

.team-photo {
  width: 142px;
  height: 142px;
  aspect-ratio: auto;
  margin: 0 auto 14px;
  border-radius: 32px;
  box-shadow: inset 0 0 0 1px rgba(21, 93, 122, .08);
}

.team-photo img {
  object-fit: cover;
  object-position: center;
}

.team-avatar-placeholder {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  font-size: 1.55rem;
}

.team-body h3 {
  font-size: 1.12rem;
}

.team-body p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.team-links {
  justify-content: center;
}

@media (max-width: 980px) {
  .team-grid,
  .team-grid[data-count="1"],
  .team-grid[data-count="2"] {
    grid-template-columns: repeat(auto-fit, minmax(220px, 292px));
  }
}

@media (max-width: 768px) {
  .hero-bg img {
    object-position: 62% center;
  }

  .team-grid,
  .team-grid[data-count="1"],
  .team-grid[data-count="2"] {
    width: min(100%, 360px);
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
    padding: 0;
    margin-inline: auto;
  }

  .team-card {
    max-width: 100%;
    scroll-snap-align: unset;
  }

  .team-photo {
    width: 132px;
    height: 132px;
    border-radius: 28px;
  }
}

/* Ajustes solicitados: hero limpio, menu visible y diplomados compactos */
.hero-premium .hero-brand-lockup,
.hero-premium .badge {
  display: none !important;
}

.hero-premium .hero-copy {
  padding-top: clamp(18px, 4vw, 42px);
}

.program-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 340px));
  justify-content: center;
  align-items: stretch;
  gap: 22px;
}

.program-grid[data-count="1"] {
  grid-template-columns: minmax(280px, 340px);
}

.program-grid[data-count="2"] {
  grid-template-columns: repeat(2, minmax(280px, 340px));
}

.program-grid .program-card {
  width: 100%;
  max-width: 340px;
  border-radius: 24px;
}

.program-grid .program-img {
  height: auto;
  aspect-ratio: 16 / 10;
  max-height: 205px;
}

.program-grid .program-body {
  padding: 20px;
}

.program-grid .program-body h3 {
  font-size: 1.12rem;
}

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

.program-grid .program-actions .btn {
  width: 100%;
  min-width: 0;
  padding-inline: 12px;
}

.program-grid .program-actions .whatsapp-btn {
  gap: 7px;
}

.program-grid .program-actions .wa-svg,
.program-grid .program-actions .wa-svg svg {
  width: 21px;
  height: 21px;
}

@media (max-width: 980px) {
  .nav {
    position: sticky;
    top: 0;
  }

  .nav-inner {
    height: auto;
    min-height: 76px;
    flex-wrap: wrap;
    align-items: center;
    padding-block: 10px 12px;
  }

  .hamb {
    display: none !important;
  }

  .menu {
    position: static !important;
    inset: auto !important;
    order: 3;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100%;
    padding: 4px 0 0 !important;
    gap: 8px;
    overflow-x: auto;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    scrollbar-width: none;
  }

  .menu::-webkit-scrollbar {
    display: none;
  }

  .menu a {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: .7rem .9rem;
    background: rgba(21, 93, 122, .06);
  }

  .nav-actions .btn-dark,
  .nav-actions .whatsapp-btn {
    display: inline-flex !important;
    min-height: 42px;
    padding: .72rem 1rem;
  }
}

@media (max-width: 640px) {
  .brand-logo {
    width: 136px;
  }

  .nav-actions .btn-dark,
  .nav-actions .whatsapp-btn {
    padding-inline: .85rem;
    font-size: .86rem;
  }

  .program-grid,
  .program-grid[data-count="1"],
  .program-grid[data-count="2"] {
    grid-template-columns: minmax(0, 330px);
  }

  .program-grid .program-card {
    max-width: 330px;
    margin-inline: auto;
  }

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

/* Corrección final de entrega: hero limpio, menú móvil normal y detalle estable */
.hero::before,
.hero::after,
.hero-premium::before,
.hero-premium::after {
  display: none !important;
  content: none !important;
}

.hero-premium {
  min-height: clamp(640px, 78vh, 820px);
  padding: clamp(86px, 8vw, 116px) 0 clamp(70px, 8vw, 110px);
  overflow: hidden;
}

.hero-premium .hero-bg {
  inset: 0 !important;
}

.hero-bg img {
  transform: none !important;
  object-position: center right;
}

.hero-overlay {
  background:
    radial-gradient(circle at 72% 24%, rgba(83, 216, 255, .12), transparent 32%),
    linear-gradient(90deg, rgba(4, 14, 32, .94) 0%, rgba(4, 14, 32, .78) 42%, rgba(4, 14, 32, .24) 72%, rgba(4, 14, 32, .08) 100%) !important;
}

.hero-premium .hero-brand-lockup,
.hero-premium .badge {
  display: none !important;
}

.hero-premium .hero-copy,
.detail-card,
.sidebar-card,
.program-card,
.flyer-card,
.team-card,
.comment-card,
.contact-card,
.footer,
.footer * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.detail-page-hero {
  padding: clamp(54px, 7vw, 82px) 0;
}

.detail-page-hero .eyebrow {
  color: #f7c948;
}

.detail-section {
  padding-top: clamp(46px, 6vw, 72px);
}

.detail-shell {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 26px;
  align-items: start;
}

.detail-card h2 {
  margin-top: 26px;
  color: #0b1f35;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.detail-cover {
  width: 100%;
  max-height: 380px;
  object-fit: cover;
  border-radius: 24px;
  margin-bottom: 22px;
  box-shadow: 0 18px 50px rgba(11, 19, 43, .1);
}

.detail-sidebar {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 14px;
}

.detail-sidebar h3 {
  margin: 0;
  color: #102033;
  font-size: clamp(1.2rem, 2vw, 1.38rem);
}

.detail-sidebar .btn {
  width: 100%;
}

.detail-aula-btn {
  background: #ffffff;
}

.list-check li {
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .nav {
    position: sticky;
    top: 0;
    z-index: 80;
  }

  .nav-inner {
    height: 72px !important;
    min-height: 72px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-block: 0 !important;
  }

  .hamb {
    display: grid !important;
    place-items: center;
    width: 48px;
    height: 48px;
    min-width: 48px;
    margin-left: auto;
    border: 1px solid rgba(21, 93, 122, .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .96);
    color: #0b4d78;
    box-shadow: 0 12px 28px rgba(11, 31, 53, .12);
    font-size: 1.25rem;
  }

  .menu {
    position: fixed !important;
    top: 82px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    order: initial !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding: 12px !important;
    overflow: visible !important;
    border: 1px solid rgba(21, 93, 122, .12) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 24px 70px rgba(11, 19, 43, .18) !important;
    z-index: 90;
  }

  .menu.show {
    display: flex !important;
  }

  .menu a {
    width: 100% !important;
    flex: 0 1 auto !important;
    white-space: normal !important;
    padding: .95rem 1rem !important;
    border-radius: 14px !important;
    background: #f4f8fb !important;
    color: #102033;
  }

  .menu a.active,
  .menu a:hover {
    background: linear-gradient(135deg, #eaf8ff, #d6f0fb) !important;
    color: #0b4d78;
  }

  .nav-actions .btn-dark,
  .nav-actions .whatsapp-btn {
    display: none !important;
  }

  .mobile-overlay.show {
    opacity: 1;
    pointer-events: auto;
  }

  .hero-premium {
    min-height: 720px;
    padding: 88px 0 56px;
    align-items: flex-end;
  }

  .hero-bg img {
    object-position: 63% center;
  }

  .hero-overlay {
    background: linear-gradient(180deg, rgba(5, 16, 36, .06) 0%, rgba(5, 16, 36, .35) 38%, rgba(5, 16, 36, .96) 100%) !important;
  }

  .hero-premium .hero-copy {
    max-width: 100%;
  }

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

  .detail-sidebar {
    position: static;
  }

  .detail-cover {
    max-height: 320px;
  }
}

@media (max-width: 640px) {
  .topbar {
    display: none;
  }

  .nav-inner {
    height: 68px !important;
    min-height: 68px !important;
  }

  .brand-logo {
    width: 138px;
  }

  .menu {
    top: 76px !important;
    left: 10px !important;
    right: 10px !important;
  }

  .hero-premium {
    min-height: 720px;
    padding: 78px 0 46px;
  }

  .hero-bg img {
    object-position: 62% top;
  }

  .hero-premium h1 {
    font-size: clamp(2.15rem, 11vw, 3.1rem);
    line-height: 1;
  }

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

  .hero-premium .hero-stats {
    grid-template-columns: 1fr;
  }

  .detail-card,
  .sidebar-card {
    border-radius: 22px;
    padding: 20px;
  }

  .detail-cover {
    max-height: 240px;
    border-radius: 18px;
  }
}

/* Menu fijo siempre visible */
html {
  scroll-padding-top: 136px;
}

body {
  padding-top: 82px;
}

body.has-topbar {
  padding-top: 124px;
}

body.has-topbar .topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3000;
}

.nav {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 3000;
}

body.has-topbar .nav {
  top: 42px !important;
}

@media (max-width: 980px) {
  html {
    scroll-padding-top: 88px;
  }

  body,
  body.has-topbar {
    padding-top: 72px;
  }

  body.has-topbar .nav {
    top: 0 !important;
  }

  .mobile-overlay {
    z-index: 2900;
  }

  .menu {
    top: 82px !important;
    z-index: 3001 !important;
  }
}

@media (max-width: 640px) {
  html {
    scroll-padding-top: 82px;
  }

  body,
  body.has-topbar {
    padding-top: 68px;
  }

  .menu {
    top: 76px !important;
  }
}

/* Hero: gerente más claro, sin franja superior vacía */
.hero-premium {
  min-height: clamp(560px, calc(100vh - 124px), 720px) !important;
  padding: clamp(34px, 4vw, 58px) 0 clamp(52px, 6vw, 78px) !important;
}

.hero-premium .hero-copy {
  padding-top: 0 !important;
}

.hero-bg {
  background:
    linear-gradient(90deg, #06162d 0%, #0b2f62 46%, #0f4f86 100%);
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center right !important;
  filter: brightness(1.15) saturate(1.08) contrast(1.02) !important;
  transform: none !important;
}

.hero-overlay {
  background:
    radial-gradient(circle at 72% 24%, rgba(83, 216, 255, .10), transparent 34%),
    linear-gradient(90deg, rgba(4, 14, 32, .92) 0%, rgba(4, 14, 32, .72) 38%, rgba(4, 14, 32, .18) 68%, rgba(4, 14, 32, .03) 100%) !important;
}

@media (max-width: 980px) {
  .hero-premium {
    min-height: 680px !important;
    padding: 54px 0 48px !important;
  }

  .hero-bg img {
    object-position: 60% center !important;
    filter: brightness(1.12) saturate(1.08) contrast(1.02) !important;
  }
}

@media (max-width: 640px) {
  .hero-premium {
    min-height: 690px !important;
    padding: 46px 0 42px !important;
  }

  .hero-bg img {
    object-position: 60% top !important;
  }
}

/* Equipo TAIRA: tarjeta destacada y sección premium */
.team-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 22%, rgba(83, 216, 255, .18), transparent 34%),
    radial-gradient(circle at 86% 20%, rgba(247, 201, 72, .15), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f3f8fc 52%, #eef6fb 100%) !important;
}

.team-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(23, 59, 122, .08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(23, 59, 122, .06) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 72%, transparent);
  opacity: .45;
}

.team-section .container {
  position: relative;
  z-index: 1;
}

.team-section .section-head {
  margin-bottom: 42px;
}

.team-section .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b5d82;
  background: rgba(83, 216, 255, .14);
  border: 1px solid rgba(21, 93, 122, .14);
  border-radius: 999px;
  padding: 8px 13px;
  letter-spacing: .10em;
}

.team-section .title {
  color: #0b1f35;
  text-shadow: 0 18px 45px rgba(11, 31, 53, .08);
}

.team-section .lead {
  max-width: 760px;
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  color: #4d6179;
}

.team-grid {
  width: min(100%, 1040px) !important;
  gap: 24px !important;
}

.team-grid[data-count="1"] {
  grid-template-columns: minmax(280px, 760px) !important;
}

.team-card {
  position: relative;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  min-height: 420px;
  padding: 30px !important;
  border: 1px solid rgba(21, 93, 122, .14) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(83, 216, 255, .58), rgba(247, 201, 72, .46), rgba(23, 59, 122, .36)) border-box !important;
  box-shadow: 0 28px 90px rgba(11, 31, 53, .14) !important;
  overflow: hidden !important;
  text-align: center;
}

.team-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 125px;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 0%, rgba(83, 216, 255, .28), transparent 52%),
    linear-gradient(135deg, rgba(23, 59, 122, .10), rgba(247, 201, 72, .10));
}

.team-card::after {
  content: "TAIRA";
  position: absolute;
  right: -8px;
  bottom: -38px;
  z-index: -1;
  color: rgba(23, 59, 122, .045);
  font-size: clamp(4rem, 12vw, 8rem);
  font-weight: 1000;
  letter-spacing: -.08em;
}

.team-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 34px 110px rgba(11, 31, 53, .18) !important;
}

.team-photo {
  position: relative;
  width: 156px !important;
  height: 156px !important;
  margin: 0 auto 22px !important;
  border-radius: 50% !important;
  padding: 7px;
  background: linear-gradient(135deg, #53d8ff, #f7c948, #173b7a) !important;
  box-shadow:
    0 20px 45px rgba(21, 93, 122, .18),
    0 0 0 12px rgba(255, 255, 255, .76) !important;
}

.team-photo img {
  border-radius: 50%;
  background: #fff;
  object-fit: cover;
  object-position: center top;
  box-shadow: inset 0 0 0 1px rgba(21, 93, 122, .08);
}

.team-avatar-placeholder {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.team-body {
  display: grid;
  justify-items: center;
}

.team-body span {
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #0b5d82 !important;
  background: rgba(83, 216, 255, .14);
  border: 1px solid rgba(21, 93, 122, .12);
  font-size: .75rem !important;
  line-height: 1;
}

.team-body h3 {
  max-width: 440px;
  margin: 0 0 12px !important;
  color: #071b33 !important;
  font-size: clamp(1.35rem, 2.4vw, 2rem) !important;
  line-height: 1.06 !important;
  letter-spacing: 0;
}

.team-body p {
  max-width: 520px;
  color: #51647d !important;
  font-size: 1rem;
  line-height: 1.62;
  font-weight: 750 !important;
  -webkit-line-clamp: unset !important;
}

.team-links {
  margin-top: 20px !important;
}

.team-links a {
  background: #0f5f84 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 12px 28px rgba(15, 95, 132, .18);
}

@media (min-width: 820px) {
  .team-grid[data-count="1"] .team-card {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    text-align: left;
  }

  .team-grid[data-count="1"] .team-photo {
    width: 178px !important;
    height: 178px !important;
    margin: 0 !important;
  }

  .team-grid[data-count="1"] .team-body {
    justify-items: start;
  }
}

@media (max-width: 768px) {
  .team-section {
    padding-top: 58px;
  }

  .team-grid,
  .team-grid[data-count="1"],
  .team-grid[data-count="2"] {
    width: min(100%, 390px) !important;
  }

  .team-card {
    min-height: auto;
    padding: 24px 20px !important;
    border-radius: 26px !important;
  }

  .team-photo {
    width: 142px !important;
    height: 142px !important;
  }

  .team-body h3 {
    font-size: 1.45rem !important;
  }
}

/* Convenios: presencia visual en home */
.trust-strip {
  margin-top: 0 !important;
  padding: 56px 0 44px;
  background:
    radial-gradient(circle at 12% 8%, rgba(83, 216, 255, .16), transparent 30%),
    linear-gradient(180deg, #eef6fb, #ffffff);
}

.trust-card {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(260px, 360px) 1fr !important;
  gap: 24px !important;
  align-items: stretch !important;
  padding: 26px !important;
  border: 1px solid rgba(21, 93, 122, .12) !important;
  border-radius: 32px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,252,255,.92)) padding-box,
    linear-gradient(135deg, rgba(83,216,255,.42), rgba(247,201,72,.36), rgba(23,59,122,.24)) border-box !important;
  box-shadow: 0 30px 90px rgba(11, 31, 53, .13) !important;
}

.trust-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 36%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(247, 201, 72, .18), transparent 38%),
    linear-gradient(135deg, rgba(23, 59, 122, .10), rgba(83, 216, 255, .08));
}

.trust-text {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 10px;
}

.trust-text b {
  color: #0b1f35;
  font-size: clamp(1.35rem, 2.4vw, 2.1rem) !important;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.trust-text span {
  color: #52657d !important;
  font-size: 1rem;
  line-height: 1.6;
}

.trust-text::after {
  content: "Convenios activos";
  width: fit-content;
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  color: #0b5d82;
  background: rgba(83, 216, 255, .14);
  border: 1px solid rgba(21, 93, 122, .12);
  font-weight: 1000;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.trust-logos {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 14px !important;
}

.trust-logo.convenio-card {
  min-height: 170px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  place-items: initial;
  gap: 12px;
  padding: 18px !important;
  border: 1px solid rgba(21, 93, 122, .12) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: 0 18px 50px rgba(11, 31, 53, .08);
  text-align: left !important;
  color: #102033 !important;
  transition: transform .22s ease, box-shadow .22s ease;
}

.trust-logo.convenio-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 70px rgba(11, 31, 53, .14);
}

.convenio-logo {
  width: 74px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff, #eaf8ff);
  border: 1px solid rgba(21, 93, 122, .12);
  overflow: hidden;
}

.convenio-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.convenio-logo span {
  color: #0b5d82;
  font-weight: 1000;
  font-size: 1rem;
}

.convenio-info strong {
  display: block;
  color: #0b1f35;
  font-size: 1rem;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.convenio-info p {
  display: -webkit-box;
  margin: 8px 0 0;
  color: #5a6b82;
  font-size: .86rem;
  line-height: 1.45;
  font-weight: 700;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.trust-logo.convenio-card a {
  width: fit-content;
  color: #0b5d82;
  background: rgba(83, 216, 255, .12);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: .8rem;
  font-weight: 1000;
}

@media (max-width: 980px) {
  .trust-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .trust-strip {
    padding: 42px 0 34px;
  }

  .trust-card {
    padding: 20px !important;
    border-radius: 26px !important;
  }

  .trust-logos {
    grid-template-columns: 1fr !important;
  }
}

/* Admin convenios */
.convenio-admin-card,
.convenio-list-card {
  border-color: rgba(21, 93, 122, .14);
}

.convenio-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.convenio-form-actions .btn {
  min-width: 190px;
}

.convenio-logo-preview {
  min-height: 96px;
}

.convenio-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
}

.convenio-admin-row {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.convenio-admin-logo {
  width: 64px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #f8fbff;
  overflow: hidden;
}

.convenio-admin-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.convenio-admin-logo span {
  color: var(--secondary);
  font-weight: 1000;
}
