@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
:root{
    --ink:#1E2A45;
    --ink-soft:#334066;
    --wine:#7B3B4C;
    --wine-deep:#5E2C3A;
    --sage:#54705F;
    --paper:#eaebf2;
    --paper-2:#f5f5f9;
    --line:#bdcfd2;
    --text:#22242B;
    --text-soft:#585B63;
    --wave-y:60px;
    --ama:#E8BA34;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Open Sans', sans-serif;
    color:var(--text);
    background:var(--paper);
    line-height:1.65;
  }
  h1,h2,h3,h4,.display-font{
    font-family:'Noto Sans', sans-serif;
    letter-spacing:-0.01em;
  }
  .eyebrow{
    font-family:'Noto Sans', sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--wine);
  }
  a {
    color:var(--wine);
  }
  .btn-wine{
    background:var(--wine);
    border:1px solid var(--wine);
    color:#fff;
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    letter-spacing:.01em;
    padding:.85rem 1.9rem;
    border-radius:2px;
    transition:all .25s ease;
  }
  .btn-wine:hover{ 
    background:var(--ama); 
    color:#000; 
    transform:translateY(-1px); 
  }
  .btn-ink{
    background:var(--ink);
    border:1px solid var(--ink);
    color:#fff;
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    letter-spacing:.01em;
    padding:.85rem 1.9rem;
    border-radius:2px;
    transition:all .25s ease;
  }
  .btn-ink:hover{ 
    background:var(--ama); 
    color:#000; 
    transform:translateY(-1px); 
  }

  .btn-outline-ink{
    border:1.5px solid var(--ink);
    color:var(--ink);
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    padding:.8rem 1.8rem;
    border-radius:2px;
    background:transparent;
  }
  .btn-outline-ink:hover{ background:var(--ink); color:#fff; }

  .hero{
    color:#F4EFE4;
    position:relative;
    overflow:hidden;
    padding:4.5rem 0 6.5rem;
    isolation:isolate;
  }

  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('images/curso-suenos-clinica.jpg');
    background-size:cover;
    background-position:center top;
    z-index:-2;
  }
  .hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(100deg,
        rgba(30,42,69,.96) 0%,
        rgba(30,42,69,.90) 22%,
        rgba(30,42,69,.55) 40%,
        rgba(30,42,69,.15) 58%,
        rgba(30,42,69,0) 72%);
    z-index:-1;
  }

  .hero-wave-bottom{
    position:absolute;
    left:0; right:0; bottom:-1px;
    width:100%;
    height:70px;
    display:block;
  }
  .hero-logo{
    display:flex;
    justify-content:center;
    margin-bottom:2.2rem;
  }
  .hero-logo-img{
    height:52px;
    width:auto;
    max-width:220px;
    object-fit:contain;
  }

  .eyebrow-light{
    font-family:'Noto Sans', sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#D9B8C2;
  }
  .hero h1{
    font-weight:800;
    font-size:clamp(2.1rem, 4.4vw, 3.5rem);
    color:#fff;
    max-width:20ch;
    line-height:1.1;
  }
  .hero .lead{
    color:#D8D2C2;
    font-size:1.15rem;
    max-width:52ch;
  }
  .hero-divider{
    width:64px;
    height:2px;
    background:var(--wine);
    margin:2.2rem 0 0;
  }
  .hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:2.2rem;
    margin-top:1.8rem;
  }
  .hero-meta .item{
    border-left:2px solid var(--ama);
    padding-left:.85rem;
    text-align:left;
  }
  .hero-meta .item small{
    display:block;
    font-family:'Noto Sans', sans-serif;
    font-size:.7rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#C9A9B2;
    margin-bottom:.15rem;
  }
  .hero-meta .item strong{
    font-family:'Noto Sans',sans-serif;
    color:#fff;
    font-weight:700;
    font-size:.98rem;
  }

  section{ padding:5rem 0; }
  .section-title{
    font-weight:800;
    color:var(--ink);
    font-size:clamp(1.6rem, 3vw, 2.3rem);
    margin-top:.4rem;
  }
  .kicker-rule{
    display:flex;
    align-items:center;
    gap:.9rem;
  }
  .kicker-rule .rule{
    height:1px;
    flex:1;
    background:var(--line);
  }

  .desc-block p{
    color:var(--text-soft);
    font-size:1.05rem;
  }
  .pull-quote{
    font-family:'Noto Sans', sans-serif;
    font-style:italic;
    font-weight:600;
    font-size:1.3rem;
    color:var(--ink);
    border-left:3px solid var(--wine);
    padding-left:1.3rem;
    margin:2rem 0;
  }

  .photo-slot{
    position:relative;
    border-radius:4px;
    overflow:hidden;
    aspect-ratio:4/5;
    border:1px solid var(--line);
    display:flex;
    align-items:flex-end;
  }
  .photo-slot .fill{ position:absolute; inset:0; z-index:0; }
  .photo-slot img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    z-index:1;
  }
  .photo-slot .cap{
    position:relative;
    z-index:2;
    padding:.9rem 1rem;
    font-family:'Noto Sans', sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#fff;
    background:linear-gradient(0deg, rgba(0,0,0,.55), transparent);
    width:100%;
  }
  .conf-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:4px;
    padding:2rem 1.8rem;
    height:100%;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .conf-card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(30,42,69,.1); }
  .conf-num{
    font-family:'Noto Sans', sans-serif;
    font-weight:800;
    font-size:.85rem;
    color:var(--wine);
    letter-spacing:.06em;
  }
  .conf-card h3{
    font-size:1.18rem;
    font-weight:700;
    color:var(--ink);
    margin:.6rem 0 0;
  }

  .audience-band{
    background:var(--ink);
    color:#F4EFE4;
  }
  .audience-list li{
    border-bottom:1px solid rgba(255,255,255,.14);
    padding:1.1rem 0;
    font-family:'Noto Sans', sans-serif;
    font-weight:600;
    font-size:1.02rem;
    display:flex;
    align-items:center;
    gap:.9rem;
  }
  .audience-list li:last-child{ border-bottom:none; }
  .audience-list .dot{
    width:8px; height:8px; border-radius:50%;
    background:var(--ama); flex:none;
  }

  .speaker-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:4px;
    padding:1.7rem;
    height:100%;
    cursor:pointer;
    transition:all .25s ease;
  }
  .speaker-card:hover{ border-color:var(--wine); box-shadow:0 12px 26px rgba(30,42,69,.09); }
  .speaker-avatar{
    position:relative;
    width:88px; height:88px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'Noto Sans', sans-serif;
    font-weight:800;
    font-size:1.3rem;
    color:#fff;
    margin-bottom:1rem;
    overflow:hidden;
  }
  .speaker-avatar img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
  }
  .speaker-card h4{
    font-size:1.05rem;
    font-weight:700;
    color:var(--ink);
    margin-bottom:.15rem;
  }
  .speaker-card .role{
    font-size:.86rem;
    color:var(--text-soft);
  }
  .speaker-card .see-bio{
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--wine);
    margin-top:1rem;
    display:inline-block;
  }
  .modal-content{ border-radius:4px; border:none; }
  .modal-header{ border-bottom:1px solid var(--line); }
  .modal-title{ font-family:'Noto Sans', sans-serif; font-weight:800; color:var(--ink); }
  .modal-body h6{
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.75rem;
    color:var(--wine);
    margin-top:1.1rem;
  }
  .modal-body p{ color:var(--text-soft); }

  /* ---------- REGISTRO ---------- */
  .register-panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:6px;
    padding:2.4rem;
  }
  .capacity-flag{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:var(--paper-2);
    border:1px solid var(--line);
    border-radius:30px;
    padding:.4rem 1rem;
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    font-size:.82rem;
    color:var(--ink);
  }
  .capacity-flag .dot{ width:8px; height:8px; border-radius:50%; background:var(--sage); }


/* ---------- FORM ---------- */

.form-group {
  position: relative;
  display: block;
}

.form-group span {
    position: absolute;
    top: 11px;
    transition: all .2s ease;
    transform-origin: 0 0;
    cursor: text;
  }

.form-group span.border {
    height: 2px;
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top: 41px;
    transform: scaleX(0);
    transition: all .15s ease;
    background: #fff;
    font-size: .9rem;
}

.form-control {
  border: none;
  border-bottom: 2px solid #263326;
  display: block;
  width: 100%;
  height: 43px;
  font-size: 15px;
  background: none; 
}

.form-control:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}


.form-control:focus, .form-control:valid {
    border-bottom: 3px solid black; 
    background: transparent;
}
  
.form-control:focus + span, .form-control:valid + span {
  transform: translateY(-22px) scale(0.8); }
  
.form-control:focus + span + .border, .form-control:valid + span + .border {
  transform: scaleX(1); 
}

textarea.form-control {
  padding-top: 10px;
  padding-bottom: 10px;
  height:50px;
}

.stylecheck{
  background-color: #f8f9fa; padding:10px;
}
.txt-check{
  color:#000000; font-weight: 600;
}

.boton2 {
  border: solid 2px rgb(0 51 161);
  padding: 10px 15px;
  text-decoration:none;
  color: white;
  background-color: rgb(0 51 161);
  border-radius: 0px !important;
}
a.boton2 {
  border: solid 2px rgb(0 51 161);
  padding: 10px 15px;
  text-decoration:none;
  color: white;
  background-color: rgb(0 51 161);
  border-radius: 0px !important;
}
a.boton2:hover{
  background: white;
  color: rgb(0 51 161);
  border: solid 2px rgb(0 51 161);
  transition: all 1s ease;
}

  .facts-band{
    background:var(--paper-2);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .fact{
    padding:1.6rem 0;
    border-bottom:1px solid var(--line);
  }
  .fact:last-child{ border-bottom:none; }
  .fact .label{
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--wine);
  }
  .fact .value{
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    color:var(--ink);
    font-size:1.05rem;
  }

  .fact .value-maps-link{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    font-size:.8rem;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--wine);
    text-decoration:none;
    margin-top:.35rem;
  }
  .fact .value-maps-link:hover {
    text-decoration:underline;
  }

  footer{
    background:var(--ink);
    color:#B9BFD1;
    padding:3.2rem 0 2.5rem;
    font-size:.9rem;
  }
  footer strong{ color:#fff; }
  .footer-logo-img{
    height:38px;
    width:auto;
    max-width:220px;
    object-fit:contain;
    margin-bottom:1rem;
  }
  .footer-logo-placeholder{
    font-family:'Noto Sans', sans-serif;
    font-weight:800;
    letter-spacing:.08em;
    font-size:.95rem;
    color:#fff;
    border:1.5px dashed rgba(244,239,228,.4);
    padding:.7rem 1.4rem;
    border-radius:2px;
    margin-bottom:1rem;
  }
  .footer-event-info{
    color:#B9BFD1;
    margin:0;
    line-height:1.7;
  }
  .footer-contact{
    border-left:1px solid rgba(255,255,255,.14);
    padding-left:1.5rem;
  }
  .footer-contact .fc-name{
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    color:#fff;
    font-size:.95rem;
  }
  .footer-contact .fc-role{
    font-size:.82rem;
    color:#9AA1B5;
    margin-bottom:.9rem;
  }
  .footer-contact .fc-links{
    display:flex;
    gap:1.4rem;
    flex-wrap:wrap;
  }
  .footer-contact .fc-links a{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    color:#F4EFE4;
    font-family:'Noto Sans', sans-serif;
    font-weight:600;
    font-size:.82rem;
    text-decoration:none;
  }
  .footer-contact .fc-links a i{
    font-size:1rem;
    color:var(--ama);
  }
  .footer-contact .fc-links a:hover{ 
    color:var(--ama); 
  }
  .footer-maps-link{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-family:'Noto Sans', sans-serif;
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--ama);
    text-decoration:none;
  }
  .footer-maps-link:hover { 
    color:#F4EFE4;
    text-decoration:underline; 
  }

  @media (max-width: 991px){
    .footer-contact { 
      border-left:none; 
      padding-left:10px; 
      margin-top:1rem; 
    }
  }
.notificacion{
    font-family:'Noto Sans', sans-serif;
    font-size:1.2rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color: black
  }

