    :root {
      --black: #111111;
      --pink: #ff68c2;
      --bg: #ffffff;
      --bg-2: #F5F5F5;
      --line: #E4E4E4;
      --text: var(--black);
      --muted: #555555;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--bg); color: var(--text); font-family: 'PulsoLight', 'Roboto', sans-serif; line-height: 1.6; overflow-x: hidden; }
    h1, h2, h3, .btn { font-family: 'PulsoRegular', 'Roboto', sans-serif; font-weight: 400; }
    a { color: inherit; text-decoration: none; }
    .wrap { width: min(1080px, 100% - 32px); margin-inline: auto; }

    .btn { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; background: var(--pink); color: #fff; border: 1.5px solid var(--pink);
      padding: 12px 26px; border-radius: 999px; font-size: 1rem; transition: transform .2s, box-shadow .2s; }
    .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px -8px rgba(255,104,194,.7); }
    .btn:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; }

    /* ==========================================================
       HERO (oscuro, con video de fondo)
       ========================================================== */
    .hero { 
      position: relative; isolation: isolate; overflow: hidden; min-height: 100vh; display: flex; flex-direction: column; justify-content: center;
      padding: 40px 0 64px; color: #fff;
      background:
        radial-gradient(45% 45% at 85% 30%, rgba(87,189,185,.20), transparent 70%),
        radial-gradient(40% 40% at 5% 95%, rgba(242,159,193,.14), transparent 70%),
        var(--black); 
      }
    .hero::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: var(--pink); z-index: 1; }
    .hero::after { content: ""; position: absolute; inset: 0; z-index: -1;
      /* background: linear-gradient(180deg, rgba(17,17,17,.25), rgba(17,17,17,.1) 50%, rgba(17,17,17,.85));  */
    }
    .hero-video { 
      position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
      /* filter: saturate(.9) brightness(.55) blur(1px);  */
      transform: scale(1.03); }

    .presenter { display: flex; justify-content: center; align-items: center; gap: 28px; margin-bottom: 90px; }
    .presenter img { height: 44px; width: auto; }
    .presenter-sep { width: 1px; height: 32px; background: rgba(255,255,255,.3); }

    .hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
    h1 { font-size: clamp(2.6rem, 7vw, 3.5rem); line-height: .98; margin: 18px 0 18px; letter-spacing: -.02em; color: var(--pink); }
    .lead { font-size: 1.8rem; color: #d62966; max-width: 500px; font-family: 'PulsoRegular', 'Roboto', sans-serif; line-height: normal; letter-spacing: normal;}
    .lead span {font-size: 2.5rem; color: #d62966; font-family: 'PulsoRegular', 'Roboto', sans-serif; letter-spacing:-0.5px;}
    .hero-reminder { margin-top: 28px; }
    .hero .btn:focus-visible { outline-color: var(--pink); }

    /* Foto a la derecha */
    .stage-photo { aspect-ratio: 1 / 1; margin-inline: auto; border-radius: 28px; overflow: hidden; text-align: center; }
    .stage-photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 25px; }

    /* Gif y textos centrados */
    .hero-center { display: flex; flex-direction: column; align-items: center; text-align: center; }
    .hero-gif { display: block; width: min(720px, 100%); height: auto; margin-bottom: 8px; }
    .hero-center .lead { max-width: 100%; }

    @media (max-width: 900px) {
      .hero { padding-top: 28px; }
      .lead { font-size: 1.15rem; }
      .hero::after { 
        /* background: linear-gradient(180deg, rgba(17,17,17,.45), rgba(17,17,17,.6) 45%, rgba(17,17,17,.9));  */
      }
      .presenter { margin-bottom: 24px; }
      .presenter img { height: 34px; }
      .hero-grid { grid-template-columns: 1fr; gap: 32px; }
      .hero-grid > div:last-child { order: -1; }
    }

    /* ==========================================================
       SECCIONES
       ========================================================== */
    section.block { padding: 92px 0; }
    .alt { background: var(--bg-2); }
    .title { text-align: center; margin-bottom: 52px; }
    .title h2 { 
      font-size: clamp(1.8rem, 4.2vw, 2.8rem); 
      letter-spacing: -.01em; 
      color: #ffffff;
    }

    .title h2 span { color: var(--pink); }
    .title p { 
      color: #ffffff; 
      /* color: var(--muted);  */
      margin-top: 10px; 
    
    }

    /* ==========================================================
       AUTOEXAMEN DE MAMAS
       ========================================================== */
    .autoexamen { 
      --rosa-ink: #c2187a; 
      --rosa-soft: #ffe6f4;
      position: relative; 
      isolation: isolate; 
      overflow: hidden;
      /* background: linear-gradient(180deg, #fff5fb, #ffffff 70%);  */
      background: url(../img/bg-chequeo.png); 
      background-size: cover;
    }
    .ae-blob { position: absolute; z-index: -1; border-radius: 50%; filter: blur(60px); opacity: .55; pointer-events: none; }
    /* .ae-blob-1 { width: 420px; height: 420px; top: -120px; left: -140px; background: #ffb3df; animation: ae-float 14s ease-in-out infinite alternate; } */
    /* .ae-blob-2 { width: 360px; height: 360px; bottom: -120px; right: -100px; background: #d9b8ff; animation: ae-float 18s ease-in-out infinite alternate-reverse; } */
    @keyframes ae-float { to { transform: translate(60px, 40px) scale(1.12); } }
    .autoexamen .title p { max-width: 560px; margin-inline: auto; }

    .ae-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; }

    /* Escenario con anillo de progreso */
    .ae-stage { position: relative; aspect-ratio: 1; width: min(460px, 100%); margin-inline: auto; display: grid; place-items: center; }
    .ae-stage::before { content: ""; position: absolute; inset: 9%; border-radius: 50%;
      background: radial-gradient(circle, rgba(255,104,194,.45), transparent 70%); filter: blur(30px); animation: ae-breathe 4s ease-in-out infinite; }
    @keyframes ae-breathe { 50% { transform: scale(1.08); opacity: .7; } }
    .ae-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
    .ae-ring circle { fill: none; stroke-width: 1.2; }
    .ae-ring-track { stroke: #ffd3ec; stroke-dasharray: .6 2.4; }
    .ae-ring-fill { stroke: var(--pink); stroke-linecap: round; stroke-dasharray: 25 100; transition: stroke-dasharray .7s cubic-bezier(.65,0,.35,1); }
    .ae-stage img { grid-area: 1 / 1; width: 88%; height: auto; opacity: 0; transform: scale(.92) rotate(-6deg);
      transition: opacity .5s, transform .7s cubic-bezier(.2,.8,.2,1); filter: drop-shadow(0 30px 40px rgba(255,104,194,.35)); }
    .ae-stage img.is-active { opacity: 1; transform: none; }
    .ae-counter { position: absolute; right: 4%; bottom: 6%; padding: 6px 14px; border-radius: 999px; background: #fff;
      font-size: .8rem; color: var(--muted); box-shadow: 0 10px 24px -12px rgba(194,24,122,.45); font-variant-numeric: tabular-nums; }
    .ae-counter b { font-family: 'PulsoRegular', 'Roboto', sans-serif; font-weight: 400; color: var(--rosa-ink); }

    /* Lista de pasos */
    .ae-steps { list-style: none; display: grid; gap: 12px; }
    .ae-step { position: relative; background: rgba(255,255,255,.75); backdrop-filter: blur(8px); border: 1px solid #ffd9ee; border-radius: 20px;
      transition: border-color .3s, box-shadow .3s, background .3s; }
    .ae-step.is-active { background: #fff; border-color: var(--pink); box-shadow: 0 24px 50px -30px rgba(194,24,122,.55); }
    .ae-head { width: 100%; display: flex; align-items: center; gap: 16px; padding: 18px 22px; background: none; border: 0; cursor: pointer;
      text-align: left; color: var(--text); font: inherit; }
    .ae-head:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; border-radius: 20px; }
    .ae-num { flex-shrink: 0; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
      font-family: 'PulsoRegular', 'Roboto', sans-serif; font-size: 1rem; color: var(--rosa-ink); background: var(--rosa-soft);
      transition: background .3s, color .3s, transform .3s; }
    .ae-step.is-active .ae-num { background: var(--pink); color: #fff; transform: rotate(-8deg) scale(1.06); }
    .ae-label { flex: 1; font-family: 'PulsoRegular', 'Roboto', sans-serif; font-size: 1.08rem; line-height: 1.3; }
    .ae-head i { color: var(--pink); transition: transform .3s; }
    .ae-step.is-active .ae-head i { transform: rotate(45deg); }
    .ae-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s ease; }
    .ae-inner { min-height: 0; overflow: hidden; }
    .ae-step.is-active .ae-body { grid-template-rows: 1fr; }
    .ae-body p { padding: 0 24px 22px 84px; color: var(--muted); font-size: .97rem; }
    .ae-body p b { font-family: 'PulsoRegular', 'Roboto', sans-serif; font-weight: 400; color: var(--text); }
    .ae-thumb { display: none; }

    /* Recordatorio al final de la sección */
    .ae-cta { margin-top: 56px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 22px;
      padding: 18px 18px 18px 28px; width: fit-content; max-width: 100%; margin-inline: auto;
      background: #fff; border: 1px solid #ffd9ee; border-radius: 999px; box-shadow: 0 20px 50px -35px rgba(194,24,122,.6); scroll-margin-block: 30vh; }
    .ae-cta p { font-family: 'PulsoRegular', 'Roboto', sans-serif; }
    .ae-note { margin-top: 20px; font-size: .8rem; line-height: 1.4; color: var(--muted); text-align: center; }

    @media (max-width: 900px) {
      .ae-layout { grid-template-columns: 1fr; }
      .ae-stage { display: none; }
      .ae-body { grid-template-rows: 1fr; }
      .ae-thumb { display: block; width: min(240px, 70%); height: auto; margin: 0 auto 6px; }
      .ae-body p { padding: 0 22px 22px; }
      .ae-head { cursor: default; }
      .ae-head i { display: none; }
      .ae-step, .ae-step.is-active { background: #fff; border-color: #ffd9ee; box-shadow: none; }
      .ae-step .ae-num, .ae-step.is-active .ae-num { transform: none; background: var(--pink); color: #fff; }
      .ae-cta { border-radius: 24px; padding: 22px; text-align: center; }
    }

    /* ==========================================================
       PROCESO (imagen de fondo + 4 cards)
       ========================================================== */
    .proceso { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--black); }
    .proceso-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
    .proceso::after { 
      content: ""; 
      position: absolute; 
      inset: 0; z-index: -1;
      background-size: cover;
      /* background: linear-gradient(180deg, rgba(17,17,17,.55), rgba(17,17,17,.75));  */
    }
    .proceso .title h2 { color: #fff; }

    .proceso-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .proceso-card { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 14px 14px 22px;
      background: rgba(255,255,255,.08); backdrop-filter: blur(12px); border: 1px solid rgba(255,104,194,.35); border-radius: 22px;
      transition: transform .3s, border-color .3s, box-shadow .3s; }
    .proceso-card:hover { transform: translateY(-6px); border-color: var(--pink); box-shadow: 0 24px 50px -28px rgba(255,104,194,.7); }
    .proceso-img { aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: rgba(255,255,255,.06); }
    .proceso-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .proceso-num { position: absolute; z-index: 1; top: 24px; left: 24px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
      background: var(--pink); color: #fff; font-family: 'PulsoRegular', 'Roboto', sans-serif; font-size: .9rem; }
    .proceso-card p { padding: 0 8px; font-family: 'PulsoLight', 'Roboto', sans-serif; font-size: 1.05rem; line-height: 1.35; text-align: center; }
    .proceso-card p span{ color:#ffffff; font-size: 1.4rem; font-family: 'PulsoRegular', 'Roboto', sans-serif;}

    @media (max-width: 900px) { .proceso-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 520px) { .proceso-grid { grid-template-columns: 1fr; } }

    /* ==========================================================
       MARCA (fondo bg-marca.png, texto a la izquierda)
       ========================================================== */
    .marca { position: relative; isolation: isolate; color: #fff; min-height: 80vh; display: flex; align-items: center;
      background: url("../img/bg-marca.png") center / cover no-repeat, var(--black); }
    .marca::before { content: ""; position: absolute; inset: 0; z-index: -1;
      background: linear-gradient(90deg, rgba(17,17,17,.85) 0%, rgba(17,17,17,.55) 45%, transparent 75%); }
    .marca-text { max-width: 520px; }
    .marca-text h2 { font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.05; letter-spacing: -.01em; margin-bottom: 18px; }
    .marca-text h2 span { color: var(--pink); }
    .marca-text p { color: rgba(255,255,255,.82); font-size: 1.05rem; margin-bottom: 14px; }
    .marca-text .marca-lead { font-family: 'PulsoRegular', 'Roboto', sans-serif; font-size: 1.3rem; color: #fff; }
    .marca-logos { display: flex; align-items: center; gap: 18px; margin-top: 32px; }
    .marca-logos img { height: 36px; width: auto; }
    .marca-logos span { font-size: 1.4rem; color: var(--pink); }

    @media (max-width: 900px) {
      .marca { min-height: 0; }
      .marca::before { background: linear-gradient(180deg, rgba(17,17,17,.6), rgba(17,17,17,.85)); }
      .marca-logos img { height: 30px; }
    }

    /* ==========================================================
       FAQ
       ========================================================== */
    /* Fondo bg-proceso.png (rosa claro): título oscuro + tarjetas blancas */
    #faq { background: url("../img/bg-proceso.png") center / cover no-repeat, var(--pink); }
    #faq .title h2 { color: #ffffff; }
    #faq .title h2 span { color: #fff; }

    .faq { max-width: 820px; margin-inline: auto; display: grid; gap: 12px; }
    .faq details { background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.6); border-radius: 16px;
      box-shadow: 0 16px 40px -28px rgba(120,10,70,.55); transition: border-color .2s, background .2s; }
    .faq details[open] { background: #fff; border-color: #fff; }
    .faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px;
      font-family: 'PulsoRegular', 'Roboto', sans-serif; font-size: 1.05rem; color: #d62966;}
    .faq summary::-webkit-details-marker { display: none; }
    .faq summary i { color: var(--pink); flex-shrink: 0; transition: transform .2s; }
    .faq details[open] summary i { transform: rotate(45deg); }
    .faq summary:focus-visible { outline: 3px solid var(--black); outline-offset: 2px; border-radius: 16px; }
    .faq details p { padding: 0 24px 22px; color: var(--muted); }
    .faq details p span { font-family: 'PulsoRegular', 'Roboto', sans-serif; }
    .faq details ul { padding: 0 24px 22px; color: var(--muted); }
    .faq details ul li { margin-left: 30px; }
    .faq details a { color: #c2187a; text-decoration: underline; }

    /* ==========================================================
       FOOTER
       ========================================================== */
    footer { position: relative; padding: 44px 0; text-align: center; background: var(--black); color: rgba(255,255,255,.6); font-size: .85rem; }
    footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--pink); }
    footer img { height: 28px; margin-bottom: 14px; }

    @media (prefers-reduced-motion: reduce) {
      * { animation: none !important; transition: none !important; }
      .hero-video { display: none; }
    }
