@font-face {
  font-family: Plus Jakarta Sans;
  src: url(./assets/PlusJakartaSans-LatinExt.woff2) format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Plus Jakarta Sans;
  src: url(./assets/PlusJakartaSans-Latin.woff2) format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --navy: #0a1230;
  --night: #080a11;
  --black: #0a0c10;
  --blue: #0a66e8;
  --blue-bright: #4c90ff;
  --blue-soft: #c4d6ff;
  --amber: #ffb020;
  --violet: #8b6bff;
  --rose: #ff6b8a;
  --ink: #14161a;
  --muted: #6b7078;
  --line: #d9e1ec;
  --mist: #eff3f9;
  --paper: #fff;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  background: var(--black);
  scroll-padding-top: 72px;
}
body {
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-family:
    Plus Jakarta Sans,
    -apple-system,
    BlinkMacSystemFont,
    Segoe UI,
    sans-serif;
  overflow-x: hidden;
}
button,
input {
  font: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
::selection {
  color: #fff;
  background: var(--blue);
}
.section-shell {
  width: min(1160px, 100% - 48px);
  margin: 0 auto;
}
.site-header {
  z-index: 90;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  background: #080a11c2;
  border-bottom: 1px solid #ffffff14;
  align-items: center;
  height: 64px;
  padding: 0 max(24px, 50vw - 580px);
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.brand {
  white-space: nowrap;
  color: #fff;
  letter-spacing: -0.02em;
  align-items: baseline;
  gap: 5px;
  font-size: 15px;
  display: inline-flex;
}
.brand strong {
  font-weight: 750;
}
.brand > span {
  color: #ffffff9e;
}
.nav {
  align-items: center;
  gap: clamp(16px, 2.4vw, 30px);
  margin-left: auto;
  display: flex;
}
.nav > a {
  color: #ffffffb8;
  font-size: 13.5px;
  font-weight: 500;
  transition:
    color 0.25s,
    opacity 0.25s;
}
.nav > a:hover {
  color: #fff;
}
.nav .nav-cta {
  color: #fff;
  background: var(--blue);
  border-radius: 999px;
  align-items: center;
  height: 36px;
  padding: 0 19px;
  font-weight: 700;
  display: inline-flex;
}
.menu-button {
  background: 0 0;
  border: 0;
  width: 42px;
  height: 42px;
  margin-left: auto;
  display: none;
}
.menu-button span {
  background: #fff;
  width: 22px;
  height: 1px;
  margin: 6px auto;
  display: block;
}
.hero {
  background: radial-gradient(
    1100px 800px at 22% 4%,
    #0e2a6b 0%,
    var(--navy) 46%,
    var(--black) 84%
  );
  align-items: center;
  min-height: 100svh;
  padding: clamp(96px, 13vh, 132px) 0 clamp(64px, 9vh, 96px);
  display: flex;
  overflow: hidden;
}
.hero-inner {
  grid-template-columns: minmax(330px, 1fr) minmax(330px, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  width: min(1160px, 100% - 48px);
  margin: 0 auto;
  display: grid;
}
.hero-copy {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
  position: relative;
}
.eyebrow {
  color: var(--blue-soft);
  background: #ffffff12;
  border-radius: 999px;
  align-items: center;
  gap: 9px;
  padding: 7px 14px 7px 11px;
  font-size: 12.5px;
  font-weight: 550;
  display: inline-flex;
}
.eyebrow i,
.availability i {
  background: var(--blue-bright);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  animation: 3.2s ease-in-out infinite pulse;
}
.hero h1 {
  color: #fff;
  letter-spacing: -0.042em;
  text-wrap: balance;
  max-width: 15ch;
  margin: 26px 0 0;
  font-size: clamp(2.7rem, 5vw, 4.25rem);
  font-weight: 720;
  line-height: 1.02;
}
.hero-copy > p {
  color: #a9b4c8;
  text-wrap: pretty;
  max-width: 45ch;
  margin: 23px 0 0;
  font-size: clamp(16.5px, 1.35vw, 18.5px);
  line-height: 1.62;
}
.hero-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
  display: flex;
}
.button {
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 27px;
  font-size: 14.5px;
  font-weight: 700;
  transition:
    transform 0.6s var(--ease-out),
    background 0.3s,
    box-shadow 0.5s var(--ease-out);
  display: inline-flex;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translate3d(
    var(--mag-x, 0px),
    calc(var(--mag-y, 0px) + var(--lift, 0px)),
    0
  );
}
.button:hover {
  --lift: -2px;
}
.button.primary {
  color: #fff;
  background: var(--blue);
  box-shadow: 0 16px 34px -20px #2c82fff2;
}
.button.primary:hover {
  background: #2c82ff;
}
.button.secondary {
  color: #fff;
  background: #ffffff14;
}
.button.secondary:hover {
  background: #ffffff26;
}
.hero-note {
  color: #c4d6ff94;
  margin-top: 20px;
  font-size: 11.5px;
}
.brain-visual {
  aspect-ratio: 1;
  cursor: crosshair;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  position: relative;
}
.brain-visual canvas {
  display: block;
  position: absolute;
  inset: 0;
}
.brain-visual > small {
  color: #c4d6ff5c;
  text-align: center;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 650;
  position: absolute;
  bottom: 3px;
  left: 0;
  right: 0;
}
.noise-words {
  pointer-events: none;
  color: #c4d6ff66;
  font-size: 12px;
  position: absolute;
  inset: 0;
}
.noise-words span {
  animation: 8s ease-in-out infinite alternate float;
  position: absolute;
}
.noise-words span:first-child {
  top: 12%;
  left: 0;
}
.noise-words span:nth-child(2) {
  animation-delay: -3s;
  top: 82%;
  left: 2%;
}
.noise-words span:nth-child(3) {
  animation-delay: -1s;
  top: 3%;
  left: 54%;
}
.noise-words span:nth-child(4) {
  animation-delay: -4s;
  top: 90%;
  left: 58%;
}
.noise-words span:nth-child(5) {
  animation-delay: -2s;
  top: 74%;
  left: 72%;
}
.noise-words span:nth-child(6) {
  animation-delay: -5s;
  top: 46%;
  left: 4%;
}
.intro-section {
  background: #fff;
  padding: clamp(92px, 12vw, 158px) 0;
  position: relative;
  overflow: hidden;
}
.intro-section:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(#0a66e81c, #0000 70%);
  width: min(1000px, 92vw);
  height: 460px;
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translate(-50%);
}
.section-label {
  align-items: center;
  gap: 14px;
  margin-bottom: 27px;
  display: flex;
  position: relative;
}
.section-label span {
  color: var(--blue);
  letter-spacing: 0.16em;
  font-size: 11px;
  font-weight: 800;
}
.section-label.centered {
  justify-content: center;
}
.intro-section h2,
.tests-section h2,
.legal-section h2 {
  letter-spacing: -0.038em;
  text-wrap: balance;
  max-width: 19ch;
  margin: 0;
  font-size: clamp(2.15rem, 4.8vw, 3.65rem);
  font-weight: 720;
  line-height: 1.06;
  position: relative;
}
.intro-section h2 em {
  color: var(--blue);
  font-style: normal;
}
.section-lead {
  max-width: 58ch;
  color: var(--muted);
  margin: 22px 0 0;
  font-size: clamp(16px, 1.25vw, 18.5px);
  line-height: 1.65;
  position: relative;
}
.section-lead.centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.principles,
.method-list {
  margin-top: clamp(48px, 6vw, 80px);
  padding-left: 42px;
  position: relative;
}
.steps-rail {
  z-index: 0;
  background: #e7ecf3;
  border-radius: 999px;
  width: 2px;
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 10px;
  overflow: hidden;
}
.steps-rail i {
  width: 100%;
  height: var(--steps-progress, 0%);
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    var(--steps-accent),
    color-mix(in srgb, var(--steps-accent) 38%, #dbe5f3)
  );
  transition: height 0.18s linear;
  position: absolute;
  top: 0;
  left: 0;
}
.principles article,
.method-list article {
  border-radius: 22px;
  grid-template-columns: 42px 1fr;
  gap: 15px;
  padding: 26px;
  transition:
    background 0.3s,
    transform 0.3s;
  display: grid;
  position: relative;
}
.principles article:hover,
.method-list article:hover {
  background: linear-gradient(90deg, #0a66e812, #0000 78%);
  transform: translate(5px);
}
.step-dot {
  z-index: 2;
  background: #fff;
  border: 2px solid #d8e1ee;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  transition:
    background 0.32s,
    border-color 0.32s,
    box-shadow 0.32s,
    transform 0.32s;
  position: absolute;
  top: 34px;
  left: -37px;
  box-shadow: 0 0 #0a66e800;
}
.step-number {
  color: #b9c3d3;
  letter-spacing: 0.16em;
  font-size: 11px;
  font-weight: 800;
  transition: color 0.32s;
}
.step-line {
  background: linear-gradient(90deg, var(--steps-accent), transparent);
  transform-origin: 0;
  border-radius: 999px;
  width: min(150px, 40%);
  height: 2px;
  margin-top: 18px;
  transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
  display: block;
  transform: scaleX(0);
}
.scroll-steps article.active .step-dot {
  border-color: var(--steps-accent);
  background: var(--steps-accent);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--steps-accent) 13%, transparent);
  transform: scale(1.1);
}
.scroll-steps article.active .step-number {
  color: var(--steps-accent);
}
.scroll-steps article.active .step-line {
  transform: scaleX(1);
}
.principles h3,
.method-list h3 {
  letter-spacing: -0.026em;
  margin: 0;
  font-size: clamp(20px, 1.9vw, 25px);
}
.principles p,
.method-list p {
  max-width: 62ch;
  color: var(--muted);
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.65;
}
.tests-section {
  color: #fff;
  background-color: var(--night);
  background-image: radial-gradient(#fff1 1px, #0000 1px);
  background-size: 26px 26px;
  padding: clamp(96px, 13vw, 168px) 0;
  position: relative;
  overflow: hidden;
}
.tests-section:before {
  content: "";
  background: linear-gradient(
    90deg,
    transparent,
    var(--blue-bright),
    var(--amber),
    var(--violet),
    transparent
  );
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.tests-section h2 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.tests-section .section-lead {
  color: #97a2b8;
}
.test-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(48px, 6vw, 76px);
  display: grid;
}
.test-card {
  --accent: var(--blue-bright);
  --accent-rgb: 76, 144, 255;
  border: 1px solid rgba(var(--accent-rgb), 0.25);
  background:
    linear-gradient(
      165deg,
      rgba(var(--accent-rgb), 0.15),
      rgba(var(--accent-rgb), 0.015) 58%
    ),
    #10141f;
  border-radius: 27px;
  flex-direction: column;
  min-height: 360px;
  padding: 30px;
  transition:
    transform 0.35s,
    border-color 0.35s,
    box-shadow 0.35s;
  display: flex;
  overflow: hidden;
}
.test-card.ansiedade {
  --accent: var(--amber);
  --accent-rgb: 255, 176, 32;
  background-color: #161320;
}
.test-card.depressao {
  --accent: var(--violet);
  --accent-rgb: 139, 107, 255;
}
.test-card.bipolar {
  --accent: var(--rose);
  --accent-rgb: 255, 107, 138;
  background-color: #17111c;
}
.test-card.dependencia-quimica {
  --accent: #54d6a0;
  --accent-rgb: 84, 214, 160;
  background-color: #0e1919;
}
.test-card.dependencia-alcoolica {
  --accent: #68b9ff;
  --accent-rgb: 104, 185, 255;
  background-color: #0d1723;
}
.test-card:hover {
  border-color: rgba(var(--accent-rgb), 0.58);
  box-shadow: 0 34px 70px -40px rgba(var(--accent-rgb), 0.8);
  transform: translateY(-6px);
}
.test-meta {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}
.test-meta > span {
  height: 25px;
  color: var(--accent);
  background: rgba(var(--accent-rgb), 0.14);
  letter-spacing: 0.06em;
  border-radius: 999px;
  align-items: center;
  padding: 0 11px;
  font-size: 10.5px;
  font-weight: 760;
  display: inline-flex;
}
.test-meta small {
  color: #6e7c99;
  letter-spacing: 0.12em;
  font-size: 11px;
  font-weight: 700;
}
.signal-trace {
  align-items: flex-end;
  gap: 6px;
  height: 56px;
  margin: 27px 0;
  display: flex;
}
.signal-trace span {
  width: 2px;
  height: calc(var(--bar-height) * 100%);
  background: linear-gradient(
    180deg,
    var(--accent),
    rgba(var(--accent-rgb), 0.13)
  );
  transform-origin: bottom;
  animation: 1.35s ease-in-out infinite alternate signal;
  animation-delay: var(--bar-delay);
  border-radius: 2px;
}
.signal-trace.ansiedade span {
  animation-duration: 0.45s;
}
.signal-trace.depressao span {
  animation-name: signal-down;
  animation-duration: 3.4s;
  animation-direction: normal;
}
.signal-trace.bipolar span {
  animation-name: signal-poles;
  animation-duration: 2s;
  animation-direction: normal;
}
.test-card h3 {
  color: #fff;
  letter-spacing: -0.034em;
  margin: 0 0 10px;
  font-size: clamp(23px, 2.3vw, 29px);
  font-weight: 760;
}
.test-card > p {
  color: #97a2b8;
  max-width: 40ch;
  margin: 0;
  font-size: 14.5px;
  line-height: 1.62;
}
.test-card-action {
  border-top: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-top: auto;
  padding-top: 24px;
  display: flex;
}
.test-card-action > span {
  color: #8a96b0;
  font-size: 12px;
}
.test-card-action button,
.test-card-action a {
  color: #071228;
  background: var(--accent);
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  height: 44px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 800;
  transition:
    transform 0.22s,
    box-shadow 0.22s;
  display: inline-flex;
}
.test-card-action a:hover {
  box-shadow: 0 12px 28px -18px var(--accent);
  transform: translateY(-2px);
}
.test-card-action b {
  margin-left: 7px;
}
.legal-line {
  color: #8e9ab2;
  text-align: center;
  margin: 30px auto 0;
  font-size: 13px;
  line-height: 1.6;
}
.about-section {
  background: var(--mist);
  padding: clamp(92px, 12vw, 160px) 0;
  position: relative;
  overflow: hidden;
}
.about-section:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(#0a66e824, #0000 68%);
  width: min(700px, 80vw);
  height: 520px;
  position: absolute;
  bottom: -160px;
  right: -80px;
}
.about-grid {
  z-index: 1;
  grid-template-columns: minmax(280px, 0.85fr) minmax(320px, 1.15fr);
  align-items: center;
  gap: clamp(34px, 5vw, 76px);
  display: grid;
  position: relative;
}
.doctor-portrait {
  aspect-ratio: 4/5;
  background: linear-gradient(160deg, #dce4f1, #c9d5e9);
  border-radius: 29px;
  place-items: center;
  display: grid;
  overflow: hidden;
  box-shadow: 0 40px 80px -50px #0c1e5099;
}
.doctor-portrait img {
  object-fit: cover;
  object-position: 50% 14%;
  place-self: stretch stretch;
  width: 100%;
  height: 100%;
  display: block;
}
.about-kicker {
  color: var(--blue);
  letter-spacing: 0.15em;
  font-size: 11.5px;
  font-weight: 800;
}
.about-copy h2 {
  letter-spacing: -0.045em;
  margin: 15px 0 0;
  font-size: clamp(2.5rem, 5.2vw, 4rem);
  font-weight: 800;
  line-height: 1;
}
.doctor-role {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  display: flex;
  color: var(--blue) !important;
  margin: 17px 0 0 !important;
}
.doctor-role i {
  background: #a9bdde;
  border-radius: 50%;
  width: 5px;
  height: 5px;
}
.doctor-role span {
  color: #5f6570;
  font-weight: 550;
}
.about-copy > p {
  color: #5f6570;
  max-width: 54ch;
  margin: 21px 0 0;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.65;
}
.about-copy blockquote {
  letter-spacing: -0.022em;
  max-width: 25ch;
  margin: 29px 0 0;
  font-size: clamp(19px, 1.9vw, 25px);
  font-weight: 650;
  line-height: 1.35;
}
.credentials {
  border-top: 2px solid var(--blue);
  grid-template-columns: 1fr 1.3fr;
  margin: 38px 0 32px;
  display: grid;
}
.credentials > div {
  gap: 7px;
  padding: 22px 20px 4px 0;
  display: grid;
}
.credentials > div + div {
  border-left: 1px solid var(--line);
  padding-left: 27px;
}
.credentials span {
  color: #8b95a6;
  letter-spacing: 0.17em;
  font-size: 10px;
  font-weight: 800;
}
.credentials strong {
  font-size: 16px;
  line-height: 1.35;
}
.credentials small {
  color: var(--muted);
  font-size: 12px;
}
.legal-section {
  background: #fff;
  padding: clamp(88px, 11vw, 148px) 0;
}
.legal-section h2 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.muted-label span {
  color: #6e7fa8;
}
.method-list {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.method-list article {
  padding-top: 22px;
  padding-bottom: 22px;
}
.method-list h3 {
  font-size: clamp(17px, 1.5vw, 19px);
}
.method-list p {
  margin-top: 8px;
}
.dependence-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: clamp(42px, 6vw, 68px);
  display: grid;
}
.dependence-grid article {
  background: linear-gradient(155deg, #fff, #f4f7fc);
  border: 1px solid #d7e1ef;
  border-radius: 26px;
  flex-direction: column;
  min-height: 350px;
  padding: clamp(25px, 3vw, 36px);
  display: flex;
  box-shadow: 0 28px 60px -48px #0c1e5080;
}
.dependence-grid article:nth-child(2) {
  color: #fff;
  background: linear-gradient(155deg, #132143, var(--navy));
  border-color: #17264a;
  box-shadow: 0 32px 66px -44px #0a2360b8;
}
.dependence-grid article > span {
  width: 38px;
  height: 38px;
  color: var(--blue);
  border: 1px solid #cbd8eb;
  border-radius: 50%;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
  display: grid;
}
.dependence-grid article:nth-child(2) > span {
  color: var(--blue-soft);
  border-color: #c4d6ff59;
}
.dependence-grid h3 {
  letter-spacing: -0.035em;
  margin: auto 0 14px;
  font-size: clamp(22px, 2.2vw, 29px);
  line-height: 1.1;
}
.dependence-grid p {
  color: var(--muted);
  margin: 0;
  font-size: 15px;
  line-height: 1.68;
}
.dependence-grid article:nth-child(2) p {
  color: #b9c5da;
}
.dependence-grid small {
  color: #7b8799;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-top: 1px solid #dde5f0;
  margin-top: 26px;
  padding-top: 18px;
  font-size: 10px;
  font-weight: 750;
}
.dependence-grid article:nth-child(2) small {
  color: #8394b6;
  border-top-color: #ffffff1f;
}
.care-path {
  background: #f7f9fc;
  border: 1px solid #d8e2ef;
  border-radius: 30px;
  grid-template-columns: 1.25fr 0.75fr;
  align-items: center;
  gap: clamp(34px, 5vw, 72px);
  margin-top: 18px;
  padding: clamp(30px, 4.6vw, 54px);
  display: grid;
}
.care-path-copy > span {
  color: var(--blue);
  letter-spacing: 0.15em;
  font-size: 10.5px;
  font-weight: 800;
}
.care-path-copy h3 {
  letter-spacing: -0.04em;
  max-width: 24ch;
  margin: 17px 0 20px;
  font-size: clamp(27px, 3.2vw, 40px);
  line-height: 1.13;
}
.care-path-copy p {
  max-width: 62ch;
  color: var(--muted);
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.care-path-copy p + p {
  margin-top: 13px;
}
.care-path-points {
  display: grid;
}
.care-path-points span {
  color: #3e4654;
  border-bottom: 1px solid #dbe3ee;
  padding: 13px 0 13px 25px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
  position: relative;
}
.care-path-points span:before {
  content: "";
  background: var(--blue);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 20px;
  left: 2px;
  box-shadow: 0 0 0 5px #0a66e817;
}
.emergency-card {
  color: #fff;
  background: linear-gradient(158deg, #171a21, var(--black) 62%);
  border: 1px solid #ff6b6b4d;
  border-radius: 28px;
  grid-template-columns: 1fr 230px;
  align-items: center;
  gap: 30px;
  max-width: 860px;
  margin: 50px auto 0;
  padding: clamp(26px, 3.2vw, 40px);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 34px 78px -46px #ff565699;
}
.emergency-card > div:first-child > span {
  color: #ff9c9c;
  letter-spacing: 0.18em;
  font-size: 11px;
  font-weight: 800;
}
.emergency-card h3 {
  max-width: 21ch;
  margin: 16px 0 0;
  font-size: clamp(22px, 2.3vw, 28px);
  line-height: 1.2;
}
.emergency-card p {
  color: #b9c3d6;
  max-width: 42ch;
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.6;
}
.emergency-card > div:last-child {
  gap: 11px;
  display: grid;
}
.emergency-card a {
  color: #2a0508;
  background: #ff5a5a;
  border-radius: 17px;
  justify-content: space-between;
  align-items: center;
  min-height: 58px;
  padding: 0 21px;
  font-weight: 800;
  display: flex;
}
.emergency-card a + a {
  color: #fff;
  background: #ffffff12;
  border: 1px solid #ffffff2b;
}
.emergency-card small {
  opacity: 0.7;
  font-size: 10px;
}
.booking-section {
  text-align: center;
  background: radial-gradient(
    900px 520px at 50% 118%,
    #123a96 0%,
    var(--navy) 52%,
    var(--black) 82%
  );
  padding: clamp(100px, 14vw, 180px) 0;
  position: relative;
  overflow: hidden;
}
.booking-section h2 {
  color: #fff;
  letter-spacing: -0.04em;
  max-width: 17ch;
  margin: 0 auto;
  font-size: clamp(2.3rem, 5.4vw, 4.2rem);
  line-height: 1.04;
}
.booking-section .section-shell > p {
  color: #a9b4c8;
  max-width: 49ch;
  margin: 24px auto 0;
  font-size: clamp(16px, 1.3vw, 18.5px);
  line-height: 1.6;
}
.booking-card {
  background: linear-gradient(158deg, #ffffff21, #ffffff09 62%);
  border: 1px solid #ffffff29;
  border-radius: 34px;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  width: min(700px, 100%);
  margin: clamp(36px, 5vw, 52px) auto 0;
  padding: clamp(28px, 3.6vw, 44px);
  display: flex;
  box-shadow: 0 60px 120px -60px #000000f2;
}
.availability {
  color: #8fe9b4;
  background: #25d36624;
  border: 1px solid #25d3664d;
  border-radius: 999px;
  align-items: center;
  gap: 9px;
  padding: 7px 15px;
  font-size: 12px;
  font-weight: 650;
  display: inline-flex;
}
.availability i {
  background: #25d366;
}
.booking-card > strong {
  color: #fff;
  letter-spacing: -0.026em;
  max-width: 27ch;
  font-size: clamp(19px, 1.9vw, 24px);
  line-height: 1.34;
}
.booking-card > a {
  color: #062818;
  background: #25d366;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: min(430px, 100%);
  min-height: 64px;
  padding: 0 28px;
  font-size: 16px;
  font-weight: 800;
  transition:
    transform 0.25s,
    background 0.25s;
  display: flex;
}
.booking-card > a:hover {
  background: #33e077;
  transform: translateY(-3px);
}
.booking-card > div {
  border-top: 1px solid #ffffff1c;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  width: 100%;
  padding-top: 20px;
  display: flex;
}
.booking-card > div span {
  color: #b7c3d8;
  font-size: 13px;
}
footer {
  color: #a9b4c8;
  background: var(--black);
  border-top: 1px solid #ffffff14;
  padding: 62px 0 28px;
}
.footer-grid {
  grid-template-columns: 1.7fr 0.7fr 0.7fr;
  gap: 50px;
  display: grid;
}
.footer-grid > div {
  flex-direction: column;
  gap: 11px;
  display: flex;
}
.footer-grid strong {
  color: #fff;
  font-size: 15px;
}
.footer-grid p {
  color: #7a8598;
  max-width: 34ch;
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
}
.footer-grid > div > span {
  color: #565f71;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}
.footer-grid a,
.footer-grid small {
  font-size: 13.5px;
}
.footer-grid a:hover {
  color: #fff;
}
.footer-bottom {
  color: #565f71;
  border-top: 1px solid #ffffff12;
  justify-content: space-between;
  gap: 20px;
  width: min(1160px, 100% - 48px);
  margin: 42px auto 0;
  padding-top: 22px;
  font-size: 11px;
  display: flex;
}
@keyframes pulse {
  0%,
  to {
    opacity: 0.35;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.45);
  }
}
@keyframes float {
  0% {
    transform: translate(0, 0);
  }
  to {
    transform: translate(11px, -14px);
  }
}
@keyframes signal {
  0% {
    opacity: 0.55;
    transform: scaleY(0.28);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}
@keyframes signal-down {
  0% {
    opacity: 1;
    transform: scaleY(0.94);
  }
  52% {
    opacity: 0.6;
    transform: scaleY(0.14);
  }
  to {
    opacity: 1;
    transform: scaleY(0.94);
  }
}
@keyframes signal-poles {
  0%,
  to {
    opacity: 0.55;
    transform: scaleY(0.14);
  }
  50% {
    opacity: 1;
    transform: scaleY(1);
  }
}
@media (max-width: 900px) {
  .menu-button {
    display: block;
  }
  .nav {
    z-index: -1;
    background:
      radial-gradient(120% 60% at 0% 0%, #0e2a6b 0%, transparent 60%),
      #080a11;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 0;
    height: 100vh;
    height: 100dvh;
    margin: 0;
    padding: 96px 28px 40px;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.45s var(--ease-out),
      visibility 0s linear 0.45s;
  }
  .nav.open {
    opacity: 1;
    visibility: visible;
    transition:
      opacity 0.45s var(--ease-out),
      visibility 0s;
  }
  .nav > a {
    color: #fff;
    letter-spacing: -0.03em;
    border-bottom: 1px solid #ffffff14;
    border-radius: 0;
    padding: 16px 2px;
    font-size: clamp(26px, 7vw, 34px);
    font-weight: 650;
    opacity: 0;
    transform: translateY(26px);
    transition:
      opacity 0.5s var(--ease-out),
      transform 0.8s var(--ease-out),
      color 0.25s;
  }
  .nav.open > a {
    opacity: 1;
    transform: none;
    transition-delay: calc(var(--i, 0) * 55ms + 90ms);
  }
  .nav .nav-cta {
    border-bottom: 0;
    border-radius: 999px;
    justify-content: center;
    height: 58px;
    margin-top: 30px;
    font-size: 16px;
    letter-spacing: 0;
  }
  .nav-indicator {
    display: none;
  }
  .hero-inner {
    grid-template-columns: 1fr;
  }
  .brain-visual {
    order: 2;
    max-width: 480px;
  }
  .hero-copy {
    text-align: center;
    order: 1;
    align-items: center;
  }
  .hero h1,
  .hero-copy > p {
    margin-left: auto;
    margin-right: auto;
  }
  .about-grid {
    grid-template-columns: 1fr;
  }
  .doctor-portrait {
    width: min(520px, 100%);
    margin: 0 auto;
  }
}
@media (max-width: 680px) {
  .section-shell,
  .hero-inner,
  .footer-bottom {
    width: min(100% - 32px, 1160px);
  }
  .site-header {
    padding: 0 16px;
  }
  .brand {
    font-size: 13px;
  }
  .hero {
    min-height: auto;
    padding-top: 105px;
  }
  .hero-actions {
    flex-direction: column;
    width: 100%;
  }
  .hero-actions .button {
    width: 100%;
  }
  .brain-visual {
    margin-top: 16px;
  }
  .noise-words {
    font-size: 10px;
  }
  .principles,
  .method-list {
    padding-left: 18px;
  }
  .principles article,
  .method-list article {
    grid-template-columns: 1fr;
    padding: 22px 16px;
  }
  .step-dot {
    top: 28px;
    left: -13px;
  }
  .test-grid {
    grid-template-columns: 1fr;
  }
  .test-card {
    min-height: 340px;
    padding: 24px;
  }
  .credentials {
    grid-template-columns: 1fr;
  }
  .credentials > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
  }
  .dependence-grid {
    grid-template-columns: 1fr;
  }
  .dependence-grid article {
    min-height: 300px;
  }
  .care-path,
  .emergency-card {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-grid > div:first-child {
    grid-column: 1/-1;
  }
  .footer-bottom {
    flex-direction: column;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  :before,
  :after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* Refinamentos solicitados: seletores restritos às três seções. */
#sobre {
  padding: clamp(72px, 7.5vw, 108px) 0;
}
#sobre .about-grid {
  grid-template-columns: minmax(300px, 0.96fr) minmax(320px, 1.04fr);
  align-items: stretch;
  gap: clamp(36px, 5vw, 70px);
}
#sobre .doctor-portrait {
  position: relative;
  aspect-ratio: auto;
  min-height: 620px;
  border-radius: 28px;
  background: #fff;
}
#sobre .doctor-portrait img {
  position: absolute;
  inset: 0;
  object-position: 50% 20%;
}
#sobre .portrait-edge {
  position: absolute;
  inset: 0;
  border: 1px solid #0a123012;
  border-radius: inherit;
  pointer-events: none;
}
#sobre .about-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 8px 0;
}
#sobre .about-kicker {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
#sobre .about-copy h2 {
  font-size: clamp(42px, 4.5vw, 62px);
  font-weight: 700;
  line-height: 1.05;
  margin-top: 16px;
}
#sobre .about-copy > p:not(.doctor-role) {
  font-size: 17px;
  line-height: 1.7;
  margin-top: 23px;
  max-width: 51ch;
}
#sobre .doctor-role {
  font-size: 15px;
}
#sobre .training-highlight {
  display: block;
  border: 1px solid #0a66e82b;
  border-left: 4px solid var(--blue);
  background: linear-gradient(115deg, #fff, #e5eeff);
  border-radius: 0 18px 18px 0;
  margin: 27px 0 0;
  padding: 23px 25px;
  box-shadow: 0 15px 30px -25px #0a66e866;
}
#sobre .training-highlight > div {
  display: grid;
  gap: 9px;
  padding: 0;
  border: 0;
}
#sobre .training-highlight span {
  font-size: 11px;
  font-weight: 700;
  color: var(--blue);
  letter-spacing: 0.15em;
}
#sobre .training-highlight strong {
  font-size: clamp(22px, 2.1vw, 29px);
  font-weight: 700;
  letter-spacing: -0.025em;
}
#sobre .training-highlight small {
  font-size: 16px;
  line-height: 1.5;
  color: #465b79;
}
#sobre .about-copy blockquote {
  max-width: none;
  border-top: 1px solid #cad7e8;
  padding-top: 21px;
  margin: 25px 0 0;
  font-size: 19px;
  line-height: 1.5;
  font-weight: 450;
  color: #40506a;
}
#dependencia {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(78px, 8vw, 115px) 0;
  background: linear-gradient(180deg, #fff, #f6f9fe);
}
#dependencia > .section-shell {
  position: relative;
  z-index: 1;
}
#dependencia:before {
  content: "";
  position: absolute;
  width: 800px;
  height: 800px;
  right: -450px;
  top: -350px;
  border-radius: 50%;
  background: radial-gradient(circle, #dceaff80, transparent 67%);
  pointer-events: none;
}
#dependencia .section-label {
  margin-bottom: 23px;
}
#dependencia .section-label span {
  font-size: 12px;
  letter-spacing: 0.13em;
}
#dependencia .dependence-heading {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: end;
}
#dependencia h2 {
  text-align: left;
  margin: 0;
  max-width: 20ch;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.08;
}
#dependencia h2 em {
  font-style: normal;
  color: var(--blue);
}
#dependencia .dependence-heading .section-lead {
  font-size: 17px;
  line-height: 1.75;
  margin: 0 0 4px;
  max-width: 46ch;
}
#dependencia .dependence-grid {
  gap: 18px;
  margin-top: 42px;
  align-items: start;
}
#dependencia .care-topic {
  position: relative;
  min-height: 465px;
  padding: 29px 28px;
  border-radius: 24px;
  overflow: hidden;
  transition:
    transform 0.35s,
    border-color 0.35s,
    box-shadow 0.35s;
}
#dependencia .care-topic:hover,
#dependencia .care-topic:focus-within {
  transform: translateY(-5px);
  border-color: #83b3f5;
  box-shadow: 0 24px 45px -34px #0a397ca8;
}
#dependencia .care-topic > span {
  width: 38px;
  height: 38px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 52px;
}
#dependencia .topic-signal {
  position: absolute;
  right: 26px;
  top: 32px;
  height: 42px;
  display: flex;
  align-items: center;
  gap: 3px;
  color: var(--blue);
  opacity: 0.7;
}
#dependencia .topic-signal i {
  height: var(--h);
  width: 3px;
  border-radius: 4px;
  background: currentColor;
  transform: scaleY(0.55);
  animation: topic-flow 3.2s ease-in-out calc(var(--n) * -0.17s) infinite
    alternate;
}
#dependencia .care-topic:nth-child(2) .topic-signal {
  color: #7ba8ff;
}
#dependencia .care-topic h3 {
  margin: 0 0 17px;
  min-height: 62px;
  font-size: 27px;
  line-height: 1.14;
  font-weight: 700;
}
#dependencia .care-topic p {
  font-size: 15px;
  line-height: 1.75;
  min-height: 158px;
}
#dependencia .care-topic small {
  font-size: 10px;
  margin-top: auto;
  padding-top: 18px;
  letter-spacing: 0.06em;
}
#dependencia .topic-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  background: none;
  color: var(--blue);
  width: 100%;
  border: 0;
  padding: 19px 0 0;
  cursor: pointer;
  font-family: inherit;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.3;
  gap: 12px;
}
#dependencia .topic-toggle span {
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 450;
  width: 27px;
  height: 27px;
  border: 1px solid #0a66e840;
  border-radius: 50%;
  transition: transform 0.3s;
}
#dependencia .topic-toggle[aria-expanded="true"] span {
  transform: rotate(45deg);
}
#dependencia .care-topic:nth-child(2) .topic-toggle {
  color: #bdd2ff;
}
#dependencia .care-topic:nth-child(2) .topic-toggle span {
  border-color: #b0cdff55;
}
#dependencia .topic-details {
  display: grid;
  gap: 10px;
  padding: 19px 0 0;
  border-top: 1px solid #0a66e820;
  margin-top: 18px;
  animation: section-rise 0.4s both;
}
#dependencia .topic-details[hidden] {
  display: none;
}
#dependencia .topic-details > span {
  font-size: 13px;
  line-height: 1.5;
  color: #405577;
  padding-left: 13px;
  border-left: 2px solid #78aaf1;
}
#dependencia .care-topic:nth-child(2) .topic-details > span {
  color: #d5e2fc;
}
#dependencia .care-path {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 4.5vw, 64px);
  padding: clamp(30px, 4.5vw, 58px);
  margin-top: 28px;
  min-height: 610px;
  background: #092f3b;
  border: 1px solid #175767;
  border-radius: 28px;
  box-shadow: 0 25px 70px -48px #082c54aa;
}
#dependencia .care-ambient {
  position: absolute;
  inset: -30%;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 13% 80%, #1d7c854d, transparent 48%),
    radial-gradient(ellipse at 80% 20%, #1c517a80, transparent 48%);
  animation: care-atmosphere 20s ease-in-out infinite alternate;
}
#dependencia .care-path-copy > span {
  font-size: 11px;
  color: #78c7d1;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.7;
}
#dependencia .care-path-copy h3 {
  font-size: clamp(30px, 3.2vw, 43px);
  font-weight: 450;
  line-height: 1.16;
  max-width: 18ch;
  letter-spacing: -0.04em;
  color: #e8f4f6;
  margin: 23px 0 26px;
}
#dependencia .care-path-copy h3 strong {
  color: #fff;
  font-weight: 700;
}
#dependencia .care-path-copy p {
  font-size: 16px;
  font-weight: 450;
  line-height: 1.8;
  color: #bad1d8;
  max-width: 46ch;
}
#dependencia .care-path-copy p + p {
  margin-top: 17px;
}
#dependencia .care-path-points {
  gap: 7px;
  align-self: center;
  min-width: 0;
}
#dependencia .care-path-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 16px;
}
#dependencia .care-path-controls > span {
  border: 0;
  padding: 0;
  color: #d7e8ec;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 450;
}
#dependencia .care-path-controls > span:before {
  display: none;
}
#dependencia .care-autoplay {
  background: #ffffff0a;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  white-space: nowrap;
  color: #b9d9df;
  padding: 8px 11px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 450;
}
#dependencia .care-step {
  position: relative;
  border: 1px solid #ffffff15;
  border-radius: 13px;
  background: #ffffff05;
  overflow: hidden;
  transition:
    background 0.5s,
    border-color 0.5s;
}
#dependencia .care-step.is-current {
  background: #ffffff0e;
  border-color: #69becf70;
}
#dependencia .care-step-button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 13px;
  background: none;
  border: 0;
  padding: 15px 17px;
  color: #ecf7f9;
  cursor: pointer;
  text-align: left;
}
#dependencia .care-step-button b {
  font-size: 11px;
  font-weight: 450;
  color: #81acb7;
  flex: none;
}
#dependencia .care-step-button > span {
  padding: 0;
  border: 0;
  color: inherit;
  font-size: 14px;
  font-weight: 450;
  line-height: 1.5;
}
#dependencia .care-step-button > span:before {
  display: none;
}
#dependencia .care-step.is-current .care-step-button > span {
  font-weight: 700;
}
#dependencia .care-step p {
  margin: 0;
  padding: 0 18px 17px 46px;
  min-height: 80px;
  animation: section-rise 0.35s both;
}
#dependencia .care-step p[hidden] {
  display: none;
}
#dependencia .care-step p > span {
  font-size: 13px;
  line-height: 1.65;
  font-weight: 450;
  color: #b8d5db;
  border: 0;
  padding: 0;
}
#dependencia .care-step p > span:before {
  display: none;
}
#dependencia .emergency-card {
  margin-top: 26px;
  border-radius: 20px;
  padding: 30px 34px;
  grid-template-columns: 1fr 280px;
  gap: 35px;
  background: #fff7f6;
  border-color: #efd3d1;
  color: #5d2927;
  box-shadow: none;
}
#dependencia .emergency-card > div > span {
  color: #a44943;
  font-size: 11px;
}
#dependencia .emergency-card h3 {
  color: #5d2927;
  font-size: 23px;
  margin: 10px 0;
}
#dependencia .emergency-card p {
  font-size: 14px;
  line-height: 1.7;
  color: #855d59;
  max-width: 66ch;
}
#dependencia .emergency-card > div:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
#dependencia .emergency-card a {
  border: 1px solid #e6bcb7;
  border-radius: 12px;
  background: #ffffff9c;
  padding: 15px 13px;
  display: grid;
  gap: 7px;
  color: #763b37;
  font-size: 15px;
  text-align: center;
}
#dependencia .emergency-card a small {
  font-size: 10px;
  color: #98615c;
}
#agendar {
  background: #091229;
  isolation: isolate;
  padding: clamp(90px, 10vw, 138px) 0;
}
#agendar:before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: -1;
  background:
    radial-gradient(ellipse at 22% 32%, #1d469a66, transparent 46%),
    radial-gradient(ellipse at 85% 65%, #194ea34d, transparent 46%);
  animation: booking-glow 22s ease-in-out infinite alternate;
  pointer-events: none;
}
#agendar .booking-ambient {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.62;
}
#agendar .booking-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(35px, 6vw, 88px);
  text-align: left;
}
#agendar .booking-copy > span {
  font-size: 12px;
  letter-spacing: 0.16em;
  color: #8eaff0;
  font-weight: 700;
}
#agendar h2 {
  font-size: clamp(38px, 4.4vw, 60px);
  max-width: 15ch;
  line-height: 1.07;
  margin: 23px 0 0;
}
#agendar .booking-copy > p {
  color: #acbcd7;
  font-size: 17px;
  line-height: 1.75;
  max-width: 39ch;
  margin: 24px 0 0;
}
#agendar .booking-card {
  width: 100%;
  margin: 0;
  padding: clamp(28px, 3.5vw, 42px);
  gap: 25px;
  text-align: left;
  align-items: flex-start;
  border-radius: 27px;
  background: linear-gradient(135deg, #e5efff13, #8cb4ff08);
  border-color: #c4d6ff35;
  backdrop-filter: blur(14px);
  position: relative;
  box-shadow: 0 34px 85px -50px #000b;
}
#agendar .availability {
  font-size: 12px;
  padding: 8px 13px;
  line-height: 1.5;
}
#agendar .booking-card > strong {
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.3;
  font-weight: 700;
  max-width: 23ch;
  letter-spacing: -0.03em;
}
#agendar .booking-card > a {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  min-height: 66px;
  width: 100%;
  padding: 18px 20px;
  font-size: 15px;
  gap: 11px;
  box-shadow: 0 9px 32px -14px #25d36680;
  transform: translate3d(
    var(--mag-x, 0px),
    calc(var(--mag-y, 0px) + var(--lift, 0px)),
    0
  );
  transition:
    transform 0.6s var(--ease-out),
    box-shadow 0.5s var(--ease-out),
    background 0.3s;
}
#agendar .booking-card > a:hover {
  --lift: -3px;
  box-shadow: 0 18px 44px -14px #25d366a6;
}
#agendar .booking-card > a:after {
  content: "";
  position: absolute;
  inset: -60% auto -60% -50%;
  width: 25%;
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, #ffffff40, transparent);
  transition: left 0.7s;
}
#agendar .booking-card > a:hover:after {
  left: 130%;
}
#agendar .booking-card > a > span {
  margin-left: auto;
  transition: transform 0.25s;
}
#agendar .booking-card > a:hover > span {
  transform: translateX(4px);
}
#agendar .whatsapp-mark {
  flex: none;
}
#agendar .booking-assurances {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: start;
  gap: 13px 12px;
  text-align: left;
  padding-top: 23px;
}
#agendar .booking-assurances > span {
  font-size: 12px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #bac9e1;
}
#agendar .booking-assurances > span:before {
  content: "✓";
  font-size: 12px;
  color: #6d99e6;
}
#agendar .booking-assurances > span:last-child {
  grid-column: 1/-1;
}
#agendar .booking-motion {
  grid-column: 1/-1;
  justify-self: end;
  background: none;
  color: #8095ba;
  border: 0;
  border-bottom: 1px solid #8095ba40;
  padding: 7px 0;
  font-size: 12px;
  cursor: pointer;
  margin-top: -38px;
}
#agendar.is-motion-paused:before {
  animation-play-state: paused;
}
#dependencia button:focus-visible,
#agendar button:focus-visible,
#agendar a:focus-visible {
  outline: 3px solid #64a3ff;
  outline-offset: 5px;
}
@keyframes topic-flow {
  from {
    transform: scaleY(0.35);
    opacity: 0.45;
  }
  to {
    transform: scaleY(1);
    opacity: 0.9;
  }
}
@keyframes care-atmosphere {
  from {
    transform: translate(-2%, 1%) rotate(-3deg);
  }
  to {
    transform: translate(4%, -3%) rotate(5deg);
  }
}
@keyframes booking-glow {
  from {
    transform: translate(-2%, 0) scale(1);
  }
  to {
    transform: translate(3%, 4%) scale(1.1);
  }
}
@keyframes section-rise {
  from {
    opacity: 0;
    transform: translateY(9px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1050px) {
  #dependencia .care-topic {
    padding: 25px 22px;
  }
  #dependencia .care-topic h3 {
    font-size: 24px;
  }
  #dependencia .care-topic p {
    font-size: 14px;
    min-height: 198px;
  }
  #dependencia .care-path {
    gap: 32px;
    padding: 36px;
  }
  #dependencia .care-path-controls {
    align-items: flex-start;
  }
  #agendar .booking-layout {
    gap: 35px;
  }
  #agendar .booking-card {
    padding: 28px;
  }
}
@media (max-width: 900px) {
  #sobre .about-grid {
    grid-template-columns: 1fr 1.1fr;
    gap: 30px;
  }
  #sobre .doctor-portrait {
    min-height: 590px;
  }
  #sobre .about-copy h2 {
    font-size: 45px;
  }
  #sobre .about-copy > p:not(.doctor-role) {
    font-size: 15px;
  }
  #sobre .training-highlight {
    padding: 20px;
  }
  #sobre .training-highlight strong {
    font-size: 23px;
  }
  #sobre .about-copy blockquote {
    font-size: 17px;
  }
  #dependencia .dependence-heading {
    gap: 30px;
  }
  #dependencia .care-path {
    grid-template-columns: 1fr;
  }
  #dependencia .care-path-copy h3 {
    max-width: 25ch;
  }
  #dependencia .care-path-copy p {
    max-width: none;
  }
  #dependencia .care-path-controls > span {
    font-size: 13px;
  }
  #dependencia .care-step-button > span {
    font-size: 15px;
  }
  #agendar .booking-layout {
    grid-template-columns: 1fr;
    max-width: 660px;
    gap: 35px;
  }
  #agendar .booking-copy {
    text-align: center;
  }
  #agendar h2 {
    margin-left: auto;
    margin-right: auto;
  }
  #agendar .booking-copy > p {
    margin-left: auto;
    margin-right: auto;
    max-width: 45ch;
  }
  #agendar .booking-card {
    max-width: 570px;
    margin: 0 auto;
    padding: 34px;
  }
  #agendar .booking-motion {
    margin-top: -15px;
    justify-self: center;
  }
}
@media (max-width: 680px) {
  #sobre .about-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  #sobre .doctor-portrait {
    min-height: 0;
    aspect-ratio: 4/5;
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
  }
  #sobre .about-copy {
    padding: 0;
    max-width: 500px;
    margin: 0 auto;
  }
  #sobre .about-copy h2 {
    font-size: 46px;
  }
  #sobre .about-copy > p:not(.doctor-role) {
    font-size: 16px;
  }
  #sobre .training-highlight small {
    font-size: 15px;
  }
  #dependencia .dependence-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  #dependencia .dependence-heading h2 {
    font-size: 36px;
  }
  #dependencia .dependence-heading .section-lead {
    font-size: 16px;
  }
  #dependencia .dependence-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 30px;
  }
  #dependencia .care-topic {
    min-height: 0;
    padding: 26px;
  }
  #dependencia .care-topic > span {
    margin-bottom: 35px;
  }
  #dependencia .care-topic h3 {
    min-height: 0;
    font-size: 28px;
  }
  #dependencia .care-topic p {
    min-height: 0;
    font-size: 16px;
  }
  #dependencia .care-topic small {
    margin-top: 24px;
  }
  #dependencia .care-path {
    padding: 30px 22px;
    gap: 30px;
    margin-top: 20px;
    min-height: 0;
  }
  #dependencia .care-path-copy h3 {
    font-size: 34px;
    max-width: 19ch;
  }
  #dependencia .care-path-copy p {
    font-size: 15px;
    line-height: 1.8;
  }
  #dependencia .care-path-controls {
    gap: 9px;
  }
  #dependencia .care-path-controls > span {
    max-width: 19ch;
    font-size: 12px;
  }
  #dependencia .care-step-button {
    padding: 15px 13px;
    gap: 10px;
  }
  #dependencia .care-step-button > span {
    font-size: 14px;
  }
  #dependencia .care-step p {
    padding-left: 37px;
  }
  #dependencia .emergency-card {
    grid-template-columns: 1fr;
    padding: 27px 23px;
    gap: 20px;
  }
  #dependencia .emergency-card h3 {
    font-size: 25px;
  }
  #agendar .booking-card {
    padding: 27px 23px;
    border-radius: 23px;
  }
  #agendar h2 {
    font-size: 40px;
  }
  #agendar .booking-copy > p {
    font-size: 16px;
  }
  #agendar .booking-card > strong {
    font-size: 27px;
  }
  #agendar .booking-card > a {
    font-size: 14px;
    gap: 9px;
    padding: 17px 13px;
  }
  #agendar .booking-assurances {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  #agendar .booking-motion {
    margin-top: -14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #dependencia .topic-signal i,
  #dependencia .care-ambient,
  #agendar:before {
    animation: none;
  }
  #dependencia .topic-details,
  #dependencia .care-step p {
    animation: none;
  }
  #dependencia .care-topic:hover {
    transform: none;
  }
}

/* =========================================================
   Refino premium — movimento, cabeçalho e acabamento.
   Tudo abaixo se sobrepõe à base sem mudar textos ou cores.
   ========================================================= */
@property --angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
html {
  scroll-padding-top: 76px;
}
body {
  text-rendering: optimizeLegibility;
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--blue-bright);
  outline-offset: 4px;
}

/* ---------- Revelação ao rolar ---------- */
.has-motion [data-reveal]:not(#_) {
  opacity: 0;
  transform: translate3d(0, var(--reveal-y, 30px), 0) scale(var(--reveal-scale, 1));
  filter: blur(var(--reveal-blur, 0px));
  transition:
    opacity 0.9s var(--ease-out) var(--reveal-delay, 0ms),
    transform 1.25s var(--ease-out) var(--reveal-delay, 0ms),
    filter 0.9s var(--ease-out) var(--reveal-delay, 0ms),
    clip-path 1.5s var(--ease-out) var(--reveal-delay, 0ms);
}
.has-motion [data-reveal="text"]:not(#_) {
  --reveal-y: 20px;
  --reveal-blur: 6px;
}
.has-motion [data-reveal="card"]:not(#_) {
  --reveal-y: 48px;
  --reveal-scale: 0.97;
}
.has-motion [data-reveal="fade"]:not(#_) {
  --reveal-y: 0px;
}
.has-motion [data-reveal="portrait"]:not(#_) {
  --reveal-y: 0px;
  --reveal-scale: 1.04;
  clip-path: inset(9% 9% 9% 9% round 28px);
}
.has-motion [data-reveal].is-in:not(#_) {
  opacity: 1;
  transform: none;
  filter: none;
}
.has-motion [data-reveal="portrait"].is-in:not(#_) {
  clip-path: inset(0 0 0 0 round 28px);
}
/* Títulos palavra por palavra */
.split .w {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding: 0.12em 0.05em 0.2em;
  margin: -0.12em -0.05em -0.2em;
}
.split .wi {
  display: inline-block;
  transform-origin: 0 100%;
}
.has-motion .split .wi {
  transition: transform 1.2s var(--ease-out);
  transition-delay: calc(var(--i, 0) * 42ms + var(--split-delay, 0ms));
}
.has-motion .split:not(.is-in) .wi {
  transform: translate3d(0, 112%, 0) rotate(5deg);
}
/* No editor, tudo fica visível para facilitar a seleção */
html[data-editing="true"] [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
}
html[data-editing="true"] .split .wi {
  transform: none !important;
}

/* ---------- Cabeçalho ---------- */
.site-header {
  background: #080a1100;
  border-bottom-color: #ffffff00;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition:
    background-color 0.5s var(--ease-soft),
    border-color 0.5s var(--ease-soft),
    box-shadow 0.5s var(--ease-soft),
    transform 0.75s var(--ease-out);
}
.site-header.is-scrolled {
  background: #080a11b8;
  border-bottom-color: #ffffff12;
  -webkit-backdrop-filter: saturate(170%) blur(18px);
  backdrop-filter: saturate(170%) blur(18px);
}
.site-header.is-scrolled.is-light {
  background: #ffffffc7;
  border-bottom-color: #0a123012;
  box-shadow: 0 14px 34px -26px #0a1e5066;
}
.site-header.is-hidden {
  transform: translate3d(0, -100%, 0);
  box-shadow: none;
}
.site-header.menu-open {
  background: #080a1100;
  border-bottom-color: #ffffff00;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: none;
}
.brand,
.brand > span,
.nav > a {
  transition: color 0.4s var(--ease-soft);
}
.site-header.is-light:not(.menu-open) .brand {
  color: var(--ink);
}
.site-header.is-light:not(.menu-open) .brand > span {
  color: #5b6475;
}
.site-header.is-light:not(.menu-open) .nav > a:not(.nav-cta) {
  color: #4a5160;
}
.site-header.is-light:not(.menu-open) .nav > a:not(.nav-cta):hover,
.site-header.is-light:not(.menu-open) .nav > a.is-active {
  color: var(--ink);
}
.nav > a.is-active {
  color: #fff;
}
.scroll-progress {
  pointer-events: none;
  transform-origin: 0 50%;
  transform: scaleX(var(--progress, 0));
  background: linear-gradient(90deg, var(--blue), var(--blue-bright) 60%, #9cc2ff);
  opacity: 0;
  height: 2px;
  transition: opacity 0.4s;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}
.site-header.is-scrolled .scroll-progress {
  opacity: 1;
}
.site-header.menu-open .scroll-progress {
  opacity: 0;
}
.menu-button {
  cursor: pointer;
  position: relative;
}
.menu-button span {
  border-radius: 2px;
  width: 22px;
  height: 1.5px;
  margin: 0;
  transition:
    transform 0.55s var(--ease-out),
    top 0.55s var(--ease-out),
    background 0.3s;
  position: absolute;
  left: 10px;
}
.menu-button span:first-child {
  top: 16px;
}
.menu-button span:last-child {
  top: 24.5px;
}
.menu-button[aria-expanded="true"] span:first-child {
  top: 20.25px;
  transform: rotate(45deg);
}
.menu-button[aria-expanded="true"] span:last-child {
  top: 20.25px;
  transform: rotate(-45deg);
}
.site-header.is-light:not(.menu-open) .menu-button span {
  background: var(--ink);
}
html.menu-locked {
  overflow: hidden;
}
@media (min-width: 901px) {
  .nav {
    gap: clamp(2px, 0.45vw, 8px);
    position: relative;
  }
  .nav > a:not(.nav-cta) {
    border-radius: 999px;
    padding: 8px 13px;
  }
  .nav .nav-cta {
    margin-left: clamp(8px, 1.2vw, 18px);
    transform: translate3d(var(--mag-x, 0px), var(--mag-y, 0px), 0);
    transition:
      transform 0.6s var(--ease-out),
      background 0.3s,
      box-shadow 0.5s var(--ease-out);
  }
  .nav .nav-cta:hover {
    background: #2c82ff;
    box-shadow: 0 12px 28px -12px #2c82ffe6;
  }
  .nav-indicator {
    pointer-events: none;
    z-index: -1;
    width: var(--w, 0px);
    height: 34px;
    transform: translate3d(var(--x, 0px), 0, 0);
    opacity: 0;
    background: #ffffff17;
    border-radius: 999px;
    margin-top: -17px;
    transition:
      transform 0.65s var(--ease-out),
      width 0.65s var(--ease-out),
      opacity 0.35s,
      background 0.4s;
    position: absolute;
    top: 50%;
    left: 0;
    box-shadow: inset 0 0 0 1px #ffffff0f;
  }
  .nav-indicator.is-visible {
    opacity: 1;
  }
  .site-header.is-light .nav-indicator {
    background: #0a66e814;
    box-shadow: inset 0 0 0 1px #0a66e81a;
  }
}

/* ---------- Abertura ---------- */
.hero {
  isolation: isolate;
  position: relative;
}
.hero-aurora {
  pointer-events: none;
  z-index: -1;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero-aurora i {
  will-change: transform;
  border-radius: 50%;
  position: absolute;
}
.hero-aurora i:first-child {
  background: radial-gradient(circle, #1a4fd66b, transparent 62%);
  width: 72vmax;
  height: 72vmax;
  animation: aurora-a 19s var(--ease-io) infinite alternate;
  top: -36vmax;
  left: -24vmax;
}
.hero-aurora i:nth-child(2) {
  background: radial-gradient(circle, #4c40c842, transparent 62%);
  width: 58vmax;
  height: 58vmax;
  animation: aurora-b 23s var(--ease-io) infinite alternate;
  bottom: -32vmax;
  right: -24vmax;
}
.hero-aurora i:nth-child(3) {
  background: radial-gradient(circle, #4c90ff24, transparent 65%);
  width: 40vmax;
  height: 40vmax;
  animation: aurora-c 27s var(--ease-io) infinite alternate;
  top: 30%;
  left: 18%;
}
.hero:after {
  content: "";
  pointer-events: none;
  z-index: 0;
  opacity: 0.08;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}
.hero-inner {
  z-index: 1;
  position: relative;
}
.eyebrow {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #ffffff0d;
  border: 1px solid #c4d6ff1f;
}
.brain-visual {
  animation: brain-in 1.8s var(--ease-out) both;
}
.brain-visual:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, #4c90ff33, #4c90ff0d 45%, transparent 70%);
  border-radius: 50%;
  animation: halo 7s ease-in-out infinite alternate;
  position: absolute;
  inset: 12%;
}
.noise-words {
  color: #c4d6ff9e;
}
.brain-visual > small {
  white-space: nowrap;
  color: #c4d6ffd9;
  letter-spacing: 0.14em;
  background: #080c1c66;
  border: 1px solid #c4d6ff24;
  border-radius: 999px;
  align-items: center;
  gap: 9px;
  padding: 7px 14px 7px 12px;
  display: inline-flex;
  bottom: 0;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}
.brain-visual > small:before {
  content: "";
  background: var(--blue-bright);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  animation: ping 2.4s var(--ease-out) infinite;
}
.button.primary:after {
  content: "";
  z-index: -1;
  background: linear-gradient(110deg, transparent 25%, #ffffff4d 50%, transparent 75%);
  transition: transform 1s var(--ease-out);
  position: absolute;
  inset: 0;
  transform: translateX(-130%);
}
.button.primary:hover:after {
  transform: translateX(130%);
}
.button.primary:hover {
  box-shadow: 0 22px 44px -20px #2c82fff2;
}
.button.secondary {
  box-shadow: inset 0 0 0 1px #ffffff14;
}
.button.secondary:hover {
  box-shadow: inset 0 0 0 1px #ffffff33;
}
.scroll-cue {
  z-index: 2;
  opacity: calc(1 - var(--hero-p, 0) * 5);
  border: 1.5px solid #c4d6ff47;
  border-radius: 999px;
  width: 26px;
  height: 42px;
  margin-left: -13px;
  transition: border-color 0.3s;
  position: absolute;
  bottom: clamp(20px, 4vh, 38px);
  left: 50%;
}
.scroll-cue:hover {
  border-color: #c4d6ffa6;
}
.scroll-cue span {
  background: var(--blue-soft);
  border-radius: 3px;
  width: 3px;
  height: 8px;
  margin-left: -1.5px;
  animation: cue 2.2s var(--ease-io) infinite;
  position: absolute;
  top: 8px;
  left: 50%;
}
@media (min-width: 901px) {
  .has-motion .hero-copy {
    transform: translate3d(0, calc(var(--hero-p, 0) * 90px), 0);
    opacity: calc(1 - var(--hero-p, 0) * 1.15);
  }
  .has-motion .brain-visual canvas {
    transform: translate3d(0, calc(var(--hero-p, 0) * 50px), 0)
      scale(calc(1 - var(--hero-p, 0) * 0.08));
  }
}
@media (max-width: 900px) {
  .scroll-cue {
    display: none;
  }
}
@media (max-width: 520px) {
  .eyebrow {
    text-wrap: balance;
    border-radius: 16px;
    max-width: 100%;
    padding: 7px 14px;
    font-size: 11.5px;
    line-height: 1.45;
  }
  .eyebrow i {
    display: none;
  }
}

/* ---------- Rótulos de seção ---------- */
.section-label:before,
.section-label.centered:after {
  content: "";
  color: var(--blue);
  opacity: 0.75;
  background: currentColor;
  border-radius: 2px;
  width: 28px;
  height: 1.5px;
}

/* ---------- O Instituto ---------- */
.intro-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(40px, 6vw, 100px);
  display: grid;
  position: relative;
}
.intro-head {
  position: sticky;
  top: 132px;
}
.intro-grid h2 {
  max-width: none;
  font-size: clamp(2.1rem, 3.7vw, 3.3rem);
}
.intro-grid .section-lead {
  max-width: 46ch;
  font-size: clamp(16px, 1.2vw, 18px);
}
.intro-grid .principles {
  gap: 14px;
  margin-top: 0;
  display: grid;
}
.intro-grid .principles article {
  background: #fff;
  border: 1px solid #e6ecf4;
  border-radius: 22px;
  padding: 28px 30px 26px 26px;
  transition:
    border-color 0.6s var(--ease-soft),
    box-shadow 0.6s var(--ease-soft),
    transform 0.7s var(--ease-out);
  box-shadow: 0 1px 2px #0a123008;
}
.intro-grid .principles article.active {
  border-color: #0a66e833;
  box-shadow: 0 28px 56px -38px #0a328261;
}
.intro-grid .principles article:hover {
  background: #fff;
  transform: translate3d(4px, 0, 0);
}
.intro-grid .principles h3 {
  font-size: clamp(20px, 1.7vw, 24px);
}
@media (max-width: 900px) {
  .intro-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .intro-head {
    position: static;
  }
}
@media (max-width: 680px) {
  .intro-grid .principles {
    padding-left: 30px;
  }
  .intro-grid .principles article {
    padding: 22px 18px;
  }
  .intro-grid .step-dot {
    left: -25px;
  }
}

/* ---------- Áreas de cuidado ---------- */
.test-card {
  isolation: isolate;
  min-height: 380px;
  position: relative;
  transition:
    transform 0.7s var(--ease-out),
    border-color 0.5s var(--ease-soft),
    box-shadow 0.7s var(--ease-out);
}
.test-card:before,
.test-card:after {
  content: "";
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.6s var(--ease-soft);
  position: absolute;
  inset: 0;
}
.test-card:before {
  z-index: -1;
  background: radial-gradient(
    480px circle at var(--mx, 50%) var(--my, 0%),
    rgba(var(--accent-rgb), 0.17),
    transparent 42%
  );
}
.test-card:after {
  background: radial-gradient(
    280px circle at var(--mx, 50%) var(--my, 0%),
    rgba(var(--accent-rgb), 0.95),
    transparent 60%
  );
  padding: 1px;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.test-card:hover:before,
.test-card:hover:after {
  opacity: 1;
}
.test-card:hover {
  transform: translate3d(0, -6px, 0);
}
.test-card > p {
  margin-bottom: 30px;
}
.test-card-action a {
  transition:
    transform 0.5s var(--ease-out),
    box-shadow 0.5s var(--ease-out),
    filter 0.3s;
}
.test-card-action a:hover {
  filter: brightness(1.08);
}
.test-card-action b {
  transition: transform 0.45s var(--ease-out);
  display: inline-block;
}
.test-card-action a:hover b {
  transform: translateX(4px);
}
.has-motion .test-card:not(.is-live) .signal-trace span,
.has-motion .care-topic:not(.is-live) .topic-signal i {
  animation-play-state: paused;
}
@media (max-width: 680px) {
  .test-card {
    min-height: 0;
  }
}

/* ---------- Dr. Marcel ---------- */
#sobre .doctor-portrait {
  isolation: isolate;
}
#sobre .doctor-portrait img {
  will-change: transform;
  height: calc(100% + 60px);
  top: -30px;
  bottom: -30px;
  transform: translate3d(0, var(--parallax, 0px), 0);
}
#sobre .doctor-portrait:after {
  content: "";
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(180deg, transparent, #0a123024);
  height: 35%;
  position: absolute;
  inset: auto 0 0;
}
#sobre .portrait-edge {
  z-index: 2;
}
#sobre .training-highlight {
  position: relative;
  overflow: hidden;
  transition:
    transform 0.6s var(--ease-out),
    box-shadow 0.6s var(--ease-out);
}
#sobre .training-highlight:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, #ffffffd9 50%, transparent 70%);
  position: absolute;
  inset: 0;
  transform: translateX(-110%);
}
#sobre .training-highlight.revealed:after {
  animation: sheen 1.8s var(--ease-io) 0.35s both;
}
#sobre .training-highlight:hover {
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 26px 44px -30px #0a66e880;
}

/* ---------- Dependência e cuidado ---------- */
#dependencia .care-topic {
  isolation: isolate;
  --spot: 10, 102, 232;
  transition:
    transform 0.7s var(--ease-out),
    border-color 0.5s var(--ease-soft),
    box-shadow 0.7s var(--ease-out);
}
#dependencia .care-topic:nth-child(2) {
  --spot: 123, 168, 255;
}
#dependencia .care-topic:before {
  content: "";
  pointer-events: none;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(
    420px circle at var(--mx, 50%) var(--my, 0%),
    rgba(var(--spot), 0.09),
    transparent 45%
  );
  opacity: 0;
  transition: opacity 0.6s var(--ease-soft);
  position: absolute;
  inset: 0;
}
#dependencia .care-topic:nth-child(2):before {
  background: radial-gradient(
    420px circle at var(--mx, 50%) var(--my, 0%),
    rgba(var(--spot), 0.22),
    transparent 45%
  );
}
#dependencia .care-topic:hover:before {
  opacity: 1;
}
#dependencia .care-topic p {
  min-height: 0;
}
@media (min-width: 681px) {
  #dependencia .care-topic h3 {
    align-items: flex-end;
    min-height: 2.3em;
    display: flex;
  }
}
#dependencia .topic-toggle span {
  transition:
    transform 0.6s var(--ease-out),
    background 0.3s,
    color 0.3s,
    border-color 0.3s;
}
#dependencia .topic-toggle:hover span {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
}
#dependencia .care-topic:nth-child(2) .topic-toggle:hover span {
  color: var(--navy);
  background: #bdd2ff;
  border-color: #bdd2ff;
}
#dependencia .topic-details {
  animation: none;
}
#dependencia .topic-details > span {
  animation: detail-in 0.7s var(--ease-out) both;
}
#dependencia .topic-details > span:nth-child(2) {
  animation-delay: 70ms;
}
#dependencia .topic-details > span:nth-child(3) {
  animation-delay: 140ms;
}
#dependencia .care-step {
  transition:
    background 0.5s var(--ease-soft),
    border-color 0.5s var(--ease-soft);
}
#dependencia .care-step:not(.is-current):hover {
  background: #ffffff0b;
  border-color: #ffffff24;
}
#dependencia .care-step-button b {
  border: 1px solid #81acb759;
  border-radius: 50%;
  place-items: center;
  width: 26px;
  height: 26px;
  font-size: 10.5px;
  transition:
    background 0.5s var(--ease-soft),
    color 0.5s var(--ease-soft),
    border-color 0.5s var(--ease-soft);
  display: grid;
}
#dependencia .care-step.is-current .care-step-button b {
  color: #06262f;
  background: #69becf;
  border-color: #69becf;
  font-weight: 700;
}
#dependencia .care-step p {
  min-height: 0;
  animation: none;
  padding-left: 56px;
}
#dependencia .care-step p > span {
  animation: detail-in 0.6s var(--ease-out) 0.1s both;
  display: block;
}
.care-progress {
  pointer-events: none;
  transform-origin: 0 50%;
  transform: scaleX(var(--p, 0));
  background: linear-gradient(90deg, #69becf66, #8fdbe6);
  opacity: 0;
  height: 2px;
  transition: opacity 0.4s;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
#dependencia .care-step.is-current .care-progress {
  opacity: 1;
}
#dependencia .care-path-points.is-stopped .care-progress {
  opacity: 0;
}
#dependencia .care-autoplay {
  transition:
    background 0.3s,
    border-color 0.3s,
    color 0.3s;
}
#dependencia .care-autoplay:hover {
  color: #fff;
  background: #ffffff14;
  border-color: #ffffff47;
}
#dependencia .emergency-card {
  grid-template-columns: 1fr minmax(300px, 360px);
  max-width: none;
}
#dependencia .emergency-card > div:first-child > span {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}
#dependencia .emergency-card > div:first-child > span:before {
  content: "";
  background: #e0564f;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: ping-red 2.4s var(--ease-out) infinite;
}
#dependencia .emergency-card a {
  justify-items: center;
  transition:
    transform 0.5s var(--ease-out),
    background 0.3s,
    border-color 0.3s,
    box-shadow 0.5s var(--ease-out);
}
#dependencia .emergency-card a:hover {
  background: #fff;
  border-color: #d99a93;
  transform: translate3d(0, -3px, 0);
  box-shadow: 0 16px 30px -22px #a03c3273;
}
#dependencia .emergency-card .call-icon {
  color: #b0463f;
}
@media (max-width: 680px) {
  #dependencia .care-step p {
    padding-left: 49px;
  }
  #dependencia .emergency-card {
    grid-template-columns: 1fr;
  }
}

/* ---------- Agendamento ---------- */
#agendar:after {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(
    640px circle at var(--gx, 72%) var(--gy, 42%),
    #4c90ff21,
    transparent 60%
  );
  position: absolute;
  inset: 0;
}
#agendar .booking-card:before {
  content: "";
  pointer-events: none;
  border-radius: inherit;
  background: conic-gradient(
    from var(--angle),
    transparent 0deg,
    transparent 240deg,
    #8fb8ffbf 295deg,
    #25d3668c 330deg,
    transparent 360deg
  );
  padding: 1px;
  animation: border-spin 9s linear infinite;
  position: absolute;
  inset: -1px;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}
#agendar .booking-card > a:after,
#agendar .booking-card > a:hover:after {
  width: 22%;
  transition: none;
  animation: cta-shine 6s var(--ease-io) 2.5s infinite;
  inset: -60% auto -60% 0;
  transform: translateX(-160%) rotate(22deg);
}
#agendar.is-motion-paused .booking-card:before,
#agendar.is-motion-paused .booking-card > a:after {
  animation-play-state: paused;
}
#agendar .booking-motion {
  color: #93a6c6;
  background: #ffffff08;
  border: 1px solid #8095ba47;
  border-radius: 999px;
  margin-top: 0;
  padding: 8px 14px;
  font-size: 11.5px;
  transition:
    color 0.3s,
    border-color 0.3s,
    background 0.3s;
}
@media (min-width: 901px) {
  #agendar .booking-layout {
    row-gap: 22px;
  }
}
#agendar .booking-motion:hover {
  color: #fff;
  background: #ffffff0f;
  border-color: #c4d6ff80;
}

/* ---------- Rodapé ---------- */
.footer-grid a {
  width: fit-content;
  transition: color 0.3s;
  position: relative;
}
.footer-grid a:after {
  content: "";
  transform-origin: 100% 50%;
  background: currentColor;
  height: 1px;
  transition: transform 0.55s var(--ease-out);
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  transform: scaleX(0);
}
.footer-grid a:hover:after {
  transform-origin: 0 50%;
  transform: scaleX(1);
}
.footer-bottom {
  align-items: center;
}
.back-to-top {
  color: #8a94a8;
  align-items: center;
  gap: 9px;
  transition: color 0.3s;
  display: inline-flex;
}
.back-to-top span {
  border: 1px solid #ffffff1f;
  border-radius: 50%;
  place-items: center;
  width: 28px;
  height: 28px;
  transition:
    transform 0.5s var(--ease-out),
    border-color 0.3s,
    background 0.3s;
  display: inline-grid;
}
.back-to-top:hover {
  color: #fff;
}
.back-to-top:hover span {
  background: #ffffff0d;
  border-color: #ffffff4d;
  transform: translateY(-3px);
}

/* ---------- Animações ---------- */
@keyframes aurora-a {
  to {
    transform: translate3d(10vmax, 6vmax, 0) scale(1.12);
  }
}
@keyframes aurora-b {
  to {
    transform: translate3d(-9vmax, -7vmax, 0) scale(1.1);
  }
}
@keyframes aurora-c {
  to {
    transform: translate3d(12vmax, -8vmax, 0) scale(0.9);
  }
}
@keyframes brain-in {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes halo {
  from {
    opacity: 0.55;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1.06);
  }
}
@keyframes ping {
  0% {
    box-shadow: 0 0 0 0 #4c90ff99;
  }
  70%,
  to {
    box-shadow: 0 0 0 9px #4c90ff00;
  }
}
@keyframes ping-red {
  0% {
    box-shadow: 0 0 0 0 #e0564f80;
  }
  70%,
  to {
    box-shadow: 0 0 0 8px #e0564f00;
  }
}
@keyframes cue {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
  }
  80%,
  to {
    opacity: 0;
    transform: translateY(14px);
  }
}
@keyframes detail-in {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes sheen {
  to {
    transform: translateX(110%);
  }
}
@keyframes border-spin {
  to {
    --angle: 360deg;
  }
}
@keyframes cta-shine {
  0% {
    transform: translateX(-160%) rotate(22deg);
  }
  28%,
  to {
    transform: translateX(560%) rotate(22deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-aurora i,
  .brain-visual,
  .brain-visual:before,
  .scroll-cue span,
  #agendar .booking-card:before,
  #agendar .booking-card > a:after {
    animation: none;
  }
}

/* =========================================================
   Refino 2 — profundidade, dependência, emergência e fechamento.
   ========================================================= */
:root {
  --sheet-r: clamp(28px, 4vw, 56px);
}

/* ---------- Seções que deslizam uma sobre a outra ---------- */
.intro-section,
.tests-section,
#sobre,
#agendar {
  z-index: 1;
  border-radius: var(--sheet-r) var(--sheet-r) 0 0;
  margin-top: calc(-1 * var(--sheet-r));
  position: relative;
  box-shadow: 0 -26px 60px -36px #050a1e66;
}
.hero {
  padding-bottom: calc(clamp(64px, 9vh, 96px) + var(--sheet-r));
}
.scroll-cue {
  bottom: calc(var(--sheet-r) + clamp(16px, 3vh, 30px));
}

/* ---------- Camadas de profundidade ---------- */
[data-depth] {
  translate: 0 var(--depth-y, 0px);
  will-change: translate;
}
.depth-orbs {
  pointer-events: none;
  z-index: 0;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.depth-orbs i {
  border-radius: 50%;
  position: absolute;
}
.areas-orbs i:first-child {
  background: radial-gradient(circle, #4c90ff2e, transparent 64%);
  width: 780px;
  height: 780px;
  top: 12%;
  left: -260px;
}
.areas-orbs i:nth-child(2) {
  background: radial-gradient(circle, #ffb02021, transparent 64%);
  width: 700px;
  height: 700px;
  top: 38%;
  right: -240px;
}
.areas-orbs i:nth-child(3) {
  background: radial-gradient(circle, #8b6bff26, transparent 64%);
  width: 640px;
  height: 640px;
  bottom: -120px;
  left: 18%;
}
.tests-section > .section-shell {
  z-index: 1;
  position: relative;
}
.dep-orbs i:first-child {
  background: radial-gradient(circle, #cfe0ff99, transparent 64%);
  width: 720px;
  height: 720px;
  top: 30%;
  left: -300px;
}
.dep-orbs i:nth-child(2) {
  background: radial-gradient(circle, #dfe9ffb3, transparent 64%);
  width: 620px;
  height: 620px;
  bottom: 4%;
  right: -220px;
}
.test-card {
  box-shadow:
    inset 0 1px #ffffff0f,
    0 30px 60px -42px #000000d9;
}

/* Inclinação 3D nos cartões */
.test-card.tilt:not([data-reveal]),
#dependencia .care-topic.tilt:not([data-reveal]),
#dependencia .care-topic.tilt:not([data-reveal]):hover,
#dependencia .care-topic.tilt:not([data-reveal]):focus-within {
  transform: perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))
    translate3d(0, var(--lift, 0px), 0);
}
.test-card.tilt:not([data-reveal]):hover,
#dependencia .care-topic.tilt:not([data-reveal]):hover {
  --lift: -6px;
}

/* Botão principal com o logo do WhatsApp */
.btn-wa {
  flex: none;
}

/* ---------- Dr. Marcel: moldura e selo flutuante ---------- */
#sobre .portrait-stage {
  display: grid;
  position: relative;
}
#sobre .portrait-stage > .doctor-portrait {
  z-index: 1;
}
#sobre .portrait-frame {
  z-index: 0;
  background:
    linear-gradient(140deg, #0a66e81f, #0a66e800 60%),
    radial-gradient(#0a66e838 1px, transparent 1.4px) 0 0 / 16px 16px;
  border: 1px solid #0a66e833;
  border-radius: 30px;
  position: absolute;
  inset: 26px -26px -26px 26px;
}
/* ---------- Cuidado que considera a pessoa por inteiro ---------- */
#dependencia:after {
  content: "";
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(#0a327214 1px, transparent 1.4px);
  background-size: 22px 22px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: radial-gradient(ellipse 75% 45% at 50% 28%, #000, transparent);
  mask-image: radial-gradient(ellipse 75% 45% at 50% 28%, #000, transparent);
}
#dependencia .care-topic {
  background: linear-gradient(180deg, #fff 0%, #f5f8fe 100%);
  border: 1px solid #dae4f2;
  border-radius: 28px;
  min-height: 500px;
  padding: 30px 28px 26px;
  box-shadow:
    inset 0 1px #fff,
    0 2px 4px #0a1e500a,
    0 26px 50px -30px #0a286e4d,
    0 70px 100px -70px #0a286e40;
}
#dependencia .care-topic:nth-child(2) {
  background:
    radial-gradient(120% 70% at 100% 0%, #2a4fb366 0%, transparent 60%),
    linear-gradient(160deg, #15244a, var(--navy) 70%);
  border-color: #2a3b66;
  box-shadow:
    inset 0 1px #ffffff14,
    0 30px 60px -30px #0a2360b3,
    0 80px 110px -70px #0a2360a6;
}
#dependencia .care-topic:after {
  content: "";
  pointer-events: none;
  z-index: -1;
  background-image: radial-gradient(#0a66e82e 1px, transparent 1.4px);
  background-size: 14px 14px;
  position: absolute;
  inset: 0 0 45%;
  -webkit-mask-image: linear-gradient(180deg, #000 10%, transparent);
  mask-image: linear-gradient(180deg, #000 10%, transparent);
}
#dependencia .care-topic:nth-child(2):after {
  background-image: radial-gradient(#bcd3ff2e 1px, transparent 1.4px);
}
#dependencia .topic-icon {
  color: var(--blue);
  background: linear-gradient(145deg, #fff, #e6efff);
  border: 1px solid #d3e1f6;
  border-radius: 16px;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 46px;
  transition: transform 0.7s var(--ease-out);
  display: grid;
  position: relative;
  box-shadow:
    inset 0 1px #fff,
    0 12px 24px -12px #0a66e880;
}
#dependencia .topic-icon svg {
  width: 25px;
  height: 25px;
}
#dependencia .care-topic:nth-child(2) .topic-icon {
  color: #c4d8ff;
  background: linear-gradient(145deg, #ffffff26, #ffffff08);
  border-color: #bcd3ff38;
  box-shadow:
    inset 0 1px #ffffff26,
    0 14px 28px -14px #4c90ffcc;
}
#dependencia .care-topic:hover .topic-icon {
  transform: translate3d(0, -3px, 0) rotate(-5deg);
}
#dependencia .care-topic > .topic-number {
  pointer-events: none;
  z-index: -1;
  color: transparent;
  -webkit-text-stroke: 1.2px #0a66e817;
  letter-spacing: -0.06em;
  border: 0;
  border-radius: 0;
  width: auto;
  height: auto;
  margin: 0;
  font-size: 136px;
  font-weight: 800;
  line-height: 1;
  display: block;
  position: absolute;
  top: 112px;
  right: 14px;
}
#dependencia .care-topic:nth-child(2) > .topic-number {
  -webkit-text-stroke-color: #bcd3ff29;
}
#dependencia .topic-signal {
  top: 36px;
}
#dependencia .care-topic small {
  letter-spacing: 0;
  text-transform: none;
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}
#dependencia .care-topic small .tag {
  color: #34558a;
  text-transform: capitalize;
  background: #edf3ff;
  border: 1px solid #d6e3f7;
  border-radius: 999px;
  align-items: center;
  height: 27px;
  padding: 0 11px;
  font-size: 11.5px;
  font-weight: 650;
  display: inline-flex;
}
#dependencia .care-topic:nth-child(2) small .tag {
  color: #cddbfa;
  background: #ffffff0f;
  border-color: #ffffff1f;
}
.tag-sep {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}
#dependencia .topic-toggle {
  background: #f0f5ff;
  border: 1px solid #d9e5f7;
  border-radius: 15px;
  margin-top: 18px;
  padding: 11px 11px 11px 18px;
  transition:
    background 0.3s,
    border-color 0.3s;
}
#dependencia .topic-toggle:hover {
  background: #e6efff;
  border-color: #c3d6f4;
}
#dependencia .care-topic:nth-child(2) .topic-toggle {
  background: #ffffff0d;
  border-color: #ffffff1f;
}
#dependencia .care-topic:nth-child(2) .topic-toggle:hover {
  background: #ffffff17;
}
#dependencia .topic-toggle .toggle-icon {
  background: #fff;
  border-color: #0a66e833;
  width: 30px;
  height: 30px;
  font-size: 0;
  position: relative;
}
#dependencia .care-topic:nth-child(2) .topic-toggle .toggle-icon {
  background: #ffffff14;
}
#dependencia .toggle-icon:before,
#dependencia .toggle-icon:after {
  content: "";
  background: currentColor;
  border-radius: 2px;
  width: 12px;
  height: 1.8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#dependencia .toggle-icon:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
#dependencia .topic-toggle:hover .toggle-icon {
  color: #fff;
}
#dependencia .care-topic:nth-child(2) .topic-toggle:hover .toggle-icon {
  color: var(--navy);
}

/* ---------- Etapas do acompanhamento: linha do tempo ligada ---------- */
#dependencia .care-path {
  box-shadow:
    inset 0 1px #ffffff14,
    0 40px 90px -50px #041c26e6;
}
#dependencia .care-path-points {
  gap: 2px;
  position: relative;
}
#dependencia .care-step {
  background: none;
  border: 0;
  border-radius: 16px;
  transition:
    background 0.5s var(--ease-soft),
    box-shadow 0.5s var(--ease-soft);
}
#dependencia .care-step:before {
  content: "";
  background: #81acb747;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 30px;
}
#dependencia .care-path-controls + .care-step:before {
  top: 28px;
}
#dependencia .care-step:last-child:before {
  height: 28px;
  bottom: auto;
}
#dependencia .care-step:not(.is-current):hover {
  background: #ffffff09;
  border: 0;
}
#dependencia .care-step.is-current {
  background: #ffffff0f;
  box-shadow:
    inset 0 0 0 1px #69becf59,
    0 20px 40px -26px #000000b3;
}
#dependencia .care-step-button {
  position: relative;
}
#dependencia .care-step-button b {
  z-index: 1;
  font-variant-numeric: tabular-nums;
  background: #0c3a47;
  line-height: 1;
  position: relative;
}
#dependencia .care-path-controls {
  padding-bottom: 14px;
}
#dependencia .care-counter {
  color: #8fb6bf;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
  font-size: 12px;
}
#dependencia .care-counter b {
  color: #fff;
  font-weight: 700;
}

/* ---------- Risco imediato: preto e evidente ---------- */
#dependencia .emergency-card {
  color: #fff;
  background:
    radial-gradient(90% 140% at 0% 0%, #3a0d0f 0%, transparent 55%),
    radial-gradient(70% 120% at 100% 100%, #3a1d05 0%, transparent 60%),
    #0a0b0e;
  border: 1px solid #ff4d4d59;
  border-radius: 28px;
  grid-template-columns: 1fr minmax(320px, 430px);
  align-items: center;
  gap: clamp(26px, 4vw, 60px);
  margin-top: 28px;
  padding: clamp(28px, 3.6vw, 48px);
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 1px #ffffff0f,
    0 40px 90px -44px #d21e1e8c;
}
#dependencia .emergency-card:before {
  content: "";
  pointer-events: none;
  background: repeating-linear-gradient(135deg, #ffffff06 0 2px, transparent 2px 16px);
  position: absolute;
  inset: 0;
}
#dependencia .emergency-card > * {
  position: relative;
}
#dependencia .emergency-top {
  align-items: center;
  gap: 12px;
  display: flex;
}
#dependencia .emergency-icon {
  color: #ff5a4e;
  background: #ff3b3024;
  border-radius: 13px;
  place-items: center;
  width: 42px;
  height: 42px;
  animation: alarm 2.4s var(--ease-out) infinite;
  display: grid;
  box-shadow: inset 0 0 0 1px #ff5a4e66;
}
#dependencia .emergency-icon svg {
  width: 21px;
  height: 21px;
}
#dependencia .emergency-top > span:last-child {
  color: #ff7b72;
  letter-spacing: 0.2em;
  font-size: 12px;
  font-weight: 800;
}
#dependencia .emergency-card h3 {
  color: #fff;
  letter-spacing: -0.03em;
  max-width: 19ch;
  margin: 20px 0 12px;
  font-size: clamp(27px, 2.8vw, 38px);
  line-height: 1.12;
}
#dependencia .emergency-card p {
  color: #b7bcc6;
  max-width: 48ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
#dependencia .emergency-card > .emergency-actions:last-child {
  grid-template-columns: 1fr;
  gap: 12px;
  display: grid;
}
#dependencia .emergency-card .call-samu,
#dependencia .emergency-card .call-cvv {
  color: #fff;
  text-align: left;
  letter-spacing: -0.02em;
  border: 0;
  border-radius: 20px;
  grid-template-columns: auto 1fr auto;
  justify-items: start;
  align-items: center;
  gap: 16px;
  min-height: 84px;
  padding: 16px 18px 16px 16px;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.1;
  transition:
    transform 0.5s var(--ease-out),
    box-shadow 0.5s var(--ease-out),
    filter 0.3s;
  display: grid;
}
#dependencia .emergency-card .call-samu {
  background: linear-gradient(135deg, #ff453a, #d4180f);
  box-shadow:
    inset 0 1px #ffffff47,
    0 20px 44px -18px #ff3b30d9;
}
#dependencia .emergency-card .call-cvv {
  color: #241100;
  background: linear-gradient(135deg, #ffa726, #f57c00);
  box-shadow:
    inset 0 1px #ffffff5c,
    0 20px 44px -18px #ff9800cc;
}
#dependencia .emergency-card .call-samu:hover,
#dependencia .emergency-card .call-cvv:hover {
  filter: brightness(1.06);
  transform: translate3d(0, -3px, 0);
}
#dependencia .emergency-card .call-samu:hover {
  background: linear-gradient(135deg, #ff453a, #d4180f);
  box-shadow:
    inset 0 1px #ffffff47,
    0 28px 54px -18px #ff3b30f2;
}
#dependencia .emergency-card .call-cvv:hover {
  background: linear-gradient(135deg, #ffa726, #f57c00);
  box-shadow:
    inset 0 1px #ffffff5c,
    0 28px 54px -18px #ff9800f2;
}
#dependencia .emergency-card .call-ico {
  background: #ffffff2e;
  border-radius: 15px;
  place-items: center;
  width: 50px;
  height: 50px;
  display: grid;
}
#dependencia .emergency-card .call-samu .call-ico {
  animation: call-ring 2s var(--ease-out) infinite;
}
#dependencia .emergency-card .call-cvv .call-ico {
  background: #0000001a;
}
#dependencia .emergency-card .call-ico svg {
  width: 23px;
  height: 23px;
}
#dependencia .emergency-card .call-label {
  gap: 4px;
  display: grid;
}
#dependencia .emergency-card a .call-label small {
  color: inherit;
  opacity: 0.85;
  letter-spacing: 0.16em;
  font-size: 11px;
  font-weight: 750;
}
#dependencia .emergency-card .call-go {
  background: #ffffff2e;
  border-radius: 50%;
  place-items: center;
  width: 38px;
  height: 38px;
  font-size: 17px;
  transition: transform 0.5s var(--ease-out);
  display: grid;
}
#dependencia .emergency-card .call-cvv .call-go {
  background: #0000001a;
}
#dependencia .emergency-card a:hover .call-go {
  transform: translateX(4px);
}

/* ---------- Fechamento: azul da abertura e cérebro ao redor ---------- */
#agendar {
  text-align: center;
  background: radial-gradient(1200px 820px at 50% 108%, #0e2a6b 0%, var(--navy) 48%, var(--black) 88%);
  padding: clamp(118px, 12vw, 176px) 0 clamp(96px, 10vw, 150px);
}
#agendar:before {
  display: none;
}
#agendar .booking-brain {
  pointer-events: none;
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
#agendar .booking-layout {
  text-align: center;
  z-index: 1;
  max-width: 1080px;
  display: block;
  position: relative;
}
#agendar .booking-copy {
  max-width: 760px;
  margin: 0 auto;
}
#agendar .booking-copy > span {
  align-items: center;
  gap: 14px;
  display: inline-flex;
}
#agendar .booking-copy > span:before,
#agendar .booking-copy > span:after {
  content: "";
  opacity: 0.7;
  background: currentColor;
  width: 28px;
  height: 1.5px;
}
#agendar h2 {
  max-width: 15ch;
  margin: 22px auto 0;
  font-size: clamp(40px, 5.2vw, 70px);
}
#agendar .booking-copy > p {
  max-width: 44ch;
  margin: 22px auto 0;
}
#agendar .booking-card {
  text-align: left;
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  backdrop-filter: blur(10px) saturate(150%);
  background: linear-gradient(150deg, #1730727a, #080f2a9e);
  border: 1px solid #c4d6ff2e;
  border-radius: 34px;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
  width: 100%;
  max-width: none;
  margin: clamp(44px, 5vw, 68px) auto 0;
  padding: clamp(28px, 3.8vw, 52px);
  display: grid;
  box-shadow:
    inset 0 1px #ffffff1f,
    0 60px 140px -60px #000000f2,
    0 0 90px -30px #2c6bff40;
}
#agendar .booking-card > .booking-main,
#agendar .booking-card > .chat-preview {
  border-top: 0;
  width: auto;
  padding-top: 0;
}
#agendar .booking-main {
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  display: flex;
}
#agendar .availability {
  color: #8fe9b4;
  font-size: 12px;
}
#agendar .booking-main > strong {
  color: #fff;
  letter-spacing: -0.03em;
  max-width: 22ch;
  font-size: clamp(24px, 2.3vw, 31px);
  font-weight: 700;
  line-height: 1.28;
}
#agendar .booking-steps {
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
#agendar .booking-steps li {
  grid-template-columns: 36px 1fr;
  align-items: start;
  gap: 14px;
  padding: 8px 0;
  display: grid;
  position: relative;
}
#agendar .booking-steps li:not(:last-child):after {
  content: "";
  background: linear-gradient(#8fb8ff73, #8fb8ff14);
  width: 1px;
  position: absolute;
  top: 46px;
  bottom: -6px;
  left: 17.5px;
}
#agendar .booking-steps b {
  color: #d4e3ff;
  background: #4c90ff24;
  border-radius: 50%;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  display: grid;
  box-shadow: inset 0 0 0 1px #8fb8ff59;
}
#agendar .booking-steps span {
  color: #9fb0cf;
  gap: 2px;
  padding-top: 1px;
  font-size: 13.5px;
  line-height: 1.5;
  display: grid;
}
#agendar .booking-steps strong {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
#agendar .booking-cta {
  isolation: isolate;
  color: #03220f;
  background: linear-gradient(135deg, #2fe274, #1dbb58);
  border-radius: 22px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 12px 14px 12px 12px;
  transition:
    transform 0.6s var(--ease-out),
    box-shadow 0.5s var(--ease-out),
    filter 0.3s;
  display: grid;
  position: relative;
  overflow: hidden;
  transform: translate3d(var(--mag-x, 0px), calc(var(--mag-y, 0px) + var(--lift, 0px)), 0);
  box-shadow:
    inset 0 1px #ffffff5c,
    0 24px 54px -22px #25d366c7;
}
#agendar .booking-cta:hover {
  --lift: -3px;
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px #ffffff5c,
    0 30px 64px -22px #25d366f2;
}
#agendar .booking-cta:after {
  content: "";
  z-index: -1;
  background: linear-gradient(90deg, transparent, #ffffff73, transparent);
  width: 22%;
  animation: cta-shine 6s var(--ease-io) 2.5s infinite;
  position: absolute;
  top: -60%;
  bottom: -60%;
  left: 0;
  transform: translateX(-160%) rotate(22deg);
}
#agendar .booking-cta .wa-badge {
  color: #1dbb58;
  background: #fff;
  border-radius: 17px;
  place-items: center;
  width: 56px;
  height: 56px;
  display: grid;
  position: relative;
  box-shadow: 0 10px 20px -10px #003c14a6;
}
#agendar .booking-cta .wa-badge:before {
  content: "";
  border-radius: inherit;
  animation: wa-ring 2.6s var(--ease-out) infinite;
  position: absolute;
  inset: 0;
}
#agendar .booking-cta .wa-badge svg {
  width: 30px;
  height: 30px;
}
#agendar .booking-cta .cta-text {
  color: #03220f;
  letter-spacing: -0.01em;
  gap: 2px;
  font-size: 17.5px;
  font-weight: 800;
  line-height: 1.2;
  display: grid;
}
#agendar .booking-cta .cta-text small {
  color: #03220fb8;
  letter-spacing: 0;
  font-size: 12.5px;
  font-weight: 600;
}
#agendar .booking-cta .cta-arrow {
  color: #03220f;
  background: #03220f1f;
  border-radius: 50%;
  place-items: center;
  width: 42px;
  height: 42px;
  font-size: 18px;
  transition:
    transform 0.5s var(--ease-out),
    background 0.3s;
  display: grid;
}
#agendar .booking-cta:hover .cta-arrow {
  background: #03220f33;
  transform: translateX(4px);
}
#agendar .booking-assurances {
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  padding-top: 2px;
  display: flex;
}
#agendar .booking-assurances > span {
  color: #c3d1ea;
  background: #ffffff0a;
  border: 1px solid #c4d6ff21;
  border-radius: 999px;
  padding: 7px 13px 7px 11px;
}
#agendar .booking-assurances > span:before {
  color: #8fe9b4;
}

/* Prévia da conversa */
#agendar .chat-preview {
  perspective: 1300px;
  justify-content: center;
  display: flex;
}
#agendar .chat-phone {
  background: #0b141a;
  border: 1px solid #ffffff1a;
  border-radius: 30px;
  width: min(360px, 100%);
  transition: transform 1.1s var(--ease-out);
  overflow: hidden;
  transform: rotateY(-11deg) rotateX(4deg);
  box-shadow:
    0 0 0 8px #ffffff08,
    0 50px 90px -30px #000000e6,
    inset 0 1px #ffffff14;
}
#agendar .booking-card:hover .chat-phone {
  transform: rotateY(-3deg) rotateX(1deg);
}
#agendar .chat-head {
  text-align: left;
  background: #1f2c34;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}
#agendar .chat-avatar {
  object-fit: cover;
  object-position: 50% 18%;
  background: #2a3942;
  border-radius: 50%;
  flex: none;
  width: 42px;
  height: 42px;
}
#agendar .chat-head strong {
  color: #e9edef;
  font-size: 14.5px;
  display: block;
}
#agendar .chat-head small {
  color: #8696a0;
  font-size: 12px;
}
#agendar .chat-wa {
  color: #25d366;
  flex: none;
  margin-left: auto;
}
#agendar .chat-body {
  background:
    radial-gradient(#ffffff08 1px, transparent 1.4px) 0 0 / 18px 18px,
    #0b141a;
  flex-direction: column;
  gap: 10px;
  min-height: 240px;
  padding: 18px 14px 22px;
  display: flex;
}
#agendar .chat-day {
  color: #8696a0;
  background: #182229;
  border-radius: 8px;
  align-self: center;
  padding: 4px 10px;
  font-size: 11px;
}
#agendar .bubble {
  border-radius: 12px;
  max-width: 86%;
  margin: 0;
  padding: 9px 11px 7px;
  font-size: 13.5px;
  line-height: 1.45;
}
#agendar .bubble-out {
  color: #e9edef;
  transform-origin: 100% 100%;
  background: #005c4b;
  border-top-right-radius: 4px;
  align-self: flex-end;
}
#agendar .bubble-out time {
  text-align: right;
  color: #e9edef99;
  margin-top: 3px;
  font-size: 10.5px;
  display: block;
}
#agendar .bubble-typing {
  transform-origin: 0 100%;
  background: #1f2c34;
  border-top-left-radius: 4px;
  align-self: flex-start;
  gap: 4px;
  padding: 12px 14px;
  display: flex;
}
#agendar .bubble-typing i {
  background: #8696a0;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: typing 1.3s ease-in-out infinite;
}
#agendar .bubble-typing i:nth-child(2) {
  animation-delay: 0.16s;
}
#agendar .bubble-typing i:nth-child(3) {
  animation-delay: 0.32s;
}
.has-motion #agendar .booking-card:not(.revealed) .bubble {
  opacity: 0;
}
.has-motion #agendar .booking-card.revealed .bubble-out {
  animation: bubble-in 0.7s var(--ease-out) 0.7s both;
}
.has-motion #agendar .booking-card.revealed .bubble-typing {
  animation: bubble-in 0.6s var(--ease-out) 1.6s both;
}
#agendar .chat-input {
  background: #1f2c34;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
}
#agendar .chat-input span {
  color: #8696a0;
  background: #2a3942;
  border-radius: 999px;
  flex: 1;
  padding: 9px 14px;
  font-size: 13px;
}
#agendar .chat-input b {
  color: #fff;
  background: #00a884;
  border-radius: 50%;
  place-items: center;
  width: 38px;
  height: 38px;
  display: grid;
}

/* ---------- Telas menores ---------- */
@media (max-width: 1050px) {
  #agendar .booking-card {
    grid-template-columns: 1fr;
    max-width: 640px;
  }
  #agendar .chat-phone,
  #agendar .booking-card:hover .chat-phone {
    transform: none;
  }
}
@media (max-width: 900px) {
  #dependencia .emergency-card {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  #sobre .portrait-frame {
    inset: 14px -10px -14px 10px;
  }
  #dependencia .care-topic {
    min-height: 0;
    padding: 26px 22px 22px;
  }
  #dependencia .topic-icon {
    margin-bottom: 30px;
  }
  #dependencia .care-topic > .topic-number {
    font-size: 110px;
    top: 90px;
  }
  #dependencia .care-step:before {
    left: 26px;
  }
  #dependencia .emergency-card .call-samu,
  #dependencia .emergency-card .call-cvv {
    min-height: 76px;
    font-size: 21px;
  }
  #agendar .booking-card {
    border-radius: 26px;
    padding: 24px 18px;
  }
  #agendar .booking-cta {
    gap: 12px;
    padding: 10px;
  }
  #agendar .booking-cta .wa-badge {
    width: 48px;
    height: 48px;
  }
  #agendar .booking-cta .cta-text {
    font-size: 16px;
  }
  #agendar .booking-cta .cta-text small {
    font-size: 11.5px;
  }
  #agendar .booking-cta .cta-arrow {
    width: 36px;
    height: 36px;
  }
}

/* ---------- Animações novas ---------- */
@keyframes alarm {
  0% {
    box-shadow:
      inset 0 0 0 1px #ff5a4e66,
      0 0 0 0 #ff3b3073;
  }
  70%,
  to {
    box-shadow:
      inset 0 0 0 1px #ff5a4e66,
      0 0 0 12px #ff3b3000;
  }
}
@keyframes call-ring {
  0% {
    box-shadow: 0 0 0 0 #ffffff73;
  }
  70%,
  to {
    box-shadow: 0 0 0 12px #fff0;
  }
}
@keyframes wa-ring {
  0% {
    box-shadow: 0 0 0 0 #ffffffb3;
  }
  70%,
  to {
    box-shadow: 0 0 0 12px #fff0;
  }
}
@keyframes typing {
  0%,
  60%,
  to {
    opacity: 0.4;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(-4px);
  }
}
@keyframes bubble-in {
  from {
    opacity: 0;
    transform: scale(0.6) translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-depth] {
    translate: none;
  }
  #dependencia .emergency-icon,
  #dependencia .emergency-card .call-ico,
  #agendar .booking-cta .wa-badge:before,
  #agendar .booking-cta:after,
  #agendar .bubble-typing i {
    animation: none;
  }
}
