/* carreras/style.css — Estilos de paginas de carrera */


  :root{
    --navy:#003DA6;
    --navy-deep:#00276B;
    --teal:#1FA98E;
    --orange:#F4690B;
    --bg:#F7F8FA;
    --ink:#1B2430;
    --ink-soft:#5B6472;
    --ink-softsoft:#adb3bd;
    --muted:#5B6472;
    --line:rgba(18,41,77,0.10);
    --radius:14px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,.display{font-family:'General Sans','Inter',sans-serif;font-weight:700;letter-spacing:-0.02em;color:var(--navy);}
  a{text-decoration:none;color:inherit;}
  img{display:block;max-width:100%;}
  ul{list-style:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  .eyebrow{font-size:12.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);}
  :focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
  svg{display:block;}


  /* Compatibility for the Home header/footer */
  button{font-family:inherit;background:none;border:none;cursor:pointer;}
  :root{--brand:var(--navy);--branddeep:#001f6b;--heat:var(--orange);--sea:var(--teal);}

  /* NAV */
header { position:sticky; top:0; z-index:50; background:var(--brand); }
nav.wrap { display:flex; align-items:center; justify-content:space-between; height:74px; gap:20px; }
.logo { display:flex; align-items:center; gap:10px; font-family:'General Sans',sans-serif; font-weight:700; color:#fff; cursor:pointer; text-align:left; }
.logo svg { flex-shrink:0; }
.logo-text { font-size:13.5px; line-height:1.35; font-weight:700; color:#fff; }
.navlinks { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:500; }
.navlinks button { color:#fff; opacity:.8; font-weight:400; transition:opacity .15s; }
.navlinks button:hover { opacity:1; }
.hamburger { display:none; color:#fff; padding:4px; }
.navactions { display:flex; align-items:center; gap:16px; }
.cart-btn { position:relative; color:#fff; opacity:.9; transition:opacity .15s; padding:4px; }
.cart-btn:hover { opacity:1; }
.cart-badge { position:absolute; top:-4px; right:-4px; background:var(--heat); color:#fff; font-size:10px; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; line-height:1; }
.mobile-menu { display:none; background:var(--brand); border-top:1px solid rgba(255,255,255,.1); }
.mobile-menu.open { display:block; }
.mobile-menu .wrap { padding:20px 32px; display:flex; flex-direction:column; gap:12px; }
.mobile-menu button { color:#fff; opacity:.85; font-size:15px; font-weight:500; text-align:left; padding:4px 0; }


  /* BREADCRUMB */
  .crumb-bar{background:#fff;border-bottom:1px solid var(--line);}
  .breadcrumb{font-size:13px;color:var(--ink-soft);padding:16px 0;}
  .breadcrumb a{opacity:.8;}
  .breadcrumb a:hover{opacity:1;}
  .breadcrumb span{color:var(--navy);font-weight:600;}

  /* HERO */
  .hero{padding:40px 0 0;background:#fff;}
  .hero-grid{display:grid;grid-template-columns:1.3fr 0.9fr;gap:48px;align-items:start;}
  .hero h1{font-size:38px;line-height:1.12;margin:14px 0 12px;}
  .hero p.lede{font-size:15.5px;color:var(--ink-soft);max-width:520px;margin-bottom:8px;}
  .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
  .hero-visual{position:relative;}
  .hero-photo{border-radius:20px;overflow:hidden;aspect-ratio:16/10;box-shadow:0 24px 50px -22px rgba(18,41,77,0.30);}
  .hero-photo img{width:100%;height:100%;object-fit:cover;}
  .badge-circle{position:absolute;right:-16px;bottom:-16px;width:112px;height:112px;border-radius:50%;background:var(--teal);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;box-shadow:0 16px 34px -10px rgba(31,169,142,0.55);}
  .badge-circle svg{width:22px;height:22px;}
  .badge-circle .tx{font-size:10.5px;font-weight:700;letter-spacing:.03em;line-height:1.25;padding:0 8px;}

  .buybox{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:sticky;top:100px;box-shadow:0 20px 50px -30px rgba(18,41,77,.25);}
  .buybox .eyebrow{display:block;margin-bottom:6px;}
  .buybox h3{font-size:18px;margin-bottom:4px;}
  .buybox .sub{font-size:13px;color:var(--ink-softsoft);margin-bottom:14px;}
  .buybox .price{font-family:'General Sans',sans-serif;font-size:30px;font-weight:700;color:var(--navy);margin:6px 0 4px;}
  .buybox .price small{display:block;font-size:11.5px;color:var(--ink-soft);font-weight:500;margin-top:4px;}
  .buybox .row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);padding:10px 0;border-top:1px solid var(--line);}
  .buybox .row b{color:var(--navy);font-weight:600;}
  .buybox .btns{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
  .buybox .secure{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--ink-soft);margin-top:14px;}
  .buybox .secure svg{width:14px;height:14px;color:var(--teal);}

  .hero-facts{display:flex;gap:32px;flex-wrap:wrap;margin-top:36px;padding:28px 0;border-top:1px solid var(--line);}
  .hf-item{display:flex;align-items:center;gap:13px;flex:1;min-width:230px;}
  .hf-item .ic{width:42px;height:42px;border-radius:50%;background:rgba(0,168,149,0.12);color:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .hf-item .ic svg{width:20px;height:20px;}
  .hf-item p{font-size:13.5px;color:var(--navy);font-weight:500;line-height:1.35;}

  /* SECTIONS */
  .section{padding:76px 0;}
  .section-head{max-width:600px;margin:0 auto 40px;text-align:center;}
  .section-head h2{font-size:29px;margin-top:8px;}
  .section-head p.sub{font-size:14.5px;color:var(--ink-soft);margin-top:10px;}

  /* SECTION 2 — ESCUELA */
  .about-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:56px;align-items:center;}
  .about-photo{border-radius:20px;overflow:hidden;aspect-ratio:4/3.3;}
  .about-photo img{width:100%;height:100%;object-fit:cover;}
  .about-text .eyebrow{display:block;margin-bottom:10px;}
  .about-text h2{font-size:29px;margin-bottom:16px;}
  .about-text p{color:var(--ink-soft);font-size:14.5px;margin-bottom:16px;}

  /* SECTION 3 — PROGRAMA */
  .programa-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:36px;}
  .programa-col > .eyebrow{display:block;margin-bottom:14px;}
  .programa-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
  .programa-list details{border-bottom:1px solid var(--line);}
  .programa-list details:last-child{border-bottom:none;}
  .programa-list summary{padding:16px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;font-weight:600;color:var(--navy);font-size:14px;}
  .programa-list summary::-webkit-details-marker{display:none;}
  .programa-list summary .ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .programa-list summary .ic svg{width:18px;height:18px;}
  .programa-col.y1 .ic{background:rgba(31,169,142,0.12);color:var(--teal);}
  .programa-col.y2 .ic{background:rgba(244,105,11,0.12);color:var(--orange);}
  .programa-list summary .chev{margin-left:auto;width:16px;height:16px;color:var(--ink-soft);transition:transform .2s ease;flex-shrink:0;}
  .programa-list details[open] .chev{transform:rotate(180deg);}
  .programa-list .p-body{padding:0 18px 18px 68px;font-size:13px;color:var(--ink-soft);line-height:1.7;}
  .programa-cta{text-align:center;}

  /* SECTION 4 — PROFESORES */
  .teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:36px;}
  .teacher-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
  .teacher-photo{aspect-ratio:4/3.3;}
  .teacher-photo img{width:100%;height:100%;object-fit:cover;}
  .teacher-body{padding:24px;}
  .teacher-body h3{font-size:17px;margin-bottom:8px;}
  .teacher-body p{font-size:13.5px;color:var(--ink-soft);}
  .teacher-cta{text-align:center;}

  /* SECTION 5 — COCINAS */
  .kitchen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px;}
  .kitchen-grid img{  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;}
  .kitchen-cta{text-align:center;}

  /* CONTACTO */
  .contact-band{background:var(--brand);color:#fff;padding:80px 0;}
  .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-areas:"intro form" "details form";gap:40px 56px;align-items:start;}
  .contact-intro{grid-area:intro;}
  .contact-details{grid-area:details;}
  .contact-form{grid-area:form;}
  .contact-band h2{color:#fff;font-size:30px;margin-bottom:18px;}
  .contact-info{display:flex;flex-direction:column;gap:20px;}
  .info-row{display:flex;gap:14px;align-items:flex-start;}
  .info-row .ic{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
  .info-row b{display:block;font-size:13.5px;}
  .info-row span{font-size:13px;color:rgba(255,255,255,.65);}
  .map-box{margin-top:20px;height:140px;border-radius:12px;overflow:hidden;}
  .map-box iframe{border:0;filter:grayscale(20%);}

  form.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  form.contact-form .full{grid-column:1/-1;}
  .form-input{width:100%;padding:13px 16px;border:none;border-radius:10px;font-family:inherit;font-size:13.5px;background:#fff;color:var(--ink);outline:none;}
  .form-input::placeholder{color:var(--muted);}
  textarea.form-input{resize:vertical;min-height:90px;}

  /* FOOTER */
  footer{background:var(--branddeep);color:rgba(255,255,255,.6);}
  .foot-links{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-top:48px;padding-bottom:32px;}
  .foot-links p{font-size:12.5px;max-width:280px;opacity:.6;line-height:1.5;margin-top:14px;}
  .foot-links h5{color:#fff;font-size:12px;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;}
  .foot-links a{display:block;font-size:13px;margin-bottom:9px;opacity:.65;transition:opacity .15s;}
  .foot-links a:hover{opacity:1;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;padding-bottom:16px;display:flex;justify-content:space-between;align-items:center;font-size:12px;flex-wrap:wrap;gap:10px;color:rgba(255,255,255,.55);}
  .social{display:flex;gap:10px;}
  .social a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff;transition:border-color .15s;}
  .social a:hover{border-color:rgba(255,255,255,.5);}


  .wa-float{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -6px rgba(0,0,0,.35);z-index:60;transition:transform .15s ease;}
  .wa-float:hover{transform:scale(1.06);}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}
  .reveal.d1{transition-delay:.1s;}.reveal.d2{transition-delay:.2s;}
  @media (max-width:900px){.wa-float{right:16px;bottom:16px;width:52px;height:52px;}.contact-grid{grid-template-columns:1fr;grid-template-areas:"intro" "form" "details";}}
  @media (prefers-reduced-motion: reduce){*{transition:none !important;}}

  @media (max-width:900px){
    .navlinks,.btn-nav-cta{display:none;}
    .hamburger{display:block;}
    .mobile-menu .wrap{padding:20px 32px;display:flex;flex-direction:column;gap:12px;}
    .mobile-menu button{color:#fff;opacity:.85;font-size:15px;font-weight:500;text-align:left;padding:4px 0;}

    .hero-grid,.about-grid{grid-template-columns:1fr;}
    .about-grid{gap:32px;}
    .about-photo{order:-1;}
    .navlinks{display:none;}
    .programa-grid,.teacher-grid{grid-template-columns:1fr;}
    .kitchen-grid{grid-template-columns:1fr 1fr;}
    .contact-grid{grid-template-columns:1fr;}
    form.contact-form{grid-template-columns:1fr;}
    .foot-links{grid-template-columns:1fr 1fr;}
    .badge-circle{width:92px;height:92px;}
    .hero-facts{flex-direction:column;gap:20px;}
  }
