            /* ===== RESET & VARIABLES ===== */
            *, *::before, *::after {
                margin: 0;
                padding: 0;
                box-sizing: border-box;
            }

            :root {
                --bg-dark:    #0C1B33;
                --bg-mid:     #122541;
                --bg-card:    #1B3358;
                --accent:     #1E8FE0;
                --accent-hover: #1763C6;
                --gold:       #c9a14a; /* OURO (revertido do verde). Verde da marca = #1AB87A; ciano = #2AB7E6. Vale só p/ texto/acento; botões seguem verdes. */
                --text-white: #ebeef0;
                --text-muted: #9ba5aa;
                /* Sombra padrão dos painéis (referência: o mapa, -20% no tamanho) */
                --shadow-panel:
                    0 14px 22px -8px rgba(0, 0, 0, 0.38),
                    0 30px 48px -14px rgba(0, 0, 0, 0.28),
                    0 1.6px 4.8px rgba(0, 0, 0, 0.10);
            }

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

            body {
                font-family: 'Montserrat', sans-serif;
                background-color: var(--bg-dark);
                color: var(--text-white);
                line-height: 1.6;
            }

            .accent { color: var(--accent); }

            section { scroll-margin-top: 60px; }

            /* Acessibilidade: link de pular para o conteúdo */
            .skip-link {
                position: absolute;
                left: -999px;
                top: 0;
                background: var(--accent);
                color: #0C1B33;
                padding: 0.6rem 1rem;
                z-index: 1100;
                border-radius: 0 0 8px 0;
                font-weight: 600;
                text-decoration: none;
            }
            .skip-link:focus { left: 0; }

            /* Header, .site-nav, .nav-toggle e botões .btn-primary vêm de
            assets/site-header.css (compartilhado com todas as páginas). */

            /* ===== DIFERENCIAIS ===== */
            .diferenciais {
                padding: clamp(2rem, 3.8vw, 3.4rem) 8%;
                background:
                    radial-gradient(ellipse at 50% 0%, rgba(30, 143, 224, 0.22) 0%, transparent 65%),
                    var(--bg-dark);
            }

            .dif-grid {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 1.5rem;
            }

            .dif-card {
                text-align: center;
                padding: 1.2rem 1.4rem;
            }

            .dif-icon {
                width: 64px;
                height: 64px;
                margin: 0 auto 0.9rem;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                background-color: rgba(30, 143, 224, 0.2);
                border: 1px solid rgba(30, 143, 224, 0.6);
            }

            .dif-icon .icon {
                width: 38px;
                height: 38px;
                color: var(--gold);
            }

            .dif-card h3 {
                font-size: 1rem;
                font-weight: 600;
                margin-bottom: 0.5rem;
                color: var(--text-white);
            }

            .dif-card p {
                font-size: 1rem;
                font-weight: 300;
                color: var(--text-muted);
                line-height: 1.55;
            }

            /* ===== SOBRE ===== */
            .sobre {
                display: grid;
                grid-template-columns: 1fr 1fr;
                padding-top: 70px;
            }

            .sobre-text {
                padding: clamp(1.5rem, 2.5vw, 2.2rem) 8% clamp(2rem, 3.5vw, 3rem);
                background-color: #ffffff;
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

            .section-eyebrow {
                display: inline-block;
                font-size: 0.78rem;
                font-weight: 600;
                letter-spacing: 1.5px;
                text-transform: uppercase;
                color: var(--gold);
                margin-bottom: 0.65rem;
            }

            .sobre-text .section-eyebrow {
                font-size: 1.05rem;
                letter-spacing: 2px;
                margin-bottom: 1rem;
            }

            .sobre-text h1 {
                font-family: 'Spectral', serif;
                font-weight: 400;
                font-size: clamp(2rem, 3.5vw, 3rem);
                line-height: 1.2;
                margin-bottom: 1.6rem;
                color: #0E2E6E;
            }

            .sobre-text p {
                color: #5a6670;
                font-size: 1.18rem;
                font-weight: 300;
                line-height: 1.7;
                margin-bottom: 1.2rem;
            }

            .sobre-text .tagline {
                color: var(--accent);
                font-weight: 700;
                font-size: 1rem;
                margin-top: 1rem;
                margin-bottom: 0;
            }

            .sobre-promises {
                list-style: none;
                padding: 0;
                margin: 1.2rem 0 0;
                display: flex;
                flex-direction: column;
                gap: 0.7rem;
            }
            .sobre-promises li {
                position: relative;
                padding-left: 1.4rem;
                color: #4d6670;
                font-size: 1.02rem;
                font-weight: 400;
                line-height: 1.5;
            }
            .sobre-promises li::before {
                content: '+';
                position: absolute;
                left: 0;
                top: -0.05rem;
                color: var(--accent);
                font-weight: 500;
                font-size: 1.2rem;
                line-height: 1.5;
            }

            .sobre-text h1 em {
                font-style: normal;
                color: var(--accent);
            }

            .sobre-actions {
                margin-top: 2.2rem;
                display: flex;
                flex-wrap: wrap;
                gap: 1.5rem;
            }

            .sobre-microcopy {
                margin-top: 0.85rem;
                font-size: 0.82rem;
                font-weight: 400;
                color: #7a8389;
                letter-spacing: 0.2px;
            }

            .btn-primary.btn-emergencia .btn-text-subtitle { color: #c0282d; }
            .btn-primary.btn-emergencia:hover .btn-text-subtitle { color: #a02025; }

            .btn-primary.btn-agendar-online .btn-text-subtitle { color: #0E2E6E; }
            .btn-primary.btn-agendar-online:hover .btn-text-subtitle { color: #093741; }

            .sobre-image {
                background-color: #0C1B33;
                display: flex;
                align-items: center;
                justify-content: center;
                min-height: 380px;
                position: relative;
                overflow: hidden;
            }

            .sobre-image img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: 50% 0%;
                transform: scale(1.15);
                transform-origin: center top;
            }

            /* ===== PROCEDIMENTOS ===== */
            .procedimentos {
                padding: clamp(2rem, 3.8vw, 3.4rem) 8%;
                background-color: #f3f5f6;
                color: #0C1B33;
            }

            .section-header {
                text-align: center;
                margin-bottom: clamp(1.4rem, 2.6vw, 2rem);
            }

            .section-header .section-eyebrow { color: var(--gold); }

            .section-header h2 {
                font-family: 'Spectral', serif;
                font-weight: 400;
                font-size: clamp(2rem, 3.5vw, 3rem);
                line-height: 1.2;
                margin-bottom: 0.75rem;
            }

            .section-header p {
                color: var(--text-muted);
                font-size: 1.12rem;
                font-weight: 300;
                max-width: max-content;
                margin: 0 auto;
            }

            .procedimentos .section-header h2 { color: var(--bg-card); }
            .procedimentos .section-header p { color: #5a6670; }

            .procedimentos-grid {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1.5rem;
            }

            .card {
                background-color: #ffffff;
                border-radius: 14px;
                padding: 2.2rem 1.4rem 1.8rem;
                border: 1px solid rgba(30, 143, 224, 0.22);
                transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: center;
                text-decoration: none;
                color: inherit;
                cursor: pointer;
            }

            .card:hover {
                transform: translateY(-6px);
                box-shadow:
                    0 10px 18px -8px rgba(30, 40, 45, 0.25),
                    0 20px 36px -14px rgba(30, 40, 45, 0.18),
                    0 2px 4px rgba(30, 40, 45, 0.10);
                border-color: rgba(30, 143, 224, 0.45);
            }

            .card-icon {
                width: 52px;
                height: 52px;
                margin-bottom: 1rem;
                color: var(--accent);
                display: flex;
                align-items: center;
                justify-content: center;
                transition: transform 0.25s ease;
            }
            .card-icon svg {
                width: 100%;
                height: 100%;
                stroke: currentColor;
                stroke-width: 1.6;
                fill: none;
                stroke-linecap: round;
                stroke-linejoin: round;
            }
            .card:hover .card-icon {
                transform: scale(1.08);
            }

            .card h3 {
                font-family: 'Spectral', serif;
                font-size: 1.18rem;
                font-weight: 500;
                margin-bottom: 0.45rem;
                color: var(--bg-card);
                letter-spacing: 0.1px;
                line-height: 1.25;
            }

            .card p {
                font-size: 0.92rem;
                color: #5a6670;
                font-weight: 400;
                line-height: 1.45;
            }

            .section-cta {
                display: flex;
                justify-content: center;
                gap: 1.2rem;
                flex-wrap: wrap;
                margin-top: 2.2rem;
            }

            /* ===== DEPOIMENTOS ===== */
            .depoimentos {
                padding: clamp(2rem, 3.8vw, 3.4rem) 8%;
                background-color: #ffffff;
                color: #0C1B33;
            }

            .depoimentos .section-eyebrow { font-size: 0.94rem; }
            .depoimentos .section-header h2 { color: var(--bg-card); }
            .depoimentos .section-header p { color: #5a6670; }

            .depoimentos-grid {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1.5rem;
            }

            /* Cards no estilo "review do Google": fundo branco, sombra
               material, logo G multicolor no canto, estrelas amarelo Google. */
            .depo-card {
                background-color: #ffffff;
                border: 1px solid #dadce0;
                border-radius: 12px;
                padding: 1.5rem 1.4rem;
                display: flex;
                flex-direction: column;
                gap: 0.85rem;
                position: relative;
                box-shadow:
                    0 1px 2px rgba(60, 64, 67, 0.30),
                    0 2px 6px 2px rgba(60, 64, 67, 0.15);
            }
            /* Logo "G" do Google no canto superior direito */
            .depo-card::after {
                content: '';
                position: absolute;
                top: 1.4rem;
                right: 1.4rem;
                width: 20px;
                height: 20px;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E");
                background-size: contain;
                background-repeat: no-repeat;
            }

            .depo-stars {
                display: flex;
                gap: 2px;
                color: #FBBC04;
            }
            .depo-stars .icon { width: 1.05rem; height: 1.05rem; }

            .depo-card blockquote {
                font-size: 0.95rem;
                font-weight: 400;
                line-height: 1.55;
                color: #3c4043;
            }

            .depo-author {
                display: flex;
                align-items: center;
                gap: 0.7rem;
                margin-top: auto;
            }

            .depo-avatar {
                width: 40px;
                height: 40px;
                border-radius: 50%;
                background-color: #1a73e8;
                color: #ffffff;
                display: none;
                align-items: center;
                justify-content: center;
                font-weight: 500;
                font-size: 1.05rem;
                flex-shrink: 0;
            }
            /* Cores variadas por card (paleta Google Material), como nos
               avatares reais do Google Reviews — diferencia visualmente. */
            .depoimentos-grid .depo-card:nth-child(1) .depo-avatar { background-color: #1a73e8; }
            .depoimentos-grid .depo-card:nth-child(2) .depo-avatar { background-color: #d93025; }
            .depoimentos-grid .depo-card:nth-child(3) .depo-avatar { background-color: #1e8e3e; }
            .depoimentos-grid .depo-card:nth-child(4) .depo-avatar { background-color: #e37400; }
            .depoimentos-grid .depo-card:nth-child(5) .depo-avatar { background-color: #9334e6; }
            .depoimentos-grid .depo-card:nth-child(6) .depo-avatar { background-color: #12b5cb; }

            .depo-name {
                font-size: 0.9rem;
                font-weight: 500;
                color: #202124;
            }
            .depo-role {
                font-size: 0.76rem;
                font-weight: 400;
                color: #5f6368;
            }

            .g-logo {
                font-family: 'Arial', 'Helvetica Neue', sans-serif;
                font-weight: 500;
                font-size: 1.12em;
                letter-spacing: -0.2px;
            }
            .g-logo .g1, .g-logo .g4 { color: #4285F4; }
            .g-logo .g2, .g-logo .g6 { color: #EA4335; }
            .g-logo .g3 { color: #FBBC05; }
            .g-logo .g5 { color: #34A853; }

            /* ===== FAQ ===== */
            .faq {
                padding: clamp(2rem, 3.8vw, 3.4rem) 8%;
                background-color: #f3f5f6;
                color: #0C1B33;
            }

            .faq-content {
                display: grid;
                grid-template-columns: minmax(260px, 1fr) 1.7fr;
                gap: clamp(2rem, 5vw, 4.5rem);
                align-items: start;
            }

            .faq .section-header {
                text-align: left;
                margin-bottom: 0;
                position: sticky;
                top: 6rem;
            }
            .faq .section-header h2 { color: #0C1B33; white-space: nowrap; }

            .faq-illustration {
                display: block;
                width: 100%;
                max-width: 280px;
                height: auto;
                margin: 1.8rem auto 0;
            }

            .faq-intro {
                font-family: 'Spectral', serif;
                font-weight: 400;
                font-size: clamp(2rem, 3.5vw, 3rem);
                line-height: 1.2;
                color: #0C1B33;
                margin: 0 0 1.6rem;
                white-space: nowrap;
            }
            .faq-intro .accent-dark { color: var(--accent); }

            .faq-list {
                display: flex;
                flex-direction: column;
            }

            .faq-item {
                border-bottom: 1px solid rgba(20, 25, 30, 0.10);
            }
            .faq-item:first-child {
                border-top: 1px solid rgba(20, 25, 30, 0.10);
            }

            .faq-item summary {
                cursor: pointer;
                list-style: none;
                padding: 1rem 0.25rem;
                font-size: 1rem;
                font-weight: 500;
                color: #0C1B33;
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: 1rem;
                transition: color 0.2s ease;
            }
            .faq-item summary:hover { color: var(--accent); }
            .faq-item summary::-webkit-details-marker { display: none; }

            .faq-item summary::after {
                content: '+';
                font-size: 1.5rem;
                font-weight: 300;
                color: var(--accent);
                transition: transform 0.25s ease;
                line-height: 1;
                flex-shrink: 0;
            }
            .faq-item[open] summary::after { transform: rotate(45deg); }

            .faq-item .faq-answer {
                padding: 0 0.25rem 1rem;
                font-size: 1.06rem;
                font-weight: 400;
                line-height: 1.6;
                color: #5a6670;
                max-width: 65ch;
            }

            /* ===== LOCALIZAÇÃO ===== */
            .localizacao {
                padding: clamp(2rem, 3.8vw, 3.4rem) 8%;
                background-color: #ffffff;
                color: #0C1B33;
            }

            .localizacao .section-header h2 {
                color: #0C1B33;
            }
            .localizacao .section-header p { color: #5a6670; }

            .localizacao .info-item h4 {
                color: #0C1B33;
            }

            .localizacao-content {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 2rem;
                align-items: start;
            }

            .localizacao-col {
                display: flex;
                flex-direction: column;
                gap: 1rem;
            }
            /* Ordem das colunas: A clínica | Localização | Contato */
            .localizacao-col--fotos   { order: 1; }
            .localizacao-col--mapa    { order: 2; scroll-margin-top: 80px; }
            .localizacao-col--contato { order: 3; }
            .localizacao-col-label {
                font-family: 'Spectral', serif;
                font-size: clamp(1.9rem, 3.2vw, 2.8rem);
                font-weight: 400;
                color: var(--accent);
                text-align: center;
                margin-bottom: 0.9rem;
            }

            .localizacao-info {
                display: flex;
                flex-direction: column;
                gap: 1.8rem;
                width: 100%;
                max-width: 560px;
                margin-inline: auto;
            }

            .localizacao-cta { align-self: stretch; }

            .btn-primary.localizacao-cta {
                height: 2rem;
                width: 100%;
                min-width: 0;
                justify-content: flex-start;
                gap: 0.4rem;
                padding: 0 0.85rem 0 0.2rem;
                box-shadow:
                    0 5px 9px -3px rgba(0, 0, 0, 0.25),
                    0 10px 16px -6px rgba(0, 0, 0, 0.18),
                    0 1px 2px rgba(0, 0, 0, 0.08),
                    inset 0 1.5px 1px rgba(255, 255, 255, 1),
                    inset 0 -2px 5px rgba(0, 0, 0, 0.08);
            }
            .btn-primary.localizacao-cta::before { inset: 1.5px; }
            .btn-primary.localizacao-cta .btn-icon-circle { margin-left: -0.2rem; }
            .btn-primary.localizacao-cta .btn-icon-circle .icon {
                width: 2rem;
                height: 2rem;
            }
            .btn-primary.localizacao-cta .btn-text-subtitle {
                font-size: 0.75rem;
                font-weight: 600;
            }
            .btn-primary.localizacao-cta:hover {
                box-shadow:
                    0 7px 11px -3px rgba(0, 0, 0, 0.28),
                    0 13px 21px -7px rgba(0, 0, 0, 0.22),
                    0 1.5px 3px rgba(0, 0, 0, 0.10),
                    inset 0 1.5px 1px rgba(255, 255, 255, 1),
                    inset 0 -2px 5px rgba(0, 0, 0, 0.08);
            }

            .info-item--contato {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                grid-template-rows: auto auto;
                grid-auto-flow: column;
                gap: 0.9rem;
            }

            .btn-primary.localizacao-cta--email .btn-text-subtitle { color: #0E2E6E; }
            .btn-primary.localizacao-cta--instagram .btn-text-subtitle { color: #962fbf; }
            .btn-primary.localizacao-cta--agendar .btn-text-subtitle { color: #0E2E6E; }

            .btn-primary.localizacao-cta--email:hover .btn-text-subtitle,
            .btn-primary.localizacao-cta--instagram:hover .btn-text-subtitle {
                text-shadow: none;
            }
            .btn-primary.localizacao-cta--email:hover .btn-text-subtitle { color: #1E8FE0; }
            .btn-primary.localizacao-cta--instagram:hover .btn-text-subtitle { color: #d62976; }

            /* Sem brilho nos pills que não são Whatsapp */
            .localizacao-cta--email .btn-shine,
            .localizacao-cta--instagram .btn-shine,
            .localizacao-cta--agendar .btn-shine,
            .localizacao-cta--expanded .btn-shine {
                display: none;
            }

            /* Pílulas expandidas (endereço, horário) */
            .expanded-cards {
                display: grid;
                grid-template-columns: 1fr;
                gap: 1.4rem;
            }
            .btn-primary.localizacao-cta.localizacao-cta--expanded {
                height: auto;
                min-height: 2rem;
                align-items: flex-start;
                padding: 0.75rem 1.1rem;
                width: 100%;
                max-width: 100%;
                text-align: left;
                border-radius: 1rem;
                box-shadow: var(--shadow-panel);
            }
            .btn-primary.localizacao-cta.localizacao-cta--expanded:hover {
                box-shadow: var(--shadow-panel);
            }
            .btn-primary.localizacao-cta.localizacao-cta--expanded::before {
                border-radius: calc(1rem - 1.5px);
            }
            .btn-primary.localizacao-cta.localizacao-cta--expanded .btn-shine {
                border-radius: 1rem;
            }
            .localizacao-cta--expanded .btn-icon-circle {
                align-self: flex-start;
                margin-top: 0;
            }
            .localizacao-cta--expanded .btn-text {
                align-items: flex-start;
                flex: 1;
                gap: 0.18rem;
                margin-top: 0.05rem;
            }
            .localizacao-cta--expanded .btn-text-subtitle {
                white-space: normal;
                font-weight: 500;
                font-size: 0.85rem;
                font-family: 'Montserrat', sans-serif;
                line-height: 1.45;
                letter-spacing: 0;
                color: #0E2E6E;
            }
            .btn-primary.localizacao-cta--expanded:hover .btn-text-subtitle {
                text-shadow: none;
                color: #1E8FE0;
            }

            .hour-row {
                display: grid;
                grid-template-columns: 1fr 5rem;
                gap: 0.9rem;
                width: 100%;
                font-family: 'Montserrat', sans-serif;
                font-size: 0.75rem;
                font-weight: 600;
                line-height: 1.45;
                color: #0E2E6E;
                letter-spacing: 0;
                white-space: nowrap;
            }
            .hour-row strong {
                font-weight: 600;
                color: #0E2E6E;
                text-align: right;
            }

            .localizacao-cta--horario { cursor: default; }
            .localizacao-cta--horario:hover { transform: none; }

            .localizacao-cta--endereco {
                cursor: pointer;
                font-family: inherit;
            }
            .copy-indicator {
                position: absolute;
                bottom: 0.45rem;
                right: 0.6rem;
                display: inline-flex;
                align-items: center;
                gap: 0.35rem;
                color: #6a8089;
                pointer-events: none;
                transition: color 0.2s ease;
                z-index: 8;
            }
            .copy-indicator .icon {
                width: 1.05rem;
                height: 1.05rem;
            }
            .copy-indicator .copy-feedback {
                font-size: 0.72rem;
                color: #25D366;
                font-weight: 500;
                opacity: 0;
                transition: opacity 0.2s;
            }
            .copy-indicator .copy-feedback.show { opacity: 1; }
            .localizacao-cta--endereco:hover .copy-indicator { color: #0C1B33; }
            .localizacao-cta--endereco.copied .copy-indicator { color: #25D366; }

            .info-item h4 {
                display: flex;
                align-items: center;
                gap: 0.6rem;
                font-size: 1.05rem;
                font-weight: 700;
                margin-bottom: 0.5rem;
            }

            .info-bubble-icon {
                width: 2rem;
                height: 2rem;
                filter:
                    drop-shadow(0 5px 7px rgba(0, 0, 0, 0.28))
                    drop-shadow(0 10px 14px rgba(0, 0, 0, 0.18))
                    drop-shadow(0 1px 2px rgba(0, 0, 0, 0.10));
                overflow: visible;
            }

            .info-item--with-icon {
                display: flex;
                align-items: flex-start;
                gap: 0.5rem;
            }
            .info-item--with-icon > .info-bubble-icon,
            .endereco-link > .info-bubble-icon {
                flex-shrink: 0;
                margin-top: 0.15rem;
            }
            .info-item--with-icon .horarios-list,
            .info-item--with-icon > p {
                padding-left: 0;
            }

            .endereco-link {
                display: flex;
                align-items: flex-start;
                gap: 0.85rem;
                text-decoration: none;
                color: inherit;
                flex: 1;
                transition: color 0.2s ease;
            }
            .endereco-link p {
                margin: 0;
                transition: color 0.2s ease;
            }
            .endereco-link:hover p { color: var(--accent); }
            .endereco-link:hover .info-bubble-icon {
                transition: transform 0.2s ease;
                transform: translateY(-1px);
            }

            .info-item p {
                color: #5a6670;
                font-size: 1.02rem;
                font-weight: 300;
                line-height: 1.6;
                padding-left: 1.85rem;
            }

            .horarios-list {
                list-style: none;
                padding-left: 1.85rem;
            }
            .horarios-list li {
                display: flex;
                justify-content: space-between;
                max-width: 280px;
                font-size: 1.02rem;
                color: #5a6670;
                padding: 0.3rem 0;
                border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
            }
            .horarios-list li span:last-child { font-weight: 600; color: #0C1B33; }
            .horarios-list li.fechado span:last-child { color: #a05a4a; }

            .endereco-wrap {
                display: flex;
                align-items: flex-start;
                gap: 0.4rem;
                padding-left: 1.85rem;
            }

            .endereco-wrap p {
                padding-left: 0;
                margin: 0;
            }

            .copy-btn {
                background: none;
                border: none;
                color: #7a8389;
                cursor: pointer;
                padding: 0.35rem;
                border-radius: 6px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                margin-top: 0.1rem;
                transition: color 0.2s, background-color 0.2s, transform 0.15s;
                font-family: inherit;
            }

            .copy-btn:hover {
                color: #0C1B33;
                background-color: rgba(0, 0, 0, 0.05);
            }

            .copy-btn:active {
                transform: scale(0.92);
            }

            .copy-btn.copied {
                color: #25D366;
            }

            .copy-btn .icon {
                width: 1.1rem;
                height: 1.1rem;
            }

            .copy-feedback {
                font-size: 0.75rem;
                color: #25D366;
                margin-left: 0.3rem;
                opacity: 0;
                transition: opacity 0.2s;
                font-weight: 500;
            }

            .copy-feedback.show {
                opacity: 1;
            }

            .map-container {
                border-radius: 16px;
                overflow: hidden;
                height: 480px;
                box-shadow: var(--shadow-panel);
            }

            .map-container iframe {
                width: 100%;
                height: 100%;
                border: 0;
                display: block;
            }

            /* ===== Fotos da clínica (quadro 2x2 dentro da coluna) ===== */
            .clinica-fotos {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: repeat(2, 1fr);
                gap: 0.7rem;
                height: 480px; /* alinha a base com o mapa (mesma altura) */
            }
            .clinica-foto {
                margin: 0;
                border-radius: 14px;
                overflow: hidden;
                background-color: #eef3f3;
                border: 1px solid rgba(201, 161, 74, 0.30);
                box-shadow: var(--shadow-panel);
                cursor: pointer;
            }
            .clinica-foto img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
                transition: transform 0.5s ease;
            }
            .clinica-foto:hover img {
                transform: scale(1.05);
            }
            .clinica-foto:focus,
            .clinica-foto:focus-visible {
                outline: none;
            }

            /* ===== Lightbox da galeria ===== */
            .lightbox {
                position: fixed;
                inset: 0;
                z-index: 5000;
                display: none;
                align-items: center;
                justify-content: center;
                padding: 4vh 4vw;
                background: rgba(16, 24, 28, 0.90);
                -webkit-backdrop-filter: blur(3px);
                backdrop-filter: blur(3px);
            }
            .lightbox.open { display: flex; }
            .lightbox-figure {
                margin: 0;
                display: flex;
                flex-direction: column;
                align-items: center;
                max-width: min(92vw, 880px);
            }
            .lightbox-figure img {
                max-width: 100%;
                max-height: 80vh;
                width: auto;
                height: auto;
                object-fit: contain;
                border-radius: 12px;
                box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
            }
            .lightbox-figure figcaption {
                margin-top: 1rem;
                max-width: 44ch;
                text-align: center;
                color: #e8edee;
                font-size: 0.9rem;
                line-height: 1.5;
            }
            .lightbox-close,
            .lightbox-nav {
                position: absolute;
                border: 0;
                border-radius: 50%;
                background: rgba(255, 255, 255, 0.14);
                color: #fff;
                line-height: 1;
                cursor: pointer;
                transition: background 0.2s ease;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            .lightbox-close:hover,
            .lightbox-nav:hover { background: rgba(255, 255, 255, 0.28); }
            .lightbox-close {
                top: 1.2rem;
                right: 1.4rem;
                width: 44px;
                height: 44px;
                font-size: 1.9rem;
            }
            .lightbox-nav {
                top: 50%;
                transform: translateY(-50%);
                width: 48px;
                height: 48px;
                font-size: 2rem;
            }
            .lightbox-prev { left: 1.4rem; }
            .lightbox-next { right: 1.4rem; }

            @media (max-width: 600px) {
                .lightbox-close { top: 0.6rem; right: 0.6rem; }
                .lightbox-nav { width: 40px; height: 40px; font-size: 1.6rem; }
                .lightbox-prev { left: 0.4rem; }
                .lightbox-next { right: 0.4rem; }
            }

            /* ===== CTA FINAL ===== */
            .cta-final {
                padding: clamp(2.5rem, 4.2vw, 4rem) 8%;
                text-align: center;
                background:
                    radial-gradient(ellipse at 50% 0%, rgba(30, 143, 224, 0.22) 0%, transparent 65%),
                    var(--bg-dark);
            }

            .cta-final h2 {
                font-family: 'Spectral', serif;
                font-weight: 400;
                font-size: clamp(2rem, 4vw, 3.2rem);
                margin-bottom: 0.7rem;
            }

            .cta-final p {
                color: var(--text-muted);
                font-weight: 300;
                font-size: 1.18rem;
                max-width: 540px;
                margin: 0 auto 1.8rem;
            }

            .cta-final .btn-wrap {
                display: flex;
                justify-content: center;
            }

            /* ===== FOOTER ===== */
            footer {
                padding: 2.4rem 8% 1.6rem;
                background-color: #131719;
                border-top: 1px solid #0C1B33;
            }

            .footer-grid {
                display: grid;
                grid-template-columns: 1.4fr 1fr 1fr;
                gap: 2.5rem;
                margin-bottom: 1.8rem;
            }

            .footer-col .footer-brand {
                font-family: 'Spectral', serif;
                font-weight: 400;
                font-size: 1.4rem;
                color: var(--text-white);
                margin-bottom: 0.5rem;
            }

            .footer-col .footer-tagline {
                font-size: 0.85rem;
                font-weight: 300;
                color: var(--text-muted);
                line-height: 1.7;
            }

            .footer-col h4 {
                font-size: 0.82rem;
                font-weight: 600;
                letter-spacing: 1px;
                text-transform: uppercase;
                color: var(--accent);
                margin-bottom: 1rem;
            }

            .footer-col a,
            .footer-col p {
                display: block;
                color: var(--text-muted);
                text-decoration: none;
                font-size: 0.88rem;
                font-weight: 300;
                line-height: 1.6;
                margin-bottom: 0.5rem;
                transition: color 0.2s ease;
            }
            .footer-col a:hover { color: var(--accent); }

            .footer-bottom {
                text-align: center;
                padding-top: 1.2rem;
                border-top: 1px solid #0C1B33;
                font-size: 0.78rem;
                font-weight: 300;
                color: var(--text-muted);
            }

            /* .icon base e regras mobile do header estão em assets/site-header.css */

            /* ===== RESPONSIVE ===== */
            @media (max-width: 1024px) {
                .dif-grid { grid-template-columns: repeat(2, 1fr); }
            }

            @media (max-width: 960px) {
                .procedimentos-grid {
                    grid-template-columns: repeat(2, 1fr);
                }

                /* Carrossel horizontal scroll-snap — em vez de 6 cards
                   empilhados, vira um trilho deslizável (swipe). */
                .depoimentos-grid {
                    display: flex;
                    grid-template-columns: none;
                    max-width: none;
                    margin: 0 -6%;
                    padding: 0.5rem 6% 1.2rem;
                    overflow-x: auto;
                    scroll-snap-type: x mandatory;
                    gap: 1rem;
                    -webkit-overflow-scrolling: touch;
                    scrollbar-width: none;
                }
                .depoimentos-grid::-webkit-scrollbar { display: none; }
                .depo-card {
                    flex: 0 0 84%;
                    scroll-snap-align: center;
                    min-width: 0;
                }

                .sobre {
                    grid-template-columns: 1fr;
                }

                .sobre-image {
                    min-height: 320px;
                    order: -1;
                }

                .localizacao-content {
                    grid-template-columns: 1fr;
                    gap: 3rem;
                }
                /* Empilhado: fotos voltam a dimensionar pela largura (sem altura fixa) */
                .clinica-fotos {
                    height: auto;
                    grid-template-rows: auto;
                }
                .clinica-foto {
                    aspect-ratio: 1 / 1;
                }
            }

            @media (max-width: 960px) {
                /* FAQ stack — coluna do título por cima, perguntas embaixo */
                .faq-content {
                    grid-template-columns: 1fr;
                    gap: 1.5rem;
                }
                .faq .section-header {
                    position: static;
                    text-align: center;
                }
                .faq-illustration {
                    max-width: 180px;
                    margin: 1rem auto 0;
                }
                .faq-intro {
                    white-space: normal;
                    text-align: center;
                    margin-top: 1rem;
                }
            }

            @media (max-width: 600px) {
                /* 4 diferenciais em 2x2 no mobile — compacto, tudo visível
                   sem precisar deslizar (melhor que carrossel pra 4 itens) */
                .dif-grid { grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }
                .dif-card { padding: 1.1rem 0.8rem; }

                /* Procedimentos mantem 2 colunas no mobile (cards Estilo B) —
                   icone + microcopy ficam legíveis. Fallback 1-col em phones <380px. */
                .procedimentos-grid {
                    grid-template-columns: repeat(2, 1fr);
                    gap: 0.9rem;
                }
                .card {
                    padding: 1.6rem 0.9rem 1.3rem;
                }
                .card-icon {
                    width: 42px;
                    height: 42px;
                    margin-bottom: 0.7rem;
                }
                .card h3 {
                    font-size: 0.98rem;
                }
                .card p {
                    font-size: 0.82rem;
                }

                .diferenciais,
                .procedimentos,
                .depoimentos,
                .faq,
                .cta-final {
                    padding-left: 6%;
                    padding-right: 6%;
                }

                .sobre-text,
                .localizacao {
                    padding-left: 6%;
                    padding-right: 6%;
                }

                .footer-grid { grid-template-columns: 1fr; gap: 2rem; }

                .map-container {
                    height: 280px;
                }

                /* Fotos da clínica — gap um pouco maior no mobile */
                .clinica-fotos {
                    gap: 0.8rem;
                }

                /* Botões do hero — empilhar verticalmente, centralizados,
                   max-width preserva proporção ícone+pílula como um elemento só */
                .sobre-actions {
                    flex-direction: column;
                    align-items: center;
                    gap: 0.8rem;
                }
                .sobre-actions .btn-primary {
                    width: 100%;
                    max-width: 320px;
                    /* NÃO centralizar — ícone tem que ficar no canto esquerdo
                       da pílula (left semicírculos coincidindo) */
                    justify-content: flex-start;
                }

                /* Section CTA (procedimentos) — mesma regra */
                .section-cta {
                    flex-direction: column;
                    align-items: center;
                    gap: 0.8rem;
                }
                .section-cta .btn-primary {
                    width: 100%;
                    max-width: 320px;
                    /* NÃO centralizar — ícone tem que ficar no canto esquerdo
                       da pílula (left semicírculos coincidindo) */
                    justify-content: flex-start;
                }

                /* CTA final — centralizar */
                .cta-final .btn-wrap .btn-primary {
                    width: 100%;
                    max-width: 320px;
                    /* NÃO centralizar — ícone tem que ficar no canto esquerdo
                       da pílula (left semicírculos coincidindo) */
                    justify-content: flex-start;
                }

                /* Tipografia mais compacta */
                .sobre-text h1 {
                    font-size: clamp(1.7rem, 7vw, 2.4rem);
                }
                .section-header h2 {
                    font-size: clamp(1.6rem, 6vw, 2rem);
                }
                .cta-final h2 {
                    font-size: clamp(1.7rem, 7vw, 2.4rem);
                }

                /* Expanded cards (endereço, horário) — largura total */
                .expanded-cards {
                    grid-template-columns: 1fr;
                }
            }

            /* Phones bem estreitos — fallback 1-col pros procedimentos */
            @media (max-width: 380px) {
                .procedimentos-grid {
                    grid-template-columns: 1fr;
                }
            }

            /* Respeita preferência de movimento reduzido */
            @media (prefers-reduced-motion: reduce) {
                *, *::before, *::after {
                    animation-duration: 0.001ms !important;
                    animation-iteration-count: 1 !important;
                    transition-duration: 0.001ms !important;
                }
                html { scroll-behavior: auto; }
            }

            /* Reveal suave ao rolar a página */
            .reveal {
                opacity: 0;
                transform: translateY(24px);
                transition: opacity 0.6s ease, transform 0.6s ease;
            }
            .reveal.visible {
                opacity: 1;
                transform: translateY(0);
            }