  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Bricolage Grotesque',sans-serif;}
  .scroll-indicator{
    position:fixed;bottom:32px;left:50%;transform:translateX(-50%);z-index:40;
    display:flex;flex-direction:column;align-items:center;gap:10px;
    transition:opacity .4s ease, transform .4s ease;
    opacity:1;pointer-events:none;
  }
  .scroll-indicator.is-hidden{
    opacity:0;transform:translateX(-50%) translateY(12px);
  }
  .scroll-indicator .mouse{
    width:26px;height:40px;border-radius:13px;border:1.5px solid #8895AB;opacity:.55;
    position:relative;transition:border-color .4s ease;
  }
  .scroll-indicator .wheel{
    position:absolute;left:50%;top:8px;transform:translate(-50%,0);
    width:4px;height:4px;border-radius:50%;background:#F0EFE8;opacity:0;
    animation:wheelScroll 1.6s ease-in-out infinite;
  }
  .scroll-indicator .label{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:500;font-size:11px;
    letter-spacing:.15em;color:#6B7688;text-transform:uppercase;
    transition:color .4s ease;
  }
  @keyframes wheelScroll{
    0%{transform:translate(-50%,0);opacity:0;}
    35%{opacity:1;}
    70%{opacity:1;}
    100%{transform:translate(-50%,16px);opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){
    .scroll-indicator .wheel{animation:none;opacity:.8;}
  }
  .scroll-indicator.on-light .mouse{border-color:#6A7383;}
  .scroll-indicator.on-light .wheel{background:#16213E;}
  .scroll-indicator.on-light .label{color:#6A7383;}

  /* ============ HERO ============ */
  .hero{
    position:relative;min-height:100vh;overflow:hidden;background:#0E1729;
    display:flex;align-items:center;padding:40px 36px;
  }
  .hero-mesh{position:absolute;inset:0;}
  .blob{position:absolute;border-radius:50%;filter:blur(42px);}
  .blob-1{width:75%;height:75%;top:-12%;left:-10%;background:radial-gradient(circle,#26385C 0%,transparent 72%);animation:driftA 22s ease-in-out infinite;}
  .blob-2{width:70%;height:80%;bottom:-18%;right:-12%;background:radial-gradient(circle,#34507D 0%,transparent 72%);animation:driftB 28s ease-in-out infinite;}
  .blob-gold{width:32%;height:55%;top:20%;left:35%;background:radial-gradient(circle,#F5AE2B 0%,transparent 72%);animation:driftGold 14s ease-in-out infinite;opacity:.5;}
  @keyframes driftA{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(20%,14%) scale(1.2);}}
  @keyframes driftB{0%,100%{transform:translate(0,0) scale(1.1);}50%{transform:translate(-18%,-14%) scale(0.9);}}
  @keyframes driftGold{0%,100%{transform:translate(0,0) scale(0.9);opacity:.35;}50%{transform:translate(12%,-10%) scale(1.3);opacity:.62;}}

  .hero-content{
    position:relative;z-index:2;max-width:820px;margin:0 auto;text-align:center;
  }
  .hero-content > *{opacity:0;transform:translateY(16px);animation:fadeUp .5s ease-out forwards;}
  .hero-wordmark{
    font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:#F0EFE8;
    display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:22px;animation-delay:.1s;
  }
  .hero-headline{
    font-family:'Fraunces',serif;font-weight:600;font-size:clamp(38px,6vw,68px);line-height:1.08;
    color:#F0EFE8;margin-bottom:16px;animation-delay:.24s;
  }
  .hero-sub,.curso-sub{font-family:'Bricolage Grotesque',sans-serif;font-size:16px;color:#A8B0BE;line-height:1.6;}
  .hero-sub{margin-bottom:32px;animation-delay:.33s;}
  .hero-ctas{display:flex;gap:12px;justify-content:center;animation-delay:.42s;}
  @keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

  .btn-primary{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:14px;
    background:#F5AE2B;color:#0E1729;border:none;border-radius:8px;padding:12px 24px;
    cursor:pointer;transition:background .18s ease-out,box-shadow .18s ease-out;
  }
  .btn-primary:hover{background:#E89B1C;box-shadow:0 0 0 1px rgba(245,174,43,.4),0 0 24px rgba(245,174,43,.18);}
  .btn-secondary{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:500;font-size:14px;
    background:transparent;color:#F0EFE8;border:1px solid #8895AB;border-radius:8px;padding:12px 24px;
    cursor:pointer;transition:border-color .18s ease-out,background .18s ease-out;
  }
  .btn-secondary:hover{border-color:#F0EFE8;background:rgba(240,239,232,.06);}

  /* ============ PROYECTOS ============ */
  .proyectos{
    position:sticky;top:0;z-index:1;height:100vh;overflow:hidden;
    background:#F4F3EE;padding:96px 36px;
    display:flex;flex-direction:column;justify-content:center;
  }
  .proyectos-inner{max-width:1000px;margin:0 auto;width:100%;}
  .section-eyebrow{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6A7383;margin-bottom:8px;}
  .section-title{font-family:'Fraunces',serif;font-weight:600;font-size:32px;color:#16213E;margin-bottom:48px;}
  .reveal-side{opacity:0;transform:translateX(-60px);transition:opacity .6s ease-out,transform .6s ease-out;}
  .reveal-side.is-visible{opacity:1;transform:translateX(0);}
  .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
  .card{
    background:#FFFFFF;border:1px solid #E0DFD8;border-radius:14px;padding:20px;
    opacity:0;transform:translateY(24px);transition:opacity .32s ease-out,transform .32s ease-out;
  }
  .card.is-visible{opacity:1;transform:translateY(0);}
  .card-tag{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6A7383;margin-bottom:6px;}
  .card-title{font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:#16213E;}

  /* ============ CIERRE / CURSO ============ */
  /* ============ CURSO — scroll-scrubbed ============ */
  .curso-scrub{
    position:sticky;top:0;height:100vh;z-index:2;background:#0E1729;
    display:flex;flex-direction:column;justify-content:center;padding:40px 36px;
    overflow:hidden;
  }
  .curso-scrub-spacer{height:220vh;}
  .curso-eyebrow{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:500;font-size:12px;
    letter-spacing:.04em;text-transform:uppercase;color:#8895AB;margin-bottom:20px;
  }
  .curso-scrub .curso-eyebrow{margin-bottom:8px;}
  .curso-title{font-family:'Fraunces',serif;font-weight:600;font-size:32px;color:#F0EFE8;margin-bottom:12px;}
  .curso-sub{margin-bottom:32px;}
  .scrub-text{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:500;font-size:30px;line-height:1.55;
    max-width:720px;
  }
  .scrub-text .w{
    --ghost:#2E3A54;--full:#F0EFE8;
    color:color-mix(in srgb, var(--ghost) calc((1 - var(--wp,0))*100%), var(--full) calc(var(--wp,0)*100%));
  }
  .scrub-text .w.gold{--ghost:#4A3B24;--full:#F5AE2B;}

  /* ============ CURSO — prueba (texto + mockup del workbook) ============ */
  .curso-proof{position:relative;z-index:3;background:#0E1729;padding:80px 36px 100px;border-top:1px solid #1F2C42;}
  .proof-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .proof-item{margin-bottom:32px;}
  .proof-item:last-child{margin-bottom:0;}
  .proof-statement{font-family:'Fraunces',serif;font-weight:600;font-size:22px;color:#F0EFE8;line-height:1.35;margin-top:8px;}
  .fade-up{opacity:0;transform:translateY(24px);transition:opacity .35s ease-out,transform .35s ease-out;}
  .fade-up.is-visible{opacity:1;transform:translateY(0);}

  .browser-frame{border:1px solid #22304C;border-radius:14px;overflow:hidden;background:#1B2942;}
  .browser-frame-bar{height:30px;background:#16223A;display:flex;align-items:center;padding:0 14px;gap:6px;}
  .browser-dot{width:8px;height:8px;border-radius:50%;background:#2E3A54;}
  .browser-frame-screen{height:440px;overflow-y:auto;background:#0E1729;}
  .browser-frame-screen::-webkit-scrollbar{width:0;}
  .browser-frame-screen img{width:100%;display:block;}

  .card-thumb-img{background:#EAE8E0;border-radius:8px;aspect-ratio:4/3;margin-bottom:16px;overflow:hidden;}
  .card-thumb-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
  .card-thumb-img img.thumb-elearning{object-position:10% center;}

  @media (max-width:760px){ .proof-inner{grid-template-columns:1fr;} .grid{grid-template-columns:1fr;} }

  .card.card-clickable{cursor:pointer;transition:opacity .32s ease-out,transform .32s ease-out,box-shadow .2s ease-out;}
  .card.card-clickable:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(22,33,62,.1);}
  .card.card-clickable.is-visible:hover{transform:translateY(-4px);}

  .modal-overlay{
    position:fixed;inset:0;z-index:100;background:rgba(14,23,41,.55);backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;padding:24px;
    opacity:0;pointer-events:none;transition:opacity .25s ease-out;
  }
  .modal-overlay.is-open{opacity:1;pointer-events:auto;}
  .modal-panel{
    background:#FFFFFF;border-radius:14px;max-width:920px;width:100%;max-height:88vh;
    overflow-y:auto;padding:40px;position:relative;
    transform:scale(.96);transition:transform .25s ease-out;
  }
  .modal-overlay.is-open .modal-panel{transform:scale(1);}
  .modal-close-wrap{
    position:sticky;top:0;height:0;z-index:5;
    display:flex;justify-content:flex-end;pointer-events:none;
  }
  .modal-close{
    position:relative;top:20px;right:20px;width:36px;height:36px;border-radius:50%;
    border:1px solid #E0DFD8;background:#FFFFFF;display:flex;align-items:center;justify-content:center;
    cursor:pointer;font-size:16px;color:#16213E;line-height:1;transition:border-color .18s ease-out;
    pointer-events:auto;font-family:inherit;
  }
  .modal-close:hover{border-color:#16213E;}
  .modal-close:focus-visible{outline:2px solid #16213E;outline-offset:2px;}
  .modal-tag{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6A7383;margin-bottom:8px;}
  .modal-title{font-family:'Fraunces',serif;font-weight:600;font-size:26px;color:#16213E;margin-bottom:14px;max-width:640px;}
  .modal-desc{font-family:'Bricolage Grotesque',sans-serif;font-size:16px;color:#4A5568;line-height:1.6;max-width:640px;margin-bottom:10px;}
  .modal-process{font-size:13px;color:#6A7383;font-style:italic;margin-bottom:32px;}
  .modal-phones{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;}
  .modal-phone-frame{
    width:200px;border-radius:30px;border:8px solid #16213E;background:#000;
    overflow:hidden;position:relative;box-shadow:0 16px 32px rgba(22,33,62,.12);
  }
  .modal-phone-frame::before{
    content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:84px;height:17px;background:#16213E;border-radius:0 0 11px 11px;z-index:2;
  }
  .modal-phone-screen{width:100%;height:430px;overflow-y:auto;background:#000;}
  .modal-phone-screen::-webkit-scrollbar{width:0;}
  .modal-phone-screen img{width:100%;display:block;}
  .modal-phone-label{text-align:center;font-size:12px;color:#6A7383;margin-top:12px;}

  .modal-screens{display:flex;flex-direction:column;gap:32px;}
  .modal-browser-frame{
    border-radius:14px;border:1px solid #22304C;background:#1B2942;
    overflow:hidden;box-shadow:0 16px 32px rgba(22,33,62,.12);
  }
  .modal-browser-frame-bar{height:30px;background:#16223A;display:flex;align-items:center;padding:0 14px;gap:6px;}
  .modal-browser-dot{width:8px;height:8px;border-radius:50%;background:#2E3A54;}
  .modal-browser-frame-screen{background:#0E1729;}
  .modal-browser-frame-screen img{display:block;width:100%;height:auto;}
  .modal-screen-caption{text-align:center;font-size:12px;color:#6A7383;margin-top:12px;}
  .modal-note{font-size:13px;color:#6A7383;margin-top:8px;}

  .cierre{
    position:relative;z-index:4;
    background:#0E1729;padding:120px 36px;text-align:center;
    display:flex;flex-direction:column;align-items:center;
  }
  .cierre-block{opacity:0;transform:translateY(20px) scale(.98);transition:opacity .45s ease-out,transform .45s ease-out;max-width:560px;}
  .cierre-block.is-visible{opacity:1;transform:translateY(0) scale(1);}
  .cierre-title{font-family:'Fraunces',serif;font-weight:600;font-size:34px;color:#F0EFE8;margin-bottom:16px;}
  .cierre-body{font-size:16px;color:#A8B0BE;margin-bottom:28px;line-height:1.6;}  .site-footer{
    position:relative;z-index:4;
    background:#0E1729;border-top:1px solid #1F2C42;
    padding:40px 36px;text-align:center;
  }
  .footer-wordmark{
    font-family:'Fraunces',serif;font-weight:600;font-size:14px;color:#F0EFE8;margin-bottom:12px;
  }
  .footer-meta{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:400;font-size:13px;color:#8895AB;
    max-width:480px;margin:0 auto 16px;line-height:1.5;
  }
  .footer-copyright{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:400;font-size:12px;color:#6B7688;
  }
  .footer-social{
    display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 16px;
  }
  .footer-social-link{
    display:flex;align-items:center;justify-content:center;width:44px;height:44px;
    color:#8895AB;transition:color .14s ease-in-out;
  }
  .footer-social-link:hover{color:#F0EFE8;}
  .footer-social-icon{width:20px;height:20px;fill:currentColor;}

  /* ============ HEADER / TOGGLE DE IDIOMA ============ */
  .site-header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;justify-content:flex-end;padding:20px 36px;pointer-events:none;
  }
  .lang-toggle{
    display:flex;align-items:center;gap:8px;pointer-events:auto;
    font-family:'Bricolage Grotesque',sans-serif;font-weight:500;font-size:12px;
    letter-spacing:.04em;text-transform:uppercase;
  }
  .lang-toggle a{color:#8895AB;text-decoration:none;transition:color .18s ease-out;}
  .lang-toggle a:hover,.lang-toggle a[aria-current="true"]{color:#F0EFE8;}
  .lang-toggle .sep{color:#6B7688;}
  .site-header.on-light .lang-toggle a{color:#6A7383;}
  .site-header.on-light .lang-toggle a:hover,.site-header.on-light .lang-toggle a[aria-current="true"]{color:#16213E;}
  .site-header.on-light .lang-toggle .sep{color:#6A7383;}

  /* ============ CARD — CTA ============ */
  .card-cta{font-size:13px;font-weight:500;color:#16213E;margin-top:12px;text-decoration:underline;text-underline-offset:3px;}

  /* ============ OPT-IN ============ */
  .optin{
    position:relative;z-index:4;background:#0E1729;border-top:1px solid #1F2C42;
    padding:96px 36px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;
  }
  .optin .cierre-block{width:100%;}
  .optin-form{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
  .optin-input{
    flex:1 1 240px;min-width:0;font-family:'Bricolage Grotesque',sans-serif;font-size:14px;
    color:#F0EFE8;background:#1B2942;border:1px solid #22304C;border-radius:8px;padding:12px 16px;
    transition:border-color .18s ease-out;
  }
  .optin-input::placeholder{color:#8895AB;}
  .optin-input:focus{outline:none;border-color:#F0EFE8;}
  .optin-status{font-size:13px;color:#A8B0BE;margin-top:14px;min-height:1.5em;}
  .optin-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

