/* Home · elegância (design por imagem, 22/10/2026)
   Metáfora: o X da Vix. Traço azul = plataforma, traço verde-água = corpo clínico; onde se cruzam, o projeto do cliente.
   Seções claras ("clínica clara") e escuras ("plantão noturno") alternando, do Mercados ao fim. O herói usa a mesma noite e a mesma tipografia. */

.page-home .hx {
    --hx-light: #F2F5F7;
    --hx-white: #FFFFFF;
    --hx-ink: #0F1E2E;
    --hx-ink-2: #4A5A6B;
    --hx-ink-3: #6B7A8A;
    --hx-line: #DCE3E8;
    --hx-teal: #12BDAB;
    --hx-teal-ink: #0E8F84;
    --hx-teal-small: #0B7A71;
    --hx-blue: #2A8CF7;
    --hx-blue-ink: #1F6FD1;
    --hx-night: #0A1422;
    --hx-night-2: #0F1C2E;
    --hx-night-3: #16243A;
    --hx-snow: #F2F6F9;
    --hx-mist: #8A9AB0;
    --hx-line-night: #1C2A3D;
    --hx-ease: cubic-bezier(.16, 1, .3, 1);
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 9vw, 8.5rem);
    font-family: 'DM Sans', system-ui, sans-serif;
}
.page-home .hx.hx--light {
    background: var(--hx-light);
    background-image: none;
    color: var(--hx-ink);
}
.page-home .hx.hx--dark {
    background: var(--hx-night);
    background-image: none;
    color: var(--hx-snow);
}
.page-home .hx.hx--dark::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .05;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.page-home .hx__wrap {
    position: relative;
    width: min(100% - 2.5rem, 75rem);
    margin-inline: auto;
}

/* —— Tipografia comum —— */
.page-home .hx-eyebrow {
    display: inline-block;
    margin-bottom: 1.25rem;
    font: 600 .75rem/1 'DM Sans', system-ui, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--hx-teal-small);
}
.page-home .hx--dark .hx-eyebrow { color: var(--hx-teal); }
.page-home .hx-title {
    margin: 0;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: clamp(2.1rem, 3.5vw, 3.1rem);
    line-height: 1.06;
    letter-spacing: -.035em;
    font-weight: 700;
    text-wrap: balance;
}
.page-home .hx--light .hx-title { color: var(--hx-teal-ink); }
.page-home .hx--dark .hx-title { color: var(--hx-snow); }
.page-home .hx-title__soft { display: block; font-weight: 400; }
.page-home .hx-title__strong { display: block; font-weight: 700; }
.page-home .hx-lead {
    max-width: 34rem;
    margin: 1.25rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--hx-ink-2);
}
.page-home .hx--dark .hx-lead { color: var(--hx-mist); }
.page-home .hx-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 44px;
    font-weight: 600;
    font-size: .9375rem;
    color: var(--hx-blue-ink);
    text-decoration: none;
}
.page-home .hx--dark .hx-link { color: var(--hx-teal); }
.page-home .hx-link svg, .page-home .hx-link i { width: 1rem; height: 1rem; transition: transform .26s var(--hx-ease); }
.page-home .hx-link:hover svg, .page-home .hx-link:hover i { transform: translateX(3px); }
.page-home .hx-link:focus-visible,
.page-home .hx-btn:focus-visible,
.page-home .hx-index__head:focus-visible,
.page-home .hx-toc__row:focus-visible,
.page-home .hx-post a:focus-visible {
    outline: 2px solid var(--hx-blue);
    outline-offset: 3px;
    border-radius: 4px;
}
.page-home .hx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 48px;
    padding: 0 1.5rem;
    border-radius: 10px;
    font-weight: 600;
    font-size: .9375rem;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s var(--hx-ease);
}
.page-home .hx-btn:active { transform: scale(.98); }
.page-home .hx-btn--line {
    border: 1px solid rgba(18, 189, 171, .55);
    color: var(--hx-teal);
}
.page-home .hx-btn--line:hover { border-color: var(--hx-teal); background: rgba(18, 189, 171, .08); }
.page-home .hx-btn--solid { background: var(--hx-teal); color: #04211E; }
.page-home .hx-btn--solid:hover { background: #2BD0BE; }
.page-home .hx-btn--ghost { border: 1px solid rgba(242, 246, 249, .35); color: var(--hx-snow); }
.page-home .hx-btn--ghost:hover { border-color: var(--hx-snow); background: rgba(242, 246, 249, .06); }

/* O X da marca (dois traços) */
.page-home .hx-x { display: inline-block; width: 1.25rem; height: 1.25rem; flex: none; }
.page-home .hx-x path { fill: none; stroke-width: 5; stroke-linecap: butt; }
.page-home .hx-x .hx-x__a { stroke: var(--hx-teal); }
.page-home .hx-x .hx-x__b { stroke: var(--hx-blue); }

/* —— Índice que abre (Mercados e Plataforma) —— */
.page-home .hx-index {
    list-style: none;
    margin: 2.75rem 0 0;
    padding: 0;
    border-top: 1px solid var(--hx-line);
}
.page-home .hx-index__row { border-bottom: 1px solid var(--hx-line); }
.page-home .hx-index__head {
    display: grid;
    grid-template-columns: 3.25rem 1fr 1.25rem;
    align-items: center;
    gap: .75rem;
    width: 100%;
    min-height: 4.75rem;
    padding: 1rem 0;
    background: none;
    border: 0;
    text-align: left;
    color: inherit;
    cursor: pointer;
}
.page-home .hx-index__num {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
    color: var(--hx-ink);
}
.page-home .hx-index__name { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.page-home .hx-index__tag {
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--hx-ink-3);
}
.page-home .hx-index__title {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(1.25rem, 1.9vw, 1.6rem);
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--hx-ink);
    transition: color .22s ease;
}
.page-home .hx-index__mark { opacity: 0; transform: scale(.7) rotate(-45deg); transition: opacity .26s var(--hx-ease), transform .32s var(--hx-ease); }
.page-home .hx-index__row.is-open .hx-index__mark { opacity: 1; transform: none; }
@media (hover: hover) and (pointer: fine) {
    .page-home .hx-index__row:not(.is-open) .hx-index__head:hover .hx-index__title { color: var(--hx-teal-ink); }
}
/* Toque (sem mouse): a linha fechada mostra o X deitado, um "+", que vira o X ao abrir; tocar na aberta fecha */
@media (hover: none) {
    .page-home .hx-index__row:not(.is-open) .hx-index__mark { opacity: .6; transform: rotate(45deg) scale(.8); }
    .page-home .hx-index__head { -webkit-tap-highlight-color: transparent; }
    .page-home .hx-index__head:active .hx-index__title { opacity: .7; }
}
.page-home .hx-index__photo { display: none; }
.page-home .hx-index__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .26s var(--hx-ease);
}
.page-home .hx-index__row.is-open .hx-index__panel { grid-template-rows: 1fr; }
.page-home .hx-index__inner { overflow: hidden; padding-left: 4rem; }
.page-home .hx-index__inner > :last-child { margin-bottom: 1.4rem; }
.page-home .hx-index__desc { margin: 0 0 .75rem; max-width: 34rem; color: var(--hx-ink-2); line-height: 1.6; font-size: .9688rem; }
.page-home .hx-index__list { list-style: none; margin: 0 0 .5rem; padding: 0; display: grid; gap: .45rem; }
.page-home .hx-index__list li {
    position: relative;
    padding-left: 1.1rem;
    font-size: .9688rem;
    line-height: 1.5;
    color: var(--hx-ink-2);
}
.page-home .hx-index__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .66em;
    width: .45rem;
    height: 1px;
    background: var(--hx-teal);
}

/* —— 2 · Mercados (claro) —— */
.page-home .hx-mercados {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
}
.page-home .hx-media {
    position: relative;
    margin: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 4px;
    background: #DDE5EA;
}
.page-home .hx-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .22s ease;
}
.page-home .hx-media img.is-active { opacity: 1; }

/* —— 3 · Implantação (escuro) —— */
.page-home .hx-implant__head { max-width: 46rem; }
.page-home .hx-implant__track { position: relative; margin-top: clamp(3.5rem, 6vw, 5rem); }
.page-home .hx-implant__lines {
    position: absolute;
    left: 0;
    right: 0;
    top: 2.1rem;
    width: 100%;
    height: 3rem;
    overflow: visible;
}
.page-home .hx-implant__lines path {
    fill: none;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}
.page-home .hx-implant__lines .hx-line-blue { stroke: var(--hx-blue); }
.page-home .hx-implant__lines .hx-line-teal { stroke: var(--hx-teal); }
.page-home .hx-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
}
.page-home .hx-step__num {
    display: block;
    height: 2.1rem;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -.01em;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: var(--hx-mist);
}
.page-home .hx-step__body { padding-top: 3.4rem; }
.page-home .hx-step__title {
    margin: 0 0 .6rem;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -.02em;
    color: var(--hx-snow);
}
.page-home .hx-step__desc { margin: 0; max-width: 16rem; font-size: .9375rem; line-height: 1.6; color: var(--hx-mist); }
.page-home .hx-step--cross .hx-step__num { color: var(--hx-teal); }
.page-home .hx-golive {
    position: absolute;
    top: .55rem;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--hx-teal);
    white-space: nowrap;
}
.page-home .hx-implant__foot { margin-top: clamp(3rem, 5vw, 4rem); }
@supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
        .page-home .hx-implant__lines path {
            stroke-dasharray: 1;
            animation: hxDraw linear both;
            animation-timeline: view();
            animation-range: entry 20% cover 45%;
        }
    }
}
@keyframes hxDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }

/* —— 4 · Plataforma (claro) —— */
.page-home .hx-plataforma {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
}
.page-home .hx-plataforma__photo {
    margin: 0 0 0 max(-6rem, calc((100vw - min(100vw - 2.5rem, 75rem)) / -2));
    aspect-ratio: 4 / 3.4;
    max-height: 36rem;
    overflow: hidden;
    border-radius: 4px;
    background: #DDE5EA;
}
.page-home .hx-plataforma__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.page-home .hx-plataforma .hx-index { margin-top: 2.25rem; }

/* —— 5 · Corpo clínico (escuro) —— */
.page-home .hx-clinico {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: clamp(2.5rem, 6vw, 5.5rem);
    align-items: center;
}
.page-home .hx-big {
    margin: 2.5rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid var(--hx-line-night);
}
.page-home .hx-big__num {
    display: block;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 700;
    font-size: clamp(5rem, 11vw, 10rem);
    line-height: .9;
    letter-spacing: -.05em;
    font-variant-numeric: tabular-nums;
    color: var(--hx-snow);
}
.page-home .hx-big__label { display: block; margin-top: .5rem; font-size: 1.125rem; font-weight: 500; color: var(--hx-teal); }
.page-home .hx-big__support { margin: .75rem 0 0; max-width: 20rem; font-size: .9375rem; line-height: 1.55; color: var(--hx-mist); }
.page-home .hx-sign {
    position: relative;
    padding: clamp(1.75rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 2.5vw, 2rem) calc(clamp(1.5rem, 3vw, 2.5rem) + 4px);
    border: 1px solid rgba(138, 154, 176, .22);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(42, 53, 65, .55), rgba(22, 36, 58, .55));
    box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 30px 60px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(10, 20, 34, .6);
}
.page-home .hx-sign::before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    bottom: -1px;
    width: 4px;
    border-radius: 6px 0 0 6px;
    background: var(--hx-teal);
}
.page-home .hx-sign__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.5rem;
}
.page-home .hx-sign__list li {
    padding: .8rem 0;
    border-bottom: 1px solid rgba(138, 154, 176, .14);
    font-size: 1.0625rem;
    line-height: 1.35;
    color: #E3EAF1;
}
.page-home .hx-sign__divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.75rem 0 .25rem;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #8FA4C4;
}
.page-home .hx-sign__divider::after { content: ""; flex: 1; height: 1px; background: rgba(138, 154, 176, .22); }
.page-home .hx-sign__list--multi li { border-bottom: 0; }
.page-home .hx-sign__cta { margin: 1.25rem 0 0; padding-top: 1.25rem; border-top: 1px solid rgba(138, 154, 176, .14); font-size: .9063rem; line-height: 1.55; color: var(--hx-mist); }
.page-home .hx-sign__cta a { color: var(--hx-teal); font-weight: 600; text-decoration: none; }
.page-home .hx-sign__cta a:hover { text-decoration: underline; }
@media (prefers-reduced-motion: no-preference) {
    .page-home .hx-sign.is-lit .hx-sign__list li { animation: hxLight .5s ease both; animation-delay: calc(var(--i, 0) * 40ms); }
}
@keyframes hxLight { from { opacity: .25; } to { opacity: 1; } }
.page-home .hx-pillars {
    list-style: none;
    margin: clamp(4rem, 7vw, 5.5rem) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--hx-line-night);
}
.page-home .hx-pillars li { padding: 1.75rem 1.5rem 0 0; }
.page-home .hx-pillars li + li { padding-left: 1.5rem; border-left: 1px solid var(--hx-line-night); }
.page-home .hx-pillars__num { display: block; margin-bottom: 1rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; color: var(--hx-teal); font-variant-numeric: tabular-nums; }
.page-home .hx-pillars h3 { margin: 0 0 .5rem; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 700; font-size: 1.0625rem; color: var(--hx-snow); }
.page-home .hx-pillars p { margin: 0; font-size: .9063rem; line-height: 1.6; color: var(--hx-mist); }
.page-home .hx-journey {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(2rem, 5vw, 5rem);
    margin-top: clamp(3.5rem, 6vw, 4.5rem);
    padding-top: 2rem;
    border-top: 1px solid var(--hx-line-night);
}
.page-home .hx-journey__eyebrow { margin: 0 0 .75rem; font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--hx-teal); }
.page-home .hx-journey__title { margin: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 600; font-size: 1.375rem; line-height: 1.3; letter-spacing: -.015em; color: var(--hx-snow); }
.page-home .hx-journey__list { list-style: none; margin: 0; padding: 0; }
.page-home .hx-journey__list li {
    display: flex;
    gap: .9rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--hx-line-night);
    font-size: .9688rem;
    line-height: 1.5;
    color: #C9D4E0;
}
.page-home .hx-journey__list li:first-child { padding-top: 0; }
.page-home .hx-journey__list .hx-x { width: .9rem; height: .9rem; margin-top: .3rem; }

/* —— 6 · Resultados (claro) —— */
.page-home .hx-ruler {
    --hx-v: clamp(3rem, 6.8vw, 6rem);
    --hx-y: calc(var(--hx-v) + 1.4rem);
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(3.5rem, 6vw, 5rem);
    background:
        linear-gradient(#B9C6CF, #B9C6CF) 0 var(--hx-y) / 100% 1px no-repeat,
        repeating-linear-gradient(90deg, #C9D3DA 0 1px, transparent 1px 24px) 0 calc(var(--hx-y) - .45rem) / 100% .45rem no-repeat;
}
.page-home .hx-ruler__item { position: relative; padding: 0 1rem 0 1.5rem; }
.page-home .hx-ruler__item::after {
    content: "";
    position: absolute;
    left: 0;
    top: calc(var(--hx-y) - 1.1rem);
    width: 1px;
    height: 1.6rem;
    background: #8FA2AF;
}
.page-home .hx-ruler__value {
    display: block;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 700;
    font-size: var(--hx-v);
    line-height: 1;
    letter-spacing: -.045em;
    font-variant-numeric: tabular-nums;
    color: var(--hx-ink);
}
.page-home .hx-ruler__label { display: block; margin-top: 2.6rem; font-size: 1.0625rem; color: var(--hx-ink-2); }
.page-home .hx-ruler__x { position: absolute; z-index: 1; left: -.6rem; top: calc(var(--hx-y) - .6rem); width: 1.2rem; height: 1.2rem; background: var(--hx-light); }
.page-home .hx-ruler__foot { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.page-home .hx-ruler__period { font-size: .8125rem; color: var(--hx-ink-3); }

/* —— 7 · Blog (escuro, revista) —— */
.page-home .hx-blog__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.page-home .hx-blog__grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    margin-top: clamp(2.75rem, 5vw, 3.75rem);
}
.page-home .hx-post a { color: inherit; text-decoration: none; }
.page-home .hx-post__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: var(--hx-night-2); }
.page-home .hx-post__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--hx-ease), filter .3s ease; filter: saturate(.85); }
.page-home .hx-post--lead:hover .hx-post__media img { transform: scale(1.025); filter: saturate(1); }
.page-home .hx-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .9rem; margin: 1.4rem 0 .7rem; font-size: .8125rem; color: var(--hx-mist); font-variant-numeric: tabular-nums; }
.page-home .hx-post__cat { font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--hx-teal); }
.page-home .hx-post__title { margin: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 700; letter-spacing: -.02em; color: var(--hx-snow); }
.page-home .hx-post--lead .hx-post__title { font-size: clamp(1.6rem, 2.7vw, 2.4rem); line-height: 1.2; max-width: 36rem; }
.page-home .hx-post__excerpt { margin: .8rem 0 0; max-width: 36rem; font-size: .9688rem; line-height: 1.6; color: var(--hx-mist); }
.page-home .hx-post__title a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s var(--hx-ease); }
.page-home .hx-post__title a:hover { background-size: 100% 1px; }
.page-home .hx-blog__list { list-style: none; margin: 0; padding: 0 0 0 clamp(1.5rem, 3vw, 2.5rem); border-left: 1px solid var(--hx-line-night); }
.page-home .hx-blog__list .hx-post:first-child { padding-top: 0; }
.page-home .hx-blog__list .hx-post:last-child { border-bottom: 0; }
.page-home .hx-blog__list .hx-post { padding: 1.5rem 0 1.75rem; border-bottom: 1px solid var(--hx-line-night); }
.page-home .hx-blog__list .hx-post__meta { margin-top: 0; }
.page-home .hx-blog__list .hx-post__title { font-size: clamp(1.2rem, 1.7vw, 1.45rem); line-height: 1.3; }
.page-home .hx-blog__list .hx-post__excerpt { display: none; }

/* —— 8 · Explore (claro, índice) —— */
.page-home .hx-explore { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.page-home .hx-toc { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hx-line); }
.page-home .hx-toc__row {
    position: relative;
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 13rem) minmax(0, 1fr) 1.5rem;
    align-items: center;
    gap: 1rem;
    min-height: 4.5rem;
    padding: .9rem 0;
    border-bottom: 1px solid var(--hx-line);
    color: inherit;
    text-decoration: none;
}
.page-home .hx-toc__row::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: var(--hx-teal);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s var(--hx-ease);
}
.page-home .hx-toc__row:hover::after, .page-home .hx-toc__row:focus-visible::after { transform: scaleX(1); }
.page-home .hx-toc__num { font-size: .8125rem; font-weight: 600; color: var(--hx-ink-3); font-variant-numeric: tabular-nums; }
.page-home .hx-toc__title { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 600; font-size: 1.1875rem; letter-spacing: -.015em; color: var(--hx-ink); }
.page-home .hx-toc__desc { font-size: .9375rem; color: var(--hx-ink-2); }
.page-home .hx-toc__arrow { width: 1.1rem; height: 1.1rem; color: var(--hx-ink-3); transition: transform .3s var(--hx-ease), color .2s ease; }
.page-home .hx-toc__row:hover .hx-toc__arrow { transform: translateX(4px); color: var(--hx-teal-ink); }

/* —— 9 · Chamada final (escuro, o X volta) —— */
.page-home .hx--cta { padding-block: 0; }
.page-home .hx-cta { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: stretch; min-height: clamp(34rem, 46vw, 42rem); }
.page-home .hx-cta__copy { position: relative; z-index: 2; align-self: center; padding-block: clamp(5rem, 9vw, 7rem); }
.page-home .hx-cta__title { margin: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 700; font-size: clamp(2.25rem, 4.2vw, 3.5rem); line-height: 1.05; letter-spacing: -.035em; color: var(--hx-snow); text-wrap: balance; }
.page-home .hx-cta__points { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; gap: .55rem; }
.page-home .hx-cta__points li { display: flex; gap: .75rem; font-size: .9688rem; line-height: 1.5; color: #C9D4E0; }
.page-home .hx-cta__points .hx-x { width: .85rem; height: .85rem; margin-top: .35rem; }
.page-home .hx-cta__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.25rem; }
.page-home .hx-cta__visual { position: relative; margin-right: calc((100vw - min(100vw - 2.5rem, 75rem)) / -2); }
.page-home .hx-cta__photo {
    position: absolute;
    left: 0;
    top: 3rem;
    width: 100%;
    height: calc(100% - 3rem);
    object-fit: cover;
    object-position: 62% 0;
    /* Bordas somem por máscara (não por tinta por cima): o grão da seção continua igual dos dois lados. */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 38%), linear-gradient(180deg, transparent 0, #000 9%, #000 90%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, transparent 0, #000 38%), linear-gradient(180deg, transparent 0, #000 9%, #000 90%, transparent 100%);
    mask-composite: intersect;
}
.page-home .hx-contact {
    position: absolute;
    z-index: 2;
    left: 4%;
    bottom: clamp(2.5rem, 5vw, 4rem);
    display: grid;
    gap: .25rem;
    min-width: 17rem;
    padding: 1.25rem 1.4rem;
    background: var(--hx-blue);
    color: #fff;
    box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .6);
}
.page-home .hx-contact__label { margin: 0 0 .35rem; font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
.page-home .hx-contact a { display: flex; align-items: center; gap: .6rem; min-height: 36px; color: #fff; text-decoration: none; font-weight: 600; font-size: .9688rem; font-variant-numeric: tabular-nums; }
.page-home .hx-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }
.page-home .hx-contact i, .page-home .hx-contact svg { width: 1rem; height: 1rem; flex: none; }

/* —— Entrada suave (uma vez) —— */
@media (prefers-reduced-motion: no-preference) {
    .page-home .hx [data-hx-rise] { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--hx-ease), transform .7s var(--hx-ease); }
    .page-home .hx [data-hx-rise].is-in { opacity: 1; transform: none; }
}

/* —— Tablet —— */
@media (max-width: 1023px) {
    .page-home .hx-mercados, .page-home .hx-plataforma, .page-home .hx-clinico, .page-home .hx-explore, .page-home .hx-journey { grid-template-columns: 1fr; }
    /* Mercados: a foto de cada público aparece dentro do item aberto (a foto solta ficava longe da lista) */
    .page-home .hx-mercados__media { display: none; }
    .page-home .hx-index__photo {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        margin: .1rem 0 1rem;
        object-fit: cover;
        object-position: 50% 28%;
        border-radius: 4px;
        background: #DDE5EA;
    }
    .page-home .hx-plataforma__photo { margin: 0; border-radius: 4px; aspect-ratio: 16 / 10; }
    .page-home .hx-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-home .hx-pillars li:nth-child(3) { border-left: 0; padding-left: 0; }
    .page-home .hx-blog__grid { grid-template-columns: 1fr; }
    .page-home .hx-blog__list { padding-left: 0; border-left: 0; border-top: 1px solid var(--hx-line-night); }
    .page-home .hx-blog__list .hx-post:first-child { padding-top: 1.5rem; }
    .page-home .hx-cta { grid-template-columns: 1fr; }
    .page-home .hx-cta__copy { padding-bottom: 2.5rem; }
    .page-home .hx-cta__visual { margin: 0 calc((100vw - min(100vw - 2.5rem, 75rem)) / -2); min-height: 26rem; }
    .page-home .hx-cta__photo { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 92%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 92%, transparent 100%); }
}

/* —— Celular —— */
@media (max-width: 767px) {
    .page-home .hx { padding-block: 4.5rem; }
    .page-home .hx-title { font-size: clamp(2rem, 9vw, 2.5rem); }
    .page-home .hx-index__head { grid-template-columns: 2.5rem 1fr 1.25rem; min-height: 4rem; }
    .page-home .hx-index__num { font-size: 1.125rem; }
    .page-home .hx-index__inner { padding-left: 3.25rem; }
    .page-home .hx-implant__lines, .page-home .hx-golive { display: none; }
    .page-home .hx-steps { grid-template-columns: 1fr; gap: 0; position: relative; padding-left: 1.75rem; }
    .page-home .hx-steps::before, .page-home .hx-steps::after { content: ""; position: absolute; top: .4rem; bottom: .4rem; width: 2px; }
    .page-home .hx-steps::before { left: 0; background: var(--hx-blue); }
    .page-home .hx-steps::after { left: 7px; background: var(--hx-teal); }
    .page-home .hx-step { padding-bottom: 2rem; }
    .page-home .hx-step__num { height: auto; margin-bottom: .4rem; }
    .page-home .hx-step__body { padding-top: 0; }
    .page-home .hx-step__desc { max-width: none; }
    .page-home .hx-step--cross .hx-step__num::after { content: "  GO-LIVE"; letter-spacing: .18em; font-size: .6875rem; }
    .page-home .hx-sign__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
    .page-home .hx-sign__list li { font-size: .9063rem; }
    .page-home .hx-pillars { grid-template-columns: 1fr; }
    .page-home .hx-pillars li, .page-home .hx-pillars li + li { padding: 1.5rem 0 0; border-left: 0; }
    .page-home .hx-pillars li + li { margin-top: 1.5rem; border-top: 1px solid var(--hx-line-night); }
    .page-home .hx-ruler { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; background: none; }
    .page-home .hx-ruler__item { padding: 0 .5rem 1rem 1rem; border-bottom: 1px solid #B9C6CF; }
    .page-home .hx-ruler__item::after { top: auto; bottom: -1px; height: 1rem; }
    .page-home .hx-ruler__label { margin-top: .6rem; }
    .page-home .hx-ruler__x { display: none; }
    .page-home .hx-toc__row { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; row-gap: .15rem; }
    .page-home .hx-toc__desc { grid-column: 2; grid-row: 2; font-size: .875rem; }
    .page-home .hx-toc__arrow { grid-column: 3; grid-row: 1 / span 2; }
    .page-home .hx-cta__visual { min-height: 24rem; }
    .page-home .hx-cta__visual { display: flex; flex-direction: column; justify-content: flex-end; min-height: 0; padding-top: 20rem; }
    .page-home .hx-cta__photo { height: 21rem; top: 0; }
    .page-home .hx-contact { position: relative; left: auto; bottom: auto; margin: 0 1.25rem 2.5rem; min-width: 0; }
    .page-home .hx-cta__actions .hx-btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .page-home .hx *, .page-home .hx *::before, .page-home .hx *::after { transition: none !important; animation: none !important; }
}

/* —— Herói (22/10/2026): mesma noite das seções escuras, foto mais calma, tipografia firme e faixa de números alinhada —— */
.page-home .hero-v2-section--photo,
.page-home .hero-v2-section--photo .hero-v2.hero-v2--photo { background: #0A1422 !important; }
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__bg { filter: saturate(.72) brightness(.92); }
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__overlay {
    background:
        linear-gradient(to top, #0A1422 0%, rgba(10, 20, 34, .82) 16%, rgba(10, 20, 34, 0) 46%),
        linear-gradient(90deg, rgba(10, 20, 34, .97) 0%, rgba(10, 20, 34, .92) 34%, rgba(10, 20, 34, .74) 52%, rgba(10, 20, 34, .22) 72%, rgba(10, 20, 34, 0) 92%);
}
.page-home .hero-v2--photo.hero-v2--telemed::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: .05;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__title {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: clamp(2.4rem, 3.4vw, 3.5rem);
    line-height: 1.03;
    letter-spacing: -.04em;
    color: #F2F6F9;
    text-shadow: none;
    text-wrap: balance;
}
.page-home .hero-v2__title-strong { display: block; font-weight: 700; }
.page-home .hero-v2__title-soft { display: block; font-weight: 400; color: rgba(242, 246, 249, .78); }
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__subtitle {
    max-width: 34rem;
    margin-top: 1.5rem;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: rgba(242, 246, 249, .72);
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__ctas { gap: .75rem; margin-top: 2.25rem; }
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__ctas > a {
    min-height: 48px;
    padding: 0 1.5rem;
    border-radius: 10px;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: .9375rem;
    font-weight: 600;
    box-shadow: none;
    transition: background-color .2s ease, border-color .2s ease, transform .2s cubic-bezier(.16, 1, .3, 1);
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__ctas > a:active { transform: scale(.98); }
.page-home .hero-v2--photo.hero-v2--telemed .btn-primary { background: #12BDAB; color: #04211E; border: 0; }
.page-home .hero-v2--photo.hero-v2--telemed .btn-primary:hover { background: #2BD0BE; }
.page-home .hero-v2--photo.hero-v2--telemed .btn-secondary--hero { background: transparent; border: 1px solid rgba(242, 246, 249, .35); color: #F2F6F9; }
.page-home .hero-v2--photo.hero-v2--telemed .btn-secondary--hero:hover { border-color: #F2F6F9; background: rgba(242, 246, 249, .06); }
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__specs {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid #1C2A3D;
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__spec {
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: .8125rem;
    color: #8A9AB0;
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-v2__spec-divider { background: #1C2A3D; }
.page-home .hero-v2--photo.hero-v2--telemed .hero-trust {
    background: none;
    border-top: 1px solid #1C2A3D;
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-trust__label {
    font: 600 .6875rem/1.4 'DM Sans', system-ui, sans-serif;
    letter-spacing: .18em;
    color: #8A9AB0;
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-trust__chip { font-family: 'DM Sans', system-ui, sans-serif; color: rgba(242, 246, 249, .72); }
.page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metric-value {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: -.035em;
    color: #F2F6F9;
}
.page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metric-label {
    font-family: 'DM Sans', system-ui, sans-serif;
    text-transform: none;
    color: #8A9AB0;
}
@media (min-width: 1024px) {
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        column-gap: 2.5rem;
        box-sizing: border-box;
        width: 100%;
        max-width: 80rem;
        margin-inline: auto;
        padding: 1.5rem 1.5rem 2.75rem;
        border-top: 0;
        background: linear-gradient(#1C2A3D, #1C2A3D) 1.5rem 0 / calc(100% - 3rem) 1px no-repeat;
    }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__label { margin: 0; text-align: left; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__segments { justify-content: flex-start; margin: 0; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metrics { flex: 1 1 100%; margin-top: 1.5rem; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__chip:first-child { padding-left: 0; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metric { padding: .25rem 2rem; text-align: left; border-color: #1C2A3D; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metric:first-child { padding-left: 0; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metric-value { font-size: clamp(2rem, 2.6vw, 2.6rem); margin-bottom: .5rem; }
}
@media (max-width: 1023px) {
    .page-home .hero-v2--photo.hero-v2--telemed .hero-v2__overlay {
        background: linear-gradient(to bottom, rgba(10, 20, 34, .6) 0%, rgba(10, 20, 34, .84) 42%, #0A1422 100%);
    }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-v2__title { font-size: clamp(2rem, 8.6vw, 2.6rem); line-height: 1.08; letter-spacing: -.03em; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-v2__subtitle { font-size: 1rem; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metrics { border-color: #1C2A3D; background: rgba(10, 20, 34, .5); border-radius: 10px; }
    .page-home .hero-v2--photo.hero-v2--telemed .hero-trust__metric { border-color: #1C2A3D; }
}
@media (prefers-reduced-motion: reduce) {
    .page-home .hero-v2--photo.hero-v2--telemed .hero-v2__ctas > a { transition: none; }
}

/* Contraste AA (13/11/2026): etiquetas pequenas nas faixas claras passam de 4,0:1 para 4,6:1 */
.page-home .hx--light .hx-index__tag, .page-home .hx--light .hx-ruler__period { color: #617080; }
