@font-face {
  font-family: Inter;
  src: url('/assets/inter-latin-wght-normal.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Roboto Mono';
  src: url('/assets/roboto-mono-latin-wght-normal.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
}
:root {
  --gutter: 4.8vw;
  --mono: 'Roboto Mono', monospace;
  color-scheme: light;
  font-family: Inter, Arial, sans-serif;
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body { margin: 0; color: rgb(0 0 0 / 75%); }
a { color: inherit; }
a:hover { opacity: .8; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
img { display: block; max-width: 100%; }
h1, h2, p { margin: 0; }
.icon { width: 1em; height: 1em; display: inline-block; vertical-align: -.12em; fill: currentColor; flex-shrink: 0; }
.skip-link { position: fixed; top: -100px; left: 16px; padding: 12px 18px; background: white; color: #111; z-index: 20; }
.skip-link:focus { top: 12px; }
.site-header { position: fixed; top: 0; inset-inline: 0; z-index: 5; padding: var(--gutter); display: flex; justify-content: space-between; align-items: center; color: rgb(255 255 255 / 80%); font: 400 clamp(12px, 1.36vw, 20px)/1.3 var(--mono); letter-spacing: .075em; pointer-events: none; }
.site-header a { pointer-events: auto; }
.site-header a { text-decoration: none; white-space: nowrap; }
.site-header a { min-height: 24px; display: inline-flex; align-items: center; }
.detail .site-header { color: #27354f; background: linear-gradient(rgb(229 229 229 / 98%), rgb(229 229 229 / 92%) 75%, transparent); padding-bottom: 1.4vw; }
:target { scroll-margin-top: 8rem; }
.brand .icon { width: .85em; margin-inline: .1em; }
.hero { min-height: max(100svh, 59.3vw); position: relative; isolation: isolate; overflow: hidden; background: #293b65; color: rgb(255 255 255 / 75%); }
.hero-image { position: absolute; inset: 0; z-index: -1; background: url('/assets/4090_web_3-2048-6a9024741da9.webp') center / cover no-repeat; }
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: rgb(41 46 129 / 26%); }
.hero-copy { padding: 18.7vw var(--gutter) 130px; }
.hero h1 { font-size: clamp(30px, 4.3vw, 76px); font-weight: 300; line-height: 1.1; letter-spacing: -.03em; }
.hero h1 .icon { width: .82em; margin-inline: .17em; }
.hero-copy p { margin-top: 2.5vw; font-size: clamp(25px, 3.36vw, 60px); font-weight: 200; line-height: 1.08; letter-spacing: -.035em; }
.scroll-cue { position: absolute; bottom: 6%; left: 50%; transform: translateX(-50%); display: flex; gap: .3em; color: white; font-size: 20px; animation: cue 3s ease-in-out infinite; }
.section-pad { padding: var(--gutter); }
.reviews { background: linear-gradient(#b0958f 0%, #b0958f 25%, #c3bfbf 75%, #c3bfbf 100%); }
.reviews h2 { color: #fcd5ca; font-size: clamp(29px, 3.36vw, 60px); line-height: 1.35; font-weight: 200; }
.reviews h2 strong { font-weight: 600; }
.reviews p { margin-top: 2.1vw; font: 400 clamp(15px, 1.68vw, 29px)/1.85 var(--mono); letter-spacing: .075em; }
.stars { color: rgb(255 128 0 / 59%); }
.stars .icon { margin-right: .2em; }
.services { display: flex; flex-direction: column; align-items: flex-start; gap: 2.8vw; padding-top: 6.2vw; padding-bottom: 6.2vw; background: linear-gradient(#c1c1c1 0%, #c1c1c1 25%, #b5b8d8 75%, #b5b8d8 100%); }
.services a { display: flex; align-items: center; gap: .38em; text-decoration: none; font-weight: 300; font-size: clamp(31px, 5.85vw, 100px); line-height: 1.15; letter-spacing: -.035em; }
.therapy-link { color: rgb(15 67 255 / 74%); }
.device-link { color: #ffdfd7; }
.people-link { color: rgb(200 255 244 / 89%); }
.services .icon { width: .95em; height: .95em; }
.contacts { position: relative; isolation: isolate; overflow: hidden; min-height: 55.7vw; color: #f4f4f4; background: #687b98; }
.contacts::before { content: ''; position: absolute; inset: -28px; z-index: -2; background: url('/assets/0a31e08eca4152b8b6b8d2b42f77fc26-736-9d8b191c6719.webp') center / cover no-repeat; filter: blur(5px); }
.contacts::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(23 42 77 / 70%), rgb(62 76 93 / 10%)); }
.contact-copy { padding-top: 2vw; max-width: 52%; }
.contacts h2 { font-size: clamp(32px, 5.85vw, 100px); font-weight: 300; line-height: .95; letter-spacing: -.035em; color: rgb(255 255 255 / 83%); }
.contact-list { margin: 3vw 0 0; padding: 0; list-style: none; font: 400 clamp(16px, 1.68vw, 29px)/1.85 var(--mono); letter-spacing: .075em; }
.contact-list li { display: flex; align-items: baseline; gap: .45em; margin-bottom: 1.7vw; }
.contact-list a { text-decoration-thickness: 1px; text-underline-offset: .12em; overflow-wrap: anywhere; }
.agreements { display: grid; grid-template-columns: 1fr 1fr; gap: 3vw; background: #232323; color: rgb(255 255 255 / 75%); padding-top: 7.2vw; padding-bottom: 7.2vw; font: 400 clamp(15px, 1.36vw, 24px)/1.7 var(--mono); letter-spacing: .075em; }
.agreements h2 { font: 300 clamp(20px, 1.6vw, 30px)/1.2 Inter, Arial, sans-serif; margin-bottom: 2vw; }
.agreements ul { margin: 0; padding-left: 2em; font-size: clamp(17px, 1.68vw, 29px); line-height: 1.7; }
.detail { background: #e5e5e5; }
.detail::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 140px; z-index: -1; background: linear-gradient(#b7c2e6, #e5e5e5); }
.detail-main { padding: 9.4vw var(--gutter) var(--gutter); }
.page-title { margin-bottom: 2.7vw; font: 400 clamp(14px, 1.36vw, 24px)/1.7 var(--mono); letter-spacing: .075em; }
.feature { display: grid; grid-template-columns: 5fr 1fr 6fr; align-items: start; margin-bottom: 4.8vw; }
.feature > img { grid-column: 1; width: 100%; height: auto; border-radius: 1.6vw; }
.feature-copy { grid-column: 3; padding-top: 2.4vw; font: 400 clamp(15px, 1.36vw, 24px)/1.7 var(--mono); letter-spacing: .075em; }
.feature h2 { font: 400 clamp(24px, 3.08vw, 52px)/1.1 var(--mono); letter-spacing: -.045em; color: rgb(0 0 0 / 85%); overflow-wrap: anywhere; }
.feature .description-label { font-size: .94em; font-weight: 300; letter-spacing: 0; margin: 2.4vw 0 1.7vw; }
.feature p, .feature blockquote { margin: 0 0 1.8em; }
.feature blockquote { font-weight: 300; }
.feature ul { padding-left: 1.5em; margin: 0 0 1.8em; }
.feature li { margin-bottom: 1.1em; }
.feature strong { font-weight: 600; }
.back { display: inline-block; font: 400 14px/1.5 var(--mono); margin-top: 2rem; }
.site-footer { padding: 2rem var(--gutter); background: #232323; color: #e0e0e0; font: 400 14px/1.6 var(--mono); }
.site-footer nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.site-footer a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: .2em; }
.site-footer [aria-current="page"] { font-weight: 700; }
.site-footer p { margin-top: 1rem; font-size: 12px; }
@keyframes cue { 0%, 100% { translate: 0 -4px; } 50% { translate: 0 4px; } }
@media (min-width: 1800px) { :root { --gutter: 86px; } }
@media (max-width: 650px) {
  :root { --gutter: 6vw; }
  .site-header { padding-top: 7.5vw; font-size: 2.95vw; letter-spacing: .055em; }
  .hero { min-height: 100svh; }
  .hero-image { background-position: 55% center; }
  .hero-copy { padding-top: 44vw; padding-bottom: 110px; }
  .hero h1 { font-size: 10.2vw; line-height: 1.12; letter-spacing: -.025em; }
  .hero h1 span { display: block; }
  .hero-copy p { font-size: 8.3vw; line-height: 1.05; margin-top: 7vw; }
  .scroll-cue { font-size: 16px; bottom: 6%; }
  .section-pad { padding: 12vw var(--gutter); }
  .reviews h2 { font-size: 9.7vw; line-height: 1.3; }
  .reviews p { font-size: 4.8vw; margin-top: 8vw; line-height: 1.8; }
  .services { gap: 9vw; padding-block: 16vw; }
  .services a { font-size: 10.3vw; gap: .3em; }
  .contacts { min-height: auto; padding-block: 16vw; }
  .contact-copy { max-width: 100%; padding: 0; }
  .contacts h2 { font-size: 8vw; }
  .contact-list { font-size: 4.55vw; line-height: 1.6; margin-top: 10vw; letter-spacing: .04em; }
  .contact-list li { margin-bottom: 7vw; }
  .contact-list li:last-child { margin-bottom: 0; }
  .contacts::after { background: rgb(23 42 77 / 55%); }
  .agreements { grid-template-columns: 1fr; gap: 9vw; font-size: 3.7vw; }
  .agreements h2 { font-size: 6.7vw; margin-bottom: 6vw; }
  .agreements ul { font-size: 4.2vw; }
  .detail-main { padding-top: 21vw; }
  .page-title { font-size: 3.7vw; margin-bottom: 7vw; }
  .feature { display: block; margin-bottom: 18vw; }
  .feature > img { border-radius: 4vw; }
  .feature-copy { font-size: 3.7vw; line-height: 1.7; padding-top: 7vw; letter-spacing: .075em; }
  .feature h2 { font-size: 7.3vw; }
  .feature .description-label { margin: 7vw 0 6vw; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; }
}
