/**
 * BIOLIFE Theme 0.1.0
 * Design system: clean healthtech, white + blue + red.
 * Mobile-first.
 */

:root {
    --blt-blue: #0a3f96;
    --blt-blue-2: #1458c7;
    --blt-blue-deep: #062b67;
    --blt-red: #e3262e;
    --blt-red-deep: #bd1820;
    --blt-white: #ffffff;
    --blt-ink: #10223d;
    --blt-muted: #66758a;
    --blt-soft: #f3f7fb;
    --blt-border: rgba(15, 48, 94, .12);
    --blt-shadow: 0 24px 70px rgba(21, 47, 84, .10);
    --blt-radius: 28px;
    --blt-shell: 1240px;
    --blt-ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.blt-site {
    margin: 0;
    color: var(--blt-ink);
    background: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.blt-menu-open { overflow: hidden; }

img { max-width: 100%; height: auto; }

a { color: inherit; }

.blt-shell {
    width: min(calc(100% - 32px), var(--blt-shell));
    margin-inline: auto;
}

.blt-scroll-progress {
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, var(--blt-blue), var(--blt-red));
}

.blt-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    transition: transform .32s var(--blt-ease), background .25s ease, box-shadow .25s ease;
}

.blt-header.is-hidden { transform: translateY(-110%); }

.blt-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    gap: 18px;
}

.blt-header.is-scrolled .blt-header__inner {
    min-height: 64px;
    margin-top: 8px;
    padding: 0 14px;
    border: 1px solid rgba(15, 48, 94, .08);
    border-radius: 20px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 12px 38px rgba(16, 41, 78, .08);
    backdrop-filter: blur(18px);
}

.blt-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.blt-brand__mark {
    position: relative;
    width: 32px;
    height: 32px;
}

.blt-brand__mark::before,
.blt-brand__mark::after,
.blt-brand__mark span::before,
.blt-brand__mark span::after {
    content: "";
    position: absolute;
    border-radius: 8px;
}

.blt-brand__mark::before,
.blt-brand__mark::after {
    background: var(--blt-blue);
}

.blt-brand__mark span::before,
.blt-brand__mark span::after {
    background: var(--blt-red);
}

.blt-brand__mark::before { width: 10px; height: 30px; left: 11px; top: 1px; }
.blt-brand__mark::after { width: 30px; height: 10px; left: 1px; top: 11px; }
.blt-brand__mark span::before { width: 6px; height: 24px; left: 13px; top: 4px; }
.blt-brand__mark span::after { width: 24px; height: 6px; left: 4px; top: 13px; }

.blt-brand__text strong,
.blt-brand__text small {
    display: block;
    line-height: 1;
}

.blt-brand__text strong {
    color: var(--blt-blue-deep);
    letter-spacing: .05em;
    font-size: 17px;
}

.blt-brand__text small {
    margin-top: 4px;
    color: var(--blt-red);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .14em;
}

.blt-nav { display: none; }

.blt-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.blt-hide-mobile { display: none !important; }

.blt-menu-toggle {
    display: grid;
    gap: 5px;
    width: 42px;
    height: 42px;
    place-content: center;
    border: 1px solid var(--blt-border);
    border-radius: 14px;
    background: #fff;
}

.blt-menu-toggle span:not(.screen-reader-text) {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--blt-blue-deep);
}

.blt-mobile-panel {
    position: fixed;
    z-index: 999;
    inset: 0;
    padding: 92px 20px 24px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    background: rgba(255,255,255,.98);
    transition: .28s var(--blt-ease);
}

.blt-menu-open .blt-mobile-panel {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.blt-mobile-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.blt-mobile-nav__list > li > a {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid var(--blt-border);
    color: var(--blt-blue-deep);
    font-size: clamp(24px, 7vw, 34px);
    font-weight: 700;
    text-decoration: none;
}

.blt-mobile-panel__actions {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.blt-btn {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.blt-btn:hover { transform: translateY(-2px); }

.blt-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--blt-red), var(--blt-red-deep));
    box-shadow: 0 12px 28px rgba(227, 38, 46, .22);
}

.blt-btn--ghost {
    color: var(--blt-blue-deep);
    border-color: rgba(10, 63, 150, .24);
    background: rgba(255,255,255,.76);
}

.blt-btn--white {
    color: var(--blt-blue-deep);
    background: #fff;
}

.blt-btn--outline-light {
    color: #fff;
    border-color: rgba(255,255,255,.45);
    background: rgba(255,255,255,.06);
}

.blt-hero-section { padding: 14px 0 26px; }

.blt-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(35, 83, 147, .08);
    border-radius: 28px;
    background:
        radial-gradient(circle at 10% 20%, rgba(74, 142, 255, .22), transparent 34%),
        radial-gradient(circle at 92% 20%, rgba(255, 102, 112, .20), transparent 28%),
        linear-gradient(135deg, #f6faff 0%, #fff 55%, #fff4f4 100%);
    box-shadow: var(--blt-shadow);
}

.blt-hero__content {
    position: relative;
    z-index: 2;
    padding: 34px 24px 20px;
}

.blt-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--blt-red);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.blt-kicker--light { color: #fff; }

.blt-hero h1 {
    max-width: 760px;
    margin: 0;
    color: var(--blt-blue-deep);
    font-size: clamp(42px, 11vw, 78px);
    line-height: .98;
    letter-spacing: -.045em;
}

.blt-hero__content > p {
    max-width: 650px;
    margin: 22px 0 0;
    color: var(--blt-muted);
    font-size: 17px;
    line-height: 1.65;
}

.blt-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.blt-hero__chips {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.blt-chip {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(15, 48, 94, .09);
    border-radius: 16px;
    background: rgba(255,255,255,.85);
    box-shadow: 0 12px 36px rgba(17, 44, 83, .07);
    transition: transform .2s ease;
}

.blt-chip__icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    color: var(--blt-blue);
    background: #edf4ff;
}

.blt-chip strong,
.blt-chip span { display: block; }

.blt-chip strong {
    color: var(--blt-blue-deep);
    font-size: 15px;
}

.blt-chip div > span {
    margin-top: 2px;
    color: var(--blt-muted);
    font-size: 11px;
}

.blt-hero__visual {
    position: relative;
    min-height: 410px;
}

.blt-hero__image,
.blt-hero__placeholder {
    width: 100%;
    height: 100%;
    min-height: 410px;
    object-fit: cover;
}

.blt-hero__placeholder {
    display: grid;
    place-content: center;
    text-align: center;
    color: var(--blt-muted);
    background: linear-gradient(135deg, #edf4ff, #fff);
}

.blt-hero__placeholder strong {
    display: block;
    margin-top: 6px;
    color: var(--blt-blue);
}

.blt-score-card {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 4;
    width: 190px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 54px rgba(23, 42, 73, .18);
    backdrop-filter: blur(14px);
}

.blt-score-card strong,
.blt-score-card span,
.blt-score-card small {
    display: block;
}

.blt-score-card strong {
    color: var(--blt-red);
    font-size: 32px;
}

.blt-score-card span {
    margin-top: 5px;
    font-weight: 700;
}

.blt-score-card small {
    margin-top: 7px;
    color: var(--blt-muted);
    font-size: 9px;
}

.blt-trust-strip { padding: 6px 0 10px; overflow: hidden; }

.blt-marquee {
    overflow: hidden;
    border-block: 1px solid var(--blt-border);
}

.blt-marquee__track {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 22px;
    padding: 16px 0;
    animation: blt-marquee 26s linear infinite;
}

.blt-marquee__track span {
    color: var(--blt-blue-deep);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.blt-marquee__track i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--blt-red);
}

@keyframes blt-marquee {
    to { transform: translateX(-35%); }
}

.blt-section { padding: 72px 0; }

.blt-section--soft { background: var(--blt-soft); }

.blt-section--dark {
    color: #fff;
    background:
        radial-gradient(circle at 15% 0%, rgba(47, 111, 223, .28), transparent 28%),
        linear-gradient(135deg, #06285e, #0a3f96 72%, #0b3275);
}

.blt-section-heading {
    display: grid;
    gap: 18px;
    margin-bottom: 32px;
}

.blt-section-heading h2,
.blt-sticky-story h2,
.blt-final-cta h2,
.blt-page-hero h1,
.blt-profile-content h1 {
    margin: 0;
    color: var(--blt-blue-deep);
    font-size: clamp(36px, 8vw, 64px);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.blt-section-heading > p,
.blt-sticky-story__copy > p {
    max-width: 620px;
    margin: 0;
    color: var(--blt-muted);
    line-height: 1.7;
}

.blt-section-heading--light h2 { color: #fff; }
.blt-section-heading--light .blt-kicker { color: #ff7a80; }

.blt-text-link {
    align-self: end;
    color: var(--blt-blue);
    font-weight: 800;
    text-decoration: none;
}

.blt-text-link--light { color: #fff; }

.blt-bento {
    display: grid;
    gap: 14px;
}

.blt-bento-card {
    position: relative;
    min-height: 240px;
    overflow: hidden;
    padding: 24px;
    border: 1px solid var(--blt-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 50px rgba(21, 47, 84, .06);
    transition: transform .25s var(--blt-ease), box-shadow .25s ease;
}

.blt-bento-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 62px rgba(21, 47, 84, .11);
}

.blt-bento-card h3 {
    max-width: 560px;
    margin: 12px 0 10px;
    color: var(--blt-blue-deep);
    font-size: clamp(26px, 6vw, 42px);
    line-height: 1.05;
    letter-spacing: -.03em;
}

.blt-bento-card p {
    max-width: 560px;
    color: var(--blt-muted);
    line-height: 1.6;
}

.blt-bento-card a {
    display: inline-block;
    margin-top: 16px;
    color: var(--blt-blue);
    font-weight: 800;
    text-decoration: none;
}

.blt-card-tag {
    color: var(--blt-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.blt-bento-card--dark {
    color: #fff;
    background: linear-gradient(135deg, #06295f, #0a459f);
}

.blt-bento-card--dark h3,
.blt-bento-card--dark a { color: #fff; }

.blt-bento-card--dark p { color: rgba(255,255,255,.76); }

.blt-bento-card--accent {
    background: linear-gradient(135deg, #fff 0%, #fff4f4 100%);
}

.blt-bento-card--photo {
    background:
        radial-gradient(circle at 80% 20%, rgba(42, 105, 207, .18), transparent 26%),
        linear-gradient(135deg, #f8fbff, #fff);
}

.blt-ui-mockup {
    margin-top: 24px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(14px);
}

.blt-ui-mockup__top {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

.blt-ui-mockup__top span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,.48);
}

.blt-ui-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.11);
    font-size: 12px;
}

.blt-ui-row em {
    color: #b9f3cc;
    font-style: normal;
}

.blt-specialty-grid {
    display: grid;
    gap: 12px;
}

.blt-specialty-card {
    position: relative;
    min-height: 210px;
    padding: 22px;
    overflow: hidden;
    border: 1px solid var(--blt-border);
    border-radius: 22px;
    color: inherit;
    background: #fff;
    text-decoration: none;
    transition: transform .24s var(--blt-ease), border-color .24s ease, box-shadow .24s ease;
}

.blt-specialty-card:hover {
    transform: translateY(-4px);
    border-color: rgba(10, 63, 150, .28);
    box-shadow: 0 18px 48px rgba(17, 44, 83, .08);
}

.blt-specialty-card__index {
    color: var(--blt-red);
    font-size: 11px;
    font-weight: 800;
}

.blt-specialty-card h3 {
    margin: 26px 0 8px;
    color: var(--blt-blue-deep);
    font-size: 24px;
}

.blt-specialty-card p {
    max-width: 310px;
    color: var(--blt-muted);
    line-height: 1.6;
}

.blt-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--blt-blue);
    transition: transform .2s ease;
}

.blt-specialty-card:hover .blt-arrow { transform: rotate(45deg); }

.blt-professional-slider { overflow: hidden; }

.blt-professional-track {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 12px;
    scrollbar-width: none;
}

.blt-professional-track::-webkit-scrollbar { display: none; }

.blt-professional-card {
    flex: 0 0 min(82vw, 330px);
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 22px;
    color: var(--blt-ink);
    background: #fff;
}

.blt-professional-card__image {
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #eef2f7;
}

.blt-professional-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .42s var(--blt-ease);
}

.blt-professional-card:hover img { transform: scale(1.035); }

.blt-professional-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #8a98aa;
}

.blt-professional-card__body { padding: 18px; }

.blt-professional-card__body > span {
    color: var(--blt-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.blt-professional-card h3 {
    margin: 8px 0 6px;
    color: var(--blt-blue-deep);
    font-size: 22px;
}

.blt-professional-card p,
.blt-professional-card small {
    display: block;
    color: var(--blt-muted);
}

.blt-professional-card p { min-height: 40px; }

.blt-card-action {
    display: inline-block;
    margin-top: 18px;
    color: var(--blt-blue);
    font-weight: 800;
    text-decoration: none;
}

.blt-sticky-story {
    display: grid;
    gap: 30px;
}

.blt-story-step {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid var(--blt-border);
}

.blt-story-step > span {
    color: var(--blt-red);
    font-weight: 800;
}

.blt-story-step h3 {
    margin: 0 0 6px;
    color: var(--blt-blue-deep);
    font-size: 22px;
}

.blt-story-step p {
    margin: 0;
    color: var(--blt-muted);
    line-height: 1.6;
}

.blt-stats {
    display: grid;
    gap: 12px;
}

.blt-stats > div {
    padding: 24px;
    border: 1px solid var(--blt-border);
    border-radius: 20px;
    background: #fff;
}

.blt-stats strong,
.blt-stats span,
.blt-stats small { display: block; }

.blt-stats strong {
    color: var(--blt-blue);
    font-size: 36px;
}

.blt-stats span {
    margin-top: 4px;
    color: var(--blt-blue-deep);
    font-weight: 800;
}

.blt-stats small {
    margin-top: 7px;
    color: var(--blt-muted);
}

.blt-final-cta {
    display: grid;
    gap: 26px;
    overflow: hidden;
    padding: 34px 24px;
    border-radius: 28px;
    color: #fff;
    background:
        radial-gradient(circle at 10% 10%, rgba(255,255,255,.14), transparent 30%),
        radial-gradient(circle at 90% 20%, rgba(255, 66, 76, .28), transparent 30%),
        linear-gradient(135deg, #06306f, #0a439a 72%, #0d3578);
    box-shadow: var(--blt-shadow);
}

.blt-final-cta h2 { color: #fff; }

.blt-final-cta p { color: rgba(255,255,255,.76); }

.blt-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.blt-footer {
    margin-top: 30px;
    padding: 52px 0 20px;
    color: rgba(255,255,255,.78);
    background: #05214d;
}

.blt-brand--light .blt-brand__text strong { color: #fff; }

.blt-footer__top {
    display: grid;
    gap: 34px;
}

.blt-footer__brand p {
    max-width: 390px;
    line-height: 1.7;
}

.blt-footer__links {
    display: grid;
    gap: 26px;
}

.blt-footer__links h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 13px;
}

.blt-footer__links a,
.blt-footer__links span {
    display: block;
    margin: 9px 0;
    color: rgba(255,255,255,.72);
    text-decoration: none;
}

.blt-footer__bottom {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 36px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: 12px;
}

.blt-footer__bottom div {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.blt-footer__bottom a {
    color: inherit;
    text-decoration: none;
}

.blt-basic-page,
.blt-page-hero,
.blt-profile-hero { padding: 64px 0; }

.blt-page-hero p {
    max-width: 720px;
    color: var(--blt-muted);
    font-size: 18px;
    line-height: 1.7;
}

.blt-professional-grid {
    display: grid;
    gap: 16px;
}

.blt-profile-grid {
    display: grid;
    gap: 28px;
    align-items: center;
}

.blt-profile-photo {
    overflow: hidden;
    border-radius: 28px;
    background: var(--blt-soft);
}

.blt-profile-photo img {
    width: 100%;
    display: block;
}

.blt-profile-specialties {
    color: var(--blt-blue);
    font-weight: 800;
}

.blt-profile-registration {
    color: var(--blt-muted);
}

.blt-profile-copy {
    color: var(--blt-muted);
    line-height: 1.7;
}

.blt-profile-details {
    display: grid;
    gap: 14px;
}

.blt-profile-details article {
    padding: 22px;
    border: 1px solid var(--blt-border);
    border-radius: 20px;
    background: #fff;
}

.blt-profile-details span {
    color: var(--blt-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.blt-profile-details p {
    color: var(--blt-muted);
    line-height: 1.6;
}

[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity .72s var(--blt-ease) var(--blt-delay, 0ms),
        transform .72s var(--blt-ease) var(--blt-delay, 0ms);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

@media (min-width: 700px) {
    .blt-hero__chips {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .blt-section-heading {
        grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
        align-items: end;
    }

    .blt-bento {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blt-bento-card--large {
        grid-column: 1 / -1;
    }

    .blt-specialty-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blt-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blt-footer__links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .blt-professional-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blt-profile-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 980px) {
    .blt-shell {
        width: min(calc(100% - 56px), var(--blt-shell));
    }

    .blt-header__inner { min-height: 82px; }

    .blt-nav { display: block; }

    .blt-nav__list {
        display: flex;
        align-items: center;
        gap: 26px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .blt-nav__list a {
        color: #263a58;
        font-size: 13px;
        font-weight: 650;
        text-decoration: none;
    }

    .blt-nav__list .menu-item-has-children {
        position: relative;
    }

    .blt-nav__list .sub-menu {
        position: absolute;
        top: calc(100% + 14px);
        left: 50%;
        min-width: 230px;
        margin: 0;
        padding: 10px;
        opacity: 0;
        visibility: hidden;
        transform: translate(-50%, 8px);
        border: 1px solid var(--blt-border);
        border-radius: 16px;
        list-style: none;
        background: #fff;
        box-shadow: 0 18px 50px rgba(17, 44, 83, .12);
        transition: .2s ease;
    }

    .blt-nav__list .menu-item-has-children:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, 0);
    }

    .blt-nav__list .sub-menu a {
        display: block;
        padding: 10px 12px;
        border-radius: 10px;
    }

    .blt-nav__list .sub-menu a:hover { background: var(--blt-soft); }

    .blt-menu-toggle { display: none; }
    .blt-hide-mobile { display: inline-flex !important; }

    .blt-hero {
        display: grid;
        grid-template-columns: 1.05fr .95fr;
        min-height: 680px;
        border-radius: 34px;
    }

    .blt-hero__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 64px;
    }

    .blt-hero__visual {
        min-height: 680px;
    }

    .blt-hero__image,
    .blt-hero__placeholder {
        min-height: 680px;
    }

    .blt-hero__visual::after {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 26%;
        background: linear-gradient(90deg, rgba(255,255,255,.92), transparent);
        pointer-events: none;
    }

    .blt-section { padding: 100px 0; }

    .blt-bento {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .blt-bento-card--large {
        grid-column: span 2;
        grid-row: span 2;
        min-height: 510px;
    }

    .blt-bento-card--photo {
        grid-column: span 2;
    }

    .blt-specialty-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .blt-professional-card {
        flex-basis: 310px;
    }

    .blt-sticky-story {
        grid-template-columns: .8fr 1.2fr;
        gap: 80px;
    }

    .blt-sticky-story__copy {
        position: sticky;
        top: 130px;
        align-self: start;
    }

    .blt-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .blt-final-cta {
        grid-template-columns: 1fr auto;
        align-items: center;
        padding: 54px;
    }

    .blt-footer__top {
        grid-template-columns: .9fr 1.1fr;
    }

    .blt-footer__bottom {
        flex-direction: row;
        justify-content: space-between;
    }

    .blt-professional-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .blt-profile-grid {
        grid-template-columns: .8fr 1.2fr;
        gap: 70px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ================================================================
 * BIOLIFE 0.2.0 — Signature Home / Motion System
 * Motivo: elevar o primeiro impacto e criar linguagem editorial própria.
 * Risco de regressão: sobreposições; por isso são desligadas/recalculadas
 * abaixo de 980px e em prefers-reduced-motion.
 * ================================================================ */
.blt-hero-v2{position:relative;overflow:hidden;padding:18px 0 54px;background:radial-gradient(circle at 82% 22%,rgba(73,112,255,.18),transparent 31%),linear-gradient(180deg,#eef2ff 0,#fff 78%)}
.blt-hero-v2:before{content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(rgba(10,63,150,.22) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,#000,transparent 55%)}
.blt-hero-v2 .blt-hero{position:relative;overflow:visible;background:transparent;box-shadow:none}
.blt-hero-v2 .blt-hero__content{position:relative;z-index:4}
.blt-kicker--pill{width:max-content;padding:8px 12px;border:1px solid rgba(10,63,150,.13);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 8px 30px rgba(20,60,130,.06);backdrop-filter:blur(12px)}
.blt-kicker--pill i{width:7px;height:7px;border-radius:50%;background:#23ad65;box-shadow:0 0 0 5px rgba(35,173,101,.1)}
.blt-hero-title{margin:24px 0 22px!important;font-size:clamp(48px,6.1vw,92px)!important;line-height:.98!important;letter-spacing:-.06em!important;font-weight:520!important}
.blt-hero-title span,.blt-hero-title strong{display:block}.blt-hero-title span{color:#111c2d}.blt-hero-title strong{margin-top:8px;color:#5268f5;font-weight:520}
.blt-hero-v2 .blt-hero__content>p{max-width:620px;font-size:clamp(17px,1.5vw,21px);line-height:1.65;color:#5f6b7d}
.blt-hero-v2 .blt-btn{min-height:54px;padding:0 22px;border-radius:15px}
.blt-hero-v2 .blt-btn--primary{background:linear-gradient(135deg,#4059ef,#6477ff);box-shadow:0 14px 34px rgba(64,89,239,.25)}
.blt-hero-v2 .blt-hero__visual{overflow:visible;border-radius:32px;background:rgba(255,255,255,.68);box-shadow:0 34px 90px rgba(50,70,145,.13);backdrop-filter:blur(18px)}
.blt-hero-v2 .blt-hero__image{position:relative;z-index:2;border-radius:30px;object-fit:cover;object-position:center}
.blt-health-card{position:absolute;z-index:6;display:grid;gap:5px;width:min(250px,65%);padding:17px 19px;border:1px solid rgba(255,255,255,.75);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 20px 55px rgba(27,50,104,.16);backdrop-filter:blur(18px);will-change:transform}
.blt-health-card small{font-size:9px;font-weight:800;letter-spacing:.11em;color:#77849a}.blt-health-card strong{font-size:15px}.blt-health-card span{font-size:12px;color:#6e7b8e}.blt-health-card--appointment{top:9%;left:-8%}.blt-health-card--results{right:-5%;bottom:11%}.blt-health-status{color:#19a85f!important;font-weight:800!important;font-size:9px!important}
.blt-health-orbit{position:absolute;z-index:5;right:-18px;top:27%;display:grid;width:70px;height:70px;place-items:center;border:1px solid rgba(82,104,245,.22);border-radius:50%;background:rgba(255,255,255,.7);box-shadow:0 18px 45px rgba(50,70,145,.14);backdrop-filter:blur(12px)}.blt-health-orbit span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:#e3262e;font-size:24px}
.blt-editorial{position:relative;overflow:hidden;padding:70px 0 100px;background:#fff}.blt-editorial__stage{position:relative;min-height:650px;display:flex;align-items:center}.blt-editorial__words{position:relative;z-index:1;width:100%;font-weight:750;font-size:clamp(54px,9.2vw,145px);line-height:.82;letter-spacing:-.075em;color:#0b2f69}.blt-editorial__words span{display:block}.blt-editorial__words span:nth-child(2){padding-left:8vw;color:#dce5f3}.blt-editorial__words em{color:#e3262e;font-style:normal}
.blt-editorial__figure{position:absolute;z-index:2;left:52%;bottom:0;width:min(36vw,500px);height:92%;overflow:hidden;border-radius:240px 240px 32px 32px;box-shadow:0 35px 80px rgba(15,48,94,.18);will-change:transform}.blt-editorial__figure:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(6,43,103,.22))}.blt-editorial__figure img{width:100%;height:100%;object-fit:cover}.blt-editorial__placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(160deg,#dfe8ff,#fff);color:#0a3f96;font-weight:900}
.blt-editorial__caption{position:absolute;z-index:3;right:0;bottom:8%;width:min(330px,30%);padding:20px;border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 18px 55px rgba(15,48,94,.12);backdrop-filter:blur(16px);font-size:14px;line-height:1.6}
@media(min-width:980px){.blt-hero-v2{padding-top:20px}.blt-hero-v2 .blt-hero{min-height:720px;grid-template-columns:1.08fr .92fr}.blt-hero-v2 .blt-hero__content{padding:62px 52px 62px 0}.blt-hero-v2 .blt-hero__visual{min-height:610px;align-self:center}.blt-hero-v2 .blt-hero__image,.blt-hero-v2 .blt-hero__placeholder{min-height:610px}.blt-hero-v2 .blt-hero__visual:after{display:none}.blt-header:not(.is-scrolled) .blt-header__inner{margin-top:14px;padding:0 18px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:rgba(255,255,255,.56);box-shadow:0 16px 45px rgba(38,60,120,.08);backdrop-filter:blur(18px)}}
@media(max-width:979px){.blt-health-card--appointment{left:10px}.blt-health-card--results{right:10px}.blt-health-orbit{right:8px}.blt-editorial{padding:45px 0}.blt-editorial__stage{min-height:520px;align-items:flex-start}.blt-editorial__words{font-size:clamp(48px,15vw,82px);line-height:.9}.blt-editorial__words span:nth-child(2){padding-left:0}.blt-editorial__figure{left:auto;right:4%;width:58vw;height:64%;bottom:5%}.blt-editorial__caption{left:0;right:auto;bottom:1%;width:58%;font-size:12px}}
@media(max-width:600px){.blt-hero-title{font-size:clamp(44px,13vw,62px)!important}.blt-hero-v2 .blt-hero__visual{margin-top:25px;min-height:520px}.blt-hero-v2 .blt-hero__image,.blt-hero-v2 .blt-hero__placeholder{min-height:520px}.blt-health-card{width:210px}.blt-editorial__stage{min-height:460px}.blt-editorial__figure{width:62vw;height:60%}.blt-editorial__caption{width:72%}}
@media(prefers-reduced-motion:reduce){[data-parallax]{transform:none!important}}


/* ================================================================
 * BIOLIFE 0.3.0 — Escala refinada + Seção vida + Cards Premium
 * ================================================================ */

/* Hero: reduzir headline em ~30% */
.blt-hero-title{
    font-size:clamp(40px,4.35vw,66px)!important;
    line-height:1.02!important;
    letter-spacing:-.048em!important;
}
.blt-hero-title strong{margin-top:6px}
.blt-hero-v2 .blt-hero__content>p{
    max-width:590px;
    font-size:clamp(16px,1.18vw,19px);
}
@media(min-width:980px){
    .blt-hero-v2 .blt-hero{min-height:650px}
    .blt-hero-v2 .blt-hero__content{padding:54px 46px 54px 0}
    .blt-hero-v2 .blt-hero__visual{min-height:560px}
    .blt-hero-v2 .blt-hero__image,
    .blt-hero-v2 .blt-hero__placeholder{min-height:560px}
}
@media(max-width:600px){
    .blt-hero-title{font-size:clamp(34px,10.2vw,46px)!important}
}

/* Nova seção “Cada fase da vida” */
.blt-life-stage{
    position:relative;
    overflow:hidden;
    padding:96px 0 110px;
    background:
        radial-gradient(circle at 82% 48%,rgba(78,105,245,.12),transparent 28%),
        linear-gradient(180deg,#fff 0%,#fbfcff 100%);
}
.blt-life-stage__grid{
    display:grid;
    grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
    gap:68px;
    align-items:center;
}
.blt-life-stage__copy{position:relative;z-index:4}
.blt-life-stage__copy h2{
    margin:0;
    font-size:clamp(44px,5.1vw,76px);
    line-height:.98;
    letter-spacing:-.055em;
    color:#0b2f69;
}
.blt-life-stage__copy h2 span,
.blt-life-stage__copy h2 strong{display:block}
.blt-life-stage__copy h2 strong{
    margin-top:8px;
    color:#5268f5;
    font-weight:650;
}
.blt-life-stage__copy>p{
    max-width:560px;
    margin:25px 0 0;
    color:#647287;
    font-size:17px;
    line-height:1.7;
}
.blt-life-stage__points{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:28px;
}
.blt-life-stage__points span{
    padding:9px 13px;
    border:1px solid rgba(10,63,150,.12);
    border-radius:999px;
    background:#fff;
    color:#16386a;
    font-size:12px;
    font-weight:750;
    box-shadow:0 8px 24px rgba(17,44,83,.05);
}
.blt-life-stage__visual{position:relative;min-height:610px}
.blt-life-stage__word{
    position:absolute;
    z-index:0;
    top:1%;
    right:-2%;
    color:#edf2ff;
    font-size:clamp(130px,18vw,280px);
    line-height:.78;
    font-weight:900;
    letter-spacing:-.09em;
    user-select:none;
}
.blt-life-stage__photo{
    position:absolute;
    z-index:2;
    left:9%;
    top:4%;
    width:72%;
    height:88%;
    overflow:hidden;
    border-radius:42% 42% 28px 28px / 23% 23% 28px 28px;
    border:1px solid rgba(255,255,255,.78);
    background:#edf3ff;
    box-shadow:0 42px 90px rgba(23,48,96,.16),0 10px 28px rgba(23,48,96,.08);
    will-change:transform;
}
.blt-life-stage__photo:before{
    content:"";
    position:absolute;
    z-index:2;
    inset:0;
    background:linear-gradient(180deg,transparent 60%,rgba(5,38,88,.16));
    pointer-events:none;
}
.blt-life-stage__photo img{width:100%;height:100%;object-fit:cover}
.blt-life-stage__placeholder{
    display:grid;width:100%;height:100%;place-content:center;text-align:center;
    color:#71809a;background:linear-gradient(145deg,#eaf0ff,#fff)
}
.blt-life-stage__placeholder strong{color:#0a3f96}
.blt-life-stage__floating{
    position:absolute;z-index:5;right:0;bottom:9%;
    width:min(310px,46%);padding:20px 22px;
    border:1px solid rgba(255,255,255,.82);border-radius:20px;
    background:rgba(255,255,255,.88);
    box-shadow:0 24px 65px rgba(24,48,90,.14),inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter:blur(18px)
}
.blt-life-stage__floating small,
.blt-life-stage__floating strong,
.blt-life-stage__floating span{display:block}
.blt-life-stage__floating small{
    margin-bottom:8px;color:#e3262e;font-size:9px;font-weight:900;letter-spacing:.14em
}
.blt-life-stage__floating strong{color:#0b2f69;font-size:18px}
.blt-life-stage__floating span{margin-top:6px;color:#6e7b8e;font-size:12px;line-height:1.55}
@media(max-width:979px){
    .blt-life-stage{padding:68px 0}
    .blt-life-stage__grid{grid-template-columns:1fr;gap:30px}
    .blt-life-stage__copy h2{font-size:clamp(40px,10vw,64px)}
    .blt-life-stage__visual{min-height:520px}
    .blt-life-stage__photo{left:7%;width:78%}
    .blt-life-stage__floating{right:3%;width:min(300px,58%)}
}
@media(max-width:600px){
    .blt-life-stage__copy h2{font-size:clamp(36px,11vw,48px)}
    .blt-life-stage__visual{min-height:430px}
    .blt-life-stage__word{font-size:33vw}
    .blt-life-stage__photo{left:0;width:84%;height:88%}
    .blt-life-stage__floating{right:0;bottom:3%;width:68%;padding:15px}
}

/* Cards premium do corpo clínico */
.blt-section--dark .blt-professional-slider{margin-inline:-8px;padding:12px 8px 36px}
.blt-professional-card--premium{
    position:relative;isolation:isolate;overflow:visible;flex-basis:330px;padding:10px;
    border:1px solid rgba(255,255,255,.20);border-radius:30px;
    background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(238,245,255,.95));
    box-shadow:0 28px 64px rgba(1,20,53,.38),0 8px 22px rgba(1,20,53,.18),inset 0 1px 0 rgba(255,255,255,.95);
    transition:transform .34s var(--blt-ease),box-shadow .34s var(--blt-ease)
}
.blt-professional-card--premium:hover{
    transform:translateY(-10px);
    box-shadow:0 42px 90px rgba(1,20,53,.46),0 14px 32px rgba(1,20,53,.21),inset 0 1px 0 #fff
}
.blt-professional-card__halo{
    position:absolute;z-index:-1;left:13%;right:13%;bottom:-14px;height:45px;opacity:.72;
    filter:blur(22px);border-radius:50%;
    background:linear-gradient(90deg,#1d63d5,#5268f5,#e3262e);
    transition:opacity .3s ease,transform .3s ease
}
.blt-professional-card--premium:hover .blt-professional-card__halo{opacity:1;transform:scale(1.06)}
.blt-professional-card--premium .blt-professional-card__image{
    position:relative;overflow:hidden;border-radius:22px;
    box-shadow:0 15px 35px rgba(14,42,87,.14),inset 0 0 0 1px rgba(255,255,255,.72)
}
.blt-professional-card--premium .blt-professional-card__image:after{
    content:"";position:absolute;inset:auto 0 0;height:36%;
    background:linear-gradient(transparent,rgba(3,27,66,.38));pointer-events:none
}
.blt-professional-card__view{
    position:absolute;z-index:3;right:13px;bottom:13px;padding:8px 11px;
    border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;
    background:rgba(6,43,103,.52);backdrop-filter:blur(12px);
    font-size:10px;font-weight:800;opacity:0;transform:translateY(6px);
    transition:.25s var(--blt-ease)
}
.blt-professional-card--premium:hover .blt-professional-card__view{opacity:1;transform:none}
.blt-professional-card--premium .blt-professional-card__body{padding:20px 12px 12px}
.blt-professional-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.blt-professional-card__profession{
    color:#5268f5!important;font-size:9px!important;font-weight:900!important;letter-spacing:.10em!important
}
.blt-professional-card__status{
    display:inline-flex!important;align-items:center;gap:5px;margin:0!important;
    color:#6e7b8e!important;font-size:9px!important;font-weight:750
}
.blt-professional-card__status i{
    width:6px;height:6px;border-radius:50%;background:#18ae64;box-shadow:0 0 0 4px rgba(24,174,100,.10)
}
.blt-professional-card--premium h3{margin:10px 0 6px;font-size:24px;letter-spacing:-.03em}
.blt-professional-card__specialties{min-height:38px!important;margin:0;font-size:12px;line-height:1.55}
.blt-professional-card__footer{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin-top:17px;padding-top:15px;border-top:1px solid rgba(13,55,111,.10)
}
.blt-professional-card__registration{color:#79879a!important;font-size:10px;font-weight:700}
.blt-professional-card__arrow{
    display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;
    border:1px solid rgba(10,63,150,.13);border-radius:50%;color:#0a3f96;
    background:radial-gradient(circle at 35% 28%,#fff 0,#edf3ff 65%,#dbe6ff 100%);
    box-shadow:0 8px 18px rgba(20,62,132,.15),inset 0 1px 0 #fff;
    text-decoration:none;font-size:20px;transition:transform .22s ease,box-shadow .22s ease
}
.blt-professional-card__arrow:hover{
    transform:translateX(3px);
    box-shadow:0 12px 24px rgba(20,62,132,.20),inset 0 1px 0 #fff
}
@media(max-width:600px){.blt-professional-card--premium{flex-basis:min(84vw,320px)}}

/* Oculta apenas o legado v0.2 se ainda existir no HTML/cache */
.blt-editorial{display:none!important}


/* ================================================================
 * BIOLIFE 0.3.1 — Hero sem moldura + Header glass compacto
 * Feedback:
 * - Remover linha que demarcava o Hero.
 * - Evitar menu totalmente branco e visualmente “ocupando a tela inteira”.
 * ================================================================ */

/* Remove a moldura visual do Hero sem perder profundidade */
.blt-hero,
.blt-hero-v2 .blt-hero{
    border:none!important;
    box-shadow:
        0 30px 90px rgba(30,67,124,.08),
        0 1px 0 rgba(255,255,255,.7) inset!important;
}

/* Evita qualquer linha residual na transição do bloco principal */
.blt-hero-section{
    border:0!important;
}
.blt-hero-v2 .blt-shell,
.blt-hero-section .blt-shell{
    border:0!important;
}

/* Header: mais leve, translúcido e menor do que o conteúdo da tela */
.blt-header{
    background:transparent!important;
    padding-top:14px;
}

.blt-header__inner,
.blt-header.is-scrolled .blt-header__inner{
    width:min(calc(100% - 52px),1160px);
    min-height:68px;
    margin:0 auto;
    padding:0 18px;
    border:1px solid rgba(35,84,155,.13);
    border-radius:22px;
    background:
        linear-gradient(135deg,
            rgba(238,245,255,.82) 0%,
            rgba(255,255,255,.72) 58%,
            rgba(255,244,245,.66) 100%);
    box-shadow:
        0 14px 42px rgba(28,55,96,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter:blur(22px) saturate(135%);
    -webkit-backdrop-filter:blur(22px) saturate(135%);
}

.blt-header.is-scrolled .blt-header__inner{
    min-height:62px;
    margin-top:0;
    background:
        linear-gradient(135deg,
            rgba(235,243,255,.90) 0%,
            rgba(255,255,255,.82) 60%,
            rgba(255,244,245,.76) 100%);
    box-shadow:
        0 18px 48px rgba(24,50,92,.12),
        inset 0 1px 0 rgba(255,255,255,.96);
}

/* Mais separação visual da marca e links sem criar faixa branca */
.blt-nav__list a{
    color:#18355f;
}
.blt-nav__list a:hover{
    color:#5268f5;
}

/* Botões do header mais compactos */
.blt-header .blt-btn{
    min-height:42px;
    padding-inline:16px;
    border-radius:13px;
}
.blt-header .blt-btn--ghost{
    background:rgba(255,255,255,.48);
    border-color:rgba(10,63,150,.18);
}
.blt-header .blt-btn--primary{
    box-shadow:0 10px 24px rgba(227,38,46,.17);
}

/* Desktop: dá ainda mais respiro nas laterais */
@media(min-width:1280px){
    .blt-header__inner,
    .blt-header.is-scrolled .blt-header__inner{
        width:min(calc(100% - 140px),1160px);
    }
}

/* Tablet/mobile: mantém glass, mas sem sensação de barra full-width */
@media(max-width:979px){
    .blt-header{
        padding-top:10px;
    }
    .blt-header__inner,
    .blt-header.is-scrolled .blt-header__inner{
        width:calc(100% - 24px);
        min-height:62px;
        padding:0 13px;
        border-radius:18px;
    }
}

/* ================================================================
 * BIOLIFE 0.3.2 — Hero vivo + profissionais premium em loop
 * Motivo: aproximar a experiência do conceito visual aprovado sem
 * depender de page builder. Mantém acessibilidade e mobile-first.
 * ================================================================ */
.blt-hero__visual{overflow:visible;isolation:isolate}
.blt-hero__image--concept{width:min(76%,470px)!important;height:auto!important;max-height:570px;object-fit:cover!important;object-position:center top;border-radius:44% 44% 28px 28px;filter:drop-shadow(0 30px 42px rgba(16,58,122,.18));animation:bltDoctorFloat 7s ease-in-out infinite;position:relative;z-index:2}
.blt-hero__visual:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(80,111,255,.22),rgba(80,111,255,.07) 48%,transparent 70%);left:15%;top:12%;z-index:0;animation:bltPulse 6s ease-in-out infinite}
.blt-health-card{z-index:4;will-change:transform;box-shadow:0 22px 55px rgba(18,52,104,.16)!important;border:1px solid rgba(255,255,255,.82)!important;backdrop-filter:blur(16px)}
.blt-health-card--appointment{animation:bltOrbitA 8s ease-in-out infinite}
.blt-health-card--results{animation:bltOrbitB 9s ease-in-out infinite}
.blt-health-orbit{z-index:5;animation:bltOrbitC 7s ease-in-out infinite}
@keyframes bltDoctorFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}
@keyframes bltOrbitA{0%,100%{translate:0 0;rotate:-1deg}50%{translate:12px -12px;rotate:1deg}}
@keyframes bltOrbitB{0%,100%{translate:0 0;rotate:1deg}50%{translate:-14px 10px;rotate:-1deg}}
@keyframes bltOrbitC{0%,100%{translate:0 0;scale:1}50%{translate:8px -10px;scale:1.05}}
@keyframes bltPulse{0%,100%{transform:scale(.96);opacity:.7}50%{transform:scale(1.04);opacity:1}}

/* Corpo clínico: viewport controlado. No desktop todos os cards cabem
 * no quadro; em telas menores o mesmo componente vira faixa contínua. */
.blt-section--dark{overflow:hidden}
.blt-professional-slider{overflow:hidden!important;padding:28px 0 42px;margin-top:-8px;position:relative;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.blt-professional-track{display:flex!important;gap:18px!important;width:max-content;align-items:stretch;animation:bltProfessionalsLoop 34s linear infinite;will-change:transform}
.blt-professional-slider:hover .blt-professional-track{animation-play-state:paused}
.blt-professional-card{flex:0 0 clamp(205px,17.2vw,252px)!important;width:clamp(205px,17.2vw,252px)!important;min-width:0!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:24px!important;overflow:hidden!important;background:linear-gradient(160deg,rgba(255,255,255,.99),rgba(240,246,255,.96))!important;box-shadow:0 30px 70px rgba(0,15,53,.34),0 8px 24px rgba(0,26,86,.18),inset 0 1px 0 #fff!important;transform:translateZ(0);transition:transform .35s ease,box-shadow .35s ease}
.blt-professional-card:hover{transform:translateY(-9px) scale(1.015);box-shadow:0 42px 90px rgba(0,12,48,.44),0 14px 34px rgba(0,34,110,.24)!important}
.blt-professional-card__image{aspect-ratio:4/4.65!important;min-height:0!important;background:linear-gradient(145deg,#eaf2ff,#f7faff)!important;overflow:hidden}
.blt-professional-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.blt-professional-card:hover .blt-professional-card__image img{transform:scale(1.045)}
.blt-professional-card__body{padding:18px 18px 17px!important}
.blt-professional-card__body h3{font-size:clamp(18px,1.35vw,22px)!important;line-height:1.08!important;margin:8px 0!important}
.blt-professional-card__specialties{min-height:38px;font-size:14px!important}
.blt-professional-card__footer{margin-top:14px!important}
.blt-professional-card__arrow{box-shadow:0 8px 18px rgba(15,65,150,.12)}
@keyframes bltProfessionalsLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 9px),0,0)}}

@media (min-width:1100px){
 .blt-section--dark .blt-shell{max-width:1500px}
 .blt-section--dark .blt-section-heading{margin-bottom:0}
}
@media (max-width:979px){
 .blt-hero__visual{min-height:470px;margin-top:20px}
 .blt-hero__image--concept{width:min(76vw,390px)!important;max-height:460px}
 .blt-health-card{max-width:190px;font-size:12px}
 .blt-professional-slider{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;mask-image:none;-webkit-mask-image:none}
 .blt-professional-card{flex-basis:230px!important;width:230px!important}
 .blt-professional-track{gap:14px!important;animation-duration:28s}
}
@media (max-width:640px){
 .blt-hero__visual{min-height:410px}
 .blt-hero__image--concept{width:min(82vw,330px)!important;max-height:400px;border-radius:38% 38% 24px 24px}
 .blt-health-card--appointment{top:4%!important;left:-2%!important}
 .blt-health-card--results{right:-2%!important;bottom:8%!important}
 .blt-professional-card{flex-basis:min(78vw,255px)!important;width:min(78vw,255px)!important}
 .blt-professional-track{animation-duration:24s}
}
@media (prefers-reduced-motion:reduce){
 .blt-hero__image--concept,.blt-health-card--appointment,.blt-health-card--results,.blt-health-orbit,.blt-hero__visual:before,.blt-professional-track{animation:none!important}
 .blt-professional-slider{overflow-x:auto!important;scroll-snap-type:x mandatory}
 .blt-professional-card{scroll-snap-align:start}
}


/* ================================================================
 * BIOLIFE 0.3.3 — Hero aberto, sem "quadrado gigante" + Header flutuante real
 * Feedback aplicado:
 * - Não desenhar moldura/linha ao redor da Home.
 * - Não usar faixa branca de 100% no menu.
 * - Reduzir e reposicionar a médica para proporção do layout aprovado.
 * - Cards orbitais devem envolver a médica sem cobri-la.
 * ================================================================ */

/* HEADER: sai da faixa branca e passa a flutuar SOBRE o Hero */
.blt-header{
    position:absolute!important;
    inset:0 0 auto!important;
    width:100%!important;
    padding-top:18px!important;
    background:transparent!important;
    box-shadow:none!important;
}
.blt-header__inner,
.blt-header.is-scrolled .blt-header__inner{
    width:min(calc(100% - 64px),1180px)!important;
    min-height:66px!important;
    margin:0 auto!important;
    padding:0 18px!important;
    border:1px solid rgba(255,255,255,.58)!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,rgba(235,243,255,.68),rgba(255,255,255,.56) 60%,rgba(255,245,246,.55))!important;
    box-shadow:0 14px 42px rgba(31,61,110,.08)!important;
    backdrop-filter:blur(20px) saturate(135%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(135%)!important;
}
.blt-header.is-scrolled{
    position:fixed!important;
    top:0!important;
    padding-top:10px!important;
}
.blt-header.is-scrolled .blt-header__inner{
    min-height:60px!important;
    background:linear-gradient(135deg,rgba(232,241,255,.88),rgba(255,255,255,.78) 60%,rgba(255,244,246,.74))!important;
    box-shadow:0 16px 46px rgba(23,51,94,.12)!important;
}

/* HERO: nenhuma caixa, linha, borda ou fundo interno demarcado */
.blt-hero-section,
.blt-hero-v2,
.blt-hero-v2 .blt-shell,
.blt-hero-v2 .blt-hero,
.blt-hero{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}
.blt-hero-v2{
    padding:118px 0 54px!important;
    background:
        radial-gradient(circle at 75% 28%,rgba(77,111,255,.15),transparent 28%),
        radial-gradient(circle at 7% 9%,rgba(103,136,255,.09),transparent 23%),
        linear-gradient(180deg,#f4f7ff 0%,#fff 82%)!important;
}
.blt-hero-v2 .blt-hero{
    min-height:610px!important;
    overflow:visible!important;
    border-radius:0!important;
    background:transparent!important;
}
.blt-hero-v2 .blt-hero__content{
    padding:34px 42px 34px 0!important;
}

/* Visual: sem painel branco atrás da médica */
.blt-hero-v2 .blt-hero__visual{
    position:relative!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    min-height:540px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
}
.blt-hero-v2 .blt-hero__visual::after{
    display:none!important;
}

/* Médica: proporção semelhante ao layout aprovado */
.blt-hero__image--concept{
    position:relative!important;
    z-index:2!important;
    width:auto!important;
    height:505px!important;
    max-width:64%!important;
    max-height:505px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    border-radius:0!important;
    filter:drop-shadow(0 28px 34px rgba(18,57,117,.16))!important;
}
.blt-hero__visual:before{
    width:68%!important;
    max-width:470px!important;
    left:16%!important;
    top:17%!important;
    opacity:.82!important;
}

/* Cards orbitais: menores, nos cantos e sem cobrir o rosto */
.blt-health-card{
    width:220px!important;
    padding:16px 18px!important;
    border-radius:18px!important;
    box-shadow:0 18px 44px rgba(19,50,98,.13)!important;
}
.blt-health-card--appointment{
    top:11%!important;
    left:-3%!important;
    right:auto!important;
}
.blt-health-card--results{
    right:-4%!important;
    bottom:13%!important;
    left:auto!important;
}
.blt-health-orbit{
    right:-1%!important;
    top:38%!important;
}

/* Não deixar o shell parecer um retângulo de fundo */
.blt-hero-v2 .blt-shell{
    background:transparent!important;
    border-radius:0!important;
}

@media(min-width:1280px){
    .blt-header__inner,
    .blt-header.is-scrolled .blt-header__inner{
        width:min(calc(100% - 180px),1180px)!important;
    }
    .blt-hero-v2 .blt-hero{
        grid-template-columns:1.02fr .98fr!important;
    }
}

/* MOBILE-FIRST: o Hero deve virar composição vertical e limpa, sem overflow */
@media(max-width:979px){
    .blt-header{
        position:absolute!important;
        padding-top:10px!important;
    }
    .blt-header__inner,
    .blt-header.is-scrolled .blt-header__inner{
        width:calc(100% - 22px)!important;
        min-height:60px!important;
        padding:0 12px!important;
        border-radius:17px!important;
    }
    .blt-hero-v2{
        padding-top:92px!important;
    }
    .blt-hero-v2 .blt-hero{
        min-height:auto!important;
    }
    .blt-hero-v2 .blt-hero__content{
        padding:24px 0 18px!important;
    }
    .blt-hero-v2 .blt-hero__visual{
        min-height:470px!important;
        margin-top:12px!important;
    }
    .blt-hero__image--concept{
        height:430px!important;
        max-width:72%!important;
        max-height:430px!important;
    }
    .blt-health-card{
        width:min(205px,48vw)!important;
        padding:13px 14px!important;
    }
    .blt-health-card--appointment{
        top:7%!important;
        left:1%!important;
    }
    .blt-health-card--results{
        right:1%!important;
        bottom:8%!important;
    }
    .blt-health-orbit{
        right:1%!important;
        top:42%!important;
    }
}

@media(max-width:600px){
    .blt-hero-v2{
        padding-top:82px!important;
    }
    .blt-hero-v2 .blt-hero__visual{
        min-height:395px!important;
    }
    .blt-hero__image--concept{
        height:355px!important;
        max-width:74%!important;
        max-height:355px!important;
    }
    .blt-health-card{
        width:158px!important;
        padding:11px 12px!important;
        border-radius:15px!important;
    }
    .blt-health-card strong{font-size:12px!important}
    .blt-health-card small,.blt-health-card span{font-size:8px!important}
    .blt-health-card--appointment{top:5%!important;left:0!important}
    .blt-health-card--results{right:0!important;bottom:6%!important}
    .blt-health-orbit{transform:scale(.78)!important;right:-3%!important}
}


/* =================================================================
 * BIOLIFE 0.3.4 — Hero fiel ao conceito + Mobile-first obrigatório
 * -----------------------------------------------------------------
 * Motivo:
 * - Corrigir alinhamento vertical/horizontal dos ícones dos chips.
 * - Dar amplitude à imagem da profissional sem recorte por object-fit.
 * - Recriar os quatro cards informativos ao redor da profissional.
 * - Garantir que o mesmo componente tenha composição específica
 *   e segura para mobile, sem overflow ou elementos ilegíveis.
 *
 * Risco de regressão:
 * - Não voltar a usar object-fit: cover no Hero.
 * - Não aumentar cards sem revisar os breakpoints abaixo.
 * ================================================================= */

/* ----- Chips do lado esquerdo: ícones rigorosamente centralizados ----- */
.blt-hero__chips .blt-chip{
    min-width:0;
    align-items:center!important;
}
.blt-hero__chips .blt-chip__icon{
    display:grid!important;
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:0!important;
    margin:0!important;
    place-items:center!important;
    align-items:center!important;
    justify-items:center!important;
    line-height:1!important;
    text-align:center!important;
}
.blt-hero__chips .blt-chip__icon::before,
.blt-hero__chips .blt-chip__icon::after{
    line-height:1!important;
}
.blt-hero__chips .blt-chip > div{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* ----- Hero: mais espaço real para o visual aprovado ----- */
@media(min-width:980px){
    .blt-hero-v2 .blt-hero{
        grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr)!important;
        align-items:center!important;
        min-height:620px!important;
    }
    .blt-hero-v2 .blt-hero__content{
        padding-right:26px!important;
    }
    .blt-hero-v2 .blt-hero__visual{
        min-height:555px!important;
    }
}

/* Palco da profissional: SEM CROP por cover */
.blt-doctor-stage{
    position:absolute;
    z-index:2;
    inset:50% auto auto 50%;
    width:min(112%,760px);
    transform:translate(-50%,-50%);
    pointer-events:none;
    filter:drop-shadow(0 28px 44px rgba(22,57,116,.11));
}
.blt-doctor-stage .blt-hero__image--stage{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}

/* Linha orbital discreta atrás dos cards */
.blt-stage-orbit{
    position:absolute;
    z-index:1;
    left:7%;
    top:12%;
    width:88%;
    height:73%;
    border:1px dashed rgba(76,112,244,.30);
    border-radius:50%;
    transform:rotate(-7deg);
    pointer-events:none;
    animation:bltStageOrbitPulse 8s ease-in-out infinite;
}
@keyframes bltStageOrbitPulse{
    0%,100%{opacity:.50;transform:rotate(-7deg) scale(.985)}
    50%{opacity:.85;transform:rotate(-4deg) scale(1.015)}
}

/* ----- Quatro cards reais sobre o visual ----- */
.blt-health-card--rich{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
    width:208px!important;
    padding:14px 15px!important;
    border:1px solid rgba(255,255,255,.96)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.975)!important;
    box-shadow:
        0 18px 46px rgba(23,54,104,.15),
        0 4px 12px rgba(23,54,104,.07)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
}
.blt-health-card--rich > div{
    display:grid;
    gap:4px;
    min-width:0;
}
.blt-health-card--rich small{
    margin:0!important;
    color:#6d7d96!important;
    font-size:7.7px!important;
    line-height:1.25!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
}
.blt-health-card--rich strong{
    color:#0b2f69!important;
    font-size:13px!important;
    line-height:1.22!important;
}
.blt-health-card--rich span:not(.blt-health-card__icon){
    color:#6c7a8e!important;
    font-size:9.5px!important;
    line-height:1.38!important;
}
.blt-health-card__icon{
    display:grid!important;
    width:32px!important;
    height:32px!important;
    margin:0!important;
    place-items:center!important;
    align-items:center!important;
    justify-items:center!important;
    border-radius:10px!important;
    color:#245ccd!important;
    background:#eaf1ff!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1!important;
}
.blt-health-card__icon--green{
    color:#0a9761!important;
    background:#e9f8f1!important;
}
.blt-health-card__icon--red{
    color:#e3262e!important;
    background:#fff0f1!important;
}

.blt-health-card--appointment{
    left:-1.5%!important;
    top:13%!important;
    right:auto!important;
    bottom:auto!important;
    animation:bltFloatCardA 7.4s ease-in-out infinite!important;
}
.blt-health-card--specialists{
    right:-1.5%!important;
    top:15%!important;
    left:auto!important;
    bottom:auto!important;
    animation:bltFloatCardB 8.2s ease-in-out infinite!important;
}
.blt-health-card--exams{
    left:1.5%!important;
    bottom:12%!important;
    right:auto!important;
    top:auto!important;
    animation:bltFloatCardC 8.8s ease-in-out infinite!important;
}
.blt-health-card--integrated{
    right:-2%!important;
    bottom:10%!important;
    left:auto!important;
    top:auto!important;
    animation:bltFloatCardD 7.9s ease-in-out infinite!important;
}

@keyframes bltFloatCardA{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(4px,-5px,0)}
}
@keyframes bltFloatCardB{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(-4px,4px,0)}
}
@keyframes bltFloatCardC{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(5px,4px,0)}
}
@keyframes bltFloatCardD{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(-5px,-4px,0)}
}

.blt-health-orbit--brand{
    right:-3%!important;
    top:43%!important;
    width:58px!important;
    height:58px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 15px 38px rgba(33,64,117,.14)!important;
}
.blt-health-orbit--brand span{
    width:34px!important;
    height:34px!important;
    font-size:21px!important;
}

/* ----- TABLET: mantém composição em volta da profissional ----- */
@media(max-width:1100px) and (min-width:700px){
    .blt-doctor-stage{
        width:min(108%,690px);
    }
    .blt-health-card--rich{
        width:185px!important;
        grid-template-columns:29px minmax(0,1fr)!important;
        padding:12px 13px!important;
    }
    .blt-health-card__icon{
        width:28px!important;
        height:28px!important;
        font-size:12px!important;
    }
    .blt-health-card--rich strong{font-size:11.5px!important}
    .blt-health-card--rich span:not(.blt-health-card__icon){font-size:8.5px!important}
    .blt-health-card--appointment{left:0!important}
    .blt-health-card--specialists{right:0!important}
    .blt-health-card--exams{left:0!important}
    .blt-health-card--integrated{right:0!important}
}

/* =================================================================
 * MOBILE — regra principal do projeto
 * -----------------------------------------------------------------
 * Não reduzimos simplesmente o desktop:
 * - foto ocupa bloco próprio;
 * - cards viram grid 2x2 legível;
 * - nenhuma informação fica sobre rosto;
 * - sem overflow horizontal;
 * ================================================================= */
@media(max-width:699px){
    .blt-hero-v2{
        overflow:hidden!important;
    }
    .blt-hero-v2 .blt-shell{
        width:min(calc(100% - 24px),100%)!important;
    }
    .blt-hero-v2 .blt-hero__visual{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:auto auto auto!important;
        gap:10px!important;
        min-height:0!important;
        margin-top:20px!important;
        padding:0!important;
        align-items:stretch!important;
    }

    /* Foto decorativa ampla, sem cortar a profissional */
    .blt-doctor-stage{
        position:relative!important;
        inset:auto!important;
        grid-column:1/-1!important;
        grid-row:1!important;
        width:100%!important;
        max-width:100%!important;
        margin:0 auto 4px!important;
        transform:none!important;
        overflow:hidden!important;
        border-radius:24px!important;
        filter:drop-shadow(0 20px 36px rgba(22,57,116,.10));
    }
    .blt-doctor-stage .blt-hero__image--stage{
        width:138%!important;
        max-width:none!important;
        margin-left:-19%!important;
        height:auto!important;
        object-fit:contain!important;
    }

    .blt-stage-orbit,
    .blt-health-orbit--brand{
        display:none!important;
    }

    /* Cards deixam o position absolute e passam a fazer parte do layout */
    .blt-health-card--rich{
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        min-height:118px!important;
        grid-template-columns:28px minmax(0,1fr)!important;
        padding:12px!important;
        border-radius:16px!important;
        animation:none!important;
        transform:none!important;
        box-shadow:0 12px 30px rgba(23,54,104,.10)!important;
    }
    .blt-health-card--appointment{
        grid-column:1!important;
        grid-row:2!important;
    }
    .blt-health-card--specialists{
        grid-column:2!important;
        grid-row:2!important;
    }
    .blt-health-card--exams{
        grid-column:1!important;
        grid-row:3!important;
    }
    .blt-health-card--integrated{
        grid-column:2!important;
        grid-row:3!important;
    }

    .blt-health-card__icon{
        width:27px!important;
        height:27px!important;
        font-size:11px!important;
    }
    .blt-health-card--rich small{
        font-size:6.8px!important;
    }
    .blt-health-card--rich strong{
        font-size:11px!important;
    }
    .blt-health-card--rich span:not(.blt-health-card__icon){
        font-size:8px!important;
        line-height:1.32!important;
    }

    /* Chips do Hero: três cards cabem sem quebrar */
    .blt-hero__chips{
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    .blt-hero__chips .blt-chip{
        min-height:58px!important;
        padding:10px 12px!important;
    }
}

@media(max-width:420px){
    .blt-health-card--rich{
        min-height:112px!important;
        padding:10px!important;
        gap:8px!important;
    }
    .blt-health-card--rich strong{
        font-size:10.3px!important;
    }
    .blt-health-card--rich span:not(.blt-health-card__icon){
        font-size:7.5px!important;
    }
}

/* Acessibilidade: todo movimento ambiental é removido quando solicitado */
@media(prefers-reduced-motion:reduce){
    .blt-stage-orbit,
    .blt-health-card--appointment,
    .blt-health-card--specialists,
    .blt-health-card--exams,
    .blt-health-card--integrated{
        animation:none!important;
        transform:none!important;
    }
}


/* =================================================================
 * BIOLIFE 0.3.5 — Ajustes finos aprovados
 * -----------------------------------------------------------------
 * - elimina linha branca do palco da médica;
 * - remove duplicação/choque entre cards rasterizados e cards HTML;
 * - usa composição 4K-ready da MESMA médica;
 * - logo do menu deixa de ser desenhada em CSS;
 * - mobile recebe composição própria e cards HTML legíveis.
 * ================================================================= */

/* MENU — imagem oficial/configurável */
.blt-brand--official{
    display:flex!important;
    align-items:center!important;
    min-width:0;
}
.blt-brand__official-image{
    display:block!important;
    width:auto!important;
    height:48px!important;
    max-width:188px!important;
    object-fit:contain!important;
    object-position:left center!important;
}
.blt-brand--official .blt-brand__mark,
.blt-brand--official .blt-brand__text{
    display:none!important;
}
@media(max-width:699px){
    .blt-brand__official-image{
        height:40px!important;
        max-width:148px!important;
    }
}

/* PALCO: remove qualquer linha residual e dá acabamento contínuo */
.blt-doctor-stage,
.blt-doctor-stage picture{
    border:0!important;
    outline:0!important;
    background:transparent!important;
}
.blt-doctor-stage{
    overflow:visible!important;
}
.blt-doctor-stage::before,
.blt-doctor-stage::after{
    border:0!important;
    outline:0!important;
}
.blt-doctor-stage .blt-hero__image--stage{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
}

/* Desktop/tablet:
 * A composição aprovada já contém os 4 cards e o ícone da marca.
 * Ocultar o segundo conjunto HTML evita que um card ultrapasse outro
 * ou passe atrás do ícone vermelho.
 */
@media(min-width:700px){
    .blt-health-card--rich,
    .blt-health-orbit--brand,
    .blt-stage-orbit{
        display:none!important;
    }

    .blt-doctor-stage{
        left:50%!important;
        top:50%!important;
        width:min(113%,820px)!important;
        transform:translate(-50%,-50%)!important;
        animation:bltDoctorCompositionFloat 8.5s ease-in-out infinite!important;
        filter:
            drop-shadow(0 34px 58px rgba(28,57,109,.10))
            drop-shadow(0 8px 18px rgba(28,57,109,.05))!important;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        object-fit:contain!important;
    }
}

@keyframes bltDoctorCompositionFloat{
    0%,100%{transform:translate(-50%,-50%) translate3d(0,0,0)}
    50%{transform:translate(-50%,-50%) translate3d(0,-4px,0)}
}

/* Mobile: imagem da mesma médica em recorte central, sem recorte por cover.
 * Cards HTML ficam abaixo em 2x2 para leitura perfeita.
 */
@media(max-width:699px){
    .blt-doctor-stage{
        overflow:hidden!important;
        background:
            radial-gradient(circle at 50% 42%,rgba(83,111,244,.14),transparent 48%),
            linear-gradient(180deg,#f7faff,#fff)!important;
        border-radius:26px!important;
        box-shadow:0 20px 42px rgba(24,55,105,.10)!important;
    }

    .blt-doctor-stage picture{
        display:block!important;
        width:100%!important;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        display:block!important;
        width:100%!important;
        height:auto!important;
        margin:0!important;
        min-height:0!important;
        object-fit:contain!important;
        /* Esconde somente as sobras laterais dos cards da arte desktop,
           preservando integralmente o rosto/corpo central da profissional. */
        -webkit-mask-image:linear-gradient(
            to right,
            transparent 0%,
            #000 15%,
            #000 85%,
            transparent 100%
        );
        mask-image:linear-gradient(
            to right,
            transparent 0%,
            #000 15%,
            #000 85%,
            transparent 100%
        );
    }

    .blt-stage-orbit,
    .blt-health-orbit--brand{
        display:none!important;
    }

    /* Cards não sobrepõem a médica no mobile. */
    .blt-health-card--rich{
        display:grid!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        min-height:116px!important;
        margin:0!important;
        animation:none!important;
        transform:none!important;
    }
}

/* A linha branca observada vinha do recorte rasterizado anterior.
 * O novo asset foi recortado antes do upscale, e estas regras impedem
 * qualquer nova linha estrutural de reaparecer.
 */
.blt-hero__visual,
.blt-doctor-stage,
.blt-doctor-stage img{
    border-top:0!important;
    outline:0!important;
}

/* Acessibilidade */
@media(prefers-reduced-motion:reduce){
    .blt-doctor-stage{
        animation:none!important;
    }
}


/* =================================================================
 * BIOLIFE 0.3.6 — Motion sobre a médica + correção de invasão lateral
 * -----------------------------------------------------------------
 * Feedback tratado:
 * 1) a composição raster estava larga demais (113%) e avançava para
 *    baixo/atrás do botão da coluna esquerda;
 * 2) ao remover cards HTML duplicados, o Hero perdeu percepção de motion.
 *
 * Solução:
 * - manter EXATAMENTE a mesma imagem 4K já aprovada;
 * - limitar o palco à coluna visual;
 * - mover levemente para a direita;
 * - adicionar uma camada DOM de órbitas/pontos/chip animados;
 * - no mobile, reduzir/ocultar efeitos que poderiam poluir a leitura.
 * ================================================================= */

/* Não deixar a imagem invadir a coluna de conteúdo esquerda. */
@media(min-width:980px){
    .blt-hero-v2 .blt-hero{
        column-gap:34px!important;
    }

    .blt-doctor-stage{
        left:53.5%!important;
        width:min(100%,780px)!important;
        max-width:100%!important;
    }
}

@media(min-width:700px) and (max-width:979px){
    .blt-doctor-stage{
        left:52%!important;
        width:100%!important;
        max-width:100%!important;
    }
}

/* A imagem continua sendo a MESMA, em alta resolução. */
.blt-doctor-stage .blt-hero__image--stage{
    transform:translate3d(var(--blt-doctor-x,0),var(--blt-doctor-y,0),0) scale(1.002);
    transition:transform .55s cubic-bezier(.22,1,.36,1);
    will-change:transform;
}

/* ---------------------------------------------------------------
 * Motion layer
 * --------------------------------------------------------------- */
.blt-doctor-motion{
    position:absolute;
    z-index:6;
    inset:0;
    pointer-events:none;
    overflow:visible;
}

.blt-motion-ring{
    position:absolute;
    display:block;
    border:1px solid rgba(73,104,244,.24);
    border-radius:50%;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.30) inset,
        0 0 28px rgba(73,104,244,.08);
}

.blt-motion-ring--one{
    width:70px;
    height:70px;
    right:4.5%;
    top:31%;
    animation:bltMotionOrbitA 7.8s ease-in-out infinite;
}

.blt-motion-ring--two{
    width:38px;
    height:38px;
    left:13%;
    bottom:24%;
    border-color:rgba(227,38,46,.20);
    animation:bltMotionOrbitB 6.8s ease-in-out infinite;
}

.blt-motion-dot{
    position:absolute;
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#5268f5;
    box-shadow:
        0 0 0 7px rgba(82,104,245,.08),
        0 0 22px rgba(82,104,245,.28);
}

.blt-motion-dot--one{
    left:22%;
    top:17%;
    animation:bltMotionDotA 5.4s ease-in-out infinite;
}

.blt-motion-dot--two{
    right:14%;
    top:21%;
    width:6px;
    height:6px;
    background:#e3262e;
    box-shadow:
        0 0 0 6px rgba(227,38,46,.07),
        0 0 20px rgba(227,38,46,.20);
    animation:bltMotionDotB 6.2s ease-in-out infinite;
}

.blt-motion-dot--three{
    right:19%;
    bottom:14%;
    width:5px;
    height:5px;
    background:#12a86b;
    box-shadow:
        0 0 0 6px rgba(18,168,107,.07),
        0 0 20px rgba(18,168,107,.18);
    animation:bltMotionDotC 5.8s ease-in-out infinite;
}

.blt-motion-pill{
    position:absolute;
    z-index:8;
    display:flex;
    align-items:center;
    gap:7px;
    right:1.5%;
    top:49%;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.85);
    border-radius:999px;
    background:rgba(255,255,255,.82);
    box-shadow:
        0 14px 34px rgba(20,51,101,.12),
        inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    color:#0b3d91;
    font-size:8px;
    font-weight:900;
    letter-spacing:.10em;
    animation:bltMotionPill 7.2s ease-in-out infinite;
}

.blt-motion-pill i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#e3262e;
    box-shadow:0 0 0 5px rgba(227,38,46,.08);
}

.blt-motion-pill b{
    font:inherit;
}

@keyframes bltMotionOrbitA{
    0%,100%{transform:translate3d(0,0,0) rotate(0deg);opacity:.55}
    50%{transform:translate3d(-7px,-9px,0) rotate(10deg);opacity:.95}
}
@keyframes bltMotionOrbitB{
    0%,100%{transform:translate3d(0,0,0) scale(.94);opacity:.45}
    50%{transform:translate3d(8px,-6px,0) scale(1.08);opacity:.90}
}
@keyframes bltMotionDotA{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(10px,-12px,0)}
}
@keyframes bltMotionDotB{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(-8px,10px,0)}
}
@keyframes bltMotionDotC{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(6px,-9px,0)}
}
@keyframes bltMotionPill{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(-6px,-7px,0)}
}

/* Torna o movimento do palco mais perceptível sem parecer flutuação excessiva. */
@media(min-width:700px){
    .blt-doctor-stage{
        animation:bltDoctorCompositionFloatV36 7.6s ease-in-out infinite!important;
    }
}

@keyframes bltDoctorCompositionFloatV36{
    0%,100%{
        transform:translate(-50%,-50%) translate3d(0,0,0);
    }
    50%{
        transform:translate(-50%,-50%) translate3d(0,-7px,0);
    }
}

/* ---------------------------------------------------------------
 * MOBILE — motion próprio, sem poluição
 * --------------------------------------------------------------- */
@media(max-width:699px){
    .blt-doctor-motion{
        z-index:4;
        overflow:hidden;
        border-radius:26px;
    }

    /* Só dois elementos ambientais no celular. */
    .blt-motion-ring--two,
    .blt-motion-dot--two,
    .blt-motion-dot--three,
    .blt-motion-pill{
        display:none!important;
    }

    .blt-motion-ring--one{
        width:54px;
        height:54px;
        right:8%;
        top:25%;
        opacity:.52;
    }

    .blt-motion-dot--one{
        left:14%;
        top:17%;
        width:6px;
        height:6px;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        transform:none!important;
    }
}

/* Acessibilidade — nenhum motion obrigatório. */
@media(prefers-reduced-motion:reduce){
    .blt-doctor-stage,
    .blt-motion-ring,
    .blt-motion-dot,
    .blt-motion-pill{
        animation:none!important;
        transform:none!important;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        transform:none!important;
        transition:none!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.7 — CAMADA CANÔNICA MOBILE-FIRST / RESPONSIVE HARDENING
 * ======================================================================
 * IMPORTANTE PARA DEV JUNIOR / OUTRA IA
 * Este bloco está propositalmente no FINAL do arquivo e é a fonte de verdade
 * para comportamento responsivo. O projeto acumulou regras experimentais nas
 * versões 0.2–0.3.6; estas regras finais neutralizam conflitos sem apagar o
 * histórico visual ainda em validação.
 *
 * Objetivos obrigatórios:
 * 1. Nenhuma seção pode aumentar a largura do <body>.
 * 2. Nenhum texto/CTA pode sair da viewport.
 * 3. A médica nunca deve ser cortada por object-fit:cover.
 * 4. Cards do Hero nunca cobrem o rosto em mobile.
 * 5. Corpo clínico: desktop = loop; mobile = swipe/snap estável.
 * 6. Touch targets >= 44px quando interativos.
 * ====================================================================== */

/* Proteção global contra overflow acidental causado por trilhos/decoração. */
html,
body.blt-site{
    width:100%;
    max-width:100%;
    overflow-x:clip;
}
.blt-main,
.blt-hero-section,
.blt-section,
.blt-life-stage,
.blt-footer{
    max-width:100%;
    overflow-x:clip;
}

/* Imagens nunca podem ultrapassar o contêiner por atributo intrínseco. */
.blt-site img,
.blt-site picture{
    max-width:100%;
}

/* ------------------------------ MOBILE <= 699px ---------------------- */
@media(max-width:699px){
    /* Shell consistente em celulares pequenos, inclusive 360px. */
    .blt-shell{
        width:calc(100% - 24px)!important;
        max-width:100%!important;
        margin-inline:auto!important;
    }

    /* HEADER: componente flutuante, não faixa full-width. */
    .blt-header{
        padding-top:8px!important;
    }
    .blt-header__inner,
    .blt-header.is-scrolled .blt-header__inner{
        width:calc(100% - 16px)!important;
        max-width:calc(100% - 16px)!important;
        min-height:58px!important;
        padding:0 10px!important;
        border-radius:16px!important;
        gap:8px!important;
    }
    .blt-brand__official-image{
        height:34px!important;
        max-width:132px!important;
    }
    .blt-menu-toggle{
        width:44px!important;
        height:44px!important;
        flex:0 0 44px!important;
        border-radius:13px!important;
    }

    /* Menu móvel usa altura dinâmica e scroll próprio em celulares baixos. */
    .blt-mobile-panel{
        height:100dvh!important;
        max-width:100vw!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        padding:82px 18px calc(24px + env(safe-area-inset-bottom))!important;
    }
    .blt-mobile-panel__inner{
        width:100%!important;
        max-width:520px!important;
        margin-inline:auto!important;
    }
    .blt-mobile-nav__list > li > a{
        font-size:clamp(22px,7vw,31px)!important;
        line-height:1.12!important;
        overflow-wrap:anywhere;
    }
    .blt-mobile-panel__actions .blt-btn{
        width:100%!important;
        min-height:48px!important;
    }

    /* HERO: sempre uma coluna. */
    .blt-hero-v2{
        padding-top:18px!important;
        overflow-x:clip!important;
    }
    .blt-hero-v2 .blt-hero{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:0!important;
        min-height:0!important;
    }
    .blt-hero-v2 .blt-hero__content{
        width:100%!important;
        min-width:0!important;
        padding:28px 0 0!important;
    }
    .blt-kicker--pill{
        max-width:100%!important;
        white-space:normal!important;
    }
    .blt-hero-title{
        max-width:100%!important;
        font-size:clamp(34px,10.8vw,46px)!important;
        line-height:1.01!important;
        overflow-wrap:normal!important;
    }
    .blt-hero-title br{
        display:none!important;
    }
    .blt-hero-v2 .blt-hero__content > p{
        max-width:100%!important;
        font-size:15.5px!important;
        line-height:1.62!important;
    }

    /* CTAs: 390+ podem ficar lado a lado se couber; 379- empilha. */
    .blt-hero__actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }
    .blt-hero__actions .blt-btn{
        width:100%!important;
        min-width:0!important;
        min-height:48px!important;
        padding-inline:12px!important;
        font-size:13px!important;
        text-align:center!important;
    }

    /* Chips: uma coluna, ícones centralizados, zero risco de compressão. */
    .blt-hero__chips{
        grid-template-columns:1fr!important;
        width:100%!important;
        gap:8px!important;
    }
    .blt-hero__chips .blt-chip{
        width:100%!important;
        min-height:60px!important;
        padding:10px 12px!important;
    }

    /* VISUAL DA MÉDICA: bloco próprio, sem absolute no mobile. */
    .blt-hero-v2 .blt-hero__visual{
        position:relative!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
        width:100%!important;
        min-width:0!important;
        min-height:0!important;
        margin:22px 0 0!important;
        padding:0!important;
        overflow:visible!important;
        background:transparent!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
    }
    .blt-hero__visual::before,
    .blt-hero__visual::after,
    .blt-hero__glow{
        pointer-events:none!important;
    }
    .blt-doctor-stage{
        position:relative!important;
        inset:auto!important;
        grid-column:1/-1!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        transform:none!important;
        animation:none!important;
        overflow:hidden!important;
        border-radius:24px!important;
        box-shadow:0 18px 38px rgba(23,54,104,.10)!important;
    }
    .blt-doctor-stage picture{
        display:block!important;
        width:100%!important;
    }
    .blt-doctor-stage .blt-hero__image--stage{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        min-height:0!important;
        margin:0!important;
        object-fit:contain!important;
        object-position:center!important;
        transform:none!important;
        -webkit-mask-image:none!important;
        mask-image:none!important;
    }

    /* Motion decorativo mobile: contido dentro da foto. */
    .blt-doctor-motion{
        position:absolute!important;
        z-index:4!important;
        top:0!important;
        left:0!important;
        right:0!important;
        height:auto!important;
        aspect-ratio:1/1.08!important;
        overflow:hidden!important;
        border-radius:24px!important;
        pointer-events:none!important;
    }
    .blt-motion-ring--two,
    .blt-motion-dot--two,
    .blt-motion-dot--three,
    .blt-motion-pill,
    .blt-stage-orbit,
    .blt-health-orbit--brand{
        display:none!important;
    }

    /* Cards HTML do Hero: abaixo da imagem. */
    .blt-health-card--rich{
        position:relative!important;
        inset:auto!important;
        display:grid!important;
        grid-template-columns:28px minmax(0,1fr)!important;
        width:100%!important;
        min-width:0!important;
        min-height:116px!important;
        margin:0!important;
        padding:11px!important;
        animation:none!important;
        transform:none!important;
        overflow:hidden!important;
    }
    .blt-health-card--appointment,
    .blt-health-card--specialists,
    .blt-health-card--exams,
    .blt-health-card--integrated{
        left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    }
    .blt-health-card--rich strong,
    .blt-health-card--rich span{
        overflow-wrap:anywhere;
    }

    /* Bento/especialidades: sem duas colunas estreitas no celular. */
    .blt-bento,
    .blt-specialty-grid,
    .blt-stats,
    .blt-profile-details{
        grid-template-columns:1fr!important;
    }

    /* Seção editorial: foto não pode sair da viewport. */
    .blt-life-stage__grid{
        grid-template-columns:1fr!important;
        gap:28px!important;
    }
    .blt-life-stage__visual{
        width:100%!important;
        min-height:410px!important;
        overflow:hidden!important;
    }
    .blt-life-stage__photo{
        left:0!important;
        top:0!important;
        width:84%!important;
        height:88%!important;
        max-width:100%!important;
    }
    .blt-life-stage__floating{
        right:0!important;
        width:min(72%,280px)!important;
    }

    /* CORPO CLÍNICO: swipe nativo é prioridade no mobile. */
    .blt-professional-slider{
        width:100%!important;
        max-width:100%!important;
        margin-inline:0!important;
        padding:10px 0 28px!important;
        overflow-x:auto!important;
        overflow-y:visible!important;
        scroll-snap-type:x mandatory!important;
        scroll-padding-inline:2px!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }
    .blt-professional-slider::-webkit-scrollbar{display:none!important}
    .blt-professional-track{
        display:flex!important;
        width:max-content!important;
        max-width:none!important;
        gap:12px!important;
        animation:none!important;
        transform:none!important;
        will-change:auto!important;
    }
    .blt-professional-card,
    .blt-professional-card--premium{
        flex:0 0 min(82vw,318px)!important;
        width:min(82vw,318px)!important;
        max-width:min(82vw,318px)!important;
        scroll-snap-align:start!important;
    }
    .blt-professional-card--premium:hover{
        transform:none!important;
    }

    /* Sticky storytelling deixa de ser sticky no celular. */
    .blt-sticky-story{
        grid-template-columns:1fr!important;
        gap:24px!important;
    }
    .blt-sticky-story__copy{
        position:relative!important;
        top:auto!important;
    }

    /* Footer: links e colunas empilhadas. */
    .blt-footer__top,
    .blt-footer__links{
        grid-template-columns:1fr!important;
    }
}

/* Celulares muito estreitos: empilha CTAs e cards do Hero. */
@media(max-width:379px){
    .blt-hero__actions{
        grid-template-columns:1fr!important;
    }
    .blt-hero__visual{
        grid-template-columns:1fr!important;
    }
    .blt-health-card--appointment,
    .blt-health-card--specialists,
    .blt-health-card--exams,
    .blt-health-card--integrated{
        grid-column:1!important;
    }
    .blt-professional-card,
    .blt-professional-card--premium{
        flex-basis:calc(100vw - 40px)!important;
        width:calc(100vw - 40px)!important;
        max-width:calc(100vw - 40px)!important;
    }
}

/* Tablet: evita elementos absolutos invadirem a lateral enquanto mantém riqueza visual. */
@media(min-width:700px) and (max-width:979px){
    html,body.blt-site{overflow-x:clip}
    .blt-hero-v2 .blt-hero{
        grid-template-columns:1fr!important;
        gap:26px!important;
    }
    .blt-hero-v2 .blt-hero__content{
        padding:34px 0 0!important;
    }
    .blt-hero-v2 .blt-hero__visual{
        width:min(100%,760px)!important;
        min-height:560px!important;
        margin-inline:auto!important;
    }
    .blt-doctor-stage{
        left:50%!important;
        width:min(100%,740px)!important;
    }
    .blt-health-card--rich,
    .blt-health-orbit--brand,
    .blt-stage-orbit{
        display:none!important;
    }
    .blt-professional-slider{overflow:hidden!important}
}

/* Desktop mantém loop dos profissionais, mas o slider contém o trilho. */
@media(min-width:980px){
    .blt-professional-slider{
        max-width:100%!important;
        overflow:hidden!important;
    }
}

/* Reduced motion sempre vence qualquer regra visual anterior. */
@media(prefers-reduced-motion:reduce){
    .blt-professional-track,
    .blt-doctor-stage,
    .blt-doctor-motion,
    .blt-motion-ring,
    .blt-motion-dot,
    .blt-motion-pill,
    [data-reveal]{
        animation:none!important;
        transition-duration:.001ms!important;
        transform:none!important;
    }
}

/* ======================================================================
 * BIOLIFE 0.3.7 — AJUSTE MOBILE DA MÉDICA (SEM CARDS RASTER CORTADOS)
 * ======================================================================
 * O layout desktop usa a composição aprovada com cards embutidos na arte.
 * No mobile isso fazia os cards rasterizados das laterais aparecerem cortados.
 *
 * Solução:
 * - usar a MESMA médica recortada/transparente, sem regenerar a pessoa;
 * - reconstruir o fundo com CSS;
 * - manter os cards informativos como HTML abaixo da foto;
 * - manter motion decorativo sem interferir na leitura.
 * ====================================================================== */
@media(max-width:699px){
    .blt-doctor-stage{
        position:relative!important;
        min-height:0!important;
        aspect-ratio:4/5!important;
        display:grid!important;
        place-items:end center!important;
        padding:18px 22px 0!important;
        background:
            radial-gradient(circle at 50% 42%, rgba(255,255,255,.94) 0 27%, transparent 27.5%),
            radial-gradient(circle at 50% 43%, rgba(82,104,245,.20) 0 40%, transparent 40.5%),
            linear-gradient(150deg,#edf4ff 0%,#f8fbff 56%,#fff4f5 100%)!important;
    }
    .blt-doctor-stage::before{
        content:""!important;
        position:absolute!important;
        z-index:0!important;
        width:72%!important;
        aspect-ratio:1!important;
        left:14%!important;
        top:16%!important;
        border:1px dashed rgba(72,104,242,.34)!important;
        border-radius:50%!important;
        animation:bltMobileDoctorOrbit 10s linear infinite!important;
        pointer-events:none!important;
    }
    .blt-doctor-stage::after{
        content:"+"!important;
        position:absolute!important;
        z-index:3!important;
        display:grid!important;
        place-items:center!important;
        right:16px!important;
        top:24px!important;
        width:44px!important;
        height:44px!important;
        border-radius:50%!important;
        color:#fff!important;
        background:#e3262e!important;
        border:7px solid rgba(255,255,255,.94)!important;
        box-shadow:0 12px 28px rgba(28,57,109,.14)!important;
        font-size:22px!important;
        font-weight:600!important;
        pointer-events:none!important;
    }
    .blt-doctor-stage picture{
        position:relative!important;
        z-index:2!important;
        display:grid!important;
        width:100%!important;
        height:100%!important;
        place-items:end center!important;
    }
    .blt-doctor-stage .blt-hero__image--stage{
        width:auto!important;
        max-width:100%!important;
        height:100%!important;
        max-height:100%!important;
        object-fit:contain!important;
        object-position:center bottom!important;
        filter:drop-shadow(0 18px 26px rgba(18,48,99,.12))!important;
    }
    .blt-doctor-motion{
        z-index:4!important;
        height:100%!important;
        aspect-ratio:auto!important;
    }
    @keyframes bltMobileDoctorOrbit{
        from{transform:rotate(0deg)}
        to{transform:rotate(360deg)}
    }
}
@media(prefers-reduced-motion:reduce){
    .blt-doctor-stage::before{animation:none!important}
}

/* 0.3.7 — Correção final para 360–379px.
 * Regras antigas atribuíam grid-row explícito aos quatro cards do Hero.
 * Ao mudar para uma única coluna, dois cards podiam ocupar a mesma linha.
 * Resetar grid-row garante que os quatro sejam exibidos em sequência.
 */
@media(max-width:379px){
    .blt-health-card--appointment,
    .blt-health-card--specialists,
    .blt-health-card--exams,
    .blt-health-card--integrated{
        grid-column:1!important;
        grid-row:auto!important;
    }
}

/* Tablet: mantém impacto visual sem headline exagerada. */
@media(min-width:700px) and (max-width:979px){
    .blt-section-heading h2,
    .blt-section-heading--light h2{
        font-size:clamp(40px,7vw,56px)!important;
        line-height:1.02!important;
    }
}

/* 0.3.7 — Especificidade final para celulares <=379px.
 * A regra mobile base usa `.blt-hero-v2 .blt-hero__visual` (especificidade maior),
 * então o fallback de uma coluna precisa repetir o mesmo seletor.
 */
@media(max-width:379px){
    .blt-hero-v2 .blt-hero__visual{
        grid-template-columns:1fr!important;
    }
    .blt-health-card--rich{
        width:100%!important;
        max-width:100%!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.8 — HERO ORBITAL CARDS / MOTION EM CAMADAS
 * ======================================================================
 *
 * PROPÓSITO
 * Fazer os quatro cards do Hero se moverem de forma independente ao redor
 * da profissional, preservando a clareza e o visual aprovado.
 *
 * ARQUITETURA
 * - A médica é uma camada limpa e independente.
 * - Os cards são HTML, não pixels presos na fotografia.
 * - CSS cuida do loop ambiental.
 * - JS Módulo 05 alimenta custom properties para mouse/scroll.
 *
 * REGRESSÕES A EVITAR
 * - Não usar data-parallax nos cards.
 * - Não usar transform inline via JS.
 * - Não ampliar órbitas sem QA nos breakpoints indicados.
 * ====================================================================== */

/* ----------------------------------------------------------------------
 * DESKTOP / TABLET AMPLO >=820px
 * Cards realmente orbitam a profissional.
 * ---------------------------------------------------------------------- */
@media(min-width:820px){

    .blt-hero-v2 .blt-hero__visual{
        position:relative!important;
        isolation:isolate!important;
        overflow:visible!important;
        background:
            radial-gradient(circle at 54% 43%,rgba(255,255,255,.94) 0 24%,transparent 24.5%),
            radial-gradient(circle at 54% 44%,rgba(82,104,245,.17) 0 38%,transparent 38.5%),
            radial-gradient(circle at 61% 45%,rgba(98,149,255,.11),transparent 52%)!important;
    }

    /* Órbita de fundo: não cria caixa/moldura no Hero. */
    .blt-hero-v2 .blt-hero__visual::before{
        content:""!important;
        position:absolute!important;
        z-index:0!important;
        left:9%!important;
        top:11%!important;
        width:82%!important;
        height:75%!important;
        border:1px dashed rgba(75,108,244,.25)!important;
        border-radius:50%!important;
        background:transparent!important;
        box-shadow:none!important;
        pointer-events:none!important;
        animation:bltHeroOrbitLine038 18s linear infinite!important;
    }

    .blt-hero-v2 .blt-hero__visual::after{
        content:""!important;
        position:absolute!important;
        z-index:0!important;
        left:25%!important;
        top:20%!important;
        width:56%!important;
        aspect-ratio:1!important;
        border-radius:50%!important;
        background:
            radial-gradient(circle,
                rgba(255,255,255,.78) 0 34%,
                rgba(224,233,255,.55) 35% 52%,
                transparent 53%)!important;
        pointer-events:none!important;
    }

    /* Médica: mesma pessoa aprovada, agora separada dos cards. */
    .blt-doctor-stage{
        z-index:2!important;
        left:53%!important;
        top:auto!important;
        bottom:-1%!important;
        width:58%!important;
        max-width:520px!important;
        height:94%!important;
        display:flex!important;
        align-items:flex-end!important;
        justify-content:center!important;
        transform:translateX(-50%)!important;
        animation:bltDoctorAmbient038 8.8s ease-in-out infinite!important;
        filter:drop-shadow(0 25px 38px rgba(23,54,104,.10))!important;
        overflow:visible!important;
    }

    .blt-doctor-stage picture{
        display:flex!important;
        width:100%!important;
        height:100%!important;
        align-items:flex-end!important;
        justify-content:center!important;
    }

    .blt-doctor-stage .blt-hero__image--clean,
    .blt-doctor-stage .blt-hero__image--stage{
        width:auto!important;
        max-width:100%!important;
        height:100%!important;
        max-height:100%!important;
        min-height:0!important;
        margin:0!important;
        object-fit:contain!important;
        object-position:center bottom!important;
    }

    /* Cards HTML: reativados no desktop/tablet amplo.
     * A 0.3.7 os escondia porque os cards estavam rasterizados na imagem. */
    .blt-health-card--rich{
        display:grid!important;
        position:absolute!important;
        z-index:8!important;
        width:190px!important;
        min-height:0!important;
        overflow:visible!important;
        opacity:1!important;
        will-change:transform!important;
        transform-origin:center!important;
        box-shadow:
            0 22px 50px rgba(24,54,104,.15),
            0 5px 14px rgba(24,54,104,.07),
            inset 0 1px 0 rgba(255,255,255,.96)!important;
        backdrop-filter:blur(18px) saturate(125%)!important;
        -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
    }

    /* Cada card possui posição e ritmo próprios.
     * A amplitude é propositalmente curta para preservar o rosto. */
    .blt-health-card--appointment{
        left:1%!important;
        top:10%!important;
        right:auto!important;
        bottom:auto!important;
        animation:bltHeroCardA038 9.8s cubic-bezier(.45,0,.25,1) infinite!important;
    }

    .blt-health-card--specialists{
        right:0!important;
        top:15%!important;
        left:auto!important;
        bottom:auto!important;
        animation:bltHeroCardB038 11.2s cubic-bezier(.45,0,.25,1) infinite!important;
    }

    .blt-health-card--exams{
        left:3%!important;
        bottom:10%!important;
        right:auto!important;
        top:auto!important;
        animation:bltHeroCardC038 10.6s cubic-bezier(.45,0,.25,1) infinite!important;
    }

    .blt-health-card--integrated{
        right:-1%!important;
        bottom:8%!important;
        left:auto!important;
        top:auto!important;
        animation:bltHeroCardD038 12s cubic-bezier(.45,0,.25,1) infinite!important;
    }

    /* Marca BIOLIFE permanece como quinta camada independente. */
    .blt-health-orbit--brand{
        display:grid!important;
        z-index:9!important;
        right:-1%!important;
        top:46%!important;
        animation:bltHeroBrandOrbit038 8.4s ease-in-out infinite!important;
        will-change:transform!important;
    }

    .blt-doctor-motion{
        z-index:6!important;
    }
}

/* Desktop amplo: melhora leitura dos cards sem invadir a coluna esquerda. */
@media(min-width:1100px){
    .blt-health-card--rich{
        width:202px!important;
        padding:14px 15px!important;
    }

    .blt-health-card--appointment{left:0!important}
    .blt-health-card--specialists{right:-1%!important}
    .blt-health-card--exams{left:2%!important}
    .blt-health-card--integrated{right:-2%!important}
}

/* 820–979px: cards continuam orbitais, mas compactos. */
@media(min-width:820px) and (max-width:979px){
    .blt-hero-v2 .blt-hero__visual{
        min-height:570px!important;
        overflow:hidden!important;
    }

    .blt-doctor-stage{
        left:50%!important;
        width:50%!important;
        max-width:390px!important;
        height:91%!important;
    }

    .blt-health-card--rich{
        width:172px!important;
        padding:11px 12px!important;
        border-radius:16px!important;
    }

    .blt-health-card--rich strong{
        font-size:11.5px!important;
    }

    .blt-health-card--rich span:not(.blt-health-card__icon){
        font-size:8.3px!important;
    }

    .blt-health-card--appointment{left:2%!important;top:9%!important}
    .blt-health-card--specialists{right:2%!important;top:13%!important}
    .blt-health-card--exams{left:3%!important;bottom:9%!important}
    .blt-health-card--integrated{right:2%!important;bottom:8%!important}
    .blt-health-orbit--brand{right:1%!important}
}

/* ----------------------------------------------------------------------
 * TABLET ESTREITO 700–819px
 *
 * Motivo:
 * É largo demais para o layout mobile clássico, mas estreito demais para
 * quatro cards absolutos ao redor da médica sem risco de sobreposição.
 *
 * Solução:
 * Foto primeiro; quatro cards em grade 2×2 abaixo.
 * ---------------------------------------------------------------------- */
@media(min-width:700px) and (max-width:819px){

    .blt-hero-v2 .blt-hero__visual{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
        width:min(100%,720px)!important;
        min-height:0!important;
        overflow:visible!important;
        margin-inline:auto!important;
        background:transparent!important;
    }

    .blt-doctor-stage{
        position:relative!important;
        inset:auto!important;
        grid-column:1/-1!important;
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        aspect-ratio:16/10!important;
        margin:0!important;
        display:grid!important;
        place-items:end center!important;
        transform:none!important;
        animation:none!important;
        overflow:hidden!important;
        border-radius:26px!important;
        background:
            radial-gradient(circle at 50% 42%,rgba(255,255,255,.94) 0 27%,transparent 27.5%),
            radial-gradient(circle at 50% 43%,rgba(82,104,245,.20) 0 40%,transparent 40.5%),
            linear-gradient(150deg,#edf4ff 0%,#f8fbff 56%,#fff4f5 100%)!important;
    }

    .blt-doctor-stage picture{
        display:grid!important;
        width:100%!important;
        height:100%!important;
        place-items:end center!important;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        width:auto!important;
        max-width:70%!important;
        height:100%!important;
        object-fit:contain!important;
        object-position:center bottom!important;
        transform:none!important;
    }

    .blt-health-card--rich{
        position:relative!important;
        inset:auto!important;
        display:grid!important;
        width:100%!important;
        min-width:0!important;
        min-height:112px!important;
        margin:0!important;
        animation:none!important;
        transform:none!important;
        overflow:hidden!important;
    }

    .blt-health-orbit--brand,
    .blt-stage-orbit{
        display:none!important;
    }
}

/* ----------------------------------------------------------------------
 * KEYFRAMES DOS CARDS
 *
 * As vars --blt-card-px/py/scroll vêm do JS Módulo 05.
 * Nunca substituir isso por style.transform no JavaScript.
 * ---------------------------------------------------------------------- */
@keyframes bltHeroCardA038{
    0%,100%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) - 3px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) + 2px),
                0
            )
            rotate(-.6deg);
    }
    38%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) + 7px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) - 10px),
                0
            )
            rotate(.45deg);
    }
    72%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) + 2px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) + 6px),
                0
            )
            rotate(-.15deg);
    }
}

@keyframes bltHeroCardB038{
    0%,100%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) + 3px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) - 2px),
                0
            )
            rotate(.5deg);
    }
    44%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) - 9px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) + 7px),
                0
            )
            rotate(-.55deg);
    }
    78%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) - 2px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) - 7px),
                0
            )
            rotate(.1deg);
    }
}

@keyframes bltHeroCardC038{
    0%,100%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) - 2px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) + 4px),
                0
            )
            rotate(.35deg);
    }
    50%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) + 8px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) - 8px),
                0
            )
            rotate(-.45deg);
    }
}

@keyframes bltHeroCardD038{
    0%,100%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) + 2px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) - 3px),
                0
            )
            rotate(-.45deg);
    }
    47%{
        transform:
            translate3d(
                calc(var(--blt-card-px,0px) - 7px),
                calc(var(--blt-card-py,0px) + var(--blt-card-scroll,0px) + 9px),
                0
            )
            rotate(.5deg);
    }
}

@keyframes bltHeroBrandOrbit038{
    0%,100%{
        transform:
            translate3d(
                calc(var(--blt-brand-px,0px)),
                calc(var(--blt-brand-py,0px) + var(--blt-brand-scroll,0px)),
                0
            )
            rotate(-2deg);
    }
    50%{
        transform:
            translate3d(
                calc(var(--blt-brand-px,0px) - 8px),
                calc(var(--blt-brand-py,0px) + var(--blt-brand-scroll,0px) - 9px),
                0
            )
            rotate(3deg);
    }
}

@keyframes bltDoctorAmbient038{
    0%,100%{
        transform:translateX(-50%) translate3d(0,0,0);
    }
    50%{
        transform:translateX(-50%) translate3d(0,-5px,0);
    }
}

@keyframes bltHeroOrbitLine038{
    from{transform:rotate(-6deg)}
    to{transform:rotate(354deg)}
}

/* Hover aumenta profundidade, sem parar o movimento. */
@media(hover:hover) and (pointer:fine) and (min-width:980px){
    .blt-health-card--rich:hover{
        z-index:11!important;
        box-shadow:
            0 30px 62px rgba(24,54,104,.20),
            0 7px 18px rgba(24,54,104,.09),
            inset 0 1px 0 #fff!important;
    }
}

/* ----------------------------------------------------------------------
 * MOBILE <=699px
 *
 * Regra principal:
 * NÃO colocar quatro cards flutuando sobre o rosto em tela pequena.
 * Mantém o grid aprovado da 0.3.7 e aplica somente micro-motion de sombra.
 * ---------------------------------------------------------------------- */
@media(max-width:699px){

    .blt-health-card--rich{
        animation:bltMobileCardBreath038 7.5s ease-in-out infinite!important;
        transform:none!important;
    }

    .blt-health-card--specialists{
        animation-delay:-1.7s!important;
    }

    .blt-health-card--exams{
        animation-delay:-3.2s!important;
    }

    .blt-health-card--integrated{
        animation-delay:-4.8s!important;
    }
}

@keyframes bltMobileCardBreath038{
    0%,100%{
        box-shadow:0 12px 30px rgba(23,54,104,.09);
    }
    50%{
        box-shadow:0 17px 38px rgba(23,54,104,.13);
    }
}

/* Acessibilidade: conteúdo permanece, motion desaparece. */
@media(prefers-reduced-motion:reduce){

    .blt-health-card--rich,
    .blt-health-orbit--brand,
    .blt-doctor-stage,
    .blt-hero-v2 .blt-hero__visual::before{
        animation:none!important;
    }

    .blt-health-card--rich{
        transform:none!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.9 — CORREÇÃO CRÍTICA: MÉDICA COMPLETA + MOTION DOS CARDS
 * ======================================================================
 *
 * PROBLEMA DA 0.3.8
 * A segmentação automática eliminou partes do jaleco e do corpo.
 *
 * CORREÇÃO
 * A composição 4K original volta a ser o visual desktop.
 * O motion é criado por recortes dos mesmos cards da arte.
 *
 * MANUTENÇÃO
 * Não usar novamente imagem segmentada nesta seção.
 * ====================================================================== */

@media(min-width:820px){

    .blt-hero-v2 .blt-hero__visual{
        position:relative!important;
        isolation:isolate!important;
        overflow:visible!important;
    }

    /* Palco inteiro: mesma imagem aprovada, sem qualquer recorte do corpo. */
    .blt-doctor-stage{
        position:absolute!important;
        z-index:2!important;
        left:50%!important;
        top:50%!important;
        bottom:auto!important;
        width:min(100%,820px)!important;
        max-width:100%!important;
        height:auto!important;
        aspect-ratio:3840 / 2539!important;
        display:block!important;
        overflow:visible!important;
        transform:translate(-50%,-50%)!important;
        animation:bltFullStageFloat039 9.2s ease-in-out infinite!important;
        filter:drop-shadow(0 28px 48px rgba(23,54,104,.10))!important;
    }

    .blt-doctor-stage picture{
        position:absolute!important;
        inset:0!important;
        display:block!important;
        width:100%!important;
        height:100%!important;
    }

    .blt-doctor-stage .blt-hero__image--full{
        display:block!important;
        width:100%!important;
        height:100%!important;
        max-width:none!important;
        max-height:none!important;
        min-height:0!important;
        margin:0!important;
        object-fit:contain!important;
        object-position:center!important;
        transform:none!important;
        border:0!important;
        outline:0!important;
        box-shadow:none!important;
    }

    /* Desktop não duplica os cards HTML. */
    .blt-health-card--rich{
        display:none!important;
    }

    /* Recortes do próprio layout aprovado.
     * scale(1.035) cobre o card fixo que existe na imagem base. */
    .blt-raster-card{
        position:absolute!important;
        z-index:8!important;
        display:block!important;
        overflow:hidden!important;
        border-radius:22px!important;
        background:#fff!important;
        box-shadow:
            0 25px 54px rgba(25,56,105,.18),
            0 7px 16px rgba(25,56,105,.08)!important;
        transform-origin:center!important;
        will-change:transform!important;
        pointer-events:none!important;
    }

    .blt-raster-card img{
        display:block!important;
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
    }

.blt-raster-card--appointment{
    left:4.1146%!important;
    top:10.2009%!important;
    width:23.1250%!important;
    height:31.3903%!important;
}
.blt-raster-card--specialists{
    left:61.5625%!important;
    top:14.1788%!important;
    width:20.4427%!important;
    height:27.6093%!important;
}
.blt-raster-card--exams{
    left:6.2500%!important;
    top:53.8795%!important;
    width:24.3750%!important;
    height:27.4124%!important;
}
.blt-raster-card--integrated{
    left:59.5052%!important;
    top:58.9602%!important;
    width:22.9948%!important;
    height:24.5766%!important;
}

    .blt-raster-card--appointment{
        animation:bltRasterCardA039 10.2s cubic-bezier(.45,0,.25,1) infinite!important;
    }
    .blt-raster-card--specialists{
        animation:bltRasterCardB039 11.4s cubic-bezier(.45,0,.25,1) infinite!important;
    }
    .blt-raster-card--exams{
        animation:bltRasterCardC039 10.8s cubic-bezier(.45,0,.25,1) infinite!important;
    }
    .blt-raster-card--integrated{
        animation:bltRasterCardD039 12.1s cubic-bezier(.45,0,.25,1) infinite!important;
    }
}

/* Mobile/tablet: mesma médica sem segmentação; card-slices desligados. */
@media(max-width:819px){
    .blt-raster-card{
        display:none!important;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        display:block!important;
        width:auto!important;
        max-width:100%!important;
        height:100%!important;
        max-height:100%!important;
        min-height:0!important;
        margin:0 auto!important;
        object-fit:contain!important;
        object-position:center bottom!important;
        transform:none!important;
        -webkit-mask-image:none!important;
        mask-image:none!important;
    }

    .blt-health-card--rich{
        display:grid!important;
    }
}

@keyframes bltFullStageFloat039{
    0%,100%{transform:translate(-50%,-50%) translate3d(0,0,0)}
    50%{transform:translate(-50%,-50%) translate3d(0,-4px,0)}
}

@keyframes bltRasterCardA039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 2px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 1px),
            0
        ) rotate(-.3deg) scale(1.035);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 3px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 4px),
            0
        ) rotate(.3deg) scale(1.035);
    }
}

@keyframes bltRasterCardB039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 1px),
            0
        ) rotate(.3deg) scale(1.035);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 4px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 3px),
            0
        ) rotate(-.3deg) scale(1.035);
    }
}

@keyframes bltRasterCardC039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 2px),
            0
        ) rotate(.25deg) scale(1.035);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 4px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 3px),
            0
        ) rotate(-.3deg) scale(1.035);
    }
}

@keyframes bltRasterCardD039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 2px),
            0
        ) rotate(-.3deg) scale(1.035);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 3px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 4px),
            0
        ) rotate(.3deg) scale(1.035);
    }
}

@media(prefers-reduced-motion:reduce){
    .blt-raster-card,
    .blt-doctor-stage{
        animation:none!important;
    }
    .blt-raster-card{
        transform:scale(1.035)!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.9 — HOTFIX DE COBERTURA DOS CARD-SLICES
 * ----------------------------------------------------------------------
 * Motivo:
 * Os recortes iniciais traziam alguns pixels do fundo junto com os cards.
 * Agora os assets têm máscara arredondada e o movimento é deliberadamente
 * curto para nunca revelar o card fixo original por baixo.
 * ====================================================================== */

@media(min-width:820px){
    .blt-raster-card{
        background:transparent!important;
        border-radius:22px!important;
        box-shadow:none!important;
        overflow:visible!important;
        filter:drop-shadow(0 16px 24px rgba(25,56,105,.15))!important;
    }

    .blt-raster-card img{
        border-radius:22px!important;
        transform:scale(1.052);
        transform-origin:center;
    }
}

/* Pequena amplitude + scale mantém o card base sempre coberto. */
@keyframes bltRasterCardA039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 1px),
            0
        ) rotate(-.22deg) scale(1.052);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 2px),
            0
        ) rotate(.22deg) scale(1.064);
    }
}
@keyframes bltRasterCardB039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 1px),
            0
        ) rotate(.22deg) scale(1.052);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 2px),
            0
        ) rotate(-.22deg) scale(1.064);
    }
}
@keyframes bltRasterCardC039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 1px),
            0
        ) rotate(.18deg) scale(1.052);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 2px),
            0
        ) rotate(-.18deg) scale(1.064);
    }
}
@keyframes bltRasterCardD039{
    0%,100%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) + 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) - 1px),
            0
        ) rotate(-.2deg) scale(1.052);
    }
    50%{
        transform:translate3d(
            calc(var(--blt-raster-px,0px) - 1px),
            calc(var(--blt-raster-py,0px) + var(--blt-raster-scroll,0px) + 2px),
            0
        ) rotate(.2deg) scale(1.064);
    }
}


/* ======================================================================
 * BIOLIFE 0.3.10 — CORREÇÃO DOS CARDS DUPLICADOS / BAIXA QUALIDADE
 * ----------------------------------------------------------------------
 * PROBLEMA IDENTIFICADO PELO USUÁRIO
 * - Os raster-cards da 0.3.9 perderam nitidez.
 * - Como a arte base já contém cards impressos, houve sensação de duplicação.
 * - O selo BIOLIFE ficou parcialmente atrás do botão circular vermelho.
 *
 * SOLUÇÃO 0.3.10
 * - Desktop volta a usar os cards HTML premium (texto vetorial/corrigido).
 * - Raster-cards ficam totalmente desativados.
 * - Máscaras estáticas cobrem os cards impressos da arte base.
 * - O selo BIOLIFE foi reposicionado para não colidir com o botão circular.
 *
 * REGRA DE MANUTENÇÃO
 * - Não reativar .blt-raster-card no desktop sem revisão visual completa.
 * - Mobile continua com grid seguro; máscaras ficam desligadas.
 * ====================================================================== */

@media (min-width: 820px){
    /* Desativa definitivamente os recortes raster da 0.3.9. */
    .blt-raster-card{
        display:none !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    /* Mostra novamente os cards HTML premium no desktop. */
    .blt-health-card--rich{
        display:grid !important;
        position:absolute !important;
        z-index:8 !important;
        width:220px !important;
        padding:16px 16px !important;
        grid-template-columns:34px minmax(0,1fr) !important;
        gap:11px !important;
        border:1px solid rgba(255,255,255,.96) !important;
        border-radius:22px !important;
        background:rgba(255,255,255,.975) !important;
        box-shadow:0 22px 46px rgba(23,54,104,.14),0 8px 18px rgba(23,54,104,.06) !important;
        backdrop-filter:blur(18px) !important;
        -webkit-backdrop-filter:blur(18px) !important;
        will-change:transform !important;
    }
    .blt-health-card--rich > div{gap:4px !important;}
    .blt-health-card--rich small{font-size:8px !important;letter-spacing:.10em !important;}
    .blt-health-card--rich strong{font-size:13.5px !important;line-height:1.22 !important;}
    .blt-health-card--rich span:not(.blt-health-card__icon){font-size:10px !important;line-height:1.42 !important;}

    /* Posições refinadas para ficarem próximas do layout aprovado. */
    .blt-health-card--appointment{left:1.4% !important;top:12.1% !important;right:auto !important;bottom:auto !important;}
    .blt-health-card--specialists{right:1.4% !important;top:15.2% !important;left:auto !important;bottom:auto !important;}
    .blt-health-card--exams{left:4.2% !important;bottom:10.2% !important;right:auto !important;top:auto !important;}
    .blt-health-card--integrated{right:2.4% !important;bottom:8.8% !important;left:auto !important;top:auto !important;}

    /* Máscaras estáticas acima da arte e abaixo dos cards HTML. */
    .blt-card-mask{
        position:absolute;
        display:block;
        z-index:5;
        border-radius:26px;
        background:rgba(248,251,255,.985);
        box-shadow:0 14px 36px rgba(31,63,118,.05);
        pointer-events:none;
    }
    .blt-card-mask--appointment{left:1.1%;top:11.3%;width:236px;height:160px;}
    .blt-card-mask--specialists{right:1.2%;top:14.3%;width:236px;height:158px;}
    .blt-card-mask--exams{left:3.9%;bottom:9.4%;width:238px;height:156px;}
    .blt-card-mask--integrated{right:2.0%;bottom:8.0%;width:238px;height:152px;}

    /* Botão circular e selo BIOLIFE separados visualmente. */
    .blt-health-orbit--brand{
        right:-0.2% !important;
        top:47.2% !important;
        z-index:9 !important;
    }
    .blt-doctor-motion{z-index:7 !important;}
    .blt-motion-pill{
        right:10.6% !important;
        top:49.4% !important;
        z-index:8 !important;
        min-width:92px;
        justify-content:center;
        padding:8px 12px;
        white-space:nowrap;
    }

    /* Stage continua íntegro e sem corte da médica. */
    .blt-doctor-stage{z-index:2 !important;}
}

@media (max-width: 819px){
    .blt-card-mask{display:none !important;}
    .blt-raster-card{display:none !important;}
}

@media (min-width: 820px) and (max-width: 1120px){
    .blt-health-card--rich{width:196px !important;padding:14px 14px !important;}
    .blt-health-card--rich strong{font-size:12.5px !important;}
    .blt-health-card--rich span:not(.blt-health-card__icon){font-size:9.3px !important;}
    .blt-card-mask--appointment,.blt-card-mask--specialists,.blt-card-mask--exams,.blt-card-mask--integrated{width:212px;height:148px;}
    .blt-motion-pill{right:11.2% !important;}
}

@media (prefers-reduced-motion: reduce){
    .blt-card-mask{display:none !important;}
}


/* ======================================================================
 * BIOLIFE 0.3.11 — REVISÃO COMPLETA DO HERO (SEM DUPLICAÇÃO DE CARDS)
 * ----------------------------------------------------------------------
 * OBJETIVO
 * Limpar a área visual da médica no desktop e mobile, deixando apenas
 * uma única fonte de verdade para os cards orbitais: os cards HTML.
 *
 * O QUE ESTA CAMADA FAZ
 * 1) Oculta permanentemente raster-cards e masks antigas.
 * 2) Usa uma stage-art limpa (`hero-stage-clean-v2.webp`).
 * 3) Reforça z-index/posicionamento para impedir cards brancos fantasmas.
 * 4) Mantém o movimento dos cards sem interferir na foto da médica.
 *
 * ERROS QUE ESTA REGRA EVITA
 * - Duplicação de cards;
 * - cards brancos atrás dos cards reais;
 * - aparência de baixa qualidade causada por sobreposição.
 * ====================================================================== */

.blt-raster-card,
.blt-card-mask{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.blt-hero__image--stage-clean{
    display:block;
    width:100%;
    height:auto;
}

@media (min-width: 820px){
    .blt-hero-v2 .blt-hero__visual{
        min-height:620px !important;
        overflow:visible !important;
    }

    .blt-doctor-stage{
        position:relative !important;
        z-index:1 !important;
        width:min(100%, 760px) !important;
        margin:14px 0 0 auto !important;
        background:transparent !important;
        border:none !important;
        box-shadow:none !important;
        overflow:visible !important;
        min-height:auto !important;
        padding:0 !important;
    }

    .blt-doctor-stage::before,
    .blt-doctor-stage::after{
        display:none !important;
    }

    .blt-doctor-stage picture{
        display:block !important;
        width:100% !important;
    }

    .blt-doctor-stage .blt-hero__image--stage{
        width:100% !important;
        max-width:none !important;
        min-height:auto !important;
        object-fit:contain !important;
        object-position:center center !important;
        filter:none !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .blt-doctor-motion{
        z-index:4 !important;
        pointer-events:none;
    }

    .blt-stage-orbit{
        z-index:2 !important;
    }

    .blt-health-card--rich{
        display:grid !important;
        z-index:6 !important;
        width:220px !important;
        padding:16px 16px !important;
        grid-template-columns:34px minmax(0,1fr) !important;
        gap:11px !important;
        border:1px solid rgba(255,255,255,.96) !important;
        border-radius:22px !important;
        background:rgba(255,255,255,.98) !important;
        box-shadow:0 22px 46px rgba(23,54,104,.14),0 8px 18px rgba(23,54,104,.06) !important;
        backdrop-filter:blur(18px) !important;
        -webkit-backdrop-filter:blur(18px) !important;
        will-change:transform !important;
    }
    .blt-health-card--rich > div{gap:4px !important;}
    .blt-health-card--rich small{font-size:8px !important;letter-spacing:.10em !important;}
    .blt-health-card--rich strong{font-size:13.5px !important;line-height:1.22 !important;}
    .blt-health-card--rich span:not(.blt-health-card__icon){font-size:10px !important;line-height:1.42 !important;}

    /* Posições revisadas para o novo stage limpo. */
    .blt-health-card--appointment{left:2.4% !important;top:10.4% !important;right:auto !important;bottom:auto !important;}
    .blt-health-card--specialists{right:0.8% !important;top:14.0% !important;left:auto !important;bottom:auto !important;}
    .blt-health-card--exams{left:5.2% !important;bottom:7.8% !important;right:auto !important;top:auto !important;}
    .blt-health-card--integrated{right:1.6% !important;bottom:5.8% !important;left:auto !important;top:auto !important;}

    .blt-motion-pill{
        z-index:7 !important;
        right:8.2% !important;
        top:50.3% !important;
        min-width:90px !important;
    }

    .blt-health-orbit--brand{
        z-index:8 !important;
        right:0.2% !important;
        top:48.5% !important;
    }
}

@media (min-width: 820px) and (max-width: 1180px){
    .blt-doctor-stage{width:min(100%, 670px) !important;}
    .blt-health-card--rich{width:198px !important;padding:14px !important;}
    .blt-health-card--rich strong{font-size:12.5px !important;}
    .blt-health-card--rich span:not(.blt-health-card__icon){font-size:9.4px !important;}
    .blt-motion-pill{right:7.0% !important;}
    .blt-health-orbit--brand{right:-0.2% !important;}
}

@media (max-width: 819px){
    .blt-doctor-stage{
        width:100% !important;
        max-width:420px !important;
        margin:0 auto !important;
        overflow:hidden !important;
        border-radius:28px !important;
    }
    .blt-doctor-stage .blt-hero__image--stage{
        width:100% !important;
        object-fit:cover !important;
        object-position:center top !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.13 — CAMADA CANÔNICA DO HERO 4K
 * ======================================================================
 *
 * ESTA É A FONTE DE VERDADE PARA O HERO.
 * Regras antigas permanecem no arquivo por histórico, porém esta seção
 * aparece por último e deve prevalecer.
 *
 * PRINCÍPIO
 * - a médica é uma imagem 4K integral;
 * - não existe segmentação;
 * - não existe máscara de recorte;
 * - não existe raster-card;
 * - movimento acontece nos cards/ornamentos, não no corpo da médica.
 * ====================================================================== */

/* Elementos obsoletos: nunca renderizar novamente. */
.blt-raster-card,
.blt-card-mask,
.blt-stage-orbit{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* A área visual não deve criar um retângulo rígido nem cortar conteúdo. */
.blt-hero-v2 .blt-hero__visual{
    position:relative !important;
    overflow:visible !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    isolation:isolate !important;
}

/* ----------------------------------------------------------------------
 * DESKTOP / TABLET AMPLO
 * ---------------------------------------------------------------------- */
@media (min-width:820px){
    .blt-hero-v2 .blt-hero__visual{
        min-height:555px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
    }

    /* Stage 4K integral. O wrapper respeita exatamente a proporção do asset. */
    .blt-doctor-stage--integral{
        container-type:inline-size;
        position:relative !important;
        inset:auto !important;
        z-index:1 !important;
        display:block !important;
        width:min(100%, 790px) !important;
        max-width:100% !important;
        height:auto !important;
        aspect-ratio:3840 / 2539 !important;
        margin:0 0 0 auto !important;
        padding:0 !important;
        transform:none !important;
        animation:none !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        filter:none !important;
    }

    .blt-doctor-stage--integral::before,
    .blt-doctor-stage--integral::after{
        display:none !important;
        content:none !important;
    }

    .blt-doctor-stage--integral .blt-hero__image--integral{
        position:relative !important;
        inset:auto !important;
        z-index:1 !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:none !important;
        max-height:none !important;
        min-height:0 !important;
        margin:0 !important;
        transform:none !important;
        transition:none !important;
        object-fit:contain !important;
        object-position:center center !important;
        clip-path:none !important;
        -webkit-mask-image:none !important;
        mask-image:none !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        box-shadow:none !important;
        filter:none !important;
    }

    /* ---------------------------------------------------------------
     * Cards HTML exatamente sobre os cards impressos da arte 4K.
     * Percentuais medidos no próprio asset 3840×2539.
     * --------------------------------------------------------------- */
    .blt-doctor-stage--integral .blt-stage-card{
        position:absolute !important;
        z-index:8 !important;
        display:grid !important;
        grid-template-columns:4.2cqw minmax(0,1fr) !important;
        gap:1.2cqw !important;
        min-width:0 !important;
        min-height:0 !important;
        margin:0 !important;
        padding:2.0cqw 2.0cqw !important;
        overflow:hidden !important;
        border:1px solid rgba(255,255,255,.98) !important;
        border-radius:2.7cqw !important;
        background:rgba(255,255,255,.995) !important;
        box-shadow:0 2.0cqw 5.4cqw rgba(23,54,104,.16),0 .7cqw 1.6cqw rgba(23,54,104,.07) !important;
        backdrop-filter:blur(18px) saturate(115%) !important;
        -webkit-backdrop-filter:blur(18px) saturate(115%) !important;
        transform-origin:center !important;
        will-change:transform,box-shadow !important;
    }

    .blt-doctor-stage--integral .blt-stage-card .blt-health-card__icon{
        display:grid !important;
        place-items:center !important;
        width:4.2cqw !important;
        height:4.2cqw !important;
        min-width:4.2cqw !important;
        min-height:4.2cqw !important;
        margin:0 !important;
        border-radius:1.2cqw !important;
        font-size:1.7cqw !important;
        line-height:1 !important;
    }

    .blt-doctor-stage--integral .blt-stage-card > div{
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        gap:.48cqw !important;
        min-width:0 !important;
    }

    .blt-doctor-stage--integral .blt-stage-card small{
        margin:0 !important;
        color:#71809a !important;
        font-size:1.02cqw !important;
        line-height:1.20 !important;
        font-weight:900 !important;
        letter-spacing:.11em !important;
    }

    .blt-doctor-stage--integral .blt-stage-card strong{
        color:#0b2f69 !important;
        font-size:1.75cqw !important;
        line-height:1.16 !important;
        font-weight:800 !important;
    }

    .blt-doctor-stage--integral .blt-stage-card span:not(.blt-health-card__icon){
        color:#71809a !important;
        font-size:1.18cqw !important;
        line-height:1.34 !important;
    }

    /* Posições calculadas sobre a arte integral. */
    .blt-doctor-stage--integral .blt-health-card--appointment{
        left:3.70% !important;
        top:9.70% !important;
        right:auto !important;
        bottom:auto !important;
        width:25.80% !important;
        height:34.70% !important;
        animation:bltStageCardA013 8.8s ease-in-out infinite !important;
    }

    .blt-doctor-stage--integral .blt-health-card--specialists{
        left:64.80% !important;
        top:13.40% !important;
        right:auto !important;
        bottom:auto !important;
        width:23.50% !important;
        height:31.70% !important;
        animation:bltStageCardB013 9.7s ease-in-out infinite !important;
    }

    .blt-doctor-stage--integral .blt-health-card--exams{
        left:5.50% !important;
        top:56.00% !important;
        right:auto !important;
        bottom:auto !important;
        width:27.50% !important;
        height:31.00% !important;
        animation:bltStageCardC013 9.3s ease-in-out infinite !important;
    }

    .blt-doctor-stage--integral .blt-health-card--integrated{
        left:62.20% !important;
        top:61.10% !important;
        right:auto !important;
        bottom:auto !important;
        width:26.30% !important;
        height:29.10% !important;
        animation:bltStageCardD013 10.2s ease-in-out infinite !important;
    }

    /* Motion seguro: ornamentos não podem deslocar/cortar a médica. */
    .blt-doctor-stage--integral .blt-doctor-motion--safe{
        position:absolute !important;
        inset:0 !important;
        z-index:7 !important;
        overflow:visible !important;
        pointer-events:none !important;
    }

    .blt-doctor-stage--integral .blt-motion-pill{
        right:11.8% !important;
        top:49.2% !important;
        z-index:10 !important;
        min-width:9.5cqw !important;
        justify-content:center !important;
        padding:1.0cqw 1.3cqw !important;
        white-space:nowrap !important;
        font-size:1.0cqw !important;
    }

    .blt-doctor-stage--integral .blt-health-orbit--safe{
        position:absolute !important;
        z-index:11 !important;
        right:-3.2% !important;
        top:46.0% !important;
        left:auto !important;
        bottom:auto !important;
        display:grid !important;
        width:7.0cqw !important;
        height:7.0cqw !important;
        place-items:center !important;
        animation:bltSafePlus013 8.5s ease-in-out infinite !important;
    }
}

/* Micro-motion: o overlay cresce levemente e se desloca no máximo ~2px.
 * O scale >1 mantém o card impresso da imagem sempre encoberto. */
@keyframes bltStageCardA013{
    0%,100%{transform:translate3d(-1px,1px,0) rotate(-.12deg) scale(1.035)}
    50%{transform:translate3d(1px,-2px,0) rotate(.12deg) scale(1.050)}
}
@keyframes bltStageCardB013{
    0%,100%{transform:translate3d(1px,-1px,0) rotate(.12deg) scale(1.035)}
    50%{transform:translate3d(-1px,2px,0) rotate(-.12deg) scale(1.050)}
}
@keyframes bltStageCardC013{
    0%,100%{transform:translate3d(-1px,1px,0) rotate(.10deg) scale(1.035)}
    50%{transform:translate3d(1px,-2px,0) rotate(-.10deg) scale(1.050)}
}
@keyframes bltStageCardD013{
    0%,100%{transform:translate3d(1px,-1px,0) rotate(-.10deg) scale(1.035)}
    50%{transform:translate3d(-1px,2px,0) rotate(.10deg) scale(1.050)}
}
@keyframes bltSafePlus013{
    0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
    50%{transform:translate3d(2px,-4px,0) rotate(2deg)}
}

/* ----------------------------------------------------------------------
 * TABLET ESTREITO E MOBILE — PRIORIDADE ABSOLUTA
 * ----------------------------------------------------------------------
 * O stage completo é exibido como uma imagem responsiva comum.
 * Nenhuma camada absoluta de card é usada porque isso foi a origem dos
 * cortes e conflitos nas versões anteriores.
 * ---------------------------------------------------------------------- */
@media (max-width:819px){
    .blt-hero-v2 .blt-hero__visual{
        min-height:0 !important;
        margin-top:20px !important;
        display:block !important;
        overflow:visible !important;
    }

    .blt-doctor-stage--integral{
        position:relative !important;
        inset:auto !important;
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        min-height:0 !important;
        aspect-ratio:auto !important;
        margin:0 auto !important;
        padding:0 !important;
        transform:none !important;
        animation:none !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:24px !important;
        background:transparent !important;
        box-shadow:0 18px 42px rgba(23,54,104,.08) !important;
        filter:none !important;
    }

    .blt-doctor-stage--integral .blt-hero__image--integral{
        position:relative !important;
        inset:auto !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
        max-height:none !important;
        min-height:0 !important;
        margin:0 !important;
        transform:none !important;
        object-fit:contain !important;
        object-position:center center !important;
        clip-path:none !important;
        -webkit-mask-image:none !important;
        mask-image:none !important;
        border-radius:24px !important;
        filter:none !important;
    }

    /* Evita duplicação no mobile. Os cards presentes na própria arte
     * 4K são os únicos cards visuais desta área. */
    .blt-doctor-stage--integral .blt-stage-card,
    .blt-doctor-stage--integral .blt-doctor-motion--safe,
    .blt-doctor-stage--integral .blt-health-orbit--safe{
        display:none !important;
    }
}

/* Celulares muito estreitos: nenhum elemento do Hero pode ultrapassar o body. */
@media (max-width:430px){
    .blt-hero-v2,
    .blt-hero-v2 .blt-shell,
    .blt-hero-v2 .blt-hero,
    .blt-hero-v2 .blt-hero__visual,
    .blt-doctor-stage--integral{
        max-width:100% !important;
        overflow-x:clip !important;
    }
}

/* Acessibilidade: sem animação, sem alterar a composição. */
@media (prefers-reduced-motion:reduce){
    .blt-doctor-stage--integral .blt-stage-card,
    .blt-doctor-stage--integral .blt-health-orbit--safe,
    .blt-doctor-stage--integral .blt-motion-ring,
    .blt-doctor-stage--integral .blt-motion-dot,
    .blt-doctor-stage--integral .blt-motion-pill{
        animation:none !important;
        transition:none !important;
    }

    .blt-doctor-stage--integral .blt-stage-card{
        transform:scale(1.035) !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.14 — MOTION ORBITAL REFORÇADO DOS CARDS
 * ----------------------------------------------------------------------
 * ESCOPO DESTA VERSÃO
 * O layout, a médica 4K, tipografia, menu e demais elementos aprovados
 * permanecem intocados. Esta camada altera SOMENTE o motion dos quatro
 * cards que circundam a médica e o comportamento equivalente no mobile.
 *
 * OBJETIVO VISUAL
 * Aproximar o movimento do Hero da referência aprovada pelo usuário:
 * - deslocamento mais perceptível;
 * - leve rotação alternada;
 * - pequena variação de escala/profundidade;
 * - ritmos diferentes entre os quatro cards;
 * - sensação de órbita, e não apenas “respiração”.
 *
 * POR QUE O SCALE É MAIOR QUE 1
 * A imagem 4K base já possui os cards impressos. O overlay HTML precisa
 * permanecer um pouco maior para continuar cobrindo o card da arte mesmo
 * quando se move/rotaciona. Assim evitamos a regressão de duplicação.
 *
 * MOBILE-FIRST
 * No mobile os cards HTML também são exibidos e animados. A amplitude é
 * calibrada proporcionalmente para caber no quadro, sem mover a médica e
 * sem causar overflow horizontal.
 * ====================================================================== */

@media (min-width:820px){
    .blt-doctor-stage--integral .blt-stage-card{
        /* Movimento perceptível sem abandonar a área do card original. */
        scale:1;
        overflow:hidden !important;
        transform-origin:center center !important;
        backface-visibility:hidden;
        perspective:900px;
    }

    .blt-doctor-stage--integral .blt-health-card--appointment{
        animation:bltStageCardA014 7.4s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-1.1s !important;
    }
    .blt-doctor-stage--integral .blt-health-card--specialists{
        animation:bltStageCardB014 8.2s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-3.2s !important;
    }
    .blt-doctor-stage--integral .blt-health-card--exams{
        animation:bltStageCardC014 7.8s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-4.5s !important;
    }
    .blt-doctor-stage--integral .blt-health-card--integrated{
        animation:bltStageCardD014 8.7s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-2.0s !important;
    }
}

/* Movimento orgânico em 6 fases. A combinação translate + rotate + scale
 * gera a sensação de órbita sem movimentar a própria fotografia. */
@keyframes bltStageCardA014{
    0%,100%{transform:translate3d(-4px,4px,0) rotate(-1.7deg) scale(1.075)}
    18%{transform:translate3d(2px,-5px,0) rotate(-.7deg) scale(1.088)}
    38%{transform:translate3d(7px,-9px,0) rotate(1.5deg) scale(1.095)}
    58%{transform:translate3d(4px,1px,0) rotate(2.1deg) scale(1.082)}
    78%{transform:translate3d(-5px,8px,0) rotate(.4deg) scale(1.070)}
}
@keyframes bltStageCardB014{
    0%,100%{transform:translate3d(4px,-3px,0) rotate(1.5deg) scale(1.075)}
    20%{transform:translate3d(-3px,-8px,0) rotate(.4deg) scale(1.090)}
    42%{transform:translate3d(-8px,-2px,0) rotate(-1.8deg) scale(1.096)}
    64%{transform:translate3d(-4px,7px,0) rotate(-2.2deg) scale(1.083)}
    82%{transform:translate3d(5px,5px,0) rotate(-.3deg) scale(1.071)}
}
@keyframes bltStageCardC014{
    0%,100%{transform:translate3d(-3px,5px,0) rotate(.9deg) scale(1.075)}
    19%{transform:translate3d(4px,8px,0) rotate(1.9deg) scale(1.084)}
    40%{transform:translate3d(8px,0,0) rotate(.8deg) scale(1.096)}
    61%{transform:translate3d(3px,-9px,0) rotate(-1.8deg) scale(1.088)}
    81%{transform:translate3d(-6px,-4px,0) rotate(-1.2deg) scale(1.071)}
}
@keyframes bltStageCardD014{
    0%,100%{transform:translate3d(4px,-4px,0) rotate(-1.2deg) scale(1.075)}
    21%{transform:translate3d(7px,3px,0) rotate(.8deg) scale(1.089)}
    43%{transform:translate3d(1px,9px,0) rotate(2.1deg) scale(1.096)}
    63%{transform:translate3d(-7px,4px,0) rotate(1.1deg) scale(1.084)}
    82%{transform:translate3d(-5px,-6px,0) rotate(-1.9deg) scale(1.071)}
}

/* ----------------------------------------------------------------------
 * MOBILE / TABLET <=819px
 * ----------------------------------------------------------------------
 * A 0.3.13 escondia os overlays no mobile. A 0.3.14 volta a exibi-los,
 * mantendo as mesmas coordenadas percentuais da arte 4K. Como o stage
 * conserva a proporção da imagem, os cards acompanham o redimensionamento.
 * A escala-base maior cobre os cards impressos durante o motion.
 * ---------------------------------------------------------------------- */
@media (max-width:819px){
    .blt-doctor-stage--integral{
        container-type:inline-size !important;
        position:relative !important;
        isolation:isolate !important;
        overflow:visible !important;
    }

    .blt-doctor-stage--integral .blt-stage-card{
        position:absolute !important;
        z-index:8 !important;
        display:grid !important;
        grid-template-columns:4.2cqw minmax(0,1fr) !important;
        gap:1.15cqw !important;
        min-width:0 !important;
        min-height:0 !important;
        margin:0 !important;
        padding:1.95cqw 1.95cqw !important;
        overflow:hidden !important;
        border:1px solid rgba(255,255,255,.98) !important;
        border-radius:2.7cqw !important;
        background:rgba(255,255,255,.995) !important;
        box-shadow:0 2.1cqw 5.2cqw rgba(23,54,104,.17),0 .7cqw 1.6cqw rgba(23,54,104,.07) !important;
        backdrop-filter:blur(14px) saturate(112%) !important;
        -webkit-backdrop-filter:blur(14px) saturate(112%) !important;
        transform-origin:center center !important;
        backface-visibility:hidden;
        will-change:transform !important;
    }

    .blt-doctor-stage--integral .blt-stage-card .blt-health-card__icon{
        display:grid !important;
        place-items:center !important;
        width:4.2cqw !important;
        height:4.2cqw !important;
        min-width:4.2cqw !important;
        min-height:4.2cqw !important;
        margin:0 !important;
        border-radius:1.2cqw !important;
        font-size:1.65cqw !important;
        line-height:1 !important;
    }
    .blt-doctor-stage--integral .blt-stage-card > div{
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        gap:.42cqw !important;
        min-width:0 !important;
    }
    .blt-doctor-stage--integral .blt-stage-card small{
        font-size:1.0cqw !important;
        line-height:1.18 !important;
        letter-spacing:.09em !important;
    }
    .blt-doctor-stage--integral .blt-stage-card strong{
        font-size:1.72cqw !important;
        line-height:1.16 !important;
    }
    .blt-doctor-stage--integral .blt-stage-card span:not(.blt-health-card__icon){
        font-size:1.15cqw !important;
        line-height:1.30 !important;
    }

    /* Mesmas coordenadas da composição aprovada. */
    .blt-doctor-stage--integral .blt-health-card--appointment{
        left:3.70% !important; top:9.70% !important; right:auto !important; bottom:auto !important;
        width:25.80% !important; height:34.70% !important;
        animation:bltStageCardMobileA014 6.8s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-1.2s !important;
    }
    .blt-doctor-stage--integral .blt-health-card--specialists{
        left:64.80% !important; top:13.40% !important; right:auto !important; bottom:auto !important;
        width:23.50% !important; height:31.70% !important;
        animation:bltStageCardMobileB014 7.5s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-3.0s !important;
    }
    .blt-doctor-stage--integral .blt-health-card--exams{
        left:5.50% !important; top:56.00% !important; right:auto !important; bottom:auto !important;
        width:27.50% !important; height:31.00% !important;
        animation:bltStageCardMobileC014 7.1s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-4.1s !important;
    }
    .blt-doctor-stage--integral .blt-health-card--integrated{
        left:62.20% !important; top:61.10% !important; right:auto !important; bottom:auto !important;
        width:26.30% !important; height:29.10% !important;
        animation:bltStageCardMobileD014 7.9s cubic-bezier(.42,0,.22,1) infinite !important;
        animation-delay:-2.2s !important;
    }

    /* Ornamentos continuam reduzidos para não competir com o conteúdo. */
    .blt-doctor-stage--integral .blt-doctor-motion--safe,
    .blt-doctor-stage--integral .blt-health-orbit--safe{
        display:none !important;
    }
}

/* Motion mobile: perceptível, porém com deslocamento menor que desktop.
 * A rotação permanece presente, atendendo à regra de paridade visual. */
@keyframes bltStageCardMobileA014{
    0%,100%{transform:translate3d(-2px,2px,0) rotate(-1.4deg) scale(1.095)}
    35%{transform:translate3d(3px,-4px,0) rotate(1.4deg) scale(1.108)}
    68%{transform:translate3d(-3px,4px,0) rotate(.3deg) scale(1.090)}
}
@keyframes bltStageCardMobileB014{
    0%,100%{transform:translate3d(2px,-2px,0) rotate(1.3deg) scale(1.095)}
    34%{transform:translate3d(-4px,-3px,0) rotate(-1.5deg) scale(1.108)}
    69%{transform:translate3d(3px,4px,0) rotate(-.2deg) scale(1.090)}
}
@keyframes bltStageCardMobileC014{
    0%,100%{transform:translate3d(-2px,3px,0) rotate(.9deg) scale(1.095)}
    36%{transform:translate3d(4px,-3px,0) rotate(-1.5deg) scale(1.108)}
    70%{transform:translate3d(-3px,-2px,0) rotate(1.0deg) scale(1.090)}
}
@keyframes bltStageCardMobileD014{
    0%,100%{transform:translate3d(2px,-2px,0) rotate(-1.1deg) scale(1.095)}
    37%{transform:translate3d(-4px,3px,0) rotate(1.6deg) scale(1.108)}
    71%{transform:translate3d(3px,-3px,0) rotate(-.3deg) scale(1.090)}
}

/* Celulares estreitos: reduz apenas a amplitude para evitar overflow,
 * mantendo rotação/motion visível. */
@media (max-width:430px){
    .blt-doctor-stage--integral .blt-stage-card{
        box-shadow:0 1.6cqw 4.5cqw rgba(23,54,104,.14) !important;
    }
}

/* Acessibilidade permanece soberana. */
@media (prefers-reduced-motion:reduce){
    .blt-doctor-stage--integral .blt-stage-card{
        animation:none !important;
        transform:scale(1.075) !important;
    }
}

/* ======================================================================
 * BIOLIFE 0.3.15 — Motion quase giratório dos cards do Hero
 * ======================================================================
 * PROPÓSITO
 * Evoluir o motion aprovado na 0.3.14 para uma sensação mais orbital:
 * os cards percorrem arcos curtos, inclinam e mudam sutilmente de escala,
 * como objetos flutuando em profundidades diferentes ao redor da médica.
 *
 * REGRA DE SEGURANÇA / REGRESSÃO
 * - A fotografia 4K e o stage NÃO são animados nem recortados por este bloco.
 * - Somente `.blt-stage-card` recebe transform.
 * - A amplitude foi calibrada para não revelar os cards impressos da arte-base.
 * - Não usar `overflow`, `clip-path`, `object-fit` ou transform na médica aqui.
 *
 * MOBILE-FIRST
 * O mesmo conceito existe <=819px. A amplitude é proporcionalmente menor,
 * mas a rotação continua visível. Em <=430px reduzimos mais o deslocamento
 * para impedir overflow sem transformar o motion em micro-animação.
 * ====================================================================== */

@media (min-width:820px){
  .blt-doctor-stage--integral .blt-health-card--appointment{animation:bltCardOrbitA015 6.4s cubic-bezier(.45,.02,.25,1) infinite !important}
  .blt-doctor-stage--integral .blt-health-card--specialists{animation:bltCardOrbitB015 7.1s cubic-bezier(.45,.02,.25,1) infinite !important}
  .blt-doctor-stage--integral .blt-health-card--exams{animation:bltCardOrbitC015 6.8s cubic-bezier(.45,.02,.25,1) infinite !important}
  .blt-doctor-stage--integral .blt-health-card--integrated{animation:bltCardOrbitD015 7.6s cubic-bezier(.45,.02,.25,1) infinite !important}
}
@keyframes bltCardOrbitA015{
  0%,100%{transform:translate3d(-7px,5px,0) rotate(-3.2deg) scale(1.080)}
  20%{transform:translate3d(1px,-9px,0) rotate(-1.0deg) scale(1.094)}
  42%{transform:translate3d(10px,-5px,0) rotate(3.5deg) scale(1.102)}
  64%{transform:translate3d(7px,7px,0) rotate(4.2deg) scale(1.090)}
  82%{transform:translate3d(-4px,10px,0) rotate(.8deg) scale(1.078)}
}
@keyframes bltCardOrbitB015{
  0%,100%{transform:translate3d(7px,-5px,0) rotate(3.0deg) scale(1.080)}
  19%{transform:translate3d(-2px,-10px,0) rotate(.7deg) scale(1.095)}
  41%{transform:translate3d(-10px,-4px,0) rotate(-3.8deg) scale(1.102)}
  63%{transform:translate3d(-7px,8px,0) rotate(-4.3deg) scale(1.089)}
  83%{transform:translate3d(5px,9px,0) rotate(-.6deg) scale(1.078)}
}
@keyframes bltCardOrbitC015{
  0%,100%{transform:translate3d(-6px,7px,0) rotate(2.6deg) scale(1.080)}
  21%{transform:translate3d(4px,10px,0) rotate(4.1deg) scale(1.094)}
  43%{transform:translate3d(11px,1px,0) rotate(1.0deg) scale(1.102)}
  65%{transform:translate3d(4px,-10px,0) rotate(-4.0deg) scale(1.091)}
  84%{transform:translate3d(-8px,-5px,0) rotate(-2.2deg) scale(1.078)}
}
@keyframes bltCardOrbitD015{
  0%,100%{transform:translate3d(6px,-6px,0) rotate(-2.8deg) scale(1.080)}
  22%{transform:translate3d(10px,3px,0) rotate(1.2deg) scale(1.096)}
  44%{transform:translate3d(2px,10px,0) rotate(4.1deg) scale(1.102)}
  66%{transform:translate3d(-10px,5px,0) rotate(2.0deg) scale(1.090)}
  84%{transform:translate3d(-6px,-8px,0) rotate(-4.0deg) scale(1.078)}
}

@media (max-width:819px){
  .blt-doctor-stage--integral .blt-health-card--appointment{animation:bltCardMobileOrbitA015 6.4s cubic-bezier(.45,.02,.25,1) infinite !important}
  .blt-doctor-stage--integral .blt-health-card--specialists{animation:bltCardMobileOrbitB015 7s cubic-bezier(.45,.02,.25,1) infinite !important}
  .blt-doctor-stage--integral .blt-health-card--exams{animation:bltCardMobileOrbitC015 6.7s cubic-bezier(.45,.02,.25,1) infinite !important}
  .blt-doctor-stage--integral .blt-health-card--integrated{animation:bltCardMobileOrbitD015 7.4s cubic-bezier(.45,.02,.25,1) infinite !important}
}
@keyframes bltCardMobileOrbitA015{0%,100%{transform:translate3d(-3px,2px,0) rotate(-2.8deg) scale(1.098)} 25%{transform:translate3d(2px,-5px,0) rotate(.4deg) scale(1.112)} 52%{transform:translate3d(5px,0,0) rotate(3.3deg) scale(1.116)} 77%{transform:translate3d(-1px,5px,0) rotate(.5deg) scale(1.100)}}
@keyframes bltCardMobileOrbitB015{0%,100%{transform:translate3d(3px,-2px,0) rotate(2.7deg) scale(1.098)} 25%{transform:translate3d(-2px,-5px,0) rotate(-.3deg) scale(1.112)} 52%{transform:translate3d(-5px,1px,0) rotate(-3.4deg) scale(1.116)} 77%{transform:translate3d(1px,5px,0) rotate(-.5deg) scale(1.100)}}
@keyframes bltCardMobileOrbitC015{0%,100%{transform:translate3d(-3px,3px,0) rotate(2.4deg) scale(1.098)} 25%{transform:translate3d(3px,5px,0) rotate(3.4deg) scale(1.112)} 52%{transform:translate3d(5px,-1px,0) rotate(.2deg) scale(1.116)} 77%{transform:translate3d(-2px,-5px,0) rotate(-3.1deg) scale(1.100)}}
@keyframes bltCardMobileOrbitD015{0%,100%{transform:translate3d(3px,-3px,0) rotate(-2.5deg) scale(1.098)} 25%{transform:translate3d(5px,2px,0) rotate(.5deg) scale(1.112)} 52%{transform:translate3d(-1px,5px,0) rotate(3.4deg) scale(1.116)} 77%{transform:translate3d(-5px,-2px,0) rotate(-.7deg) scale(1.100)}}

@media (max-width:430px){
  /* Em telas estreitas, encurtamos a órbita sem retirar a inclinação. */
  .blt-doctor-stage--integral .blt-stage-card{animation-duration:7.2s !important}
}

@media (prefers-reduced-motion:reduce){
  .blt-doctor-stage--integral .blt-stage-card{animation:none !important;transform:scale(1.075) !important}
}

/* ======================================================================
 * BIOLIFE 0.3.17 — ECOSSISTEMA / BENTO PREMIUM
 * ----------------------------------------------------------------------
 * PROPÓSITO
 * Refinar a seção "Tudo conectado" para reduzir títulos excessivamente
 * grandes, melhorar o aproveitamento interno dos cards e transformar o
 * Portal de Resultados em um mockup mais abrangente e premium.
 *
 * MOBILE-FIRST
 * - Nenhum card depende de hover.
 * - Linhas da tabela viram blocos legíveis em telas pequenas.
 * - Títulos usam clamp controlado e não devem estourar os cards.
 * - CTA e status mantêm área de toque/legibilidade confortáveis.
 *
 * MANUTENÇÃO
 * Não aumentar tipografia sem validar 360/390/430/768/1024px.
 * ====================================================================== */

.blt-ecosystem{
    position:relative;
    overflow:hidden;
}

.blt-section-heading--ecosystem h2{
    max-width:640px;
    font-size:clamp(42px,5vw,70px);
    line-height:.96;
    letter-spacing:-.055em;
}

.blt-section-heading--ecosystem p{
    max-width:560px;
    font-size:clamp(16px,1.35vw,20px);
    line-height:1.65;
}

.blt-bento--premium{
    gap:18px;
}

.blt-bento--premium .blt-bento-card{
    min-height:0;
    border-radius:28px;
    border:1px solid rgba(21,54,105,.10);
    box-shadow:
        0 24px 70px rgba(22,52,96,.07),
        0 4px 14px rgba(22,52,96,.035);
    transition:
        transform .35s cubic-bezier(.22,1,.36,1),
        box-shadow .35s ease,
        border-color .35s ease;
}

.blt-bento--premium .blt-bento-card:hover{
    transform:translateY(-5px);
    border-color:rgba(57,93,180,.18);
    box-shadow:
        0 30px 82px rgba(22,52,96,.11),
        0 8px 20px rgba(22,52,96,.05);
}

.blt-bento--premium .blt-bento-card h3{
    max-width:none;
    margin:12px 0 12px;
    font-size:clamp(24px,2.45vw,37px);
    line-height:1.04;
    letter-spacing:-.04em;
}

.blt-bento--premium .blt-bento-card h3 strong{
    font-weight:inherit;
    color:#fff;
}

.blt-bento--premium .blt-bento-card p{
    margin:0;
    font-size:14px;
    line-height:1.58;
}

.blt-bento-card--results-premium{
    position:relative;
    padding:32px;
    color:#fff;
    background:
        radial-gradient(circle at 86% 10%,rgba(76,122,255,.35),transparent 30%),
        radial-gradient(circle at 5% 94%,rgba(0,152,255,.17),transparent 33%),
        linear-gradient(145deg,#061e49 0%,#07357f 48%,#0b51b2 100%);
    overflow:hidden;
}

.blt-bento-card--results-premium::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-90px;
    bottom:-110px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 82px rgba(255,255,255,.018);
    pointer-events:none;
}

.blt-bento-card--results-premium .blt-card-tag{
    color:#ff656d;
}

.blt-bento-card--results-premium p{
    color:rgba(255,255,255,.75)!important;
}

.blt-bento-card__head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
}

.blt-secure-badge{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(255,255,255,.09);
    color:rgba(255,255,255,.9);
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    backdrop-filter:blur(12px);
}

.blt-secure-badge i{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#24c77a;
    color:#fff;
    font-size:11px;
    font-style:normal;
}

.blt-results-console{
    position:relative;
    z-index:2;
    margin-top:26px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
    border-radius:22px;
    background:rgba(255,255,255,.10);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter:blur(18px) saturate(120%);
    -webkit-backdrop-filter:blur(18px) saturate(120%);
}

.blt-results-console__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    border-bottom:1px solid rgba(255,255,255,.11);
}

.blt-results-console__identity{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}

.blt-results-console__icon{
    display:grid;
    place-items:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:11px;
    background:rgba(255,255,255,.13);
    color:#a9c7ff;
    font-weight:900;
}

.blt-results-console__identity div{
    display:grid;
    gap:2px;
}

.blt-results-console__identity strong{
    font-size:13px;
    color:#fff;
}

.blt-results-console__identity small{
    font-size:10px;
    color:rgba(255,255,255,.58);
}

.blt-results-console__status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
    color:#c9d8f6;
    font-size:10px;
    font-weight:750;
}

.blt-results-console__status i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#2dd487;
    box-shadow:0 0 0 5px rgba(45,212,135,.09);
}

.blt-results-console__summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    background:rgba(255,255,255,.09);
}

.blt-results-console__summary > div{
    display:grid;
    gap:3px;
    padding:13px 16px;
    background:rgba(7,42,95,.54);
}

.blt-results-console__summary small{
    color:#88a9e4;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.12em;
}

.blt-results-console__summary strong{
    color:#fff;
    font-size:12px;
}

.blt-results-console__summary span{
    color:rgba(255,255,255,.52);
    font-size:9px;
}

.blt-results-list{
    padding:7px 16px 4px;
}

.blt-results-list__heading,
.blt-results-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) 108px 76px;
    align-items:center;
    gap:12px;
}

.blt-results-list__heading{
    padding:8px 8px 7px;
    color:#7897cb;
    font-size:8px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.blt-results-item{
    min-height:54px;
    padding:9px 8px;
    border-top:1px solid rgba(255,255,255,.09);
}

.blt-results-item > div{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.blt-results-item strong{
    overflow:hidden;
    color:#fff;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.blt-results-item time{
    color:rgba(255,255,255,.58);
    font-size:10px;
    text-align:right;
}

.blt-file-icon{
    display:grid;
    place-items:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:9px;
    background:rgba(126,167,255,.13);
    color:#b9d0ff;
    font-size:10px;
    font-weight:900;
}

.blt-status-pill{
    justify-self:start;
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:5px 9px;
    border-radius:999px;
    font-size:8.5px;
    font-weight:850;
}

.blt-status-pill--ready{
    color:#7ce8b4;
    background:rgba(32,199,119,.10);
}

.blt-status-pill--processing{
    color:#ffd487;
    background:rgba(255,180,45,.10);
}

.blt-results-console__footer{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    padding:12px 18px 15px;
    border-top:1px solid rgba(255,255,255,.09);
}

.blt-results-console__footer span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:rgba(255,255,255,.60);
    font-size:9px;
}

.blt-results-console__footer i{
    color:#68dca4;
    font-style:normal;
}

.blt-premium-link{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    margin-top:18px!important;
    color:var(--blt-blue)!important;
    font-size:12px;
    font-weight:850!important;
    text-decoration:none;
}

.blt-premium-link span{
    transition:transform .25s ease;
}

.blt-premium-link:hover span{
    transform:translate(3px,-3px);
}

.blt-premium-link--light{
    position:relative;
    z-index:2;
    color:#fff!important;
}

.blt-bento-card--team-premium,
.blt-bento-card--compact{
    padding:26px;
}

.blt-bento-card--team-premium{
    background:
        radial-gradient(circle at 88% 12%,rgba(73,111,242,.16),transparent 27%),
        linear-gradient(145deg,#f5f8ff,#ffffff 60%);
}

.blt-bento-card--schedule{
    background:linear-gradient(150deg,#fff,#f7faff);
}

.blt-bento-card--contact{
    background:
        radial-gradient(circle at 90% 8%,rgba(231,40,47,.08),transparent 30%),
        linear-gradient(150deg,#fff,#fff8f8);
}

.blt-bento-card--team-premium h3,
.blt-bento-card--compact h3{
    font-size:clamp(22px,2.2vw,32px)!important;
    line-height:1.08!important;
}

.blt-bento-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    margin-bottom:18px;
    border-radius:13px;
    background:#eef4ff;
    color:#0b53c1;
    font-size:18px;
    font-weight:900;
}

.blt-bento-icon--blue{
    background:#edf3ff;
}

.blt-bento-icon--red{
    background:#fff0f1;
    color:#e3262e;
}

/* Desktop: composição assimétrica mais elegante. */
@media (min-width:980px){
    .blt-bento--premium{
        grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
        grid-template-rows:auto auto;
    }

    .blt-bento--premium .blt-bento-card--results-premium{
        grid-column:1;
        grid-row:1 / span 2;
        min-height:570px;
    }

    .blt-bento--premium .blt-bento-card--team-premium{
        grid-column:2;
        min-height:250px;
    }

    .blt-bento--premium .blt-bento-card--compact{
        min-height:250px;
    }

    .blt-bento--premium .blt-bento-card--schedule,
    .blt-bento--premium .blt-bento-card--contact{
        grid-column:auto;
    }

    /* subgrid visual dos 2 cards compactos na segunda linha */
    .blt-bento--premium{
        grid-template-areas:
            "results team"
            "results team";
    }

    /* Os dois cards compactos usam metade da coluna direita via wrapper implícito
       na grade de quatro colunas original. Override abaixo mantém proporção. */
    .blt-bento--premium{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .blt-bento-card--results-premium{
        grid-column:1 / span 2!important;
        grid-row:1 / span 2!important;
    }
    .blt-bento-card--team-premium{
        grid-column:3 / span 2!important;
        grid-row:1!important;
    }
    .blt-bento-card--schedule{
        grid-column:3!important;
        grid-row:2!important;
    }
    .blt-bento-card--contact{
        grid-column:4!important;
        grid-row:2!important;
    }
}

/* Tablet */
@media (min-width:700px) and (max-width:979px){
    .blt-bento--premium{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .blt-bento-card--results-premium,
    .blt-bento-card--team-premium{
        grid-column:1 / -1!important;
    }
}

/* Mobile-first: cards respiram e o console vira estrutura vertical. */
@media (max-width:699px){
    .blt-section-heading--ecosystem h2{
        font-size:clamp(38px,12vw,54px)!important;
        line-height:.98!important;
    }

    .blt-section-heading--ecosystem p{
        font-size:15px!important;
    }

    .blt-bento--premium{
        gap:14px!important;
    }

    .blt-bento--premium .blt-bento-card{
        width:100%!important;
        padding:20px!important;
        border-radius:22px!important;
    }

    .blt-bento--premium .blt-bento-card h3,
    .blt-bento-card--team-premium h3,
    .blt-bento-card--compact h3{
        font-size:clamp(22px,7.8vw,30px)!important;
        line-height:1.08!important;
    }

    .blt-bento-card__head{
        display:grid;
        gap:14px;
    }

    .blt-secure-badge{
        justify-self:start;
    }

    .blt-results-console{
        margin-top:20px;
        border-radius:18px;
    }

    .blt-results-console__bar{
        align-items:flex-start;
        padding:14px;
    }

    .blt-results-console__status{
        font-size:0;
    }
    .blt-results-console__status i{
        margin-top:7px;
    }

    .blt-results-console__summary{
        grid-template-columns:1fr!important;
    }

    .blt-results-console__summary > div{
        grid-template-columns:84px 1fr;
        align-items:center;
        padding:11px 14px;
    }

    .blt-results-console__summary span{
        grid-column:2;
    }

    .blt-results-list{
        padding:8px 12px 5px;
    }

    .blt-results-list__heading{
        display:none;
    }

    .blt-results-item{
        position:relative;
        grid-template-columns:1fr auto!important;
        gap:8px 10px;
        min-height:72px;
        padding:12px 4px;
    }

    .blt-results-item > div{
        grid-column:1 / -1;
    }

    .blt-results-item strong{
        font-size:11px;
        white-space:normal;
    }

    .blt-results-item time{
        align-self:center;
        font-size:9px;
    }

    .blt-results-console__footer{
        gap:8px 12px;
        padding:12px 14px 14px;
    }

    .blt-bento-icon{
        width:38px;
        height:38px;
        margin-bottom:14px;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.18 — RESULTADOS: TÍTULO PREMIUM / MOTION TIPOGRÁFICO
 * ----------------------------------------------------------------------
 * PROPÓSITO
 * Corrigir a baixa leitura de “Seus exames.” e acrescentar um movimento
 * sofisticado ao card sem transformar o texto em efeito chamativo.
 *
 * FLUXO
 * - A primeira linha usa gradiente claro animado muito lentamente.
 * - Um brilho curto percorre apenas a tipografia.
 * - O card recebe um glow ambiental discreto, independente do conteúdo.
 *
 * MOBILE
 * A animação continua, porém com duração maior e amplitude menor.
 * Nenhum efeito altera largura, altura ou quebra de linha.
 *
 * ACESSIBILIDADE
 * `prefers-reduced-motion` remove as animações e mantém contraste alto.
 * ====================================================================== */

.blt-bento-card--results-premium .blt-results-title{
    position:relative;
    color:#fff!important;
    text-wrap:balance;
}

.blt-bento-card--results-premium .blt-results-title__eyeline{
    position:relative;
    display:inline-block;
    color:#fff;
    background:linear-gradient(
        100deg,
        #ffffff 0%,
        #ffffff 30%,
        #b9d3ff 46%,
        #ffffff 60%,
        #ffffff 100%
    );
    background-size:220% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    text-shadow:0 2px 22px rgba(110,164,255,.16);
    animation:bltResultsTitleShimmer 7.8s ease-in-out infinite;
}

.blt-bento-card--results-premium .blt-results-title__eyeline::after{
    content:"";
    position:absolute;
    left:1px;
    right:10%;
    bottom:-4px;
    height:1px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,255,255,.85),rgba(119,169,255,.55),transparent);
    transform-origin:left center;
    animation:bltResultsUnderline 6.6s ease-in-out infinite;
}

.blt-bento-card--results-premium .blt-results-title strong{
    display:inline;
    color:#fff!important;
    text-shadow:0 7px 30px rgba(0,0,0,.09);
}

/* Brilho ambiental do card. Não fica sobre os textos. */
.blt-bento-card--results-premium::before{
    content:"";
    position:absolute;
    z-index:0;
    width:320px;
    height:320px;
    left:-150px;
    top:24%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(103,158,255,.20),rgba(103,158,255,0) 68%);
    filter:blur(4px);
    pointer-events:none;
    animation:bltResultsAmbientGlow 9s ease-in-out infinite;
}

.blt-bento-card--results-premium .blt-bento-card__head,
.blt-bento-card--results-premium .blt-results-console,
.blt-bento-card--results-premium .blt-premium-link{
    position:relative;
    z-index:2;
}

/* Console ganha “respiração” quase imperceptível para casar com o texto. */
.blt-bento-card--results-premium .blt-results-console{
    animation:bltResultsConsoleFloat 8.4s ease-in-out infinite;
    will-change:transform,box-shadow;
}

@keyframes bltResultsTitleShimmer{
    0%,22%{background-position:100% 50%;}
    52%,100%{background-position:-120% 50%;}
}

@keyframes bltResultsUnderline{
    0%,100%{transform:scaleX(.28);opacity:.35;}
    48%{transform:scaleX(1);opacity:.9;}
}

@keyframes bltResultsAmbientGlow{
    0%,100%{transform:translate3d(0,0,0) scale(.96);opacity:.55;}
    50%{transform:translate3d(24px,-12px,0) scale(1.08);opacity:.92;}
}

@keyframes bltResultsConsoleFloat{
    0%,100%{
        transform:translate3d(0,0,0);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 14px 38px rgba(0,20,72,.05);
    }
    50%{
        transform:translate3d(0,-3px,0);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 20px 46px rgba(0,20,72,.10);
    }
}

@media(max-width:699px){
    .blt-bento-card--results-premium .blt-results-title__eyeline{
        animation-duration:10s;
    }
    .blt-bento-card--results-premium .blt-results-title__eyeline::after{
        right:22%;
        animation-duration:8.5s;
    }
    .blt-bento-card--results-premium .blt-results-console{
        animation-duration:10s;
    }
}

@media(prefers-reduced-motion:reduce){
    .blt-bento-card--results-premium .blt-results-title__eyeline,
    .blt-bento-card--results-premium .blt-results-title__eyeline::after,
    .blt-bento-card--results-premium::before,
    .blt-bento-card--results-premium .blt-results-console{
        animation:none!important;
        transform:none!important;
    }
    .blt-bento-card--results-premium .blt-results-title__eyeline{
        background:none!important;
        -webkit-text-fill-color:#fff!important;
        color:#fff!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.19 — SEÇÃO PREMIUM "CUIDADO CONTÍNUO"
 * ======================================================================
 * OBJETIVO
 * Reduzir tipografia exagerada, melhorar hierarquia editorial e dar à
 * seção um comportamento premium com motion de surgimento também mobile.
 *
 * MOBILE-FIRST
 * - Nenhuma altura fixa obrigatória em <=699px.
 * - Foto usa aspect-ratio e `contain` quando necessário para não cortar.
 * - Badges deixam de sobrepor conteúdo quando a largura é insuficiente.
 * ====================================================================== */

.blt-life-stage--premium{
    position:relative;
    overflow:hidden;
    padding:104px 0 118px;
    background:
        radial-gradient(circle at 78% 44%,rgba(82,104,245,.10),transparent 30%),
        radial-gradient(circle at 90% 72%,rgba(227,38,46,.035),transparent 20%),
        linear-gradient(180deg,#fff 0%,#fbfcff 100%);
}
.blt-life-stage--premium .blt-life-stage__grid{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:72px;
    align-items:center;
}
.blt-life-stage--premium .blt-life-stage__copy{position:relative;z-index:5}
.blt-life-stage__title{
    max-width:650px;
    margin:16px 0 0;
    color:#0b2f69;
    font-size:clamp(42px,4.15vw,64px)!important;
    line-height:1.01!important;
    letter-spacing:-.052em!important;
    font-weight:780;
}
.blt-life-stage__title strong{
    display:block;
    margin-top:5px!important;
    color:#5268f5!important;
    font:inherit!important;
}
.blt-life-stage__lead{
    max-width:590px!important;
    margin:25px 0 0!important;
    color:#647287!important;
    font-size:16px!important;
    line-height:1.72!important;
}

/* Mini jornada: substitui chips genéricos por conteúdo editorial útil. */
.blt-care-journey{
    display:grid;
    gap:10px;
    max-width:610px;
    margin-top:30px;
}
.blt-care-step{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:14px 16px;
    border:1px solid rgba(10,63,150,.09);
    border-radius:18px;
    background:rgba(255,255,255,.76);
    box-shadow:0 10px 28px rgba(20,49,94,.045);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transition:transform .35s var(--blt-ease),box-shadow .35s var(--blt-ease),border-color .35s var(--blt-ease);
}
.blt-care-step__index{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:12px;
    background:#edf3ff;
    color:#0a4fb7;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.blt-care-step strong{display:block;color:#0b2f69;font-size:14px;line-height:1.2}
.blt-care-step p{margin:4px 0 0;color:#718096;font-size:12px;line-height:1.48}
@media(hover:hover) and (pointer:fine){
    .blt-care-step:hover{transform:translateX(6px);border-color:rgba(82,104,245,.20);box-shadow:0 18px 38px rgba(20,49,94,.08)}
}

.blt-life-stage--premium .blt-life-stage__visual{
    position:relative;
    min-height:620px;
    isolation:isolate;
}
.blt-life-stage__aura{
    position:absolute;
    z-index:0;
    inset:9% 3% 4% 5%;
    border-radius:48% 52% 34px 34px / 30% 30% 34px 34px;
    background:
        radial-gradient(circle at 48% 34%,rgba(255,255,255,.9),transparent 26%),
        linear-gradient(150deg,rgba(222,232,255,.84),rgba(249,251,255,.96));
    box-shadow:0 45px 100px rgba(40,67,120,.10);
    animation:bltLifeAura 9s ease-in-out infinite;
}
.blt-life-stage--premium .blt-life-stage__word{
    z-index:0;
    top:-3%;
    right:-5%;
    color:rgba(82,104,245,.055);
    font-size:clamp(130px,15vw,235px);
}
.blt-life-stage--premium .blt-life-stage__photo{
    position:absolute;
    z-index:2;
    left:8%;
    top:5%;
    width:76%;
    height:88%;
    overflow:hidden;
    border-radius:36% 36% 30px 30px / 20% 20% 30px 30px;
    border:1px solid rgba(255,255,255,.88);
    background:linear-gradient(145deg,#edf3ff,#fbfdff);
    box-shadow:0 40px 88px rgba(24,48,90,.15),0 12px 26px rgba(24,48,90,.06);
    animation:bltLifePhotoFloat 8.5s ease-in-out infinite;
    will-change:transform;
}
.blt-life-stage--premium .blt-life-stage__photo:before{
    background:linear-gradient(180deg,transparent 66%,rgba(5,38,88,.12));
}
.blt-life-stage--premium .blt-life-stage__photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:scale(1.015);
    transition:transform .8s var(--blt-ease);
}
@media(hover:hover) and (pointer:fine){
    .blt-life-stage--premium .blt-life-stage__photo:hover img{transform:scale(1.04)}
}
.blt-life-stage__placeholder{
    padding:28px;
    gap:4px;
}
.blt-life-stage__placeholder small{display:block;margin-top:8px;color:#8290a5;font-size:11px}

.blt-life-badge{
    position:absolute;
    z-index:5;
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.88);
    border-radius:16px;
    background:rgba(255,255,255,.9);
    box-shadow:0 20px 55px rgba(24,48,90,.12);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.blt-life-badge--top{top:10%;left:0}
.blt-life-badge__dot{width:9px;height:9px;border-radius:50%;background:#2fbf78;box-shadow:0 0 0 6px rgba(47,191,120,.10);animation:bltLifePulse 2.8s ease-in-out infinite}
.blt-life-badge small,.blt-life-badge strong{display:block}
.blt-life-badge small{color:#7e8ca2;font-size:8px;font-weight:900;letter-spacing:.13em}
.blt-life-badge strong{margin-top:3px;color:#0b2f69;font-size:13px}

.blt-life-stage--premium .blt-life-stage__floating{
    right:0;
    bottom:7%;
    width:min(330px,49%);
    padding:18px 20px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:center;
    border-radius:22px;
    background:rgba(255,255,255,.93);
    box-shadow:0 24px 68px rgba(24,48,90,.14),inset 0 1px 0 #fff;
    animation:bltLifeCardFloat 7.8s ease-in-out infinite;
}
.blt-life-stage__floating-icon{
    display:grid!important;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:13px;
    background:linear-gradient(145deg,#0a4fb7,#5268f5);
    color:#fff!important;
    font-size:22px!important;
    font-weight:500;
    box-shadow:0 10px 24px rgba(47,83,211,.22);
}
.blt-life-stage--premium .blt-life-stage__floating small{margin:0 0 5px}
.blt-life-stage--premium .blt-life-stage__floating strong{font-size:16px;line-height:1.25}
.blt-life-stage--premium .blt-life-stage__floating span:not(.blt-life-stage__floating-icon){font-size:11px;line-height:1.45}

@keyframes bltLifeAura{0%,100%{transform:scale(.985) rotate(-.4deg)}50%{transform:scale(1.015) rotate(.4deg)}}
@keyframes bltLifePhotoFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes bltLifeCardFloat{0%,100%{transform:translate3d(0,0,0) rotate(-.4deg)}50%{transform:translate3d(-5px,-8px,0) rotate(.7deg)}}
@keyframes bltLifePulse{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.12);opacity:1}}

/* TABLET */
@media(max-width:979px){
    .blt-life-stage--premium{padding:76px 0 82px}
    .blt-life-stage--premium .blt-life-stage__grid{grid-template-columns:1fr;gap:40px}
    .blt-life-stage__title{font-size:clamp(38px,7.7vw,56px)!important;max-width:690px}
    .blt-care-journey{max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
    .blt-care-step{grid-template-columns:1fr;padding:14px;min-height:142px}
    .blt-life-stage--premium .blt-life-stage__visual{min-height:560px;width:min(100%,760px);margin-inline:auto}
}

/* MOBILE — surgimento e composição própria, sem cortar a mídia. */
@media(max-width:699px){
    .blt-life-stage--premium{padding:62px 0 68px;overflow:hidden}
    .blt-life-stage--premium .blt-life-stage__grid{gap:30px!important}
    .blt-life-stage__title{font-size:clamp(34px,10.4vw,46px)!important;line-height:1.02!important}
    .blt-life-stage__lead{font-size:14px!important;line-height:1.64!important;margin-top:19px!important}
    .blt-care-journey{grid-template-columns:1fr;gap:9px;margin-top:24px}
    .blt-care-step{grid-template-columns:40px minmax(0,1fr);min-height:0;padding:12px 13px;border-radius:16px}
    .blt-care-step__index{width:36px;height:36px}

    .blt-life-stage--premium .blt-life-stage__visual{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        width:100%!important;
        min-height:0!important;
        overflow:visible!important;
    }
    .blt-life-stage__aura{inset:3% -15% 23%;border-radius:42%;opacity:.72}
    .blt-life-stage--premium .blt-life-stage__word{top:-2%;right:-4%;font-size:35vw;opacity:.7}
    .blt-life-stage--premium .blt-life-stage__photo{
        position:relative!important;
        inset:auto!important;
        grid-row:1;
        width:100%!important;
        height:auto!important;
        aspect-ratio:4/5;
        max-width:100%!important;
        border-radius:28px!important;
        animation:bltLifePhotoFloatMobile 7.5s ease-in-out infinite;
    }
    .blt-life-stage--premium .blt-life-stage__photo img{
        width:100%!important;
        height:100%!important;
        object-fit:contain!important;
        object-position:center bottom!important;
        background:#edf3ff;
    }
    .blt-life-badge--top{
        z-index:5;
        top:14px;
        left:12px;
        padding:10px 11px;
        border-radius:14px;
    }
    .blt-life-badge strong{font-size:11px}
    .blt-life-stage--premium .blt-life-stage__floating{
        position:relative!important;
        inset:auto!important;
        grid-row:2;
        width:100%!important;
        padding:14px 15px;
        border-radius:18px;
        animation:bltLifeCardFloatMobile 7s ease-in-out infinite;
    }

    /* O reveal base já é ativado por IntersectionObserver também no mobile.
     * Aqui damos direções diferentes para a sensação de montagem da seção. */
    .blt-life-stage--premium .blt-life-stage__copy [data-reveal]{transform:translateY(18px) scale(.985)}
    .blt-life-stage--premium .blt-care-step[data-reveal]{transform:translateX(-16px)}
    .blt-life-stage--premium .blt-life-stage__photo[data-reveal]{transform:translateY(22px) scale(.96)}
    .blt-life-stage--premium .blt-life-badge[data-reveal]{transform:translateY(-12px) scale(.94)}
    .blt-life-stage--premium .blt-life-stage__floating[data-reveal]{transform:translateY(18px) scale(.97)}
    .blt-life-stage--premium [data-reveal].is-visible{transform:none}
}

@keyframes bltLifePhotoFloatMobile{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes bltLifeCardFloatMobile{0%,100%{translate:0 0}50%{translate:0 -3px}}

@media(prefers-reduced-motion:reduce){
    .blt-life-stage__aura,
    .blt-life-stage--premium .blt-life-stage__photo,
    .blt-life-stage--premium .blt-life-stage__floating,
    .blt-life-badge__dot{animation:none!important}
}


/* ======================================================================
 * BIOLIFE 0.3.20 — ESPECIALIDADES / RAIL PREMIUM
 * ----------------------------------------------------------------------
 * MOTIVO
 * A antiga grade 4x2 deixava a Home densa, repetitiva e sem hierarquia.
 * Esta seção usa um rail horizontal com card central em destaque.
 *
 * DESKTOP
 * - marquee contínuo;
 * - card próximo do centro recebe `.is-focus` via JS;
 * - hover adiciona tilt 3D e profundidade;
 * - bordas do rail usam máscara para entrada/saída suave.
 *
 * MOBILE
 * - autoplay desativado;
 * - swipe + scroll-snap obrigatório;
 * - próximo card aparece parcialmente para sugerir continuidade;
 * - controles manuais funcionam por scrollTo/scrollBy.
 * ====================================================================== */

.blt-specialty-showcase{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 8% 22%,rgba(82,104,245,.08),transparent 30%),
        radial-gradient(circle at 92% 76%,rgba(227,38,46,.055),transparent 28%),
        #f7faff;
}

.blt-specialty-showcase::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.38;
    background-image:radial-gradient(rgba(17,55,113,.16) .65px, transparent .65px);
    background-size:22px 22px;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
}

.blt-specialty-showcase .blt-shell{position:relative;z-index:1;min-width:0}

.blt-specialty-showcase__head{
    display:grid;
    gap:28px;
    align-items:end;
    margin-bottom:42px;
}

.blt-specialty-showcase__copy{max-width:830px}
.blt-specialty-showcase__copy h2{
    margin:14px 0 16px;
    max-width:820px;
    color:var(--blt-blue-deep);
    font-size:clamp(38px,5vw,72px);
    line-height:.98;
    letter-spacing:-.055em;
}
.blt-specialty-showcase__copy h2 span{color:#536bf4}
.blt-specialty-showcase__copy p{
    max-width:630px;
    margin:0;
    color:var(--blt-muted);
    font-size:16px;
    line-height:1.65;
}

.blt-specialty-showcase__actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.blt-specialty-nav{display:flex;gap:8px}
.blt-specialty-nav__button{
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    border:1px solid rgba(17,55,113,.12);
    border-radius:50%;
    color:var(--blt-blue-deep);
    background:rgba(255,255,255,.88);
    box-shadow:0 10px 28px rgba(26,54,100,.07);
    cursor:pointer;
    transition:transform .25s var(--blt-ease),background .25s ease,color .25s ease;
}
.blt-specialty-nav__button:hover{transform:translateY(-2px);color:#fff;background:var(--blt-blue)}

.blt-specialty-rail{
    position:relative;
    width:100%;
    min-width:0;
    overflow:hidden;
    padding:20px 0 32px;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);
}

.blt-specialty-track{
    display:flex;
    width:max-content;
    gap:18px;
    will-change:transform;
    animation:bltSpecialtyMarquee020 42s linear infinite;
}

.blt-specialty-rail:hover .blt-specialty-track{animation-play-state:paused}

.blt-specialty-group{
    display:flex;
    flex:none;
    gap:18px;
}

.blt-specialty-card--premium{
    --blt-specialty-accent:#546df5;
    position:relative;
    display:flex;
    flex:0 0 292px;
    width:292px;
    min-height:350px;
    padding:22px;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(20,56,112,.10);
    border-radius:28px;
    color:inherit;
    background:rgba(255,255,255,.92);
    box-shadow:0 18px 45px rgba(22,51,98,.075),inset 0 1px 0 rgba(255,255,255,.96);
    text-decoration:none;
    transform:perspective(900px) rotateX(0) rotateY(0) scale(.955);
    transform-origin:center;
    transition:
        transform .55s cubic-bezier(.22,1,.36,1),
        opacity .4s ease,
        box-shadow .45s ease,
        border-color .45s ease,
        background .45s ease;
}

.blt-specialty-card--premium:nth-child(4n+2){--blt-specialty-accent:#e82f38}
.blt-specialty-card--premium:nth-child(4n+3){--blt-specialty-accent:#0f9f73}
.blt-specialty-card--premium:nth-child(4n+4){--blt-specialty-accent:#7b5df4}

.blt-specialty-card--premium::before{
    content:"";
    position:absolute;
    width:210px;
    height:210px;
    right:-90px;
    top:-92px;
    border-radius:50%;
    background:color-mix(in srgb,var(--blt-specialty-accent) 12%,transparent);
    filter:blur(2px);
    transition:transform .7s var(--blt-ease),opacity .4s ease;
}

.blt-specialty-card--premium::after{
    content:"";
    position:absolute;
    left:22px;
    right:22px;
    bottom:66px;
    height:1px;
    background:linear-gradient(90deg,rgba(17,55,113,.10),transparent);
}

.blt-specialty-card--premium.is-focus{
    z-index:3;
    opacity:1;
    border-color:color-mix(in srgb,var(--blt-specialty-accent) 27%,rgba(20,56,112,.10));
    background:rgba(255,255,255,.985);
    box-shadow:0 30px 72px rgba(23,53,103,.15),0 8px 20px rgba(23,53,103,.07);
    transform:perspective(900px) rotateX(0) rotateY(0) translateY(-10px) scale(1.035);
}

.blt-specialty-card--premium:hover{
    z-index:4;
    border-color:color-mix(in srgb,var(--blt-specialty-accent) 34%,rgba(20,56,112,.10));
    box-shadow:0 34px 78px rgba(23,53,103,.17),0 10px 22px rgba(23,53,103,.08);
    transform:perspective(900px) rotateX(2.5deg) rotateY(-3deg) translateY(-12px) scale(1.045);
}
.blt-specialty-card--premium:hover::before{transform:translate3d(-18px,18px,0) scale(1.12)}

.blt-specialty-card__topline{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.blt-specialty-card--premium .blt-specialty-card__index{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border-radius:13px;
    color:var(--blt-specialty-accent);
    background:color-mix(in srgb,var(--blt-specialty-accent) 9%,#fff);
    font-size:11px;
    font-weight:900;
}

.blt-specialty-card__signal{display:flex;align-items:center;gap:4px}
.blt-specialty-card__signal i{
    display:block;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--blt-specialty-accent);
    opacity:.28;
    animation:bltSpecialtySignal020 2.6s ease-in-out infinite;
}
.blt-specialty-card__signal i+ i{animation-delay:-1.15s}

.blt-specialty-card__symbol{
    position:relative;
    z-index:1;
    display:grid;
    width:76px;
    height:76px;
    margin:28px 0 26px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--blt-specialty-accent) 18%,#fff);
    border-radius:24px;
    background:linear-gradient(145deg,color-mix(in srgb,var(--blt-specialty-accent) 10%,#fff),#fff);
    box-shadow:0 16px 34px color-mix(in srgb,var(--blt-specialty-accent) 10%,transparent);
    transition:transform .6s var(--blt-ease);
}
.blt-specialty-card--premium:hover .blt-specialty-card__symbol,
.blt-specialty-card--premium.is-focus .blt-specialty-card__symbol{transform:rotate(-7deg) translateY(-2px)}
.blt-specialty-card__symbol span{
    position:relative;
    display:block;
    width:27px;
    height:27px;
    border:3px solid var(--blt-specialty-accent);
    border-radius:50%;
}
.blt-specialty-card__symbol span::before,
.blt-specialty-card__symbol span::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    border-radius:10px;
    background:var(--blt-specialty-accent);
    transform:translate(-50%,-50%);
}
.blt-specialty-card__symbol span::before{width:8px;height:32px}
.blt-specialty-card__symbol span::after{width:32px;height:8px}

.blt-specialty-card__body{position:relative;z-index:1;flex:1}
.blt-specialty-card__eyebrow{
    color:var(--blt-specialty-accent);
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}
.blt-specialty-card--premium h3{
    margin:7px 0 10px;
    color:var(--blt-blue-deep);
    font-size:26px;
    line-height:1.05;
    letter-spacing:-.035em;
}
.blt-specialty-card--premium p{
    display:-webkit-box;
    max-width:none;
    margin:0;
    overflow:hidden;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    color:var(--blt-muted);
    font-size:13px;
    line-height:1.55;
}

.blt-specialty-card__footer{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:22px;
    color:var(--blt-blue-deep);
    font-size:11px;
    font-weight:800;
}
.blt-specialty-card__arrow{
    display:grid;
    width:38px;
    height:38px;
    flex:0 0 38px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--blt-specialty-accent);
    transition:transform .45s var(--blt-ease);
}
.blt-specialty-card--premium:hover .blt-specialty-card__arrow{transform:rotate(42deg) scale(1.06)}

.blt-specialty-mobile-hint{display:none}

@keyframes bltSpecialtyMarquee020{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-50% - 9px),0,0)}
}
@keyframes bltSpecialtySignal020{
    0%,100%{transform:scale(.78);opacity:.22}
    50%{transform:scale(1.35);opacity:.78}
}

@media(min-width:820px){
    .blt-specialty-showcase__head{grid-template-columns:minmax(0,1fr) auto}
    .blt-specialty-showcase__actions{flex-direction:column;align-items:flex-end}
    .blt-specialty-nav{display:none}
}

@media(max-width:819px){
    .blt-specialty-showcase{overflow:hidden}
    .blt-specialty-showcase__head{margin-bottom:22px}
    .blt-specialty-showcase__copy h2{
        font-size:clamp(36px,11vw,54px);
        line-height:1.01;
    }
    .blt-specialty-showcase__copy p{font-size:14px;line-height:1.6}
    .blt-specialty-showcase__actions{align-items:center}
    .blt-specialty-nav{display:flex}

    .blt-specialty-rail{
        width:calc(100% + 20px);
        margin-right:-20px;
        overflow-x:auto;
        padding:12px 20px 28px 2px;
        scroll-padding-left:2px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        -webkit-mask-image:none;
        mask-image:none;
    }
    .blt-specialty-rail::-webkit-scrollbar{display:none}
    .blt-specialty-track{
        gap:0;
        animation:none!important;
        transform:none!important;
    }
    .blt-specialty-group{gap:14px}
    .blt-specialty-group[aria-hidden="true"]{display:none!important}
    .blt-specialty-card--premium{
        flex:0 0 min(82vw,340px);
        width:min(82vw,340px);
        min-height:338px;
        scroll-snap-align:center;
        transform:none;
    }
    .blt-specialty-card--premium.is-focus{
        transform:translateY(-4px) scale(1.015);
    }
    .blt-specialty-card--premium:hover{transform:none}

    .blt-specialty-mobile-hint{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        margin-top:2px;
        color:var(--blt-muted);
        font-size:11px;
        font-weight:700;
    }
    .blt-specialty-mobile-hint i{
        display:block;
        width:32px;
        height:2px;
        overflow:hidden;
        border-radius:999px;
        background:rgba(17,55,113,.12);
    }
    .blt-specialty-mobile-hint i::after{
        content:"";
        display:block;
        width:12px;
        height:100%;
        border-radius:inherit;
        background:#536bf4;
        animation:bltSpecialtyHint020 1.8s ease-in-out infinite;
    }
}

@media(max-width:430px){
    .blt-specialty-card--premium{
        flex-basis:84vw;
        width:84vw;
        min-height:324px;
        padding:20px;
        border-radius:24px;
    }
    .blt-specialty-card__symbol{width:68px;height:68px;margin:24px 0 22px}
    .blt-specialty-card--premium h3{font-size:24px}
    .blt-specialty-card--premium p{font-size:12.5px}
}

@keyframes bltSpecialtyHint020{
    0%,100%{transform:translateX(0);opacity:.45}
    50%{transform:translateX(19px);opacity:1}
}

@media(prefers-reduced-motion:reduce){
    .blt-specialty-track{animation:none!important;transform:none!important}
    .blt-specialty-card--premium,
    .blt-specialty-card__symbol,
    .blt-specialty-card__signal i,
    .blt-specialty-mobile-hint i::after{animation:none!important;transition:none!important}
}


/* ======================================================================
 * BIOLIFE 0.3.21 — ESPECIALIDADES / CARROSSEL PREMIUM V2
 * ----------------------------------------------------------------------
 * OBJETIVO
 * Reproduzir no theme a composição aprovada: título menor, carrossel com
 * foco central, ícones específicos, setas laterais, dots e faixa de
 * benefícios. Mobile é tratado como experiência própria.
 * ====================================================================== */

.blt-specialty-showcase{
    overflow:hidden;
    padding-block:84px 82px;
    background:
        radial-gradient(circle at 24% 42%,rgba(82,104,245,.055),transparent 35%),
        radial-gradient(circle at 84% 68%,rgba(227,38,46,.035),transparent 30%),
        #f8fbff;
}

.blt-specialty-showcase__head{
    display:grid;
    grid-template-columns:minmax(0,640px) auto;
    gap:34px;
    align-items:end;
    margin-bottom:26px;
}
.blt-specialty-showcase__copy{max-width:640px}
.blt-specialty-showcase__copy h2{
    margin:12px 0 14px;
    max-width:630px;
    color:var(--blt-blue-deep);
    font-size:clamp(34px,3.25vw,52px);
    line-height:1.02;
    letter-spacing:-.045em;
}
.blt-specialty-showcase__copy h2 span{color:#586ff5}
.blt-specialty-showcase__copy p{
    max-width:520px;
    margin:0;
    color:var(--blt-muted);
    font-size:15px;
    line-height:1.65;
}
.blt-specialty-showcase__all{
    align-self:center;
    justify-self:end;
    margin-bottom:12px;
}

.blt-specialty-carousel{
    position:relative;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    gap:10px;
    align-items:center;
    margin-top:8px;
}

.blt-specialty-nav__button{
    position:relative;
    z-index:5;
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    border:1px solid rgba(17,55,113,.10);
    border-radius:50%;
    color:#3158d6;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 30px rgba(26,54,100,.09);
    font-size:28px;
    line-height:1;
    cursor:pointer;
    transition:transform .25s var(--blt-ease),box-shadow .25s ease,background .25s ease,color .25s ease;
}
.blt-specialty-nav__button:hover{
    color:#fff;
    background:#536bf4;
    box-shadow:0 16px 34px rgba(83,107,244,.22);
    transform:translateY(-2px) scale(1.04);
}

.blt-specialty-rail{
    position:relative;
    min-width:0;
    overflow-x:auto;
    padding:26px calc((100% - 310px)/2) 30px;
    scroll-padding-inline:calc((100% - 310px)/2);
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.blt-specialty-rail::-webkit-scrollbar{display:none}

.blt-specialty-track{
    display:flex;
    width:max-content;
    gap:0;
    animation:none!important;
    transform:none!important;
}
.blt-specialty-group{
    display:flex;
    gap:18px;
    flex:none;
}

.blt-specialty-card--premium{
    --blt-specialty-accent:#536bf4;
    position:relative;
    display:flex;
    flex:0 0 270px;
    width:270px;
    min-height:362px;
    padding:22px;
    flex-direction:column;
    overflow:hidden;
    scroll-snap-align:center;
    border:1px solid rgba(17,55,113,.09);
    border-radius:26px;
    color:inherit;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 44px rgba(22,51,98,.075),inset 0 1px 0 rgba(255,255,255,.95);
    text-decoration:none;
    transform:perspective(1000px) translateY(0) scale(.94) rotateY(0deg);
    transform-origin:center;
    opacity:.78;
    transition:
        transform .65s cubic-bezier(.22,1,.36,1),
        opacity .42s ease,
        box-shadow .5s ease,
        border-color .5s ease;
}
.blt-specialty-card--premium:nth-child(4n+2){--blt-specialty-accent:#7a5df3}
.blt-specialty-card--premium:nth-child(4n+3){--blt-specialty-accent:#0f9f73}
.blt-specialty-card--premium:nth-child(4n+4){--blt-specialty-accent:#e52f38}

.blt-specialty-card--premium::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-72px;
    top:-66px;
    border-radius:50%;
    background:color-mix(in srgb,var(--blt-specialty-accent) 11%,transparent);
    transition:transform .7s var(--blt-ease),opacity .4s ease;
}
.blt-specialty-card--premium::after{display:none!important}

.blt-specialty-card--premium.is-focus{
    z-index:4;
    opacity:1;
    border-color:color-mix(in srgb,var(--blt-specialty-accent) 62%,rgba(17,55,113,.08));
    box-shadow:0 28px 68px rgba(25,53,104,.16),0 8px 18px rgba(25,53,104,.06);
    transform:perspective(1000px) translateY(-8px) scale(1.065) rotateY(0deg);
}
.blt-specialty-card--premium:not(.is-focus):hover{
    opacity:.96;
    transform:perspective(1000px) translateY(-5px) scale(.985) rotateY(-2deg);
}

.blt-specialty-card__topline{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.blt-specialty-card--premium .blt-specialty-card__index{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border-radius:12px;
    color:var(--blt-specialty-accent);
    background:color-mix(in srgb,var(--blt-specialty-accent) 9%,#fff);
    font-size:10px;
    font-weight:900;
}
.blt-specialty-card__focus-badge{
    display:inline-flex;
    padding:6px 9px;
    border-radius:8px;
    color:var(--blt-specialty-accent);
    background:color-mix(in srgb,var(--blt-specialty-accent) 8%,#fff);
    font-size:8px;
    font-weight:900;
    letter-spacing:.03em;
    opacity:0;
    transform:translateY(-4px);
    transition:opacity .35s ease,transform .35s ease;
}
.blt-specialty-card--premium.is-focus .blt-specialty-card__focus-badge{
    opacity:1;
    transform:translateY(0);
}

.blt-specialty-card__symbol{
    position:relative;
    z-index:2;
    display:grid;
    width:68px;
    height:68px;
    margin:26px 0 22px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--blt-specialty-accent) 20%,#fff);
    border-radius:21px;
    color:var(--blt-specialty-accent);
    background:linear-gradient(145deg,color-mix(in srgb,var(--blt-specialty-accent) 9%,#fff),#fff);
    box-shadow:0 14px 28px color-mix(in srgb,var(--blt-specialty-accent) 10%,transparent);
    transition:transform .55s var(--blt-ease),box-shadow .4s ease;
}
.blt-specialty-card__symbol svg{width:36px;height:36px}
.blt-specialty-card--premium.is-focus .blt-specialty-card__symbol{
    transform:rotate(-5deg) translateY(-2px) scale(1.04);
    box-shadow:0 18px 34px color-mix(in srgb,var(--blt-specialty-accent) 14%,transparent);
}

.blt-specialty-card__body{position:relative;z-index:2;flex:1}
.blt-specialty-card__eyebrow{
    color:var(--blt-specialty-accent);
    font-size:8px;
    font-weight:900;
    letter-spacing:.16em;
}
.blt-specialty-card--premium h3{
    margin:8px 0 10px;
    color:var(--blt-blue-deep);
    font-size:22px;
    line-height:1.08;
    letter-spacing:-.03em;
}
.blt-specialty-card--premium p{
    margin:0;
    color:var(--blt-muted);
    font-size:12.5px;
    line-height:1.55;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.blt-specialty-card__footer{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:20px;
    color:#244cc9;
    font-size:10px;
    font-weight:850;
}
.blt-specialty-card__arrow{
    display:grid;
    width:34px;
    height:34px;
    flex:0 0 34px;
    place-items:center;
    border-radius:50%;
    color:var(--blt-specialty-accent);
    background:color-mix(in srgb,var(--blt-specialty-accent) 10%,#fff);
    transition:transform .4s var(--blt-ease),background .35s ease,color .35s ease;
}
.blt-specialty-card--premium.is-focus .blt-specialty-card__arrow{
    color:#fff;
    background:var(--blt-specialty-accent);
}
.blt-specialty-card--premium:hover .blt-specialty-card__arrow{transform:translate(2px,-2px) rotate(8deg)}

.blt-specialty-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    margin:5px 0 30px;
}
.blt-specialty-dots button{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#ced6e5;
    cursor:pointer;
    transition:width .3s ease,background .3s ease,transform .3s ease;
}
.blt-specialty-dots button.is-active{
    width:9px;
    height:9px;
    background:#536bf4;
    transform:scale(1.08);
}

.blt-specialty-benefits{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:18px 20px;
    border:1px solid rgba(17,55,113,.075);
    border-radius:24px;
    background:rgba(255,255,255,.75);
    box-shadow:0 16px 42px rgba(27,56,102,.05);
    backdrop-filter:blur(12px);
}
.blt-specialty-benefit{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    align-items:start;
    min-width:0;
    padding:7px 8px;
}
.blt-specialty-benefit__icon{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border-radius:14px;
    color:#315ed7;
    background:#edf3ff;
}
.blt-specialty-benefit__icon--violet{color:#765af0;background:#f3efff}
.blt-specialty-benefit__icon--green{color:#0f9f73;background:#eaf9f4}
.blt-specialty-benefit__icon--navy{color:#0d3b7f;background:#edf3fa}
.blt-specialty-benefit__icon svg{width:22px;height:22px}
.blt-specialty-benefit strong{
    display:block;
    color:var(--blt-blue-deep);
    font-size:11px;
    line-height:1.3;
}
.blt-specialty-benefit span:not(.blt-specialty-benefit__icon){
    display:block;
    margin-top:4px;
    color:var(--blt-muted);
    font-size:9.5px;
    line-height:1.45;
}

/* Tablet: 3 cards perceptíveis e navegação por toque/mouse. */
@media(max-width:1024px){
    .blt-specialty-showcase{padding-block:68px}
    .blt-specialty-showcase__head{grid-template-columns:minmax(0,1fr) auto}
    .blt-specialty-showcase__copy h2{font-size:clamp(32px,4.7vw,46px)}
    .blt-specialty-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* MOBILE — prioridade máxima. */
@media(max-width:819px){
    .blt-specialty-showcase{
        padding-block:58px 62px;
        overflow:hidden;
    }
    .blt-specialty-showcase__head{
        grid-template-columns:1fr;
        gap:14px;
        margin-bottom:20px;
    }
    .blt-specialty-showcase__copy h2{
        max-width:430px;
        margin:10px 0 12px;
        font-size:clamp(29px,8.5vw,40px);
        line-height:1.04;
        letter-spacing:-.04em;
    }
    .blt-specialty-showcase__copy p{
        max-width:390px;
        font-size:13px;
        line-height:1.58;
    }
    .blt-specialty-showcase__all{
        justify-self:start;
        margin:0;
        font-size:12px;
    }

    .blt-specialty-carousel{
        grid-template-columns:38px minmax(0,1fr) 38px;
        gap:3px;
        margin-inline:-6px;
    }
    .blt-specialty-nav__button{
        width:38px;
        height:38px;
        font-size:24px;
        box-shadow:0 8px 22px rgba(26,54,100,.08);
    }
    .blt-specialty-rail{
        padding:20px calc((100% - min(76vw,310px))/2) 24px;
        scroll-padding-inline:calc((100% - min(76vw,310px))/2);
        -webkit-mask-image:none;
        mask-image:none;
    }
    .blt-specialty-group{gap:12px}
    .blt-specialty-card--premium{
        flex:0 0 min(76vw,310px);
        width:min(76vw,310px);
        min-height:338px;
        padding:20px;
        border-radius:24px;
        opacity:.72;
        transform:scale(.93);
    }
    .blt-specialty-card--premium.is-focus{
        opacity:1;
        transform:translateY(-4px) scale(1.015);
    }
    .blt-specialty-card__symbol{width:62px;height:62px;margin:22px 0 19px;border-radius:19px}
    .blt-specialty-card__symbol svg{width:32px;height:32px}
    .blt-specialty-card--premium h3{font-size:21px}
    .blt-specialty-card--premium p{font-size:12px}
    .blt-specialty-card__footer{font-size:10px}
    .blt-specialty-dots{margin:2px 0 24px}
    .blt-specialty-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        padding:12px;
        border-radius:20px;
    }
    .blt-specialty-benefit{
        grid-template-columns:38px minmax(0,1fr);
        gap:9px;
        padding:7px;
    }
    .blt-specialty-benefit__icon{width:36px;height:36px;border-radius:12px}
    .blt-specialty-benefit__icon svg{width:19px;height:19px}
    .blt-specialty-benefit strong{font-size:10px}
    .blt-specialty-benefit span:not(.blt-specialty-benefit__icon){font-size:8.7px}
}

@media(max-width:430px){
    .blt-specialty-showcase__copy h2{font-size:clamp(28px,9.4vw,36px)}
    .blt-specialty-carousel{grid-template-columns:34px minmax(0,1fr) 34px}
    .blt-specialty-nav__button{width:34px;height:34px;font-size:22px}
    .blt-specialty-rail{
        padding-inline:calc((100% - 78vw)/2);
        scroll-padding-inline:calc((100% - 78vw)/2);
    }
    .blt-specialty-card--premium{
        flex-basis:78vw;
        width:78vw;
        min-height:322px;
        padding:18px;
    }
    .blt-specialty-benefits{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
    .blt-specialty-card--premium,
    .blt-specialty-card__symbol,
    .blt-specialty-nav__button,
    .blt-specialty-dots button{transition:none!important}
}


/* ======================================================================
 * BIOLIFE 0.3.22 — RESTAURAÇÃO DO CARROSSEL CONTÍNUO DE ESPECIALIDADES
 * ----------------------------------------------------------------------
 * MOTIVO
 * A v0.3.21 refinou os cards e o mobile, mas trocou o movimento contínuo
 * por avanço periódico. O resultado visual parecia estático entre ciclos.
 *
 * SOLUÇÃO
 * - Desktop >=820px: track volta a percorrer continuamente os dois grupos.
 * - O segundo grupo é clone visual e não representa conteúdo adicional.
 * - O card próximo do centro continua recebendo `.is-focus` via JavaScript.
 * - Mobile <=819px mantém swipe, scroll-snap, setas e dots da v0.3.21.
 *
 * MANUTENÇÃO
 * Não remover o grupo clone do PHP enquanto este marquee estiver ativo.
 * Não ativar este marquee no mobile: touch tem prioridade absoluta.
 * ====================================================================== */

@media(min-width:820px){
    .blt-specialty-rail{
        overflow:hidden!important;
        padding:26px 0 34px!important;
        scroll-snap-type:none!important;
        scroll-padding-inline:0!important;
        scrollbar-width:none!important;
        -webkit-mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
        mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
    }

    .blt-specialty-track{
        display:flex!important;
        width:max-content!important;
        gap:18px!important;
        transform:none!important;
        animation:bltSpecialtyMarquee0322 44s linear infinite!important;
        will-change:transform!important;
    }

    .blt-specialty-rail:hover .blt-specialty-track,
    .blt-specialty-rail:focus-within .blt-specialty-track{
        animation-play-state:paused!important;
    }

    .blt-specialty-group{
        display:flex!important;
        flex:none!important;
        gap:18px!important;
    }

    .blt-specialty-group--clone{
        pointer-events:none!important;
    }

    .blt-specialty-card--premium{
        scroll-snap-align:none!important;
        flex:0 0 270px!important;
        width:270px!important;
    }
}

@keyframes bltSpecialtyMarquee0322{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-50% - 9px),0,0)}
}

@media(max-width:819px){
    .blt-specialty-group--clone{display:none!important}
    .blt-specialty-track{
        animation:none!important;
        transform:none!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .blt-specialty-track{animation:none!important}
}

/* ================================================================
 * BIOLIFE 0.3.23 — SMART GLASS HEADER
 * PROPÓSITO
 * - Evitar que o header sticky esconda conteúdo importante durante a leitura.
 * - Manter a identidade do menu no topo e transformá-lo em vidro compacto no scroll.
 *
 * FLUXO
 * - Topo: preserva o header aprovado.
 * - Scroll: .is-scrolled ativa vidro translúcido + compactação.
 * - Scroll para baixo: JS aplica .is-hidden; para cima, reaparece.
 * - Menu mobile aberto: volta a uma superfície mais opaca para legibilidade.
 *
 * RISCO DE REGRESSÃO
 * Não remover backdrop-filter sem manter o background fallback: navegadores sem blur
 * ainda precisam de contraste suficiente. Transform deve permanecer no header, não
 * no conteúdo, para não criar salto de layout.
 * ================================================================ */
.blt-header{
    transition:transform .38s cubic-bezier(.22,.8,.22,1),padding .38s ease!important;
    will-change:transform;
}
.blt-header.is-scrolled{
    padding-top:8px!important;
}
.blt-header.is-scrolled .blt-header__inner{
    min-height:56px!important;
    background:linear-gradient(135deg,rgba(244,248,255,.64),rgba(255,255,255,.58) 58%,rgba(255,246,247,.56))!important;
    border-color:rgba(255,255,255,.72)!important;
    box-shadow:0 12px 38px rgba(17,47,91,.10),inset 0 1px 0 rgba(255,255,255,.82)!important;
    backdrop-filter:blur(24px) saturate(165%)!important;
    -webkit-backdrop-filter:blur(24px) saturate(165%)!important;
    transition:min-height .38s ease,background .38s ease,box-shadow .38s ease,border-color .38s ease!important;
}
.blt-header.is-scrolled .blt-brand__official-image{
    transform:scale(.90);
    transform-origin:left center;
    transition:transform .38s ease;
}
.blt-header.is-scrolled .blt-btn{
    min-height:38px!important;
    padding-inline:14px!important;
    transition:min-height .38s ease,padding .38s ease,transform .25s ease!important;
}
.blt-header.is-hidden{transform:translate3d(0,-125%,0)!important}

/* Mobile: vidro mais compacto. Quando o painel abre, aumenta opacidade para leitura. */
@media(max-width:979px){
    .blt-header.is-scrolled{padding-top:6px!important}
    .blt-header.is-scrolled .blt-header__inner{
        min-height:54px!important;
        width:calc(100% - 18px)!important;
        background:rgba(250,252,255,.68)!important;
        backdrop-filter:blur(20px) saturate(155%)!important;
        -webkit-backdrop-filter:blur(20px) saturate(155%)!important;
    }
    body.blt-menu-open .blt-header{
        transform:none!important;
    }
    body.blt-menu-open .blt-header__inner{
        background:rgba(255,255,255,.94)!important;
        backdrop-filter:blur(24px) saturate(130%)!important;
        -webkit-backdrop-filter:blur(24px) saturate(130%)!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .blt-header,.blt-header__inner,.blt-brand__official-image,.blt-header .blt-btn{transition:none!important}
}


/* ======================================================================
 * BIOLIFE 0.3.24 — CORPO CLÍNICO PREMIUM / GOLD FOCUS
 * ======================================================================
 * OBJETIVO
 * Elevar a seção de profissionais ao mesmo nível visual do restante da Home.
 * Mantém o loop contínuo, reduz sensação de aperto e cria foco dourado apenas
 * na interação (hover, foco, clique ou card central).
 *
 * REGRAS IMPORTANTES
 * - A logo/header NÃO é alterada por este módulo.
 * - Fotografias continuam vindo do cadastro de cada profissional.
 * - Mobile usa um card principal, laterais visíveis e autoplay pausável.
 * - `prefers-reduced-motion` remove autoplay/transições não essenciais.
 * ====================================================================== */

.blt-professionals-premium{
    position:relative;
    overflow:hidden!important;
    padding-block:clamp(72px,7vw,116px)!important;
    background:
        radial-gradient(circle at 72% 20%,rgba(24,85,197,.22),transparent 30%),
        radial-gradient(circle at 18% 82%,rgba(13,72,162,.18),transparent 34%),
        linear-gradient(145deg,#061a36 0%,#062c63 52%,#073b82 100%)!important;
}
.blt-professionals-premium:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
}
.blt-professionals-premium__shell{position:relative;z-index:1;max-width:1500px!important;}
.blt-professionals-premium__heading{
    display:grid;grid-template-columns:minmax(0,760px) auto;align-items:end;gap:36px;
    margin-bottom:34px;
}
.blt-professionals-premium__copy .blt-kicker{color:#ff6871!important;letter-spacing:.18em;font-weight:900;}
.blt-professionals-premium__copy h2{
    margin:14px 0 12px!important;color:#fff!important;
    font-size:clamp(38px,4.3vw,70px)!important;line-height:.98!important;letter-spacing:-.055em!important;
    max-width:790px;
}
.blt-professionals-premium__copy p{
    margin:0;color:rgba(255,255,255,.78);font-size:clamp(15px,1.25vw,18px);line-height:1.6;max-width:680px;
}
.blt-professionals-premium__all{
    color:#fff!important;font-weight:800;text-decoration:none;font-size:16px;padding:12px 0;white-space:nowrap;
    transition:color .25s ease,transform .25s ease;
}
.blt-professionals-premium__all:hover{color:#d9b24c!important;transform:translateY(-2px);}

.blt-professional-slider--premium{
    position:relative;overflow:hidden!important;margin-inline:-12px;padding:18px 12px 28px!important;
    mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)!important;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)!important;
}
.blt-professional-slider--premium .blt-professional-track{
    display:flex!important;align-items:stretch!important;gap:18px!important;width:max-content!important;
    animation:bltProfessionalsPremiumLoop 44s linear infinite!important;will-change:transform;
}
.blt-professional-slider--premium:hover .blt-professional-track,
.blt-professional-slider--premium.is-paused .blt-professional-track{animation-play-state:paused!important;}

@keyframes bltProfessionalsPremiumLoop{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-50% - 9px),0,0)}
}

.blt-professionals-premium .blt-professional-card--premium{
    --card-accent:#6f7dfd;
    position:relative;isolation:isolate;
    flex:0 0 clamp(240px,17vw,282px)!important;width:clamp(240px,17vw,282px)!important;
    min-height:500px!important;border-radius:28px!important;overflow:hidden!important;
    border:1px solid rgba(255,255,255,.22)!important;
    background:linear-gradient(180deg,rgba(10,45,89,.96),rgba(5,28,57,.98))!important;
    box-shadow:0 24px 58px rgba(0,8,28,.26),inset 0 1px 0 rgba(255,255,255,.08)!important;
    transform:translateY(0) scale(.985);transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease,border-color .32s ease;
}
.blt-professionals-premium .blt-professional-card--premium:nth-child(5n+1){--card-accent:#ff5a64}
.blt-professionals-premium .blt-professional-card--premium:nth-child(5n+2){--card-accent:#6c86ff}
.blt-professionals-premium .blt-professional-card--premium:nth-child(5n+3){--card-accent:#d8ae46}
.blt-professionals-premium .blt-professional-card--premium:nth-child(5n+4){--card-accent:#45c985}
.blt-professionals-premium .blt-professional-card--premium:nth-child(5n+5){--card-accent:#aa79ff}

.blt-professional-card__frame{
    position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;z-index:20;opacity:0;
    border:2px solid rgba(216,174,70,.98);
    box-shadow:0 0 0 1px rgba(255,225,139,.25),0 0 25px rgba(216,174,70,.28),0 0 60px rgba(216,174,70,.16);
    transition:opacity .28s ease;
}
.blt-professionals-premium .blt-professional-card--premium:hover,
.blt-professionals-premium .blt-professional-card--premium:focus-visible,
.blt-professionals-premium .blt-professional-card--premium.is-focused,
.blt-professionals-premium .blt-professional-card--premium.is-selected{
    transform:translateY(-10px) scale(1.035)!important;
    border-color:rgba(216,174,70,.72)!important;
    box-shadow:0 34px 82px rgba(0,7,25,.42),0 12px 32px rgba(216,174,70,.12)!important;
    outline:none;
}
.blt-professionals-premium .blt-professional-card--premium:hover .blt-professional-card__frame,
.blt-professionals-premium .blt-professional-card--premium:focus-visible .blt-professional-card__frame,
.blt-professionals-premium .blt-professional-card--premium.is-focused .blt-professional-card__frame,
.blt-professionals-premium .blt-professional-card--premium.is-selected .blt-professional-card__frame{opacity:1;}

.blt-professionals-premium .blt-professional-card__image{
    position:relative;display:block;aspect-ratio:4/3.85!important;min-height:0!important;overflow:hidden!important;
    background:linear-gradient(145deg,#dbe9fb,#eef5ff)!important;
}
.blt-professionals-premium .blt-professional-card__image:after{
    content:"";position:absolute;inset:auto 0 0;height:42%;pointer-events:none;
    background:linear-gradient(to top,rgba(5,28,57,.58),transparent);
}
.blt-professionals-premium .blt-professional-card__image img{
    width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;
    filter:saturate(.96) contrast(1.02);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}
.blt-professionals-premium .blt-professional-card--premium:hover .blt-professional-card__image img,
.blt-professionals-premium .blt-professional-card--premium.is-focused .blt-professional-card__image img,
.blt-professionals-premium .blt-professional-card--premium.is-selected .blt-professional-card__image img{
    transform:scale(1.055);filter:saturate(1.04) contrast(1.04);
}
.blt-professional-card__icon{
    position:absolute;right:16px;top:16px;z-index:4;display:grid;place-items:center;width:46px;height:46px;border-radius:16px;
    color:var(--card-accent);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.84);
    box-shadow:0 12px 30px rgba(0,22,64,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.blt-professional-card__icon svg{width:24px;height:24px;}

.blt-professionals-premium .blt-professional-card__body{
    position:relative;z-index:3;margin-top:-22px!important;padding:18px 18px 18px!important;border-radius:24px 24px 0 0;
    background:linear-gradient(180deg,rgba(7,38,77,.985),rgba(5,28,57,.995))!important;
    border-top:1px solid rgba(255,255,255,.12);
}
.blt-professionals-premium .blt-professional-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.blt-professionals-premium .blt-professional-card__profession{
    color:var(--card-accent)!important;font-size:10px!important;line-height:1.2;font-weight:900!important;letter-spacing:.11em!important;text-transform:uppercase;
}
.blt-professional-card__featured{
    display:none;padding:5px 8px;border-radius:999px;background:linear-gradient(180deg,#f6d476,#d9aa3c);color:#14223d;
    font-size:8px;font-weight:950;letter-spacing:.06em;box-shadow:0 6px 18px rgba(216,174,70,.2);
}
.blt-professional-card--premium.is-focused .blt-professional-card__featured,
.blt-professional-card--premium.is-selected .blt-professional-card__featured,
.blt-professional-card--premium.is-featured .blt-professional-card__featured{display:inline-flex;}
.blt-professionals-premium .blt-professional-card__body h3{
    color:#fff!important;margin:0 0 5px!important;font-size:clamp(20px,1.5vw,25px)!important;line-height:1.08!important;letter-spacing:-.035em!important;
}
.blt-professionals-premium .blt-professional-card__specialties{
    color:rgba(255,255,255,.78)!important;min-height:0!important;margin:0 0 7px!important;font-size:13px!important;line-height:1.45!important;
}
.blt-professionals-premium .blt-professional-card__registration{
    display:block;color:rgba(255,255,255,.62)!important;font-size:10px!important;line-height:1.4!important;font-weight:650!important;min-height:14px;
}
.blt-professional-card__cta{
    display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 14px;border-radius:12px;
    color:var(--card-accent)!important;text-decoration:none;font-size:12px;font-weight:850;
    border:1px solid color-mix(in srgb,var(--card-accent) 24%,transparent);background:color-mix(in srgb,var(--card-accent) 8%,rgba(255,255,255,.02));
    transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.blt-professional-card__cta:hover{transform:translateY(-1px);}
.blt-professional-card--premium:hover .blt-professional-card__cta,
.blt-professional-card--premium:focus-visible .blt-professional-card__cta,
.blt-professional-card--premium.is-focused .blt-professional-card__cta,
.blt-professional-card--premium.is-selected .blt-professional-card__cta{
    color:#16233b!important;border-color:#e3be59;background:linear-gradient(180deg,#f8dc89,#d8a93d);box-shadow:0 10px 24px rgba(216,174,70,.28);
}

.blt-professional-nav{
    position:absolute;z-index:15;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.12);
    color:#fff;background:rgba(8,34,68,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    box-shadow:0 14px 32px rgba(0,0,0,.18);cursor:pointer;font-size:23px;transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.blt-professional-nav:hover{color:#f2c75f;border-color:rgba(242,199,95,.55);background:rgba(10,38,76,.94);}
.blt-professional-nav--prev{left:0}.blt-professional-nav--next{right:0}

.blt-professional-dots{display:flex;justify-content:center;align-items:center;gap:7px;margin:2px 0 28px;min-height:10px;}
.blt-professional-dots button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.28);transition:width .25s ease,background .25s ease,box-shadow .25s ease;cursor:pointer;}
.blt-professional-dots button.is-active{width:24px;background:#d9ae46;box-shadow:0 0 14px rgba(217,174,70,.55);}

.blt-professional-benefits{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px;border-radius:24px;
    border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.blt-professional-benefit{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;min-width:0;}
.blt-professional-benefit>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.07);color:#f0c55d;font-size:19px;}
.blt-professional-benefit strong{display:block;color:#fff;font-size:12px;line-height:1.3;margin-bottom:3px;}
.blt-professional-benefit small{display:block;color:rgba(255,255,255,.58);font-size:10px;line-height:1.42;}

/* Tablet */
@media(max-width:979px){
    .blt-professionals-premium__heading{grid-template-columns:1fr;gap:12px;margin-bottom:24px;}
    .blt-professionals-premium__copy h2{font-size:clamp(36px,7vw,56px)!important;}
    .blt-professionals-premium__all{justify-self:start;}
    .blt-professional-slider--premium{margin-inline:-18px!important;padding-inline:42px!important;mask-image:none!important;-webkit-mask-image:none!important;}
    .blt-professionals-premium .blt-professional-card--premium{flex-basis:240px!important;width:240px!important;min-height:470px!important;}
    .blt-professional-benefits{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Mobile-first: card principal, vizinhos visíveis, swipe + autoplay controlado. */
@media(max-width:699px){
    .blt-professionals-premium{padding-block:66px 58px!important;}
    .blt-professionals-premium__copy h2{font-size:clamp(34px,10.5vw,46px)!important;line-height:1.01!important;}
    .blt-professionals-premium__copy h2 br{display:none;}
    .blt-professionals-premium__copy p{font-size:14px;max-width:92%;}
    .blt-professionals-premium__all{font-size:14px;margin-top:2px;}

    .blt-professional-slider--premium{
        overflow-x:auto!important;overflow-y:visible!important;margin-inline:-18px!important;padding:18px 10vw 26px!important;
        scroll-snap-type:x mandatory!important;scroll-padding-inline:10vw!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    }
    .blt-professional-slider--premium::-webkit-scrollbar{display:none!important;}
    .blt-professional-slider--premium .blt-professional-track{
        gap:14px!important;width:max-content!important;animation:none!important;transform:none!important;
    }
    .blt-professionals-premium .blt-professional-card--premium{
        flex:0 0 min(78vw,310px)!important;width:min(78vw,310px)!important;min-height:0!important;scroll-snap-align:center!important;
        transform:scale(.96)!important;
    }
    .blt-professionals-premium .blt-professional-card--premium.is-focused,
    .blt-professionals-premium .blt-professional-card--premium.is-selected{
        transform:scale(1)!important;
    }
    .blt-professionals-premium .blt-professional-card__image{aspect-ratio:4/3.7!important;}
    .blt-professionals-premium .blt-professional-card__body{padding:16px!important;margin-top:-18px!important;}
    .blt-professional-nav{width:44px;height:44px;font-size:20px;background:rgba(255,255,255,.92);color:#0a4aa6;border-color:rgba(12,63,130,.1);}
    .blt-professional-nav--prev{left:8px}.blt-professional-nav--next{right:8px}
    .blt-professional-dots{margin-bottom:20px;}
    .blt-professional-benefits{grid-template-columns:repeat(4,minmax(116px,1fr));overflow-x:auto;padding:14px 12px;margin-inline:-18px;border-radius:0;border-inline:0;scrollbar-width:none;}
    .blt-professional-benefits::-webkit-scrollbar{display:none;}
    .blt-professional-benefit{grid-template-columns:34px 1fr;gap:8px;min-width:128px;}
    .blt-professional-benefit>span{width:34px;height:34px;border-radius:11px;font-size:16px;}
    .blt-professional-benefit strong{font-size:10px;}
    .blt-professional-benefit small{display:none;}
}

@media(max-width:389px){
    .blt-professional-slider--premium{padding-inline:8vw!important;scroll-padding-inline:8vw!important;}
    .blt-professionals-premium .blt-professional-card--premium{flex-basis:84vw!important;width:84vw!important;}
}

@media(prefers-reduced-motion:reduce){
    .blt-professional-slider--premium .blt-professional-track{animation:none!important;}
    .blt-professional-card--premium,.blt-professional-card__image img,.blt-professional-card__cta{transition:none!important;}
}


/* ======================================================================
 * BIOLIFE 0.3.25 — CORPO CLÍNICO CLARO + DOURADO SOMENTE EM INTERAÇÃO
 * ----------------------------------------------------------------------
 * MOTIVO
 * O fundo azul integral deixava a seção visualmente pesada porque competia
 * com os próprios cards navy. Além disso, o foco automático do carrossel
 * fazia um card parecer permanentemente em hover.
 *
 * DECISÃO VISUAL
 * - Fundo da seção: off-white/cinza #F6F8FC.
 * - Cards continuam navy para preservar contraste e identidade premium.
 * - Dourado aparece SOMENTE em hover/focus-visible/clique (`is-selected`).
 * - `is-focused` não produz mais borda/glow/CTA dourado.
 * - Carrossel contínuo permanece inalterado no desktop.
 * - Mobile mantém swipe/scroll-snap e mesma linguagem clara.
 *
 * MANUTENÇÃO
 * Não reintroduzir destaque visual automático no card central. O centro
 * pode ser usado internamente para dots/índice, mas não deve simular hover.
 * ====================================================================== */

.blt-professionals-premium{
    background:
        radial-gradient(circle at 86% 14%,rgba(88,118,245,.075),transparent 31%),
        radial-gradient(circle at 12% 82%,rgba(216,174,70,.045),transparent 27%),
        linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%)!important;
    color:#0b326f!important;
}
.blt-professionals-premium::before{
    opacity:.24!important;
    background-image:
        linear-gradient(rgba(16,61,122,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(16,61,122,.045) 1px,transparent 1px)!important;
}
.blt-professionals-premium::after{
    opacity:.34!important;
}

.blt-professionals-premium__copy .blt-kicker{color:#ed2939!important;}
.blt-professionals-premium__copy h2{color:#0b326f!important;}
.blt-professionals-premium__copy p{color:#64748b!important;}
.blt-professionals-premium__all{color:#0b4695!important;}
.blt-professionals-premium__all:hover{color:#bd8a17!important;}

/* Base dos cards: continua escura, mas recebe sombra mais leve sobre fundo claro. */
.blt-professionals-premium .blt-professional-card--premium{
    border-color:rgba(14,48,94,.16)!important;
    box-shadow:0 24px 58px rgba(27,52,91,.13),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* Estado automático/central NÃO deve parecer hover. */
.blt-professionals-premium .blt-professional-card--premium.is-focused{
    transform:translateY(0) scale(.985)!important;
    border-color:rgba(14,48,94,.16)!important;
    box-shadow:0 24px 58px rgba(27,52,91,.13),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.blt-professionals-premium .blt-professional-card--premium.is-focused .blt-professional-card__frame{
    opacity:0!important;
}
.blt-professionals-premium .blt-professional-card--premium.is-focused .blt-professional-card__image img{
    transform:none!important;
    filter:saturate(.96) contrast(1.02)!important;
}
.blt-professionals-premium .blt-professional-card--premium.is-focused .blt-professional-card__cta{
    color:var(--card-accent)!important;
    border-color:color-mix(in srgb,var(--card-accent) 24%,transparent)!important;
    background:color-mix(in srgb,var(--card-accent) 8%,rgba(255,255,255,.02))!important;
    box-shadow:none!important;
}
.blt-professionals-premium .blt-professional-card--premium.is-focused .blt-professional-card__featured{
    display:none!important;
}

/* Ouro EXCLUSIVAMENTE em interação intencional. */
.blt-professionals-premium .blt-professional-card--premium:hover,
.blt-professionals-premium .blt-professional-card--premium:focus-visible,
.blt-professionals-premium .blt-professional-card--premium.is-selected{
    transform:translateY(-10px) scale(1.035)!important;
    border-color:rgba(216,174,70,.78)!important;
    box-shadow:0 30px 70px rgba(35,57,90,.18),0 12px 32px rgba(216,174,70,.16)!important;
}
.blt-professionals-premium .blt-professional-card--premium:hover .blt-professional-card__frame,
.blt-professionals-premium .blt-professional-card--premium:focus-visible .blt-professional-card__frame,
.blt-professionals-premium .blt-professional-card--premium.is-selected .blt-professional-card__frame{opacity:1!important;}
.blt-professionals-premium .blt-professional-card--premium:hover .blt-professional-card__image img,
.blt-professionals-premium .blt-professional-card--premium:focus-visible .blt-professional-card__image img,
.blt-professionals-premium .blt-professional-card--premium.is-selected .blt-professional-card__image img{
    transform:scale(1.055)!important;filter:saturate(1.04) contrast(1.04)!important;
}
.blt-professionals-premium .blt-professional-card--premium:hover .blt-professional-card__cta,
.blt-professionals-premium .blt-professional-card--premium:focus-visible .blt-professional-card__cta,
.blt-professionals-premium .blt-professional-card--premium.is-selected .blt-professional-card__cta{
    color:#16233b!important;border-color:#e3be59!important;
    background:linear-gradient(180deg,#f8dc89,#d8a93d)!important;
    box-shadow:0 10px 24px rgba(216,174,70,.28)!important;
}
.blt-professionals-premium .blt-professional-card--premium:hover .blt-professional-card__featured,
.blt-professionals-premium .blt-professional-card--premium:focus-visible .blt-professional-card__featured,
.blt-professionals-premium .blt-professional-card--premium.is-selected .blt-professional-card__featured{
    display:inline-flex!important;
}

/* Navegação adaptada ao background claro. */
.blt-professional-nav{
    color:#0b4695!important;
    background:rgba(255,255,255,.82)!important;
    border-color:rgba(18,62,120,.12)!important;
    box-shadow:0 14px 34px rgba(32,57,96,.12)!important;
}
.blt-professional-nav:hover{
    color:#a67508!important;
    border-color:rgba(216,174,70,.5)!important;
    background:rgba(255,255,255,.96)!important;
}
.blt-professional-dots button{background:rgba(17,62,120,.18)!important;}
.blt-professional-dots button.is-active{background:#d9ae46!important;}

/* Benefícios: painel branco leve em vez de vidro azul. */
.blt-professional-benefits{
    border:1px solid rgba(15,53,103,.09)!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:0 18px 46px rgba(31,56,94,.07)!important;
}
.blt-professional-benefit>span{
    background:#eef4fc!important;
    color:#b68717!important;
}
.blt-professional-benefit strong{color:#0b326f!important;}
.blt-professional-benefit small{color:#718096!important;}

@media(max-width:699px){
    .blt-professionals-premium{
        background:linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%)!important;
    }
    .blt-professionals-premium .blt-professional-card--premium.is-focused{
        transform:scale(.96)!important;
    }
    .blt-professionals-premium .blt-professional-card--premium.is-selected{
        transform:scale(1)!important;
    }
    .blt-professional-benefits{
        background:rgba(255,255,255,.88)!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.26 — JORNADA DO PACIENTE / ACCORDION PREMIUM
 * ----------------------------------------------------------------------
 * VISUAL
 * Inspirado em accordions editoriais: muito respiro, linhas finas e
 * destaque apenas no item em interação. Evita a sensação de “grade de
 * cards” e cria contraste com as seções mais densas da Home.
 *
 * MOBILE-FIRST
 * A base abaixo já funciona em telas pequenas. Breakpoints maiores apenas
 * aumentam respiro e tipografia. Não depende de hover para funcionar.
 * ====================================================================== */

.blt-journey-accordion{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 0%, rgba(91,121,255,.08), transparent 34%),
        linear-gradient(180deg,#f4f8ff 0%,#edf5ff 100%);
    border-top:1px solid rgba(21,64,124,.07);
    border-bottom:1px solid rgba(21,64,124,.07);
}

.blt-journey-accordion::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.28;
    background-image:radial-gradient(rgba(17,64,127,.12) .7px, transparent .7px);
    background-size:18px 18px;
    mask-image:linear-gradient(to bottom,transparent,black 16%,black 82%,transparent);
}

.blt-journey-accordion__shell{
    position:relative;
    z-index:1;
    max-width:1080px;
}

.blt-journey-accordion__header{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    max-width:760px;
    margin:0 auto 34px;
}

.blt-journey-accordion__mark{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin-bottom:16px;
    border:2px solid rgba(255,255,255,.95);
    border-radius:999px;
    color:#5f8fc7;
    font-size:24px;
    font-weight:500;
    background:rgba(255,255,255,.32);
    box-shadow:0 18px 38px rgba(42,91,151,.12);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.blt-journey-accordion__header .blt-kicker{
    margin-bottom:12px;
    color:#e72833;
}

.blt-journey-accordion__header h2{
    margin:0;
    color:#0f3978;
    font-size:clamp(34px,8vw,54px);
    line-height:.98;
    letter-spacing:-.045em;
}

.blt-journey-accordion__header p{
    max-width:650px;
    margin:18px auto 0;
    color:#6c7f9a;
    font-size:15px;
    line-height:1.65;
}

.blt-journey-accordion__list{
    border-top:1px solid rgba(26,73,126,.13);
}

.blt-journey-item{
    position:relative;
    border-bottom:1px solid rgba(26,73,126,.13);
    transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.blt-journey-item::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:3px;
    height:0;
    border-radius:999px;
    background:linear-gradient(180deg,#536cff,#e92733);
    transform:translateY(-50%);
    transition:height .35s cubic-bezier(.22,.61,.36,1);
}

.blt-journey-item.is-open{
    background:rgba(255,255,255,.22);
}

.blt-journey-item.is-open::before{
    height:54%;
}

.blt-journey-item__trigger{
    appearance:none;
    width:100%;
    min-height:86px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 46px;
    align-items:center;
    gap:14px;
    padding:20px 0;
    border:0;
    background:transparent;
    color:inherit;
    text-align:left;
    cursor:pointer;
    font:inherit;
}

.blt-journey-item__number{
    align-self:start;
    padding-top:3px;
    color:#e92733;
    font-size:13px;
    font-weight:900;
    letter-spacing:.05em;
    transition:color .3s ease,transform .3s ease;
}

.blt-journey-item__copy{
    min-width:0;
}

.blt-journey-item__copy strong{
    display:block;
    color:#123b76;
    font-size:19px;
    line-height:1.18;
    letter-spacing:-.025em;
    transition:color .3s ease,transform .3s ease;
}

.blt-journey-item__copy small{
    display:block;
    margin-top:7px;
    color:#74859e;
    font-size:13px;
    line-height:1.48;
}

.blt-journey-item__toggle{
    position:relative;
    width:38px;
    height:38px;
    justify-self:end;
    border:2px solid rgba(255,255,255,.96);
    border-radius:999px;
    background:rgba(255,255,255,.36);
    box-shadow:0 10px 26px rgba(50,94,150,.1);
    transition:background .35s ease,transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease;
}

.blt-journey-item__toggle span{
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:2px;
    border-radius:3px;
    background:#6095d0;
    transform:translate(-50%,-50%);
    transition:transform .4s cubic-bezier(.22,.61,.36,1),background .3s ease;
}

.blt-journey-item__toggle span:last-child{
    transform:translate(-50%,-50%) rotate(90deg);
}

.blt-journey-item.is-open .blt-journey-item__toggle{
    background:#5c92cb;
    box-shadow:0 12px 28px rgba(58,113,174,.22);
    transform:rotate(90deg);
}

.blt-journey-item.is-open .blt-journey-item__toggle span{
    background:#fff;
}

.blt-journey-item.is-open .blt-journey-item__toggle span:last-child{
    transform:translate(-50%,-50%) rotate(0deg);
}

.blt-journey-item.is-open .blt-journey-item__number{
    color:#536cff;
    transform:translateX(2px);
}

.blt-journey-item.is-open .blt-journey-item__copy strong{
    color:#0b3270;
    transform:translateX(2px);
}

.blt-journey-item__panel{
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .5s cubic-bezier(.22,.61,.36,1),opacity .34s ease;
}

.blt-journey-item__panel-inner{
    min-height:0;
    overflow:hidden;
    padding-left:54px;
    padding-right:50px;
}

.blt-journey-item__panel-inner p{
    max-width:720px;
    margin:0;
    color:#72839a;
    font-size:14px;
    line-height:1.72;
}

.blt-journey-item__cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:15px;
    color:#144b9c;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.blt-journey-item__cta span{
    transition:transform .25s ease;
}

.blt-journey-item__cta:hover span,
.blt-journey-item__cta:focus-visible span{
    transform:translate(3px,-2px);
}

.blt-journey-item.is-open .blt-journey-item__panel{
    grid-template-rows:1fr;
    opacity:1;
}

.blt-journey-item.is-open .blt-journey-item__panel-inner{
    padding-bottom:24px;
}

.blt-journey-item__trigger:focus-visible{
    outline:2px solid #536cff;
    outline-offset:5px;
    border-radius:12px;
}

@media (hover:hover) and (pointer:fine){
    .blt-journey-item:not(.is-open):hover{
        background:rgba(255,255,255,.13);
    }
    .blt-journey-item:not(.is-open):hover .blt-journey-item__copy strong{
        transform:translateX(4px);
    }
    .blt-journey-item:not(.is-open):hover .blt-journey-item__toggle{
        transform:scale(1.06);
        box-shadow:0 14px 28px rgba(58,113,174,.16);
    }
}

/* Mobile muito estreito: mantém hierarquia sem esmagar o texto. */
@media(max-width:479px){
    .blt-journey-accordion__header{
        align-items:flex-start;
        text-align:left;
        margin-bottom:24px;
    }
    .blt-journey-accordion__mark{
        width:46px;
        height:46px;
        font-size:21px;
        margin-bottom:14px;
    }
    .blt-journey-accordion__header h2{
        font-size:clamp(34px,11vw,46px);
    }
    .blt-journey-accordion__header p{
        margin-left:0;
        margin-right:0;
        font-size:14px;
    }
    .blt-journey-item__trigger{
        grid-template-columns:32px minmax(0,1fr) 42px;
        gap:10px;
        min-height:80px;
        padding:17px 0;
    }
    .blt-journey-item__copy strong{
        font-size:17px;
    }
    .blt-journey-item__copy small{
        font-size:12px;
    }
    .blt-journey-item__toggle{
        width:36px;
        height:36px;
    }
    .blt-journey-item__panel-inner{
        padding-left:42px;
        padding-right:18px;
    }
}

@media(min-width:768px){
    .blt-journey-accordion__header{
        margin-bottom:46px;
    }
    .blt-journey-accordion__header h2{
        font-size:58px;
    }
    .blt-journey-accordion__header p{
        font-size:17px;
    }
    .blt-journey-item__trigger{
        grid-template-columns:58px minmax(0,1fr) 52px;
        gap:20px;
        min-height:104px;
        padding:24px 20px;
    }
    .blt-journey-item__number{
        font-size:15px;
    }
    .blt-journey-item__copy strong{
        font-size:23px;
    }
    .blt-journey-item__copy small{
        font-size:15px;
    }
    .blt-journey-item__toggle{
        width:42px;
        height:42px;
    }
    .blt-journey-item__panel-inner{
        padding-left:98px;
        padding-right:84px;
    }
    .blt-journey-item__panel-inner p{
        font-size:16px;
    }
    .blt-journey-item.is-open .blt-journey-item__panel-inner{
        padding-bottom:30px;
    }
}

@media(prefers-reduced-motion:reduce){
    .blt-journey-item,
    .blt-journey-item::before,
    .blt-journey-item__number,
    .blt-journey-item__copy strong,
    .blt-journey-item__toggle,
    .blt-journey-item__toggle span,
    .blt-journey-item__panel,
    .blt-journey-item__cta span{
        transition:none!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.28 — BIOLIFE EM NÚMEROS
 * ----------------------------------------------------------------------
 * A antiga grade de placeholders foi substituída por uma seção editorial
 * com métricas reais, motion de entrada e contagem progressiva.
 *
 * MOBILE-FIRST
 * - Até 560px: rail horizontal com scroll-snap; 1 card principal por vez.
 * - 561–899px: grid 2x2.
 * - >=900px: quatro cards em linha.
 * ====================================================================== */

.blt-numbers-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 8% 12%,rgba(85,111,255,.08),transparent 26%),
        radial-gradient(circle at 92% 78%,rgba(217,173,65,.09),transparent 28%),
        linear-gradient(180deg,#f7f9fd 0%,#f2f6fb 100%);
}

.blt-numbers-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.28;
    background-image:radial-gradient(rgba(18,58,122,.13) .7px,transparent .7px);
    background-size:18px 18px;
    mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}

.blt-numbers-heading{
    position:relative;
    z-index:1;
    display:grid;
    gap:18px;
    margin-bottom:34px;
}

.blt-numbers-heading h2{
    max-width:760px;
    margin:10px 0 0;
    color:var(--blt-blue-deep);
    font-size:clamp(36px,6vw,66px);
    line-height:.98;
    letter-spacing:-.045em;
}

.blt-numbers-heading p{
    max-width:560px;
    margin:0;
    color:var(--blt-muted);
    font-size:clamp(16px,2vw,19px);
    line-height:1.65;
}

.blt-numbers-grid{
    position:relative;
    z-index:1;
    display:grid;
    gap:16px;
}

.blt-number-card{
    --blt-number-accent:#4b67ff;
    position:relative;
    isolation:isolate;
    min-height:260px;
    padding:24px;
    overflow:hidden;
    border:1px solid rgba(15,54,112,.10);
    border-radius:28px;
    background:rgba(255,255,255,.78);
    box-shadow:0 18px 50px rgba(26,58,112,.07);
    backdrop-filter:blur(18px) saturate(125%);
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    transform:translate3d(0,0,0);
    transition:border-color .4s ease,box-shadow .4s ease,transform .4s cubic-bezier(.2,.8,.2,1),background .4s ease;
}

.blt-number-card::before{
    content:"";
    position:absolute;
    z-index:-1;
    width:180px;
    height:180px;
    right:-58px;
    top:-72px;
    border-radius:50%;
    background:radial-gradient(circle,color-mix(in srgb,var(--blt-number-accent) 22%,transparent),transparent 70%);
    filter:blur(2px);
    transition:transform .6s ease,opacity .4s ease;
}

.blt-number-card::after{
    content:"";
    position:absolute;
    inset:-80% -120%;
    pointer-events:none;
    background:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.48) 50%,transparent 56%);
    transform:translateX(-34%) rotate(6deg);
    opacity:0;
}

.blt-number-card--violet{--blt-number-accent:#7857f6}
.blt-number-card--green{--blt-number-accent:#18a775}
.blt-number-card--gold{--blt-number-accent:#c99a27}

.blt-number-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.blt-number-card__icon{
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    border-radius:15px;
    color:var(--blt-number-accent);
    background:color-mix(in srgb,var(--blt-number-accent) 10%,#fff);
    border:1px solid color-mix(in srgb,var(--blt-number-accent) 16%,transparent);
}

.blt-number-card__icon svg{
    width:22px;
    height:22px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.blt-number-card__eyebrow{
    color:color-mix(in srgb,var(--blt-number-accent) 82%,#233);
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
}

.blt-number-card__value{
    display:flex;
    align-items:flex-end;
    gap:3px;
    margin-top:34px;
    color:var(--blt-blue-deep);
}

.blt-number-card__value strong{
    font-size:clamp(52px,7vw,82px);
    line-height:.82;
    letter-spacing:-.065em;
    font-weight:900;
}

.blt-number-card__value em{
    padding-bottom:5px;
    color:var(--blt-number-accent);
    font-size:clamp(28px,4vw,42px);
    line-height:1;
    font-style:normal;
    font-weight:900;
}

.blt-number-card h3{
    margin:22px 0 7px;
    color:var(--blt-blue-deep);
    font-size:20px;
    line-height:1.18;
}

.blt-number-card p{
    max-width:30ch;
    margin:0;
    color:var(--blt-muted);
    font-size:14px;
    line-height:1.55;
}

.blt-number-card__line{
    position:absolute;
    left:24px;
    bottom:19px;
    width:40px;
    height:3px;
    overflow:hidden;
    border-radius:999px;
    background:color-mix(in srgb,var(--blt-number-accent) 30%,transparent);
}

.blt-number-card__line::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:var(--blt-number-accent);
    transform:scaleX(.34);
    transform-origin:left center;
    transition:transform .45s cubic-bezier(.2,.8,.2,1);
}

.blt-number-card.is-visible{
    animation:bltNumberCardEnter .75s cubic-bezier(.2,.8,.2,1) both;
    animation-delay:var(--blt-number-delay,0ms);
}

@keyframes bltNumberCardEnter{
    from{opacity:0;transform:translate3d(0,26px,0) scale(.975)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@media (hover:hover) and (pointer:fine){
    .blt-number-card:hover{
        border-color:color-mix(in srgb,var(--blt-number-accent) 50%,transparent);
        background:rgba(255,255,255,.94);
        box-shadow:0 26px 70px rgba(26,58,112,.13),0 0 0 1px color-mix(in srgb,var(--blt-number-accent) 18%,transparent);
        transform:translate3d(0,-8px,0) rotateX(1.6deg) rotateY(-1.2deg);
    }
    .blt-number-card:hover::before{transform:scale(1.15) translate(-8px,8px)}
    .blt-number-card:hover::after{opacity:1;animation:bltNumberShine 1.15s ease both}
    .blt-number-card:hover .blt-number-card__line::after{transform:scaleX(1)}
}

@keyframes bltNumberShine{
    from{transform:translateX(-40%) rotate(6deg)}
    to{transform:translateX(44%) rotate(6deg)}
}

@media (min-width:561px){
    .blt-numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:900px){
    .blt-numbers-heading{grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);align-items:end;margin-bottom:42px}
    .blt-numbers-heading p{justify-self:end}
    .blt-numbers-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
    .blt-number-card:nth-child(2),.blt-number-card:nth-child(4){transform:translateY(18px)}
    .blt-number-card:nth-child(2).is-visible,.blt-number-card:nth-child(4).is-visible{animation-name:bltNumberCardEnterOffset}
}

@keyframes bltNumberCardEnterOffset{
    from{opacity:0;transform:translate3d(0,44px,0) scale(.975)}
    to{opacity:1;transform:translate3d(0,18px,0) scale(1)}
}

@media (max-width:560px){
    .blt-numbers-section{padding-bottom:54px}
    .blt-numbers-heading{margin-bottom:26px}
    .blt-numbers-heading h2{font-size:clamp(34px,11vw,48px)}
    .blt-numbers-heading p{font-size:15px}
    .blt-numbers-grid{
        display:flex;
        gap:14px;
        width:calc(100% + 24px);
        margin-right:-24px;
        padding-right:24px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .blt-numbers-grid::-webkit-scrollbar{display:none}
    .blt-number-card{
        flex:0 0 min(84vw,330px);
        min-height:244px;
        scroll-snap-align:start;
        padding:22px;
        border-radius:24px;
    }
    .blt-number-card__value{margin-top:30px}
    .blt-number-card__value strong{font-size:60px}
    .blt-number-card h3{font-size:19px}
}

@media (prefers-reduced-motion:reduce){
    .blt-number-card,.blt-number-card.is-visible{animation:none!important;transition:none!important;transform:none!important}
    .blt-number-card::after{display:none!important}
}


/* ======================================================================
 * BIOLIFE 0.3.30 — MOTION ENGINE GLOBAL
 * ======================================================================
 *
 * OBJETIVO
 * Unificar o motion da Home. Antes, cada componente tinha sua própria
 * animação, mas as seções ainda pareciam blocos isolados.
 *
 * SISTEMA
 * - tokens globais de duração/easing/distância;
 * - reveal por seção;
 * - stagger de filhos relevantes;
 * - glows ambientais reativos ao scroll;
 * - transições suaves entre blocos;
 * - parâmetros próprios para mobile;
 * - fallback integral em prefers-reduced-motion.
 *
 * REGRA DE MANUTENÇÃO
 * Não aplicar transform diretamente em elementos que já tenham motion
 * estrutural (carrosséis, tracks e cards orbitais). O engine aplica motion
 * em headings, copies e wrappers seguros.
 * ====================================================================== */

:root{
    --blt-motion-ease:cubic-bezier(.22,1,.36,1);
    --blt-motion-ease-soft:cubic-bezier(.25,.8,.25,1);
    --blt-motion-fast:420ms;
    --blt-motion-base:760ms;
    --blt-motion-slow:1100ms;
    --blt-motion-distance:34px;
    --blt-motion-stagger:78ms;
    --blt-motion-glow-x:50%;
    --blt-motion-glow-y:50%;
}

/* Cada seção ganha contexto próprio sem criar um novo "quadrado" visual. */
[data-motion-section]{
    position:relative;
    isolation:isolate;
    --blt-section-progress:0;
    --blt-section-enter:0;
}

/* Atmosfera contínua: o glow se move discretamente conforme o progresso
 * da seção. pointer-events:none evita qualquer impacto em UX/touch. */
[data-motion-section]::selection{background:rgba(78,104,245,.15)}

.blt-motion-atmosphere{
    position:absolute;
    z-index:-1;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.blt-motion-atmosphere::before,
.blt-motion-atmosphere::after{
    content:"";
    position:absolute;
    border-radius:50%;
    opacity:calc(.12 + (var(--blt-section-enter) * .16));
    filter:blur(2px);
    will-change:transform,opacity;
    transition:opacity var(--blt-motion-base) var(--blt-motion-ease);
}

.blt-motion-atmosphere::before{
    width:min(48vw,680px);
    aspect-ratio:1;
    right:-16%;
    top:-24%;
    background:radial-gradient(circle,rgba(83,105,245,.16),rgba(83,105,245,0) 68%);
    transform:translate3d(0,calc((var(--blt-section-progress) - .5) * 26px),0);
}

.blt-motion-atmosphere::after{
    width:min(36vw,500px);
    aspect-ratio:1;
    left:-12%;
    bottom:-30%;
    background:radial-gradient(circle,rgba(227,38,46,.07),rgba(227,38,46,0) 70%);
    transform:translate3d(0,calc((.5 - var(--blt-section-progress)) * 18px),0);
}

/* Elementos registrados pelo engine. Ficam legíveis sem JS; somente quando
 * `.blt-motion-ready` existe o estado inicial é escondido. */
html.blt-motion-ready [data-motion-item]{
    opacity:0;
    transform:translate3d(0,var(--blt-motion-y,var(--blt-motion-distance)),0)
              scale(var(--blt-motion-scale,.985));
    filter:blur(var(--blt-motion-blur,4px));
    transition:
        opacity var(--blt-motion-base) var(--blt-motion-ease),
        transform var(--blt-motion-base) var(--blt-motion-ease),
        filter var(--blt-motion-base) var(--blt-motion-ease);
    transition-delay:var(--blt-motion-delay,0ms);
    will-change:opacity,transform,filter;
}

html.blt-motion-ready [data-motion-section].is-motion-visible [data-motion-item]{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
}

/* Variações semânticas definidas pelo JS. */
[data-motion-item="title"]{--blt-motion-y:28px;--blt-motion-scale:.99;--blt-motion-blur:2px}
[data-motion-item="copy"]{--blt-motion-y:22px;--blt-motion-scale:1;--blt-motion-blur:2px}
[data-motion-item="visual"]{--blt-motion-y:30px;--blt-motion-scale:.975;--blt-motion-blur:3px}
[data-motion-item="control"]{--blt-motion-y:16px;--blt-motion-scale:.985;--blt-motion-blur:1px}

/* Linha de continuidade entre algumas seções: aparece no centro e dissolve,
 * fazendo a página parecer uma narrativa contínua, não uma pilha de blocos. */
[data-motion-section].blt-motion-bridge::after{
    content:"";
    position:absolute;
    z-index:20;
    left:50%;
    bottom:-38px;
    width:1px;
    height:76px;
    background:linear-gradient(to bottom,rgba(69,99,228,.32),rgba(69,99,228,0));
    transform:scaleY(var(--blt-section-enter));
    transform-origin:top center;
    opacity:.7;
    pointer-events:none;
}

/* Headings ganham micro-resposta ambiental, separada dos carrosséis. */
@media (min-width:980px) and (hover:hover) and (pointer:fine){
    [data-motion-section].is-motion-visible [data-motion-item="title"]{
        text-shadow:0 18px 60px rgba(27,56,107,.025);
    }
}

/* MOBILE-FIRST: menor deslocamento, blur menor, duração mais rápida.
 * O objetivo é manter percepção de qualidade sem atrasar leitura/touch. */
@media (max-width:699px){
    :root{
        --blt-motion-base:620ms;
        --blt-motion-slow:860ms;
        --blt-motion-distance:20px;
        --blt-motion-stagger:54ms;
    }

    html.blt-motion-ready [data-motion-item]{
        --blt-motion-blur:1.5px;
    }

    .blt-motion-atmosphere::before{
        width:88vw;
        right:-50%;
        top:-12%;
        opacity:.10;
    }

    .blt-motion-atmosphere::after{
        width:76vw;
        left:-44%;
        bottom:-18%;
        opacity:.06;
    }

    [data-motion-section].blt-motion-bridge::after{
        bottom:-24px;
        height:48px;
    }
}

/* Tablet recebe amplitude intermediária. */
@media (min-width:700px) and (max-width:979px){
    :root{
        --blt-motion-base:680ms;
        --blt-motion-distance:26px;
        --blt-motion-stagger:64ms;
    }
}

/* Acessibilidade: nenhuma animação é necessária para compreender a Home. */
@media (prefers-reduced-motion:reduce){
    html.blt-motion-ready [data-motion-item],
    html.blt-motion-ready [data-motion-section].is-motion-visible [data-motion-item]{
        opacity:1!important;
        transform:none!important;
        filter:none!important;
        transition:none!important;
    }

    .blt-motion-atmosphere,
    [data-motion-section].blt-motion-bridge::after{
        display:none!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.32 — BUSCA INTELIGENTE
 * ----------------------------------------------------------------------
 * PROPÓSITO
 * Busca premium e responsiva sem depender de plugin externo.
 *
 * MANUTENÇÃO
 * - Cores usam a linguagem atual do BIOLIFE.
 * - Evitar alturas fixas no painel de resultados.
 * - Mobile deve continuar sem overflow e sem hover obrigatório.
 * ====================================================================== */
.blt-smart-search{
    position:relative;
    padding:34px 0 54px;
    background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
    overflow:clip;
}
.blt-smart-search::before{
    content:"";
    position:absolute;
    width:440px;height:440px;
    right:-170px;top:-230px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(53,91,196,.11),rgba(53,91,196,0) 70%);
    pointer-events:none;
}
.blt-smart-search__panel{
    position:relative;
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(460px,1.28fr);
    gap:46px;
    align-items:center;
    padding:34px 38px;
    border:1px solid rgba(22,52,100,.08);
    border-radius:30px;
    background:rgba(255,255,255,.82);
    box-shadow:0 24px 70px rgba(24,51,94,.08);
    backdrop-filter:blur(18px) saturate(135%);
    -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.blt-smart-search__intro h2{
    margin:8px 0 9px;
    max-width:440px;
    color:#102f62;
    font-size:clamp(28px,3vw,44px);
    line-height:1.03;
    letter-spacing:-.04em;
}
.blt-smart-search__intro p{
    margin:0;
    max-width:480px;
    color:#65738a;
    font-size:14px;
    line-height:1.65;
}
.blt-smart-search__experience{position:relative;min-width:0}
.blt-smart-search__field{
    position:relative;
    display:flex;
    align-items:center;
    min-height:62px;
    border:1px solid rgba(21,55,111,.13);
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 34px rgba(26,58,110,.08);
    transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.blt-smart-search__field:focus-within{
    border-color:rgba(208,169,77,.72);
    box-shadow:0 18px 44px rgba(26,58,110,.10),0 0 0 4px rgba(208,169,77,.10);
    transform:translateY(-1px);
}
.blt-smart-search__icon{
    flex:0 0 auto;
    margin-left:20px;
    color:#173d78;
    font-size:28px;
    line-height:1;
}
.blt-smart-search__field input{
    width:100%;
    min-width:0;
    height:60px;
    padding:0 46px 0 14px;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#17345f;
    font:inherit;
    font-size:14px;
}
.blt-smart-search__field input::placeholder{color:#98a3b4}
.blt-smart-search__clear{
    position:absolute;
    right:12px;top:50%;
    width:36px;height:36px;
    transform:translateY(-50%);
    border:0;
    border-radius:50%;
    background:#f2f5f9;
    color:#64748b;
    font-size:20px;
    cursor:pointer;
    opacity:0;
    pointer-events:none;
    transition:.2s ease;
}
.blt-smart-search.has-query .blt-smart-search__clear{opacity:1;pointer-events:auto}
.blt-smart-search__quick{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:12px;
}
.blt-smart-search__quick button,
.blt-smart-search__quick a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:8px 13px;
    border:1px solid rgba(22,55,107,.08);
    border-radius:999px;
    background:#f7f9fc;
    color:#39516f;
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
    transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}
.blt-smart-search__quick button:hover,
.blt-smart-search__quick a:hover{
    transform:translateY(-2px);
    border-color:rgba(208,169,77,.45);
    background:#fff;
    color:#173d78;
}
.blt-smart-search__results{
    position:absolute;
    z-index:30;
    left:0;right:0;
    top:76px;
    max-height:min(430px,58vh);
    overflow:auto;
    padding:9px;
    border:1px solid rgba(21,55,111,.09);
    border-radius:20px;
    background:rgba(255,255,255,.98);
    box-shadow:0 24px 70px rgba(16,47,98,.17);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
}
.blt-smart-search__results[hidden]{display:none!important}
.blt-search-result{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 28px;
    gap:12px;
    align-items:center;
    padding:11px 12px;
    border-radius:14px;
    color:#17345f;
    text-decoration:none;
    transition:background .18s ease,transform .18s ease;
}
.blt-search-result:hover,
.blt-search-result.is-active{
    background:#f3f6fb;
    transform:translateX(2px);
}
.blt-search-result__badge{
    display:grid;
    place-items:center;
    width:42px;height:42px;
    border-radius:13px;
    background:#edf2fb;
    color:#244d91;
    font-size:17px;
}
.blt-search-result--professional .blt-search-result__badge{
    background:#fff0f1;
    color:#c83c49;
}
.blt-search-result strong{
    display:block;
    margin-bottom:2px;
    color:#15386f;
    font-size:13px;
}
.blt-search-result small{
    display:block;
    color:#7a879a;
    font-size:10px;
}
.blt-search-result__arrow{color:#a2adbc;font-size:17px}
.blt-search-empty{
    padding:20px 16px;
    text-align:center;
    color:#718096;
    font-size:12px;
}
.blt-search-empty strong{
    display:block;
    margin-bottom:4px;
    color:#173d78;
    font-size:13px;
}

@media(max-width:900px){
    .blt-smart-search{padding:26px 0 42px}
    .blt-smart-search__panel{
        grid-template-columns:1fr;
        gap:22px;
        padding:28px;
        border-radius:26px;
    }
    .blt-smart-search__intro h2{font-size:clamp(27px,7vw,38px)}
}
@media(max-width:600px){
    .blt-smart-search{padding:18px 0 34px}
    .blt-smart-search__panel{
        gap:18px;
        padding:22px 16px 18px;
        border-radius:22px;
    }
    .blt-smart-search__intro h2{
        margin-top:6px;
        font-size:29px;
        line-height:1.06;
    }
    .blt-smart-search__intro p{font-size:12.5px;line-height:1.55}
    .blt-smart-search__field{min-height:56px;border-radius:17px}
    .blt-smart-search__field input{
        height:54px;
        padding-left:10px;
        font-size:12.5px;
    }
    .blt-smart-search__icon{margin-left:15px;font-size:23px}
    .blt-smart-search__quick{
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:7px;
    }
    .blt-smart-search__quick button,
    .blt-smart-search__quick a{
        justify-content:center;
        min-width:0;
        min-height:42px;
        padding:7px 6px;
        font-size:9.5px;
        white-space:nowrap;
    }
    .blt-smart-search__results{
        position:relative;
        top:auto;
        margin-top:10px;
        max-height:390px;
        border-radius:17px;
        box-shadow:0 18px 44px rgba(16,47,98,.13);
    }
    .blt-search-result{grid-template-columns:38px minmax(0,1fr) 22px;padding:10px 8px}
    .blt-search-result__badge{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
    .blt-smart-search *,
    .blt-smart-search *::before,
    .blt-smart-search *::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.35 — CORREÇÃO DO PAINEL DE RESULTADOS DA BUSCA
 * ----------------------------------------------------------------------
 * PROBLEMA IDENTIFICADO
 * A busca funcionava corretamente, porém a própria seção utilizava
 * `overflow: clip`. O painel de resultados é absoluto e ultrapassa a
 * altura do card; por isso as opções inferiores eram visualmente cortadas
 * quando chegavam perto da faixa de especialidades seguinte.
 *
 * CORREÇÃO
 * - Permitir overflow vertical na seção da busca.
 * - Elevar o z-index da seção/painel enquanto houver resultados.
 * - Manter altura máxima com rolagem interna caso existam muitos itens.
 * - Adicionar scrollbar discreta para sinalizar que há mais resultados.
 *
 * RISCO DE REGRESSÃO
 * Não voltar `overflow:hidden/clip` para `.blt-smart-search` sem mover o
 * dropdown para um portal fora da seção, pois isso recria o corte.
 *
 * MOBILE
 * Em telas pequenas o painel já entra no fluxo (`position: relative`),
 * então não há sobreposição. Mantemos a rolagem interna apenas quando
 * necessário e área de toque confortável.
 * ====================================================================== */

.blt-smart-search{
    overflow:visible !important;
    z-index:40;
}

.blt-smart-search__panel{
    overflow:visible !important;
    z-index:41;
}

.blt-smart-search__experience{
    z-index:42;
}

.blt-smart-search__results{
    z-index:80 !important;
    max-height:min(470px,62vh) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(31,72,132,.28) transparent;
}

.blt-smart-search__results::-webkit-scrollbar{
    width:8px;
}

.blt-smart-search__results::-webkit-scrollbar-track{
    background:transparent;
}

.blt-smart-search__results::-webkit-scrollbar-thumb{
    border:2px solid transparent;
    border-radius:999px;
    background:rgba(31,72,132,.24);
    background-clip:padding-box;
}

/* Garante que a faixa imediatamente posterior não cubra o dropdown. */
.blt-smart-search + .blt-trust-strip,
.blt-smart-search + section{
    position:relative;
    z-index:1;
}

@media(max-width:600px){
    .blt-smart-search{
        z-index:auto;
    }

    .blt-smart-search__panel,
    .blt-smart-search__experience{
        z-index:auto;
    }

    .blt-smart-search__results{
        max-height:420px !important;
        overflow-y:auto !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.36 — AGENDAMENTO PREMIUM
 * ----------------------------------------------------------------------
 * PROPÓSITO
 * Interface em etapas com aparência de produto digital, mantendo clareza,
 * verdade sobre disponibilidade e excelente uso no mobile.
 *
 * MANUTENÇÃO
 * - Não usar horários "falsamente disponíveis".
 * - Se houver API real no futuro, substituir apenas a fonte de dados e a
 *   etapa 4; preservar a estrutura e estados.
 * - O body recebe `.blt-booking-open` para impedir scroll atrás do dialog.
 * ====================================================================== */

body.blt-booking-open{overflow:hidden}

.blt-booking{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:24px;
}
.blt-booking[hidden]{display:none!important}
.blt-booking__backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,24,49,.46);
    backdrop-filter:blur(12px) saturate(120%);
    -webkit-backdrop-filter:blur(12px) saturate(120%);
}
.blt-booking__dialog{
    position:relative;
    width:min(1040px,96vw);
    max-height:min(860px,94vh);
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.72);
    border-radius:32px;
    background:rgba(250,252,255,.96);
    box-shadow:0 42px 110px rgba(7,28,66,.30);
}
.blt-booking__header{
    display:flex;
    justify-content:space-between;
    gap:30px;
    padding:28px 30px 18px;
}
.blt-booking__header h2{
    margin:6px 0 5px;
    color:#0e3268;
    font-size:clamp(28px,3vw,42px);
    line-height:1.02;
    letter-spacing:-.04em;
}
.blt-booking__header p{
    margin:0;
    color:#748195;
    font-size:13px;
}
.blt-booking__close{
    flex:0 0 auto;
    width:44px;height:44px;
    border:1px solid rgba(19,54,108,.10);
    border-radius:50%;
    background:#fff;
    color:#58708f;
    font-size:25px;
    cursor:pointer;
    transition:.2s ease;
}
.blt-booking__close:hover{
    transform:rotate(8deg);
    border-color:rgba(201,168,76,.45);
    color:#173d78;
}
.blt-booking__progress{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin:0 30px;
    padding:10px;
    border:1px solid rgba(18,52,101,.08);
    border-radius:18px;
    background:#f2f5fa;
}
.blt-booking__progress button{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#8691a2;
    font-size:10px;
    font-weight:800;
    cursor:default;
}
.blt-booking__progress button b{
    display:grid;
    place-items:center;
    width:24px;height:24px;
    border-radius:50%;
    background:#e3e8f1;
    color:#66758b;
    font-size:10px;
}
.blt-booking__progress button.is-active{
    background:#fff;
    color:#173d78;
    box-shadow:0 8px 20px rgba(21,52,98,.07);
}
.blt-booking__progress button.is-active b,
.blt-booking__progress button.is-done b{
    background:#173f87;
    color:#fff;
}
.blt-booking__progress button.is-done{color:#476283}

.blt-booking__body{
    min-height:0;
    overflow:auto;
    padding:26px 30px 30px;
}
.blt-booking-step[hidden]{display:none!important}
.blt-booking-step{
    animation:bltBookingIn .36s cubic-bezier(.22,.8,.28,1) both;
}
@keyframes bltBookingIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:none}
}
.blt-booking-step__intro{
    display:flex;
    gap:16px;
    align-items:flex-start;
    margin-bottom:20px;
}
.blt-booking-step__intro>span{
    color:#ed2f3a;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
}
.blt-booking-step__intro h3{
    margin:0 0 4px;
    color:#11366f;
    font-size:23px;
    letter-spacing:-.03em;
}
.blt-booking-step__intro p{
    margin:0;
    color:#7b889b;
    font-size:12px;
}

.blt-booking-options{
    display:grid;
    gap:12px;
}
.blt-booking-options--specialties{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.blt-booking-options--professionals{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.blt-booking-option{
    position:relative;
    min-height:112px;
    padding:16px;
    border:1px solid rgba(20,55,110,.09);
    border-radius:19px;
    background:#fff;
    color:#17345f;
    text-align:left;
    cursor:pointer;
    box-shadow:0 11px 28px rgba(25,54,101,.045);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.blt-booking-option:hover{
    transform:translateY(-3px);
    border-color:rgba(201,168,76,.48);
    box-shadow:0 16px 34px rgba(25,54,101,.08);
}
.blt-booking-option.is-selected{
    border-color:#d0aa4f;
    box-shadow:0 0 0 3px rgba(208,170,79,.12),0 18px 42px rgba(25,54,101,.09);
}
.blt-booking-option__index{
    display:block;
    margin-bottom:22px;
    color:#df3340;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.blt-booking-option strong{
    display:block;
    margin-bottom:5px;
    color:#143a76;
    font-size:14px;
}
.blt-booking-option small{
    display:block;
    color:#8691a2;
    font-size:10px;
    line-height:1.45;
}
.blt-booking-option--professional{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:12px;
    min-height:94px;
}
.blt-booking-option--professional img,
.blt-booking-option__avatar{
    width:58px;height:58px;
    border-radius:16px;
    object-fit:cover;
    background:#edf2f9;
}
.blt-booking-option__avatar{
    display:grid;
    place-items:center;
    color:#5372a3;
    font-weight:900;
}

.blt-booking-empty{
    padding:24px;
    border:1px dashed rgba(22,54,105,.16);
    border-radius:18px;
    background:#f7f9fc;
    color:#738095;
    text-align:center;
    font-size:12px;
}

.blt-booking-date{
    display:grid;
    grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);
    gap:18px;
}
.blt-booking-date label,
.blt-booking-date__note{
    padding:20px;
    border:1px solid rgba(20,55,110,.09);
    border-radius:20px;
    background:#fff;
}
.blt-booking-date label span{
    display:block;
    margin-bottom:10px;
    color:#173d78;
    font-size:11px;
    font-weight:800;
}
.blt-booking-date input{
    width:100%;
    min-height:52px;
    padding:0 14px;
    border:1px solid rgba(21,55,111,.14);
    border-radius:14px;
    background:#f8fafc;
    color:#193965;
    font:inherit;
}
.blt-booking-date__note{
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:linear-gradient(135deg,#f7f9fd,#eef4ff);
}
.blt-booking-date__note strong{
    color:#173d78;
    font-size:13px;
}
.blt-booking-date__note span{
    margin-top:5px;
    color:#748195;
    font-size:11px;
    line-height:1.5;
}

.blt-booking-options--periods{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.blt-booking-options--periods button{
    min-height:150px;
    padding:20px;
    border:1px solid rgba(21,55,111,.09);
    border-radius:22px;
    background:#fff;
    color:#17345f;
    cursor:pointer;
    text-align:left;
    transition:.22s ease;
}
.blt-booking-options--periods button:hover,
.blt-booking-options--periods button.is-selected{
    transform:translateY(-3px);
    border-color:#d0aa4f;
    box-shadow:0 0 0 3px rgba(208,170,79,.10),0 18px 38px rgba(26,55,103,.08);
}
.blt-booking-options--periods button>span{
    display:grid;
    place-items:center;
    width:42px;height:42px;
    margin-bottom:22px;
    border-radius:14px;
    background:#edf3fd;
    color:#173f87;
    font-size:20px;
}
.blt-booking-options--periods strong{
    display:block;
    color:#153a75;
    font-size:16px;
}
.blt-booking-options--periods small{
    display:block;
    margin-top:5px;
    color:#8290a2;
    font-size:10px;
}

.blt-booking-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.blt-booking-summary__item{
    padding:16px 18px;
    border:1px solid rgba(20,55,110,.08);
    border-radius:17px;
    background:#fff;
}
.blt-booking-summary__item small{
    display:block;
    margin-bottom:5px;
    color:#e7323e;
    font-size:8px;
    font-weight:900;
    letter-spacing:.13em;
}
.blt-booking-summary__item strong{
    color:#163a74;
    font-size:13px;
}
.blt-booking-confirm-note{
    display:flex;
    gap:12px;
    margin-top:14px;
    padding:16px 18px;
    border-radius:18px;
    background:#edf8f2;
}
.blt-booking-confirm-note>span{
    display:grid;
    place-items:center;
    width:34px;height:34px;
    flex:0 0 auto;
    border-radius:50%;
    background:#d8f3e3;
    color:#1a9b5c;
}
.blt-booking-confirm-note strong{
    color:#205f46;
    font-size:12px;
}
.blt-booking-confirm-note p{
    margin:3px 0 0;
    color:#628071;
    font-size:10px;
    line-height:1.45;
}

.blt-booking__footer{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:16px 30px 20px;
    border-top:1px solid rgba(20,55,110,.07);
    background:rgba(250,252,255,.94);
}
.blt-booking__back,
.blt-booking__next,
.blt-booking__send{
    min-height:46px;
    padding:0 20px;
    border-radius:14px;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}
.blt-booking__back{
    border:1px solid rgba(21,55,111,.10);
    background:#fff;
    color:#65758c;
}
.blt-booking__next,
.blt-booking__send{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    background:linear-gradient(135deg,#244fdc,#536dff);
    color:#fff;
    box-shadow:0 10px 26px rgba(49,79,211,.22);
}
.blt-booking__next:disabled{
    opacity:.45;
    cursor:not-allowed;
    box-shadow:none;
}
.blt-booking__send[hidden]{display:none!important}

@media(max-width:820px){
    .blt-booking{
        place-items:end center;
        padding:0;
    }
    .blt-booking__dialog{
        width:100%;
        max-height:96dvh;
        border-radius:28px 28px 0 0;
    }
    .blt-booking__header{
        padding:20px 18px 13px;
    }
    .blt-booking__header h2{font-size:28px}
    .blt-booking__header p{font-size:11px;line-height:1.45}
    .blt-booking__progress{
        margin:0 14px;
        padding:6px;
        grid-template-columns:repeat(5,1fr);
    }
    .blt-booking__progress button{
        min-height:36px;
        gap:0;
    }
    .blt-booking__progress button span{display:none}
    .blt-booking__progress button b{width:26px;height:26px}
    .blt-booking__body{
        padding:20px 16px 24px;
    }
    .blt-booking-options--specialties{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .blt-booking-options--professionals{
        grid-template-columns:1fr;
    }
    .blt-booking-date{
        grid-template-columns:1fr;
    }
    .blt-booking-options--periods{
        grid-template-columns:1fr;
    }
    .blt-booking-options--periods button{
        min-height:96px;
        display:grid;
        grid-template-columns:42px minmax(0,1fr);
        gap:0 12px;
        align-items:center;
    }
    .blt-booking-options--periods button>span{
        grid-row:1/3;
        margin:0;
    }
    .blt-booking-summary{
        grid-template-columns:1fr;
    }
    .blt-booking__footer{
        padding:12px 14px max(14px,env(safe-area-inset-bottom));
        position:sticky;
        bottom:0;
    }
    .blt-booking__back,
    .blt-booking__next,
    .blt-booking__send{
        min-height:50px;
    }
    .blt-booking__next,
    .blt-booking__send{
        flex:1;
    }
}
@media(max-width:430px){
    .blt-booking-options--specialties{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .blt-booking-option{
        min-height:96px;
        padding:13px;
    }
    .blt-booking-option__index{margin-bottom:14px}
    .blt-booking__close{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
    .blt-booking *,
    .blt-booking *::before,
    .blt-booking *::after{
        animation-duration:.01ms!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.37 — MOBILE EXPERIENCE RECOVERY LAYER
 * ----------------------------------------------------------------------
 * INCIDENTE
 * No iPhone, várias melhorias visuais e motions desenvolvidas nas versões
 * anteriores não estavam perceptíveis. A causa estrutural era uma soma de:
 * - regras mobile antigas sobrescrevendo transforms/opacity;
 * - seções com motion configurado apenas para desktop;
 * - componentes que perdiam profundidade ao empilhar;
 * - ausência de uma camada mobile final com maior especificidade.
 *
 * OBJETIVO
 * Garantir que o mobile tenha experiência própria, premium e perceptível,
 * sem ser apenas uma versão reduzida do desktop.
 *
 * REGRA DE MANUTENÇÃO
 * Este bloco fica no FINAL do CSS para vencer overrides históricos.
 * Não movê-lo para cima sem revisar a cascata inteira.
 *
 * ACESSIBILIDADE
 * `prefers-reduced-motion` continua prevalecendo no final deste bloco.
 * ====================================================================== */

/* Base mobile: espaçamento, profundidade e ritmo */
@media (max-width: 820px) {
    html, body {
        overflow-x: clip;
    }

    .blt-shell {
        width: min(100% - 28px, 1180px);
        margin-inline: auto;
    }

    /* HERO — manter sensação premium no celular */
    .blt-hero {
        overflow: visible !important;
        padding-top: 18px;
    }

    .blt-hero__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        align-items: start !important;
    }

    .blt-hero__copy {
        order: 1;
        position: relative;
        z-index: 2;
    }

    .blt-hero__visual {
        order: 2;
        position: relative !important;
        width: 100% !important;
        min-height: 420px;
        margin-top: 4px;
        overflow: visible !important;
        transform: none !important;
    }

    /* A médica precisa aparecer inteira no mobile e não ser tratada como background-crop. */
    .blt-hero__visual img,
    .blt-hero__media img,
    .blt-hero-media img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    /* Cards orbitais do hero: motion real no mobile, porém contido. */
    .blt-hero [data-orbit-card],
    .blt-hero .blt-orbit-card,
    .blt-hero .blt-hero-card {
        will-change: transform;
        transform-origin: center center;
        animation: bltMobileOrbitA 7.2s ease-in-out infinite alternate;
    }

    .blt-hero [data-orbit-card]:nth-of-type(2),
    .blt-hero .blt-orbit-card:nth-of-type(2),
    .blt-hero .blt-hero-card:nth-of-type(2) {
        animation-name: bltMobileOrbitB;
        animation-duration: 8.4s;
    }

    .blt-hero [data-orbit-card]:nth-of-type(3),
    .blt-hero .blt-orbit-card:nth-of-type(3),
    .blt-hero .blt-hero-card:nth-of-type(3) {
        animation-name: bltMobileOrbitC;
        animation-duration: 7.8s;
    }

    .blt-hero [data-orbit-card]:nth-of-type(4),
    .blt-hero .blt-orbit-card:nth-of-type(4),
    .blt-hero .blt-hero-card:nth-of-type(4) {
        animation-name: bltMobileOrbitD;
        animation-duration: 9.1s;
    }

    @keyframes bltMobileOrbitA {
        0%   { transform: translate3d(-2px, 0, 0) rotate(-2deg) scale(.985); }
        50%  { transform: translate3d(8px, -10px, 0) rotate(2.5deg) scale(1.01); }
        100% { transform: translate3d(-5px, 7px, 0) rotate(-1deg) scale(.995); }
    }
    @keyframes bltMobileOrbitB {
        0%   { transform: translate3d(4px, -3px, 0) rotate(2deg) scale(1); }
        50%  { transform: translate3d(-8px, 8px, 0) rotate(-3deg) scale(.985); }
        100% { transform: translate3d(5px, -7px, 0) rotate(1.5deg) scale(1.008); }
    }
    @keyframes bltMobileOrbitC {
        0%   { transform: translate3d(-4px, 5px, 0) rotate(-1.5deg); }
        50%  { transform: translate3d(7px, -7px, 0) rotate(3deg) scale(1.012); }
        100% { transform: translate3d(1px, 8px, 0) rotate(-2deg); }
    }
    @keyframes bltMobileOrbitD {
        0%   { transform: translate3d(2px, 2px, 0) rotate(1deg); }
        50%  { transform: translate3d(-7px, -8px, 0) rotate(-2.5deg) scale(.99); }
        100% { transform: translate3d(6px, 6px, 0) rotate(2deg) scale(1.01); }
    }

    /* Reveals: no mobile também surgem com deslocamento próprio. */
    [data-reveal],
    .blt-reveal {
        opacity: 0;
        transform: translate3d(0, 22px, 0) scale(.985);
        filter: blur(6px);
        transition:
            opacity .72s cubic-bezier(.22,.8,.28,1),
            transform .72s cubic-bezier(.22,.8,.28,1),
            filter .72s cubic-bezier(.22,.8,.28,1);
    }

    [data-reveal].is-visible,
    .blt-reveal.is-visible {
        opacity: 1;
        transform: none;
        filter: none;
    }

    /* Smart header glass compacto no mobile */
    .blt-header,
    .site-header,
    header[data-header] {
        transition:
            background .32s ease,
            backdrop-filter .32s ease,
            transform .32s ease,
            box-shadow .32s ease !important;
    }

    body.is-scrolled .blt-header,
    body.is-scrolled .site-header,
    body.is-scrolled header[data-header],
    .blt-header.is-glass,
    .site-header.is-glass,
    header[data-header].is-glass {
        background: rgba(255,255,255,.72) !important;
        -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
        backdrop-filter: blur(22px) saturate(155%) !important;
        box-shadow: 0 12px 32px rgba(13,43,88,.10) !important;
    }

    /* Especialidades — touch premium */
    .blt-specialties-rail,
    .blt-specialties-track {
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 18px;
        overscroll-behavior-inline: contain;
    }

    .blt-specialty-card {
        scroll-snap-align: center;
        box-shadow: 0 18px 38px rgba(25,54,101,.08) !important;
        transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    .blt-specialty-card:active,
    .blt-specialty-card.is-active {
        transform: translateY(-5px) scale(1.015);
        border-color: rgba(201,168,76,.7) !important;
        box-shadow: 0 20px 46px rgba(25,54,101,.13), 0 0 0 2px rgba(201,168,76,.12) !important;
    }

    /* Corpo clínico — mais respiro e swipe claro */
    .blt-professionals-track,
    .blt-team-track,
    .blt-specialists-track {
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 18px;
        gap: 14px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .blt-professionals-track::-webkit-scrollbar,
    .blt-team-track::-webkit-scrollbar,
    .blt-specialists-track::-webkit-scrollbar {
        display: none;
    }

    .blt-professional-card,
    .blt-specialist-card,
    .blt-team-card {
        scroll-snap-align: center;
        flex: 0 0 min(84vw, 330px) !important;
        min-width: min(84vw, 330px) !important;
        border-radius: 24px !important;
        box-shadow: 0 22px 46px rgba(18,48,93,.12) !important;
    }

    .blt-professional-card:active,
    .blt-specialist-card:active,
    .blt-team-card:active,
    .blt-professional-card.is-selected,
    .blt-specialist-card.is-selected,
    .blt-team-card.is-selected {
        border-color: rgba(201,168,76,.95) !important;
        box-shadow: 0 0 0 2px rgba(201,168,76,.15), 0 24px 52px rgba(18,48,93,.16) !important;
        transform: translateY(-4px) scale(1.01);
    }

    /* Jornada / accordion — abertura suave no touch */
    .blt-journey-item,
    .blt-accordion-item {
        transition: background .28s ease, padding .28s ease, border-color .28s ease;
    }

    .blt-journey-item.is-open,
    .blt-accordion-item.is-open {
        background: rgba(255,255,255,.62);
        border-color: rgba(31,72,132,.12);
    }

    /* Números: motion/reveal no mobile não pode sumir */
    .blt-stats-card,
    .blt-number-card {
        transition: transform .3s ease, box-shadow .3s ease;
    }

    .blt-stats-card.is-visible,
    .blt-number-card.is-visible {
        animation: bltMobileStatRise .72s cubic-bezier(.22,.8,.28,1) both;
    }

    @keyframes bltMobileStatRise {
        from { opacity: 0; transform: translateY(24px) scale(.96); }
        to   { opacity: 1; transform: none; }
    }

    /* Busca e agendamento: evitar sensação "desktop espremido". */
    .blt-smart-search__panel {
        box-shadow: 0 22px 54px rgba(18,48,93,.10) !important;
    }

    .blt-booking__dialog {
        box-shadow: 0 -22px 70px rgba(7,28,66,.24) !important;
    }
}

/* iPhone/telefones estreitos */
@media (max-width: 430px) {
    .blt-shell {
        width: calc(100% - 24px);
    }

    .blt-hero__visual {
        min-height: 360px;
    }

    .blt-professional-card,
    .blt-specialist-card,
    .blt-team-card {
        flex-basis: 86vw !important;
        min-width: 86vw !important;
    }

    .blt-hero [data-orbit-card],
    .blt-hero .blt-orbit-card,
    .blt-hero .blt-hero-card {
        animation-duration: 8.2s;
    }
}

/* ACESSIBILIDADE — esta regra deve ser a última autoridade de motion. */
@media (prefers-reduced-motion: reduce) {
    [data-reveal],
    .blt-reveal,
    .blt-hero [data-orbit-card],
    .blt-hero .blt-orbit-card,
    .blt-hero .blt-hero-card,
    .blt-stats-card,
    .blt-number-card {
        animation: none !important;
        transition-duration: .01ms !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }
}

/* ======================================================================
 * BIOLIFE 0.3.39 — MOBILE HERO REFINEMENT / MOTION RESTORE
 * ----------------------------------------------------------------------
 * PROPÓSITO
 * Corrigir a primeira dobra da Home em celulares reais (Safari/iOS e
 * Android). Esta camada é a autoridade final do Hero mobile.
 *
 * PROBLEMAS CORRIGIDOS
 * 1. Badge "Atendimento integrado" muito próximo do header.
 * 2. Headline/parágrafo com escala de desktop e alinhamento lateral.
 * 3. CTAs excessivamente largos/altos e com aparência de blocos.
 * 4. Motion dos cards neutralizado por regras antigas `animation:none`.
 * 5. Hero sem sensação de entrada progressiva no mobile.
 *
 * MANUTENÇÃO / RISCO DE REGRESSÃO
 * - Não remover o espaçamento superior sem testar header sticky/glass.
 * - Não voltar a aplicar `animation:none` aos cards do Hero em <=699px.
 * - `prefers-reduced-motion` continua tendo autoridade absoluta no fim.
 * - Alterações de tipografia devem ser validadas em 360/390/430px.
 * ====================================================================== */
@media (max-width:699px){
    /* Respiro real entre o header flutuante e o conteúdo da Home. */
    .blt-hero-v2{
        padding-top:32px!important;
    }
    .blt-hero-v2 .blt-hero__content{
        padding:24px 4px 0!important;
        text-align:center!important;
    }

    /* Badge compacto, centralizado e separado visualmente da logo. */
    .blt-hero-v2 .blt-kicker--pill{
        display:inline-flex!important;
        width:auto!important;
        max-width:calc(100% - 20px)!important;
        margin:0 auto 26px!important;
        padding:8px 14px!important;
        min-height:36px!important;
        justify-content:center!important;
        font-size:11px!important;
        line-height:1!important;
        letter-spacing:.17em!important;
        border-radius:999px!important;
    }

    /* Headline desenhada especificamente para telefone, não desktop reduzido. */
    .blt-hero-title{
        width:min(100%,360px)!important;
        margin:0 auto 20px!important;
        font-size:clamp(34px,9.7vw,41px)!important;
        line-height:1.055!important;
        letter-spacing:-.047em!important;
        text-align:center!important;
        text-wrap:balance;
    }
    .blt-hero-title span,
    .blt-hero-title strong{
        display:block!important;
    }
    .blt-hero-title strong{
        margin-top:7px!important;
    }
    .blt-hero-v2 .blt-hero__content>p{
        width:min(100%,345px)!important;
        margin:0 auto 25px!important;
        font-size:15px!important;
        line-height:1.55!important;
        text-align:center!important;
        text-wrap:pretty;
    }

    /* CTAs compactos: continuam confortáveis ao toque sem dominar a tela. */
    .blt-hero__actions{
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        gap:10px!important;
        width:100%!important;
        margin:0 auto 24px!important;
    }
    .blt-hero__actions .blt-btn{
        width:min(100%,310px)!important;
        min-height:48px!important;
        height:48px!important;
        padding:0 18px!important;
        justify-content:center!important;
        border-radius:14px!important;
        font-size:14px!important;
        line-height:1!important;
        font-weight:750!important;
        box-shadow:none;
    }
    .blt-hero__actions .blt-btn--primary{
        box-shadow:0 12px 28px rgba(64,89,239,.20)!important;
    }

    /* Cards-resumo mais leves e centralizados. */
    .blt-hero__chips{
        width:min(100%,350px)!important;
        margin:0 auto!important;
        gap:9px!important;
    }
    .blt-hero__chips .blt-chip{
        min-height:56px!important;
        padding:9px 12px!important;
        border-radius:16px!important;
        text-align:left!important;
    }

    /* Motion restaurado: regras antigas desligavam a animação no mobile. */
    .blt-health-card--rich{
        animation:bltMobileHeroCardFloat 6.8s ease-in-out infinite!important;
        transform-origin:center center!important;
        will-change:transform;
    }
    .blt-health-card--specialists{animation-delay:-1.4s!important}
    .blt-health-card--exams{animation-delay:-2.8s!important}
    .blt-health-card--integrated{animation-delay:-4.2s!important}

    @keyframes bltMobileHeroCardFloat{
        0%,100%{transform:translate3d(0,0,0) rotate(-.7deg)}
        35%{transform:translate3d(3px,-8px,0) rotate(1.25deg)}
        70%{transform:translate3d(-3px,5px,0) rotate(-1.1deg)}
    }

    /* Entrada perceptível da primeira dobra, inclusive no Safari/iPhone. */
    html.blt-motion-ready .blt-hero-v2 [data-motion-item="title"]{
        --blt-motion-y:30px;
        --blt-motion-scale:.975;
    }
    html.blt-motion-ready .blt-hero-v2 [data-motion-item="copy"]{
        --blt-motion-y:24px;
    }
    html.blt-motion-ready .blt-hero-v2 [data-motion-item="control"]{
        --blt-motion-y:22px;
        --blt-motion-scale:.98;
    }
}

@media (max-width:380px){
    .blt-hero-v2{padding-top:28px!important}
    .blt-hero-v2 .blt-hero__content{padding-inline:0!important}
    .blt-hero-title{
        width:min(100%,330px)!important;
        font-size:clamp(32px,9.4vw,36px)!important;
    }
    .blt-hero-v2 .blt-hero__content>p{font-size:14.5px!important}
    .blt-hero__actions .blt-btn{width:min(100%,292px)!important}
}

/* Acessibilidade continua sendo a autoridade final sobre qualquer motion. */
@media (prefers-reduced-motion:reduce){
    .blt-health-card--rich{
        animation:none!important;
        transform:none!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.40 — MOBILE CANONICAL HERO
 * ----------------------------------------------------------------------
 * Este bloco consolida a primeira dobra aprovada para celular.
 * Agora que o cache busting foi corrigido, estas regras devem chegar ao
 * Safari/iPhone de fato.
 *
 * MANUTENÇÃO
 * Manter no final do CSS até a futura consolidação/refatoração dos muitos
 * blocos históricos de mobile.
 * ====================================================================== */
@media (max-width: 699px) {
    .blt-hero-section.blt-hero-v2 {
        padding-top: 46px !important;
    }

    .blt-hero-v2 .blt-hero__content {
        width: 100% !important;
        padding: 0 10px !important;
        text-align: center !important;
    }

    .blt-hero-v2 .blt-kicker--pill {
        display: inline-flex !important;
        width: auto !important;
        margin: 0 auto 30px !important;
        min-height: 34px !important;
        padding: 7px 13px !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 10px !important;
        letter-spacing: .15em !important;
    }

    .blt-hero-title {
        width: min(100%, 350px) !important;
        margin: 0 auto 20px !important;
        font-size: clamp(32px, 9vw, 39px) !important;
        line-height: 1.07 !important;
        letter-spacing: -.045em !important;
        text-align: center !important;
    }

    .blt-hero-title span,
    .blt-hero-title strong {
        display: block !important;
    }

    .blt-hero-title strong {
        margin-top: 8px !important;
    }

    .blt-hero-v2 .blt-hero__content > p {
        width: min(100%, 340px) !important;
        margin: 0 auto 26px !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
        text-align: center !important;
    }

    .blt-hero__actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 9px !important;
        width: 100% !important;
        margin: 0 auto 24px !important;
    }

    .blt-hero__actions .blt-btn {
        width: min(100%, 286px) !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 0 16px !important;
        border-radius: 14px !important;
        justify-content: center !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .blt-hero__chips {
        width: min(100%, 330px) !important;
        margin: 0 auto !important;
        gap: 8px !important;
    }

    .blt-hero__chips .blt-chip {
        min-height: 52px !important;
        padding: 8px 11px !important;
        border-radius: 15px !important;
    }

    /* Motion mobile perceptível nos cards do visual principal. */
    .blt-health-card--rich {
        animation: bltMobileCanonicalFloat 6.4s ease-in-out infinite !important;
        will-change: transform;
        transform-origin: center center;
    }
    .blt-health-card--appointment { animation-delay: -0.8s !important; }
    .blt-health-card--specialists { animation-delay: -2.0s !important; }
    .blt-health-card--exams { animation-delay: -3.2s !important; }
    .blt-health-card--integrated { animation-delay: -4.4s !important; }

    @keyframes bltMobileCanonicalFloat {
        0%,100% { transform: translate3d(0,0,0) rotate(-1deg); }
        33%     { transform: translate3d(5px,-10px,0) rotate(2deg); }
        66%     { transform: translate3d(-4px,7px,0) rotate(-1.7deg); }
    }
}

@media (max-width: 390px) {
    .blt-hero-section.blt-hero-v2 { padding-top: 40px !important; }
    .blt-hero-title {
        width: min(100%, 324px) !important;
        font-size: clamp(30px, 8.8vw, 35px) !important;
    }
    .blt-hero-v2 .blt-hero__content > p {
        width: min(100%, 318px) !important;
        font-size: 13.5px !important;
    }
    .blt-hero__actions .blt-btn {
        width: min(100%, 272px) !important;
        min-height: 45px !important;
        height: 45px !important;
    }
}

/* Acessibilidade continua soberana. */
@media (prefers-reduced-motion: reduce) {
    .blt-health-card--rich {
        animation: none !important;
        transform: none !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.41 — REDESIGN CANÔNICO DO HERO MOBILE
 * ----------------------------------------------------------------------
 * ESCOPO ABSOLUTO
 * Esta correção existe SOMENTE dentro de `max-width:699px`.
 * Desktop e tablet amplo NÃO devem sofrer qualquer alteração visual.
 *
 * INCIDENTE OBSERVADO
 * - badge "ATENDIMENTO INTEGRADO" muito próximo do header;
 * - headline com quebra visual estranha;
 * - CTAs principais grandes e empilhados;
 * - chips Especialistas/Exames/Resultados grandes demais;
 * - sensação de "desktop empilhado" em vez de layout mobile próprio.
 *
 * CORREÇÃO
 * - reorganização completa da primeira dobra para celular;
 * - headline centralizada e com largura/ritmo controlados;
 * - badge menor e mais afastado do header;
 * - CTAs compactos e lado a lado quando houver largura suficiente;
 * - chips de benefícios passam a linha horizontal compacta com scroll suave,
 *   evitando três caixas grandes empilhadas;
 * - nenhum seletor fora do breakpoint mobile foi alterado.
 *
 * RISCO DE REGRESSÃO
 * Não mover estas regras para fora do media query. Isso alteraria o desktop,
 * que está aprovado e deve permanecer intocado.
 * ====================================================================== */

@media (max-width: 699px) {

    /* Primeira dobra */
    .blt-hero-section.blt-hero-v2{
        padding-top: 58px !important;
        padding-bottom: 28px !important;
    }

    .blt-hero-v2 .blt-hero__content{
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 8px !important;
        text-align: center !important;
    }

    /* Badge menor e com respiro real abaixo do header */
    .blt-hero-v2 .blt-kicker--pill{
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-height: 28px !important;
        margin: 0 auto 34px !important;
        padding: 5px 11px !important;
        border-radius: 999px !important;
        font-size: 8.5px !important;
        line-height: 1 !important;
        letter-spacing: .16em !important;
        white-space: nowrap !important;
    }

    .blt-hero-v2 .blt-kicker--pill::before{
        width: 6px !important;
        height: 6px !important;
        margin-right: 6px !important;
    }

    /* Headline: leitura natural no mobile */
    .blt-hero-title{
        width: min(100%, 348px) !important;
        margin: 0 auto 18px !important;
        font-size: clamp(29px, 8.7vw, 37px) !important;
        line-height: 1.04 !important;
        letter-spacing: -.045em !important;
        text-align: center !important;
        text-wrap: balance;
    }

    .blt-hero-title span,
    .blt-hero-title strong{
        display: inline !important;
    }

    .blt-hero-title strong{
        margin: 0 !important;
    }

    /* Copy */
    .blt-hero-v2 .blt-hero__content > p{
        width: min(100%, 330px) !important;
        margin: 0 auto 24px !important;
        font-size: 13px !important;
        line-height: 1.52 !important;
        text-align: center !important;
    }

    /* CTAs: dois botões compactos, preferencialmente na mesma linha */
    .blt-hero__actions{
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: min(100%, 350px) !important;
        margin: 0 auto 22px !important;
    }

    .blt-hero__actions .blt-btn{
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 10px !important;
        border-radius: 13px !important;
        justify-content: center !important;
        font-size: 10.5px !important;
        line-height: 1.05 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .blt-hero__actions .blt-btn svg,
    .blt-hero__actions .blt-btn .arrow{
        width: 14px !important;
        height: 14px !important;
        flex: 0 0 auto !important;
    }

    /* Benefícios: deixa de ser três caixas grandes empilhadas */
    .blt-hero__chips{
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: calc(100vw - 24px) !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 2px 2px 8px !important;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .blt-hero__chips::-webkit-scrollbar{
        display: none !important;
    }

    .blt-hero__chips .blt-chip{
        flex: 0 0 auto !important;
        min-width: 138px !important;
        width: auto !important;
        min-height: 46px !important;
        padding: 7px 10px !important;
        border-radius: 14px !important;
        scroll-snap-align: center;
        display: grid !important;
        grid-template-columns: 30px auto !important;
        align-items: center !important;
        gap: 8px !important;
        box-shadow: 0 10px 26px rgba(20,52,96,.07) !important;
    }

    .blt-hero__chips .blt-chip__icon,
    .blt-hero__chips .blt-chip > span:first-child{
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        border-radius: 10px !important;
    }

    .blt-hero__chips .blt-chip strong{
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    .blt-hero__chips .blt-chip small{
        font-size: 8.5px !important;
        line-height: 1.2 !important;
    }

    /* Respiro antes do visual da médica */
    .blt-hero__visual{
        margin-top: 24px !important;
    }
}

/* Telefones estreitos: evita esmagar os dois CTAs */
@media (max-width: 360px){
    .blt-hero__actions{
        grid-template-columns: 1fr !important;
        width: min(100%, 275px) !important;
    }

    .blt-hero-title{
        width: min(100%, 314px) !important;
        font-size: 30px !important;
    }

    .blt-hero-v2 .blt-kicker--pill{
        margin-bottom: 30px !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.42 — HERO MOBILE FINAL APROVADO
 * ----------------------------------------------------------------------
 * ESCOPO
 * SOMENTE MOBILE <=699px. Desktop permanece intocado.
 *
 * AJUSTES APROVADOS
 * - remover qualquer retângulo/contorno gigante envolvendo a primeira dobra;
 * - manter a MESMA logo oficial usada no desktop;
 * - badge mais baixo e mais discreto;
 * - composição mobile própria;
 * - imagem da médica pode ser específica para mobile, com fallback desktop;
 * - motion perceptível nos cards e elementos, no mesmo nível conceitual
 *   do desktop, porém adaptado ao celular.
 *
 * ERRO EVITADO
 * Não aplicar borda/background no container principal do Hero mobile.
 * O layout deve parecer aberto, leve e contínuo com o restante da Home.
 * ====================================================================== */
@media (max-width: 699px) {

    /* Remove completamente o "retângulo gigante". */
    .blt-hero-section,
    .blt-hero-section.blt-hero-v2,
    .blt-hero-v2 .blt-shell,
    .blt-hero-v2 .blt-hero__grid,
    .blt-hero-v2 .blt-hero__inner {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    /* Header mantém a logo única já cadastrada. */
    .blt-header img,
    .site-header img,
    header[data-header] img {
        object-fit: contain !important;
    }

    /* Badge: menor, mais baixo e visualmente leve. */
    .blt-hero-v2 .blt-kicker--pill {
        margin-top: 10px !important;
        margin-bottom: 34px !important;
        padding: 5px 10px !important;
        min-height: 27px !important;
        font-size: 8px !important;
        letter-spacing: .14em !important;
        box-shadow: 0 8px 20px rgba(15,50,105,.05) !important;
    }

    /* Hero ocupa menos área textual e entrega foco para a médica. */
    .blt-hero-title {
        width: min(100%, 340px) !important;
        font-size: clamp(28px, 8.4vw, 36px) !important;
        line-height: 1.04 !important;
        text-align: center !important;
        margin-inline: auto !important;
        text-wrap: balance;
    }

    .blt-hero-v2 .blt-hero__content > p {
        width: min(100%, 326px) !important;
        font-size: 12.8px !important;
        line-height: 1.5 !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    /* CTAs lado a lado, compactos. */
    .blt-hero__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: min(100%, 344px) !important;
        gap: 8px !important;
        margin-inline: auto !important;
    }

    .blt-hero__actions .blt-btn {
        min-height: 43px !important;
        height: 43px !important;
        padding: 0 9px !important;
        border-radius: 13px !important;
        font-size: 10px !important;
        letter-spacing: -.01em !important;
    }

    /* Imagem mobile: nunca recortar a médica. */
    .blt-hero-picture,
    .blt-hero-picture img,
    .blt-hero__visual picture,
    .blt-hero__visual img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
    }

    .blt-hero__visual img {
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    .blt-hero__visual {
        min-height: 0 !important;
        overflow: visible !important;
        margin-top: 26px !important;
    }

    /* Benefícios em uma linha horizontal compacta. */
    .blt-hero__chips {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: calc(100vw - 24px) !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .blt-hero__chips::-webkit-scrollbar { display: none !important; }

    .blt-hero__chips .blt-chip {
        flex: 0 0 138px !important;
        min-width: 138px !important;
        min-height: 46px !important;
        scroll-snap-align: center;
    }

    /* Motion mobile verdadeiro: amplitudes visíveis, rotações pequenas. */
    .blt-health-card--rich,
    .blt-hero [data-orbit-card],
    .blt-hero .blt-orbit-card,
    .blt-hero .blt-hero-card {
        will-change: transform;
        transform-origin: center;
        animation: bltHeroMobileOrbit01 6.6s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
    }

    .blt-health-card--specialists,
    .blt-hero [data-orbit-card]:nth-of-type(2),
    .blt-hero .blt-orbit-card:nth-of-type(2),
    .blt-hero .blt-hero-card:nth-of-type(2) {
        animation-name: bltHeroMobileOrbit02 !important;
        animation-duration: 7.4s !important;
    }

    .blt-health-card--exams,
    .blt-hero [data-orbit-card]:nth-of-type(3),
    .blt-hero .blt-orbit-card:nth-of-type(3),
    .blt-hero .blt-hero-card:nth-of-type(3) {
        animation-name: bltHeroMobileOrbit03 !important;
        animation-duration: 8s !important;
    }

    .blt-health-card--integrated,
    .blt-hero [data-orbit-card]:nth-of-type(4),
    .blt-hero .blt-orbit-card:nth-of-type(4),
    .blt-hero .blt-hero-card:nth-of-type(4) {
        animation-name: bltHeroMobileOrbit04 !important;
        animation-duration: 7.1s !important;
    }

    @keyframes bltHeroMobileOrbit01 {
        0%   { transform: translate3d(-6px, 3px, 0) rotate(-2.2deg) scale(.99); }
        50%  { transform: translate3d(8px,-13px, 0) rotate(2.8deg) scale(1.015); }
        100% { transform: translate3d(-3px, 9px, 0) rotate(-1.2deg) scale(1); }
    }
    @keyframes bltHeroMobileOrbit02 {
        0%   { transform: translate3d(5px,-4px,0) rotate(1.8deg); }
        50%  { transform: translate3d(-10px,11px,0) rotate(-3deg) scale(.985); }
        100% { transform: translate3d(7px,-8px,0) rotate(2deg) scale(1.01); }
    }
    @keyframes bltHeroMobileOrbit03 {
        0%   { transform: translate3d(-5px,7px,0) rotate(-1.5deg); }
        50%  { transform: translate3d(9px,-9px,0) rotate(3deg) scale(1.012); }
        100% { transform: translate3d(2px,10px,0) rotate(-2deg); }
    }
    @keyframes bltHeroMobileOrbit04 {
        0%   { transform: translate3d(3px,3px,0) rotate(1deg); }
        50%  { transform: translate3d(-9px,-10px,0) rotate(-2.7deg) scale(.99); }
        100% { transform: translate3d(8px,7px,0) rotate(2.2deg) scale(1.01); }
    }
}

@media (max-width: 360px) {
    .blt-hero__actions {
        grid-template-columns: 1fr !important;
        width: min(100%, 270px) !important;
    }
}

/* Acessibilidade continua soberana. */
@media (prefers-reduced-motion: reduce) {
    .blt-health-card--rich,
    .blt-hero [data-orbit-card],
    .blt-hero .blt-orbit-card,
    .blt-hero .blt-hero-card {
        animation: none !important;
        transform: none !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.43 — HERO MOBILE + MOTION FIX DEFINITIVO
 * ----------------------------------------------------------------------
 * INCIDENTE
 * Mesmo após múltiplos keyframes, o motion continuava imperceptível no
 * iPhone/Android. A causa provável é conflito de `transform` entre regras
 * responsivas, posicionamento dos cards e animações no MESMO elemento.
 *
 * CORREÇÃO ARQUITETURAL
 * 1. O layout/posicionamento continua no card original.
 * 2. O motion passa a usar `translate` + `rotate` CSS individual properties
 *    quando suportadas, evitando sobrescrever o `transform` usado no layout.
 * 3. Fallback usa pseudo-wrapper visual com keyframes sem depender do
 *    transform original.
 * 4. Animations são ativadas apenas no mobile e após a classe
 *    `blt-mobile-motion-ready` ser adicionada pelo JS.
 *
 * TESTE
 * - iOS Safari real;
 * - Android Chrome real;
 * - 360/390/430 px;
 * - verificar movimento contínuo por pelo menos 10 segundos;
 * - ativar "Reduzir Movimento" no SO e confirmar que animações param.
 *
 * REGRESSÃO
 * Não animar `transform` diretamente nos cards do Hero sem revisar o
 * posicionamento absoluto/responsivo. Isso pode cancelar o motion.
 * ====================================================================== */

.blt-hero-title__mobile{display:none}

@media (max-width:699px){
    .blt-hero-title__desktop{display:none !important}
    .blt-hero-title__mobile{
        display:block !important;
        text-align:center;
    }
    .blt-hero-title__mobile > span,
    .blt-hero-title__mobile > strong{
        display:block !important;
    }
    .blt-hero-title__mobile > strong{
        margin-top:4px !important;
    }

    /* Motion só entra quando o JS confirma mobile real e DOM pronto. */
    html.blt-mobile-motion-ready .blt-health-card--rich,
    html.blt-mobile-motion-ready .blt-hero [data-orbit-card],
    html.blt-mobile-motion-ready .blt-hero .blt-orbit-card,
    html.blt-mobile-motion-ready .blt-hero .blt-hero-card{
        animation: none !important; /* remove animações antigas conflitantes */
        will-change: translate, rotate, transform;
    }

    @supports (translate: 1px) {
        html.blt-mobile-motion-ready .blt-health-card--appointment{
            animation: bltMobileCardA 5.8s ease-in-out infinite alternate !important;
        }
        html.blt-mobile-motion-ready .blt-health-card--specialists{
            animation: bltMobileCardB 6.6s ease-in-out infinite alternate !important;
        }
        html.blt-mobile-motion-ready .blt-health-card--exams{
            animation: bltMobileCardC 7.2s ease-in-out infinite alternate !important;
        }
        html.blt-mobile-motion-ready .blt-health-card--integrated{
            animation: bltMobileCardD 6.1s ease-in-out infinite alternate !important;
        }

        @keyframes bltMobileCardA{
            0%   { translate:-5px 4px; rotate:-2deg; }
            50%  { translate:10px -14px; rotate:2.5deg; }
            100% { translate:-2px 8px; rotate:-1deg; }
        }
        @keyframes bltMobileCardB{
            0%   { translate:5px -3px; rotate:1.7deg; }
            50%  { translate:-11px 12px; rotate:-3deg; }
            100% { translate:8px -8px; rotate:2deg; }
        }
        @keyframes bltMobileCardC{
            0%   { translate:-6px 7px; rotate:-1.6deg; }
            50%  { translate:9px -10px; rotate:3deg; }
            100% { translate:3px 11px; rotate:-2deg; }
        }
        @keyframes bltMobileCardD{
            0%   { translate:4px 3px; rotate:1deg; }
            50%  { translate:-10px -12px; rotate:-2.8deg; }
            100% { translate:8px 8px; rotate:2.2deg; }
        }
    }

    /* Fallback para browsers sem individual transform properties. */
    @supports not (translate: 1px) {
        html.blt-mobile-motion-ready .blt-health-card--appointment{
            animation: bltMobileFallbackA 5.8s ease-in-out infinite alternate !important;
        }
        html.blt-mobile-motion-ready .blt-health-card--specialists{
            animation: bltMobileFallbackB 6.6s ease-in-out infinite alternate !important;
        }
        html.blt-mobile-motion-ready .blt-health-card--exams{
            animation: bltMobileFallbackC 7.2s ease-in-out infinite alternate !important;
        }
        html.blt-mobile-motion-ready .blt-health-card--integrated{
            animation: bltMobileFallbackD 6.1s ease-in-out infinite alternate !important;
        }

        @keyframes bltMobileFallbackA{
            0%{transform:translate3d(-5px,4px,0) rotate(-2deg)}
            50%{transform:translate3d(10px,-14px,0) rotate(2.5deg)}
            100%{transform:translate3d(-2px,8px,0) rotate(-1deg)}
        }
        @keyframes bltMobileFallbackB{
            0%{transform:translate3d(5px,-3px,0) rotate(1.7deg)}
            50%{transform:translate3d(-11px,12px,0) rotate(-3deg)}
            100%{transform:translate3d(8px,-8px,0) rotate(2deg)}
        }
        @keyframes bltMobileFallbackC{
            0%{transform:translate3d(-6px,7px,0) rotate(-1.6deg)}
            50%{transform:translate3d(9px,-10px,0) rotate(3deg)}
            100%{transform:translate3d(3px,11px,0) rotate(-2deg)}
        }
        @keyframes bltMobileFallbackD{
            0%{transform:translate3d(4px,3px,0) rotate(1deg)}
            50%{transform:translate3d(-10px,-12px,0) rotate(-2.8deg)}
            100%{transform:translate3d(8px,8px,0) rotate(2.2deg)}
        }
    }

    /* Pequenos pontos/orbitais também se movem para deixar o motion evidente. */
    html.blt-mobile-motion-ready .blt-hero-orbit-dot,
    html.blt-mobile-motion-ready .blt-orbit-dot,
    html.blt-mobile-motion-ready .blt-hero .dot{
        animation: bltMobileDot 4.8s ease-in-out infinite alternate !important;
    }
    @keyframes bltMobileDot{
        from{translate:0 0; opacity:.65}
        to{translate:7px -9px; opacity:1}
    }
}

/* Reduzir Movimento do SO prevalece. */
@media (prefers-reduced-motion:reduce){
    html.blt-mobile-motion-ready .blt-health-card--rich,
    html.blt-mobile-motion-ready .blt-hero [data-orbit-card],
    html.blt-mobile-motion-ready .blt-hero .blt-orbit-card,
    html.blt-mobile-motion-ready .blt-hero .blt-hero-card,
    html.blt-mobile-motion-ready .blt-hero-orbit-dot,
    html.blt-mobile-motion-ready .blt-orbit-dot,
    html.blt-mobile-motion-ready .blt-hero .dot{
        animation:none !important;
        translate:none !important;
        rotate:none !important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.44 — BUILD BADGE + MOBILE RECOVERY
 * ----------------------------------------------------------------------
 * INCIDENTE
 * Site aparentou regressão após atualização.
 *
 * CORREÇÃO
 * 1. Badge de versão visível apenas para admin (HTML gerado no PHP).
 * 2. Primeira seção mobile recebe um bloco final e isolado.
 * 3. Desktop continua intocado.
 *
 * TESTE
 * No celular, admin logado deve ver "BIOLIFE 0.3.44" no canto.
 * Se não aparecer, a build nova NÃO está chegando ao navegador.
 * ====================================================================== */

#blt-build-badge{
    position:fixed;
    right:10px;
    bottom:10px;
    z-index:2147483000;
    display:flex;
    flex-direction:column;
    gap:2px;
    padding:8px 10px;
    border:1px solid rgba(18,49,95,.12);
    border-radius:12px;
    background:rgba(10,27,54,.88);
    color:#fff;
    font:700 9px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    box-shadow:0 10px 28px rgba(0,0,0,.22);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
#blt-build-badge strong{font-size:10px}
#blt-build-badge span{opacity:.82;font-weight:600}

/* MOBILE ONLY — primeira seção aprovada */
@media (max-width:699px){

    .blt-hero-title__desktop{display:none!important}
    .blt-hero-title__mobile{
        display:block!important;
        width:min(100%,350px)!important;
        margin:0 auto 18px!important;
        text-align:center!important;
        font-size:clamp(29px,8.6vw,36px)!important;
        line-height:1.03!important;
        letter-spacing:-.045em!important;
        text-wrap:balance;
    }
    .blt-hero-title__mobile > span,
    .blt-hero-title__mobile > strong{
        display:block!important;
    }
    .blt-hero-title__mobile > strong{
        margin-top:3px!important;
    }

    .blt-hero-v2 .blt-kicker--pill{
        margin-top:14px!important;
        margin-bottom:32px!important;
        padding:5px 10px!important;
        min-height:27px!important;
        font-size:8px!important;
        letter-spacing:.14em!important;
    }

    .blt-hero-v2 .blt-hero__content > p{
        width:min(100%,324px)!important;
        margin:0 auto 22px!important;
        font-size:12.8px!important;
        line-height:1.48!important;
        text-align:center!important;
    }

    .blt-hero__actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        width:min(100%,344px)!important;
        gap:8px!important;
        margin:0 auto 18px!important;
    }
    .blt-hero__actions .blt-btn{
        min-height:43px!important;
        height:43px!important;
        padding:0 9px!important;
        border-radius:13px!important;
        font-size:10px!important;
        justify-content:center!important;
    }

    /* Esconde os chips antigos empilhados no mobile: removemos ruído visual. */
    .blt-hero__chips{
        display:none!important;
    }

    /* Busca sobe e vira parte da primeira dobra. */
    .blt-smart-search{
        margin-top:0!important;
        padding-top:10px!important;
    }
    .blt-smart-search__panel{
        padding:0 14px 10px!important;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
    }
    .blt-smart-search__intro{
        display:none!important;
    }
    .blt-smart-search__field{
        min-height:54px!important;
        border-radius:18px!important;
        box-shadow:0 14px 34px rgba(22,50,97,.10)!important;
    }

    /* Hero visual aberto, sem moldura gigante. */
    .blt-hero-section,
    .blt-hero-section.blt-hero-v2,
    .blt-hero-v2 .blt-shell,
    .blt-hero-v2 .blt-hero__grid,
    .blt-hero-v2 .blt-hero__inner{
        border:0!important;
        outline:0!important;
        box-shadow:none!important;
        background:transparent!important;
        border-radius:0!important;
    }

    .blt-hero__visual{
        overflow:visible!important;
        margin-top:18px!important;
    }
}

/* Narrow phones */
@media (max-width:360px){
    .blt-hero__actions{
        grid-template-columns:1fr!important;
        width:min(100%,270px)!important;
    }
}


/* ======================================================================
 * BIOLIFE 0.3.46 — MOBILE HERO CANÔNICO
 * CAUSA RAIZ: regras históricas contraditórias + cards rasterizados na arte.
 * Desktop acima de 699px permanece intocado.
 * ====================================================================== */
.blt-hero-title__mobile,.blt-hero-copy__mobile,.blt-smart-search--mobile-hero{display:none}
@media(max-width:699px){
 .blt-hero-section.blt-hero-v2{padding-top:54px!important;padding-bottom:24px!important;overflow:visible!important}
 .blt-hero-v2 .blt-hero{display:grid!important;grid-template-columns:1fr!important;gap:0!important;min-height:0!important;overflow:visible!important}
 .blt-hero-v2 .blt-hero__content{width:100%!important;padding:0 8px!important;text-align:center!important}
 .blt-hero-v2 .blt-kicker--pill{display:inline-flex!important;width:auto!important;min-height:27px!important;margin:12px auto 32px!important;padding:5px 10px!important;white-space:nowrap!important;font-size:8px!important;line-height:1!important;letter-spacing:.14em!important}
 .blt-hero-title__desktop{display:none!important}.blt-hero-title__mobile{display:block!important;width:min(100%,352px)!important;margin:0 auto 18px!important;font-size:clamp(29px,8.6vw,36px)!important;line-height:1.03!important;letter-spacing:-.045em!important;text-align:center!important;text-wrap:balance}.blt-hero-title__mobile>span,.blt-hero-title__mobile>strong{display:block!important}.blt-hero-title__mobile>strong{margin-top:3px!important}
 .blt-hero-copy__desktop{display:none!important}.blt-hero-copy__mobile{display:block!important;width:min(100%,326px)!important;margin:0 auto 22px!important;font-size:12.8px!important;line-height:1.48!important;color:#66758a!important;text-align:center!important}
 .blt-hero__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:min(100%,346px)!important;margin:0 auto 18px!important}.blt-hero__actions .blt-btn{width:100%!important;min-width:0!important;min-height:44px!important;height:44px!important;padding:0 9px!important;border-radius:13px!important;justify-content:center!important;font-size:10.3px!important;line-height:1.1!important;white-space:normal!important}
 .blt-hero__chips{display:none!important}
 .blt-smart-search--mobile-hero{display:block!important;width:min(100%,360px)!important;margin:0 auto 20px!important;padding:0!important;overflow:visible!important;z-index:30!important}.blt-smart-search--mobile-hero .blt-smart-search__experience{width:100%!important;position:relative!important}.blt-smart-search--mobile-hero .blt-smart-search__field{min-height:56px!important;border:1px solid rgba(20,55,110,.10)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 34px rgba(22,50,97,.11)!important}.blt-smart-search--mobile-hero input{font-size:12px!important}.blt-smart-search--mobile-hero .blt-smart-search__results{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;z-index:100!important;max-height:320px!important;overflow-y:auto!important}
 main>.blt-smart-search:not(.blt-smart-search--mobile-hero){display:none!important}
 .blt-hero-v2 .blt-hero__visual{position:relative!important;display:block!important;width:min(100%,390px)!important;min-height:0!important;margin:10px auto 0!important;padding:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}
 .blt-doctor-stage.blt-doctor-stage--integral{position:relative!important;inset:auto!important;display:block!important;width:100%!important;aspect-ratio:4/5!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:26px!important;background:radial-gradient(circle at 50% 42%,rgba(82,104,245,.15),transparent 48%),linear-gradient(180deg,#f5f9ff 0%,#fff 100%)!important;box-shadow:0 18px 44px rgba(24,55,105,.10)!important;transform:none!important;animation:none!important}
 .blt-doctor-stage__picture{position:absolute!important;inset:0!important;z-index:1!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important}.blt-doctor-stage .blt-hero__image--stage{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:78% center!important;margin:0!important;filter:none!important;mask-image:none!important;-webkit-mask-image:none!important;transform:none!important}
 .blt-doctor-motion{position:absolute!important;inset:0!important;z-index:2!important;display:block!important;overflow:hidden!important;border-radius:inherit!important;pointer-events:none!important}.blt-motion-ring,.blt-motion-dot{display:block!important}.blt-motion-pill{display:none!important}
 .blt-doctor-stage .blt-stage-card{position:absolute!important;z-index:7!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:7px!important;width:clamp(128px,41%,158px)!important;min-width:0!important;min-height:88px!important;margin:0!important;padding:10px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.92)!important;border-radius:17px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 14px 32px rgba(22,50,96,.13)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;transform-origin:center center!important;will-change:transform!important}
 .blt-doctor-stage .blt-stage-card .blt-health-card__icon{width:24px!important;height:24px!important;min-width:24px!important;border-radius:8px!important;font-size:10px!important}.blt-doctor-stage .blt-stage-card small{font-size:5.8px!important;line-height:1.2!important;letter-spacing:.10em!important}.blt-doctor-stage .blt-stage-card strong{margin-top:2px!important;font-size:9.2px!important;line-height:1.12!important;overflow-wrap:normal!important}.blt-doctor-stage .blt-stage-card span:not(.blt-health-card__icon){margin-top:3px!important;font-size:6.6px!important;line-height:1.28!important;overflow-wrap:normal!important}
 .blt-doctor-stage .blt-health-card--appointment{left:3%!important;top:8%!important;right:auto!important;bottom:auto!important;animation:bltMobileOrbitCardA 5.6s ease-in-out infinite alternate!important}.blt-doctor-stage .blt-health-card--specialists{right:3%!important;top:11%!important;left:auto!important;bottom:auto!important;animation:bltMobileOrbitCardB 6.3s ease-in-out infinite alternate!important}.blt-doctor-stage .blt-health-card--exams{left:4%!important;bottom:10%!important;right:auto!important;top:auto!important;animation:bltMobileOrbitCardC 6.9s ease-in-out infinite alternate!important}.blt-doctor-stage .blt-health-card--integrated{right:3%!important;bottom:8%!important;left:auto!important;top:auto!important;animation:bltMobileOrbitCardD 6s ease-in-out infinite alternate!important}
 @keyframes bltMobileOrbitCardA{0%{transform:translate3d(-3px,3px,0) rotate(-1.8deg)}50%{transform:translate3d(8px,-11px,0) rotate(2.4deg)}100%{transform:translate3d(-1px,7px,0) rotate(-1deg)}}@keyframes bltMobileOrbitCardB{0%{transform:translate3d(4px,-2px,0) rotate(1.5deg)}50%{transform:translate3d(-9px,10px,0) rotate(-2.7deg)}100%{transform:translate3d(7px,-7px,0) rotate(1.8deg)}}@keyframes bltMobileOrbitCardC{0%{transform:translate3d(-4px,6px,0) rotate(-1.4deg)}50%{transform:translate3d(8px,-8px,0) rotate(2.8deg)}100%{transform:translate3d(2px,9px,0) rotate(-1.8deg)}}@keyframes bltMobileOrbitCardD{0%{transform:translate3d(3px,2px,0) rotate(1deg)}50%{transform:translate3d(-8px,-10px,0) rotate(-2.5deg)}100%{transform:translate3d(7px,6px,0) rotate(2deg)}}
 .blt-motion-ring--one{display:block!important;width:64%!important;height:auto!important;aspect-ratio:1!important;left:18%!important;top:17%!important;right:auto!important;border-style:dashed!important;animation:bltMobileRingSpin 18s linear infinite!important}.blt-motion-dot--one{display:block!important;left:16%!important;top:20%!important;animation:bltMobileDotFloat 4.6s ease-in-out infinite alternate!important}.blt-motion-dot--two{display:block!important;right:12%!important;top:25%!important;animation:bltMobileDotFloat2 5.2s ease-in-out infinite alternate!important}.blt-motion-dot--three{display:block!important;right:18%!important;bottom:15%!important;animation:bltMobileDotFloat 5.8s ease-in-out infinite alternate-reverse!important}@keyframes bltMobileRingSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes bltMobileDotFloat{from{transform:translate3d(0,0,0)}to{transform:translate3d(10px,-12px,0)}}@keyframes bltMobileDotFloat2{from{transform:translate3d(0,0,0)}to{transform:translate3d(-9px,11px,0)}}
}
@media(max-width:360px){.blt-hero__actions{grid-template-columns:1fr!important;width:min(100%,272px)!important}.blt-doctor-stage .blt-stage-card{width:42%!important;min-height:82px!important;padding:8px!important}}
@media(prefers-reduced-motion:reduce){.blt-doctor-stage .blt-stage-card,.blt-motion-ring,.blt-motion-dot{animation:none!important;transform:none!important}}
