/* ============================================================
   Dr. Erik Friedrich · Cirurgia Plástica Facial
   OVERRIDE LAYER sobre master.css do template HealthHup
   - Substitui paleta amarelo limão (#c9f31d) por preto puro
   - Substitui fonte Kanit por Playfair Display (títulos) + Inter (corpo)
   - Adapta logo do template para versão monocromática
   ============================================================ */

/* === Variáveis raiz: override do --primary do template === */
:root {
    --primary: #0A0A0A !important;        /* era #c9f31d */
    --ink: #0A0A0A;
    --ink-2: #1A1410;
    --paper: #FFFFFF;
    --cream: #F7F7F5;
    --muted: #6B6B6B;
    --serif: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
    --sans: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --prose-line: 1.78;
    --prose-spacing: 0.012em;
}

/* === Corpo de texto: justificado e espaçamento editorial === */
html[lang="pt-BR"] main p,
html[lang="pt-BR"] main .sec-text p,
html[lang="pt-BR"] main .article-body p,
html[lang="pt-BR"] main .article-body li,
html[lang="pt-BR"] main .guide-prose p,
html[lang="pt-BR"] main .guide-prose li,
html[lang="pt-BR"] main .guide-prose__lead,
html[lang="pt-BR"] main .surgeon-intro p,
html[lang="pt-BR"] main .surgeon-section-head__text,
html[lang="pt-BR"] main .surgeon-credentials__block p,
html[lang="pt-BR"] main .surgeon-list li,
html[lang="pt-BR"] main .surgeon-quote,
html[lang="pt-BR"] main .home-intl__caption,
html[lang="pt-BR"] main .surgeon-intl__caption,
html[lang="pt-BR"] main .service__content-3 p,
html[lang="pt-BR"] main .research__content p,
html[lang="pt-BR"] main .portfolio__content p,
html[lang="pt-BR"] main .procedure-content p,
html[lang="pt-BR"] main .procedure-content li,
html[lang="pt-BR"] main blockquote:not(.footer blockquote) {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    line-height: var(--prose-line);
    letter-spacing: var(--prose-spacing);
}
html[lang="pt-BR"] main .postop-guide__lede,
html[lang="pt-BR"] main .postop-faq__content p,
html[lang="pt-BR"] main .postop-faq__content li,
html[lang="pt-BR"] main .postop-faq__alert {
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
}
html[lang="pt-BR"] main .sec-title-wrapper > p,
html[lang="pt-BR"] main .footer__disclaimer,
html[lang="pt-BR"] main .surgeon-cta__text,
html[lang="pt-BR"] main [class*="text-center"] p,
html[lang="pt-BR"] main .text-center p,
html[lang="pt-BR"] main .proc-ref-related__label,
html[lang="pt-BR"] main .recovery-concierge__text,
html[lang="pt-BR"] main .recovery-concierge__title {
    text-align: center;
    hyphens: none;
}

/* === Tipografia: Kanit → Inter (corpo) + Playfair Display (títulos) === */
body,
.btn,
.menu-anim,
.main-menu-3,
.main-menu-3 li a,
nav,
input,
select,
textarea,
button,
.wc-btn-light,
.wc-btn-black,
.wc-btn-secondary,
.wc-btn-primary,
.footer__copyright-3,
.footer__copyright-3 p,
.footer__nav-2,
.footer__nav-2 ul li a,
.brand__title-3,
.sec-text,
.sec-text p,
.hero__text-3,
.hero__text-animation,
.hero__text-3 p,
.about__text-3,
.about__text-3 p,
.solution__title,
.solution__btm ul li,
.service__title-6,
.service__content-3,
.service__content-3 p,
.service__list-6 li a,
.portfolio__title-3,
.testimonial__slide-3,
.testimonial__slide-3 p,
.blog__title-3,
.blog__btn,
.video-title,
.video-title span,
.scroll-down span,
.switcher__title,
.switcher__btn button,
.switcher__btn select,
.offcanvas__menu ul li a,
.offcanvas__social ul li a,
.offcanvas__contact ul li a,
.offcanvas__links ul li a,
.menu-heading,
.mega-menu ul li a {
    font-family: var(--sans) !important;
    letter-spacing: 0.005em;
}

h1, h2, h3, h4, h5, h6,
.sec-title,
.sec-title-wrapper h2,
.sec-title-wrapper h3,
.sec-sub-title,
.hero__title,
.hero__sub-title,
.title-left,
.title-right,
.title-anim,
.about__title-3,
.service__title-3,
.about__sub-title-3,
.solution__title,
.solution__title.animation__char_come,
.testimonial__name,
.cta__title,
.cta__sub-title,
.footer__title,
.navigation__logo-title {
    font-family: var(--serif) !important;
    letter-spacing: -0.01em;
    font-weight: 500;
}

/* === Cores: substitui amarelo limão e Cyan do template === */
.sec-sub-title[style*="c9f31d"],
.sec-sub-title[style*="C9F31D"] {
    color: var(--ink) !important;
}

/* Acentos no template usavam #c9f31d ou inline yellow */
[style*="color:#c9f31d"],
[style*="color: #c9f31d"],
[style*="color:#C9F31D"],
[style*="color: #C9F31D"],
[style*="color:#F3EF6A"],
[style*="color: #F3EF6A"] {
    color: var(--ink) !important;
}

[style*="background:#c9f31d"],
[style*="background-color:#c9f31d"],
[style*="background: #c9f31d"],
[style*="background-color: #c9f31d"] {
    background-color: var(--ink) !important;
}

/* ============================================================
   LOGO DO CLIENTE — substituiu o SVG inline do template
   ============================================================ */
.site-logo {
    display: inline-block;
    line-height: 0;
    vertical-align: middle;
}
.site-logo img {
    height: 44px;
    width: auto;
    max-width: min(320px, 58vw);
    display: block;
}
@media (max-width: 991px) {
    .site-logo img { height: 44px; }
}
@media (max-width: 767px) {
    .site-logo img { height: 38px; }
}

/* Versão pequena para offcanvas */
.offcanvas__logo .site-logo img { height: 56px; }

/* Versão maior para o footer (mais espaço) */
.footer__logo-3 .site-logo img {
    height: 52px;
    max-width: min(360px, 72vw);
}

/* Home — logos de formação: largura quase total, ~2 dedos de margem lateral */
.brand__area > .container {
    --brand-logos-side: clamp(32px, 2.75rem, 48px);
    max-width: 100%;
    padding-left: var(--brand-logos-side);
    padding-right: var(--brand-logos-side);
}
.brand__area .brand__list-3 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    gap: 0 !important;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.brand__area .brand__list-3 .brand__item-2 {
    flex: 1 1 25%;
    min-width: 0;
    padding: 0;
    margin: 0;
    line-height: 0;
}
.brand__area .brand__list-3 .brand__item-2 img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
    object-fit: cover;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .brand__area > .container {
        --brand-logos-side: clamp(20px, 5vw, 36px);
    }
}

/* === Cursor customizado — adapta para preto sobre branco === */
.cursor1 {
    background: var(--ink) !important;
}
.cursor2 {
    border-color: var(--ink) !important;
    border-width: 1px !important;
}

/* === Preloader — barras em preto === */
.preloader,
.preloader .loading {
    background: var(--paper);
}
.preloader .bar {
    background: var(--ink) !important;
}

/* === Botões: substitui amarelo pelo preto === */
.wc-btn-primary,
.wc-btn-light,
.wc-btn-secondary,
.wc-btn-black {
    background-color: var(--ink) !important;
    color: var(--paper) !important;
    border-color: var(--ink) !important;
}

.wc-btn-primary:hover,
.wc-btn-light:hover,
.wc-btn-secondary:hover,
.wc-btn-black:hover {
    background-color: var(--paper) !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
}

.wc-btn-primary span,
.wc-btn-light span,
.wc-btn-secondary span,
.wc-btn-black span {
    background-color: var(--paper) !important;
}
.wc-btn-primary:hover span,
.wc-btn-light:hover span,
.wc-btn-secondary:hover span,
.wc-btn-black:hover span {
    background-color: var(--ink) !important;
}

/* === Links com sublinhado animado: trocar accent === */
.menu-anim li a::after,
.main-menu-3 li a::after {
    background-color: var(--ink) !important;
}

/* === Brand area marquee (linha de logos) === */
.brand__item-2 img {
    filter: grayscale(1) brightness(0.3);
    transition: filter .4s;
}
.brand__item-2:hover img {
    filter: grayscale(1) brightness(0.1);
}

/* === Service cards hover: substitui amarelo === */
.service__item-3:hover .service__title-3,
.service__item-3:hover {
    color: var(--ink-2);
}
.service__hover-3 {
    filter: grayscale(1);
}

/* === Portfolio Swiper === */
.portfolio__title-3 span {
    color: var(--muted) !important;
    font-style: italic;
}
.swiper-pagination-bullet-active {
    background: var(--ink) !important;
}

/* === Switcher panel: redesenhar com elegância === */
.switcher__area {
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.14);
}
.switcher__icon button,
.switcher__btn button {
    background: transparent !important;
    color: var(--ink) !important;
    border: 1px solid rgba(10, 10, 10, 0.14) !important;
}
.switcher__btn button.active {
    background: var(--ink) !important;
    color: var(--paper) !important;
}

/* === Dark mode (caso o usuário ative): cinzas em vez de pretos puros === */
body.dark,
.dark {
    background: #0A0A0A !important;
    color: rgba(255, 255, 255, 0.85);
}
.dark .cursor1 {
    background: var(--paper) !important;
}
.dark .cursor2 {
    border-color: var(--paper) !important;
}
.dark .navigation__logo-logomark svg rect[fill="#F3EF6A"] {
    fill: var(--paper) !important;
}
.dark .navigation__logo-logomark svg path[fill="black"] {
    fill: var(--ink) !important;
}

/* === Footer === */
.footer__area-3 {
    background: var(--ink);
    color: rgba(255, 255, 255, 0.65);
}
.footer__area-3 .navigation__logo-title {
    color: var(--paper) !important;
}
.footer__area-3 a {
    color: rgba(255, 255, 255, 0.65) !important;
}
.footer__area-3 a:hover {
    color: var(--paper) !important;
}

/* === Hero === */
.hero__text-3 p,
.hero__text-animation {
    color: var(--muted);
}

/* === Search bar === */
.header__search input {
    color: var(--ink) !important;
    border-bottom: 1px solid var(--ink) !important;
}

/* === Offcanvas === */
.offcanvas__area {
    background: var(--ink);
}
.offcanvas__menu ul li a {
    color: var(--paper) !important;
}

/* Submenu: não usar fragmento mega-menu__keep (evita “no contorno c” solto à direita) */
.offcanvas__area .mega-menu__keep {
    display: none !important;
}

/* Menu central — fonte menor para textos longos (ex.: Informações Essenciais) */
.offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) {
    font-size: 48px !important;
    padding-left: clamp(2.5rem, 5vw, 5rem) !important;
    padding-right: 4.5rem !important;
    line-height: 1.08 !important;
    letter-spacing: 0.01em;
}
.offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) .menu-text {
    flex: 1;
    min-width: 0;
    max-width: 100%;
}
.offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) .menu-text-whole {
    display: inline-block;
    text-shadow: none;
    transition: opacity 0.35s ease, transform 0.35s ease;
}
.offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand):hover .menu-text-whole {
    opacity: 0.72;
    transform: translateX(4px);
}
@media only screen and (min-width: 1400px) and (max-width: 1919px) {
    .offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) {
        font-size: 42px !important;
        padding-left: 3.5rem !important;
    }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
    .offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) {
        font-size: 34px !important;
        padding-left: 3rem !important;
    }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) {
        font-size: 30px !important;
        padding-left: 1.75rem !important;
    }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) {
        font-size: 24px !important;
        padding-left: 1.25rem !important;
    }
}
@media only screen and (max-width: 767px) {
    .offcanvas__menu-wrapper.mean-container .mean-nav > ul > li > a:not(.mean-expand) {
        font-size: 18px !important;
        padding-left: 1rem !important;
        padding-right: 3rem !important;
    }
}

/* Offcanvas — submenu de Informações Essenciais (10 guias) */
.offcanvas__menu-wrapper.mean-container .mean-nav ul ul {
    padding: 0.35rem 0 0.75rem !important;
    margin: 0 !important;
}
.offcanvas__menu-wrapper.mean-container .mean-nav ul ul li a {
    font-size: clamp(0.88rem, 0.75rem + 0.45vw, 1.05rem) !important;
    padding: 0.55rem 1.25rem 0.55rem 2.35rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    border-top: none !important;
    position: relative;
}
.offcanvas__menu-wrapper.mean-container .mean-nav ul ul li a::before {
    content: "";
    position: absolute;
    left: 1.35rem;
    top: 0.95em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.82);
    transform: translateY(-50%);
}
.offcanvas__menu-wrapper.mean-container .mean-nav ul ul li a .menu-text {
    text-shadow: none !important;
}

/* Offcanvas — links rápidos (rodapé esquerdo) na mesma linha */
.offcanvas__links ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 1.1rem;
}
.offcanvas__links ul li {
    padding-bottom: 0;
}
.offcanvas__links ul li a {
    font-size: clamp(0.68rem, 0.62rem + 0.25vw, 0.78rem) !important;
    line-height: 1.35 !important;
    white-space: nowrap;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* === Pull quote e components editorial reutilizados === */
.pullquote {
    border-left: 2px solid var(--ink);
    padding: 1.5rem 2rem;
    margin: 3rem 0;
    background: var(--cream);
    font-family: var(--serif);
    font-size: 1.4rem;
    font-style: italic;
    color: var(--ink-2);
    line-height: 1.4;
}

.anatomy-box {
    background: var(--cream);
    border: 1px solid rgba(10,10,10,0.14);
    padding: 3rem 2.5rem;
    margin: 3rem 0;
    position: relative;
}

.anatomy-box::before {
    content: 'Anatomia';
    position: absolute;
    top: -1px;
    left: 2rem;
    background: var(--ink);
    color: var(--paper);
    font-family: var(--sans);
    font-size: 0.65rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 0.35rem 0.9rem;
    font-weight: 500;
}

.warning-box {
    background: var(--cream);
    border: 1px solid var(--ink);
    padding: 1.5rem 1.8rem;
    margin: 2.5rem 0;
}
.warning-box p { margin: 0; font-size: 0.92rem; color: var(--ink-2); font-family: var(--sans); }

/* === Article body — ver bloco premium mais abaixo === */
.article-body {
    font-family: var(--sans);
    color: var(--ink-2);
}
.article-body a {
    color: var(--ink);
    border-bottom: 1px solid rgba(10, 10, 10, 0.25);
    text-decoration: none;
}
.article-body a:hover { border-bottom-color: var(--ink); }
.article-body strong { color: var(--ink); font-weight: 600; }

/* Tabelas em artigos de procedimento */
.article-body .table-responsive {
    overflow-x: auto;
    margin: 1.5rem 0 2rem;
    -webkit-overflow-scrolling: touch;
}
.article-body table.article-table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    font-size: 0.95rem;
}
.article-body table.article-table th,
.article-body table.article-table td {
    border: 1px solid rgba(10, 10, 10, 0.12);
    padding: 0.75rem 1rem;
    text-align: left;
    vertical-align: top;
    line-height: 1.55;
    color: var(--ink-2);
}
.article-body table.article-table th {
    background: var(--cream);
    color: var(--ink);
    font-weight: 600;
}
.article-body table.article-table tbody tr:nth-child(even) td {
    background: rgba(247, 247, 245, 0.6);
}

/* About — biografia longa (sem truncar leitura) */
.about__area-3 .sec-text.about-bio p,
.about__area-3 .sec-text.about-bio li,
.about__area-3 .sec-text.about-bio blockquote {
    max-width: none;
    line-height: 1.75;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.78);
}
.about__area-3 .sec-text.about-bio .about-lead {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.92);
    padding-bottom: 1rem;
}
.about__area-3 .sec-text.about-bio .about-heading {
    font-family: var(--serif);
    font-size: 1.15rem;
    font-weight: 500;
    color: #fff;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}
.about__area-3 .sec-text.about-bio .about-quote {
    margin: 1.5rem 0;
    padding: 1.25rem 1.5rem;
    border-left: 2px solid rgba(255, 255, 255, 0.35);
    font-family: var(--serif);
    font-size: 1.05rem;
    font-style: italic;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.9);
}
.about__area-3 .sec-text.about-bio ul {
    margin-bottom: 1.25rem;
    padding-left: 1.25rem;
}
.about__area-3 .sec-text.about-bio li {
    margin-bottom: 0.65rem;
}
.about__area-3 .sec-text.about-bio strong {
    color: #fff;
}

/* CTA único na seção Sobre — evita botão fantasma do template */
.about__area-3 .about-bio .btn_wrapper.about-cta-btn {
    margin-left: 0;
    margin-top: 1.75rem;
    justify-content: flex-start;
}
.about__area-3 .about-bio .btn_wrapper.about-cta-btn .btn-item:only-child {
    position: relative;
    left: auto;
    top: auto;
    transform: none !important;
}

/* O Cirurgião — logos de formação (fundo escuro) */
.page-surgeon .surgeon-brand {
    background: var(--ink);
    border-top: none;
}
.page-surgeon .surgeon-brand .surgeon-section-head {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}
.page-surgeon .surgeon-brand .surgeon-section-head__label {
    color: rgba(255, 255, 255, 0.55);
}
.page-surgeon .surgeon-brand .surgeon-section-head__title {
    color: #fff;
    text-align: center !important;
    max-width: none;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.2;
}
@media (min-width: 960px) {
    .page-surgeon #instituicoes .surgeon-section-head__title {
        white-space: nowrap;
    }
}

/* Home — experiência internacional (texto + carrossel) */
.home-intl {
    padding: 0;
    background: var(--cream);
}
.home-intl > .container {
    max-width: 100%;
    padding-left: clamp(20px, 4vw, 48px);
    padding-right: clamp(20px, 4vw, 48px);
}
.home-intl__layout {
    display: grid;
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
}
.home-intl__intro {
    position: sticky;
    top: 120px;
}
.home-intl__intro .surgeon-section-head {
    margin-bottom: 1.5rem;
}
.home-intl__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--sans);
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid rgba(10, 10, 10, 0.35);
    padding-bottom: 0.15rem;
    transition: border-color 0.2s ease;
}
.home-intl__link:hover {
    border-bottom-color: var(--ink);
}
.home-intl__link i {
    font-size: 0.75rem;
}
.home-intl__gallery {
    min-width: 0;
}
.home-intl__track {
    display: flex;
    gap: clamp(1rem, 2vw, 1.5rem);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.25rem;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
}
.home-intl__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}
.home-intl__track::-webkit-scrollbar {
    display: none;
}
.home-intl__card {
    flex: 0 0 min(78vw, 260px);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.home-intl__media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--ink);
}
.home-intl__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.home-intl__caption {
    margin: 0;
    font-family: var(--sans);
    font-size: 0.82rem;
    line-height: 1.55;
    color: var(--muted);
}
.home-intl__scrollbar {
    position: relative;
    margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
    height: 2px;
    background: rgba(10, 10, 10, 0.12);
    border-radius: 1px;
}
.home-intl__scrollbar-thumb {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    min-width: 48px;
    background: var(--ink);
    border-radius: 1px;
    transition: width 0.08s ease-out;
    will-change: left, width;
}
@media (max-width: 991px) {
    .home-intl__layout {
        grid-template-columns: 1fr;
    }
    .home-intl__intro {
        position: static;
    }
}
@media (max-width: 767px) {
    .home-intl__card {
        flex: 0 0 72vw;
    }
}

/* === Página O Cirurgião (layout exclusivo) === */
.page-surgeon .solution__area,
.page-face-reveal .solution__area {
    display: none !important;
}

/* === Página Consulta Face Reveal === */
.page-face-reveal .fr-hero {
    background: var(--ink);
    color: #fff;
    padding: clamp(100px, 14vw, 160px) 0 clamp(56px, 7vw, 88px);
}
.page-face-reveal .fr-hero__grid {
    display: grid;
    grid-template-columns: 1fr minmax(280px, 46%);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}
.page-face-reveal .fr-hero__eyebrow {
    font-family: var(--sans);
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 0.65rem;
}
.page-face-reveal .fr-hero__title {
    font-family: var(--serif);
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 1.35rem;
    color: #fff;
}
.page-face-reveal .fr-hero__lead {
    font-size: clamp(1rem, 1.6vw, 1.12rem);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.82);
    margin: 0 0 1.5rem;
    max-width: 36rem;
}
.page-face-reveal .fr-hero__credentials {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.75rem;
    margin: 0 0 2rem;
    padding: 0;
    font-family: var(--sans);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}
.page-face-reveal .fr-hero__credentials span {
    white-space: nowrap;
}
.page-face-reveal .fr-hero__media {
    position: relative;
    line-height: 0;
    overflow: hidden;
}
.page-face-reveal .fr-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    pointer-events: none;
}
.page-face-reveal .fr-hero__photo {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: 38% center;
    aspect-ratio: 5 / 4;
    max-height: min(52vh, 480px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.page-face-reveal .fr-intro {
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
    background: var(--paper);
}
.page-face-reveal .fr-intro__inner {
    max-width: 44rem;
    margin: 0 auto;
}
.page-face-reveal .fr-intro__inner p {
    font-size: clamp(1.02rem, 1.5vw, 1.1rem);
    line-height: 1.82;
    color: var(--ink-2);
    margin: 0 0 1.35rem;
}
.page-face-reveal .fr-intro__inner p:last-child {
    margin-bottom: 0;
}
.page-face-reveal .fr-intro__inner strong {
    color: var(--ink);
    font-weight: 600;
}

.page-face-reveal .fr-split {
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
    background: var(--cream);
}
.page-face-reveal .fr-split__grid {
    display: grid;
    grid-template-columns: minmax(220px, 32%) 1fr;
    gap: clamp(1.75rem, 3.5vw, 3rem);
    align-items: start;
}
.page-face-reveal .fr-split__media {
    position: sticky;
    top: clamp(5rem, 10vw, 7rem);
    line-height: 0;
}
.page-face-reveal .fr-split__media img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center 15%;
    aspect-ratio: 3 / 4;
    max-height: 520px;
    border: 1px solid rgba(10, 10, 10, 0.08);
}
.page-face-reveal .fr-steps {
    list-style: none;
    padding: 0;
    margin: 2rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.page-face-reveal .fr-step {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.35rem 2rem;
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.07);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.page-face-reveal .fr-step:hover {
    border-color: rgba(10, 10, 10, 0.14);
    box-shadow: 0 8px 28px rgba(10, 10, 10, 0.06);
}
.page-face-reveal .fr-step__num {
    font-family: var(--serif);
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    color: var(--muted);
    padding-top: 0.15rem;
}
.page-face-reveal .fr-step p {
    margin: 0;
    font-size: 0.93rem;
    line-height: 1.68;
    color: var(--ink-2);
    hyphens: none;
    -webkit-hyphens: none;
}

.page-face-reveal .fr-section-head__keep {
    white-space: nowrap;
}
@media (max-width: 767px) {
    .page-face-reveal .fr-section-head__keep {
        white-space: normal;
    }
}

.page-face-reveal .fr-philosophy {
    padding: clamp(3rem, 6vw, 4.5rem) 0;
    background: var(--ink);
}
.page-face-reveal .fr-philosophy__quote {
    margin: 0 auto;
    max-width: 46rem;
    padding: 0;
    border: none;
}
.page-face-reveal .fr-philosophy__quote p {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(1.2rem, 2.4vw, 1.55rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.92);
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
    -webkit-hyphens: none;
}
.page-face-reveal .fr-philosophy__keep {
    white-space: nowrap;
}
@media (max-width: 767px) {
    .page-face-reveal .fr-philosophy__keep {
        white-space: normal;
    }
}

.page-face-reveal .fr-outro {
    padding: clamp(3rem, 6vw, 4rem) 0;
    background: var(--paper);
}
.page-face-reveal .fr-outro__inner {
    max-width: 40rem;
    margin: 0 auto;
    text-align: center;
}
.page-face-reveal .fr-outro__inner p {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(1.15rem, 2vw, 1.35rem);
    line-height: 1.6;
    color: var(--ink);
}

.page-face-reveal .fr-cta .surgeon-cta__box {
    max-width: 40rem;
}

@media (max-width: 991px) {
    .page-face-reveal .fr-hero__grid {
        grid-template-columns: 1fr;
    }
    .page-face-reveal .fr-hero__media {
        order: -1;
        max-width: min(100%, 520px);
        margin: 0 auto 0.5rem;
    }
    .page-face-reveal .fr-hero__photo {
        aspect-ratio: 16 / 10;
        max-height: none;
        object-position: 36% center;
    }
    .page-face-reveal .fr-split__grid {
        grid-template-columns: 1fr;
    }
    .page-face-reveal .fr-split__media {
        position: static;
        max-width: 360px;
        margin: 0 auto 1.5rem;
    }
    .page-face-reveal .fr-split__media img {
        max-height: 440px;
    }
}

.surgeon-hero {
    background: var(--ink);
    color: #fff;
    padding: clamp(100px, 14vw, 160px) 0 clamp(64px, 8vw, 100px);
}
.surgeon-hero__grid {
    display: grid;
    grid-template-columns: 1fr minmax(280px, 42%);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}
.surgeon-hero__copy {
    text-align: left;
}
.surgeon-hero__copy .surgeon-hero__eyebrow,
.surgeon-hero__copy .surgeon-hero__title,
.surgeon-hero__copy .surgeon-hero__lead,
.surgeon-hero__copy .surgeon-hero__meta,
.surgeon-hero__copy .surgeon-hero__cta {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}
.surgeon-hero__eyebrow {
    font-family: var(--sans);
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 1rem;
}
.surgeon-hero__title {
    font-family: var(--serif);
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.02em;
    margin: 0 0 1.25rem;
    color: #fff;
    max-width: none;
}
.surgeon-hero__title-keep {
    white-space: nowrap;
}
.surgeon-hero__lead {
    font-size: clamp(0.82rem, 1.35vw, 1.05rem);
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
    max-width: 100%;
    margin-bottom: 1.5rem;
    letter-spacing: 0.01em;
}
@media (min-width: 992px) {
    .surgeon-hero__lead {
        white-space: nowrap;
    }
}
.surgeon-hero__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.5rem 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}
.surgeon-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 1rem 1.75rem;
    font-family: var(--sans);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
    background: #fff;
    border: 1px solid #fff;
    transition: background 0.25s, color 0.25s;
}
.surgeon-hero__cta:hover {
    background: transparent;
    color: #fff;
}
.surgeon-hero__cta--light {
    background: #fff;
    color: var(--ink);
}
.surgeon-hero__cta--light:hover {
    background: transparent;
    color: #fff;
    border-color: #fff;
}
.surgeon-hero__media {
    position: relative;
    line-height: 0;
}
.surgeon-hero__media::before {
    content: "";
    position: absolute;
    inset: 8% -6% -8% 12%;
    border: 1px solid rgba(255, 255, 255, 0.12);
    pointer-events: none;
}
.surgeon-hero__media img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 4 / 5;
    max-height: min(72vh, 640px);
}

.surgeon-intro {
    padding: clamp(4rem, 8vw, 6rem) 0;
    background: var(--paper);
}
.surgeon-intro__inner {
    max-width: 42rem;
    margin: 0 auto;
}
.surgeon-intro__tagline {
    font-family: var(--serif);
    font-size: 1.15rem;
    margin-bottom: 1.75rem;
    color: var(--ink);
}
.surgeon-intro p {
    font-size: 1.06rem;
    line-height: 1.8;
    color: var(--ink-2);
    margin-bottom: 1.25rem;
}
.surgeon-quote {
    margin: 2.5rem 0 0;
    padding: 1.75rem 0 0 1.5rem;
    border-left: 1px solid var(--ink);
    font-family: var(--serif);
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    font-style: italic;
    line-height: 1.65;
    color: var(--ink);
}

.surgeon-section-head {
    text-align: center;
    max-width: 40rem;
    margin: 0 auto 3rem;
}
.surgeon-section-head--left {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
}
.surgeon-section-head--light .surgeon-section-head__label,
.surgeon-section-head--light .surgeon-section-head__title,
.surgeon-section-head--light .surgeon-section-head__text {
    color: #fff;
}
.surgeon-section-head--light .surgeon-section-head__text {
    color: rgba(255, 255, 255, 0.72);
}
.surgeon-section-head__label {
    font-family: var(--sans);
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.75rem;
}
.surgeon-section-head__title {
    font-family: var(--serif);
    font-size: clamp(1.75rem, 3.5vw, 2.35rem);
    font-weight: 500;
    line-height: 1.15;
    color: var(--ink);
    margin: 0 0 1rem;
}
.surgeon-section-head__text {
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--muted);
    margin: 0;
}
/* Cabeçalhos de seção centralizados (página Dr. Erik Friedrich) */
.page-surgeon .surgeon-section-head--center,
.page-surgeon .surgeon-section-head--center .surgeon-section-head__label,
.page-surgeon .surgeon-section-head--center .surgeon-section-head__title,
.page-surgeon .surgeon-section-head--center .surgeon-section-head__text {
    text-align: center !important;
    hyphens: none;
}

.surgeon-pillars {
    padding: clamp(4rem, 7vw, 5.5rem) 0;
    background: var(--cream);
}
.page-surgeon #filosofia .surgeon-section-head--center {
    max-width: min(100%, 56rem);
}
.page-surgeon #filosofia .surgeon-section-head__text {
    max-width: none;
}
@media (min-width: 1050px) {
    .page-surgeon #filosofia .surgeon-section-head__text {
        white-space: nowrap;
    }
}
.page-surgeon #experiencia-internacional .surgeon-section-head--center {
    max-width: min(100%, 52rem);
}
.page-surgeon .surgeon-section-head__keep {
    white-space: nowrap;
}
@media (max-width: 767px) {
    .page-surgeon .surgeon-section-head__keep {
        white-space: normal;
    }
}
.surgeon-pillars__grid {
    --surgeon-pillar-width: min(340px, calc((100% - 2.5rem) / 3));
    display: grid;
    grid-template-columns: repeat(3, minmax(0, var(--surgeon-pillar-width)));
    grid-template-rows: auto auto;
    gap: clamp(1.25rem, 2vw, 1.5rem);
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: fit-content;
    max-width: 100%;
    justify-content: center;
}
.surgeon-pillar:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
}
.surgeon-pillar:nth-child(5) {
    grid-column: 2;
    grid-row: 2;
}
@media (max-width: 1100px) {
    .surgeon-pillars__grid {
        --surgeon-pillar-width: min(320px, calc((100% - 1.25rem) / 2));
    }
}
@media (max-width: 920px) {
    .surgeon-pillars__grid {
        grid-template-columns: repeat(2, minmax(0, var(--surgeon-pillar-width)));
        width: 100%;
    }
    .surgeon-pillar:nth-child(3) {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: var(--surgeon-pillar-width);
        justify-self: center;
    }
    .surgeon-pillar:nth-child(4) {
        grid-column: 1;
        grid-row: 3;
        justify-self: stretch;
        max-width: none;
    }
    .surgeon-pillar:nth-child(5) {
        grid-column: 2;
        grid-row: 3;
        justify-self: stretch;
        max-width: none;
    }
}
@media (max-width: 620px) {
    .surgeon-pillars__grid {
        grid-template-columns: 1fr;
    }
    .surgeon-pillar:nth-child(n) {
        grid-column: 1;
        grid-row: auto;
        max-width: none;
        justify-self: stretch;
    }
}
.surgeon-pillar {
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.08);
    padding: clamp(1.85rem, 2.5vw, 2.1rem) clamp(1.65rem, 2vw, 1.85rem);
    min-height: 100%;
}
.surgeon-pillar p {
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
}
.surgeon-pillar__num {
    display: block;
    font-family: var(--serif);
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    color: var(--muted);
    margin-bottom: 1rem;
}
.surgeon-pillar h3 {
    font-family: var(--serif);
    font-size: 1.2rem;
    font-weight: 500;
    margin: 0 0 0.65rem;
    color: var(--ink);
}
.surgeon-pillar p {
    font-size: 1rem;
    line-height: 1.68;
    color: var(--muted);
    margin: 0;
}

.surgeon-credentials {
    padding: clamp(4rem, 7vw, 5.5rem) 0;
    background: var(--paper);
}
.surgeon-credentials__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: stretch;
}
.surgeon-credentials__block {
    padding: clamp(2rem, 4vw, 3rem);
}
.surgeon-credentials__block--accent {
    background: var(--ink);
    color: rgba(255, 255, 255, 0.88);
}
.surgeon-credentials__block--accent .surgeon-section-head__label {
    color: rgba(255, 255, 255, 0.5);
}
.surgeon-credentials__block--accent .surgeon-section-head__title {
    color: #fff;
}
.surgeon-credentials__block--accent p {
    color: rgba(255, 255, 255, 0.78);
}
.surgeon-credentials__block p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--ink-2);
    margin-bottom: 1.25rem;
}
.surgeon-credentials__block--accent p {
    color: rgba(255, 255, 255, 0.78);
}
.surgeon-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.surgeon-list li {
    position: relative;
    padding-left: 1.1rem;
    margin-bottom: 0.85rem;
    font-size: 0.98rem;
    line-height: 1.65;
    color: var(--ink-2);
}
.surgeon-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 4px;
    height: 4px;
    background: var(--ink);
    border-radius: 50%;
}
.surgeon-list strong {
    color: var(--ink);
    font-weight: 600;
}
.surgeon-credentials__block--accent .surgeon-list li {
    color: rgba(255, 255, 255, 0.78);
}
.surgeon-credentials__block--accent .surgeon-list li::before {
    background: rgba(255, 255, 255, 0.65);
}
.surgeon-credentials__block--accent .surgeon-list strong {
    color: #fff;
}

.surgeon-intl {
    --surgeon-intl-card: min(78vw, 280px);
    --surgeon-intl-gap: clamp(1rem, 2vw, 1.5rem);
    padding: clamp(4rem, 8vw, 6rem) 0;
    background: var(--ink);
}
.surgeon-intl > .container {
    max-width: 100%;
    padding-left: clamp(20px, 4vw, 48px);
    padding-right: clamp(20px, 4vw, 48px);
}
.surgeon-intl__gallery {
    min-width: 0;
}
.surgeon-intl__track {
    display: flex;
    gap: var(--surgeon-intl-gap);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.25rem;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
}
.surgeon-intl__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}
.surgeon-intl__track::-webkit-scrollbar {
    display: none;
}
.surgeon-intl__card {
    flex: 0 0 var(--surgeon-intl-card);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
}
.surgeon-intl__duo {
    flex: 0 0 calc(2 * var(--surgeon-intl-card) + var(--surgeon-intl-gap));
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
}
.surgeon-intl__duo-photos {
    display: flex;
    gap: var(--surgeon-intl-gap);
}
.surgeon-intl__duo-photos .surgeon-intl__card {
    flex: 1 1 0;
    min-width: 0;
}
.surgeon-intl__caption--duo {
    width: 100%;
    text-wrap: pretty;
}
.surgeon-intl__media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}
.surgeon-intl__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    display: block;
}
.surgeon-intl__caption {
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
}
.surgeon-intl__scrollbar {
    position: relative;
    margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
    height: 2px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 1px;
}
.surgeon-intl__scrollbar-thumb {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    min-width: 48px;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 1px;
    transition: width 0.08s ease-out;
    will-change: left, width;
}
@media (max-width: 767px) {
    .surgeon-intl {
        --surgeon-intl-card: 72vw;
    }
}

.surgeon-cta {
    padding: clamp(4rem, 8vw, 6rem) 0;
    background: var(--cream);
}
.surgeon-cta__box {
    text-align: center;
    max-width: min(100%, 46rem);
    margin: 0 auto;
    padding: clamp(2.5rem, 5vw, 3.75rem) clamp(2rem, 4vw, 3rem);
    background: var(--ink);
    color: #fff;
}
.surgeon-cta__label {
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 1rem;
    text-align: center !important;
    width: 100%;
}
.surgeon-cta__title {
    font-family: var(--serif);
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    font-weight: 500;
    margin: 0 0 1rem;
    color: #fff;
    text-align: center;
}
.surgeon-cta__title-keep {
    white-space: nowrap;
}
.surgeon-cta__text {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.75);
    margin: 0 auto 2rem;
    max-width: 42rem;
}
@media (min-width: 768px) {
    .surgeon-cta__text-keep {
        white-space: nowrap;
    }
}

@media (max-width: 991px) {
    .surgeon-hero__grid {
        grid-template-columns: 1fr;
    }
    .surgeon-hero__media {
        order: -1;
        max-width: 420px;
        margin: 0 auto;
    }
    .surgeon-hero__media::before {
        display: none;
    }
    .surgeon-credentials__grid {
        grid-template-columns: 1fr;
    }
}

/* Hero de procedimentos e guias — título legível, sem quebra por caractere */
.solution__area .solution__wrapper {
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 2.2fr) minmax(0, 0.9fr);
    align-items: start;
}
.solution__area .solution__mid {
    min-width: 0;
    padding-left: clamp(16px, 3vw, 72px);
    padding-right: clamp(8px, 2vw, 24px);
}
.procedure-hero .solution__shape {
    display: none;
}
.solution__area.procedure-hero {
    padding-bottom: 0;
}
.solution__area.procedure-hero .procedure-hero__meta {
    padding-bottom: clamp(1.25rem, 3vw, 2.5rem) !important;
}
.procedure-page .solution__img-1 img,
.procedure-page .solution__img-2 img,
.procedure-page .solution__img-3 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.procedure-page--brow-lift .solution__img-1 img,
.procedure-page--brow-lift .solution__img-2 img,
.procedure-page--brow-lift .solution__img-3 img {
    object-position: center 42%;
}
.procedure-page--frontoplastia .solution__img-1 img,
.procedure-page--frontoplastia .solution__img-2 img,
.procedure-page--frontoplastia .solution__img-3 img {
    object-position: center 28%;
}
.procedure-page--lobuloplastia .solution__img-1 img,
.procedure-page--lobuloplastia .solution__img-2 img,
.procedure-page--lobuloplastia .solution__img-3 img {
    object-position: 58% center;
}
.procedure-page--revisional .solution__img-1 img,
.procedure-page--revisional .solution__img-2 img,
.procedure-page--revisional .solution__img-3 img {
    object-fit: cover;
    object-position: center center;
}
.guide-card-img img[src*="procedure-revisional"] {
    object-fit: cover;
    object-position: center center;
}
.guide-card-img img[src*="procedure-brow-lift"],
.guide-card-img img[src*="procedure-frontoplastia"],
.guide-card-img img[src*="procedure-lobuloplastia"] {
    object-fit: cover;
    object-position: center 40%;
}
.guide-card-img img[src*="procedure-lobuloplastia"] {
    object-position: 55% center;
}
.guide-card-img img[src*="quanto-custa-lifting-facial"] {
    object-fit: cover;
    object-position: 72% 10%;
}
.guide-card:hover .guide-card-img img[src*="quanto-custa-lifting-facial"] {
    transform: scale(1.03);
}
.solution__area .solution__title {
    font-size: clamp(2rem, 4.8vw, 4.25rem) !important;
    line-height: 1.08 !important;
    font-weight: 500 !important;
    padding-top: clamp(72px, 10vw, 128px) !important;
    padding-bottom: 0.5rem !important;
    max-width: 100%;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual;
    white-space: normal !important;
    letter-spacing: -0.02em !important;
}
/* SplitText (se ainda ativo): evita uma letra por linha */
.solution__area .solution__title > * {
    display: inline !important;
    white-space: normal !important;
    position: static !important;
    transform: none !important;
}
.solution__area .solution__title .solution__title-sep {
    font-weight: 400;
    opacity: 0.45;
    padding: 0 0.15em;
}
.solution__area .solution__mid p {
    padding-left: 0 !important;
    max-width: 36rem;
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
    color: var(--ink-2, #3a3a3a);
    margin-top: 0.25rem;
}
.solution__area .solution__mid p::before {
    display: none !important;
}
@media only screen and (max-width: 991px) {
    .solution__area {
        padding-left: 20px;
        padding-right: 20px;
    }
    .solution__area .solution__wrapper {
        grid-template-columns: 1fr;
    }
    .solution__area .solution__title {
        padding-top: clamp(60px, 12vw, 100px) !important;
        font-size: clamp(1.85rem, 8vw, 2.75rem) !important;
    }
    .solution__area .solution__left,
    .solution__area .solution__right {
        display: none;
    }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .solution__area .solution__title {
        font-size: clamp(2rem, 4vw, 3.25rem) !important;
        padding-top: 100px !important;
    }
}

/* === Hub Guias (página principal) === */
.guides-hub {
    padding: clamp(5.5rem, 10vw, 7rem) 0 clamp(4rem, 6vw, 5.5rem);
    background: linear-gradient(180deg, var(--cream) 0%, var(--paper) 45%, var(--paper) 100%);
}
.guides-hub__container {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.guides-hub-hero {
    padding: 0 0 clamp(2rem, 3.5vw, 2.75rem);
    margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
    border-bottom: 1px solid rgba(10, 10, 10, 0.06);
    text-align: left;
}
.page-guias main {
    overflow: visible !important;
}
.page-guias .guides-hub-hero.solution__mid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    min-width: 0;
}
.page-guias .guides-hub-hero .guides-hub-hero__deck,
.page-guias .guides-hub-hero p {
    padding-left: 0 !important;
    text-align: left !important;
    position: static !important;
}
.page-guias .guides-hub-hero .guides-hub-hero__deck::before,
.page-guias .guides-hub-hero p::before {
    display: none !important;
    content: none !important;
}
.page-guias .guides-hub-hero .solution__title,
.guides-hub-hero__title {
    font-family: var(--serif) !important;
    font-size: clamp(2.5rem, 5.5vw, 4rem) !important;
    font-weight: 500 !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
    color: var(--ink) !important;
    padding-top: 0 !important;
    padding-bottom: 0.75rem !important;
    margin: 0 0 1rem;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 1;
    min-height: 1.05em;
    transform: none !important;
}
.guides-hub-hero__deck {
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    line-height: 1.65;
    color: var(--ink-2);
    margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
    max-width: 52rem;
    padding-left: 0 !important;
    text-align: left;
}
.guides-hub-hero__deck-line {
    display: block;
}
.guides-hub-hero__meta ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.75rem;
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: var(--sans);
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
}
.guides-hub-list {
    /* Não zerar padding-top — o header fixo cobria o título */
    padding-left: 0;
    padding-right: 0;
    background: transparent;
}
.page-guias .guides-hub {
    padding-top: clamp(7.5rem, 13vw, 10rem) !important;
}

.guides-hub .guides-filter {
    margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
    justify-content: flex-start;
}
.guides-hub .guides-grid {
    margin-top: 0;
}

/* Guides filter (MixItUp) */
.guides-filter {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    justify-content: center;
    margin: 3rem 0;
}
.guides-filter button {
    font-family: var(--sans);
    font-size: 0.76rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 0.7rem 1.3rem;
    background: transparent;
    border: 1px solid rgba(10,10,10,0.18);
    color: var(--muted);
    cursor: pointer;
    transition: all .25s;
    font-weight: 500;
}
.guides-filter button:hover,
.guides-filter button.mixitup-control-active,
.guides-filter button.active {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
}

.guides-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}
#guides-grid .guide-card.is-hidden {
    display: none !important;
}

.guide-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--ink-2);
    background: var(--paper);
    border: 1px solid rgba(10,10,10,0.14);
    transition: transform .35s, box-shadow .35s, border-color .35s;
    overflow: hidden;
}
.guide-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 50px rgba(0,0,0,0.06);
    border-color: var(--ink);
}
.guide-card-img {
    width: 100%;
    aspect-ratio: 16/10;
    background: var(--cream);
    overflow: hidden;
}
.guide-card-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    filter: grayscale(0.3);
    transition: transform .8s, filter .4s;
}
.guide-card:hover .guide-card-img img { filter: grayscale(0); transform: scale(1.04); }
.guide-card-body { padding: 1.6rem 1.4rem 1.8rem; flex: 1; display: flex; flex-direction: column; gap: 0.6rem; }
.guide-card .cat {
    font-family: var(--sans);
    font-size: 0.66rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 500;
}
.guide-card h3 {
    font-family: var(--serif);
    font-size: 1.15rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.3;
    color: var(--ink-2);
}
.guide-card p {
    font-family: var(--sans);
    font-size: 0.88rem;
    color: var(--muted);
    margin: 0;
    line-height: 1.5;
}
/* Hub de especialidades — hero: foto desfocada + texto (ref. layout premium) */
.specialty-hub-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(380px, 52vw, 580px);
    padding: clamp(112px, 14vw, 156px) clamp(1.25rem, 4vw, 2.5rem) clamp(3.5rem, 6vw, 5rem);
    overflow: hidden;
    background: #f5f5f3;
}
.specialty-hub-hero__bg {
    position: absolute;
    inset: -12px;
    z-index: 0;
    overflow: hidden;
}
.specialty-hub-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% 38%;
    display: block;
    transform: scale(1.02);
    filter: blur(3px) saturate(0.92) brightness(0.9) contrast(1.04);
}
.specialty-hub-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(10, 10, 10, 0.45) 0%,
        rgba(10, 10, 10, 0.38) 45%,
        rgba(10, 10, 10, 0.52) 100%
    );
}
.specialty-hub-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 46rem;
    margin: 0 auto;
    text-align: center;
}
.specialty-hub-hero__badge {
    display: inline-block;
    margin: 0 0 1.5rem;
    padding: 0.5rem 1.25rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(4px);
}
.specialty-hub-hero__title {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(1.45rem, 3.1vw, 2.25rem);
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: -0.02em;
    color: #fff;
    text-shadow: 0 1px 24px rgba(0, 0, 0, 0.35);
    text-wrap: balance;
}
.specialty-hub {
    background: var(--paper);
    padding-top: clamp(2.5rem, 5vw, 3.5rem);
}
.specialty-hub__intro {
    max-width: 40rem;
    margin: 0 auto 3rem;
    text-align: center;
}
.specialty-hub__lead {
    font-family: var(--sans);
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--ink-2);
    margin: 0;
}
.specialty-hub__lead a {
    color: var(--ink);
    border-bottom: 1px solid rgba(10, 10, 10, 0.25);
    text-decoration: none;
}
.specialty-hub__group {
    margin-bottom: 3.5rem;
}
.specialty-hub__group:last-child {
    margin-bottom: 0;
}
.specialty-hub__heading {
    font-family: var(--serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 500;
    color: var(--ink);
    margin: 0 0 1.5rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
    letter-spacing: -0.02em;
}
.specialty-hub__grid {
    margin-top: 0;
}

.guide-card-cta {
    margin-top: auto;
    padding-top: 1rem;
    font-family: var(--sans);
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink);
    font-weight: 500;
}

/* === Botões flutuantes (WhatsApp + voltar ao topo) — empilhados, sem sobreposição === */
:root {
    --fab-inset: max(20px, env(safe-area-inset-right, 0px) + 16px);
    --fab-bottom: max(20px, env(safe-area-inset-bottom, 0px) + 16px);
    --fab-size: 52px;
    --fab-gap: 14px;
    --wa-green: #25d366;
    --wa-green-hover: #1ebe57;
}

.wa-float {
    position: fixed;
    bottom: var(--fab-bottom);
    right: var(--fab-inset);
    width: var(--fab-size);
    height: var(--fab-size);
    background: var(--wa-green);
    color: #fff;
    border-radius: 50%;
    display: grid;
    place-items: center;
    z-index: 998;
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.35);
    transition: transform .3s, background .3s, box-shadow .3s;
    text-decoration: none;
}
.wa-float:hover {
    transform: scale(1.08);
    background: var(--wa-green-hover);
    box-shadow: 0 12px 32px rgba(37, 211, 102, 0.45);
}
.wa-float svg { width: 26px; height: 26px; fill: currentColor; }

/* Controle de música — ícone pequeno no lugar da engrenagem */
.switcher__area.ambient-switcher .switcher__items,
.switcher__area.ambient-switcher #switcher_close {
    display: none !important;
}
.switcher__area.ambient-switcher .switcher__icon {
    width: 36px;
    height: 36px;
    mix-blend-mode: normal;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(10, 10, 10, 0.1);
    border-radius: 50%;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}
.switcher__area.ambient-switcher .switcher__icon button {
    font-size: 13px;
    border: 0 !important;
    animation: none !important;
    color: var(--ink) !important;
}
.switcher__area.ambient-switcher .switcher__icon button#switcher_open {
    animation: none !important;
}
.switcher__area.ambient-switcher .switcher__icon button.is-muted {
    color: var(--muted) !important;
}
.switcher__area.ambient-switcher.is-blocked .switcher__icon {
    animation: ambient-switcher-pulse 2s ease-in-out infinite;
}
@keyframes ambient-switcher-pulse {
    0%, 100% { box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); }
    50% { box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(10, 10, 10, 0.07); }
}
.spotify-ambient-embed {
    position: fixed;
    width: 1px;
    height: 1px;
    left: -9999px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}
@media only screen and (max-width: 767px) {
    .switcher__area.ambient-switcher {
        display: block !important;
    }
    .switcher__area.ambient-switcher .switcher__icon {
        top: auto;
        bottom: calc(var(--fab-bottom) + var(--fab-size) + var(--fab-gap) + var(--fab-size) + var(--fab-gap));
        transform: none;
        right: var(--fab-inset);
    }
}

.scroll-top {
    width: var(--fab-size) !important;
    height: var(--fab-size) !important;
    right: var(--fab-inset) !important;
    bottom: calc(var(--fab-bottom) + var(--fab-size) + var(--fab-gap)) !important;
    z-index: 9991;
    mix-blend-mode: normal !important;
    background: var(--paper) !important;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    display: none;
    padding: 0;
    line-height: var(--fab-size);
    text-align: center;
}
.scroll-top i {
    font-size: 18px;
    color: var(--ink) !important;
}
.scroll-top:hover {
    background: var(--ink) !important;
}
.scroll-top:hover i {
    color: var(--paper) !important;
}

/* === Schema marker invisível === */
[itemprop] { all: revert; }

/* === Customizações pequenas extras === */
.sec-sub-title {
    color: var(--muted) !important;
    font-family: var(--sans) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.35em !important;
    text-transform: uppercase;
    font-weight: 500 !important;
}
.sec-title {
    color: var(--ink-2) !important;
}

/* ============================================================
   HEADER PRETO + TEXTO BRANCO (pedido do cliente, iteração 3)
   ============================================================ */
.header__area-3 {
    background-color: var(--ink) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.header__area-3.sticky-3 {
    background-color: var(--ink) !important;
    border-bottom-color: rgba(255,255,255,0.12) !important;
}

/* Texto e links do menu em branco */
.header__area-3 .main-menu-3 > li {
    padding: 0 clamp(0.85rem, 1.45vw, 1.65rem);
}
.header__area-3 .main-menu-3 > li > a {
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: nowrap;
    padding: 24px 0;
}
.header__area-3 .main-menu-3 > li > a,
.header__area-3 .navigation__logo-title {
    color: #FFFFFF !important;
}

.header__area-3 .main-menu-3 > li > a:hover {
    color: rgba(255,255,255,0.65) !important;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .header__area-3 .main-menu-3 > li {
        padding: 0 clamp(0.65rem, 1.1vw, 1.15rem);
    }
    .header__area-3 .main-menu-3 > li > a {
        font-size: 0.8125rem;
        padding: 22px 0;
    }
}

/* Busca removida do menu superior */
.header__area-3 .header__nav-icon-3 #search_icon,
.header__area-3 .header__nav-icon-3 #search_close,
.header__search {
    display: none !important;
}

/* Ícone do menu (offcanvas) em branco */
.header__area-3 .header__nav-icon-3 button {
    color: #FFFFFF !important;
}
.header__area-3 .header__nav-icon-3 button i {
    color: #FFFFFF !important;
}
.header__area-3 .header__nav-icon-3 button img {
    filter: invert(1) brightness(2);
}

/* Seletor de idioma (à esquerda do menu hambúrguer) */
.header__area-3 .header__nav-icon-3 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(0.5rem, 1.2vw, 0.85rem);
}
.lang-switcher {
    position: relative;
    flex: 0 0 auto;
}
.lang-switcher__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.15rem;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1;
}
.lang-switcher__trigger:hover {
    opacity: 0.82;
}
.lang-switcher__flag,
.lang-switcher__option-flag {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.lang-switcher__flag-svg {
    width: 1.35rem;
    height: 0.9rem;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18);
    display: block;
}
.lang-switcher__code {
    text-transform: uppercase;
}
.lang-switcher__chevron {
    font-size: 0.5rem;
    opacity: 0.85;
    transition: transform 0.2s ease;
}
.lang-switcher.is-open .lang-switcher__chevron {
    transform: rotate(180deg);
}
.lang-switcher__menu {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    min-width: 11.5rem;
    margin: 0;
    padding: 0.35rem 0;
    list-style: none;
    background: rgba(22, 22, 22, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38);
    z-index: 10050;
}
.lang-switcher__menu[hidden] {
    display: none;
}
.lang-switcher__option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.62rem 1rem;
    border: 0;
    background: transparent;
    color: #fff;
    font-family: var(--sans);
    font-size: 0.88rem;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
    transition: background 0.18s ease;
}
.lang-switcher__option:hover,
.lang-switcher__option.is-active {
    background: rgba(255, 255, 255, 0.08);
}
.lang-switcher__option-label {
    white-space: nowrap;
}
.lang-switcher-notice {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: rgba(10, 10, 10, 0.96);
    color: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.28s ease, opacity 0.28s ease;
}
.lang-switcher-notice--hide {
    transform: translateY(-110%);
    opacity: 0;
}
.lang-switcher-notice__text {
    margin: 0;
    font-family: var(--sans);
    font-size: 0.82rem;
    line-height: 1.45;
    text-align: center;
}
.lang-switcher-notice__close {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    padding: 0.25rem;
    opacity: 0.75;
}
.lang-switcher-notice__close:hover {
    opacity: 1;
}
@media (max-width: 575px) {
    .lang-switcher__trigger {
        gap: 0.3rem;
        font-size: 0.66rem;
    }
    .lang-switcher__flag-svg {
        width: 1.2rem;
        height: 0.8rem;
    }
}

/* Sublinhado animado dos links de menu */
.header__area-3 .menu-anim li a::after,
.header__area-3 .main-menu-3 li a::after {
    background-color: #FFFFFF !important;
}

/* Mega menu em fundo escuro com texto claro */
.header__area-3 .mega-menu,
.header__area-3 .main-dropdown {
    background-color: var(--ink) !important;
    border-top: 1px solid rgba(255,255,255,0.12);
}
.header__area-3 .mega-menu .menu-heading {
    color: rgba(255,255,255,0.55) !important;
    border-bottom-color: rgba(255,255,255,0.12) !important;
}
.header__area-3 .mega-menu li a,
.header__area-3 .main-dropdown li a {
    color: rgba(255,255,255,0.85) !important;
}
.header__area-3 .mega-menu li a:hover,
.header__area-3 .main-dropdown li a:hover {
    color: #FFFFFF !important;
    background-color: rgba(255,255,255,0.05) !important;
}

/* Informações Essenciais — lista sequencial, alinhada ao item do menu */
.header__area-3 .main-menu-3 > li.has-megamenu:has(> .mega-menu--informacoes) {
    position: relative;
}
.header__area-3 .mega-menu--informacoes {
    position: absolute;
    left: 0;
    right: auto;
    top: 100%;
    width: min(22rem, 92vw);
    min-width: 16rem;
    padding: 1.25rem 1.5rem 1.35rem;
    display: block;
    grid-template-columns: none;
    text-align: left;
}
.header__area-3 .main-menu-3 > li.has-megamenu:has(> .mega-menu--informacoes):hover .mega-menu--informacoes,
.header__area-3 .main-menu-3 > li.has-megamenu:has(> .mega-menu--informacoes) .mega-menu--informacoes:hover {
    top: 100%;
}
.header__area-3 .mega-menu--informacoes > li {
    min-width: 0;
}
.header__area-3 .mega-menu--informacoes > li > ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.header__area-3 .mega-menu--informacoes li ul li a {
    font-size: 0.9375rem;
    padding: 0.55rem 0;
    line-height: 1.45;
    white-space: normal;
    margin-bottom: 0;
}
.header__area-3 .mega-menu__keep {
    white-space: nowrap;
}

/* Especialidades — flyout Deep Plane, Deep Neck & Lip Lift */
.header__area-3 .mega-menu {
    align-items: start;
    overflow: visible;
}
.header__area-3 .mega-menu > li.mega-menu__lifting,
.header__area-3 .mega-menu > li.mega-menu__refinamentos {
    position: relative;
    align-self: start;
}
.header__area-3 .mega-menu__refinamentos .mega-menu__col-default > ul {
    padding-top: calc(1.25rem + 10px);
}
.mega-menu__flyout-panel {
    display: none;
}
.mega-menu__lifting:has(.mega-menu__has-flyout--deep-plane:hover) .mega-menu__flyout-panel--deep-plane,
.mega-menu__lifting:has(.mega-menu__flyout-panel--deep-plane:hover) .mega-menu__flyout-panel--deep-plane {
    display: block;
}
.mega-menu__lifting:has(.mega-menu__has-flyout--deep-neck:hover) .mega-menu__flyout-panel--deep-neck,
.mega-menu__lifting:has(.mega-menu__flyout-panel--deep-neck:hover) .mega-menu__flyout-panel--deep-neck {
    display: block;
}
.mega-menu__lifting:has(.mega-menu__has-flyout:hover) .mega-menu__col-default,
.mega-menu__lifting:has(.mega-menu__flyout-panel:hover) .mega-menu__col-default {
    display: none;
}
/* Refinamentos: col-default invisível mas no fluxo; flyout cobre a coluna inteira */
.mega-menu__refinamentos:has(.mega-menu__has-flyout:hover) .mega-menu__col-default,
.mega-menu__refinamentos:has(.mega-menu__flyout-panel:hover) .mega-menu__col-default {
    opacity: 0;
}
.mega-menu__refinamentos:has(.mega-menu__has-flyout--lip-lift:hover) .mega-menu__flyout-panel--lip-lift,
.mega-menu__refinamentos:has(.mega-menu__flyout-panel--lip-lift:hover) .mega-menu__flyout-panel--lip-lift {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    background-color: var(--ink);
}
/* Fundo preto acompanha a coluna mais alta (flyout aberto) */
.header__area-3 .mega-menu:has(.mega-menu__lifting:has(.mega-menu__has-flyout:hover)),
.header__area-3 .mega-menu:has(.mega-menu__lifting:has(.mega-menu__flyout-panel:hover)),
.header__area-3 .mega-menu:has(.mega-menu__refinamentos:has(.mega-menu__has-flyout:hover)),
.header__area-3 .mega-menu:has(.mega-menu__refinamentos:has(.mega-menu__flyout-panel:hover)) {
    padding-bottom: clamp(2.5rem, 4vw, 3.5rem);
}
.header__area-3 .menu-heading--flyout {
    margin: 0 0 0.35rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.header__area-3 .menu-heading--flyout a {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
.header__area-3 .menu-heading--flyout a:hover {
    color: #fff !important;
    letter-spacing: 0.14em !important;
}
.header__area-3 .mega-menu__flyout-list a {
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    padding: 0.55rem 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.45 !important;
    text-transform: none !important;
    letter-spacing: 0.005em !important;
    white-space: normal;
}

/* Search bar expandida — texto e linha brancos */
.header__search input {
    color: #FFFFFF !important;
    background: var(--ink) !important;
    border-bottom: 1px solid rgba(255,255,255,0.3) !important;
}
.header__search input::placeholder {
    color: rgba(255,255,255,0.5) !important;
}

/* ============================================================
   HERO — reduzir tamanho do título central
   Template original usa 306px no .sec-title — calibrado para "Health/Hup".
   "Erik/Friedrich" (4/9 chars) precisa de cap menor para "FRIEDRICH" caber.
   "FRIEDRICH" a 180px tem ~1100px de largura — cabe num container 1320px.
   ============================================================ */
.hero__area-3 .sec-title {
    font-size: clamp(56px, 11vw, 180px) !important;
    line-height: 0.88 !important;
}

.hero__area-3 .sec-sub-title {
    font-size: clamp(14px, 1.4vw, 20px) !important;
    letter-spacing: 0.22em !important;
}

@media (max-width: 1399px) {
    .hero__area-3 .sec-title {
        font-size: clamp(48px, 10vw, 140px) !important;
    }
}
@media (max-width: 991px) {
    .hero__area-3 .sec-title {
        font-size: clamp(42px, 9.5vw, 100px) !important;
    }
}
@media (max-width: 767px) {
    .hero__area-3 .sec-title {
        font-size: clamp(36px, 11vw, 72px) !important;
    }
}

@media (max-width: 767px) {
    :root {
        --fab-inset: max(14px, env(safe-area-inset-right, 0px) + 12px);
        --fab-bottom: max(14px, env(safe-area-inset-bottom, 0px) + 12px);
        --fab-size: 48px;
        --fab-gap: 12px;
    }
    .wa-float svg { width: 22px; height: 22px; }
}

/* ============================================================
   AUDITORIA DE CONTRASTE — garantir leitura sobre fundos escuros
   Identifica componentes do template que têm color: var(--black-*)
   por padrão e que aparecem sobre fundos pretos no nosso uso.
   ============================================================ */

/* === CTA no banner preto (workflow + procedure + article footers) === */
/* O template define .cta__title-2 e .cta__sub-title-2 como var(--black-2).
   Quando aplicamos style="background:var(--ink)" inline, texto fica invisível. */
[style*="background:var(--ink)"] .cta__title-2,
[style*="background:var(--ink)"] .cta__title,
[style*="background: var(--ink)"] .cta__title-2,
[style*="background: var(--ink)"] .cta__title {
    color: #FFFFFF !important;
}

[style*="background:var(--ink)"] .cta__sub-title-2,
[style*="background:var(--ink)"] .cta__sub-title,
[style*="background: var(--ink)"] .cta__sub-title-2,
[style*="background: var(--ink)"] .cta__sub-title {
    color: rgba(255, 255, 255, 0.75) !important;
}

[style*="background:var(--ink)"] p,
[style*="background: var(--ink)"] p {
    color: rgba(255, 255, 255, 0.75) !important;
}

[style*="background:var(--ink)"] .sec-eyebrow,
[style*="background:var(--ink)"] .section-eyebrow,
[style*="background: var(--ink)"] .sec-eyebrow,
[style*="background: var(--ink)"] .section-eyebrow {
    color: rgba(255, 255, 255, 0.55) !important;
}

/* Botões dentro do banner escuro — manter borda/texto brancos */
[style*="background:var(--ink)"] .wc-btn-black,
[style*="background: var(--ink)"] .wc-btn-black {
    background-color: transparent !important;
    color: #FFFFFF !important;
    border: 1px solid #FFFFFF !important;
}

[style*="background:var(--ink)"] .wc-btn-black:hover,
[style*="background: var(--ink)"] .wc-btn-black:hover {
    background-color: #FFFFFF !important;
    color: var(--ink) !important;
}

/* === Footer (fundo dark var(--black-2) por padrão do template) === */
.footer__area-3,
.footer__area-3 p {
    color: rgba(255, 255, 255, 0.75) !important;
}
.footer__area-3 h1,
.footer__area-3 h2,
.footer__area-3 h3,
.footer__area-3 h4,
.footer__area-3 h5,
.footer__area-3 .navigation__logo-title,
.footer__area-3 .footer__copyright-3 p {
    color: #FFFFFF !important;
}
.footer__area-3 a {
    color: rgba(255, 255, 255, 0.75) !important;
}
.footer__area-3 a:hover {
    color: #FFFFFF !important;
}
.footer__area-3 .footer__social-3 ul li a {
    color: rgba(255, 255, 255, 0.85) !important;
}
.footer__area-3 .footer__contact-3 a.end {
    color: #FFFFFF !important;
}
.footer__area-3 .footer__contact-3 a.end:not(.footer__cta-agendar) {
    font-size: clamp(1.25rem, 3vw, 2.15rem) !important;
    line-height: 1.12 !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em;
}
@media only screen and (min-width: 1400px) and (max-width: 1919px) {
    .footer__area-3 .footer__contact-3 a.end:not(.footer__cta-agendar) {
        font-size: clamp(1.15rem, 2.5vw, 1.85rem) !important;
    }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .footer__area-3 .footer__contact-3 a.end:not(.footer__cta-agendar) {
        font-size: clamp(1.1rem, 2.8vw, 1.65rem) !important;
    }
}
@media only screen and (max-width: 767px) {
    .footer__area-3 .footer__contact-3 a.end:not(.footer__cta-agendar) {
        font-size: clamp(1.35rem, 5vw, 1.75rem) !important;
    }
}

/* Rodapé — bloco esquerdo e copyright em linhas separadas */
.footer__logo-3 .footer__intro-line,
.footer__logo-3 .footer__intro-focus,
.footer__logo-3 .footer__intro-crm {
    margin-top: 0;
    margin-bottom: 0.35rem;
}
.footer__logo-3 .footer__intro-crm {
    margin-bottom: 0;
}
.footer__copyright-3 .footer__copyright-line,
.footer__copyright-3 .footer__copyright-name {
    margin-top: 0;
    margin-bottom: 0.15rem;
}
.footer__copyright-3 .footer__copyright-name {
    margin-bottom: 0;
}
@media (min-width: 768px) {
    .footer__copyright-3 .footer__copyright-line {
        white-space: nowrap;
    }
}

/* Rodapé — aviso CFM / caráter informativo */
.footer__btm-3 .footer__disclaimer {
    margin: 0;
    padding: clamp(1.15rem, 2vw, 1.5rem) 0 0;
    max-width: 68rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    line-height: 1.58;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.48) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer__btm-3 .row:has(.footer__disclaimer) {
    margin-top: clamp(0.75rem, 1.5vw, 1.25rem);
}

/* Rodapé — menu de navegação (4 itens na mesma linha) */
.footer__area-3 .footer-menu-2 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: clamp(0.85rem, 1.8vw, 1.75rem);
}
.footer__area-3 .footer-menu-2 li {
    display: block;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 auto;
}
.footer__area-3 .footer-menu-2 li a {
    font-size: clamp(0.62rem, 0.55rem + 0.35vw, 0.72rem) !important;
    letter-spacing: 0.08em;
    line-height: 1.2;
    white-space: nowrap;
}
@media only screen and (max-width: 767px) {
    .footer__area-3 .footer-menu-2 {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.5rem;
        column-gap: 0.65rem;
    }
    .footer__area-3 .footer-menu-2 li a {
        font-size: 0.6rem !important;
        letter-spacing: 0.06em;
    }
}

/* Rodapé — “Agendar Consulta” centralizado na coluna (meio do bloco) */
.footer__area-3 .footer__top-wrapper-3 {
    align-items: stretch;
}
.footer__area-3 .footer__contact-3 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: clamp(2rem, 4vw, 3rem) 1.5rem !important;
    margin: 0 !important;
    align-self: stretch;
    min-height: 100%;
    width: 100%;
}
.footer__area-3 .footer__contact-3 a.footer__cta-agendar,
.footer__area-3 .footer__contact-3 a.end.footer__cta-agendar {
    display: block;
    margin: 0 auto !important;
    font-size: 72px !important;
    line-height: 0.92 !important;
    text-align: center !important;
    white-space: normal;
    transform: none !important;
    width: max-content;
    max-width: 100%;
}

.footer__area-3 .footer__contact-3 a.footer__cta-agendar .footer-cta-line {
    display: block;
}
/* Sobrescreve master.css (text-align: right; justify-content: flex-end) */
@media only screen and (min-width: 768px) {
    .footer__area-3 .footer__contact-3 {
        justify-content: center !important;
        align-items: center !important;
        padding-top: clamp(2rem, 4vw, 3rem) !important;
    }
}
@media only screen and (max-width: 767px) {
    .footer__area-3 .footer__contact-3 {
        min-height: auto;
        padding: 3rem 1rem !important;
    }
}
@media only screen and (min-width: 1400px) and (max-width: 1919px) {
    .footer__area-3 .footer__contact-3 a.footer__cta-agendar { font-size: 57px !important; }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
    .footer__area-3 .footer__contact-3 a.footer__cta-agendar { font-size: 37px !important; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .footer__area-3 .footer__contact-3 a.footer__cta-agendar { font-size: 29px !important; }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .footer__area-3 .footer__contact-3 a.footer__cta-agendar { font-size: 19px !important; }
}
@media only screen and (max-width: 767px) {
    .footer__area-3 .footer__contact-3 a.footer__cta-agendar { font-size: 20px !important; }
}

/* === Offcanvas (fundo dark, texto deve ser claro) === */
.offcanvas__area,
.offcanvas__area p {
    color: rgba(255, 255, 255, 0.75) !important;
}
.offcanvas__area h1,
.offcanvas__area h2,
.offcanvas__area h3,
.offcanvas__area h4,
.offcanvas__area .navigation__logo-title,
.offcanvas__area .social-title,
.offcanvas__menu ul li a,
.offcanvas__social ul li a,
.offcanvas__links ul li a,
.offcanvas__contact h3,
.offcanvas__contact ul li,
.offcanvas__contact ul li a {
    color: #FFFFFF !important;
}
.offcanvas__area input {
    color: #FFFFFF !important;
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.3) !important;
}
.offcanvas__area input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}
.offcanvas__area button {
    color: #FFFFFF !important;
}
.offcanvas__close button {
    color: #FFFFFF !important;
}

/* Offcanvas — bolas decorativas: laranja → branco, roxo → cinza */
.offcanvas__right .shape-1 {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}
.offcanvas__right .shape-2 {
    filter: brightness(0) invert(1) !important;
    opacity: 0.38 !important;
}

/* === Switcher panel (fundo branco no padrão, mas pode variar) === */
.switcher__area .switcher__title {
    color: var(--ink) !important;
}

/* === Testimonial slider — texto sobre fundo claro com background-image === */
/* Template default já é var(--black-2). Confirmamos visivel em bg claro/imagem. */
/* Sem ajuste necessário aqui. */

/* === Search bar expandida (fundo dark per nosso override) === */
.header__search {
    background-color: var(--ink) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* === Garante que TEMPO de h1/h2/h3 default escuro funcione em fundos escuros === */
/* Para qualquer seção com classe section-dark ou bg-dark */
.section-dark,
.section-dark p {
    color: rgba(255, 255, 255, 0.85) !important;
}
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark h5,
.section-dark h6 {
    color: #FFFFFF !important;
}

/* === Cursor escuro sobre fundo escuro do header — invertir === */
/* Se o cursor passar pela área preta do header, queremos vê-lo */
/* Cursor1 já é preto sólido — pode sumir no header */
.header__area-3 ~ .cursor1,
body:has(.header__area-3:hover) .cursor1 {
    /* mantém preto, mas com pequeno halo branco para visibilidade */
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
}

/* === Print === */
@media print {
    .cursor1, .cursor2, .preloader, .switcher__area, .scroll-top, .wa-float { display: none !important; }
}

/* ============================================================
   ITERAÇÃO 4 — Ajustes solicitados pelo cliente (2026-05)
   ============================================================ */

/* === HERO: vídeo/imagem fullscreen + Dr. Erik Friedrich como watermark === */
.hero__area-3 {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}

/* O background-media cobre todo o hero */
.hero__area-3 .hero-bg-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}
.hero__area-3 .hero-bg-media video,
.hero__area-3 .hero-bg-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Overlay escuro para legibilidade do watermark */
.hero__area-3::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100%);
    z-index: 1;
    pointer-events: none;
}

/* O conteúdo do hero fica acima do overlay */
.hero__area-3 > .container,
.hero__area-3 .hero__inner-3,
.hero__area-3 .scroll-down {
    position: relative;
    z-index: 2;
}

/* Watermark: títulos em branco semi-transparente */
.hero__area-3 .sec-sub-title {
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.5);
}
.hero__area-3 .sec-title {
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 2px 32px rgba(0, 0, 0, 0.5);
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
}
.hero__area-3 .hero__text-3 p,
.hero__area-3 .hero__text-animation {
    color: rgba(255, 255, 255, 0.88) !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
    text-align: left !important;
    hyphens: none;
    -webkit-hyphens: none;
}

/* Especialidades — intro justificada; textos de procedimento mais largos */
#especialidades .sec-title-wrapper > p {
    text-align: justify !important;
    text-justify: inter-word;
    max-width: min(100%, 42rem);
}
.service__area-3 .service__item-3 {
    grid-template-columns: minmax(220px, 28%) minmax(0, 48%) 22%;
    align-items: center;
    column-gap: clamp(1.25rem, 3vw, 2.75rem);
}
.service__area-3 .service__content-3 {
    max-width: min(100%, 480px);
    padding-left: clamp(1rem, 2.5vw, 2rem);
}
.service__area-3 .service__content-3 p {
    hyphens: none;
    -webkit-hyphens: none;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
    .service__area-3 .service__item-3 {
        grid-template-columns: minmax(210px, 28%) minmax(0, 50%) 20%;
    }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .service__area-3 .service__item-3 {
        grid-template-columns: minmax(200px, 30%) minmax(0, 48%) 20%;
    }
}
@media only screen and (max-width: 767px) {
    .service__area-3 .service__content-3 {
        padding-left: 0;
    }
}

/* Depoimento / citação — centralizado */
.testimonial__area-3 .testimonial__slider-3 {
    margin-left: auto;
    margin-right: auto;
}
.testimonial__area-3 .testimonial__slide-3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
}
.testimonial__area-3 .testimonial__slide-3 p {
    text-align: center !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}
.testimonial__area-3 .client__name-3,
.testimonial__area-3 .client__role-3 {
    text-align: center !important;
}

/* Informações Essenciais (home) — intro justificada */
.blog__area-3 .sec-title-wrapper > p {
    text-align: justify !important;
    text-justify: inter-word;
    max-width: min(100%, 42rem);
    hyphens: none;
    -webkit-hyphens: none;
}

/* Face Reveal CTA (home) — bloco e botão centralizados */
.cta__area-3 .cta__content-3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 100%;
}
.cta__area-3 .cta__sub-title-2 {
    text-align: center !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}
.cta__area-3 .cta__title-2 {
    text-align: center !important;
    font-family: var(--serif) !important;
    font-weight: 400 !important;
    line-height: 1.05;
    white-space: normal;
    overflow: visible;
    hyphens: none;
    -webkit-hyphens: none;
}
.cta__area-3 .cta__content-3 .btn_wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta__area-3 .cta__content-3 .btn_wrapper .btn-item {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    text-align: center;
}
.cta__area-3 .cta__content-3 .btn_wrapper .btn-item i {
    transform: rotate(0) !important;
}
.hero__area-3 .scroll-down button {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}
.hero__area-3 .scroll-down img {
    filter: invert(1) brightness(2);
}
.hero__area-3 .scroll-down span {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Esconde elementos antigos do hero (toggle de vídeo / imagem central) */
.hero__area-3 #video_check,
.hero__area-3 .video-info,
.hero__area-3 .wrapper,
.hero__area-3 .hero3-img-ani,
.hero__area-3 .hero3-img {
    display: none !important;
}

@media (max-width: 767px) {
    .hero__area-3 { min-height: 88vh; }
}


/* === Face Reveal — faixa superior e bloco do título em branco === */
.workflow__area-3 {
    background-color: #ffffff !important;
}
.workflow__area-3 .choose-wrapper {
    background-color: #ffffff !important;
}

/* === SEÇÃO "A CONSULTA" — lilás (--pink-3) → preto === */
.research__area {
    background-color: var(--ink) !important;
    background-image: none !important;
}
.research__area .sec-sub-title,
.research__area .sec-title,
.research__area .research__title,
.research__area .research__number span {
    color: #FFFFFF !important;
}
.research__area .sec-title-wrapper p,
.research__area .research__item p {
    color: rgba(255, 255, 255, 0.78) !important;
}
.research__area .research__tools li a {
    color: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
.research__area .research__tools li a:hover {
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
}
.research__area .research__item {
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.research__area .research__number {
    border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Face Reveal — coluna esquerda alinhada (título, texto e botões) */
#face-reveal .research__area .sec-title-wrapper,
#face-reveal .research__area .research__tools {
    text-align: left !important;
}
#face-reveal .research__area .sec-title-wrapper {
    padding-right: 0 !important;
}
#face-reveal .research__area .sec-sub-title {
    padding-bottom: 50px !important;
}
#face-reveal .research__area .sec-title-wrapper p {
    margin-left: 0 !important;
    margin-right: 0;
    max-width: 34rem;
    text-align: left !important;
}
#face-reveal .research__area .research__tools {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Face Reveal — margens laterais (~8–10% da tela, como no layout de referência) */
#face-reveal .container,
#face-reveal .container.inner_content {
    max-width: 100%;
    padding-left: clamp(1.25rem, 5vw, 5rem);
    padding-right: clamp(1.25rem, 5vw, 5rem);
}
#face-reveal .choose-title {
    font-size: clamp(2.5rem, 14vw, 12.5rem);
    letter-spacing: -0.02em;
}
@media (min-width: 1400px) {
    #face-reveal .choose-title {
        font-size: clamp(8rem, 11vw, 12.5rem);
    }
}
/* 3 painéis no scroll horizontal (template original = 4 → 400%) */
@media (min-width: 1201px) {
    #face-reveal .workflow__wrapper-3 {
        width: 300%;
    }
    #face-reveal .workflow__area-3 .wf_panel {
        flex: 0 0 33.333%;
        width: 33.333%;
        max-width: 33.333%;
    }
}
#face-reveal .cta__area-3.wf_panel {
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
}
#face-reveal .cta__area-3 > .container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#face-reveal .cta__area-3 .row,
#face-reveal .cta__area-3 .col-xxl-12 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}
#face-reveal .cta__area-3 .cta__content-3 {
    width: 100%;
    max-width: 100%;
    overflow: visible;
    margin-left: auto;
    margin-right: auto;
}
#face-reveal .cta__area-3 .cta__content-3 .btn_wrapper {
    margin-left: auto !important;
}
#face-reveal .cta__title-2 {
    font-size: clamp(2.5rem, 5.25vw, 6.25rem);
    max-width: 100%;
    width: 100%;
    padding-bottom: clamp(2rem, 4vw, 3.75rem);
    margin-left: auto;
    margin-right: auto;
}


/* === ÍCONE LGPD (consultório) — salmão → cinza === */
.price__item:first-child .price__icon span {
    background-color: var(--muted) !important;     /* #6B6B6B */
    border-color: var(--muted) !important;
    color: #FFFFFF !important;
}
.price__item:first-child .best-value {
    background-color: var(--muted) !important;
}


/* === Páginas de especialidade (procedimentos) === */
.procedure-content {
    padding-top: clamp(1.75rem, 3vw, 2.5rem);
    padding-bottom: clamp(3.5rem, 6vw, 5rem);
    background: var(--paper);
}
.procedure-content .article-body {
    max-width: 44rem;
    margin: 0 auto;
    font-family: var(--sans);
}
.procedure-content .article-body h2,
.procedure-content .article-body h3 {
    font-family: var(--serif);
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.02em;
}
.procedure-content .article-body h2 strong,
.procedure-content .article-body h3 strong {
    font-weight: inherit;
}
.procedure-content .article-body h2:not(.proc-ref-benefits__title) {
    font-size: clamp(1.4rem, 2vw, 1.75rem);
    line-height: 1.25;
    margin: 2.25rem 0 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
}
.procedure-content .article-body > h2:first-child {
    margin-top: 0;
}
.procedure-content .article-body:not(:has(> h2)) > h3 {
    font-size: clamp(1.35rem, 1.9vw, 1.65rem);
    line-height: 1.25;
    margin: 2.25rem 0 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
}
.procedure-content .article-body:not(:has(> h2)) > h3:first-of-type {
    margin-top: 0;
}
.procedure-content .article-body h3 {
    font-size: clamp(1.1rem, 1.4vw, 1.25rem);
    line-height: 1.3;
    margin: 1.65rem 0 0.6rem;
    border: none;
    padding: 0;
}
.procedure-content .article-body:has(> h2) > h3 {
    font-size: clamp(1.1rem, 1.4vw, 1.25rem);
    margin: 1.5rem 0 0.55rem;
}
.procedure-content .article-body p {
    font-size: 1.02rem;
    line-height: 1.75;
    margin: 0 0 1rem;
    color: var(--ink-2);
    text-align: left;
}
.procedure-content .article-body ul,
.procedure-content .article-body ol {
    margin: 0 0 1.25rem;
    padding-left: 1.2rem;
}
.procedure-content .article-body li {
    font-size: 1.02rem;
    line-height: 1.7;
    margin-bottom: 0.4rem;
    color: var(--ink-2);
}
.procedure-content .article-body p + ul,
.procedure-content .article-body p + ol {
    margin-top: -0.25rem;
}
.procedure-content .article-body .pullquote {
    margin: 1.75rem 0;
    padding: 1.25rem 0 1.25rem 1.25rem;
    border-left: 2px solid var(--ink);
}
.procedure-content .article-body .pullquote p {
    font-family: var(--serif);
    font-size: 1.15rem;
    line-height: 1.5;
    color: var(--ink);
    margin: 0;
}

/* === Guias educativos (layout premium) === */
.page-guide {
    background: var(--paper);
}

/* — Hero editorial — */
.guide-hero-premium {
    background: linear-gradient(165deg, var(--cream) 0%, var(--paper) 55%);
    padding: clamp(5.5rem, 10vw, 7.25rem) 0 clamp(2.25rem, 4vw, 3.25rem);
    border-bottom: 1px solid rgba(10, 10, 10, 0.06);
}
.guide-hero-premium__inner {
    max-width: 72rem;
}
.guide-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.guide-breadcrumb a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}
.guide-breadcrumb a:hover {
    border-bottom-color: var(--ink);
}
.guide-breadcrumb__sep {
    opacity: 0.35;
}
.guide-hero-premium__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 38%);
    gap: clamp(2rem, 4.5vw, 3.5rem);
    align-items: center;
}
.guide-hero-premium__eyebrow {
    font-family: var(--sans);
    font-size: 0.68rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 0.85rem;
}
.guide-hero-premium__title {
    font-family: var(--serif);
    font-size: clamp(2.1rem, 4.8vw, 3.35rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--ink);
    margin: 0 0 1rem;
    max-width: 16ch;
}
.guide-hero-premium__deck {
    font-size: clamp(1rem, 1.35vw, 1.12rem);
    line-height: 1.62;
    color: var(--ink-2);
    max-width: 34rem;
    margin: 0 0 1.35rem;
}
.guide-hero-premium__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: var(--sans);
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
}
.guide-hero-premium__media {
    position: relative;
    margin: 0;
    line-height: 0;
}
.guide-hero-premium__media::before {
    content: "";
    position: absolute;
    inset: 6% -5% -6% 10%;
    border: 1px solid rgba(10, 10, 10, 0.1);
    pointer-events: none;
}
.guide-hero-premium__media img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 18%;
    filter: grayscale(18%) contrast(1.02);
}
.guide-hero-premium__media img[src*="quanto-custa-lifting-facial"] {
    object-position: 70% 14%;
}

/* — Corpo editorial + rail — */
.guide-editorial {
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3.5rem, 6vw, 5rem);
    background: var(--paper);
}
.guide-editorial__shell {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: start;
    max-width: 78rem;
    margin: 0 auto;
}
.guide-editorial__shell:has(.guide-rail__toc[hidden]) {
    grid-template-columns: minmax(0, 1fr);
}
.guide-editorial__shell:has(.guide-rail__toc[hidden]) .guide-editorial__rail {
    display: none;
}
.guide-editorial__rail {
    position: sticky;
    top: 110px;
}
.guide-rail__toc {
    padding: 1.15rem 0 0;
    border-top: 1px solid rgba(10, 10, 10, 0.08);
}
.guide-rail__toc[hidden] {
    display: none;
}
.guide-rail__toc-label {
    font-family: var(--sans);
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 0.75rem;
}
.guide-rail__toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.guide-rail__toc a {
    display: block;
    padding: 0.38rem 0;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.guide-rail__toc a:hover {
    color: var(--ink);
    border-bottom-color: rgba(10, 10, 10, 0.2);
}

/* — Tipografia do artigo — */
.guide-editorial__main {
    min-width: 0;
}
.guide-prose {
    max-width: 58rem;
    width: 100%;
}
.guide-editorial__main {
    max-width: none;
}
.guide-prose__intro {
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
    padding-bottom: clamp(1.75rem, 3vw, 2.25rem);
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}
.guide-prose__intro > h2,
.guide-prose__block > h2 {
    font-weight: 500;
}
.guide-prose h2 strong,
.guide-prose h3 strong {
    font-weight: inherit;
}
.guide-prose__intro > h2 {
    font-family: var(--serif);
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0 0 1.1rem;
    padding: 0;
    border: none;
}
.guide-prose__lead {
    font-size: 1.14rem !important;
    line-height: 1.72 !important;
    color: var(--ink) !important;
}
.guide-prose__block {
    margin-bottom: clamp(2rem, 3.5vw, 2.75rem);
    padding-top: 0;
    border-top: none;
}
.guide-prose__block > h2 {
    font-family: var(--serif);
    font-size: clamp(1.28rem, 2vw, 1.55rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0 0 1.1rem;
    padding: 0 0 0.65rem;
    border: none;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    line-height: 1.28;
    max-width: 48rem;
}
.guide-prose p {
    font-size: 1.02rem;
    line-height: 1.78;
    color: var(--ink-2);
    margin: 0 0 1rem;
}
.guide-prose h3 {
    font-family: var(--serif);
    font-size: clamp(1.08rem, 1.5vw, 1.22rem);
    font-weight: 500;
    font-style: normal;
    color: var(--ink);
    margin: 1.65rem 0 0.7rem;
    line-height: 1.32;
}
.guide-prose h3 strong {
    font-weight: 500;
}
.guide-prose ul,
.guide-prose ol {
    margin: 0.5rem 0 1.4rem;
    padding: 0;
    list-style: none;
}
.guide-prose ul li,
.guide-prose ol li {
    position: relative;
    padding-left: 1.15rem;
    margin-bottom: 0.55rem;
    line-height: 1.72;
    color: var(--ink-2);
}
.guide-prose ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 4px;
    height: 4px;
    background: var(--ink);
    border-radius: 50%;
}
.guide-prose ol {
    counter-reset: guide-ol;
}
.guide-prose ol li {
    counter-increment: guide-ol;
}
.guide-prose ol li::before {
    content: counter(guide-ol, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0;
    font-family: var(--sans);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    color: var(--muted);
}
.guide-prose p.callout-info {
    margin: 1.5rem 0;
    padding: 1.15rem 1.35rem;
    background: var(--cream);
    border-left: 2px solid var(--ink);
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--ink);
}

/* — Guia pós-operatório: identidade tipográfica unificada (Inter) — */
.page-guide--postop {
    --postop-rail-w: 14.75rem;
    --postop-gap: clamp(1.5rem, 2.5vw, 2.25rem);
    --postop-text: 1rem;
    --postop-text-sm: 0.8125rem;
    --postop-text-xs: 0.6875rem;
    --postop-leading: 1.625;
    --postop-ink: #0a0a0a;
    --postop-body: #3d3d3d;
    --postop-muted: #6b6b6b;
    --postop-line: rgba(10, 10, 10, 0.08);
    --postop-surface: #f7f7f5;
}
.page-guide--postop .guide-hero-premium--postop {
    background: linear-gradient(168deg, var(--cream) 0%, var(--paper) 55%, var(--postop-surface) 100%);
    border-bottom: 1px solid var(--postop-line);
}
.page-guide--postop .guide-hero-premium__title {
    font-family: var(--serif);
}
.page-guide--postop .guide-hero-premium__deck,
.page-guide--postop .guide-hero-premium__meta {
    font-family: var(--sans);
    font-size: var(--postop-text-sm);
    color: var(--postop-muted);
}
.page-guide--postop .read-progress--postop {
    height: 2px;
    background: var(--postop-ink);
}

.guide-postop {
    padding: clamp(2rem, 3.5vw, 3rem) 0 clamp(2.5rem, 4vw, 3.5rem);
    background: var(--postop-surface);
    font-family: var(--sans);
    font-size: var(--postop-text);
    line-height: var(--postop-leading);
    color: var(--postop-body);
}
.guide-postop__container {
    max-width: min(70rem, 94vw);
}
.guide-postop__layout {
    display: grid;
    grid-template-columns: var(--postop-rail-w) minmax(0, 1fr);
    gap: var(--postop-gap);
    align-items: start;
}
.guide-postop__rail-inner {
    position: sticky;
    top: 100px;
}
.guide-postop__nav-label {
    margin: 0 0 0.75rem;
    font-size: var(--postop-text-xs);
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--postop-muted);
}
.guide-postop__nav {
    overflow: auto;
    max-height: calc(100vh - 130px);
    scrollbar-width: thin;
}
.guide-postop__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.guide-postop__nav-list a {
    display: block;
    padding: 0.5rem 0 0.5rem 0.65rem;
    margin-left: -0.65rem;
    font-size: var(--postop-text-sm);
    line-height: 1.4;
    color: var(--postop-muted);
    text-decoration: none;
    border-left: 2px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.guide-postop__nav-list a:hover {
    color: var(--postop-ink);
}
.guide-postop__nav-list li.is-active a {
    color: var(--postop-ink);
    font-weight: 500;
    border-left-color: var(--postop-ink);
}

.guide-postop__main {
    min-width: 0;
    background: var(--paper);
    padding: clamp(1.5rem, 2.5vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid var(--postop-line);
}
.postop-guide {
    width: 100%;
}
.postop-guide__intro {
    margin: 0 0 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--postop-line);
}
.postop-guide__lede {
    margin: 0;
    font-size: var(--postop-text);
    line-height: var(--postop-leading);
    color: var(--postop-muted);
}

.postop-guide__sections {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.postop-faq {
    scroll-margin-top: 96px;
    border-bottom: none;
}
.postop-faq__trigger {
    width: 100%;
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) 1.25rem;
    gap: 0.75rem 1rem;
    align-items: center;
    padding: 1rem 1.15rem;
    border: none;
    background: var(--postop-ink);
    color: #fff;
    text-align: left;
    cursor: pointer;
    font-family: var(--sans);
    font-size: var(--postop-text);
    line-height: 1.45;
    transition: background 0.2s ease;
}
.postop-faq__trigger:hover {
    background: #141414;
}
.postop-faq__trigger:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
.postop-faq.is-open .postop-faq__trigger {
    background: var(--postop-ink);
}
.postop-faq__num {
    font-size: var(--postop-text-xs);
    font-weight: 500;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.55);
    font-variant-numeric: tabular-nums;
}
.postop-faq.is-open .postop-faq__num {
    color: rgba(255, 255, 255, 0.75);
}
.postop-faq__title {
    margin: 0;
    min-width: 0;
    font-size: var(--postop-text);
    line-height: 1.45;
    font-weight: 500;
    color: #fff;
}
.postop-faq__title-topic,
.postop-faq__title-q {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: -0.01em;
    display: inline;
    color: #fff;
}
.postop-faq__title-topic {
    font-weight: 500;
}
.postop-faq__title-q {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.88);
}
.postop-faq__title-q:empty {
    display: none;
}
.postop-faq__title-q::before {
    content: ": ";
    color: rgba(255, 255, 255, 0.65);
    font-weight: 400;
}
.postop-faq__chevron {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.5px solid rgba(255, 255, 255, 0.65);
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.65);
    transform: rotate(45deg);
    transition: transform 0.22s ease, border-color 0.2s ease;
    justify-self: center;
}
.postop-faq.is-open .postop-faq__chevron {
    transform: rotate(-135deg);
    border-color: #fff;
}

.postop-faq__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
}
.postop-faq.is-open .postop-faq__panel {
    grid-template-rows: 1fr;
}
.postop-faq__panel-inner {
    overflow: hidden;
    min-height: 0;
}
.postop-faq__panel-inner > .postop-faq__content {
    margin: 0;
    padding: 1.35rem 1.15rem 1.5rem;
    background: var(--paper);
    border: 1px solid var(--postop-line);
    border-top: none;
}
.postop-faq__content {
    font-size: var(--postop-text);
    line-height: var(--postop-leading);
    color: var(--postop-body);
}
.postop-faq__content > :last-child {
    margin-bottom: 0;
}
.postop-faq__content p {
    margin: 0 0 0.75rem;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.postop-faq__content ul {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
}
.postop-faq__content li {
    position: relative;
    margin: 0 0 0.4rem;
    padding-left: 1rem;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.postop-faq__content li:last-child {
    margin-bottom: 0;
}
.postop-faq__content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--postop-muted);
}
.postop-faq__content li strong,
.postop-faq__content p strong {
    font-weight: 600;
    color: var(--postop-ink);
}
.postop-faq__label {
    margin: 1rem 0 0.35rem;
    font-family: var(--sans);
    font-size: var(--postop-text-xs);
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--postop-muted);
}
.postop-faq__alert {
    margin: 0.75rem 0 0;
    padding: 0.85rem 1rem;
    font-size: inherit;
    line-height: inherit;
    color: var(--postop-ink);
    background: var(--postop-surface);
    border: 1px solid var(--postop-line);
    border-radius: 2px;
}

.guide-inline-cta--postop {
    margin-top: 2rem;
}
.guide-postop__nav-toggle {
    display: none;
}

@media (max-width: 991px) {
    .guide-postop__layout {
        grid-template-columns: 1fr;
    }
    .guide-postop__rail {
        order: -1;
    }
    .guide-postop__rail-inner {
        position: static;
    }
    .guide-postop__nav {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.28s ease, opacity 0.2s ease;
    }
    .guide-postop__nav.is-open {
        max-height: 12rem;
        opacity: 1;
    }
    .guide-postop__nav-toggle {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        position: fixed;
        right: 1rem;
        bottom: 5.25rem;
        z-index: 90;
        padding: 0.55rem 0.9rem;
        border: 1px solid var(--postop-line);
        background: var(--paper);
        font-family: var(--sans);
        font-size: var(--postop-text-xs);
        font-weight: 500;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--postop-ink);
        box-shadow: 0 4px 20px rgba(10, 10, 10, 0.08);
        cursor: pointer;
    }
    .postop-faq__trigger {
        padding: 0.9rem 1rem;
        grid-template-columns: 1.75rem minmax(0, 1fr) 1rem;
    }
    .postop-faq__panel-inner > .postop-faq__content {
        padding: 1.15rem 1rem 1.35rem;
    }
}
@media (max-width: 575px) {
    .postop-faq__num {
        display: none;
    }
    .postop-faq__trigger {
        grid-template-columns: minmax(0, 1fr) 1rem;
    }
}

/* — Manual de recuperação (redesign completo) — */
.page-guide--recovery {
    --rcv-ink: #0a0a0a;
    --rcv-paper: #ffffff;
    --rcv-surface: #f4f3f0;
    --rcv-muted: #6b6b6b;
    --rcv-body: #404040;
    --rcv-line: rgba(10, 10, 10, 0.1);
    --rcv-text: 1rem;
    --rcv-leading: 1.65;
}
.page-guide--recovery main .recovery-intro__lede,
.page-guide--recovery main .recovery-reader__content,
.page-guide--recovery main .recovery-reader__content p,
.page-guide--recovery main .recovery-reader__content li {
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
}
.page-guide--recovery main .recovery-reader__q-text {
    text-align: left;
    text-align-last: left;
    text-justify: auto;
    hyphens: none;
    -webkit-hyphens: none;
}
.page-guide--recovery .recovery-concierge,
.page-guide--recovery .recovery-concierge__inner,
.page-guide--recovery .recovery-concierge__text,
.page-guide--recovery .recovery-concierge__title {
    text-align: center !important;
    text-align-last: center;
    text-justify: auto;
    hyphens: none;
    -webkit-hyphens: none;
}
.page-guide--curiosidades .guide-curiosidades-prose p,
.page-guide--curiosidades .guide-curiosidades-prose li {
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.recovery-intro {
    background: var(--rcv-ink);
    color: #fff;
    padding: clamp(2rem, 4vw, 3.25rem) 0 clamp(2.25rem, 4vw, 3.5rem);
}
.recovery-intro__container {
    max-width: min(84rem, 96vw);
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 4vw, 2.5rem);
}
.recovery-intro__breadcrumb {
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.recovery-intro__breadcrumb a,
.recovery-intro__breadcrumb span {
    color: rgba(255, 255, 255, 0.55);
}
.recovery-intro__breadcrumb a:hover {
    color: #fff;
}
.recovery-intro__hero {
    display: grid;
    grid-template-columns: minmax(220px, 32%) minmax(0, 1fr);
    gap: clamp(2rem, 4.5vw, 3.75rem);
    align-items: center;
}
.recovery-intro__media {
    margin: 0;
    position: relative;
}
.recovery-intro__media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    pointer-events: none;
}
.recovery-intro__media img {
    display: block;
    width: 100%;
    max-height: min(72vh, 520px);
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 22%;
}
.recovery-intro__copy {
    min-width: 0;
}
.recovery-intro__copy .recovery-intro__eyebrow {
    margin: 0 0 0.85rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.5);
}
.recovery-intro__title {
    margin: 0 0 0.85rem;
    font-family: var(--serif);
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #fff;
    max-width: 14ch;
}
.page-guide--recovery .recovery-intro__title--stacked {
    display: flex;
    flex-direction: column;
    gap: 0.05em;
    line-height: 1.12;
    max-width: none;
}
.page-guide--recovery .recovery-intro__title-pre,
.page-guide--recovery .recovery-intro__title-main {
    display: block;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}
.recovery-intro__deck {
    margin: 0 0 1.35rem;
    font-family: var(--sans);
    font-size: clamp(1rem, 1.25vw, 1.1rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
    max-width: 36rem;
}
.recovery-intro__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1.35rem;
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    font-family: var(--sans);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.45);
}
.recovery-intro__lede {
    margin: 0;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    font-family: var(--sans);
    font-size: 1.0625rem;
    line-height: 1.68;
    color: rgba(255, 255, 255, 0.8);
    max-width: 38rem;
}

.recovery-protocol {
    background: var(--rcv-surface);
    border-bottom: 1px solid var(--rcv-line);
}
.recovery-protocol__inner {
    max-width: min(80rem, 96vw);
    margin: 0 auto;
    padding: 0.85rem clamp(1.25rem, 4vw, 2rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1.25rem;
}
.recovery-protocol__label {
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rcv-muted);
}
.recovery-protocol__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.recovery-protocol__link {
    border: none;
    border-radius: 999px;
    background: transparent;
    padding: 0.3rem 0;
    font-family: var(--sans);
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--rcv-body);
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: rgba(10, 10, 10, 0.22);
    text-underline-offset: 0.22em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.recovery-protocol__link:hover {
    color: var(--rcv-ink);
    text-decoration-color: var(--rcv-ink);
}
.recovery-protocol__link--support {
    padding: 0.4rem 0.85rem;
    background: var(--rcv-ink);
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 0.04em;
}
.recovery-protocol__link--support:hover {
    background: #1a1a1a;
    color: #fff;
}

.recovery-manual {
    background: var(--rcv-surface);
    padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(3rem, 5vw, 4rem);
}
.recovery-manual__container {
    max-width: min(84rem, 96vw);
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 2rem);
}
.recovery-phases {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 1.75rem;
    padding: 0;
    border-bottom: 1px solid var(--rcv-line);
}
.recovery-phases__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: -1px;
    padding: 0.85rem 1.1rem;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    font-family: var(--sans);
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--rcv-muted);
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.recovery-phases__btn:hover {
    color: var(--rcv-ink);
}
.recovery-phases__btn.is-active,
.recovery-phases__btn[aria-selected="true"] {
    border-bottom-color: var(--rcv-ink);
    background: transparent;
    color: var(--rcv-ink);
    font-weight: 500;
}
.recovery-phases__num {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--rcv-muted);
    opacity: 1;
}
.recovery-phases__btn.is-active .recovery-phases__num,
.recovery-phases__btn[aria-selected="true"] .recovery-phases__num {
    color: var(--rcv-ink);
}

.recovery-manual__workspace {
    display: grid;
    grid-template-columns: minmax(176px, 200px) minmax(0, 1fr);
    gap: clamp(0.85rem, 1.5vw, 1.35rem);
    align-items: start;
}
.recovery-index {
    position: sticky;
    top: 96px;
    max-height: calc(100vh - 110px);
    overflow: auto;
    background: var(--rcv-paper);
    border: 1px solid var(--rcv-line);
    padding: 1rem 0.75rem;
}
.recovery-index__label {
    margin: 0 0.75rem 0.65rem;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rcv-muted);
}
.recovery-index__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.recovery-index__item {
    display: block;
    width: 100%;
    padding: 0.55rem 0.5rem 0.55rem 0.75rem;
    border: none;
    background: transparent;
    text-align: left;
    font-family: var(--sans);
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--rcv-muted);
    cursor: pointer;
    border-left: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease;
}
.recovery-index__item:hover {
    color: var(--rcv-ink);
    padding-left: 0.95rem;
}
.recovery-index__item.is-active {
    color: var(--rcv-ink);
    font-weight: 500;
    border-left-color: var(--rcv-ink);
    padding-left: 0.95rem;
}

.recovery-reader {
    background: var(--rcv-paper);
    border: 1px solid var(--rcv-line);
    min-height: 28rem;
    display: flex;
    flex-direction: column;
}
.recovery-reader__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--rcv-line);
    background: var(--rcv-surface);
}
.recovery-reader__progress {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rcv-muted);
}
.recovery-reader__index-open {
    flex-shrink: 0;
    padding: 0.4rem 0.65rem;
    border: 1px solid var(--rcv-line);
    border-radius: 2px;
    background: var(--rcv-paper);
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--rcv-muted);
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.recovery-reader__index-open:hover {
    border-color: var(--rcv-ink);
    color: var(--rcv-ink);
}
.recovery-reader__stage {
    flex: 1;
    width: 100%;
    padding: clamp(1.35rem, 2.5vw, 2rem) clamp(1rem, 2vw, 1.75rem);
}
.recovery-reader__question {
    margin: 0 0 1.75rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--rcv-line);
    display: grid;
    grid-template-columns: 1.85rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
}
.recovery-reader__q-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 50%;
    background: var(--rcv-ink);
    color: #fff;
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.recovery-reader__q-text {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -0.02em;
    color: var(--rcv-ink);
    text-align: left;
}
.recovery-reader__q-text .postop-faq__title-topic,
.recovery-reader__q-text .postop-faq__title-q,
.recovery-reader__q-text .recovery-q-sep {
    font: inherit;
    color: inherit;
    display: inline;
    letter-spacing: inherit;
}
.recovery-reader__q-text .postop-faq__title-q::before {
    content: none;
}
.recovery-reader__content,
.recovery-reader__content.rcv-prose {
    width: 100%;
    max-width: none;
    font-family: var(--sans);
    font-size: 1.0625rem;
    line-height: 1.72;
    color: var(--rcv-body);
}
.recovery-reader__content p {
    margin: 0 0 1.15rem;
    max-width: none;
    text-wrap: pretty;
    hanging-punctuation: first last;
}
.recovery-reader__content p:last-child {
    margin-bottom: 0;
}
.recovery-reader__content p.rcv-cue {
    margin-bottom: 0.65rem;
    font-weight: 500;
    color: var(--rcv-ink);
}
.recovery-reader__content .rcv-protocol + p,
.recovery-reader__content .rcv-protocol + p.rcv-list-lead,
.recovery-reader__content .rcv-protocol + .rcv-protocol {
    margin-top: clamp(1.15rem, 2vw, 1.5rem);
}
.recovery-reader__content p.rcv-list-lead {
    margin: 0 0 0.55rem;
    padding: 0;
    font-family: var(--sans);
    font-size: inherit;
    font-weight: 500;
    line-height: 1.65;
    color: var(--rcv-ink);
    text-align: left;
}
.recovery-reader__content .rcv-protocol + p.rcv-list-lead {
    margin-top: clamp(1.15rem, 2vw, 1.5rem);
}
.recovery-reader__content p:not(.rcv-protocol) + p:not(.rcv-protocol):not(.rcv-list-lead) {
    margin-top: clamp(1rem, 1.8vw, 1.35rem);
}
.recovery-reader__content p.rcv-milestone {
    margin: 0.25rem 0 1.25rem;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--rcv-ink);
}
.recovery-reader__content p.rcv-milestone strong {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
}
.recovery-reader__content ul.rcv-list {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
}
.recovery-reader__content .rcv-cue + ul.rcv-list {
    margin-top: 0;
    margin-bottom: 1.35rem;
}
.recovery-reader__content li {
    position: relative;
    padding: 0.2rem 0 0.2rem 1.05rem;
    margin: 0;
    line-height: 1.68;
}
.recovery-reader__content li::before {
    content: "";
    position: absolute;
    left: 0.15rem;
    top: 0.78em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(10, 10, 10, 0.38);
}
.recovery-reader__content li + li {
    margin-top: 0.25rem;
}
.recovery-reader__content strong {
    font-weight: 600;
    color: var(--rcv-ink);
}
.recovery-reader__content .rcv-section-label,
.recovery-reader__content .recovery-topic__label {
    margin: 1.75rem 0 0.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--rcv-line);
    font-family: var(--sans);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rcv-muted);
}
.recovery-reader__content .rcv-section-label:first-child,
.recovery-reader__content .recovery-topic__label:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.recovery-reader__content .rcv-callout,
.recovery-reader__content .recovery-topic__callout {
    margin: 1.35rem 0 0;
    padding: 1rem 1.15rem;
    background: rgba(10, 10, 10, 0.045);
    border: 1px solid rgba(10, 10, 10, 0.08);
    border-radius: 2px;
    color: var(--rcv-ink);
    line-height: 1.65;
}
.recovery-reader__content .rcv-callout strong,
.recovery-reader__content .recovery-topic__callout strong {
    font-weight: 600;
}
.recovery-reader__content .rcv-protocol,
.recovery-reader__content .recovery-topic__protocol {
    margin: 1.75rem 0 0;
    padding: 0 0 0 1rem;
    border: none;
    border-left: 1px solid var(--rcv-ink);
    background: transparent;
    font-size: 1rem;
    line-height: 1.68;
    color: var(--rcv-ink);
}
.recovery-reader__nav {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 0.75rem;
    padding: 1rem 1.25rem 1.15rem;
    border-top: 1px solid var(--rcv-line);
    background: var(--rcv-surface);
}
.recovery-reader__btn {
    font-family: var(--sans);
    cursor: pointer;
    transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease,
        border-color 0.2s ease;
}
.recovery-reader__btn:disabled {
    opacity: 0.28;
    cursor: not-allowed;
}
.recovery-reader__btn--prev {
    flex: 0 1 auto;
    padding: 0.55rem 0;
    border: none;
    background: transparent;
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--rcv-muted);
}
.recovery-reader__btn--prev::before {
    content: "← ";
    opacity: 0.55;
}
.recovery-reader__btn--prev:hover:not(:disabled) {
    color: var(--rcv-ink);
}
.recovery-reader__btn--next {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0.75rem 1.35rem;
    border: 1px solid var(--rcv-ink);
    background: var(--rcv-ink);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff;
}
.recovery-reader__btn--next::after {
    content: " →";
    opacity: 0.75;
}
.recovery-reader__btn--next:hover:not(:disabled) {
    background: #1a1a1a;
    border-color: #1a1a1a;
}

.recovery-sheet {
    width: min(24rem, 94vw);
    max-height: 85vh;
    margin: auto;
    padding: 0;
    border: 1px solid var(--rcv-line);
    box-shadow: 0 24px 64px rgba(10, 10, 10, 0.18);
}
.recovery-sheet::backdrop {
    background: rgba(10, 10, 10, 0.45);
}
.recovery-sheet__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid var(--rcv-line);
}
.recovery-sheet__title {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.recovery-sheet__close {
    border: none;
    background: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: var(--rcv-ink);
}
.recovery-sheet__phases {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 0 0.5rem;
    border-bottom: 1px solid var(--rcv-line);
}
.recovery-sheet__phases .recovery-phases__btn {
    padding: 0.7rem 0.75rem;
    font-size: 0.72rem;
}
.recovery-sheet__lists {
    padding: 0.5rem 0 1rem;
    max-height: 50vh;
    overflow: auto;
}
.recovery-sheet__lists .recovery-index__list {
    border: none;
}
.recovery-sheet__lists .recovery-index__item {
    font-size: 0.8rem;
}

.recovery-concierge {
    background: var(--rcv-surface);
    color: var(--rcv-ink);
    padding: clamp(3rem, 6vw, 4.5rem) 0;
    text-align: center;
}
.recovery-concierge__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: min(44rem, 92vw);
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 4vw, 2rem);
    text-align: center;
}
.recovery-concierge__text {
    margin: 0 0 0.65rem;
    width: 100%;
    max-width: 100%;
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rcv-muted);
    text-align: center;
}
.recovery-concierge__title {
    margin: 0 0 1.65rem;
    width: 100%;
    max-width: 100%;
    font-family: var(--serif);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--rcv-ink);
    text-align: center;
}
.recovery-concierge__btn {
    display: inline-block;
    padding: 0.85rem 2rem;
    border: 1px solid rgba(10, 10, 10, 0.35);
    border-radius: 2px;
    background: transparent;
    font-family: var(--sans);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--rcv-ink);
    transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}
.recovery-concierge__btn:hover {
    background: var(--rcv-ink);
    color: #fff;
    border-color: var(--rcv-ink);
}

@media (max-width: 900px) {
    .recovery-intro__hero {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }
    .recovery-intro__media img {
        max-height: 320px;
        aspect-ratio: 16 / 10;
    }
    .recovery-intro__title {
        max-width: none;
    }
    .recovery-manual__workspace {
        grid-template-columns: 1fr;
    }
    .recovery-index {
        display: none;
    }
    .recovery-reader__index-open {
        display: inline-block;
    }
    .recovery-phases__btn {
        padding: 0.7rem 0.65rem;
        font-size: 0.74rem;
    }
    .recovery-reader__nav {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .recovery-reader__btn--next {
        width: 100%;
        text-align: center;
    }
    .recovery-reader__btn--prev {
        text-align: center;
    }
}
@media (min-width: 901px) {
    .recovery-reader__index-open {
        display: none;
    }
}

/* Lista “o que suspender” (guia preparação lifting) */
.guide-suspend-list {
    margin: 1.75rem 0 0;
}
.guide-suspend-item {
    margin-bottom: 1.35rem;
}
.guide-suspend-item:last-child {
    margin-bottom: 0;
}
.guide-suspend-header {
    margin: 0 0 0.65rem;
    padding: 0.95rem 1.2rem;
    background: var(--ink);
    color: var(--paper);
    font-family: var(--sans);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.01em;
}
.guide-suspend-header span {
    opacity: 0.55;
    margin: 0 0.35rem;
}
.guide-suspend-item > p {
    margin: 0;
}
.guide-suspend-lead {
    margin: 0 0 0.5rem !important;
    font-family: var(--sans);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--ink);
}
.guide-prose .guide-suspend-header {
    margin-top: 1.65rem;
}
.guide-prose .guide-suspend-header:first-child {
    margin-top: 0;
}
.guide-callout-gray {
    margin: 1.15rem 0;
    padding: 1.1rem 1.3rem;
    background: #e6e6e2;
    border: 1px solid rgba(10, 10, 10, 0.08);
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--ink-2);
}
.guide-diet-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.25rem 0 1.5rem;
    align-items: stretch;
    width: 100%;
}
.guide-diet-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.guide-diet-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--cream);
    border: 1px solid rgba(10, 10, 10, 0.08);
}
.guide-diet-card__title {
    margin: 0 0 0.7rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink);
}
.guide-diet-card ul {
    margin: 0;
    flex: 1;
    min-width: 0;
}

/* Listas dentro dos cards de dieta — coluna única (evita grid 2×2 estreito) */
.guide-diet-card .guide-prose__highlights,
.guide-diet-card .guide-diet-card__list {
    counter-reset: diet-card-item;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    grid-template-columns: unset !important;
    width: 100%;
    max-width: 100%;
    list-style: none;
    padding: 0;
}
.guide-diet-card .guide-prose__highlights li,
.guide-diet-card .guide-diet-card__list li {
    counter-increment: diet-card-item;
    position: relative;
    margin: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    padding: 0.7rem 0.85rem 0.7rem 2.55rem;
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.09);
    box-shadow: none;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--ink-2);
    overflow-wrap: break-word;
    word-break: normal;
}
.guide-diet-card .guide-prose__highlights li::before,
.guide-diet-card .guide-diet-card__list li::before {
    content: counter(diet-card-item, decimal-leading-zero);
    position: absolute;
    left: 0.85rem;
    top: 0.68rem;
    width: auto;
    height: auto;
    background: none;
    border-radius: 0;
    font-family: var(--serif);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: rgba(10, 10, 10, 0.3);
    line-height: 1;
}
.guide-traits-line {
    font-size: clamp(0.98rem, 1.1vw, 1.03rem);
    line-height: 1.5;
    color: var(--ink-2);
    max-width: none;
}
@media (min-width: 1100px) {
    .guide-traits-line {
        white-space: nowrap;
    }
}
.guide-prose .guide-heading-nowrap {
    max-width: none;
}
@media (min-width: 1024px) {
    .guide-prose .guide-prose__block > h2.guide-heading-nowrap,
    .guide-prose .guide-heading-nowrap {
        white-space: nowrap;
        font-size: clamp(1.15rem, 1.6vw, 1.42rem);
    }
}
.guide-section-rule {
    margin: clamp(2.25rem, 4vw, 3rem) 0 clamp(1.75rem, 3vw, 2.25rem);
    border: none;
    border-top: 1px solid #d4d4d0;
    height: 0;
}
@media (max-width: 1024px) {
    .guide-diet-grid:not(.guide-diet-grid--2) {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .guide-diet-grid {
        grid-template-columns: 1fr;
    }
}

/* — Guia pós-operatório: editorial premium (piloto) — */
.page-guide--editorial {
    --guide-editorial-ink: var(--ink);
    --guide-editorial-muted: var(--muted);
    --guide-editorial-cream: var(--cream);
    --guide-editorial-paper: var(--paper);
}

.page-guide--editorial .guide-hero-premium--editorial {
    position: relative;
    overflow: hidden;
    background: linear-gradient(155deg, var(--cream) 0%, var(--paper) 48%, var(--paper) 100%);
}
.page-guide--editorial .guide-hero-premium--editorial::after {
    content: "";
    position: absolute;
    right: -12%;
    top: 18%;
    width: min(42vw, 380px);
    height: min(42vw, 380px);
    border-radius: 50%;
    border: 1px solid rgba(10, 10, 10, 0.06);
    pointer-events: none;
}
.page-guide--editorial .guide-hero-premium__title {
    max-width: 14ch;
}
.page-guide--deep-plane .guide-hero-premium__title,
.page-guide--deep-neck .guide-hero-premium__title,
.page-guide--lip-lift .guide-hero-premium__title {
    max-width: none;
}
.page-guide--deep-plane .guide-hero-premium__title-keep,
.page-guide--deep-neck .guide-hero-premium__title-keep,
.page-guide--lip-lift .guide-hero-premium__title-keep {
    white-space: nowrap;
}
.page-guide--editorial .guide-hero-premium__media::after {
    content: "";
    position: absolute;
    left: -8%;
    bottom: 12%;
    width: 42%;
    height: 1px;
    background: var(--ink);
    opacity: 0.12;
}

/* Hero — guias Deep Plane / Deep Neck / Lip Lift */
.page-guide--deep-plane .guide-hero-premium__media--deep-plane img,
.page-guide--deep-neck .guide-hero-premium__media--deep-neck img,
.page-guide--lip-lift .guide-hero-premium__media--lip-lift img {
    object-position: 68% 42%;
    filter: grayscale(100%) contrast(1.06);
}
.page-guide--deep-plane .recovery-intro__media--deep-plane img {
    object-position: 68% 42%;
}
.page-guide--deep-plane .recovery-intro__title {
    max-width: none;
}
.page-guide--deep-plane .recovery-intro__title--stacked {
    display: flex;
    flex-direction: column;
    gap: 0.05em;
    line-height: 1.12;
}
.page-guide--deep-plane .recovery-intro__title-pre,
.page-guide--deep-plane .recovery-intro__title-main {
    display: block;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

/* — Guia Curiosidades Deep Plane (layout editorial do mockup) — */
.page-guide--curiosidades {
    background: var(--cream);
    /* Largura para caber: «…não é uma técnica recente.» numa linha */
    --curiosidades-prose-measure: min(58rem, 100%);
    --curiosidades-rail-width: min(17.5rem, 100%);
}
.page-guide--curiosidades main {
    background: var(--cream);
}

.guide-curiosidades-hero {
    background: var(--paper);
    padding: clamp(4rem, 8vw, 6.25rem) 0 clamp(2.5rem, 4vw, 3.5rem);
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.guide-curiosidades-hero__container {
    max-width: min(84rem, 96vw);
    margin: 0 auto;
    padding: clamp(1.5rem, 3.5vw, 2.5rem) clamp(1.25rem, 4vw, 2.5rem) 0;
}
.guide-curiosidades-hero__breadcrumb {
    margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
}
.guide-curiosidades-hero__breadcrumb a {
    color: var(--ink);
}
.guide-curiosidades-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 36%);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: center;
}
.guide-curiosidades-hero__copy {
    padding: clamp(1.25rem, 3.5vw, 2.75rem) 0;
}
.guide-curiosidades-hero__kicker {
    margin: 0 0 0.85rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--muted);
}
.guide-curiosidades-hero__title {
    margin: 0 0 1rem;
    font-family: var(--serif);
    font-size: clamp(2.35rem, 4.5vw, 3.35rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--ink);
}
.guide-curiosidades-hero__title-line {
    display: block;
}
.guide-curiosidades-hero__title-main {
    white-space: nowrap;
}
.guide-curiosidades-hero__deck {
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--sans);
    font-size: 1.02rem;
    line-height: 1.72;
    color: var(--ink-2);
    max-width: var(--curiosidades-prose-measure);
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
}
.guide-curiosidades-hero__lede {
    margin: 0 0 1.25rem;
    padding: 0;
    font-family: var(--sans);
    font-size: 1.02rem;
    line-height: 1.72;
    color: var(--ink-2);
    max-width: var(--curiosidades-prose-measure);
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
}
.guide-curiosidades-hero__lede--after-deck {
    margin-top: clamp(1.15rem, 2.5vw, 1.65rem);
}
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__takeaway {
    margin: 1.15rem 0 0;
    padding: 0.75rem 0 0.75rem 1rem;
    border-left: 2px solid rgba(10, 10, 10, 0.22);
    font-family: var(--serif);
    font-size: 1.02rem;
    font-style: italic;
    line-height: 1.58;
    color: var(--ink);
}
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__block > h2 + p {
    margin-top: 0;
}
.guide-curiosidades-hero__deck-line,
.guide-curiosidades-hero__lede-line {
    display: block;
}
.guide-curiosidades-hero__deck--single {
    display: block;
}
.page-guide--curiosidades .guide-curiosidades-prose p.guide-prose__list-lead {
    text-align: left !important;
    margin-bottom: 0.35rem;
}
.page-guide--curiosidades .guide-curiosidades-prose p.guide-prose__gap-before {
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
}
.page-guide--curiosidades .guide-curiosidades-prose h2.guide-prose__gap-before {
    margin-top: clamp(3rem, 6vw, 4.25rem) !important;
}
.page-guide--curiosidades .guide-curiosidades-prose h3.guide-prose__gap-before {
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
}
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__takeaway:has(+ h2.guide-prose__gap-before) {
    margin-bottom: clamp(1.35rem, 2.5vw, 2rem);
}
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__takeaway + h2.guide-prose__gap-before {
    margin-top: clamp(3rem, 6vw, 4.25rem) !important;
}
/* Intro/lead: mesmo corpo que os parágrafos do guia editorial */
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__lead,
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__intro > p {
    font-family: var(--sans) !important;
    font-size: 1.02rem !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: var(--ink-2) !important;
    margin: 0 0 1.1rem !important;
    padding: 0 !important;
    border-bottom: none !important;
    max-width: 100%;
}
.page-guide--curiosidades .guide-curiosidades-prose .guide-prose__intro {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    max-width: var(--curiosidades-prose-measure);
}
.page-guide--curiosidades .guide-curiosidades-prose > h2 {
    display: block;
    margin: clamp(2rem, 4vw, 2.75rem) 0 1.15rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    font-family: var(--serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -0.02em;
    color: var(--ink);
    max-width: var(--curiosidades-prose-measure);
}
.page-guide--curiosidades .guide-curiosidades-prose > h2:first-of-type,
.page-guide--curiosidades .guide-curiosidades-prose > h2:first-child {
    margin-top: 0;
}
.guide-curiosidades-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1.35rem;
    list-style: none;
    margin: 0 0 1.15rem;
    padding: 0;
    font-family: var(--sans);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.guide-curiosidades-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem 2rem;
    margin: 0.35rem 0 0;
}
.guide-curiosidades-hero__link {
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
    border-bottom: 1px solid rgba(10, 10, 10, 0.35);
}
.guide-curiosidades-hero__link:hover {
    border-bottom-color: var(--ink);
}
.guide-curiosidades-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.35rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--paper);
    background: var(--ink);
    border: 1px solid var(--ink);
    transition: background 0.2s ease, color 0.2s ease;
}
.guide-curiosidades-hero__btn:hover {
    background: transparent;
    color: var(--ink);
}
.guide-curiosidades-hero__media {
    margin: 0;
    line-height: 0;
    align-self: center;
}
.guide-curiosidades-hero__media--framed {
    position: relative;
}
.guide-curiosidades-hero__media--framed::before {
    content: "";
    position: absolute;
    inset: 6% -5% -6% 10%;
    border: 1px solid rgba(10, 10, 10, 0.1);
    pointer-events: none;
    z-index: 1;
}
.guide-curiosidades-hero__media img {
    display: block;
    width: 100%;
    max-height: min(68vh, 520px);
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: 68% 42%;
    filter: grayscale(100%) contrast(1.04);
}
.guide-curiosidades-hero__caption {
    display: block;
    margin-top: 0.85rem;
    line-height: 1.4;
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    color: var(--muted);
}

.guide-curiosidades {
    padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(3rem, 5vw, 4.5rem);
    background: var(--cream);
}
.guide-curiosidades__container {
    max-width: min(84rem, 96vw);
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 4vw, 2.5rem);
}
.guide-curiosidades__shell {
    display: grid;
    grid-template-columns: var(--curiosidades-rail-width) minmax(0, var(--curiosidades-prose-measure)) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 3.25rem);
    align-items: start;
}
/* Sem índice (TOC oculto): texto centralizado na página */
.guide-curiosidades__shell:has(#guide-toc[hidden]) {
    grid-template-columns: 1fr minmax(0, var(--curiosidades-prose-measure)) 1fr;
}
.guide-curiosidades__shell:has(#guide-toc[hidden]) .guide-curiosidades__rail {
    display: none;
}
.guide-curiosidades__shell:has(#guide-toc[hidden]) .guide-curiosidades__main {
    grid-column: 2;
}
.guide-curiosidades__main {
    grid-column: 2;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.guide-curiosidades__rail {
    grid-column: 1;
    justify-self: stretch;
    width: 100%;
    max-width: var(--curiosidades-rail-width);
    position: sticky;
    top: 96px;
}
.guide-curiosidades-index {
    max-height: calc(100vh - 110px);
    overflow: auto;
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.1);
    padding: 1.85rem 1.1rem 1rem;
    scrollbar-width: thin;
}
.guide-curiosidades-index__label,
.guide-curiosidades__rail .guide-rail__toc-label {
    margin: 0 0.75rem 0.85rem;
    padding-top: 0.15rem;
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
}
.guide-curiosidades-index__list,
.guide-curiosidades-index ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.guide-curiosidades-index__list a,
.guide-curiosidades-index ul a {
    display: block;
    width: 100%;
    padding: 0.55rem 0.65rem 0.55rem 0.85rem;
    font-family: var(--sans);
    font-size: 0.8125rem;
    line-height: 1.42;
    color: var(--muted);
    text-decoration: none;
    border-left: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease;
    hyphens: none;
    -webkit-hyphens: none;
}
.guide-curiosidades-index__list a:hover,
.guide-curiosidades-index ul a:hover {
    color: var(--ink);
    padding-left: 0.95rem;
}
.guide-curiosidades-index__list a.is-active,
.guide-curiosidades-index ul a.is-active {
    color: var(--ink);
    font-weight: 500;
    border-left-color: var(--ink);
    padding-left: 0.95rem;
}

.page-guide--curiosidades .guide-curiosidades__main > .guide-inline-cta {
    width: 100%;
    max-width: var(--curiosidades-prose-measure);
    align-self: center;
    margin-top: clamp(2.5rem, 5vw, 3.75rem);
}
.page-guide--recovery .recovery-reader > .guide-inline-cta {
    width: 100%;
    margin-top: clamp(2rem, 4vw, 3rem);
}
.guide-curiosidades-prose {
    width: 100%;
    max-width: var(--curiosidades-prose-measure);
    margin-inline: auto;
    padding: 0;
    box-sizing: border-box;
}
.guide-curiosidades-prose .guide-prose__block {
    margin: 0 0 clamp(2.75rem, 5vw, 3.75rem);
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}
.guide-curiosidades-prose .guide-prose__block > h2 {
    display: block;
    margin: 0 0 1.15rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    font-family: var(--serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.guide-curiosidades-prose .guide-prose__block > h2::before {
    display: none !important;
    content: none !important;
}
.guide-curiosidades-prose p {
    margin: 0 0 1.35rem;
    font-family: var(--sans);
    font-size: 1.02rem;
    line-height: 1.82;
    color: var(--ink-2);
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
    max-width: 100%;
}
.guide-curiosidades-prose h3 {
    margin: clamp(2.15rem, 3.5vw, 2.75rem) 0 0.9rem;
    padding: 0;
    border: none;
    font-family: var(--serif);
    font-size: clamp(1.05rem, 1.5vw, 1.18rem);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--ink);
    text-transform: none;
}
.guide-curiosidades-prose ul {
    --curiosidades-list-gap: clamp(1.35rem, 2.2vw, 2.1rem);
    margin: 0 0 1.65rem;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--curiosidades-list-gap);
}
.guide-curiosidades-prose p + ul {
    margin-top: calc(var(--curiosidades-list-gap) - 1.35rem);
}
.guide-curiosidades-prose h2 + ul,
.guide-curiosidades-prose h3 + ul {
    margin-top: calc(var(--curiosidades-list-gap) - 1.1rem);
}
.guide-curiosidades-prose ul li {
    position: relative;
    margin: 0;
    padding: 0 0 0 1rem;
    font-size: 1.02rem;
    line-height: 1.82;
    color: var(--ink-2);
}
.guide-curiosidades-prose ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--ink);
}
.guide-curiosidades-prose ul.guide-prose__list--relaxed {
    --curiosidades-list-gap: clamp(1.9rem, 3.2vw, 2.85rem);
    gap: var(--curiosidades-list-gap);
    margin-bottom: 2rem;
}
.guide-curiosidades-prose p + ul.guide-prose__list--relaxed {
    margin-top: calc(var(--curiosidades-list-gap) - 0.75rem);
}
.guide-curiosidades-prose ul.guide-prose__list--relaxed li {
    padding-left: 1.15rem;
    line-height: 1.78;
}
.guide-curiosidades-prose ul.guide-prose__list--relaxed li strong {
    display: block;
    margin-bottom: 0.55rem;
    font-family: var(--serif);
    font-size: clamp(1.02rem, 1.4vw, 1.1rem);
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.guide-curiosidades-prose .guide-prose__media-refs {
    margin: 0.65rem 0 1.25rem;
    padding: 0;
}
.guide-curiosidades-prose .guide-prose__media-refs li {
    padding: 1.15rem 0;
    margin: 0;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
    background: none;
    box-shadow: none;
    font-size: 1.02rem;
    line-height: 1.72;
}
.guide-curiosidades-prose .guide-prose__media-refs li:last-child {
    border-bottom: none;
}
.guide-curiosidades-prose .guide-prose__media-refs li::before {
    display: none;
}
.guide-curiosidades-prose .guide-prose__media-refs a {
    display: block;
    margin-top: 0.55rem;
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    color: var(--muted);
    word-break: break-all;
}
.guide-curiosidades-prose p.callout-info {
    width: fit-content;
    max-width: 100%;
    margin: clamp(1.5rem, 3vw, 2rem) 0;
    padding: 1.15rem 1.25rem 1.15rem 1.35rem;
    background: linear-gradient(90deg, var(--cream) 0%, var(--paper) 100%);
    border: 1px solid rgba(10, 10, 10, 0.08);
    border-left: 3px solid var(--ink);
    border-top: none;
    border-bottom: none;
    font-family: var(--serif);
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.55;
    text-align: left;
    color: var(--ink);
    box-sizing: border-box;
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose p.callout-info {
    width: fit-content;
    max-width: 100%;
    margin: clamp(1.5rem, 3vw, 2rem) auto clamp(1.5rem, 3vw, 2rem) 0;
    padding: 1.15rem 1.25rem 1.15rem 1.35rem;
}
.guide-curiosidades-prose .guide-prose__bibliography {
    margin-top: clamp(2.5rem, 4vw, 3.25rem);
    padding-top: clamp(1.5rem, 3vw, 2rem);
    border-top: 1px solid rgba(10, 10, 10, 0.1);
}
.guide-curiosidades-prose .guide-prose__bibliography-title {
    margin: 0 0 0.85rem;
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--muted);
}
.guide-curiosidades-prose .guide-prose__bib {
    font-size: 0.78rem;
    line-height: 1.65;
    color: var(--muted);
}

.recovery-concierge--dark {
    background: #1a1410;
    color: #fff;
    padding: clamp(3rem, 6vw, 4.5rem) 0;
}
.recovery-concierge--dark .recovery-concierge__text {
    color: rgba(255, 255, 255, 0.62);
}
.recovery-concierge--dark .recovery-concierge__title {
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.15rem);
}
.recovery-concierge--dark .recovery-concierge__btn {
    border-color: rgba(255, 255, 255, 0.45);
    color: #fff;
}
.recovery-concierge--dark .recovery-concierge__btn:hover {
    background: #fff;
    color: #1a1410;
    border-color: #fff;
}
.recovery-concierge__secondary {
    margin-top: 1rem;
    font-family: var(--sans);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 2px;
}
.recovery-concierge__secondary:hover {
    color: #fff;
    border-bottom-color: #fff;
}

.guide-related--curiosidades {
    background: var(--cream);
    padding-top: clamp(2rem, 4vw, 3rem);
}

@media (max-width: 900px) {
    .guide-curiosidades-hero__grid {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .guide-curiosidades-hero__copy {
        padding: 0;
    }
    .guide-curiosidades-hero__media {
        order: -1;
    }
    .guide-curiosidades-hero__media--framed::before {
        inset: 5% -4% -5% 8%;
    }
    .guide-curiosidades-hero__media img {
        max-height: 320px;
        aspect-ratio: 16 / 10;
    }
    .guide-curiosidades-hero__actions {
        flex-direction: column;
        align-items: flex-start;
    }
    .guide-curiosidades__shell {
        grid-template-columns: 1fr;
    }
    .guide-curiosidades__rail {
        grid-column: auto;
        justify-self: stretch;
        width: 100%;
        max-width: none;
        position: static;
    }
    .guide-curiosidades__main {
        grid-column: auto;
    }
}

/* Prioridade sobre .page-guide--editorial genérico */
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block {
    margin: 0 0 clamp(2.75rem, 5vw, 3.75rem);
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block > h2 {
    display: block;
    grid-template-columns: none;
    margin: 0 0 1.15rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block > h2::before {
    display: none;
    content: none;
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose ul.guide-prose__highlights {
    display: block;
    grid-template-columns: none;
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose ul.guide-prose__highlights li {
    padding: 0 0 0 1rem;
    margin: 0 0 0.45rem;
    background: none;
    border: none;
    box-shadow: none;
    min-height: 0;
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose ul.guide-prose__highlights li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--ink);
    font-size: 0;
}
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose p,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose li,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose h2,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose h3,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block > h2,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose ul,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose ol,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__bibliography {
    max-width: var(--curiosidades-prose-measure);
}

.recovery-intro__link-row {
    margin: 1.15rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.recovery-intro__link {
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.72);
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    transition: color 0.2s ease, border-color 0.2s ease;
}
.recovery-intro__link:hover {
    color: #fff;
    border-bottom-color: #fff;
}
.page-guide--deep-plane .guide-hero-premium__caption,
.page-guide--deep-neck .guide-hero-premium__caption,
.page-guide--lip-lift .guide-hero-premium__caption {
    display: block;
    margin-top: 0.85rem;
    font-family: var(--sans);
    font-size: 0.62rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    color: var(--muted);
}
.page-guide--deep-plane .guide-hero-premium__meta,
.page-guide--deep-neck .guide-hero-premium__meta,
.page-guide--lip-lift .guide-hero-premium__meta {
    margin-bottom: 0;
}
.page-guide--deep-plane .guide-hero-premium__actions,
.page-guide--deep-neck .guide-hero-premium__actions,
.page-guide--lip-lift .guide-hero-premium__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem clamp(1.25rem, 2.5vw, 2rem);
    margin: clamp(1.75rem, 3vw, 2.35rem) 0 0;
    padding-top: 0.35rem;
}
.page-guide--deep-plane .guide-hero-premium__link,
.page-guide--deep-neck .guide-hero-premium__link,
.page-guide--lip-lift .guide-hero-premium__link {
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
    border-bottom: 1px solid rgba(10, 10, 10, 0.25);
    padding-bottom: 0.15rem;
    transition: border-color 0.2s;
}
.page-guide--deep-plane .guide-hero-premium__link:hover,
.page-guide--deep-neck .guide-hero-premium__link:hover,
.page-guide--lip-lift .guide-hero-premium__link:hover {
    border-bottom-color: var(--ink);
}
.page-guide--deep-plane .guide-hero-premium__link--primary,
.page-guide--deep-neck .guide-hero-premium__link--primary,
.page-guide--lip-lift .guide-hero-premium__link--primary {
    background: var(--ink);
    color: var(--paper);
    border: none;
    padding: 0.55rem 1rem;
    letter-spacing: 0.14em;
    flex-shrink: 0;
}
.page-guide--deep-plane .guide-hero-premium__link--primary:hover,
.page-guide--deep-neck .guide-hero-premium__link--primary:hover,
.page-guide--lip-lift .guide-hero-premium__link--primary:hover {
    opacity: 0.9;
}

.page-guide--editorial .guide-editorial {
    padding-top: clamp(1.75rem, 3.5vw, 2.75rem);
}
.page-guide--editorial .guide-editorial__shell {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 4rem);
    max-width: 84rem;
}
.page-guide--editorial .guide-editorial__main {
    width: 100%;
    min-width: 0;
}
.page-guide--editorial .guide-editorial__rail {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    top: 100px;
    z-index: 3;
    background: var(--paper);
    isolation: isolate;
}
.page-guide--editorial .guide-rail__phases {
    padding: 0 0 1.35rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}
.page-guide--editorial .guide-rail__phases[hidden] {
    display: none;
}
.page-guide--editorial .guide-rail__phases ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.page-guide--editorial .guide-rail__phases a {
    display: block;
    padding: 0.42rem 0 0.42rem 0.85rem;
    font-family: var(--sans);
    font-size: 0.78rem;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: var(--muted);
    text-decoration: none;
    border-left: 1px solid rgba(10, 10, 10, 0.12);
    transition: color 0.2s, border-color 0.2s;
}
.page-guide--editorial .guide-rail__phases a:hover,
.page-guide--editorial .guide-rail__phases a.is-active {
    color: var(--ink);
    border-left-color: var(--ink);
}
.page-guide--editorial .guide-rail__toc {
    padding-top: 0;
    border-top: none;
    max-height: min(52vh, 420px);
    overflow-y: auto;
    scrollbar-width: thin;
}
.page-guide--editorial .guide-rail__toc a {
    font-size: 0.74rem;
    padding: 0.32rem 0;
}

.page-guide--editorial .guide-prose {
    max-width: none;
    width: 100%;
}
/* Texto usa toda a coluna principal (sem faixa estreita à direita) */
.page-guide--editorial .guide-prose__intro,
.page-guide--editorial .guide-prose__block,
.page-guide--editorial .guide-phase__body {
    width: 100%;
}
.page-guide--editorial .guide-prose__intro > h2,
.page-guide--editorial .guide-prose__intro > p,
.page-guide--editorial .guide-prose__lead,
.page-guide--editorial .guide-prose p,
.page-guide--editorial .guide-prose h3,
.page-guide--editorial .guide-prose ul,
.page-guide--editorial .guide-prose ol,
.page-guide--editorial .guide-phase__body > p {
    max-width: none;
    width: 100%;
}

.page-guide--editorial .guide-prose--accordion {
    border: 1px solid rgba(10, 10, 10, 0.08);
    background: var(--paper);
}

.page-guide--editorial .guide-phase {
    margin-bottom: 0;
    scroll-margin-top: 120px;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}
.page-guide--editorial .guide-phase:last-child {
    border-bottom: none;
}
.page-guide--editorial .guide-phase__masthead {
    margin: 0;
    padding: 0;
    background: var(--cream);
    border: none;
    position: relative;
}
.page-guide--editorial .guide-phase--open .guide-phase__masthead {
    border-bottom: 1px solid rgba(10, 10, 10, 0.06);
}
.page-guide--editorial .guide-phase__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    width: 100%;
    margin: 0;
    padding: clamp(1.15rem, 2.2vw, 1.45rem) clamp(1.25rem, 2.5vw, 1.65rem);
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    transition: background 0.2s;
}
.page-guide--editorial .guide-phase__trigger:hover {
    background: rgba(10, 10, 10, 0.03);
}
.page-guide--editorial .guide-phase__trigger:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: -2px;
}
.page-guide--editorial .guide-phase__trigger .guide-phase__masthead-grid {
    flex: 1;
    min-width: 0;
}
.page-guide--editorial .guide-phase__icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sans);
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    color: var(--paper);
    background: var(--ink);
    border: none;
    border-radius: 50%;
    transition: opacity 0.2s ease;
}
.page-guide--editorial .guide-phase__trigger:hover .guide-phase__icon {
    opacity: 0.88;
}
.page-guide--editorial .guide-phase--collapsed .guide-phase__body {
    display: none;
}
.page-guide--editorial .guide-phase--open .guide-phase__body {
    display: flex;
    padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 1.75rem);
}
.page-guide--editorial .guide-phase__masthead::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--ink);
    z-index: 1;
}
.page-guide--editorial .guide-phase__masthead-grid {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(0.85rem, 2vw, 1.35rem);
    align-items: center;
}
.page-guide--editorial .guide-phase--collapsed .guide-phase__index {
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
}
.page-guide--editorial .guide-phase__index {
    font-family: var(--serif);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.04em;
    color: rgba(10, 10, 10, 0.14);
}
.page-guide--editorial .guide-phase__titles > p {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.page-guide--editorial .guide-phase__titles > p:first-child strong {
    display: block;
    font-family: var(--serif);
    font-size: clamp(1.12rem, 2.2vw, 1.45rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.22;
    color: var(--ink);
}
.page-guide--editorial .guide-phase--open .guide-phase__titles > p:first-child strong {
    font-size: clamp(1.28rem, 2.4vw, 1.65rem);
}
.page-guide--editorial .guide-phase__deck {
    margin-top: 0.65rem !important;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(10, 10, 10, 0.08);
}
.page-guide--editorial .guide-phase__deck strong {
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
}

.page-guide--editorial .guide-phase__body {
    flex-direction: column;
    gap: 0;
}
.page-guide--editorial .guide-phase__body > .guide-phase__deck {
    margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem) !important;
    padding-top: 0;
    border-top: none;
}
.page-guide--editorial .guide-phase__body > p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--ink-2);
}
.page-guide--editorial .guide-phase__body > p:first-child {
    font-size: 1.08rem;
    line-height: 1.82;
    color: var(--ink);
}

.page-guide--editorial .guide-prose__block {
    margin-bottom: clamp(1.15rem, 2vw, 1.5rem);
    padding: clamp(1.35rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.2vw, 1.65rem);
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.07);
    box-shadow: 0 1px 0 rgba(10, 10, 10, 0.03);
}
.page-guide--editorial .guide-prose__block > h2 {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem 1.15rem;
    align-items: baseline;
    margin-bottom: 1.15rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.07);
    max-width: none;
    font-size: clamp(1.22rem, 1.9vw, 1.42rem);
}
.page-guide--editorial .guide-prose__block > h2::before {
    content: attr(data-step);
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--paper);
    background: var(--ink);
    width: 1.65rem;
    height: 1.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    line-height: 1;
}
.page-guide--editorial .guide-prose__block > h2:not([data-step])::before {
    display: none;
}
.page-guide--editorial .guide-prose__block > h2:not([data-step]) {
    grid-template-columns: minmax(0, 1fr);
}

.page-guide--editorial .guide-prose p {
    font-size: 1.02rem;
    line-height: 1.8;
}
.page-guide--editorial .guide-prose ul:not(.guide-prose__highlights):not(.guide-prose__media-refs),
.page-guide--editorial .guide-prose ol {
    margin: 0.65rem 0 1.25rem;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
}
.page-guide--editorial .guide-prose ul:not(.guide-prose__highlights):not(.guide-prose__media-refs) li,
.page-guide--editorial .guide-prose ol li {
    position: relative;
    margin: 0 0 0.55rem;
    padding: 0 0 0 1rem;
    background: none;
    border-radius: 0;
    line-height: 1.72;
    color: var(--ink-2);
}
.page-guide--editorial .guide-prose ul:not(.guide-prose__highlights):not(.guide-prose__media-refs) li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 3px;
    height: 3px;
    background: var(--ink);
    border-radius: 50%;
}

/* Listas em destaque — cards editoriais (sem bolinha + caixa bege) */
.page-guide--editorial .guide-prose__highlights {
    counter-reset: guide-highlight;
    list-style: none;
    margin: 1.1rem 0 1.6rem;
    padding: 0;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
    width: 100%;
}
@media (min-width: 720px) {
    .page-guide--editorial .guide-prose__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
}
.page-guide--editorial .guide-prose__highlights li {
    counter-increment: guide-highlight;
    position: relative;
    margin: 0;
    padding: 1.2rem 1.25rem 1.2rem 3.5rem;
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.09);
    box-shadow: 0 12px 28px rgba(10, 10, 10, 0.03);
    font-size: 0.98rem;
    line-height: 1.65;
    color: var(--ink-2);
    min-height: 100%;
}
.page-guide--editorial .guide-prose__highlights li::before {
    content: counter(guide-highlight, decimal-leading-zero);
    position: absolute;
    left: 1.2rem;
    top: 1.15rem;
    width: auto;
    height: auto;
    background: none;
    border-radius: 0;
    font-family: var(--serif);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: rgba(10, 10, 10, 0.32);
    line-height: 1;
}

.page-guide--editorial .guide-prose p.callout-info {
    margin: 1.35rem 0;
    padding: 1.2rem 1.4rem 1.2rem 1.5rem;
    background: linear-gradient(90deg, var(--cream) 0%, var(--paper) 100%);
    border: 1px solid rgba(10, 10, 10, 0.08);
    border-left: 3px solid var(--ink);
    font-size: 0.98rem;
    line-height: 1.68;
    color: var(--ink);
    max-width: none;
}
.page-guide--editorial .guide-prose p.callout-info strong {
    font-weight: 600;
    color: var(--ink);
}
.page-guide--editorial .guide-prose ul.guide-prose__list--compact {
    display: block;
    margin: 0.5rem 0 1rem;
    max-width: none;
}
.page-guide--editorial .guide-prose ul.guide-prose__list--compact li {
    padding: 0.15rem 0 0.15rem 1.1rem;
    margin-bottom: 0.25rem;
    background: none;
    border-radius: 0;
}

/* Guias editoriais — menções na mídia (uma por linha, largura total) */
.page-guide--editorial .guide-prose__media-refs {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none !important;
    gap: 0.85rem;
    margin: 1rem 0 1.5rem;
    width: 100%;
    max-width: 100%;
    list-style: none;
    padding: 0;
}
.page-guide--editorial .guide-prose__block .guide-prose__media-refs,
.page-guide--editorial .guide-phase__body .guide-prose__media-refs {
    display: flex !important;
    grid-template-columns: unset !important;
}
.page-guide--editorial .guide-prose__media-refs li {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 1.2rem 1.4rem 1.25rem;
    margin: 0;
    overflow: hidden;
    box-sizing: border-box;
    font-size: 1rem;
    line-height: 1.72;
}
.page-guide--editorial .guide-prose__media-refs li::before {
    display: none;
}
.page-guide--editorial .guide-prose__media-refs a {
    display: block;
    margin-top: 0.65rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(10, 10, 10, 0.06);
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.01em;
    color: var(--muted);
    text-decoration: none;
    word-break: break-all;
    overflow-wrap: anywhere;
    border-bottom: none;
}
.page-guide--editorial .guide-prose__media-refs a:hover {
    color: var(--ink);
    text-decoration: underline;
}

/* Guias editoriais — referências bibliográficas */
.page-guide--editorial .guide-prose__bibliography {
    margin: clamp(2rem, 4vw, 2.75rem) 0 0;
    padding-top: clamp(1.5rem, 3vw, 2rem);
    border-top: 1px solid rgba(10, 10, 10, 0.1);
    width: 100%;
}
.page-guide--editorial .guide-prose__bibliography-title {
    font-family: var(--serif);
    font-size: clamp(1.1rem, 1.8vw, 1.28rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0 0 1rem;
    font-style: normal;
}
.page-guide--editorial .guide-prose__bib {
    font-family: var(--sans);
    font-size: 0.78rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1.65;
    color: var(--muted);
    margin: 0 0 0.75rem;
    max-width: 100%;
}
.page-guide--editorial .guide-prose__bib:last-child {
    margin-bottom: 0;
}
.page-guide--editorial .guide-prose h3 {
    margin-top: 1.35rem;
    padding-top: 0.25rem;
    font-size: clamp(1rem, 1.35vw, 1.12rem);
}

/* Quebras de seção no artigo (linha cinza clara ou só espaço) */
.page-guide--editorial .guide-prose .guide-prose__section-rule {
    margin-top: clamp(2.25rem, 4.5vw, 3rem);
    padding-top: clamp(1.75rem, 3vw, 2.25rem);
    border-top: 1px solid rgba(10, 10, 10, 0.1);
}
.page-guide--editorial .guide-prose .guide-prose__section-space {
    margin-top: clamp(2.25rem, 4.5vw, 3rem);
}
.page-guide--editorial .guide-prose p.guide-prose__section-rule {
    margin-bottom: 0.85rem;
    font-size: clamp(1rem, 1.35vw, 1.12rem);
    line-height: 1.45;
}

/* Cronograma com setas (consultas, prazos) */
.page-guide--editorial .guide-prose__timeline-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
    margin: 0.75rem 0 1.35rem;
    padding: 1.1rem 1.25rem;
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.09);
    font-family: var(--sans);
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--ink-2);
}
.page-guide--editorial .guide-prose__timeline-flow strong {
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
}
.page-guide--editorial .guide-prose__timeline-arrow {
    font-size: 0.8rem;
    color: rgba(10, 10, 10, 0.35);
    letter-spacing: 0.02em;
    user-select: none;
}
.page-guide--editorial .guide-prose__phase-list {
    margin: 0.5rem 0 1rem;
}
.page-guide--editorial .guide-prose__phase-list li {
    margin-bottom: 0.65rem;
    line-height: 1.72;
}

.page-guide--editorial .read-progress {
    height: 2px;
    background: var(--ink);
    opacity: 0.85;
}

@media (max-width: 1024px) {
    .page-guide--editorial .guide-editorial__shell {
        grid-template-columns: minmax(0, 1fr);
    }
    .page-guide--editorial .guide-editorial__rail {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem 2rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    }
    .page-guide--editorial .guide-rail__phases {
        flex: 1 1 100%;
        padding-bottom: 1rem;
        border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    }
    .page-guide--editorial .guide-rail__phases ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem 0.5rem;
    }
    .page-guide--editorial .guide-rail__phases a {
        padding: 0.35rem 0.75rem;
        border: 1px solid rgba(10, 10, 10, 0.1);
        border-left: 1px solid rgba(10, 10, 10, 0.1);
        border-radius: 999px;
        font-size: 0.72rem;
    }
    .page-guide--editorial .guide-rail__phases a.is-active {
        background: var(--ink);
        color: var(--paper);
        border-color: var(--ink);
    }
    .page-guide--editorial .guide-rail__toc {
        flex: 1 1 100%;
        max-height: none;
        display: none;
    }
    .page-guide--editorial .guide-phase__masthead-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .page-guide--editorial .guide-phase__index {
        font-size: 2rem;
    }
}
@media (max-width: 640px) {
    .page-guide--editorial .guide-prose__block > h2 {
        grid-template-columns: minmax(0, 1fr);
    }
    .page-guide--editorial .guide-prose__block > h2::before {
        margin-bottom: 0.25rem;
    }
    .page-guide--editorial .guide-phase__body .guide-prose__block ul {
        grid-template-columns: 1fr;
    }
}

/* — CTA conversão — */
.guide-inline-cta {
    margin-top: clamp(2.5rem, 4vw, 3.25rem);
    background: var(--ink);
    color: var(--paper);
}
.guide-inline-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: end;
    padding: clamp(1.85rem, 3vw, 2.35rem);
}
.guide-inline-cta__eyebrow {
    font-family: var(--sans);
    font-size: 0.62rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 0.65rem;
}
.guide-inline-cta__title {
    font-family: var(--serif);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 500;
    color: var(--paper);
    margin: 0 0 0.6rem;
    line-height: 1.2;
}
.guide-inline-cta__text {
    font-size: 0.92rem;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
    max-width: 32rem;
}
.guide-inline-cta__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
    flex-shrink: 0;
}
.guide-inline-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.88rem 1.45rem;
    font-family: var(--sans);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--paper);
    width: auto !important;
    height: auto !important;
    min-height: 0;
    overflow: visible;
    position: static !important;
    transform: none !important;
    border-radius: 0;
    transition: background 0.25s, color 0.25s, border-color 0.25s;
}
.guide-inline-cta__btn:hover {
    background: transparent;
    color: var(--paper);
    border-color: rgba(255, 255, 255, 0.8);
}
.guide-inline-cta__btn i {
    transform: none !important;
    padding: 0 !important;
    transition: transform 0.2s;
}
.guide-inline-cta__btn:hover i {
    transform: translateX(3px) !important;
}
.guide-inline-cta__btn span {
    display: none !important;
}
.guide-inline-cta__secondary {
    font-family: var(--sans);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 2px;
}
.guide-inline-cta__secondary:hover {
    color: #fff;
    border-bottom-color: #fff;
}

/* — Guias relacionados — */
.guide-related {
    padding: clamp(3rem, 5vw, 4.5rem) 0 clamp(4rem, 6vw, 5.5rem);
    background: var(--cream);
    border-top: 1px solid rgba(10, 10, 10, 0.06);
}
.guide-related .container {
    max-width: 72rem;
}
.guide-related__head {
    margin-bottom: 2rem;
}
.guide-related__label {
    font-family: var(--sans);
    font-size: 0.65rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 0.5rem;
}
.guide-related__title {
    font-family: var(--serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 500;
    color: var(--ink);
    margin: 0;
}
.guide-related .guides-grid {
    gap: 1.25rem;
}

@media (max-width: 1199px) {
    .guide-editorial__shell:not(:has(.guide-rail__toc[hidden])) {
        grid-template-columns: 1fr;
    }
    .guide-editorial__rail {
        position: static;
        margin-bottom: 1.25rem;
    }
    .guide-rail__toc {
        padding-top: 0;
        border-top: none;
    }
}
@media (max-width: 991px) {
    .guide-hero-premium__grid {
        grid-template-columns: 1fr;
    }
    .guide-hero-premium__title {
        max-width: none;
    }
    .guide-hero-premium__media {
        order: -1;
        max-width: 280px;
    }
    .guide-hero-premium__media::before {
        inset: 5% -4% -5% 8%;
    }
    .guide-inline-cta__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }
}
@media (max-width: 767px) {
    .guide-hero-premium__media {
        max-width: 100%;
    }
}

/* legado — páginas antigas com sidebar TOC */
.procedure-content .guide-layout .article-body,
.guide-main .article-body {
    max-width: 42rem;
    margin: 0;
}
.page-guide--editorial .guide-editorial__main .article-body,
.page-guide--editorial .guide-prose.article-body {
    max-width: none;
    width: 100%;
}

.read-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 2px;
    width: 0%;
    background: var(--ink);
    z-index: 9999;
    transition: width 0.1s linear;
}

.guide-main .article-body h2,
.guide-main .article-body h3 {
    font-family: var(--serif);
    font-weight: 500;
    color: var(--ink);
}
.guide-main .article-body h2 strong,
.guide-main .article-body h3 strong {
    font-weight: inherit;
}
.guide-main .article-body h2 {
    font-size: clamp(1.45rem, 2.2vw, 1.85rem);
    line-height: 1.22;
    margin: 2.5rem 0 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
}
.guide-main .article-body > h2:first-child {
    margin-top: 0;
}
.guide-main .article-body h3 {
    font-size: clamp(1.12rem, 1.5vw, 1.28rem);
    margin: 1.75rem 0 0.65rem;
}
.guide-main .article-body p {
    font-size: 1.02rem;
    line-height: 1.75;
    margin: 0 0 1.1rem;
    text-align: left;
}
.guide-main .article-body ul,
.guide-main .article-body ol {
    margin: 0 0 1.25rem;
    padding-left: 1.15rem;
}
.guide-main .article-body li {
    line-height: 1.7;
    margin-bottom: 0.4rem;
}

/* Callouts a partir de emojis (📌 info / ⚠️ warn / ✨ tip) — JS adiciona classe */
.article-body p.callout-info {
    background: var(--cream);
    border-left: 3px solid var(--ink);
    padding: 1.1rem 1.4rem;
    margin: 1.8rem 0;
    font-size: 1rem;
    line-height: 1.65;
    border-radius: 0 4px 4px 0;
}
.article-body p.callout-warn {
    background: #FFF6E6;
    border-left: 3px solid #D6892C;
    padding: 1.1rem 1.4rem;
    margin: 1.8rem 0;
    font-size: 1rem;
    line-height: 1.65;
    border-radius: 0 4px 4px 0;
    color: #5C3A0B;
}
.article-body p.callout-tip {
    background: #F0F7F0;
    border-left: 3px solid #4A7C4A;
    padding: 1.1rem 1.4rem;
    margin: 1.8rem 0;
    font-size: 1rem;
    line-height: 1.65;
    border-radius: 0 4px 4px 0;
    color: #1F3F1F;
}

/* TOC sticky (desktop) */
.article-toc {
    position: sticky;
    top: 110px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    padding-left: 1.5rem;
    border-left: 1px solid rgba(10, 10, 10, 0.1);
    font-family: var(--sans);
}
.article-toc h4 {
    font-size: 0.68rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 1rem;
    font-weight: 500;
}
.article-toc ul { list-style: none; padding: 0; margin: 0; }
.article-toc a {
    display: block;
    padding: 0.42rem 0;
    font-size: 0.85rem;
    line-height: 1.4;
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color .2s;
}
.article-toc a:hover,
.article-toc a.active {
    color: var(--ink);
}
.article-toc li.h3 a {
    padding-left: 0.8rem;
    font-size: 0.78rem;
}
@media (max-width: 991px) { .article-toc { display: none; } }

.guide-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 2rem;
    padding: 0.85rem 0 1.1rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
}
.guide-meta span strong {
    color: var(--ink);
    font-weight: 500;
}

.guide-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 1120px;
    margin: 0 auto;
}
@media (min-width: 992px) {
    .guide-layout {
        grid-template-columns: minmax(0, 1fr) 220px;
        gap: clamp(2rem, 4vw, 3.5rem);
        align-items: start;
    }
}

/* CTA inline no meio da leitura (opcional, via markup) */
.article-body .article-cta {
    margin: 2.5rem 0;
    padding: 1.5rem 1.75rem;
    background: var(--ink);
    color: var(--paper);
}
.article-body .article-cta p {
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 1rem;
    text-align: left !important;
}
.article-body .article-cta a {
    color: #fff;
    border-color: #fff;
}

/* === Modal Agende sua consulta (menu Contato) === */
body.contact-modal-open {
    overflow: hidden;
}
.contact-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 4vw, 2rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s ease, visibility 0.28s ease;
}
.contact-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.contact-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.55);
    backdrop-filter: blur(4px);
}
.contact-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 26rem;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    background: var(--paper);
    padding: 1.35rem 1.35rem 1.15rem;
    border-radius: 14px;
    box-shadow: 0 20px 48px rgba(10, 10, 10, 0.2);
    text-align: left;
}
.contact-modal__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    margin: 0 auto 0.65rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--ink);
    font-size: 1rem;
    cursor: pointer;
    transition: opacity 0.2s;
}
.contact-modal__close:hover {
    opacity: 0.55;
}
.contact-modal__title {
    font-family: var(--sans);
    font-size: clamp(1.25rem, 3vw, 1.45rem);
    font-weight: 700;
    line-height: 1.2;
    color: #2c3345;
    text-align: center;
    margin: 0 0 0.65rem;
}
.contact-modal__lead {
    font-family: var(--sans);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.4;
    color: #2c3345;
    margin: 0 0 0.35rem;
}
.contact-modal__deck {
    font-family: var(--sans);
    font-size: 0.8rem;
    line-height: 1.45;
    color: #5c6478;
    margin: 0 0 1rem;
}
.contact-modal__form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.contact-modal__field label {
    display: block;
    font-family: var(--sans);
    font-size: 0.76rem;
    font-weight: 500;
    color: #4a5163;
    margin-bottom: 0.35rem;
}
.contact-modal__field:last-of-type {
    margin-bottom: 0.15rem;
}
.contact-modal__field input,
.contact-modal__field textarea {
    width: 100%;
    font-family: var(--sans);
    font-size: 0.84rem;
    color: var(--ink);
    background: #eef1f6;
    border: 1px solid rgba(120, 150, 190, 0.28);
    border-radius: 6px;
    padding: 0.58rem 0.75rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.contact-modal__field input:focus,
.contact-modal__field textarea:focus {
    outline: none;
    border-color: rgba(90, 130, 180, 0.55);
    box-shadow: 0 0 0 3px rgba(90, 130, 180, 0.1);
}
.contact-modal__field textarea {
    resize: vertical;
    min-height: 3.25rem;
    line-height: 1.45;
}
.contact-modal__field input.is-invalid,
.contact-modal__field textarea.is-invalid {
    border-color: #d14343;
    box-shadow: 0 0 0 3px rgba(209, 67, 67, 0.08);
}
.contact-modal__error {
    margin: 0.35rem 0 0;
    font-family: var(--sans);
    font-size: 0.68rem;
    line-height: 1.35;
    color: #c0392b;
}
.contact-modal__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.85rem;
    margin-top: 1.45rem;
    padding-top: 0.15rem;
}
.contact-modal__submit {
    flex-shrink: 0;
    font-family: var(--sans);
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    background: var(--wa-green, #25d366);
    border: none;
    border-radius: 999px;
    padding: 0.62rem 1rem;
    cursor: pointer;
    transition: background 0.22s, transform 0.22s;
    white-space: nowrap;
}
.contact-modal__submit:hover {
    background: var(--wa-green-hover, #1ebe57);
    transform: translateY(-1px);
}
.contact-modal__info {
    margin-left: auto;
    text-align: right;
    flex: 0 1 auto;
    min-width: 0;
    font-family: var(--sans);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #959ba6;
}
.contact-modal__info p {
    margin: 0;
    font-size: inherit;
}
.contact-modal__address {
    white-space: nowrap;
    font-size: inherit;
}
.contact-modal__info a {
    color: inherit;
    text-decoration: none;
    font-size: inherit;
    transition: color 0.2s;
}
.contact-modal__info a:hover {
    color: #6b7280;
}
@media (max-width: 540px) {
    .contact-modal__dialog {
        padding: 1.15rem 1.1rem 1rem;
    }
    .contact-modal__footer {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    .contact-modal__submit {
        width: 100%;
        text-align: center;
    }
    .contact-modal__info {
        margin-left: 0;
        text-align: left;
        font-size: 9.5px;
    }
}

/* ==========================================================================
   Procedimentos — layout teste (referência premium) — só .procedure-page--layout-ref
   ========================================================================== */
.procedure-page--layout-ref {
    --proc-ref-dark: #121212;
    --proc-ref-gold: #c4a35a;
}

/* Hero split: texto | imagem */
.procedure-page--layout-ref .proc-ref-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: clamp(420px, 72vh, 720px);
    background: #fff;
}
.procedure-page--layout-ref .proc-ref-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.5rem, 6vw, 5rem) clamp(1.75rem, 5vw, 4.5rem);
    max-width: 36rem;
}
.procedure-page--layout-ref .proc-ref-hero__eyebrow {
    margin: 0 0 1rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-hero__title {
    margin: 0 0 1.25rem;
    font-family: var(--serif);
    font-size: clamp(2.35rem, 4.8vw, 3.75rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-hero__title-line {
    white-space: nowrap;
}
.procedure-page--layout-ref .proc-ref-hero__lead-line {
    white-space: nowrap;
}
.page-lipoenxertia .proc-ref-hero__copy,
.page-brow-lift .proc-ref-hero__copy,
.page-frontoplastia .proc-ref-hero__copy {
    padding-top: clamp(4.5rem, 11vw, 8rem);
}
.page-lipoenxertia .proc-ref-hero__lead,
.page-brow-lift .proc-ref-hero__lead {
    hyphens: none;
    -webkit-hyphens: none;
}
.page-frontoplastia .proc-ref-hero__title {
    font-size: clamp(1.9rem, 3.85vw, 3.2rem);
}
.page-frontoplastia .proc-ref-hero__title-note {
    font-size: 0.78em;
    letter-spacing: 0.01em;
}
.procedure-page--layout-ref .proc-ref-hero__lead {
    margin: 0 0 1.75rem;
    font-family: var(--sans);
    font-size: clamp(0.95rem, 1.2vw, 1.05rem);
    line-height: 1.65;
    color: var(--ink);
    max-width: 28rem;
}
.procedure-page--layout-ref .proc-ref-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: var(--sans);
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(10, 10, 10, 0.55);
}
.procedure-page--layout-ref .proc-ref-hero__media {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    background: #f5f5f5;
}
.procedure-page--layout-ref .proc-ref-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    display: block;
}

/* Split imagem | painel escuro */
.procedure-page--layout-ref .proc-ref-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: clamp(360px, 55vh, 560px);
}
.procedure-page--layout-ref .proc-ref-split__media {
    overflow: hidden;
    background: #e8e8e8;
}
.procedure-page--layout-ref .proc-ref-split__media img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center 28%;
    display: block;
    transform: scale(1.18);
    transform-origin: center center;
}
.procedure-page--layout-ref .proc-ref-split__panel {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--proc-ref-dark);
    color: #fff;
    padding: clamp(2rem, 5vw, 4rem);
}
.procedure-page--layout-ref .proc-ref-split__panel-inner {
    max-width: 26rem;
}
.procedure-page--layout-ref .proc-ref-split__heading {
    margin: 0 0 1.25rem;
    font-family: var(--sans);
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
}
.procedure-page--layout-ref .proc-ref-split__panel p {
    margin: 0 0 1.5rem;
    font-family: var(--sans);
    font-size: 0.98rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.92);
}
.procedure-page--layout-ref .proc-ref-split__panel p strong {
    font-weight: 600;
    color: #fff;
}
.procedure-page--layout-ref .proc-ref-pullquote {
    margin: 0;
    padding: 0;
    border: none;
    font-family: var(--serif);
    font-size: clamp(1.05rem, 1.5vw, 1.2rem);
    font-style: italic;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
}

/* Corpo do artigo */
.procedure-page--layout-ref .procedure-content--ref {
    padding-top: clamp(3.5rem, 7vw, 6rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
    background: var(--cream);
}
.procedure-page--layout-ref .procedure-content--ref .container {
    max-width: 72rem;
    padding-left: clamp(1.25rem, 4vw, 2.5rem);
    padding-right: clamp(1.25rem, 4vw, 2.5rem);
}
.procedure-page--layout-ref .procedure-content--with-rail .container {
    max-width: 80rem;
    padding-left: clamp(0.5rem, 1.25vw, 0.85rem);
}
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
}

/* Menu lateral — guias (Deep Neck, Deep Plane, etc.) */
.procedure-page--layout-ref .proc-ref-content-shell {
    display: grid;
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: start;
}
.procedure-page--layout-ref .proc-ref-essentials {
    position: sticky;
    top: 96px;
    max-height: calc(100vh - 110px);
    overflow: auto;
}
.procedure-page--layout-ref .proc-ref-essentials__nav {
    background: var(--paper);
    border: 1px solid rgba(10, 10, 10, 0.1);
    padding: 1rem 0.5rem 1rem 0.45rem;
    scrollbar-width: thin;
}
.procedure-page--layout-ref .proc-ref-essentials__label {
    margin: 0 0 0.65rem;
    padding-left: 0.35rem;
    font-family: var(--sans);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    text-align: left;
}
.procedure-page--layout-ref .proc-ref-essentials__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.procedure-page--layout-ref .proc-ref-essentials__list li {
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
}
.procedure-page--layout-ref .proc-ref-essentials__list a {
    display: block;
    width: 100%;
    padding: 0.55rem 0.35rem 0.55rem 0.35rem;
    font-family: var(--sans);
    font-size: 0.8125rem;
    line-height: 1.42;
    color: var(--muted);
    text-decoration: none;
    text-align: left !important;
    text-align-last: left;
    text-justify: auto;
    word-spacing: normal;
    border-left: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
    hyphens: none;
    -webkit-hyphens: none;
}
.procedure-page--layout-ref .proc-ref-essentials__link--stacked .proc-ref-essentials__line {
    display: block;
}
.procedure-page--layout-ref .proc-ref-essentials__link--stacked .proc-ref-essentials__line--sub {
    margin-top: 0.12rem;
}
.procedure-page--layout-ref .proc-ref-essentials__num {
    font-weight: 500;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-essentials__list a:hover {
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-essentials__list a.is-active {
    color: var(--ink);
    font-weight: 500;
    border-left-color: var(--ink);
    padding-left: 0.35rem;
}
.procedure-page--layout-ref .procedure-content--with-rail .proc-ref-content-main {
    min-width: 0;
}
.procedure-page--layout-ref .procedure-content--with-rail .proc-ref-article {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.procedure-page--layout-ref .procedure-content--with-rail .proc-ref-article > :first-child {
    margin-top: 0 !important;
}
@media (max-width: 900px) {
    .procedure-page--layout-ref .proc-ref-content-shell {
        grid-template-columns: 1fr;
    }
    .procedure-page--layout-ref .proc-ref-essentials {
        position: static;
        max-height: none;
    }
}
.procedure-page--layout-ref .proc-ref-article--narrative {
    max-width: 62rem;
}
/* Prosa editorial: alinhamento à esquerda, sem hifenização automática */
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article,
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article p,
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article li,
.procedure-page--layout-ref .proc-ref-article--premium p,
.procedure-page--layout-ref .proc-ref-article--premium li,
.procedure-page--layout-ref .proc-ref-compare__body p,
.procedure-page--layout-ref .proc-ref-topic-grid__body p,
.procedure-page--layout-ref .proc-ref-note__body p,
.procedure-page--layout-ref .proc-ref-subtopic p {
    text-align: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    text-justify: auto;
    word-spacing: normal;
    overflow-wrap: break-word;
}
.procedure-page--layout-ref .proc-ref-article--premium {
    --proc-prose-line: 1.78;
    font-size: 1.05rem;
}
.procedure-page--layout-ref .proc-ref-article--premium p,
.procedure-page--layout-ref .proc-ref-article--premium li {
    line-height: var(--proc-prose-line);
    color: var(--ink-2);
}
.procedure-page--layout-ref .proc-ref-section-title {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0 0 1.75rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1);
    text-align: left;
    font-family: var(--serif);
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    font-weight: 500;
    letter-spacing: -0.01em;
    text-transform: none;
    line-height: 1.2;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-section-title__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(10, 10, 10, 0.12);
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    font-size: 0.95rem;
    flex-shrink: 0;
}
.procedure-page--layout-ref .proc-ref-section-title__bold {
    display: inline;
    font-weight: 500;
    letter-spacing: inherit;
}
.procedure-page--layout-ref .procedure-content .article-body h2.proc-ref-lead-title,
.procedure-page--layout-ref .procedure-content .article-body h3.proc-ref-subtitle,
.procedure-page--layout-ref .procedure-content .article-body h4.proc-ref-subsubtitle {
    border: none;
    padding-bottom: 0;
}
.procedure-page--layout-ref .procedure-content .article-body h2.proc-ref-lead-title {
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}
.procedure-page--layout-ref .procedure-content .article-body h2:not(.proc-ref-benefits__title),
.procedure-page--layout-ref .procedure-content .article-body h3,
.procedure-page--layout-ref .procedure-content .article-body h4 {
    text-align: left !important;
}

/* Destaque no artigo — retângulo preto */
.procedure-page--layout-ref .proc-ref-article-callout {
    margin: 2.25rem 0 1.25rem;
    padding: clamp(1rem, 2vw, 1.35rem) clamp(1.25rem, 3vw, 2rem);
    background: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.06);
    text-align: center;
}
.procedure-page--layout-ref .procedure-content .article-body .proc-ref-article-callout__title {
    margin: 0;
    padding: 0;
    border: none;
    font-family: var(--serif);
    font-size: clamp(0.92rem, 1.3vw, 1.08rem);
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.4;
    color: #fff;
    text-align: center;
}
.procedure-page--layout-ref .proc-ref-article-callout__line {
    display: block;
    color: #fff;
}

/* Diferenciais — bloco preto */
.procedure-page--layout-ref .proc-ref-benefits {
    margin: clamp(3rem, 6vw, 5rem) 0 2rem;
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
    background: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.procedure-page--layout-ref .proc-ref-benefits__head {
    text-align: center;
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
    padding-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}
.procedure-page--layout-ref .procedure-content .article-body h2.proc-ref-benefits__title,
.procedure-page--layout-ref .proc-ref-benefits .proc-ref-benefits__title {
    margin: 0 auto !important;
    max-width: none !important;
    width: 100%;
    padding: 0 !important;
    border: none !important;
    text-align: center !important;
    font-family: var(--serif);
    font-size: clamp(1.15rem, 1.8vw, 1.4rem);
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.2;
    color: #fff !important;
}
.procedure-page--layout-ref .proc-ref-benefits__title-bold,
.procedure-page--layout-ref .proc-ref-benefits__title-light {
    display: inline;
    font-weight: inherit;
    letter-spacing: inherit;
    color: #fff;
}
.procedure-page--layout-ref .proc-ref-benefits__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 4rem);
    max-width: 52rem;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.procedure-page--layout-ref .proc-ref-benefits__grid li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    font-family: var(--sans);
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
}
.procedure-page--layout-ref .proc-ref-benefits__grid i {
    display: none;
}
.procedure-page--layout-ref .proc-ref-benefits__grid li::before {
    content: "";
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    margin-top: 0.4rem;
    border: 1px solid var(--proc-ref-gold);
    background: transparent;
}

/* Tratamentos relacionados */
.procedure-page--layout-ref .proc-ref-related {
    background: #fff;
    padding-bottom: 0;
}
.procedure-page--layout-ref .proc-ref-related__head {
    text-align: center;
    padding: clamp(2.5rem, 5vw, 3.5rem) 1.5rem 1.75rem;
}
.procedure-page--layout-ref .proc-ref-related__label,
.procedure-page--layout-ref .proc-ref-related__title {
    display: block;
    width: 100%;
    text-align: center !important;
    hyphens: none !important;
}
.procedure-page--layout-ref .proc-ref-related__label {
    margin: 0;
    font-family: var(--sans);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-related__title {
    margin: 0.15rem 0 0;
    font-family: var(--serif);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 300;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-related__strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    border-bottom: 12px solid var(--ink);
}
.procedure-page--layout-ref .proc-ref-related__card {
    position: relative;
    display: block;
    aspect-ratio: 3 / 5;
    overflow: hidden;
    text-decoration: none;
}
.procedure-page--layout-ref .proc-ref-related__card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.35s ease, transform 0.45s ease;
}
.procedure-page--layout-ref .proc-ref-related__card:hover img {
    filter: grayscale(40%);
    transform: scale(1.03);
}
.procedure-page--layout-ref .proc-ref-related__card span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    padding: 1rem 0.5rem 1.25rem;
    font-family: var(--sans);
    font-size: clamp(0.62rem, 1vw, 0.72rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.35;
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.25) 55%, transparent 100%);
}

/* CTA claro */
.procedure-page--layout-ref .proc-ref-cta {
    border-top: 12px solid var(--ink);
    background: #fff;
    padding: clamp(3.5rem, 8vw, 6rem) 1.5rem;
}
.procedure-page--layout-ref .proc-ref-cta__inner {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.procedure-page--layout-ref .proc-ref-cta__label {
    margin: 0;
    width: 100%;
    max-width: 32rem;
    font-family: var(--sans);
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align: center !important;
    hyphens: none;
    -webkit-hyphens: none;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-cta__title {
    margin: 0.1rem 0 1.5rem;
    width: 100%;
    max-width: 32rem;
    font-family: var(--sans);
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    font-weight: 300;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    text-align: center !important;
    text-indent: 0.32em;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-cta__sub {
    margin: 0 0 0.5rem;
    width: 100%;
    max-width: 32rem;
    font-family: var(--sans);
    font-size: 0.95rem;
    text-align: center !important;
    hyphens: none;
    -webkit-hyphens: none;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-cta__headline {
    margin: 0 0 2rem;
    width: 100%;
    max-width: 32rem;
    font-family: var(--serif);
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    font-weight: 500;
    line-height: 1.3;
    text-align: center !important;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-cta__btn {
    display: inline-block;
    align-self: center;
    padding: 0.85rem 2rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.35;
    color: var(--ink);
    background: #ececec;
    border: 1px solid rgba(10, 10, 10, 0.12);
    transition: background 0.2s, color 0.2s;
}
.procedure-page--layout-ref .proc-ref-cta__btn:hover {
    background: var(--ink);
    color: #fff;
}

@media (max-width: 991px) {
    .procedure-page--layout-ref .proc-ref-hero,
    .procedure-page--layout-ref .proc-ref-split {
        grid-template-columns: 1fr;
    }
    .procedure-page--layout-ref .proc-ref-hero__copy {
        max-width: none;
        order: 1;
    }
    .procedure-page--layout-ref .proc-ref-hero__media {
        order: 0;
        min-height: 50vw;
    }
    .procedure-page--layout-ref .proc-ref-split__panel {
        order: 1;
    }
    .procedure-page--layout-ref .proc-ref-split__media {
        min-height: 50vw;
    }
    .procedure-page--layout-ref .proc-ref-benefits__grid {
        grid-template-columns: 1fr;
    }
    .procedure-page--layout-ref .proc-ref-related__strip {
        grid-template-columns: repeat(2, 1fr);
    }
    .procedure-page--layout-ref .proc-ref-related__card:nth-child(5) {
        grid-column: 1 / -1;
        max-width: 50%;
        margin: 0 auto;
        width: 100%;
    }
}

@media (max-width: 575px) {
    .procedure-page--layout-ref .proc-ref-related__strip {
        grid-template-columns: 1fr;
    }
    .procedure-page--layout-ref .proc-ref-related__card:nth-child(5) {
        max-width: none;
    }
}

/* — Procedimentos: tipografia editorial premium — */
.procedure-page--layout-ref .proc-ref-intro {
    margin-bottom: clamp(2.75rem, 5vw, 4rem);
    padding: clamp(1.75rem, 3vw, 2.5rem);
    padding-bottom: clamp(2rem, 4vw, 3rem);
    background: #fff;
    border: 1px solid rgba(10, 10, 10, 0.07);
}
.procedure-page--layout-ref .proc-ref-lead-title {
    margin: 0 0 1.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    font-family: var(--serif);
    font-size: clamp(1.65rem, 2.8vw, 2.15rem);
    font-weight: 500;
    line-height: 1.22;
    color: var(--ink);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-intro > p {
    margin: 0;
    max-width: none;
}
.procedure-page--layout-ref .proc-ref-subtitle {
    margin: 0 0 1.25rem;
    font-family: var(--serif);
    font-size: clamp(1.2rem, 1.9vw, 1.45rem);
    font-weight: 500;
    line-height: 1.35;
    color: var(--ink);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-topic > .proc-ref-subtitle + p {
    margin-bottom: 1.35rem;
    max-width: none;
}
.procedure-page--layout-ref .proc-ref-subsubtitle {
    margin: 1.75rem 0 0.85rem;
    font-family: var(--sans);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-section {
    margin-bottom: clamp(2.75rem, 5vw, 4rem);
    padding: clamp(2rem, 3.5vw, 2.75rem);
    background: #fff;
    border: 1px solid rgba(10, 10, 10, 0.07);
}
.procedure-page--layout-ref .proc-ref-topic {
    margin-bottom: clamp(2.25rem, 4vw, 3.25rem);
    padding: clamp(2rem, 3.5vw, 2.75rem);
    background: #fff;
    border: 1px solid rgba(10, 10, 10, 0.07);
}
.procedure-page--layout-ref .proc-ref-subtopic {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(10, 10, 10, 0.08);
}
.procedure-page--layout-ref .proc-ref-subtopic:first-of-type {
    margin-top: 1.25rem;
}
.procedure-page--layout-ref .proc-ref-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.procedure-page--layout-ref .proc-ref-info-card {
    padding: 1.35rem 1.25rem;
    background: var(--cream);
    border: 1px solid rgba(10, 10, 10, 0.06);
}
.procedure-page--layout-ref .proc-ref-info-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-bottom: 0.85rem;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(10, 10, 10, 0.08);
    color: var(--ink);
    font-size: 0.85rem;
}
.procedure-page--layout-ref .proc-ref-info-card__title {
    margin: 0 0 0.65rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-info-card__body p,
.procedure-page--layout-ref .proc-ref-compare__body p,
.procedure-page--layout-ref .proc-ref-topic-grid__body p {
    margin: 0;
}
.procedure-page--layout-ref .proc-ref-info-card__body p,
.procedure-page--layout-ref .proc-ref-compare__body p,
.procedure-page--layout-ref .proc-ref-topic-grid__body p,
.procedure-page--layout-ref .proc-ref-steps__item,
.procedure-page--layout-ref .proc-ref-timeline__text,
.procedure-page--layout-ref .proc-ref-note {
    text-align: left !important;
    hyphens: none;
    -webkit-hyphens: none;
}
.procedure-page--layout-ref .proc-ref-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
}
.procedure-page--layout-ref .proc-ref-steps__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.15rem 1.25rem;
    background: var(--cream);
    border: 1px solid rgba(10, 10, 10, 0.06);
}
.procedure-page--layout-ref .proc-ref-steps__num {
    font-family: var(--serif);
    font-size: 1.35rem;
    line-height: 1;
    color: rgba(10, 10, 10, 0.35);
}
.procedure-page--layout-ref .proc-ref-timeline {
    display: grid;
    gap: 0.85rem;
}
.procedure-page--layout-ref .proc-ref-timeline__phase {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    background: var(--cream);
    border: 1px solid rgba(10, 10, 10, 0.06);
}
.procedure-page--layout-ref .proc-ref-timeline__marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(10, 10, 10, 0.08);
    color: var(--ink);
    font-size: 0.82rem;
}
.procedure-page--layout-ref .proc-ref-timeline__label {
    margin: 0 0 0.35rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-timeline__text {
    margin: 0;
}
.procedure-page--layout-ref .proc-ref-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 0.25rem;
}
.procedure-page--layout-ref .proc-ref-compare__card {
    padding: 1.65rem 1.5rem;
    background: var(--cream);
    border: 1px solid rgba(10, 10, 10, 0.06);
    min-width: 0;
}
.procedure-page--layout-ref .proc-ref-compare__title {
    margin: 0 0 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    font-family: var(--serif);
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--ink);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-compare__body p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.78;
}
.procedure-page--layout-ref .proc-ref-topic-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}
.procedure-page--layout-ref .proc-ref-topic-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.procedure-page--layout-ref .proc-ref-topic-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.procedure-page--layout-ref .proc-ref-topic-grid__item {
    padding: 1.35rem 1.25rem;
    background: var(--cream);
    border: 1px solid rgba(10, 10, 10, 0.06);
    min-width: 0;
}
.procedure-page--layout-ref .proc-ref-topic-grid__title {
    margin: 0 0 0.65rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.45;
    color: var(--ink);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-topic-grid__body p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.75;
}
.procedure-page--layout-ref .proc-ref-note {
    display: block;
    margin: 1.75rem 0 0;
    padding: 1.45rem 1.6rem;
    background: rgba(10, 10, 10, 0.04);
    border: 1px solid rgba(10, 10, 10, 0.06);
    border-left: 3px solid var(--proc-ref-gold);
    text-align: left !important;
}
.procedure-page--layout-ref .proc-ref-note__label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.75rem;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink);
    white-space: normal;
}
.procedure-page--layout-ref .proc-ref-note__label i {
    font-size: 0.95rem;
    opacity: 0.75;
}
.procedure-page--layout-ref .proc-ref-note__body p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.78;
}
.procedure-page--layout-ref .proc-ref-table-wrap {
    margin: 1.5rem 0;
    overflow-x: auto;
    border: 1px solid rgba(10, 10, 10, 0.08);
    background: #fff;
}
.procedure-page--layout-ref .proc-ref-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--sans);
    font-size: 0.92rem;
}
.procedure-page--layout-ref .proc-ref-table th,
.procedure-page--layout-ref .proc-ref-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.08);
    text-align: left;
    vertical-align: top;
    line-height: 1.55;
}
.procedure-page--layout-ref .proc-ref-table th {
    background: var(--cream);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-table tbody tr:last-child td {
    border-bottom: none;
}
.procedure-page--layout-ref .proc-ref-article--premium > p {
    margin-bottom: 1.15rem;
}
.procedure-page--layout-ref .proc-ref-article--premium > p:last-child {
    margin-bottom: 0;
}
.procedure-page--layout-ref .proc-ref-section p,
.procedure-page--layout-ref .proc-ref-topic p {
    margin-bottom: 1rem;
}
.procedure-page--layout-ref .proc-ref-section p:last-child,
.procedure-page--layout-ref .proc-ref-topic p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .procedure-page--layout-ref .proc-ref-info-grid,
    .procedure-page--layout-ref .proc-ref-compare,
    .procedure-page--layout-ref .proc-ref-topic-grid--2,
    .procedure-page--layout-ref .proc-ref-topic-grid--3 {
        grid-template-columns: 1fr;
    }
    .procedure-page--layout-ref .proc-ref-section,
    .procedure-page--layout-ref .proc-ref-topic,
    .procedure-page--layout-ref .proc-ref-intro {
        padding: 1.35rem;
    }
}

/* ════════════════════════════════════════════════════════════════════════
   PREMIUM POLISH LAYER · Padronização editorial dos Guias + Especialidades
   ------------------------------------------------------------------------
   Camada de refinamento tipográfico aplicada por último. Não altera conteúdo
   nem estrutura de layout — apenas eleva e padroniza a experiência de leitura
   de TODOS os guias (com e sem a variante --editorial) ao mesmo padrão de
   luxo discreto: medida de leitura ideal, ritmo vertical consistente, títulos
   serifados com hairline, leads editoriais, callouts elegantes e links
   refinados. Preto & branco, Playfair Display + Inter, minimalista.
   ════════════════════════════════════════════════════════════════════════ */

:root {
    --pp-measure: 44rem;            /* medida de leitura confortável (~70 car.) */
    --pp-rule: rgba(10, 10, 10, 0.10);
    --pp-rule-soft: rgba(10, 10, 10, 0.07);
}

/* ── 1. Leitura: alinhamento à esquerda + medida ideal ──────────────────
   Substitui o justificado por ragged-right (textura mais uniforme, sem
   "rios"), alinhando os guias ao mesmo padrão já usado nas especialidades. */
html[lang="pt-BR"] main .guide-prose p,
html[lang="pt-BR"] main .guide-prose li {
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-spacing: normal;
    letter-spacing: 0;
}
html[lang="pt-BR"] main .guide-prose__lead {
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
}

.guide-prose {
    max-width: 52rem;
}
.guide-prose > p,
.guide-prose > h2,
.guide-prose > h3,
.guide-prose > h4,
.guide-prose > ul:not(.guide-prose__highlights):not(.guide-prose__media-refs),
.guide-prose > ol,
.guide-prose__lead {
    max-width: var(--pp-measure);
}

/* ── 2. Lead editorial (standfirst) ─────────────────────────────────────
   Transforma o antigo "negrito solto" no topo num deck sóbrio e elegante. */
.guide-prose .guide-prose__lead {
    font-family: var(--sans);
    font-size: clamp(1.12rem, 1.6vw, 1.24rem) !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
    color: var(--ink) !important;
    margin: 0 0 1.9rem !important;
    padding: 0 0 1.6rem;
    border-bottom: 1px solid var(--pp-rule);
}
.guide-prose .guide-prose__lead strong {
    font-weight: 500;
}

/* ── 3. Hierarquia de títulos consistente (todos os guias) ──────────────
   Antes os <h2> "soltos" só herdavam a serifa global, sem ritmo. Agora têm
   espaçamento generoso, peso 500 e uma hairline editorial sob o título. */
.guide-prose h2 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.4rem, 2.2vw, 1.78rem);
    line-height: 1.22;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: clamp(2.4rem, 4vw, 3.1rem) 0 1.1rem;
    padding: 0 0 0.6rem;
    border-bottom: 1px solid var(--pp-rule);
    max-width: var(--pp-measure);
}
.guide-prose > h2:first-child,
.guide-prose__lead + h2 {
    margin-top: 0;
}
.guide-prose h3 {
    font-family: var(--serif);
    font-weight: 500;
    font-style: normal;
    font-size: clamp(1.1rem, 1.5vw, 1.26rem);
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 1.85rem 0 0.65rem;
}
.guide-prose h2 strong,
.guide-prose h3 strong,
.guide-prose h4 strong {
    font-weight: inherit;
    color: inherit;
}

/* ── 4. Corpo de texto: ritmo e cor ─────────────────────────────────────*/
.guide-prose p {
    font-size: 1.04rem;
    line-height: 1.8;
    color: var(--ink-2);
    margin: 0 0 1.15rem;
}
.guide-prose p + h2,
.guide-prose ul + h2,
.guide-prose ol + h2 {
    margin-top: clamp(2.4rem, 4vw, 3.1rem);
}
.guide-prose em {
    font-style: italic;
}
.guide-prose strong {
    color: var(--ink);
    font-weight: 600;
}
.guide-prose > *:last-child {
    margin-bottom: 0;
}

/* ── 5. Links refinados ─────────────────────────────────────────────────*/
.guide-prose p a,
.guide-prose li a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid rgba(10, 10, 10, 0.28);
    text-underline-offset: 3px;
    transition: border-color 0.2s ease;
}
.guide-prose p a:hover,
.guide-prose li a:hover {
    border-bottom-color: var(--ink);
}

/* ── 6. Listas: marcador discreto + medida ──────────────────────────────
   Aplica a TODOS os guias o mesmo marcador fino dos guias editoriais. */
.guide-prose ul:not(.guide-prose__highlights):not(.guide-prose__media-refs),
.guide-prose ol {
    list-style: none;
    margin: 0.65rem 0 1.4rem;
    padding: 0;
}
.guide-prose ul:not(.guide-prose__highlights):not(.guide-prose__media-refs) li,
.guide-prose ol li {
    position: relative;
    margin: 0 0 0.55rem;
    padding-left: 1.15rem;
    line-height: 1.74;
    color: var(--ink-2);
}
.guide-prose ul:not(.guide-prose__highlights):not(.guide-prose__media-refs) li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.78em;
    width: 4px;
    height: 4px;
    background: var(--ink);
    border-radius: 50%;
}
.guide-prose ol {
    counter-reset: pp-ol;
}
.guide-prose ol li {
    counter-increment: pp-ol;
    padding-left: 1.9rem;
}
.guide-prose ol li::before {
    content: counter(pp-ol, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0.05em;
    font-family: var(--serif);
    font-size: 0.82rem;
    font-weight: 500;
    color: rgba(10, 10, 10, 0.4);
    letter-spacing: 0.02em;
}
.guide-prose li strong {
    color: var(--ink);
}

/* ── 7. Callout elegante (Regra de Ouro / Importante / Atenção…) ─────────
   Estiliza tanto os callouts já existentes quanto os recém-promovidos. */
.guide-prose p.callout-info {
    max-width: none;
    margin: 1.8rem 0;
    padding: 1.25rem 1.5rem 1.25rem 1.6rem;
    background: linear-gradient(90deg, var(--cream) 0%, var(--paper) 130%);
    border: 1px solid var(--pp-rule-soft);
    border-left: 2px solid var(--ink);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--ink);
}
.guide-prose p.callout-info strong:first-child {
    color: var(--ink);
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* ── 8. Pull-quote serifado (quando houver blockquote nos guias) ─────────*/
.guide-prose blockquote {
    margin: 2.4rem 0;
    padding: 0.4rem 0 0.4rem 1.6rem;
    border-left: 2px solid var(--ink);
    font-family: var(--serif);
    font-size: clamp(1.2rem, 1.8vw, 1.45rem);
    font-style: italic;
    line-height: 1.5;
    color: var(--ink);
    max-width: var(--pp-measure);
}
.guide-prose blockquote p {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

/* ── 9. Promove os componentes editoriais ricos a TODOS os guias ─────────
   Cards numerados, menções na mídia e bibliografia deixam de ser exclusivos
   da variante --editorial e passam a valer para qualquer .guide-prose que os
   utilize, garantindo padronização total. (As regras .page-guide--editorial
   já existentes são mais específicas e permanecem intactas onde aplicáveis.) */
.guide-prose__highlights {
    counter-reset: pp-hl;
    list-style: none;
    margin: 1.2rem 0 1.7rem;
    padding: 0;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 1fr;
    max-width: none;
}
@media (min-width: 720px) {
    .guide-prose__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
}
.guide-prose__highlights li {
    counter-increment: pp-hl;
    position: relative;
    margin: 0;
    padding: 1.2rem 1.3rem 1.2rem 3.4rem;
    background: var(--paper);
    border: 1px solid var(--pp-rule-soft);
    box-shadow: 0 12px 30px rgba(10, 10, 10, 0.035);
    font-size: 0.98rem;
    line-height: 1.66;
    color: var(--ink-2);
}
.guide-prose__highlights li::before {
    content: counter(pp-hl, decimal-leading-zero);
    position: absolute;
    left: 1.25rem;
    top: 1.2rem;
    font-family: var(--serif);
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(10, 10, 10, 0.34);
    line-height: 1;
}

.guide-prose__media-refs {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin: 1.1rem 0 1.6rem;
    padding: 0;
    max-width: none;
}
.guide-prose__media-refs li {
    padding: 1.2rem 1.4rem 1.25rem;
    background: var(--cream);
    border: 1px solid var(--pp-rule-soft);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--ink-2);
}
.guide-prose__media-refs li::before {
    display: none;
}
.guide-prose__media-refs a {
    display: block;
    margin-top: 0.6rem;
    padding-top: 0.55rem;
    border-top: 1px solid var(--pp-rule-soft);
    border-bottom: none;
    font-family: var(--sans);
    font-size: 0.66rem;
    letter-spacing: 0.02em;
    color: var(--muted);
    word-break: break-word;
    overflow-wrap: anywhere;
}
.guide-prose__media-refs a:hover {
    color: var(--ink);
}

.guide-prose__bibliography {
    max-width: none;
    margin: clamp(2.2rem, 4vw, 3rem) 0 0;
    padding-top: clamp(1.6rem, 3vw, 2.1rem);
    border-top: 1px solid var(--pp-rule);
}
.guide-prose__bibliography-title {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.05rem, 1.6vw, 1.22rem);
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 1rem;
    border: none;
    padding: 0;
}
.guide-prose__bib {
    font-family: var(--sans);
    font-size: 0.8rem;
    font-style: italic;
    line-height: 1.65;
    color: var(--muted);
    margin: 0 0 0.7rem;
    max-width: none;
}
.guide-prose__bib:last-child {
    margin-bottom: 0;
}

/* ── 10. Harmonização leve das especialidades ───────────────────────────
   As páginas de procedimento já usam o layout premium proc-ref; aqui apenas
   reforçamos consistência de links/ênfase no corpo do artigo. */
.procedure-page--layout-ref .proc-ref-article a {
    text-underline-offset: 3px;
}
.procedure-page--layout-ref .proc-ref-article em {
    font-style: italic;
}

/* ── 11. Ajuste fino mobile ─────────────────────────────────────────────*/
@media (max-width: 600px) {
    .guide-prose .guide-prose__lead {
        font-size: 1.08rem !important;
    }
    .guide-prose__highlights li {
        padding: 1.05rem 1.1rem 1.05rem 3rem;
    }
    .guide-prose__highlights li::before {
        left: 1rem;
        top: 1.05rem;
    }
}
/* ═══════════════════ fim PREMIUM POLISH LAYER ══════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════
   ESPECIALIDADES · Leitura editorial unificada e padronizada
   ------------------------------------------------------------------------
   O enhancer JS (proc-ref-enhance.js) que gerava caixas/cards/círculos foi
   desativado. Todas as 11 páginas de procedimento passam a renderizar o
   mesmo markup semântico limpo, com um único tratamento editorial: texto
   justificado, títulos serifados idênticos entre páginas, tabelas premium,
   callouts e listas consistentes — minimalista, sem retângulos brancos.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Largura/medida do artigo ───────────────────────────────────────────*/
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article {
    max-width: 50rem;
}

/* ── Texto JUSTIFICADO (com hifenização para evitar "rios") ─────────────
   Sobrescreve o alinhamento à esquerda forçado anteriormente. */
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article p:not(.proc-ref-disclaimer),
.procedure-page--layout-ref .procedure-content--ref .proc-ref-article li,
.procedure-page--layout-ref .proc-ref-article--premium p,
.procedure-page--layout-ref .proc-ref-article--premium li {
    text-align: justify !important;
    text-justify: inter-word !important;
    text-align-last: left;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    -ms-hyphens: auto !important;
    overflow-wrap: break-word;
}
.procedure-page--layout-ref .proc-ref-article p:not(.proc-ref-disclaimer) {
    font-size: 1.04rem;
    line-height: 1.8;
    color: var(--ink-2);
    margin: 0 0 1.15rem;
}

/* ── HIERARQUIA DE TÍTULOS — idêntica em todas as páginas ───────────────
   Mapeia os diferentes níveis usados pelos autores para um visual único:
   • Título-líder do artigo  -> h2 simples (páginas narrativas)
   • Cabeçalho de seção      -> h2.proc-ref-section-title (Grupo A) E h3 (Grupo B)
   • Subseção                -> h4                                              */

/* título-líder (só quando há um h2 simples de abertura) */
.procedure-page--layout-ref .proc-ref-article h2:not(.proc-ref-section-title):not(.proc-ref-benefits__title) {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.7rem, 2.4vw, 2.05rem);
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0 0 1.2rem;
    padding: 0;
    border: none;
    max-width: 38rem;
}
.procedure-page--layout-ref .proc-ref-article > h2:first-child,
.procedure-page--layout-ref .proc-ref-article > h2:not(.proc-ref-section-title):not(.proc-ref-benefits__title):first-child {
    margin-top: 0;
}

/* cabeçalho de seção — unifica h2.section-title (A) e h3 de seção (B) */
.procedure-page--layout-ref .proc-ref-article h2.proc-ref-section-title,
.procedure-page--layout-ref .procedure-content .article-body.proc-ref-article > h3,
.procedure-page--layout-ref .proc-ref-article h3.proc-ref-subtitle {
    display: block !important;
    align-items: initial;
    gap: 0 !important;
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.32rem, 2vw, 1.6rem) !important;
    line-height: 1.24;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: clamp(2.4rem, 4.5vw, 3.2rem) 0 1.05rem !important;
    padding: 0 0 0.6rem !important;
    border: none;
    border-bottom: 1px solid rgba(10, 10, 10, 0.1) !important;
    text-transform: none;
}
.procedure-page--layout-ref .proc-ref-article > h2.proc-ref-section-title:first-child,
.procedure-page--layout-ref .proc-ref-article > h3:first-child {
    margin-top: 0 !important;
}
/* quando há título-líder (h2 simples) seguido da 1ª seção, reduz o respiro */
.procedure-page--layout-ref .proc-ref-article h2:not(.proc-ref-section-title) + h3 {
    margin-top: 1.6rem !important;
}
.procedure-page--layout-ref .proc-ref-section-title__bold {
    font-weight: inherit;
    letter-spacing: inherit;
}
/* remove o círculo de ícone vazio, caso algum resíduo do JS exista */
.procedure-page--layout-ref .proc-ref-section-title__icon {
    display: none !important;
}

/* subseção — h4 */
.procedure-page--layout-ref .proc-ref-article h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.08rem, 1.5vw, 1.22rem);
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 1.85rem 0 0.6rem;
    padding: 0;
    border: none;
}
.procedure-page--layout-ref .proc-ref-article h2 strong,
.procedure-page--layout-ref .proc-ref-article h3 strong,
.procedure-page--layout-ref .proc-ref-article h4 strong {
    font-weight: inherit;
}

/* ── Listas — marcador discreto, consistente com os guias ───────────────*/
.procedure-page--layout-ref .proc-ref-article ul:not(.proc-ref-benefits__grid),
.procedure-page--layout-ref .proc-ref-article ol {
    list-style: none;
    margin: 0.7rem 0 1.5rem;
    padding: 0;
}
.procedure-page--layout-ref .proc-ref-article ul:not(.proc-ref-benefits__grid) li,
.procedure-page--layout-ref .proc-ref-article ol li {
    position: relative;
    padding-left: 1.3rem;
    margin: 0 0 0.6rem;
    line-height: 1.78;
    color: var(--ink-2);
}
.procedure-page--layout-ref .proc-ref-article ul:not(.proc-ref-benefits__grid) li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.8em;
    width: 4px;
    height: 4px;
    background: var(--ink);
    border-radius: 50%;
}
.procedure-page--layout-ref .proc-ref-article ol {
    counter-reset: proc-ol;
}
.procedure-page--layout-ref .proc-ref-article ol li {
    counter-increment: proc-ol;
    padding-left: 2rem;
}
.procedure-page--layout-ref .proc-ref-article ol li::before {
    content: counter(proc-ol, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0.1em;
    font-family: var(--serif);
    font-size: 0.85rem;
    font-weight: 500;
    color: rgba(10, 10, 10, 0.4);
}
.procedure-page--layout-ref .proc-ref-article li strong {
    color: var(--ink);
    font-weight: 600;
}

/* ── Callouts ("Nota aos pacientes:", etc.) — igual aos guias ───────────*/
.procedure-page--layout-ref .proc-ref-article p.callout-info {
    margin: 1.8rem 0;
    padding: 1.25rem 1.5rem 1.25rem 1.6rem;
    background: linear-gradient(90deg, var(--cream) 0%, var(--paper) 130%);
    border: 1px solid rgba(10, 10, 10, 0.07);
    border-left: 2px solid var(--ink);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--ink);
    text-align: left !important;
    hyphens: none !important;
}
.procedure-page--layout-ref .proc-ref-article p.callout-info strong:first-child {
    font-weight: 600;
}

/* ── Tabelas PREMIUM (sem cara de Word) ─────────────────────────────────*/
.proc-ref-article .table-scroll,
.article-body .table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.9rem 0;
    border: 1px solid rgba(10, 10, 10, 0.1);
}
.procedure-page--layout-ref .proc-ref-article table,
.procedure-page--layout-ref .proc-ref-article table.article-table {
    width: 100%;
    min-width: 540px;
    border-collapse: collapse;
    margin: 0;
    font-family: var(--sans);
    font-size: 0.94rem;
    background: var(--paper);
}
.procedure-page--layout-ref .proc-ref-article thead th {
    background: var(--ink);
    color: #fff;
    font-weight: 500;
    text-align: left;
    padding: 0.95rem 1.15rem;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.4;
    border: none;
}
.procedure-page--layout-ref .proc-ref-article tbody td {
    padding: 0.9rem 1.15rem;
    border-bottom: 1px solid rgba(10, 10, 10, 0.09);
    vertical-align: top;
    line-height: 1.6;
    color: var(--ink-2);
    text-align: left !important;
    hyphens: none !important;
}
.procedure-page--layout-ref .proc-ref-article tbody tr:nth-child(even) td {
    background: rgba(247, 247, 245, 0.55);
}
.procedure-page--layout-ref .proc-ref-article tbody tr:last-child td {
    border-bottom: none;
}
.procedure-page--layout-ref .proc-ref-article tbody td:first-child {
    font-weight: 600;
    color: var(--ink);
}

/* ── Links / ênfase ─────────────────────────────────────────────────────*/
.procedure-page--layout-ref .proc-ref-article a {
    color: var(--ink);
    border-bottom: 1px solid rgba(10, 10, 10, 0.28);
    text-decoration: none;
    text-underline-offset: 3px;
}
.procedure-page--layout-ref .proc-ref-article a:hover {
    border-bottom-color: var(--ink);
}
.procedure-page--layout-ref .proc-ref-article strong {
    color: var(--ink);
    font-weight: 600;
}
.procedure-page--layout-ref .proc-ref-article > *:last-child {
    margin-bottom: 0;
}

/* Diferenciais técnicos — texto branco no bloco escuro (prioridade sobre prosa) */
.procedure-page--layout-ref .proc-ref-benefits .proc-ref-benefits__grid li,
.procedure-page--layout-ref .proc-ref-benefits .proc-ref-benefits__grid li span {
    color: #fff;
    padding-left: 0;
    text-align: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}
.procedure-page--layout-ref .proc-ref-benefits .proc-ref-benefits__grid li::before {
    position: static;
    left: auto;
    top: auto;
    width: 9px;
    height: 9px;
    margin-top: 0.4rem;
    border: 1px solid var(--proc-ref-gold);
    background: transparent;
    border-radius: 0;
}
.procedure-page--layout-ref .proc-ref-article .proc-ref-disclaimer,
.procedure-page--layout-ref .proc-ref-disclaimer {
    margin: 1.1rem 0 0 !important;
    padding: 0;
    font-family: var(--sans);
    font-size: 0.65rem !important;
    font-weight: 400;
    line-height: 1.45 !important;
    letter-spacing: 0.01em;
    color: rgba(10, 10, 10, 0.5) !important;
    text-align: left !important;
    text-align-last: left !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    max-width: none;
}
.procedure-page--layout-ref .proc-ref-benefits + .proc-ref-disclaimer {
    margin-top: 1rem !important;
}

/* ── Neutralização DEFENSIVA de caixas (caso o JS volte a rodar/cache) ──
   Achata os contêineres que o enhancer criava, evitando retângulos brancos. */
.procedure-page--layout-ref .proc-ref-section,
.procedure-page--layout-ref .proc-ref-intro,
.procedure-page--layout-ref .proc-ref-topic,
.procedure-page--layout-ref .proc-ref-subtopic {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
.procedure-page--layout-ref .proc-ref-info-grid,
.procedure-page--layout-ref .proc-ref-topic-grid,
.procedure-page--layout-ref .proc-ref-compare {
    display: block !important;
    gap: 0 !important;
    grid-template-columns: none !important;
}
.procedure-page--layout-ref .proc-ref-info-card,
.procedure-page--layout-ref .proc-ref-topic-grid__item,
.procedure-page--layout-ref .proc-ref-compare__card {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 1.1rem !important;
}
.procedure-page--layout-ref .proc-ref-info-card__icon,
.procedure-page--layout-ref .proc-ref-timeline__marker,
.procedure-page--layout-ref .proc-ref-note__label i {
    display: none !important;
}
/* ════════════════════ fim ESPECIALIDADES editorial ════════════════════ */

/* Curiosidades — bloco de leitura centralizado na coluna */
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose {
    width: 100%;
    max-width: var(--curiosidades-prose-measure);
    margin-inline: auto;
}

/* Curiosidades — largura uniforme do corpo (igual ao 1º parágrafo) + justificado */
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose > p,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose > h2,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose > h3,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose > ul,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose > ol,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__intro,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__intro > p,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block p,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block > h2,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block ul,
.page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose .guide-prose__block ol {
    max-width: none !important;
    width: 100%;
}
html[lang="pt-BR"] .page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose p,
html[lang="pt-BR"] .page-guide--curiosidades.page-guide--editorial .guide-curiosidades-prose li {
    text-align: justify !important;
    text-justify: inter-word;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
}

/* ── Política de Privacidade ── */
.page-legal .legal-hero {
    padding: clamp(7rem, 14vw, 10rem) 0 clamp(2.5rem, 5vw, 3.5rem);
    background: var(--ink);
    color: var(--paper);
}
.legal-hero__eyebrow {
    font-family: var(--sans);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.65;
    margin-bottom: 1rem;
}
.legal-hero__title {
    font-family: var(--serif);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 500;
    line-height: 1.12;
    margin: 0 0 1rem;
    max-width: 16ch;
}
.legal-hero__meta {
    font-family: var(--sans);
    font-size: 0.95rem;
    line-height: 1.6;
    opacity: 0.72;
    max-width: 42rem;
    margin: 0;
}
.legal-content {
    padding: clamp(3rem, 6vw, 4.5rem) 0 clamp(5rem, 10vw, 7rem);
    background: var(--paper);
}
.legal-content__body {
    max-width: 44rem;
    margin: 0 auto;
}
.legal-content__body h2 {
    font-family: var(--serif);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    font-weight: 500;
    color: var(--ink);
    margin: 2.5rem 0 0.85rem;
    line-height: 1.25;
}
.legal-content__body > h2:first-of-type {
    margin-top: 0;
}
.legal-content__body h3 {
    font-family: var(--serif);
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    font-weight: 500;
    color: var(--ink);
    margin: 1.5rem 0 0.65rem;
}
.legal-content__body p,
.legal-content__body li {
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--ink-2);
}
.legal-content__body ul {
    margin: 0 0 1.25rem;
    padding-left: 1.35rem;
    list-style-type: disc;
    list-style-position: outside;
}
.legal-content__body ul > li {
    list-style: disc;
    display: list-item;
    margin-bottom: 0.45rem;
}

/* ── Banner de cookies (LGPD) ── */
.cookie-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    padding: 1rem clamp(1rem, 3vw, 1.5rem);
    background: rgba(10, 10, 10, 0.96);
    color: rgba(255, 255, 255, 0.88);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.25);
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.32s ease, opacity 0.32s ease;
}
.cookie-consent--hide {
    transform: translateY(110%);
    opacity: 0;
}
.cookie-consent__inner {
    max-width: 72rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
}
.cookie-consent__text {
    flex: 1 1 18rem;
    margin: 0;
    font-family: var(--sans);
    font-size: 0.92rem;
    line-height: 1.55;
}
.cookie-consent__text a {
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
    text-decoration: none;
}
.cookie-consent__text a:hover {
    border-bottom-color: #fff;
}
.cookie-consent__actions {
    flex: 0 0 auto;
}
.cookie-consent__btn {
    font-family: var(--sans);
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: transparent;
    color: #fff;
    padding: 0.75rem 1.35rem;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.cookie-consent__btn--accept {
    background: #fff;
    color: var(--ink);
    border-color: #fff;
}
.cookie-consent__btn--accept:hover {
    background: rgba(255, 255, 255, 0.9);
}
@media (max-width: 575px) {
    .cookie-consent__inner {
        flex-direction: column;
        align-items: stretch;
    }
    .cookie-consent__btn {
        width: 100%;
    }
}
body:has(.cookie-consent:not(.cookie-consent--hide)) .wa-float {
    bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}
