/* ==========================================================================
   STYLE — reset, base, layout e todos os componentes (mobile-first)
   Depende de variables.css (custom properties) já carregado antes deste arquivo.
   ========================================================================== */

*{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}

  body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;position:relative;}
  /* Grão fotográfico extremamente discreto sobre toda a página — a textura que faz a interface
     parecer impressa/fotografada em vez de "tela de site". Puramente decorativo, não intercepta cliques. */
  body::before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.022;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23n)'/%3E%3C/svg%3E");}
  h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--navy);letter-spacing:-.012em;}
  a{text-decoration:none;color:inherit;}
  a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px;}
  /* Color grading discreto nas fotos reais (tom mais quente, leve profundidade) — efeito puramente
     de exibição via CSS, a imagem original não é alterada. Logo/ícones ficam de fora.
     A sombra interna (vignette) unifica fotos de fontes/luzes diferentes num mesmo "filme" visual,
     como uma direção de arte de revista — segue automaticamente o raio do contêiner que a recorta. */
  img{max-width:100%;display:block;height:auto;filter:saturate(1.03) contrast(1.015) sepia(.032) brightness(1.008);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 -36px 54px -38px rgba(16,40,75,.16);}
  .logo img,.footer-logo img,.google-g,img.review-print{filter:none;box-shadow:none;}
  ul{list-style:none;}
  button{font-family:inherit;}

  /* Mobile-first base */
  .container{max-width:1180px;margin:0 auto;padding:0 20px;}
  /* Container mais largo para a vitrine de vídeos — sensação de "quase tela cheia" (Apple/Tesla) */
  .container-wide{max-width:1440px;margin:0 auto;padding:0 20px;}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
  .eyebrow::before{content:'';width:26px;height:1px;flex-shrink:0;background:linear-gradient(90deg,var(--gold),var(--gold-light));}
  .h2{font-size:29px;font-weight:700;line-height:1.3;margin-bottom:22px;letter-spacing:-.017em;}
  .lead{color:var(--text-muted);font-size:15.5px;max-width:560px;line-height:1.8;}
  .center{text-align:center;margin-left:auto;margin-right:auto;}
  .section{padding:120px 0;background:var(--bg);position:relative;}
  .section-alt{background:radial-gradient(ellipse 70% 45% at 82% 0%,rgba(23,52,95,.035),transparent 60%),var(--bg-alt);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 60px 80px -70px rgba(255,255,255,.7);}
  .section-head{margin-bottom:72px;}

  /* PERSONALIDADE POR SEÇÃO — cada momento emocional da página recebe sua própria luz,
     em vez de uma única fórmula repetida. Sutil o suficiente para nunca parecer decoração. */
  #equipe{background:radial-gradient(ellipse 55% 50% at 12% 100%,rgba(212,176,106,.06),transparent 55%),radial-gradient(ellipse 70% 45% at 85% 0%,rgba(23,52,95,.03),transparent 60%),var(--bg-alt);}
  #jornada{background:radial-gradient(ellipse 55% 42% at 50% 0%,rgba(212,176,106,.045),transparent 60%),var(--bg-alt);}
  #casos-reais{background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(23,52,95,.045),transparent 55%),var(--bg-alt);}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:19px 34px;border-radius:999px;font-weight:600;font-size:14.5px;letter-spacing:.01em;transition:.45s var(--ease);border:none;cursor:pointer;white-space:nowrap;}
  .btn-primary{background:linear-gradient(180deg,#1F4577,var(--navy));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 40px -12px rgba(16,40,75,.28);}
  .btn-primary:hover{background:linear-gradient(180deg,var(--navy),var(--navy-deep));transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 22px 46px -12px rgba(16,40,75,.32);}
  .btn:active{transform:scale(.97);}
  .btn-outline{background:rgba(255,255,255,.5);color:var(--navy);border:1.5px solid #d8d2c2;box-shadow:0 1px 2px rgba(16,40,75,.04);}
  .btn-outline:hover{border-color:var(--navy);background:var(--bg-alt);}

  /* HEADER */
  header{position:sticky;top:0;z-index:100;background:rgba(250,248,243,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,52,95,.06);box-shadow:0 1px 0 rgba(16,40,75,.02),0 12px 30px -18px rgba(16,40,75,.12);}
  .navwrap{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;}
  .logo{font-size:17px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:9px;}
  .logo img{width:32px;height:32px;border-radius:8px;object-fit:cover;}
  nav{display:none;}
  nav ul{display:flex;gap:32px;font-weight:500;font-size:14px;color:var(--ink);}
  nav a{opacity:.72;transition:.25s var(--ease);}
  nav a:hover{opacity:1;}
  .header-cta{display:none;}
  .header-cta-mobile{display:inline-flex;}

  /* HERO — a seção mais fotográfica da página: duas fontes de luz extremamente discretas
     (dourada quente por trás do texto, azul fria por trás da foto) para sensação de ambiente
     iluminado naturalmente, não de fundo chapado. */
  .hero{padding:70px 0 90px;background:radial-gradient(ellipse 60% 50% at 20% -10%,rgba(176,138,62,.055),transparent 60%),radial-gradient(ellipse 55% 60% at 85% 20%,rgba(23,52,95,.05),transparent 62%),var(--bg);}
  .hero-text{margin-bottom:54px;}
  .hero h1{font-size:36px;font-weight:700;line-height:1.22;margin-bottom:28px;letter-spacing:-.02em;}
  .hero-sub{color:var(--text-muted);font-size:16.5px;margin-bottom:44px;line-height:1.7;}
  .hero-actions{display:flex;flex-direction:column;gap:14px;margin-bottom:8px;}
  .hero-actions .btn{width:100%;}
  .btn-hero{padding:21px 36px;font-size:15.5px;}
  /* Gradiente cinematográfico visível no filete entre as fotos antes/depois — como o vinco
     entre duas páginas de uma revista, não um simples espaço em branco. */
  .hero-photo{border-radius:26px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(23,52,95,.96),rgba(16,40,71,.90));}

  /* Vídeos em destaque no Hero: cards com pôster real, badge e play (abrem em lightbox) */
  .hero-video-cards-lead{font-size:13px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin:26px 0 14px;}
  .hero-video-cards{display:flex;gap:16px;}
  .hero-video-card{position:relative;flex:1 1 0;min-width:0;max-width:170px;aspect-ratio:9/16;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.14);padding:0;cursor:pointer;background:linear-gradient(180deg,var(--navy-mid),var(--navy-deep));box-shadow:0 22px 46px -12px rgba(16,40,75,.38);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
  .hero-video-card:hover{transform:translateY(-4px);box-shadow:0 28px 56px -12px rgba(16,40,75,.44);}
  .hero-video-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .hero-video-card img{width:100%;height:100%;object-fit:cover;display:block;}
  .hero-video-card-badge{position:absolute;top:10px;left:10px;right:10px;background:rgba(250,248,243,.92);color:var(--navy);font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:999px;text-align:center;backdrop-filter:blur(6px);}
  .hero-video-card-play{position:absolute;bottom:12px;left:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.97);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(16,40,75,.35);}
  .hero-video-card-play .play-icon{width:15px;height:15px;fill:var(--navy);margin-left:2px;}

  /* Lightbox de vídeo (compartilhado) */
  .video-lightbox{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;}
  .video-lightbox[hidden]{display:none;}
  .video-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,18,32,.9);backdrop-filter:blur(4px);}
  .video-lightbox-content{position:relative;z-index:1;max-width:340px;width:100%;}
  .video-lightbox-content video{width:100%;height:auto;aspect-ratio:640/1138;border-radius:22px;display:block;background:#000;box-shadow:0 30px 70px rgba(0,0,0,.5);}
  .video-lightbox-close{position:absolute;top:-46px;right:0;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.16);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;transition:.25s var(--ease);}
  .video-lightbox-close:hover{background:rgba(255,255,255,.3);}
  .video-lightbox-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .video-lightbox-caption{color:#fff;text-align:center;font-size:13px;margin-top:14px;opacity:.85;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;}
  .hero-photo--ba{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:5px;}

  /* FAIXA DE CONFIANÇA */
  .trust-bar{padding:34px 0;background:var(--bg-alt-2);border-bottom:1px solid var(--border);box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}
  .trust-bar-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .trust-bar-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:12.5px;font-weight:600;color:var(--navy);letter-spacing:.01em;transition:opacity .25s var(--ease);}
  .trust-bar-item:hover{opacity:.72;}
  .trust-bar-item i{font-size:19px;color:var(--gold);}
  .trust-bar-item .google-g{width:19px;height:19px;}
  .trust-bar-stars{display:inline-block;margin-top:3px;color:var(--gold);font-size:11px;font-style:normal;letter-spacing:1.5px;}

  /* PROBLEMAS */
  .problem-grid{display:grid;grid-template-columns:1fr;gap:18px;}
  .problem-card{display:flex;align-items:center;gap:18px;background:linear-gradient(180deg,#FFFFFF,var(--bg-card));border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm);backdrop-filter:blur(16px);transition:.4s var(--ease);}
  .problem-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
  .problem-text{flex:1;min-width:0;}
  .problem-text strong{display:block;font-size:15.5px;font-weight:600;color:var(--navy);margin-bottom:4px;}
  .problem-text span{font-size:12.5px;color:var(--text-muted);line-height:1.55;}
  .problem-arrow{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#FFFFFF,var(--bg-card) 75%);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.3s var(--ease);}
  .problem-arrow i{color:var(--navy);font-size:12px;transition:.3s var(--ease);}
  .problem-card:hover .problem-arrow{background:var(--gold);border-color:var(--gold);}
  .problem-card:hover .problem-arrow i{color:#fff;transform:translateX(2px);}

  /* SOBRE */
  .about-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;}
  .about-photo-single{border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);}
  .about-photo-single img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
  .about-photo-single:hover img{transform:scale(1.04);}
  .about-list{margin:22px 0 28px;display:grid;gap:13px;}
  .about-list li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--ink);}
  .about-list i{color:var(--gold);margin-top:4px;font-size:13px;}

  /* TRATAMENTOS */
  .treat-featured{display:grid;grid-template-columns:1fr;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:20px;}
  .treat-featured .tf-photo{aspect-ratio:4/3;}
  .treat-featured .tf-photo img{width:100%;height:100%;object-fit:cover;}
  .treat-featured .tf-body{background:radial-gradient(ellipse 80% 100% at 100% 0%,rgba(212,176,106,.1),transparent 55%),linear-gradient(180deg,var(--navy),var(--navy-deep));color:#fff;padding:34px 30px;}
  .treat-featured .tf-tag{display:inline-block;background:rgba(255,255,255,.12);color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:12px;width:fit-content;}
  .treat-featured h3{color:#fff;font-size:21px;margin-bottom:10px;}
  .treat-featured p{color:#cbd6e6;font-size:13.5px;margin-bottom:18px;}
  .treat-grid{display:grid;grid-template-columns:1fr;gap:20px;}
  .treat-card{background:linear-gradient(180deg,#FFFFFF,var(--bg-card));border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-lg);padding:26px 24px;box-shadow:var(--shadow-sm);backdrop-filter:blur(16px);transition:.4s var(--ease);overflow:hidden;}
  .treat-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
  .treat-card.has-photo{padding:0 0 26px;}
  .treat-photo{aspect-ratio:4/3;margin-bottom:18px;}
  .treat-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .treat-card.has-photo .treat-body{padding:0 24px;}
  .treat-icon{width:44px;height:44px;border-radius:13px;background:radial-gradient(circle at 32% 28%,#FFFFFF,var(--bg-alt) 75%);box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 -2px 4px rgba(23,52,95,.06);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--navy);margin-bottom:16px;}
  .treat-card h3{font-size:16px;margin-bottom:7px;}
  .treat-card p{color:var(--text-muted);font-size:13px;margin-bottom:15px;line-height:1.6;}
  .treat-link{font-size:13px;font-weight:600;color:var(--navy);display:inline-flex;align-items:center;gap:6px;}
  .treat-link i{transition:transform .3s var(--ease);}
  .treat-link:hover i{transform:translateX(3px);}

  /* DIFERENCIAL (manifesto enxuto — sem lista redundante) — a aspa decorativa dá peso editorial
     ao momento de maior carga emocional da página, como uma citação de revista, não uma legenda de UI. */
  .diff-wrap{display:flex;justify-content:center;padding:6px 0;}
  .diff-quote{position:relative;font-family:'Poppins',sans-serif;font-size:22px;font-weight:600;color:var(--navy);line-height:1.4;max-width:680px;}
  .diff-quote::before{content:'\201C';position:absolute;top:-.32em;left:-.04em;font-family:Georgia,'Times New Roman',serif;font-size:2.6em;font-weight:700;color:var(--gold-light);opacity:.4;line-height:1;pointer-events:none;}
  .diff-quote span{color:var(--gold);}

  /* CASOS REAIS */
  .cases-note{background:linear-gradient(180deg,#FFFFFF,var(--bg-card));border:1px solid rgba(255,255,255,.32);border-radius:16px;padding:18px 22px;font-size:13.5px;color:var(--text-muted);margin-bottom:30px;box-shadow:var(--shadow-sm);}
  .cases-note i{color:var(--gold);margin-right:8px;}
  .result-single{max-width:280px;margin:0 auto;}
  .result-card{transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
  .result-card:hover{transform:translateY(-4px);}

  /* ANTES E DEPOIS */
  .before-after{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);}
  .ba-item{position:relative;}
  .ba-item img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
  /* Fotos originais mais largas (recortadas de imagens já compostas antes/depois) — usar uma
     caixa menos vertical evita cortar demais as laterais do sorriso. */
  .before-after--wide .ba-item img{aspect-ratio:3/2;}
  .ba-tag{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:999px;color:#fff;backdrop-filter:blur(6px);}
  .ba-before{background:rgba(75,85,99,.82);}
  .ba-after{background:linear-gradient(180deg,var(--navy-mid),var(--navy));}
  .ba-caption{text-align:center;font-size:13px;color:var(--text-muted);margin-top:16px;}
  .result-card{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);position:relative;}
  .result-card img{width:100%;aspect-ratio:4/5;object-fit:cover;}
  .result-tag{position:absolute;bottom:12px;left:12px;background:rgba(16,40,75,.8);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;padding:5px 12px;border-radius:999px;}

  /* INSTAGRAM GRID (2 col mobile / 4 col desktop) */
  .ig-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .ig-tile{aspect-ratio:1/1;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);position:relative;display:block;}
  .ig-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
  .ig-tile:hover img{transform:scale(1.05);}
  .ig-tile-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(16,40,75,.82));color:#fff;font-size:11px;font-weight:600;padding:20px 10px 10px;}

  /* CTA CARDS (google / instagram) */
  .cta-card{background:radial-gradient(ellipse 80% 100% at 100% 0%,rgba(212,176,106,.1),transparent 55%),linear-gradient(180deg,var(--navy),var(--navy-deep));border-radius:22px;padding:34px 28px;display:flex;flex-direction:column;gap:20px;color:#fff;box-shadow:var(--shadow);}
  .cta-card-left{display:flex;align-items:center;gap:16px;}
  .cta-card-left i,.cta-card-left svg{font-size:30px;width:30px;height:30px;color:var(--gold-light);}
  .cta-card-left strong{display:block;font-size:17px;margin-bottom:3px;}
  .cta-card-left span{font-size:13px;color:#b9c6d8;}
  .cta-card .btn{background:#FDFBF6;color:var(--navy);}
  .cta-card .btn:hover{background:var(--gold-soft);}

  /* RESUMO VISUAL DAS AVALIAÇÕES (nota/quantidade só entram quando confirmadas — ver HTML) */
  .review-summary{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;background:linear-gradient(180deg,#FFFFFF,var(--bg-card));border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-lg);padding:34px 30px;margin-bottom:44px;box-shadow:var(--shadow-sm);backdrop-filter:blur(16px);}
  .review-summary-stars{color:var(--gold);font-size:24px;letter-spacing:4px;}
  .review-summary-text strong{display:block;font-size:15.5px;color:var(--navy);margin-bottom:2px;}
  .review-summary-text span{font-size:12.5px;color:var(--text-muted);}

  /* CARROSSEL DE AVALIAÇÕES (vanilla JS + CSS, sem biblioteca) */
  .reviews-carousel{position:relative;}
  .rc-track-wrap{overflow:hidden;}
  .rc-track{display:flex;list-style:none;margin:0;padding:0;transition:transform .5s var(--ease);touch-action:pan-y;}
  .rc-slide{flex:0 0 100%;padding:0 8px;box-sizing:border-box;}
  .rc-slide .review-card{height:100%;}
  .review-card{background:linear-gradient(180deg,#FFFFFF,var(--bg-card));border:1px solid rgba(255,255,255,.32);border-left:2.5px solid var(--gold-light);border-radius:var(--radius-lg);padding:32px 30px;display:flex;flex-direction:column;min-height:230px;box-shadow:var(--shadow-sm);backdrop-filter:blur(16px);transition:.4s var(--ease);}
  .review-print{width:100%;height:auto;border-radius:12px;border:1px solid var(--border);margin-bottom:16px;display:block;}
  .review-stars{color:var(--gold);font-size:16px;letter-spacing:3px;margin-bottom:16px;}
  .review-text{font-size:15px;color:var(--ink);margin-bottom:22px;line-height:1.78;flex:1;}
  .review-author{font-size:14px;font-weight:700;color:var(--navy);display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:14px;border-top:1px solid var(--border);}
  .review-author cite{font-style:normal;}
  .review-source{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--text-muted);}
  .google-g{width:1em;height:1em;flex-shrink:0;vertical-align:-0.15em;}
  .whatsapp-icon,.instagram-icon{width:1em;height:1em;flex-shrink:0;vertical-align:-0.15em;fill:currentColor;}
  /* Ícone do WhatsApp na cor verde oficial da marca (mais reconhecível do que herdar a cor do
     texto ao redor) — exceto dentro do botão flutuante, que já é verde, onde o ícone segue branco. */
  .whatsapp-icon{color:#25D366;}
  .wa-float .whatsapp-icon{color:#fff;}
  .review-source .google-g{width:13px;height:13px;}
  .review-summary-cta .google-g{width:15px;height:15px;}
  .rc-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:var(--bg-card);border:1px solid rgba(255,255,255,.32);align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);z-index:2;transition:.3s var(--ease);}
  .rc-arrow:hover{border-color:var(--navy);transform:translateY(-52%);}
  .rc-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .rc-arrow i{color:var(--navy);font-size:14px;}
  .rc-dots{display:flex;justify-content:center;gap:9px;margin-top:28px;}
  .rc-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:.3s var(--ease);}
  .rc-dot:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .rc-dot.active{background:var(--gold);width:22px;border-radius:5px;}

  /* VITRINE PREMIUM DE VÍDEOS — os depoimentos em vídeo são o maior patrimônio de prova social
     da marca; esta seção trata cada vídeo como protagonista (pôster grande, play sofisticado,
     legenda discreta), num carrossel largo em vez de um grid comum. Suporta várias instâncias
     na página (ver JS: document.querySelectorAll('[data-video-carousel]')). */
  .video-showcase-section{overflow:hidden;background:radial-gradient(ellipse 60% 50% at 15% 0%,rgba(176,138,62,.045),transparent 60%),radial-gradient(ellipse 50% 40% at 92% 100%,rgba(23,52,95,.04),transparent 55%),var(--bg-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}
  .video-showcase{position:relative;}
  .vs-track-wrap{overflow:hidden;}
  .vs-track{display:flex;list-style:none;margin:0;padding:0;gap:24px;transition:transform .5s var(--ease);touch-action:pan-y;}
  .vs-slide{flex:0 0 80%;box-sizing:border-box;}
  .vs-card{position:relative;display:block;width:100%;padding:0;border:1px solid rgba(255,255,255,.14);cursor:pointer;border-radius:30px;overflow:hidden;aspect-ratio:9/16;background:linear-gradient(180deg,var(--navy-mid),var(--navy-deep));box-shadow:0 35px 80px -20px rgba(16,40,75,.4),0 15px 30px -12px rgba(16,40,75,.2);transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
  .vs-card:hover{transform:translateY(-6px);box-shadow:0 34px 70px -16px rgba(16,40,75,.5);}
  .vs-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .vs-card img{width:100%;height:100%;object-fit:cover;display:block;}
  .vs-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.97);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(16,40,75,.38);transition:transform .35s var(--ease);}
  .vs-card:hover .vs-card-play{transform:translate(-50%,-50%) scale(1.08);}
  .vs-card-play .play-icon{width:21px;height:21px;fill:var(--navy);margin-left:3px;}
  .vs-card-caption{position:absolute;bottom:0;left:0;right:0;padding:26px 20px 18px;background:linear-gradient(transparent,rgba(8,18,32,.86));color:#fff;font-size:13px;font-weight:600;letter-spacing:.015em;}

  .vs-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:var(--bg-card);border:1px solid rgba(255,255,255,.32);align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);z-index:2;transition:.3s var(--ease);}
  .vs-arrow:hover{border-color:var(--navy);}
  .vs-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .vs-arrow i{color:var(--navy);font-size:15px;}
  .vs-prev{left:-8px;}
  .vs-next{right:-8px;}
  .vs-dots{display:flex;justify-content:center;gap:9px;margin-top:30px;}
  .vs-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:.3s var(--ease);}
  .vs-dot:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .vs-dot.active{background:var(--gold);width:22px;border-radius:5px;}

  /* RESULTADOS VISUAIS (subseção logo após o carrossel) */
  .proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .proof-tile{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);display:block;aspect-ratio:1/1;}
  .proof-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
  .proof-tile:hover img{transform:scale(1.05);}
  .proof-tile-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(16,40,75,.82));color:#fff;font-size:11px;font-weight:600;padding:20px 10px 10px;}
  .reviews-final-cta{max-width:600px;margin:52px auto 0;text-align:center;}
  .reviews-final-cta h2{font-size:23px;margin-bottom:14px;}
  .reviews-final-cta p{color:var(--text-muted);font-size:14.5px;margin-bottom:24px;}

  /* COMO É SER PACIENTE — jornada visual com fotos reais. A linha vertical discreta (só no
     empilhamento mobile) reforça o conceito de "caminho" sem depender de nenhum efeito chamativo. */
  .journey{display:flex;flex-direction:column;gap:44px;position:relative;}
  .journey::before{content:'';position:absolute;top:8px;bottom:8px;left:14px;width:1px;background:linear-gradient(180deg,transparent,var(--gold-light) 12%,var(--gold-light) 88%,transparent);opacity:.32;pointer-events:none;}
  .journey-item{display:flex;flex-direction:column;gap:20px;position:relative;}
  .journey-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;}
  .journey-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease);}
  .journey-item:hover .journey-photo img{transform:scale(1.04);}
  .journey-num{font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;letter-spacing:.09em;color:var(--gold);margin-bottom:12px;text-transform:uppercase;}
  .journey-text h4{font-size:19px;margin-bottom:9px;}
  .journey-text p{font-size:14px;color:var(--text-muted);line-height:1.7;}
  .process-cta{text-align:center;margin-top:52px;}

  /* EQUIPE */
  .team-wrap{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;}
  .team-photo-wrap{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);}
  .team-photo-wrap img{width:100%;object-fit:cover;transition:transform .9s var(--ease);}
  .team-photo-wrap:hover img{transform:scale(1.03);}
  .team-text .btn{margin-top:8px;}

  /* CLINICA / LOCALIZACAO */
  .clinic-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;}
  .clinic-photos img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-sm);}
  .loc-info{background:linear-gradient(180deg,#FFFFFF,var(--bg-card));border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-lg);padding:28px;margin-bottom:20px;box-shadow:var(--shadow-sm);backdrop-filter:blur(16px);}
  .loc-info h3{font-size:17px;margin-bottom:20px;}
  .loc-row{display:flex;gap:12px;margin-bottom:17px;align-items:flex-start;}
  .loc-row i{color:var(--gold);font-size:16px;margin-top:3px;width:18px;}
  .loc-row strong{display:block;font-size:14px;}
  .loc-row span,.loc-row span a{font-size:13px;color:var(--text-muted);}
  .map-wrap{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);min-height:240px;}
  .map-wrap iframe{width:100%;height:100%;min-height:240px;border:0;}

  /* FAQ (acessível) */
  .faq-list{max-width:760px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--border);padding:20px 0;}
  .faq-q{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:14.5px;background:none;border:none;color:inherit;font-family:inherit;text-align:left;padding:0;}
  .faq-q:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
  .faq-q i{transition:.3s var(--ease);color:var(--gold);font-size:13px;flex-shrink:0;}
  .faq-item.open .faq-q i{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:.35s var(--ease);color:var(--text-muted);font-size:13.5px;padding-top:0;line-height:1.7;}
  .faq-item.open .faq-a{max-height:240px;padding-top:13px;}
  .faq-cta{text-align:center;margin-top:40px;padding-top:36px;border-top:1px solid var(--border);}
  .faq-cta p{color:var(--text-muted);font-size:14px;margin-bottom:18px;}

  /* CTA FINAL */
  .cta-final{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(212,176,106,.09),transparent 60%),linear-gradient(180deg,var(--navy),var(--navy-deep));color:#fff;padding:88px 0;text-align:center;}
  .cta-final h2{color:#fff;font-size:28px;margin-bottom:18px;}
  .cta-final p{color:#b9c6d8;font-size:15px;margin-bottom:30px;}

  /* FOOTER */
  footer{background:var(--navy-deep);color:#a9bad0;padding:52px 0 24px;}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px;}
  .footer-logo{font-size:18px;font-weight:700;color:#fff;margin-bottom:12px;display:flex;align-items:center;gap:9px;}
  .footer-logo img{width:30px;height:30px;border-radius:7px;object-fit:cover;}
  footer p{font-size:13px;line-height:1.7;}
  footer h4{color:#fff;font-size:14px;margin-bottom:14px;}
  footer ul li{margin-bottom:9px;font-size:13px;}
  footer ul li a:hover{color:#fff;}
  .social-row{display:flex;gap:10px;margin-top:14px;}
  .social-row a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.3s var(--ease);}
  .social-row a:hover{background:var(--gold);transform:translateY(-2px);}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;text-align:center;font-size:12px;color:#6b7d94;}

  /* WHATSAPP FLOAT */
  .wa-float{position:fixed;bottom:18px;right:18px;background:#25D366;color:#fff;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:25px;box-shadow:0 12px 30px rgba(37,211,102,.38);z-index:200;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
  .wa-float:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,211,102,.44);}
