:root{
      --bg:#f5f5f7;
      --surface:rgba(255,255,255,.78);
      --surface-solid:#ffffff;
      --text:#003B7A;
      --muted:#6e6e73;
      --line:rgba(0,0,0,.08);
      --blue:#D57B77;
      --blue-dark:#BE6662;
      --radius:28px;
      --radius-sm:18px;
      --shadow:0 20px 60px rgba(0,0,0,.08);
    }

    *{box-sizing:border-box}

    html{scroll-behavior:smooth}

    body{
      margin:0;
      font-family:"Plus Jakarta Sans", sans-serif;
      background:
        radial-gradient(circle at 8% 0%, rgba(213,123,119,.12), transparent 28%),
        radial-gradient(circle at 95% 8%, rgba(90,200,250,.12), transparent 25%),
        var(--bg);
      color:var(--text);
      -webkit-font-smoothing:antialiased;
    }

    a{text-decoration:none}

    .glass-nav{
      background:rgba(245,245,247,.78);
      backdrop-filter:saturate(180%) blur(22px);
      -webkit-backdrop-filter:saturate(180%) blur(22px);
      border-bottom:1px solid rgba(0,0,0,.05);
    }

    .navbar-brand{
      font-weight:800;
      letter-spacing:-.04em;
    }

    .nav-link{
      color:#3a3a3c!important;
      font-size:.93rem;
      font-weight:500;
    }

    .nav-link:hover{color:var(--blue)!important}

    .btn{
      border-radius:999px;
      font-weight:600;
      padding:.78rem 1.25rem;
    }

    .btn-primary{
      background:var(--blue);
      border-color:var(--blue);
    }

    .btn-primary:hover{
      background:var(--blue-dark);
      border-color:var(--blue-dark);
    }

    .hero{
      min-height:760px;
      padding:150px 0 80px;
      display:flex;
      align-items:center;
      overflow:hidden;
      position:relative;
    }

    .hero-orb{
      position:absolute;
      width:520px;
      height:520px;
      right:-120px;
      top:110px;
      border-radius:50%;
      background:linear-gradient(145deg,rgba(213,123,119,.24),rgba(90,200,250,.10));
      filter:blur(5px);
      z-index:-1;
    }

    .eyebrow{
      display:inline-flex;
      gap:.5rem;
      align-items:center;
      padding:.5rem .8rem;
      border-radius:999px;
      background:rgba(255,255,255,.72);
      border:1px solid var(--line);
      color:var(--blue);
      font-weight:700;
      font-size:.85rem;
      box-shadow:0 6px 24px rgba(0,0,0,.04);
    }

    .hero h1{
      font-size:clamp(3rem,7vw,6.6rem);
      line-height:.94;
      letter-spacing:-.065em;
      font-weight:800;
      max-width:1050px;
      margin:24px 0;
    }

    .hero .lead{
      color:var(--muted);
      font-size:clamp(1.15rem,2.2vw,1.45rem);
      max-width:740px;
      line-height:1.65;
    }

    .date-card{
      margin-top:42px;
      padding:1.2rem 1.3rem;
      border-radius:24px;
      background:rgba(255,255,255,.74);
      border:1px solid rgba(255,255,255,.8);
      box-shadow:var(--shadow);
      backdrop-filter:blur(20px);
      max-width:720px;
    }

    .date-card strong{
      display:block;
      font-size:1.05rem;
    }

    .date-card span{
      color:var(--muted);
      font-size:.92rem;
    }

    section{padding:90px 0}

    .section-title{
      max-width:780px;
      margin-bottom:42px;
    }

    .section-title .kicker{
      color:var(--blue);
      font-weight:700;
      margin-bottom:8px;
    }

    .section-title h2{
      font-size:clamp(2.2rem,4.4vw,4.2rem);
      line-height:1;
      letter-spacing:-.055em;
      font-weight:800;
      margin-bottom:18px;
    }

    .section-title p{
      color:var(--muted);
      font-size:1.08rem;
      line-height:1.7;
    }

    .mac-card{
      background:var(--surface);
      border:1px solid rgba(255,255,255,.8);
      box-shadow:0 16px 45px rgba(0,0,0,.06);
      backdrop-filter:blur(18px);
      border-radius:var(--radius);
      padding:30px;
      height:100%;
    }

    .icon-bubble{
      width:52px;
      height:52px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:#f9eeee;
      color:var(--blue);
      font-size:1.35rem;
      margin-bottom:20px;
    }

    .mac-card h3{
      font-size:1.15rem;
      font-weight:700;
      letter-spacing:-.02em;
    }

    .mac-card p{
      color:var(--muted);
      margin:0;
      line-height:1.65;
    }

    .program-shell{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(255,255,255,.8);
      border-radius:32px;
      overflow:hidden;
      box-shadow:var(--shadow);
    }

    .program-tabs{
      padding:14px;
      background:rgba(255,255,255,.65);
      border-bottom:1px solid var(--line);
    }

    .nav-pills .nav-link{
      border-radius:999px;
      padding:.78rem 1.1rem;
    }

    .nav-pills .nav-link.active{
      color:#fff!important;
      background:var(--text);
    }

    .program-item{
      display:grid;
      grid-template-columns:150px 1fr 310px;
      gap:24px;
      padding:24px 28px;
      border-bottom:1px solid var(--line);
      align-items:center;
    }

    .program-item:last-child{border-bottom:0}

    .program-time{
      font-weight:700;
      font-variant-numeric:tabular-nums;
    }

    .program-title{
      font-weight:650;
      letter-spacing:-.015em;
    }

    .program-speaker{
      color:var(--muted);
      font-size:.94rem;
    }

    .break{
      background:rgba(213,123,119,.055);
    }

    .price-card{
      position:relative;
      overflow:hidden;
    }

    .price{
      font-size:3.25rem;
      letter-spacing:-.055em;
      font-weight:800;
      margin:22px 0 6px;
    }

    .price small{
      font-size:1rem;
      font-weight:500;
      color:var(--muted);
      letter-spacing:0;
    }

    .feature-list{
      list-style:none;
      margin:28px 0 0;
      padding:0;
    }

    .feature-list li{
      display:flex;
      gap:.65rem;
      padding:.5rem 0;
      color:#424245;
    }

    .feature-list i{color:#D57B77}

    .venue-panel{
      min-height:430px;
      background:
        linear-gradient(135deg,rgba(0,59,122,.78),rgba(0,59,122,.20)),
        url('https://medicasur.com.mx/work/models/ms/Resource/10743/2/images/auditorio-ms.jpg') center/cover;
      border-radius:36px;
      color:#fff;
      padding:46px;
      display:flex;
      align-items:flex-end;
      box-shadow:var(--shadow);
    }

    .venue-panel p{color:rgba(255,255,255,.76)}

    .contact-box{
      background:#1d1d1f;
      color:#fff;
      border-radius:36px;
      padding:48px;
    }

    .form-control,.form-select{
      border:1px solid rgba(0,0,0,.09);
      border-radius:16px;
      padding:.95rem 1rem;
      box-shadow:none!important;
      background:#fff;
    }

    .contact-box .form-control{
      border-color:rgba(255,255,255,.12);
      background:#2c2c2e;
      color:#fff;
    }

    .contact-box .form-control::placeholder{color:#98989d}

    footer{
      padding:40px 0 56px;
      color:var(--muted);
      font-size:.9rem;
    }


    .sponsors-grid{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:18px;
    }

    .sponsor-card{
      min-height:138px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:24px;
      background:rgba(255,255,255,.82);
      border:1px solid rgba(0,0,0,.055);
      border-radius:24px;
      box-shadow:0 12px 35px rgba(0,0,0,.045);
      transition:transform .2s ease, box-shadow .2s ease;
    }

    .sponsor-card:hover{
      transform:translateY(-3px);
      box-shadow:0 18px 45px rgba(0,0,0,.075);
    }

    .sponsor-card img{
      display:block;
      width:100%;
      max-width:190px;
      max-height:78px;
      object-fit:contain;
    }

    .hero-visual{
      margin-top:42px;
      border-radius:32px;
      overflow:hidden;
      background:linear-gradient(135deg,#fff,#f7eeee);
      border:1px solid rgba(0,0,0,.055);
      box-shadow:var(--shadow);
    }

    .hero-visual-inner{
      min-height:220px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:36px;
      text-align:center;
    }

    .hero-visual-mark{
      width:86px;
      height:86px;
      display:grid;
      place-items:center;
      border-radius:26px;
      margin:0 auto 18px;
      background:var(--blue);
      color:#fff;
      font-size:2rem;
      box-shadow:0 15px 35px rgba(213,123,119,.28);
    }

    @media(max-width:991.98px){
      .sponsors-grid{grid-template-columns:repeat(3,1fr)}
    }

    @media(max-width:575.98px){
      .sponsors-grid{grid-template-columns:repeat(2,1fr);gap:12px}
      .sponsor-card{min-height:110px;padding:18px;border-radius:19px}
    }

    @media(max-width:991.98px){
      .hero{min-height:auto;padding-top:125px}
      .program-item{grid-template-columns:125px 1fr}
      .program-speaker{grid-column:2}
    }

    @media(max-width:767.98px){
      section{padding:68px 0}
      .hero h1{font-size:3.4rem}
      .program-item{
        grid-template-columns:1fr;
        gap:8px;
        padding:21px;
      }
      .program-speaker{grid-column:auto}
      .program-time{color:var(--blue)}
      .contact-box,.venue-panel{border-radius:26px;padding:28px}
    }
  
    .nav-logo{
      display:block;
      width:auto;
      height:48px;
      object-fit:contain;
    }

    .navbar-toggler i{color:#D57B77}

    h1,h2,h3,.navbar-brand,.program-title,.program-time{
      color:#003B7A;
    }

    .contact-box h2{color:#fff}

    .sponsors-viewport{
      overflow:hidden;
      padding:10px 2px 24px;
    }

    .sponsors-track{
      display:flex;
      gap:18px;
      transition:transform .55s cubic-bezier(.22,.61,.36,1);
      will-change:transform;
    }

    .sponsors-track .sponsor-card{
      flex:0 0 calc((100% - 90px)/6);
      min-width:0;
    }

    .sponsor-controls{
      display:flex;
      justify-content:center;
      align-items:center;
      gap:10px;
      margin-top:8px;
    }

    .sponsor-arrow{
      width:42px;
      height:42px;
      border:0;
      border-radius:50%;
      background:#fff;
      color:#D57B77;
      box-shadow:0 8px 24px rgba(0,0,0,.07);
      display:grid;
      place-items:center;
      transition:.2s ease;
    }

    .sponsor-arrow:hover{
      background:#D57B77;
      color:#fff;
      transform:translateY(-2px);
    }

    .contact-box{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 86% 8%,
          rgba(255,255,255,.34) 0%,
          rgba(255,255,255,.11) 24%,
          transparent 48%),
        #D57B77 !important;
      color:#fff;
    }

    .contact-box::after{
      content:"";
      position:absolute;
      width:220px;
      height:220px;
      right:-75px;
      top:-90px;
      border-radius:50%;
      background:rgba(255,255,255,.12);
      filter:blur(8px);
      pointer-events:none;
    }

    .contact-box .form-control{
      background:rgba(255,255,255,.94);
      border-color:rgba(255,255,255,.45);
      color:#003B7A;
    }

    .contact-box .form-control::placeholder{
      color:#8d7775;
    }

    @media(max-width:991.98px){
      .sponsors-track .sponsor-card{
        flex-basis:calc((100% - 36px)/3);
      }
      .nav-logo{height:42px}
    }

    @media(max-width:575.98px){
      .sponsors-track .sponsor-card{
        flex-basis:calc((100% - 12px)/2);
      }
    }

  
    .mobile-nav-actions{
      display:flex;
      align-items:center;
      gap:14px;
      margin-left:auto;
    }

    .mobile-ticket{
      width:38px;
      height:38px;
      display:none;
      align-items:center;
      justify-content:center;
      border-radius:50%;
      color:#D57B77;
      transition:transform .2s ease, background .2s ease;
    }

    .mobile-ticket i{
      display:block;
      font-size:1.55rem;
      line-height:1;
      transform:rotate(-32deg);
    }

    .mobile-ticket:hover{
      background:rgba(213,123,119,.10);
      color:#BE6662;
      transform:translateY(-1px);
    }

    @media(max-width:991.98px){
      .mobile-ticket{display:flex}
    }

  
    .mobile-nav-actions{
      gap:22px !important;
    }

    .mobile-ticket{
      width:46px !important;
      height:46px !important;
      display:none;
      align-items:center;
      justify-content:center;
      border-radius:50%;
      background:rgba(213,123,119,.16) !important;
      color:#D57B77 !important;
      position:relative;
      isolation:isolate;
      box-shadow:0 6px 18px rgba(213,123,119,.12);
    }

    .mobile-ticket::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:50%;
      background:rgba(213,123,119,.18);
      z-index:-1;
      animation:ticketPulse 2.3s ease-out infinite;
    }

    .mobile-ticket i{
      font-size:1.85rem !important;
      transform:rotate(-32deg);
    }

    .navbar-toggler i{
      font-size:2.15rem !important;
      color:#D57B77;
    }

    @keyframes ticketPulse{
      0%{
        transform:scale(1);
        opacity:.65;
      }
      65%{
        transform:scale(1.35);
        opacity:0;
      }
      100%{
        transform:scale(1.35);
        opacity:0;
      }
    }

    @media(max-width:991.98px){
      .mobile-ticket{display:flex}
    }

    @media (prefers-reduced-motion: reduce){
      .mobile-ticket::before{
        animation:none;
      }
    }

  
    /* Ajustes V6 */
    .nav-link{
      color:#003B7A !important;
    }

    .nav-link:hover,
    .nav-link:focus{
      color:#D57B77 !important;
    }

    .mobile-ticket i{
      font-size:1.58rem !important;
    }

    .mobile-ticket::before{
      background:rgba(213,123,119,.42) !important;
      box-shadow:0 0 0 0 rgba(213,123,119,.28);
    }

    @keyframes ticketPulse{
      0%{
        transform:scale(1);
        opacity:.95;
        box-shadow:0 0 0 0 rgba(213,123,119,.32);
      }
      70%{
        transform:scale(1.45);
        opacity:0;
        box-shadow:0 0 0 12px rgba(213,123,119,0);
      }
      100%{
        transform:scale(1.45);
        opacity:0;
        box-shadow:0 0 0 12px rgba(213,123,119,0);
      }
    }

  
    /* Ajustes V7 */
    @media(max-width:991.98px){
      .navbar-collapse{
        padding-top:22px;
      }

      #mainNav .navbar-nav{
        gap:10px !important;
        padding-top:10px;
      }

      #mainNav .nav-link{
        padding:.72rem 0 !important;
        font-size:1.02rem;
      }

      #mainNav .nav-item:last-child{
        margin-top:8px;
      }
    }

  
    /* V8: 3 patrocinadores visibles también en móvil */
    @media(max-width:575.98px){
      .sponsors-track .sponsor-card{
        flex-basis:calc((100% - 36px)/3) !important;
        min-height:92px;
        padding:12px;
      }

      .sponsors-track .sponsor-card img{
        max-height:55px;
      }
    }

  
    /* V9: slider superior dentro de un solo cuadro blanco */
    .hero-sponsors{
      margin-top:42px;
      padding:24px 22px 18px;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(0,0,0,.055);
      border-radius:32px;
      box-shadow:var(--shadow);
      backdrop-filter:blur(18px);
    }

    .hero-sponsors-label{
      text-align:center;
      color:#003B7A;
      font-size:.82rem;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:10px;
    }

    .hero-sponsors .sponsors-viewport{
      padding:8px 0 12px;
    }

    .hero-sponsors .sponsor-card{
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
      border-radius:0 !important;
      min-height:92px;
      padding:14px !important;
    }

    .hero-sponsors .sponsor-card:hover{
      transform:none !important;
      box-shadow:none !important;
    }

    .hero-sponsors .sponsor-card img{
      max-height:62px;
      max-width:150px;
      mix-blend-mode:multiply;
    }

    .hero-sponsors .sponsor-controls{
      margin-top:0;
    }

    @media(max-width:575.98px){
      .hero-sponsors{
        padding:18px 14px 14px;
        border-radius:25px;
      }

      .hero-sponsors .sponsor-card{
        min-height:76px !important;
        padding:8px !important;
      }

      .hero-sponsors .sponsor-card img{
        max-height:48px !important;
        max-width:100%;
      }
    }

  
    /* V10 */
    .footer-link{color:#003B7A;text-decoration:none;font-weight:600}
    .footer-link:hover{color:#D57B77}

    .hero-sponsors{
      padding:18px 22px !important;
    }
    .hero-sponsors .sponsors-viewport{
      padding:0 !important;
      touch-action:pan-y;
      cursor:grab;
    }
    .hero-sponsors .sponsors-viewport:active{cursor:grabbing}

    .program-tabs .nav{
      flex-wrap:nowrap !important;
      width:100%;
    }
    .program-tabs .nav-item{
      flex:1 1 0;
      min-width:0;
    }
    .program-tabs .nav-link{
      width:100%;
      white-space:nowrap;
      text-align:center;
    }
    @media(max-width:575.98px){
      .program-tabs{padding:9px !important}
      .program-tabs .nav{gap:4px !important}
      .program-tabs .nav-link{
        padding:.62rem .25rem !important;
        font-size:.76rem !important;
      }
    }

    .price-icon{color:#D57B77}

    .venue-card{
      display:grid;
      grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);
      min-height:430px;
      border-radius:36px;
      overflow:hidden;
      background:#fff;
      box-shadow:var(--shadow);
      border:1px solid rgba(0,0,0,.05);
    }
    .venue-photo{
      min-height:430px;
      background:url('https://medicasur.com.mx/work/models/ms/Resource/10743/2/images/auditorio-ms.jpg') center/cover no-repeat;
    }
    .venue-info{
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:42px 34px;
      background:#fff;
    }
    .venue-info .kicker{
      color:#D57B77;
      font-weight:700;
      margin-bottom:12px;
    }
    .venue-info h2{
      font-size:2rem;
      line-height:1.05;
      letter-spacing:-.04em;
      margin-bottom:20px;
    }
    .venue-info p{
      color:#6e6e73;
      line-height:1.75;
      margin:0;
    }
    @media(max-width:767.98px){
      .venue-card{grid-template-columns:1fr;min-height:0;border-radius:26px}
      .venue-photo{min-height:260px}
      .venue-info{padding:28px}
    }

  
    /* V11 */
    .doctor-price-icon{
      color:#D57B77;
    }

    .student-price-icon{
      color:#B98B88;
    }

    .maps-btn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      align-self:flex-start;
      margin-top:24px;
      padding:.72rem 1rem;
      border-radius:999px;
      background:rgba(213,123,119,.10);
      color:#D57B77;
      font-weight:700;
      font-size:.88rem;
      transition:.2s ease;
    }

    .maps-btn:hover{
      background:#D57B77;
      color:#fff;
      transform:translateY(-2px);
    }

    .maps-btn .bi-arrow-up-right{
      font-size:.78rem;
    }

    .site-footer{
      padding:54px 0 42px;
      border-top:1px solid rgba(0,59,122,.08);
      background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.88));
    }

    .footer-inner{
      text-align:center;
    }

    .footer-logo{
      display:block;
      width:auto;
      height:44px;
      max-width:180px;
      object-fit:contain;
      margin:0 auto 22px;
      opacity:.96;
    }

    .footer-meta{
      color:#7a7a80;
      font-size:.82rem;
      letter-spacing:.005em;
    }

    .footer-meta a{
      color:#7a7a80;
      text-decoration:none;
      transition:color .2s ease;
    }

    .footer-meta a:hover{
      color:#D57B77;
    }

    .footer-dot{
      padding:0 5px;
      color:#D57B77;
    }

    @media(max-width:575.98px){
      .footer-logo{
        height:38px;
        margin-bottom:18px;
      }

      .site-footer{
        padding:42px 0 34px;
      }
    }

  
    /* V12 final pending changes */
    .mobile-ticket{
      background:rgba(0,59,122,.12) !important;
      color:#003B7A !important;
      box-shadow:0 6px 18px rgba(0,59,122,.12) !important;
    }

    .mobile-ticket::before{
      background:rgba(0,59,122,.34) !important;
      box-shadow:0 0 0 0 rgba(0,59,122,.26) !important;
    }

    .navbar-toggler i{
      color:#003B7A !important;
    }

    @keyframes ticketPulse{
      0%{
        transform:scale(1);
        opacity:.95;
        box-shadow:0 0 0 0 rgba(0,59,122,.30);
      }
      70%{
        transform:scale(1.45);
        opacity:0;
        box-shadow:0 0 0 12px rgba(0,59,122,0);
      }
      100%{
        transform:scale(1.45);
        opacity:0;
        box-shadow:0 0 0 12px rgba(0,59,122,0);
      }
    }

  
    /* V13 */
    @media(min-width:992px){
      #mainNav .navbar-nav{
        gap:1.35rem;
      }
    }

    @media(max-width:991.98px){
      #mainNav .navbar-nav{
        gap:14px !important;
      }
    }

    .iva-note{
      margin-top:18px;
      text-align:center;
      color:#6e6e73;
      font-size:.9rem;
      font-weight:600;
      letter-spacing:.02em;
    }

    .enrollment-note{
      max-width:860px;
      margin-left:auto;
      margin-right:auto;
      line-height:1.6;
    }

  
    /* V16 */
    .maps-btn{
      background:#D57B77 !important;
      color:#fff !important;
      box-shadow:0 8px 20px rgba(213,123,119,.18);
    }
    .maps-btn:hover{
      background:#BE6662 !important;
      color:#fff !important;
    }
    .footer-logo{
      height:52px !important;
      max-width:210px !important;
    }
    @media(max-width:575.98px){
      .footer-logo{
        height:45px !important;
      }
    }

  
    /* V17 */
    .footer-logo{
      height:60px !important;
      max-width:240px !important;
    }

    .enrollment-note{
      transform:translateY(-10px);
    }

    /* Ticket + hamburguesa nuevamente en rosa Gineco */
    .mobile-ticket{
      background:rgba(213,123,119,.16) !important;
      color:#D57B77 !important;
      box-shadow:0 6px 18px rgba(213,123,119,.14) !important;
    }

    .mobile-ticket::before{
      background:rgba(213,123,119,.42) !important;
      box-shadow:0 0 0 0 rgba(213,123,119,.28) !important;
    }

    .navbar-toggler i{
      color:#D57B77 !important;
    }

    @keyframes ticketPulse{
      0%{
        transform:scale(1);
        opacity:.95;
        box-shadow:0 0 0 0 rgba(213,123,119,.32);
      }
      70%{
        transform:scale(1.45);
        opacity:0;
        box-shadow:0 0 0 12px rgba(213,123,119,0);
      }
      100%{
        transform:scale(1.45);
        opacity:0;
        box-shadow:0 0 0 12px rgba(213,123,119,0);
      }
    }

    @media(max-width:575.98px){
      .footer-logo{
        height:52px !important;
      }
    }

  
    /* V19 */
    .program-tabs .nav-link.active{
      background:#D57B77 !important;
      color:#fff !important;
    }

    .enrollment-note{
      transform:translateY(10px) !important;
    }

  
    /* V20 */
    .iva-general-note{
      margin-top:14px;
      text-align:center;
      color:#6e6e73;
      font-size:.9rem;
      font-weight:600;
      letter-spacing:.02em;
    }

  
    /* V21 */
    .enrollment-note{
      font-weight:400 !important;
    }

  
    /* Banner principal */
    .hero-banner{
      width:100%;
      margin:0 0 32px;
      border-radius:32px;
      overflow:hidden;
    }

    .hero-banner img{
      display:block;
      width:100%;
      height:auto;
    }

    @media(max-width:575.98px){
      .hero-banner{
        border-radius:22px;
        margin-bottom:24px;
      }
    }

  
    /* V26: tipografía global */
    html, body, button, input, textarea, select{
      font-family:"Plus Jakarta Sans", sans-serif !important;
    }

  
    /* V27: fondo premium en tonos blush */
    body{
      background:
        radial-gradient(circle at 8% 10%, rgba(213,123,119,.10) 0, rgba(213,123,119,0) 28%),
        radial-gradient(circle at 92% 18%, rgba(213,123,119,.075) 0, rgba(213,123,119,0) 24%),
        radial-gradient(circle at 55% 78%, rgba(213,123,119,.045) 0, rgba(213,123,119,0) 30%),
        linear-gradient(180deg,#FCFAFA 0%,#F7F3F3 48%,#FBFAFA 100%) !important;
      background-attachment:fixed;
    }

    /* Mantener tarjetas blancas más nítidas sobre el fondo */
    .mac-card,
    .program-shell,
    .hero-sponsors,
    .venue-card{
      background:rgba(255,255,255,.90);
      border-color:rgba(213,123,119,.08);
    }

    /* Sutil respiración entre secciones sin bloques pesados */
    section{
      position:relative;
    }

    section:nth-of-type(even)::before{
      content:"";
      position:absolute;
      inset:7% 0;
      background:linear-gradient(90deg,
        rgba(213,123,119,0),
        rgba(213,123,119,.022),
        rgba(213,123,119,0));
      pointer-events:none;
      z-index:-1;
    }

  
    /* V28: fondo blush más presente + círculos en movimiento */
    body{
      position:relative;
      background:
        linear-gradient(180deg,#F2DDDC 0%,#EBCFCF 46%,#F1DEDD 100%) !important;
      background-attachment:fixed;
      overflow-x:hidden;
    }

    body::before,
    body::after{
      content:"";
      position:fixed;
      border-radius:50%;
      pointer-events:none;
      z-index:-2;
      filter:blur(8px);
      opacity:.72;
    }

    body::before{
      width:440px;
      height:440px;
      left:-130px;
      top:90px;
      background:radial-gradient(circle,
        rgba(213,123,119,.38) 0%,
        rgba(213,123,119,.18) 46%,
        rgba(213,123,119,0) 72%);
      animation:floatRoseOne 18s ease-in-out infinite alternate;
    }

    body::after{
      width:520px;
      height:520px;
      right:-170px;
      top:42%;
      background:radial-gradient(circle,
        rgba(190,102,98,.28) 0%,
        rgba(213,123,119,.14) 48%,
        rgba(213,123,119,0) 72%);
      animation:floatRoseTwo 23s ease-in-out infinite alternate;
    }

    /* Círculo adicional mediante pseudo elemento del contenido principal */
    main::before{
      content:"";
      position:fixed;
      width:360px;
      height:360px;
      left:38%;
      bottom:-120px;
      border-radius:50%;
      background:radial-gradient(circle,
        rgba(255,255,255,.34) 0%,
        rgba(255,255,255,.12) 52%,
        rgba(255,255,255,0) 75%);
      pointer-events:none;
      z-index:-2;
      animation:floatRoseThree 20s ease-in-out infinite alternate;
    }

    @keyframes floatRoseOne{
      0%{transform:translate3d(0,0,0) scale(1)}
      50%{transform:translate3d(85px,65px,0) scale(1.08)}
      100%{transform:translate3d(35px,170px,0) scale(.96)}
    }

    @keyframes floatRoseTwo{
      0%{transform:translate3d(0,0,0) scale(1)}
      50%{transform:translate3d(-90px,-80px,0) scale(1.10)}
      100%{transform:translate3d(-40px,95px,0) scale(.94)}
    }

    @keyframes floatRoseThree{
      0%{transform:translate3d(0,0,0) scale(1)}
      50%{transform:translate3d(80px,-100px,0) scale(1.12)}
      100%{transform:translate3d(-55px,-45px,0) scale(.98)}
    }

    /* Tarjetas con mejor contraste sobre el fondo */
    .mac-card,
    .program-shell,
    .hero-sponsors,
    .venue-card{
      background:rgba(255,255,255,.93) !important;
      border-color:rgba(213,123,119,.12) !important;
      box-shadow:0 18px 50px rgba(99,49,47,.09) !important;
    }

    @media (prefers-reduced-motion: reduce){
      body::before,
      body::after,
      main::before{
        animation:none !important;
      }
    }

  
    /* V29: blush un poco más claro + círculos más visibles y variados */
    body{
      background:
        linear-gradient(180deg,#F5E4E3 0%,#F0DAD9 46%,#F6E7E6 100%) !important;
    }

    body::before{
      width:500px !important;
      height:500px !important;
      left:-145px !important;
      background:radial-gradient(circle,
        rgba(213,123,119,.48) 0%,
        rgba(213,123,119,.23) 45%,
        rgba(213,123,119,0) 72%) !important;
      filter:blur(5px) !important;
      opacity:.82 !important;
      animation:floatRoseOne 17s ease-in-out infinite alternate !important;
    }

    body::after{
      width:310px !important;
      height:310px !important;
      right:-65px !important;
      background:radial-gradient(circle,
        rgba(190,102,98,.42) 0%,
        rgba(213,123,119,.21) 47%,
        rgba(213,123,119,0) 72%) !important;
      filter:blur(4px) !important;
      opacity:.78 !important;
      animation:floatRoseTwo 21s ease-in-out infinite alternate !important;
    }

    main::before{
      width:220px !important;
      height:220px !important;
      left:28% !important;
      bottom:-40px !important;
      background:radial-gradient(circle,
        rgba(213,123,119,.36) 0%,
        rgba(213,123,119,.15) 50%,
        rgba(213,123,119,0) 74%) !important;
      opacity:.82;
      animation:floatRoseThree 15s ease-in-out infinite alternate !important;
    }

    .bg-orb{
      position:fixed;
      border-radius:50%;
      pointer-events:none;
      z-index:-2;
    }

    .bg-orb-1{
      width:145px;
      height:145px;
      left:9%;
      top:58%;
      background:radial-gradient(circle,
        rgba(213,123,119,.42) 0%,
        rgba(213,123,119,.18) 52%,
        rgba(213,123,119,0) 74%);
      animation:floatOrbSmall 13s ease-in-out infinite alternate;
    }

    .bg-orb-2{
      width:390px;
      height:390px;
      right:20%;
      top:18%;
      background:radial-gradient(circle,
        rgba(255,255,255,.42) 0%,
        rgba(213,123,119,.16) 50%,
        rgba(213,123,119,0) 75%);
      animation:floatOrbMedium 25s ease-in-out infinite alternate;
    }

    @keyframes floatOrbSmall{
      0%{transform:translate3d(0,0,0) scale(1)}
      45%{transform:translate3d(95px,-75px,0) scale(1.18)}
      100%{transform:translate3d(-25px,90px,0) scale(.92)}
    }

    @keyframes floatOrbMedium{
      0%{transform:translate3d(0,0,0) scale(1)}
      50%{transform:translate3d(-110px,80px,0) scale(.94)}
      100%{transform:translate3d(45px,165px,0) scale(1.10)}
    }

    @media (prefers-reduced-motion: reduce){
      .bg-orb{
        animation:none !important;
      }
    }

  
    /* V30: todos los círculos rosas, difuminados y en movimiento */
    body::before{
      background:radial-gradient(circle,
        rgba(213,123,119,.50) 0%,
        rgba(213,123,119,.26) 42%,
        rgba(213,123,119,.10) 62%,
        rgba(213,123,119,0) 78%) !important;
      filter:blur(6px) !important;
      animation:floatRoseOne 17s ease-in-out infinite alternate !important;
    }

    body::after{
      background:radial-gradient(circle,
        rgba(213,123,119,.44) 0%,
        rgba(213,123,119,.22) 44%,
        rgba(213,123,119,.08) 62%,
        rgba(213,123,119,0) 78%) !important;
      filter:blur(5px) !important;
      animation:floatRoseTwo 20s ease-in-out infinite alternate !important;
    }

    main::before{
      background:radial-gradient(circle,
        rgba(213,123,119,.38) 0%,
        rgba(213,123,119,.18) 46%,
        rgba(213,123,119,.07) 64%,
        rgba(213,123,119,0) 79%) !important;
      filter:blur(5px) !important;
      animation:floatRoseThree 14s ease-in-out infinite alternate !important;
    }

    .bg-orb-1{
      background:radial-gradient(circle,
        rgba(213,123,119,.46) 0%,
        rgba(213,123,119,.20) 48%,
        rgba(213,123,119,.08) 64%,
        rgba(213,123,119,0) 80%) !important;
      filter:blur(4px);
      animation:floatOrbSmall 12s ease-in-out infinite alternate !important;
    }

    .bg-orb-2{
      background:radial-gradient(circle,
        rgba(213,123,119,.34) 0%,
        rgba(213,123,119,.17) 48%,
        rgba(213,123,119,.07) 65%,
        rgba(213,123,119,0) 80%) !important;
      filter:blur(7px);
      animation:floatOrbMedium 24s ease-in-out infinite alternate !important;
    }

    /* movimiento adicional para que ninguno se perciba estático */
    @keyframes floatRoseOne{
      0%{transform:translate3d(0,0,0) scale(1)}
      33%{transform:translate3d(90px,55px,0) scale(1.10)}
      66%{transform:translate3d(35px,145px,0) scale(.95)}
      100%{transform:translate3d(120px,95px,0) scale(1.04)}
    }

    @keyframes floatRoseTwo{
      0%{transform:translate3d(0,0,0) scale(1)}
      35%{transform:translate3d(-80px,-60px,0) scale(1.08)}
      70%{transform:translate3d(-35px,80px,0) scale(.93)}
      100%{transform:translate3d(-110px,35px,0) scale(1.02)}
    }

    @keyframes floatRoseThree{
      0%{transform:translate3d(0,0,0) scale(1)}
      40%{transform:translate3d(75px,-90px,0) scale(1.14)}
      75%{transform:translate3d(-40px,-35px,0) scale(.94)}
      100%{transform:translate3d(55px,-120px,0) scale(1.06)}
    }

    @keyframes floatOrbSmall{
      0%{transform:translate3d(0,0,0) scale(1)}
      45%{transform:translate3d(105px,-70px,0) scale(1.20)}
      100%{transform:translate3d(-30px,85px,0) scale(.90)}
    }

    @keyframes floatOrbMedium{
      0%{transform:translate3d(0,0,0) scale(1)}
      50%{transform:translate3d(-120px,85px,0) scale(.92)}
      100%{transform:translate3d(60px,155px,0) scale(1.12)}
    }

  
    /* V31: un solo círculo grande rebotando por toda la pantalla */
    body::before,
    body::after,
    main::before,
    .bg-orb-2{
      display:none !important;
    }

    .bg-orb-1{
      display:block !important;
      position:fixed !important;
      width:520px !important;
      height:520px !important;
      left:0 !important;
      top:0 !important;
      border-radius:50% !important;
      pointer-events:none !important;
      z-index:-2 !important;
      opacity:.82 !important;
      filter:blur(7px) !important;
      background:radial-gradient(circle,
        rgba(213,123,119,.46) 0%,
        rgba(213,123,119,.24) 42%,
        rgba(213,123,119,.10) 62%,
        rgba(213,123,119,0) 80%) !important;
      animation:bounceRoseOrb 18s linear infinite alternate !important;
    }

    @keyframes bounceRoseOrb{
      0%   {transform:translate3d(-120px,-120px,0)}
      18%  {transform:translate3d(calc(100vw - 390px),70px,0)}
      38%  {transform:translate3d(calc(100vw - 470px),calc(100vh - 390px),0)}
      58%  {transform:translate3d(80px,calc(100vh - 430px),0)}
      78%  {transform:translate3d(42vw,22vh,0)}
      100% {transform:translate3d(calc(100vw - 410px),calc(100vh - 470px),0)}
    }

    @media(max-width:767.98px){
      .bg-orb-1{
        width:340px !important;
        height:340px !important;
      }

      @keyframes bounceRoseOrb{
        0%   {transform:translate3d(-100px,-80px,0)}
        22%  {transform:translate3d(calc(100vw - 250px),70px,0)}
        44%  {transform:translate3d(calc(100vw - 280px),calc(100vh - 270px),0)}
        66%  {transform:translate3d(25px,calc(100vh - 300px),0)}
        82%  {transform:translate3d(38vw,24vh,0)}
        100% {transform:translate3d(calc(100vw - 260px),calc(100vh - 310px),0)}
      }
    }

  
    /* V32: fondo limpio, sin círculos ni movimiento */
    body::before,
    body::after,
    main::before,
    .bg-orb,
    .bg-orb-1,
    .bg-orb-2{
      display:none !important;
      animation:none !important;
    }

  
    /* V33: fondo limpio y rosa un poco más presente */
    .hero-orb,
    .hero-orb::before,
    .hero-orb::after{
      display:none !important;
      content:none !important;
      background:none !important;
      animation:none !important;
    }

    body{
      background:linear-gradient(
        180deg,
        #F2DDDC 0%,
        #EDD2D1 48%,
        #F3DFDE 100%
      ) !important;
      background-attachment:fixed;
    }

  
    /* V34: banner clickeable + fondo rosa con blur suave */
    .hero-banner-link{
      display:block;
      width:100%;
    }

    .hero-banner-link img{
      display:block;
      width:100%;
      height:auto;
    }

    body{
      background:
        radial-gradient(circle at 18% 10%,
          rgba(213,123,119,.34) 0%,
          rgba(213,123,119,.16) 26%,
          rgba(213,123,119,0) 48%),
        radial-gradient(circle at 82% 34%,
          rgba(190,102,98,.24) 0%,
          rgba(213,123,119,.11) 28%,
          rgba(213,123,119,0) 52%),
        linear-gradient(
          180deg,
          #EFCFCE 0%,
          #E9C5C4 48%,
          #F0D3D2 100%
        ) !important;
      background-attachment:fixed;
    }

    body::before{
      content:"";
      display:block !important;
      position:fixed;
      inset:-15%;
      pointer-events:none;
      z-index:-3;
      background:
        radial-gradient(circle at 32% 28%,
          rgba(255,255,255,.24) 0%,
          rgba(255,255,255,.10) 24%,
          rgba(255,255,255,0) 48%),
        radial-gradient(circle at 68% 72%,
          rgba(213,123,119,.20) 0%,
          rgba(213,123,119,.08) 30%,
          rgba(213,123,119,0) 55%);
      filter:blur(38px);
      transform:scale(1.06);
    }

  
    /* V35: mismo fondo, apenas más claro */
    body{
      background:
        radial-gradient(circle at 18% 10%,
          rgba(213,123,119,.27) 0%,
          rgba(213,123,119,.13) 26%,
          rgba(213,123,119,0) 48%),
        radial-gradient(circle at 82% 34%,
          rgba(190,102,98,.19) 0%,
          rgba(213,123,119,.09) 28%,
          rgba(213,123,119,0) 52%),
        linear-gradient(
          180deg,
          #F3DAD9 0%,
          #EFD2D1 48%,
          #F4DEDD 100%
        ) !important;
      background-attachment:fixed;
    }

  
    /* V37: opción activa del menú en rosa */
    #mainNav .nav-link.active{
      color:#D57B77 !important;
      font-weight:600;
    }

  
    /* V38: contacto centrado sin formulario */
    #contacto .contact-clean{
      max-width:760px;
      margin:0 auto;
      padding:68px 28px;
    }

    #contacto .contact-clean .kicker{
      margin-bottom:12px;
      text-align:center;
    }

    #contacto .contact-clean h2{
      margin-bottom:16px;
      text-align:center;
    }

    #contacto .contact-clean p{
      max-width:620px;
      margin:0 auto 28px;
      text-align:center;
      line-height:1.7;
    }

    .contact-message-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      border-radius:999px;
      padding:.82rem 1.25rem;
      font-weight:700;
    }

  
    /* V39: Contacto rosa sólido */
    #contacto{
      background:#D57B77 !important;
    }

    #contacto .contact-clean,
    #contacto .contact-clean .kicker,
    #contacto .contact-clean h2,
    #contacto .contact-clean p{
      color:#fff !important;
    }

    #contacto .contact-message-btn{
      background:#fff !important;
      border-color:#fff !important;
      color:#D57B77 !important;
      box-shadow:0 10px 26px rgba(93,40,38,.12);
    }

    #contacto .contact-message-btn i,
    #contacto .contact-message-btn span{
      color:#D57B77 !important;
    }

    #contacto .contact-message-btn:hover{
      background:#fff !important;
      color:#BE6662 !important;
      transform:translateY(-2px);
    }

  
    /* V40: Contacto como tarjeta, no a todo lo ancho */
    #contacto{
      background:transparent !important;
    }

    #contacto .container{
      background:#D57B77 !important;
      border-radius:32px;
      overflow:hidden;
      box-shadow:0 18px 50px rgba(99,49,47,.10);
    }

    #contacto .contact-clean{
      padding:68px 34px;
    }

    @media(max-width:767.98px){
      #contacto .container{
        width:calc(100% - 30px);
        border-radius:24px;
      }

      #contacto .contact-clean{
        padding:52px 24px;
      }
    }

  
    /* V44: banner responsive */
    .hero-banner-link picture{
      display:block;
      width:100%;
    }

    .hero-banner-link picture img{
      display:block;
      width:100%;
      height:auto;
    }

  
    /* V45: programa temporalmente oculto, conservado para desarrollo posterior */
    .program-coming-soon{
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:180px;
      padding:40px 20px;
      text-align:center;
      color:#D57B77;
      font-size:1.15rem;
      font-weight:600;
      letter-spacing:.01em;
    }

  
    /* V47: sponsors ocultos, countdown visible */
    .countdown-card{
      margin-top:42px;
      padding:30px 28px;
      border-radius:32px;
      background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 32%),
        #D57B77;
      box-shadow:0 18px 50px rgba(99,49,47,.12);
      overflow:hidden;
    }

    .countdown-kicker{
      color:#fff;
      text-align:center;
      font-size:.88rem;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
      opacity:.9;
      margin-bottom:16px;
    }

    .countdown-grid{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:22px;
      color:#fff;
    }

    .countdown-unit{
      min-width:110px;
      text-align:center;
    }

    .countdown-number{
      display:block;
      color:#fff;
      font-size:clamp(2.2rem,5vw,4.4rem);
      line-height:1;
      font-weight:700;
      letter-spacing:-.05em;
      font-variant-numeric:tabular-nums;
    }

    .countdown-label{
      display:block;
      margin-top:8px;
      color:rgba(255,255,255,.88);
      font-size:.82rem;
      font-weight:500;
    }

    .countdown-separator{
      color:rgba(255,255,255,.6);
      font-size:clamp(1.8rem,4vw,3.4rem);
      font-weight:400;
      transform:translateY(-10px);
    }

    @media(max-width:767.98px){
      .countdown-card{
        margin-top:28px;
        padding:24px 12px 22px;
        border-radius:24px;
      }

      .countdown-grid{gap:5px}
      .countdown-unit{min-width:0;flex:1 1 0}
      .countdown-number{font-size:clamp(1.65rem,8vw,2.4rem)}
      .countdown-label{font-size:.67rem}
      .countdown-separator{font-size:1.45rem;transform:translateY(-8px)}
    }

  
    /* V48: countdown blanco, más compacto y texto rosa */
    .countdown-card{
      background:#fff !important;
      padding:22px 24px !important;
      border-radius:32px !important;
      box-shadow:0 18px 50px rgba(99,49,47,.09) !important;
      border:1px solid rgba(213,123,119,.10);
    }

    .countdown-kicker{
      color:#D57B77 !important;
      font-size:.72rem !important;
      margin-bottom:12px !important;
      opacity:1 !important;
    }

    .countdown-grid{
      color:#D57B77 !important;
      gap:16px !important;
    }

    .countdown-unit{
      min-width:90px !important;
    }

    .countdown-number{
      color:#D57B77 !important;
      font-size:clamp(1.7rem,3.5vw,3rem) !important;
      font-weight:700 !important;
    }

    .countdown-label{
      color:rgba(213,123,119,.82) !important;
      font-size:.72rem !important;
      margin-top:6px !important;
    }

    .countdown-separator{
      color:rgba(213,123,119,.42) !important;
      font-size:clamp(1.35rem,3vw,2.3rem) !important;
      transform:translateY(-8px) !important;
    }

    @media(max-width:767.98px){
      .countdown-card{
        padding:19px 10px 18px !important;
        border-radius:24px !important;
      }

      .countdown-grid{
        gap:3px !important;
      }

      .countdown-unit{
        min-width:0 !important;
      }

      .countdown-number{
        font-size:clamp(1.35rem,7vw,2rem) !important;
      }

      .countdown-label{
        font-size:.61rem !important;
      }

      .countdown-separator{
        font-size:1.15rem !important;
      }
    }

/* Utilidades */
.is-hidden{
  display:none !important;
}

/* V49: Programa al mismo ancho que los demás bloques */
#programa .program-shell{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

