@font-face {
  font-family: Orleans;
  src: url('../fonts/orleans-roman.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: Plex;
  src: url('../fonts/ibm-plex-sans-regular.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: Plex;
  src: url('../fonts/ibm-plex-sans-medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Monument;
  src: url('../fonts/monument-grotesk-mono.woff2') format('woff2');
  font-display: swap;
}
/* Presença: Neko typography/masks, Horizonte lens, Lumen paper, Everwonder light/buttons, Kode brackets. */
:root {
  --video-bg: #fbfbf7;
  --primary: #102f2d;
  --primary-hover: #214b40;
  --secondary: #f2f2e9;
  --accent: #d5e3ae;
  --ink: #19332e;
  --muted: #5b6b61;
  --line: #d4d9ca;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --pad: clamp(24px, 5.6vw, 96px);
  color-scheme: light;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--video-bg);
  color: var(--ink);
  font:
    400 16px/1.5 Plex,
    Arial,
    sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
button,
a {
  touch-action: manipulation;
}
button {
  font: inherit;
  cursor: pointer;
  color: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 6px;
}
::selection {
  background: var(--accent);
  color: var(--primary);
}
h1,
p,
figure {
  margin: 0;
}
[hidden] {
  display: none !important;
}
.skip {
  position: fixed;
  left: 20px;
  top: 12px;
  transform: translateY(-200%);
  z-index: 100;
  background: var(--accent);
  padding: 12px;
}
.skip:focus {
  transform: none;
}

/* Quiet editorial header; opaque surface also supplies the video blending backdrop. */
header {
  height: 112px;
  padding: 6px var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  max-width: 1600px;
  margin: auto;
  position: relative;
  z-index: 20;
  background: var(--video-bg);
}
.brand {
  width: 148px;
  height: 94px;
  display: block;
  flex: none;
}
.brand-slot {
  width: 100%;
  height: 100%;
  position: relative;
}
.brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: brightness(1.035) contrast(1.045);
  transition: opacity 1.1s cubic-bezier(0.4, 0, 0.2, 1);
}
nav {
  display: flex;
  align-items: center;
  gap: 34px;
}
nav a {
  border: 0;
  background: none;
  font-size: 13px;
  padding: 15px 0;
  position: relative;
}
nav a:after {
  content: '';
  height: 1px;
  background: var(--primary);
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease);
}
nav a:hover:after,
nav a:focus-visible:after {
  transform: scaleX(1);
}
.menu-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--line);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
}
.menu-toggle svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.4;
}
.cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  gap: 32px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid transparent;
  background: var(--primary);
  color: var(--video-bg);
  padding: 18px 26px;
  border-radius: 999px;
  font-size: 14px;
  min-height: 60px;
  transition:
    background 0.3s,
    box-shadow 0.4s,
    transform 0.5s var(--ease);
}
.cta:before {
  content: '';
  position: absolute;
  inset: -60% -20%;
  z-index: -1;
  background: radial-gradient(ellipse at 50% 100%, #4e7754, transparent 65%);
  opacity: 0;
  transform: translateY(35%);
  transition:
    transform 0.65s var(--ease),
    opacity 0.5s;
}
.cta:hover,
.cta:focus-visible {
  background: var(--primary-hover);
  box-shadow: 0 12px 26px #102f2d18;
  transform: translateY(-2px);
}
.cta:hover:before,
.cta:focus-visible:before {
  opacity: 1;
  transform: none;
}
.cta:active {
  transform: translateY(0);
}
.button-073__inner {
  position: relative;
  display: block;
  height: 24px;
  line-height: 24px;
  overflow: hidden;
}
.button-073__text {
  display: block;
  transition:
    transform 0.55s var(--ease),
    opacity 0.35s;
}
.button-073__text.is--hover {
  position: absolute;
  inset: 0;
  transform: translateY(120%);
}
.cta:hover .is--default,
.cta:focus-visible .is--default {
  transform: translateY(-120%);
}
.cta:hover .is--hover,
.cta:focus-visible .is--hover {
  transform: none;
}
.arrow {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s var(--ease);
}
.arrow svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.4;
}
.cta:hover .arrow {
  transform: translate(3px, -3px);
}

/* Warm paper, atmospheric light and a grain layer, with feathered boundaries. */
main {
  max-width: 1600px;
  margin: auto;
}
.hero {
  min-height: calc(100svh - 112px);
  position: relative;
  isolation: isolate;
  padding: 32px var(--pad) 142px;
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  align-items: center;
  gap: clamp(30px, 4.7vw, 78px);
  overflow: hidden;
}
.hero-background {
  position: absolute;
  inset: 0;
  z-index: -3;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.16s;
  mask-image: linear-gradient(transparent, #000 16%, #000 74%, transparent 96%);
  --background-presence: 0.32;
}
.hero-background.is-ready {
  opacity: var(--background-presence);
}
.hero-background video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 20% center;
  pointer-events: none;
  background: var(--video-bg);
}
.hero-background:after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      var(--video-bg),
      #fbfbf7ed 24%,
      #fbfbf799 45%,
      #fbfbf71a 63%,
      #fbfbf726 88%,
      var(--video-bg)
    ),
    radial-gradient(ellipse at 78% 43%, #fbfbf75c, transparent 66%);
}
@media (min-width: 701px) and (max-width: 1199px) {
  .hero-background {
    --background-presence: 0.25;
  }
}
@media (max-width: 700px) {
  .hero-background {
    --background-presence: 0.26;
    mask-image: linear-gradient(transparent, #000 20%, #000 76%, transparent 96%);
  }
  .hero-background video {
    object-position: 42% center;
  }
  .hero-background:after {
    background:
      linear-gradient(
        180deg,
        #fbfbf7f5,
        #fbfbf7e6 24%,
        #fbfbf77a 40%,
        #fbfbf700 54%,
        #fbfbf740 78%,
        #fbfbf7f2
      ),
      linear-gradient(90deg, #fbfbf766, transparent 35%, transparent 78%, #fbfbf799);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-background {
    display: none;
  }
}
.scene-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  overflow: hidden;
  mask-image: linear-gradient(transparent, #000 12%, #000 86%, transparent);
}
.bg-shape {
  position: absolute;
  border-radius: 50%;
  width: 90%;
  aspect-ratio: 1;
  right: -18%;
  top: -20%;
  background: radial-gradient(ellipse, #dfe7d399, transparent 68%);
  animation: ambient-drift 22s ease-in-out infinite alternate;
}
.bg-shape.second {
  right: auto;
  left: -32%;
  top: 38%;
  background: radial-gradient(ellipse, #e8e9bf66, transparent 67%);
  animation-delay: -11s;
}
.bg-noise {
  position: absolute;
  inset: 0;
  opacity: 0.035;
  background: url('../images/paper-noise.avif') 0/360px;
  mix-blend-mode: multiply;
}
.copy {
  position: relative;
  z-index: 4;
  min-width: 0;
  padding: 8px 0 22px;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 0.035em;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  color: var(--muted);
}
.eyebrow:before {
  content: '';
  width: 6px;
  height: 6px;
  background: #698545;
  border-radius: 50%;
  flex: none;
  box-shadow: 0 0 0 5px #d5e3ae55;
  animation: light-breathe 5s ease-in-out infinite alternate;
}
h1 {
  font:
    400 clamp(62px, 6.65vw, 100px)/1.005 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.046em;
  max-width: 720px;
}
.mask {
  display: block;
  overflow: clip;
  padding-bottom: 0.18em;
  margin-bottom: -0.18em;
}
.mask > span {
  display: block;
}
.mask .word {
  display: inline-block;
}
h1 em {
  font-weight: 400;
  font-style: normal;
}
.title-accent {
  position: relative;
  display: inline-block;
  padding-bottom: 0.08em;
  background: linear-gradient(110deg, #395d46 10%, #6b7b46 43%, #476f55 67%, #395d46 90%);
  background-size: 240% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: text-light 14s ease-in-out infinite alternate;
}
.title-accent:after {
  content: '';
  position: absolute;
  left: 0;
  right: 5%;
  bottom: -0.025em;
  height: 2px;
  border-radius: 100%;
  background: linear-gradient(90deg, #d5e3ae00, #baca96 18%, #d5e3ae 80%, #d5e3ae00);
  transform-origin: left;
}
.sub {
  font-size: 16px;
  line-height: 1.8;
  color: var(--muted);
  max-width: 386px;
  margin-top: 30px;
  text-wrap: pretty;
}
.actions {
  margin-top: 32px;
  display: flex;
  align-items: center;
  gap: 25px;
  flex-wrap: wrap;
}
.secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: none;
  padding: 15px 0;
  font-size: 12px;
}
.bracket {
  font-family: Monument, monospace;
  transition: transform 0.5s var(--ease);
  color: #758779;
}
.secondary:hover .bracket:first-child,
.secondary:focus-visible .bracket:first-child {
  transform: translateX(-5px);
}
.secondary:hover .bracket:last-child,
.secondary:focus-visible .bracket:last-child {
  transform: translateX(5px);
}
.care-note {
  font-size: 11px;
  color: var(--muted);
  margin-top: 21px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.care-note svg {
  width: 14px;
  height: 14px;
  stroke: #718163;
  fill: none;
  stroke-width: 1.2;
  flex: none;
}

/* Photographic lens: glass rim, two fine orbits and an intimate floating note. */
.visual {
  position: relative;
  width: 100%;
  max-width: 580px;
  justify-self: center;
  min-width: 0;
  padding: 26px 6px 48px;
  isolation: isolate;
  transform: translate(var(--mx, 0px), var(--my, 0px));
  transition: transform 1.3s var(--ease);
}
.visual:before {
  content: '';
  position: absolute;
  inset: 9% -12% 2%;
  border-radius: 50%;
  z-index: -2;
  background: radial-gradient(ellipse, #d7ddc878, transparent 68%);
  filter: blur(24px);
}
.lens-shell {
  position: relative;
  z-index: 2;
  width: 96%;
  margin: 0 auto;
  aspect-ratio: 4/5;
  padding: 11px;
  border-radius: 48% 48% 42% 42%;
  background: linear-gradient(145deg, #fffffff5 4%, #ffffff60 42%, #f6f5e855 76%, #ffffffbb);
  border: 1px solid #ffffffee;
  box-shadow:
    0 34px 65px -40px #1e3d344a,
    inset 0 0 0 1px #102f2d0c;
  transform: rotate(-4deg);
  transition: box-shadow 1s var(--ease);
}
.lens-shell:after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(
    ellipse at var(--light-x, 25%) var(--light-y, 10%),
    #ffffff36,
    transparent 60%
  );
  mix-blend-mode: soft-light;
}
.photo-frame {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: inherit;
  background: #dedccb;
  clip-path: inset(0 round 48% 48% 42% 42%);
}
.welcome-photo {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
  object-position: center 16%;
  transform: rotate(4deg) scale(1.1);
  animation: photo-drift 20s ease-in-out infinite alternate;
}
.photo-frame:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #233e3236, transparent 42%);
  pointer-events: none;
}
.portrait-orbit {
  position: absolute;
  inset: 8% -3% 18%;
  border: 1px solid #81977535;
  border-radius: 50%;
  transform: rotate(-17deg);
  z-index: 0;
  pointer-events: none;
  animation: orbit-breathe 20s ease-in-out infinite alternate;
}
.portrait-orbit.second {
  inset: 17% -7% 22%;
  transform: rotate(22deg);
  border-color: #a5b39538;
  animation-delay: -10s;
}
.portrait-orbit:before {
  content: '';
  width: 5px;
  height: 5px;
  position: absolute;
  top: 24%;
  right: 7%;
  border-radius: 50%;
  background: #799453;
  box-shadow: 0 0 0 5px #d5e3ae55;
}
.portrait-orbit.second:before {
  top: auto;
  bottom: 18%;
  right: auto;
  left: 11%;
  width: 3px;
  height: 3px;
  background: #9aae88;
  box-shadow: none;
}
.portrait-label {
  position: absolute;
  right: 6px;
  top: 12px;
  z-index: 3;
  color: #65775e;
  font:
    400 9px/1.6 Monument,
    monospace;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  display: flex;
  gap: 10px;
  align-items: center;
}
.portrait-label:before {
  content: '';
  width: 26px;
  height: 1px;
  background: #9bac85;
}
.welcome-note {
  position: absolute;
  left: -26px;
  bottom: 117px;
  z-index: 4;
  background: #fbfbf7de;
  backdrop-filter: blur(20px);
  border: 1px solid #ffffffee;
  border-radius: 20px;
  padding: 23px 28px;
  box-shadow: 0 18px 40px #102f2d0b;
  animation: note-in 1.4s 0.7s var(--ease) both;
}
.welcome-note:before {
  content: '';
  display: block;
  width: 26px;
  height: 1px;
  background: #9eb785;
  margin-bottom: 12px;
}
.welcome-note p {
  font:
    400 32px/1.15 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.035em;
}
.welcome-note span {
  display: block;
  margin-top: 8px;
  font-size: 10px;
  color: var(--muted);
}
.photo-caption {
  position: relative;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin: 25px 4% 0 5%;
  font-size: 10px;
  line-height: 1.8;
  color: var(--muted);
}
.photo-caption strong {
  display: block;
  color: var(--ink);
  font-weight: 500;
  font-size: 13px;
}
.photo-caption p {
  max-width: 140px;
  text-align: right;
}

/* Closing line with an editorial rhythm, rather than clinical metrics. */
.hero-note {
  position: absolute;
  bottom: 28px;
  left: var(--pad);
  right: var(--pad);
  display: grid;
  grid-template-columns: 1.2fr 1.7fr auto;
  align-items: center;
  gap: 26px;
  border-top: 1px solid var(--line);
  padding-top: 23px;
  color: var(--muted);
}
.closing-thought {
  font:
    400 24px/1.18 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.025em;
  color: #415a44;
}
.care-values {
  display: flex;
  justify-content: center;
  gap: 30px;
  font-size: 10px;
}
.care-values span {
  display: flex;
  align-items: center;
  gap: 9px;
}
.care-values span:before {
  content: '';
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #90a17a;
  flex: none;
}

/* The same transparent last frame flies to the header and stays there. */
.intro {
  position: fixed;
  inset: 0;
  background: var(--video-bg);
  z-index: 40;
  transition: opacity 1.45s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.intro.done {
  opacity: 0;
}
.intro-active header,
.intro-active main {
  visibility: hidden;
}
html:not(.intro-active):not(.intro-leaving) .intro,
html:not(.intro-active):not(.intro-leaving) .logo-flight:not(.landed),
html:not(.intro-active):not(.intro-leaving) .skip-intro {
  display: none;
}
.logo-flight {
  position: fixed;
  z-index: 45;
  left: 50%;
  top: 50%;
  width: min(660px, 82vw);
  aspect-ratio: 16/9;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: transparent;
  opacity: 0;
}
.logo-flight.frame-ready {
  opacity: 1;
}
.logo-flight.is-flying {
  will-change: transform;
}
.logo-flight video {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.video-alpha {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
}
.logo-flight.landed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  aspect-ratio: auto;
}
.skip-intro {
  position: fixed;
  bottom: 30px;
  right: var(--pad);
  z-index: 50;
  border: 0;
  background: none;
  font-size: 11px;
  padding: 12px;
  color: var(--muted);
}
.js.intro-active header .brand img {
  visibility: hidden;
}
.js.intro-active nav,
.js.intro-active .menu-toggle,
.js.intro-active .eyebrow,
.js.intro-active .sub,
.js.intro-active .actions,
.js.intro-active .care-note,
.js.intro-active .visual,
.js.intro-active .hero-note {
  opacity: 0;
}
.js.intro-active .mask > span {
  transform: translateY(115%);
  opacity: 0;
  filter: blur(9px);
}
.intro-active .welcome-note {
  animation: none;
}
.js.intro-active .title-accent:after {
  transform: scaleX(0);
}
.js:not(.intro-active) .title-accent:after {
  animation: width-reveal 1.6s 0.7s var(--ease) both;
}
.reveal {
  animation: blur-in 1.8s cubic-bezier(0.22, 0.7, 0.22, 1) both;
}
.line-reveal {
  animation: horizon-in 1.85s var(--ease) both;
}
.line-reveal .word {
  animation: word-in 1.65s var(--ease) both;
  animation-delay: calc(var(--word) * 90ms);
}
.visual.reveal {
  animation: lens-in 2.25s var(--ease) both;
}
.hero .reveal,
header .reveal {
  animation-name: opening-fade;
}
.hero .visual.reveal {
  animation: opening-lens 1.8s var(--ease) both;
}
.hero .line-reveal {
  animation-name: opening-line;
}
.hero .line-reveal .word {
  animation-name: opening-word;
}
.intro-active .hero .bg-shape,
.intro-active .hero .welcome-photo,
.intro-active .hero .portrait-orbit {
  animation-play-state: paused;
}

.noscript {
  padding: 12px var(--pad);
  font-size: 12px;
}

@keyframes blur-in {
  from {
    opacity: 0;
    filter: blur(6px);
    translate: 0 12px;
  }
  to {
    opacity: 1;
    filter: blur(0);
    translate: 0 0;
  }
}
@keyframes opening-fade {
  from {
    opacity: 0;
    translate: 0 8px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes opening-lens {
  from {
    opacity: 0;
    translate: 0 14px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes opening-line {
  from {
    opacity: 0;
    transform: translateY(55%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes opening-word {
  from {
    opacity: 0;
    transform: translateY(0.15em);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes horizon-in {
  from {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(70%);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: none;
  }
}
@keyframes word-in {
  from {
    opacity: 0;
    filter: blur(3px);
    transform: translateY(0.22em);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: none;
  }
}
@keyframes lens-in {
  from {
    opacity: 0;
    filter: blur(8px);
    clip-path: inset(6% 3% 4% round 42%);
    translate: 0 12px;
  }
  to {
    opacity: 1;
    filter: blur(0);
    clip-path: inset(-30% -30% -30% round 0);
    translate: 0 0;
  }
}
@keyframes note-in {
  from {
    opacity: 0;
    filter: blur(8px);
    translate: 0 12px;
  }
  to {
    opacity: 1;
    filter: blur(0);
    translate: 0 0;
  }
}
@keyframes photo-drift {
  to {
    transform: rotate(4deg) scale(1.13);
  }
}
@keyframes ambient-drift {
  to {
    transform: translate3d(-5%, 4%, 0) scale(1.06);
  }
}
@keyframes orbit-breathe {
  to {
    rotate: 7deg;
    scale: 1.025;
  }
}
@keyframes light-breathe {
  to {
    box-shadow:
      0 0 0 7px #d5e3ae35,
      0 0 15px #82995e18;
  }
}
@keyframes text-light {
  to {
    background-position: 100% 50%;
  }
}
@keyframes width-reveal {
  from {
    transform: scaleX(0);
    opacity: 0;
  }
  to {
    transform: scaleX(1);
    opacity: 1;
  }
}
.motion-paused .welcome-photo,
.motion-paused .title-accent,
.motion-paused .bg-shape,
.motion-paused .eyebrow:before,
.motion-paused .portrait-orbit,
.page-hidden .welcome-photo,
.page-hidden .title-accent,
.page-hidden .bg-shape,
.page-hidden .eyebrow:before,
.page-hidden .portrait-orbit {
  animation-play-state: paused;
}
.motion-paused .reveal,
.motion-paused .line-reveal,
.motion-paused .line-reveal .word,
.motion-paused .welcome-note,
.motion-paused .title-accent:after {
  animation-duration: 1ms;
  animation-delay: 0s;
}

@media (min-width: 1200px) and (max-height: 850px) {
  .hero {
    padding-top: 20px;
    padding-bottom: 125px;
  }
  .visual {
    max-width: 550px;
    padding-top: 14px;
    padding-bottom: 40px;
  }
  .lens-shell {
    aspect-ratio: 1/1.08;
  }
  .copy {
    padding: 0;
  }
  h1 {
    font-size: clamp(64px, 5.6vw, 82px);
  }
  .eyebrow {
    margin-bottom: 25px;
  }
  .sub {
    margin-top: 22px;
    font-size: 15px;
    line-height: 1.65;
  }
  .actions {
    margin-top: 22px;
  }
  .actions .cta {
    min-height: 56px;
    padding-block: 16px;
  }
  .care-note {
    margin-top: 18px;
  }
  .welcome-note {
    left: -18px;
    bottom: 105px;
    padding: 20px 25px;
  }
  .photo-caption {
    margin-top: 20px;
  }
  .hero-note {
    bottom: 22px;
    padding-top: 18px;
  }
}
@media (min-width: 701px) and (max-width: 1199px) {
  header {
    gap: 20px;
  }
  nav {
    gap: 26px;
  }
  .hero {
    gap: 30px;
    grid-template-columns: 1.08fr 1fr;
    padding-bottom: 133px;
  }
  h1 {
    font-size: clamp(48px, 6.25vw, 76px);
  }
  .sub {
    font-size: 15px;
  }
  .actions {
    gap: 16px;
  }
  .cta {
    font-size: 13px;
    padding: 15px 22px;
    gap: 20px;
  }
  .visual {
    padding-inline: 6px;
  }
  .welcome-note {
    left: -8px;
    bottom: 103px;
    padding: 19px 21px;
  }
  .welcome-note p {
    font-size: 29px;
  }
  .photo-caption p {
    display: none;
  }
  .portrait-label {
    right: 8px;
    top: 0;
    font-size: 8px;
  }
  .hero-note {
    grid-template-columns: 1fr auto;
  }
  .care-values {
    display: none;
  }
  .closing-thought {
    font-size: 23px;
  }
}
@media (max-width: 700px) {
  header {
    height: 100px;
    padding: 7px 24px;
  }
  .brand {
    width: 118px;
    height: 84px;
  }
  .menu-toggle {
    display: flex;
  }
  nav {
    display: none;
    position: absolute;
    top: 93px;
    left: 24px;
    right: 24px;
    padding: 17px 23px;
    background: var(--video-bg);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 14px 35px #102f2d15;
  }
  nav.open {
    display: grid;
    gap: 4px;
    animation: blur-in 0.45s var(--ease) both;
  }
  nav a {
    text-align: left;
    padding: 13px 0;
  }
  .hero {
    min-height: calc(100svh - 100px);
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 35px 24px 148px;
    align-items: stretch;
  }
  .copy {
    padding: 0;
  }
  .eyebrow {
    font-size: 10px;
    margin-bottom: 25px;
    gap: 11px;
    letter-spacing: 0.015em;
  }
  h1 {
    font-size: clamp(44px, 11.3vw, 76px);
    line-height: 1.04;
    letter-spacing: -0.043em;
  }
  .sub {
    font-size: 14px;
    line-height: 1.85;
    margin-top: 27px;
    max-width: 410px;
  }
  .actions {
    margin-top: 26px;
    gap: 20px;
  }
  .cta {
    font-size: 12px;
    padding: 16px 21px;
    gap: 25px;
    min-height: 56px;
  }
  .secondary {
    font-size: 11px;
    gap: 8px;
  }
  .care-note {
    font-size: 10px;
    margin-top: 19px;
    gap: 7px;
  }
  .visual {
    width: 100%;
    max-width: 440px;
    align-self: center;
    padding: 32px 0 10px;
  }
  .lens-shell {
    width: 96%;
    padding: 8px;
    aspect-ratio: 4/4.7;
  }
  .welcome-note {
    left: 0;
    bottom: 81px;
    padding: 18px 21px;
    border-radius: 18px;
  }
  .welcome-note:before {
    margin-bottom: 9px;
    width: 22px;
  }
  .welcome-note p {
    font-size: 28px;
  }
  .welcome-note span {
    font-size: 9px;
  }
  .photo-caption {
    margin: 24px 4% 0;
    font-size: 9px;
    gap: 15px;
  }
  .photo-caption strong {
    font-size: 12px;
  }
  .photo-caption p {
    font-size: 9px;
    max-width: 112px;
  }
  .portrait-orbit {
    inset: 12% 0 15%;
  }
  .portrait-orbit.second {
    inset: 20% -2% 17%;
  }
  .portrait-label {
    right: 12px;
    top: 9px;
    font-size: 8px;
  }
  .hero-note {
    bottom: 23px;
    left: 24px;
    right: 24px;
    grid-template-columns: 1fr auto;
    gap: 18px;
    padding-top: 21px;
  }
  .closing-thought {
    font-size: 22px;
  }
  .care-values {
    display: none;
  }
  .logo-flight {
    width: 90vw;
  }
  .scene-bg {
    mask-image: linear-gradient(transparent, #000 8%, #000 90%, transparent);
  }
  .bg-shape {
    width: 150%;
    right: -60%;
    top: 26%;
  }
  .bg-shape.second {
    left: -80%;
    top: 60%;
  }
}
@media (max-width: 360px) {
  .hero {
    padding-inline: 20px;
  }
  h1 {
    font-size: 42px;
  }
  .actions {
    gap: 14px;
  }
  .cta {
    padding: 14px 18px;
    gap: 20px;
  }
  .care-note {
    font-size: 9px;
  }
  .photo-caption p {
    display: none;
  }
  .closing-thought {
    font-size: 20px;
  }
  .hero-note {
    left: 20px;
    right: 20px;
  }
  .welcome-note {
    left: -2px;
    padding: 16px 19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  html {
    scroll-behavior: auto;
  }
  .visual {
    transform: none;
  }
  .title-accent:after {
    transform: none;
  }
  .js.intro-active .mask > span {
    opacity: 1;
    filter: none;
    transform: none;
  }
}
@media (forced-colors: active) {
  .title-accent {
    background: none;
    color: CanvasText;
  }
  .title-accent:after {
    background: CanvasText;
  }
  .lens-shell,
  .welcome-note {
    border: 1px solid CanvasText;
  }
  .cta {
    border: 1px solid ButtonText;
  }
  .scene-bg,
  .portrait-orbit {
    display: none;
  }
}

/* Second fold: the hero's paper, typography, grid and motion continue here. */
.understanding {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: clamp(80px, 7vw, 112px) var(--pad) clamp(72px, 7vw, 112px);
  background: var(--video-bg);
  --thought-gap: clamp(30px, 4.7vw, 78px);
}
.understanding .scene-bg {
  mask-image: linear-gradient(transparent, #000 20%, #000 76%, transparent);
}
.understanding-top {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: var(--thought-gap);
  align-items: center;
}
.thought-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}
.thought-heading {
  font:
    400 clamp(54px, 5.4vw, 82px)/1.005 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.046em;
  margin: 0;
  max-width: 640px;
}
.thought-heading em {
  font: inherit;
  font-style: normal;
}
.thought-heading .title-accent {
  padding-bottom: 0.08em;
}
.thought-copy .sub {
  margin-bottom: 0;
}
.thought-map {
  position: relative;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 600/540;
  margin: 0;
  justify-self: center;
  isolation: isolate;
}
.thought-map svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 94%, transparent);
}
.thought-line {
  stroke: var(--primary);
  stroke-width: 1;
  stroke-opacity: 0.24;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}
.thought-line.secondary-line {
  stroke: var(--primary-hover);
  stroke-opacity: 0.2;
}
.thought-line.orbital-line {
  stroke: var(--line);
  stroke-opacity: 0.65;
}
.thought-line.continuation {
  stroke: url(#thought-continuation);
  stroke-dasharray: none;
}
.thought-core {
  fill: var(--primary);
  opacity: 0.62;
}
.thought-node.olive .thought-core {
  fill: var(--accent);
  stroke: var(--muted);
  stroke-width: 0.5;
  stroke-opacity: 0.45;
}
.thought-pulse {
  stroke: var(--accent);
  stroke-width: 1;
  opacity: 0.5;
  transform-box: fill-box;
  transform-origin: center;
  animation: thought-breathe 5s ease-in-out var(--pulse, 0s) infinite alternate;
}
.thought-label {
  position: absolute;
  left: var(--x);
  top: var(--y);
  font:
    400 9px/1.6 Monument,
    Arial,
    sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}
.thought-caption {
  position: absolute;
  left: 19%;
  bottom: -13px;
  font:
    400 10px/1.8 Plex,
    Arial,
    sans-serif;
  color: var(--muted);
}
.care-areas {
  list-style: none;
  margin: clamp(52px, 4.7vw, 78px) 0 0;
  padding: 0;
  position: relative;
  z-index: 2;
}
.care-area {
  display: grid;
  grid-template-columns: 44px 1.05fr 1.2fr;
  gap: var(--thought-gap);
  align-items: start;
  padding: 27px 0;
  border-top: 1px solid var(--line);
}
.area-number {
  font:
    400 9px/1.6 Monument,
    Arial,
    sans-serif;
  letter-spacing: 0.09em;
  color: var(--muted);
  padding-top: 8px;
}
.care-area h3 {
  font:
    400 30px/1.15 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.035em;
  margin: 0;
}
.care-area p {
  font:
    400 14px/1.8 Plex,
    Arial,
    sans-serif;
  color: var(--muted);
  max-width: 440px;
  margin: 0;
}
.understanding.is-pending [data-thought-enter],
.care-area.is-pending {
  opacity: 0;
}
.understanding.is-pending .thought-heading .mask > span {
  opacity: 0;
  transform: translateY(115%);
  filter: blur(9px);
}
.js .understanding:not(.in-view) .title-accent:after {
  animation: none;
  transform: scaleX(0);
}
.understanding.in-view .title-accent:after {
  animation: width-reveal 1.6s 0.7s var(--ease) both;
}
.understanding.is-pending .thought-line:not(.continuation) {
  stroke-dashoffset: 1;
}
.understanding.in-view:not(.is-settled) .thought-line:not(.continuation) {
  animation: thought-line-in 2.25s var(--ease) both;
  animation-delay: calc(0.46s + var(--stroke, 0) * 0.15s);
}
.understanding.is-settled .thought-line {
  animation: none;
  stroke-dashoffset: 0;
}
.understanding.section-resting .thought-pulse,
.understanding.section-resting .bg-shape,
.understanding.section-resting .eyebrow:before,
.understanding.section-resting .title-accent,
.motion-paused .thought-pulse,
.page-hidden .thought-pulse {
  animation-play-state: paused;
}
.motion-paused .understanding [data-thought-enter],
.motion-paused .care-area {
  opacity: 1;
  filter: none;
  transform: none;
}
.motion-paused .thought-heading .mask > span {
  opacity: 1;
  filter: none;
  transform: none;
}
.motion-paused .understanding .reveal,
.motion-paused .understanding .line-reveal,
.motion-paused .understanding .thought-line {
  animation: none;
  stroke-dashoffset: 0;
}
@keyframes thought-line-in {
  from {
    stroke-dashoffset: 1;
    opacity: 0;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}
@keyframes thought-breathe {
  from {
    opacity: 0.18;
    transform: scale(0.9);
  }
  to {
    opacity: 0.45;
    transform: scale(1.1);
  }
}
@media (min-width: 701px) and (max-width: 1199px) {
  .thought-heading {
    font-size: clamp(44px, 5.2vw, 64px);
  }
  .thought-label {
    font-size: 8px;
  }
  .thought-caption {
    font-size: 9px;
    left: 12%;
  }
  .care-area {
    grid-template-columns: 30px 1.05fr 1.2fr;
    gap: 30px;
  }
  .care-area h3 {
    font-size: 27px;
  }
  .care-area p {
    font-size: 13px;
  }
}
@media (max-width: 700px) {
  .understanding {
    padding: 72px 24px 64px;
  }
  .understanding-top {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 44px;
  }
  .thought-heading {
    font-size: clamp(44px, 11.3vw, 76px);
    line-height: 1.04;
    letter-spacing: -0.043em;
  }
  .thought-map {
    max-width: 440px;
    align-self: center;
  }
  .thought-label {
    font-size: 8px;
  }
  .thought-caption {
    font-size: 9px;
    left: 16%;
    bottom: -8px;
  }
  .thought-map .map-secondary {
    display: none;
  }
  .care-areas {
    margin-top: 56px;
  }
  .care-area {
    grid-template-columns: 24px 1fr;
    gap: 11px 18px;
    padding: 25px 0;
  }
  .care-area h3 {
    font-size: 28px;
  }
  .care-area p {
    grid-column: 2;
    font-size: 14px;
    line-height: 1.85;
    max-width: 410px;
  }
  .area-number {
    padding-top: 7px;
  }
  .thought-copy .eyebrow {
    font-size: 10px;
    margin-bottom: 25px;
  }
  .thought-copy .sub {
    font-size: 14px;
    line-height: 1.85;
    margin-top: 27px;
    max-width: 410px;
  }
}
@media (max-width: 360px) {
  .understanding {
    padding-inline: 20px;
  }
  .thought-heading {
    font-size: 42px;
  }
  .thought-label {
    font-size: 7.5px;
  }
  .care-area h3 {
    font-size: 26px;
  }
  .thought-caption {
    font-size: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .understanding.is-pending [data-thought-enter],
  .care-area.is-pending,
  .understanding.is-pending .thought-heading .mask > span {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
  .understanding .thought-line {
    stroke-dashoffset: 0 !important;
  }
}
@media (forced-colors: active) {
  .thought-map .thought-line {
    stroke: CanvasText;
  }
  .thought-map .thought-node .thought-core {
    fill: CanvasText;
  }
  .thought-pulse {
    stroke: CanvasText;
  }
  .care-area {
    border-color: CanvasText;
  }
}
/* Clinic: a real setting emerges through the same paper and fine lines. */
.clinic {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: clamp(80px, 7vw, 112px) var(--pad) 104px;
  min-height: 1040px;
  background: var(--video-bg);
}
.clinic-background {
  position: absolute;
  inset: 0 0 0 auto;
  width: 52%;
  max-width: 720px;
  z-index: 0;
  pointer-events: none;
  opacity: 0.58;
  transform: scale(1);
  transform-origin: 70% 50%;
  mask-image:
    linear-gradient(90deg, transparent, #000 34%, #000 92%, transparent),
    linear-gradient(180deg, transparent, #000 18%, #000 78%, transparent);
  mask-composite: intersect;
}
.clinic-poster,
.clinic-film {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  filter: saturate(0.88);
}
.clinic-film {
  opacity: 0;
}
.clinic-source {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.clinic-background:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--video-bg), transparent 52%);
  pointer-events: none;
}
.clinic .scene-bg {
  mask-image: linear-gradient(transparent, #000 22%, #000 78%, transparent);
}
.clinic-copy {
  position: relative;
  z-index: 2;
  width: 52%;
  max-width: 640px;
}
.clinic-copy .sub {
  margin-bottom: 0;
}
.clinic-heading {
  max-width: 640px;
}
.clinic-process {
  position: relative;
  z-index: 2;
  list-style: none;
  margin: clamp(44px, 4.7vw, 72px) 0 0;
  padding: 0;
  width: 46%;
  max-width: 590px;
}
.process-step {
  position: relative;
  padding: 0 0 34px 32px;
}
.process-step:last-child {
  padding-bottom: 0;
}
.process-step:not(:last-child):after {
  content: '';
  position: absolute;
  left: 3px;
  top: 18px;
  bottom: -11px;
  width: 1px;
  background: var(--line);
  transform-origin: top;
  z-index: -1;
}
.process-step:before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--muted);
  border-radius: 50%;
  background: var(--video-bg);
}
.process-step:first-child:before {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 0 0 5px #d5e3ae55;
  animation: light-breathe 5s ease-in-out infinite alternate;
}
.process-heading {
  display: flex;
  align-items: baseline;
  gap: 18px;
}
.process-heading .area-number {
  padding: 0;
}
.process-heading h3 {
  margin: 0;
  font:
    400 30px/1.15 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.035em;
}
.process-step p {
  margin: 13px 0 0 35px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
  max-width: 350px;
}
.clinic-caption {
  position: absolute;
  right: var(--pad);
  bottom: 80px;
  z-index: 2;
  color: var(--muted);
  font:
    400 9px/1.6 Monument,
    Arial,
    sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 12px;
}
.clinic-caption:before {
  content: '';
  width: 25px;
  height: 1px;
  background: var(--accent);
}
.clinic-thread {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  fill: none;
  pointer-events: none;
}
.clinic-thread path {
  stroke: var(--primary);
  stroke-opacity: 0.15;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}
.clinic.is-pending [data-clinic-enter],
.process-step.is-pending {
  opacity: 0;
}
.clinic.is-pending .mask > span {
  opacity: 0;
  filter: blur(9px);
  transform: translateY(115%);
}
.js .clinic:not(.in-view) .title-accent:after {
  animation: none;
  transform: scaleX(0);
}
.clinic.is-pending .clinic-background {
  opacity: 0;
  transform: scale(1.02);
}
.clinic.in-view .clinic-background {
  transition:
    opacity 2.3s 0.15s var(--ease),
    transform 3s var(--ease);
}
.clinic.is-pending .clinic-thread path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.clinic.in-view:not(.is-settled) .clinic-thread path {
  stroke-dasharray: 1;
  animation: thought-line-in 2.25s 0.3s var(--ease) both;
}
.clinic.is-pending .process-step:after {
  transform: scaleY(0);
}
.clinic.in-view .process-step:after {
  transition: transform 2.25s 0.35s var(--ease);
}
.clinic.section-resting .bg-shape,
.clinic.section-resting .eyebrow:before,
.clinic.section-resting .title-accent,
.clinic.section-resting .process-step:before,
.motion-paused .process-step:before,
.page-hidden .process-step:before {
  animation-play-state: paused;
}
.motion-paused .clinic .reveal,
.motion-paused .clinic .line-reveal,
.motion-paused .clinic-thread path {
  animation: none;
  opacity: 1;
  filter: none;
  transform: none;
  stroke-dashoffset: 0;
}
@media (min-width: 701px) and (max-width: 1199px) {
  .clinic {
    min-height: 980px;
    padding-bottom: 100px;
  }
  .clinic-process {
    width: 52%;
  }
  .process-heading h3 {
    font-size: 27px;
  }
  .clinic-background {
    width: 62%;
    opacity: 0.48;
  }
  .clinic-caption {
    bottom: 72px;
  }
}
@media (max-width: 700px) {
  .clinic {
    padding: 72px 24px 84px;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 160px auto auto;
  }
  .clinic-copy {
    width: 100%;
    grid-row: 1;
  }
  .clinic-copy .eyebrow {
    font-size: 10px;
    margin-bottom: 25px;
  }
  .clinic-copy .sub {
    font-size: 14px;
    line-height: 1.85;
    margin-top: 27px;
    max-width: 410px;
  }
  .clinic-background {
    grid-area: 2/1/4/2;
    inset: -90px -16px auto auto;
    width: 78%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 9/16;
    opacity: 0.42;
    mask-image:
      linear-gradient(90deg, transparent, #000 74%, #000 90%, transparent),
      linear-gradient(180deg, transparent, #000 14%, #000 72%, transparent);
  }
  .clinic-background:after {
    background: linear-gradient(90deg, var(--video-bg), transparent 88%);
  }
  .clinic-poster,
  .clinic-film {
    object-fit: cover;
    object-position: 100% 0;
  }
  .clinic-process {
    width: 100%;
    max-width: 410px;
    margin-top: 0;
    grid-row: 3;
  }
  .clinic-thread {
    display: none;
  }
  .process-step {
    padding-left: 25px;
    padding-bottom: 32px;
  }
  .process-heading {
    gap: 14px;
  }
  .process-heading h3 {
    font-size: 28px;
  }
  .process-step p {
    margin-left: 31px;
    line-height: 1.85;
  }
  .clinic-caption {
    position: relative;
    right: auto;
    bottom: auto;
    grid-row: 4;
    margin: 42px 0 0 56px;
    font-size: 8px;
  }
}
@media (max-width: 360px) {
  .clinic {
    padding-inline: 20px;
  }
  .process-heading h3 {
    font-size: 26px;
  }
  .clinic-caption {
    font-size: 7.5px;
    letter-spacing: 0.06em;
    margin-left: 25px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .clinic.is-pending [data-clinic-enter],
  .process-step.is-pending,
  .clinic.is-pending .mask > span {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
  .clinic-background {
    transform: none !important;
  }
  .clinic-thread path {
    stroke-dashoffset: 0 !important;
  }
}
@media (forced-colors: active) {
  .clinic-background {
    display: none;
  }
  .clinic-thread path {
    stroke: CanvasText;
  }
  .process-step:after,
  .clinic-caption:before {
    background: CanvasText;
  }
  .process-step:before {
    border-color: CanvasText;
  }
}
/* Final fold: the process thread returns to the brand, on the same paper. */
.contact {
  position: relative;
  isolation: isolate;
  padding: clamp(80px, 7vw, 112px) var(--pad) 0;
  background: var(--video-bg);
  scroll-margin-top: 24px;
}
.contact-thread {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: -1;
  fill: none;
  pointer-events: none;
}
.contact-thread path {
  stroke: var(--primary);
  stroke-opacity: 0.15;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.contact-thread .return-arc {
  stroke: var(--primary-hover);
  stroke-opacity: 0.2;
}
.contact-thread .outer-arc {
  stroke: var(--line);
  stroke-opacity: 0.65;
}
.contact-thread .thought-core {
  opacity: 0.48;
}
.contact-thread .olive .thought-core {
  fill: #698545;
  opacity: 0.65;
}
.contact-top {
  position: relative;
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: clamp(30px, 4.7vw, 78px);
  align-items: center;
}
.contact-copy {
  min-width: 0;
}
.contact-heading {
  font:
    400 clamp(54px, 5.4vw, 82px)/1.005 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.046em;
  margin: 0;
  max-width: 650px;
}
.contact-heading em {
  font: inherit;
  font-style: normal;
  color: var(--primary-hover);
}
.contact-copy .sub {
  max-width: 405px;
}
.contact-copy .actions {
  margin-top: 34px;
}
.contact-copy .cta {
  gap: 38px;
}
.contact-details {
  margin: 0 0 0 auto;
  width: 100%;
  max-width: 380px;
  min-width: 0;
  position: relative;
}
.contact-item {
  padding: 25px 0;
  border-top: 1px solid var(--line);
}
.contact-item:first-child {
  border-top: 0;
  padding-top: 0;
}
.contact-item:last-child {
  padding-bottom: 0;
}
.contact-label {
  font:
    400 9px/1.6 Monument,
    Arial,
    sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 10px;
}
.contact-item dd {
  margin: 0;
}
.contact-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 44px;
  position: relative;
  font-size: 14px;
  line-height: 1.8;
  padding: 4px 0;
  width: fit-content;
  max-width: 100%;
}
.contact-link:after,
.contact-footer a:not(.footer-brand):after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1px;
  height: 1px;
  background: var(--primary-hover);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease);
}
.contact-link:hover:after,
.contact-link:focus-visible:after,
.contact-footer a:hover:after,
.contact-footer a:focus-visible:after {
  transform: scaleX(1);
}
.contact-link:hover .arrow,
.contact-link:focus-visible .arrow {
  transform: translate(3px, -3px);
}
.contact-phone {
  font:
    400 34px/1.2 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.035em;
  white-space: nowrap;
}
.contact-item address {
  font-style: normal;
}
.contact-address {
  align-items: flex-start;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}
.contact-address .arrow {
  margin-top: 3px;
  flex: none;
  color: var(--primary);
}
.contact-footer {
  position: relative;
  margin-top: clamp(80px, 8vw, 128px);
  padding: 28px 0 23px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 22px 48px;
}
.footer-brand {
  display: block;
  width: 116px;
  height: 87px;
}
.footer-brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer-links {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.contact-footer a:not(.footer-brand) {
  position: relative;
  font-size: 11px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
}
.footer-meta {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--muted);
  font-size: 10px;
}
.footer-meta .arrow {
  width: 14px;
  height: 14px;
  font-size: 14px;
}
.contact.is-pending [data-contact-enter],
.contact.is-pending .contact-item {
  opacity: 0;
}
.contact.is-pending .mask > span {
  opacity: 0;
  filter: blur(9px);
  transform: translateY(115%);
}
.contact.is-pending .return-arc {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.contact.in-view:not(.is-settled) .return-arc {
  stroke-dasharray: 1;
  animation: thought-line-in 2.25s var(--ease) both;
  animation-delay: calc(0.46s + var(--stroke, 0) * 0.15s);
}
.contact.is-pending .thought-node {
  opacity: 0;
  transform: translate(var(--from-x, 0px), var(--from-y, 0px));
}
.contact.in-view .thought-node {
  transition:
    opacity 1.8s var(--ease),
    transform 2.25s var(--ease);
  transition-delay: calc(0.46s + var(--node, 0) * 0.15s);
}
.contact.section-resting .thought-pulse,
.contact.section-resting .eyebrow:before {
  animation-play-state: paused;
}
.motion-paused .contact .reveal,
.motion-paused .contact .line-reveal {
  animation: none;
  opacity: 1;
  filter: none;
  transform: none;
}
.motion-paused .contact .return-arc {
  animation: none;
  stroke-dashoffset: 0;
}
.motion-paused .contact .thought-node {
  transition: none;
  transform: none;
  opacity: 1;
}
@media (min-width: 701px) and (max-width: 1199px) {
  .contact-heading {
    font-size: clamp(44px, 5.2vw, 64px);
  }
  .contact-details {
    max-width: 330px;
  }
  .contact-phone {
    font-size: 30px;
  }
  .footer-links {
    gap: 22px;
  }
}
@media (max-width: 700px) {
  .contact {
    padding: 72px 24px 0;
  }
  .contact-top {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .contact-copy .eyebrow {
    font-size: 10px;
    margin-bottom: 25px;
  }
  .contact-heading {
    font-size: clamp(44px, 11.3vw, 76px);
    line-height: 1.04;
    letter-spacing: -0.043em;
  }
  .contact-copy .sub {
    font-size: 14px;
    line-height: 1.85;
    margin-top: 27px;
  }
  .contact-copy .actions {
    margin-top: 30px;
  }
  .contact-details {
    max-width: none;
    margin: 0;
  }
  .contact-item {
    padding: 22px 0;
  }
  .contact-phone {
    font-size: 32px;
  }
  .contact-thread .outer-arc {
    display: none;
  }
  .contact-footer {
    margin-top: 64px;
    padding-top: 22px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-links {
    gap: 12px 26px;
  }
  .footer-meta {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2px 16px;
  }
  .footer-brand {
    width: 104px;
    height: 80px;
  }
  .footer-meta p {
    padding: 12px 0;
  }
}
@media (max-width: 360px) {
  .contact {
    padding-inline: 20px;
  }
  .contact-heading {
    font-size: 42px;
  }
  .contact-phone {
    font-size: 29px;
  }
  .contact-link {
    font-size: 13px;
  }
  .contact-link.contact-phone {
    font-size: 29px;
  }
  .contact-address {
    font-size: 12px;
  }
  .footer-links {
    gap: 8px 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact.is-pending [data-contact-enter],
  .contact.is-pending .contact-item,
  .contact.is-pending .mask > span,
  .contact.is-pending .thought-node {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
  .contact .return-arc {
    stroke-dashoffset: 0 !important;
  }
}
@media (forced-colors: active) {
  .contact-thread {
    display: none;
  }
  .contact-item,
  .contact-footer {
    border-color: CanvasText;
  }
  .contact-link:after,
  .contact-footer a:after {
    background: CanvasText;
  }
  .footer-brand img {
    mix-blend-mode: normal;
  }
}

/* REQ-2026-015: real destinations, responsive concept map and human closing. */
header nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.hero,
.understanding,
.clinic {
  scroll-margin-top: 24px;
}
summary:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 6px;
}
.understanding .thought-label {
  border: 0;
  background: transparent;
  padding: 14px 0;
  min-height: 44px;
  text-align: left;
  transform: translateY(-14px);
  transition: color 0.4s var(--ease);
}
.thought-label:disabled {
  cursor: default;
}
.thought-label:after {
  content: '';
  position: absolute;
  bottom: 9px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--primary-hover);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease);
}
.thought-label:hover:after,
.thought-label:focus-visible:after,
.thought-label[aria-pressed='true']:after {
  transform: scaleX(1);
}
.thought-label:hover,
.thought-label:focus-visible,
.thought-label[aria-pressed='true'] {
  color: var(--primary);
}
.understanding .thought-caption {
  left: 12%;
  right: 2%;
  bottom: -24px;
  min-height: 38px;
  font-size: 12px;
  line-height: 1.7;
  text-wrap: pretty;
}
.thought-map .thought-core,
.thought-map .thought-line {
  transition:
    stroke-opacity 0.6s var(--ease),
    opacity 0.6s var(--ease),
    fill 0.6s var(--ease);
}
.thought-map .thought-node.is-emphasized .thought-core {
  opacity: 1;
  fill: var(--primary-hover);
}
.thought-map .thought-node.is-emphasized .thought-pulse {
  stroke: var(--primary-hover);
}
.thought-map .thought-line.is-emphasized {
  stroke-opacity: 0.5;
}
.care-area-copy {
  min-width: 0;
}
.care-area-copy p {
  max-width: 440px;
}
.care-details {
  margin-top: 12px;
  max-width: 440px;
}
.care-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 44px;
  padding: 10px 0;
  font-size: 12px;
  list-style: none;
  cursor: pointer;
  color: var(--primary);
  width: fit-content;
  max-width: 100%;
  position: relative;
}
.care-details summary::-webkit-details-marker {
  display: none;
}
.care-details summary:after {
  content: '';
  position: absolute;
  bottom: 7px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--primary-hover);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease);
}
.care-details summary:hover:after,
.care-details summary:focus-visible:after {
  transform: scaleX(1);
}
.details-mark {
  width: 12px;
  height: 12px;
  position: relative;
  flex: none;
}
.details-mark:before,
.details-mark:after {
  content: '';
  position: absolute;
  background: currentColor;
  left: 0;
  right: 0;
  top: 5px;
  height: 1px;
  transition: transform 0.4s var(--ease);
}
.details-mark:after {
  transform: rotate(90deg);
}
.care-details[open] .details-mark:after {
  transform: rotate(0);
}
.care-details-body {
  border-left: 1px solid var(--line);
  padding: 8px 0 4px 18px;
}
.care-details-body p + p {
  margin-top: 14px;
}
.care-details-body strong {
  font-weight: 500;
  color: var(--ink);
}
.care-area h3,
.process-heading h3 {
  transition: color 0.5s var(--ease);
}
.process-step:before {
  transition:
    background 0.5s var(--ease),
    border-color 0.5s var(--ease);
}
@media (hover: hover) and (pointer: fine) {
  .care-area:hover h3,
  .process-step:hover h3 {
    color: var(--primary-hover);
  }
  .process-step:hover:before {
    background: var(--accent);
    border-color: #698545;
  }
  .visual:hover .lens-shell {
    box-shadow:
      0 34px 65px -40px #1e3d3459,
      inset 0 0 0 1px #102f2d12;
  }
}
.contact-top {
  align-items: center;
}
.contact-copy .sub {
  max-width: 395px;
}
.contact-person {
  width: 100%;
  max-width: 430px;
  margin: 0 0 0 auto;
  scroll-margin-top: 28px;
  min-width: 0;
}
.contact-photo-frame {
  position: relative;
  aspect-ratio: 1217 / 1292;
  overflow: hidden;
  border-radius: 24% 24% 6% 6%;
  background: var(--secondary);
}
.contact-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1);
  transform-origin: center;
  transition: transform 1.3s var(--ease);
}
.contact-person figcaption {
  margin: 26px 0 0;
  padding-left: 22px;
  max-width: 400px;
  border-left: 1px solid var(--line);
}
.contact-person .contact-label {
  font-size: 9px;
  margin-bottom: 10px;
}
.contact-bio {
  font:
    400 27px/1.15 Orleans,
    Georgia,
    serif;
  letter-spacing: -0.035em;
  margin-bottom: 12px;
}
.contact-story {
  font-size: 13px;
  line-height: 1.85;
  color: var(--muted);
  text-wrap: pretty;
  max-width: 370px;
}
.contact-details {
  display: grid;
  grid-template-columns: 1fr 1fr 1.15fr;
  gap: clamp(30px, 4.7vw, 78px);
  width: 100%;
  max-width: none;
  margin: 58px 0 0;
  padding: 0;
}
.contact-item {
  padding: 22px 0 0;
}
.contact-item:first-child {
  border-top: 1px solid var(--line);
  padding-top: 22px;
}
.contact-item:last-child {
  padding-bottom: 0;
}
.contact-footer {
  margin-top: 64px;
}
@media (hover: hover) and (pointer: fine) {
  .contact-person:hover .contact-photo {
    transform: scale(1.01);
  }
}
@media (min-width: 701px) and (max-width: 1199px) {
  .contact-person {
    max-width: 360px;
  }
  .contact-bio {
    font-size: 24px;
  }
  .contact-story {
    font-size: 12px;
  }
  .contact-details {
    max-width: none;
    gap: 30px;
  }
  .contact-phone {
    font-size: 28px;
  }
  .contact-item .contact-label {
    font-size: 8px;
  }
  .contact-address {
    font-size: 12px;
  }
}
@media (max-width: 700px) {
  .contact-top {
    gap: 48px;
  }
  .contact-person {
    max-width: 410px;
    margin: 0 auto;
  }
  .contact-person figcaption {
    padding-left: 18px;
    margin-top: 24px;
  }
  .contact-bio {
    font-size: 26px;
  }
  .contact-story {
    font-size: 13px;
  }
  .contact-details {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 48px;
  }
  .contact-item,
  .contact-item:first-child {
    padding: 22px 0;
  }
  .contact-item:last-child {
    padding-bottom: 0;
  }
  .contact-footer {
    margin-top: 48px;
  }
  .care-area-copy {
    grid-column: 2;
  }
  .understanding .thought-caption {
    left: 10%;
    right: 3%;
    bottom: -29px;
    font-size: 11px;
    min-height: 38px;
  }
  .understanding .thought-label {
    font-size: 9px;
  }
  .care-area-copy p {
    font-size: 14px;
  }
}
@media (max-width: 360px) {
  .contact-bio {
    font-size: 24px;
  }
  .contact-story {
    font-size: 12px;
  }
  .understanding .thought-label {
    font-size: 8px;
  }
  .understanding .thought-caption {
    font-size: 10px;
  }
}
@media (min-width: 701px) and (max-width: 950px) {
  .contact-details {
    grid-template-columns: 1fr 1fr;
    gap: 28px 30px;
  }
  .contact-item:last-child {
    grid-column: 1/-1;
  }
  .contact-address {
    font-size: 13px;
  }
  .contact-phone {
    font-size: 30px;
  }
}
@media (min-width: 701px) and (max-width: 1199px), (max-width: 500px) {
  .thought-label[data-concept='funcoes'] {
    left: 18%;
    top: 62%;
  }
  .thought-label[data-concept='desenvolvimento'] {
    left: 64%;
    top: 73%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-person:hover .contact-photo {
    transform: scale(1);
  }
}
html:not(.js) .menu-toggle {
  display: none;
}
@media (max-width: 700px) {
  html:not(.js) header {
    height: auto;
    min-height: 100px;
    flex-wrap: wrap;
    gap: 8px;
  }
  html:not(.js) header nav {
    display: flex;
    position: static;
    border: 0;
    box-shadow: none;
    padding: 0 0 14px;
    gap: 20px;
    flex-wrap: wrap;
    width: 100%;
    background: none;
  }
}
/* REQ-2026-017: editorial ink, reading lines and responsive nodes in all four folds. */
:is(#headline, .thought-heading, .contact-heading) {
  transition: color 0.65s var(--ease);
}
:is(#headline, .thought-heading, .contact-heading) .mask > span {
  translate: var(--reading-shift, 0px) 0;
  transition: translate 0.8s var(--ease);
}
.title-accent:before,
.contact-heading em:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.06em;
  height: 0.13em;
  background: linear-gradient(90deg, #d5e3ae00, #baca9680 18%, #d5e3ae99 78%, #d5e3ae00);
  opacity: 0;
  scale: 0.65 1;
  transform-origin: left;
  transition:
    scale 0.8s var(--ease),
    opacity 0.55s var(--ease);
  pointer-events: none;
}
.contact-heading em {
  position: relative;
  display: inline-block;
}
.ink-mark {
  background: linear-gradient(#d5e3ae88, #d5e3ae88) no-repeat 0 88%;
  background-size: 0% 0.46em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition:
    background-size 0.75s var(--ease),
    color 0.55s var(--ease);
}
.sub {
  position: relative;
  transition: color 0.55s var(--ease);
}
.sub:before {
  content: '';
  position: absolute;
  left: -15px;
  top: 0.35em;
  bottom: 0.35em;
  width: 1px;
  background: linear-gradient(var(--accent), var(--primary-hover), transparent);
  scale: 1 0;
  transform-origin: top;
  opacity: 0;
  transition:
    scale 0.75s var(--ease),
    opacity 0.55s var(--ease);
}
.eyebrow,
.care-note,
.photo-caption,
.contact-story,
.contact-label,
.thought-caption,
.clinic-caption,
.footer-meta p {
  transition: color 0.55s var(--ease);
}
.eyebrow:before {
  transition:
    scale 0.6s var(--ease),
    background 0.55s var(--ease);
}
.care-note svg {
  transition:
    stroke 0.55s var(--ease),
    scale 0.6s var(--ease);
}
.welcome-note:before,
.portrait-label:before,
.clinic-caption:before {
  transform-origin: left;
  transition:
    scale 0.7s var(--ease),
    background 0.55s var(--ease);
}
.welcome-note p,
.welcome-note span,
.closing-thought,
.care-values span,
.photo-caption strong {
  transition:
    color 0.55s var(--ease),
    translate 0.7s var(--ease);
}
.photo-caption strong,
.contact-bio {
  background: linear-gradient(var(--accent), var(--accent)) no-repeat 0 100%;
  background-size: 0 1px;
  transition:
    background-size 0.75s var(--ease),
    color 0.55s var(--ease);
}
.care-values span:before {
  transition:
    scale 0.55s var(--ease),
    box-shadow 0.55s var(--ease),
    background 0.55s var(--ease);
}
.care-area {
  position: relative;
}
.care-area:before,
.contact-item:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, var(--primary-hover), #9eb785 45%, transparent);
  scale: 0 1;
  transform-origin: left;
  transition: scale 0.85s var(--ease);
  pointer-events: none;
}
.care-area:after {
  content: '';
  position: absolute;
  left: 0;
  top: -3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--primary-hover);
  scale: 0;
  transition: scale 0.65s var(--ease);
  pointer-events: none;
}
.care-area h3,
.process-heading h3 {
  transition:
    color 0.55s var(--ease),
    translate 0.7s var(--ease);
}
.area-number {
  transition:
    color 0.55s var(--ease),
    translate 0.7s var(--ease);
}
.care-area p,
.process-step p,
.care-details-body p {
  transition: color 0.55s var(--ease);
}
.thought-label:before {
  content: '';
  position: absolute;
  inset: 10px -7px 9px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #d5e3ae70, transparent 72%);
  opacity: 0;
  scale: 0.7 1;
  transition:
    opacity 0.55s var(--ease),
    scale 0.65s var(--ease);
  z-index: -1;
  pointer-events: none;
}
.thought-map .thought-core {
  transform-box: fill-box;
  transform-origin: center;
  transition:
    scale 0.65s var(--ease),
    fill 0.55s var(--ease),
    opacity 0.55s var(--ease);
}
.thought-map .thought-line {
  transition:
    stroke-opacity 0.6s var(--ease),
    stroke-width 0.6s var(--ease);
}
.process-step:before {
  transition:
    background 0.55s var(--ease),
    border-color 0.55s var(--ease),
    box-shadow 0.65s var(--ease),
    scale 0.65s var(--ease);
}
.clinic .process-step:not(:last-child):after {
  background:
    linear-gradient(var(--primary-hover), var(--line) 60%) no-repeat 0 0,
    var(--line);
  background-size: 100% 0%;
  transition:
    background-size 0.8s var(--ease),
    transform 2.25s 0.35s var(--ease);
}
.clinic-thread path,
.contact-thread .return-arc {
  transition: stroke-opacity 0.8s var(--ease);
}
.contact-person figcaption {
  transition:
    border-color 0.7s var(--ease),
    box-shadow 0.7s var(--ease);
}
.contact-item {
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  :is(#headline, .thought-heading, .contact-heading):hover {
    color: var(--primary-hover);
  }
  :is(#headline, .thought-heading, .contact-heading):hover .mask:nth-child(1) {
    --reading-shift: 2px;
  }
  :is(#headline, .thought-heading, .contact-heading):hover .mask:nth-child(2) {
    --reading-shift: 4px;
  }
  :is(#headline, .thought-heading, .contact-heading):hover .mask:nth-child(3) {
    --reading-shift: 6px;
  }
  :is(#headline, .thought-heading, .contact-heading):hover :is(.title-accent, em):before {
    opacity: 1;
    scale: 1 1;
  }
  .sub:hover {
    color: var(--primary);
  }
  .sub:hover:before {
    opacity: 1;
    scale: 1 1;
  }
  :is(
      .sub:hover,
      .care-area:hover,
      .care-area:focus-within,
      .process-step:hover,
      .contact-story:hover,
      .care-details-body p:hover
    )
    .ink-mark {
    background-size: 100% 0.46em;
    color: var(--primary);
  }
  .eyebrow:hover {
    color: var(--primary);
  }
  .eyebrow:hover:before {
    scale: 1.45;
    background: var(--primary-hover);
  }
  .care-note:hover {
    color: var(--primary);
  }
  .care-note:hover svg {
    stroke: var(--primary-hover);
    scale: 1.12;
  }
  .welcome-note:hover:before,
  .portrait-label:hover:before,
  .clinic-caption:hover:before {
    scale: 1.7 1;
    background: var(--primary-hover);
  }
  .welcome-note:hover p,
  .closing-thought:hover {
    color: var(--primary-hover);
    translate: 3px 0;
  }
  .welcome-note:hover span {
    color: var(--primary);
  }
  .photo-caption:hover {
    color: var(--primary);
  }
  .photo-caption:hover strong {
    color: var(--primary-hover);
    background-size: 100% 1px;
  }
  .care-values span:hover {
    color: var(--primary);
    translate: 2px 0;
  }
  .care-values span:hover:before {
    scale: 1.65;
    box-shadow: 0 0 0 3px #d5e3ae66;
    background: var(--primary-hover);
  }
  .care-area:hover:before,
  .care-area:focus-within:before,
  .contact-item:hover:before,
  .contact-item:focus-within:before {
    scale: 1 1;
  }
  .care-area:hover:after,
  .care-area:focus-within:after {
    scale: 1;
  }
  .care-area:hover h3,
  .care-area:focus-within h3,
  .process-step:hover h3 {
    color: var(--primary-hover);
    translate: 4px 0;
  }
  .care-area:hover .area-number,
  .care-area:focus-within .area-number,
  .process-step:hover .area-number {
    color: var(--primary-hover);
    translate: 2px 0;
  }
  .care-area:hover p,
  .care-area:focus-within p,
  .process-step:hover p,
  .care-details-body p:hover {
    color: var(--primary);
  }
  .thought-label:hover:before,
  .thought-label:focus-visible:before,
  .thought-label[aria-pressed='true']:before {
    opacity: 1;
    scale: 1 1;
  }
  .thought-map .thought-node.is-emphasized .thought-core {
    scale: 1.65;
    opacity: 1;
  }
  .thought-map .thought-line.is-emphasized {
    stroke-width: 1.35;
    stroke-opacity: 0.62;
  }
  .thought-caption:hover,
  .clinic-caption:hover {
    color: var(--primary);
  }
  .process-step:hover:before {
    scale: 1.2;
    box-shadow: 0 0 0 5px #d5e3ae80;
    background: var(--primary-hover);
    border-color: var(--primary-hover);
  }
  .clinic .process-step:hover:after {
    background-size: 100% 100%;
  }
  .clinic:has(.process-step:hover, .clinic-heading:hover, .clinic-caption:hover)
    .clinic-thread
    path {
    stroke-opacity: 0.32;
  }
  .contact-person:hover figcaption {
    border-color: #7e9465;
    box-shadow: -3px 0 0 #d5e3ae80;
  }
  .contact-person:hover .contact-bio {
    color: var(--primary-hover);
    background-size: 100% 1px;
  }
  .contact-person:hover .contact-label,
  .contact-story:hover,
  .contact-item:hover .contact-label,
  .contact-item:focus-within .contact-label,
  .footer-meta p:hover {
    color: var(--primary);
  }
  .contact:has(.contact-heading:hover, .contact-story:hover) .return-arc {
    stroke-opacity: 0.42;
  }
}
/* Decorative reading motion stops with the existing pause control and OS preference. */
.motion-paused :is(#headline, .thought-heading, .contact-heading) .mask {
  --reading-shift: 0px !important;
}
.motion-paused :is(#headline, .thought-heading, .contact-heading) .mask > span {
  transition: none !important;
}
.motion-paused
  :is(
    .care-area h3,
    .process-heading h3,
    .area-number,
    .welcome-note p,
    .closing-thought,
    .care-values span
  ) {
  translate: none !important;
}
.motion-paused .thought-map .thought-core,
.motion-paused .process-step:before,
.motion-paused .care-values span:before,
.motion-paused .eyebrow:before,
.motion-paused .care-note svg {
  scale: 1 !important;
}
.motion-paused
  :is(
    .ink-mark,
    .sub,
    .eyebrow,
    .care-area h3,
    .area-number,
    .process-heading h3,
    .process-step p,
    .contact-story,
    .contact-bio,
    .contact-label,
    .contact-person figcaption
  ),
.motion-paused
  :is(
    .sub,
    .care-area,
    .contact-item,
    .thought-label,
    .process-step,
    .title-accent,
    .contact-heading em
  ):before,
.motion-paused .process-step:after {
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  :is(#headline, .thought-heading, .contact-heading) .mask {
    --reading-shift: 0px !important;
  }
  :is(
    .care-area h3,
    .process-heading h3,
    .area-number,
    .welcome-note p,
    .closing-thought,
    .care-values span
  ) {
    translate: none !important;
  }
  .thought-map .thought-core,
  .process-step:before,
  .care-values span:before,
  .eyebrow:before,
  .care-note svg {
    scale: 1 !important;
  }
}
@media (forced-colors: active) {
  .ink-mark {
    background: none;
  }
  .title-accent:before,
  .contact-heading em:before,
  .thought-label:before {
    display: none;
  }
}
