@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .36s; animation-timing-function: cubic-bezier(.4,0,.2,1); }
::view-transition-old(root) { animation-name: home-fade-out; }
::view-transition-new(root) { animation-name: home-fade-in; }
@keyframes home-fade-out { to { opacity: 0; transform: scale(.99); } }
@keyframes home-fade-in { from { opacity: 0; transform: scale(1.01); } }

.home-page { overflow-x: hidden; }
.brand-capitular { font-variant-caps: small-caps; letter-spacing: .025em; }
.thin-rule { height: 1px; background: rgba(48,40,36,.16); }

/* Hero Stage with Clinic Photo, Warm Brown Overlays & Parallax */
.home-hero {
  position: relative;
  display: grid;
  overflow: hidden;
  min-height: clamp(660px, calc(100svh - 110px), 820px);
  padding: clamp(3.5rem, 7vh, 5.25rem) 0 0;
  background: radial-gradient(circle at 70% 45%, rgba(89, 60, 49, 0.40) 0%, rgba(48, 40, 36, 0.90) 50%, #201713 100%), #1a120f;
}

/* Background Image Layer: Centered in a wide container for perfect 4K / Ultrawide framing */
.home-hero__bg-wrap {
  position: absolute;
  inset: -12% 0 -12% 0;
  width: 100%;
  height: 124%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  display: flex;
  justify-content: center;
}

.home-hero__bg-wrap picture {
  display: block;
  width: 100%;
  max-width: 2200px;
  height: 100%;
}

.home-hero__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 40%;
  transform: scale(1.08);
  will-change: transform;
  filter: brightness(0.96) contrast(1.03) saturate(1.08);
  transition: filter 800ms ease;
}

/* Multi-stage Editorial Gradient Overlays (Warm Brown & Translucent Espresso) */
.home-hero__overlay-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(26, 18, 14, 0.91) 0%,
    rgba(32, 22, 18, 0.84) 32%,
    rgba(42, 29, 24, 0.60) 50%,
    rgba(48, 34, 28, 0.28) 70%,
    rgba(48, 34, 28, 0.08) 88%,
    transparent 100%
  );
}

.home-hero__overlay-radial {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: radial-gradient(
    circle at 74% 54%,
    rgba(235, 195, 145, 0.12) 0%,
    rgba(89, 60, 49, 0.06) 45%,
    transparent 72%
  );
  mix-blend-mode: screen;
}

.home-hero__overlay-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 160px;
  z-index: 3;
  background: linear-gradient(
    180deg,
    rgba(20, 14, 11, 0.72) 0%,
    rgba(20, 14, 11, 0.35) 50%,
    transparent 100%
  );
}

.home-hero__overlay-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 110px;
  z-index: 3;
  background: linear-gradient(
    0deg,
    rgba(22, 15, 12, 0.78) 0%,
    transparent 100%
  );
}

/* Floating Hormone Molecules Stage */
.home-science-stage {
  position: absolute;
  z-index: 10;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.home-science-stage__inner {
  position: relative;
  width: var(--brand-container);
  height: 100%;
  margin-inline: auto;
}
.molecule-ascent-field {
  position: absolute;
  inset: 0 0 0 auto;
  width: 52%;
  overflow: hidden;
  transition: opacity 700ms cubic-bezier(.4,0,.2,1);
}
.hormone-particle {
  --x: 50%;
  --size: 42px;
  --duration: 32s;
  --delay: 0s;
  --drift: 18px;
  --turn: 8deg;
  --alpha: .22;
  position: absolute;
  bottom: 1%;
  left: var(--x);
  width: var(--size);
  height: var(--size);
  color: var(--brand-sand);
  opacity: 0;
  animation: hormone-rise var(--duration) linear infinite;
  animation-delay: var(--delay);
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
}
.hormone-particle .icon {
  display: block;
  width: 100%;
  height: 100%;
  transform: translate3d(var(--mouse-x, 0px), var(--mouse-y, 0px), 0) rotate(var(--mouse-rot, 0deg)) scale(var(--mouse-scale, 1));
  will-change: transform;
}
.hormone-particle--earth {
  color: var(--brand-linen);
}
.hormone-particle--deep {
  color: #ffffff;
}
.hormone-particle--accent {
  color: rgba(222, 208, 190, 0.85);
}
@keyframes hormone-rise {
  0% { opacity: 0; transform: translate3d(0,110px,0) rotate(-4deg) scale(.88); }
  12% { opacity: var(--alpha); transform: translate3d(3px,-110px,0) rotate(0) scale(.96); }
  38% { opacity: var(--alpha); transform: translate3d(calc(var(--drift) * -.35),-580px,0) rotate(calc(var(--turn) * .35)) scale(.99); }
  64% { opacity: var(--alpha); transform: translate3d(var(--drift),-1080px,0) rotate(var(--turn)) scale(1); }
  82%, 100% { opacity: 0; transform: translate3d(calc(var(--drift) * .55),-1450px,0) rotate(var(--turn)) scale(1.02); }
}

/* Hero Shell and Content */
.home-hero__shell {
  position: relative;
  z-index: 30;
  display: flex;
  width: var(--brand-container);
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  justify-self: center;
}
.home-hero__content {
  position: relative;
  z-index: 30;
  max-width: 760px;
  padding-bottom: 2.5rem;
}

/* Hero kicker — pure typographic, no container */
.home-hero__kicker {
  margin: 0 0 1.5rem;
  color: rgba(242, 234, 223, 0.85);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

/* ==========================================================================
   Barra de Modalidades de Atendimento (Hero to Content Bridge)
   ========================================================================== */

.home-modalities-bar {
  position: relative;
  z-index: 20;
  background: var(--brand-sand);
  border-top: 1px solid rgba(222, 208, 190, 0.85);
  border-bottom: 1px solid rgba(222, 208, 190, 0.85);
  box-shadow: 0 10px 30px rgba(48, 40, 36, 0.05);
}

.home-modalities-bar__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 16px 0 24px;
}

@media (max-width: 768px) {
  .home-modalities-bar__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 0 22px;
  }
}

.home-modality-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  background: #ffffff;
  border: 1px solid rgba(222, 208, 190, 0.8);
  border-radius: 14px;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(48, 40, 36, 0.04);
  transition: transform var(--brand-ease), box-shadow var(--brand-ease), border-color var(--brand-ease);
}

.home-modality-card:hover {
  transform: translateY(-2px);
  border-color: var(--brand-terracotta);
  box-shadow: 0 8px 22px rgba(48, 40, 36, 0.08);
  background: #ffffff;
}

.home-modality-card__main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.home-modality-card__icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 10px;
  background: var(--brand-sand);
  border: 1px solid rgba(222, 208, 190, 0.85);
  color: var(--brand-cocoa);
  transition: background-color var(--brand-ease), color var(--brand-ease), transform var(--brand-ease);
}

.home-modality-card:hover .home-modality-card__icon-box {
  background: var(--brand-cocoa);
  color: var(--brand-sand);
  transform: scale(1.05);
}

.home-modality-card__icon-box svg,
.home-modality-card__icon-box .icon {
  width: 18px;
  height: 18px;
  display: block;
}

.home-modality-card__info {
  min-width: 0;
}

.home-modality-card__eyebrow {
  margin: 0 0 1px;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-terracotta);
  line-height: 1.2;
}

.home-modality-card__title {
  display: block;
  margin: 0 0 1px;
  font-family: Lora, Georgia, serif;
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--brand-cocoa);
  line-height: 1.25;
}

.home-modality-card__desc {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 500;
  color: var(--brand-slate);
  line-height: 1.35;
}

.home-modality-card__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(242, 234, 223, 0.5);
  border: 1px solid rgba(222, 208, 190, 0.6);
  color: var(--brand-cocoa);
  transition: background-color var(--brand-ease), color var(--brand-ease), transform var(--brand-ease), border-color var(--brand-ease);
}

.home-modality-card__arrow svg,
.home-modality-card__arrow .icon {
  width: 12px;
  height: 12px;
  display: block;
}

.home-modality-card:hover .home-modality-card__arrow {
  background: var(--brand-terracotta);
  border-color: var(--brand-terracotta);
  color: #ffffff;
  transform: translate(2px, -2px);
}


.home-hero h1 {
  margin: 0 0 1.5rem;
  font-size: var(--brand-hero-title) !important;
  line-height: 1.08 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}
.home-hero h1 span.italic {
  color: var(--brand-sand) !important;
  font-style: italic;
}
.home-hero__lead {
  max-width: 58ch;
  margin: 0 0 2rem;
  color: rgba(252, 250, 247, 0.94);
  font-size: clamp(0.98rem, 1.25vw, 1.12rem);
  line-height: 1.7;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.40);
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}
.hero-actions a {
  transition: transform var(--brand-ease), box-shadow var(--brand-ease), color var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease);
}
#hero-main-cta {
  border-radius: 12px !important;
  min-height: 52px;
  padding: 15px 32px;
  background: var(--brand-sand) !important;
  color: var(--brand-coffee) !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
#hero-main-cta:hover {
  background: #ffffff !important;
  color: var(--brand-coffee) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}
#hero-secondary-cta {
  color: var(--brand-sand) !important;
  font-weight: 800;
  letter-spacing: 0.12em;
}
#hero-secondary-cta:hover {
  color: #ffffff !important;
}

/* Scroll Cue */
.home-scroll-cue {
  position: absolute;
  z-index: 35;
  right: 0;
  bottom: 116px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--brand-sand);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
}
.home-scroll-cue i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(222, 208, 190, 0.32);
  border-radius: 50%;
  background: rgba(36, 26, 22, 0.72);
  backdrop-filter: blur(12px);
  color: var(--brand-sand);
  transition: transform var(--brand-ease), border-color var(--brand-ease), background-color var(--brand-ease), box-shadow var(--brand-ease);
}
.home-scroll-cue:hover i {
  border-color: var(--brand-sand);
  background: var(--brand-sand);
  color: var(--brand-coffee);
  transform: translateY(3px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

/* Trust Strip in Warm Dark Coffee Glass */
.home-trust-strip {
  position: relative;
  z-index: 34;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-top: auto;
  border-top: 1px solid rgba(222, 208, 190, 0.20);
  border-bottom: 0;
  background: rgba(30, 21, 17, 0.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.22);
}
.home-trust-strip__item {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 5px;
  min-height: 88px;
  padding: 16px clamp(16px, 2vw, 28px);
  border-left: 1px solid rgba(222, 208, 190, 0.14);
  transition: background-color var(--brand-ease);
}
.home-trust-strip__item:first-child {
  border-left: 0;
}
.home-trust-strip__item span {
  color: var(--brand-linen);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.home-trust-strip__item strong {
  color: #ffffff;
  font-family: Lora, Georgia, serif;
  font-size: clamp(.94rem, 1.18vw, 1.08rem);
  font-weight: 500;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}

.home-section { padding-block: var(--brand-section-space); }
.home-page :where(#atendimento, #biografia, #conhecimento, #conteudos, #agendar) { padding-block: var(--brand-section-space); }
.home-page :where(#atendimento, #biografia, #conhecimento, #conteudos, #agendar) h2 { 
  font-size: var(--brand-section-title) !important; 
  line-height: 1.06 !important; 
  letter-spacing: -0.035em !important; 
}
.home-section-heading { margin-bottom: clamp(3rem, 5vw, 4.5rem); }
.home-service-card .brand-card-icon { width: var(--brand-card-icon-box) !important; height: var(--brand-card-icon-box) !important; }
.home-service-card .brand-card-icon .icon { width: var(--brand-card-icon) !important; height: var(--brand-card-icon) !important; }
.home-service-card p { line-height: 1.72; }
.home-knowledge-card { min-height: 330px; padding: clamp(1.8rem,2.5vw,2.4rem) !important; }
.home-knowledge-card .brand-card-icon { width: var(--brand-card-icon-box); height: var(--brand-card-icon-box); }
.home-knowledge-card .brand-card-icon .icon { width: var(--brand-card-icon); height: var(--brand-card-icon); }
.knowledge-feature .w-56 .icon { width: 34px; height: 34px; color: rgba(242,234,223,.72); }
.knowledge-feature a .icon, #all-content-link .icon, #bio-trajectory-link .icon, .home-service-card > span .icon { width: 18px; height: 18px; }
.home-page .aspect-video > div > .icon { width: 48px; height: 48px; }
.appointment-clinic-card__icon svg, .appointment-clinic-card__icon .icon { width: 19px; height: 19px; flex: 0 0 auto; display: block; color: var(--brand-cocoa); }
.appointment-clinic-card__address .appointment-clinic-card__icon svg, .appointment-clinic-card__address .appointment-clinic-card__icon .icon { width: 21px; height: 21px; }
#cta-whatsapp-final .icon, #cta-phone-final .icon { width: 22px; height: 22px; }

@media (max-width: 1200px) and (min-width: 1024px) {
  .home-hero__bg-wrap { width: 68vw; }
}
@media (max-width: 1023px) {
  .home-hero { min-height: clamp(640px,calc(100svh - 100px),740px); padding-top: 3.75rem; }
  .home-scroll-cue { display: none; }
  .home-trust-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-trust-strip__item:nth-child(3) { border-left: 0; }
  .home-trust-strip__item:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
  .home-hero__bg-wrap { width: 75vw; right: -5%; }
  .home-hero__overlay-scrim {
    background: linear-gradient(
      90deg,
      rgba(16, 23, 28, 0.98) 0%,
      rgba(20, 28, 34, 0.94) 42%,
      rgba(24, 34, 41, 0.75) 68%,
      rgba(24, 34, 41, 0.30) 100%
    );
  }
  .molecule-ascent-field { width: 44%; opacity: .65; }
  .hormone-particle:nth-child(n+4) { display: none; }
}
@media (max-width: 640px) {
  .home-hero { min-height: 0; padding: 3.75rem 0 0; }
  .home-hero__shell { min-height: 0; }
  .home-hero__content { padding-bottom: 2rem; }
  .home-hero__bg-wrap {
    inset: 0;
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .home-hero__bg-img {
    object-position: center center;
    filter: brightness(0.60) contrast(1.05);
  }
  .home-hero__overlay-scrim {
    background: linear-gradient(
      180deg,
      rgba(14, 20, 24, 0.88) 0%,
      rgba(20, 28, 34, 0.84) 55%,
      rgba(24, 34, 41, 0.92) 100%
    );
  }
  .molecule-ascent-field { display: none; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 1.1rem !important; }
  .hero-actions a { justify-content: center; width: 100%; text-align: center; }
  .home-hero__choices { display: grid; grid-template-columns: 1fr; }
  .home-scroll-cue { position: static; display: flex; align-self: flex-end; margin: 0 0 1.25rem; }
  .home-trust-strip { grid-template-columns: 1fr; width: 100%; }
  .home-trust-strip__item { min-height: 72px; padding-inline: 16px; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .home-trust-strip__item:first-child { border-top: 0; }
}
@media (hover: hover) and (pointer: fine) {
  .hero-actions a:hover { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
  .microbe-drift, .hormone-particle { animation: none !important; }
  .hormone-particle { display: none; }
  .home-hero__bg-img { transform: none !important; }
  .home-hero__choice:hover, .hero-actions a:hover, .home-scroll-cue:hover i { transform: none; }
}
