/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-border-style: solid
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-slate-200: oklch(92.9% .013 255.508);
        --color-white: #fff;
        --spacing: .25rem;
        --default-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

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

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .relative {
        position: relative
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .mt-5 {
        margin-top: calc(var(--spacing) * 5)
    }

    .mt-6 {
        margin-top: calc(var(--spacing) * 6)
    }

    .mt-8 {
        margin-top: calc(var(--spacing) * 8)
    }

    .mt-12 {
        margin-top: calc(var(--spacing) * 12)
    }

    .ml-auto {
        margin-left: auto
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .table {
        display: table
    }

    .size-4 {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .size-5 {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5)
    }

    .size-6 {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .size-7 {
        width: calc(var(--spacing) * 7);
        height: calc(var(--spacing) * 7)
    }

    .size-8 {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8)
    }

    .size-10 {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .size-12 {
        width: calc(var(--spacing) * 12);
        height: calc(var(--spacing) * 12)
    }

    .h-full {
        height: 100%
    }

    .w-56 {
        width: calc(var(--spacing) * 56)
    }

    .w-full {
        width: 100%
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .flex-col {
        flex-direction: column
    }

    .items-center {
        align-items: center
    }

    .items-start {
        align-items: flex-start
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .gap-3 {
        gap: calc(var(--spacing) * 3)
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .gap-6 {
        gap: calc(var(--spacing) * 6)
    }

    .gap-7 {
        gap: calc(var(--spacing) * 7)
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8)
    }

    .gap-12 {
        gap: calc(var(--spacing) * 12)
    }

    .gap-14 {
        gap: calc(var(--spacing) * 14)
    }

    .scroll-smooth {
        scroll-behavior: smooth
    }

    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .border-slate-200 {
        border-color: var(--color-slate-200)
    }

    .object-contain {
        object-fit: contain
    }

    .p-5 {
        padding: calc(var(--spacing) * 5)
    }

    .text-center {
        text-align: center
    }

    .text-brand-950 {
        color: var(--brand-950)
    }

    .text-white {
        color: var(--color-white)
    }

    @media (width>=40rem) {
        .sm\:block {
            display: block
        }

        .sm\:inline-flex {
            display: inline-flex
        }

        .sm\:flex-row {
            flex-direction: row
        }
    }

    @media (width>=48rem) {
        .md\:inline-flex {
            display: inline-flex
        }

        .md\:grid-cols-3 {
            grid-template-columns: repeat(3, minmax(0, 1fr))
        }
    }

    @media (width>=64rem) {
        .lg\:inline-flex {
            display: inline-flex
        }

        .lg\:grid-cols-\[\.8fr_1\.2fr\] {
            grid-template-columns: .8fr 1.2fr
        }

        .lg\:grid-cols-\[\.72fr_1\.28fr\] {
            grid-template-columns: .72fr 1.28fr
        }

        .lg\:grid-cols-\[\.88fr_1\.12fr\] {
            grid-template-columns: .88fr 1.12fr
        }

        .lg\:grid-cols-\[1\.08fr_\.92fr\] {
            grid-template-columns: 1.08fr .92fr
        }
    }

    @media (width>=80rem) {
        .xl\:flex {
            display: flex
        }

        .xl\:hidden {
            display: none
        }
    }
}

:root {
    --brand-950: #03152f;
    --brand-900: #062044;
    --brand-800: #0e3f7c;
    --brand-500: #1687e8;
    --cyan-500: #11b8c4;
    --slate-900: #132238;
    --slate-600: #58677a;
    --gold: #d7ad72;
    --whatsapp: #1faf5b
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 104px
}

body {
    color: var(--slate-900);
    background: #fff;
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif
}

a {
    text-decoration: none
}

button,
a {
    -webkit-tap-highlight-color: transparent
}

button {
    font: inherit
}

.site-container {
    width: min(100% - 2.5rem, 1280px);
    margin-inline: auto
}

.skip-link {
    z-index: 100;
    color: var(--brand-950);
    background: #fff;
    border-radius: .65rem;
    padding: .75rem 1rem;
    font-weight: 700;
    position: fixed;
    top: -6rem;
    left: 1rem;
    box-shadow: 0 12px 35px #0003
}

.skip-link:focus {
    top: 1rem
}

.utility-bar {
    color: #c7d7e9;
    letter-spacing: .015em;
    z-index: 51;
    background: #021126;
    height: 36px;
    font-size: .78rem;
    position: relative
}

.utility-contacts {
    align-self: stretch;
    align-items: center;
    gap: 1.25rem;
    display: flex
}

.utility-link {
    align-items: center;
    gap: .45rem;
    line-height: 1;
    transition: color .2s;
    display: inline-flex
}

.utility-contacts .utility-link {
    vertical-align: middle;
    height: 100%
}

.utility-link svg {
    flex: none;
    display: block
}

.utility-link span {
    align-items: center;
    line-height: 1;
    display: inline-flex
}

.utility-link:hover {
    color: #fff
}

.site-header {
    z-index: 50;
    color: #fff;
    border-bottom: 1px solid #ffffff1c;
    height: 88px;
    transition: height .3s, background .3s, box-shadow .3s, color .3s;
    position: absolute;
    inset: 36px 0 auto
}

.site-header.is-scrolled {
    height: 76px;
    color: var(--brand-950);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #fffffff5;
    border-bottom-color: #09325e14;
    position: fixed;
    top: 0;
    box-shadow: 0 10px 35px #03152f17
}

.logo-wrap {
    width: min(315px, 46vw);
    height: 68px;
    display: block;
    position: relative
}

.logo {
    width: 100%;
    height: auto;
    transition: opacity .25s;
    position: absolute;
    inset: 50% auto auto 0;
    transform: translateY(-50%)
}

.logo-dark,
.site-header.is-scrolled .logo-light {
    opacity: 0
}

.site-header.is-scrolled .logo-dark {
    opacity: 1
}

.nav-link {
    color: inherit;
    opacity: .88;
    padding-block: 1rem;
    font-size: .9rem;
    font-weight: 600;
    position: relative
}

.nav-link:after {
    content: "";
    background: var(--cyan-500);
    height: 2px;
    transition: right .25s;
    position: absolute;
    bottom: .65rem;
    left: 0;
    right: 100%
}

.nav-link:hover {
    opacity: 1
}

.nav-link:hover:after {
    right: 0
}

.header-cta {
    color: inherit;
    background: #ffffff1f;
    border: 1px solid #ffffff4d;
    border-radius: 999px;
    align-items: center;
    gap: .55rem;
    padding: .75rem 1.15rem;
    font-size: .88rem;
    font-weight: 700;
    transition: transform .2s, background .2s, color .2s
}

.header-cta:hover {
    color: var(--brand-950);
    background: #fff;
    transform: translateY(-2px)
}

.site-header.is-scrolled .header-cta {
    background: var(--brand-950);
    color: #fff;
    border-color: var(--brand-950)
}

.menu-button {
    width: 46px;
    height: 46px;
    color: inherit;
    cursor: pointer;
    background: #ffffff1a;
    border: 1px solid #ffffff40;
    border-radius: 50%;
    place-items: center;
    display: grid
}

.site-header.is-scrolled .menu-button {
    background: #f3f7fa;
    border-color: #d9e3ec
}

.mobile-menu {
    z-index: 80;
    visibility: hidden;
    pointer-events: none;
    position: fixed;
    inset: 0
}

.mobile-menu.is-open {
    visibility: visible;
    pointer-events: auto
}

.mobile-menu-backdrop {
    opacity: 0;
    background: #010d1eb8;
    border: 0;
    transition: opacity .25s;
    position: absolute;
    inset: 0
}

.mobile-menu.is-open .mobile-menu-backdrop {
    opacity: 1
}

.mobile-menu-panel {
    background: #fff;
    width: min(90vw, 420px);
    height: 100%;
    transition: transform .3s;
    position: absolute;
    top: 0;
    right: 0;
    overflow-y: auto;
    transform: translate(100%);
    box-shadow: -20px 0 60px #0000002e
}

.mobile-menu.is-open .mobile-menu-panel {
    transform: translate(0)
}

.mobile-nav-link {
    color: var(--brand-950);
    border-bottom: 1px solid #e6edf3;
    justify-content: space-between;
    align-items: center;
    padding: 1rem .3rem;
    font-weight: 650;
    display: flex
}

.hero-section {
    background: var(--brand-950);
    color: #fff;
    min-height: 760px;
    position: relative;
    overflow: hidden
}

.hero-background {
    object-fit: cover;
    opacity: .7;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.hero-overlay {
    background: linear-gradient(90deg, #021025fc 0%, #031937f2 43%, #031a3a8f 72%, #03152f52 100%);
    position: absolute;
    inset: 0
}

.hero-grid {
    opacity: .15;
    background-image: linear-gradient(#3fc7e22e 1px, #0000 1px), linear-gradient(90deg, #3fc7e22e 1px, #0000 1px);
    background-size: 68px 68px;
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(90deg, #000, #0000 70%);
    mask-image: linear-gradient(90deg, #000, #0000 70%)
}

.hero-inner {
    z-index: 10;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: 2rem;
    min-height: 730px;
    padding-top: 112px;
    display: grid;
    position: relative
}

.hero-copy {
    max-width: 680px;
    padding: 3.75rem 0 4rem
}

.hero-copy-content {
    animation: .55s cubic-bezier(.2, .75, .25, 1) both hero-copy-in
}

.eyebrow {
    color: #99e7ef;
    text-transform: uppercase;
    letter-spacing: .16em;
    align-items: center;
    gap: .65rem;
    font-size: .76rem;
    font-weight: 750;
    display: inline-flex
}

.eyebrow-dot {
    background: var(--cyan-500);
    border-radius: 50%;
    width: 8px;
    height: 8px;
    box-shadow: 0 0 0 6px #11b8c421
}

.hero-copy h1 {
    letter-spacing: -.04em;
    text-wrap: balance;
    max-width: 700px;
    margin: 1.35rem 0 0;
    font-size: clamp(2.2rem, 3.55vw, 3.55rem);
    font-weight: 680;
    line-height: 1.06
}

.hero-copy h1 span {
    color: #9eddec
}

.hero-lead {
    color: #d1deea;
    max-width: 640px;
    margin: 1.5rem 0 0;
    font-size: clamp(1.05rem, 1.4vw, 1.22rem);
    line-height: 1.75
}

.hero-actions {
    margin-top: 2rem
}

.hero-slider-nav {
    align-items: center;
    gap: .55rem;
    margin-top: 1.35rem;
    display: flex
}

.hero-slider-nav button {
    cursor: pointer;
    background: 0 0;
    border: 0;
    place-items: center;
    width: 34px;
    height: 24px;
    padding: 0;
    display: grid
}

.hero-slider-nav button span {
    background: #ffffff59;
    border-radius: 999px;
    width: 18px;
    height: 3px;
    transition: width .25s, background .25s;
    display: block
}

.hero-slider-nav button.is-active span {
    background: #7de7ee;
    width: 32px
}

.btn-whatsapp,
.btn-ghost {
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: .65rem;
    min-height: 54px;
    padding: .85rem 1.35rem;
    font-size: .93rem;
    font-weight: 750;
    transition: transform .2s, box-shadow .2s, background .2s;
    display: inline-flex
}

.btn-whatsapp {
    background: var(--whatsapp);
    color: #fff;
    box-shadow: 0 15px 35px #15994c42
}

.btn-whatsapp:hover {
    background: #169b4e;
    transform: translateY(-2px);
    box-shadow: 0 18px 38px #15994c5c
}

.btn-ghost {
    color: #fff;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: #ffffff14;
    border: 1px solid #ffffff47
}

.btn-ghost:hover {
    background: #ffffff26;
    transform: translateY(-2px)
}

.doctor-id {
    color: #fff;
    align-items: center;
    gap: .9rem;
    margin-top: 1.45rem;
    display: flex
}

.doctor-id p {
    flex-direction: column;
    gap: .2rem;
    margin: 0;
    font-size: .85rem;
    display: flex
}

.doctor-id strong {
    font-size: .94rem
}

.doctor-id span {
    color: #aebfd0;
    letter-spacing: .025em
}

.hero-portrait-wrap {
    justify-content: center;
    align-self: end;
    align-items: flex-end;
    height: 620px;
    display: flex;
    position: relative
}

.hero-portrait {
    z-index: 4;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 28px 32px #00000059);
    width: auto;
    animation: .62s cubic-bezier(.2, .75, .25, 1) both hero-image-in;
    position: relative
}

.hero-image-clinical {
    height: 620px
}

.hero-image-integrated {
    height: 585px
}

.hero-image-education {
    width: min(112%, 650px);
    height: auto;
    max-height: 570px
}

.hero-glow {
    z-index: 1;
    filter: blur(5px);
    background: radial-gradient(circle, #13b5d361, #138bd514 52%, #0000 72%);
    border-radius: 50%;
    width: 80%;
    height: 70%;
    position: absolute;
    bottom: 5%;
    right: 5%
}

.hero-orbit {
    z-index: 2;
    border: 1px solid #3fcddf40;
    border-radius: 50%;
    position: absolute
}

.hero-orbit-one {
    width: 560px;
    height: 560px;
    bottom: 8%;
    right: -8%
}

.hero-orbit-two {
    border-color: #d7ad7240;
    width: 380px;
    height: 380px;
    bottom: 18%;
    right: 4%
}

.hero-badge {
    z-index: 6;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: #03152fb8;
    border: 1px solid #fff3;
    border-radius: 1rem;
    align-items: center;
    gap: .75rem;
    padding: .8rem 1rem;
    display: flex;
    position: absolute;
    bottom: 6.5rem;
    right: 0;
    box-shadow: 0 18px 45px #0000003d
}

.hero-badge-icon {
    color: #78e5ec;
    background: #11b8c429;
    border-radius: 50%;
    place-items: center;
    width: 38px;
    height: 38px;
    display: grid
}

.hero-badge span:last-child {
    flex-direction: column;
    display: flex
}

.hero-badge small {
    color: #b7c7d6;
    font-size: .69rem
}

.hero-badge strong {
    font-size: .87rem
}

@keyframes hero-copy-in {
    0% {
        opacity: 0;
        transform: translateY(14px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes hero-image-in {
    0% {
        opacity: 0;
        transform: translate(20px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

.trust-strip {
    z-index: 10;
    background: #edf7fb;
    border-bottom: 1px solid #dcebf1;
    margin-top: -1px;
    padding: 1rem 0 1.25rem;
    position: relative
}

.trust-strip .site-container {
    gap: 1rem
}

.trust-item {
    background: #fffffff0;
    border: 1px solid #d9eaf1;
    border-radius: 1.2rem;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1rem;
    padding: 1.35rem 1.4rem;
    transition: transform .25s, box-shadow .25s, border-color .25s;
    display: grid;
    box-shadow: 0 14px 35px #082d5011
}

.trust-item:hover {
    border-color: #b8dfe8;
    transform: translateY(-4px);
    box-shadow: 0 20px 42px #082d501a
}

.trust-item>span {
    color: #fff;
    letter-spacing: .08em;
    background: linear-gradient(145deg, #0b4f8e, #13afc0);
    border-radius: 14px;
    place-items: center;
    width: 44px;
    height: 44px;
    font-size: .72rem;
    font-weight: 800;
    display: grid;
    box-shadow: 0 8px 20px #09689c2e
}

.trust-item h2 {
    color: var(--brand-950);
    margin: 0;
    font-size: 1.02rem
}

.trust-item p {
    color: var(--slate-600);
    margin: .35rem 0 0;
    font-size: .84rem;
    line-height: 1.55
}

.section {
    padding: clamp(5.5rem, 9vw, 8rem) 0
}

.light-section {
    background: #f5f9fc
}

.section-kicker {
    color: #1474c8;
    letter-spacing: .16em;
    text-transform: uppercase;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
    font-size: .74rem;
    font-weight: 800;
    display: inline-flex
}

.section-kicker:before {
    content: "";
    background: var(--cyan-500);
    width: 28px;
    height: 2px
}

.section-heading {
    max-width: 760px
}

.section-heading h2 {
    color: var(--brand-950);
    letter-spacing: -.045em;
    text-wrap: balance;
    margin: 0;
    font-size: clamp(2.35rem, 4.5vw, 4.25rem);
    font-weight: 660;
    line-height: 1.06
}

.section-heading p {
    color: var(--slate-600);
    margin: 1.25rem 0 0;
    font-size: 1.02rem;
    line-height: 1.8
}

.section-heading-light h2 {
    color: #fff
}

.section-heading-light p {
    color: #b9ccdd
}

.split-heading {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    align-items: end;
    column-gap: clamp(2rem, 5vw, 5rem);
    max-width: none;
    display: grid
}

.split-heading .section-kicker {
    grid-column: 1/-1
}

.split-heading>p:last-child {
    justify-self: end;
    max-width: 470px;
    margin: 0 0 .25rem
}

[data-reveal] {
    opacity: 0;
    transition: opacity .65s, transform .65s cubic-bezier(.2, .75, .25, 1);
    transform: translateY(24px)
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0)
}

.signal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    display: grid
}

.signal-card {
    background: #fff;
    border: 1px solid #e1ebf2;
    border-radius: 1.3rem;
    flex-direction: column;
    justify-content: space-between;
    min-height: 190px;
    padding: 1.55rem;
    transition: transform .25s, border-color .25s, box-shadow .25s;
    display: flex;
    box-shadow: 0 12px 40px #082d500d
}

.signal-card:hover {
    border-color: #b9e3ea;
    transform: translateY(-5px);
    box-shadow: 0 20px 52px #082d5017
}

.signal-icon {
    color: #0ba5b3;
    background: #eaf7f9;
    border-radius: 14px;
    place-items: center;
    width: 46px;
    height: 46px;
    display: grid
}

.signal-card h3 {
    color: var(--brand-950);
    margin: 1.3rem 0 .55rem;
    font-size: 1.04rem
}

.signal-card p {
    color: var(--slate-600);
    margin: 0;
    font-size: .9rem;
    line-height: 1.65
}

.medical-note {
    color: #40576c;
    background: #edf6fa;
    border: 1px solid #d8e8f0;
    border-radius: 1.1rem;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    font-size: .88rem;
    line-height: 1.7;
    display: flex
}

.medical-note>span {
    color: #0c8f9b;
    background: #fff;
    border-radius: 50%;
    flex: none;
    place-items: center;
    width: 36px;
    height: 36px;
    display: grid
}

.areas-section {
    background: #041932;
    position: relative;
    overflow: hidden
}

.areas-section:before {
    content: "";
    opacity: .16;
    background-image: radial-gradient(circle at 80% 20%, #14c6d8b3, #0000 27%), linear-gradient(#ffffff0a 1px, #0000 1px), linear-gradient(90deg, #ffffff0a 1px, #0000 1px);
    background-size: auto, 70px 70px, 70px 70px;
    position: absolute;
    inset: 0
}

.specialty-grid {
    grid-template-columns: 1.12fr .88fr;
    gap: 1.25rem;
    display: grid;
    position: relative
}

.specialty-card {
    border-radius: 1.8rem;
    min-height: 570px;
    padding: clamp(1.8rem, 4vw, 3.3rem);
    position: relative;
    overflow: hidden
}

.specialty-card-dark {
    color: #fff;
    background: linear-gradient(135deg, #0b3769 0%, #062243 72%)
}

.specialty-card-light {
    color: var(--brand-950);
    background: linear-gradient(140deg, #eef8fb, #dceff6)
}

.specialty-card:after {
    content: "";
    border: 1px solid #58cddd40;
    border-radius: 50%;
    width: 30rem;
    height: 30rem;
    position: absolute;
    bottom: -10rem;
    right: -8rem
}

.specialty-card img {
    z-index: 1;
    object-fit: contain;
    object-position: bottom right;
    filter: drop-shadow(0 22px 25px #0000002e);
    width: min(52%, 350px);
    max-height: 82%;
    position: absolute;
    bottom: 0;
    right: -4%
}

.specialty-card-light img {
    width: min(58%, 365px);
    right: -11%
}

.specialty-copy {
    z-index: 3;
    width: 65%;
    position: relative
}

.specialty-number {
    color: #94e9ee;
    letter-spacing: .08em;
    border: 1px solid #ffffff38;
    border-radius: 50%;
    place-items: center;
    width: 40px;
    height: 40px;
    font-size: .72rem;
    font-weight: 800;
    display: inline-grid
}

.specialty-card-light .specialty-number {
    color: #1477c9;
    border-color: #badbe6
}

.specialty-card h3 {
    letter-spacing: -.04em;
    margin: 1.4rem 0 .8rem;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05
}

.specialty-card p {
    color: #c4d6e5;
    max-width: 500px;
    margin: 0;
    line-height: 1.75
}

.specialty-card-light p {
    color: #536a7e
}

.specialty-card ul {
    gap: .65rem;
    margin: 1.45rem 0 0;
    padding: 0;
    list-style: none;
    display: grid
}

.specialty-card li {
    align-items: flex-start;
    gap: .6rem;
    font-size: .86rem;
    line-height: 1.5;
    display: flex
}

.specialty-card li svg {
    color: #43d9e3;
    flex: none;
    margin-top: .12rem
}

.specialty-card-light li svg {
    color: #0da5b1
}

.text-link {
    color: inherit;
    align-items: center;
    gap: .55rem;
    margin-top: 1.6rem;
    font-size: .88rem;
    font-weight: 750;
    display: inline-flex
}

.text-link svg {
    transition: transform .2s
}

.text-link:hover svg {
    transform: translate(4px)
}

.specialty-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem 1rem;
    margin-top: 1.6rem;
    display: flex
}

.specialty-actions .text-link {
    margin-top: 0
}

.specialty-book {
    color: #fff;
    background: #ffffff14;
    border: 1px solid #ffffff42;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    min-height: 44px;
    padding: .65rem 1rem;
    font-size: .82rem;
    font-weight: 760;
    display: inline-flex
}

.specialty-book-dark {
    color: var(--brand-950);
    background: #ffffff9e;
    border-color: #bddbe4
}

.specialty-book-clinica {
    color: #fff;
    background: linear-gradient(135deg, #087f8d, #096cad);
    border-color: #087f8d;
    box-shadow: 0 12px 28px #055e7f33
}

.specialty-book-clinica:hover {
    background: linear-gradient(135deg, #075f70, #085a96);
    border-color: #075f70
}

.process-section {
    background: #fff
}

.process-list {
    gap: 1rem;
    display: grid;
    position: relative
}

.process-list:before {
    content: "";
    background: #cfe0ea;
    width: 1px;
    position: absolute;
    top: 2.1rem;
    bottom: 2.1rem;
    left: 25px
}

.process-item {
    grid-template-columns: 52px 1fr;
    gap: 1.1rem;
    padding: 1.4rem 0;
    display: grid;
    position: relative
}

.process-heading h2 {
    font-size: clamp(2.15rem, 3.7vw, 3.45rem)
}

.process-item>span {
    z-index: 2;
    color: #fff;
    background: linear-gradient(145deg, #137dd1, #13b4c3);
    border-radius: 50%;
    place-items: center;
    width: 52px;
    height: 52px;
    font-size: .78rem;
    font-weight: 800;
    display: grid;
    position: relative;
    box-shadow: 0 0 0 8px #fff, 0 10px 24px #137ebd2e
}

.process-item h3 {
    color: var(--brand-950);
    margin: .1rem 0 .45rem;
    font-size: 1.1rem
}

.process-item p {
    color: var(--slate-600);
    margin: 0;
    font-size: .92rem;
    line-height: 1.7
}

.btn-primary,
.btn-light {
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: .6rem;
    min-height: 52px;
    padding: .8rem 1.3rem;
    font-size: .91rem;
    font-weight: 760;
    transition: transform .2s, box-shadow .2s, background .2s;
    display: inline-flex
}

.btn-primary {
    background: var(--brand-950);
    color: #fff;
    box-shadow: 0 15px 35px #03152f2b
}

.btn-primary:hover {
    background: #0b315f;
    transform: translateY(-2px)
}

.btn-light {
    color: var(--brand-950);
    background: #fff
}

.btn-light:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px #0000002e
}

.about-section {
    background: #eef6fa;
    position: relative;
    overflow: hidden
}

.about-visual {
    background: linear-gradient(155deg, #fbfeff 0%, #e9f4f8 48%, #c7e2eb 100%);
    border: 1px solid #1977a624;
    border-radius: 1.6rem;
    min-height: 690px;
    padding-top: 4.5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 65px #0832501f
}

.about-visual:before {
    content: "";
    opacity: .88;
    background: radial-gradient(circle at 78% 18%, #11b8c42e, #0000 29%), linear-gradient(125deg, #ffffffc7, #0000 52%), radial-gradient(circle at 1px 1px, #0e5e8b1f 1px, #0000 0) 0 0/24px 24px;
    position: absolute;
    inset: 0
}

.about-visual:after {
    content: "";
    z-index: 1;
    pointer-events: none;
    border: 1px solid #ffffffc7;
    border-radius: 1.1rem;
    position: absolute;
    inset: 1.1rem
}

.about-visual>img {
    z-index: 2;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 22px 30px #04182e2e);
    width: auto;
    height: calc(100% - 4.5rem);
    position: absolute;
    top: 4.5rem;
    bottom: 0;
    right: 4%
}

.about-photo-caption {
    z-index: 3;
    width: min(285px, 75%);
    color: var(--brand-950);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: #ffffffe0;
    border: 1px solid #fffc;
    border-radius: 1rem;
    flex-direction: column;
    gap: .22rem;
    padding: 1rem 1.15rem;
    display: flex;
    position: absolute;
    bottom: 1.4rem;
    left: 1.4rem;
    box-shadow: 0 18px 40px #06284824
}

.about-photo-caption strong {
    font-size: .92rem
}

.about-photo-caption span {
    color: #4c6477;
    letter-spacing: .04em;
    font-size: .76rem
}

.about-section .section-heading {
    max-width: 650px
}

.about-section .section-heading h2 {
    font-size: clamp(2.25rem, 3.65vw, 3.8rem)
}

.credential-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin-top: 2rem;
    display: grid
}

.credential-grid>div {
    background: #ffffffe0;
    border: 1px solid #d4e4ec;
    border-radius: 1rem;
    align-items: center;
    gap: .8rem;
    min-height: 86px;
    padding: 1rem;
    display: flex;
    box-shadow: 0 10px 28px #072d4b0e
}

.credential-grid .credential-icon {
    color: #079ba8;
    background: #e1f5f6;
    border-radius: 12px;
    flex: none;
    place-items: center;
    width: 38px;
    height: 38px;
    display: grid
}

.credential-grid .credential-icon svg {
    width: 18px;
    height: 18px
}

.credential-grid p {
    flex-direction: column;
    gap: .2rem;
    margin: 0;
    line-height: 1.35;
    display: flex
}

.credential-grid small {
    color: #1780bd;
    letter-spacing: .09em;
    text-transform: uppercase;
    font-size: .66rem;
    font-weight: 800
}

.credential-grid strong {
    color: var(--brand-950);
    font-size: .86rem
}

.talk-section {
    background: #fff
}

.talk-card.talk-card-videos {
    min-height: 0;
    display: block
}

.talk-card-videos .talk-heading,
.talk-card-videos .talk-video-grid,
.talk-card-videos .talk-actions {
    z-index: 3;
    position: relative
}

.talk-heading {
    grid-template-columns: 1.08fr .92fr;
    align-items: end;
    gap: clamp(2rem, 6vw, 6rem);
    display: grid
}

.talk-heading h2 {
    color: #fff;
    letter-spacing: -.05em;
    max-width: 760px;
    margin: .8rem 0 0;
    font-size: clamp(2.5rem, 4.5vw, 4.5rem);
    line-height: 1
}

.talk-heading>p {
    color: #bfd0df;
    max-width: 560px;
    margin: 0;
    line-height: 1.8
}

.talk-section .section-kicker {
    color: #52dce5
}

.talk-video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
    display: grid
}

.talk-video-card {
    aspect-ratio: 16/9;
    color: #fff;
    cursor: pointer;
    background: #041831;
    border: 1px solid #ffffff24;
    border-radius: 1.35rem;
    padding: 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 48px #00000042
}

.talk-video-card img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .35s, filter .35s
}

.talk-video-overlay {
    opacity: .94;
    background: linear-gradient(#020e1f0d, #020e1fc7);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    inset: 0
}

.talk-video-overlay i {
    color: #e72933;
    background: #fffffff2;
    border-radius: 50%;
    place-items: center;
    width: 62px;
    height: 62px;
    font-style: normal;
    transition: transform .25s;
    display: grid;
    box-shadow: 0 14px 38px #0000004d
}

.talk-video-overlay strong {
    margin-top: 1rem;
    font-size: .95rem
}

.talk-video-overlay small {
    color: #d0dfeb;
    margin-top: .25rem
}

.talk-video-card:hover img {
    filter: brightness(.8);
    transform: scale(1.035)
}

.talk-video-card:hover i {
    transform: scale(1.08)
}

.talk-actions {
    justify-content: center;
    margin-top: 2rem;
    display: flex
}

.video-modal {
    z-index: 120;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #000712f0;
    place-items: center;
    padding: clamp(1rem, 4vw, 4rem);
    display: grid;
    position: fixed;
    inset: 0
}

.video-modal-player {
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 1rem;
    width: min(1180px, 92vw);
    overflow: hidden;
    box-shadow: 0 32px 100px #0000009e
}

.video-modal-player iframe {
    border: 0;
    width: 100%;
    height: 100%
}

.video-modal-close {
    z-index: 2;
    color: #fff;
    cursor: pointer;
    background: #ffffff1a;
    border: 1px solid #ffffff40;
    border-radius: 50%;
    place-items: center;
    width: 48px;
    height: 48px;
    display: grid;
    position: fixed;
    top: 1.25rem;
    right: 1.25rem
}

.talk-card {
    color: #fff;
    background: linear-gradient(135deg, #041a36 0%, #082d58 100%);
    border-radius: 2rem;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    min-height: 520px;
    padding: clamp(2rem, 5vw, 4.8rem);
    display: grid;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 80px #0317302e
}

.talk-copy {
    z-index: 3;
    max-width: 610px;
    position: relative
}

.talk-copy h2 {
    letter-spacing: -.055em;
    margin: 1rem 0;
    font-size: clamp(2.7rem, 5vw, 5rem);
    line-height: .98
}

.talk-copy p {
    color: #bfd0df;
    max-width: 570px;
    margin: 0;
    line-height: 1.8
}

.talk-actions {
    margin-top: 2rem
}

.talk-visual {
    z-index: 2;
    place-items: center;
    min-height: 350px;
    display: grid;
    position: relative
}

.talk-ring {
    aspect-ratio: 1;
    color: #fff;
    background: radial-gradient(circle, #11b8c44d, #11b8c40a 62%, #0000 63%);
    border: 1px solid #73e1e973;
    border-radius: 50%;
    place-items: center;
    width: 230px;
    transition: transform .25s;
    display: grid;
    box-shadow: 0 0 0 36px #19b1cd0f, 0 0 0 72px #19b1cd09
}

.talk-ring:hover {
    transform: scale(1.04)
}

.talk-ring>span {
    color: #eb232d;
    background: #fff;
    border-radius: 50%;
    place-items: center;
    width: 74px;
    height: 74px;
    display: grid;
    box-shadow: 0 14px 35px #00000047
}

.talk-pattern {
    opacity: .18;
    background-image: radial-gradient(circle, #4cd9e2 1px, #0000 1.5px);
    background-size: 24px 24px;
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(270deg, #000, #0000 65%);
    mask-image: linear-gradient(270deg, #000, #0000 65%)
}

.content-section {
    background: #f5f9fc
}

.unimed-section {
    background: #f4f9f7;
    padding-top: clamp(3.5rem, 7vw, 6rem);
    padding-bottom: clamp(3.5rem, 7vw, 6rem)
}

.unimed-card {
    background: linear-gradient(135deg, #fff 0%, #e9f7f1 100%);
    border: 1px solid #cfe6dc;
    border-radius: 1.75rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3.5rem);
    padding: clamp(1.6rem, 4vw, 3.2rem);
    display: grid;
    overflow: hidden;
    box-shadow: 0 22px 60px #015a3b17
}

.unimed-logo-wrap {
    border-right: 1px solid #cfe6dc;
    place-items: center;
    min-width: 210px;
    padding-right: clamp(1.5rem, 3vw, 3rem);
    display: grid
}

.unimed-logo-wrap img {
    width: min(220px, 100%);
    height: auto
}

.unimed-copy .section-kicker {
    color: #008b60
}

.unimed-copy h2 {
    color: var(--brand-950);
    letter-spacing: -.04em;
    margin: .5rem 0 .7rem;
    font-size: clamp(1.8rem, 3vw, 2.75rem);
    line-height: 1.08
}

.unimed-copy p:last-child {
    max-width: 720px;
    color: var(--slate-600);
    margin: 0;
    line-height: 1.7
}

.btn-unimed {
    color: #fff;
    white-space: nowrap;
    background: #00995d;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: .55rem;
    min-height: 52px;
    padding: .8rem 1.25rem;
    font-size: .9rem;
    font-weight: 760;
    transition: transform .2s, background .2s, box-shadow .2s;
    display: inline-flex;
    box-shadow: 0 14px 32px #00995d33
}

.btn-unimed:hover {
    background: #007f4e;
    transform: translateY(-2px);
    box-shadow: 0 18px 38px #007f4e40
}

.content-heading-layout {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2.5rem;
    display: grid
}

.content-heading {
    max-width: 980px
}

.article-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
    display: grid
}

.article-card {
    color: inherit;
    background: #fff;
    border: 1px solid #dfebf2;
    border-radius: 1.4rem;
    transition: transform .25s, box-shadow .25s;
    overflow: hidden;
    box-shadow: 0 12px 34px #0627480d
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 46px #0627481a
}

.article-art {
    color: #fff;
    background: linear-gradient(145deg, #072b55, #0b5e91);
    align-items: flex-end;
    min-height: 220px;
    padding: 1.4rem;
    display: flex;
    position: relative;
    overflow: hidden
}

.article-art:before {
    content: "";
    border: 1px solid #ffffff40;
    border-radius: 50%;
    width: 14rem;
    height: 14rem;
    position: absolute;
    top: -5rem;
    right: -5rem;
    box-shadow: 0 0 0 2.5rem #2ac3d312, 0 0 0 5rem #2ac3d30a
}

.article-art>span {
    z-index: 2;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #ffffff21;
    border-radius: 15px;
    place-items: center;
    width: 48px;
    height: 48px;
    display: grid;
    position: relative
}

.article-body {
    padding: 1.35rem
}

.article-body .article-category {
    color: #0c8f9b;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 800
}

.article-body h3 {
    color: var(--brand-950);
    margin: .7rem 0 .6rem;
    font-size: 1.12rem;
    line-height: 1.4
}

.article-body p {
    margin: 0
}

.article-excerpt {
    color: var(--slate-600);
    font-size: .88rem;
    line-height: 1.68;
    display: block
}

.article-link {
    color: #0c72c2;
    align-items: center;
    gap: .5rem;
    margin-top: 1.2rem;
    font-size: .82rem;
    font-weight: 750;
    display: inline-flex
}

.article-link svg {
    width: 17px;
    height: 17px;
    transition: transform .2s
}

.article-link:hover svg {
    transform: translate(3px)
}

.clinic-section {
    background: #eef6fa
}

.clinic-showcase {
    background: #fff;
    border: 1px solid #d6e7ee;
    border-radius: 2rem;
    grid-template-columns: 1.05fr .95fr;
    display: grid;
    overflow: hidden;
    box-shadow: 0 28px 75px #052b4c1f
}

.clinic-photo-frame {
    background: #dce9ef;
    min-height: 680px;
    position: relative;
    overflow: hidden
}

.clinic-photo-frame>img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%
}

.clinic-photo-label {
    color: #fff;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: #03152fc7;
    border: 1px solid #ffffff8f;
    border-radius: 999px;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    font-size: .78rem;
    font-weight: 720;
    display: inline-flex;
    position: absolute;
    bottom: 1.35rem;
    left: 1.35rem;
    box-shadow: 0 12px 30px #0000002e
}

.clinic-copy {
    align-self: center;
    padding: clamp(2rem, 5vw, 5rem)
}

.clinic-copy>img {
    object-fit: contain;
    width: 125px;
    height: auto
}

.clinic-copy .section-kicker {
    margin-top: 2rem
}

.clinic-copy h2 {
    color: var(--brand-950);
    letter-spacing: -.045em;
    text-wrap: balance;
    margin: 0;
    font-size: clamp(2.25rem, 4vw, 4rem);
    line-height: 1.04
}

.clinic-copy h2 span {
    color: #167fbe
}

.clinic-copy>p {
    color: var(--slate-600);
    margin: 1.25rem 0 0;
    line-height: 1.8
}

.clinic-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-top: 1.6rem;
    display: grid
}

.clinic-highlights span {
    color: #355066;
    background: #f7fbfc;
    border: 1px solid #dbe8ee;
    border-radius: .9rem;
    align-items: center;
    gap: .5rem;
    min-height: 58px;
    padding: .75rem;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.35;
    display: flex
}

.clinic-highlights svg {
    color: #08a6b2;
    flex: none
}

.clinic-copy .btn-primary {
    margin-top: 1.8rem
}

.location-section {
    background: #fff
}

.location-card,
.appointment-card {
    border-radius: 1.8rem;
    min-height: 100%;
    padding: clamp(1.7rem, 4vw, 3rem)
}

.location-card {
    background: #eef7fa;
    border: 1px solid #d9e8ef
}

.location-card>img {
    object-fit: contain;
    width: 130px;
    height: auto
}

.location-card .section-kicker {
    margin-top: 1.65rem
}

.location-card h2 {
    color: var(--brand-950);
    letter-spacing: -.04em;
    margin: 1.7rem 0 .7rem;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.08
}

.location-card p {
    color: var(--slate-600);
    margin: 0;
    line-height: 1.7
}

.contact-actions {
    gap: .75rem;
    margin-top: 1.5rem;
    display: grid
}

.contact-actions a {
    color: var(--brand-950);
    border-top: 1px solid #d2e2ea;
    align-items: center;
    gap: .75rem;
    padding-top: .85rem;
    font-size: .88rem;
    font-weight: 700;
    display: flex
}

.contact-actions a svg {
    color: #0ba7b3
}

.appointment-card {
    color: #fff;
    background: linear-gradient(145deg, #061c38, #0b396a);
    position: relative;
    overflow: hidden
}

.appointment-card:after {
    content: "";
    border: 1px solid #43d7e133;
    border-radius: 50%;
    width: 25rem;
    height: 25rem;
    position: absolute;
    bottom: -8rem;
    right: -8rem;
    box-shadow: 0 0 0 4rem #43d7e109
}

.appointment-icon {
    z-index: 2;
    color: #70e4ea;
    background: #1bbec929;
    border-radius: 18px;
    place-items: center;
    width: 58px;
    height: 58px;
    display: grid;
    position: relative
}

.appointment-card .section-kicker {
    z-index: 2;
    margin-top: 1.75rem;
    position: relative
}

.appointment-card h2 {
    z-index: 2;
    letter-spacing: -.045em;
    max-width: 570px;
    margin: 1.6rem 0 .8rem;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    line-height: 1.04;
    position: relative
}

.appointment-card p {
    z-index: 2;
    color: #c2d2df;
    max-width: 560px;
    margin: 0;
    line-height: 1.8;
    position: relative
}

.appointment-card a {
    z-index: 2;
    position: relative
}

.faq-section {
    background: #f5f9fc
}

.sticky-heading {
    align-self: start;
    position: sticky;
    top: 120px
}

.faq-list {
    border-top: 1px solid #d5e2e9
}

.faq-item {
    border-bottom: 1px solid #d5e2e9
}

.faq-item button {
    width: 100%;
    color: var(--brand-950);
    text-align: left;
    cursor: pointer;
    background: 0 0;
    border: 0;
    justify-content: space-between;
    align-items: center;
    gap: 1.2rem;
    padding: 1.45rem 0;
    font-weight: 720;
    display: flex
}

.faq-item button>i {
    color: #0b96a2;
    background: #e2f1f5;
    border-radius: 50%;
    flex: none;
    place-items: center;
    width: 34px;
    height: 34px;
    font-style: normal;
    transition: transform .25s;
    display: grid
}

.faq-item button[aria-expanded=true]>i {
    background: var(--brand-950);
    color: #fff;
    transform: rotate(180deg)
}

.faq-answer {
    overflow: hidden
}

.faq-answer p {
    max-width: 700px;
    color: var(--slate-600);
    margin: -.2rem 0 1.5rem;
    font-size: .92rem;
    line-height: 1.75
}

.final-cta {
    color: #fff;
    background: #041831;
    position: relative;
    overflow: hidden
}

.final-cta:before {
    content: "";
    opacity: .5;
    background: radial-gradient(circle at 80%, #10b9cc40, #0000 28%);
    position: absolute;
    inset: 0
}

.final-cta .site-container {
    z-index: 1;
    text-align: center;
    flex-direction: column;
    align-items: center;
    padding-top: 6.5rem;
    padding-bottom: 7rem;
    display: flex;
    position: relative
}

.final-cta h2 {
    text-align: center;
    letter-spacing: -.05em;
    text-wrap: balance;
    max-width: 850px;
    margin: 0 auto;
    font-size: clamp(2.45rem, 5vw, 4.9rem);
    line-height: 1.02
}

.final-cta p {
    color: #bdd0df;
    margin: 1.2rem auto 0;
    line-height: 1.75
}

.site-footer {
    color: #aebfd0;
    background: #021126;
    padding: 4.5rem 0 1.5rem
}

.footer-grid {
    grid-template-columns: 1.35fr .65fr .85fr .7fr;
    gap: 3rem;
    display: grid
}

.footer-grid>div:first-child img {
    width: min(390px, 100%);
    height: auto;
    margin-bottom: 1.35rem
}

.footer-grid p {
    max-width: 430px;
    font-size: .86rem;
    line-height: 1.7
}

.footer-grid h2 {
    color: #fff;
    margin: 0 0 1rem;
    font-size: .92rem
}

.footer-grid ul {
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.footer-grid a {
    color: #aebfd0;
    margin-top: .7rem;
    font-size: .85rem;
    transition: color .2s;
    display: block
}

.footer-grid a:hover {
    color: #fff
}

.footer-bottom {
    border-top: 1px solid #ffffff1a;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 3.5rem;
    padding-top: 1.4rem;
    font-size: .75rem;
    display: flex
}

.floating-whatsapp,
.back-to-top {
    z-index: 45;
    color: #fff;
    cursor: pointer;
    border: 0;
    border-radius: 50%;
    place-items: center;
    transition: transform .2s, opacity .2s;
    display: grid;
    position: fixed;
    right: 1.3rem;
    box-shadow: 0 14px 32px #02122638
}

.floating-whatsapp {
    background: var(--whatsapp);
    width: 58px;
    height: 58px;
    bottom: 1.3rem
}

.floating-whatsapp:hover,
.back-to-top:hover {
    transform: translateY(-3px)
}

.back-to-top {
    background: var(--brand-950);
    opacity: 0;
    pointer-events: none;
    width: 44px;
    height: 44px;
    bottom: 5.8rem
}

.back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto
}

.cookie-banner {
    z-index: 90;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: #fffffff7;
    border: 1px solid #dbe7ed;
    border-radius: 1.2rem;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1.4rem;
    width: min(1100px, 100% - 2rem);
    padding: 1.15rem 1.25rem;
    display: grid;
    position: fixed;
    bottom: 1rem;
    left: 50%;
    transform: translate(-50%);
    box-shadow: 0 24px 70px #02142a33
}

.cookie-banner strong {
    color: var(--brand-950);
    font-size: .92rem;
    display: block
}

.cookie-banner p {
    color: var(--slate-600);
    margin: .35rem 0 0;
    font-size: .78rem;
    line-height: 1.55
}

.cookie-actions {
    gap: .65rem;
    display: flex
}

.cookie-actions button {
    cursor: pointer;
    border-radius: 999px;
    min-height: 42px;
    padding: .65rem 1rem;
    font-size: .8rem;
    font-weight: 720
}

.cookie-actions button:first-child {
    color: var(--brand-950);
    background: #fff;
    border: 1px solid #cedce4
}

.cookie-accept {
    border: 1px solid var(--brand-950);
    background: var(--brand-950);
    color: #fff
}

.cookie-banner a {
    color: #0c72c2;
    font-size: .78rem;
    font-weight: 700
}

.header-cta,
.menu-button,
.btn-whatsapp,
.btn-ghost,
.btn-primary,
.btn-light,
.specialty-book,
.floating-whatsapp,
.back-to-top,
.cookie-actions button {
    will-change: transform;
    transition: transform .2s cubic-bezier(.2, .75, .25, 1), box-shadow .2s, background .2s, filter .2s
}

.header-cta:hover,
.menu-button:hover,
.btn-whatsapp:hover,
.btn-ghost:hover,
.btn-primary:hover,
.btn-light:hover,
.specialty-book:hover,
.floating-whatsapp:hover,
.back-to-top:hover,
.cookie-actions button:hover {
    filter: brightness(1.035)saturate(1.04)
}

.header-cta:active,
.menu-button:active,
.btn-whatsapp:active,
.btn-ghost:active,
.btn-primary:active,
.btn-light:active,
.specialty-book:active,
.floating-whatsapp:active,
.back-to-top:active,
.cookie-actions button:active {
    transition-duration: 80ms;
    transform: translateY(0)scale(.985)
}

.header-cta:focus-visible,
.menu-button:focus-visible,
.btn-whatsapp:focus-visible,
.btn-ghost:focus-visible,
.btn-primary:focus-visible,
.btn-light:focus-visible,
.specialty-book:focus-visible,
.floating-whatsapp:focus-visible,
.back-to-top:focus-visible,
.cookie-actions button:focus-visible {
    outline-offset: 3px;
    outline: 3px solid #4fd6e07a
}

.specialty-page {
    background: #f5f9fc
}

.specialty-breadcrumb-band {
    color: #fff;
    background: linear-gradient(125deg, #03152f 0%, #073d6f 72%, #075f8b 100%);
    align-items: flex-end;
    min-height: 190px;
    padding: calc(122px + 2.1rem) 0 2rem;
    display: flex
}

.specialty-breadcrumb {
    color: #9fbfd1;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    font-size: .82rem;
    font-weight: 720;
    display: flex
}

.specialty-breadcrumb a {
    transition: color .2s
}

.specialty-breadcrumb a:hover {
    color: #fff
}

.specialty-breadcrumb svg {
    opacity: .65;
    flex: none
}

.specialty-breadcrumb [aria-current=page] {
    color: #7de5eb
}

.specialty-intro {
    background: linear-gradient(#fff 0%, #f5f9fc 100%);
    overflow: hidden
}

.specialty-intro-grid {
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
    display: grid
}

.specialty-intro-copy .section-kicker {
    color: #0b8d9b
}

.specialty-intro-copy h1 {
    max-width: 780px;
    color: var(--brand-950);
    letter-spacing: -.052em;
    text-wrap: balance;
    margin: 0;
    font-size: clamp(2.6rem, 4.7vw, 4.9rem);
    line-height: 1
}

.specialty-intro-copy h1 span {
    color: #0b83c9
}

.specialty-intro-lead {
    max-width: 700px;
    color: var(--slate-600);
    margin: 1.35rem 0 0;
    font-size: 1.05rem;
    line-height: 1.8
}

.specialty-page-actions {
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: 2rem;
    display: flex
}

.specialty-page-note {
    color: #718195;
    margin-top: 1.35rem;
    font-size: .78rem;
    line-height: 1.6
}

.specialty-intro-portrait {
    background: linear-gradient(150deg, #eef8fb 0%, #d9eef7 48%, #e8f4f8 100%);
    border: 1px solid #d9e7ef;
    border-radius: 2rem;
    justify-content: center;
    align-items: flex-end;
    min-height: 560px;
    padding: 3rem 2rem 0;
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 28px 80px #052f4f1c
}

.specialty-intro-portrait:before {
    content: "";
    background: radial-gradient(circle, #10b5be33, #0e79c10f 60%, #0000 72%);
    border-radius: 50%;
    width: 420px;
    height: 420px;
    position: absolute
}

.specialty-intro-portrait:after {
    content: "";
    pointer-events: none;
    border: 1px solid #fffc;
    border-radius: 1.4rem;
    position: absolute;
    inset: 1rem
}

.specialty-intro-portrait img {
    z-index: 1;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 25px 30px #052a432e);
    width: auto;
    max-width: 100%;
    max-height: 520px;
    position: relative
}

.specialty-intro .btn-ghost {
    color: var(--brand-950);
    background: #ffffffdb;
    border-color: #cbdde7;
    box-shadow: 0 12px 28px #052e4d14
}

.specialty-intro .btn-ghost:hover {
    background: #fff
}

.specialty-services {
    background: #f5f9fc
}

.specialty-services .section-heading {
    max-width: 900px
}

.service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.8rem;
    display: grid
}

.service-card {
    background: #fff;
    border: 1px solid #dce8ef;
    border-radius: 1.25rem;
    padding: 1.5rem;
    box-shadow: 0 12px 36px #052d4e0e
}

.service-card span {
    color: #079fa9;
    background: #e7f6f8;
    border-radius: 13px;
    place-items: center;
    width: 40px;
    height: 40px;
    font-size: .76rem;
    font-weight: 800;
    display: grid
}

.service-card h2 {
    color: var(--brand-950);
    margin: 1rem 0 .5rem;
    font-size: 1.05rem
}

.service-card p {
    color: var(--slate-600);
    margin: 0;
    font-size: .88rem;
    line-height: 1.7
}

.specialty-journey {
    background: #fff
}

.specialty-journey-grid {
    grid-template-columns: .82fr 1.18fr;
    align-items: start;
    gap: clamp(2rem, 7vw, 7rem);
    display: grid
}

.journey-list {
    gap: 1rem;
    display: grid
}

.journey-item {
    border-bottom: 1px solid #dce7ed;
    grid-template-columns: 44px 1fr;
    gap: 1rem;
    padding: 0 0 1.35rem;
    display: grid
}

.journey-item>span {
    color: #fff;
    background: linear-gradient(145deg, #147fd0, #10b5be);
    border-radius: 50%;
    place-items: center;
    width: 44px;
    height: 44px;
    font-size: .74rem;
    font-weight: 800;
    display: grid
}

.journey-item h3 {
    color: var(--brand-950);
    margin: .1rem 0 .4rem;
    font-size: 1rem
}

.journey-item p {
    color: var(--slate-600);
    margin: 0;
    font-size: .88rem;
    line-height: 1.7
}

.specialty-page-cta {
    color: #fff;
    text-align: center;
    background: #041831
}

.specialty-page-cta h2 {
    letter-spacing: -.05em;
    max-width: 850px;
    margin: 0 auto;
    font-size: clamp(2.4rem, 5vw, 4.7rem);
    line-height: 1.02
}

.specialty-page-cta p {
    color: #bdd0df;
    max-width: 680px;
    margin: 1.2rem auto 0;
    line-height: 1.75
}

.specialty-page-cta .btn-whatsapp {
    margin-top: 2rem
}

.inner-content-page {
    background: #f5f9fc
}

.blog-index-heading {
    max-width: 880px
}

.blog-index-heading h1,
.article-page h1 {
    color: var(--brand-950);
    letter-spacing: -.052em;
    text-wrap: balance;
    margin: 0;
    font-size: clamp(2.7rem, 5vw, 5rem);
    line-height: 1
}

.blog-index-heading h1 span {
    color: #0b83c9
}

.blog-index-heading>p:last-child {
    max-width: 720px;
    color: var(--slate-600);
    margin: 1.25rem 0 0;
    line-height: 1.8
}

.blog-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
    margin-top: 3rem;
    display: grid
}

.blog-card {
    background: #fff;
    border: 1px solid #dce8ef;
    border-radius: 1.35rem;
    transition: transform .25s, box-shadow .25s;
    overflow: hidden;
    box-shadow: 0 14px 38px #052b4c12
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 48px #052b4c1f
}

.blog-card-art {
    background: linear-gradient(145deg, #06264b, #0b6997);
    align-items: flex-end;
    min-height: 190px;
    padding: 1.25rem;
    display: flex
}

.blog-card-art.art-2 {
    background: linear-gradient(145deg, #073c70, #12a5b1)
}

.blog-card-art.art-3 {
    background: linear-gradient(145deg, #07213f, #176bb5)
}

.blog-card-art span {
    color: #fff;
    background: #ffffff1f;
    border: 1px solid #ffffff47;
    border-radius: 14px;
    place-items: center;
    width: 46px;
    height: 46px;
    font-size: .75rem;
    font-weight: 800;
    display: grid
}

.blog-card-body {
    padding: 1.35rem
}

.blog-card-body>p {
    color: #078f9c;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0;
    font-size: .7rem;
    font-weight: 800
}

.blog-card-body h2 {
    color: var(--brand-950);
    margin: .7rem 0;
    font-size: 1.12rem;
    line-height: 1.4
}

.blog-card-body>span {
    color: var(--slate-600);
    font-size: .88rem;
    line-height: 1.7;
    display: block
}

.blog-card-body a {
    color: #0c72c2;
    margin-top: 1.1rem;
    font-size: .82rem;
    font-weight: 780;
    display: inline-flex
}

.article-page {
    background: #fff
}

.article-page-container {
    width: min(100% - 2.5rem, 900px);
    margin-inline: auto
}

.article-page header>p:not(.section-kicker) {
    color: #4e6477;
    max-width: 790px;
    margin: 1.3rem 0 0;
    font-size: 1.08rem;
    line-height: 1.85
}

.article-meta {
    color: #7890a2;
    margin-top: 1rem;
    font-size: .78rem;
    font-weight: 700
}

.article-feature-art {
    color: #fff;
    background: radial-gradient(circle at 75% 30%, #1ec6cf52, #0000 27%), linear-gradient(145deg, #031831, #0b5683);
    border-radius: 1.6rem;
    align-items: flex-end;
    min-height: 380px;
    margin-top: 2.5rem;
    padding: clamp(1.5rem, 5vw, 3.5rem);
    display: flex;
    box-shadow: 0 24px 65px #04264429
}

.article-feature-art span {
    letter-spacing: -.045em;
    max-width: 560px;
    font-size: clamp(2rem, 4vw, 3.7rem);
    font-weight: 680;
    line-height: 1.04
}

.article-prose {
    color: #334b5f;
    margin-top: 3rem;
    font-size: 1.02rem;
    line-height: 1.9
}

.article-prose h2 {
    color: var(--brand-950);
    margin: 2.4rem 0 .7rem;
    font-size: 1.65rem;
    line-height: 1.25
}

.article-prose p {
    margin: 0 0 1.25rem
}

.article-prose aside {
    background: #eef8fa;
    border-left: 4px solid #0ba9b4;
    border-radius: 0 1rem 1rem 0;
    margin: 2rem 0;
    padding: 1.25rem 1.4rem
}

.article-prose aside strong {
    color: var(--brand-950)
}

.article-prose aside p {
    margin: .4rem 0 0
}

.article-author {
    border-top: 1px solid #dbe7ed;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
    padding-top: 1.5rem;
    display: flex
}

.article-author img {
    object-fit: contain;
    width: 58px;
    height: 58px
}

.article-author div {
    flex-direction: column;
    gap: .25rem;
    display: flex
}

.article-author strong {
    color: var(--brand-950)
}

.article-author span {
    color: #6e8293;
    font-size: .8rem
}

.legal-page {
    background: #f5f9fc;
    min-height: 100vh
}

.legal-header {
    color: #fff;
    background: linear-gradient(140deg, #03152f, #083768);
    padding: 2rem 0 5rem
}

.legal-logo {
    width: min(360px, 82vw);
    margin-bottom: 4rem;
    display: block
}

.legal-logo img {
    width: 100%;
    height: auto
}

.legal-header p {
    color: #bcd0df;
    margin: .6rem 0 0
}

.legal-header p:first-of-type {
    color: #7ce1e7;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .76rem;
    font-weight: 800
}

.legal-header h1 {
    letter-spacing: -.05em;
    max-width: 800px;
    margin: .9rem 0 0;
    font-size: clamp(2.7rem, 6vw, 5.3rem);
    line-height: 1
}

.legal-content {
    background: #fff;
    border: 1px solid #dce7ed;
    border-radius: 1.5rem;
    width: min(100% - 2rem, 900px);
    margin-top: -2rem;
    margin-bottom: 5rem;
    padding: clamp(1.5rem, 5vw, 4rem);
    box-shadow: 0 22px 60px #041f3b1a
}

.legal-content>p:first-child {
    color: #344c61;
    font-size: 1.05rem;
    line-height: 1.8
}

.legal-content h2 {
    color: var(--brand-950);
    margin: 2.3rem 0 .65rem;
    font-size: 1.25rem
}

.legal-content p {
    color: var(--slate-600);
    margin: 0;
    line-height: 1.8
}

.legal-content .btn-primary {
    margin-top: 2.5rem
}

@media (width>=768px) {
    .trust-item {
        border-bottom: 1px solid #d9eaf1
    }
}

@media (width>=1280px) {
    .site-header .menu-button {
        display: none
    }
}

@media (width<=1023px) {
    .site-header {
        height: 78px
    }

    .hero-section {
        min-height: auto
    }

    .hero-inner {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 114px
    }

    .hero-copy {
        text-align: center;
        margin-inline: auto;
        padding: 2.5rem 0 1.5rem
    }

    .eyebrow {
        justify-content: center
    }

    .hero-copy h1,
    .hero-lead {
        margin-inline: auto
    }

    .hero-actions,
    .hero-slider-nav {
        justify-content: center
    }

    .doctor-id {
        text-align: left;
        justify-content: center
    }

    .hero-portrait-wrap,
    .hero-image-clinical {
        height: 500px
    }

    .hero-image-integrated {
        height: 475px
    }

    .hero-image-education {
        max-height: 460px
    }

    .hero-badge {
        bottom: 4rem;
        right: 5%
    }

    .split-heading {
        grid-template-columns: 1fr;
        gap: 0
    }

    .split-heading>p:last-child {
        justify-self: start;
        max-width: 720px;
        margin: 1.25rem 0 0
    }

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

    .specialty-grid,
    .talk-card,
    .footer-grid,
    .clinic-showcase,
    .specialty-intro-grid,
    .specialty-journey-grid {
        grid-template-columns: 1fr
    }

    .clinic-photo-frame {
        min-height: 540px
    }

    .clinic-highlights {
        grid-template-columns: 1fr
    }

    .specialty-intro-copy {
        text-align: center
    }

    .specialty-intro-copy .section-kicker {
        justify-content: center
    }

    .specialty-intro-copy h1,
    .specialty-intro-lead {
        margin-inline: auto
    }

    .specialty-page-actions {
        justify-content: center
    }

    .specialty-intro-portrait {
        min-height: 500px
    }

    .specialty-card {
        min-height: 520px
    }

    .talk-visual {
        min-height: 300px
    }

    .talk-heading {
        grid-template-columns: 1fr;
        gap: 1.25rem
    }

    .talk-video-grid {
        grid-template-columns: 1fr 1fr
    }

    .about-visual {
        min-height: 610px
    }

    .sticky-heading {
        position: static
    }

    .content-heading-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem
    }

    .footer-grid {
        gap: 2.5rem
    }

    .unimed-card {
        grid-template-columns: 190px minmax(0, 1fr)
    }

    .unimed-card .btn-unimed {
        grid-column: 2;
        justify-self: start
    }

    .blog-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width<=639px) {
    .site-container {
        width: min(100% - 2.5rem, 1280px)
    }

    .utility-bar {
        height: 34px
    }

    .site-header {
        height: 72px;
        inset-block-start: 34px
    }

    .site-header.is-scrolled {
        height: 68px
    }

    .logo-wrap {
        width: 235px
    }

    .menu-button {
        width: 42px;
        height: 42px
    }

    .hero-inner {
        padding-top: 106px
    }

    .hero-copy {
        padding-top: 1.35rem;
        padding-bottom: 1rem
    }

    .hero-copy h1 {
        font-size: clamp(1.8rem, 7.9vw, 2.3rem);
        line-height: 1.09
    }

    .hero-lead {
        font-size: 1rem;
        line-height: 1.65
    }

    .eyebrow {
        font-size: .65rem;
        line-height: 1.6
    }

    .hero-actions {
        margin-top: 1.5rem
    }

    .hero-slider-nav {
        margin-top: 1rem
    }

    .doctor-id {
        align-items: flex-start
    }

    .doctor-id span {
        font-size: .72rem
    }

    .hero-portrait-wrap {
        height: 390px;
        margin-top: .25rem
    }

    .hero-image-clinical {
        max-width: 100%;
        height: 390px
    }

    .hero-image-integrated {
        max-width: 100%;
        height: 370px
    }

    .hero-image-education {
        width: 108%;
        max-height: 355px
    }

    .hero-badge {
        transform-origin: 100% 100%;
        bottom: 2.5rem;
        right: .5rem;
        transform: scale(.92)
    }

    .hero-orbit-one {
        width: 420px;
        height: 420px
    }

    .hero-orbit-two {
        width: 270px;
        height: 270px
    }

    .trust-strip .site-container {
        gap: .75rem
    }

    .trust-item {
        padding: 1.15rem
    }

    .section {
        padding: 4.75rem 0
    }

    .section-heading h2 {
        font-size: clamp(2.15rem, 10vw, 3.15rem)
    }

    .process-heading h2 {
        font-size: clamp(2.05rem, 9vw, 2.75rem)
    }

    .signal-grid,
    .article-grid,
    .credential-grid,
    .blog-card-grid {
        grid-template-columns: 1fr
    }

    .blog-index-heading h1,
    .article-page h1 {
        font-size: clamp(2.2rem, 10vw, 3.1rem)
    }

    .article-feature-art {
        min-height: 280px
    }

    .signal-card {
        min-height: 168px
    }

    .specialty-card {
        min-height: 610px;
        padding: 1.5rem
    }

    .specialty-copy {
        width: 100%
    }

    .specialty-card img,
    .specialty-card-light img {
        width: 64%;
        max-height: 47%;
        right: -4%
    }

    .specialty-card p {
        font-size: .9rem
    }

    .specialty-actions {
        flex-direction: column;
        align-items: flex-start
    }

    .process-item {
        gap: .85rem
    }

    .about-visual {
        min-height: 570px;
        padding-top: 3.75rem
    }

    .about-visual>img {
        height: calc(100% - 3.75rem);
        top: 3.75rem;
        right: -3%
    }

    .about-photo-caption {
        bottom: 1rem;
        left: 1rem
    }

    .talk-card {
        min-height: 0;
        padding: 1.6rem
    }

    .talk-heading h2 {
        font-size: clamp(2.15rem, 10vw, 3rem)
    }

    .talk-video-grid {
        grid-template-columns: 1fr;
        margin-top: 2rem
    }

    .unimed-card {
        text-align: center;
        grid-template-columns: 1fr
    }

    .unimed-logo-wrap {
        border-bottom: 1px solid #cfe6dc;
        border-right: 0;
        min-width: 0;
        padding: 0 0 1.5rem
    }

    .unimed-copy p:last-child {
        margin-inline: auto
    }

    .unimed-card .btn-unimed {
        grid-column: auto;
        justify-self: stretch
    }

    .talk-visual {
        min-height: 290px
    }

    .talk-ring {
        width: 170px
    }

    .article-art {
        min-height: 180px
    }

    .clinic-photo-frame {
        min-height: 410px
    }

    .clinic-copy {
        padding: 1.65rem
    }

    .clinic-copy h2 {
        font-size: clamp(2rem, 9.5vw, 2.75rem)
    }

    .clinic-photo-label {
        bottom: 1rem;
        left: 1rem
    }

    .specialty-breadcrumb-band {
        min-height: 164px;
        padding: calc(106px + 1.6rem) 0 1.4rem
    }

    .specialty-breadcrumb {
        gap: .4rem;
        font-size: .74rem
    }

    .specialty-intro-copy h1 {
        font-size: clamp(2.15rem, 9.5vw, 3rem)
    }

    .specialty-intro-lead {
        font-size: .98rem
    }

    .specialty-intro-portrait {
        border-radius: 1.5rem;
        min-height: 420px;
        padding: 2.5rem 1rem 0
    }

    .specialty-intro-portrait img {
        max-height: 390px
    }

    .service-grid {
        grid-template-columns: 1fr
    }

    .location-card,
    .appointment-card {
        padding: 1.5rem
    }

    .final-cta .site-container {
        padding-top: 5rem;
        padding-bottom: 5.5rem
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .site-footer,
    .footer-grid,
    .footer-bottom {
        text-align: center
    }

    .footer-grid>div:first-child img,
    .footer-grid p {
        margin-inline: auto
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center
    }

    .cookie-banner {
        grid-template-columns: 1fr;
        gap: .9rem;
        bottom: .75rem
    }

    .cookie-actions {
        width: 100%
    }

    .cookie-actions button {
        flex: 1
    }

    .floating-whatsapp {
        bottom: .9rem;
        right: .9rem
    }

    .back-to-top {
        bottom: 5.35rem;
        right: 1.35rem
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    :before,
    :after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important
    }
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}


/*
|--------------------------------------------------------------------------
| Admin Core Blog Content
|--------------------------------------------------------------------------
*/

.article-prose {
    overflow-wrap: anywhere;
}

.article-prose h2 {
    margin-top: 2.5rem;
}

.article-prose h3 {
    margin-top: 2rem;
}

.article-prose ul,
.article-prose ol {
    margin: 1.25rem 0;
    padding-left: 1.75rem;
}

.article-prose ul {
    list-style: disc;
}

.article-prose ol {
    list-style: decimal;
}

.article-prose li+li {
    margin-top: .5rem;
}

.article-prose a {
    color: var(--color-brand-700, #1d5f89);
    text-decoration: underline;
    text-underline-offset: .2em;
}

.article-prose blockquote {
    margin: 2rem 0;
}

.article-prose img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 2rem auto;
    border-radius: 1.25rem;
}

.article-prose figure {
    margin: 2rem 0;
}

.article-prose figure img {
    margin-bottom: .75rem;
}

.article-prose figcaption {
    color: #64748b;
    font-size: .875rem;
    text-align: center;
}

.article-prose pre {
    overflow-x: auto;
    margin: 2rem 0;
    border-radius: 1rem;
    background: #0f172a;
    padding: 1.25rem;
    color: #e2e8f0;
}

.article-prose code {
    font-family:
        "SFMono-Regular",
        Consolas,
        "Liberation Mono",
        monospace;
}

.article-feature-image {
    margin: 2.5rem 0;
    overflow: hidden;
    border-radius: 1.5rem;
}

.article-feature-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}


/*
|--------------------------------------------------------------------------
| Blog Pagination
|--------------------------------------------------------------------------
*/

.blog-pagination {
    display: grid;
    grid-template-columns:
        1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
}

.blog-pagination a {
    color: #1d5f89;
    font-weight: 700;
}

.blog-pagination a:last-child {
    text-align: right;
}

.blog-pagination span {
    color: #64748b;
    font-size: .875rem;
    text-align: center;
}


/*
|--------------------------------------------------------------------------
| Empty Blog
|--------------------------------------------------------------------------
*/

.blog-empty {
    margin-top: 3rem;
    border: 1px solid #e2e8f0;
    border-radius: 1.5rem;
    padding: 3rem 2rem;
    text-align: center;
}

.blog-empty h2 {
    margin: 0;
}

.blog-empty p {
    margin-top: .75rem;
    color: #64748b;
}


@media (max-width: 640px) {

    .blog-pagination {
        grid-template-columns:
            1fr 1fr;
    }

    .blog-pagination span {
        grid-column:
            1 / -1;
        grid-row:
            1;
    }

}



/*
|--------------------------------------------------------------------------
| Blog Card Without Image
|--------------------------------------------------------------------------
*/

.blog-card-art-title {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 220px;

    padding: 2rem;

    overflow: hidden;
    text-decoration: none;
}


/*
|--------------------------------------------------------------------------
| Internal Transparent Box
|--------------------------------------------------------------------------
*/

.blog-card-art.blog-card-art-title span {
    position: static;

    display: inline-block;

    width: auto;
    height: auto;

    max-width: 90%;

    margin: 0;

    padding: 1rem 1.25rem;

    transform: none;

    border-radius: 1rem;

    background: rgba(255,
            255,
            255,
            0.14);

    color: inherit;

    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;

    text-align: center;

    white-space: normal;
    overflow: visible;
    overflow-wrap: break-word;
    word-break: normal;
}


/*
|--------------------------------------------------------------------------
| Hover
|--------------------------------------------------------------------------
*/

.blog-card-art-title:hover {
    text-decoration: none;
}