/* =========================================================
   RESET
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
#inicio, #diferenciais, #videos, #servicos, #sobre, #nossa-clinica,
#depoimentos, #equipe, #unidades, #agendamento {
  scroll-margin-top: 88px;
}
body { font-family: 'Inter', sans-serif; background: #fff; color: #0C0C0C; overflow-x: hidden; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }

/* =========================================================
   DESIGN TOKENS — paleta da imagem
   ========================================================= */
:root {
  /* Cores principais */
  --salmon:      #D3907F;   /* R=211,G=144,B=127 */
  --salmon-lt:   #ECC8BF;   /* salmon claro */
  --salmon-bg:   #FAF1EF;   /* fundo suave salmão */
  --brown:       #6D5C4A;   /* R=109,G=92,B=74  */
  --brown-lt:    #9E8876;
  --black:       #0C0C0C;   /* R=12,G=12,B=12   */
  --section-dark:#999999;   /* fundo das seções escuras */
  --charcoal:    #484651;   /* R=72,G=70,B=81   */
  --gray-warm:   #958C85;   /* R=149,G=140,B=133 */
  --gray-mid:    #696D70;   /* R=105,G=109,B=112 */
  --gray-cool:   #868F96;   /* R=134,G=143,B=150 */
  --gray-dk:     #A09790;   /* R=160,G=151,B=144 */
  --gray-lt:     #DCDCDC;   /* R=220,G=220,B=220 */
  --off-white:   #F7F5F3;
  --white:       #FFFFFF;

  /* Semântica */
  --text:        #0C0C0C;
  --text-sub:    #696D70;
  --text-muted:  #958C85;
  --border:      #DCDCDC;
  --border-warm: #C4B8B0;

  /* Espaçamento e forma */
  --r-sm:  6px;
  --r-md:  12px;
  --r-lg:  20px;
  --r-xl:  32px;
  --r-pill:100px;

  /* Sombras */
  --sh-sm: 0 2px 10px rgba(12,12,12,0.06);
  --sh-md: 0 6px 28px rgba(12,12,12,0.10);
  --sh-lg: 0 16px 56px rgba(12,12,12,0.14);
  --trans: all 0.38s cubic-bezier(0.23,1,0.32,1);
}

/* =========================================================
   UTILITIES
   ========================================================= */
.container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

.tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--salmon);
  background: var(--salmon-bg); padding: 6px 14px;
  border-radius: var(--r-pill); margin-bottom: 14px;
  border: 1px solid var(--salmon-lt);
}
.section-title {
  font-size: clamp(26px, 3.8vw, 46px);
  font-weight: 800; line-height: 1.12; color: var(--black);
}
.section-sub {
  font-size: 16px; color: var(--text-sub);
  line-height: 1.75; margin-top: 10px;
}

/* BOTÕES */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: var(--r-pill);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: var(--trans); border: 1.5px solid transparent;
  line-height: 1;
}
.btn-salmon {
  background: var(--salmon); color: #fff;
  border-color: var(--salmon);
}
.btn-salmon:hover {
  background: #C07D6C; border-color: #C07D6C;
  transform: translateY(-2px); box-shadow: 0 8px 22px rgba(211,144,127,0.38);
}
.btn-brown {
  background: var(--brown); color: #fff;
  border-color: var(--brown);
}
.btn-brown:hover {
  background: #5C4D3D; border-color: #5C4D3D;
  transform: translateY(-2px); box-shadow: 0 8px 22px rgba(109,92,74,0.3);
}
.btn-outline {
  background: transparent; color: var(--black);
  border-color: var(--border-warm);
}
.btn-outline:hover {
  background: var(--off-white); border-color: var(--gray-warm);
  transform: translateY(-2px);
}
.btn-ghost-white {
  background: rgba(255,255,255,0.12);
  color: #fff; border-color: rgba(255,255,255,0.3);
  backdrop-filter: blur(6px);
}
.btn-ghost-white:hover { background: rgba(255,255,255,0.22); }

.btn-wa {
  background: #25D366; color: #fff; border-color: #25D366;
}
.btn-wa:hover {
  background: #1CB957; border-color: #1CB957;
  transform: translateY(-2px); box-shadow: 0 8px 22px rgba(37,211,102,0.38);
}

/* REVEAL ANIMATIONS — suave e elegante */
.reveal {
  opacity:0; transform: translateY(48px) scale(0.99);
  transition: opacity .9s cubic-bezier(0.22,1,0.36,1),
              transform .9s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
.reveal.vis { opacity:1; transform: translateY(0) scale(1); }

.reveal-l {
  opacity:0; transform: translateX(-52px) scale(0.99);
  transition: opacity .9s cubic-bezier(0.22,1,0.36,1),
              transform .9s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
.reveal-l.vis { opacity:1; transform: translateX(0) scale(1); }

.reveal-r {
  opacity:0; transform: translateX(52px) scale(0.99);
  transition: opacity .9s cubic-bezier(0.22,1,0.36,1),
              transform .9s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
.reveal-r.vis { opacity:1; transform: translateX(0) scale(1); }

/* =========================================================
   SVG ICON SYSTEM
   ========================================================= */
.icon { display: inline-block; flex-shrink: 0; }
svg.icon { fill: currentColor; }

/* =========================================================
   NAVBAR
   ========================================================= */
.navbar {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  padding: 0 24px; transition: background .35s ease, box-shadow .35s ease, border-color .35s ease;
  background: rgba(15,12,10,0.72);
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.navbar.scrolled {
  background: rgba(12,10,8,0.88);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-bottom: 1px solid rgba(211,144,127,0.18);
  box-shadow: 0 2px 24px rgba(0,0,0,0.35);
}
.nav-inner {
  max-width: 1180px; margin: 0 auto;
  display: flex; align-items: center;
  justify-content: space-between; height: 72px;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
}
.nav-logo-mark {
  width: 38px; height: 38px; background: var(--salmon);
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.nav-logo-text strong {
  display: block; font-size: 16px; font-weight: 800; color: #fff;
  line-height: 1.1;
}
.nav-logo-text span {
  font-size: 11px; color: rgba(255,255,255,0.55); font-weight: 500;
}
.nav-links {
  display: flex; align-items: center; gap: 32px; list-style: none;
}
.nav-links a {
  font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.75);
  transition: color .25s; position: relative;
}
.nav-links a::after {
  content:''; position: absolute; bottom:-3px; left:0;
  width:0; height:1.5px; background: var(--salmon);
  border-radius:2px; transition: width .3s;
}
.nav-links a:hover { color: #fff; }
.nav-links a:hover::after { width:100%; }
.nav-cta { display:flex; align-items:center; gap:10px; }

.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:8px;
}
.hamburger span {
  display:block; width:22px; height:1.5px;
  background:var(--black); border-radius:2px; transition:var(--trans);
}

.mobile-overlay {
  display:none; position:fixed; inset:0; z-index:1001;
  background:rgba(12,10,8,.55); backdrop-filter:blur(2px);
  opacity:0; transition:opacity .3s ease;
}
.mobile-overlay.open { display:block; opacity:1; }

.mobile-menu {
  position:fixed; top:0; right:0; bottom:0; z-index:1002;
  width:min(320px, 84vw); background:#fff;
  box-shadow: var(--sh-md);
  padding:28px 24px 32px;
  display:flex; flex-direction:column; gap:4px;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
  overflow-y:auto;
}
.mobile-menu.open { transform:translateX(0); }

.mobile-close {
  align-self:flex-end; background:none; border:none; cursor:pointer;
  color:var(--black); padding:8px; margin-bottom:12px;
}

.mobile-link {
  display:block; padding:12px 4px; font-size:15px; font-weight:600;
  color:var(--black); border-bottom:1px solid var(--border);
}
.mobile-link:last-of-type { border-bottom:none; }
.mobile-link:hover { color:var(--salmon); }

/* =========================================================
   HERO
   ========================================================= */
.hero {
  min-height: auto;
  background: #111;
  display: flex; align-items: center;
  position: relative; overflow: hidden;
}
/* Vídeo de fundo do hero */
.hero-video {
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  pointer-events:none;
}
/* Overlay de contraste sobre o vídeo */
.hero::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.38) 50%, rgba(0,0,0,0.60) 100%),
    radial-gradient(ellipse 65% 70% at 75% 50%, rgba(211,144,127,0.10) 0%, transparent 65%);
  pointer-events:none;
}
.hero-inner { z-index:2; position:relative; }
.hero-noise {
  position:absolute; inset:0; opacity:.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events:none;
}
.hero-inner {
  position:relative; z-index:2;
  max-width:1180px; margin:0 auto; padding:250px 24px 210px;
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:center; width:100%;
}
.hero-content { color:#fff; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 14px; border-radius:var(--r-pill);
  background:rgba(211,144,127,0.15);
  border:1px solid rgba(211,144,127,0.35);
  font-size:12px; font-weight:600; color:var(--salmon);
  margin-bottom:28px; letter-spacing:.5px;
  animation: fadeD .7s ease .1s both;
}
.hero-badge-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--salmon);
  animation: blink 2s ease infinite;
}
@keyframes blink {
  0%,100%{ box-shadow:0 0 0 0 rgba(211,144,127,.6); }
  50%     { box-shadow:0 0 0 5px rgba(211,144,127,0); }
}
.hero h1 {
  font-size: clamp(36px, 5vw, 62px);
  font-weight:900; line-height:1.07;
  margin-bottom:18px;
  animation: fadeD .7s ease .25s both;
}
.hero h1 em {
  font-style:normal; color:var(--salmon);
}
.hero-sub {
  font-size:17px; color:rgba(255,255,255,.65);
  line-height:1.75; margin-bottom:36px;
  max-width:480px;
  animation: fadeD .7s ease .4s both;
}
.hero-actions {
  display:flex; gap:12px; flex-wrap:wrap;
  animation: fadeD .7s ease .55s both;
}
.hero-visual { animation: fadeD .7s ease .4s both; }
.hero-card {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-xl);
  backdrop-filter:blur(12px);
  padding:32px; color:#fff;
}
.hero-card-title {
  font-size:13px; font-weight:600; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--salmon);
  margin-bottom:20px;
}
.hero-stats-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-bottom:24px;
}
.h-stat {
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-md); padding:18px 16px; text-align:center;
}
.h-stat-num {
  display:block; font-size:30px; font-weight:900;
  line-height:1; color:var(--salmon);
}
.h-stat-lbl {
  display:block; font-size:11px; color:rgba(255,255,255,.55);
  margin-top:5px; font-weight:500;
}
.hero-divider {
  border:none; border-top:1px solid rgba(255,255,255,0.1);
  margin:20px 0;
}
.hero-trust {
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:rgba(255,255,255,.5);
}
.hero-trust-icon { color:var(--salmon); }
.hero-scroll {
  position:absolute; bottom:28px; left:50%;
  transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:rgba(255,255,255,.3); font-size:11px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  animation: bounce 2s ease infinite;
}
@keyframes bounce {
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%    { transform:translateX(-50%) translateY(7px); }
}
@keyframes fadeD {
  from{ opacity:0; transform:translateY(-14px); }
  to  { opacity:1; transform:translateY(0); }
}

/* =========================================================
   STATS BAR
   ========================================================= */
.stats-bar {
  background:var(--section-dark);
  box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.18);
}
.stats-bar-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat-item {
  text-align:center; padding:38px 20px;
  position:relative;
}
.stat-item:not(:last-child)::after {
  content:''; position:absolute;
  right:0; top:28%; bottom:28%;
  width:1px; background:rgba(255,255,255,.18);
}
.stat-num {
  display:block; font-size:38px; font-weight:900;
  color:var(--salmon); line-height:1;
  text-shadow: 0 2px 12px rgba(0,0,0,0.15);
}
.stat-lbl {
  display:block; font-size:12px; color:rgba(255,255,255,.82);
  margin-top:6px; font-weight:600; letter-spacing:.3px;
  text-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee-section {
  background:var(--off-white); padding:14px 0;
  overflow:hidden; border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.marquee-lbl {
  text-align:center; font-size:11px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--text-muted); margin-bottom:10px;
}
.marquee-wrap { overflow:hidden; }
.marquee-track {
  display:flex; gap:8px;
  width:max-content;
  animation:marquee 30s linear infinite;
}
.marquee-track:hover { animation-play-state:paused; }
.marquee-item {
  display:flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--border);
  border-radius:var(--r-pill);
  padding:8px 18px; font-size:13px; font-weight:500;
  color:var(--text-sub); white-space:nowrap;
  transition:var(--trans);
}
.marquee-item:hover { border-color:var(--salmon); color:var(--salmon); }
.marquee-item svg { color:var(--salmon); }
@keyframes marquee {
  from{ transform:translateX(0); }
  to  { transform:translateX(var(--marquee-offset,-50%)); }
}

/* =========================================================
   DIFFERENTIALS — Image Accordion
   ========================================================= */
.differentials { padding:60px 0 48px; background:var(--off-white); }

.diff-layout {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:64px;
  align-items:start;
}
.diff-text .section-title { margin-bottom:16px; }
.diff-text .section-sub   { margin-bottom:32px; max-width:400px; }

.diff-cta-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--black); color:#fff;
  font-size:14px; font-weight:700;
  padding:14px 28px; border-radius:var(--r-pill);
  transition:var(--trans);
}
.diff-cta-btn:hover { background:var(--salmon); transform:translateY(-2px); }

/* Accordion container */
.diff-accordion {
  display:flex;
  flex-direction:row;
  gap:10px;
  height:460px;
}

/* Each panel */
.diff-acc-panel {
  position:relative;
  flex: 0 0 56px;
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
  transition:flex .65s cubic-bezier(0.22,1,0.36,1);
}
.diff-acc-panel.is-active { flex: 1 0 56px; }

/* Panel image */
.diff-acc-panel img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(0.22,1,0.36,1);
}
.diff-acc-panel.is-active img { transform:scale(1.05); }

/* Gradient overlay */
.diff-acc-panel::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(
    180deg,
    rgba(12,12,12,0.10) 0%,
    rgba(12,12,12,0.18) 45%,
    rgba(12,12,12,0.60) 100%
  );
  pointer-events:none;
  transition:background .5s;
}
.diff-acc-panel.is-active::before {
  background:linear-gradient(
    180deg,
    rgba(12,12,12,0.05) 0%,
    rgba(12,12,12,0.12) 45%,
    rgba(12,12,12,0.52) 100%
  );
}

/* Label */
.diff-acc-label {
  position:absolute; z-index:2;
  bottom:50%; left:50%;
  transform:translateX(-50%) rotate(90deg) translateY(50%);
  color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.4px;
  white-space:nowrap;
  text-shadow:0 1px 10px rgba(0,0,0,0.55);
  transition:transform .55s cubic-bezier(0.22,1,0.36,1),
             font-size .4s, opacity .4s;
  opacity:.82;
}
.diff-acc-panel.is-active .diff-acc-label {
  transform:translateX(-50%) rotate(0deg);
  font-size:14px;
  opacity:1;
}

/* =========================================================
   MESH GRADIENT KEYFRAMES (Services)
   ========================================================= */
@keyframes mesh-blob-1 {
  0%,100% { transform:translate(0,0) scale(1); }
  30%     { transform:translate(7%,8%) scale(1.09); }
  65%     { transform:translate(-4%,12%) scale(0.94); }
}
@keyframes mesh-blob-2 {
  0%,100% { transform:translate(0,0) scale(1.04); }
  40%     { transform:translate(-9%,-6%) scale(0.91); }
  75%     { transform:translate(11%,-9%) scale(1.11); }
}
@keyframes mesh-blob-3 {
  0%,100% { transform:translate(0,0) scale(0.97); }
  50%     { transform:translate(8%,-10%) scale(1.07); }
}

/* =========================================================
   SERVICES
   ========================================================= */
.services {
  padding:100px 0;
  background:#F7F5F3;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

/* Blob 1 — top-left, salmon-pink suave */
.services::before {
  content:''; position:absolute;
  width:65%; height:70%;
  top:-12%; left:-8%;
  z-index:0; pointer-events:none;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(236,200,191,0.55) 0%,
    rgba(250,241,239,0.28) 45%,
    transparent 72%);
  filter:blur(52px);
  animation:mesh-blob-1 24s ease-in-out infinite;
}

/* Blob 2 — bottom-right, salmon mais quente */
.services::after {
  content:''; position:absolute;
  width:58%; height:62%;
  bottom:-18%; right:-8%;
  z-index:0; pointer-events:none;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(211,144,127,0.30) 0%,
    rgba(236,200,191,0.16) 42%,
    transparent 70%);
  filter:blur(60px);
  animation:mesh-blob-2 28s ease-in-out infinite;
}

/* Container para z-index acima dos blobs */
.services .container { position:relative; z-index:1; }

/* Blob 3 — centro, cinza quente claro */
.services .container::before {
  content:''; position:absolute;
  width:50%; height:60%;
  top:5%; right:12%;
  z-index:0; pointer-events:none;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(220,210,205,0.38) 0%,
    transparent 65%);
  filter:blur(44px);
  animation:mesh-blob-3 20s ease-in-out infinite;
}

/* Conteúdo acima de todos os blobs */
.services .container > * { position:relative; z-index:1; }
.srv-header { text-align:center; max-width:560px; margin:0 auto 56px; }
.srv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.srv-card {
  background: rgba(255,255,255,0.60);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.75);
  box-shadow: 0 4px 24px rgba(109,92,74,0.08), 0 0 0 1px rgba(255,255,255,0.5) inset;
  border-radius:var(--r-lg); padding:28px;
  transition:var(--trans); position:relative; overflow:hidden;
}
.srv-card::after {
  content:''; position:absolute;
  bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--salmon), var(--brown));
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s ease;
}
.srv-card:hover::after { transform:scaleX(1); }
.srv-card:hover {
  box-shadow:var(--sh-md); transform:translateY(-5px);
  border-color:var(--border-warm);
}
.srv-icon {
  width:52px; height:52px; border-radius:var(--r-md);
  background:var(--salmon-bg); border:1px solid var(--salmon-lt);
  display:flex; align-items:center; justify-content:center;
  color:var(--salmon); margin-bottom:18px;
  transition:var(--trans);
}
.srv-card:hover .srv-icon {
  background:var(--salmon); color:#fff; border-color:var(--salmon);
}
.srv-card h3 { font-size:16px; font-weight:700; color:var(--black); margin-bottom:8px; }
.srv-card p  { font-size:13px; color:var(--text-sub); line-height:1.6; }
.srv-badge {
  display:inline-block; margin-top:14px;
  font-size:11px; font-weight:700;
  color:var(--salmon); background:var(--salmon-bg);
  padding:3px 10px; border-radius:var(--r-pill);
  border:1px solid var(--salmon-lt); letter-spacing:.5px;
}

/* =========================================================
   ABOUT
   ========================================================= */
.about { padding:100px 0; background:var(--salmon-bg); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-visual { position:relative; }
.about-img-box {
  border-radius:var(--r-xl);
  aspect-ratio:4/3;
  overflow:hidden;
  box-shadow: var(--sh-lg);
  border: 5px solid #fff;
  outline: 1px solid var(--border);
  transition: transform .7s cubic-bezier(0.22,1,0.36,1), box-shadow .7s;
}
.about-img-box:hover {
  transform: scale(1.015);
  box-shadow: 0 28px 72px rgba(12,12,12,0.18);
}
.about-img-box img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block;
  transition: transform .9s cubic-bezier(0.22,1,0.36,1);
}
.about-img-box:hover img { transform: scale(1.04); }
.about-float-1 {
  position:absolute; bottom:-22px; right:-22px;
  background:var(--section-dark); color:#fff;
  padding:20px 24px; border-radius:var(--r-lg);
  box-shadow:var(--sh-lg); min-width:170px;
}
.about-float-1 .num {
  font-size:30px; font-weight:900; color:var(--salmon); line-height:1;
}
.about-float-1 p { font-size:12px; color:rgba(255,255,255,.6); margin-top:4px; }
.about-float-2 {
  position:absolute; top:-18px; left:-18px;
  background:var(--salmon); color:#fff;
  padding:14px 18px; border-radius:var(--r-lg);
  box-shadow:var(--sh-md); font-weight:800; font-size:13px;
  text-align:center;
}
.about-float-2 big { display:block; font-size:20px; font-weight:900; }
.about-text .section-title { margin-bottom:14px; }
.about-lead {
  font-size:15px; line-height:1.75; color:var(--text-sub); margin-bottom:20px;
}
.about-checks { display:flex; flex-direction:column; gap:11px; margin-bottom:28px; }
.check {
  display:flex; align-items:flex-start; gap:10px;
  font-size:14px; color:var(--text-sub);
}
.check-dot {
  width:20px; height:20px; border-radius:50%;
  background:var(--salmon); color:#fff;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:1px;
}

/* =========================================================
   ROTATING GLOW — CSS Custom Property
   ========================================================= */
@property --glow-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes glow-spin {
  to { --glow-angle: 360deg; }
}

/* =========================================================
   NOSSA CLÍNICA
   ========================================================= */
.clinica-section { padding:100px 0; background:var(--off-white); }
.clinica-header { text-align:center; max-width:640px; margin:0 auto 68px; }
.clinica-header .section-title {
  margin-bottom:12px; text-align:center;
  font-size:clamp(26px,3.2vw,38px); line-height:1.22;
}

/* Feature area */
.clinica-feature {
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:24px; margin-bottom:72px; align-items:stretch;
}
.clinica-photo-card {
  border-radius:var(--r-xl); overflow:hidden;
  position:relative; min-height:420px; box-shadow:var(--sh-lg);
}
.clinica-photo-card img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(0.22,1,0.36,1);
}
.clinica-photo-card:hover img { transform:scale(1.04); }
.clinica-photo-label {
  position:absolute; bottom:0; left:0; right:0; z-index:1;
  padding:22px 24px;
  background:linear-gradient(0deg,rgba(12,12,12,0.75) 0%,transparent 100%);
  color:#fff; font-size:13px; font-weight:700;
}

/* Dr. Ivo card — glow wrapper */
.clinica-dr-card {
  border-radius:var(--r-xl);
  display:flex; flex-direction:column;
  position:relative; isolation:isolate;
  /* glass */
  background: rgba(255,255,255,0.60);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--sh-lg), 0 0 0 1px rgba(255,255,255,0.55) inset;
}
.clinica-dr-card::before {
  content:''; position:absolute; inset:-2px;
  border-radius:calc(var(--r-xl) + 2px);
  background: conic-gradient(
    from var(--glow-angle),
    transparent 0deg,
    transparent 50deg,
    rgba(211,144,127,0.90) 80deg,
    rgba(236,200,191,1)   105deg,
    rgba(211,144,127,0.90) 130deg,
    transparent 160deg,
    transparent 360deg
  );
  animation: glow-spin 5s linear infinite;
  z-index:-1; filter:blur(4px);
}
.clinica-dr-photo {
  flex:1; min-height:320px; position:relative; overflow:hidden;
  border-radius:var(--r-xl) var(--r-xl) 0 0;
}
.clinica-dr-photo img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top;
  transition:transform .8s cubic-bezier(0.22,1,0.36,1);
}
.clinica-dr-card:hover .clinica-dr-photo img { transform:scale(1.03); }
.clinica-dr-info {
  padding:28px 32px;
  border-top:1px solid rgba(255,255,255,0.55);
  background:rgba(255,255,255,0.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:0 0 var(--r-xl) var(--r-xl);
}
.clinica-dr-info h3 { font-size:22px; font-weight:800; color:var(--black); margin-bottom:4px; }
.clinica-dr-role { font-size:14px; font-weight:600; color:var(--salmon); margin-bottom:14px; }
.clinica-dr-tags { display:flex; flex-wrap:wrap; gap:8px; }
.clinica-dr-tag {
  font-size:11px; font-weight:600; color:var(--brown);
  background:rgba(250,241,239,0.88); border:1px solid var(--salmon-lt);
  padding:4px 11px; border-radius:var(--r-pill);
}

/* Team grid */
.clinica-team-head {
  display:flex; align-items:center; gap:20px; margin-bottom:36px;
}
.clinica-team-head h3 { font-size:20px; font-weight:800; color:var(--black); white-space:nowrap; }
.clinica-team-line { flex:1; height:1px; background:var(--border); }

.clinica-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}

/* Team card — glass + glow */
.clinica-card {
  border-radius:var(--r-lg);
  position:relative; isolation:isolate;
  /* glass */
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 4px 24px rgba(109,92,74,0.10), 0 0 0 1px rgba(255,255,255,0.5) inset;
  opacity:0; transform:translateY(24px) scale(0.97);
}
/* rotating glow border */
.clinica-card::before {
  content:''; position:absolute; inset:-2px;
  border-radius:calc(var(--r-lg) + 2px);
  background: conic-gradient(
    from var(--glow-angle),
    transparent 0deg,
    transparent 60deg,
    rgba(211,144,127,0.85) 85deg,
    rgba(236,200,191,0.95) 105deg,
    rgba(211,144,127,0.85) 125deg,
    transparent 150deg,
    transparent 360deg
  );
  animation: glow-spin 4s linear infinite;
  z-index:-1; filter:blur(3px);
}
.clinica-card.vis-card {
  opacity:1; transform:translateY(0) scale(1);
  transition:opacity .65s cubic-bezier(0.22,1,0.36,1),
              transform .65s cubic-bezier(0.22,1,0.36,1);
}
.clinica-card:hover {
  box-shadow:0 12px 36px rgba(109,92,74,0.18), 0 0 0 1px rgba(255,255,255,0.6) inset;
  transform:translateY(-5px) !important;
  transition:box-shadow .3s, transform .3s !important;
}
.clinica-card-photo {
  aspect-ratio:1/1; overflow:hidden; background:var(--salmon-bg);
  border-radius:var(--r-lg) var(--r-lg) 0 0;
}
.clinica-card-photo img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  transition:transform .7s cubic-bezier(0.22,1,0.36,1);
}
.clinica-card:hover .clinica-card-photo img { transform:scale(1.07); }
/* glass info area */
.clinica-card-info {
  padding:15px 17px 18px;
  background:rgba(255,255,255,0.80);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,0.6);
  border-radius:0 0 var(--r-lg) var(--r-lg);
}
.clinica-card-info h4 { font-size:14px; font-weight:700; color:var(--black); margin-bottom:3px; }
.c-role { font-size:12px; font-weight:600; color:var(--salmon); margin-bottom:2px; }
.c-spec { font-size:11px; color:var(--text-muted); line-height:1.45; }

/* Section footer */
.clinica-foot {
  margin-top:60px; padding:26px 36px;
  background:#fff; border-radius:var(--r-xl);
  border:1px solid var(--border);
  display:flex; align-items:center;
  justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.clinica-address-block { display:flex; flex-direction:column; gap:8px; }
.clinica-address-row {
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:var(--text-sub);
}
.clinica-address-row svg { color:var(--salmon); flex-shrink:0; }
.clinica-address-row strong { color:var(--black); font-weight:700; font-size:14px; }
.clinica-socials { display:flex; gap:10px; }
.c-soc-btn {
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--off-white); border:1px solid var(--border);
  color:var(--charcoal); transition:var(--trans);
}
.c-soc-btn:hover {
  background:var(--salmon); color:#fff; border-color:var(--salmon);
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(211,144,127,0.32);
}

/* =========================================================
   AURORA KEYFRAME
   ========================================================= */
@keyframes aurora {
  from { background-position: 50% 50%, 50% 50%; }
  to   { background-position: 350% 50%, 350% 50%; }
}

/* =========================================================
   MVV
   ========================================================= */
.mvv { padding:88px 0; background:#484651; position:relative; overflow:hidden; }

/* Aurora layer 1 — blur + animated warm gradient */
.mvv::before {
  content:''; position:absolute; inset:-10px; z-index:0;
  pointer-events:none; opacity:0.55; will-change:transform;
  background-image:
    repeating-linear-gradient(100deg,
      #484651 0%,#484651 7%,transparent 10%,transparent 12%,#484651 16%),
    repeating-linear-gradient(100deg,
      #D3907F 10%,#ECC8BF 15%,#D3907F 20%,#6D5C4A 25%,#c4a09a 30%);
  background-size: 300%, 200%;
  background-position: 50% 50%, 50% 50%;
  filter: blur(10px);
  animation: aurora 60s linear infinite;
  -webkit-mask-image: radial-gradient(ellipse at 100% 0%, black 10%, transparent 70%);
  mask-image: radial-gradient(ellipse at 100% 0%, black 10%, transparent 70%);
}

/* Aurora layer 2 — difference blend for depth */
.mvv::after {
  content:''; position:absolute; inset:-10px; z-index:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(100deg,
      #484651 0%,#484651 7%,transparent 10%,transparent 12%,#484651 16%),
    repeating-linear-gradient(100deg,
      #D3907F 10%,#ECC8BF 15%,#D3907F 20%,#6D5C4A 25%,#c4a09a 30%);
  background-size: 200%, 100%;
  background-position: 50% 50%, 50% 50%;
  animation: aurora 60s linear infinite;
  mix-blend-mode: difference;
}

.mvv-inner { position:relative; z-index:1; }
.mvv-head { text-align:center; margin-bottom:48px; }
.mvv-head .section-title { color:#fff; }
.mvv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mvv-card {
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-xl); padding:36px;
  color:#fff; transition:var(--trans);
}
.mvv-card:hover {
  background:rgba(255,255,255,0.1);
  border-color:rgba(211,144,127,0.35);
  transform:translateY(-5px);
}
.mvv-icon {
  width:52px; height:52px; border-radius:var(--r-md);
  background:rgba(211,144,127,0.15);
  border:1px solid rgba(211,144,127,0.3);
  display:flex; align-items:center; justify-content:center;
  color:var(--salmon); margin-bottom:18px;
}
.mvv-card h3 { font-size:18px; font-weight:800; color:var(--salmon); margin-bottom:10px; text-shadow:0 1px 8px rgba(0,0,0,0.18); }
.mvv-card p  { font-size:14px; line-height:1.75; color:rgba(255,255,255,.88); }

/* =========================================================
   CTA SECTION
   ========================================================= */
.cta-sec { padding:80px 0; background:var(--salmon-bg); }
.cta-box {
  background:var(--section-dark); border-radius:var(--r-xl); padding:56px;
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
  position:relative; overflow:hidden;
}
.cta-box::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.05) 100%);
  pointer-events:none; border-radius:var(--r-xl);
}
.cta-box::after {
  content:''; position:absolute;
  top:-80px; right:60px; width:300px; height:300px;
  border-radius:50%; background:var(--salmon); opacity:.10;
  pointer-events:none;
}
.cta-box h2 { font-size:clamp(22px,3vw,34px); font-weight:800; color:#fff; line-height:1.25; margin-bottom:10px; position:relative; text-shadow:0 2px 10px rgba(0,0,0,0.15); }
.cta-box p  { font-size:15px; color:rgba(255,255,255,.82); position:relative; }
.cta-btns  { position:relative; }
.cta-btns  { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.cta-contact {
  display:flex; align-items:center; gap:8px;
  color:rgba(255,255,255,.7); font-size:13px; font-weight:500;
  background:rgba(255,255,255,.08); padding:10px 14px; border-radius:var(--r-pill);
}
.cta-contact svg { color:var(--salmon); flex-shrink:0; }

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.testimonials { padding:100px 0; background:var(--off-white); }
.test-head { text-align:center; max-width:520px; margin:0 auto 56px; }
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.test-card {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--r-xl); padding:28px;
  transition:var(--trans);
}
.test-card:hover { box-shadow:var(--sh-md); transform:translateY(-4px); }
.test-stars { display:flex; gap:3px; margin-bottom:16px; color:var(--salmon); }
.test-quote {
  font-size:14px; line-height:1.75; color:var(--text-sub);
  margin-bottom:20px; font-style:italic;
}
.test-author { display:flex; align-items:center; gap:12px; }
.test-av {
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg, var(--salmon), var(--brown));
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:800; color:#fff; flex-shrink:0;
}
.test-name { font-size:14px; font-weight:700; color:var(--black); }
.test-role { font-size:12px; color:var(--text-muted); }

/* =========================================================
   TEAM
   ========================================================= */
.team { padding:100px 0; background:var(--salmon-bg); }
.team-head { text-align:center; max-width:520px; margin:0 auto 56px; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.team-card {
  border:1px solid var(--border); border-radius:var(--r-xl);
  overflow:hidden; transition:var(--trans);
}
.team-card:hover { box-shadow:var(--sh-md); transform:translateY(-5px); }
.team-img {
  background:linear-gradient(135deg, var(--salmon-bg), #EEE8E5);
  height:200px; display:flex; align-items:center; justify-content:center;
  color:var(--brown);
}
.team-body { padding:22px; }
.team-body h3 { font-size:16px; font-weight:700; color:var(--black); }
.team-body p  { font-size:13px; color:var(--salmon); font-weight:600; margin-top:3px; }
.team-body span{ display:block; font-size:13px; color:var(--text-sub); margin-top:9px; line-height:1.55; }

/* =========================================================
   LOCATIONS
   ========================================================= */
.locations { padding:100px 0; background:var(--off-white); }
.loc-head { text-align:center; margin-bottom:56px; }
.loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.loc-card {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--r-xl); padding:36px; transition:var(--trans);
}
.loc-card:hover { box-shadow:var(--sh-md); border-color:var(--border-warm); transform:translateY(-4px); }
.loc-icon {
  width:48px; height:48px; border-radius:var(--r-md);
  background:var(--salmon-bg); border:1px solid var(--salmon-lt);
  display:flex; align-items:center; justify-content:center;
  color:var(--salmon); margin-bottom:18px;
}
.loc-card h3 { font-size:19px; font-weight:800; color:var(--black); margin-bottom:8px; }
.loc-card address { font-style:normal; font-size:14px; color:var(--text-sub); line-height:1.7; margin-bottom:18px; }
.loc-hours {
  background:var(--off-white); border:1px solid var(--border);
  border-radius:var(--r-sm); padding:11px 15px;
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--brown); font-weight:600; margin-bottom:18px;
}
.loc-hours svg { color:var(--salmon); flex-shrink:0; }
.loc-contacts { display:flex; flex-direction:column; gap:8px; }
.loc-contact {
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:var(--text-sub); transition:color .25s;
}
.loc-contact:hover { color:var(--salmon); }
.loc-contact svg { color:var(--salmon); flex-shrink:0; }

/* =========================================================
   APPOINTMENT
   ========================================================= */
/* =========================================================
   YOUTUBE VIDEOS
   ========================================================= */
.yt-section {
  padding:100px 0;
  overflow:hidden;
  background: linear-gradient(135deg, #f5ede8 0%, #fdf7f4 40%, #f0e8e2 100%);
  position: relative;
}
.yt-section::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 70% 60% at 20% 50%, rgba(211,144,127,0.10) 0%, transparent 70%),
              radial-gradient(ellipse 50% 70% at 80% 30%, rgba(236,200,191,0.12) 0%, transparent 65%);
  pointer-events:none;
}
.yt-header { text-align:center; max-width:620px; margin:0 auto 52px; }

.yt-carousel { position:relative; }
.yt-track-outer { overflow:hidden; }
.yt-track {
  display:flex; gap:20px;
  transition:transform .55s cubic-bezier(0.23,1,0.32,1);
  will-change:transform;
}

/* card */
.yt-card {
  flex:0 0 calc((100% - 60px) / 4);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,0.62);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.80);
  box-shadow:0 4px 24px rgba(109,92,74,0.08), 0 0 0 1px rgba(255,255,255,0.5) inset;
  overflow:visible; cursor:pointer;
  transition:var(--trans);
  position:relative; isolation:isolate;
}
.yt-card:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); }
.yt-card::before {
  content:''; position:absolute; inset:-2px;
  border-radius:calc(var(--r-xl) + 2px);
  background: conic-gradient(
    from var(--glow-angle),
    transparent 0deg, transparent 55deg,
    rgba(211,144,127,0.90) 82deg,
    rgba(236,200,191,1)   105deg,
    rgba(211,144,127,0.90) 128deg,
    transparent 155deg, transparent 360deg
  );
  animation: glow-spin 4.5s linear infinite;
  z-index:-1; filter:blur(4px);
}
/* clip inner content to card shape */
.yt-card > * { border-radius:inherit; overflow:hidden; }

/* thumbnail */
.yt-thumb {
  position:relative; aspect-ratio:9/16; overflow:hidden;
  background:#111;
}
.yt-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block; }
.yt-card:hover .yt-thumb img { transform:scale(1.06); }
.yt-play {
  position:absolute; inset:0; display:flex;
  align-items:center; justify-content:center;
  background:rgba(0,0,0,0.10); transition:background .3s;
}
.yt-card:hover .yt-play { background:rgba(0,0,0,0.28); }
.yt-play-btn {
  width:52px; height:52px; border-radius:50%;
  background:rgba(255,255,255,0.93);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 18px rgba(0,0,0,0.22);
  transition:transform .3s, background .3s;
}
.yt-card:hover .yt-play-btn { transform:scale(1.12); }
.yt-play-btn svg { color:var(--salmon); margin-left:3px; }

/* card info */
.yt-card-info {
  padding:14px 18px 18px;
  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,0.6);
  min-height:100px;
  display:flex; flex-direction:column;
}
.yt-card-title {
  font-size:13px; font-weight:600; color:var(--black);
  line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  flex:1;
}
.yt-card-brand { font-size:11px; color:var(--text-muted); margin-top:8px; display:flex; align-items:center; gap:5px; flex-shrink:0; }
.yt-card-brand svg { color:var(--salmon); }

/* controls */
.yt-controls {
  display:flex; align-items:center; justify-content:center;
  gap:14px; margin-top:28px;
}
.yt-arrow {
  width:42px; height:42px; border-radius:50%;
  border:1.5px solid var(--border); background:#fff;
  color:var(--brown); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:var(--trans); box-shadow:var(--sh-sm);
  flex-shrink:0;
}
.yt-arrow:hover:not(:disabled) { background:var(--salmon); color:#fff; border-color:var(--salmon); transform:scale(1.08); }
.yt-arrow:disabled { opacity:.30; cursor:default; }
.yt-dots { display:flex; align-items:center; gap:7px; }
.yt-dot {
  width:8px; height:8px; border-radius:50%;
  border:none; background:var(--border);
  cursor:pointer; transition:background .3s, transform .3s;
  padding:0;
}
.yt-dot.active { background:var(--salmon); transform:scale(1.35); }

/* channel link */
.yt-channel { display:flex; justify-content:center; margin-top:36px; }
.btn-yt {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 28px; border-radius:var(--r-pill);
  font-size:14px; font-weight:600; cursor:pointer;
  border:1.5px solid var(--salmon); color:#fff;
  background:var(--salmon); transition:var(--trans);
}
.btn-yt:hover { background:#C07D6C; border-color:#C07D6C; transform:translateY(-2px); box-shadow:0 8px 22px rgba(211,144,127,0.38); }

/* modal */
.yt-modal {
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none; opacity:0;
  transition:opacity .3s;
}
.yt-modal.open { opacity:1; pointer-events:all; }
.yt-overlay {
  position:absolute; inset:0;
  background:rgba(0,0,0,0.78);
  backdrop-filter:blur(5px);
}
.yt-modal-box {
  position:relative; z-index:1;
  width:min(880px,94vw);
  border-radius:var(--r-xl); overflow:hidden;
  background:#000;
  box-shadow:0 24px 80px rgba(0,0,0,0.55);
  transform:scale(0.88);
  transition:transform .38s cubic-bezier(0.23,1,0.32,1);
}
.yt-modal.open .yt-modal-box { transform:scale(1); }
.yt-modal-box iframe { display:block; width:100%; aspect-ratio:16/9; border:none; }
.yt-modal-close {
  position:absolute; top:-42px; right:0;
  width:34px; height:34px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.35);
  background:rgba(255,255,255,0.10);
  color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; transition:background .2s; line-height:1;
}
.yt-modal-close:hover { background:rgba(255,255,255,0.25); }

/* responsive */
@media(max-width:1100px){
  .yt-card{flex:0 0 calc((100% - 40px) / 3);}
}
@media(max-width:760px){
  .yt-card{flex:0 0 calc((100% - 20px) / 2);}
}
@media(max-width:480px){
  .yt-card{flex:0 0 80%;}
}

.appointment { padding:100px 0; background:var(--salmon-bg); }
.appt-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.appt-list { display:flex; flex-direction:column; gap:13px; margin:24px 0 32px; }
.appt-item { display:flex; align-items:center; gap:11px; font-size:14px; color:var(--text-sub); }
.appt-bullet {
  width:8px; height:8px; border-radius:50%;
  background:var(--salmon); flex-shrink:0;
}
.appt-form-box {
  background:var(--off-white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:38px;
}
.appt-form-box h3 { font-size:19px; font-weight:700; color:var(--black); margin-bottom:22px; }
.fg { margin-bottom:14px; }
.fg label { display:block; font-size:12px; font-weight:600; color:var(--text-sub); margin-bottom:5px; letter-spacing:.4px; }
.fg input, .fg select, .fg textarea {
  width:100%; padding:12px 15px;
  border:1.5px solid var(--border); border-radius:var(--r-md);
  font-size:14px; font-family:'Inter',sans-serif; color:var(--black);
  background:#fff; transition:border-color .25s; outline:none;
}
.fg input:focus, .fg select:focus, .fg textarea:focus {
  border-color:var(--salmon);
  box-shadow:0 0 0 3px rgba(211,144,127,0.12);
}
.fg textarea { min-height:90px; resize:vertical; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-sub { width:100%; margin-top:6px; justify-content:center; font-size:15px; }
/* LGPD consent */
.lgpd-check { display:flex; align-items:flex-start; gap:10px; margin:10px 0 14px; }
.lgpd-check input[type="checkbox"] {
  flex-shrink:0; width:16px; height:16px; margin-top:2px;
  accent-color:var(--salmon); cursor:pointer;
}
.lgpd-check label {
  font-size:11.5px; color:var(--text-sub); line-height:1.55; cursor:pointer;
}
.lgpd-check label a { color:var(--salmon); text-decoration:underline; }
.lgpd-check.error label { color:#c0392b; }

/* =========================================================
   FOOTER — aurora background
   ========================================================= */
footer {
  background:#484651; color:#fff; padding:64px 0 0;
  position:relative; overflow:hidden; isolation:isolate;
}
/* aurora layer 1 */
footer::before {
  content:''; position:absolute; inset:-10px; z-index:0;
  pointer-events:none; opacity:0.50; will-change:transform;
  background-image:
    repeating-linear-gradient(100deg,#484651 0%,#484651 7%,transparent 10%,transparent 12%,#484651 16%),
    repeating-linear-gradient(100deg,#D3907F 10%,#ECC8BF 15%,#D3907F 20%,#6D5C4A 25%,#c4a09a 30%);
  background-size:300%,200%;
  background-position:50% 50%,50% 50%;
  filter:blur(10px);
  animation:aurora 60s linear infinite;
  -webkit-mask-image:radial-gradient(ellipse at 0% 100%, black 10%, transparent 70%);
  mask-image:radial-gradient(ellipse at 0% 100%, black 10%, transparent 70%);
}
/* aurora layer 2 */
footer::after {
  content:''; position:absolute; inset:-10px; z-index:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(100deg,#484651 0%,#484651 7%,transparent 10%,transparent 12%,#484651 16%),
    repeating-linear-gradient(100deg,#D3907F 10%,#ECC8BF 15%,#D3907F 20%,#6D5C4A 25%,#c4a09a 30%);
  background-size:200%,100%;
  background-position:50% 50%,50% 50%;
  animation:aurora 60s linear infinite;
  mix-blend-mode:difference;
}
footer .container { position:relative; z-index:1; }
footer .foot-links a { color:rgba(255,255,255,.72); }
footer .foot-contact-row { color:rgba(255,255,255,.72); display:flex; align-items:flex-start; gap:8px; white-space:nowrap; }
footer .foot-brand p { color:rgba(255,255,255,.65); }
footer .foot-col h4 { color:rgba(255,255,255,.45); }
footer .foot-bottom p { color:rgba(255,255,255,.38); }
footer .foot-bottom-links a { color:rgba(255,255,255,.38); }
.foot-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:48px; padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.foot-brand .logo-t { font-size:20px; font-weight:900; display:block; margin-bottom:12px; }
.foot-brand .logo-t span { color:var(--salmon); }
.foot-brand p { font-size:13px; color:rgba(255,255,255,.5); line-height:1.75; max-width:270px; margin-bottom:22px; }
.foot-socials { display:flex; gap:10px; }
.soc-btn {
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.7); transition:var(--trans);
  text-decoration:none;
}
.soc-btn:hover { background:var(--salmon); border-color:var(--salmon); color:#fff; transform:translateY(-3px); }
.foot-col h4 {
  font-size:11px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:rgba(255,255,255,.35);
  margin-bottom:18px;
}
.foot-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.foot-links a {
  font-size:13px; color:rgba(255,255,255,.6); transition:color .25s;
  display:flex; align-items:center; gap:9px;
}
.foot-links a:hover { color:var(--salmon); }
.foot-links a svg { flex-shrink:0; opacity:0.6; transition:opacity .25s; }
.foot-links a:hover svg { opacity:1; color:var(--salmon); }
.foot-contact-row {
  display:flex; align-items:flex-start; gap:9px;
  font-size:13px; color:rgba(255,255,255,.6); margin-bottom:10px; line-height:1.5;
}
.foot-contact-row svg { color:var(--salmon); flex-shrink:0; margin-top:1px; }
.foot-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.foot-bottom p { font-size:12px; color:rgba(255,255,255,.3); }
.foot-bottom-links { display:flex; gap:18px; }
.foot-bottom-links a { font-size:12px; color:rgba(255,255,255,.3); transition:color .25s; }
.foot-bottom-links a:hover { color:var(--salmon); }

/* =========================================================
   FLOATING WA
   ========================================================= */
.wa-float {
  position:fixed; bottom:24px; right:24px; z-index:9999;
  display:flex; flex-direction:column; align-items:flex-end; gap:8px;
}
.wa-tip {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--r-md); padding:11px 14px;
  font-size:13px; font-weight:500; color:var(--black);
  box-shadow:var(--sh-md); display:none; max-width:200px;
  line-height:1.5;
}
.wa-float:hover .wa-tip { display:block; animation:fadeIn .25s ease; }
@keyframes fadeIn { from{opacity:0;transform:scale(.9);} to{opacity:1;transform:scale(1);} }
.wa-btn-f {
  width:58px; height:58px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center; color:#fff;
  box-shadow:0 8px 24px rgba(37,211,102,.45); transition:var(--trans);
  animation:wap 3s ease infinite;
  text-decoration:none;
}
.wa-btn-f:hover { transform:scale(1.1); }
@keyframes wap {
  0%,100%{box-shadow:0 8px 24px rgba(37,211,102,.45);}
  50%    {box-shadow:0 8px 36px rgba(37,211,102,.65);}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .clinica-feature{grid-template-columns:1fr;}
  .clinica-photo-card{min-height:280px;}
  .clinica-grid{grid-template-columns:repeat(2,1fr);}
  .diff-layout{grid-template-columns:1fr;}
  .diff-accordion{height:260px;}
  .diff-acc-panel{flex:0 0 44px; border-radius:14px;}
  .diff-acc-panel.is-active{flex:1 0 44px;}
  .diff-acc-label{font-size:10px;}
  .diff-acc-panel.is-active .diff-acc-label{font-size:12px;}
  .about-grid{grid-template-columns:1fr;}
  .about-visual{display:none;}
  .test-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .appt-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .cta-box{grid-template-columns:1fr; padding:40px 28px;}
}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .clinica-grid{grid-template-columns:1fr;}
  .clinica-foot{flex-direction:column; align-items:flex-start; gap:24px;}
  .stats-bar-grid{grid-template-columns:1fr 1fr;}
  .stat-item:nth-child(2)::after,
  .stat-item:nth-child(4)::after{display:none;}
  .srv-grid{grid-template-columns:1fr 1fr;}
  .mvv-grid{grid-template-columns:1fr;}
  .test-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .loc-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column;gap:10px;text-align:center;}
  .fg-row{grid-template-columns:1fr;}
  .diff-accordion{height:200px;}
  .diff-acc-panel{flex:0 0 36px; border-radius:10px;}
  .diff-acc-panel.is-active{flex:1 0 36px;}
}
@media(max-width:480px){
  .srv-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{justify-content:center;}
}

/* YouTube placeholder branded card */
.yt-thumb-placeholder {
  width:100%; height:100%;
  background: linear-gradient(135deg, #1a1210 0%, #2e1f18 30%, #3d2a20 55%, #2a1a14 80%, #1a1210 100%);
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.yt-thumb-placeholder::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 60% 60% at 50% 45%, rgba(211,144,127,0.18) 0%, transparent 70%);
}
.yt-thumb-placeholder::after {
  content:'';
  width:48px; height:48px; border-radius:50%;
  background: rgba(211,144,127,0.25);
  border: 2px solid rgba(211,144,127,0.5);
  position:relative; z-index:1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D3907F'%3E%3Cpolygon points='8,5 19,12 8,19'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 22px;
}


/* ============ YOUTUBE VERTICAL CAROUSEL ============ */
.yt-section { padding:100px 0; background:var(--salmon-bg); }
.yt-header { text-align:center; max-width:560px; margin:0 auto 52px; }

.yt-carousel { position:relative; }
.yt-track-outer {
  overflow:hidden;
  border-radius:var(--r-lg);
}
.yt-track {
  display:flex;
  gap:20px;
  transition:transform .45s cubic-bezier(0.22,1,0.36,1);
  will-change:transform;
}

/* Vertical card — portrait 9:16 */
.yt-vcard {
  flex:0 0 calc(25% - 15px);
  min-width:0;
  display:flex; flex-direction:column;
  /* glass */
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 24px rgba(109,92,74,0.10), 0 0 0 1px rgba(255,255,255,0.5) inset;
  border-radius:var(--r-lg);
  overflow:visible;
  text-decoration:none; color:inherit;
  transition:box-shadow .25s, transform .25s;
  position:relative; isolation:isolate;
}
.yt-vcard > * { border-radius: inherit; overflow: hidden; }
/* rotating glow border */
.yt-vcard::before {
  content:''; position:absolute; inset:-2px;
  border-radius:calc(var(--r-lg) + 2px);
  background: conic-gradient(
    from var(--glow-angle),
    transparent 0deg,
    transparent 60deg,
    rgba(211,144,127,0.85) 85deg,
    rgba(236,200,191,0.95) 105deg,
    rgba(211,144,127,0.85) 125deg,
    transparent 150deg,
    transparent 360deg
  );
  animation: glow-spin 4s linear infinite;
  z-index:-1; filter:blur(3px);
}
.yt-vcard:hover {
  box-shadow: 0 8px 32px rgba(109,92,74,0.18), 0 0 0 1px rgba(255,255,255,0.6) inset;
  transform: translateY(-4px);
}
.yt-vcard:hover {
  box-shadow:var(--sh-md);
  transform:translateY(-4px);
}

/* 9:16 portrait thumbnail */
.yt-vcard-thumb {
  position:relative;
  aspect-ratio:9/16;
  overflow:hidden;
  background:#1a1210;
}
.yt-vcard-thumb img {
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .5s cubic-bezier(0.22,1,0.36,1);
}
.yt-vcard:hover .yt-vcard-thumb img { transform:scale(1.05); }

.yt-vcard-play {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0);
  transition:background .25s;
}
.yt-vcard-play svg { opacity:0; transform:scale(0.8); transition:opacity .25s, transform .25s; }
.yt-vcard:hover .yt-vcard-play { background:rgba(0,0,0,0.3); }
.yt-vcard:hover .yt-vcard-play svg { opacity:1; transform:scale(1); }

.yt-vcard-dur {
  position:absolute; bottom:10px; right:10px;
  background:rgba(0,0,0,0.80); color:#fff;
  font-size:11px; font-weight:700; padding:3px 7px; border-radius:5px;
}

.yt-vcard-info {
  padding:12px 14px 14px;
  display:flex; flex-direction:column; gap:6px; flex:1;
}
.yt-vcard-title {
  font-size:13px; font-weight:700; color:var(--black);
  line-height:1.4; margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.yt-vcard-meta {
  display:flex; align-items:center; gap:5px;
  font-size:11px; color:var(--text-muted); flex-wrap:wrap;
}

.yt-channel { text-align:center; margin-top:36px; }

/* Responsive */
@media(max-width:900px){ .yt-vcard{ flex:0 0 calc(50% - 10px); } }
@media(max-width:560px){ .yt-vcard{ flex:0 0 calc(80% - 10px); } }
/* =================================================== */


.yt-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:10; width:40px; height:40px; border-radius:50%;
  background:#fff; border:1px solid var(--border);
  box-shadow:0 2px 12px rgba(0,0,0,0.12);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s, box-shadow .2s;
  color:var(--black);
}
.yt-nav:hover { background:var(--terracota); color:#fff; border-color:var(--terracota); }
.yt-nav:disabled { opacity:0.35; cursor:default; pointer-events:none; }
.yt-nav-prev { left:-20px; }
.yt-nav-next { right:-20px; }
.yt-carousel { position:relative; padding:0 30px; }
.yt-dots {
  display:flex; justify-content:center; gap:8px; margin-top:22px;
}
.yt-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--border); cursor:pointer;
  transition:background .25s, transform .25s;
}
.yt-dot.active { background:var(--terracota); transform:scale(1.25); }


.foot-links li a {
  display:flex; align-items:center; gap:8px;
}
.foot-link-ico {
  flex-shrink:0;
  color:var(--terracota);
  opacity:0.8;
  transition:opacity .2s, transform .2s;
}
.foot-links li a:hover .foot-link-ico {
  opacity:1; transform:translateX(2px);
}

