/** Dr. Edgardo Saavedra - Fase 4 bundle. Fuentes concatenadas para reducir solicitudes. */

/* ===== SOURCE: styles.css ===== */
:root {
    --white: #ffffff;
    --turquoise: #58dce8;
    --turquoise-strong: #28c7dc;
    --blue: #087fe4;
    --blue-soft: #168ade;
    --blue-deep: #0a5f9d;
    --navy: #0b2442;
    --ink: #10213c;
    --muted: rgba(255,255,255,.82);
    --line: rgba(255,255,255,.22);
    --shadow: 0 22px 70px rgba(4, 42, 89, .28);
    --container: 1180px;
}

/* Blog: editorial companion to the existing clinical visual system */
.blog-page,.blog-article{color:var(--ink);background:#fff}.blog-hero{padding:82px 0 90px;background:linear-gradient(125deg,#0b2442,#087fe4 65%,#58dce8);color:#fff}.blog-hero__inner{max-width:1180px;margin:auto;padding:0 24px}.blog-eyebrow,.blog-admin__title span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900;color:#58dce8}.blog-hero h1{max-width:720px;margin:14px 0;font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.03}.blog-hero p{margin:0;max-width:600px;font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.85)}.wide{width:min(calc(100% - 48px),1180px);margin-inline:auto}.blog-doctor{margin-top:-38px;padding:28px;display:grid;grid-template-columns:285px 1fr;gap:42px;align-items:center;background:#fff;border-radius:22px;box-shadow:0 22px 60px rgba(10,37,72,.14)}.blog-doctor img{width:100%;height:260px;object-fit:cover;object-position:50% 20%;border-radius:15px}.blog-doctor h2,.blog-section-heading h2{margin:0 0 14px;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.12}.blog-doctor p{max-width:650px;line-height:1.75;color:#4a5c75}.blog-text-link{color:var(--blue);font-weight:900}.blog-text-link span{margin-left:8px}.blog-featured{padding:92px 0 76px;background:#f1f8fd}.blog-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.blog-section-heading p{margin:0;color:#62728a}.blog-carousel-controls{display:flex;gap:10px}.blog-carousel-button{width:44px;height:44px;border:0;border-radius:50%;background:var(--blue);color:#fff;font-size:1.3rem;cursor:pointer}.blog-carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.blog-carousel::-webkit-scrollbar{display:none}.blog-card{flex:0 0 calc((100% - 40px)/3);min-width:290px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(10,37,72,.1);scroll-snap-align:start}.blog-card__placeholder{height:185px;display:grid;place-items:center;background:linear-gradient(135deg,#dcebf5,#f7fbfe);border-bottom:1px solid #c9ddec;color:#4a789d}.blog-card__placeholder::before{content:'';position:absolute;width:74px;height:74px;border-radius:50%;border:2px solid rgba(8,127,228,.28);background:radial-gradient(circle at 50% 38%,rgba(8,127,228,.12) 0 17px,transparent 18px),linear-gradient(135deg,transparent 57%,rgba(8,127,228,.1) 58%)}.blog-card__placeholder span{position:relative;margin-top:110px;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:900;color:#5e88a8}.blog-card__body{padding:21px}.blog-card time,.blog-news-item time{color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.06em}.blog-card h3{margin:10px 0;font-size:1.2rem;line-height:1.35}.blog-card p{min-height:64px;margin:0 0 16px;color:#607089;line-height:1.55;font-size:.9rem}.blog-card__body span{font-weight:900;color:var(--blue);font-size:.88rem}.blog-latest{padding:90px 0}.blog-news-list{max-height:620px;overflow-y:auto;border-top:1px solid #dce7f1}.blog-news-item{display:grid;grid-template-columns:130px 1fr 40px;gap:22px;align-items:center;padding:25px 8px;border-bottom:1px solid #dce7f1}.blog-news-item h3{margin:0 0 8px;font-size:1.25rem}.blog-news-item h3:hover{color:var(--blue)}.blog-news-item p{margin:0;line-height:1.6;color:#62728a}.blog-news-arrow{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e9f6fd;color:var(--blue);font-weight:900}.blog-empty{padding:24px;color:#62728a}.blog-article__header{padding:74px 0 40px;max-width:840px}.blog-back{display:inline-block;margin-bottom:48px;color:var(--blue);font-weight:900}.blog-article__header time{font-size:.82rem;color:var(--blue);font-weight:900}.blog-article__header h1{margin:14px 0;font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.06}.blog-article__header p{font-size:1.2rem;line-height:1.65;color:#5c6e86}.blog-article__image{width:min(calc(100% - 48px),1180px);height:min(55vw,560px);margin:auto;object-fit:cover;border-radius:18px}.blog-article__content{width:min(calc(100% - 48px),760px);margin:48px auto 90px;color:#33465e;font-size:1.06rem;line-height:1.9}.blog-admin{color:var(--ink);background:#edf6fb}.blog-admin__shell{min-height:100vh}.blog-admin__login{width:min(calc(100% - 40px),440px);margin:9vh auto;padding:42px;background:#fff;border-radius:22px;box-shadow:0 20px 55px rgba(10,37,72,.14)}.blog-admin__login img{width:215px;margin:0 auto 28px}.blog-admin__login h1{font-size:1.9rem;margin-bottom:8px}.blog-admin__login p{color:#62728a;line-height:1.55}.blog-admin label{display:block;margin:18px 0;font-size:.9rem;font-weight:800}.blog-admin input:not([type=checkbox]),.blog-admin textarea,.blog-admin select{width:100%;margin-top:7px;padding:13px;border:1px solid #cbd9e6;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}.blog-admin textarea{resize:vertical}.admin-button{display:inline-flex;justify-content:center;align-items:center;padding:13px 20px;border:0;border-radius:8px;background:var(--blue);color:#fff;font:inherit;font-weight:900;cursor:pointer}.admin-button--ghost{background:#e6f3fb;color:var(--blue)}.admin-alert{margin:16px 0;padding:12px 14px;border-radius:7px;background:#dff5eb;color:#1b6748}.admin-alert--error{background:#ffeaeb;color:#a02532}.blog-admin__header{display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:16px 5%;background:#0b2442;color:#fff;font-size:.9rem}.blog-admin__content{width:min(calc(100% - 48px),1050px);margin:42px auto}.blog-admin__title{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.blog-admin__title h1{margin:6px 0 0}.blog-editor{padding:28px;background:#fff;border-radius:14px;box-shadow:0 9px 32px rgba(10,37,72,.08)}.blog-editor__options{display:flex;gap:28px;align-items:center}.blog-editor__options label{display:flex;gap:8px;align-items:center}.blog-editor__options select{width:auto;margin:0}.blog-editor__preview{width:160px;height:90px;object-fit:cover;border-radius:8px}.blog-admin__entries{margin-top:48px}.blog-admin__entries>a{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:17px;border-bottom:1px solid #d5e3ee;background:#fff}.blog-admin__entries small,.blog-admin__entries time{color:#62728a}
@media (max-width:760px){.blog-hero{padding:60px 0 72px}.wide{width:min(calc(100% - 32px),1180px)}.blog-doctor{grid-template-columns:1fr;gap:22px;padding:18px;margin-top:-28px}.blog-doctor img{height:230px}.blog-featured,.blog-latest{padding:62px 0}.blog-card{flex-basis:82%}.blog-carousel-controls{display:none}.blog-news-item{grid-template-columns:1fr 34px;gap:10px;padding:20px 0}.blog-news-item time{grid-column:1/-1}.blog-news-item h3{font-size:1.1rem}.blog-news-item p{font-size:.92rem}.blog-admin__content{width:min(calc(100% - 28px),1050px);margin:25px auto}.blog-admin__title{align-items:start;gap:15px}.blog-admin__entries>a{grid-template-columns:1fr;gap:5px}.blog-editor__options{display:block}}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100%;
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--white);
    background: var(--white);
}

a {
    color: inherit;
    text-decoration: none;
}

img,
svg,
video {
    display: block;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

.container {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

.site-shell {
    min-height: 100vh;
    background: var(--white);
}

.desktop-top {
    position: relative;
    z-index: 20;
    background: var(--white);
    color: var(--ink);
    border-bottom: 1px solid rgba(10, 95, 157, .1);
    box-shadow: 0 16px 45px rgba(10, 37, 72, .08);
}

.desktop-top__inner {
    min-height: 82px;
    display: grid;
    grid-template-columns: minmax(215px, 1fr) auto minmax(215px, 1fr);
    align-items: center;
    column-gap: 32px;
}

.brand {
    display: inline-flex;
    align-items: center;
}

.brand--desktop img {
    width: min(228px, 100%);
    height: auto;
}

.desktop-top__contact {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
}

.desktop-top__contact--socials {
    min-height: auto;
}

.social-link {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--white);
    background: linear-gradient(135deg, var(--blue), var(--turquoise-strong));
    box-shadow: 0 13px 30px rgba(40,199,220,.25);
    transition: transform .25s ease, box-shadow .25s ease;
}

.social-link svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.social-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 17px 38px rgba(40,199,220,.34);
}

.social-link--muted {
    background: rgba(8,127,228,.10);
    color: var(--blue);
    box-shadow: none;
}

.social-link--muted svg {
    fill: currentColor;
}

.contact-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    color: var(--white);
    font-size: .9rem;
    font-weight: 900;
    white-space: nowrap;
    background: linear-gradient(135deg, var(--blue), var(--turquoise-strong));
    box-shadow: 0 16px 36px rgba(8,127,228,.28);
    transition: transform .25s ease, box-shadow .25s ease;
}

.contact-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(8,127,228,.34);
}

.desktop-top__right {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px;
    border-radius: 999px;
    background: rgba(8,127,228,.08);
    border: 1px solid rgba(8,127,228,.12);
}

.lang-switch__link {
    min-width: 44px;
    padding: 10px 12px;
    border-radius: 999px;
    text-align: center;
    font-size: .86rem;
    font-weight: 800;
    color: rgba(16,33,60,.7);
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.lang-switch__link.is-active,
.lang-switch__link:hover {
    color: var(--white);
    background: linear-gradient(135deg, var(--blue), var(--turquoise-strong));
    transform: translateY(-1px);
}

.mobile-top,
.mobile-menu {
    display: none;
}

.hero {
    position: relative;
    isolation: isolate;
    min-height: calc(100vh - 82px);
    overflow: hidden;
    background: var(--blue-deep);
}

.hero__video,
.hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero__video {
    z-index: -3;
    object-fit: cover;
    object-position: center center;
    filter: saturate(1.06) contrast(1.02);
}

.hero__overlay {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(5,17,33,.72) 0%, rgba(5,17,33,.54) 34%, rgba(5,17,33,.30) 58%, rgba(5,17,33,.20) 100%),
        linear-gradient(180deg, rgba(5,17,33,.12) 0%, rgba(5,17,33,.36) 100%);
}

.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 24%),
        radial-gradient(circle at 20% 80%, rgba(255,255,255,.05), transparent 30%);
    pointer-events: none;
}

.hero__line {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    transform: rotate(-8deg);
}

.hero__line--one {
    width: 64vw;
    height: 18vw;
    right: -15vw;
    top: 12vh;
}

.hero__line--two {
    width: 56vw;
    height: 14vw;
    left: -20vw;
    bottom: 4vh;
}

.hero__inner {
    position: relative;
    z-index: 2;
    min-height: calc(100vh - 82px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: 86px 58px;
}

.hero__copy {
    max-width: 760px;
}

.hero__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    margin-bottom: 24px;
    border-radius: 999px;
    color: var(--white);
    font-size: .92rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 800;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(18px);
}

.hero h1 {
    margin: 0;
    max-width: 820px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(4.2rem, 7vw, 7.8rem);
    line-height: .88;
    letter-spacing: -.045em;
    text-wrap: balance;
    text-shadow: 0 18px 50px rgba(0,0,0,.28);
}

.hero p {
    margin: 28px 0 0;
    max-width: 670px;
    font-size: clamp(1.12rem, 1.55vw, 1.35rem);
    line-height: 1.65;
    font-weight: 700;
    color: rgba(255,255,255,.9);
    text-shadow: 0 10px 34px rgba(0,0,0,.24);
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 34px;
}

.btn {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 999px;
    font-weight: 900;
    letter-spacing: -.01em;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn--primary {
    color: var(--white);
    background: linear-gradient(135deg, var(--blue), var(--turquoise-strong));
    box-shadow: 0 18px 42px rgba(8,127,228,.38);
}




.about-doctor {
    position: relative;
    background: #ffffff;
}

.about-doctor__visual {
    position: relative;
    overflow: hidden;
    background: #08111f;
}

.about-doctor__bg {
    width: 100%;
    height: auto;
    min-height: 760px;
    display: block;
    object-fit: cover;
    object-position: center center;
}

.mobile-action-bar {
    display: none;
}

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .85s ease, transform .85s ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1180px) {
    .about-doctor__bg {
        min-height: 700px;
        object-position: center center;
    }
}

@media (max-width: 980px) {
    .desktop-top__inner {
        grid-template-columns: auto 1fr auto;
        column-gap: 18px;
    }

    .brand--desktop img {
        width: 205px;
    }

    .desktop-top__contact {
        gap: 10px;
    }

    .contact-chip {
        padding: 0 18px;
    }
}

@media (max-width: 760px) {
    body {
        background: var(--blue-deep);
    }

    .container {
        width: min(calc(100% - 40px), var(--container));
    }

    .desktop-top {
        display: none;
    }

    .mobile-top {
        position: relative;
        z-index: 30;
        min-height: 68px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 14px;
        background: linear-gradient(90deg, var(--blue-deep), var(--blue));
        box-shadow: 0 12px 36px rgba(0,0,0,.18);
    }

    .brand--mobile {
        width: 162px;
        height: 48px;
        padding: 5px 8px;
        border-radius: 3px;
        background: var(--white);
        overflow: hidden;
    }

    .brand--mobile img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .mobile-menu-toggle {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: var(--white);
        background: transparent;
        border: 0;
        font-family: inherit;
        font-size: .93rem;
        font-weight: 900;
        letter-spacing: .02em;
        cursor: pointer;
    }

    .mobile-menu-toggle i,
    .mobile-menu-toggle i::before,
    .mobile-menu-toggle i::after {
        display: block;
        width: 25px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .25s ease, opacity .25s ease;
    }

    .mobile-menu-toggle i {
        position: relative;
    }

    .mobile-menu-toggle i::before,
    .mobile-menu-toggle i::after {
        content: '';
        position: absolute;
        left: 0;
    }

    .mobile-menu-toggle i::before {
        top: -7px;
    }

    .mobile-menu-toggle i::after {
        top: 7px;
    }

    .mobile-menu-toggle.is-open i {
        transform: rotate(45deg);
    }

    .mobile-menu-toggle.is-open i::before {
        transform: translateY(7px) rotate(90deg);
    }

    .mobile-menu-toggle.is-open i::after {
        opacity: 0;
    }

    .mobile-menu {
        position: fixed;
        z-index: 25;
        top: 68px;
        left: 0;
        right: 0;
        display: grid;
        gap: 14px;
        padding: 18px 20px 22px;
        background: rgba(255,255,255,.98);
        color: var(--ink);
        border-bottom: 1px solid rgba(8,127,228,.15);
        box-shadow: 0 24px 60px rgba(0,0,0,.18);
        transform: translateY(-120%);
        transition: transform .28s ease;
    }

    .mobile-menu.is-open {
        transform: translateY(0);
    }

    .mobile-menu > a,
    .mobile-menu__languages {
        border-radius: 18px;
        background: rgba(8,127,228,.06);
        border: 1px solid rgba(8,127,228,.1);
    }

    .mobile-menu > a {
        padding: 15px 16px;
        font-weight: 900;
    }

    .mobile-menu__cta {
        text-align: center;
    }

    .mobile-menu__languages {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 5px;
        gap: 6px;
    }

    .mobile-menu__languages a {
        text-align: center;
        padding: 12px;
        border-radius: 14px;
        font-weight: 900;
    }

    .mobile-menu__languages a.is-active,
    .mobile-menu__cta {
        color: var(--white) !important;
        background: linear-gradient(135deg, var(--blue), var(--turquoise-strong)) !important;
    }

    .mobile-menu__socials {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        padding: 4px 0 2px;
    }

    .mobile-social {
        width: 46px;
        height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: var(--white);
        background: linear-gradient(135deg, var(--blue), var(--turquoise-strong));
        box-shadow: 0 12px 28px rgba(8,127,228,.20);
    }

    .mobile-social svg {
        width: 21px;
        height: 21px;
        fill: currentColor;
    }

    .mobile-social--muted {
        color: var(--blue);
        background: rgba(8,127,228,.08);
        box-shadow: none;
        border: 1px solid rgba(8,127,228,.12);
    }

    .about-doctor__bg {
        min-height: 760px;
        object-position: center top;
    }

    .hero {
        min-height: calc(100svh - 68px);
    }

    .hero__video {
        object-position: center center;
    }

    .hero__overlay {
        background:
            linear-gradient(180deg, rgba(5,17,33,.18) 0%, rgba(5,17,33,.14) 24%, rgba(5,17,33,.72) 76%, rgba(5,17,33,.92) 100%),
            linear-gradient(90deg, rgba(5,17,33,.54), rgba(5,17,33,.12));
    }

    .hero::after {
        background: radial-gradient(circle at 82% 20%, rgba(255,255,255,.08), transparent 24%);
    }

    .hero__line--one {
        width: 120vw;
        height: 45vw;
        right: -48vw;
        top: 11vh;
    }

    .hero__line--two {
        display: none;
    }

    .hero__inner {
        min-height: calc(100svh - 68px);
        justify-content: flex-start;
        padding-block: 64px 118px;
    }

    .hero__copy {
        max-width: 100%;
    }

    .hero__eyebrow {
        padding: 8px 12px;
        margin-bottom: 16px;
        font-size: .72rem;
        letter-spacing: .1em;
    }

    .hero h1 {
        max-width: 95%;
        font-size: clamp(3rem, 14vw, 4.8rem);
        line-height: .9;
    }

    .hero p {
        max-width: 94%;
        margin-top: 18px;
        font-size: clamp(1rem, 4.2vw, 1.16rem);
        line-height: 1.45;
    }

    .hero__actions {
        display: none;
    }

    .about-doctor {
        padding: 42px 0 0;
        background: #dce9ec;
    }

    .about-doctor::before {
        display: none;
    }

    .about-doctor__card {
        min-height: auto;
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0 18px 24px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .about-doctor__media {
        position: relative;
        right: auto;
        top: auto;
        order: -1;
        transform: none;
        align-self: center;
        margin-bottom: -44px;
        z-index: 4;
    }

    .about-doctor__photo-ring {
        width: min(270px, 82vw);
        padding: 8px;
        box-shadow: 0 28px 74px rgba(8, 48, 90, .20);
    }

    .about-doctor__content {
        width: 100%;
        max-width: 460px;
        margin: 0 auto;
        padding: 82px 30px 34px;
        border-radius: 22px;
        background: var(--white);
        box-shadow: 0 24px 70px rgba(8, 48, 90, .10);
    }

    .section-eyebrow {
        margin-bottom: 20px;
        font-size: .82rem;
        letter-spacing: .21em;
        line-height: 1.35;
    }

    .about-doctor__content h2 {
        font-size: clamp(2.15rem, 10vw, 3.4rem);
        line-height: 1.02;
        letter-spacing: -.055em;
    }

    .about-doctor__content > p {
        margin-top: 20px;
        font-size: .98rem;
        line-height: 1.78;
    }

    .about-doctor__link {
        margin-top: 24px;
        font-size: .98rem;
    }

    .about-stats-wrap {
        padding: 38px 0 86px;
        background: #fbfbfb;
    }

    .about-stats {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .about-stats__item strong {
        font-size: 3rem;
    }

    .about-stats__item span:last-child {
        font-size: .98rem;
    }

    .mobile-action-bar {
        position: fixed;
        z-index: 35;
        left: 0;
        right: 0;
        bottom: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        height: 54px;
        box-shadow: 0 -12px 30px rgba(0,0,0,.2);
    }

    .mobile-action-bar a {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 900;
        letter-spacing: .03em;
        font-size: .9rem;
    }

    .mobile-action-bar a:first-child {
        color: var(--ink);
        background: var(--white);
    }

    .mobile-action-bar a:last-child {
        color: var(--white);
        background: var(--blue);
    }
}

@media (max-width: 420px) {
    .container {
        width: min(calc(100% - 30px), var(--container));
    }

    .brand--mobile {
        width: 148px;
    }

    .hero__inner {
        padding-top: 48px;
    }

    .hero h1 {
        font-size: clamp(2.65rem, 13.4vw, 4.1rem);
    }

    .about-doctor__photo-ring {
        width: min(236px, 82vw);
    }

    .about-doctor__content {
        padding: 74px 24px 30px;
    }
}


/* ===== ABOUT DOCTOR V12 OVERRIDE ===== */
.about-doctor {
    position: relative;
    padding: 0 !important;
    background: #08111f !important;
}

.about-doctor__visual {
    position: relative;
    overflow: hidden;
    background: #08111f;
    min-height: 760px;
}

.about-doctor__bg {
    width: 100%;
    min-height: 760px;
    height: 760px;
    display: block;
    object-fit: cover;
    object-position: center center;
}

.about-doctor__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(4,11,22,0.12) 0%, rgba(4,11,22,0.10) 35%, rgba(4,11,22,0.52) 58%, rgba(4,11,22,0.92) 100%),
        linear-gradient(180deg, rgba(4,11,22,0.08) 0%, rgba(4,11,22,0.18) 50%, rgba(4,11,22,0.28) 100%);
}

.about-doctor__content-wrap {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    padding-top: 48px;
    padding-bottom: 48px;
}

.about-doctor__copy {
    width: min(100%, 560px);
    color: #fff;
    text-align: left;
    margin-right: 0;
}

.about-doctor__eyebrow {
    color: rgba(255,255,255,.96);
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.18);
    margin-bottom: 18px;
}

.about-doctor__copy h2 {
    margin: 0;
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.7rem, 4vw, 5rem);
    line-height: 0.94;
    letter-spacing: -.045em;
    text-wrap: balance;
    text-shadow: 0 6px 22px rgba(0,0,0,.22);
}

.about-doctor__copy p {
    margin: 20px 0 0;
    max-width: 52ch;
    color: rgba(255,255,255,.9);
    font-size: 1rem;
    line-height: 1.82;
    text-shadow: 0 3px 14px rgba(0,0,0,.18);
}

.about-logos {
    width: min(100%, 560px);
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 26px;
}

.about-logo {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 74px;
    color: #fff;
}

.about-logo__text {
    display: grid;
    gap: 3px;
}

.about-logo__text strong,
.about-logo__text span {
    display: block;
    color: #fff;
    line-height: 1.06;
}

.about-logo__text strong {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .01em;
}

.about-logo__text span {
    font-size: .95rem;
    opacity: .92;
}

.about-logo__mark {
    position: relative;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.about-logo__mark--shield {
    border: 2px solid rgba(255,255,255,.85);
    clip-path: polygon(50% 0, 92% 12%, 92% 54%, 50% 100%, 8% 54%, 8% 12%);
    font-family: 'Playfair Display', serif;
    font-size: 1.7rem;
    line-height: 1;
}

.about-logo__mark--minimed {
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 999px;
    overflow: hidden;
}

.about-logo__mark--minimed::before,
.about-logo__mark--minimed::after,
.about-logo__mark--minimed i {
    content: '';
    position: absolute;
    display: block;
    background: rgba(255,255,255,.96);
    border-radius: 999px;
}

.about-logo__mark--minimed::before {
    width: 8px;
    height: 30px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.about-logo__mark--minimed::after {
    width: 30px;
    height: 8px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.about-logo__mark--minimed i {
    inset: 8px;
    background: transparent;
    border: 2px solid rgba(255,255,255,.22);
}

.about-logo__text--minimed {
    gap: 2px;
}

.about-logo__wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    font-style: italic;
    letter-spacing: -.02em;
}

.about-logo__wordmark span {
    font-weight: 500;
}

.about-logo__wordmark em {
    font-style: italic;
    font-weight: 800;
}

.about-logo__wordmark span,
.about-logo__wordmark em {
    display: inline;
    color: inherit;
    line-height: 1;
}

.about-logo__mark--squares {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    padding: 8px;
}

.about-logo__mark--squares i {
    display: block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,.88);
}

.about-logo__mark--robotic i,
.about-logo__mark--circles i,
.about-logo__mark--laparo i {
    position: absolute;
    display: block;
}

.about-logo__mark--robotic::before,
.about-logo__mark--robotic::after {
    content: '';
    position: absolute;
    height: 2px;
    background: rgba(255,255,255,.86);
    transform-origin: left center;
}

.about-logo__mark--robotic::before {
    width: 27px;
    left: 18px;
    top: 19px;
    transform: rotate(12deg);
}

.about-logo__mark--robotic::after {
    width: 22px;
    left: 18px;
    top: 33px;
    transform: rotate(-18deg);
}

.about-logo__mark--robotic i:nth-child(1),
.about-logo__mark--robotic i:nth-child(2),
.about-logo__mark--robotic i:nth-child(3) {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
}

.about-logo__mark--robotic i:nth-child(1) { left: 10px; top: 14px; }
.about-logo__mark--robotic i:nth-child(2) { right: 8px; top: 19px; }
.about-logo__mark--robotic i:nth-child(3) { left: 24px; bottom: 9px; }

.about-logo__mark--laparo::before,
.about-logo__mark--laparo::after {
    content: '';
    position: absolute;
    background: rgba(255,255,255,.88);
}

.about-logo__mark--laparo::before {
    width: 34px;
    height: 2px;
    top: 24px;
    left: 12px;
    transform: rotate(-28deg);
}

.about-logo__mark--laparo::after {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.88);
    background: transparent;
    top: 12px;
    left: 30px;
}

.about-logo__mark--laparo i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    left: 11px;
    top: 34px;
}

.about-logo__mark--circles {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.about-logo__mark--circles i {
    position: static;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
}

.about-logo__mark--circles::after {
    content: '+';
    position: absolute;
    right: 4px;
    top: 1px;
    font-size: 1rem;
    font-weight: 700;
}

.about-logo--bariatric {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    .about-doctor__content-wrap {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 480px);
    }

    .about-doctor__bg {
        object-position: 38% center;
    }
}

@media (max-width: 760px) {
    .about-doctor {
        background: #08111f !important;
    }

    .about-doctor__visual {
        min-height: 980px;
    }

    .about-doctor__bg {
        min-height: 980px;
        height: 980px;
        object-position: 24% center;
    }

    .about-doctor__overlay {
        background: linear-gradient(180deg, rgba(4,11,22,0.12) 0%, rgba(4,11,22,0.28) 36%, rgba(4,11,22,0.82) 62%, rgba(4,11,22,0.98) 100%);
    }

    .about-doctor__content-wrap {
        align-items: stretch;
        justify-content: flex-end;
        padding-top: 40px;
        padding-bottom: 36px;
    }

    .about-doctor__copy,
    .about-logos {
        width: 100%;
    }

    .about-doctor__copy h2 {
        font-size: clamp(2.35rem, 12vw, 4.1rem);
        max-width: 9.5ch;
    }

    .about-doctor__copy p {
        font-size: .98rem;
        line-height: 1.72;
        max-width: none;
    }

    .about-logos {
        margin-top: 26px;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .about-logo {
        min-height: 60px;
        gap: 12px;
    }

    .about-logo__mark {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }

    .about-logo__text strong {
        font-size: 1rem;
    }

    .about-logo__text span {
        font-size: .88rem;
    }
}

@media (max-width: 420px) {
    .about-doctor__visual {
        min-height: 1040px;
    }

    .about-doctor__bg {
        min-height: 1040px;
        height: 1040px;
        object-position: 26% center;
    }

    .about-doctor__content-wrap {
        padding-bottom: 92px;
    }
}


/* ===== ABOUT DOCTOR V13 FIX FULLSCREEN ===== */
.about-doctor__visual {
    aspect-ratio: 1672 / 941;
    min-height: clamp(860px, 56.25vw, 1080px);
}

.about-doctor__bg {
    height: 100%;
    min-height: 0;
    object-position: center center;
}

.about-doctor__content-wrap {
    justify-content: center;
    padding-top: clamp(34px, 4vw, 62px);
    padding-bottom: clamp(34px, 4vw, 62px);
}

.about-doctor__copy,
.about-logos {
    width: min(100%, 525px);
}

.about-doctor__copy h2 {
    font-size: clamp(2.55rem, 4.4vw, 4.95rem);
    max-width: 9.8ch;
}

.about-doctor__copy p {
    max-width: 50ch;
    font-size: 1rem;
    line-height: 1.72;
}

.about-logos {
    margin-top: 28px;
    gap: 16px 24px;
}

.about-logo {
    align-items: center;
    min-height: 64px;
}

.about-logo__mark {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
    opacity: .98;
}

.about-logo__text strong {
    font-size: 1.06rem;
}

.about-logo__text span {
    font-size: .92rem;
}

.about-logo__mark--shield,
.about-logo__mark--squares i,
.about-logo__mark--robotic::before,
.about-logo__mark--robotic::after,
.about-logo__mark--laparo::before,
.about-logo__mark--laparo::after {
    filter: drop-shadow(0 2px 10px rgba(255,255,255,.08));
}

@media (min-width: 1600px) {
    .about-doctor__content-wrap {
        padding-right: 10px;
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 560px);
    }
}

@media (max-width: 1280px) {
    .about-doctor__visual {
        min-height: clamp(820px, 60vw, 980px);
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 470px);
    }

    .about-doctor__copy h2 {
        font-size: clamp(2.35rem, 4.7vw, 4.3rem);
    }
}

@media (max-width: 980px) {
    .about-doctor__visual {
        min-height: 900px;
    }

    .about-doctor__bg {
        object-position: 36% center;
    }

    .about-doctor__content-wrap {
        padding-top: 44px;
        padding-bottom: 44px;
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 430px);
    }
}

@media (max-width: 760px) {
    .about-doctor__visual {
        aspect-ratio: auto;
        min-height: 1060px;
    }

    .about-doctor__bg {
        height: 1060px;
        object-position: 28% center;
    }

    .about-doctor__copy,
    .about-logos {
        width: 100%;
    }

    .about-doctor__copy h2 {
        max-width: 9ch;
        font-size: clamp(2.2rem, 11vw, 4rem);
    }
}


/* ===== ABOUT DOCTOR V14 REFINEMENT ===== */
.about-doctor__content-wrap {
    padding-right: clamp(34px, 5vw, 110px);
}

.about-doctor__copy,
.about-logos {
    width: min(100%, 500px);
}

.about-title--mobile,
.about-copy--mobile {
    display: none;
}

.about-logo--panama {
    grid-column: 1 / -1;
}

.about-logo__mark--panama {
    border: 2px solid rgba(255,255,255,.88);
    clip-path: polygon(50% 0, 92% 12%, 92% 58%, 50% 100%, 8% 58%, 8% 12%);
    font-family: 'Playfair Display', serif;
    font-size: 1.7rem;
    line-height: 1;
}

.about-logo__mark--panama::before,
.about-logo__mark--panama::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 78px;
    max-width: calc(100% + 18px);
    height: 1.5px;
    background: rgba(255,255,255,.7);
}

.about-logo__mark--panama::before {
    bottom: -10px;
}

.about-logo__mark--panama::after {
    bottom: -17px;
}

.about-logo__mark--panama b {
    font-weight: 400;
}

@media (min-width: 1400px) {
    .about-doctor__content-wrap {
        padding-right: clamp(60px, 8vw, 150px);
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 520px);
    }
}

@media (max-width: 980px) {
    .about-doctor__content-wrap {
        padding-right: clamp(18px, 4vw, 36px);
    }
}

@media (max-width: 760px) {
    .about-doctor__content-wrap {
        padding-right: 0;
    }

    .about-title--desktop,
    .about-copy--desktop {
        display: none;
    }

    .about-title--mobile,
    .about-copy--mobile {
        display: block;
    }

    .about-doctor__copy h2 {
        max-width: 7.4ch;
        font-size: clamp(2rem, 10.5vw, 3.5rem);
        line-height: .93;
    }

    .about-copy--mobile {
        margin-top: 16px;
        max-width: 26ch;
        font-size: .98rem;
        line-height: 1.6;
    }

    .about-logos {
        margin-top: 24px;
        gap: 12px;
    }

    .about-logo {
        min-height: 54px;
    }

    .about-logo__mark {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }

    .about-logo__mark--shield,
    .about-logo__mark--panama {
        font-size: 1.28rem;
    }

    .about-logo__mark--squares i {
        width: 13px;
        height: 13px;
    }

    .about-logo__text strong {
        font-size: .94rem;
    }

    .about-logo__text span {
        font-size: .82rem;
    }

    .about-logo__mark--panama::before,
    .about-logo__mark--panama::after {
        width: 56px;
    }
}


/* ===== ABOUT DOCTOR V15 SHIFT RIGHT ===== */
@media (min-width: 981px) {
    .about-doctor__content-wrap {
        padding-right: clamp(18px, 2.2vw, 44px);
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 455px);
    }

    .about-doctor__copy {
        margin-left: auto;
    }

    .about-doctor__copy h2 {
        max-width: 8.3ch;
    }

    .about-doctor__copy p {
        max-width: 44ch;
    }
}


/* ===== DOCTOR STATS + ABOUT DOCTOR V16 ===== */
.doctor-stats {
    position: relative;
    background:
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    border-top: 1px solid rgba(8,127,228,.08);
    border-bottom: 1px solid rgba(8,127,228,.08);
    overflow: hidden;
}

.doctor-stats::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 20%, rgba(8,127,228,.06), transparent 24%),
        radial-gradient(circle at 82% 50%, rgba(14,207,214,.08), transparent 26%),
        linear-gradient(120deg, rgba(8,127,228,.03) 0%, transparent 28%, transparent 72%, rgba(14,207,214,.04) 100%);
    pointer-events: none;
}

.doctor-stats .container {
    position: relative;
    z-index: 1;
}

.doctor-stats__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.doctor-stat {
    position: relative;
    padding: 42px 26px 38px;
    text-align: center;
}

.doctor-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 1px;
    height: 86px;
    transform: translateY(-50%);
    background: linear-gradient(180deg, rgba(8,127,228,0), rgba(8,127,228,.18), rgba(8,127,228,0));
}

.doctor-stat__value {
    display: block;
    margin-bottom: 12px;
    font-size: clamp(2.6rem, 3.9vw, 4.15rem);
    line-height: .95;
    letter-spacing: -.05em;
    font-weight: 800;
    color: var(--blue);
}

.doctor-stat p {
    margin: 0 auto;
    max-width: 22ch;
    color: rgba(16,33,60,.75);
    font-size: 1.03rem;
    line-height: 1.45;
    font-weight: 700;
}

.about-logo--bariatric,
.about-logo--panama {
    grid-column: auto;
}

@media (min-width: 981px) {
    .about-doctor__content-wrap {
        width: min(calc(100% - 28px), 1440px);
        padding-right: clamp(8px, 1.2vw, 24px);
    }

    .about-doctor__copy,
    .about-logos {
        width: min(100%, 525px);
    }

    .about-doctor__copy h2 {
        max-width: 9.1ch;
    }

    .about-doctor__copy p {
        max-width: 48ch;
    }
}

@media (max-width: 980px) {
    .doctor-stats__grid {
        grid-template-columns: 1fr;
    }

    .doctor-stat {
        padding: 28px 20px;
    }

    .doctor-stat:not(:last-child)::after {
        right: 20px;
        left: 20px;
        top: auto;
        bottom: 0;
        width: auto;
        height: 1px;
        transform: none;
        background: linear-gradient(90deg, rgba(8,127,228,0), rgba(8,127,228,.18), rgba(8,127,228,0));
    }
}

@media (max-width: 760px) {
    .doctor-stat__value {
        font-size: clamp(2.5rem, 12vw, 3.5rem);
    }

    .doctor-stat p {
        font-size: .98rem;
        max-width: 24ch;
    }

    .about-doctor__visual {
        min-height: 1120px;
    }

    .about-doctor__bg {
        height: 1120px;
        min-height: 1120px;
        object-position: 42% top;
    }

    .about-doctor__overlay {
        background:
            linear-gradient(180deg, rgba(4,11,22,0.04) 0%, rgba(4,11,22,0.12) 18%, rgba(4,11,22,0.70) 56%, rgba(4,11,22,0.97) 100%),
            linear-gradient(90deg, rgba(4,11,22,0.78) 0%, rgba(4,11,22,0.50) 34%, rgba(4,11,22,0.18) 72%, rgba(4,11,22,0.08) 100%);
    }

    .about-doctor__content-wrap {
        padding-top: 34px;
        padding-bottom: 44px;
    }

    .about-doctor__copy h2 {
        max-width: 6.8ch;
        font-size: clamp(1.95rem, 10vw, 3.35rem);
    }

    .about-copy--mobile {
        max-width: 18.5ch;
        font-size: .96rem;
        line-height: 1.58;
    }

    .about-logos {
        margin-top: 18px;
        gap: 10px;
    }
}

@media (max-width: 420px) {
    .about-doctor__visual {
        min-height: 1140px;
    }

    .about-doctor__bg {
        height: 1140px;
        min-height: 1140px;
        object-position: 41% top;
    }
}

/* ===== SERVICES SHOWCASE V2 ===== */
.services-showcase {
    position: relative;
    overflow: hidden;
    padding: clamp(92px, 8vw, 132px) 0 clamp(100px, 8vw, 146px);
    color: var(--ink);
    background:
        radial-gradient(circle at 10% 14%, rgba(88,220,232,.08), transparent 24%),
        radial-gradient(circle at 88% 12%, rgba(8,127,228,.06), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f9fcff 54%, #ffffff 100%);
}

.services-showcase::before {
    content: '';
    position: absolute;
    inset: 44px clamp(18px, 3vw, 44px) auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8,127,228,.18), rgba(88,220,232,.22), transparent);
    pointer-events: none;
}

.services-showcase .container {
    position: relative;
    z-index: 1;
}

.services-showcase__intro {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(320px, .8fr);
    align-items: end;
    gap: clamp(30px, 6vw, 96px);
    margin-bottom: clamp(34px, 4vw, 52px);
}

.services-showcase__eyebrow {
    color: var(--blue);
    background: rgba(8,127,228,.07);
    border: 1px solid rgba(8,127,228,.12);
    margin-bottom: 22px;
}

.services-showcase__heading h2 {
    margin: 0;
    max-width: 800px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(3.15rem, 5.5vw, 6.4rem);
    line-height: .9;
    letter-spacing: -.05em;
    color: var(--navy);
    text-wrap: balance;
}

.services-showcase__intro > p {
    margin: 0 0 8px;
    max-width: 600px;
    color: rgba(16,33,60,.68);
    font-size: clamp(1rem, 1.18vw, 1.14rem);
    line-height: 1.82;
    font-weight: 650;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 28px);
    align-items: stretch;
}

.service-card {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    border-radius: clamp(24px, 2.1vw, 34px);
    background: #0c2038;
    cursor: default;
    isolation: isolate;
    box-shadow: 0 24px 70px rgba(8, 48, 90, .11);
    border: 1px solid rgba(11, 63, 112, .08);
    transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}

.service-card__media,
.service-card__media img,
.service-card__shade {
    position: absolute;
    inset: 0;
}

.service-card__media {
    z-index: -3;
}

.service-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.02);
    filter: saturate(.92) brightness(.9);
    transition: transform .7s ease, filter .55s ease;
}

.service-card__shade {
    z-index: -2;
    background:
        linear-gradient(180deg, rgba(7,30,54,.12) 0%, rgba(8,127,228,.16) 36%, rgba(8,53,96,.42) 68%, rgba(7,26,49,.78) 100%),
        linear-gradient(135deg, rgba(88,220,232,.08) 0%, rgba(8,127,228,.14) 50%, rgba(7,26,49,.24) 100%);
    transition: opacity .45s ease, background .45s ease;
}

.service-card::before {
    content: '';
    position: absolute;
    inset: 16px;
    z-index: -1;
    border-radius: calc(clamp(24px, 2.1vw, 34px) - 8px);
    border: 1px solid rgba(255,255,255,.18);
    pointer-events: none;
    opacity: .72;
    transition: inset .45s ease, opacity .45s ease;
}

.service-card__content {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding: 28px 24px 30px;
    color: var(--white);
    text-align: center;
}

.service-card__content span {
    margin-bottom: 12px;
    color: rgba(255,255,255,.8);
    font-size: .76rem;
    letter-spacing: .32em;
    font-weight: 900;
}

.service-card__content h3 {
    margin: 0;
    max-width: 15ch;
    color: #ffffff;
    font-size: clamp(1.14rem, 1.3vw, 1.45rem);
    line-height: 1.16;
    letter-spacing: .13em;
    text-transform: uppercase;
    font-weight: 900;
    text-shadow: 0 10px 26px rgba(0,0,0,.28);
}

.service-card__content p {
    margin: 12px auto 0;
    max-width: 30ch;
    color: rgba(255,255,255,.88);
    font-size: .93rem;
    line-height: 1.56;
    font-weight: 650;
    text-shadow: 0 6px 22px rgba(0,0,0,.22);
}

.service-card:hover,
.service-card:focus-visible,
.service-card:active {
    transform: translateY(-8px);
    box-shadow: 0 34px 86px rgba(8, 48, 90, .18);
    border-color: rgba(88,220,232,.26);
}

.service-card:hover .service-card__media img,
.service-card:focus-visible .service-card__media img,
.service-card:active .service-card__media img {
    transform: scale(1.07);
    filter: saturate(1.02) brightness(1);
}

.service-card:hover .service-card__shade,
.service-card:focus-visible .service-card__shade,
.service-card:active .service-card__shade {
    opacity: .15;
}

.service-card:hover::before,
.service-card:focus-visible::before,
.service-card:active::before {
    inset: 12px;
    opacity: .95;
}

@media (max-width: 1080px) {
    .services-showcase__intro {
        grid-template-columns: 1fr;
        gap: 22px;
        align-items: start;
    }

    .services-showcase__intro > p {
        max-width: 720px;
    }

    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .services-showcase {
        padding: 70px 0 80px;
    }

    .services-showcase::before {
        top: 28px;
    }

    .services-showcase__intro {
        margin-bottom: 28px;
    }

    .services-showcase__eyebrow {
        margin-bottom: 16px;
    }

    .services-showcase__heading h2 {
        font-size: clamp(2.4rem, 11.6vw, 3.9rem);
        line-height: .94;
        max-width: 10.5ch;
    }

    .services-showcase__intro > p {
        font-size: .98rem;
        line-height: 1.7;
        max-width: 35ch;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .service-card {
        min-height: 420px;
        border-radius: 28px;
    }

    .service-card::before {
        inset: 14px;
        border-radius: 20px;
    }

    .service-card__content {
        padding: 30px 22px 32px;
    }

    .service-card__content h3 {
        font-size: 1.12rem;
        letter-spacing: .11em;
        max-width: 18ch;
    }

    .service-card__content p {
        max-width: 29ch;
        font-size: .9rem;
    }
}

@media (max-width: 420px) {
    .services-showcase {
        padding-top: 62px;
    }

    .service-card {
        min-height: 390px;
    }

    .service-card__content {
        padding-inline: 18px;
    }
}



/* ===== PATIENT STORIES CAROUSEL V2 ===== */
.patient-stories {
    position: relative;
    overflow: hidden;
    padding: clamp(84px, 8vw, 126px) 0 clamp(92px, 8vw, 132px);
    color: var(--navy);
    background:
        radial-gradient(circle at 12% 18%, rgba(255,255,255,.72), transparent 28%),
        radial-gradient(circle at 82% 78%, rgba(8,127,228,.08), transparent 30%),
        linear-gradient(135deg, #e9fbff 0%, #d7f5fb 48%, #eefcff 100%);
}

.patient-stories::before {
    content: '';
    position: absolute;
    inset: 38px clamp(20px, 3vw, 52px) auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8,127,228,.16), rgba(88,220,232,.38), transparent);
}

.patient-stories__head {
    max-width: 880px;
    margin: 0 auto clamp(34px, 4vw, 54px);
    text-align: center;
}

.patient-stories__eyebrow {
    margin-bottom: 18px;
    color: var(--blue);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(8,127,228,.12);
}

.patient-stories__head h2 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(3rem, 5.2vw, 5.8rem);
    line-height: .92;
    letter-spacing: -.05em;
    color: var(--navy);
}

.patient-stories__head p {
    margin: 22px auto 0;
    max-width: 760px;
    color: rgba(16,33,60,.68);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.78;
    font-weight: 650;
}

.patient-stories__carousel {
    position: relative;
    padding: 0 clamp(48px, 5vw, 74px);
}

.patient-stories__slides {
    position: relative;
    min-height: clamp(580px, 43vw, 690px);
}

.patient-story {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(540px, 1.28fr) minmax(300px, .72fr);
    gap: clamp(34px, 5vw, 76px);
    align-items: center;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(24px);
    transition: opacity .48s ease, transform .48s ease, visibility .48s ease;
    pointer-events: none;
}

.patient-story.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
}

.patient-story.is-entering.is-next {
    transform: translateX(34px);
}

.patient-story.is-entering.is-prev {
    transform: translateX(-34px);
}

.patient-story.is-leaving {
    z-index: 1;
    opacity: 0;
    visibility: visible;
    pointer-events: none;
}

.patient-story.is-leaving.is-prev {
    transform: translateX(-34px);
}

.patient-story.is-leaving.is-next {
    transform: translateX(34px);
}

.patient-story__media {
    position: relative;
    overflow: hidden;
    border-radius: clamp(24px, 2.6vw, 38px);
    background: rgba(255,255,255,.38);
    box-shadow: 0 34px 92px rgba(8,48,90,.18);
    height: clamp(520px, 38vw, 660px);
    width: 100%;
}

.patient-story__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform .55s ease, filter .55s ease;
}

.patient-story.is-active .patient-story__media img {
    transform: scale(1.02);
}

.patient-story__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(6,25,47,0) 56%, rgba(6,25,47,.42) 100%),
        linear-gradient(135deg, rgba(8,127,228,.08) 0%, rgba(88,220,232,.03) 48%, rgba(6,25,47,.06) 100%);
    pointer-events: none;
}

.patient-story__media span {
    position: absolute;
    left: clamp(18px, 2vw, 26px);
    bottom: clamp(18px, 2vw, 26px);
    z-index: 2;
    padding: 11px 16px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(5,61,109,.76);
    backdrop-filter: blur(12px);
    font-size: .74rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 900;
}

.patient-story__copy {
    position: relative;
    max-width: 560px;
    padding: clamp(18px, 2vw, 28px) 0;
}

.patient-story__copy::before {
    content: '';
    position: absolute;
    left: -28px;
    top: 28px;
    bottom: 28px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(8,127,228,.24), rgba(88,220,232,.38), transparent);
}

.patient-story__copy small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 22px;
    border-radius: 50%;
    color: var(--blue);
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 34px rgba(8,48,90,.10);
    font-weight: 900;
    letter-spacing: .14em;
}

.patient-story__copy h3 {
    margin: 0;
    max-width: 570px;
    color: var(--navy);
    font-size: clamp(1.85rem, 3vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -.03em;
    font-weight: 800;
}

.patient-story__copy p {
    margin: 22px 0 0;
    max-width: 540px;
    color: rgba(16,33,60,.72);
    font-size: clamp(1rem, 1.16vw, 1.14rem);
    line-height: 1.75;
    font-weight: 650;
}

.patient-story__copy em {
    display: block;
    margin-top: 24px;
    color: rgba(16,33,60,.56);
    font-size: .9rem;
    line-height: 1.5;
    font-style: normal;
    font-weight: 750;
}

.patient-stories__arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: var(--blue);
    background: rgba(255,255,255,.86);
    box-shadow: 0 16px 38px rgba(8,48,90,.12);
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .3s ease, background .3s ease, color .3s ease, box-shadow .3s ease;
}

.patient-stories__arrow svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.patient-stories__arrow:hover {
    color: #ffffff;
    background: var(--blue);
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 20px 44px rgba(8,127,228,.26);
}

.patient-stories__arrow--prev {
    left: 0;
}

.patient-stories__arrow--next {
    right: 0;
}

.patient-stories__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-top: 30px;
}

.patient-stories__dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(8,127,228,.24);
    cursor: pointer;
    transition: width .3s ease, background .3s ease;
}

.patient-stories__dots button.is-active {
    width: 34px;
    background: var(--blue);
}

.patient-stories__cta,
.gallery-module__actions,
.feature-module__actions,
.faq-clean__actions {
    display: flex;
    margin-top: 34px;
}

.patient-stories__cta,
.gallery-module__actions,
.faq-clean__actions {
    justify-content: center;
}

.feature-module__actions {
    justify-content: flex-start;
}

.patient-stories__cta .btn,
.gallery-module__actions .btn,
.feature-module__actions .btn,
.faq-clean__actions .btn,
.faq-clean-home__cta a {
    text-transform: uppercase;
    letter-spacing: .06em;
}

@media (max-width: 1080px) {
    .patient-stories__carousel {
        padding: 0;
    }

    .patient-stories__slides {
        min-height: auto;
    }

    .patient-story {
        position: relative;
        display: none;
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 0;
        transform: translateY(16px);
    }

    .patient-story.is-active {
        display: grid;
        transform: translateY(0);
    }

    .patient-story.is-leaving {
        display: none;
    }

    .patient-story__media {
        height: auto;
        aspect-ratio: 1 / 1;
        max-width: 720px;
        margin: 0 auto;
    }

    .patient-story__copy {
        max-width: 720px;
        padding: 0 8px 8px;
        margin: 0 auto;
        text-align: center;
    }

    .patient-story__copy::before {
        display: none;
    }

    .patient-story__copy small {
        width: 48px;
        height: 48px;
        margin-bottom: 16px;
    }

    .patient-stories__arrow {
        top: auto;
        bottom: -22px;
        transform: none;
    }

    .patient-stories__arrow:hover {
        transform: scale(1.05);
    }

    .patient-stories__arrow--prev {
        left: 18px;
    }

    .patient-stories__arrow--next {
        right: 18px;
    }

    .patient-stories__dots {
        margin-top: 42px;
    }
}

@media (max-width: 520px) {
    .patient-stories {
        padding: 66px 0 86px;
    }

    .patient-stories__head {
        text-align: left;
        margin-bottom: 28px;
    }

    .patient-stories__head h2 {
        font-size: clamp(2.45rem, 11vw, 3.45rem);
    }

    .patient-stories__head p {
        font-size: .96rem;
        line-height: 1.7;
    }

    .patient-story__media {
        border-radius: 24px;
    }

    .patient-story__copy h3 {
        font-size: 1.65rem;
    }

    .patient-story__copy p {
        font-size: .96rem;
        line-height: 1.68;
    }
}

/* ===== PATIENT REVIEWS TESTIMONIALS V1 ===== */
.patient-reviews {
    position: relative;
    min-height: clamp(720px, 68vw, 850px);
    overflow: hidden;
    color: #ffffff;
    background: #061c33;
    isolation: isolate;
}

.patient-reviews__picture,
.patient-reviews__bg,
.patient-reviews__overlay {
    position: absolute;
    inset: 0;
}

.patient-reviews__picture {
    z-index: -3;
}

.patient-reviews__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.02);
    filter: saturate(1.03) contrast(1.02);
}

.patient-reviews__overlay {
    z-index: -2;
    background:
        radial-gradient(circle at 82% 20%, rgba(88,220,232,.22), transparent 34%),
        linear-gradient(115deg, rgba(5,25,45,.82) 0%, rgba(5,25,45,.68) 34%, rgba(0,130,150,.35) 58%, rgba(0,0,0,.58) 100%),
        linear-gradient(180deg, rgba(5,25,45,.30) 0%, rgba(5,25,45,.80) 100%);
}

.patient-reviews__inner {
    min-height: inherit;
    display: grid;
    grid-template-rows: auto 1fr;
    align-items: center;
    padding-top: clamp(74px, 7vw, 112px);
    padding-bottom: clamp(66px, 7vw, 106px);
}

.patient-reviews__intro {
    width: min(100%, 720px);
}

.patient-reviews__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 20px;
    color: var(--turquoise);
    font-size: .76rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 900;
}

.patient-reviews__intro h2 {
    margin: 0;
    max-width: 700px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(3.2rem, 6.1vw, 7rem);
    line-height: .9;
    letter-spacing: -.05em;
    color: #ffffff;
    text-shadow: 0 22px 70px rgba(0,0,0,.35);
}

.patient-reviews__intro p {
    margin: 22px 0 0;
    max-width: 470px;
    color: rgba(255,255,255,.86);
    font-size: clamp(1rem, 1.2vw, 1.18rem);
    line-height: 1.75;
    font-weight: 650;
}

.patient-reviews__intro::after {
    content: '';
    display: block;
    width: 72px;
    height: 2px;
    margin-top: 24px;
    background: linear-gradient(90deg, var(--turquoise), transparent);
}

.patient-reviews__carousel {
    position: relative;
    margin-top: clamp(34px, 5vw, 64px);
    min-height: clamp(355px, 33vw, 440px);
}

.patient-reviews__viewport {
    position: relative;
    min-height: clamp(330px, 31vw, 410px);
    overflow: visible;
}

.patient-review-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(620px, 47vw);
    min-height: 330px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(34px, 3.8vw, 56px) clamp(30px, 4vw, 62px);
    text-align: center;
    border-radius: 28px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: 0 32px 90px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    opacity: 0;
    transform: translate(-50%, -50%) scale(.72);
    transition: transform .6s cubic-bezier(.22,.8,.24,1), opacity .6s ease, filter .6s ease;
    pointer-events: none;
    will-change: transform, opacity;
}

.patient-review-card.is-active {
    z-index: 5;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
}

.patient-review-card.is-prev {
    z-index: 3;
    opacity: .48;
    filter: blur(.2px);
    transform: translate(calc(-50% - min(470px, 35vw)), -50%) scale(.78);
}

.patient-review-card.is-next {
    z-index: 3;
    opacity: .48;
    filter: blur(.2px);
    transform: translate(calc(-50% + min(470px, 35vw)), -50%) scale(.78);
}

.patient-review-card.is-far {
    z-index: 1;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.62);
}

.patient-review-card__stars {
    margin-bottom: 24px;
    color: #f6c94d;
    font-size: clamp(1.25rem, 1.6vw, 1.65rem);
    letter-spacing: .18em;
    text-shadow: 0 10px 30px rgba(246,201,77,.22);
}

.patient-review-card p {
    margin: 0;
    max-width: 820px;
    color: rgba(255,255,255,.94);
    font-size: clamp(1.18rem, 1.95vw, 2rem);
    line-height: 1.55;
    font-weight: 650;
    text-shadow: 0 12px 42px rgba(0,0,0,.32);
}

.patient-review-card__person {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin-top: 28px;
}

.patient-review-card__person span {
    width: 54px;
    height: 2px;
    border-radius: 999px;
    background: var(--turquoise);
}

.patient-review-card__person strong {
    color: #ffffff;
    font-size: clamp(1.04rem, 1.1vw, 1.2rem);
    letter-spacing: .02em;
    font-weight: 900;
}

.patient-review-card__person small {
    color: rgba(255,255,255,.72);
    font-size: .86rem;
    line-height: 1.4;
    font-weight: 700;
}

.patient-reviews__arrow {
    position: absolute;
    top: 50%;
    z-index: 7;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    padding: 0;
    border: 1px solid rgba(88,220,232,.38);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(0,146,170,.26);
    box-shadow: 0 20px 54px rgba(0,0,0,.26);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.patient-reviews__arrow svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.patient-reviews__arrow:hover {
    background: rgba(0,188,210,.48);
    border-color: rgba(255,255,255,.56);
    transform: translateY(-50%) scale(1.06);
}

.patient-reviews__arrow--prev {
    left: clamp(8px, 1vw, 18px);
}

.patient-reviews__arrow--next {
    right: clamp(8px, 1vw, 18px);
}

.patient-reviews__dots {
    position: relative;
    z-index: 8;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 11px;
    margin-top: 24px;
}

.patient-reviews__dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.56);
    cursor: pointer;
    transition: width .3s ease, background .3s ease, opacity .3s ease;
}

.patient-reviews__dots button.is-active {
    width: 34px;
    background: var(--turquoise);
}

@media (max-width: 980px) {
    .patient-reviews {
        min-height: 740px;
    }

    .patient-reviews__inner {
        align-items: start;
        padding-top: 72px;
        padding-bottom: 62px;
    }

    .patient-reviews__intro {
        text-align: left;
    }

    .patient-reviews__intro h2 {
        max-width: 9.5ch;
        font-size: clamp(3rem, 12vw, 4.65rem);
    }

    .patient-reviews__intro p {
        max-width: 340px;
        font-size: 1rem;
        line-height: 1.7;
    }

    .patient-reviews__carousel {
        min-height: 405px;
        margin-top: 36px;
    }

    .patient-reviews__viewport {
        min-height: 360px;
    }

    .patient-review-card,
    .patient-review-card.is-prev,
    .patient-review-card.is-next,
    .patient-review-card.is-far {
        width: min(100%, 430px);
        min-height: 350px;
        opacity: 0;
        transform: translate(-50%, -50%) scale(.9);
        pointer-events: none;
        filter: none;
    }

    .patient-review-card.is-active {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
        pointer-events: auto;
    }

    .patient-review-card p {
        font-size: clamp(1.02rem, 4.5vw, 1.22rem);
        line-height: 1.7;
    }

    .patient-reviews__arrow {
        top: auto;
        bottom: -4px;
        width: 46px;
        height: 46px;
        transform: none;
    }

    .patient-reviews__arrow:hover {
        transform: scale(1.04);
    }

    .patient-reviews__arrow--prev {
        left: 0;
    }

    .patient-reviews__arrow--next {
        right: 0;
    }

    .patient-reviews__dots {
        margin-top: 34px;
    }
}

@media (max-width: 520px) {
    .patient-reviews {
        min-height: 760px;
    }

    .patient-reviews__bg {
        object-position: center top;
    }

    .patient-reviews__overlay {
        background:
            radial-gradient(circle at 78% 14%, rgba(88,220,232,.18), transparent 34%),
            linear-gradient(180deg, rgba(5,25,45,.76) 0%, rgba(5,25,45,.66) 45%, rgba(0,130,150,.30) 72%, rgba(0,0,0,.62) 100%);
    }

    .patient-reviews__inner {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .patient-reviews__eyebrow {
        margin-bottom: 14px;
        font-size: .68rem;
    }

    .patient-reviews__intro h2 {
        font-size: clamp(2.7rem, 13vw, 3.65rem);
    }

    .patient-reviews__intro p {
        max-width: 300px;
        margin-top: 16px;
        font-size: .95rem;
    }

    .patient-reviews__intro::after {
        margin-top: 18px;
    }

    .patient-review-card {
        min-height: 340px;
        padding: 30px 24px;
        border-radius: 24px;
    }

    .patient-review-card__stars {
        margin-bottom: 18px;
        font-size: 1.04rem;
    }

    .patient-review-card__person {
        margin-top: 20px;
    }
}


/* ===== BMI CALCULATOR V1 ===== */
.bmi-calculator {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 7.5vw, 128px) 0 clamp(88px, 7.8vw, 136px);
    background:
        radial-gradient(circle at 10% 18%, rgba(88,220,232,.09), transparent 28%),
        radial-gradient(circle at 90% 18%, rgba(8,127,228,.06), transparent 26%),
        #ffffff;
    color: var(--ink);
}

.bmi-calculator::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 38px;
    width: min(920px, 82vw);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(8,127,228,.18), rgba(88,220,232,.24), transparent);
}

.bmi-calculator__intro {
    margin: 0 auto clamp(34px, 4vw, 54px);
    max-width: 840px;
    text-align: center;
}

.bmi-calculator__eyebrow {
    margin-bottom: 18px;
    color: var(--blue);
    background: rgba(8,127,228,.07);
    border: 1px solid rgba(8,127,228,.12);
}

.bmi-calculator__intro h2 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.9rem, 5.4vw, 6.25rem);
    line-height: .92;
    letter-spacing: -.05em;
    color: var(--navy);
}

.bmi-calculator__intro p {
    margin: 18px auto 0;
    max-width: 680px;
    color: rgba(16,33,60,.68);
    font-size: clamp(1rem, 1.18vw, 1.15rem);
    line-height: 1.78;
    font-weight: 650;
}

.bmi-calculator__panel {
    display: grid;
    grid-template-columns: minmax(310px, .92fr) minmax(340px, 1.08fr);
    gap: clamp(22px, 3vw, 34px);
    align-items: stretch;
    max-width: 1180px;
    margin: 0 auto;
}

.bmi-calculator__form-card,
.bmi-calculator__result-card {
    border-radius: clamp(28px, 3vw, 42px);
    box-shadow: 0 28px 90px rgba(8, 48, 90, .13);
}

.bmi-calculator__form-card {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 3.4vw, 48px);
    background:
        radial-gradient(circle at 92% 10%, rgba(88,220,232,.18), transparent 28%),
        linear-gradient(145deg, #072e55 0%, #061e38 100%);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.14);
}

.bmi-calculator__form-card::after {
    content: '';
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.10);
    pointer-events: none;
}

.bmi-calculator__form-head {
    position: relative;
    z-index: 1;
    margin-bottom: 28px;
}

.bmi-calculator__form-head span {
    display: inline-flex;
    margin-bottom: 14px;
    color: rgba(88,220,232,.96);
    font-size: .76rem;
    line-height: 1;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 900;
}

.bmi-calculator__form-head h3 {
    margin: 0;
    max-width: 12ch;
    font-size: clamp(2rem, 3.3vw, 3.25rem);
    line-height: .98;
    letter-spacing: -.04em;
    color: #ffffff;
}

.bmi-form {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 16px;
}

.bmi-form label {
    display: grid;
    gap: 8px;
}

.bmi-form label span {
    color: rgba(255,255,255,.78);
    font-size: .85rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 850;
}

.bmi-form input {
    width: 100%;
    min-height: 62px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    padding: 0 18px;
    background: rgba(255,255,255,.96);
    color: var(--navy);
    font: inherit;
    font-weight: 800;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.bmi-form input:focus {
    border-color: rgba(88,220,232,.88);
    box-shadow: 0 0 0 4px rgba(88,220,232,.16), inset 0 1px 0 rgba(255,255,255,.75);
    transform: translateY(-1px);
}

.bmi-form button,
.bmi-result__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    border-radius: 999px;
    border: 0;
    padding: 0 24px;
    background: linear-gradient(135deg, var(--turquoise), #18aee6);
    color: #06233f;
    font: inherit;
    font-size: .88rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 950;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 18px 44px rgba(14,207,214,.22);
    transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.bmi-form button:hover,
.bmi-result__cta:hover {
    transform: translateY(-2px);
    filter: saturate(1.08);
    box-shadow: 0 22px 54px rgba(14,207,214,.30);
}

.bmi-form__error {
    display: none;
    margin: 0;
    color: #ffd1d1;
    font-size: .9rem;
    line-height: 1.45;
    font-weight: 750;
}

.bmi-form.has-error .bmi-form__error {
    display: block;
}

.bmi-calculator__note {
    position: relative;
    z-index: 1;
    margin: 24px 0 0;
    color: rgba(255,255,255,.66);
    font-size: .9rem;
    line-height: 1.65;
    font-weight: 650;
}

.bmi-calculator__result-card {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 3.6vw, 52px);
    background:
        radial-gradient(circle at 86% 10%, rgba(88,220,232,.13), transparent 26%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(245,251,255,.96));
    border: 1px solid rgba(8,127,228,.12);
    color: var(--navy);
    min-height: 100%;
    transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.bmi-calculator__result-card.is-ready {
    transform: translateY(-2px);
}

.bmi-result__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: clamp(22px, 3vw, 38px);
}

.bmi-result__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 22px;
    background: rgba(8,127,228,.08);
    font-size: 1.7rem;
    transition: transform .35s ease, background .35s ease;
}

.bmi-calculator__result-card.is-ready .bmi-result__icon {
    transform: scale(1.04) rotate(-2deg);
}

.bmi-result__top small {
    color: rgba(16,33,60,.62);
    font-size: .82rem;
    line-height: 1.3;
    letter-spacing: .16em;
    text-align: right;
    text-transform: uppercase;
    font-weight: 950;
}

.bmi-result__number-wrap {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
}

.bmi-result__label {
    color: rgba(16,33,60,.54);
    font-size: .78rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 950;
}

.bmi-result__number-wrap strong {
    display: block;
    color: var(--navy);
    font-size: clamp(4.2rem, 8vw, 7.4rem);
    line-height: .9;
    letter-spacing: -.07em;
    font-weight: 950;
    transition: color .35s ease;
}

.bmi-calculator__result-card h3 {
    margin: 0;
    color: var(--navy);
    font-size: clamp(1.6rem, 2.3vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.bmi-gauge {
    position: relative;
    display: grid;
    grid-template-columns: .7fr 1fr 1fr 1.8fr;
    gap: 4px;
    height: 16px;
    margin: 30px 0 24px;
    padding: 0;
}

.bmi-gauge__segment {
    display: block;
    border-radius: 999px;
    opacity: .9;
}

.bmi-gauge__segment--under { background: #5aa7e8; }
.bmi-gauge__segment--normal { background: #39c78a; }
.bmi-gauge__segment--over { background: #f3c34f; }
.bmi-gauge__segment--obesity { background: linear-gradient(90deg, #f09a3e, #d84949, #9f2f55); }

.bmi-gauge__needle {
    position: absolute;
    left: var(--bmi-progress, 0%);
    top: 50%;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: #ffffff;
    border: 5px solid var(--bmi-accent, var(--blue));
    box-shadow: 0 12px 26px rgba(8,48,90,.18);
    transition: left .65s cubic-bezier(.2,.8,.2,1), border-color .35s ease;
}

.bmi-result__message {
    margin: 0;
    max-width: 58ch;
    color: rgba(16,33,60,.70);
    font-size: clamp(1rem, 1.12vw, 1.12rem);
    line-height: 1.75;
    font-weight: 700;
}

.bmi-result__cta {
    width: fit-content;
    margin-top: 26px;
}

.bmi-result__cta[hidden] {
    display: none;
}

.bmi-calculator__result-card.result--under { --bmi-accent: #5aa7e8; border-color: rgba(90,167,232,.30); }
.bmi-calculator__result-card.result--normal { --bmi-accent: #39c78a; border-color: rgba(57,199,138,.28); }
.bmi-calculator__result-card.result--overweight { --bmi-accent: #f3c34f; border-color: rgba(243,195,79,.34); }
.bmi-calculator__result-card.result--obesity1 { --bmi-accent: #f09a3e; border-color: rgba(240,154,62,.34); }
.bmi-calculator__result-card.result--obesity2 { --bmi-accent: #d84949; border-color: rgba(216,73,73,.32); }
.bmi-calculator__result-card.result--obesity3 { --bmi-accent: #9f2f55; border-color: rgba(159,47,85,.32); }

.bmi-calculator__result-card.result--normal .bmi-result__number-wrap strong,
.bmi-calculator__result-card.result--normal h3 {
    color: #0b6d4e;
}

.bmi-calculator__result-card:not(.is-empty) .bmi-result__number-wrap strong {
    color: var(--bmi-accent, var(--navy));
}

@media (max-width: 980px) {
    .bmi-calculator__panel {
        grid-template-columns: 1fr;
        max-width: 720px;
    }

    .bmi-calculator__form-head h3 {
        max-width: 100%;
    }
}

@media (max-width: 760px) {
    .bmi-calculator {
        padding: 66px 0 76px;
    }

    .bmi-calculator__intro {
        text-align: left;
        margin-bottom: 26px;
    }

    .bmi-calculator__intro h2 {
        font-size: clamp(2.45rem, 12vw, 4rem);
        line-height: .94;
    }

    .bmi-calculator__intro p {
        margin-left: 0;
        font-size: .98rem;
        line-height: 1.68;
    }

    .bmi-calculator__form-card,
    .bmi-calculator__result-card {
        border-radius: 28px;
    }

    .bmi-calculator__form-card,
    .bmi-calculator__result-card {
        padding: 26px 22px;
    }

    .bmi-calculator__form-card::after {
        inset: 12px;
        border-radius: 22px;
    }

    .bmi-result__top {
        align-items: flex-start;
    }

    .bmi-result__icon {
        width: 56px;
        height: 56px;
        border-radius: 18px;
    }

    .bmi-result__top small {
        max-width: 18ch;
    }

    .bmi-form input,
    .bmi-form button,
    .bmi-result__cta {
        min-height: 56px;
    }

    .bmi-result__cta {
        width: 100%;
    }
}


/* ===== CHOICE DIFFERENCE V1 ===== */
.choice-difference {
    position: relative;
    overflow: hidden;
    padding: clamp(86px, 7.8vw, 132px) 0 clamp(96px, 8vw, 142px);
    background:
        radial-gradient(circle at 9% 16%, rgba(88,220,232,.09), transparent 26%),
        radial-gradient(circle at 86% 12%, rgba(8,127,228,.07), transparent 25%),
        linear-gradient(180deg, #ffffff 0%, #f8fcff 58%, #ffffff 100%);
    color: var(--ink);
}

.choice-difference::before {
    content: '';
    position: absolute;
    left: -110px;
    top: 86px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(88,220,232,.13), transparent 68%);
    pointer-events: none;
}

.choice-difference::after {
    content: '';
    position: absolute;
    right: clamp(18px, 6vw, 96px);
    top: 44px;
    width: min(720px, 64vw);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8,127,228,.20), rgba(88,220,232,.28), transparent);
    pointer-events: none;
}

.choice-difference .container {
    position: relative;
    z-index: 1;
}

.choice-difference__intro {
    max-width: 900px;
    margin-bottom: clamp(32px, 4.6vw, 62px);
}

.choice-difference__eyebrow {
    margin-bottom: 22px;
    color: var(--blue);
    background: rgba(8,127,228,.07);
    border: 1px solid rgba(8,127,228,.12);
}

.choice-difference__intro h2 {
    margin: 0;
    max-width: 820px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(3rem, 5.3vw, 6.35rem);
    line-height: .9;
    letter-spacing: -.052em;
    color: var(--navy);
    text-wrap: balance;
}

.choice-difference__intro p {
    margin: 24px 0 0;
    max-width: 760px;
    color: rgba(16,33,60,.70);
    font-size: clamp(1rem, 1.15vw, 1.16rem);
    line-height: 1.82;
    font-weight: 650;
}

.choice-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.choice-highlight {
    min-height: 132px;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(8,127,228,.10);
    box-shadow: 0 22px 60px rgba(8,48,90,.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}

.choice-highlight:hover {
    transform: translateY(-5px);
    border-color: rgba(88,220,232,.36);
    box-shadow: 0 30px 74px rgba(8,48,90,.13);
}

.choice-highlight strong {
    display: block;
    margin-bottom: 8px;
    color: var(--blue-deep);
    font-size: clamp(1.9rem, 2.8vw, 3.15rem);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 900;
}

.choice-highlight span {
    color: rgba(16,33,60,.70);
    font-size: .92rem;
    line-height: 1.45;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.choice-compare {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(18px, 2.2vw, 28px);
    align-items: stretch;
}

.choice-card {
    position: relative;
    overflow: hidden;
    min-height: 560px;
    padding: clamp(30px, 3.6vw, 54px);
    border-radius: clamp(28px, 2.8vw, 42px);
    transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}

.choice-card--doctor {
    background:
        radial-gradient(circle at 18% 10%, rgba(88,220,232,.18), transparent 30%),
        linear-gradient(145deg, #071d36 0%, #0b3158 48%, #0a5f9d 100%);
    color: #ffffff;
    box-shadow: 0 34px 92px rgba(8,48,90,.26);
    border: 1px solid rgba(88,220,232,.26);
}

.choice-card--doctor::before {
    content: '';
    position: absolute;
    inset: 18px;
    border-radius: calc(clamp(28px, 2.8vw, 42px) - 10px);
    border: 1px solid rgba(255,255,255,.14);
    pointer-events: none;
}

.choice-card--generic {
    background: rgba(255,255,255,.9);
    color: var(--ink);
    border: 1px solid rgba(8,127,228,.10);
    box-shadow: 0 28px 76px rgba(8,48,90,.10);
}

.choice-card--generic::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8,127,228,.035), transparent 55%, rgba(88,220,232,.05));
    pointer-events: none;
}

.choice-card:hover {
    transform: translateY(-8px);
}

.choice-card--doctor:hover {
    box-shadow: 0 42px 110px rgba(8,48,90,.32);
}

.choice-card--generic:hover {
    box-shadow: 0 34px 86px rgba(8,48,90,.15);
    border-color: rgba(88,220,232,.26);
}

.choice-card__kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    font-size: .78rem;
    line-height: 1;
    letter-spacing: .24em;
    text-transform: uppercase;
    font-weight: 900;
}

.choice-card--doctor .choice-card__kicker {
    color: var(--turquoise);
}

.choice-card--generic .choice-card__kicker {
    color: var(--blue-deep);
}

.choice-card__kicker::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 6px rgba(88,220,232,.14);
}

.choice-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 clamp(26px, 3vw, 44px);
    max-width: 13ch;
    font-size: clamp(2.2rem, 3.6vw, 4.6rem);
    line-height: .93;
    letter-spacing: -.05em;
    font-family: 'Playfair Display', Georgia, serif;
}

.choice-card ul {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.choice-card li {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 14px;
    align-items: start;
    font-size: clamp(.98rem, 1.05vw, 1.08rem);
    line-height: 1.58;
    font-weight: 750;
}

.choice-card li::before {
    content: '✓';
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: .86rem;
    font-weight: 900;
}

.choice-card--doctor li {
    color: rgba(255,255,255,.90);
}

.choice-card--doctor li::before {
    color: #05243f;
    background: var(--turquoise);
    box-shadow: 0 10px 24px rgba(88,220,232,.24);
}

.choice-card--generic li {
    color: rgba(16,33,60,.74);
}

.choice-card--generic li::before {
    color: var(--blue-deep);
    background: rgba(8,127,228,.08);
    border: 1px solid rgba(8,127,228,.14);
}

.choice-card.reveal.is-visible li {
    animation: choiceItemIn .54s ease both;
}

.choice-card.reveal.is-visible li:nth-child(2) { animation-delay: .08s; }
.choice-card.reveal.is-visible li:nth-child(3) { animation-delay: .16s; }
.choice-card.reveal.is-visible li:nth-child(4) { animation-delay: .24s; }
.choice-card.reveal.is-visible li:nth-child(5) { animation-delay: .32s; }
.choice-card.reveal.is-visible li:nth-child(6) { animation-delay: .40s; }

@keyframes choiceItemIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.choice-difference__footer {
    margin: clamp(22px, 3vw, 34px) auto 0;
    max-width: 920px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 20px 18px 28px;
    border-radius: 999px;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(8,127,228,.10);
    box-shadow: 0 20px 58px rgba(8,48,90,.08);
}

.choice-difference__footer p {
    margin: 0;
    color: rgba(16,33,60,.72);
    font-weight: 750;
    line-height: 1.55;
}

.choice-difference__footer a {
    flex: 0 0 auto;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--blue-deep), var(--blue));
    box-shadow: 0 18px 38px rgba(8,127,228,.20);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: transform .35s ease, box-shadow .35s ease;
}

.choice-difference__footer a:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 50px rgba(8,127,228,.28);
}

@media (max-width: 980px) {
    .choice-highlights,
    .choice-compare {
        grid-template-columns: 1fr;
    }

    .choice-highlights {
        max-width: 720px;
    }

    .choice-card {
        min-height: auto;
    }

    .choice-card h3 {
        max-width: 100%;
    }

    .choice-difference__footer {
        max-width: 720px;
        align-items: flex-start;
        border-radius: 30px;
        flex-direction: column;
    }
}

@media (max-width: 760px) {
    .choice-difference {
        padding: 68px 0 82px;
    }

    .choice-difference__intro {
        margin-bottom: 28px;
    }

    .choice-difference__intro h2 {
        font-size: clamp(2.42rem, 11.8vw, 4rem);
        line-height: .94;
    }

    .choice-difference__intro p {
        font-size: .98rem;
        line-height: 1.68;
    }

    .choice-highlight {
        min-height: 112px;
        border-radius: 24px;
        padding: 20px;
    }

    .choice-card {
        padding: 28px 22px;
        border-radius: 30px;
    }

    .choice-card--doctor::before {
        inset: 12px;
        border-radius: 22px;
    }

    .choice-card h3 {
        font-size: clamp(2.15rem, 10vw, 3.35rem);
    }

    .choice-card li {
        grid-template-columns: 26px 1fr;
        gap: 12px;
        font-size: .96rem;
    }

    .choice-card li::before {
        width: 26px;
        height: 26px;
    }

    .choice-difference__footer {
        padding: 22px;
    }

    .choice-difference__footer a {
        width: 100%;
    }
}


/* ===== CHOICE DIFFERENCE V2: SIN MÉTRICAS + ENTRADA LATERAL ===== */
.choice-highlights {
    display: none !important;
}

.choice-difference__intro {
    margin-bottom: clamp(34px, 4.2vw, 58px);
}

.choice-compare {
    margin-top: 0;
}

.choice-card--doctor.reveal {
    transform: translateX(-64px);
}

.choice-card--generic.reveal {
    transform: translateX(64px);
}

.choice-card--doctor.reveal.is-visible,
.choice-card--generic.reveal.is-visible {
    transform: translateX(0);
}

.choice-card.reveal {
    transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease;
}

.choice-card.reveal.is-visible:hover {
    transform: translateY(-8px);
}

.choice-card--doctor.reveal.is-visible li,
.choice-card--generic.reveal.is-visible li {
    animation: choiceItemIn .54s ease both;
}

@media (max-width: 980px) {
    .choice-card--doctor.reveal,
    .choice-card--generic.reveal {
        transform: translateY(22px);
    }

    .choice-card--doctor.reveal.is-visible,
    .choice-card--generic.reveal.is-visible {
        transform: translateY(0);
    }

    .choice-card.reveal.is-visible:hover {
        transform: translateY(-6px);
    }
}


/* ===== CONSULT PARALLAX SECTION V3 ===== */
.consult-parallax {
    --consult-parallax-y: 0px;
    position: relative;
    min-height: clamp(660px, 72vw, 820px);
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: clamp(76px, 7.5vw, 118px) 0;
    background: #ffffff;
    color: var(--navy);
    isolation: isolate;
}

.consult-parallax__media {
    position: absolute;
    inset: -18% 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.consult-parallax__media picture,
.consult-parallax__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.consult-parallax__media img {
    object-fit: cover;
    object-position: center;
    transform: translate3d(0, var(--consult-parallax-y), 0) scale(1.16);
    will-change: transform;
}

.consult-parallax__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.consult-parallax__copy {
    max-width: min(560px, 94vw);
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
}

.consult-parallax__eyebrow {
    color: var(--blue);
    background: transparent;
    border: 0;
    margin-bottom: 16px;
    padding-left: 0;
}

.consult-parallax__copy h2 {
    margin: 0;
    max-width: 12.2ch;
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--navy);
    font-size: clamp(2.7rem, 5vw, 5.45rem);
    line-height: .91;
    letter-spacing: -.055em;
    text-wrap: balance;
    text-shadow: 0 12px 42px rgba(255,255,255,.55);
}

.consult-parallax__lead {
    margin: 24px 0 0;
    max-width: 470px;
    color: rgba(16,33,60,.82);
    font-size: clamp(1rem, 1.1vw, 1.14rem);
    line-height: 1.65;
    font-weight: 850;
    text-shadow: 0 10px 32px rgba(255,255,255,.62);
}

.consult-parallax__includes {
    margin-top: 22px;
    max-width: 520px;
    color: rgba(16,33,60,.86);
    text-shadow: 0 10px 32px rgba(255,255,255,.62);
}

.consult-parallax__includes strong {
    display: block;
    margin-bottom: 12px;
    color: var(--blue);
    font-size: .78rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 950;
}

.consult-parallax__includes ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.consult-parallax__includes li {
    position: relative;
    padding-left: 18px;
    font-size: .98rem;
    line-height: 1.42;
    font-weight: 800;
}

.consult-parallax__includes li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .62em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--blue), var(--turquoise));
    box-shadow: 0 0 0 4px rgba(88,220,232,.16);
}

.consult-parallax__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 28px;
    padding: 0 30px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    font-family: inherit;
    font-size: .96rem;
    font-weight: 950;
    letter-spacing: .02em;
    background: linear-gradient(135deg, var(--blue), var(--turquoise));
    box-shadow: 0 18px 44px rgba(8, 127, 228, .24);
    cursor: default;
    transition: transform .35s ease, box-shadow .35s ease;
}

.consult-parallax__cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 54px rgba(8, 127, 228, .30);
}

.consult-parallax__steps,
.consult-step {
    display: none !important;
}

@media (max-width: 900px) {
    .consult-parallax {
        min-height: 760px;
        align-items: flex-end;
        padding: 360px 0 62px;
    }

    .consult-parallax__media {
        inset: -13% 0 -13%;
    }

    .consult-parallax__media img {
        object-position: center top;
        transform: translate3d(0, var(--consult-parallax-y), 0) scale(1.13);
    }

    .consult-parallax__copy {
        max-width: 100%;
    }

    .consult-parallax__copy h2 {
        max-width: 9.5ch;
        font-size: clamp(2.45rem, 12vw, 4.05rem);
        line-height: .93;
    }

    .consult-parallax__lead {
        max-width: 31ch;
        margin-top: 18px;
        font-size: .98rem;
        line-height: 1.56;
    }

    .consult-parallax__includes {
        margin-top: 18px;
        max-width: 34ch;
    }

    .consult-parallax__includes ul {
        display: block;
    }

    .consult-parallax__includes li {
        margin-top: 8px;
        font-size: .92rem;
    }

    .consult-parallax__cta {
        margin-top: 22px;
        min-height: 50px;
        padding-inline: 24px;
    }
}

@media (max-width: 420px) {
    .consult-parallax {
        min-height: 735px;
        padding-top: 330px;
        padding-bottom: 52px;
    }

    .consult-parallax__media {
        inset: -10% 0 -14%;
    }

    .consult-parallax__media img {
        object-position: 54% top;
    }
}



/* ===== LOCATION MAP SECTION V2 ===== */
.location-map {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    color: var(--ink);
    padding: clamp(72px, 7vw, 112px) 0 0;
}

.location-map::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8,127,228,.18), rgba(88,220,232,.25), transparent);
}

.location-map__intro {
    position: relative;
    z-index: 2;
    max-width: 980px;
    margin: 0 auto clamp(26px, 3vw, 42px);
    text-align: center;
}

.location-map__eyebrow {
    color: var(--blue);
    background: rgba(8,127,228,.07);
    border: 1px solid rgba(8,127,228,.12);
    margin-bottom: 18px;
}

.location-map__intro h2 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(3rem, 5.4vw, 6.3rem);
    line-height: .92;
    letter-spacing: -.05em;
    color: var(--navy);
    text-wrap: balance;
}

.location-map__details {
    position: relative;
    z-index: 3;
    margin-bottom: clamp(30px, 4vw, 56px);
}

.location-map__info {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .92fr) auto;
    align-items: center;
    gap: clamp(20px, 3vw, 46px);
    width: 100%;
    padding: clamp(24px, 2.6vw, 36px);
    border-radius: 34px;
    background:
        linear-gradient(135deg, rgba(4,31,61,.98), rgba(6,79,119,.92));
    border: 1px solid rgba(88,220,232,.22);
    box-shadow: 0 24px 70px rgba(4,31,61,.16);
}

.location-map__info-block {
    min-width: 0;
}

.location-map__info span {
    display: block;
    margin-bottom: 10px;
    color: var(--turquoise);
    font-size: .74rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    font-weight: 950;
}

.location-map__info h3,
.location-map__info p {
    margin: 0;
    color: #ffffff;
    font-weight: 800;
}

.location-map__info h3 {
    max-width: 820px;
    font-size: clamp(1.05rem, 1.45vw, 1.34rem);
    line-height: 1.44;
}

.location-map__info p {
    color: rgba(255,255,255,.82);
    font-size: clamp(.94rem, 1vw, 1rem);
    line-height: 1.62;
}

.location-map__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.location-map__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    text-decoration: none;
    white-space: nowrap;
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 950;
    transition: transform .35s ease, box-shadow .35s ease, background .35s ease, color .35s ease;
}

.location-map__btn--primary {
    color: #041f3d;
    background: linear-gradient(135deg, #ffffff, #dff9ff);
    box-shadow: 0 18px 38px rgba(0,0,0,.16);
}

.location-map__btn--ghost {
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.32);
    background: rgba(255,255,255,.08);
}

.location-map__btn:hover {
    transform: translateY(-3px);
}

.location-map__btn--primary:hover {
    box-shadow: 0 24px 48px rgba(0,0,0,.22);
}

.location-map__btn--ghost:hover {
    background: rgba(255,255,255,.15);
}

.location-map__canvas-wrap {
    position: relative;
    width: 100%;
    min-height: clamp(520px, 45vw, 680px);
    background: #eaf7fb;
    isolation: isolate;
}

.location-map__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: inherit;
    filter: saturate(.94) contrast(1.02);
}

@media (max-width: 1080px) {
    .location-map__info {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .location-map__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .location-map {
        padding-top: 64px;
    }

    .location-map__intro {
        margin-bottom: 24px;
        text-align: left;
    }

    .location-map__intro h2 {
        font-size: clamp(2.45rem, 12vw, 3.75rem);
        line-height: .94;
    }

    .location-map__details {
        margin-bottom: 24px;
    }

    .location-map__info {
        padding: 22px 18px;
        border-radius: 24px;
        gap: 20px;
    }

    .location-map__info h3 {
        font-size: 1rem;
    }

    .location-map__info p {
        font-size: .92rem;
        line-height: 1.58;
    }

    .location-map__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .location-map__canvas-wrap {
        min-height: 520px;
    }
}



/* ===== FAQ + FOOTER V1 ===== */
.faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(86px, 8vw, 132px) 0;
    background:
        radial-gradient(circle at 10% 12%, rgba(88,220,232,.13), transparent 30%),
        radial-gradient(circle at 90% 80%, rgba(8,127,228,.09), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7fbff 52%, #ffffff 100%);
}

.faq-section::before {
    content: '';
    position: absolute;
    left: -80px;
    bottom: 30px;
    width: 360px;
    height: 360px;
    background: linear-gradient(135deg, rgba(8,127,228,.08), rgba(88,220,232,.05));
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    opacity: .55;
    pointer-events: none;
}

.faq-section__inner {
    position: relative;
    z-index: 1;
}

.faq-section__head {
    max-width: 900px;
    margin: 0 auto clamp(38px, 5vw, 68px);
    text-align: center;
}

.faq-section__eyebrow {
    color: var(--blue);
    background: rgba(8,127,228,.07);
    border: 1px solid rgba(8,127,228,.12);
}

.faq-section__head h2 {
    margin: 18px 0 16px;
    color: var(--navy);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.7rem, 5vw, 5.8rem);
    line-height: .94;
    letter-spacing: -.05em;
    text-wrap: balance;
}

.faq-section__head p {
    margin: 0 auto;
    max-width: 660px;
    color: rgba(16,33,60,.68);
    font-size: clamp(1rem, 1.2vw, 1.14rem);
    line-height: 1.78;
    font-weight: 650;
}

.faq-section__layout {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    gap: clamp(22px, 3vw, 42px);
    align-items: start;
}

.faq-section__card {
    position: sticky;
    top: 112px;
    overflow: hidden;
    border-radius: 34px;
    padding: clamp(28px, 3vw, 44px);
    color: #ffffff;
    background:
        radial-gradient(circle at 86% 10%, rgba(88,220,232,.26), transparent 34%),
        linear-gradient(145deg, #06213e 0%, #07365f 48%, #031325 100%);
    box-shadow: 0 30px 90px rgba(5, 25, 45, .22);
    border: 1px solid rgba(255,255,255,.12);
}

.faq-section__card::after {
    content: '';
    position: absolute;
    right: -60px;
    bottom: -80px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    border: 1px solid rgba(88,220,232,.28);
}

.faq-section__card span {
    display: inline-flex;
    margin-bottom: 18px;
    color: #5de8ef;
    font-size: .76rem;
    letter-spacing: .23em;
    text-transform: uppercase;
    font-weight: 950;
}

.faq-section__card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    max-width: 12ch;
    color: #ffffff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.15rem, 3vw, 3.35rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.faq-section__card p {
    position: relative;
    z-index: 1;
    margin: 0 0 26px;
    color: rgba(255,255,255,.78);
    line-height: 1.72;
    font-weight: 650;
}

.faq-section__card a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    color: #041f3d;
    background: linear-gradient(135deg, #ffffff, #dffbff 48%, #58dce8);
    text-decoration: none;
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 950;
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
    transition: transform .35s ease, box-shadow .35s ease;
}

.faq-section__card a:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 54px rgba(0,0,0,.24);
}

.faq-list {
    display: grid;
    gap: 14px;
}

.faq-item {
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(8,127,228,.10);
    box-shadow: 0 18px 52px rgba(8,48,90,.08);
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.faq-item:hover,
.faq-item[open] {
    transform: translateY(-2px);
    border-color: rgba(88,220,232,.34);
    box-shadow: 0 24px 70px rgba(8,48,90,.12);
}

.faq-item summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 26px;
    color: var(--navy);
    font-size: clamp(1rem, 1.2vw, 1.16rem);
    line-height: 1.35;
    font-weight: 900;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary i {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(8,127,228,.08);
    border: 1px solid rgba(8,127,228,.13);
    position: relative;
}

.faq-item summary i::before,
.faq-item summary i::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 13px;
    height: 2px;
    background: var(--blue);
    transform: translate(-50%, -50%);
    border-radius: 999px;
    transition: transform .3s ease;
}

.faq-item summary i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item[open] summary i::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item p {
    margin: -6px 26px 24px;
    max-width: 760px;
    color: rgba(16,33,60,.68);
    line-height: 1.72;
    font-weight: 650;
}

.site-footer {
    position: relative;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(circle at 18% 10%, rgba(88,220,232,.14), transparent 28%),
        radial-gradient(circle at 84% 14%, rgba(8,127,228,.16), transparent 30%),
        linear-gradient(180deg, #061d36 0%, #041426 58%, #020914 100%);
    padding: clamp(72px, 7vw, 116px) 0 28px;
}

.site-footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(255,255,255,.04) 0 1px, transparent 1px 120px),
        linear-gradient(30deg, rgba(255,255,255,.035) 0 1px, transparent 1px 140px);
    opacity: .35;
    pointer-events: none;
}

.site-footer__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(4px);
    pointer-events: none;
}

.site-footer__orb--one {
    width: 360px;
    height: 360px;
    left: -140px;
    top: 80px;
    background: radial-gradient(circle, rgba(88,220,232,.16), transparent 68%);
}

.site-footer__orb--two {
    width: 430px;
    height: 430px;
    right: -170px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(8,127,228,.20), transparent 68%);
}

.site-footer__inner {
    position: relative;
    z-index: 1;
}

.site-footer__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: clamp(18px, 2vw, 28px);
    align-items: stretch;
    margin-bottom: clamp(34px, 4vw, 56px);
}

.site-footer__brand-card,
.site-footer__contact-card {
    border-radius: 34px;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 26px 80px rgba(0,0,0,.18);
    backdrop-filter: blur(16px);
}

.site-footer__brand-card {
    padding: clamp(28px, 3.4vw, 48px);
}

.site-footer__logo {
    display: inline-flex;
    width: min(280px, 82vw);
    min-height: 82px;
    align-items: center;
    padding: 14px 18px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.site-footer__logo img {
    display: block;
    max-width: 100%;
    height: auto;
}

.site-footer__brand-card p {
    margin: 28px 0 0;
    max-width: 720px;
    color: rgba(255,255,255,.78);
    font-size: clamp(1rem, 1.2vw, 1.14rem);
    line-height: 1.76;
    font-weight: 650;
}

.site-footer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.site-footer__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border-radius: 999px;
    text-decoration: none;
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 950;
    transition: transform .35s ease, box-shadow .35s ease, background .35s ease;
}

.site-footer__btn--primary {
    color: #03172b;
    background: linear-gradient(135deg, #ffffff, #dffbff 45%, #5de8ef);
    box-shadow: 0 18px 42px rgba(0,0,0,.20);
}

.site-footer__btn--ghost {
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.06);
}

.site-footer__btn:hover {
    transform: translateY(-3px);
}

.site-footer__contact-card {
    padding: clamp(28px, 3vw, 42px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
}

.site-footer__contact-card span,
.site-footer__column h3 {
    color: #5de8ef;
    font-size: .74rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 950;
}

.site-footer__contact-card a {
    color: #ffffff;
    text-decoration: none;
    font-size: clamp(1.02rem, 1.25vw, 1.22rem);
    font-weight: 850;
    transition: color .25s ease, transform .25s ease;
}

.site-footer__contact-card a:hover,
.site-footer__column a:hover {
    color: #5de8ef;
    transform: translateX(3px);
}

.site-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 44px);
    padding: clamp(28px, 3.4vw, 46px) 0;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.site-footer__column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.site-footer__column h3 {
    margin: 0 0 7px;
}

.site-footer__column a,
.site-footer__column p {
    color: rgba(255,255,255,.72);
    text-decoration: none;
    line-height: 1.62;
    font-size: .95rem;
    font-weight: 650;
    transition: color .25s ease, transform .25s ease;
}

.site-footer__column--info h3:not(:first-child) {
    margin-top: 18px;
}

.site-footer__bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 28px;
    color: rgba(255,255,255,.58);
    font-size: .88rem;
    line-height: 1.55;
}

.site-footer__bottom p,
.site-footer__bottom small {
    margin: 0;
}

@media (max-width: 980px) {
    .faq-section__layout,
    .site-footer__hero,
    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .faq-section__card {
        position: relative;
        top: auto;
    }

    .site-footer__grid {
        gap: 28px;
    }
}

@media (max-width: 640px) {
    .faq-section {
        padding: 68px 0;
    }

    .faq-section__head {
        text-align: left;
        margin-bottom: 28px;
    }

    .faq-section__head h2 {
        font-size: clamp(2.45rem, 12vw, 3.7rem);
    }

    .faq-section__card,
    .site-footer__brand-card,
    .site-footer__contact-card {
        border-radius: 26px;
    }

    .faq-item summary {
        padding: 20px 18px;
    }

    .faq-item p {
        margin: -4px 18px 20px;
        font-size: .94rem;
    }

    .site-footer {
        padding-top: 64px;
    }

    .site-footer__actions,
    .site-footer__bottom {
        display: grid;
        grid-template-columns: 1fr;
    }

    .site-footer__btn {
        width: 100%;
    }
}


/* =========================
   PATCH LULAB — HOME RESTAURADO + NAVEGACIÓN MULTIPÁGINA
   ========================= */
.home-nav-bar{
    background:rgba(255,255,255,.98);
    border-top:1px solid rgba(9,70,128,.08);
    border-bottom:1px solid rgba(9,70,128,.12);
    position:sticky;
    top:0;
    z-index:80;
    backdrop-filter:blur(16px);
}
.home-nav-bar__inner{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2px;
    min-height:58px;
}
.home-nav-link{
    display:flex;
    align-items:center;
    min-height:58px;
    padding:0 13px;
    font-size:13px;
    font-weight:900;
    color:#183457;
    letter-spacing:.01em;
    white-space:nowrap;
}
.home-nav-link:hover{color:#087fe4;}
.home-nav-dropdown{position:relative;}
.home-nav-dropdown__panel{
    position:absolute;
    left:0;
    top:100%;
    min-width:315px;
    background:#fff;
    border:1px solid rgba(8,127,228,.12);
    box-shadow:0 28px 70px rgba(4,42,89,.16);
    padding:16px;
    display:none;
    z-index:95;
}
.home-nav-dropdown:hover .home-nav-dropdown__panel{display:grid;}
.home-nav-dropdown__panel a{
    color:#25476c;
    font-size:14px;
    font-weight:800;
    padding:10px 12px;
    border-bottom:1px solid rgba(8,127,228,.08);
}
.home-nav-dropdown__panel a:hover{color:#087fe4;}
.mobile-menu__nav{
    display:grid;
    gap:4px;
    margin:14px 0 4px;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
}
.mobile-menu__nav a{
    color:#fff;
    font-weight:900;
    padding:10px 0;
    letter-spacing:.01em;
}
.about-doctor__learn-more,
.section-learn-more,
.bmi-calculator__learn-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    font-weight:900;
    color:#fff;
    border-bottom:2px solid currentColor;
}
.about-doctor__learn-more::after,
.section-learn-more::after,
.bmi-calculator__learn-more::after{content:'→';}
.section-learn-more--center{color:#087fe4;margin-top:20px;}
.section-learn-more--light{color:#fff;}
.bmi-calculator__learn-more{color:#087fe4;margin-top:18px;}
.service-card--link{cursor:pointer;}
.service-card--link:focus-visible{outline:4px solid rgba(88,220,232,.85);outline-offset:6px;}
.consult-parallax__cta{text-decoration:none;}

/* FAQ limpio solicitado */
.faq-section--clean{
    padding:110px 0;
    background:#fff;
    color:#10213c;
}
.faq-clean-home__inner{
    display:grid;
    grid-template-columns:.62fr 1fr;
    gap:72px;
    align-items:start;
}
.faq-section__head--clean{
    max-width:440px;
    position:sticky;
    top:96px;
}
.faq-section--clean .faq-section__head h2{color:#0b2442;}
.faq-section--clean .faq-section__head p{color:#576b81;}
.faq-list--clean{
    display:block;
    background:transparent;
    border:0;
}
.faq-item--clean{
    border:0;
    border-top:1px solid rgba(8,127,228,.16);
    border-radius:0;
    padding:0;
    background:transparent;
    box-shadow:none;
}
.faq-item--clean:last-child{border-bottom:1px solid rgba(8,127,228,.16);}
.faq-item--clean summary{
    list-style:none;
    cursor:pointer;
    padding:25px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    color:#10213c;
    font-weight:900;
    font-size:19px;
}
.faq-item--clean summary::-webkit-details-marker{display:none;}
.faq-item--clean summary i{
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid rgba(8,127,228,.28);
    flex:0 0 34px;
    position:relative;
}
.faq-item--clean summary i:before,
.faq-item--clean summary i:after{
    content:'';
    position:absolute;
    background:#087fe4;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
}
.faq-item--clean summary i:before{width:14px;height:2px;}
.faq-item--clean summary i:after{width:2px;height:14px;}
.faq-item--clean[open] summary i:after{opacity:0;}
.faq-item--clean p{
    color:#53687f;
    font-size:17px;
    line-height:1.75;
    max-width:820px;
    margin:0;
    padding:0 0 26px;
}
.faq-clean-home__cta{
    grid-column:2;
    border-top:1px solid rgba(8,127,228,.16);
    padding-top:28px;
}
.faq-clean-home__cta p{color:#53687f;margin:0 0 18px;}
.faq-clean-home__cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 22px;
    border-radius:999px;
    background:#087fe4;
    color:#fff;
    font-weight:900;
}

/* Footer home limpio, ancho y sin recuadros */
.clean-site-footer{
    background:#fff;
    color:#183457;
    border-top:1px solid rgba(8,127,228,.14);
    padding:86px 0 0;
}
.clean-site-footer__inner{
    display:grid;
    grid-template-columns:1.18fr 1.05fr .88fr .88fr;
    gap:56px;
    align-items:start;
}
.clean-site-footer__logo img{width:240px;height:auto;margin-bottom:26px;}
.clean-site-footer p{color:#52677f;line-height:1.75;font-size:15px;margin:0 0 14px;}
.clean-site-footer h3{
    color:#0b2442;
    font-family:'Manrope',system-ui,sans-serif;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.16em;
    margin:0 0 22px;
    font-weight:900;
}
.clean-site-footer a{color:#274a70;font-weight:800;}
.clean-site-footer a:hover{color:#087fe4;}
.clean-site-footer__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.clean-site-footer__actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(8,127,228,.18);
    border-radius:999px;
    padding:11px 16px;
    color:#0b2442;
}
.clean-site-footer__contact a,
.clean-site-footer__links a{
    display:block;
    margin:0 0 11px;
}
.clean-site-footer__bottom{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    border-top:1px solid rgba(8,127,228,.12);
    margin-top:64px;
    padding:24px 0;
}
.clean-site-footer__bottom p,
.clean-site-footer__bottom small{font-size:13px;color:#64778c;line-height:1.6;}

/* Estilos multipágina internos — sin tocar el home restaurado */
.wide{width:min(1240px,calc(100% - 56px));margin-left:auto;margin-right:auto;}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,127,228,.12);color:#183457;}
.site-header .topline{font-size:13px;border-bottom:1px solid rgba(8,127,228,.10);color:#50677f;}
.site-header .topline .wide{min-height:36px;display:flex;align-items:center;gap:26px;}
.site-header .topline__right{margin-left:auto;display:flex;gap:14px;align-items:center;}
.site-header .lang{font-weight:900;color:#70839a;}
.site-header .lang.is-active{color:#087fe4;}
.site-header .mainnav{height:82px;display:flex;align-items:center;gap:26px;}
.site-header .brand img{width:210px;height:auto;}
.site-header .desktop-nav{display:flex;gap:2px;align-items:center;margin-left:auto;}
.site-header .nav-link{display:block;padding:28px 13px;font-size:14px;font-weight:900;color:#203a58;white-space:nowrap;}
.site-header .nav-link:hover,.site-header .nav-link.is-active{color:#087fe4;}
.site-header .nav-dropdown{position:relative;}
.site-header .dropdown-panel{position:absolute;left:0;top:100%;min-width:315px;background:#fff;box-shadow:0 30px 90px rgba(8,43,87,.14);border:1px solid rgba(8,127,228,.12);padding:18px;display:none;grid-template-columns:1fr;gap:2px;}
.site-header .nav-dropdown:hover .dropdown-panel{display:grid;}
.site-header .dropdown-panel a{padding:10px 12px;border-bottom:1px solid #eef4fb;color:#23384f;font-weight:800;font-size:14px;}
.site-header .dropdown-panel a:hover{color:#087fe4;}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;font-weight:900;background:#087fe4;color:#fff;box-shadow:0 12px 30px rgba(8,127,228,.25);}
.site-header .menu-toggle{display:none;margin-left:auto;background:transparent;border:0;font-weight:900;color:#0b2442;align-items:center;gap:10px;}
.site-header .menu-toggle i{width:34px;height:2px;background:#0b2442;display:block;position:relative;}
.site-header .menu-toggle i:before,.site-header .menu-toggle i:after{content:'';position:absolute;left:0;width:34px;height:2px;background:#0b2442;}
.site-header .menu-toggle i:before{top:-8px;}.site-header .menu-toggle i:after{top:8px;}
.site-header .mobile-nav{display:none;}
.page-hero{padding:72px 0 92px;background:linear-gradient(130deg,#f7fbff,#fff);color:#10213c;}
.page-hero__grid{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:center;}
.page-hero .eyebrow,.intro-section .section-number,.content-stream .stream-row__index,.link-directory .eyebrow,.clinical-gallery .eyebrow,.faq-clean .eyebrow,.comparison .eyebrow,.bmi-block .eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#16a6cf;font-size:12px;margin-bottom:14px;}
.page-hero h1,.intro-section h2,.content-stream h2,.link-directory h2,.clinical-gallery h2,.comparison h2,.faq-clean h2,.contact-band h2{font-family:'Playfair Display',Georgia,serif;line-height:1.04;color:#0b2442;margin:0 0 18px;letter-spacing:-.035em;}
.page-hero h1{font-size:clamp(44px,6vw,82px);}
.page-hero__copy p{font-size:20px;max-width:700px;color:#5a6d82;line-height:1.75;}
.page-hero__media img{width:100%;max-height:650px;object-fit:contain;background:#fff;box-shadow:0 30px 90px rgba(8,43,87,.12);}
.page-hero .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.page-hero .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;font-weight:900;text-decoration:none;}
.page-hero .btn-primary{background:#087fe4;color:#fff;box-shadow:0 12px 30px rgba(8,127,228,.25);}
.page-hero .btn-ghost{border:1px solid rgba(8,127,228,.18);color:#0b2442;background:#fff;}
.intro-section{padding:100px 0;background:#fff;color:#10213c;}
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:start;}
.split--center{align-items:center;}
.intro-section h2,.content-stream h2,.link-directory h2,.clinical-gallery h2,.comparison h2,.faq-clean h2,.contact-band h2{font-size:clamp(34px,4vw,58px);}
.prose p,.stream-row__body p{font-size:18px;color:#52677f;line-height:1.8;margin:0 0 18px;}
.content-stream,.link-directory,.comparison{padding:100px 0;background:#f4f9fd;color:#10213c;}
.stream-row{display:grid;grid-template-columns:90px 1fr;gap:46px;padding:50px 0;border-top:1px solid rgba(8,127,228,.12);}
.stream-row__body{max-width:900px;}
.clean-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;}
.clean-list li{padding-left:26px;position:relative;color:#3f5268;font-weight:800;}
.clean-list li:before{content:'';position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:#16a6cf;}
.directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(8,127,228,.12);border-left:1px solid rgba(8,127,228,.12);background:#fff;margin-top:28px;}
.directory-grid a{min-height:120px;padding:24px;border-right:1px solid rgba(8,127,228,.12);border-bottom:1px solid rgba(8,127,228,.12);font-weight:900;color:#0b2442;display:flex;justify-content:space-between;align-items:flex-end;}
.directory-grid a:hover{background:#f8fcff;color:#087fe4;}
.clinical-gallery{padding:100px 0;background:#fff;color:#10213c;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;}
.gallery-grid figure{margin:0;}.gallery-grid img{height:360px;width:100%;object-fit:contain;background:#fff;border:1px solid rgba(8,127,228,.12);padding:18px;}.gallery-grid figcaption{font-weight:800;margin-top:8px;color:#52677c;}
.faq-clean{padding:110px 0;background:#fff;color:#10213c;}
.faq-clean__grid{display:grid;grid-template-columns:.65fr 1fr;gap:80px;}
.faq-clean p{color:#52677f;line-height:1.75;}
.faq-answer__cta{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:12px 18px;border-radius:999px;background:#16a6cf;color:#fff;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:0 12px 28px rgba(22,166,207,.22);} 
.faq-answer__cta:hover{background:#0d8db2;transform:translateY(-1px);box-shadow:0 16px 32px rgba(13,141,178,.28);} 

.faq-list details{border-top:1px solid rgba(8,127,228,.14);padding:24px 0;}
.faq-list details:last-child{border-bottom:1px solid rgba(8,127,228,.14);}
.faq-list summary{cursor:pointer;font-weight:900;color:#0b2442;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:20px;}
.faq-list summary::-webkit-details-marker{display:none;}.faq-list summary:after{content:'+';color:#087fe4;font-size:28px;line-height:1}.faq-list details[open] summary:after{content:'–';}.faq-list p{margin:14px 0 0;}
.bmi-block{padding:100px 0;background:#fff;color:#10213c;}.bmi-grid{display:grid;grid-template-columns:.85fr 1fr;gap:80px;align-items:center;}.bmi-card{border-top:2px solid #087fe4;border-bottom:2px solid #087fe4;padding:34px 0;display:grid;gap:16px}.bmi-card label{font-weight:900;color:#0b2442}.bmi-card input{width:100%;margin-top:7px;border:1px solid rgba(8,127,228,.18);height:52px;padding:0 14px;font:inherit}.bmi-card button{height:54px;border:0;background:#0b2442;color:#fff;font-weight:900;cursor:pointer}.bmi-result{display:flex;align-items:center;gap:18px}.bmi-result strong{font-size:56px;color:#087fe4;line-height:1}.bmi-result span{font-weight:900;color:#0b2442}
.contact-band{padding:100px 0;background:#0b2442;color:#fff;}.contact-band h2{color:#fff;}.contact-band p{color:rgba(255,255,255,.82);line-height:1.75}.contact-band__inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;}.contact-links{display:flex;gap:12px;flex-wrap:wrap;}.contact-links a{background:#fff;color:#0b2442;padding:14px 20px;border-radius:999px;font-weight:900;}
.site-footer{background:#fff;color:#21364d;padding-top:90px;border-top:1px solid rgba(8,127,228,.12);}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr;gap:54px;align-items:start}.footer-brand img{width:230px;margin-bottom:22px}.footer-brand p,.footer-col p{font-size:15px;color:#52677f;line-height:1.75}.footer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.footer-actions a{border:1px solid rgba(8,127,228,.18);border-radius:999px;padding:11px 16px;font-weight:900;color:#0b2442}.footer-col h3{font-family:Manrope,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:22px;color:#0b2442}.footer-col a{display:block;margin:0 0 10px;color:#43576d;font-weight:800}.footer-col a:hover{color:#087fe4}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(8,127,228,.12);margin-top:60px;padding:22px 0}.footer-bottom p{font-size:13px;margin:0;color:#64778c}.contact-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:white;display:grid;place-items:center;font-weight:900;box-shadow:0 18px 42px rgba(0,0,0,.22);z-index:60}
.table-wrap{overflow-x:auto;background:#fff;border:1px solid rgba(8,127,228,.12);margin-top:24px}table{width:100%;border-collapse:collapse}th,td{padding:20px;border-bottom:1px solid rgba(8,127,228,.12);text-align:left}th{color:#0b2442;font-size:13px;text-transform:uppercase;letter-spacing:.12em}td{color:#42566c;font-weight:800}
@media(max-width:1180px){.home-nav-link{padding:0 9px;font-size:12px}.home-nav-bar__inner{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.home-nav-bar__inner::-webkit-scrollbar{display:none}}
@media(max-width:1060px){
    .home-nav-bar{display:none;}
    .wide{width:min(100% - 32px,1240px)}
    .site-header .desktop-nav,.site-header .nav-cta,.site-header .topline{display:none}.site-header .mainnav{height:74px}.site-header .brand img{width:180px}.site-header .menu-toggle{display:flex}.site-header .mobile-nav{display:none;position:absolute;left:0;right:0;top:74px;background:#fff;border-bottom:1px solid rgba(8,127,228,.12);padding:18px 24px;box-shadow:0 30px 90px rgba(8,43,87,.12)}.site-header .mobile-nav.is-open{display:grid;gap:4px}.site-header .mobile-nav a{padding:14px 0;font-weight:900;border-bottom:1px solid rgba(8,127,228,.12);color:#0b2442}.site-header .mobile-nav__cta{color:#087fe4!important}
    .faq-clean-home__inner,.split,.page-hero__grid,.bmi-grid,.faq-clean__grid,.contact-band__inner,.footer-grid,.clean-site-footer__inner{grid-template-columns:1fr;gap:34px}.faq-section__head--clean{position:static;}.faq-clean-home__cta{grid-column:auto}.directory-grid{grid-template-columns:repeat(2,1fr)}.page-hero{padding:52px 0}.gallery-grid{grid-template-columns:1fr 1fr}.footer-bottom,.clean-site-footer__bottom{display:grid}.clean-site-footer__logo img{width:210px}
}
@media(max-width:680px){
    .faq-section--clean,.page-hero,.intro-section,.content-stream,.link-directory,.clinical-gallery,.comparison,.bmi-block,.faq-clean,.contact-band,.clean-site-footer{padding-top:70px;padding-bottom:70px}.stream-row{grid-template-columns:1fr;gap:10px}.directory-grid,.gallery-grid{grid-template-columns:1fr}.page-hero__media img{max-height:420px}.contact-links{display:grid}.bmi-result strong{font-size:44px}.faq-item--clean summary{font-size:17px}.clean-site-footer__bottom{margin-top:32px}.site-header .brand img{width:165px}
}

/* =========================
   PATCH FINAL — 78: FAQ ALINEADO + HEADER ÚNICO + MENÚ MÓVIL CON SUBPÁGINAS
   ========================= */
.faq-section--clean{
    padding:96px 0 104px !important;
}
.faq-clean-home__inner{
    max-width:1180px;
    margin-inline:auto;
    grid-template-columns:minmax(300px,.58fr) minmax(540px,1fr) !important;
    gap:76px !important;
    align-items:start !important;
}
.faq-section__head--clean{
    top:118px !important;
    max-width:390px !important;
}
.faq-section__head--clean .section-eyebrow{
    display:inline-flex;
    align-items:center;
    width:auto;
    margin-bottom:18px;
}
.faq-section__head--clean h2{
    margin:0 0 18px !important;
    max-width:390px;
    font-size:clamp(46px,5.2vw,76px) !important;
    line-height:.94 !important;
    letter-spacing:-.055em !important;
}
.faq-section__head--clean p{
    max-width:360px;
    font-size:16px !important;
    line-height:1.7 !important;
}
.faq-list--clean{
    gap:0 !important;
    width:100%;
}
.faq-item--clean,
.faq-item--clean:hover,
.faq-item--clean[open]{
    transform:none !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
}
.faq-item--clean summary{
    position:relative;
    width:100%;
    min-height:88px;
    display:grid !important;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:26px;
    padding:24px 0 !important;
    outline:none !important;
    border:0 !important;
    font-size:18px !important;
    line-height:1.35 !important;
}
.faq-item--clean summary:focus,
.faq-item--clean summary:focus-visible{
    outline:none !important;
}
.faq-item--clean summary::after{
    content:none !important;
    display:none !important;
}
.faq-item--clean summary i{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:end;
    margin-right:0 !important;
    background:rgba(8,127,228,.06) !important;
}
.faq-item--clean p{
    max-width:850px !important;
    margin:0 !important;
    padding:0 60px 28px 0 !important;
}
.faq-clean-home__cta{
    margin-top:4px;
}

/* Header de multipágina igual al home aprobado */
.desktop-top + .home-nav-bar{
    box-shadow:0 8px 24px rgba(10,37,72,.04);
}
body:has(.desktop-top) .site-header{display:none !important;}

/* Menú móvil consistente, oscuro, con subpáginas visibles */
.mobile-menu__close{
    display:none;
}
@media (max-width:1060px){
    .home-nav-bar{display:none !important;}
}
@media (max-width:760px){
    body{
        background:#fff !important;
    }
    body.mobile-menu-open{
        overflow:hidden;
    }
    .desktop-top{
        display:none !important;
    }
    .mobile-top{
        position:sticky !important;
        top:0;
        z-index:160 !important;
        min-height:78px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        padding:10px 18px !important;
        background:#fff !important;
        color:#0b2442 !important;
        border-bottom:1px solid rgba(8,127,228,.12);
        box-shadow:0 12px 32px rgba(8,43,87,.08) !important;
    }
    .brand--mobile{
        width:178px !important;
        height:56px !important;
        padding:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        overflow:visible !important;
    }
    .brand--mobile img{
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
    }
    .mobile-menu-toggle{
        position:relative;
        z-index:175;
        color:#0b2442 !important;
        gap:12px !important;
        font-size:15px !important;
    }
    .mobile-menu-toggle i,
    .mobile-menu-toggle i::before,
    .mobile-menu-toggle i::after{
        width:32px !important;
        height:2px !important;
        background:currentColor !important;
    }
    .mobile-menu{
        position:fixed !important;
        z-index:170 !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        width:min(88vw,430px) !important;
        height:100dvh !important;
        display:block !important;
        padding:82px 34px 34px !important;
        overflow-y:auto !important;
        background:linear-gradient(145deg,#587684 0%,#456a7a 48%,#315b70 100%) !important;
        color:#fff !important;
        border:0 !important;
        box-shadow:-32px 0 80px rgba(4,24,48,.28) !important;
        transform:translateX(112%) !important;
        transition:transform .32s ease !important;
    }
    .mobile-menu.is-open{
        transform:translateX(0) !important;
    }
    .mobile-menu__close{
        position:absolute;
        top:22px;
        right:28px;
        width:46px;
        height:46px;
        display:grid;
        place-items:center;
        border:0;
        border-radius:50%;
        background:rgba(255,255,255,.08);
        color:#fff;
        font-size:34px;
        line-height:1;
        cursor:pointer;
    }
    .mobile-menu__languages{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
        padding:6px !important;
        margin:0 0 16px !important;
        border:1px solid rgba(255,255,255,.18) !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.08) !important;
    }
    .mobile-menu__languages a{
        text-align:center !important;
        color:#fff !important;
        padding:10px 12px !important;
        border-radius:999px !important;
        font-weight:900 !important;
    }
    .mobile-menu__languages a.is-active{
        color:#0b2442 !important;
        background:#fff !important;
    }
    .mobile-menu__cta{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-height:48px !important;
        margin:0 0 24px !important;
        padding:12px 18px !important;
        border-radius:999px !important;
        color:#0b2442 !important;
        background:#fff !important;
        font-weight:950 !important;
        box-shadow:0 14px 34px rgba(0,0,0,.12) !important;
    }
    .mobile-menu__nav{
        display:grid !important;
        gap:0 !important;
        margin:0 !important;
        padding:0 !important;
        border-top:1px solid rgba(255,255,255,.22) !important;
        border-bottom:1px solid rgba(255,255,255,.22) !important;
    }
    .mobile-menu__nav > a,
    .mobile-menu__group > summary{
        min-height:48px;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        padding:14px 0 !important;
        border-bottom:1px solid rgba(255,255,255,.18) !important;
        color:#fff !important;
        font-size:18px !important;
        line-height:1.25 !important;
        font-weight:850 !important;
        letter-spacing:.01em;
    }
    .mobile-menu__nav > a:last-child{
        border-bottom:0 !important;
    }
    .mobile-menu__group{
        border:0 !important;
        background:transparent !important;
    }
    .mobile-menu__group summary{
        cursor:pointer;
        list-style:none;
    }
    .mobile-menu__group summary::-webkit-details-marker{
        display:none;
    }
    .mobile-menu__group summary::after{
        content:'+';
        width:28px;
        height:28px;
        display:inline-grid;
        place-items:center;
        border-radius:50%;
        background:rgba(255,255,255,.12);
        font-size:22px;
        line-height:1;
        color:#fff;
        margin-left:20px;
    }
    .mobile-menu__group[open] summary::after{
        content:'–';
    }
    .mobile-menu__group div{
        display:grid;
        gap:0;
        padding:0 0 12px 16px;
        border-bottom:1px solid rgba(255,255,255,.18);
    }
    .mobile-menu__group div a{
        color:rgba(255,255,255,.86) !important;
        font-size:14px !important;
        font-weight:800 !important;
        line-height:1.3 !important;
        padding:9px 0 !important;
        border:0 !important;
    }
    .mobile-menu__socials{
        display:flex !important;
        justify-content:flex-start !important;
        gap:18px !important;
        margin-top:28px !important;
        padding:0 !important;
    }
    .mobile-social{
        width:42px !important;
        height:42px !important;
        border-radius:50% !important;
        background:rgba(255,255,255,.13) !important;
        color:#fff !important;
    }
    .mobile-social svg{
        width:20px !important;
        height:20px !important;
        fill:currentColor !important;
    }
    .mobile-social--muted{
        opacity:.75;
    }
    .mobile-action-bar{
        z-index:50;
    }
    .faq-clean-home__inner{
        grid-template-columns:1fr !important;
        gap:26px !important;
    }
    .faq-section__head--clean{
        position:static !important;
        max-width:100% !important;
        text-align:left !important;
    }
    .faq-section__head--clean h2{
        font-size:clamp(42px,14vw,64px) !important;
        max-width:340px !important;
    }
    .faq-section__head--clean p{
        max-width:100% !important;
    }
    .faq-item--clean summary{
        min-height:72px;
        font-size:16px !important;
        gap:18px !important;
    }
    .faq-item--clean p{
        padding-right:0 !important;
        font-size:15px !important;
    }
}

/* ===== Internal pages refresh: visual rhythm, pending media and animations ===== */
.io-reveal{
    opacity:1;
    transform:none;
    transition:opacity .7s ease, transform .7s ease;
}
.io-reveal.is-reveal-pending{
    opacity:0;
    transform:translate3d(0,24px,0);
}
.io-reveal.is-visible{
    opacity:1;
    transform:none;
}

.page-hero{
    position:relative;
    overflow:hidden;
}
.page-hero--split{
    padding:86px 0 96px;
    background:linear-gradient(180deg,#f8fbff 0%, #ffffff 100%);
}
.page-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
    gap:72px;
    align-items:center;
}
.page-hero__copy{
    position:relative;
    z-index:2;
}
.page-hero__copy p{
    max-width:760px;
}
.page-hero__mini-points{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.page-hero__mini-points span,
.hero-fact{
    border:1px solid rgba(8,127,228,.14);
    background:rgba(255,255,255,.88);
    border-radius:999px;
    padding:10px 14px;
    color:#1d3857;
    font-size:13px;
    font-weight:800;
}
.page-hero__media{
    position:relative;
    border-radius:34px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 30px 85px rgba(11,36,66,.12);
}
.page-hero__media img{
    width:100%;
    height:100%;
    min-height:420px;
    transition:transform .55s ease;
}
.page-hero__media:hover img{transform:scale(1.02);}
.page-hero__media--cover img{object-fit:cover;}
.page-hero__media--contain img{object-fit:contain;padding:14px;}

.page-hero--full{
    min-height:690px;
    display:flex;
    align-items:flex-end;
    padding:110px 0 80px;
    color:#fff;
    background:#0b2442;
}
.page-hero__backdrop,
.page-hero__veil{
    position:absolute;
    inset:0;
}
.page-hero__backdrop{
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
    filter:saturate(1.02);
}
.page-hero__veil{
    background:linear-gradient(90deg,rgba(11,36,66,.92) 0%, rgba(11,36,66,.72) 45%, rgba(11,36,66,.35) 100%);
}
.page-hero__full-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,380px);
    gap:40px;
    align-items:end;
}
.page-hero--full .eyebrow,
.value-highlights .eyebrow,
.visual-band .eyebrow,
.related-links .eyebrow{
    color:#8bd7ff;
}
.page-hero--full h1,
.page-hero--full p{
    color:#fff;
}
.page-hero--full p{max-width:720px;color:rgba(255,255,255,.86);}
.page-hero--full .btn-ghost{
    background:rgba(255,255,255,.16);
    color:#fff;
    border-color:rgba(255,255,255,.2);
}
.page-hero__facts{
    justify-self:end;
    width:100%;
}
.hero-facts-card{
    backdrop-filter:blur(12px);
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    padding:24px;
    display:grid;
    gap:14px;
}
.hero-fact{
    display:grid;
    gap:4px;
    border-radius:20px;
}
.hero-fact strong{display:block;color:#fff;font-size:14px;}
.hero-fact span{display:block;color:rgba(255,255,255,.78);font-size:13px;line-height:1.5;}

.page-hero--parallax-clean{
    min-height:820px;
    align-items:center;
    padding:130px 0 118px;
    background:#f3ece5;
    color:#0b2442;
}
.page-hero--parallax-clean .page-hero__picture{
    display:block;
    overflow:hidden;
    transform:none;
    filter:none;
}
.page-hero--parallax-clean .page-hero__picture img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
    transform:translate3d(0,var(--page-hero-parallax-y,0px),0) scale(1.08);
    transition:transform .12s linear;
}
.page-hero--parallax-clean .page-hero__veil{
    background:linear-gradient(90deg,rgba(247,241,235,.08) 0%, rgba(247,241,235,.02) 100%);
}
.page-hero--parallax-clean .page-hero__full-inner{
    grid-template-columns:minmax(0,620px);
    justify-content:flex-start;
    align-items:center;
}
.page-hero--parallax-clean .page-hero__copy{
    max-width:560px;
}
.page-hero--parallax-clean .eyebrow,
.page-hero--parallax-clean h1,
.page-hero--parallax-clean p{
    color:#0b2442;
}
.page-hero--parallax-clean p{
    max-width:560px;
    color:#445d78;
}
.page-hero--parallax-clean .hero-actions{
    margin-top:30px;
}
.page-hero--parallax-clean .btn-ghost{
    background:rgba(255,255,255,.88);
    color:#0b2442;
    border-color:rgba(11,36,66,.12);
}
.page-hero--parallax-clean .btn-ghost:hover{
    background:#fff;
}

.editorial-module__actions{
    margin-top:26px;
}
.editorial-module__actions .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 24px;
    border-radius:999px;
    background:linear-gradient(135deg,#0077c8,#10b7ca);
    color:#fff;
    text-decoration:none;
    font-weight:900;
    box-shadow:0 18px 42px rgba(0,119,200,.18);
    transition:transform .28s ease,box-shadow .28s ease;
}
.editorial-module__actions .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 54px rgba(0,119,200,.24);
}


.value-highlights,
.related-links{
    padding:92px 0;
    background:#f3f9fd;
    color:#10213c;
}
.value-highlights__intro,
.related-links__head,
.clinical-gallery__head{
    max-width:760px;
    margin-bottom:34px;
}
.value-highlights__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.value-card{
    background:#fff;
    border:1px solid rgba(8,127,228,.08);
    border-radius:28px;
    padding:30px 26px;
    box-shadow:0 20px 55px rgba(10,49,88,.06);
}
.value-card__index{
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#eaf6ff;
    color:#087fe4;
    font-weight:900;
    font-size:13px;
    margin-bottom:16px;
}
.value-card h3{
    margin:0 0 12px;
    font-size:22px;
    line-height:1.2;
    color:#0b2442;
}
.value-card p{
    margin:0;
    color:#586b80;
    line-height:1.78;
}

.visual-band{
    padding:92px 0;
    background:#fff;
}
.visual-band__grid{
    display:grid;
    grid-template-columns:minmax(280px,.95fr) minmax(0,1fr);
    gap:56px;
    align-items:center;
}
.visual-band--reverse .visual-band__grid .visual-band__media{order:2;}
.visual-band--reverse .visual-band__grid .visual-band__copy{order:1;}
.visual-band__media{
    border-radius:34px;
    overflow:hidden;
    background:#f7fbff;
    box-shadow:0 22px 72px rgba(10,49,88,.08);
}
.visual-band__media img{
    width:100%;
    display:block;
    min-height:360px;
    object-fit:cover;
}
.visual-band__copy p{
    margin:0 0 16px;
    line-height:1.82;
    color:#586b80;
}

.content-stream{
    background:linear-gradient(180deg,#f5fbff 0%, #eef7fd 100%);
}
.stream-row{
    align-items:start;
    gap:26px;
    padding:34px 0;
    border-top:1px solid rgba(8,127,228,.1);
}
.stream-row:first-child{border-top:none;}
.stream-row__index{
    width:72px;
    height:72px;
    border-radius:50%;
    background:#fff;
    display:grid;
    place-items:center;
    box-shadow:0 14px 38px rgba(10,49,88,.08);
}
.stream-row__body{
    background:#fff;
    border-radius:28px;
    padding:28px 30px;
    box-shadow:0 20px 58px rgba(10,49,88,.06);
    border:1px solid rgba(8,127,228,.06);
}
.stream-row__body p{
    color:#586b80;
    line-height:1.82;
}
.stream-row__body .clean-list li{
    color:#405266;
}

.clinical-gallery{
    padding:96px 0;
    background:#fff;
}
.clinical-gallery__head p{
    color:#586b80;
    line-height:1.82;
}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.gallery-grid figure{
    margin:0;
    background:#fff;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 22px 56px rgba(10,49,88,.08);
    border:1px solid rgba(8,127,228,.08);
}
.gallery-grid img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
}
.gallery-grid figcaption{
    padding:16px 18px 18px;
    font-size:14px;
    color:#36506a;
    font-weight:700;
}

.directory-grid--related{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.directory-grid a{
    position:relative;
    overflow:hidden;
}
.directory-grid a::after{
    content:'';
    position:absolute;
    inset:auto 0 0 0;
    height:3px;
    transform:scaleX(0);
    transform-origin:left center;
    background:linear-gradient(90deg,#087fe4,#16a6cf);
    transition:transform .35s ease;
}
.directory-grid a:hover::after{transform:scaleX(1);}
.directory-grid a b{transition:transform .35s ease;}
.directory-grid a:hover b{transform:translateX(4px);}

.faq-clean details,
.contact-links a,
.footer-actions a,
.page-hero .btn,
.contact-float{
    transition:transform .28s ease, box-shadow .28s ease, background-color .28s ease, color .28s ease;
}
.contact-links a:hover,
.footer-actions a:hover,
.page-hero .btn:hover,
.contact-float:hover{
    transform:translateY(-2px);
}

@media(max-width:1100px){
    .page-hero__grid,
    .visual-band__grid,
    .page-hero__full-inner,
    .value-highlights__grid,
    .directory-grid--related,
    .gallery-grid{
        grid-template-columns:1fr 1fr;
    }
    .page-hero__full-inner{grid-template-columns:1fr;}
}

@media(max-width:820px){
    .page-hero--split,
    .page-hero--full,
    .value-highlights,
    .visual-band,
    .clinical-gallery,
    .related-links{padding:70px 0;}
    .page-hero__grid,
    .visual-band__grid,
    .value-highlights__grid,
    .gallery-grid,
    .directory-grid--related{grid-template-columns:1fr;}
    .page-hero__media img{min-height:320px;}
    .visual-band__media img{min-height:280px;}
    .page-hero--full{min-height:auto;padding:90px 0 58px;}
    .page-hero__veil{background:linear-gradient(180deg,rgba(11,36,66,.9) 0%, rgba(11,36,66,.66) 100%);}
    .page-hero__facts{justify-self:auto;}
    .page-hero--parallax-clean{min-height:680px;padding:96px 0 84px;align-items:flex-end;}
    .page-hero--parallax-clean .page-hero__picture img{object-position:center center;transform:translate3d(0,var(--page-hero-parallax-y,0px),0) scale(1.08);}
    .page-hero--parallax-clean .page-hero__veil{background:linear-gradient(180deg,rgba(247,241,235,.18) 0%, rgba(247,241,235,.04) 100%);}
    .page-hero--parallax-clean .page-hero__copy{max-width:100%;}
    .page-hero--parallax-clean h1{font-size:clamp(40px,10vw,64px);}
    .cards-module--story .cards-module__grid{grid-template-columns:1fr;}

    .stream-row__body{padding:22px;}
}

/* ===== Internal pages number alignment fix =====
   Scope: internal page sections only. Home markup/classes are not changed. */
.intro-section .section-number{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:44px;
    height:32px;
    padding:0 12px;
    border-radius:999px;
    background:#eaf6ff;
    color:#087fe4;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1;
    margin:0 0 18px;
    box-shadow:0 10px 24px rgba(8,127,228,.08);
}

.content-stream .stream-row{
    display:grid;
    grid-template-columns:76px minmax(0,900px);
    justify-content:center;
    align-items:start;
    gap:24px;
}

.content-stream .stream-row__index{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:50%;
    background:#fff;
    color:#087fe4;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1;
    margin:0;
    padding:0;
    box-shadow:0 16px 36px rgba(10,49,88,.08);
    border:1px solid rgba(8,127,228,.08);
    text-align:center;
}

.content-stream .stream-row__body{
    width:100%;
    max-width:900px;
}

@media(max-width:820px){
    .content-stream .stream-row{
        grid-template-columns:1fr;
        gap:14px;
        padding:28px 0;
    }
    .content-stream .stream-row__index{
        width:44px;
        height:44px;
        min-width:44px;
        font-size:11px;
        margin-left:2px;
    }
}

/* ===== Premium internal page modules (home untouched) ===== */
.internal-module{position:relative;padding:92px 0;background:#fff;color:#0b2442;overflow:hidden;}
.internal-module:nth-of-type(even){background:#f5fbff;}
.internal-module.checklist-module{background:#0b2442;color:#fff;}
.internal-module.checklist-module h2,.internal-module.checklist-module p{color:#fff;}
.module-head{max-width:780px;margin:0 0 38px;}
.module-head h2,.editorial-module h2,.feature-module h2,.video-module h2,.checklist-module h2{font-family:'Playfair Display',serif;color:#071d36;line-height:1.05;font-size:clamp(34px,4vw,58px);margin:10px 0 14px;}
.module-head p,.feature-module__copy p,.video-module__copy p,.editorial-module__body p,.checklist-module__copy p{color:#52667d;line-height:1.82;font-size:16px;}
.editorial-module__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:78px;align-items:start;}
.editorial-module--deep{background:#0b2442;color:#fff;}
.editorial-module--deep h2,.editorial-module--deep p{color:#fff;}
.editorial-module__body p{margin:0 0 22px;}
.editorial-module__aside{margin-top:30px;padding-top:24px;border-top:1px solid rgba(8,127,228,.18);}
.editorial-module__aside strong{display:block;color:#087fe4;margin-bottom:8px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;}
.editorial-module__aside p{font-weight:700;color:#223f5e;margin:0 0 10px;}
.feature-module__grid{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);gap:62px;align-items:center;}
.feature-module--reverse .feature-module__media{order:2;}
.feature-module--reverse .feature-module__copy{order:1;}
.feature-module__media{margin:0;border-radius:34px;overflow:hidden;min-height:420px;background:linear-gradient(135deg,#eef8ff,#fff);box-shadow:0 28px 80px rgba(10,49,88,.1);}
.feature-module__media img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;transition:transform .55s ease;}
.feature-module__media:hover img{transform:scale(1.025);}
.feature-module--contained .feature-module__media img{object-fit:contain;padding:18px;background:#fff;}
.video-module__grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:56px;align-items:center;}
.video-module--reverse .video-module__copy{order:2;}
.video-module--reverse .video-module__media{order:1;}
.video-module__media{margin:0;border-radius:30px;overflow:hidden;background:#071d36;box-shadow:0 28px 80px rgba(10,49,88,.12);}
.video-module__player{display:block;width:100%;aspect-ratio:16/9;max-height:560px;object-fit:contain;background:#071d36;}
.video-module__media figcaption{padding:14px 18px;background:#fff;color:#40566e;font-size:13px;line-height:1.45;font-weight:800;}
.video-module__cta{display:inline-flex;align-items:center;justify-content:center;margin-top:22px;min-height:48px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,#0077c8,#10b7ca);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 18px 42px rgba(0,119,200,.18);transition:transform .28s ease,box-shadow .28s ease;}
.video-module__cta:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(0,119,200,.24);}
.feature-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:13px;}
.feature-list li{position:relative;padding-left:28px;color:#314b66;line-height:1.65;font-weight:700;}
.feature-list li:before{content:'';position:absolute;left:0;top:.6em;width:9px;height:9px;border-radius:50%;background:#087fe4;box-shadow:0 0 0 6px rgba(8,127,228,.09);}
.steps-module{background:#f2f9fe;}
.steps-module__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.step-item{position:relative;padding:34px 28px;background:#fff;border-radius:28px;border:1px solid rgba(8,127,228,.08);box-shadow:0 20px 56px rgba(10,49,88,.06);}
.steps-module--path .step-item:after{content:'';position:absolute;top:48px;right:-22px;width:22px;height:2px;background:rgba(8,127,228,.26);}
.steps-module--path .step-item:last-child:after{display:none;}
.step-item span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#eaf6ff;color:#087fe4;font-weight:900;font-size:12px;margin-bottom:18px;}
.step-item h3,.info-card h3,.stage-row h3,.faq-category h3{margin:0 0 12px;color:#0b2442;font-size:22px;line-height:1.18;}
.step-item p,.info-card p,.stage-row p{margin:0;color:#52667d;line-height:1.75;}
.cards-module__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;}
.cards-module--open .cards-module__grid{gap:32px;}
.cards-module--open .info-card{background:rgba(255,255,255,.72);border:1px solid rgba(8,127,228,.14);padding:30px 28px;box-shadow:none;border-radius:18px;}
.cards-module--solid .info-card,.info-card{background:#fff;border-radius:28px;padding:28px;border:1px solid rgba(8,127,228,.08);box-shadow:0 20px 56px rgba(10,49,88,.06);}
.cards-module--story .cards-module__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.cards-module--story .info-card{
    position:relative;
    overflow:hidden;
    padding:34px 32px 30px;
    border-radius:30px;
    border:1px solid rgba(8,127,228,.12);
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%, rgba(244,250,255,.96) 100%);
    box-shadow:0 24px 60px rgba(11,36,66,.08);
}
.cards-module--story .info-card::before{
    content:'';
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:6px;
    background:linear-gradient(90deg,#0aa6cf 0%, #087fe4 100%);
}
.cards-module--story .info-card__icon{
    width:auto;
    height:auto;
    border-radius:999px;
    background:transparent;
    color:#087fe4;
    margin-bottom:14px;
    font-size:12px;
    letter-spacing:.18em;
    font-weight:900;
    padding:0;
}
.cards-module--story .info-card h3{
    margin-bottom:14px;
    font-size:28px;
}
.cards-module--story .info-card p{
    font-size:16px;
    line-height:1.82;
}

.info-card__icon{display:inline-flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:#eaf6ff;color:#087fe4;font-weight:900;margin-bottom:16px;}
.checklist-module{background:#0b2442;color:#fff;}
.checklist-module__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:70px;align-items:start;}
.checklist-module h2,.checklist-module p{color:#fff;}
.checklist-module__list{display:grid;gap:12px;}
.checkline{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;border-bottom:1px solid rgba(255,255,255,.12);padding:0 0 16px;}
.checkline span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#087fe4;color:#fff;font-weight:900;}
.checkline p{margin:0;color:rgba(255,255,255,.86);line-height:1.65;}
.module-note{margin-top:20px;color:rgba(255,255,255,.72)!important;font-size:14px;}
.stages-module{background:#f6fbff;}
.stages-module__list{display:grid;gap:18px;}
.stage-row{display:grid;grid-template-columns:150px 1fr;gap:36px;padding:28px 0;border-top:1px solid rgba(8,127,228,.16);}
.stage-row__label{font-weight:900;color:#087fe4;letter-spacing:.08em;text-transform:uppercase;font-size:13px;}
.gallery-module__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.gallery-module figure{margin:0;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 20px 50px rgba(10,49,88,.08);}
.gallery-module img{display:block;width:100%;height:260px;object-fit:cover;}
.gallery-module figcaption{padding:14px 16px;font-weight:700;color:#40566e;font-size:13px;line-height:1.45;}
.links-module__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.links-module__grid a{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;color:#0b2442;background:#fff;border:1px solid rgba(8,127,228,.09);border-radius:22px;padding:22px 24px;font-weight:900;box-shadow:0 16px 44px rgba(10,49,88,.05);transition:.28s ease;}
.links-module__grid a:hover{transform:translateY(-3px);box-shadow:0 22px 58px rgba(10,49,88,.1);}
.links-module__grid b{color:#087fe4;}
.comparison-module__table{overflow:auto;border-radius:26px;background:#fff;box-shadow:0 22px 60px rgba(10,49,88,.08);}
.comparison-module table{width:100%;border-collapse:collapse;min-width:720px;}
.comparison-module th{background:#0b2442;color:#fff;text-align:left;padding:18px 20px;font-size:14px;}
.comparison-module td{padding:18px 20px;border-bottom:1px solid rgba(8,127,228,.1);color:#465d75;line-height:1.6;}
.contact-options__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:62px;align-items:center;}
.contact-options__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;min-width:0;}
.contact-options__cards a{display:grid;gap:8px;min-width:0;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(8,127,228,.1);text-decoration:none;color:#0b2442;box-shadow:0 18px 50px rgba(10,49,88,.06);}
.contact-options__cards strong{font-size:18px;}
.contact-options__cards span{color:#52667d;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;}
.quote-module{background:#f4faff;}
.quote-module blockquote{max-width:940px;margin:0 auto;text-align:center;}
.quote-module p{font-family:'Playfair Display',serif;font-size:clamp(34px,4.5vw,64px);line-height:1.08;color:#071d36;margin:0;}
.quote-module cite{display:block;margin-top:20px;color:#087fe4;font-weight:800;font-style:normal;}
.faq-categories{background:#fff;}
.faq-categories__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.faq-category{border-top:1px solid rgba(8,127,228,.18);padding-top:24px;}
.faq-category details{border-bottom:1px solid rgba(8,127,228,.12);padding:16px 0;}
.faq-category summary{cursor:pointer;font-weight:900;color:#0b2442;}
.faq-category p{color:#52667d;line-height:1.7;margin:12px 0 0;}
.bmi-block--tool{
    background:linear-gradient(135deg,#f7fbff 0%,#fff 54%,#edf8fb 100%);
}
.bmi-block--tool .bmi-grid{
    align-items:stretch;
}
.bmi-block--tool .io-reveal:first-child{
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-left:4px solid #087fe4;
    padding-left:32px;
}
.bmi-block--tool small{
    display:block;
    margin-top:18px;
    color:#5f7081;
    font-weight:800;
}
.bmi-block--tool .bmi-card{
    border:1px solid rgba(8,127,228,.13);
    border-top:4px solid #087fe4;
    border-radius:24px;
    padding:30px;
    background:#fff;
    box-shadow:0 22px 70px rgba(10,49,88,.08);
}
.resource-hub{
    background:#f6fbff;
}
.resource-hub__head{
    max-width:820px;
}
.resource-hub__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-top:34px;
}
.resource-topic{
    display:flex;
    min-height:100%;
    flex-direction:column;
    justify-content:space-between;
    gap:26px;
    padding:30px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(8,127,228,.10);
    box-shadow:0 20px 60px rgba(10,49,88,.07);
}
.resource-topic h3{
    margin:0 0 12px;
    color:#0b2442;
    font-size:24px;
    line-height:1.16;
}
.resource-topic p{
    margin:0;
    color:#52667d;
    line-height:1.72;
}
.resource-topic__links{
    display:grid;
    gap:10px;
}
.resource-topic__links a{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    text-decoration:none;
    color:#0b2442;
    font-weight:900;
    padding:13px 0;
    border-top:1px solid rgba(8,127,228,.12);
}
.resource-topic__links b{
    color:#087fe4;
}
.io-reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease;}
.io-reveal.is-reveal-pending{opacity:0;transform:translate3d(0,24px,0);}
.io-reveal.is-visible{opacity:1;transform:none;}

@media(max-width:1100px){
  .editorial-module__grid,.feature-module__grid,.video-module__grid,.checklist-module__grid,.contact-options__grid{grid-template-columns:1fr;gap:38px;}
  .steps-module__grid,.cards-module__grid,.links-module__grid,.contact-options__cards,.resource-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gallery-module__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .internal-module{padding:68px 0;}
  .steps-module__grid,.cards-module__grid,.links-module__grid,.contact-options__cards,.gallery-module__grid,.faq-categories__grid,.resource-hub__grid{grid-template-columns:1fr;}
  .stage-row{grid-template-columns:1fr;gap:10px;}
  .feature-module--reverse .feature-module__media,.feature-module--reverse .feature-module__copy{order:initial;}
  .video-module--reverse .video-module__media,.video-module--reverse .video-module__copy{order:initial;}
  .feature-module__media,.feature-module__media img{min-height:300px;}
  .video-module__player{aspect-ratio:4/5;max-height:620px;}
  .steps-module--path .step-item:after{display:none;}
  .bmi-block--tool .io-reveal:first-child{padding-left:22px;}
  .bmi-block--tool .bmi-card{padding:24px;}
}

/* FINAL COLOR REFRESH - clinical blue, white and fresh green accents */
:root{
    --turquoise:#39d6c8;
    --turquoise-strong:#10b7ca;
    --blue:#0077c8;
    --blue-soft:#159be0;
    --blue-deep:#064a78;
    --navy:#082843;
    --ink:#12304f;
    --muted:rgba(255,255,255,.88);
    --line:rgba(255,255,255,.28);
    --shadow:0 24px 76px rgba(2,68,126,.22);
    --medical-green:#26c985;
    --medical-mint:#e9fbf6;
    --clinical-sky:#eef8ff;
}

::selection{
    color:var(--navy);
    background:rgba(38,201,133,.28);
}

.desktop-top,
.mobile-top,
.site-header{
    background:rgba(255,255,255,.985);
    border-bottom-color:rgba(0,119,200,.16);
    box-shadow:0 16px 48px rgba(6,74,120,.09);
}

.home-nav-bar{
    background:linear-gradient(90deg,var(--blue-deep) 0%,var(--blue) 58%,var(--turquoise-strong) 100%);
    border-bottom:1px solid rgba(255,255,255,.18);
    box-shadow:0 18px 42px rgba(6,74,120,.14);
}

.home-nav-link{
    color:rgba(255,255,255,.92);
}

.home-nav-link:hover,
.home-nav-link.is-active{
    color:#ffffff;
    background:rgba(255,255,255,.14);
}

.home-nav-dropdown__panel,
.site-header .dropdown-panel{
    border-color:rgba(0,119,200,.14);
    box-shadow:0 30px 90px rgba(6,74,120,.16);
}

.home-nav-dropdown__panel a:hover,
.site-header .dropdown-panel a:hover{
    color:var(--blue);
    background:var(--clinical-sky);
}

.lang-switch{
    background:rgba(0,119,200,.08);
    border-color:rgba(0,119,200,.14);
}

.lang-switch__link.is-active,
.lang-switch__link:hover,
.contact-chip,
.btn--primary,
.page-hero .btn-primary,
.faq-clean-home__cta a,
.faq-answer__cta,
.bmi-form button,
.bmi-result__cta,
.bmi-block--tool .bmi-card button,
.site-header .nav-cta,
.mobile-menu__cta{
    color:#ffffff;
    background:linear-gradient(135deg,var(--blue) 0%,var(--turquoise-strong) 58%,var(--medical-green) 100%);
    box-shadow:0 18px 42px rgba(0,119,200,.26);
}

.contact-chip:hover,
.btn--primary:hover,
.page-hero .btn-primary:hover,
.faq-clean-home__cta a:hover,
.faq-answer__cta:hover,
.bmi-form button:hover,
.bmi-result__cta:hover,
.site-header .nav-cta:hover,
.mobile-menu__cta:hover{
    box-shadow:0 22px 52px rgba(16,183,202,.30);
}

.hero{
    background:var(--blue-deep);
}

.hero__video{
    filter:none;
}

.hero__overlay{
    background:
        linear-gradient(90deg,rgba(5,17,33,.26) 0%,rgba(5,17,33,.14) 42%,rgba(5,17,33,0) 100%),
        linear-gradient(180deg,rgba(5,17,33,.04) 0%,rgba(5,17,33,.08) 100%);
}

.hero::after{
    background:none;
}

.hero__line{
    border-color:rgba(255,255,255,.18);
}

.section-eyebrow,
.about-doctor__eyebrow,
.patient-reviews__eyebrow,
.bmi-calculator__eyebrow,
.choice-difference__eyebrow,
.page-hero .eyebrow,
.intro-section .section-number,
.content-stream .stream-row__index,
.link-directory .eyebrow,
.clinical-gallery .eyebrow,
.faq-clean .eyebrow,
.comparison .eyebrow,
.bmi-block .eyebrow,
.module-head .eyebrow,
.stage-row__label,
.quote-module cite{
    color:var(--turquoise-strong);
}

.doctor-stats,
.bmi-calculator,
.choice-difference,
.content-stream,
.link-directory,
.comparison,
.steps-module,
.stages-module,
.quote-module,
.resource-hub,
.internal-module:nth-of-type(even){
    background:linear-gradient(180deg,#f8fcff 0%,#eef8ff 58%,#f7fffc 100%);
}

.about-doctor,
.page-hero,
.bmi-block--tool{
    background:
        radial-gradient(circle at 12% 16%,rgba(57,214,200,.10),transparent 28%),
        radial-gradient(circle at 88% 12%,rgba(38,201,133,.08),transparent 26%),
        linear-gradient(135deg,#ffffff 0%,#f3fbff 58%,#f1fff9 100%);
}

.patient-reviews,
.contact-band,
.checklist-module,
.internal-module.checklist-module,
.editorial-module--deep{
    background:linear-gradient(145deg,#05233e 0%,#064a78 52%,#087e9e 100%);
}

.patient-reviews__overlay{
    background:
        radial-gradient(circle at 82% 20%,rgba(57,214,200,.26),transparent 34%),
        linear-gradient(115deg,rgba(5,35,62,.76) 0%,rgba(6,74,120,.62) 36%,rgba(38,201,133,.20) 72%,rgba(5,20,36,.58) 100%);
}

.page-hero__veil{
    background:linear-gradient(90deg,rgba(5,35,62,.78) 0%,rgba(6,74,120,.58) 46%,rgba(16,183,202,.28) 100%);
}

.page-hero--parallax-clean .page-hero__veil{
    background:linear-gradient(90deg,rgba(255,255,255,.12) 0%,rgba(233,251,246,.08) 100%);
}

.bmi-calculator__form-card,
.bmi-calculator__result-card,
.choice-highlight,
.choice-card,
.value-card,
.step-item,
.info-card,
.cards-module--story .info-card,
.resource-topic,
.contact-options__cards a,
.gallery-grid figure,
.feature-module__media,
.comparison-module__table{
    border-color:rgba(0,119,200,.12);
    box-shadow:0 24px 68px rgba(6,74,120,.10);
}

.choice-highlight:hover,
.choice-card:hover,
.value-card:hover,
.step-item:hover,
.info-card:hover,
.resource-topic:hover,
.contact-options__cards a:hover{
    border-color:rgba(16,183,202,.28);
    box-shadow:0 30px 82px rgba(6,74,120,.15);
}

.clean-list li::before,
.feature-list li::before,
.directory-grid a::after,
.cards-module--story .info-card::before,
.bmi-block--tool .io-reveal:first-child,
.bmi-block--tool .bmi-card{
    border-color:var(--turquoise-strong);
}

.clean-list li::before,
.feature-list li::before,
.directory-grid a::after,
.cards-module--story .info-card::before,
.checkline span,
.info-card__icon,
.step-item span{
    background:linear-gradient(135deg,var(--medical-green),var(--turquoise-strong));
}

.info-card__icon,
.step-item span,
.content-stream .stream-row__index,
.intro-section .section-number{
    color:#06395f;
}

.page-hero h1,
.intro-section h2,
.content-stream h2,
.link-directory h2,
.clinical-gallery h2,
.comparison h2,
.faq-clean h2,
.module-head h2,
.editorial-module h2,
.feature-module h2,
.quote-module p{
    color:#071f3a;
}

.prose p,
.stream-row__body p,
.page-hero__copy p,
.module-head p,
.feature-module__copy p,
.editorial-module__body p,
.resource-topic p,
.contact-options__cards span{
    color:#4c657f;
}

.social-link,
.mobile-social{
    background:#ffffff;
    border:2px solid rgba(0,119,200,.10);
    box-shadow:0 14px 32px rgba(6,74,120,.13);
}

.social-link[aria-label="Instagram"],
.mobile-social[aria-label="Instagram"]{
    color:#e4405f;
    background:
        linear-gradient(#ffffff,#ffffff) padding-box,
        radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%) border-box;
    border-color:transparent;
}

.social-link[aria-label="Facebook"],
.mobile-social[aria-label="Facebook"]{
    color:#1877f2;
    background:#ffffff;
    border-color:rgba(24,119,242,.22);
}

.social-link[aria-label="TikTok"],
.mobile-social[aria-label="TikTok"]{
    color:#111111;
    background:#ffffff;
    border-color:rgba(17,17,17,.14);
}

.social-link[aria-label="TikTok"] svg,
.mobile-social[aria-label="TikTok"] svg{
    filter:drop-shadow(1px 0 0 #fe2c55) drop-shadow(-1px 0 0 #25f4ee);
}

.social-link:hover,
.mobile-social:hover{
    box-shadow:0 20px 44px rgba(6,74,120,.18);
}

.contact-float{
    background:#25d366;
    color:#ffffff;
    box-shadow:0 18px 44px rgba(37,211,102,.32);
}

.contact-float:hover{
    background:#1ebe5d;
    box-shadow:0 24px 54px rgba(37,211,102,.38);
}

@media(max-width:1060px){
    .mobile-menu{
        background:linear-gradient(145deg,#05233e 0%,#064a78 52%,#0c829f 100%) !important;
    }

    .mobile-menu__languages a.is-active{
        background:#ffffff !important;
        color:var(--blue-deep) !important;
    }
}

/* Ajuste final home: encuadre profesional del bloque del doctor */
@media (min-width: 981px){
    .about-doctor__visual{
        aspect-ratio:auto;
        min-height:clamp(700px,44vw,830px);
    }

    .about-doctor__bg{
        height:100%;
        min-height:0;
        object-fit:cover;
        object-position:center top;
    }

    .about-doctor__content-wrap{
        justify-content:center;
        padding-top:clamp(34px,3.8vw,58px);
        padding-bottom:clamp(34px,3.8vw,58px);
        padding-right:clamp(18px,4.2vw,82px);
    }

    .about-doctor__copy,
    .about-logos{
        width:min(100%,500px);
    }

    .about-doctor__copy h2{
        font-size:clamp(2.5rem,3.7vw,4.45rem);
        max-width:9.2ch;
    }

    .about-doctor__copy p{
        margin-top:16px;
        line-height:1.64;
    }

    .about-logos{
        margin-top:22px;
        gap:12px 18px;
    }

    .about-logo{
        min-height:58px;
    }
}

@media (min-width: 981px) and (max-width: 1280px){
    .about-doctor__visual{
        min-height:720px;
    }

    .about-doctor__content-wrap{
        padding-right:clamp(16px,2.4vw,34px);
    }

    .about-doctor__copy,
    .about-logos{
        width:min(100%,440px);
    }
}


/* MiniMed about-logo sizing adjustment */
@media (max-width: 760px){
    .about-logo__mark--minimed::before{
        width:7px;
        height:24px;
    }

    .about-logo__mark--minimed::after{
        width:24px;
        height:7px;
    }
}


/* MiniMed home badge symmetry fix */
.about-logo--minimed {
    min-height: 64px;
}

.about-logo--minimed .about-logo__text span {
    opacity: .88;
}

/* Language switch clean flag style */
.lang-switch {
    gap: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.lang-switch__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(16,33,60,.72) !important;
    line-height: 1 !important;
    transform: none !important;
}

.lang-switch__link::before,
.mobile-menu__languages a::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    box-shadow: 0 0 0 1px rgba(16,33,60,.16);
}

.lang-switch__link:first-child::before,
.mobile-menu__languages a:first-child::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Crect x='12' width='12' height='12' fill='%23d21034'/%3E%3Crect y='12' width='12' height='12' fill='%230056b3'/%3E%3Cpath fill='%230056b3' d='M6 2.8l.8 2.4h2.5L7.3 6.7l.8 2.5L6 7.7 3.9 9.2l.8-2.5-2-1.5h2.5z'/%3E%3Cpath fill='%23d21034' d='M18 14.8l.8 2.4h2.5l-2 1.5.8 2.5-2.1-1.5-2.1 1.5.8-2.5-2-1.5h2.5z'/%3E%3C/svg%3E");
}

.lang-switch__link:last-child::before,
.mobile-menu__languages a:last-child::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 247 247'%3E%3Crect width='247' height='247' fill='%23fff'/%3E%3Cpath fill='%23b22234' d='M0 0h247v19H0zm0 38h247v19H0zm0 76h247v19H0zm0 38h247v19H0zm0 38h247v19H0zm0 38h247v19H0zM0 76h247v19H0z'/%3E%3Crect width='106' height='133' fill='%233c3b6e'/%3E%3Cg fill='%23fff'%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3Ccircle cx='32' cy='14' r='3'/%3E%3Ccircle cx='50' cy='14' r='3'/%3E%3Ccircle cx='68' cy='14' r='3'/%3E%3Ccircle cx='86' cy='14' r='3'/%3E%3Ccircle cx='23' cy='32' r='3'/%3E%3Ccircle cx='41' cy='32' r='3'/%3E%3Ccircle cx='59' cy='32' r='3'/%3E%3Ccircle cx='77' cy='32' r='3'/%3E%3Ccircle cx='14' cy='50' r='3'/%3E%3Ccircle cx='32' cy='50' r='3'/%3E%3Ccircle cx='50' cy='50' r='3'/%3E%3Ccircle cx='68' cy='50' r='3'/%3E%3Ccircle cx='86' cy='50' r='3'/%3E%3Ccircle cx='23' cy='68' r='3'/%3E%3Ccircle cx='41' cy='68' r='3'/%3E%3Ccircle cx='59' cy='68' r='3'/%3E%3Ccircle cx='77' cy='68' r='3'/%3E%3Ccircle cx='14' cy='86' r='3'/%3E%3Ccircle cx='32' cy='86' r='3'/%3E%3Ccircle cx='50' cy='86' r='3'/%3E%3Ccircle cx='68' cy='86' r='3'/%3E%3Ccircle cx='86' cy='86' r='3'/%3E%3Ccircle cx='23' cy='104' r='3'/%3E%3Ccircle cx='41' cy='104' r='3'/%3E%3Ccircle cx='59' cy='104' r='3'/%3E%3Ccircle cx='77' cy='104' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

.lang-switch__link.is-active,
.lang-switch__link:hover {
    color: var(--blue) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.mobile-menu__languages {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.mobile-menu__languages a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 1 !important;
}

.mobile-menu__languages a.is-active,
.mobile-menu__languages a:hover {
    background: transparent !important;
    box-shadow: none !important;
}

/* Client panel link in header */
.client-panel-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    color: var(--blue);
    font-size: .82rem;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
    background: rgba(8,127,228,.08);
    border: 1px solid rgba(8,127,228,.18);
    box-shadow: none;
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.client-panel-chip:hover {
    transform: translateY(-2px);
    color: #ffffff;
    background: linear-gradient(135deg, var(--blue), var(--turquoise-strong));
    border-color: transparent;
}

.doctor-stat__value--rank {
    letter-spacing: -.03em;
}

.doctor-stats__note {
    position: relative;
    z-index: 1;
    width: min(100%, 760px);
    margin: -8px auto 34px;
    color: rgba(16,33,60,.74);
    font-size: .98rem;
    line-height: 1.55;
    text-align: center;
    font-weight: 750;
}

.mobile-menu__panel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: -12px 0 22px !important;
    padding: 11px 18px !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

@media (max-width: 1180px) {
    .desktop-top__right {
        gap: 9px;
    }

    .client-panel-chip {
        padding-inline: 13px;
        font-size: .78rem;
    }
}

@media (max-width: 760px) {
    .doctor-stats__note {
        margin: 0 auto 28px;
        padding: 0 18px;
        font-size: .93rem;
    }
}

.blog-card__placeholder { position: relative; }
.blog-card__body time { display: block; text-align: right; }
.blog-article__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 48px; }
.blog-article__meta .blog-back { margin-bottom: 0; }
.blog-article__meta time { white-space: nowrap; }
@media (max-width: 760px) { .blog-article__meta { margin-bottom: 34px; } }

/* ===== SOURCE: phase1-premium.css ===== */
/*
 * FASE 1 — Sistema visual premium
 * Dr. Edgardo Saavedra
 *
 * Este archivo se carga después de styles.css y funciona como una capa
 * incremental. No altera rutas, contenido, PHP, SEO ni base de datos.
 */

:root {
    --font-display: 'Newsreader', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
    --font-sans: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --premium-navy-950: #061923;
    --premium-navy-900: #071f2d;
    --premium-navy-800: #0c3141;
    --premium-petrol: #174b5c;
    --premium-teal: #2f8585;
    --premium-teal-dark: #246d70;
    --premium-teal-soft: #dceceb;
    --premium-ivory: #f4f1ea;
    --premium-sand: #e9e2d6;
    --premium-paper: #fffdf9;
    --premium-white: #ffffff;
    --premium-slate: #52636b;
    --premium-line: rgba(7, 31, 45, .12);
    --premium-line-strong: rgba(7, 31, 45, .2);
    --premium-bronze: #a77847;

    --premium-radius-sm: 12px;
    --premium-radius-md: 20px;
    --premium-radius-lg: 30px;
    --premium-radius-xl: 42px;

    --premium-shadow-sm: 0 10px 30px rgba(6, 25, 35, .06);
    --premium-shadow-md: 0 24px 70px rgba(6, 25, 35, .1);
    --premium-shadow-lg: 0 40px 110px rgba(6, 25, 35, .16);

    --premium-ease: cubic-bezier(.22, 1, .36, 1);

    /* Compatibilidad con las variables existentes. */
    --white: var(--premium-white);
    --turquoise: #79aaa6;
    --turquoise-strong: var(--premium-teal);
    --blue: var(--premium-teal-dark);
    --blue-soft: var(--premium-teal);
    --blue-deep: var(--premium-navy-900);
    --navy: var(--premium-navy-900);
    --ink: #16313e;
    --medical-green: var(--premium-teal);
    --medical-mint: #e8f2f0;
    --clinical-sky: #eef3f1;
    --shadow: var(--premium-shadow-md);
    --container: 1240px;
}

html {
    scroll-padding-top: 72px;
}

body.premium-phase-1 {
    color: var(--ink);
    background: var(--premium-paper);
    font-family: var(--font-sans);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.premium-phase-1 ::selection {
    color: var(--premium-paper);
    background: var(--premium-petrol);
}

body.premium-phase-1 :where(h1, h2) {
    font-family: var(--font-display) !important;
    font-weight: 560 !important;
    letter-spacing: -.038em;
    text-wrap: balance;
}

body.premium-phase-1 :where(h3, h4, h5, h6, p, a, button, input, textarea, select) {
    font-family: var(--font-sans);
}

body.premium-phase-1 :where(p, li) {
    text-wrap: pretty;
}

body.premium-phase-1 :where(a, button, input, textarea, select, summary):focus-visible {
    outline: 3px solid rgba(47, 133, 133, .38);
    outline-offset: 4px;
}

body.premium-phase-1 .container,
body.premium-phase-1 .wide {
    width: min(calc(100% - 56px), var(--container));
}

/* =========================
   Encabezado y navegación
   ========================= */
body.premium-phase-1 .desktop-top {
    color: var(--premium-navy-900);
    background: rgba(255, 255, 255, .97);
    border-bottom: 1px solid var(--premium-line);
    box-shadow: none;
}

body.premium-phase-1 .desktop-top__inner {
    min-height: 88px;
    grid-template-columns: minmax(220px, 1fr) auto minmax(330px, 1fr);
}

body.premium-phase-1 .brand--desktop img {
    width: min(238px, 100%);
}

body.premium-phase-1 .desktop-top__contact {
    gap: 10px;
}

body.premium-phase-1 .social-link,
body.premium-phase-1 .mobile-social {
    width: 42px;
    height: 42px;
    color: var(--premium-petrol);
    background: var(--premium-paper) !important;
    border: 1px solid var(--premium-line-strong) !important;
    box-shadow: none;
    transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s var(--premium-ease), box-shadow .25s ease;
}

body.premium-phase-1 .social-link svg,
body.premium-phase-1 .mobile-social svg {
    width: 19px;
    height: 19px;
    filter: none !important;
}

body.premium-phase-1 .social-link:hover,
body.premium-phase-1 .mobile-social:hover {
    color: var(--premium-paper);
    background: var(--premium-petrol) !important;
    border-color: var(--premium-petrol) !important;
    box-shadow: 0 12px 28px rgba(6, 25, 35, .14);
    transform: translateY(-2px);
}

body.premium-phase-1 .desktop-top__right {
    gap: 10px;
}

body.premium-phase-1 .lang-switch {
    gap: 12px !important;
}

body.premium-phase-1 .lang-switch__link,
body.premium-phase-1 .mobile-menu__languages a {
    color: rgba(7, 31, 45, .66) !important;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
}

body.premium-phase-1 .lang-switch__link::before,
body.premium-phase-1 .mobile-menu__languages a::before {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
    box-shadow: 0 0 0 1px rgba(7, 31, 45, .14);
}

body.premium-phase-1 .lang-switch__link.is-active,
body.premium-phase-1 .lang-switch__link:hover {
    color: var(--premium-teal-dark) !important;
}

body.premium-phase-1 .client-panel-chip {
    min-height: 44px;
    padding-inline: 17px;
    color: var(--premium-petrol);
    background: transparent;
    border: 1px solid var(--premium-line-strong);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .02em;
    box-shadow: none;
}

body.premium-phase-1 .client-panel-chip:hover {
    color: var(--premium-paper);
    background: var(--premium-petrol);
    border-color: var(--premium-petrol);
}

body.premium-phase-1 .contact-chip,
body.premium-phase-1 .mobile-menu__cta {
    min-height: 48px;
    padding-inline: 22px;
    color: var(--premium-paper);
    background: var(--premium-teal-dark);
    border: 1px solid var(--premium-teal-dark);
    box-shadow: 0 14px 32px rgba(36, 109, 112, .18);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .03em;
}

body.premium-phase-1 .contact-chip:hover,
body.premium-phase-1 .mobile-menu__cta:hover {
    background: var(--premium-navy-900);
    border-color: var(--premium-navy-900);
    box-shadow: 0 18px 40px rgba(6, 25, 35, .2);
}

body.premium-phase-1 .home-nav-bar {
    top: 0;
    color: var(--premium-paper);
    background: rgba(7, 31, 45, .985);
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 12px 36px rgba(6, 25, 35, .13);
    backdrop-filter: blur(18px);
}

body.premium-phase-1 .home-nav-bar__inner {
    min-height: 58px;
    gap: 0;
}

body.premium-phase-1 .home-nav-link {
    min-height: 58px;
    padding-inline: 15px;
    color: rgba(255, 253, 249, .78);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .075em;
    text-transform: uppercase;
    border-radius: 0;
    transition: color .2s ease, background .2s ease;
}

body.premium-phase-1 .home-nav-link:hover,
body.premium-phase-1 .home-nav-link.is-active {
    color: var(--premium-paper);
    background: rgba(255, 255, 255, .07);
}

body.premium-phase-1 .home-nav-dropdown__panel {
    top: calc(100% + 1px);
    min-width: 330px;
    padding: 12px;
    background: rgba(255, 253, 249, .99);
    border: 1px solid var(--premium-line);
    border-radius: 0 0 var(--premium-radius-md) var(--premium-radius-md);
    box-shadow: var(--premium-shadow-md);
}

body.premium-phase-1 .home-nav-dropdown__panel a {
    padding: 12px 13px;
    color: var(--premium-navy-800);
    border-bottom-color: var(--premium-line);
    border-radius: 9px;
    font-size: .83rem;
    font-weight: 600;
}

body.premium-phase-1 .home-nav-dropdown__panel a:hover {
    color: var(--premium-navy-950);
    background: var(--premium-ivory);
}

body.premium-phase-1.is-page-scrolled .home-nav-bar {
    box-shadow: 0 18px 46px rgba(6, 25, 35, .2);
}

/* =========================
   Botones, etiquetas y enlaces
   ========================= */
body.premium-phase-1 .btn,
body.premium-phase-1 .page-hero .btn-primary,
body.premium-phase-1 .faq-clean-home__cta a,
body.premium-phase-1 .faq-answer__cta,
body.premium-phase-1 .bmi-form button,
body.premium-phase-1 .bmi-result__cta,
body.premium-phase-1 .bmi-block--tool .bmi-card button {
    min-height: 54px;
    padding-inline: 25px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
    transition: transform .3s var(--premium-ease), background .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease;
}

body.premium-phase-1 .btn--primary,
body.premium-phase-1 .page-hero .btn-primary,
body.premium-phase-1 .faq-clean-home__cta a,
body.premium-phase-1 .faq-answer__cta,
body.premium-phase-1 .bmi-form button,
body.premium-phase-1 .bmi-result__cta,
body.premium-phase-1 .bmi-block--tool .bmi-card button {
    color: var(--premium-paper);
    background: var(--premium-teal-dark);
    border: 1px solid var(--premium-teal-dark);
    box-shadow: 0 16px 36px rgba(36, 109, 112, .2);
}

body.premium-phase-1 .btn--primary:hover,
body.premium-phase-1 .page-hero .btn-primary:hover,
body.premium-phase-1 .faq-clean-home__cta a:hover,
body.premium-phase-1 .faq-answer__cta:hover,
body.premium-phase-1 .bmi-form button:hover,
body.premium-phase-1 .bmi-result__cta:hover,
body.premium-phase-1 .bmi-block--tool .bmi-card button:hover {
    background: var(--premium-navy-900);
    border-color: var(--premium-navy-900);
    box-shadow: 0 21px 46px rgba(6, 25, 35, .22);
}

body.premium-phase-1 .btn--ghost,
body.premium-phase-1 .page-hero .btn-ghost {
    color: var(--premium-navy-900);
    background: transparent;
    border: 1px solid var(--premium-line-strong);
    box-shadow: none;
}

body.premium-phase-1 .hero .btn--ghost {
    color: var(--premium-paper);
    border-color: rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .045);
}

body.premium-phase-1 .btn--ghost:hover,
body.premium-phase-1 .page-hero .btn-ghost:hover {
    color: var(--premium-paper);
    background: var(--premium-navy-900);
    border-color: var(--premium-navy-900);
}

body.premium-phase-1 .hero .btn--ghost:hover {
    color: var(--premium-navy-900);
    background: var(--premium-paper);
    border-color: var(--premium-paper);
}

body.premium-phase-1 .section-eyebrow,
body.premium-phase-1 .about-doctor__eyebrow,
body.premium-phase-1 .patient-reviews__eyebrow,
body.premium-phase-1 .bmi-calculator__eyebrow,
body.premium-phase-1 .choice-difference__eyebrow,
body.premium-phase-1 .page-hero .eyebrow,
body.premium-phase-1 .module-head .eyebrow,
body.premium-phase-1 .blog-eyebrow {
    color: var(--premium-teal-dark);
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0 0 0 28px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

body.premium-phase-1 .section-eyebrow::before,
body.premium-phase-1 .about-doctor__eyebrow::before,
body.premium-phase-1 .patient-reviews__eyebrow::before,
body.premium-phase-1 .bmi-calculator__eyebrow::before,
body.premium-phase-1 .choice-difference__eyebrow::before,
body.premium-phase-1 .page-hero .eyebrow::before,
body.premium-phase-1 .module-head .eyebrow::before,
body.premium-phase-1 .blog-eyebrow::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 1px;
    background: currentColor;
    transform: translateY(-50%);
}

body.premium-phase-1 .section-eyebrow,
body.premium-phase-1 .about-doctor__eyebrow,
body.premium-phase-1 .patient-reviews__eyebrow,
body.premium-phase-1 .bmi-calculator__eyebrow,
body.premium-phase-1 .choice-difference__eyebrow,
body.premium-phase-1 .page-hero .eyebrow,
body.premium-phase-1 .module-head .eyebrow,
body.premium-phase-1 .blog-eyebrow {
    position: relative;
}

body.premium-phase-1 .section-learn-more,
body.premium-phase-1 .about-doctor__learn-more,
body.premium-phase-1 .bmi-calculator__learn-more,
body.premium-phase-1 .blog-text-link {
    color: var(--premium-teal-dark);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .035em;
    background: transparent;
    border-bottom: 1px solid rgba(36, 109, 112, .32);
    border-radius: 0;
    padding: 0 0 5px;
}

/* =========================
   Hero y primera impresión
   ========================= */
body.premium-phase-1 .hero {
    min-height: calc(100vh - 88px);
    background: var(--premium-navy-950);
}

body.premium-phase-1 .hero__inner {
    min-height: calc(100vh - 88px);
    padding-block: 90px 70px;
}

body.premium-phase-1 .hero__video {
    filter: saturate(.84) contrast(1.05) brightness(.91);
}

body.premium-phase-1 .hero__overlay {
    background:
        linear-gradient(90deg, rgba(3, 15, 22, .82) 0%, rgba(3, 15, 22, .64) 36%, rgba(3, 15, 22, .25) 67%, rgba(3, 15, 22, .12) 100%),
        linear-gradient(180deg, rgba(3, 15, 22, .08) 0%, rgba(3, 15, 22, .52) 100%);
}

body.premium-phase-1 .hero::after {
    background:
        linear-gradient(90deg, rgba(167, 120, 71, .08), transparent 34%),
        radial-gradient(circle at 79% 17%, rgba(255, 253, 249, .08), transparent 27%);
}

body.premium-phase-1 .hero__line {
    border-color: rgba(255, 255, 255, .08);
}

body.premium-phase-1 .hero__copy {
    max-width: 780px;
}

body.premium-phase-1 .hero__eyebrow {
    margin-bottom: 26px;
    padding: 0 0 0 30px;
    color: rgba(255, 253, 249, .78);
    background: transparent;
    border: 0;
    border-radius: 0;
    backdrop-filter: none;
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .18em;
}

body.premium-phase-1 .hero__eyebrow::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 20px;
    height: 1px;
    background: var(--premium-sand);
}

body.premium-phase-1 .hero__eyebrow {
    position: relative;
}

body.premium-phase-1 .hero h1 {
    max-width: 800px;
    color: var(--premium-paper);
    font-size: clamp(4rem, 6.65vw, 7.35rem);
    line-height: .91;
    letter-spacing: -.048em;
    text-shadow: 0 22px 56px rgba(0, 0, 0, .27);
}

body.premium-phase-1 .hero p {
    max-width: 650px;
    margin-top: 27px;
    color: rgba(255, 253, 249, .78);
    font-size: clamp(1.02rem, 1.3vw, 1.22rem);
    line-height: 1.7;
    font-weight: 500;
    text-shadow: none;
}

body.premium-phase-1 .hero__actions {
    margin-top: 35px;
}

/* =========================
   Ritmo de secciones y tarjetas
   ========================= */
body.premium-phase-1 .doctor-stats,
body.premium-phase-1 .services-showcase,
body.premium-phase-1 .bmi-calculator,
body.premium-phase-1 .choice-difference,
body.premium-phase-1 .content-stream,
body.premium-phase-1 .link-directory,
body.premium-phase-1 .comparison,
body.premium-phase-1 .steps-module,
body.premium-phase-1 .stages-module,
body.premium-phase-1 .resource-hub,
body.premium-phase-1 .internal-module:nth-of-type(even) {
    background: var(--premium-paper);
}

body.premium-phase-1 .about-doctor,
body.premium-phase-1 .page-hero,
body.premium-phase-1 .bmi-block--tool,
body.premium-phase-1 .blog-featured {
    background:
        radial-gradient(circle at 10% 18%, rgba(47, 133, 133, .05), transparent 28%),
        linear-gradient(135deg, var(--premium-ivory), #faf8f3 58%, var(--premium-paper));
}

body.premium-phase-1 .doctor-stats {
    border-bottom: 1px solid var(--premium-line);
}

body.premium-phase-1 .doctor-stat {
    border-color: var(--premium-line);
}

body.premium-phase-1 .doctor-stat__value,
body.premium-phase-1 .stat-number {
    color: var(--premium-navy-900);
    font-family: var(--font-display);
    font-weight: 560;
}

body.premium-phase-1 .doctor-stat p,
body.premium-phase-1 .doctor-stats__note {
    color: var(--premium-slate);
    font-weight: 500;
}

body.premium-phase-1 .about-doctor__copy h2,
body.premium-phase-1 .services-showcase__heading h2,
body.premium-phase-1 .patient-stories__head h2,
body.premium-phase-1 .patient-reviews__intro h2,
body.premium-phase-1 .bmi-calculator__intro h2,
body.premium-phase-1 .choice-difference__intro h2,
body.premium-phase-1 .faq-section__head h2,
body.premium-phase-1 .location-map__intro h2 {
    color: var(--premium-navy-900);
    line-height: .98;
}

body.premium-phase-1 .about-doctor__copy p,
body.premium-phase-1 .services-showcase__intro > p,
body.premium-phase-1 .bmi-calculator__intro p,
body.premium-phase-1 .choice-difference__intro p,
body.premium-phase-1 .faq-section__head p,
body.premium-phase-1 .location-map__intro p {
    color: var(--premium-slate);
    font-weight: 500;
    line-height: 1.72;
}

body.premium-phase-1 .about-doctor__visual {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
}

body.premium-phase-1 .about-doctor__overlay {
    background:
        linear-gradient(90deg, rgba(6, 25, 35, .05), rgba(6, 25, 35, .14)),
        linear-gradient(180deg, transparent 55%, rgba(6, 25, 35, .18));
}

body.premium-phase-1 .about-logo {
    border-color: var(--premium-line);
    background: rgba(255, 253, 249, .64);
    box-shadow: none;
}

body.premium-phase-1 .services-showcase {
    padding-block: clamp(92px, 9vw, 148px);
}

body.premium-phase-1 .services-showcase::before {
    background: linear-gradient(90deg, transparent, rgba(7, 31, 45, .12), transparent);
}

body.premium-phase-1 .service-card {
    border-radius: var(--premium-radius-lg);
    border: 1px solid rgba(255, 255, 255, .15);
    box-shadow: var(--premium-shadow-sm);
    transition: transform .45s var(--premium-ease), box-shadow .45s ease;
}

body.premium-phase-1 .service-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--premium-shadow-lg);
}

body.premium-phase-1 .service-card__shade {
    background:
        linear-gradient(180deg, rgba(6, 25, 35, .02) 20%, rgba(6, 25, 35, .88) 100%),
        linear-gradient(120deg, rgba(6, 25, 35, .16), rgba(47, 133, 133, .12));
}

body.premium-phase-1 .service-card__content span {
    color: var(--premium-sand);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
}

body.premium-phase-1 .service-card__content h3 {
    font-size: clamp(1.38rem, 1.8vw, 1.9rem);
    font-weight: 650;
    letter-spacing: -.025em;
}

body.premium-phase-1 .service-card__content p {
    color: rgba(255, 253, 249, .72);
    font-weight: 450;
}

body.premium-phase-1 :is(.choice-highlight, .choice-card, .value-card, .step-item, .info-card, .resource-topic, .contact-options__cards a, .gallery-grid figure, .feature-module__media, .comparison-module__table, .bmi-calculator__form-card, .bmi-calculator__result-card, .faq-item, .location-map__info) {
    border-color: var(--premium-line);
    border-radius: var(--premium-radius-md);
    box-shadow: var(--premium-shadow-sm);
}

body.premium-phase-1 :is(.choice-highlight, .choice-card, .value-card, .step-item, .info-card, .resource-topic, .contact-options__cards a):hover {
    border-color: rgba(47, 133, 133, .32);
    box-shadow: var(--premium-shadow-md);
}

/* =========================
   Prueba de dirección: Historias de pacientes
   ========================= */
body.premium-phase-1 .patient-stories {
    padding: clamp(110px, 10vw, 168px) 0;
    color: var(--premium-navy-900);
    background:
        linear-gradient(90deg, rgba(47, 133, 133, .045) 1px, transparent 1px),
        linear-gradient(rgba(47, 133, 133, .045) 1px, transparent 1px),
        var(--premium-ivory);
    background-size: 52px 52px;
}

body.premium-phase-1 .patient-stories::before {
    inset: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--premium-ivory) 0%, transparent 16%, transparent 84%, var(--premium-ivory) 100%);
    pointer-events: none;
}

body.premium-phase-1 .patient-stories .container {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, .66fr) minmax(0, 1.65fr);
    gap: clamp(48px, 6.5vw, 96px);
    align-items: start;
}

body.premium-phase-1 .patient-stories__head {
    position: sticky;
    top: 104px;
    max-width: 390px;
    margin: 0;
    text-align: left;
}

body.premium-phase-1 .patient-stories__eyebrow {
    margin-bottom: 24px;
}

body.premium-phase-1 .patient-stories__head h2 {
    margin: 0;
    max-width: 8.7ch;
    color: var(--premium-navy-900);
    font-size: clamp(3.2rem, 4.5vw, 5.4rem);
    line-height: .92;
    letter-spacing: -.052em;
}

body.premium-phase-1 .patient-stories__head p {
    margin: 26px 0 0;
    max-width: 36ch;
    color: var(--premium-slate);
    font-size: 1rem;
    line-height: 1.78;
    font-weight: 500;
}

body.premium-phase-1 .patient-stories__head .section-learn-more {
    margin-top: 26px;
}

body.premium-phase-1 .patient-stories__carousel {
    min-width: 0;
    padding: 0;
}

body.premium-phase-1 .patient-stories__slides {
    min-height: clamp(600px, 44vw, 690px);
}

body.premium-phase-1 .patient-story {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(7, 31, 45, .1);
    border-radius: var(--premium-radius-xl);
    background: var(--premium-paper);
    box-shadow: var(--premium-shadow-lg);
}

body.premium-phase-1 .patient-story__media {
    height: 100%;
    min-height: clamp(600px, 44vw, 690px);
    border-radius: 0;
    background: #d9ded9;
    box-shadow: none;
}

body.premium-phase-1 .patient-story__media img {
    filter: saturate(.86) contrast(1.02);
    transform: scale(1.015);
}

body.premium-phase-1 .patient-story.is-active .patient-story__media img {
    transform: scale(1.035);
}

body.premium-phase-1 .patient-story__media::after {
    background:
        linear-gradient(180deg, transparent 58%, rgba(6, 25, 35, .44) 100%),
        linear-gradient(120deg, rgba(6, 25, 35, .06), transparent 48%);
}

body.premium-phase-1 .patient-story__media span {
    left: 26px;
    bottom: 26px;
    padding: 10px 14px;
    color: var(--premium-paper);
    background: rgba(6, 25, 35, .76);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .16em;
}

body.premium-phase-1 .patient-story__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: none;
    padding: clamp(48px, 5vw, 78px) clamp(34px, 4vw, 58px);
    color: var(--premium-paper);
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 133, 133, .2), transparent 35%),
        var(--premium-navy-900);
}

body.premium-phase-1 .patient-story__copy::before {
    left: clamp(34px, 4vw, 58px);
    top: clamp(28px, 3vw, 42px);
    bottom: auto;
    width: 56px;
    height: 1px;
    background: var(--premium-bronze);
}

body.premium-phase-1 .patient-story__copy small {
    width: auto;
    height: auto;
    justify-content: flex-start;
    margin: 0 0 34px;
    color: rgba(255, 253, 249, .62);
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .18em;
}

body.premium-phase-1 .patient-story__copy h3 {
    color: var(--premium-paper);
    font-family: var(--font-display);
    font-size: clamp(2.15rem, 3vw, 3.55rem);
    font-weight: 550;
    line-height: 1.02;
    letter-spacing: -.043em;
}

body.premium-phase-1 .patient-story__copy p {
    margin-top: 25px;
    color: rgba(255, 253, 249, .72);
    font-size: 1rem;
    line-height: 1.75;
    font-weight: 450;
}

body.premium-phase-1 .patient-story__copy em {
    margin-top: 28px;
    color: rgba(255, 253, 249, .48);
    font-size: .78rem;
    line-height: 1.55;
    font-weight: 500;
}

body.premium-phase-1 .patient-stories__arrow {
    width: 48px;
    height: 48px;
    color: var(--premium-navy-900);
    background: var(--premium-paper);
    border: 1px solid var(--premium-line);
    box-shadow: var(--premium-shadow-sm);
}

body.premium-phase-1 .patient-stories__arrow:hover {
    color: var(--premium-paper);
    background: var(--premium-teal-dark);
    border-color: var(--premium-teal-dark);
    box-shadow: 0 18px 42px rgba(36, 109, 112, .24);
}

body.premium-phase-1 .patient-stories__arrow--prev {
    left: -24px;
}

body.premium-phase-1 .patient-stories__arrow--next {
    right: -24px;
}

body.premium-phase-1 .patient-stories__dots {
    justify-content: flex-start;
    gap: 7px;
    margin-top: 24px;
}

body.premium-phase-1 .patient-stories__dots button {
    width: 22px;
    height: 2px;
    border-radius: 0;
    background: rgba(7, 31, 45, .2);
}

body.premium-phase-1 .patient-stories__dots button.is-active {
    width: 58px;
    background: var(--premium-teal-dark);
}

body.premium-phase-1 .patient-stories__cta {
    grid-column: 2;
    justify-content: flex-start;
    margin-top: 30px;
}

/* =========================
   Secciones oscuras, FAQ y formularios
   ========================= */
body.premium-phase-1 .patient-reviews,
body.premium-phase-1 .contact-band,
body.premium-phase-1 .checklist-module,
body.premium-phase-1 .internal-module.checklist-module,
body.premium-phase-1 .editorial-module--deep {
    background: var(--premium-navy-950);
}

body.premium-phase-1 .patient-reviews__overlay {
    background:
        radial-gradient(circle at 82% 18%, rgba(47, 133, 133, .22), transparent 34%),
        linear-gradient(110deg, rgba(6, 25, 35, .84), rgba(7, 31, 45, .62) 54%, rgba(6, 25, 35, .7));
}

body.premium-phase-1 .patient-reviews__intro h2,
body.premium-phase-1 .contact-band h2,
body.premium-phase-1 .checklist-module h2,
body.premium-phase-1 .editorial-module--deep h2 {
    color: var(--premium-paper);
}

body.premium-phase-1 .faq-item,
body.premium-phase-1 .faq-clean details {
    background: var(--premium-paper);
    border-color: var(--premium-line);
}

body.premium-phase-1 .faq-item summary,
body.premium-phase-1 .faq-clean summary {
    color: var(--premium-navy-900);
    font-weight: 650;
}

body.premium-phase-1 input,
body.premium-phase-1 textarea,
body.premium-phase-1 select {
    border-color: var(--premium-line-strong);
    border-radius: var(--premium-radius-sm);
    background: var(--premium-paper);
    color: var(--premium-navy-900);
}

/* =========================
   Páginas internas y blog
   ========================= */
body.premium-phase-1 .page-hero h1,
body.premium-phase-1 .intro-section h2,
body.premium-phase-1 .content-stream h2,
body.premium-phase-1 .link-directory h2,
body.premium-phase-1 .clinical-gallery h2,
body.premium-phase-1 .comparison h2,
body.premium-phase-1 .faq-clean h2,
body.premium-phase-1 .module-head h2,
body.premium-phase-1 .editorial-module h2,
body.premium-phase-1 .feature-module h2,
body.premium-phase-1 .video-module h2,
body.premium-phase-1 .checklist-module h2,
body.premium-phase-1 .quote-module p,
body.premium-phase-1 .blog-hero h1,
body.premium-phase-1 .blog-article__header h1 {
    color: var(--premium-navy-900);
    font-family: var(--font-display) !important;
    font-weight: 560 !important;
    letter-spacing: -.04em;
}

body.premium-phase-1 .page-hero--full h1,
body.premium-phase-1 .page-hero--parallax-clean h1,
body.premium-phase-1 .checklist-module h2,
body.premium-phase-1 .editorial-module--deep h2,
body.premium-phase-1 .contact-band h2,
body.premium-phase-1 .blog-hero h1 {
    color: var(--premium-paper);
}

body.premium-phase-1 .page-hero__veil {
    background: linear-gradient(90deg, rgba(6, 25, 35, .84), rgba(7, 31, 45, .58) 52%, rgba(7, 31, 45, .24));
}

body.premium-phase-1 .page-hero--parallax-clean .page-hero__veil {
    background: linear-gradient(90deg, rgba(6, 25, 35, .14), rgba(6, 25, 35, .03));
}

body.premium-phase-1 .page-hero__copy p,
body.premium-phase-1 .prose p,
body.premium-phase-1 .stream-row__body p,
body.premium-phase-1 .module-head p,
body.premium-phase-1 .feature-module__copy p,
body.premium-phase-1 .editorial-module__body p,
body.premium-phase-1 .resource-topic p,
body.premium-phase-1 .contact-options__cards span,
body.premium-phase-1 .blog-doctor p,
body.premium-phase-1 .blog-card p,
body.premium-phase-1 .blog-news-item p,
body.premium-phase-1 .blog-article__content {
    color: var(--premium-slate);
}

body.premium-phase-1 .page-hero--full .page-hero__copy p,
body.premium-phase-1 .page-hero--parallax-clean .page-hero__copy p,
body.premium-phase-1 .blog-hero p {
    color: rgba(255, 253, 249, .78);
}

body.premium-phase-1 .blog-hero {
    background: var(--premium-navy-950);
}

body.premium-phase-1 .blog-doctor,
body.premium-phase-1 .blog-card,
body.premium-phase-1 .blog-editor {
    border: 1px solid var(--premium-line);
    border-radius: var(--premium-radius-md);
    box-shadow: var(--premium-shadow-sm);
}

body.premium-phase-1 .blog-text-link,
body.premium-phase-1 .blog-card time,
body.premium-phase-1 .blog-news-item time,
body.premium-phase-1 .blog-back {
    color: var(--premium-teal-dark);
}

/* =========================
   Footer y botón flotante
   ========================= */
body.premium-phase-1 .site-footer {
    padding-top: 104px;
    color: var(--premium-navy-900);
    background: var(--premium-paper);
    border-top: 1px solid var(--premium-line);
}

body.premium-phase-1 .footer-grid {
    gap: clamp(34px, 5vw, 68px);
}

body.premium-phase-1 .footer-brand p,
body.premium-phase-1 .footer-col p,
body.premium-phase-1 .footer-col a,
body.premium-phase-1 .footer-bottom p {
    color: var(--premium-slate);
    font-weight: 500;
}

body.premium-phase-1 .footer-col h3 {
    color: var(--premium-navy-900);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .16em;
}

body.premium-phase-1 .footer-col a:hover {
    color: var(--premium-teal-dark);
}

body.premium-phase-1 .footer-actions a {
    color: var(--premium-navy-900);
    border-color: var(--premium-line-strong);
    font-size: .78rem;
    font-weight: 650;
}

body.premium-phase-1 .footer-actions a:first-child {
    color: var(--premium-paper);
    background: var(--premium-teal-dark);
    border-color: var(--premium-teal-dark);
}

body.premium-phase-1 .footer-bottom {
    border-top-color: var(--premium-line);
}

body.premium-phase-1 .contact-float {
    width: 62px;
    height: 62px;
    color: var(--premium-paper);
    background: var(--premium-teal-dark);
    border: 1px solid rgba(255, 255, 255, .26);
    box-shadow: 0 18px 48px rgba(6, 25, 35, .22);
    font-size: .7rem;
    letter-spacing: .08em;
}

body.premium-phase-1 .contact-float:hover {
    background: var(--premium-navy-900);
    box-shadow: 0 22px 54px rgba(6, 25, 35, .28);
}

/* =========================
   Estados de movimiento
   ========================= */
html.phase1-motion-ready body.premium-phase-1 .phase1-will-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
}

html.phase1-motion-ready body.premium-phase-1 .phase1-will-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity .8s var(--premium-ease), transform .8s var(--premium-ease);
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1180px) {
    body.premium-phase-1 .desktop-top__inner {
        grid-template-columns: minmax(200px, .8fr) auto minmax(300px, 1fr);
        column-gap: 20px;
    }

    body.premium-phase-1 .home-nav-link {
        padding-inline: 11px;
        font-size: .68rem;
    }

    body.premium-phase-1 .patient-stories .container {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    body.premium-phase-1 .patient-stories__head {
        position: relative;
        top: auto;
        max-width: 720px;
        text-align: left;
    }

    body.premium-phase-1 .patient-stories__head h2 {
        max-width: 11ch;
    }

    body.premium-phase-1 .patient-stories__head p {
        max-width: 60ch;
    }

    body.premium-phase-1 .patient-stories__cta {
        grid-column: auto;
    }
}

@media (max-width: 1060px) {
    body.premium-phase-1 .mobile-top {
        color: var(--premium-navy-900);
        background: rgba(255, 255, 255, .97);
        border-bottom: 1px solid var(--premium-line);
        box-shadow: none;
    }

    body.premium-phase-1 .mobile-menu {
        background: var(--premium-navy-950) !important;
    }

    body.premium-phase-1 .mobile-menu__nav {
        border-color: rgba(255, 255, 255, .12);
    }

    body.premium-phase-1 .mobile-menu__nav a,
    body.premium-phase-1 .mobile-menu__group summary {
        color: var(--premium-paper);
        font-weight: 600;
    }

    body.premium-phase-1 .mobile-menu__panel {
        color: var(--premium-paper) !important;
        background: transparent !important;
        border-color: rgba(255, 255, 255, .22) !important;
        font-weight: 650 !important;
    }

    body.premium-phase-1 .patient-stories__arrow--prev {
        left: 18px;
    }

    body.premium-phase-1 .patient-stories__arrow--next {
        right: 18px;
    }
}

@media (max-width: 760px) {
    body.premium-phase-1 .container,
    body.premium-phase-1 .wide {
        width: min(calc(100% - 32px), var(--container));
    }

    body.premium-phase-1 .hero {
        min-height: calc(100svh - 72px);
    }

    body.premium-phase-1 .hero__inner {
        min-height: calc(100svh - 72px);
        padding-block: 86px 48px;
    }

    body.premium-phase-1 .hero__overlay {
        background:
            linear-gradient(180deg, rgba(3, 15, 22, .28) 0%, rgba(3, 15, 22, .66) 54%, rgba(3, 15, 22, .86) 100%),
            linear-gradient(90deg, rgba(3, 15, 22, .34), rgba(3, 15, 22, .08));
    }

    body.premium-phase-1 .hero h1 {
        font-size: clamp(3.2rem, 14vw, 5.1rem);
        line-height: .92;
    }

    body.premium-phase-1 .hero p {
        font-size: 1rem;
        line-height: 1.65;
        font-weight: 450;
    }

    body.premium-phase-1 .hero__actions,
    body.premium-phase-1 .footer-actions {
        align-items: stretch;
    }

    body.premium-phase-1 .hero__actions .btn {
        width: 100%;
    }

    body.premium-phase-1 .patient-stories {
        padding: 82px 0 94px;
        background-size: 38px 38px;
    }

    body.premium-phase-1 .patient-stories .container {
        gap: 34px;
    }

    body.premium-phase-1 .patient-stories__head h2 {
        max-width: 9ch;
        font-size: clamp(2.8rem, 12vw, 4.25rem);
    }

    body.premium-phase-1 .patient-stories__slides {
        min-height: auto;
    }

    body.premium-phase-1 .patient-story {
        grid-template-columns: 1fr;
        border-radius: 26px;
    }

    body.premium-phase-1 .patient-story__media {
        min-height: 0;
        height: auto;
        aspect-ratio: 1 / 1;
    }

    body.premium-phase-1 .patient-story__copy {
        min-height: 390px;
        padding: 46px 28px 54px;
        text-align: left;
    }

    body.premium-phase-1 .patient-story__copy::before {
        left: 28px;
        top: 28px;
    }

    body.premium-phase-1 .patient-story__copy h3 {
        font-size: clamp(2.05rem, 9vw, 3rem);
    }

    body.premium-phase-1 .patient-stories__dots {
        justify-content: center;
        margin-top: 30px;
    }

    body.premium-phase-1 .patient-stories__cta {
        justify-content: stretch;
    }

    body.premium-phase-1 .patient-stories__cta .btn {
        width: 100%;
    }

    body.premium-phase-1 .site-footer {
        padding-top: 76px;
    }
}

@media (max-width: 420px) {
    body.premium-phase-1 .hero__eyebrow {
        font-size: .64rem;
        letter-spacing: .15em;
    }

    body.premium-phase-1 .patient-story__copy {
        min-height: 370px;
        padding-inline: 24px;
    }

    body.premium-phase-1 .patient-story__copy::before {
        left: 24px;
    }
}


@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body.premium-phase-1 *,
    body.premium-phase-1 *::before,
    body.premium-phase-1 *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    html.phase1-motion-ready body.premium-phase-1 .phase1-will-reveal {
        opacity: 1;
        transform: none;
    }
}

/* Footer específico de la home */
body.premium-phase-1 .clean-site-footer {
    padding: 104px 0 0;
    color: var(--premium-navy-900);
    background: var(--premium-paper);
    border-top: 1px solid var(--premium-line);
}

body.premium-phase-1 .clean-site-footer__inner {
    gap: clamp(34px, 5vw, 68px);
}

body.premium-phase-1 .clean-site-footer__logo img {
    width: 230px;
}

body.premium-phase-1 .clean-site-footer p,
body.premium-phase-1 .clean-site-footer__contact p,
body.premium-phase-1 .clean-site-footer__bottom p,
body.premium-phase-1 .clean-site-footer__bottom small {
    color: var(--premium-slate);
    font-weight: 500;
}

body.premium-phase-1 .clean-site-footer h3 {
    color: var(--premium-navy-900);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .16em;
}

body.premium-phase-1 .clean-site-footer a {
    color: var(--premium-slate);
    font-weight: 600;
}

body.premium-phase-1 .clean-site-footer a:hover {
    color: var(--premium-teal-dark);
}

body.premium-phase-1 .clean-site-footer__actions a {
    color: var(--premium-navy-900);
    background: transparent;
    border-color: var(--premium-line-strong);
    font-size: .78rem;
    font-weight: 650;
}

body.premium-phase-1 .clean-site-footer__actions a:first-child {
    color: var(--premium-paper);
    background: var(--premium-teal-dark);
    border-color: var(--premium-teal-dark);
}

body.premium-phase-1 .clean-site-footer__bottom {
    border-top-color: var(--premium-line);
}

@media (max-width: 760px) {
    body.premium-phase-1 .clean-site-footer {
        padding-top: 76px;
    }
}

/* ===== SOURCE: phase3-ecosystem.css ===== */
/*
 * FASE 3 — Ecosistema editorial premium
 * Dr. Edgardo Saavedra
 *
 * Capa incremental para páginas internas, procedimientos, resultados,
 * recursos, contacto y blog. Se carga después de Fase 1.
 */

:root {
    --phase3-ink: #092433;
    --phase3-ink-soft: #38515c;
    --phase3-petrol: #123f4d;
    --phase3-teal: #2d7c7d;
    --phase3-teal-bright: #65aaa3;
    --phase3-copper: #a7794c;
    --phase3-ivory: #f4f0e7;
    --phase3-paper: #fffdf9;
    --phase3-mist: #e8f0ef;
    --phase3-line: rgba(9, 36, 51, .13);
    --phase3-line-strong: rgba(9, 36, 51, .22);
    --phase3-shadow: 0 28px 90px rgba(5, 26, 36, .11);
    --phase3-shadow-deep: 0 38px 120px rgba(5, 26, 36, .18);
    --phase3-radius: 34px;
    --phase3-ease: cubic-bezier(.22, 1, .36, 1);
}

html {
    scroll-padding-top: 150px;
}

body.premium-phase-3 {
    min-width: 320px;
    color: var(--phase3-ink);
    background: var(--phase3-paper);
    overflow-x: clip;
}

body.premium-phase-3::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 4%, rgba(101, 170, 163, .10), transparent 24rem),
        radial-gradient(circle at 94% 22%, rgba(167, 121, 76, .06), transparent 28rem),
        var(--phase3-paper);
}

body.premium-phase-3 .phase3-main {
    position: relative;
    isolation: isolate;
}

.phase3-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 10000;
    padding: 12px 18px;
    color: #fff;
    background: var(--phase3-ink);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    transform: translateY(-150%);
    transition: transform .25s ease;
}

.phase3-skip-link:focus {
    transform: translateY(0);
}

.phase3-reading-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 9999;
    height: 3px;
    pointer-events: none;
    background: transparent;
}

.phase3-reading-progress i {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--phase3-copper), var(--phase3-teal-bright), var(--phase3-teal));
    transform: scaleX(0);
    transform-origin: 0 50%;
    will-change: transform;
}

.phase3-page-content-anchor {
    position: relative;
    top: -1px;
    height: 1px;
}

/* Encabezado: continuidad con la home, más precisión en páginas internas */
body.premium-phase-3 .desktop-top {
    position: relative;
    z-index: 300;
}

body.premium-phase-3 .home-nav-bar {
    position: sticky;
    top: 0;
    z-index: 290;
    color: #fff;
    background: rgba(6, 25, 35, .96);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 18px 50px rgba(4, 19, 27, .08);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

body.premium-phase-3 .home-nav-bar__inner {
    min-height: 58px;
}

body.premium-phase-3 .home-nav-link {
    position: relative;
    min-height: 58px;
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, .74);
    background: transparent;
    border-radius: 0;
    font-size: .69rem;
    font-weight: 650;
    letter-spacing: .065em;
    text-transform: uppercase;
}

body.premium-phase-3 .home-nav-link::after {
    content: "";
    position: absolute;
    right: 13px;
    bottom: 0;
    left: 13px;
    height: 2px;
    background: var(--phase3-teal-bright);
    transform: scaleX(0);
    transform-origin: 50% 50%;
    transition: transform .35s var(--phase3-ease);
}

body.premium-phase-3 .home-nav-link:hover,
body.premium-phase-3 .home-nav-link.is-active {
    color: #fff;
    background: transparent;
}

body.premium-phase-3 .home-nav-link:hover::after,
body.premium-phase-3 .home-nav-link.is-active::after {
    transform: scaleX(1);
}

body.premium-phase-3 .home-nav-dropdown__panel {
    overflow: hidden;
    padding: 10px;
    background: rgba(255, 253, 249, .985);
    border: 1px solid var(--phase3-line);
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(5, 26, 36, .18);
}

body.premium-phase-3 .home-nav-dropdown__panel a {
    color: var(--phase3-ink-soft);
    border-radius: 11px;
    font-size: .78rem;
}

body.premium-phase-3 .home-nav-dropdown__panel a:hover,
body.premium-phase-3 .home-nav-dropdown__panel a.is-active {
    color: var(--phase3-petrol);
    background: var(--phase3-mist);
}

/* Hero editorial universal */
body.premium-phase-3 .phase3-page-hero {
    position: relative;
    min-height: 680px;
    padding: clamp(76px, 7.5vw, 116px) 0 clamp(84px, 8vw, 124px);
    overflow: hidden;
    isolation: isolate;
}

body.premium-phase-3 .phase3-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(115deg, rgba(244, 240, 231, .94), rgba(255, 253, 249, .98) 48%, rgba(232, 240, 239, .84));
}

body.premium-phase-3 .phase3-page-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -22rem;
    right: -17rem;
    width: 54rem;
    aspect-ratio: 1;
    border: 1px solid rgba(45, 124, 125, .12);
    border-radius: 50%;
    box-shadow:
        0 0 0 6rem rgba(45, 124, 125, .025),
        0 0 0 13rem rgba(45, 124, 125, .018);
}

body.premium-phase-3 .phase3-hero-orbit {
    position: absolute;
    z-index: -1;
    left: -11rem;
    bottom: -17rem;
    width: 38rem;
    aspect-ratio: 1;
    border: 1px solid rgba(167, 121, 76, .12);
    border-radius: 50%;
}

body.premium-phase-3 .page-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(390px, .82fr);
    gap: clamp(48px, 6.5vw, 96px);
    align-items: center;
}

body.premium-phase-3 .page-hero__copy {
    position: relative;
    z-index: 3;
    max-width: 760px;
}

.phase3-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 32px;
    color: rgba(9, 36, 51, .54);
    font-size: .7rem;
    font-weight: 650;
    letter-spacing: .04em;
}

.phase3-breadcrumbs a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease;
}

.phase3-breadcrumbs a:hover {
    color: var(--phase3-teal);
}

.phase3-breadcrumbs span[aria-current="page"] {
    max-width: 42ch;
    overflow: hidden;
    color: var(--phase3-ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.phase3-hero-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 24px;
    color: var(--phase3-petrol);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.phase3-hero-meta i {
    width: 34px;
    height: 1px;
    background: var(--phase3-copper);
}

body.premium-phase-3 .page-hero .eyebrow {
    display: block;
    margin: 0 0 16px;
    color: var(--phase3-copper);
    font-family: var(--font-sans);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

body.premium-phase-3 .page-hero h1 {
    max-width: 13ch;
    margin: 0;
    color: var(--phase3-ink);
    font-family: var(--font-display) !important;
    font-size: clamp(4.1rem, 6.2vw, 7.35rem);
    font-weight: 520 !important;
    line-height: .89;
    letter-spacing: -.058em;
}

body.premium-phase-3 .page-hero__copy > p {
    max-width: 59ch;
    margin: 31px 0 0;
    color: var(--phase3-ink-soft);
    font-size: clamp(1.04rem, 1.3vw, 1.22rem);
    font-weight: 450;
    line-height: 1.78;
}

body.premium-phase-3 .page-hero .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

body.premium-phase-3 .page-hero .btn {
    min-height: 52px;
    padding: 0 23px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: transform .3s var(--phase3-ease), box-shadow .3s ease, background .3s ease, color .3s ease;
}

body.premium-phase-3 .page-hero .btn-primary {
    color: #fff;
    background: var(--phase3-petrol);
    box-shadow: 0 16px 40px rgba(18, 63, 77, .18);
}

body.premium-phase-3 .page-hero .btn-primary:hover {
    background: var(--phase3-ink);
    box-shadow: 0 20px 48px rgba(9, 36, 51, .24);
    transform: translateY(-2px);
}

body.premium-phase-3 .page-hero .btn-ghost {
    color: var(--phase3-ink);
    background: rgba(255, 253, 249, .5);
    border-color: var(--phase3-line-strong);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

body.premium-phase-3 .page-hero .btn-ghost:hover {
    color: #fff;
    background: var(--phase3-teal);
    border-color: var(--phase3-teal);
    transform: translateY(-2px);
}

body.premium-phase-3 .page-hero__media {
    position: relative;
    margin: 0;
    min-width: 0;
}

body.premium-phase-3 .page-hero__media::before {
    content: "";
    position: absolute;
    inset: 24px -22px -24px 28px;
    z-index: -1;
    border: 1px solid rgba(45, 124, 125, .2);
    border-radius: 45% 45% 24px 24px;
}

body.premium-phase-3 .page-hero__media-frame {
    position: relative;
    overflow: hidden;
    height: clamp(540px, 42vw, 620px);
    min-height: 0;
    background: linear-gradient(145deg, rgba(232, 240, 239, .94), rgba(255, 253, 249, .98));
    border: 1px solid rgba(9, 36, 51, .10);
    border-radius: 48% 48% 28px 28px;
    box-shadow: var(--phase3-shadow-deep);
}

body.premium-phase-3 .page-hero__media-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 56%, rgba(5, 26, 36, .12));
}

body.premium-phase-3 .page-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    object-fit: cover;
    background: transparent;
    box-shadow: none;
    transform: scale(1.015);
    transition: transform 1.1s var(--phase3-ease);
}

body.premium-phase-3 .page-hero__media--contain img {
    padding: 34px;
    object-fit: contain;
}

/* Fase 2: las fotografias usan recorte editorial y un foco propio por pagina. */
body.premium-phase-3.page-slug-paciente-internacional .page-hero__media img,
body.premium-phase-3.page-slug-cirugia-general-avanzada .page-hero__media img,
body.premium-phase-3.page-slug-control-obesidad-metabolismo .page-hero__media img,
body.premium-phase-3.page-slug-que-es-obesidad .page-hero__media img,
body.premium-phase-3.page-slug-preparacion-cirugia .page-hero__media img,
body.premium-phase-3.page-slug-recuperacion-postoperatoria .page-hero__media img,
body.premium-phase-3.page-slug-alimentacion-post-cirugia .page-hero__media img,
body.premium-phase-3.page-slug-seguimiento-medico .page-hero__media img {
    padding: 0;
    object-fit: cover;
}

body.premium-phase-3.page-slug-sobre-el-doctor .page-hero__media img { object-position: 36% 50%; }
body.premium-phase-3.page-slug-testimonios .page-hero__media img { object-position: 50% 34%; }
body.premium-phase-3.page-slug-paciente-internacional .page-hero__media img { object-position: 55% 50%; }
body.premium-phase-3.page-slug-cirugia-general-avanzada .page-hero__media img { object-position: 66% 50%; }
body.premium-phase-3.page-slug-control-obesidad-metabolismo .page-hero__media img { object-position: 60% 50%; }
body.premium-phase-3.page-slug-que-es-obesidad .page-hero__media img { object-position: 62% 50%; }
body.premium-phase-3.page-slug-preparacion-cirugia .page-hero__media img { object-position: 54% 50%; }
body.premium-phase-3.page-slug-recuperacion-postoperatoria .page-hero__media img { object-position: 38% 50%; }
body.premium-phase-3.page-slug-alimentacion-post-cirugia .page-hero__media img { object-position: 58% 50%; }
body.premium-phase-3.page-slug-seguimiento-medico .page-hero__media img { object-position: 40% 50%; }

body.premium-phase-3 .page-hero__media:hover img {
    transform: scale(1.045);
}

body.premium-phase-3 .page-hero__media figcaption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    display: grid;
    min-width: 230px;
    gap: 3px;
    padding: 16px 20px;
    color: #fff;
    background: rgba(6, 25, 35, .92);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(5, 26, 36, .2);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

body.premium-phase-3 .page-hero__media figcaption span {
    color: rgba(255, 255, 255, .62);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

body.premium-phase-3 .page-hero__media figcaption strong {
    font-size: .83rem;
    font-weight: 650;
}

body.premium-phase-3 .page-hero__mini-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 44px;
    border-top: 1px solid var(--phase3-line);
    border-bottom: 1px solid var(--phase3-line);
}

body.premium-phase-3 .page-hero__mini-points > div {
    position: relative;
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 20px 18px 20px 0;
}

body.premium-phase-3 .page-hero__mini-points > div + div {
    padding-left: 18px;
    border-left: 1px solid var(--phase3-line);
}

body.premium-phase-3 .page-hero__mini-points span {
    color: var(--phase3-copper);
    font-size: .62rem;
    font-weight: 700;
}

body.premium-phase-3 .page-hero__mini-points strong {
    color: var(--phase3-ink);
    font-size: .76rem;
    font-weight: 700;
}

body.premium-phase-3 .page-hero__mini-points small {
    color: var(--phase3-ink-soft);
    font-size: .68rem;
    line-height: 1.45;
}

.phase3-hero-scroll {
    position: absolute;
    right: clamp(28px, 4vw, 68px);
    bottom: 34px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--phase3-ink-soft);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-decoration: none;
    text-transform: uppercase;
}

.phase3-hero-scroll i {
    position: relative;
    width: 46px;
    height: 46px;
    border: 1px solid var(--phase3-line-strong);
    border-radius: 50%;
}

.phase3-hero-scroll i::before,
.phase3-hero-scroll i::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.phase3-hero-scroll i::before {
    top: 12px;
    width: 1px;
    height: 17px;
    background: var(--phase3-teal);
}

.phase3-hero-scroll i::after {
    bottom: 12px;
    width: 7px;
    height: 7px;
    border-right: 1px solid var(--phase3-teal);
    border-bottom: 1px solid var(--phase3-teal);
    transform: translateX(-50%) rotate(45deg);
}

/* Hero de imagen completa */
body.premium-phase-3 .page-hero--full {
    min-height: min(850px, calc(100svh - 58px));
    padding: 0;
    color: #fff;
    background: var(--phase3-ink);
}

body.premium-phase-3 .page-hero--full::before,
body.premium-phase-3 .page-hero--full::after {
    display: none;
}

body.premium-phase-3 .page-hero--full .page-hero__backdrop,
body.premium-phase-3 .page-hero--full .page-hero__picture {
    position: absolute;
    inset: 0;
    z-index: -3;
}

body.premium-phase-3 .page-hero--full .page-hero__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.premium-phase-3 .page-hero--full .page-hero__veil {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(3, 16, 23, .88) 0%, rgba(6, 25, 35, .75) 42%, rgba(6, 25, 35, .27) 76%, rgba(6, 25, 35, .38) 100%),
        linear-gradient(180deg, rgba(3, 16, 23, .14), rgba(3, 16, 23, .45));
}

body.premium-phase-3 .page-hero--full .page-hero__full-inner {
    position: relative;
    min-height: min(850px, calc(100svh - 58px));
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
    gap: 72px;
    align-items: end;
    padding-top: 120px;
    padding-bottom: 120px;
}

body.premium-phase-3 .page-hero--full .page-hero__copy {
    max-width: 820px;
}

body.premium-phase-3 .page-hero--full .phase3-breadcrumbs,
body.premium-phase-3 .page-hero--full .phase3-breadcrumbs a,
body.premium-phase-3 .page-hero--full .phase3-breadcrumbs span[aria-current="page"] {
    color: rgba(255, 255, 255, .68);
}

body.premium-phase-3 .page-hero--full .phase3-hero-meta {
    color: rgba(255, 255, 255, .76);
}

body.premium-phase-3 .page-hero--full .page-hero__copy h1 {
    max-width: 12ch;
    color: #fff;
    font-size: clamp(4.2rem, 7.2vw, 8.4rem);
}

@media (min-width: 761px) {
    body.page-slug-procedimientos .page-hero h1,
    body.page-slug-cirugia-general-avanzada .page-hero h1,
    body.page-slug-control-obesidad-metabolismo .page-hero h1,
    body.page-slug-comparativa-procedimientos .page-hero h1 {
        max-width: 16ch;
        font-size: clamp(3.5rem, 5vw, 5.7rem);
        line-height: .92;
    }

    body.page-slug-cirugia-bariatrica-revision .page-hero--full .page-hero__copy h1 {
        max-width: 15ch;
        font-size: clamp(3.6rem, 5.1vw, 5.9rem);
        line-height: .92;
    }
}

body.premium-phase-3 .page-hero--full .page-hero__copy > p {
    color: rgba(255, 255, 255, .8);
}

body.premium-phase-3 .page-hero--full .btn-primary {
    color: var(--phase3-ink);
    background: #fff;
    box-shadow: none;
}

body.premium-phase-3 .page-hero--full .btn-primary:hover {
    color: #fff;
    background: var(--phase3-teal);
}

body.premium-phase-3 .page-hero--full .btn-ghost {
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .26);
}

body.premium-phase-3 .page-hero--full .page-hero__facts {
    align-self: end;
}

body.premium-phase-3 .page-hero--full .hero-facts-card {
    overflow: hidden;
    padding: 0;
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 22px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .15);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

body.premium-phase-3 .page-hero--full .hero-fact {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 13px;
    padding: 19px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

body.premium-phase-3 .page-hero--full .hero-fact:last-child {
    border-bottom: 0;
}

body.premium-phase-3 .page-hero--full .hero-fact > span {
    color: var(--phase3-teal-bright);
    font-size: .66rem;
    font-weight: 700;
}

body.premium-phase-3 .page-hero--full .hero-fact div {
    display: grid;
    gap: 4px;
}

body.premium-phase-3 .page-hero--full .hero-fact strong {
    color: #fff;
    font-size: .83rem;
}

body.premium-phase-3 .page-hero--full .hero-fact small {
    color: rgba(255, 255, 255, .66);
    font-size: .7rem;
    line-height: 1.5;
}

body.premium-phase-3 .page-hero--full .phase3-hero-scroll {
    color: rgba(255, 255, 255, .68);
}

body.premium-phase-3 .page-hero--full .phase3-hero-scroll i {
    border-color: rgba(255, 255, 255, .28);
}

body.premium-phase-3 .page-hero--full .phase3-hero-scroll i::before {
    background: #fff;
}

body.premium-phase-3 .page-hero--full .phase3-hero-scroll i::after {
    border-color: #fff;
    background: transparent;
}

/* Navegación contextual */
.phase3-page-rail {
    position: sticky;
    top: 58px;
    z-index: 250;
    color: var(--phase3-ink);
    background: rgba(255, 253, 249, .94);
    border-top: 1px solid var(--phase3-line);
    border-bottom: 1px solid var(--phase3-line);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.phase3-page-rail__inner {
    min-height: 62px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 100px;
    gap: 24px;
    align-items: center;
}

.phase3-page-rail__label {
    color: var(--phase3-copper);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    white-space: nowrap;
}

.phase3-page-rail__links {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    scrollbar-width: none;
}

.phase3-page-rail__links::-webkit-scrollbar {
    display: none;
}

.phase3-page-rail__links a {
    flex: 0 0 auto;
    max-width: 240px;
    padding: 8px 11px;
    overflow: hidden;
    color: rgba(9, 36, 51, .6);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 650;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s ease, background .2s ease;
}

.phase3-page-rail__links a:hover,
.phase3-page-rail__links a.is-active {
    color: var(--phase3-ink);
    background: var(--phase3-mist);
}

.phase3-page-rail__progress {
    overflow: hidden;
    width: 100%;
    height: 2px;
    background: var(--phase3-line);
}

.phase3-page-rail__progress i {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--phase3-teal);
    transform: scaleX(0);
    transform-origin: 0 50%;
}

/* Sistema de módulos */
body.premium-phase-3 .internal-module,
body.premium-phase-3 .faq-clean,
body.premium-phase-3 .contact-band,
body.premium-phase-3 .related-links,
body.premium-phase-3 .intro-section,
body.premium-phase-3 .value-highlights,
body.premium-phase-3 .visual-band,
body.premium-phase-3 .content-stream,
body.premium-phase-3 .clinical-gallery,
body.premium-phase-3 .comparison,
body.premium-phase-3 .link-directory,
body.premium-phase-3 .bmi-block {
    position: relative;
    padding: clamp(88px, 9vw, 142px) 0;
    color: var(--phase3-ink);
    background: var(--phase3-paper);
    overflow: clip;
}

body.premium-phase-3 .internal-module:nth-of-type(even) {
    background: var(--phase3-paper);
}

body.premium-phase-3 .internal-module::before {
    content: attr(data-phase3-index);
    position: absolute;
    top: 36px;
    right: max(28px, calc((100vw - var(--container)) / 2));
    color: rgba(9, 36, 51, .06);
    font-family: var(--font-display);
    font-size: clamp(5rem, 10vw, 10rem);
    line-height: 1;
    pointer-events: none;
}

body.premium-phase-3 .internal-module:nth-child(odd) {
    background:
        linear-gradient(180deg, rgba(232, 240, 239, .72), rgba(244, 240, 231, .48));
}

body.premium-phase-3 .module-head {
    position: relative;
    max-width: 900px;
    margin: 0 0 54px;
    padding-left: 26px;
}

body.premium-phase-3 .module-head::before,
body.premium-phase-3 .editorial-module__headline::before,
body.premium-phase-3 .checklist-module__copy::before,
body.premium-phase-3 .contact-options__copy::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 2px;
    height: 54px;
    background: linear-gradient(180deg, var(--phase3-copper), transparent);
}

body.premium-phase-3 .module-head .eyebrow,
body.premium-phase-3 .editorial-module .eyebrow,
body.premium-phase-3 .feature-module .eyebrow,
body.premium-phase-3 .video-module .eyebrow,
body.premium-phase-3 .checklist-module .eyebrow,
body.premium-phase-3 .contact-options .eyebrow {
    color: var(--phase3-copper);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body.premium-phase-3 .module-head h2,
body.premium-phase-3 .editorial-module h2,
body.premium-phase-3 .feature-module h2,
body.premium-phase-3 .video-module h2,
body.premium-phase-3 .checklist-module h2,
body.premium-phase-3 .contact-options h2,
body.premium-phase-3 .faq-clean h2,
body.premium-phase-3 .contact-band h2,
body.premium-phase-3 .blog-section-heading h2 {
    max-width: 14ch;
    margin: 10px 0 18px;
    color: var(--phase3-ink);
    font-family: var(--font-display) !important;
    font-size: clamp(3.25rem, 5.2vw, 6.1rem);
    font-weight: 520 !important;
    line-height: .94;
    letter-spacing: -.052em;
}

body.premium-phase-3 .module-head > p,
body.premium-phase-3 .feature-module__copy > p,
body.premium-phase-3 .video-module__copy > p,
body.premium-phase-3 .editorial-module__body > p,
body.premium-phase-3 .checklist-module__copy > p,
body.premium-phase-3 .contact-options__copy > p {
    max-width: 65ch;
    color: var(--phase3-ink-soft);
    font-size: 1rem;
    line-height: 1.8;
}

/* Editorial */
body.premium-phase-3 .editorial-module__grid {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    gap: clamp(62px, 9vw, 140px);
    align-items: start;
}

body.premium-phase-3 .editorial-module__headline {
    position: sticky;
    top: 155px;
    padding-left: 28px;
}

body.premium-phase-3 .editorial-module__body {
    padding-top: 30px;
}

body.premium-phase-3 .editorial-module__body > p:first-child {
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.6vw, 2.7rem);
    line-height: 1.25;
    letter-spacing: -.025em;
}

body.premium-phase-3 .editorial-module__body > p + p {
    padding-top: 22px;
    border-top: 1px solid var(--phase3-line);
}

body.premium-phase-3 .editorial-module__aside {
    position: relative;
    margin-top: 42px;
    padding: 28px 30px 30px 66px;
    background: rgba(255, 253, 249, .75);
    border: 1px solid var(--phase3-line);
    border-radius: 20px;
}

body.premium-phase-3 .editorial-module__aside::before {
    content: "“";
    position: absolute;
    top: 10px;
    left: 20px;
    color: var(--phase3-teal);
    font-family: var(--font-display);
    font-size: 4rem;
    line-height: 1;
}

/* Feature y videos */
body.premium-phase-3 .feature-module__grid,
body.premium-phase-3 .video-module__grid {
    display: grid;
    grid-template-columns: minmax(340px, .96fr) minmax(0, 1.04fr);
    gap: clamp(54px, 8vw, 112px);
    align-items: center;
}

body.premium-phase-3 .feature-module__media,
body.premium-phase-3 .video-module__media {
    position: relative;
    overflow: hidden;
    height: clamp(460px, 40vw, 580px);
    min-height: 0;
    margin: 0;
    background: var(--phase3-mist);
    border: 0;
    border-radius: 2px 120px 2px 2px;
    box-shadow: var(--phase3-shadow);
}

body.premium-phase-3 .feature-module__media::after,
body.premium-phase-3 .video-module__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, .32);
    box-shadow: inset 0 0 0 14px rgba(255, 255, 255, .06);
}

body.premium-phase-3 .feature-module__media img,
body.premium-phase-3 .video-module__media video {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

body.premium-phase-3 .feature-module--contained .feature-module__media img,
body.premium-phase-3.page-type-procedure .feature-module__media img {
    padding: 28px;
    object-fit: contain;
    background: linear-gradient(145deg, #fff, var(--phase3-mist));
}

body.premium-phase-3 .feature-module--reverse .feature-module__media,
body.premium-phase-3 .video-module--reverse .video-module__media {
    border-radius: 120px 2px 2px 2px;
}

body.premium-phase-3 .feature-module__copy,
body.premium-phase-3 .video-module__copy {
    position: relative;
}

body.premium-phase-3 .feature-list {
    display: grid;
    gap: 0;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--phase3-line);
}

body.premium-phase-3 .feature-list li {
    position: relative;
    padding: 18px 0 18px 34px;
    color: var(--phase3-ink);
    border-bottom: 1px solid var(--phase3-line);
    font-size: .88rem;
    line-height: 1.55;
}

body.premium-phase-3 .feature-list li::before {
    top: 23px;
    left: 2px;
    width: 9px;
    height: 9px;
    background: transparent;
    border: 1px solid var(--phase3-teal);
    border-radius: 50%;
}

/* Cards */
body.premium-phase-3 .cards-module__grid,
body.premium-phase-3 .steps-module__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

body.premium-phase-3 .info-card,
body.premium-phase-3 .step-item {
    position: relative;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    overflow: hidden;
    background: rgba(255, 253, 249, .88);
    border: 1px solid var(--phase3-line);
    border-radius: 2px 34px 2px 2px;
    box-shadow: none;
    transition: transform .45s var(--phase3-ease), box-shadow .45s ease, border-color .3s ease;
}

body.premium-phase-3 .info-card::after,
body.premium-phase-3 .step-item::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -60px;
    width: 150px;
    aspect-ratio: 1;
    border: 1px solid rgba(45, 124, 125, .12);
    border-radius: 50%;
    transition: transform .6s var(--phase3-ease);
}

body.premium-phase-3 .info-card:hover,
body.premium-phase-3 .step-item:hover {
    z-index: 2;
    border-color: rgba(45, 124, 125, .34);
    box-shadow: 0 30px 80px rgba(5, 26, 36, .10);
    transform: translateY(-8px);
}

body.premium-phase-3 .info-card:hover::after,
body.premium-phase-3 .step-item:hover::after {
    transform: scale(1.35);
}

body.premium-phase-3 .info-card__icon,
body.premium-phase-3 .step-item > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    margin-bottom: auto;
    color: var(--phase3-ink);
    background: transparent;
    border: 1px solid var(--phase3-line-strong);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 700;
}

body.premium-phase-3 .info-card h3,
body.premium-phase-3 .step-item h3 {
    max-width: 18ch;
    margin: 52px 0 12px;
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
    font-weight: 560;
    line-height: 1.02;
    letter-spacing: -.035em;
}

body.premium-phase-3 .info-card p,
body.premium-phase-3 .step-item p {
    margin: 0;
    color: var(--phase3-ink-soft);
    font-size: .84rem;
    line-height: 1.7;
}

/* Etapas */
body.premium-phase-3 .stages-module__list {
    max-width: 1000px;
    margin-left: auto;
    border-top: 1px solid var(--phase3-line-strong);
}

body.premium-phase-3 .stage-row {
    position: relative;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 44px;
    gap: 30px;
    align-items: start;
    padding: 32px 0;
    border-bottom: 1px solid var(--phase3-line-strong);
}

body.premium-phase-3 .stage-row::after {
    content: "↘";
    color: var(--phase3-copper);
    font-size: 1.2rem;
    transition: transform .35s var(--phase3-ease);
}

body.premium-phase-3 .stage-row:hover::after {
    transform: translate(4px, 4px);
}

body.premium-phase-3 .stage-row__label {
    color: var(--phase3-teal);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.premium-phase-3 .stage-row h3 {
    margin: 0 0 10px;
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 2.4vw, 2.6rem);
    line-height: 1.05;
}

body.premium-phase-3 .stage-row p {
    max-width: 66ch;
    margin: 0;
    color: var(--phase3-ink-soft);
    line-height: 1.75;
}

/* Checklist */
body.premium-phase-3 .checklist-module,
body.premium-phase-3 .internal-module.checklist-module {
    color: #fff;
    background:
        radial-gradient(circle at 85% 20%, rgba(101, 170, 163, .2), transparent 28rem),
        var(--phase3-ink);
}

body.premium-phase-3 .checklist-module__grid {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: 90px;
}

body.premium-phase-3 .checklist-module__copy {
    position: sticky;
    top: 155px;
    height: fit-content;
    padding-left: 28px;
}

body.premium-phase-3 .checklist-module h2,
body.premium-phase-3 .checklist-module p {
    color: #fff;
}

body.premium-phase-3 .checkline {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 17px;
    align-items: start;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

body.premium-phase-3 .checkline span {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--phase3-ink);
    background: var(--phase3-teal-bright);
    border-radius: 50%;
    font-size: .7rem;
}

body.premium-phase-3 .checkline p {
    margin: 2px 0 0;
    color: rgba(255, 255, 255, .8);
    line-height: 1.65;
}

/* Galerías generales */
body.premium-phase-3 .gallery-module__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 16px;
}

body.premium-phase-3 .gallery-module figure {
    grid-column: span 6;
    height: clamp(420px, 46vw, 620px);
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    margin: 0;
    overflow: hidden;
    background: var(--phase3-mist);
    border: 0;
    border-radius: 2px 44px 2px 2px;
    box-shadow: none;
}

body.premium-phase-3 .gallery-module figure:nth-child(3n) {
    grid-column: span 12;
    height: clamp(460px, 48vw, 650px);
}

body.premium-phase-3 .gallery-module figure img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    transition: transform .8s var(--phase3-ease);
}

body.premium-phase-3.page-type-procedure .gallery-module figure img {
    padding: 22px;
    object-fit: contain;
    background: linear-gradient(145deg, #fff, var(--phase3-mist));
}

body.premium-phase-3 .gallery-module figure:hover img {
    transform: scale(1.035);
}

body.premium-phase-3 .gallery-module figcaption {
    padding: 17px 19px;
    color: var(--phase3-ink-soft);
    background: #fff;
    font-size: .74rem;
}

/* Resultados de pacientes */
body.premium-phase-3 .gallery-module--patient-results {
    color: #fff;
    background:
        radial-gradient(circle at 80% 8%, rgba(101, 170, 163, .18), transparent 25rem),
        var(--phase3-ink);
}

body.premium-phase-3 .gallery-module--patient-results::before {
    color: rgba(255, 255, 255, .04);
}

body.premium-phase-3 .gallery-module--patient-results .module-head h2,
body.premium-phase-3 .gallery-module--patient-results .module-head p {
    color: #fff;
}

body.premium-phase-3 .gallery-module--patient-results .gallery-module__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.result-story-card {
    position: relative;
    min-height: 430px;
    padding: 0;
    overflow: hidden;
    color: #fff;
    background: #0b202a;
    border: 0;
    border-radius: 2px 32px 2px 2px;
    cursor: zoom-in;
    text-align: left;
}

.result-story-card:nth-child(5n + 1),
.result-story-card:nth-child(5n + 5) {
    grid-column: span 2;
}

.result-story-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s var(--phase3-ease), filter .5s ease;
}

.result-story-card__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 20, 28, .06) 25%, rgba(5, 20, 28, .82) 100%);
    transition: background .4s ease;
}

.result-story-card__index {
    position: absolute;
    top: 17px;
    left: 17px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--phase3-ink);
    background: rgba(255, 255, 255, .9);
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 700;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.result-story-card__footer {
    position: absolute;
    right: 20px;
    bottom: 20px;
    left: 20px;
    z-index: 2;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
}

.result-story-card__footer strong {
    font-family: var(--font-display);
    font-size: 1.42rem;
    font-weight: 550;
}

.result-story-card__footer small {
    color: rgba(255, 255, 255, .74);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.result-story-card:hover img,
.result-story-card:focus-visible img {
    filter: saturate(1.03) contrast(1.02);
    transform: scale(1.055);
}

.result-story-card:hover .result-story-card__veil,
.result-story-card:focus-visible .result-story-card__veil {
    background: linear-gradient(180deg, rgba(5, 20, 28, .01), rgba(5, 20, 28, .68));
}

.gallery-module__medical-note {
    max-width: 75ch;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .58);
    font-size: .72rem;
    line-height: 1.65;
}

/* Directorio visual de procedimientos */
body.premium-phase-3 .links-module--procedure-directory {
    color: #fff;
    background:
        radial-gradient(circle at 90% 12%, rgba(101, 170, 163, .18), transparent 28rem),
        var(--phase3-ink);
}

body.premium-phase-3 .links-module--procedure-directory::before {
    color: rgba(255, 255, 255, .04);
}

body.premium-phase-3 .links-module--procedure-directory .module-head h2,
body.premium-phase-3 .links-module--procedure-directory .module-head p {
    color: #fff;
}

body.premium-phase-3 .links-module--procedure-directory .links-module__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.procedure-directory-card {
    position: relative;
    min-height: 290px;
    display: grid !important;
    grid-template-columns: minmax(180px, .76fr) minmax(0, 1.24fr);
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    color: #fff !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 2px 34px 2px 2px !important;
    box-shadow: none !important;
    text-decoration: none;
    transition: background .35s ease, border-color .35s ease, transform .45s var(--phase3-ease) !important;
}

.procedure-directory-card figure {
    position: relative;
    min-height: 290px;
    margin: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, .96);
}

.procedure-directory-card figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 55%, rgba(9, 36, 51, .12));
}

.procedure-directory-card figure img {
    width: 100%;
    height: 100%;
    min-height: 290px;
    padding: 16px;
    object-fit: contain;
    transition: transform .8s var(--phase3-ease);
}

.procedure-directory-card figure span {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: var(--phase3-ink);
    background: rgba(255, 255, 255, .92);
    border-radius: 50%;
    font-size: .65rem;
    font-weight: 700;
}

.procedure-directory-card > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 32px;
}

.procedure-directory-card small {
    color: var(--phase3-teal-bright);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.procedure-directory-card h3 {
    max-width: 17ch;
    margin: 28px 0 auto;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 2.5vw, 2.7rem);
    font-weight: 520;
    line-height: 1.02;
    letter-spacing: -.035em;
}

.procedure-directory-card b {
    display: flex;
    gap: 9px;
    align-items: center;
    margin-top: 24px;
    color: rgba(255, 255, 255, .7);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.procedure-directory-card b i {
    font-style: normal;
    transition: transform .3s ease;
}

.procedure-directory-card:hover {
    z-index: 2;
    background: rgba(255, 255, 255, .09) !important;
    border-color: rgba(101, 170, 163, .4) !important;
    transform: translateY(-5px) !important;
}

.procedure-directory-card:hover figure img {
    transform: scale(1.045);
}

.procedure-directory-card:hover b i {
    transform: translateX(5px);
}

/* Links normales */
body.premium-phase-3 .links-module:not(.links-module--procedure-directory) .links-module__grid,
body.premium-phase-3 .directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body.premium-phase-3 .links-module:not(.links-module--procedure-directory) .links-module__grid > a,
body.premium-phase-3 .directory-grid > a {
    min-height: 118px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    padding: 24px;
    color: var(--phase3-ink);
    background: rgba(255, 253, 249, .78);
    border: 1px solid var(--phase3-line);
    border-radius: 2px 26px 2px 2px;
    box-shadow: none;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition: transform .35s var(--phase3-ease), background .3s ease, border-color .3s ease;
}

body.premium-phase-3 .links-module:not(.links-module--procedure-directory) .links-module__grid > a:hover,
body.premium-phase-3 .directory-grid > a:hover {
    background: #fff;
    border-color: rgba(45, 124, 125, .36);
    transform: translateY(-4px);
}

body.premium-phase-3 .links-module__grid b,
body.premium-phase-3 .directory-grid b {
    color: var(--phase3-teal);
}

/* Recursos */
body.premium-phase-3 .resource-hub__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.premium-phase-3 .resource-topic {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: 34px;
    background: rgba(255, 253, 249, .78);
    border: 1px solid var(--phase3-line);
    border-radius: 2px 44px 2px 2px;
    box-shadow: none;
}

body.premium-phase-3 .resource-topic h3 {
    max-width: 16ch;
    margin: 0 0 14px;
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.35rem);
    font-weight: 540;
    line-height: 1;
}

body.premium-phase-3 .resource-topic p {
    color: var(--phase3-ink-soft);
    line-height: 1.7;
}

body.premium-phase-3 .resource-topic__links {
    display: grid;
    gap: 0;
    margin-top: auto;
    border-top: 1px solid var(--phase3-line);
}

body.premium-phase-3 .resource-topic__links a {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 0;
    color: var(--phase3-ink);
    border-bottom: 1px solid var(--phase3-line);
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
}

body.premium-phase-3 .resource-topic__links b {
    color: var(--phase3-teal);
    transition: transform .25s ease;
}

body.premium-phase-3 .resource-topic__links a:hover b {
    transform: translateX(5px);
}

/* Contacto */
body.premium-phase-3 .contact-options__grid {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: 90px;
    align-items: start;
}

body.premium-phase-3 .contact-options__copy {
    position: sticky;
    top: 155px;
    padding-left: 28px;
}

body.premium-phase-3 .contact-options__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid var(--phase3-line-strong);
}

body.premium-phase-3 .contact-options__cards a {
    position: relative;
    display: grid;
    grid-template-columns: minmax(150px, .5fr) minmax(0, 1fr) 40px;
    gap: 22px;
    align-items: center;
    min-height: 112px;
    padding: 26px 8px;
    color: var(--phase3-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--phase3-line-strong);
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
}

body.premium-phase-3 .contact-options__cards a::after {
    content: "↗";
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: var(--phase3-teal);
    border: 1px solid var(--phase3-line-strong);
    border-radius: 50%;
    transition: color .3s ease, background .3s ease, transform .3s var(--phase3-ease);
}

body.premium-phase-3 .contact-options__cards a:hover::after {
    color: #fff;
    background: var(--phase3-teal);
    transform: translate(2px, -2px);
}

body.premium-phase-3 .contact-options__cards strong {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 560;
}

body.premium-phase-3 .contact-options__cards span {
    color: var(--phase3-ink-soft);
    font-size: .8rem;
}

/* Comparativas */
body.premium-phase-3 .comparison-module__table,
body.premium-phase-3 .table-wrap {
    overflow-x: auto;
    background: rgba(255, 253, 249, .82);
    border: 1px solid var(--phase3-line);
    border-radius: 2px 32px 2px 2px;
    box-shadow: none;
}

body.premium-phase-3 .comparison-module table,
body.premium-phase-3 .comparison table {
    min-width: 820px;
    border-collapse: collapse;
}

body.premium-phase-3 .comparison-module th,
body.premium-phase-3 .comparison-module td,
body.premium-phase-3 .comparison th,
body.premium-phase-3 .comparison td {
    padding: 22px 24px;
    border-bottom: 1px solid var(--phase3-line);
    text-align: left;
}

body.premium-phase-3 .comparison-module th,
body.premium-phase-3 .comparison th {
    color: var(--phase3-copper);
    background: var(--phase3-ink);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.premium-phase-3 .comparison-module td:first-child,
body.premium-phase-3 .comparison td:first-child {
    color: var(--phase3-ink);
    font-weight: 700;
}

/* FAQ */
body.premium-phase-3 .faq-clean {
    background: var(--phase3-ivory);
}

body.premium-phase-3 .faq-clean__grid {
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    gap: clamp(64px, 9vw, 130px);
    align-items: start;
}

body.premium-phase-3 .faq-clean__grid > .io-reveal:first-child {
    position: sticky;
    top: 155px;
}

body.premium-phase-3 .faq-list {
    border-top: 1px solid var(--phase3-line-strong);
}

body.premium-phase-3 .faq-list details {
    border-bottom: 1px solid var(--phase3-line-strong);
}

body.premium-phase-3 .faq-list summary {
    position: relative;
    padding: 24px 52px 24px 0;
    color: var(--phase3-ink);
    cursor: pointer;
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 1.7vw, 1.75rem);
    font-weight: 560;
    line-height: 1.25;
    list-style: none;
}

body.premium-phase-3 .faq-list summary::-webkit-details-marker {
    display: none;
}

body.premium-phase-3 .faq-list summary::before,
body.premium-phase-3 .faq-list summary::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 1px;
    background: var(--phase3-teal);
    transition: transform .3s ease;
}

body.premium-phase-3 .faq-list summary::after {
    transform: rotate(90deg);
}

body.premium-phase-3 .faq-list details[open] summary::after {
    transform: rotate(0);
}

body.premium-phase-3 .faq-list details > p {
    max-width: 65ch;
    margin: -4px 0 26px;
    color: var(--phase3-ink-soft);
    line-height: 1.75;
}

/* CTA de contacto */
body.premium-phase-3 .contact-band {
    color: #fff;
    background:
        radial-gradient(circle at 86% 12%, rgba(101, 170, 163, .26), transparent 28rem),
        linear-gradient(135deg, #061923, #123f4d);
}

body.premium-phase-3 .contact-band__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: end;
}

body.premium-phase-3 .contact-band h2 {
    max-width: 14ch;
    color: #fff;
}

body.premium-phase-3 .contact-band p {
    max-width: 56ch;
    color: rgba(255, 255, 255, .7);
    line-height: 1.75;
}

body.premium-phase-3 .contact-links {
    min-width: 300px;
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

body.premium-phase-3 .contact-links a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 0;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

body.premium-phase-3 .contact-links a::after {
    content: "→";
    color: var(--phase3-teal-bright);
    transition: transform .25s ease;
}

body.premium-phase-3 .contact-links a:hover::after {
    transform: translateX(6px);
}

/* BMI */
body.premium-phase-3 .bmi-block--tool {
    background: var(--phase3-ivory);
}

body.premium-phase-3 .bmi-grid {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: 90px;
    align-items: center;
}

body.premium-phase-3 .bmi-card {
    padding: 34px;
    background: #fff;
    border: 1px solid var(--phase3-line);
    border-radius: 2px 38px 2px 2px;
    box-shadow: var(--phase3-shadow);
}

body.premium-phase-3 .bmi-card label {
    color: var(--phase3-ink);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
}

body.premium-phase-3 .bmi-card input {
    margin-top: 8px;
    color: var(--phase3-ink);
    background: var(--phase3-paper);
    border: 1px solid var(--phase3-line-strong);
    border-radius: 10px;
}

body.premium-phase-3 .bmi-result {
    margin-top: 22px;
    color: #fff;
    background: var(--phase3-ink);
    border-radius: 18px;
}

/* About page */
body.page-slug-sobre-el-doctor .editorial-module:first-of-type {
    background: var(--phase3-ivory);
}

body.page-slug-sobre-el-doctor .video-module__media {
    min-height: 560px;
}

body.page-slug-sobre-el-doctor .stages-module {
    color: #fff;
    background:
        radial-gradient(circle at 85% 15%, rgba(101, 170, 163, .18), transparent 25rem),
        var(--phase3-ink);
}

body.page-slug-sobre-el-doctor .stages-module::before {
    color: rgba(255, 255, 255, .04);
}

body.page-slug-sobre-el-doctor .stages-module .module-head h2,
body.page-slug-sobre-el-doctor .stages-module .module-head p,
body.page-slug-sobre-el-doctor .stages-module .stage-row h3,
body.page-slug-sobre-el-doctor .stages-module .stage-row p {
    color: #fff;
}

body.page-slug-sobre-el-doctor .stages-module .stage-row,
body.page-slug-sobre-el-doctor .stages-module .stages-module__list {
    border-color: rgba(255, 255, 255, .16);
}

/* Páginas de procedimiento: ritmo más clínico */
body.page-type-procedure .phase3-page-hero::before,
body.page-type-comparison .phase3-page-hero::before {
    background:
        radial-gradient(circle at 82% 22%, rgba(45, 124, 125, .12), transparent 28rem),
        linear-gradient(125deg, #fffdf9, #eef4f2);
}

body.page-type-procedure .page-hero__media-frame,
body.page-type-comparison .page-hero__media-frame {
    background: #fff;
}

body.page-type-procedure .page-hero__media-frame::before {
    content: "ANATOMÍA · PROCEDIMIENTO";
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 2;
    color: var(--phase3-copper);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .15em;
}

body.page-type-procedure .feature-module:nth-of-type(odd),
body.page-type-procedure .gallery-module:nth-of-type(odd) {
    background: var(--phase3-ivory);
}

/* Blog */
body.page-type-blog,
body.page-type-blog-article {
    background: var(--phase3-paper);
}

body.premium-phase-3 .blog-page,
body.premium-phase-3 .blog-article {
    color: var(--phase3-ink);
    background: transparent;
}

body.premium-phase-3 .blog-hero {
    position: relative;
    padding: clamp(100px, 11vw, 170px) 0 clamp(90px, 10vw, 150px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 85% 12%, rgba(101, 170, 163, .22), transparent 28rem),
        linear-gradient(135deg, #061923, #123f4d);
}

body.premium-phase-3 .blog-hero::after {
    content: "";
    position: absolute;
    top: -15rem;
    right: -10rem;
    width: 38rem;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 6rem rgba(255, 255, 255, .025);
}

body.premium-phase-3 .blog-hero__inner {
    position: relative;
    z-index: 2;
}

body.premium-phase-3 .blog-eyebrow {
    color: var(--phase3-teal-bright);
    font-size: .67rem;
    font-weight: 700;
}

body.premium-phase-3 .blog-hero h1 {
    max-width: 12ch;
    margin: 20px 0;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(4.1rem, 7vw, 8rem);
    font-weight: 520;
    line-height: .9;
    letter-spacing: -.055em;
}

body.premium-phase-3 .blog-hero p {
    color: rgba(255, 255, 255, .72);
}

body.premium-phase-3 .blog-doctor {
    position: relative;
    z-index: 4;
    margin-top: -54px;
    padding: 18px;
    grid-template-columns: 300px 1fr;
    gap: 52px;
    background: var(--phase3-paper);
    border: 1px solid var(--phase3-line);
    border-radius: 2px 40px 2px 2px;
    box-shadow: var(--phase3-shadow);
}

body.premium-phase-3 .blog-doctor img {
    height: 300px;
    border-radius: 2px 34px 2px 2px;
}

body.premium-phase-3 .blog-doctor h2 {
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 4vw, 4.5rem);
    font-weight: 540;
    line-height: .96;
}

body.premium-phase-3 .blog-featured {
    padding: 130px 0 110px;
    background: var(--phase3-ivory);
}

body.premium-phase-3 .blog-card {
    background: #fff;
    border: 1px solid var(--phase3-line);
    border-radius: 2px 32px 2px 2px;
    box-shadow: none;
}

body.premium-phase-3 .blog-card img,
body.premium-phase-3 .blog-card__placeholder {
    height: 220px;
}

body.premium-phase-3 .blog-card h3,
body.premium-phase-3 .blog-news-item h3 {
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-weight: 560;
}

body.premium-phase-3 .blog-carousel-button {
    color: #fff;
    background: var(--phase3-ink);
}

body.premium-phase-3 .blog-latest {
    padding: 120px 0;
}

body.premium-phase-3 .blog-news-list {
    max-height: none;
    overflow: visible;
    border-color: var(--phase3-line-strong);
}

body.premium-phase-3 .blog-news-item {
    padding: 30px 8px;
    border-color: var(--phase3-line-strong);
}

body.premium-phase-3 .blog-article__header {
    padding: 110px 0 55px;
}

body.premium-phase-3 .blog-article__header h1 {
    max-width: 14ch;
    color: var(--phase3-ink);
    font-family: var(--font-display);
    font-size: clamp(3.7rem, 6.5vw, 7.2rem);
    font-weight: 520;
    line-height: .92;
    letter-spacing: -.052em;
}

body.premium-phase-3 .blog-article__image {
    height: min(60vw, 680px);
    border-radius: 2px 60px 2px 2px;
    box-shadow: var(--phase3-shadow);
}

body.premium-phase-3 .blog-article__content {
    position: relative;
    margin: 70px auto 130px;
    color: var(--phase3-ink-soft);
    font-family: var(--font-display);
    font-size: 1.22rem;
    line-height: 1.95;
}

body.premium-phase-3 .blog-article__content::first-letter {
    float: left;
    margin: .11em .12em 0 0;
    color: var(--phase3-teal);
    font-family: var(--font-display);
    font-size: 5.4rem;
    line-height: .72;
}

/* Footer */
body.premium-phase-3 .site-footer {
    position: relative;
    padding-top: 110px;
    color: rgba(255, 255, 255, .8);
    background: #04151d;
    border-top: 0;
}

body.premium-phase-3 .site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 15%, rgba(101, 170, 163, .1), transparent 25rem),
        linear-gradient(90deg, transparent 49.9%, rgba(255, 255, 255, .035) 50%, transparent 50.1%);
}

body.premium-phase-3 .site-footer .footer-grid,
body.premium-phase-3 .site-footer .footer-bottom {
    position: relative;
}

body.premium-phase-3 .site-footer h3,
body.premium-phase-3 .site-footer a,
body.premium-phase-3 .site-footer p {
    color: rgba(255, 255, 255, .68);
}

body.premium-phase-3 .site-footer h3 {
    color: #fff;
}

body.premium-phase-3 .site-footer a:hover {
    color: var(--phase3-teal-bright);
}

body.premium-phase-3 .footer-actions a:first-child {
    color: var(--phase3-ink);
    background: #fff;
    border-color: #fff;
}

body.premium-phase-3 .footer-actions a:last-child {
    color: #fff;
    border-color: rgba(255, 255, 255, .22);
}

body.premium-phase-3 .footer-bottom {
    border-top-color: rgba(255, 255, 255, .1);
}

body.premium-phase-3 .booking-float {
    z-index: 600;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--phase3-teal);
}

/* Lightbox de resultados */
.phase3-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 56px;
    visibility: hidden;
    opacity: 0;
    background: rgba(3, 16, 23, .93);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    transition: opacity .3s ease, visibility .3s ease;
}

.phase3-lightbox.is-open {
    visibility: visible;
    opacity: 1;
}

.phase3-lightbox figure {
    max-width: min(1100px, 88vw);
    max-height: 84vh;
    display: grid;
    gap: 14px;
    margin: 0;
}

.phase3-lightbox img {
    max-width: 100%;
    max-height: 78vh;
    display: block;
    margin: auto;
    object-fit: contain;
    border-radius: 2px 34px 2px 2px;
    box-shadow: 0 35px 100px rgba(0, 0, 0, .35);
}

.phase3-lightbox figcaption {
    color: rgba(255, 255, 255, .72);
    font-size: .72rem;
    text-align: center;
}

.phase3-lightbox__close {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.7rem;
}

body.phase3-lightbox-open {
    overflow: hidden;
}

/* Motion states */
html.phase3-motion-ready body.premium-phase-3 .phase3-reveal {
    opacity: 1;
    transform: none;
}

html.phase3-motion-ready body.premium-phase-3 .phase3-reveal.is-reveal-pending {
    opacity: 0;
    transform: translate3d(0, 36px, 0);
}

html.phase3-motion-ready body.premium-phase-3 .phase3-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity .85s var(--phase3-ease), transform .85s var(--phase3-ease);
}

html.phase3-motion-ready body.premium-phase-3 .phase3-hero-line {
    display: block;
    overflow: hidden;
}

html.phase3-motion-ready body.premium-phase-3 .phase3-hero-line > span {
    display: block;
    transform: translateY(110%);
}

/* Responsive */
@media (max-width: 1180px) {
    body.premium-phase-3 .phase3-page-hero {
        min-height: 660px;
    }

    body.premium-phase-3 .page-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
        gap: 62px;
    }

    body.premium-phase-3 .page-hero__media-frame,
    body.premium-phase-3 .page-hero__media img {
        min-height: 0;
    }

    body.premium-phase-3 .page-hero__media-frame {
        height: clamp(500px, 52vw, 570px);
    }

    body.premium-phase-3 .gallery-module--patient-results .gallery-module__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .result-story-card:nth-child(5n + 1),
    .result-story-card:nth-child(5n + 5) {
        grid-column: span 1;
    }
}

@media (max-width: 1060px) {
    html {
        scroll-padding-top: 76px;
    }

    body.premium-phase-3 .mobile-top {
        position: sticky;
        top: 0;
        z-index: 400;
    }

    body.premium-phase-3 .phase3-page-hero {
        min-height: auto;
        padding-top: 94px;
    }

    body.premium-phase-3 .page-hero__grid {
        grid-template-columns: 1fr;
    }

    body.premium-phase-3 .page-hero__copy {
        max-width: 850px;
    }

    body.premium-phase-3 .page-hero h1 {
        max-width: 12ch;
    }

    body.premium-phase-3 .page-hero__media {
        width: min(100%, 720px);
        margin-left: auto;
    }

    body.premium-phase-3 .page-hero--full .page-hero__full-inner {
        min-height: 760px;
        grid-template-columns: 1fr;
        align-content: end;
        padding-top: 120px;
        padding-bottom: 100px;
    }

    body.premium-phase-3 .page-hero--full .page-hero__facts {
        max-width: 600px;
    }

    .phase3-page-rail {
        top: 72px;
    }

    .phase3-page-rail__inner {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .phase3-page-rail__progress {
        display: none;
    }

    body.premium-phase-3 .editorial-module__grid,
    body.premium-phase-3 .feature-module__grid,
    body.premium-phase-3 .video-module__grid,
    body.premium-phase-3 .checklist-module__grid,
    body.premium-phase-3 .contact-options__grid,
    body.premium-phase-3 .faq-clean__grid,
    body.premium-phase-3 .bmi-grid {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    body.premium-phase-3 .editorial-module__headline,
    body.premium-phase-3 .checklist-module__copy,
    body.premium-phase-3 .contact-options__copy,
    body.premium-phase-3 .faq-clean__grid > .io-reveal:first-child {
        position: relative;
        top: auto;
    }

    body.premium-phase-3 .feature-module--reverse .feature-module__media,
    body.premium-phase-3 .video-module--reverse .video-module__media {
        order: 0;
    }

    body.premium-phase-3 .feature-module--reverse .feature-module__copy,
    body.premium-phase-3 .video-module--reverse .video-module__copy {
        order: 1;
    }

    body.premium-phase-3 .cards-module__grid,
    body.premium-phase-3 .steps-module__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.premium-phase-3 .links-module--procedure-directory .links-module__grid,
    body.premium-phase-3 .resource-hub__grid {
        grid-template-columns: 1fr;
    }

    body.premium-phase-3 .contact-band__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    body.premium-phase-3 .container,
    body.premium-phase-3 .wide {
        width: min(calc(100% - 32px), var(--container));
    }

    body.premium-phase-3 .phase3-page-hero {
        padding: 48px 0 62px;
    }

    body.premium-phase-3 .phase3-page-hero::after {
        top: -14rem;
        right: -18rem;
        width: 36rem;
    }

    .phase3-breadcrumbs {
        margin-bottom: 24px;
        font-size: .62rem;
    }

    .phase3-breadcrumbs a:nth-of-type(2),
    .phase3-breadcrumbs a:nth-of-type(2) + span {
        display: none;
    }

    .phase3-hero-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
        margin-bottom: 18px;
    }

    .phase3-hero-meta i {
        display: none;
    }

    body.premium-phase-3 .page-hero h1,
    body.premium-phase-3 .page-hero--full .page-hero__copy h1 {
        max-width: 100%;
        font-size: clamp(2.85rem, 12vw, 3.6rem);
        line-height: .91;
    }

    body.premium-phase-3 .page-hero__grid {
        gap: 38px;
    }

    body.page-slug-procedimientos .page-hero h1,
    body.page-slug-balon-intragastrico .page-hero h1,
    body.page-slug-cirugia-bariatrica-revision .page-hero h1,
    body.page-slug-cirugia-general-avanzada .page-hero h1,
    body.page-slug-control-obesidad-metabolismo .page-hero h1,
    body.page-slug-comparativa-procedimientos .page-hero h1,
    body.page-slug-riesgos-consideraciones .page-hero h1,
    body.page-slug-faq-procedimientos .page-hero h1 {
        max-width: 100%;
        font-size: clamp(2.25rem, 10vw, 2.7rem);
        line-height: .95;
        letter-spacing: -.045em;
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    body.premium-phase-3 .page-hero__copy > p {
        margin-top: 24px;
        font-size: .98rem;
        line-height: 1.68;
    }

    body.premium-phase-3 .page-hero .hero-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.premium-phase-3 .page-hero .btn {
        width: 100%;
        min-height: 48px;
        padding-inline: 10px;
        font-size: .66rem;
    }

    body.premium-phase-3 .page-hero__mini-points {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 30px;
    }

    body.premium-phase-3 .page-hero__mini-points > div,
    body.premium-phase-3 .page-hero__mini-points > div + div {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 14px 10px;
        border-left: 1px solid var(--phase3-line);
        border-bottom: 0;
    }

    body.premium-phase-3 .page-hero__mini-points > div:first-child {
        padding-left: 0;
        border-left: 0;
    }

    body.premium-phase-3 .page-hero__mini-points > div:last-child {
        padding-right: 0;
    }

    body.premium-phase-3 .page-hero__mini-points span {
        font-size: .56rem;
    }

    body.premium-phase-3 .page-hero__mini-points strong {
        font-size: .68rem;
        line-height: 1.3;
    }

    body.premium-phase-3 .page-hero__mini-points small {
        display: none;
    }

    body.premium-phase-3 .page-hero__media {
        width: 100%;
    }

    body.premium-phase-3 .page-hero__media::before {
        inset: 12px -8px -12px 12px;
    }

    body.premium-phase-3 .page-hero__media-frame,
    body.premium-phase-3 .page-hero__media img {
        min-height: 0;
    }

    body.premium-phase-3 .page-hero__media-frame {
        height: clamp(330px, 92vw, 370px);
        border-radius: 42% 42% 20px 20px;
    }

    body.premium-phase-3 .page-hero__media--contain img {
        padding: 20px;
    }

    body.premium-phase-3 .page-hero__media figcaption {
        right: 12px;
        bottom: 16px;
        min-width: 0;
    }

    body.premium-phase-3 .page-hero--full {
        min-height: clamp(620px, 100svh, 680px);
        padding: 0;
    }

    body.premium-phase-3 .page-hero--full .page-hero__full-inner {
        min-height: clamp(620px, 100svh, 680px);
        padding-top: 94px;
        padding-bottom: 72px;
    }

    body.premium-phase-3 .page-hero--full .page-hero__veil {
        background:
            linear-gradient(180deg, rgba(3, 16, 23, .34), rgba(3, 16, 23, .88) 62%, rgba(3, 16, 23, .96));
    }

    body.premium-phase-3 .page-hero--full .page-hero__facts {
        display: none;
    }

    .phase3-hero-scroll {
        display: none;
    }

    .phase3-page-rail {
        top: 71px;
    }

    .phase3-page-rail__inner {
        min-height: 54px;
        grid-template-columns: 1fr;
    }

    .phase3-page-rail__label {
        display: none;
    }

    .phase3-page-rail__links a {
        max-width: 190px;
        font-size: .64rem;
    }

    body.premium-phase-3 .internal-module,
    body.premium-phase-3 .faq-clean,
    body.premium-phase-3 .contact-band,
    body.premium-phase-3 .related-links,
    body.premium-phase-3 .intro-section,
    body.premium-phase-3 .value-highlights,
    body.premium-phase-3 .visual-band,
    body.premium-phase-3 .content-stream,
    body.premium-phase-3 .clinical-gallery,
    body.premium-phase-3 .comparison,
    body.premium-phase-3 .link-directory,
    body.premium-phase-3 .bmi-block {
        padding: 68px 0;
    }

    body.premium-phase-3 .internal-module::before {
        top: 24px;
        right: 16px;
        font-size: 5rem;
    }

    body.premium-phase-3 .module-head {
        margin-bottom: 36px;
        padding-left: 18px;
    }

    body.premium-phase-3 .module-head h2,
    body.premium-phase-3 .editorial-module h2,
    body.premium-phase-3 .feature-module h2,
    body.premium-phase-3 .video-module h2,
    body.premium-phase-3 .checklist-module h2,
    body.premium-phase-3 .contact-options h2,
    body.premium-phase-3 .faq-clean h2,
    body.premium-phase-3 .contact-band h2 {
        max-width: 12ch;
        font-size: clamp(2.8rem, 12vw, 4.35rem);
    }

    body.premium-phase-3 .editorial-module__headline,
    body.premium-phase-3 .checklist-module__copy,
    body.premium-phase-3 .contact-options__copy {
        padding-left: 18px;
    }

    body.premium-phase-3 .editorial-module__body > p:first-child {
        font-size: 1.55rem;
    }

    body.premium-phase-3 .feature-module__media,
    body.premium-phase-3 .video-module__media,
    body.premium-phase-3 .feature-module__media img,
    body.premium-phase-3 .video-module__media video {
        min-height: 0;
    }

    body.premium-phase-3 .feature-module__media,
    body.premium-phase-3 .video-module__media {
        height: clamp(340px, 105vw, 420px);
    }

    body.premium-phase-3 .feature-module--contained .feature-module__media img,
    body.premium-phase-3.page-type-procedure .feature-module__media img,
    body.premium-phase-3.page-type-procedure .gallery-module figure img {
        padding: 14px;
    }

    body.premium-phase-3 .feature-module__media,
    body.premium-phase-3 .video-module__media,
    body.premium-phase-3 .feature-module--reverse .feature-module__media,
    body.premium-phase-3 .video-module--reverse .video-module__media {
        border-radius: 2px 62px 2px 2px;
    }

    body.premium-phase-3 .cards-module__grid,
    body.premium-phase-3 .steps-module__grid,
    body.premium-phase-3 .links-module:not(.links-module--procedure-directory) .links-module__grid,
    body.premium-phase-3 .directory-grid,
    body.premium-phase-3 .gallery-module--patient-results .gallery-module__grid {
        grid-template-columns: 1fr;
    }

    body.premium-phase-3 .info-card,
    body.premium-phase-3 .step-item {
        min-height: 280px;
    }

    body.premium-phase-3 .stage-row {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 16px;
    }

    body.premium-phase-3 .stage-row::after {
        display: none;
    }

    body.premium-phase-3 .gallery-module__grid {
        grid-template-columns: 1fr;
    }

    body.premium-phase-3 .gallery-module figure,
    body.premium-phase-3 .gallery-module figure:nth-child(3n) {
        grid-column: auto;
        height: clamp(340px, 105vw, 430px);
        min-height: 0;
    }

    body.premium-phase-3 .gallery-module figure img {
        min-height: 0;
    }

    .result-story-card,
    .result-story-card:nth-child(5n + 1),
    .result-story-card:nth-child(5n + 5) {
        grid-column: auto;
        min-height: 440px;
    }

    .procedure-directory-card {
        grid-template-columns: 1fr;
    }

    .procedure-directory-card figure,
    .procedure-directory-card figure img {
        min-height: 230px;
        max-height: 260px;
    }

    .procedure-directory-card > div {
        min-height: 235px;
        padding: 26px;
    }

    .procedure-directory-card h3 {
        margin-top: 22px;
    }

    body.premium-phase-3 .resource-topic {
        min-height: 330px;
        padding: 26px;
    }

    body.premium-phase-3 .contact-options__cards a {
        grid-template-columns: 1fr 38px;
        gap: 8px 14px;
    }

    body.premium-phase-3 .contact-options__cards span {
        grid-column: 1;
    }

    body.premium-phase-3 .contact-options__cards a::after {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    body.premium-phase-3 .contact-band__inner {
        gap: 42px;
    }

    body.premium-phase-3 .contact-links {
        min-width: 0;
    }

    body.premium-phase-3 .blog-hero {
        padding: 98px 0 100px;
    }

    body.premium-phase-3 .blog-hero h1,
    body.premium-phase-3 .blog-article__header h1 {
        font-size: clamp(3.3rem, 14vw, 5.2rem);
    }

    body.premium-phase-3 .blog-doctor {
        grid-template-columns: 1fr;
        gap: 26px;
        margin-top: -34px;
    }

    body.premium-phase-3 .blog-doctor img {
        height: 290px;
    }

    body.premium-phase-3 .blog-card {
        flex-basis: 86%;
    }

    body.premium-phase-3 .blog-news-item {
        grid-template-columns: 1fr 36px;
    }

    body.premium-phase-3 .blog-news-item time {
        grid-column: 1 / -1;
    }

    body.premium-phase-3 .blog-article__header {
        padding-top: 82px;
    }

    body.premium-phase-3 .blog-article__image {
        width: calc(100% - 32px);
        height: 58vw;
        min-height: 310px;
        border-radius: 2px 34px 2px 2px;
    }

    body.premium-phase-3 .blog-article__content {
        width: calc(100% - 38px);
        margin-top: 52px;
        font-size: 1.08rem;
    }

    .phase3-lightbox {
        padding: 64px 16px 28px;
    }

    .phase3-lightbox figure {
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    body.premium-phase-3 .page-hero h1,
    body.premium-phase-3 .page-hero--full .page-hero__copy h1 {
        max-width: 100%;
        font-size: 3.1rem;
    }

    body.page-slug-procedimientos .page-hero h1,
    body.page-slug-balon-intragastrico .page-hero h1,
    body.page-slug-cirugia-bariatrica-revision .page-hero h1,
    body.page-slug-cirugia-general-avanzada .page-hero h1,
    body.page-slug-control-obesidad-metabolismo .page-hero h1,
    body.page-slug-comparativa-procedimientos .page-hero h1,
    body.page-slug-riesgos-consideraciones .page-hero h1,
    body.page-slug-faq-procedimientos .page-hero h1 {
        font-size: clamp(2.15rem, 10vw, 2.55rem);
    }

    body.premium-phase-3 .page-hero__media-frame,
    body.premium-phase-3 .page-hero__media img {
        min-height: 0;
    }

    body.premium-phase-3 .page-hero__media-frame {
        height: 320px;
    }

    .result-story-card {
        min-height: 390px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    body.premium-phase-3 *,
    body.premium-phase-3 *::before,
    body.premium-phase-3 *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    html.phase3-motion-ready body.premium-phase-3 .phase3-reveal,
    html.phase3-motion-ready body.premium-phase-3 .phase3-hero-line > span {
        opacity: 1;
        transform: none;
    }
}

/* Puerta de acceso al sistema profesional de citas */
body.premium-phase-3 .booking-gateway {
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(101, 170, 163, .22), transparent 24rem),
        var(--phase3-ink);
}

body.premium-phase-3 .booking-gateway::before {
    color: rgba(255,255,255,.04);
}

body.premium-phase-3 .booking-gateway__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: clamp(54px, 9vw, 130px);
    align-items: center;
}

body.premium-phase-3 .booking-gateway__copy .eyebrow {
    color: var(--phase3-teal-bright);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body.premium-phase-3 .booking-gateway__copy h2 {
    max-width: 12ch;
    margin: 12px 0 22px;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(3.2rem, 5.2vw, 6rem);
    font-weight: 520;
    line-height: .94;
    letter-spacing: -.052em;
}

body.premium-phase-3 .booking-gateway__copy p {
    max-width: 56ch;
    color: rgba(255,255,255,.7);
    line-height: 1.75;
}

body.premium-phase-3 .booking-gateway__card {
    position: relative;
    display: grid;
    gap: 16px;
    padding: clamp(30px, 5vw, 54px);
    color: var(--phase3-ink);
    background: var(--phase3-paper);
    border-radius: 2px 52px 2px 2px;
    box-shadow: 0 38px 100px rgba(0,0,0,.2);
}

body.premium-phase-3 .booking-gateway__card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #fff;
    background: var(--phase3-teal);
    border-radius: 50%;
    font-size: .67rem;
    font-weight: 700;
}

body.premium-phase-3 .booking-gateway__card strong {
    margin-top: 22px;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.3rem);
    font-weight: 550;
    line-height: 1;
}

body.premium-phase-3 .booking-gateway__card p {
    color: var(--phase3-ink-soft);
    line-height: 1.72;
}

body.premium-phase-3 .booking-gateway__card .btn {
    width: fit-content;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    padding: 0 22px;
    color: #fff;
    background: var(--phase3-petrol);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.premium-phase-3 .booking-gateway__card small {
    color: rgba(9,36,51,.55);
    font-size: .68rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    body.premium-phase-3 .booking-gateway__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.premium-phase-3 .booking-gateway__card .btn {
        width: 100%;
        text-align: center;
    }
}

/* ===== SOURCE: phase4-optimization.css ===== */
/*
 * FASE 4 — Optimización, accesibilidad y pulido final.
 * Esta capa se carga después de las fases visuales y evita alterar su estructura.
 */

:root {
    --phase4-focus: #41c7c8;
    --phase4-safe-bottom: env(safe-area-inset-bottom, 0px);
}

html {
    scroll-padding-top: 132px;
}

body.premium-phase-4 {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.premium-phase-4 img,
body.premium-phase-4 video {
    max-width: 100%;
}

body.premium-phase-4 img {
    height: auto;
}

body.premium-phase-4 :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--phase4-focus);
    outline-offset: 4px;
}

body.premium-phase-4 :where(section, article, div)[id] {
    scroll-margin-top: 132px;
}

/* El poster responsive permanece detrás del video y elimina el flash oscuro inicial. */
body.premium-phase-4 .hero-phase4__poster {
    position: absolute;
    z-index: -4;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

body.premium-phase-4 .hero-phase4__poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
    filter: none;
}

body.premium-phase-4 .hero--phase2 .hero__video {
    opacity: 1;
    filter: none;
    transform: none !important;
    transition: none;
    will-change: auto;
}

body.premium-phase-4 .hero--phase2 .hero__video.is-loaded,
body.premium-phase-4 .hero--phase2 .hero__video.is-playing {
    opacity: 1;
}

body.premium-phase-4 .hero--phase2 .hero__video.is-buffering {
    cursor: progress;
}

body.premium-phase-4 .hero--phase2 .hero__video.is-error {
    opacity: 0;
}

html.phase4-save-data body.premium-phase-4 .hero--phase2 .hero__video,
html.phase4-reduced-motion body.premium-phase-4 .hero--phase2 .hero__video {
    display: none;
}


/* Los heroes internos usan imágenes reales para mejorar prioridad, dimensiones y SEO. */
body.premium-phase-4 .page-hero--full .page-hero__picture {
    display: block;
    overflow: hidden;
}

body.premium-phase-4 .page-hero--full:not(.page-hero--parallax-clean) .page-hero__picture {
    transform: scale(1.04);
    filter: saturate(1.02);
}

body.premium-phase-4 .page-hero--full .page-hero__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.premium-phase-4 .phase4-image-error {
    opacity: 0;
}

body.premium-phase-4 .phase4-image-error-wrap {
    background: linear-gradient(135deg, rgba(7, 31, 45, .08), rgba(65, 199, 200, .12));
}

/* Evita trabajo gráfico innecesario fuera del viewport. */
body.premium-phase-4 .video-module__player:not(.is-in-view) {
    background: #071f2d;
}

body.premium-phase-4 .phase3-page-content-anchor {
    position: relative;
    top: -1px;
}

body.premium-phase-4 .mobile-action-bar,
body.premium-phase-4 .booking-float {
    margin-bottom: var(--phase4-safe-bottom);
}

/*
 * El footer se mantiene renderizado de forma estable.
 * content-visibility:auto producía un reajuste perceptible al entrar al viewport
 * cuando su altura real difería del tamaño intrínseco estimado.
 */
body.premium-phase-4 .site-footer,
body.premium-phase-4 .clean-site-footer {
    content-visibility: visible;
}

@media (max-width: 760px) {
    html {
        scroll-padding-top: 104px;
    }

    body.premium-phase-4 :where(section, article, div)[id] {
        scroll-margin-top: 104px;
    }

    body.premium-phase-4 .hero-phase4__poster img {
        object-position: 58% center;
        filter: none;
    }

    /* La cuadrícula decorativa no aporta valor suficiente en pantallas pequeñas. */
    body.premium-phase-4 .hero-phase2__grid,
    body.premium-phase-4 .phase3-hero-orbit {
        display: none;
    }

    body.premium-phase-4 .mobile-action-bar {
        padding-bottom: calc(10px + var(--phase4-safe-bottom));
    }

    body.premium-phase-4 .mobile-menu {
        z-index: 1000 !important;
    }

    body.premium-phase-4 .booking-float {
        z-index: 220;
        transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
    }

    body.mobile-menu-open .booking-float {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: scale(.82);
    }
}

/* Fase 3: imagenes estables durante el scroll; el movimiento queda en elementos ligeros. */
body.premium-phase-4 [data-consult-parallax] {
    --consult-parallax-y: 0px !important;
}

body.premium-phase-4 [data-consult-parallax-image] {
    transform: scale(1.045) !important;
    transition: none !important;
    will-change: auto !important;
}

body.premium-phase-4 [data-page-hero-parallax] {
    --page-hero-parallax-y: 0px !important;
}

body.premium-phase-4 [data-page-hero-parallax] .page-hero__picture img {
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
}

/* =========================================================
   Correcciones visuales y de fluidez — 19 Ago 2026
   ========================================================= */

/*
 * Evita que el contenido parezca quedarse atras al hacer scroll rapido.
 * Se conserva un desplazamiento sutil, pero sin fades desde opacidad cero.
 */
body.premium-phase-4 .io-reveal,
body.premium-phase-4 .io-reveal.is-reveal-pending,
html.phase1-motion-ready body.premium-phase-4 .phase1-will-reveal,
html.phase2-motion-ready body.premium-phase-4 .phase2-reveal {
    opacity: 1 !important;
    transform: translate3d(0, 8px, 0) !important;
    transition: transform .26s ease-out !important;
}

body.premium-phase-4 .io-reveal.is-visible,
html.phase1-motion-ready body.premium-phase-4 .phase1-will-reveal.is-visible,
html.phase2-motion-ready body.premium-phase-4 .phase2-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
}

/*
 * Sobre el doctor: el bloque de trayectoria debe ser oscuro.
 * Se fuerza en la ultima capa para impedir que una regla heredada deje
 * texto blanco sobre el fondo claro, como se observa en la grabacion.
 */
body.premium-phase-4.page-slug-sobre-el-doctor .stages-module {
    color: #fff !important;
    background: radial-gradient(circle at 85% 15%, rgba(101, 170, 163, .18), transparent 25rem), #092433 !important;
}

body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .module-head h2,
body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .stage-row h3 {
    color: #fff !important;
}

body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .module-head p,
body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .stage-row p {
    color: rgba(255, 255, 255, .84) !important;
}

body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .stage-row__label {
    color: #8fc9c2 !important;
}

body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .stage-row,
body.premium-phase-4.page-slug-sobre-el-doctor .stages-module .stages-module__list {
    border-color: rgba(255, 255, 255, .2) !important;
}

/* Footer de paginas internas: contraste real para textos pequenos y enlaces. */
body.premium-phase-4 .site-footer .footer-brand p,
body.premium-phase-4 .site-footer .footer-col p,
body.premium-phase-4 .site-footer .footer-col a {
    color: rgba(255, 255, 255, .82) !important;
}

body.premium-phase-4 .site-footer .footer-col h3 {
    color: #fff !important;
}

body.premium-phase-4 .site-footer .footer-bottom p,
body.premium-phase-4 .site-footer .footer-bottom a {
    color: rgba(255, 255, 255, .72) !important;
}

/* Footer de la home: elimina el gris excesivamente tenue sobre fondo navy. */
body.premium-phase-4.premium-phase-2 .clean-site-footer p,
body.premium-phase-4.premium-phase-2 .clean-site-footer__contact p,
body.premium-phase-4.premium-phase-2 .clean-site-footer__bottom p,
body.premium-phase-4.premium-phase-2 .clean-site-footer__bottom small {
    color: rgba(255, 253, 249, .78) !important;
}

body.premium-phase-4.premium-phase-2 .clean-site-footer h3 {
    color: rgba(255, 253, 249, .96) !important;
}

body.premium-phase-4.premium-phase-2 .clean-site-footer a {
    color: rgba(255, 253, 249, .84) !important;
}

body.premium-phase-4.premium-phase-2 .clean-site-footer__bottom a {
    color: rgba(255, 253, 249, .86) !important;
}

/* La franja final de contacto debe leerse completa incluso durante scroll rapido. */
body.premium-phase-4 .contact-band h2,
body.premium-phase-4 .contact-band .contact-links a {
    color: #fff !important;
}

body.premium-phase-4 .contact-band p {
    color: rgba(255, 255, 255, .82) !important;
}

/*
 * Fase 3 convierte los botones de contacto en una lista editorial sobre fondo
 * oscuro. La regla base dejaba un background blanco heredado, provocando
 * texto blanco sobre botones blancos.
 */
body.premium-phase-4.premium-phase-3 .contact-band .contact-links a {
    background: transparent !important;
    border-radius: 0 !important;
}

/* =========================================================
   ESTABILIDAD DE SCROLL + CONTRASTE DEFINITIVO — 19 Ago 2026
   ========================================================= */

/*
 * La barra contextual de Fase 3 deja de fijarse al viewport.
 * Tener dos barras sticky con blur (menu + rail) obligaba a Chrome a
 * repintar dos capas grandes durante cada rueda de scroll y, combinado con
 * el auto-centrado del enlace activo, producia tirones perceptibles.
 */
body.premium-phase-4.premium-phase-3 .phase3-page-rail {
    position: relative !important;
    top: auto !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: #fffdf9 !important;
}

/* Mantiene solo la navegacion principal fija, sin blur costoso. */
body.premium-phase-4.premium-phase-3 .home-nav-bar {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: #061923 !important;
}

/*
 * Los bloques editoriales dejan de "anclarse" mientras el resto del contenido
 * sigue avanzando. El layout se conserva en dos columnas, pero todo fluye con
 * el scroll normal y predecible.
 */
body.premium-phase-4.premium-phase-3 .editorial-module__headline,
body.premium-phase-4.premium-phase-3 .checklist-module__copy,
body.premium-phase-4.premium-phase-3 .contact-options__copy,
body.premium-phase-4.premium-phase-3 .faq-clean__grid > .io-reveal:first-child {
    position: relative !important;
    top: auto !important;
}

/* En paginas internas el contenido ya no depende de fades/reveals de scroll. */
body.premium-phase-4.premium-phase-3 .io-reveal,
body.premium-phase-4.premium-phase-3 .io-reveal.is-reveal-pending,
html.phase1-motion-ready body.premium-phase-4.premium-phase-3 .phase1-will-reveal,
html.phase2-motion-ready body.premium-phase-4.premium-phase-3 .phase2-reveal,
html.phase3-motion-ready body.premium-phase-4.premium-phase-3 .phase3-reveal,
html.phase3-motion-ready body.premium-phase-4.premium-phase-3 .phase3-reveal.is-reveal-pending {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
}

/* Footer interno: contraste alto en todos los textos pequenos y enlaces. */
body.premium-phase-4.premium-phase-3 .site-footer {
    color: #eef5f5 !important;
    background: #04151d !important;
}

body.premium-phase-4.premium-phase-3 .site-footer .footer-brand img {
    display: block;
    width: min(230px, 100%);
    height: auto;
    padding: 12px 14px;
    background: #fffdf9;
    border-radius: 12px;
}

body.premium-phase-4.premium-phase-3 .site-footer .footer-brand p,
body.premium-phase-4.premium-phase-3 .site-footer .footer-col p,
body.premium-phase-4.premium-phase-3 .site-footer .footer-col a {
    color: #dfeaec !important;
}

body.premium-phase-4.premium-phase-3 .site-footer .footer-col h3 {
    color: #ffffff !important;
}

body.premium-phase-4.premium-phase-3 .site-footer .footer-bottom p,
body.premium-phase-4.premium-phase-3 .site-footer .footer-bottom a {
    color: #cbdadd !important;
}

/* Footer home: el texto pequeno deja de usar grises al 50-70% sobre navy. */
body.premium-phase-4.premium-phase-2 .clean-site-footer p,
body.premium-phase-4.premium-phase-2 .clean-site-footer__contact p,
body.premium-phase-4.premium-phase-2 .clean-site-footer__contact a,
body.premium-phase-4.premium-phase-2 .clean-site-footer__links a,
body.premium-phase-4.premium-phase-2 .clean-site-footer__bottom p,
body.premium-phase-4.premium-phase-2 .clean-site-footer__bottom small,
body.premium-phase-4.premium-phase-2 .clean-site-footer__bottom a {
    color: #dfeaec !important;
}

body.premium-phase-4.premium-phase-2 .clean-site-footer h3 {
    color: #ffffff !important;
}

/* CTA final: fondo y texto se fijan juntos para evitar blanco sobre blanco. */
body.premium-phase-4.premium-phase-3 .contact-band .contact-links a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    border-radius: 10px !important;
    padding: 17px 16px !important;
}

body.premium-phase-4.premium-phase-3 .contact-band .contact-links a:hover {
    background: rgba(255, 255, 255, .11) !important;
}

/* El bloque de trayectoria del doctor siempre conserva fondo oscuro + texto claro. */
body.premium-phase-4.premium-phase-3.page-slug-sobre-el-doctor .stages-module,
body.premium-phase-4.premium-phase-3.page-slug-sobre-el-doctor .stages-module * {
    text-shadow: none;
}

body.premium-phase-4.premium-phase-3.page-slug-sobre-el-doctor .stages-module h2,
body.premium-phase-4.premium-phase-3.page-slug-sobre-el-doctor .stages-module h3 {
    color: #ffffff !important;
}

body.premium-phase-4.premium-phase-3.page-slug-sobre-el-doctor .stages-module p {
    color: #dce8e9 !important;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    body.premium-phase-4 *,
    body.premium-phase-4 *::before,
    body.premium-phase-4 *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    body.premium-phase-4 .hero--phase2 .hero__video {
        display: none !important;
    }

    body.premium-phase-4 [data-consult-parallax],
    body.premium-phase-4 [data-page-hero-parallax] {
        --consult-parallax-y: 0px !important;
        --page-hero-parallax-y: 0px !important;
    }
}

@media print {
    .desktop-top,
    .mobile-top,
    .home-nav-bar,
    .mobile-menu,
    .mobile-action-bar,
    .booking-float,
    .contact-float,
    .phase3-reading-progress,
    .phase3-page-rail,
    .phase3-hero-scroll,
    .hero-phase2__scroll,
    video {
        display: none !important;
    }

    body {
        color: #111 !important;
        background: #fff !important;
    }

    a {
        color: inherit !important;
        text-decoration: underline;
    }
}

/* =========================================================
   TU PROCESO - pagina reservada
   Solo titulo. El contenido se desarrollara en una fase posterior.
   ========================================================= */
body.page-slug-tu-proceso .process-future-page {
    background: #fbf8f2;
}

body.page-slug-tu-proceso .process-future-page__hero {
    position: relative;
    min-height: clamp(560px, 72svh, 880px);
    display: grid;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 86% 22%, rgba(47, 133, 133, .09), transparent 24%),
        linear-gradient(180deg, #f7f3ec 0%, #fffdf9 100%);
}

body.page-slug-tu-proceso .process-future-page__hero::before,
body.page-slug-tu-proceso .process-future-page__hero::after {
    content: '';
    position: absolute;
    pointer-events: none;
}

body.page-slug-tu-proceso .process-future-page__hero::before {
    inset: 0;
    z-index: -2;
    opacity: .46;
    background-image:
        linear-gradient(rgba(7, 31, 45, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 31, 45, .035) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 88%);
}

body.page-slug-tu-proceso .process-future-page__hero::after {
    z-index: -1;
    width: clamp(260px, 34vw, 560px);
    aspect-ratio: 1;
    right: clamp(-220px, -8vw, -90px);
    top: 50%;
    border: 1px solid rgba(47, 133, 133, .12);
    border-radius: 50%;
    box-shadow:
        0 0 0 44px rgba(47, 133, 133, .032),
        0 0 0 98px rgba(47, 133, 133, .018);
    transform: translateY(-50%);
}

body.page-slug-tu-proceso .process-future-page__inner {
    position: relative;
    padding-block: clamp(92px, 10vw, 160px);
}

body.page-slug-tu-proceso .process-future-page__inner::before {
    content: '';
    display: block;
    width: clamp(68px, 8vw, 118px);
    height: 1px;
    margin-bottom: clamp(28px, 4vw, 54px);
    background: rgba(47, 133, 133, .72);
}

body.page-slug-tu-proceso .process-future-page h1 {
    margin: 0;
    max-width: 10.5ch;
    color: #071f2d;
    font-family: var(--font-display, 'Newsreader', Georgia, serif);
    font-size: clamp(4.4rem, 8.5vw, 9.4rem);
    font-weight: 500;
    line-height: .88;
    letter-spacing: -.055em;
    text-wrap: balance;
}

@media (max-width: 760px) {
    body.page-slug-tu-proceso .process-future-page__hero {
        min-height: clamp(500px, 68svh, 680px);
    }

    body.page-slug-tu-proceso .process-future-page__hero::before {
        background-size: 46px 46px;
    }

    body.page-slug-tu-proceso .process-future-page__hero::after {
        right: -210px;
        width: 390px;
        opacity: .7;
    }

    body.page-slug-tu-proceso .process-future-page h1 {
        max-width: 9.5ch;
        font-size: clamp(3.4rem, 15vw, 5.6rem);
        line-height: .9;
    }
}


/* Email contact addresses remain readable on narrow screens. */
a[href^="mailto:"] { overflow-wrap: anywhere; }
.contact-options__cards a, .footer-col { min-width: 0; }
