/* STYLE INDEX */


  <style>
    :root {
      --gold:        #C9A84C;
      --gold-light:  #ffd046;
      --gold-light-2:#ffd251;
      --gold-light-3:#d9ba66;
      --gold-pale:   #F5EDD6;
      --gold-soft:   #fffbf1;
      --purple:      #3B0E80;
      --purple-2:    #400a91;
      --purple-dark: #2d1b4e;
      --purple-dark-2:#2d0963;
      --purple-light:#4e0cb3;
      --white:       #FFFFFF;
      --off-white:   #FAF9F7;
      --gray-100:    #f1f2f4;
      --gray-200:    #e1e3e8;
      --gray-400:    #9096a0;
      --gray-700:    #292b2e;
      --gray-900:    #171718;
      --text:        #1A1714;
      --font:        'Montserrat', sans-serif;
      --radius-sm:   6px;
      --radius-md:   12px;
      --shadow-md:   0 6px 24px rgba(45,27,78,.10);
      --t:           .25s cubic-bezier(.4,0,.2,1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html  { overflow-x: hidden; scroll-behavior: smooth; }
    body  { font-family: var(--font); background: var(--white); color: var(--text); font-size: 15px; line-height: 1.6; overflow-x: hidden; }
    img   { display: block; max-width: 100%; }
    a     { text-decoration: none; color: inherit; }

    .container { max-width: 1180px; margin: 0 auto; padding: 0 10px; }

    /* ============================================================
       TOPO
    ============================================================ */
    .site-header {
      padding: 20px 20px 20px;
      text-align: center;
    }

    .logo {
      display: inline-block;
      width: 60%;
      max-width: 250px;
      height: auto;
    }

    /* ============================================================
       CARDS CTA
    ============================================================ */
    .cta-section {
      margin: 10px 200px 10px 200px;
      padding: 10px 10px 10px 10px;
      border: 1px solid var(--gold);
      border-radius: 10px 10px 10px 10px;
    }

    .cta-cards {
      display:flex;
      gap: 10px;
      margin: 0 auto;
      margin-top:10px;
      justify-content: center;
    }

    @media (max-width: 560px) {
      .cta-cards { grid-template-columns: 1fr; }
      .cta-section {
        margin: 10px 10px 10px 10px;
        padding: 10px 10px 10px 10px;
        border: 1px solid var(--gold);
        border-radius: 10px 10px 10px 10px;
      }
    }

    .cta-card {
      background: var(--purple);
      color:white;
      border-radius: 30px;
      padding: 10px 20px;
      margin-top:10px;
      text-align: center;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.15);
    }

    .cta-card:hover {
      background: var(--purple-2);
      color:var(--gold-light);
      box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.15);
    }

    .cta-card-icon {
      width: 52px; height: 52px;
      background: var(--gold-soft); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: var(--gold); font-size: 1.4rem;
    }

    .cta-card p {
      font-size: 1.0rem; font-weight: 600;
      line-height: 1.45;
      text-align: center;
    }

    /* ============================================================
       SERVIÇOS — CORRIGIDO
    ============================================================ */
    .services-section {
      padding: 16px 16px 0;
      margin-left: 10px;
      margin-right: 10px;
      margin-top: 30px;
      border: 1px solid var(--gold-light-3);
      border-radius: 10px;
    }

    /* Container com display table para garantir que o divider fique vertical */
    .services-grid {
      display: table;
      width: 100%;
      max-width: 860px;
      margin: 0 auto;
      border-collapse: separate;
      border-spacing: 0;
    }

    .services-col,
    .services-divider-cell {
      display: table-cell;
      vertical-align: top;
    }

    .services-col {
      padding: 0 20px 16px;
      width: 47%;
    }

    .services-divider-cell {
      width: 6%;
      padding: 0;
      text-align: center;
    }

    /* Linha vertical real */
    .services-divider-line {
      display: inline-block;
      width: 1px;
      height: 100%;
      min-height: 180px;
      background: linear-gradient(to bottom, transparent, var(--gold) 15%, var(--gold) 85%, transparent);
    }

    @media (max-width: 600px) {
      .services-grid,
      .services-col,
      .services-divider-cell {
        display: block;
        width: 100%;
      }
      .services-divider-cell { display: none; }
      .services-col { padding: 0 4px 16px; }
    }

    .services-col h3 {
      font-size: 1.0rem;
      font-weight: 700;
      color: var(--gray-700);
      margin-bottom: 12px;
    }

    .services-col ul {
      list-style: none;
      display: flex; flex-direction: column;
      gap: 6px;
      margin-bottom: 14px;
    }

    .services-col ul li {
      display: flex; align-items: flex-start;
      gap: 8px;
      font-size: 1.0rem; color: var(--gray-700); line-height: 1.45;
    }

    /* Bullet substituído por ✅ dourado */
    .services-col ul li::before {
      content: '✅';
      font-size: .85em;
      margin-top: 2px;
      filter: sepia(1) saturate(3) hue-rotate(5deg);
    }

    .invest-label {
      font-size: .7rem; font-weight: 500;
      text-transform: uppercase; letter-spacing: .08em;
      color: var(--gray-700); margin-bottom: 8px;
    }

    /* ============================================================
       PERFIL
    ============================================================ */
    .profile-section {
      padding: 56px 20px 0;
    }

    .profile-wrap {
      background: var(--gray-100);
      border-radius: var(--radius-md);
      padding: 32px;
      display: flex; align-items: center; gap: 28px;
      max-width: 760px; margin: 0 auto;
    }

    @media (max-width: 580px) {
      .profile-wrap { flex-direction: column; text-align: center; padding: 24px 20px; }
    }

    .profile-photo {
      width: 150px; height: 150px;
      border-radius: 50%; object-fit: cover; flex-shrink: 0;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    @media (max-width: 580px) { .profile-photo { width: 130px; height: 130px; } }

    .profile-bio {
      background: var(--white);
      border-radius: var(--radius-sm);
      padding: 20px 22px; flex: 1;
    }

    .profile-bio h2 {
      font-size: 1.0rem; font-weight: 700;
      color: var(--purple); margin-bottom: 0px;
    }
    .profile-bio h3 {
      font-size: .85rem; font-weight: 700;
      color: var(--purple); margin-bottom: 8px;
    }

    .profile-bio p { font-size: .83rem; color: var(--gray-700); line-height: 1.75; }

    /* ============================================================
       SEÇÃO DE IMÓVEIS
    ============================================================ */
    .listings-section {
      margin-top: 56px;
      background: var(--gray-100);
      padding: 48px 0 60px;
    }

    .listings-section > .container > h2 {
      text-align: center;
      font-size: clamp(1rem, 2.5vw, 1.4rem);
      font-weight: 700; color: var(--purple);
      letter-spacing: .1em; text-transform: uppercase;
      margin-bottom: 20px;
    }

    /* ============================================================
       FILTRO DE IMÓVEIS
    ============================================================ */
    .filter-bar {
      background: var(--white);
      border: 1px solid var(--gold-light-3);
      border-radius: 14px;
      padding: 20px 24px 16px;
      margin-bottom: 28px;
      box-shadow: 0 2px 12px rgba(45,27,78,.06);
    }

    .filter-bar h3 {
      font-size: .78rem;
      font-weight: 700;
      color: var(--purple);
      text-transform: uppercase;
      letter-spacing: .1em;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .filter-bar h3 i { color: var(--gold); }

    .filter-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 14px 18px;
      align-items: start;
    }

    @media (max-width: 560px) {
      .filter-grid { grid-template-columns: 1fr; }
      .filter-bar { padding: 16px 14px 12px; }
    }

    .filter-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .filter-group label {
      font-size: .68rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: var(--gray-400);
    }

    .filter-group select,
    .filter-group input[type="number"] {
      font-family: var(--font);
      font-size: .8rem;
      color: var(--gray-700);
      background: var(--gray-100);
      border: 1.5px solid var(--gray-200);
      border-radius: 8px;
      padding: 8px 12px;
      outline: none;
      transition: border-color var(--t), box-shadow var(--t);
      width: 100%;
      appearance: none;
      -webkit-appearance: none;
    }

    .filter-group select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      padding-right: 32px;
    }

    .filter-group select:focus,
    .filter-group input[type="number"]:focus {
      border-color: var(--gold);
      box-shadow: 0 0 0 3px rgba(201,168,76,.15);
      background-color: var(--gold-soft);
    }

    /* Chips para quartos/banheiros/vagas */
    .filter-chips {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }

    .chip {
      font-family: var(--font);
      font-size: .75rem;
      font-weight: 600;
      color: var(--gray-700);
      background: var(--gray-100);
      border: 1.5px solid var(--gray-200);
      border-radius: 20px;
      padding: 5px 13px;
      cursor: pointer;
      transition: all var(--t);
      user-select: none;
    }

    .chip:hover { border-color: var(--gold); color: var(--purple); }
    .chip.active {
      background: var(--purple);
      border-color: var(--purple);
      color: var(--gold-light);
    }

    /* Linha de preço com range */
    .filter-range-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    /* Checkbox toggle */
    .filter-toggle {
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
      margin-top: 4px;
    }

    .filter-toggle input[type="checkbox"] { display: none; }

    .toggle-track {
      width: 36px; height: 20px;
      background: var(--gray-200);
      border-radius: 20px;
      position: relative;
      transition: background var(--t);
      flex-shrink: 0;
    }

    .toggle-track::after {
      content: '';
      position: absolute;
      top: 3px; left: 3px;
      width: 14px; height: 14px;
      background: var(--white);
      border-radius: 50%;
      transition: transform var(--t);
      box-shadow: 0 1px 3px rgba(0,0,0,.2);
    }

    .filter-toggle input:checked + .toggle-track { background: var(--gold); }
    .filter-toggle input:checked + .toggle-track::after { transform: translateX(16px); }

    .toggle-label {
      font-size: .75rem;
      font-weight: 600;
      color: var(--gray-700);
    }

    /* Botões de ação do filtro */
    .filter-actions {
      display: flex;
      gap: 10px;
      margin-top: 16px;
      justify-content: flex-end;
      flex-wrap: wrap;
    }

    .btn-filter-clear {
      font-family: var(--font);
      font-size: .74rem;
      font-weight: 600;
      color: var(--gray-400);
      background: none;
      border: 1.5px solid var(--gray-200);
      border-radius: 20px;
      padding: 7px 18px;
      cursor: pointer;
      transition: all var(--t);
    }

    .btn-filter-clear:hover { color: var(--gray-700); border-color: var(--gray-400); }

    .btn-filter-apply {
      font-family: var(--font);
      font-size: .74rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--white);
      background: var(--purple);
      border: none;
      border-radius: 20px;
      padding: 7px 22px;
      cursor: pointer;
      transition: all var(--t);
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .btn-filter-apply:hover { background: var(--purple-2); color: var(--gold-light); }

    /* Contador de resultados */
    .results-count {
      font-size: .78rem;
      color: var(--gray-400);
      margin-bottom: 16px;
      font-weight: 500;
    }

    .results-count strong { color: var(--purple); }

    /* 4 col desktop | 2 tablet | 1 mobile */
    .listings-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }

    @media (max-width: 1024px) { .listings-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px)  { .listings-grid { grid-template-columns: 1fr; } }

    /* ---- Card de imóvel ---- */
    .prop-card {
      background: var(--white);
      border: 1px solid var(--gold-light-3);
      border-radius: 10px;
      overflow: hidden;
      display: flex; flex-direction: column;
      transition: box-shadow var(--t), transform var(--t);
    }

    .prop-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .prop-card.hidden { display: none; }

    /* Galeria */
    .prop-gallery {
      position: relative; width: 100%;
      aspect-ratio: 4 / 3; overflow: hidden;
      background: var(--gray-200); cursor: pointer;
    }

    .prop-gallery-track {
      display: flex; height: 100%;
      transition: transform .3s ease;
      will-change: transform;
    }

    .prop-gallery-slide { flex: 0 0 100%; height: 100%; }

    .prop-gallery-slide img {
      width: 100%; height: 100%;
      object-fit: cover; display: block;
      pointer-events: none; user-select: none;
    }

    /* Tipo do imóvel — abaixo da foto */
    .prop-type-tag {
      background: var(--gray-100);
      padding: 4px 14px;
      font-size: .65rem;
      font-weight: 500;
      color: var(--gray-400);
      letter-spacing: .04em;
      border-bottom: 1px solid var(--gray-200);
    }

    /* Setas */
    .prop-arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: rgba(255,255,255,.82); border: none;
      width: 28px; height: 28px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; color: var(--purple); font-size: .7rem;
      transition: background var(--t); z-index: 5;
    }
    .prop-arrow:hover { background: var(--white); }
    .prop-arrow.prev { left: 8px; }
    .prop-arrow.next { right: 8px; }

    /* Badge status */
    .prop-status {
      position: absolute; top: 10px; right: 10px;
      font-size: .62rem; font-weight: 700;
      text-transform: uppercase; letter-spacing: .05em;
      padding: 3px 10px; border-radius: 50px;
      pointer-events: none; z-index: 4;
    }

    .prop-status.disponivel  { background: var(--gold); color: var(--purple-dark); }
    .prop-status.indisponivel { background: #C0392B; color: #fff; }

    /* Miniaturas */
    .prop-thumbs {
      display: flex; gap: 4px;
      overflow-x: auto; padding: 6px 8px 4px;
      scrollbar-width: thin; scrollbar-color: var(--gold) transparent;
      background: var(--white);
    }
    .prop-thumbs::-webkit-scrollbar       { height: 3px; }
    .prop-thumbs::-webkit-scrollbar-track { background: transparent; }
    .prop-thumbs::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 2px; }

    .prop-thumb {
      flex: 0 0 44px; height: 32px;
      border-radius: 3px; overflow: hidden; cursor: pointer;
      border: 1.5px solid transparent;
      opacity: .7; transition: opacity var(--t), border-color var(--t);
    }
    .prop-thumb img            { width: 100%; height: 100%; object-fit: cover; }
    .prop-thumb.active         { border-color: var(--gold); opacity: 1; }
    .prop-thumb:hover:not(.active) { opacity: 1; }

    /* Info */
    .prop-info {
      padding: 14px 14px 16px;
      display: flex; flex-direction: column; gap: 3px; flex: 1;
    }

    .prop-condo       { font-size: .92rem; font-weight: 600; color: var(--gray-900); line-height: 1.2; }
    .prop-street      { font-size: .7rem; color: var(--gray-700); }
    .prop-neighborhood { font-size: .8rem; font-weight: 500; color: var(--gray-700); }

    .prop-features { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }

    .prop-feature { display: flex; align-items: center; gap: 4px; font-size: .74rem; color: var(--gray-700); }
    .prop-feature i { color: var(--gray-700); font-size: .68rem; }

    .prop-price { font-size: 1rem; font-weight: 500; color: var(--gray-700); margin-top: 8px; }
    .prop-price span { font-size: .65em; color: var(--gray-700); font-weight: 500; }

    .prop-costs { font-size: .68rem; color: var(--gray-700); margin-top: 2px; }

    /* Mensagem sem resultados */
    .no-results {
      grid-column: 1 / -1;
      text-align: center;
      padding: 40px 20px;
      color: var(--gray-400);
      font-size: .9rem;
    }

    .no-results i { font-size: 2rem; color: var(--gold-light-3); display: block; margin-bottom: 10px; }

    /* Botão "desejo mais imóveis" */
    .more-btn-wrap { text-align: center; margin-top: 36px; }

    .btn-more {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--purple); color: var(--white);
      font-family: var(--font); font-size: .82rem; font-weight: 700;
      letter-spacing: .06em; text-transform: uppercase;
      padding: 14px 32px; border-radius: 50px; border: none; cursor: pointer;
      transition: background var(--t), transform var(--t), box-shadow var(--t);
    }
    .btn-more:hover { color: var(--gold-light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(59,14,128,.3); }
    .btn-more i { font-size: 1.1rem; }

    /* ============================================================
       RODAPÉ
    ============================================================ */
    .site-footer {
      background: var(--purple-dark); padding: 26px 24px;
      text-align: center; color: rgba(255,255,255,.5);
      font-family: var(--font); font-size: .75rem; letter-spacing: .04em;
    }
    .site-footer a { color: var(--gold); }

    /* ============================================================
       BOTÃO FLUTUANTE WHATSAPP
    ============================================================ */
    .wa-float {
      position: fixed; bottom: 28px; right: 24px; z-index: 999;
      width: 56px; height: 56px; background: var(--purple);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      color: var(--gold-light); font-size: 2rem; transition: transform var(--t);
    }
    .wa-float:hover { transform: scale(1.1); }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(14px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .fade-up { animation: fadeUp .45s ease both; }
    .d1 { animation-delay: .08s; }
    .d2 { animation-delay: .16s; }










/* STYLE ADMINISTRACAO */
    :root {
      --gold:        #C9A84C;
      --gold-light:  #ffd046;
      --gold-pale:   #F5EDD6;
      --purple:      #3B0E80;
      --purple-dark: #2d1b4e;
      --white:       #FFFFFF;
      --off-white:   #FAF9F7;
      --gray-100:    #F4F3F1;
      --gray-200:    #E8E6E1;
      --gray-400:    #A09990;
      --gray-700:    #4A4540;
      --red:         #C0392B;
      --text:        #1A1714;
      --font:        'Montserrat', sans-serif;
      --radius-sm:   6px;
      --radius-md:   12px;
      --shadow-md:   0 6px 24px rgba(45,27,78,.10);
      --t:           .25s cubic-bezier(.4,0,.2,1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html  { overflow-x: hidden; scroll-behavior: smooth; }
    body  { font-family: var(--font); background: var(--white); color: var(--text); font-size: 15px; line-height: 1.6; overflow-x: hidden; }
    img   { display: block; max-width: 100%; }
    a     { text-decoration: none; color: inherit; }

    .container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

    /* ============================================================
       TOPO
    ============================================================ */
    .site-header {
      padding: 20px 20px 20px;
      text-align: center;
    }

    .logo {
      display: inline-block;
      width: 60%;
      max-width: 250px;
      height: auto;
    }

    /* ============================================================
       HERO DA PÁGINA
    ============================================================ */
    .page-hero {
      text-align: center;
      padding: 52px 20px 12px;
      max-width: 700px;
      margin: 0 auto;
    }

    .page-hero h1 {
      font-size: clamp(1.3rem, 3.5vw, 2rem);
      font-weight: 700;
      color: var(--purple);
      line-height: 1.2;
    }

    .page-hero p {
      margin-top: 12px;
      font-size: .9rem;
      color: var(--gray-700);
      line-height: 1.7;
    }

    .gold-bar {
      width: 48px; height: 3px;
      background: var(--gold);
      border-radius: 2px;
      margin: 18px auto 0;
    }

    /* ============================================================
       CARDS DE SERVIÇO
       2 colunas no desktop, 1 no mobile
    ============================================================ */
    .services-wrap {
      padding: 48px 20px 0;
    }

    .services-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      max-width: 1000px;
      margin: 0 auto;
    }

    @media (max-width: 760px) {
      .services-grid { grid-template-columns: 1fr; }
    }

    .service-card {
      border: 1px solid var(--gray-200);
      border-radius: var(--radius-md);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      background: var(--white);
      transition: box-shadow var(--t), transform var(--t);
    }

    .service-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
    }

    /* Cabeçalho do card */
    .card-header {
      background: var(--purple);
      padding: 24px 24px 20px;
    }

    .card-header h2 {
      font-size: clamp(.95rem, 2vw, 1.15rem);
      font-weight: 700;
      color: var(--white);
      line-height: 1.3;
    }

    .card-header .card-tag {
      display: inline-block;
      margin-top: 10px;
      background: var(--gold);
      color: var(--purple-dark);
      font-size: .7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .07em;
      padding: 4px 12px;
      border-radius: 50px;
    }

    /* Corpo do card */
    .card-body {
      padding: 22px 24px 28px;
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    /* Bloco "O que está incluso" / "O que não está incluso" */
    .list-block h3 {
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .list-block.incluso h3  { color: var(--purple); }
    .list-block.excluso h3  { color: var(--red); }

    .list-block h3 i        { font-size: .85rem; }

    .list-block ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 7px;
    }

    .list-block ul li {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      font-size: .82rem;
      color: var(--gray-700);
      line-height: 1.45;
    }

    /* Ícone bullet */
    .list-block ul li i {
      font-size: .72rem;
      margin-top: 4px;
      flex-shrink: 0;
    }

    .list-block.incluso ul li i { color: var(--gold); }
    .list-block.excluso ul li i { color: var(--red); }

    /* Taxa de serviço */
    .taxa-block {
      margin-top: auto;
      background: var(--gold-pale);
      border: 1px solid rgba(201,168,76,.35);
      border-radius: var(--radius-sm);
      padding: 14px 18px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .taxa-block i {
      color: var(--gold);
      font-size: 1.2rem;
      flex-shrink: 0;
    }

    .taxa-block .taxa-text {
      font-size: .8rem;
      color: var(--gray-700);
      line-height: 1.4;
    }

    .taxa-block .taxa-value {
      font-size: 1rem;
      font-weight: 700;
      color: var(--purple);
    }

    /* ============================================================
       CTA FINAL
    ============================================================ */
    .cta-section-adm {
      text-align: center;
      padding: 52px 20px 0;
    }

    .cta-section-adm p {
      font-size: .9rem;
      color: var(--gray-700);
      margin-bottom: 20px;
    }

    .btn-cta {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--purple); color: var(--white);
      font-family: var(--font); font-size: .82rem; font-weight: 700;
      letter-spacing: .06em; text-transform: uppercase;
      padding: 14px 32px; border-radius: 50px; border: none; cursor: pointer;
      transition: background var(--t), transform var(--t), box-shadow var(--t);
    }
    .btn-cta:hover { color: var(--gold-light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(59,14,128,.3); }
    .btn-cta i { font-size: 1.1rem; }

    /* ============================================================
       RODAPÉ
    ============================================================ */
    .site-footer {
      margin-top: 60px;
      background: var(--purple-dark); padding: 26px 24px;
      text-align: center; color: rgba(255,255,255,.5);
      font-family: var(--font); font-size: .75rem; letter-spacing: .04em;
    }
    .site-footer a { color: var(--gold); }

    /* ============================================================
       BOTÃO FLUTUANTE WHATSAPP
    ============================================================ */
    .wa-float {
      position: fixed; bottom: 28px; right: 24px; z-index: 999;
      width: 56px; height: 56px; background: var(--purple);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      color: var(--gold-light); font-size: 2rem; transition: transform var(--t);
    }
    .wa-float:hover { transform: scale(1.1); }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(14px); }
      to   { opacity: 1; transform: translateY(0); }
    }