    /* ============================================================
       DESIGN TOKENS
    ============================================================ */
    :root {
      --ink-900: #1A1714;
      --ink-700: #2E2925;
      --ink-500: #5C544D;
      --ink-300: #9B928A;
      --bone-50:  #FBF8F3;
      --bone-100: #F5EFE6;
      --bone-200: #EDE4D5;
      --champagne-400: #C4956A;
      --champagne-600: #A5754A;
      --champagne-800: #7A5532;
      --gradient-hero: linear-gradient(135deg, #FBF8F3 0%, #EDE4D5 70%);
      --shadow-sm: 0 2px 8px rgba(26,23,20,0.06);
      --shadow-md: 0 8px 24px rgba(26,23,20,0.08);
      --shadow-lg: 0 24px 60px rgba(26,23,20,0.10);
      --radius-sm: 2px;
      --radius-md: 4px;
      --ease: cubic-bezier(0.4, 0, 0.2, 1);
      --text-xs:   0.72rem;
      --text-sm:   0.875rem;
      --text-base: 1rem;
      --text-md:   1.1rem;
      --text-lg:   1.375rem;
      --text-xl:   1.75rem;
      --text-2xl:  2.25rem;
      --text-h2:   clamp(2rem, 4vw, 3.2rem);
      --text-hero: clamp(2.7rem, 6.5vw, 5.4rem);
    }

    /* ============================================================
       RESET & BASE
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    body {
      font-family: 'Inter Tight', sans-serif;
      font-weight: 400;
      font-size: var(--text-base);
      color: var(--ink-500);
      background: var(--bone-50);
      line-height: 1.6;
      overflow-x: hidden;
    }

    @media (min-width: 769px) { body { cursor: none; } }

    img { max-width: 100%; display: block; }
    a   { text-decoration: none; color: inherit; }

    :focus-visible {
      outline: 2px solid var(--champagne-600);
      outline-offset: 2px;
    }

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

    /* ============================================================
       LAYOUT
    ============================================================ */
    .container {
      width: 100%;
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 clamp(20px, 5vw, 80px);
    }
    .section-pad { padding: clamp(80px, 10vw, 160px) 0; }

    /* ============================================================
       SKIP LINK
    ============================================================ */
    .skip-link {
      position: absolute;
      top: -100%; left: 0;
      background: var(--champagne-600);
      color: var(--bone-50);
      padding: 12px 24px;
      font-family: 'Inter Tight', sans-serif;
      font-size: var(--text-sm);
      z-index: 9999;
      transition: top 0.3s;
    }
    .skip-link:focus { top: 0; }

    /* ============================================================
       SCROLL PROGRESS
    ============================================================ */
    #scroll-progress {
      position: fixed;
      top: 0; left: 0;
      height: 2px;
      background: var(--champagne-400);
      z-index: 9998;
      width: 0%;
      transition: width 0.1s linear;
      pointer-events: none;
    }

    /* ============================================================
       CUSTOM CURSOR
    ============================================================ */
    #custom-cursor {
      position: fixed;
      width: 32px; height: 32px;
      border: 1px solid var(--champagne-400);
      border-radius: 50%;
      pointer-events: none;
      z-index: 9997;
      mix-blend-mode: multiply;
      transform: translate(-50%, -50%);
      transition: width 0.35s var(--ease), height 0.35s var(--ease),
                  background 0.35s var(--ease);
      top: -100px; left: -100px;
    }
    #custom-cursor.expanded {
      width: 48px; height: 48px;
      background: rgba(201,168,118,0.12);
    }
    @media (max-width: 768px) { #custom-cursor { display: none; } }

    /* ============================================================
       TYPOGRAPHY COMPONENTS
    ============================================================ */
    .eyebrow {
      font-family: 'Inter Tight', sans-serif;
      font-weight: 500;
      font-size: var(--text-xs);
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--champagne-600);
      display: block;
    }
    .hairline {
      width: 60px; height: 1px;
      background: var(--champagne-400);
      margin: 16px 0;
    }
    .hairline--center { margin: 16px auto; }

    h1, h2, h3, h4 {
      font-family: 'Cormorant Garamond', serif;
      color: var(--ink-900);
      line-height: 1.05;
    }

    .hero-eyebrow,
    .hero-title,
    #pilares-heading,
    .sobre-h2,
    #tratamentos-heading,
    .experiencia-text h2,
    #resultados-heading,
    #depoimentos-heading,
    #faq-heading,
    #cta-heading,
    #localizacao-heading {
      font-family: 'Mulish', sans-serif;
    }

    /* ============================================================
       BUTTONS
    ============================================================ */
    .btn {
      padding: 18px 36px;
      font-family: 'Inter Tight', sans-serif;
      font-weight: 500;
      font-size: 0.8rem;
      line-height: 1;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      transition: all 0.4s var(--ease);
      display: inline-flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
      border: none;
      border-radius: 0;
    }
    .btn .arrow { transition: transform 0.4s var(--ease); display: inline-block; }
    .btn:hover .arrow { transform: translateX(6px); }

    .btn-primary { background: var(--ink-900); color: var(--bone-50); }
    .btn-primary:hover { background: var(--champagne-800); color: var(--bone-50); }

    .btn-secondary { background: transparent; color: var(--ink-900); border: 1px solid var(--ink-900); }
    .btn-secondary:hover { background: var(--ink-900); color: var(--bone-50); }

    .btn-champagne { background: var(--champagne-600); color: var(--bone-50); }
    .btn-champagne:hover { background: var(--champagne-800); color: var(--bone-50); }

    .btn-ghost {
      background: transparent; color: var(--ink-700); padding: 18px 0;
      font-family: 'Inter Tight', sans-serif; font-weight: 500; font-size: 0.8rem;
      letter-spacing: 0.06em; text-transform: uppercase;
      transition: color 0.4s var(--ease);
      display: inline-flex; align-items: center; gap: 10px;
      cursor: pointer; border: none;
    }
    .btn-ghost:hover { color: var(--champagne-600); }

    .btn-ghost-light {
      background: transparent; color: rgba(251,248,243,0.7); padding: 18px 0;
      font-family: 'Inter Tight', sans-serif; font-weight: 500; font-size: 0.8rem;
      letter-spacing: 0.06em; text-transform: uppercase;
      transition: color 0.4s var(--ease);
      display: inline-flex; align-items: center; gap: 10px;
      cursor: pointer; border: none;
    }
    .btn-ghost-light:hover { color: var(--champagne-400); }

    /* ============================================================
       PHOTO PLACEHOLDER
    ============================================================ */
    .photo-placeholder {
      background: var(--bone-200);
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      gap: 12px; color: var(--ink-300);
      width: 100%; height: 100%; min-height: 200px;
    }
    .photo-placeholder svg { opacity: 0.35; }
    .ph-label {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase;
    }
    .ph-instruction {
      font-family: 'Inter Tight', sans-serif; font-weight: 400;
      font-size: 0.8rem; line-height: 1.4;
      color: var(--ink-300); text-align: center; max-width: 200px;
    }

    /* ============================================================
       DIVISOR DE SEÇÃO
    ============================================================ */
    .section-divider {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 8px 0;
      overflow: hidden;
    }
    .section-divider img {
      width: min(340px, 65%);
      height: auto;
      display: block;
      mix-blend-mode: multiply;
      opacity: 0.85;
    }

    /* ============================================================
       SCROLL REVEAL
    ============================================================ */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
    }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    /* ============================================================
       HEADER
    ============================================================ */
    #header {
      position: fixed; top: 0; left: 0; right: 0;
      z-index: 1000; height: 88px;
      display: flex; align-items: center;
      transition: background 0.35s var(--ease), border-color 0.35s var(--ease),
                  backdrop-filter 0.35s var(--ease);
      border-bottom: 1px solid transparent;
    }
    #header.scrolled {
      background: rgba(251,248,243,0.94);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom-color: var(--bone-200);
    }
    .header-inner {
      display: flex; align-items: center;
      justify-content: space-between; width: 100%;
    }
    .header-logo img { height: 38px; width: auto; }

    .header-nav { display: flex; align-items: center; gap: 40px; }
    .header-nav a {
      font-family: 'Inter Tight', sans-serif; font-weight: 400;
      font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase;
      color: var(--ink-700); position: relative; padding-bottom: 2px;
    }
    .header-nav a::after {
      content: ''; position: absolute; bottom: 0; left: 0;
      width: 0; height: 1px; background: var(--champagne-400);
      transition: width 0.3s var(--ease);
    }
    .header-nav a:hover::after { width: 100%; }

    .header-right { display: flex; align-items: center; gap: 24px; }
    .header-phone {
      font-family: 'Inter Tight', sans-serif;
      font-size: var(--text-sm); color: var(--ink-300);
    }

    .hamburger {
      display: none; flex-direction: column; gap: 6px;
      cursor: pointer; padding: 8px; background: none; border: none;
    }
    .hamburger span {
      display: block; width: 24px; height: 1px;
      background: var(--ink-900); transition: all 0.3s var(--ease);
    }

    #mobile-nav {
      position: fixed; inset: 0; background: var(--bone-50);
      z-index: 1001; flex-direction: column; align-items: center;
      justify-content: center; gap: clamp(22px,5vh,40px); display: none;
      padding: 96px clamp(20px,6vw,56px) 112px;
      overflow-y: auto; text-align: center;
    }
    #mobile-nav.open { display: flex; }
    #mobile-nav > a {
      font-family: 'Cormorant Garamond', serif; font-size: clamp(2.1rem,9vw,2.8rem);
      font-weight: 400; color: var(--ink-900); letter-spacing: 0.02em;
      line-height: 1.05; transition: color 0.3s var(--ease);
    }
    #mobile-nav > a:hover { color: var(--champagne-600); }
    .mobile-nav-close {
      position: absolute; top: 24px; right: clamp(20px, 5vw, 80px);
      background: none; border: none; cursor: pointer;
      font-size: 2rem; color: var(--ink-900); line-height: 1;
    }
    .mobile-nav-bottom { width: min(100%, 340px); margin-top: 8px; }
    .mobile-nav-bottom .btn { width: 100%; justify-content: center; }

    @media (max-width: 1024px) {
      .header-nav { display: none; }
      .header-phone { display: none; }
      .header-right .btn { display: none; }
      .hamburger { display: flex; }
    }
    @media (max-width: 768px) {
      #header { height: 72px; }
      .header-logo img { height: 28px; }
    }

    /* ============================================================
       HERO
    ============================================================ */
    #hero {
      height: calc(100vh - 88px);
      height: min(760px, calc(100svh - 88px));
      min-height: min(560px, calc(100vh - 88px));
      min-height: min(560px, calc(100svh - 88px));
      margin-top: 88px;
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      overflow: hidden;
      background: var(--bone-100);
    }
    .hero-content {
      position: relative;
      z-index: 2;
      width: min(64vw, 760px);
      background: transparent;
      display: flex; flex-direction: column; justify-content: center;
      padding: clamp(48px,6vh,72px) clamp(36px,5vw,86px) clamp(48px,6vh,72px) clamp(20px,5vw,70px);
    }

    /* staggered hero entry */
    .hero-eyebrow {
      opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 0ms forwards;
    }
    .hero-hairline {
      opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 60ms forwards;
    }
    .hero-title {
      font-size: clamp(2.6rem, 5.4vw, 4.8rem); font-weight: 300; font-style: italic;
      line-height: 0.96; color: var(--ink-900); margin-top: 12px;
    }
    .hero-title-line1 {
      display: block; opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 0ms forwards;
    }
    .hero-title-line2 {
      display: block; opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 120ms forwards;
    }
    .hero-title-line3 {
      display: block; opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 240ms forwards;
    }
    .hero-subtitle {
      font-size: clamp(0.94rem, 1.05vw, 1.05rem); color: var(--ink-500); line-height: 1.55;
      max-width: 500px; margin-top: 18px;
      opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 380ms forwards;
    }
    .hero-ctas {
      display: flex; align-items: center; gap: 24px;
      margin-top: 22px; flex-wrap: wrap;
      opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 500ms forwards;
    }
    .hero-trust {
      display: flex; align-items: center; flex-wrap: wrap;
      gap: 10px 14px;
      margin-top: 18px; padding-top: 14px;
      border-top: 1px solid var(--bone-200);
      opacity: 0; transform: translateY(24px);
      animation: heroReveal 0.8s var(--ease) 650ms forwards;
    }
    .trust-item {
      font-family: 'Inter Tight', sans-serif; font-size: var(--text-xs);
      font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--ink-300); line-height: 1.45; white-space: nowrap;
    }
    .trust-dot {
      margin: 0; color: var(--champagne-400); flex-shrink: 0;
      font-size: 0.4rem; line-height: 1;
    }

    .hero-image {
      position: absolute;
      inset: 0; width: 100%; height: 100%;
      z-index: 1;
      overflow: hidden;
    }
    .hero-image::after {
      content: '';
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg,
          rgba(251,248,243,0.96) 0%,
          rgba(251,248,243,0.9) 28%,
          rgba(251,248,243,0.58) 50%,
          rgba(251,248,243,0.08) 74%,
          rgba(251,248,243,0) 100%);
      pointer-events: none;
    }
    .hero-image img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 15%;
    }

    @media (min-width: 769px) {
      .hero-image img {
        position: relative;
        left: -12%;
        width: 116%;
        max-width: none;
        transform: translateX(10%);
        object-position: center 15%;
      }
    }

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

    @media (max-width: 768px) {
      #hero {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(170px, 28vh) auto;
        grid-template-rows: minmax(170px, 28svh) auto;
        height: auto;
        min-height: auto;
        margin-top: 72px;
      }
      .hero-image {
        position: relative;
        inset: auto;
        height: min(28vh, 250px);
        height: min(28svh, 250px);
        min-height: 170px;
        order: -1;
      }
      .hero-image::after {
        background: linear-gradient(180deg, rgba(251,248,243,0) 50%, rgba(251,248,243,0.92) 100%);
      }
      .hero-content {
        width: 100%;
        background: var(--gradient-hero);
        padding: 22px clamp(20px,5vw,40px) 26px;
      }
      .hero-title { font-size: clamp(1.8rem, 8vw, 2.45rem); margin-top: 8px; line-height: 0.98; }
      .hero-subtitle { margin-top: 12px; font-size: 0.86rem; line-height: 1.38; }
      .hero-ctas { gap: 8px; margin-top: 14px; }
      .hero-ctas .btn { width: 100%; justify-content: center; padding: 12px 18px; }
      .hero-trust {
        justify-content: center;
        margin-top: 12px;
        padding-top: 10px;
        gap: 8px 10px;
      }
      .trust-item { font-size: 0.62rem; }
    }

    @media (max-height: 720px) and (min-width: 769px) {
      #hero {
        min-height: calc(100vh - 88px);
        min-height: calc(100svh - 88px);
      }
      .hero-content { padding-top: 36px; padding-bottom: 36px; }
      .hero-title { font-size: clamp(2.35rem, 4.7vw, 3.8rem); }
      .hero-subtitle { margin-top: 14px; line-height: 1.45; }
      .hero-ctas { margin-top: 18px; }
      .hero-trust { margin-top: 14px; padding-top: 12px; }
    }

    /* ============================================================
       PILARES
    ============================================================ */
    #pilares { background: var(--bone-50); }
    .pilares-header { text-align: center; margin-bottom: clamp(60px,8vw,100px); }
    .pilares-header h2 { font-size: var(--text-h2); font-weight: 300; max-width: 600px; margin: 0 auto; }

    .pilares-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--bone-200); }
    .pilar-card {
      padding: 56px 48px; border-right: 1px solid var(--bone-200);
      transition: background 0.4s var(--ease);
    }
    .pilar-card:last-child { border-right: none; }
    .pilar-card:hover { background: var(--bone-100); }

    .pilar-number {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-weight: 300; font-size: 4rem; color: var(--champagne-400);
      opacity: 0; line-height: 1; margin-bottom: 24px; display: block;
      transform: scale(0.85);
      transition: transform 0.7s var(--ease), opacity 0.7s var(--ease);
    }
    .pilar-number.visible { opacity: 0.4; transform: scale(1); }

    .pilar-title {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: var(--text-base); color: var(--ink-900);
      letter-spacing: 0.02em; margin-bottom: 16px;
    }
    .pilar-body { font-size: var(--text-sm); color: var(--ink-500); line-height: 1.75; }

    @media (max-width: 768px) {
      .pilares-grid { grid-template-columns: 1fr; }
      .pilar-card { border-right: none; border-bottom: 1px solid var(--bone-200); padding: 40px 24px; }
      .pilar-card:last-child { border-bottom: none; }
    }

    /* ============================================================
       SOBRE
    ============================================================ */
    #sobre { background: var(--bone-100); }
    .sobre-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; }
    .sobre-image-col { position: relative; overflow: hidden; }
    .sobre-main-img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
    .sobre-image-col:hover .sobre-main-img { transform: none; }
    .sobre-secondary-img {
      position: absolute; bottom: 40px; left: -24px;
      width: 200px; box-shadow: var(--shadow-md); z-index: 2;
    }
    .sobre-text-col {
      padding: 80px clamp(40px,6vw,100px) 80px clamp(32px,4vw,64px);
      display: flex; flex-direction: column; justify-content: center;
    }
    .sobre-h2 { font-size: var(--text-h2); font-weight: 400; line-height: 1.1; max-width: 440px; margin-top: 24px; }
    .sobre-h2 em { font-style: italic; }
    .sobre-body {
      margin-top: 32px; display: flex; flex-direction: column; gap: 20px;
      font-size: var(--text-base); color: var(--ink-500); line-height: 1.75; max-width: 520px;
    }
    .sobre-body em { font-style: italic; color: var(--ink-700); }
    .credenciais { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
    .credencial-tag {
      border: 1px solid var(--bone-200); padding: 8px 16px;
      font-family: 'Inter Tight', sans-serif; font-size: var(--text-xs);
      font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500);
    }
    .sobre-cta { margin-top: 40px; }

    @media (max-width: 768px) {
      .sobre-grid { grid-template-columns: 1fr; }
      .sobre-image-col { aspect-ratio: 4/5; min-height: 420px; }
      .sobre-secondary-img { display: none; }
      .sobre-text-col { padding: 48px 24px; }
    }

    /* ============================================================
       TRATAMENTOS
    ============================================================ */
    #tratamentos { background: var(--bone-50); }
    .tratamentos-header { text-align: center; margin-bottom: clamp(48px,6vw,80px); }
    .tratamentos-header h2 { font-size: var(--text-h2); font-weight: 300; max-width: 600px; margin: 0 auto 16px; }
    .tratamentos-subtitle { font-size: var(--text-base); color: var(--ink-500); max-width: 600px; margin: 0 auto; }

    .tratamentos-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; background: var(--bone-200); }
    .tratamento-card {
      background: var(--bone-50); overflow: hidden; cursor: pointer;
      transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease); position: relative;
    }
    .tratamento-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); z-index: 2; }
    .tratamento-card:focus-visible { outline: 2px solid var(--champagne-600); outline-offset: 4px; }

    .tratamento-img-wrap { position: relative; aspect-ratio: 4/5; overflow: hidden; }
    .tratamento-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s var(--ease); }
    .tratamento-img-wrap .photo-placeholder { aspect-ratio: 4/5; min-height: 0; }
    .tratamento-card:hover .tratamento-img-wrap img { transform: scale(1.05); }

    .tratamento-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(26,23,20,0) 40%, rgba(26,23,20,0.70) 100%);
      opacity: 0; display: flex; align-items: flex-end; padding: 28px;
      transition: opacity 0.45s var(--ease);
    }
    .tratamento-card:hover .tratamento-overlay,
    .tratamento-card:focus-visible .tratamento-overlay { opacity: 1; }
    .overlay-cta {
      display: flex; align-items: center; gap: 8px;
      font-family: 'Inter Tight', sans-serif; font-size: var(--text-xs);
      font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bone-50);
    }
    .overlay-arrow { transition: transform 0.4s var(--ease); }
    .tratamento-card:hover .overlay-arrow { transform: translateX(6px); }

    .tratamento-info { padding: 28px 32px 36px; }
    .tratamento-info h4 {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: var(--text-base); color: var(--ink-900); margin-bottom: 12px;
    }
    .tratamento-info p { font-size: var(--text-sm); color: var(--ink-500); line-height: 1.7; }

    .tratamentos-footer { text-align: center; margin-top: 48px; }
    .tratamentos-footer a {
      font-family: 'Inter Tight', sans-serif; font-size: var(--text-sm);
      font-weight: 500; letter-spacing: 0.06em; color: var(--champagne-600);
      display: inline-flex; align-items: center; gap: 8px; transition: color 0.3s var(--ease), gap 0.3s var(--ease);
    }
    .tratamentos-footer a:hover { color: var(--champagne-800); gap: 14px; }

    .tratamento-modal {
      position: fixed; inset: 0;
      z-index: 10000;
      display: grid; place-items: center;
      padding: clamp(20px,5vw,48px);
      background: rgba(26,23,20,0.44);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity 0.35s var(--ease), visibility 0.35s var(--ease);
    }
    .tratamento-modal.open { opacity: 1; visibility: visible; pointer-events: auto; }
    .tratamento-modal__panel {
      width: min(520px, 100%);
      background: var(--bone-50);
      border: 1px solid var(--bone-200);
      box-shadow: var(--shadow-lg);
      padding: clamp(28px,5vw,42px);
      position: relative;
      transform: translateY(18px);
      transition: transform 0.35s var(--ease);
    }
    .tratamento-modal.open .tratamento-modal__panel { transform: translateY(0); }
    .tratamento-modal__close {
      position: absolute; top: 14px; right: 14px;
      width: 36px; height: 36px;
      border: 1px solid var(--bone-200);
      background: transparent; color: var(--ink-700);
      font-size: 1.25rem; line-height: 1;
      cursor: pointer;
      transition: border-color 0.3s var(--ease), color 0.3s var(--ease), background 0.3s var(--ease);
    }
    .tratamento-modal__close:hover {
      background: var(--ink-900);
      border-color: var(--ink-900);
      color: var(--bone-50);
    }
    .tratamento-modal__eyebrow { margin-bottom: 12px; }
    .tratamento-modal__title {
      font-size: clamp(2rem,5vw,3rem);
      font-weight: 300;
      margin-bottom: 18px;
      padding-right: 34px;
    }
    .tratamento-modal__text {
      color: var(--ink-500);
      font-size: var(--text-base);
      line-height: 1.75;
      margin-bottom: 28px;
    }
    .tratamento-modal__cta { width: 100%; justify-content: center; }

    .lead-modal {
      position: fixed; inset: 0;
      z-index: 10020;
      display: grid; place-items: center;
      padding: clamp(20px,5vw,48px);
      background: rgba(26,23,20,0.52);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity 0.35s var(--ease), visibility 0.35s var(--ease);
    }
    .lead-modal.open { opacity: 1; visibility: visible; pointer-events: auto; }
    .lead-modal__panel {
      width: min(480px, 100%);
      background: var(--bone-50);
      border: 1px solid var(--bone-200);
      box-shadow: var(--shadow-lg);
      padding: clamp(28px,5vw,42px);
      position: relative;
      transform: translateY(18px);
      transition: transform 0.35s var(--ease);
    }
    .lead-modal.open .lead-modal__panel { transform: translateY(0); }
    .lead-modal__close {
      position: absolute; top: 14px; right: 14px;
      width: 36px; height: 36px;
      border: 1px solid var(--bone-200);
      background: transparent; color: var(--ink-700);
      font-size: 1.25rem; line-height: 1;
      cursor: pointer;
      transition: border-color 0.3s var(--ease), color 0.3s var(--ease), background 0.3s var(--ease);
    }
    .lead-modal__close:hover {
      background: var(--ink-900);
      border-color: var(--ink-900);
      color: var(--bone-50);
    }
    .lead-modal__eyebrow { margin-bottom: 12px; }
    .lead-modal__title {
      font-size: clamp(1.9rem,5vw,2.7rem);
      font-weight: 300;
      margin-bottom: 14px;
      padding-right: 34px;
    }
    .lead-modal__text {
      color: var(--ink-500);
      font-size: var(--text-base);
      line-height: 1.65;
      margin-bottom: 22px;
    }
    .lead-form {
      display: grid;
      gap: 14px;
    }
    .lead-form label {
      display: grid;
      gap: 7px;
      font-size: var(--text-xs);
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--ink-500);
    }
    .lead-form input {
      width: 100%;
      border: 1px solid var(--bone-200);
      background: var(--bone-100);
      color: var(--ink-900);
      font: inherit;
      padding: 13px 14px;
    }
    .lead-form input:focus {
      outline: 1px solid var(--champagne-600);
      border-color: var(--champagne-600);
    }
    .lead-form .btn {
      width: 100%;
      justify-content: center;
      margin-top: 4px;
    }
    .lead-form__error {
      min-height: 18px;
      color: #8a2d2d;
      font-size: var(--text-sm);
      line-height: 1.4;
    }

    @media (max-width: 768px) { .tratamentos-grid { grid-template-columns: 1fr; } }
    @media (min-width: 769px) and (max-width: 1024px) { .tratamentos-grid { grid-template-columns: repeat(2,1fr); } }

    /* ============================================================
       EXPERIÊNCIA
    ============================================================ */
    #experiencia { background: var(--bone-100); }
    .experiencia-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,6vw,100px); align-items: center; }
    .experiencia-text h2 {
      font-size: var(--text-h2); font-weight: 300; line-height: 1.1;
      max-width: 480px; margin-top: 24px; margin-bottom: 28px;
    }
    .experiencia-text h2 em { font-style: italic; }
    .experiencia-text > p {
      font-size: var(--text-base); color: var(--ink-500);
      line-height: 1.75; max-width: 480px; margin-bottom: 32px;
    }
    .diferenciais { display: flex; flex-direction: column; gap: 16px; }
    .diferencial-item {
      display: flex; align-items: flex-start; gap: 12px;
      font-size: var(--text-sm); color: var(--ink-500); line-height: 1.6;
    }
    .diferencial-dot { color: var(--champagne-400); font-size: 0.9rem; margin-top: 2px; flex-shrink: 0; font-weight: 500; }

    .experiencia-gallery {
      display: grid; grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr; gap: 8px; height: 580px;
    }
    .gallery-main { grid-row: span 2; overflow: hidden; border-radius: var(--radius-sm); }
    .gallery-main img, .gallery-main .photo-placeholder {
      width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease);
    }
    .gallery-main:hover img { transform: scale(1.04); }
    .gallery-small { overflow: hidden; border-radius: var(--radius-sm); }
    .gallery-small img, .gallery-small .photo-placeholder {
      width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease);
    }
    .gallery-small:hover img { transform: scale(1.04); }

    @media (max-width: 768px) {
      .experiencia-grid { grid-template-columns: 1fr; }
      .experiencia-gallery { height: auto; aspect-ratio: 1.2; }
    }

    /* ============================================================
       RESULTADOS
    ============================================================ */
    #resultados { background: var(--bone-50); padding: clamp(48px,6vw,96px) 0; }
    .resultados-header { text-align: center; margin-bottom: clamp(28px,4vw,48px); }
    .resultados-header h2 { font-size: var(--text-h2); font-weight: 300; }

    /* ── Carrossel Antes/Depois ── */
    .casos-carousel { width: 100%; }

    .casos-viewport {
      position: relative;
      overflow: hidden;
      width: 100%;
      border-radius: var(--radius-sm);
    }

    .casos-track {
      display: flex;
      width: 100%;
      transition: transform 1.35s var(--ease);
    }

    .caso-slide {
      flex: 0 0 100%;
      min-width: 100%;
    }

    .caso-card {
      position: relative;
      aspect-ratio: 7/2;
      overflow: hidden;
      border-radius: var(--radius-sm);
      cursor: default;
      background: var(--bone-200);
    }
    .caso-card .photo-placeholder { height: 100%; min-height: 0; }
    .caso-label {
      position: absolute; top: 16px; left: 16px;
      background: rgba(251,248,243,0.92); padding: 6px 12px;
      border-radius: var(--radius-sm);
    }
    .caso-label .eyebrow { font-size: 0.6rem; }

    /* Setas de navegação */
    .casos-btn {
      position: absolute; top: 50%; transform: translateY(-50%);
      width: 44px; height: 44px;
      background: rgba(251,248,243,0.92);
      border: 1px solid var(--bone-200);
      color: var(--ink-700);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; z-index: 4;
      transition: background 0.3s var(--ease), color 0.3s var(--ease), border-color 0.3s var(--ease);
    }
    .casos-btn:hover { background: var(--ink-900); color: var(--bone-50); border-color: var(--ink-900); }
    .casos-btn--prev { left: 14px; }
    .casos-btn--next { right: 14px; }

    /* Rodapé: dots + contador */
    .casos-footer {
      display: flex; align-items: center;
      justify-content: space-between;
      margin-top: 20px;
      padding: 0 4px;
    }
    .casos-dots { display: flex; gap: 8px; }
    .casos-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--bone-200); border: none; padding: 0; cursor: pointer;
      transition: background 0.3s var(--ease), transform 0.3s var(--ease);
    }
    .casos-dot.active { background: var(--champagne-400); transform: scale(1.4); }
    .casos-counter {
      font-family: 'Inter Tight', sans-serif;
      font-size: var(--text-xs); font-weight: 500;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--ink-300);
    }

    @media (max-width: 768px) {
      #resultados { padding: clamp(36px,6vw,64px) 0; }
      .casos-btn { width: 36px; height: 36px; }
      .casos-btn--prev { left: 8px; }
      .casos-btn--next { right: 8px; }
      .caso-card { aspect-ratio: 1.7; }
      .caso-split { grid-template-columns: 1fr; grid-template-rows: repeat(2,1fr); }
    }

    /* ============================================================
       DEPOIMENTOS
    ============================================================ */
    #depoimentos { background: var(--bone-100); padding: clamp(64px,8vw,120px) 0; }
    .depoimentos-header { text-align: center; margin-bottom: 48px; }
    .depoimentos-header h2 { font-size: var(--text-h2); font-weight: 300; }

    .carousel-wrap { position: relative; max-width: 760px; margin: 0 auto; }
    .carousel-slide { display: none; text-align: center; padding: 0 24px; }
    .carousel-slide.active { display: block; animation: fadeInSlide 0.6s var(--ease); }
    @keyframes fadeInSlide { from { opacity: 0; } to { opacity: 1; } }

    .depo-quote {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: clamp(1.1rem,2vw,1.4rem); color: var(--ink-700); line-height: 1.65; margin-bottom: 28px;
    }
    .depo-stars { color: var(--champagne-400); font-size: 1rem; letter-spacing: 4px; margin-bottom: 16px; }
    .depo-name {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-300);
    }
    .carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 40px; }
    .carousel-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--bone-200); cursor: pointer;
      transition: background 0.3s var(--ease); border: none; padding: 0;
    }
    .carousel-dot.active { background: var(--champagne-400); }

    /* ============================================================
       FAQ
    ============================================================ */
    #faq { background: var(--bone-50); }
    .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,6vw,100px); align-items: start; }
    .faq-left { position: sticky; top: 120px; }
    .faq-left h2 { font-size: var(--text-h2); font-weight: 300; line-height: 1.15; margin-top: 24px; margin-bottom: 20px; }
    .faq-left > p { font-size: var(--text-base); color: var(--ink-500); margin-bottom: 32px; }

    .accordion { display: flex; flex-direction: column; }
    .accordion-item { border-bottom: 1px solid var(--bone-200); }
    .accordion-trigger {
      width: 100%; background: none; border: none; padding: 24px 0;
      display: flex; justify-content: space-between; align-items: center;
      cursor: pointer; text-align: left; gap: 16px;
    }
    .accordion-question {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: var(--text-base); color: var(--ink-900); line-height: 1.4;
    }
    .accordion-icon {
      flex-shrink: 0; width: 24px; height: 24px;
      border: 1px solid var(--bone-200); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem; line-height: 1; color: var(--ink-300); user-select: none;
      transition: transform 0.4s var(--ease), color 0.4s var(--ease), border-color 0.4s var(--ease);
    }
    .accordion-item.open .accordion-icon { transform: rotate(45deg); color: var(--champagne-600); border-color: var(--champagne-400); }
    .accordion-body { max-height: 0; overflow: hidden; transition: max-height 0.4s var(--ease); }
    .accordion-item.open .accordion-body { max-height: 400px; }
    .accordion-answer { font-size: var(--text-sm); color: var(--ink-500); line-height: 1.75; padding-bottom: 24px; }

    @media (max-width: 768px) {
      .faq-grid { grid-template-columns: 1fr; }
      .faq-left { position: static; }
    }

    /* ============================================================
       CTA FINAL
    ============================================================ */
    #cta-final { background: var(--ink-900); padding: clamp(80px,10vw,160px) 0; text-align: center; }
    #cta-final .eyebrow { color: var(--champagne-400); }
    #cta-final .hairline { background: var(--champagne-400); opacity: 0.3; margin: 16px auto; }
    #cta-final h2 {
      font-size: var(--text-h2); font-style: italic; font-weight: 300;
      color: var(--bone-50); max-width: 540px; margin: 0 auto 24px;
    }
    .cta-body {
      font-size: var(--text-md); color: rgba(251,248,243,0.65);
      max-width: 520px; margin: 0 auto 48px; line-height: 1.7;
    }
    .cta-buttons {
      display: flex; align-items: center; justify-content: center;
      gap: 32px; flex-wrap: wrap;
    }

    /* ============================================================
       LOCALIZAÇÃO
    ============================================================ */
    #localizacao { background: var(--bone-50); }
    .localizacao-grid { display: grid; grid-template-columns: 1fr 1.4fr; }
    .localizacao-info {
      background: var(--bone-100); padding: clamp(48px,6vw,96px) clamp(32px,4vw,64px);
      display: flex; flex-direction: column; justify-content: center;
    }
    .localizacao-info h3 { font-size: var(--text-2xl); font-weight: 400; margin-top: 24px; margin-bottom: 40px; }
    .contact-list { display: flex; flex-direction: column; gap: 24px; }
    .ci-label {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: var(--text-xs); letter-spacing: 0.16em; text-transform: uppercase;
      color: var(--champagne-600); display: block; margin-bottom: 4px;
    }
    .ci-value { font-size: var(--text-sm); color: var(--ink-500); line-height: 1.6; }
    .ci-value[href] { transition: color 0.3s var(--ease); }
    .ci-value[href]:hover { color: var(--champagne-600); }
    .localizacao-cta { margin-top: 40px; }
    .localizacao-map { min-height: 500px; }
    .localizacao-map iframe { width: 100%; height: 100%; min-height: 500px; border: 0; display: block; }

    @media (max-width: 768px) { .localizacao-grid { grid-template-columns: 1fr; } }

    /* ============================================================
       FOOTER
    ============================================================ */
    #footer { background: var(--ink-900); padding: clamp(64px,8vw,96px) 0 40px; }
    .footer-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(32px,4vw,64px); margin-bottom: 64px; }
    .footer-brand .logo-img { height: 28px; width: auto; filter: brightness(0) invert(1); opacity: 0.7; margin-bottom: 20px; }
    .footer-tagline {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: var(--text-sm); color: rgba(251,248,243,0.5); line-height: 1.6; max-width: 220px;
    }
    .footer-social { margin-top: 20px; }
    .footer-social a {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: 'Inter Tight', sans-serif; font-size: var(--text-xs);
      letter-spacing: 0.08em; color: rgba(251,248,243,0.55);
      transition: color 0.3s var(--ease);
    }
    .footer-social a:hover { color: var(--bone-50); }
    .footer-col-title {
      font-family: 'Inter Tight', sans-serif; font-weight: 500;
      font-size: var(--text-xs); letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--champagne-400); margin-bottom: 20px; display: block;
    }
    .footer-nav { display: flex; flex-direction: column; gap: 12px; }
    .footer-nav a { font-size: var(--text-sm); color: rgba(251,248,243,0.55); transition: color 0.3s var(--ease); }
    .footer-nav a:hover { color: var(--bone-50); }
    .footer-contact { display: flex; flex-direction: column; gap: 12px; }
    .footer-contact p, .footer-contact a { font-size: var(--text-sm); color: rgba(251,248,243,0.55); line-height: 1.6; transition: color 0.3s var(--ease); }
    .footer-contact a:hover { color: var(--bone-50); }
    .footer-hours { display: flex; flex-direction: column; gap: 12px; }
    .footer-hours p { font-size: var(--text-sm); color: rgba(251,248,243,0.55); line-height: 1.6; }
    .footer-base {
      padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.08);
      display: flex; justify-content: space-between; align-items: center;
      flex-wrap: wrap; gap: 16px;
    }
    .footer-copy { font-family: 'Inter Tight', sans-serif; font-size: var(--text-xs); color: rgba(251,248,243,0.3); letter-spacing: 0.06em; }
    .footer-credit {
      color: var(--champagne-400);
      transition: color 0.3s var(--ease);
    }
    .footer-credit:hover { color: var(--bone-50); }

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

    /* ============================================================
       WHATSAPP FLOAT
    ============================================================ */
    #whatsapp-float {
      position: fixed; bottom: 32px; right: 32px; z-index: 900;
      width: 56px; height: 56px; background: #25D366; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 20px rgba(37,211,102,0.40);
      transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
      cursor: pointer;
    }
    #whatsapp-float:hover { transform: scale(1.1); box-shadow: 0 6px 28px rgba(37,211,102,0.55); }
    #whatsapp-float svg { width: 28px; height: 28px; fill: white; }
    .whatsapp-tooltip {
      position: absolute; right: 68px; top: 50%; transform: translateY(-50%);
      background: var(--ink-900); color: var(--bone-50);
      font-family: 'Inter Tight', sans-serif; font-size: 0.75rem;
      font-weight: 500; letter-spacing: 0.04em; white-space: nowrap;
      padding: 8px 14px; border-radius: var(--radius-md);
      pointer-events: none; opacity: 0; transition: opacity 0.3s var(--ease);
    }
    .whatsapp-tooltip::after {
      content: ''; position: absolute; right: -5px; top: 50%; transform: translateY(-50%);
      border-top: 5px solid transparent; border-bottom: 5px solid transparent;
      border-left: 5px solid var(--ink-900);
    }
    #whatsapp-float:hover .whatsapp-tooltip { opacity: 1; }
    @media (max-width: 768px) {
      #whatsapp-float { display: none; }
      .whatsapp-tooltip { display: none; }
    }

    .mobile-action-panel,
    .mobile-fixed-menu { display: none; }

    @media (max-width: 768px) {
      body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }

      .hero-content,
      .pilar-card,
      .sobre-text-col,
      .tratamento-info,
      .experiencia-text,
      .faq-left,
      .localizacao-info,
      #footer {
        text-align: center;
      }
      .hero-content,
      .sobre-text-col,
      .experiencia-text,
      .localizacao-info {
        align-items: center;
      }
      .hero-hairline,
      .sobre-text-col .hairline,
      .experiencia-text .hairline,
      .faq-left .hairline,
      .localizacao-info .hairline {
        margin-left: auto;
        margin-right: auto;
      }
      .hero-subtitle,
      .sobre-h2,
      .sobre-body,
      .experiencia-text h2,
      .experiencia-text > p,
      .faq-left > p {
        margin-left: auto;
        margin-right: auto;
      }
      .sobre-cta,
      .localizacao-cta,
      .tratamentos-footer,
      .footer-social a,
      .footer-nav,
      .footer-contact,
      .footer-hours {
        align-items: center;
        justify-content: center;
      }
      .diferencial-item { justify-content: center; text-align: center; }
      .accordion-trigger { text-align: center; }
      .accordion-question { flex: 1; text-align: center; }
      .accordion-answer { text-align: center; }
      .footer-brand .logo-img { margin-left: auto; margin-right: auto; }
      .footer-tagline { margin-left: auto; margin-right: auto; }
      .footer-base { flex-direction: column; align-items: center; justify-content: center; text-align: center; }
      .footer-copy { width: 100%; text-align: center; }

      .mobile-fixed-menu {
        position: fixed;
        left: 0; right: 0; bottom: 0;
        z-index: 950;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
        background: rgba(251,248,243,0.96);
        border-top: 1px solid var(--bone-200);
        box-shadow: 0 -12px 36px rgba(26,23,20,0.10);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
      }
      .mobile-fixed-menu button,
      .mobile-fixed-menu a {
        min-height: 54px;
        border: 1px solid var(--bone-200);
        background: var(--bone-50);
        color: var(--ink-900);
        font-family: 'Inter Tight', sans-serif;
        font-size: 0.64rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        line-height: 1.2;
        text-transform: uppercase;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        cursor: pointer;
      }
      .mobile-fixed-menu svg,
      .mobile-panel-social svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
      }
      .mobile-action-panel {
        position: fixed;
        left: 12px; right: 12px;
        bottom: calc(78px + env(safe-area-inset-bottom));
        z-index: 960;
        display: block;
        background: var(--bone-50);
        border: 1px solid var(--bone-200);
        box-shadow: var(--shadow-lg);
        padding: 22px;
        max-height: calc(100vh - 112px);
        max-height: calc(100svh - 112px);
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(12px);
        transition: opacity 0.3s var(--ease), visibility 0.3s var(--ease), transform 0.3s var(--ease);
      }
      .mobile-action-panel.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
      }
      .mobile-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 18px;
      }
      .mobile-panel-head h3 {
        font-family: 'Inter Tight', sans-serif;
        font-size: var(--text-base);
        font-weight: 500;
        line-height: 1.3;
      }
      .mobile-panel-close {
        width: 34px; height: 34px;
        border: 1px solid var(--bone-200);
        background: transparent;
        color: var(--ink-900);
        font-size: 1.2rem;
        line-height: 1;
      }
      .mobile-appointment-form {
        display: grid;
        gap: 12px;
      }
      .mobile-appointment-form label {
        display: grid;
        gap: 6px;
        font-size: var(--text-xs);
        font-weight: 500;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--ink-500);
      }
      .mobile-appointment-form input,
      .mobile-appointment-form textarea {
        width: 100%;
        border: 1px solid var(--bone-200);
        background: var(--bone-100);
        color: var(--ink-900);
        font: inherit;
        padding: 12px 14px;
      }
      .mobile-appointment-form textarea {
        min-height: 86px;
        resize: vertical;
      }
      .mobile-appointment-form .btn {
        width: 100%;
        justify-content: center;
        margin-top: 4px;
      }
      .mobile-panel-social {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
      }
      .mobile-panel-social a {
        min-height: 74px;
        border: 1px solid var(--bone-200);
        color: var(--ink-900);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: var(--text-xs);
        font-weight: 500;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }
    }

    /* ============================================================
       CASOS ANTES / DEPOIS — ZOOM NA BOCA
    ============================================================ */
    .caso-split {
      display: grid; grid-template-columns: 1fr 1fr;
      height: 100%; gap: 2px; background: var(--bone-200);
    }
    .caso-half { position: relative; overflow: hidden; }
    .caso-img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center center;
    }
    .caso-img--clinica {
      object-fit: contain;
      background: #111;
    }
    .caso-half-label {
      position: absolute; bottom: 10px; left: 50%;
      transform: translateX(-50%);
      background: rgba(251,248,243,0.93);
      padding: 4px 12px;
      font-family: 'Inter Tight', sans-serif;
      font-size: 0.6rem; font-weight: 500;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--ink-700); white-space: nowrap;
    }

    @media (max-width: 768px) {
      .caso-split { grid-template-columns: 1fr; grid-template-rows: repeat(2,1fr); }
    }

    /* ============================================================
       RESPONSIVIDADE — MELHORIAS ADICIONAIS
    ============================================================ */

    /* Galeria de experiência no mobile */
    @media (max-width: 768px) {
      .experiencia-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        height: auto; aspect-ratio: unset;
      }
      .gallery-main { grid-row: span 1; aspect-ratio: 4/3; }
      .gallery-small { aspect-ratio: 4/3; }

      /* CTA buttons empilhados */
      .cta-buttons { flex-direction: column; align-items: center; gap: 16px; }

      /* Padding menor nos tratamentos */
      .tratamento-info { padding: 20px 24px 28px; }
      .tratamento-card:nth-of-type(1) { order: 1; }
      .tratamento-card:nth-of-type(2) { order: 2; }
      .tratamento-card--ortodontia { order: 3; }
      .tratamento-card:nth-of-type(3) { order: 4; }
      .tratamento-card:nth-of-type(4) { order: 5; }
      .tratamento-card:nth-of-type(5) { order: 6; }

      /* Sobre sem imagem secundária */
      .sobre-secondary-img { display: none; }
    }

    /* Telas muito pequenas */
    @media (max-width: 480px) {
      .hero-ctas { gap: 14px; }
      .btn { padding: 15px 24px; font-size: 0.75rem; }
      .pilar-card { padding: 32px 20px; }
      .sobre-text-col { padding: 36px 20px; }
      #mobile-nav > a { font-size: 2.2rem; }
      .localizacao-map { min-height: 280px; }
      .localizacao-map iframe { min-height: 280px; }
      .casos-grid { gap: 16px; }
    }

    /* Tablet intermediário */
    @media (min-width: 769px) and (max-width: 1024px) {
      .sobre-grid { grid-template-columns: 1fr 1fr; }
      .localizacao-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: repeat(2,1fr); }
      .experiencia-gallery { height: 460px; }
    }

    /* Tablets e iPads maiores */
    @media (min-width: 769px) and (max-width: 1180px) {
      .container { padding: 0 clamp(28px,4vw,56px); }
      .section-pad { padding: clamp(72px,9vw,120px) 0; }
      #hero { grid-template-columns: 1fr; }
      .hero-content { padding: 48px clamp(32px,4vw,58px); }
      .hero-title { font-size: clamp(2.7rem,5.4vw,4.2rem); }
      .hero-subtitle { max-width: 420px; }
      .hero-trust { gap: 8px 11px; }
      .trust-item { font-size: 0.66rem; }
      .pilar-card { padding: 44px 28px; }
      .sobre-grid { min-height: 600px; }
      .sobre-text-col { padding: clamp(48px,6vw,72px) clamp(32px,5vw,56px); }
      .tratamentos-grid { grid-template-columns: repeat(2,1fr); }
      .experiencia-grid { gap: clamp(36px,5vw,64px); }
      .experiencia-gallery { height: 460px; }
      .faq-grid { gap: clamp(36px,5vw,64px); }
      .localizacao-map,
      .localizacao-map iframe { min-height: 420px; }
    }

    /* Notebooks e desktops médios */
    @media (min-width: 1181px) and (max-width: 1440px) {
      .header-nav { gap: 30px; }
      .header-right { gap: 18px; }
      .hero-content { padding-left: clamp(56px,5vw,76px); padding-right: clamp(56px,5vw,86px); }
      .hero-trust { gap: 10px 12px; }
      .trust-item { font-size: 0.68rem; }
      .pilar-card { padding: 52px 38px; }
    }

    /* TVs e telões */
    @media (min-width: 1441px) {
      .container { max-width: 1440px; }
      #hero {
        height: min(840px, calc(100svh - 88px));
        grid-template-columns: 1fr;
      }
      .hero-content { padding-left: clamp(80px,6vw,128px); padding-right: clamp(80px,6vw,128px); }
      .hero-title { font-size: clamp(4.2rem,4.6vw,5.4rem); }
      .hero-subtitle { max-width: 520px; }
      .hero-trust { max-width: 620px; }
      .section-pad { padding: clamp(120px,8vw,180px) 0; }
      .sobre-grid,
      .localizacao-grid {
        max-width: 1680px;
        margin-left: auto;
        margin-right: auto;
      }
      .experiencia-gallery { height: min(620px, 34vw); }
      .localizacao-map,
      .localizacao-map iframe { min-height: 560px; }
    }

    @media (min-width: 1920px) {
      .container { max-width: 1560px; }
      #hero { max-width: 1920px; margin-left: auto; margin-right: auto; }
      .tratamentos-grid { max-width: 1440px; margin-left: auto; margin-right: auto; }
    }