/* ===========================
   VARIÁVEIS E RESET
   =========================== */
   :root {
    --gold: #A67C00;
    --gold-light: #C49210;
    --gold-dark: #6D5209;
    --navy: #0F1F3F;
    --navy-dark: #051229;
    --navy-light: #1a3a5c;
    --cream: #F8F7F5;
    --cream-dark: #EDE9E3;
    --text-dark: #0F1F3F;
    --text-mid: #1a3a5c;
    --text-light: #2a4a64;
    --white: #FFFFFF;
    --border: #D4CFC8;
    --accent: #1e5a96;
    --font-serif: 'Cormorant Garamond', Georgia, serif;
    --font-sans: 'Montserrat', sans-serif;
    --shadow: 0 2px 16px rgba(15,31,63,0.1);
    --shadow-lg: 0 8px 32px rgba(15,31,63,0.15);
    --radius: 12px;
    --radius-sm: 8px;
    --whatsapp: #25D366;
    --whatsapp-dark: #128C7E;
    --news-read-size: 18px;
    --news-read-line-height: 1.8;
    --news-read-para-gap: 1.1rem;
  }
  
  
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  
  
  html { scroll-behavior: smooth; }
  
  
  body {
    font-family: var(--font-sans);
    background: var(--cream);
    color: var(--text-dark);
    font-size: 15px;
    line-height: 1.65;
  }

  /* Legibilidade global — textos secundários e dourados (modo claro) */
  html:not([data-theme='dark']) .page-subtitle,
  html:not([data-theme='dark']) .page-subtitle p,
  html:not([data-theme='dark']) .hero-sub,
  html:not([data-theme='dark']) .news-date,
  html:not([data-theme='dark']) .news-card-desc,
  html:not([data-theme='dark']) .news-featured-desc,
  html:not([data-theme='dark']) .news-body,
  html:not([data-theme='dark']) .news-body p,
  html:not([data-theme='dark']) .news-body li,
  html:not([data-theme='dark']) .pub-card-desc,
  html:not([data-theme='dark']) .service-desc,
  html:not([data-theme='dark']) .form-hint,
  html:not([data-theme='dark']) .dates-hint,
  html:not([data-theme='dark']) .atendimento-subtitle,
  html:not([data-theme='dark']) .contact-direct-label,
  html:not([data-theme='dark']) .legal-content,
  html:not([data-theme='dark']) .legal-content p,
  html:not([data-theme='dark']) .legal-content li {
    color: var(--text-mid);
    font-weight: 500;
  }

  html:not([data-theme='dark']) .info-title,
  html:not([data-theme='dark']) .trajectory-subtitle,
  html:not([data-theme='dark']) .hero-oab,
  html:not([data-theme='dark']) .nav-link:hover,
  html:not([data-theme='dark']) .nav-link.active {
    color: var(--gold-dark);
    font-weight: 600;
  }

  html:not([data-theme='dark']) .value-card svg {
    color: var(--gold);
  }

  html:not([data-theme='dark']) .form-group label,
  html:not([data-theme='dark']) .form-checkbox label,
  html:not([data-theme='dark']) .booking-success-lead,
  html:not([data-theme='dark']) .booking-success-note,
  html:not([data-theme='dark']) .booking-success-hint,
  html:not([data-theme='dark']) .booking-summary-label {
    color: var(--text-mid);
    font-weight: 500;
  }

  html:not([data-theme='dark']) .booking-summary-value {
    color: var(--text-dark);
    font-weight: 500;
  }

  html:not([data-theme='dark']) .footer-heading {
    color: var(--gold-light);
    font-weight: 600;
  }
  
  
  /* Marca d'água — só para páginas com a classe body-marca-dagua */
  body.body-marca-dagua {
    isolation: isolate;
  }
  
  
  body.body-marca-dagua::after {
    content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    width: min(72vw, 560px);
    height: min(72vw, 560px);
    transform: translate(-50%, -50%);
    background: url('logo-durans-leal.png') center / contain no-repeat;
    opacity: 0.045;
    pointer-events: none;
    z-index: -1;
  }

  /* Notícia completa: só a marca d'água de fundo (sem logo no painel) */
  body.body-marca-dagua.body-noticia-detalhe::after {
    opacity: 0.12;
    width: min(80vw, 620px);
    height: min(80vw, 620px);
  }
  
  
  img { max-width: 100%; display: block; }
  
  
  a { color: inherit; text-decoration: none; }
  
  
  ul { list-style: none; }
  
  
  .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
  }
  
  
  /* ===========================
     NAVBAR
     =========================== */
  .navbar {
    position: static;
    z-index: 100;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  }
  
  
  .navbar-inner {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
    height: 200px;
    display: flex;
    align-items: center;
    gap: 32px;
  }
  
  
  .navbar-logo {
    background: transparent;
    padding: 0;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }
  
  
  .navbar-logo img {
    height: 160px;
    width: auto;
    object-fit: contain;
    max-width: 450px;
    background: transparent;
  }
  
  
  .navbar-links {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-left: 40px; /* Aproxima do logo em vez de jogar para a direita */
    flex: 1;
    justify-content: center; /* Centraliza os links no espaço restante */
  }
  
  
  .nav-link {
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 600;
    color: var(--text-mid);
    padding: 10px 18px;
    border-radius: var(--radius-sm);
    transition: color 0.2s, background 0.2s;
    position: relative;
  }
  
  
  .nav-link:hover, .nav-link.active {
    color: var(--gold-dark);
  }
  
  
  .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 12px;
    right: 12px;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
  }
  
  
  .btn-agendar {
    background: var(--gold);
    color: var(--white);
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    white-space: nowrap;
    margin-left: 8px;
  }
  
  
  .btn-agendar:hover {
    background: var(--gold-dark);
    transform: translateY(-1px);
  }
  
  
  .hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
  }
  
  
  .hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--text-dark);
    border-radius: 2px;
    transition: all 0.3s;
  }
  
  
  /* ===========================
     HERO / SOBRE
     =========================== */
  .hero-section {
    position: relative;
    z-index: 1;
    padding: 24px 0 48px;
    background: var(--white);
    overflow-x: clip;
  }


  .hero-section::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    transform: translateX(-50%);
    background: var(--white);
    z-index: -1;
    pointer-events: none;
  }
  
  
  .hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
    padding-top: 8px;
  }
  
  
  .hero-photo-block {
    max-width: 380px;
    width: 100%;
  }
  
  
  .ticker-bounds {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 1;
    height: 52px;
    margin-bottom: 22px;
    background: transparent;
  }


  .ticker-bounds::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: -22px;
    width: 100vw;
    transform: translateX(-50%);
    background: var(--cream);
    z-index: -1;
    pointer-events: none;
  }
  
  
  .hero-whatsapp-ticker {
    position: absolute;
    top: 0;
    left: 0;
    height: 52px;
    overflow: hidden;
    background: transparent;
    transition: margin-top 0.35s ease, left 0.2s ease, width 0.2s ease;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
  }
  
  
  .hero-whatsapp-ticker__track {
    display: flex;
    width: max-content;
    height: 100%;
    will-change: transform;
    animation: hero-whatsapp-ticker var(--ticker-duration, 28s) linear infinite;
  }
  
  
  .hero-whatsapp-ticker__content {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    height: 100%;
    padding: 0 64px;
    white-space: nowrap;
  }
  
  
  .hero-whatsapp-ticker__text {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
    color: var(--gold);
  }
  
  
  .hero-whatsapp-ticker__cta {
    font-weight: 700;
    color: var(--gold-dark);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s, color 0.2s;
  }
  
  
  .hero-whatsapp-ticker__cta:hover {
    color: var(--gold);
    border-bottom-color: var(--gold);
  }
  
  
  .hero-whatsapp-ticker__sep {
    margin: 0 32px;
    font-size: 11px;
    color: var(--gold-light);
    opacity: 0.9;
  }
  
  
  @media (max-width: 700px) {
    .ticker-bounds {
      height: 46px;
    }

    .hero-whatsapp-ticker {
      height: 46px;
    }
  
  
    .hero-whatsapp-ticker__text {
      font-size: 19px;
      letter-spacing: 0.01em;
    }

    .hero-whatsapp-ticker__content {
      padding: 0 40px;
    }
  
  
    .hero-whatsapp-ticker__track {
      animation-duration: var(--ticker-duration, 22s);
    }
  }
  
  
  .hero-image {
    max-width: 380px;
    width: 100%;
  }
  
  
  @keyframes hero-whatsapp-ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-1 * var(--ticker-shift, 50%))); }
  }
  
  
  @media (prefers-reduced-motion: reduce) {
    .hero-whatsapp-ticker__track {
      animation: none;
      justify-content: center;
      width: 100%;
    }
    .hero-whatsapp-ticker__content:last-child {
      display: none;
    }
  }
  
  
  .hero-image img {
    width: 100%;
    max-width: 380px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 1/1; /* Quadrada no desktop para melhor enquadramento */
  }
  
  
  @media (max-width: 700px) {
    .hero-photo-block,
    .hero-image {
      max-width: 100%;
    }
  
  
    .hero-image img {
      max-width: 100%;
      aspect-ratio: auto; /* Mantém proporção original da foto no celular */
      object-fit: contain;
      background: transparent;
      box-shadow: none; /* Remove sombra pesada no mobile se preferir */
    }
  
  
    .navbar {
      position: relative;
    }
  }
  
  
  .hero-title {
    font-family: var(--font-serif);
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.15;
    margin-bottom: 12px;
  }
  
  
  .hero-oab {
    color: var(--gold);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
  }
  
  
  .hero-sub {
    color: var(--text-mid);
    font-size: 14.5px;
    margin-bottom: 6px;
  }
  
  
  .hero-values {
    display: flex;
    gap: 12px;
    margin-top: 28px;
  }
  
  
  .value-card {
    flex: 1;
    background: var(--cream);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-mid);
  }
  
  
  .value-card svg {
    color: var(--gold);
  }
  
  
  /* ===========================
     POR QUE ME ESCOLHER
     =========================== */
  .section-title {
    font-family: var(--font-serif);
    font-size: 2.35rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--navy);
    margin-bottom: 28px;
  }

  .why-section {
    padding: 32px 0 40px;
  }

  .why-section .section-title {
    font-size: clamp(1.75rem, 3vw, 2.15rem);
    margin-bottom: 24px;
  }
  
  
  .why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
  
  
  .why-card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 22px 24px;
    box-shadow: 0 1px 3px rgba(15, 31, 63, 0.05);
  }
  
  
  .why-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(145deg, #c9a84c, #b8923f);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--white);
    box-shadow: 0 2px 8px rgba(201, 168, 76, 0.25);
  }

  .why-icon svg {
    width: 22px;
    height: 22px;
  }
  
  
  .why-title {
    font-family: var(--font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.3;
    margin: 0 0 8px;
    letter-spacing: -0.01em;
  }
  
  
  .why-text {
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.68;
    color: #475569;
    margin: 0;
  }
  
  
  /* ===========================
     TRAJETÓRIA
     =========================== */
  .trajectory-section {
    padding: 20px 0 48px;
  }
  
  
  .trajectory-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  
  .trajectory-item {
    background: var(--white);
    border: 1px solid rgba(15, 31, 63, 0.14);
    border-radius: var(--radius);
    padding: 20px 22px;
    box-shadow: var(--shadow);
  }
  
  
  .trajectory-subtitle {
    font-family: var(--font-serif);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--gold-dark);
    margin-bottom: 10px;
  }
  
  
  .trajectory-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: var(--text-mid);
  }


  @media (max-width: 700px) {
    .why-section {
      padding: 22px 0 28px;
    }

    .trajectory-section {
      padding: 16px 0 40px;
    }

    .why-title {
      font-size: 1.05rem;
    }

    .why-text {
      font-size: 14.5px;
      line-height: 1.65;
    }

    .why-card {
      padding: 18px 20px;
    }

    .section-title {
      font-size: 2rem;
      margin-bottom: 22px;
    }

    .page-section {
      padding-top: 0;
    }
  }
  
  
  /* ===========================
     PÁGINAS INTERNAS
     =========================== */
  .page-section {
    padding: 0 0 72px;
  }
  
  
  .page-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--navy);
    margin-top: 0;
    margin-bottom: 8px;
  }
  
  
  .page-subtitle {
    color: var(--text-mid);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.65;
    margin-bottom: 40px;
  }
  
  
  .page-section:has(.contact-split) .page-subtitle,
  .page-section:has(.contact-split) .page-subtitle p {
    color: var(--text-mid);
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 0;
  }
  
  
  .page-section:has(.contact-split) .page-subtitle {
    margin-bottom: 32px;
  }
  
  
  .legal-content {
    max-width: 780px;
    color: var(--text);
    line-height: 1.75;
    font-size: 15px;
  }
  
  
  .legal-content h2 {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--navy);
    margin: 36px 0 12px;
  }
  
  
  .legal-content h2:first-child {
    margin-top: 0;
  }
  
  
  .legal-content p {
    margin-bottom: 16px;
  }
  
  
  .legal-content ol {
    margin: 0 0 16px 1.25rem;
    padding: 0;
  }
  
  
  .legal-content li {
    margin-bottom: 8px;
  }
  
  
  .legal-content a {
    color: var(--gold-dark);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  
  
  .legal-content a:hover {
    color: var(--navy);
  }
  
  
  /* ===========================
     SERVIÇOS
     =========================== */
  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
  }
  
  
  .service-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: box-shadow 0.2s, transform 0.2s;
    overflow: visible;
  }
  
  
  .service-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-3px);
  }
  
  
  .service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    margin: 0 0 6px;
    padding: 0;
    line-height: 0;
    border-radius: 16px;
    color: var(--gold-dark);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 42%),
      linear-gradient(155deg, #fffdf6 0%, #f5eacc 38%, #e2c878 72%, #c9a045 100%);
    border: 1px solid rgba(184, 134, 11, 0.28);
    box-shadow:
      0 8px 20px rgba(139, 105, 20, 0.16),
      0 2px 4px rgba(26, 39, 68, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.88),
      inset 0 -3px 8px rgba(139, 105, 20, 0.14);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
  }


  .service-icon svg {
    display: block;
    width: 28px;
    height: 28px;
    overflow: visible;
    flex-shrink: 0;
    vector-effect: non-scaling-stroke;
    stroke-width: 1.85;
    filter: drop-shadow(0 1px 1px rgba(139, 105, 20, 0.22));
  }


  .service-card:hover .service-icon {
    transform: translateY(-2px) scale(1.04);
    box-shadow:
      0 12px 26px rgba(139, 105, 20, 0.22),
      0 3px 6px rgba(26, 39, 68, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      inset 0 -3px 8px rgba(139, 105, 20, 0.16);
  }
  
  
  .service-title {
    font-family: var(--font-serif);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--navy);
  }
  
  
  .service-desc {
    font-size: 13.5px;
    color: var(--text-mid);
    flex: 1;
  }
  
  
  .btn-saiba-mais {
    display: inline-block;
    border: 1px solid var(--gold);
    color: var(--gold-dark);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    background: transparent;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    text-align: center;
  }
  
  
  .btn-saiba-mais:hover {
    background: var(--gold);
    color: var(--white);
  }
  
  
  /* ===========================
     CTA BOX
     =========================== */
  .cta-box {
    background: var(--cream);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 48px 32px;
    text-align: center;
  }
  
  
  .cta-plus {
    font-size: 2.5rem;
    color: var(--gold);
    margin-bottom: 8px;
  }
  
  
  .cta-title {
    font-family: var(--font-serif);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 10px;
  }
  
  
  .cta-desc {
    color: var(--text-mid);
    font-size: 14px;
    margin-bottom: 24px;
  }
  
  
  .btn-cta {
    display: inline-block;
    background: var(--gold);
    color: var(--white);
    font-weight: 600;
    font-size: 14px;
    padding: 12px 28px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
  }
  
  
  .btn-cta:hover {
    background: var(--gold-dark);
    transform: translateY(-1px);
  }
  
  
  /* ===========================
     PUBLICAÇÕES
     =========================== */
  .pub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  
  
  .pub-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  
  
  .pub-img-wrap img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    background: var(--cream-dark);
  }
  
  
  .pub-info {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }
  
  
  .pub-badge {
    font-size: 11px;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 4px;
  }
  
  
  .pub-badge::before {
    content: '📅';
  }
  
  
  .pub-title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--navy);
  }
  
  
  .pub-desc {
    font-size: 13px;
    color: var(--text-mid);
    flex: 1;
  }
  
  
  /* ===========================
     NOTÍCIAS
     =========================== */
  .news-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    margin-bottom: 32px;
  }
  
  
  .news-featured-img {
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }

  .news-featured-img img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  
  
  .news-featured-content {
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
  }
  
  
  .news-meta {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  
  
  .news-tag {
    background: #f0dba8;
    color: #5a4208;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
  }
  
  
  .news-date {
    font-size: 12px;
    color: var(--text-mid);
    font-weight: 500;
  }
  
  
  .news-featured-title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
  }
  
  
  .news-featured-desc {
    font-size: 14px;
    color: var(--text-mid);
    font-weight: 500;
  }
  
  
  .news-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    padding: 14px 18px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
  }

  .news-filter-bar label {
    font-size: 14px;
    font-weight: 600;
    color: var(--navy);
    margin: 0;
  }

  .news-filter-bar select {
    min-width: 220px;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-dark);
    background: var(--white);
  }

  .news-filter-empty {
    padding: 28px 20px;
    text-align: center;
    color: var(--text-mid);
    background: var(--white);
    border: 1px dashed var(--border);
    border-radius: var(--radius);
  }

  .news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  
  
  .news-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  
  
  .news-card-img {
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }

  .news-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  
  .news-card-content {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }
  
  
  .news-card-title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--navy);
  }
  
  
  .news-card-desc {
    font-size: 13px;
    color: var(--text-mid);
    font-weight: 500;
    flex: 1;
  }


  .news-card--link {
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  }


  .news-card--link:hover {
    border-color: var(--gold);
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
  }


  .news-card--link:hover .news-card-title {
    color: var(--gold-dark);
  }


  .related-news {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
  }


  .related-news-title {
    font-family: var(--font-serif);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 16px;
  }


  .related-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 640px;
  }


  .related-news-grid .news-card--compact .news-card-img {
    aspect-ratio: auto;
    overflow: hidden;
    background: rgba(15, 31, 63, 0.04);
    line-height: 0;
  }

  .related-news-grid .news-card--compact .news-card-img img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
  }


  .related-news-grid .news-card--compact .news-card-content {
    padding: 10px 12px;
    gap: 6px;
  }


  .related-news-grid .news-card--compact .news-card-title {
    font-size: 0.875rem;
    line-height: 1.35;
  }


  .related-news-grid .news-card--compact .news-tag {
    font-size: 10px;
    padding: 2px 8px;
  }


  .related-news-grid .news-card--compact .news-date {
    font-size: 11px;
  }


  .related-news-grid .news-card--link:hover {
    transform: translateY(-1px);
  }


  @media (max-width: 700px) {
    .related-news-grid {
      grid-template-columns: 1fr;
      max-width: none;
    }
  }

  /* Detalhe da notícia — painel de leitura (vidro) sobre a marca d'água */
  .news-detail {
    position: relative;
    z-index: 1;
    background: transparent;
    border: 1px solid rgba(15, 31, 63, 0.14);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
  }

  .news-detail-img {
    margin: 0;
    line-height: 0;
    background: rgba(15, 31, 63, 0.04);
  }

  .news-detail-img img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    display: block;
  }

  .news-detail-img-caption {
    font-family: var(--font-sans);
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.45;
    color: var(--text-mid);
    padding: 8px 26px 0;
    margin: 0;
  }

  .news-detail-content {
    padding: 12px 26px 28px;
    background: rgba(255, 255, 255, 0.94);
    border-top: none;
    width: 100%;
    box-sizing: border-box;
  }

  .news-detail .news-meta {
    gap: 10px;
    margin-bottom: 0;
  }

  .news-detail-title {
    font-family: var(--font-serif);
    font-size: 36px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.2;
    margin: 10px 0 8px;
    letter-spacing: -0.01em;
  }

  .news-detail-subtitle {
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.45;
    color: var(--text-mid);
    margin: 0 0 12px;
  }

  .news-detail-updated {
    font-size: 13px;
    color: #666;
    margin: 0 0 12px;
  }

  /* Compartilhar notícia — barra estilo G1 (3 botões) */
  .news-share-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 1.35rem;
    max-width: 420px;
  }

  .news-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: #ececec;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.12s ease;
  }

  .news-share-btn:hover {
    background: #e0e0e0;
  }

  .news-share-btn:active {
    transform: scale(0.98);
  }

  .news-share-btn:focus-visible {
    outline: 2px solid var(--accent, #1e5a96);
    outline-offset: 2px;
  }

  .news-share-icon {
    display: inline-flex;
    width: 22px;
    height: 22px;
    line-height: 0;
  }

  .news-share-icon svg {
    display: block;
    width: 22px;
    height: 22px;
  }

  .news-share-btn.is-copied {
    background: #d7e8d7;
  }

  [data-theme='dark'] .news-detail-updated {
    color: #a8a8a8;
  }

  [data-theme='dark'] .news-share-btn {
    background: #2a2a2a;
  }

  [data-theme='dark'] .news-share-btn:hover {
    background: #353535;
  }

  [data-theme='dark'] .news-share-btn--more .news-share-icon svg {
    stroke: #ddd;
  }

  /* Notícia completa — tipografia de leitura (site + editor do admin) */
  .news-detail .news-body,
  #newsContentEditor .ql-editor {
    font-family: var(--font-sans);
    color: #0a1628;
    font-weight: 400;
    font-size: var(--news-read-size);
    line-height: var(--news-read-line-height);
    letter-spacing: 0.01em;
    text-align: left;
    max-width: none;
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  #newsContentEditor .ql-editor {
    min-height: 280px;
  }

  .news-body {
    color: var(--text-mid);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  .news-detail .news-body p,
  .news-detail .news-body li,
  #newsContentEditor .ql-editor p,
  #newsContentEditor .ql-editor li {
    color: #0a1628;
    line-height: var(--news-read-line-height);
  }

  .news-body p,
  .news-body li {
    color: var(--text-mid);
    line-height: 1.75;
  }

  .news-detail .news-body p,
  #newsContentEditor .ql-editor p {
    margin: 0 0 var(--news-read-para-gap);
  }

  .news-detail .news-body p:not([class*="ql-align-"]),
  #newsContentEditor .ql-editor p:not([class*="ql-align-"]) {
    text-align: left;
  }

  .news-detail .news-body p.ql-align-left,
  #newsContentEditor .ql-editor p.ql-align-left,
  .news-body p.ql-align-left {
    text-align: left;
  }

  .news-detail .news-body p.ql-align-center,
  #newsContentEditor .ql-editor p.ql-align-center,
  .news-body p.ql-align-center {
    text-align: center;
  }

  .news-detail .news-body p.ql-align-right,
  #newsContentEditor .ql-editor p.ql-align-right,
  .news-body p.ql-align-right {
    text-align: right;
  }

  .news-detail .news-body p.ql-align-justify,
  #newsContentEditor .ql-editor p.ql-align-justify,
  .news-body p.ql-align-justify {
    text-align: justify;
    text-justify: inter-word;
  }

  .news-body p {
    margin: 0 0 0.85rem;
  }

  .news-body p:empty,
  .news-body p:has(> br:only-child) {
    display: none;
    margin: 0;
    padding: 0;
    height: 0;
  }

  .news-body h2,
  .news-body h3,
  .news-body h4 {
    text-align: left;
  }

  .news-body h2.ql-align-center,
  .news-body h3.ql-align-center {
    text-align: center;
  }

  /* (regras de alinhamento duplicadas removidas — ver bloco acima com .news-detail) */

  /* Fontes e tamanhos do editor (Quill) — notícias, serviços e contato */
  .news-body .ql-font-serif,
  .page-subtitle .ql-font-serif,
  .service-detail-body--rich .ql-font-serif,
  .contact-info-block__text .ql-font-serif {
    font-family: Georgia, 'Times New Roman', serif;
  }

  .news-body .ql-font-monospace,
  .page-subtitle .ql-font-monospace,
  .service-detail-body--rich .ql-font-monospace,
  .contact-info-block__text .ql-font-monospace {
    font-family: ui-monospace, 'Courier New', monospace;
  }

  .news-body .ql-font-cormorant,
  .page-subtitle .ql-font-cormorant,
  .service-detail-body--rich .ql-font-cormorant,
  .contact-info-block__text .ql-font-cormorant {
    font-family: 'Cormorant Garamond', Georgia, serif;
  }

  .news-body .ql-font-inter,
  .page-subtitle .ql-font-inter,
  .service-detail-body--rich .ql-font-inter,
  .contact-info-block__text .ql-font-inter {
    font-family: Inter, system-ui, sans-serif;
  }

  .news-body .ql-font-georgia,
  .page-subtitle .ql-font-georgia,
  .service-detail-body--rich .ql-font-georgia,
  .contact-info-block__text .ql-font-georgia {
    font-family: Georgia, 'Times New Roman', serif;
  }

  .news-body .ql-font-arial,
  .page-subtitle .ql-font-arial,
  .service-detail-body--rich .ql-font-arial,
  .contact-info-block__text .ql-font-arial {
    font-family: Arial, Helvetica, sans-serif;
  }

  .news-body .ql-size-small,
  .page-subtitle .ql-size-small,
  .service-detail-body--rich .ql-size-small {
    font-size: 0.85em;
  }

  .news-body .ql-size-large,
  .page-subtitle .ql-size-large,
  .service-detail-body--rich .ql-size-large {
    font-size: 1.25em;
  }

  .news-body .ql-size-huge,
  .page-subtitle .ql-size-huge,
  .service-detail-body--rich .ql-size-huge {
    font-size: 1.5em;
  }

  .news-body blockquote,
  .page-subtitle blockquote,
  .service-detail-body--rich blockquote {
    border-left: 4px solid var(--gold, #c9a227);
    margin: 1.1rem 0;
    padding: 0.75rem 1rem 0.75rem 1.15rem;
    background: rgba(15, 31, 63, 0.06);
    border-radius: 0 10px 10px 0;
    color: #334155;
    font-style: normal;
    line-height: 1.65;
  }

  .news-body blockquote p,
  .news-detail .news-body blockquote p {
    margin-bottom: 0.5rem;
    color: inherit;
  }

  .news-body blockquote p:last-child,
  .news-detail .news-body blockquote p:last-child {
    margin-bottom: 0;
  }

  /* Quill grava color: inline — herda a cor do painel para ficar legível */
  .news-detail .news-body [style*="color"] {
    color: inherit !important;
  }

  .news-body s,
  .news-body strike,
  .page-subtitle s,
  .service-detail-body--rich s {
    text-decoration: line-through;
  }

  .news-body h2,
  .news-body h3,
  .news-body h4 {
    font-family: var(--font-serif);
    color: var(--navy);
    margin: 1.25rem 0 0.65rem;
    line-height: 1.35;
    font-weight: 600;
  }

  .news-body h2,
  #newsContentEditor .ql-editor h2 { font-size: 1.65rem; }
  .news-body h3,
  #newsContentEditor .ql-editor h3 { font-size: 1.4rem; }
  .news-body h4,
  #newsContentEditor .ql-editor h4 { font-size: 1.35rem; }

  .news-detail .news-body p.news-section-heading {
    font-family: var(--font-serif);
    color: var(--navy);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.45;
    margin-top: 1.35rem;
    margin-bottom: 0.55rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(15, 31, 63, 0.08);
  }

  .news-detail .news-body p.news-section-heading strong {
    font-family: inherit;
    font-weight: 600;
    color: var(--navy);
    font-size: inherit;
  }

  .news-detail .news-body .news-section-num {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.2;
    margin-right: 0.15rem;
  }

  .news-body ul,
  .news-body ol {
    margin: 0.5rem 0 1rem;
    padding-left: 1.35rem;
    text-align: left;
  }

  .news-body ul.icon-list {
    list-style: none;
    padding-left: 0;
  }

  .news-body ul.icon-list li,
  .news-body li {
    margin-bottom: 0.55rem;
    text-align: justify;
    text-justify: inter-word;
  }

  .news-detail .news-body h2,
  .news-detail .news-body h3,
  .news-detail .news-body h4 {
    margin-top: 1.1rem;
    margin-bottom: 0.45rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(15, 31, 63, 0.08);
  }

  .news-detail .news-body h2:first-child,
  .news-detail .news-body h3:first-child,
  .news-detail .news-body h4:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }

  .news-detail .news-body strong {
    color: #051229;
    font-weight: 700;
  }

  .news-detail .news-body a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(30, 90, 150, 0.35);
    text-underline-offset: 2px;
  }

  .news-detail .news-body a:hover {
    color: var(--navy);
    text-decoration-color: currentColor;
  }

  .news-body strong {
    color: var(--navy);
    font-weight: 700;
  }

  .news-body a {
    color: var(--gold-dark);
    font-weight: 600;
  }

  .news-body a:hover {
    color: var(--gold);
  }

  @media (max-width: 700px) {
    .news-detail-content {
      padding: 12px 16px 22px;
    }

    .news-detail-img-caption {
      padding: 8px 16px 0;
    }

    .news-detail-title {
      font-size: 28px;
    }

    .news-detail-subtitle {
      font-size: 18px;
      margin-bottom: 16px;
    }

    .news-detail .news-body,
    #newsContentEditor .ql-editor {
      font-size: 17px;
      line-height: 1.75;
    }
  }
  
  
  /* ===========================
     CONTATO / AGENDAR
     =========================== */
  .contact-direct {
    margin-bottom: 28px;
    width: 100%;
    max-width: 640px;
    margin-inline: auto;
  }

  .contact-direct-label {
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 12px;
  }

  .contact-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }

  /* Cartões secundários (WhatsApp / Ligação / Email) — compactos, mas legíveis */
  .contact-direct .contact-cards {
    gap: 10px;
    justify-content: center;
  }

  .contact-direct .contact-card {
    padding: 10px 14px;
    gap: 6px;
    flex: 0 1 auto;
    max-width: 155px;
    border-radius: 10px;
  }

  .contact-direct .contact-card--phone:not(.contact-card--phones-multi) {
    max-width: 210px;
    min-width: 188px;
  }

  .contact-direct .contact-card--phones-multi {
    max-width: 248px;
    min-width: 220px;
    padding: 14px 16px 16px;
    gap: 10px;
  }

  .contact-direct .contact-icon.icon-3d {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .contact-direct .contact-card-title {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.25;
    color: var(--navy);
  }

  .contact-direct .contact-card-link {
    font-size: 0.875rem;
    line-height: 1.35;
    white-space: nowrap;
    word-break: normal;
  }

  .contact-direct a.contact-card--clickable:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(26, 39, 68, 0.06);
  }

  .contact-direct a.contact-card--clickable:hover .icon-3d {
    transform: translateY(-1px) scale(1.03);
  }
  
  
  .contact-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1 1 168px;
    max-width: 300px;
    min-width: 0;
  }

  a.contact-card--clickable {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: border-color 0.08s ease, box-shadow 0.08s ease, transform 0.08s ease;
  }

  a.contact-card--clickable:hover {
    border-color: var(--gold);
    box-shadow: 0 4px 16px rgba(26, 39, 68, 0.08);
    transform: translateY(-2px);
  }

  a.contact-card--clickable:hover .contact-card-link {
    color: var(--gold-dark);
  }

  a.contact-card--clickable:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
  }
  
  
  /* Ícones 3D leves — contato e agendamento */
  .icon-3d {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 14px;
    color: var(--navy);
    background: linear-gradient(152deg, #ffffff 0%, #f6f3ec 52%, #ebe6dc 100%);
    box-shadow:
      0 4px 12px rgba(26, 39, 68, 0.1),
      0 1px 2px rgba(26, 39, 68, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      inset 0 -2px 5px rgba(26, 39, 68, 0.05);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
  }

  .icon-3d svg {
    width: 52%;
    height: 52%;
    filter: drop-shadow(0 1px 2px rgba(26, 39, 68, 0.18));
  }

  .contact-icon.icon-3d {
    width: 52px;
    height: 52px;
    border-radius: 16px;
  }

  .icon-3d--whatsapp {
    color: #1fa855;
    background: linear-gradient(152deg, #f4fff8 0%, #e5f9ec 55%, #d0f0dc 100%);
  }

  .icon-3d--phone {
    color: var(--navy);
    background: linear-gradient(152deg, #f8f9fc 0%, #eef1f7 55%, #e2e8f0 100%);
  }

  .icon-3d--email {
    color: var(--gold-dark);
    background: linear-gradient(152deg, #fffdf7 0%, #faf4e4 55%, #f0e6cc 100%);
  }

  .icon-3d--video {
    color: var(--navy);
    background: linear-gradient(152deg, #f8f9fc 0%, #eef0f8 55%, #e4e9f4 100%);
  }

  .icon-3d--map {
    color: #2d7ab8;
    background: linear-gradient(152deg, #f4faff 0%, #e8f4fc 55%, #d9ecf8 100%);
  }

  .icon-3d--instagram {
    color: #c13584;
    background: linear-gradient(152deg, #fff8fc 0%, #fce8f3 55%, #f5d4e8 100%);
  }

  .icon-3d--link {
    color: var(--navy);
    background: linear-gradient(152deg, #fafafa 0%, #f0f0f0 55%, #e6e6e6 100%);
  }

  .icon-3d--atendimento {
    width: 50px;
    height: 50px;
    border-radius: 15px;
  }

  .icon-3d--btn {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .icon-3d--on-fill {
    background: linear-gradient(152deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0.14) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.55),
      0 2px 6px rgba(0, 0, 0, 0.12);
  }

  .icon-3d--on-fill.icon-3d--whatsapp {
    color: #fff;
  }

  .icon-3d--on-fill.icon-3d--video {
    color: #fff;
  }

  a.contact-card--clickable:hover .icon-3d,
  .btn-atendimento:hover .icon-3d {
    transform: translateY(-2px) scale(1.04);
    box-shadow:
      0 6px 16px rgba(26, 39, 68, 0.12),
      0 2px 4px rgba(26, 39, 68, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.95),
      inset 0 -2px 5px rgba(26, 39, 68, 0.05);
  }
  
  
  .contact-card-title {
    font-family: var(--font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.25;
    letter-spacing: 0.02em;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  
  
  .contact-card-link {
    color: var(--navy);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.35;
    transition: color 0.08s ease;
    word-break: break-all;
    width: 100%;
    text-align: center;
  }


  .contact-card-link:hover {
    color: var(--gold-dark);
  }

  .contact-card--phones-multi {
    cursor: default;
  }

  .contact-phone-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    margin-top: 2px;
  }

  .contact-phone-list .contact-phone-dial {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border-radius: 9px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, var(--white) 0%, var(--cream) 100%);
    color: var(--navy);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    transition: border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease, background 0.12s ease;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .contact-phone-list .contact-phone-dial:hover {
    border-color: var(--gold);
    color: var(--gold-dark);
    background: var(--white);
    box-shadow: 0 3px 10px rgba(166, 124, 0, 0.12);
    transform: translateY(-1px);
  }

  .contact-phone-list .contact-phone-dial:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
  }

  .contact-direct .contact-card--phones-multi .contact-card-title {
    margin-bottom: 2px;
  }

  button,
  input[type="submit"],
  input[type="button"],
  .btn-cta,
  .btn-agendar,
  .btn-saiba-mais,
  .btn-video,
  .btn-whatsapp,
  .btn-voltar,
  .btn-atendimento,
  .btn-login,
  .contact-card,
  .contact-card-link,
  .navbar-icon-btn,
  .memory-card,
  .vm-answer-btn {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  
  
  /* Email completo sem corte */
  .contact-email-full {
    font-size: 11px;
    word-break: break-all;
    overflow-wrap: anywhere;
  }
  
  
  /* Estilos de edição removidos */
  
  
  /* Contato: tela dividida — conteúdo | informações adicionais */
  .page-section:has(.contact-split) .container {
    max-width: 1180px;
  }

  .contact-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px 36px;
    align-items: start;
    width: 100%;
  }

  .contact-split-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .contact-split .contact-direct {
    max-width: none;
    margin-inline: 0;
    margin-bottom: 0;
  }

  .contact-split .contact-form-col {
    text-align: center;
  }

  .contact-split .contact-info-col {
    text-align: left;
    position: sticky;
    top: 100px;
    padding-left: 28px;
    border-left: 1px solid rgba(15, 31, 63, 0.12);
  }

  .contact-split .contact-info-col .form-section-title {
    text-align: left;
    font-size: 1.3rem;
    margin-bottom: 18px;
  }

  .contact-info-col .check-list li {
    justify-content: flex-start;
  }

  .contact-form-col,
  .contact-info-col {
    width: 100%;
    max-width: none;
    margin: 0;
  }


  .page-section:has(.contact-split) .atendimento-choice--featured {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 12px 0 20px;
    margin-bottom: 0;
  }


  .page-section:has(.contact-split) .form-section-title {
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.35;
    margin-bottom: 18px;
    text-align: center;
  }

  .page-section:has(.contact-split) .atendimento-subtitle {
    font-size: 15px;
    line-height: 1.55;
  }

  .page-section:has(.contact-split) .form-group label,
  .page-section:has(.contact-split) .form-checkbox label {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-mid);
  }

  .contact-info-col .info-title {
    font-size: 1.1rem;
    font-weight: 500;
  }

  .contact-info-col .info-block p,
  .contact-info-col .check-list li {
    font-size: 14px;
    line-height: 1.65;
  }

  .contact-info-col .check-list li {
    justify-content: flex-start;
  }

  .form-section-title {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 20px;
  }

  #formAgendamento .form-section-title,
  #formWhatsapp .form-section-title {
    font-size: 1.75rem;
    line-height: 1.3;
    text-align: left;
  }


  .page-section:has(.contact-split) .contact-form-col {
    text-align: left;
    align-self: stretch;
  }


  .page-section:has(.contact-split) #formAgendamento,
  .page-section:has(.contact-split) #formWhatsapp,
  .page-section:has(.contact-split) #formAgendamento .contact-form,
  .page-section:has(.contact-split) #formWhatsapp .contact-form {
    text-align: left;
  }


  .page-section:has(.contact-split) #formAgendamento .form-group label,
  .page-section:has(.contact-split) #formWhatsapp .form-group label,
  .page-section:has(.contact-split) #formAgendamento .form-checkbox label,
  .page-section:has(.contact-split) #formWhatsapp .form-checkbox label {
    text-align: left;
    font-size: 15px;
    font-weight: 500;
    color: var(--navy);
  }


  .page-section:has(.contact-split) #formAgendamento .form-group input,
  .page-section:has(.contact-split) #formAgendamento .form-group select,
  .page-section:has(.contact-split) #formAgendamento .form-group textarea,
  .page-section:has(.contact-split) #formWhatsapp .form-group input,
  .page-section:has(.contact-split) #formWhatsapp .form-group select,
  .page-section:has(.contact-split) #formWhatsapp .form-group textarea {
    font-size: 15px;
  }


  .page-section:has(.contact-split) #formAgendamento .horarios-container,
  .page-section:has(.contact-split) #formAgendamento .dates-hint,
  .page-section:has(.contact-split) #formWhatsapp .contact-form > p {
    text-align: left;
  }
  
  
  .contact-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    z-index: 1;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  
  
  .form-group label {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-dark);
  }
  
  
  .required {
    color: var(--gold);
  }
  
  
  .form-group input,
  .form-group select,
  .form-group textarea {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-dark);
    background: var(--white);
    outline: none;
    transition: border-color 0.2s;
  }
  
  
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus {
    border-color: var(--gold);
  }
  
  
  .form-group textarea {
    resize: vertical;
    min-height: 120px;
  }
  
  
  .form-group--checkbox {
    margin-top: 4px;
  }
  
  
  .form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  
  
  .form-checkbox input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: var(--gold);
    cursor: pointer;
  }
  
  
  .form-checkbox label {
    font-size: 13px;
    line-height: 1.55;
    color: var(--text-light);
    font-weight: 400;
    cursor: pointer;
  }
  
  
  .form-checkbox a {
    color: var(--gold-dark);
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  
  
  .form-checkbox a:hover {
    color: var(--navy);
  }
  
  
  .btn-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--whatsapp);
    color: var(--white);
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    padding: 13px 24px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.08s ease, transform 0.08s ease;
    width: 100%;
  }
  
  
  .btn-whatsapp:hover {
    background: var(--whatsapp-dark);
    transform: translateY(-1px);
  }
  
  
  /* Escolha de atendimento (contato) */
  .atendimento-choice {
    text-align: center;
    padding: 20px 0;
  }

  .atendimento-choice--featured {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px 24px 24px;
    margin-bottom: 28px;
    box-shadow: 0 2px 14px rgba(26, 39, 68, 0.05);
  }
  
  

  .atendimento-choice--featured .form-section-title {
    margin-bottom: 8px;
  }
  
  
  .page-section:has(.contact-split) #agendar .form-section-title {
    font-size: 1.95rem;
    font-weight: 600;
    line-height: 1.25;
  }
  
  .atendimento-subtitle {
    color: var(--text-mid);
    font-size: 14px;
    margin-bottom: 22px;
  }
  
  .atendimento-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .btn-atendimento {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 22px 32px;
    border-radius: var(--radius);
    border: 2px solid var(--border);
    background: var(--white);
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: border-color 0.08s ease, background 0.08s ease, box-shadow 0.08s ease, transform 0.08s ease;
    min-width: 180px;
  }
  
  .btn-atendimento:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
  }
  
  .btn-atendimento--whatsapp {
    color: var(--whatsapp-dark);
    border-color: var(--whatsapp);
  }
  
  .btn-atendimento--whatsapp:hover {
    background: rgba(37, 211, 102, 0.08);
  }

  .btn-atendimento--presencial {
    color: var(--navy);
    border-color: var(--navy);
  }

  .btn-atendimento--presencial:hover {
    background: rgba(15, 40, 71, 0.06);
  }
  
  .btn-atendimento--video {
    color: var(--navy);
    border-color: var(--gold);
  }
  
  .btn-atendimento--video:hover {
    background: rgba(184, 134, 11, 0.08);
  }
  
  .btn-voltar {
    background: none;
    border: none;
    color: var(--text-mid);
    font-size: 13px;
    cursor: pointer;
    margin-bottom: 16px;
    padding: 0;
    font-family: var(--font-sans);
  }
  
  .btn-voltar:hover {
    color: var(--gold);
  }

  .ficha-preview {
    margin: 20px 0;
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: linear-gradient(135deg, #fafbfd 0%, #f4f6fa 100%);
  }

  .ficha-preview-empty {
    margin: 0;
    color: var(--text-mid);
    font-size: 13px;
    line-height: 1.5;
  }

  .ficha-preview-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
  }

  .ficha-preview-icon {
    font-size: 22px;
    line-height: 1;
  }

  .ficha-preview-header strong {
    display: block;
    color: var(--navy);
    font-size: 15px;
    margin-bottom: 2px;
  }

  .ficha-preview-header small {
    color: var(--text-mid);
    font-size: 12px;
  }

  .ficha-preview-grid {
    display: grid;
    grid-template-columns: minmax(120px, 34%) 1fr;
    gap: 8px 16px;
    margin: 0;
  }

  .ficha-preview-grid dt {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-mid);
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }

  .ficha-preview-grid dd {
    margin: 0;
    font-size: 14px;
    color: var(--navy);
    word-break: break-word;
  }
  
  .btn-video {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--navy);
    color: var(--white);
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    padding: 13px 24px;
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.08s ease, transform 0.08s ease;
    width: 100%;
  }

  .btn-video:hover:not(:disabled) {
    transform: translateY(-1px);
  }
  
  .btn-video:hover {
    background: var(--gold);
  }
  
  .btn-video:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }
  
  .form-hint {
    display: block;
    font-size: 12px;
    color: var(--text-light);
    margin-top: 6px;
  }

  .horarios-container {
    margin-bottom: 20px;
  }
  
  .horarios-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
  }
  
  .horarios-slots--list {
    flex-direction: column;
    gap: 10px;
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
  }
  
  .slot-btn {
    padding: 10px 18px;
    border: 2px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--white);
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--navy);
    cursor: pointer;
    transition: all 0.15s;
    text-align: left;
  }
  
  .slot-btn--full {
    width: 100%;
    padding: 14px 18px;
    font-size: 14px;
  }
  
  .slot-btn:hover {
    border-color: var(--gold);
  }
  
  .slot-btn.selected {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--white);
  }
  
  .slots-loading, .slots-empty {
    font-size: 13px;
    color: var(--text-light);
    padding: 8px 0;
  }
  
  .video-success {
    background: rgba(37, 211, 102, 0.1);
    border: 1px solid var(--whatsapp);
    border-radius: var(--radius);
    padding: 24px;
    text-align: center;
  }
  
  .video-success h3 {
    color: var(--whatsapp-dark);
    margin-bottom: 12px;
    font-family: var(--font-serif);
  }
  
  .booking-steps {
    text-align: left;
    margin: 16px 0 0;
    padding-left: 20px;
    font-size: 13.5px;
    color: var(--text-mid);
    line-height: 1.7;
  }
  
  .booking-steps li {
    margin-bottom: 8px;
  }

  .booking-success-lead {
    font-size: 16px;
    font-weight: 400;
    color: var(--text-mid);
    margin-bottom: 10px;
    line-height: 1.55;
  }

  .booking-success-note {
    font-size: 15px;
    font-weight: 400;
    color: var(--text-mid);
    margin-bottom: 16px;
    line-height: 1.6;
  }

  .booking-success-hint {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-mid);
    margin-top: 14px;
    line-height: 1.55;
  }

  .booking-success-summary {
    background: var(--cream);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 16px 18px;
    text-align: left;
    margin-top: 8px;
  }

  .booking-summary-title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--navy);
    margin: 0 0 12px;
    text-align: center;
  }

  .booking-summary-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .booking-summary-list li {
    display: grid;
    grid-template-columns: minmax(100px, 130px) 1fr;
    gap: 8px 12px;
    font-size: 14px;
    align-items: start;
  }

  .booking-summary-label {
    font-weight: 500;
    color: var(--text-mid);
  }

  .booking-summary-value {
    color: #1a2744;
    word-break: break-word;
  }

  .booking-alert {
    padding: 12px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 12px;
    line-height: 1.5;
    text-align: center;
  }

  .booking-alert--warn {
    color: #856404;
    background: #fff3cd;
    border: 1px solid #e6c200;
  }

  [data-theme='dark'] .booking-success-summary {
    background: #1e1e38;
    border-color: var(--border);
  }
  
  .required {
    color: #c0392b;
  }
  
  
  .info-block {
    margin-bottom: 24px;
  }
  
  
  html:not([data-theme='dark']) .contact-info-col .info-block {
    background: var(--cream);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px;
    margin-bottom: 16px;
  }
  
  
  html:not([data-theme='dark']) .contact-info-col .info-block:last-child {
    margin-bottom: 0;
  }
  
  
  [data-theme='dark'] .contact-info-col .info-block {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 24px;
  }
  
  
  .info-title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--gold-dark);
    margin-bottom: 8px;
  }
  
  
  .info-block p {
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
  }
  
  
  .check-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  
  .check-list li {
    font-size: 13.5px;
    color: var(--text-mid);
    display: flex;
    align-items: flex-start;
    gap: 8px;
  }
  
  
  .area-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  
  
  .area-list li {
    font-size: 13.5px;
    color: var(--text-mid);
  }
  
  
  /* ===========================
     DETALHE SERVIÇO
     =========================== */
  .btn-voltar {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border);
    color: var(--text-mid);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    margin-bottom: 32px;
    transition: background 0.2s, color 0.2s;
  }
  
  
  .btn-voltar:hover {
    background: var(--cream-dark);
    color: var(--text-dark);
  }
  
  
  .service-detail-header {
    margin-bottom: 28px;
  }

  .service-detail-title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
    line-height: 1.15;
  }
  
  
  .service-detail-sub {
    color: #64748b;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.55;
    margin-bottom: 0;
    max-width: 720px;
  }

  .service-detail-showcase {
    margin-bottom: 36px;
  }

  .service-detail-intro {
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.65;
    color: var(--text-mid);
    margin: 0 0 28px;
    max-width: 780px;
  }

  .service-topics-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  @media (min-width: 640px) {
    .service-topics-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 1024px) {
    .service-topics-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .service-topic-card {
    background: var(--white);
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    padding: 22px 20px;
    box-shadow: 0 1px 3px rgba(15, 31, 63, 0.06);
    transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
  }

  .service-topic-card:hover {
    box-shadow: 0 10px 28px rgba(15, 31, 63, 0.1);
    transform: translateY(-2px);
    border-color: rgba(30, 90, 150, 0.18);
  }

  .service-topic-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(30, 90, 150, 0.08);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
  }

  .service-topic-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    flex-shrink: 0;
  }

  .service-topic-card h3 {
    font-family: var(--font-sans);
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px;
    line-height: 1.3;
  }

  .service-topic-card p {
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.55;
    color: #64748b;
    margin: 0;
  }

  .service-detail-showcase-footer {
    margin-top: 32px;
    padding: 26px 28px;
    background: linear-gradient(135deg, rgba(15, 31, 63, 0.04), rgba(30, 90, 150, 0.07));
    border: 1px solid var(--border);
    border-radius: var(--radius);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }

  .service-detail-closing {
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-mid);
    margin: 0;
    flex: 1 1 280px;
    max-width: 560px;
  }

  .btn-service-case {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 26px;
    background: linear-gradient(135deg, #0f1f3f, #1e3a6e);
    color: #fff;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(15, 31, 63, 0.22);
    transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
    white-space: nowrap;
  }

  .btn-service-case:hover {
    background: linear-gradient(135deg, #1a2f5c, #254a8a);
    box-shadow: 0 8px 22px rgba(15, 31, 63, 0.28);
    transform: translateY(-1px);
    color: #fff;
  }

  [data-theme='dark'] .service-detail-title,
  [data-theme='dark'] .service-topic-card h3 {
    color: #f8fafc;
  }

  [data-theme='dark'] .service-detail-sub,
  [data-theme='dark'] .service-topic-card p {
    color: #94a3b8;
  }

  [data-theme='dark'] .service-topic-card {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow-sm);
  }

  [data-theme='dark'] .service-topic-card:hover {
    border-color: rgba(201, 168, 76, 0.35);
    box-shadow: var(--shadow-lg);
  }

  [data-theme='dark'] .service-topic-icon {
    background: rgba(201, 168, 76, 0.12);
    color: var(--gold-light);
  }

  [data-theme='dark'] .service-detail-showcase-footer {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(201, 168, 76, 0.08));
  }
  
  
  .service-detail-body {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px;
    margin-bottom: 32px;
    font-size: 14.5px;
    color: var(--text-mid);
    line-height: 1.75;
    white-space: pre-line;
  }

  .service-detail-body--rich {
    white-space: normal;
    line-height: 1.55;
  }

  .service-detail-body--rich p {
    margin: 0 0 0.55em;
  }

  .service-detail-body--rich p:last-child {
    margin-bottom: 0;
  }

  .service-detail-body--rich ul,
  .service-detail-body--rich ol {
    margin: 0.25em 0 0.65em;
    padding-left: 1.25em;
  }

  .service-detail-body--rich ul.svc-list--disc { list-style: disc; }
  .service-detail-body--rich ul.svc-list--circle { list-style: circle; }
  .service-detail-body--rich ul.svc-list--square { list-style: square; }

  .service-detail-body--rich ul.svc-list--dash,
  .service-detail-body--rich ul.svc-list--star,
  .service-detail-body--rich ul.svc-list--plus {
    list-style: none;
    padding-left: 0;
  }

  .service-detail-body--rich ul.svc-list--dash li,
  .service-detail-body--rich ul.svc-list--star li,
  .service-detail-body--rich ul.svc-list--plus li {
    position: relative;
    padding-left: 1.15em;
  }

  .service-detail-body--rich ul.svc-list--dash li::before { content: "- "; position: absolute; left: 0; }
  .service-detail-body--rich ul.svc-list--star li::before { content: "* "; position: absolute; left: 0; }
  .service-detail-body--rich ul.svc-list--plus li::before { content: "+ "; position: absolute; left: 0; }

  /* ul sem classe = bolinha padrão */
  .service-detail-body--rich ul:not([class]) { list-style: disc; }

  .service-detail-body--rich li {
    margin: 0 0 0.15em;
  }

  .service-detail-body--rich li:last-child {
    margin-bottom: 0;
  }

  .service-detail-body--rich .ql-align-center {
    text-align: center;
  }

  .service-detail-body--rich .ql-align-right {
    text-align: right;
  }

  .service-detail-body--rich .ql-align-justify {
    text-align: justify;
  }

  .service-detail-body--rich .ql-size-small {
    font-size: 0.85em;
  }

  .service-detail-body--rich .ql-size-large {
    font-size: 1.25em;
  }

  .service-detail-body--rich .ql-size-huge {
    font-size: 1.5em;
  }
  
  
  .service-benefits-title {
    font-family: var(--font-serif);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 20px;
  }
  
  
  .benefits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  
  
  .benefit-item {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13.5px;
    color: var(--text-mid);
  }
  
  
  .benefit-item svg {
    color: var(--gold);
    flex-shrink: 0;
  }

  [data-theme='dark'] .service-benefits-title {
    color: #ffffff;
  }
  
  
  /* ===========================
     FOOTER
     =========================== */
  .footer {
    background: var(--navy);
    color: var(--white);
    padding: 48px 0 0;
  }
  
  
  .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr;
    gap: 40px;
    padding-bottom: 40px;
  }
  
  
  .footer-brand {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 12px;
  }
  
  
  .footer-desc {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.7;
  }
  
  
  .footer-heading {
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--gold-light);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  
  
  .footer-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  
  .footer-links a {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.84);
    transition: color 0.2s;
  }
  
  
  .footer-links a:hover {
    color: var(--gold-light);
  }

  .footer-lounge {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 26px 0;
  }

  .footer-lounge-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 28px;
  }

  .footer-lounge-copy {
    flex: 1 1 240px;
    max-width: 420px;
  }

  .footer-lounge-title {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--white);
    margin: 0 0 6px;
    letter-spacing: 0.01em;
  }

  .footer-lounge-desc {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
  }

  .footer-lounge-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
  }

  .footer-lounge-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 6px;
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  }

  .footer-lounge-btn:hover {
    color: var(--gold-light);
    border-color: rgba(201, 168, 76, 0.55);
    background: rgba(255, 255, 255, 0.04);
  }

  .footer-lounge .footer-radio {
    flex: 0 0 auto;
    margin-top: 0;
  }

  .footer-oab {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 4px;
  }

  .footer-radio {
    margin-top: 6px;
    padding: 0;
    border: none;
    background: none;
    max-width: none;
  }

  .footer-radio-station {
    display: block;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 4px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .footer-radio-controls {
    display: flex;
    align-items: center;
    gap: 3px;
  }

  .footer-radio-loading {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.22);
    border-top-color: var(--gold-light);
    border-radius: 50%;
    animation: footer-radio-spin 0.65s linear infinite;
    flex-shrink: 0;
  }

  .footer-radio-loading[hidden] {
    display: none;
  }

  @keyframes footer-radio-spin {
    to { transform: rotate(360deg); }
  }

  .footer-radio-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 5px;
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    font-size: 10px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
  }

  .footer-radio-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--gold-light);
    color: var(--gold-light);
  }

  .footer-radio-btn-play {
    width: 26px;
    font-size: 11px;
  }

  .footer-radio-btn-play.footer-radio-btn--active,
  .footer-radio--playing .footer-radio-btn-play#footerRadioPlay {
    background: rgba(201, 162, 39, 0.28);
    border-color: var(--gold-light);
    color: var(--gold-light);
    box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.35), 0 0 10px rgba(201, 162, 39, 0.25);
  }

  .footer-radio--playing .footer-radio-station {
    color: var(--gold-light);
  }
  
  
  .footer-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.84);
    margin-bottom: 10px;
  }
  
  
  .footer-contact svg {
    flex-shrink: 0;
    color: var(--gold-light);
  }
  
  
  .footer-contact a {
    color: rgba(255, 255, 255, 0.84);
    transition: color 0.2s;
    white-space: nowrap;
    word-break: normal;
  }
  
  
  .footer-contact a:hover {
    color: var(--gold-light);
  }
  
  
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.72);
    max-width: 1100px;
    margin: 0 auto;
    gap: 16px;
  }
  
  
  .footer-bottom-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  
  .footer-admin-link {
    opacity: 0.3;
    cursor: pointer;
    color: var(--gold);
    font-weight: bold;
    text-decoration: none;
  }
  
  
  .footer-legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  
  
  .footer-legal a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    transition: color 0.2s;
  }
  
  
  .footer-legal a:hover {
    color: var(--gold-light);
  }
  
  
  .footer-legal span {
    color: rgba(255, 255, 255, 0.45);
  }
  
  
  .footer-credit {
    text-align: right;
    flex-shrink: 0;
  }

  .footer-credit-author {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.35);
    letter-spacing: 0.02em;
  }
  
  
  /* ===========================
     RESPONSIVO
     =========================== */
  @media (max-width: 900px) {
    .footer {
      padding-top: 32px;
    }

    .hero-grid { grid-template-columns: 1fr; gap: 32px; }
    .hero-image img { max-width: 100%; aspect-ratio: 4/3; }
    .hero-title { font-size: 2.2rem; }
    .why-grid { grid-template-columns: 1fr; }
    .services-grid { grid-template-columns: 1fr 1fr; }
    .contact-split {
      grid-template-columns: 1fr;
      gap: 28px;
    }

    .contact-split .contact-info-col {
      position: static;
      padding-left: 0;
      border-left: none;
    }

    .contact-split .contact-info-col,
    .contact-split .contact-info-col .form-section-title {
      text-align: center;
    }

    .contact-split .contact-info-col .check-list li {
      justify-content: center;
    }

    .contact-form-col,
    .contact-info-col { max-width: 100%; }
    .news-featured { grid-template-columns: 1fr; }
    .footer-lounge {
      padding: 10px 0 14px;
    }

    .footer-lounge-inner {
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
    }

    .footer-lounge-copy {
      flex: none;
      max-width: none;
    }

    .footer-lounge-actions {
      width: 100%;
      gap: 8px;
    }

    .footer-lounge-btn {
      flex: 1 1 calc(50% - 4px);
      min-width: 0;
      padding: 8px 12px;
      font-size: 12px;
    }

    .footer-lounge .footer-radio {
      width: 100%;
      padding-top: 8px;
      margin-top: 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .footer-grid { grid-template-columns: 1fr; gap: 20px; padding-bottom: 16px; }
    .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
    .footer-bottom-left { align-items: center; }
    .footer-legal { justify-content: center; }
    .footer-credit { text-align: center; }
  }
  
  
  @media (max-width: 700px) {
    .navbar-links { display: none; flex-direction: column; position: absolute; top: 180px; left: 0; right: 0; background: var(--white); border-bottom: 1px solid var(--border); padding: 16px 24px; gap: 8px; }
    .navbar-links.open { display: flex; }
    .hamburger { display: flex; }
    .navbar-actions .btn-agendar { display: none; }
    .services-grid { grid-template-columns: 1fr; }
    .pub-grid { grid-template-columns: 1fr; }
    .news-grid { grid-template-columns: 1fr; }
    .contact-cards {
      flex-direction: column;
      align-items: stretch;
    }

    .contact-card {
      max-width: none;
      flex: 1 1 auto;
    }

    .contact-direct .contact-cards {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
    }

    .contact-direct .contact-card:not(.contact-card--phones-multi) {
      max-width: 155px;
      flex: 0 1 auto;
    }

    .contact-direct .contact-card--phones-multi {
      max-width: 100%;
      min-width: 200px;
      flex: 1 1 220px;
    }

    .benefits-grid { grid-template-columns: 1fr; }
    .hero-values { flex-direction: column; }
    .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
    .footer-bottom-left { align-items: center; }
    .footer-legal { justify-content: center; }
    .footer-credit { text-align: center; }

    .atendimento-choice--featured {
      padding: 20px 16px 18px;
      margin-bottom: 22px;
    }

    .atendimento-choice {
      text-align: center;
      padding: 8px 0 2px;
    }

    .atendimento-btns {
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
    }

    .btn-atendimento {
      width: 100%;
      min-width: 0;
      padding: 18px 16px;
      flex-direction: row;
      justify-content: center;
      gap: 12px;
      font-size: 15px;
    }

    .btn-atendimento .icon-3d--atendimento {
      width: 44px;
      height: 44px;
    }
  }
  /* Remove totalmente a marca d'água nesta aba/página */
  body.sem-marca-dagua.navbar::after,
  body.sem-marca-dagua:has(.navbar)::after {
    content: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
  }


  /* ===========================
     TOGGLE TEMA + BOTÕES RÁPIDOS
     =========================== */
  body {
    transition: background-color 0.25s ease, color 0.25s ease;
  }

  button:not(.hamburger),
  input[type="submit"],
  input[type="button"],
  .btn-agendar,
  .btn-cta,
  .btn-saiba-mais,
  .btn-whatsapp,
  .btn-video,
  .btn-voltar,
  .btn-atendimento,
  .btn-login,
  .contact-card,
  .contact-card-link,
  .navbar-icon-btn,
  .nav-link,
  .memory-card,
  .vm-answer-btn {
    transition: background-color 0.1s ease, color 0.1s ease, border-color 0.1s ease, box-shadow 0.1s ease, transform 0.1s ease, opacity 0.1s ease;
  }

  .navbar-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    flex-shrink: 0;
  }

  .navbar-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--white);
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
    padding: 0;
    color: var(--navy);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
  }

  .navbar-icon-btn:hover {
    border-color: var(--gold);
    box-shadow: 0 0 0 2px rgba(184, 134, 11, 0.12);
  }

  .navbar-icon-btn svg {
    display: block;
  }

  .theme-toggle-btn {
    font-size: 10px;
  }

  .theme-toggle-icon {
    display: block;
    font-size: 10px;
    line-height: 1;
  }

  [data-theme='dark'] {
    --gold: #d4b84a;
    --gold-light: #ecd67a;
    --gold-dark: #e5cc6e;
    --navy: #ffffff;
    --navy-dark: #12122a;
    --navy-light: #2a2a4a;
    --cream: #1a1a2e;
    --cream-dark: #252547;
    --text-dark: #ffffff;
    --text-mid: #eef1f6;
    --text-light: #d4d9e3;
    --white: #252547;
    --border: rgba(201, 168, 76, 0.28);
    --shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.45);
  }

  [data-theme='dark'] body {
    background: #1a1a2e;
    color: #eef1f6;
  }

  [data-theme='dark'] .navbar {
    background: rgba(26, 26, 46, 0.98);
    border-bottom-color: var(--border);
  }

  [data-theme='dark'] .navbar-links.open {
    background: #252547;
  }

  [data-theme='dark'] .btn-agendar {
    color: #1a1a2e;
  }

  [data-theme='dark'] .hero-section,
  [data-theme='dark'] .why-section,
  [data-theme='dark'] .trajectory-section,
  [data-theme='dark'] .page-section,
  [data-theme='dark'] .services-section,
  [data-theme='dark'] .news-section,
  [data-theme='dark'] .contact-section {
    background: transparent;
  }

  [data-theme='dark'] .value-card,
  [data-theme='dark'] .why-card,
  [data-theme='dark'] .service-card,
  [data-theme='dark'] .news-card,
  [data-theme='dark'] .pub-card,
  [data-theme='dark'] .icon-3d:not(.icon-3d--on-fill) {
    background: linear-gradient(152deg, #2e2e52 0%, #26264a 55%, #1f1f42 100%);
    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.25),
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      inset 0 -2px 5px rgba(0, 0, 0, 0.2);
  }

  [data-theme='dark'] .news-filter-bar {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(201, 168, 76, 0.22);
  }

  [data-theme='dark'] .news-filter-bar label {
    color: #eef1f6;
  }

  [data-theme='dark'] .news-filter-bar select {
    background: #1e1e38;
    border-color: rgba(201, 168, 76, 0.28);
    color: #ffffff;
  }

  [data-theme='dark'] .news-filter-empty {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(201, 168, 76, 0.22);
    color: #c8d0dc;
  }

  [data-theme='dark'] .service-icon {
    color: #f0d78c;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 42%),
      linear-gradient(155deg, #4a3f24 0%, #3a321c 42%, #2b2514 100%);
    border-color: rgba(201, 168, 76, 0.38);
    box-shadow:
      0 8px 20px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      inset 0 -3px 8px rgba(0, 0, 0, 0.22);
  }

  [data-theme='dark'] .service-card:hover .service-icon {
    box-shadow:
      0 12px 26px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      inset 0 -3px 8px rgba(0, 0, 0, 0.24);
  }

  [data-theme='dark'] .contact-card,
  [data-theme='dark'] .cta-box,
  [data-theme='dark'] .atendimento-choice--featured,
  [data-theme='dark'] .ficha-preview,
  [data-theme='dark'] .legal-content {
    background: #252547;
    border-color: var(--border);
    color: #ffffff;
  }

  [data-theme='dark'] .contact-phone-list .contact-phone-dial {
    background: linear-gradient(180deg, #2e2e58 0%, #262650 100%);
    border-color: rgba(255, 255, 255, 0.14);
    color: #ffffff;
  }

  [data-theme='dark'] .contact-phone-list .contact-phone-dial:hover {
    border-color: var(--gold-light);
    color: var(--gold-light);
    background: #323264;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.28);
  }

  [data-theme='dark'] .section-title,
  [data-theme='dark'] .hero-title,
  [data-theme='dark'] .page-title,
  [data-theme='dark'] .service-title,
  [data-theme='dark'] .why-title {
    color: #ffffff;
  }

  [data-theme='dark'] .why-text {
    color: #c8d0dc;
  }

  [data-theme='dark'] .trajectory-item {
    background: #252547;
    border: 1px solid var(--border);
    box-shadow:
      0 8px 24px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.06);
  }

  [data-theme='dark'] .contact-split .contact-info-col {
    border-left-color: rgba(255, 255, 255, 0.12);
  }

  [data-theme='dark'] .page-section:has(.contact-split) .atendimento-choice--featured {
    background: transparent;
    border: none;
    box-shadow: none;
  }

  [data-theme='dark'] .page-section:has(.contact-split) .page-subtitle,
  [data-theme='dark'] .page-section:has(.contact-split) .page-subtitle p {
    color: #eef1f6;
  }

  [data-theme='dark'] .trajectory-item p {
    color: #eef1f6;
  }

  [data-theme='dark'] .trajectory-subtitle,
  [data-theme='dark'] .footer-brand {
    color: #c9a84c;
  }

  [data-theme='dark'] input,
  [data-theme='dark'] select,
  [data-theme='dark'] textarea {
    background: #1e1e38;
    border-color: var(--border);
    color: #ffffff;
  }

  [data-theme='dark'] input::placeholder,
  [data-theme='dark'] textarea::placeholder {
    color: rgba(255, 255, 255, 0.62);
  }

  /* Modo escuro — textos fortes em todo o site */
  [data-theme='dark'] .nav-link {
    color: #eef1f6;
  }

  [data-theme='dark'] .nav-link:hover,
  [data-theme='dark'] .nav-link.active {
    color: var(--gold-light);
  }

  [data-theme='dark'] .contact-direct-label,
  [data-theme='dark'] .contact-direct .contact-card-link,
  [data-theme='dark'] .contact-card-link,
  [data-theme='dark'] .contact-info-col .info-block p,
  [data-theme='dark'] .contact-info-col .check-list li,
  [data-theme='dark'] .page-section:has(.contact-split) .form-group label,
  [data-theme='dark'] .page-section:has(.contact-split) .form-checkbox label,
  [data-theme='dark'] .page-section:has(.contact-split) .atendimento-subtitle,
  [data-theme='dark'] .booking-success-lead,
  [data-theme='dark'] .booking-success-note,
  [data-theme='dark'] .booking-success-hint,
  [data-theme='dark'] .booking-summary-label,
  [data-theme='dark'] .booking-summary-title,
  [data-theme='dark'] .booking-summary-value,
  [data-theme='dark'] .legal-content,
  [data-theme='dark'] .legal-content p,
  [data-theme='dark'] .legal-content li,
  [data-theme='dark'] .footer-desc,
  [data-theme='dark'] .footer-links a,
  [data-theme='dark'] .footer-contact,
  [data-theme='dark'] .footer-contact a,
  [data-theme='dark'] .footer-legal a,
  [data-theme='dark'] .footer-credit,
  [data-theme='dark'] .footer-bottom,
  [data-theme='dark'] .footer-legal span,
  [data-theme='dark'] .hero-whatsapp-ticker__text {
    color: #eef1f6;
  }

  [data-theme='dark'] .hero-whatsapp-ticker__cta {
    color: var(--gold-light);
  }

  [data-theme='dark'] .info-title,
  [data-theme='dark'] .contact-info-col .info-title {
    color: var(--gold-light);
  }

  [data-theme='dark'] .news-tag {
    background: #c9a84c;
    color: #12122a;
  }

  [data-theme='dark'] .news-detail {
    background: transparent;
    border-color: var(--border);
    box-shadow: var(--shadow-lg);
  }

  [data-theme='dark'] .news-detail-content {
    background: rgba(28, 28, 52, 0.94);
    border-top: none;
  }

  [data-theme='dark'] body.body-marca-dagua.body-noticia-detalhe::after {
    opacity: 0.11;
  }

  [data-theme='dark'] .news-detail-title {
    color: #ffffff;
  }

  [data-theme='dark'] .news-detail-subtitle,
  [data-theme='dark'] .news-detail-img-caption {
    color: #d8dce8;
  }

  [data-theme='dark'] .news-detail-img {
    background: rgba(0, 0, 0, 0.2);
  }

  [data-theme='dark'] .news-detail .news-date {
    color: #f3f5f9;
  }

  [data-theme='dark'] .news-detail .news-body,
  [data-theme='dark'] .news-detail .news-body p,
  [data-theme='dark'] .news-detail .news-body li {
    color: #ffffff;
  }

  [data-theme='dark'] .news-detail .news-body strong {
    color: #ffffff;
  }

  [data-theme='dark'] .news-detail .news-body h2,
  [data-theme='dark'] .news-detail .news-body h3,
  [data-theme='dark'] .news-detail .news-body h4 {
    border-top-color: rgba(201, 168, 76, 0.2);
  }

  [data-theme='dark'] .news-detail .news-body a {
    color: var(--gold-light);
    text-decoration-color: rgba(201, 168, 76, 0.45);
  }

  [data-theme='dark'] .news-detail .news-body blockquote {
    background: rgba(255, 255, 255, 0.1);
    border-left-color: var(--gold-light, #e8d48a);
    color: #eef1f6 !important;
  }

  [data-theme='dark'] .news-detail .news-body h2,
  [data-theme='dark'] .news-detail .news-body h3,
  [data-theme='dark'] .news-detail .news-body h4 {
    color: #ffffff !important;
  }

  [data-theme='dark'] .news-detail .news-body p.news-section-heading,
  [data-theme='dark'] .news-detail .news-body p.news-section-heading strong {
    color: #ffffff !important;
    border-top-color: rgba(201, 168, 76, 0.22);
  }

  [data-theme='dark'] .news-body,
  [data-theme='dark'] .news-body p,
  [data-theme='dark'] .news-body li,
  [data-theme='dark'] .news-card-desc,
  [data-theme='dark'] .news-featured-desc,
  [data-theme='dark'] .news-date {
    color: #eef1f6;
  }

  [data-theme='dark'] .news-body strong {
    color: #ffffff;
  }

  [data-theme='dark'] .news-detail-title,
  [data-theme='dark'] .news-featured-title,
  [data-theme='dark'] .news-card-title {
    color: #ffffff;
  }

  [data-theme='dark'] .form-checkbox label {
    color: #d4d9e3;
  }

  [data-theme='dark'] .form-checkbox a {
    color: var(--gold-light);
  }

  [data-theme='dark'] .footer-heading {
    color: var(--gold-light);
  }

  [data-theme='dark'] .footer-link-game {
    color: #eef1f6 !important;
  }

  [data-theme='dark'] .booking-alert--warn {
    color: #ffe8a3;
    background: rgba(133, 100, 4, 0.35);
    border-color: rgba(201, 168, 76, 0.45);
  }

  [data-theme='dark'] body.body-marca-dagua::after {
    opacity: 0.03;
    filter: grayscale(1) brightness(1.4);
  }

  [data-theme='dark'] .footer {
    background: #12122a;
  }

  [data-theme='dark'] .footer-lounge {
    border-top-color: rgba(255, 255, 255, 0.12);
    border-bottom-color: rgba(255, 255, 255, 0.08);
  }

  [data-theme='dark'] .footer-lounge-title {
    color: var(--gold-light);
  }

  [data-theme='dark'] .footer-lounge-desc {
    color: rgba(255, 255, 255, 0.78);
  }

  [data-theme='dark'] .footer-lounge-btn {
    color: rgba(255, 255, 255, 0.92);
    border-color: rgba(201, 168, 76, 0.42);
  }

  [data-theme='dark'] .footer-lounge-btn:hover {
    color: var(--gold-light);
    border-color: rgba(201, 168, 76, 0.65);
    background: rgba(255, 255, 255, 0.06);
  }

  [data-theme='dark'] .ticker-bounds::before {
    background: #1a1a2e;
  }

  [data-theme='dark'] .hero-whatsapp-ticker {
    background: #252547;
    border-color: var(--border);
  }

  @media (max-width: 700px) {
    .navbar-icon-btn {
      width: 22px;
      height: 22px;
    }

    .theme-toggle-btn,
    .theme-toggle-icon {
      font-size: 9px;
    }

    .navbar-actions {
      margin-left: auto;
      margin-right: 8px;
    }
  }

  /* Botão voltar ao topo */
  .scroll-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 85;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(184, 134, 11, 0.35);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--navy);
    box-shadow: 0 4px 18px rgba(15, 31, 63, 0.12);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(0.92);
    transition:
      opacity 0.28s ease,
      transform 0.28s ease,
      visibility 0.28s ease,
      background 0.2s ease,
      border-color 0.2s ease,
      box-shadow 0.2s ease;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  .scroll-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }

  .scroll-to-top:hover {
    background: var(--navy);
    color: var(--gold-light);
    border-color: var(--gold);
    box-shadow: 0 6px 22px rgba(15, 31, 63, 0.22);
  }

  .scroll-to-top:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
  }

  [data-theme='dark'] .scroll-to-top {
    background: rgba(37, 37, 71, 0.92);
    color: var(--gold-light);
    border-color: rgba(218, 165, 32, 0.4);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  }

  [data-theme='dark'] .scroll-to-top:hover {
    background: var(--gold-dark);
    color: #fff;
    border-color: var(--gold-light);
  }

  @media (max-width: 700px) {
    .scroll-to-top {
      right: 16px;
      bottom: 16px;
      width: 40px;
      height: 40px;
    }

    .scroll-to-top svg {
      width: 18px;
      height: 18px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .scroll-to-top {
      transition: opacity 0.15s ease, visibility 0.15s ease;
      transform: none;
    }

    .scroll-to-top.is-visible {
      transform: none;
    }
  }

  /* Área do Cliente */
  .body-canal-cliente .page-section {
    min-height: calc(100dvh - 220px);
    overflow: visible;
  }

  .canal-cliente-section {
    padding-top: 1.25rem;
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
  }

  .canal-cliente-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }

  .canal-cliente-card {
    width: 100%;
    max-width: 420px;
    padding: 1.75rem 1.5rem 1.5rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(30, 58, 138, 0.12);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
    text-align: center;
    overflow: visible;
  }

  .canal-cliente-logo {
    max-width: 200px;
    height: auto;
    margin: 0 auto 1rem;
    display: block;
  }

  .canal-cliente-title {
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 1.75rem;
    color: var(--navy, #1e3a8a);
    margin: 0 0 0.5rem;
  }

  .canal-cliente-lead {
    font-size: 0.9rem;
    color: #64748b;
    margin: 0 0 1rem;
    line-height: 1.5;
  }

  .canal-cliente-first-access {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    border: 1px solid rgba(30, 58, 138, 0.2);
    background: linear-gradient(180deg, #eff6ff, #f8fafc);
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #1d4ed8;
    text-align: left;
  }

  .canal-cliente-first-access strong {
    display: block;
    font-size: 1rem;
    margin-bottom: 0.2rem;
  }

  .canal-cliente-form {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .canal-cliente-field label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.35rem;
  }

  .canal-cliente-field input {
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: inherit;
    box-sizing: border-box;
  }

  .canal-cliente-field input:focus {
    outline: 2px solid rgba(184, 134, 11, 0.35);
    border-color: var(--gold, #b8860b);
  }

  .canal-cliente-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.9rem 1.25rem;
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    background: var(--navy, #1e3a8a);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    min-height: 3rem;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    transition: background 0.2s, transform 0.1s;
  }

  .canal-cliente-submit:hover {
    background: #1e40af;
    transform: translateY(-1px);
  }

  .canal-cliente-forgot {
    margin: 1rem 0 0;
    font-size: 0.85rem;
    text-align: right;
  }

  .canal-cliente-forgot a {
    color: var(--navy, #1e3a8a);
    text-decoration: none;
  }

  .canal-cliente-forgot a:hover {
    text-decoration: underline;
  }

  .canal-cliente-dev-hint {
    margin-top: 1.25rem;
    font-size: 0.8rem;
    color: #94a3b8;
    line-height: 1.45;
  }

  [data-theme='dark'] .canal-cliente-card {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(148, 163, 184, 0.2);
  }

  [data-theme='dark'] .canal-cliente-title {
    color: #e2e8f0;
  }

  [data-theme='dark'] .canal-cliente-lead,
  [data-theme='dark'] .canal-cliente-dev-hint {
    color: #94a3b8;
  }

  [data-theme='dark'] .canal-cliente-field label {
    color: #cbd5e1;
  }

  [data-theme='dark'] .canal-cliente-field input {
    background: #0f172a;
    border-color: #334155;
    color: #f1f5f9;
  }

  [data-theme='dark'] .canal-cliente-first-access {
    background: linear-gradient(180deg, rgba(30, 58, 138, 0.25), rgba(15, 23, 42, 0.5));
    border-color: rgba(96, 165, 250, 0.35);
    color: #93c5fd;
  }

  [data-theme='dark'] .canal-cliente-submit {
    background: var(--gold, #b8860b);
    color: #1a1a2e;
  }

  [data-theme='dark'] .canal-cliente-submit:hover {
    background: var(--gold-dark, #9a7209);
  }

  [data-theme='dark'] .canal-cliente-forgot a {
    color: #93c5fd;
  }

  @media (max-width: 700px) {
    .body-canal-cliente .page-section {
      min-height: auto;
    }

    .canal-cliente-section {
      padding-top: 0.75rem;
      padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
    }

    .canal-cliente-card {
      padding: 1.25rem 1rem 1.5rem;
    }

    .canal-cliente-logo {
      max-width: 160px;
    }

    .canal-cliente-title {
      font-size: 1.5rem;
    }

    .canal-cliente-lead {
      font-size: 0.85rem;
    }

    .canal-cliente-first-access {
      font-size: 0.875rem;
      padding: 0.75rem 0.875rem;
    }

    .canal-cliente-submit {
      position: sticky;
      bottom: max(0.5rem, env(safe-area-inset-bottom));
      z-index: 5;
      box-shadow: 0 4px 16px rgba(30, 58, 138, 0.35);
    }

    [data-theme='dark'] .canal-cliente-submit {
      box-shadow: 0 4px 16px rgba(184, 134, 11, 0.35);
    }
  }