:root {
  --brand-paper: #fcfaf7;
  --brand-white: #ffffff;
  --brand-sand: #f2eadf;
  --brand-linen: #ded0be;
  --brand-cocoa: #593c31;
  --brand-coffee: #302824;
  --brand-earth: #805f4d;
  --brand-slate: #66737a;
  --brand-blue: #26343d;
  --brand-blue-soft: #4d5f69;
  --brand-red: #a43f35;
  --brand-container: min(1320px, calc(100% - 72px));
  --brand-hero-title: clamp(3.55rem, 5.25vw, 5.55rem);
  --brand-editorial-hero-width: 1080px;
  --brand-section-title: clamp(2.85rem, 4.3vw, 4.65rem);
  --brand-card-icon-box: 52px;
  --brand-card-icon: 24px;
  --brand-header-height: 84px;
  --brand-ease: 280ms cubic-bezier(.22, 1, .36, 1);
  --brand-reveal-ease: cubic-bezier(.16, 1, .3, 1);
  --brand-reveal-duration: 900ms;
  --brand-section-space: clamp(5.5rem, 8vw, 8rem);
  --brand-radius-sm: 8px;
  --brand-radius-md: 12px;
  --brand-radius-lg: 18px;
  --brand-shadow-hover: 0 18px 45px rgba(48, 40, 36, .11);
  --brand-line: rgba(48, 40, 36, .14);
  --paper: var(--brand-paper); --ivory: var(--brand-paper); --white: var(--brand-white);
  --sand: var(--brand-sand); --linen: var(--brand-linen); --cocoa: var(--brand-cocoa);
  --coffee: var(--brand-coffee); --earth: var(--brand-earth); --slate: var(--brand-slate);
  --blue: var(--brand-blue); --blue-soft: var(--brand-blue-soft); --red: var(--brand-red);
  --container: var(--brand-container); --ease: var(--brand-ease);
  --about-paper: var(--brand-paper); --about-white: var(--brand-white); --about-sand: var(--brand-sand);
  --about-linen: var(--brand-linen); --about-cocoa: var(--brand-cocoa); --about-coffee: var(--brand-coffee);
  --about-earth: var(--brand-earth); --about-slate: var(--brand-slate); --about-blue: var(--brand-blue);
  --about-blue-soft: var(--brand-blue-soft); --about-red: var(--brand-red); --about-line: var(--brand-line);
  --about-container: var(--brand-container); --about-ease: var(--brand-ease);
  --about-shadow: 0 28px 75px rgba(48, 40, 36, .12);
}

html { font-size: 16px; scroll-behavior: smooth; background: var(--brand-paper); }
body { margin: 0; overflow-x: hidden; color: var(--brand-coffee); background: var(--brand-paper); font-family: Manrope, "Segoe UI", Arial, sans-serif; font-size: 1rem; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
::selection { color: var(--brand-paper); background: var(--brand-cocoa); }
:focus-visible { outline: 3px solid var(--brand-red); outline-offset: 4px; }
.brand-container, .about-container, .editorial-container { width: var(--brand-container); margin-inline: auto; }
.icon { width: 1em; height: 1em; flex: 0 0 auto; fill: currentColor; }
.site-skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; color: var(--brand-paper); background: var(--brand-coffee); text-decoration: none; transform: translateY(-160%); transition: transform 180ms ease; }
.site-skip-link:focus { transform: none; }

.site-utility { position: relative; z-index: 120; min-height: 44px; color: rgba(252,250,247,.9); border-bottom: 1px solid rgba(255,255,255,.1); background: var(--brand-cocoa); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.site-utility__inner { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 24px; }
.site-utility__inner > div, .site-utility__inner span, .site-utility__inner a { display: flex; align-items: center; gap: 8px; }
.site-utility__inner > div { gap: 30px; }
.site-utility .icon { width: 13px; height: 13px; }
.site-utility a { color: inherit; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; padding: 0 10px; }
.global-header { position: relative; z-index: 110; border-bottom: 1px solid var(--brand-linen); background: rgba(252,250,247,.96); backdrop-filter: blur(14px); transition: box-shadow var(--brand-ease), background-color var(--brand-ease); }
.global-header.is-scrolled { position: sticky; top: 0; box-shadow: 0 9px 28px rgba(48,40,36,.08); background: rgba(252,250,247,.985); }
.global-header__inner { display: flex; min-height: var(--brand-header-height); align-items: center; gap: clamp(20px, 2.6vw, 38px); }
.global-brand { display: grid; min-width: 255px; min-height: 44px; align-content: center; gap: 5px; color: var(--brand-cocoa); text-decoration: none; }
.global-brand strong, .global-footer__brand strong { font-family: Lora, Georgia, serif; font-size: 1.55rem; font-variant-caps: small-caps; font-weight: 500; letter-spacing: .02em; line-height: 1; }
.global-brand small { color: var(--brand-earth); font-size: .55rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.global-nav { display: flex; align-items: center; gap: clamp(16px, 1.7vw, 27px); margin-left: auto; }
.global-nav a { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--brand-slate); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: color var(--brand-ease); white-space: nowrap; }
.global-nav a::after { position: absolute; right: 0; bottom: 8px; left: 0; height: 1px; content: ""; background: var(--brand-red); transform: scaleX(0); transform-origin: right; transition: transform var(--brand-ease); }
.global-nav a:hover, .global-nav a[aria-current="page"] { color: var(--brand-cocoa); }
.global-nav a:hover::after, .global-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.global-menu-toggle { display: none; width: 46px; height: 46px; padding: 0; color: var(--brand-cocoa); border: 1px solid var(--brand-linen); border-radius: 50%; background: transparent; cursor: pointer; }
.global-menu-toggle span { display: block; width: 18px; height: 1px; margin: 5px auto; background: currentColor; transition: transform var(--brand-ease); }
.global-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.global-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
.brand-button, .about-button, .editorial-header__cta, .knowledge-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; padding: 0 25px; border: 1px solid transparent; border-radius: var(--brand-radius-md); font-size: .66rem; font-weight: 800; letter-spacing: .1em; line-height: 1.2; text-decoration: none; text-transform: uppercase; transition: transform var(--brand-ease), box-shadow var(--brand-ease), color var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease); }
.brand-button .icon, .about-button .icon { width: 18px; height: 18px; }
.brand-button--primary, .about-button--dark, .knowledge-button { color: var(--brand-paper); background: var(--brand-cocoa); }
.brand-button--primary:hover, .about-button--dark:hover, .knowledge-button:hover { color: var(--brand-paper); background: var(--brand-coffee); transform: translateY(-2px); box-shadow: var(--brand-shadow-hover); }
.global-header__cta { flex: 0 0 auto; }

.home-page h1, .about-hero h1, .archive-hero h1, .article-hero h1, .knowledge-hero h1, .lecture-hero h1, .knowledge-detail-hero h1, .book-detail h1 { font-family: Lora, Georgia, serif; font-size: var(--brand-hero-title) !important; font-weight: 400; letter-spacing: -.045em; line-height: 1.08 !important; }
.home-page section > div > div > h2, .about-story h2, .about-ecosystem h2, .about-clinic h2, .about-cta h2, .related-content h2, .knowledge-detail h2, .course-program h2, .knowledge-section-heading h2 { font-family: Lora, Georgia, serif; font-size: var(--brand-section-title); font-weight: 400; letter-spacing: -.035em; line-height: 1.15; }
:where(.article-body, .knowledge-rich-text, .about-story__body) p { max-width: 68ch; }
:where(.archive-hero, .article-hero, .knowledge-hero, .lecture-hero, .knowledge-detail-hero) { position: relative; padding-block: clamp(4.75rem, 7.4vw, 6.5rem) !important; background-color: #f8f5f0; }
:where(.archive-hero, .knowledge-hero, .lecture-hero) > .editorial-container, .article-hero__grid, .knowledge-detail-hero__grid { position: relative; z-index: 2; }
:where(.archive-hero, .article-hero, .knowledge-hero, .lecture-hero, .knowledge-detail-hero) h1 { max-width: 920px; margin-top: 1.25rem; margin-bottom: 1.65rem; color: var(--brand-cocoa); }
:where(.archive-hero, .article-hero, .knowledge-hero, .lecture-hero, .knowledge-detail-hero) p { max-width: 68ch; margin-top: 0; color: var(--brand-slate); font-family: Manrope, "Segoe UI", Arial, sans-serif; font-size: clamp(1rem, 1.25vw, 1.12rem); line-height: 1.75; }
.about-hero h1, .archive-hero h1, .article-hero h1, .knowledge-hero h1, .lecture-hero h1, .knowledge-detail-hero h1, .book-detail h1 { overflow-wrap: normal; text-wrap: balance; word-break: normal; }
.archive-hero h1, .knowledge-hero h1, .lecture-hero h1 { max-width: min(100%, var(--brand-editorial-hero-width)); }
.archive-hero h1 em, .knowledge-hero h1 em, .lecture-hero h1 em { display: inline; }

/* Refined Fine-line Medical Card System (Impeccable Quality) */
.brand-card-icon, .about-credential__icon {
  display: grid;
  width: var(--brand-card-icon-box);
  height: var(--brand-card-icon-box);
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #f7f3ed;
  border: 1px solid rgba(222, 208, 190, 0.65);
  color: var(--brand-cocoa);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.8), 0 2px 8px rgba(48, 40, 36, 0.04);
  transition: transform var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease), color var(--brand-ease), box-shadow var(--brand-ease);
}
.brand-card-icon .icon, .about-credential__icon .icon {
  width: var(--brand-card-icon);
  height: var(--brand-card-icon);
  stroke-width: 1.5;
  transition: transform var(--brand-ease);
}

.home-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 410px !important;
  padding: clamp(28px, 2.8vw, 36px) !important;
  background: #ffffff;
  transition: transform var(--brand-ease), box-shadow var(--brand-ease), color var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease);
  text-decoration: none;
}
.home-service-card:hover {
  transform: translateY(-4px);
  background-color: var(--brand-coffee) !important;
  color: #ffffff !important;
  box-shadow: 0 20px 40px rgba(32, 23, 19, 0.18);
}
.home-service-card h3 {
  color: var(--brand-cocoa);
  transition: color var(--brand-ease);
}
.home-service-card p {
  color: var(--brand-slate);
  transition: color var(--brand-ease);
}
.home-service-card:hover h3 {
  color: #ffffff !important;
}
.home-service-card:hover p {
  color: rgba(252, 250, 247, 0.88) !important;
}
.home-service-card:hover .brand-card-icon {
  background: rgba(242, 234, 223, 0.15);
  border-color: rgba(242, 234, 223, 0.35);
  color: var(--brand-sand);
  box-shadow: 0 0 20px rgba(242, 234, 223, 0.14);
}
.home-service-card:hover .brand-card-icon .icon {
  transform: scale(1.08);
}

/* Tabular numeral replacing pill badge */
.home-service-card__num {
  font-family: Lora, serif;
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  color: var(--brand-linen);
  letter-spacing: -0.02em;
  line-height: 1;
  transition: color var(--brand-ease);
}
.home-service-card:hover .home-service-card__num {
  color: rgba(222, 208, 190, 0.55);
}

/* Category micro-label beneath the numeral row */
.home-service-card__category {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-earth);
  margin: 0 0 0.65rem;
  transition: color var(--brand-ease);
}
.home-service-card:hover .home-service-card__category {
  color: rgba(242, 234, 223, 0.75);
}

.home-service-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1.25rem;
  margin-top: 1.5rem;
  border-top: 1px solid rgba(48, 40, 36, 0.08);
  transition: border-color var(--brand-ease);
}
.home-service-card:hover .home-service-card__footer {
  border-top-color: rgba(255, 255, 255, 0.14);
}

.home-service-card__cta-label {
  font-size: 0.70rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-cocoa);
  transition: color var(--brand-ease);
}
.home-service-card:hover .home-service-card__cta-label {
  color: var(--brand-sand);
}

.home-service-card__cta-arrow {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(48, 40, 36, 0.12);
  background: transparent;
  color: var(--brand-cocoa);
  transition: transform var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease), color var(--brand-ease);
}
.home-service-card__cta-arrow .icon {
  width: 14px;
  height: 14px;
}
.home-service-card:hover .home-service-card__cta-arrow {
  border-color: var(--brand-sand);
  background: var(--brand-sand);
  color: var(--brand-coffee);
  transform: translate(2px, -2px);
}

.about-credential:hover .about-credential__icon {
  background: var(--brand-sand);
  border-color: var(--brand-sand);
  color: var(--brand-coffee);
  transform: scale(1.06);
}

/* ==========================================================================
   Editorial Gallery Portrait & Micro-Texture System (Impeccable Craft)
   ========================================================================== */

/* Micro-Hexagonal Molecular Texture & Centered Radial Glow (Seamless Mathematical Honeycomb) */
.brand-texture-surface {
  position: relative;
  background: radial-gradient(circle at 50% 50%, #ffffff 0%, #FAF6F0 50%, #F4ECE1 100%) !important;
  overflow: hidden;
}
.brand-texture-surface::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='30' viewBox='0 0 20 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 5l10-5 10 5v10l-10 5-10-5M10 20v10' stroke='%23805f4d' stroke-width='0.75' stroke-opacity='0.12' fill='none'/%3E%3Ccircle cx='10' cy='0' r='1' fill='%23805f4d' fill-opacity='0.22'/%3E%3Ccircle cx='20' cy='5' r='1' fill='%23805f4d' fill-opacity='0.22'/%3E%3Ccircle cx='20' cy='15' r='1' fill='%23805f4d' fill-opacity='0.22'/%3E%3Ccircle cx='10' cy='20' r='1' fill='%23805f4d' fill-opacity='0.22'/%3E%3C/svg%3E");
  background-size: 20px 30px;
  background-position: center center;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.65) 50%, rgba(0,0,0,0.15) 85%, transparent 100%);
  mask-image: radial-gradient(circle at 50% 50%, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.65) 50%, rgba(0,0,0,0.15) 85%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}

/* Gallery Portrait Stage */
.bio-portrait-stage {
  position: relative;
  width: 100%;
  max-width: 470px;
  margin-inline: auto;
  z-index: 2;
}

/* Floating Geometric Accent Line */
.bio-portrait-offset-frame {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  border: 1.5px solid rgba(222, 208, 190, 0.85);
  background: transparent;
  pointer-events: none;
  z-index: 1;
  transition: transform var(--brand-ease), border-color var(--brand-ease);
}
.bio-portrait-stage:hover .bio-portrait-offset-frame {
  transform: translate(4px, -4px);
  border-color: var(--brand-terracotta);
}

/* Clean Portrait Figure */
.bio-portrait-figure {
  position: relative;
  z-index: 2;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 3.75 / 5;
  background: #f7f3ed;
  border: 1px solid rgba(222, 208, 190, 0.55);
  box-shadow: 0 25px 60px rgba(48, 40, 36, 0.12), 0 4px 16px rgba(48, 40, 36, 0.04);
}
.bio-portrait-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 16%;
  transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.bio-portrait-stage:hover .bio-portrait-img {
  transform: scale(1.025);
}

/* Editorial caption beneath portrait (replacing floating badge) */
.bio-portrait-caption {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 6px 0;
}
.bio-portrait-caption__name {
  display: block;
  font-family: Lora, serif;
  font-size: 0.95rem;
  font-style: italic;
  font-weight: 400;
  color: var(--brand-cocoa);
  line-height: 1.3;
}
.bio-portrait-caption__roles {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--brand-earth);
}

/* Credential Cards with Fine-line Icons */
.bio-credentials-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}
.bio-credential-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 12px;
  background: rgba(247, 243, 237, 0.70);
  border: 1px solid rgba(222, 208, 190, 0.50);
  transition: transform var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease), box-shadow var(--brand-ease);
}
.bio-credential-card:hover {
  transform: translateY(-2px);
  background: #ffffff;
  border-color: rgba(222, 208, 190, 0.85);
  box-shadow: 0 10px 24px rgba(48, 40, 36, 0.07);
}
.bio-credential-card__icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(222, 208, 190, 0.65);
  color: var(--brand-cocoa);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.8), 0 2px 6px rgba(48, 40, 36, 0.04);
  transition: transform var(--brand-ease), background-color var(--brand-ease), color var(--brand-ease), border-color var(--brand-ease);
}
.bio-credential-card__icon .icon {
  width: 17px;
  height: 17px;
  stroke-width: 1.5;
}
.bio-credential-card:hover .bio-credential-card__icon {
  background: var(--brand-cocoa);
  border-color: var(--brand-cocoa);
  color: var(--brand-sand);
  transform: scale(1.06);
}
.bio-credential-card__kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--brand-terracotta);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.bio-credential-card__value {
  margin: 0;
  color: var(--brand-coffee);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .bio-portrait-offset-frame {
    display: none;
  }
  .bio-credentials-grid {
    grid-template-columns: 1fr;
  }
}
.article-card, .knowledge-card { transition: transform var(--brand-ease), box-shadow var(--brand-ease), border-color var(--brand-ease); }
.article-card:hover, .knowledge-card:hover { transform: translateY(-3px); box-shadow: var(--brand-shadow-hover); }
.about-story, .about-clinic, .archive-content, .knowledge-catalog, .knowledge-detail, .lecture-topics, .event-section { padding-block: var(--brand-section-space); }
.dna-plexus__helix { fill: none; stroke-width: 3; stroke-linecap: round; }
.dna-plexus__bridge { fill: none; stroke: rgba(77,95,105,.24); stroke-width: 1.3; }
.dna-plexus__node { fill: var(--brand-blue-soft); opacity: .17; animation: nucleotide-pulse 20s ease-in-out infinite alternate; animation-duration: var(--node-duration,20s); animation-delay: var(--node-delay,0s); }
.dna-plexus__node--accent { fill: var(--brand-red); opacity: .18; }
@keyframes nucleotide-pulse { from { opacity: .14; } to { opacity: .2; } }

/* ==========================================================================
   Faixa de Redes Sociais (Social Ribbon - Blue-Gray Slate Edition)
   ========================================================================== */

.social-ribbon {
  position: relative;
  background: var(--brand-blue-soft) !important;
  color: var(--brand-paper);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.social-ribbon__inner {
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-block: 16px;
}

.social-ribbon__heading {
  display: flex;
  align-items: center;
  gap: 14px;
}

.social-ribbon__emblem {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  transition: transform var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease);
}
.social-ribbon__emblem .icon {
  width: 17px;
  height: 17px;
}
.social-ribbon:hover .social-ribbon__emblem {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.45);
  transform: scale(1.05);
}

.social-ribbon__eyebrow {
  display: block;
  margin-bottom: 2px;
  color: rgba(242, 234, 223, 0.78);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.social-ribbon__title {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: Lora, Georgia, serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
}

.social-ribbon__nav {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
  gap: 8px 10px !important;
  align-items: center !important;
}

.social-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 44px !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  font-size: 0.63rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: transform var(--brand-ease), background var(--brand-ease), border-color var(--brand-ease), box-shadow var(--brand-ease) !important;
}
.social-chip .icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  transition: transform var(--brand-ease);
}
.social-chip:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.40) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
.social-chip:hover .icon {
  transform: scale(1.10);
}

.social-chip--featured {
  background: rgba(164, 63, 53, 0.28) !important;
  border-color: rgba(164, 63, 53, 0.55) !important;
}
.social-chip--featured:hover {
  background: var(--brand-terracotta) !important;
  border-color: var(--brand-terracotta) !important;
}
.social-chip__badge {
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--brand-terracotta);
  color: #ffffff;
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}
.social-chip--featured:hover .social-chip__badge {
  background: #ffffff;
  color: var(--brand-coffee);
}


/* ==========================================================================
   Rodapé Global Estruturado & Haute-Couture (Global Footer)
   ========================================================================== */

.global-footer {
  padding: 72px 0 32px;
  background: radial-gradient(circle at 50% 10%, #1e1512 0%, #160f0d 60%, #100a08 100%) !important;
  color: rgba(252, 250, 247, 0.72);
  border-top: 1px solid rgba(242, 234, 223, 0.12);
}

.global-footer__grid {
  display: grid;
  grid-template-columns: 1.35fr 1.15fr 1.15fr 0.85fr;
  gap: clamp(32px, 4vw, 56px);
  padding-bottom: 56px;
}

.global-footer__col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.global-footer__brand-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.global-footer__logo {
  color: var(--brand-paper);
  font-family: Lora, Georgia, serif;
  font-size: 1.55rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

.global-footer__descriptor {
  margin: 0;
  max-width: 320px;
  color: rgba(252, 250, 247, 0.72);
  font-size: 0.80rem;
  line-height: 1.65;
}

.global-footer__authority-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(242, 234, 223, 0.08);
  border: 1px solid rgba(242, 234, 223, 0.18);
  color: var(--brand-sand);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.global-footer__authority-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand-terracotta);
}

.global-footer__subcreds {
  margin: 0;
  color: rgba(242, 234, 223, 0.55);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.global-footer__label {
  display: block;
  margin-bottom: 4px;
  color: #ffffff;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.global-footer__location-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 4px 0;
  background: transparent;
  border: none;
}

.global-footer__icon-box {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 8px;
  background: rgba(242, 234, 223, 0.08);
  border: 1px solid rgba(242, 234, 223, 0.15);
  color: var(--brand-sand);
}
.global-footer__icon-box .icon {
  width: 16px;
  height: 16px;
}

.global-footer__address {
  margin: 0;
  color: rgba(252, 250, 247, 0.95);
  font-size: 0.82rem;
  line-height: 1.55;
}
.global-footer__address span {
  display: block;
  color: rgba(242, 234, 223, 0.70);
  font-size: 0.74rem;
  margin-top: 2px;
}

.global-footer__hours,
.global-footer__telemed {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(252, 250, 247, 0.80);
  font-size: 0.76rem;
  padding-left: 2px;
}
.global-footer__hours-icon,
.global-footer__telemed-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--brand-sand);
}
.global-footer__hours-icon .icon,
.global-footer__telemed-icon .icon {
  width: 12px;
  height: 12px;
}

.global-footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.global-footer__contact-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  padding: 6px 0;
  background: transparent;
  border: none;
  text-decoration: none;
  color: inherit;
  transition: transform var(--brand-ease), color var(--brand-ease);
}
.global-footer__contact-card:hover {
  transform: translateX(3px);
  background: transparent;
  border: none;
  color: #ffffff;
}

.global-footer__contact-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 8px;
  background: rgba(242, 234, 223, 0.08);
  border: 1px solid rgba(242, 234, 223, 0.15);
  color: var(--brand-sand);
  transition: transform var(--brand-ease), background var(--brand-ease), border-color var(--brand-ease), color var(--brand-ease);
}
.global-footer__contact-icon .icon {
  width: 15px;
  height: 15px;
}
.global-footer__contact-card:hover .global-footer__contact-icon {
  background: var(--brand-terracotta);
  border-color: var(--brand-terracotta);
  color: #ffffff;
  transform: scale(1.05);
}

.global-footer__contact-tag {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(242, 234, 223, 0.70);
  line-height: 1.2;
  margin-bottom: 2px;
}

.global-footer__contact-val {
  display: block;
  font-size: 0.84rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}

.global-footer__contact-card--whatsapp .global-footer__contact-tag {
  color: #6ee7b7;
}

.global-footer__nav-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.global-footer__nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 0;
  gap: 8px;
  text-decoration: none;
  color: rgba(252, 250, 247, 0.70);
  font-size: 0.76rem;
  line-height: 1.4;
  transition: transform var(--brand-ease), color var(--brand-ease);
}
.global-footer__nav-links a .icon {
  width: 11px;
  height: 11px;
  color: var(--brand-terracotta);
  transition: transform var(--brand-ease);
}
.global-footer__nav-links a:hover {
  color: #ffffff;
  transform: translateX(4px);
}
.global-footer__nav-links a:hover .icon {
  transform: translateX(2px);
}

.global-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 28px;
  margin-top: 8px;
  border-top: 1px solid rgba(242, 234, 223, 0.12);
  font-size: 0.66rem;
  letter-spacing: 0.04em;
}

.global-footer__bottom a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 4px;
}

.global-footer__bottom p {
  margin: 0;
}

.global-footer__cfm-disclaimer {
  max-width: 540px;
  color: rgba(242, 234, 223, 0.58);
  font-size: 0.64rem;
  line-height: 1.5;
  text-align: right;
}
.development-toast { position: fixed; z-index: 300; right: 24px; bottom: 24px; display: grid; max-width: min(360px, calc(100vw - 48px)); gap: 4px; padding: 18px 21px; color: #fff; border: 1px solid rgba(255,255,255,.14); border-radius: var(--brand-radius-md); background: var(--brand-blue); box-shadow: 0 18px 45px rgba(38,52,61,.22); opacity: 0; visibility: hidden; transform: translateY(18px); transition: opacity var(--brand-ease), transform var(--brand-ease), visibility var(--brand-ease); }
.development-toast.is-visible { opacity: 1; visibility: visible; transform: none; }
.development-toast strong { font-family: Lora, Georgia, serif; font-weight: 500; }
.development-toast span { color: rgba(255,255,255,.78); font-size: .72rem; }
.reveal, .js .reveal, .js .about-reveal.reveal { opacity: 0; transform: translateY(32px); transition: opacity var(--brand-reveal-duration) var(--brand-reveal-ease), transform var(--brand-reveal-duration) var(--brand-reveal-ease); will-change: opacity,transform; }
.reveal.is-visible, .js .reveal.is-visible, .js .about-reveal.reveal.is-visible { opacity: 1; transform: none; will-change: auto; }
.split-line-mask { display: block; overflow: hidden; margin-block: -.04em -.18em; padding-block: .05em .2em; color: inherit !important; font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; vertical-align: top; }
.split-line-inner { display: block; color: inherit !important; font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; opacity: 0; transform: translateY(118%); transition: transform 960ms var(--brand-reveal-ease), opacity 720ms ease; will-change: transform,opacity; }
.split-line-inner :where(em, strong, span, i, b, small, sup, sub) { display: inline !important; }
.is-revealed .split-line-inner, .is-visible .split-line-inner { opacity: 1; transform: none; will-change: auto; }
.bg-blue-gray-900 :where(.text-sand\/40, .text-sand\/60, .text-sand\/65), .course-program :where(p, small), .event-section :where(p, small), .related-content p { color: rgba(252,250,247,.75) !important; }

/* ==========================================================================
   Ecossistema de Conhecimento & Featured Course Glass Architecture
   ========================================================================== */

.knowledge-section-dark {
  --knowledge-motion-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --knowledge-motion-quick: 140ms;
  --knowledge-motion-standard: 360ms;
  --knowledge-motion-slow: 560ms;
  position: relative;
  background: radial-gradient(circle at 50% 30%, #261d19 0%, #1b1310 55%, #130d0b 100%) !important;
  color: var(--brand-paper);
  overflow: hidden;
}

.knowledge-grid-container {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: clamp(24px, 3vw, 36px);
  align-items: stretch;
}

@media (max-width: 1024px) {
  .knowledge-grid-container {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.knowledge-hero-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(30px, 3.5vw, 44px);
  border-radius: 24px;
  background: rgba(48, 36, 30, 0.55);
  border: 1px solid rgba(242, 234, 223, 0.16);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform var(--brand-ease), border-color var(--brand-ease), box-shadow var(--brand-ease);
}
.knowledge-hero-card:hover {
  border-color: rgba(242, 234, 223, 0.32);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
}

.knowledge-orbital-emblem {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(120px, 14vw, 155px);
  height: clamp(120px, 14vw, 155px);
  flex-shrink: 0;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, rgba(89, 60, 49, 0.6) 0%, rgba(32, 23, 19, 0.85) 100%);
  border: 1.5px solid rgba(242, 234, 223, 0.22);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35), inset 0 0 25px rgba(242, 234, 223, 0.08);
  transition: transform var(--brand-ease), border-color var(--brand-ease), box-shadow var(--brand-ease);
}
.knowledge-orbital-emblem::before {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  border: 1px dashed rgba(242, 234, 223, 0.25);
  pointer-events: none;
  animation: emblemOrbit 30s linear infinite;
}
.knowledge-hero-card:hover .knowledge-orbital-emblem {
  transform: scale(1.03);
  border-color: var(--brand-sand);
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45), 0 0 30px rgba(242, 234, 223, 0.15);
}

.knowledge-orbital-emblem::before {
  animation: none;
}

.knowledge-motion-ready [data-knowledge-motion-heading],
.knowledge-motion-ready [data-knowledge-motion-copy],
.knowledge-motion-ready [data-knowledge-motion-offer],
.knowledge-motion-ready [data-knowledge-motion-path] {
  opacity: 0;
}

.knowledge-motion-ready [data-knowledge-motion-heading] {
  transform: translate3d(0, 14px, 0);
  transition: opacity var(--knowledge-motion-standard) var(--knowledge-motion-ease), transform var(--knowledge-motion-standard) var(--knowledge-motion-ease);
}

.knowledge-motion-ready [data-knowledge-motion-copy] {
  transform: translate3d(0, 10px, 0);
  transition: opacity var(--knowledge-motion-standard) var(--knowledge-motion-ease) 70ms, transform var(--knowledge-motion-standard) var(--knowledge-motion-ease) 70ms;
}

.knowledge-motion-ready [data-knowledge-motion-offer] {
  clip-path: inset(0 0 8% 0 round 16px);
  transform: translate3d(0, 20px, 0) scale(0.985);
  transition: opacity var(--knowledge-motion-slow) var(--knowledge-motion-ease) 110ms, transform var(--knowledge-motion-slow) var(--knowledge-motion-ease) 110ms, clip-path var(--knowledge-motion-slow) var(--knowledge-motion-ease) 110ms, border-color var(--brand-ease), box-shadow var(--brand-ease);
}

.knowledge-motion-ready [data-knowledge-motion-path] {
  --knowledge-motion-delay: 0ms;
  transform: translate3d(0, 14px, 0) scale(0.99);
  transition: opacity var(--knowledge-motion-standard) var(--knowledge-motion-ease) var(--knowledge-motion-delay), transform var(--knowledge-motion-standard) var(--knowledge-motion-ease) var(--knowledge-motion-delay), background var(--brand-ease), border-color var(--brand-ease), box-shadow var(--brand-ease);
}

.knowledge-motion-ready [data-knowledge-motion-path]:nth-child(1) { --knowledge-motion-delay: 220ms; }
.knowledge-motion-ready [data-knowledge-motion-path]:nth-child(2) { --knowledge-motion-delay: 290ms; }
.knowledge-motion-ready [data-knowledge-motion-path]:nth-child(3) { --knowledge-motion-delay: 360ms; }

.knowledge-motion-ready .knowledge-orbital-emblem::before {
  opacity: 0.08;
  transform: rotate(-9deg) scale(0.97);
}

.knowledge-motion-ready.is-motion-visible [data-knowledge-motion-heading],
.knowledge-motion-ready.is-motion-visible [data-knowledge-motion-copy],
.knowledge-motion-ready.is-motion-visible [data-knowledge-motion-offer],
.knowledge-motion-ready.is-motion-visible [data-knowledge-motion-path] {
  clip-path: inset(0 0 0 0 round 16px);
  opacity: 1;
  transform: none;
}

.knowledge-motion-ready.is-motion-visible .knowledge-orbital-emblem::before {
  opacity: 1;
  transform: none;
  transition: opacity var(--knowledge-motion-slow) var(--knowledge-motion-ease) 280ms, transform 720ms var(--knowledge-motion-ease) 280ms;
}

.knowledge-motion-ready.is-motion-visible [data-knowledge-motion-path]:hover {
  transform: translateX(6px);
}

.knowledge-motion-ready.is-motion-visible [data-knowledge-motion-path]:active {
  transform: translateX(2px) scale(0.99);
}

/* Knowledge status — editorial kicker, no pill container */
.knowledge-status-kicker {
  margin: 0;
  color: rgba(232, 123, 104, 0.95);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.knowledge-features-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 18px 0 26px;
  padding: 0;
  list-style: none;
}
.knowledge-features-list li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(242, 234, 223, 0.88);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.knowledge-features-list li .icon {
  width: 14px;
  height: 14px;
  color: var(--brand-sand);
}

.knowledge-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding-top: 1.5rem;
  margin-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.knowledge-empty-state {
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 34px);
  min-width: 0;
}

.knowledge-empty-state__icon {
  display: grid;
  flex: 0 0 auto;
  width: clamp(92px, 11vw, 124px);
  height: clamp(92px, 11vw, 124px);
  place-items: center;
  color: var(--brand-sand);
  border: 1px solid rgba(242, 234, 223, 0.22);
  border-radius: 50%;
  background: rgba(89, 60, 49, 0.28);
}

.knowledge-empty-state__icon .icon {
  width: clamp(30px, 3vw, 40px);
  height: clamp(30px, 3vw, 40px);
}

.knowledge-empty-state__content {
  min-width: 0;
}

.knowledge-empty-state__content h3 {
  margin: 12px 0 10px;
  color: var(--brand-paper);
  font-family: Lora, Georgia, serif;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-wrap: balance;
}

.knowledge-empty-state__content > p:last-child {
  max-width: 58ch;
  margin: 0;
  color: rgba(242, 234, 223, 0.8);
  font-size: 0.9rem;
  line-height: 1.75;
}

@media (max-width: 640px) {
  .knowledge-empty-state {
    align-items: flex-start;
    flex-direction: column;
  }
}

.btn-knowledge-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 14px 26px;
  border-radius: 12px;
  background: var(--brand-sand);
  color: var(--brand-coffee) !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
  transition: transform var(--brand-ease), background-color var(--brand-ease), box-shadow var(--brand-ease), color var(--brand-ease);
}
.btn-knowledge-cta:hover {
  transform: translateY(-2px);
  background: #ffffff;
  color: var(--brand-coffee) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.4);
}
.btn-knowledge-cta .icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.btn-knowledge-cta .icon:last-child,
.btn-knowledge-secondary .icon:last-child {
  transition: transform var(--knowledge-motion-quick) var(--knowledge-motion-ease);
}

.btn-knowledge-cta:hover .icon:last-child,
.btn-knowledge-secondary:hover .icon:last-child {
  transform: translate3d(3px, -2px, 0);
}

.btn-knowledge-cta:active,
.btn-knowledge-secondary:active {
  transform: translateY(1px) scale(0.985);
  transition-duration: var(--knowledge-motion-quick);
}

.btn-knowledge-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 14px 22px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(242, 234, 223, 0.24);
  color: var(--brand-sand) !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform var(--brand-ease), background-color var(--brand-ease), border-color var(--brand-ease), color var(--brand-ease);
}
.btn-knowledge-secondary:hover {
  transform: translateY(-2px);
  background: rgba(242, 234, 223, 0.14);
  border-color: rgba(242, 234, 223, 0.50);
  color: #ffffff !important;
}
.btn-knowledge-secondary .icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.knowledge-pillar-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 26px;
  border-radius: 18px;
  background: rgba(48, 36, 30, 0.45);
  border: 1px solid rgba(242, 234, 223, 0.10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  text-decoration: none;
  color: #ffffff;
  transition: transform var(--brand-ease), background var(--brand-ease), border-color var(--brand-ease), box-shadow var(--brand-ease);
}
.knowledge-pillar-card:hover {
  transform: translateX(6px);
  background: rgba(58, 44, 38, 0.75);
  border-color: rgba(242, 234, 223, 0.32);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
  color: #ffffff;
}

.knowledge-pillar-card:active {
  transform: translateX(2px) scale(0.99);
  transition-duration: var(--knowledge-motion-quick);
}
.knowledge-pillar-card .brand-card-icon {
  background: rgba(242, 234, 223, 0.12);
  border-color: rgba(242, 234, 223, 0.25);
  color: var(--brand-sand);
}
.knowledge-pillar-card:hover .brand-card-icon {
  background: var(--brand-sand);
  border-color: var(--brand-sand);
  color: var(--brand-coffee);
  transform: scale(1.08);
}
.knowledge-pillar-card__arrow {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(242, 234, 223, 0.20);
  background: transparent;
  color: var(--brand-sand);
  transition: transform var(--brand-ease), background var(--brand-ease), border-color var(--brand-ease), color var(--brand-ease);
}
.knowledge-pillar-card__arrow .icon {
  width: 14px;
  height: 14px;
}
.knowledge-pillar-card:hover .knowledge-pillar-card__arrow {
  border-color: var(--brand-sand);
  background: var(--brand-sand);
  color: var(--brand-coffee);
  transform: translate(2px, -2px);
}

/* ==========================================================================
   Seção de Agendamento & Card da Clínica (2-Column Architecture)
   ========================================================================== */

.appointment-grid-container {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
}

@media (max-width: 1024px) {
  .appointment-grid-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.appointment-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.btn-appointment-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 15px 28px;
  border-radius: 12px;
  background: var(--brand-cocoa);
  color: #ffffff !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(89, 60, 49, 0.22);
  transition: transform var(--brand-ease), background-color var(--brand-ease), box-shadow var(--brand-ease);
}
.btn-appointment-primary:hover {
  transform: translateY(-2px);
  background: var(--brand-coffee);
  box-shadow: 0 14px 32px rgba(48, 40, 36, 0.32);
}
.btn-appointment-primary .icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.btn-appointment-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 15px 26px;
  border-radius: 12px;
  background: transparent;
  border: 1.5px solid var(--brand-cocoa);
  color: var(--brand-cocoa) !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform var(--brand-ease), background-color var(--brand-ease), color var(--brand-ease), border-color var(--brand-ease);
}
.btn-appointment-secondary:hover {
  transform: translateY(-2px);
  background: var(--brand-cocoa);
  color: #ffffff !important;
}
.btn-appointment-secondary .icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.appointment-clinic-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(222, 208, 190, 0.75);
  box-shadow: 0 20px 50px rgba(48, 40, 36, 0.09), 0 4px 12px rgba(48, 40, 36, 0.03);
  transition: transform var(--brand-ease), box-shadow var(--brand-ease);
}
.appointment-clinic-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 28px 60px rgba(48, 40, 36, 0.14);
}
.appointment-clinic-card__icon svg,
.appointment-clinic-card__icon .icon {
  width: 19px;
  height: 19px;
  flex-shrink: 0;
  display: block;
}
.appointment-clinic-card__address .appointment-clinic-card__icon svg,
.appointment-clinic-card__address .appointment-clinic-card__icon .icon {
  width: 21px;
  height: 21px;
}
.appointment-clinic-card__item {
  min-width: 0;
}


/* Entalhe de Transição Arredondado com Seta Estática (Curved Scoop Notch) */
.section-notch { position: absolute; left: 50%; transform: translateX(-50%); z-index: 25; width: 160px; height: 20px; display: flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; }
.section-notch--down { bottom: -19px; }
.section-notch--up { top: -19px; bottom: auto; }
.section-notch__bg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.section-notch--coffee { color: var(--brand-coffee); }
.section-notch--coffee .section-notch__bg { filter: drop-shadow(0 3px 8px rgba(0,0,0,.12)); }
.section-notch--coffee .section-notch__stroke { stroke: rgba(222,208,190,.25); }
.section-notch--dark { color: var(--brand-blue); }
.section-notch--dark .section-notch__bg { filter: drop-shadow(0 4px 10px rgba(0,0,0,.16)); }
.section-notch--dark .section-notch__stroke { stroke: rgba(255,255,255,.14); }
.section-notch--sand { color: var(--brand-sand); }
.section-notch--sand.section-notch--down .section-notch__bg { filter: drop-shadow(0 2px 4px rgba(48,40,36,.05)); }
.section-notch--sand.section-notch--up .section-notch__bg { filter: drop-shadow(0 -2px 4px rgba(48,40,36,.03)); }
.section-notch--sand .section-notch__stroke { stroke: var(--brand-linen); }
.section-notch--paper { color: var(--brand-paper); }
.section-notch--paper .section-notch__bg { filter: drop-shadow(0 2px 4px rgba(48,40,36,.04)); }
.section-notch--paper .section-notch__stroke { stroke: rgba(48,40,36,.12); }
.section-notch--white { color: #ffffff; }
.section-notch--white.section-notch--down .section-notch__bg { filter: drop-shadow(0 2px 5px rgba(48,40,36,.05)); }
.section-notch--white.section-notch--up .section-notch__bg { filter: drop-shadow(0 -2px 5px rgba(48,40,36,.03)); }
.section-notch--white .section-notch__stroke { stroke: var(--brand-linen); }

.section-notch__arrow { position: relative; z-index: 3; display: inline-flex; align-items: center; justify-content: center; transition: transform var(--brand-ease); }
.section-notch--down .section-notch__arrow { margin-top: 2px; }
.section-notch--up .section-notch__arrow { margin-top: 4px; }
.section-notch__chevron { width: 13px; height: 13px; color: var(--brand-cocoa); stroke: var(--brand-cocoa); opacity: 0.7; flex-shrink: 0; transition: stroke var(--brand-ease), color var(--brand-ease), opacity var(--brand-ease); }
.section-notch--dark .section-notch__chevron, .section-notch--coffee .section-notch__chevron { color: var(--brand-sand); stroke: var(--brand-sand); opacity: 0.85; }
.section-notch:hover .section-notch__arrow { transform: translateY(2px); }
.section-notch:hover .section-notch__chevron { color: var(--brand-coffee); stroke: var(--brand-coffee); opacity: 1; }
.section-notch--dark:hover .section-notch__chevron, .section-notch--coffee:hover .section-notch__chevron { color: #ffffff; stroke: #ffffff; opacity: 1; }

@media (max-width: 1120px) {
  .global-nav { gap: 15px; }
  .global-header__cta { padding-inline: 18px; }
}
@media (max-width: 1023px) {
  :root { --brand-container: min(100% - 48px, 980px); }
  .site-utility__inner > div span:nth-child(2) { display: none; }
  .global-header__inner { min-height: 76px; }
  .global-menu-toggle { display: block; margin-left: auto; }
  .global-nav { position: absolute; z-index: 115; inset: 100% 0 auto; display: grid; gap: 0; margin: 0; padding: 18px max(24px,calc((100vw - 980px)/2)) 24px; color: #fff; background: var(--brand-blue); box-shadow: 0 20px 40px rgba(38,52,61,.18); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity var(--brand-ease), transform var(--brand-ease), visibility var(--brand-ease); }
  .global-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .global-nav a { padding: 15px 4px; color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.13); }
  .global-nav a::after { display: none; }
  .global-nav a:hover, .global-nav a[aria-current="page"] { color: #fff; }
  .global-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .global-footer__brand-col { grid-column: 1 / -1; }
  .social-ribbon__inner { align-items: flex-start; flex-direction: column; gap: 20px; }
}
@media (max-width: 640px) {
  .knowledge-section-dark {
    --knowledge-motion-standard: 290ms;
    --knowledge-motion-slow: 440ms;
  }

  .knowledge-motion-ready [data-knowledge-motion-heading],
  .knowledge-motion-ready [data-knowledge-motion-copy],
  .knowledge-motion-ready [data-knowledge-motion-path] {
    transform: translate3d(0, 9px, 0);
  }

  .knowledge-motion-ready [data-knowledge-motion-offer] {
    transform: translate3d(0, 12px, 0) scale(0.99);
  }

  :root { --brand-container: calc(100% - 28px); --brand-hero-title: clamp(3rem, 14vw, 4rem); --brand-section-title: clamp(2.35rem, 11vw, 3rem); --brand-section-space: 5rem; }
  .site-utility__inner { min-height: 34px; justify-content: center; }
  .site-utility__inner > div { display: none; }
  .global-brand { min-width: 0; }
  .global-brand strong { font-size: 1.14rem; }
  .global-brand small { display: none; }
  .global-header__cta { width: 46px; min-height: 46px; padding: 0; font-size: 0; border-radius: 50%; }
  .global-header__cta .icon { width: 17px; height: 17px; }
  .global-footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .global-footer__brand-col { grid-column: auto; }
  .global-footer__bottom { align-items: flex-start; flex-direction: column; gap: 14px; }
  .global-footer__cfm-disclaimer { text-align: left; }
  .social-ribbon__nav { width: 100%; justify-content: flex-start; }
  .social-chip { flex: 1 1 calc(50% - 10px); justify-content: center; }
  .development-toast { right: 14px; bottom: 14px; max-width: calc(100vw - 28px); }
}
@media (hover: hover) and (pointer: fine) {
  .brand-button:hover, .about-button:hover, .knowledge-button:hover { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .js .reveal, .js .about-reveal.reveal { opacity: 1; transform: none; }
  .split-line-inner { opacity: 1 !important; transform: none !important; transition: none !important; }
  .brand-button:hover, .about-button:hover, .knowledge-button:hover, .home-service-card:hover { transform: none; }
  .knowledge-motion-ready [data-knowledge-motion-heading],
  .knowledge-motion-ready [data-knowledge-motion-copy],
  .knowledge-motion-ready [data-knowledge-motion-offer],
  .knowledge-motion-ready [data-knowledge-motion-path],
  .knowledge-motion-ready .knowledge-orbital-emblem::before {
    clip-path: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .btn-knowledge-cta:hover,
  .btn-knowledge-secondary:hover,
  .knowledge-pillar-card:hover,
  .btn-knowledge-cta:active,
  .btn-knowledge-secondary:active,
  .knowledge-pillar-card:active { transform: none !important; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
}
