/* ===================================================================== Dr. Jaime Wittman · Ginecología y Obstetricia Dirección: Function — hero centrado + carrusel de cards altas Prefijo: jw- ===================================================================== */
 :root{
     --jw-azul: #1F3A5F;
     --jw-lavanda: #AF8EA5;
     --jw-salvia: #A5B3A8;
     --jw-gris: #D9D7D2;
     --jw-marfil: #FAFAF8;
     --jw-azul-soft: #34527a;
     --jw-lavanda-tint:#f1e9ee;
     --jw-salvia-tint: #edf1ee;
     --jw-gris-tint: #f0efec;
     --jw-ink: #223247;
     --jw-muted: #6a7482;
     --jw-display: 'Fraunces', Georgia, serif;
     --jw-body: 'Manrope', system-ui, sans-serif;
     --jw-mono: 'IBM Plex Mono', monospace;
     --jw-radius: 22px;
     --jw-radius-lg: 32px;
     --jw-shadow: 0 30px 60px -34px rgba(31,58,95,.42);
     --jw-shadow-sm: 0 12px 32px -18px rgba(31,58,95,.28);
}
 html, body{
     overflow-x: hidden;
}
 body{
     font-family: var(--jw-body);
     color: var(--jw-ink);
     background: var(--jw-marfil);
     font-size: 1.0625rem;
     line-height: 1.65;
     -webkit-font-smoothing: antialiased;
}
/* ===================== TIPOGRAFÍA ===================== */
 .jw-display{
     font-family: var(--jw-display);
     font-weight: 400;
     font-optical-sizing: auto;
     letter-spacing: -0.015em;
     line-height: 1.05;
     color: var(--jw-azul);
}
 .jw-display em{
     font-style: italic;
     font-weight: 400;
     color: var(--jw-lavanda);
}
 .jw-mono{
     font-family: var(--jw-mono);
     font-size: 1rem;
     letter-spacing: 0.14em;
     text-transform: uppercase;
}
 .jw-h2{
     font-size: clamp(2.1rem, 4.2vw, 3.2rem);
     margin-bottom: 1.25rem;
}
 .jw-h2--light{
     color: var(--jw-marfil);
}
 .jw-h2--light em{
     color: #d9c2d1;
}
 .jw-text{
     font-size: 1.0625rem;
     color: var(--jw-muted);
     max-width: 60ch;
}
 .jw-text--center{
     margin-inline: auto;
}
 .jw-text--light{
     color: rgba(250,250,248,.82);
}
/* Sol/gradiente (motivo firma de sección) */
 .jw-sun{
     display: block;
     width: 46px;
     height: 46px;
     margin: 0 auto 1.3rem;
     border-radius: 999px;
     background: linear-gradient(135deg, var(--jw-lavanda), var(--jw-salvia));
     box-shadow: 0 10px 24px -12px rgba(175,142,165,.7);
}
/* Eyebrow */
 .jw-eyebrow{
     display: inline-flex;
     align-items: center;
     gap: .55rem;
     color: var(--jw-lavanda);
     margin-bottom: 1.1rem;
}
 .jw-eyebrow--center{
     justify-content: center;
}
 .jw-eyebrow--light{
     color: var(--jw-salvia);
}
/* ===================== BOTONES ===================== */
 .jw-btn{
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: .55rem;
     font-family: var(--jw-body);
     font-weight: 600;
     font-size: 1rem;
     line-height: 1;
     padding: .85rem 1.5rem;
     border-radius: 999px;
     border: 1.5px solid transparent;
     text-decoration: none;
     cursor: pointer;
     transition: transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
 .jw-btn-lg{
     padding: 1.05rem 1.9rem;
     font-size: 1.0625rem;
}
 .jw-btn-lavanda{
     background: var(--jw-lavanda);
     color: #fff;
}
 .jw-btn-lavanda:hover{
     background: #9d7a92;
     color:#fff;
     transform: translateY(-2px);
     box-shadow: 0 16px 36px -20px rgba(175,142,165,.7);
}
 .jw-btn-ghost{
     background: transparent;
     color: var(--jw-azul);
     border-color: rgba(31,58,95,.22);
}
 .jw-btn-ghost:hover{
     background: var(--jw-azul);
     color: var(--jw-marfil);
     border-color: var(--jw-azul);
     transform: translateY(-2px);
}
 .jw-btn-ghost i{
     transition: transform .25s ease;
}
 .jw-btn-ghost:hover i{
     transform: translateX(3px);
}
/* ===================== NAVBAR ===================== */
 .jw-nav{
     background: rgba(250,250,248,.82);
     backdrop-filter: blur(14px);
     -webkit-backdrop-filter: blur(14px);
     border-bottom: 1px solid transparent;
     padding-block: .75rem;
     transition: box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}
 .jw-nav.jw-nav--scrolled{
     box-shadow: 0 10px 30px -22px rgba(31,58,95,.35);
     border-bottom-color: rgba(31,58,95,.08);
}
 .jw-brand{
     text-decoration: none;
}

.jw-brand img{
  max-width: 160px; 
  transition: .5s;
}

.jw-nav.jw-nav--scrolled img{
    max-width: 80px;
    transition: .5s;
}


 .jw-brand-mark{
     width: 42px;
     height: 42px;
     display: grid;
     place-items: center;
     border-radius: 12px;
     background: var(--jw-lavanda-tint);
     color: var(--jw-azul);
     font-size: 1.15rem;
}
 .jw-brand-text{
     display: flex;
     flex-direction: column;
     line-height: 1.15;
}
 .jw-brand-name{
     font-family: var(--jw-display);
     font-size: 1.2rem;
     color: var(--jw-azul);
     font-weight: 500;
}
 .jw-brand-sub{
     font-family: var(--jw-mono);
     font-size: 1rem;
     letter-spacing: .08em;
     text-transform: uppercase;
     color: var(--jw-muted);
     transform: scale(.72);
     transform-origin: left center;
}
 .jw-link{
     font-weight: 500;
     font-size: 1rem;
     color: var(--jw-ink) !important;
     padding: .5rem .9rem !important;
     border-radius: 999px;
     transition: color .2s ease, background-color .2s ease;
}
 .jw-link:hover{
     color: var(--jw-azul) !important;
     background: var(--jw-gris-tint);
}
 .jw-toggler{
     border: none;
     color: var(--jw-azul);
     font-size: 1.3rem;
     box-shadow: none !important;
}
/* ===================== HERO (centrado) ===================== */
 .jw-hero{
     position: relative;
     padding-top: 10rem;
     padding-bottom: 5rem;
     background: url(images/hero.jpg);
     overflow: hidden;
}
 .jw-hero-inner{
     position: relative;
     z-index: 1;
     max-width: 880px;
     margin: 0 auto;
}
 .jw-blob{
     position: absolute;
     border-radius: 50%;
     filter: blur(10px);
     z-index: 0;
     pointer-events: none;
}
 .jw-blob--salvia{
     width: 480px;
     height: 480px;
     opacity: .45;
     background: radial-gradient(circle at 30% 30%, var(--jw-salvia), transparent 70%);
     top: -120px;
     right: -80px;
}
 .jw-blob--lavanda{
     width: 420px;
     height: 420px;
     opacity: .32;
     background: radial-gradient(circle at 30% 30%, var(--jw-lavanda), transparent 70%);
     bottom: -160px;
     left: -120px;
}
 .jw-pill{
     display: inline-flex;
     align-items: center;
     gap: .6rem;
     background: #fff;
     border: 1px solid var(--jw-gris);
     padding: .45rem 1rem .45rem .5rem;
     border-radius: 999px;
     box-shadow: var(--jw-shadow-sm);
     margin-bottom: 1.8rem;
}
 .jw-pill-dot{
     width: 30px;
     height: 30px;
     display: grid;
     place-items: center;
     border-radius: 999px;
     background: var(--jw-salvia);
     color: #fff;
     font-size: .9rem;
}
 .jw-pill-label{
     font-size: 1rem;
     letter-spacing: .04em;
     color: var(--jw-azul);
}
 .jw-hero-title{
     font-size: clamp(2.7rem, 6vw, 4.8rem);
     margin-bottom: 1.4rem;
}
 .jw-lead{
     font-size: 1.2rem;
     color: var(--jw-ink);
     max-width: 52ch;
     margin: 0 auto 2rem;
}
 .jw-hero-actions{
     display: flex;
     flex-wrap: wrap;
     gap: 1rem;
     justify-content: center;
     margin-bottom: 2.4rem;
}
 .jw-checks{
     list-style: none;
     padding: 0;
     margin: 0;
     display: flex;
     flex-wrap: wrap;
     gap: .6rem 2rem;
     justify-content: center;
}
 .jw-checks li{
     display: flex;
     align-items: center;
     gap: .55rem;
     font-size: 1rem;
     font-weight: 500;
     color: var(--jw-azul);
}
 .jw-checks i{
     color: var(--jw-salvia);
     font-size: .95rem;
}
/* ===================== SECCIONES ===================== */
 .jw-section{
     padding-block: 6rem;
}
 .jw-head{
     margin-bottom: 3.5rem;
}
/* ===================== SERVICIOS (carrusel) ===================== */
 .jw-services{
     background: var(--jw-marfil);
}
 .jw-swiper-wrap{
     position: relative;
}
 .jw-swiper{
     padding: 14px max(28px, calc((100vw - 1180px) / 2)) 44px;
     overflow: hidden;
}
 .jw-scard{
     width: 320px;
     height: 460px;
     border-radius: 26px;
     overflow: hidden;
     position: relative;
     box-shadow: 0 30px 60px -34px rgba(31,58,95,.5);
}
 .jw-scard-img{
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
}
 .jw-scard::after{
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(180deg, transparent 40%, rgba(31,58,95,.25) 100%);
}
 .jw-scard-glass{
     position: absolute;
     left: 16px;
     right: 16px;
     bottom: 16px;
     z-index: 2;
     background: rgba(255,255,255,.58);
     backdrop-filter: blur(16px);
     -webkit-backdrop-filter: blur(12px);
     border: 1px solid rgba(255,255,255,.7);
     border-radius: 18px;
     padding: 20px;
}
 .jw-scard-ico{
     width: 44px;
     height: 44px;
     border-radius: 12px;
     background: var(--jw-lavanda-tint);
     color: var(--jw-azul);
     display: grid;
     place-items: center;
     font-size: 1.1rem;
     margin-bottom: 14px;
}
 .jw-scard-title{
     font-family: var(--jw-display);
     font-size: 1.3rem;
     font-weight: 500;
     color: var(--jw-azul);
     line-height: 1.15;
     margin-bottom: .55rem;
}
 .jw-scard-text{
     font-size: 1rem;
     color: var(--jw-ink);
     line-height: 1.45;
     margin: 0;
}
 .jw-swiper-nav{
     display: flex;
     gap: .75rem;
     justify-content: center;
     margin-top: 2.4rem;
}
 .jw-arrow{
     width: 52px;
     height: 52px;
     border-radius: 999px;
     border: 1.5px solid var(--jw-gris);
     background: #fff;
     color: var(--jw-azul);
     font-size: 1rem;
     cursor: pointer;
     display: grid;
     place-items: center;
     transition: all .25s ease;
}
 .jw-arrow:hover{
     background: var(--jw-azul);
     color: #fff;
     border-color: var(--jw-azul);
     transform: translateY(-2px);
}
 .jw-arrow.swiper-button-disabled{
     opacity: .4;
     cursor: default;
}
/* ===================== PROPUESTA DE VALOR ===================== */
 .jw-value{
     background: var(--jw-gris-tint);
}
 .jw-feature{
     height: 100%;
     text-align: center;
     background: #fff;
     border: 1px solid var(--jw-gris);
     border-radius: var(--jw-radius);
     padding: 1rem 1.2rem;
     transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
 .jw-feature:hover{
     transform: translateY(-6px);
     box-shadow: var(--jw-shadow);
     border-color: transparent;
}
 .jw-feature-ico{
     width: 60px;
     height: 60px;
    
     border-radius: 16px;
     background: var(--jw-lavanda-tint);
     color: var(--jw-azul);
     display: grid;
     place-items: center;
     font-size: 1.35rem;
     transition: background-color .3s ease, color .3s ease;
}
 .jw-feature:hover .jw-feature-ico{
     background: var(--jw-lavanda);
     color: #fff;
}
 .jw-feature-title{
     font-family: var(--jw-display);
     font-size: 1.1rem;
     font-weight: 500;
     color: var(--jw-azul);
     margin-bottom: .6rem;
}
 .jw-feature-text{
     font-size: .9rem;
     color: var(--jw-muted);
     margin: 0;
     line-height: 1.55;
}
/* ===================== UBICACIÓN ===================== */
 .jw-location{
     background: var(--jw-salvia-tint);
}
 .jw-location-address{
     font-family: var(--jw-display);
     font-size: 1.25rem;
     color: var(--jw-azul);
     margin-bottom: 2rem;
}
 .jw-info-list{
     list-style: none;
     padding: 0;
     margin: 0 0 2.2rem;
     display: grid;
     gap: 1.4rem;
}
 .jw-info-list li{
     display: flex;
     gap: 1rem;
     align-items: flex-start;
}
 .jw-info-icon{
     flex: 0 0 auto;
     width: 46px;
     height: 46px;
     display: grid;
     place-items: center;
     border-radius: 12px;
     background: #fff;
     color: var(--jw-lavanda);
     font-size: 1.1rem;
     box-shadow: var(--jw-shadow-sm);
}
 .jw-info-title{
     display: block;
     font-weight: 700;
     font-size: 1.0625rem;
     color: var(--jw-azul);
     margin-bottom: .15rem;
}
 .jw-info-text{
     margin: 0;
     font-size: 1rem;
     color: var(--jw-muted);
     line-height: 1.5;
}
 .jw-info-text a{
     color: var(--jw-muted);
     text-decoration: none;
     transition: color .2s ease;
}
 .jw-info-text a:hover{
     color: var(--jw-lavanda);
}
 .jw-map{
     height: 100%;
     min-height: 460px;
     border-radius: var(--jw-radius-lg);
     overflow: hidden;
     box-shadow: var(--jw-shadow);
     border: 6px solid #fff;
}
 .jw-map iframe{
     display: block;
     min-height: 448px;
     height: 100%;
}
/* ===================== ESPECIALIDADES ===================== */
 .jw-specialties-wrap{
     background: var(--jw-marfil);
}
 .jw-specialties{
     position: relative;
     background: linear-gradient(150deg, var(--jw-azul) 0%, #17304f 100%);
     border-radius: var(--jw-radius-lg);
     padding: clamp(2.5rem, 5vw, 4.5rem);
     overflow: hidden;
     box-shadow: var(--jw-shadow);
}
 .jw-blob--card{
     width: 380px;
     height: 380px;
     opacity: .45;
     background: radial-gradient(circle at 30% 30%, var(--jw-lavanda), transparent 70%);
     top: -120px;
     right: -90px;
}
 .jw-spec-item{
     display: flex;
     align-items: center;
     gap: 1rem;
     height: 100%;
     background: rgba(255,255,255,.06);
     border: 1px solid rgba(255,255,255,.12);
     border-radius: 18px;
     padding: 1.4rem;
     transition: background-color .3s ease, transform .3s ease;
}
 .jw-spec-item:hover{
     background: rgba(255,255,255,.1);
     transform: translateY(-3px);
}
 .jw-spec-check{
     flex: 0 0 auto;
     width: 38px;
     height: 38px;
     display: grid;
     place-items: center;
     border-radius: 999px;
     background: var(--jw-salvia);
     color: var(--jw-azul);
     font-size: .95rem;
}
 .jw-spec-title{
     margin: 0;
     font-family: var(--jw-display);
     font-size: 1.2rem;
     color: var(--jw-marfil);
     line-height: 1.2;
}
/* ===================== FOOTER ===================== */
 .jw-footer{
     background: var(--jw-marfil);
     padding-block: 3.5rem;
     border-top: 1px solid var(--jw-gris);
}
 .jw-footer-cred{
     margin: 0;
     font-size: 1rem;
     letter-spacing: .06em;
     color: var(--jw-muted);
}
 .jw-footer-rule{
     border: 0;
     border-top: 1px solid var(--jw-gris);
     margin-block: 2rem;
     opacity: 1;
}
 .jw-footer-legal{
     margin: 0;
     font-size: 1rem;
     color: var(--jw-muted);
}
 .jw-footer-contact{
     font-weight: 600;
     font-size: 1rem;
     color: var(--jw-azul);
     text-decoration: none;
     margin-left: 1.4rem;
     transition: color .2s ease;
}
 .jw-footer-contact:first-child{
     margin-left: 0;
}
 .jw-footer-contact:hover{
     color: var(--jw-lavanda);
}
/* ===================== RESPONSIVE ===================== */
 @media (max-width: 991.98px){
     .jw-nav{
         background: rgba(250,250,248,.96);
    }
     .jw-hero{
         padding-top: 8rem;
    }
     .jw-map{
         min-height: 360px;
    }
     .jw-map iframe{
         min-height: 348px;
    }
}
 @media (max-width: 575.98px){
     .jw-section{
         padding-block: 4rem;
    }
     .jw-hero-actions .jw-btn{
         width: 100%;
    }
     .jw-checks{
         gap: .6rem 1.2rem;
    }
     .jw-scard{
         width: 280px;
         height: 430px;
    }
}
 @media (prefers-reduced-motion: reduce){
     *{
         transition: none !important;
    }
}
 