/* Art direction pass: editorial rehabilitation practice */
:root {
  --lime: oklch(0.82 0.052 148);
  --night: oklch(0.16 0.032 166);
  --peach: oklch(0.82 0.09 45);
  --blue-grey: oklch(0.66 0.035 215);
}

.premium-hero {
  padding-top: 132px;
  background:
    radial-gradient(circle at var(--spot-x,78%) var(--spot-y,16%), color-mix(in oklch, var(--lime) 22%, transparent), transparent 21%),
    linear-gradient(108deg, var(--paper) 0 71%, color-mix(in oklch, var(--mint-2) 52%, var(--paper)) 71% 100%);
}

.premium-hero::after {
  content: "ХАБАРОВСК · СУВОРОВА, 40/1/1";
  position: absolute;
  left: 18px;
  top: 430px;
  color: color-mix(in oklch, var(--green) 24%, transparent);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .24em;
  writing-mode: vertical-rl;
}

/* Real practice identity and contact data */
.header-phone { min-width: 235px; }
.header-phone-numbers { display: flex; align-items: center; gap: 9px; }
.header-phone-numbers a { color: var(--green-deep); font-size: 12px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.header-phone-numbers a + a { padding-left: 9px; border-left: 1px solid color-mix(in oklch,var(--green-deep) 18%,transparent); }
.contact-details > div { max-width: 72%; }
.contact-hours { color: color-mix(in oklch,var(--green-deep) 64%,transparent); }
.footer-grid > div a { margin-bottom: 4px; text-decoration: none; }

@media (max-width: 1100px) {
  .mobile-contact > .mobile-secondary-phone { display: block; margin-top: 5px; color: var(--mint-2); font-size: clamp(17px,2.5vw,23px); }
}

@media (max-width: 760px) {
  .header-shell .brand { gap: 8px; }
  .header-shell .brand-copy b { font-size: 13px; }
  .header-shell .brand-copy small { max-width: 112px; line-height: 1.25; }
  .map-card .contact-details { padding: 20px; }
  .contact-details > div { max-width: 100%; }
  .contact-details b { font-size: 16px; }
}

.hero-stage {
  min-height: 790px;
  border-top: 1px solid var(--line);
  box-shadow: 0 54px 140px color-mix(in oklch, var(--green-deep) 21%, transparent);
}

.hero-stage::before {
  z-index: 2;
  background:
    linear-gradient(90deg,var(--white) 0 43%,color-mix(in oklch,var(--white) 91%,transparent) 52%,transparent 68%),
    linear-gradient(180deg,transparent 70%,color-mix(in oklch,var(--green-deep) 8%,transparent));
}

.hero-stage::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: radial-gradient(circle at var(--spot-x,76%) var(--spot-y,36%),color-mix(in oklch,var(--coral) 17%,transparent),transparent 18%);
  pointer-events: none;
}

.hero-portrait { z-index: 1; inset: 0; }
.hero-portrait img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.premium-hero .hero-copy { z-index: 5; width: 60%; padding-left: clamp(52px,6vw,94px); }
.hero-center-name {
  position: relative;
  display: grid;
  width: fit-content;
  max-width: min(610px,100%);
  margin-bottom: 34px;
  padding: 18px 62px 18px 22px;
  color: var(--green-deep);
  background: color-mix(in oklch,var(--white) 86%,transparent);
  border-left: 3px solid var(--coral);
  box-shadow: 0 18px 52px color-mix(in oklch,var(--green-deep) 10%,transparent);
  backdrop-filter: blur(14px);
  isolation: isolate;
}
.hero-center-name::after {
  content: "27";
  position: absolute;
  z-index: -1;
  right: 14px;
  top: 50%;
  color: color-mix(in oklch,var(--coral) 22%,transparent);
  font-family: var(--serif);
  font-size: 50px;
  line-height: 1;
  transform: translateY(-50%);
}
.hero-center-name > span {
  font-size: clamp(10px,.84vw,13px);
  font-weight: 700;
  letter-spacing: .105em;
  line-height: 1.25;
  text-transform: uppercase;
}
.hero-center-name > strong {
  margin-top: 5px;
  color: var(--green-deep);
  font-family: var(--serif);
  font-size: clamp(27px,2.45vw,39px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.04;
}
.hero-center-name > small {
  margin-top: 8px;
  color: color-mix(in oklch,var(--green-deep) 62%,transparent);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.premium-hero h1 { font-size: clamp(62px,6.25vw,96px); line-height: .91; }
.premium-hero h1 span { display: inline-block; transform: translateX(-.04em); }
.premium-hero h1 em { display: inline-block; color: var(--coral); }
.premium-hero .hero-lead { max-width: 610px; font-size: 16px; }
.hero-actions { position: relative; z-index: 5; }

.hero-technical {
  position: absolute;
  z-index: 4;
  right: -35px;
  top: 142px;
  width: 610px;
  height: 610px;
  color: var(--green-deep);
  pointer-events: none;
  mix-blend-mode: multiply;
}
.hero-technical svg { width: 100%; height: 100%; overflow: visible; }
.hero-orbit { fill: none; stroke: color-mix(in oklch,var(--green) 28%,transparent); stroke-width: 1; stroke-dasharray: 2 12; }
.hero-trace { fill: none; stroke: var(--coral); stroke-width: 1.5; stroke-dasharray: 640; stroke-dashoffset: 640; animation: traceDraw 2.6s .7s cubic-bezier(.16,1,.3,1) forwards; }
.trace-node { fill: var(--lime); stroke: var(--green-deep); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: nodePulse 2.8s ease-out infinite; }
.node-b { animation-delay: .9s; }
.hero-technical span { position: absolute; right: 77px; top: 290px; font-size: 7px; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; transform: rotate(90deg); }
.hero-seal { z-index: 6; background: var(--lime); border: 0; box-shadow: 0 20px 70px color-mix(in oklch,var(--green-deep) 18%,transparent); }
.hero-seal svg { stroke: color-mix(in oklch,var(--green-deep) 34%,transparent); }
.portrait-signature { z-index: 6; bottom: 110px; right: 36px; background: var(--night); }

.premium-contacts { position: relative; z-index: 4; border: 0; gap: 12px; }
.premium-contacts .fact-card { min-height: 120px; border: 0; box-shadow: 0 20px 58px color-mix(in oklch,var(--green-deep) 10%,transparent); }
.premium-contacts .fact-card:first-child { color: var(--white); background: var(--night); }
.premium-contacts .fact-card:first-child small { color: color-mix(in oklch,var(--white) 58%,transparent); }
.premium-contacts .fact-card:nth-child(2) { background: var(--peach); }
.premium-contacts .fact-card:nth-child(3) { background: var(--mint); }

.motion-ribbon {
  position: relative;
  z-index: 5;
  overflow: hidden;
  padding: 17px 0;
  color: color-mix(in oklch,var(--white) 76%,transparent);
  background: var(--green-deep);
  border-top: 1px solid color-mix(in oklch,var(--white) 14%,transparent);
  border-bottom: 1px solid color-mix(in oklch,var(--white) 14%,transparent);
}
.motion-ribbon-track { display: flex; justify-content: center; }
.motion-ribbon span { flex: 0 0 auto; display: flex; align-items: center; font-size: clamp(11px,1.1vw,15px); font-weight: 480; letter-spacing: .01em; white-space: nowrap; }
.motion-ribbon span:nth-child(2) { display: none; }
.motion-ribbon i { width: 4px; height: 4px; margin: 0 clamp(16px,3vw,42px); border-radius: 50%; background: var(--coral); }

.services { padding-top: 170px; overflow: clip; }
.services::after { display: none; }
.services .container { position: relative; z-index: 2; }
.service-tabs { border: 1px solid var(--line); background: var(--white); box-shadow: 0 18px 55px color-mix(in oklch,var(--green-deep) 7%,transparent); }
.service-tab { padding: 22px 24px; border-bottom: 0; }
.service-tab.active { color: var(--white); background: var(--green-deep); }
.service-panel { margin-top: 24px; }
.service-image::after { content: "Практика · 01"; position: absolute; left: 20px; bottom: 20px; padding: 10px 12px; color: var(--white); background: var(--night); font-size: 7px; letter-spacing: .15em; }
.service-copy { position: relative; overflow: hidden; }
.service-copy::after { content: attr(data-visual); position: absolute; right: -22px; bottom: -78px; color: color-mix(in oklch,var(--green) 5%,transparent); font-size: 180px; font-weight: 700; line-height: 1; }

.body-map-section { margin-top: 70px; }
.body-map-section::after { display: none; }
.body-map-copy,.recovery-visual { z-index: 2; }
.recovery-visual { transform: none; }
.recovery-visual::before { content: ""; position: absolute; z-index: -1; inset: -22px 36px 36px -22px; border: 1px solid color-mix(in oklch,var(--lime) 44%,transparent); }
.recovery-tags span { border-color: color-mix(in oklch,var(--white) 18%,transparent); }

.about { padding-block: 180px; }
.about-photo { transform: none; }
.about-photo::after { content: ""; position: absolute; z-index: -2; width: 72%; height: 76%; right: -62px; top: -70px; background: var(--peach); }
.about-copy { position: relative; padding: clamp(46px,6vw,80px); background: var(--white); box-shadow: 0 38px 110px color-mix(in oklch,var(--green-deep) 11%,transparent); }
.about-copy::before { content: "Частная практика · 20+ лет"; position: absolute; right: 22px; top: 24px; color: color-mix(in oklch,var(--green) 36%,transparent); font-size: 7px; font-weight: 650; letter-spacing: .14em; }
.about-inset { transform: none; }

.recovery-principles {
  position: relative;
  min-height: 900px;
  padding: 150px 0;
  color: var(--white);
  background: var(--night);
  overflow: hidden;
}
.recovery-principles::before { content: ""; position: absolute; width: 560px; height: 560px; right: -120px; top: -180px; border: 1px solid color-mix(in oklch,var(--lime) 28%,transparent); border-radius: 50%; box-shadow: 0 0 0 90px color-mix(in oklch,var(--lime) 3%,transparent),0 0 0 180px color-mix(in oklch,var(--lime) 2%,transparent); }
.principles-layout { position: relative; z-index: 2; }
.principles-intro { max-width: 760px; margin-left: auto; }
.principles-intro h2 { margin: 22px 0 28px; font-size: clamp(54px,6.3vw,96px); font-weight: 300; line-height: .92; letter-spacing: -.06em; }
.principles-intro h2 em { color: var(--lime); font-style: normal; font-weight: 560; }
.principles-intro p { max-width: 550px; margin-left: auto; color: color-mix(in oklch,var(--white) 63%,transparent); }
.principles-visual { position: relative; min-height: 330px; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 82px; padding-top: 86px; }
.principles-route { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.principles-route path { fill: none; stroke: color-mix(in oklch,var(--lime) 54%,transparent); stroke-width: 1.5; stroke-dasharray: 9 10; animation: routeFlow 14s linear infinite; }
.principles-route circle { fill: var(--coral); stroke: var(--night); stroke-width: 4; }
.principle { position: relative; width: auto; padding: 32px clamp(24px,3vw,46px); color: var(--white); border-top: 1px solid color-mix(in oklch,var(--white) 20%,transparent); transition: background-color .35s; }
.principle + .principle { border-left: 1px solid color-mix(in oklch,var(--white) 14%,transparent); }
.principle:hover { background: color-mix(in oklch,var(--white) 5%,transparent); }
.principle > span { color: var(--coral); font-size: 8px; font-weight: 650; letter-spacing: .14em; }
.principle h3 { margin: 18px 0 10px; font-size: 34px; font-weight: 400; letter-spacing: -.05em; }
.principle p { margin: 0; color: color-mix(in oklch,var(--white) 62%,transparent); font-size: 11px; }
.principle b { display: block; margin-top: 30px; color: var(--lime); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }

.movement-process { background: linear-gradient(90deg,var(--paper) 0 68%,var(--mint) 68%); }
.process-photo { box-shadow: 0 35px 100px color-mix(in oklch,var(--green-deep) 13%,transparent); }
.process-path { padding: 20px; background: color-mix(in oklch,var(--white) 88%,transparent); }

.prices { margin: 0; }
.price-row { position: relative; overflow: hidden; }
.price-row::after { content: ""; position: absolute; left: 0; bottom: 0; width: var(--price-progress,0%); height: 2px; background: var(--lime); transition: width .65s cubic-bezier(.16,1,.3,1); }
.price-row:hover { --price-progress: 100%; }

.testimonials { padding-block: 180px; background: var(--night); color: var(--white); }
.testimonials .section-head h2 { color: var(--white); }
.testimonials .section-head h2 em { color: var(--lime); }
.testimonials .kicker { color: color-mix(in oklch,var(--white) 52%,transparent); }
.testimonial-track { background: color-mix(in oklch,var(--white) 12%,transparent); box-shadow: 0 40px 100px color-mix(in oklch,var(--night) 55%,transparent); }
.testimonial { color: var(--ink); }
.testimonial:first-child { background: var(--peach); }
.testimonial:first-child .quote { color: var(--coral); }
.slider-controls button { color: var(--white); border-color: color-mix(in oklch,var(--white) 28%,transparent); }
.slider-dots button { background: color-mix(in oklch,var(--white) 20%,transparent); }
.slider-dots button.active { background: var(--lime); }

.articles { padding-block: 180px; }
.article-card.featured { transform: translateY(24px); }
.article-card:nth-child(2) { transform: translateY(-20px); }
.article-cta { transform: translateY(54px); background: var(--coral); color: var(--white); }
.article-image { overflow: hidden; }
.article-image::after { content: ""; position: absolute; inset: 12px; border: 1px solid color-mix(in oklch,var(--white) 56%,transparent); pointer-events: none; }

.contact-section { position: relative; padding-block: 170px; overflow: hidden; }
.contact-section::before { content: "27"; position: absolute; left: -1vw; bottom: -8vw; color: color-mix(in oklch,var(--white) 4%,transparent); font-size: 38vw; font-weight: 700; line-height: 1; }
.contact-grid { position: relative; z-index: 2; }
.map-card { transform: none; }
.yandex-map { filter: saturate(.55) sepia(.12) contrast(.95); }

@keyframes traceDraw { to { stroke-dashoffset: 0; } }
@keyframes nodePulse { 50% { transform: scale(1.8); opacity: .45; } }

@media (max-width: 1100px) {
  .premium-hero .hero-copy { width: 64%; }
  .hero-technical { right: -150px; opacity: .66; }
  .principles-intro { margin-left: 0; }
  .principle { width: 230px; }
}

@media (max-width: 760px) {
  .premium-hero { padding-top: 92px; background: var(--paper); }
  .premium-hero::after { display: none; }
  .hero-stage { min-height: 1160px; }
  .hero-stage::before { background: linear-gradient(180deg,var(--white) 0 48%,color-mix(in oklch,var(--white) 92%,transparent) 54%,transparent 66%); }
  .premium-hero .hero-copy { width: 100%; padding: 34px 22px 0; }
  .hero-center-name { width: 100%; margin-bottom: 27px; padding: 15px 46px 15px 16px; }
  .hero-center-name::after { right: 10px; font-size: 39px; }
  .hero-center-name > span { max-width: 270px; font-size: 8px; letter-spacing: .075em; }
  .hero-center-name > strong { font-size: clamp(25px,7.4vw,32px); }
  .hero-center-name > small { margin-top: 6px; font-size: 8px; }
  .premium-hero h1 { font-size: clamp(43px,13vw,62px); }
  .hero-portrait { inset: 650px 0 74px; align-items: stretch; }
  .hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; transform: none; }
  .hero-technical { width: 430px; height: 430px; right: -190px; top: 660px; opacity: .48; }
  .hero-technical span { display: none; }
  .hero-seal { display: none; }
  .motion-ribbon { padding: 13px 0; }
  .motion-ribbon span { font-size: 16px; }
  .motion-ribbon i { margin: 0 22px; }
  .services { padding-top: 125px; }
  .service-tabs { border: 0; box-shadow: none; }
  .service-tab { padding: 16px 8px; }
  .service-panel { clip-path: none; }
  .body-map-section,.prices { margin-inline: 0; clip-path: none; }
  .recovery-visual { transform: none; }
  .about { padding-block: 120px; }
  .about-photo { transform: none; }
  .about-photo::after { right: -20px; top: -30px; }
  .about-copy { padding: 40px 24px; box-shadow: 0 25px 70px color-mix(in oklch,var(--green-deep) 9%,transparent); }
  .recovery-principles { min-height: auto; padding: 120px 0 100px; }
  .principles-intro h2 { font-size: clamp(46px,13vw,64px); }
  .principles-intro p { margin-left: 0; }
  .principles-visual { min-height: auto; display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 58px; padding-top: 0; }
  .principles-route { display: none; }
  .principle,.principle-one,.principle-two,.principle-three { position: relative; inset: auto; width: 100%; transform: none; }
  .principle + .principle { border-left: 0; }
  .movement-process { background: var(--paper); }
  .process-photo { transform: none; }
  .process-path { padding: 0; background: transparent; }
  .prices { padding-block: 125px; }
  .testimonials,.articles,.contact-section { padding-block: 120px; }
  .testimonial-track { transform: none; }
  .article-card.featured,.article-card:nth-child(2),.article-cta { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-trace,.trace-node,.principles-route path { animation: none; }
}

/* Photography-led replacement for infographic sections */
.body-map-section::before,
.recovery-visual::before,
.recovery-visual::after,
.recovery-principles::before { display: none; }

.recovery-visual {
  height: 760px;
  border: 0;
  background: var(--night);
}

.recovery-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(1.02);
}

.recovery-principles {
  min-height: auto;
  padding: clamp(120px,11vw,170px) 0;
}

.principles-layout {
  display: grid;
  grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr);
  align-items: center;
  gap: clamp(54px,7vw,110px);
}

.principles-intro {
  max-width: 600px;
  margin: 0;
}

.principles-intro h2 {
  font-size: clamp(52px,5.2vw,78px);
}

.principles-intro p { margin-left: 0; }

.principles-picture {
  position: relative;
  height: 680px;
  margin: 0;
  overflow: hidden;
  box-shadow: 0 42px 110px color-mix(in oklch,var(--night) 55%,transparent);
}

.principles-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.principles-picture figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 24px 28px;
  color: color-mix(in oklch,var(--white) 74%,transparent);
  background: color-mix(in oklch,var(--night) 91%,transparent);
  font-size: 11px;
  line-height: 1.5;
}

.process-stage {
  grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr);
  gap: clamp(48px,7vw,104px);
}

.process-intro {
  grid-column: auto;
  max-width: 500px;
}

.process-photo {
  min-height: 720px;
}

.process-photo img {
  height: 760px;
  object-position: center;
}

@media (max-width: 1100px) {
  .principles-layout { grid-template-columns: .82fr 1.18fr; gap: 46px; }
  .principles-picture { height: 580px; }
  .process-stage { grid-template-columns: .72fr 1.28fr; }
  .process-intro { grid-column: auto; }
}

@media (max-width: 760px) {
  .recovery-visual { height: 610px; }
  .recovery-visual img { object-position: center; transform: none; }
  .principles-layout { grid-template-columns: 1fr; gap: 42px; }
  .principles-picture { height: 470px; }
  .principles-intro h2 { font-size: clamp(45px,12.5vw,60px); }
  .process-stage { grid-template-columns: 1fr; }
  .process-photo { min-height: 500px; }
  .process-photo img { height: 540px; transform: none; }
}

/* Reception desk: evidence rail and direct-contact composition */
.hero-proof {
  height: 116px;
  padding-inline: clamp(12px,2vw,28px);
  background: color-mix(in oklch,var(--white) 97%,var(--mint));
  box-shadow: 0 -22px 56px color-mix(in oklch,var(--green-deep) 7%,transparent);
}
.hero-proof span {
  position: relative;
  height: 100%;
  display: grid;
  grid-template-columns: 12px 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 16px;
  padding: 0 clamp(22px,3vw,48px);
  text-align: left;
}
.hero-proof span::before {
  content: "";
  grid-row: 1 / 3;
  align-self: center;
  width: 10px;
  height: 10px;
  border: 1px solid var(--coral);
  border-radius: 50%;
  box-shadow: 0 0 0 6px color-mix(in oklch,var(--coral) 10%,transparent);
}
.hero-proof span:first-child::before { background: var(--coral); }
.hero-proof span:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 25px;
  bottom: 25px;
  width: 1px;
  background: var(--line);
}
.hero-proof small {
  color: color-mix(in oklch,var(--ink) 48%,transparent);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.hero-proof b {
  margin-top: 7px;
  color: var(--ink);
  font-size: clamp(14px,1.15vw,17px);
  font-weight: 560;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.portrait-signature { bottom: 142px; }

.premium-contacts {
  grid-template-columns: 1.18fr 1fr .82fr;
  align-items: start;
  gap: clamp(14px,1.7vw,26px);
  margin-top: clamp(26px,3vw,44px);
  padding-bottom: clamp(76px,7vw,112px);
  border: 0;
}
.premium-contacts .fact-card {
  --card-offset: 0px;
  position: relative;
  isolation: isolate;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 30px;
  padding: clamp(28px,3vw,44px);
  overflow: hidden;
  border: 0;
  box-shadow: 0 30px 72px color-mix(in oklch,var(--green-deep) 14%,transparent);
  transform: translateY(var(--card-offset));
  transition: transform .65s cubic-bezier(.16,1,.3,1), box-shadow .65s cubic-bezier(.16,1,.3,1);
  animation: contactAssemble .9s cubic-bezier(.16,1,.3,1) both;
}
.premium-contacts .fact-card:nth-child(2) { animation-delay: .1s; }
.premium-contacts .fact-card:nth-child(3) { animation-delay: .2s; }
.premium-contacts .fact-card:hover {
  transform: translateY(calc(var(--card-offset) - 9px));
  box-shadow: 0 42px 92px color-mix(in oklch,var(--green-deep) 21%,transparent);
}
.premium-contacts a.fact-card:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 5px;
}
.premium-contacts .fact-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.premium-contacts .fact-phone {
  min-height: 292px;
  color: var(--white);
  background: var(--night);
}
.premium-contacts .fact-phone::before {
  width: 330px;
  height: 330px;
  right: -128px;
  bottom: -188px;
  border: 1px solid color-mix(in oklch,var(--mint-2) 22%,transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 42px color-mix(in oklch,var(--mint-2) 4%,transparent);
}
.premium-contacts .fact-address {
  --card-offset: 34px;
  min-height: 264px;
  color: var(--green-deep);
  background: color-mix(in oklch,var(--peach) 80%,var(--paper));
}
.premium-contacts .fact-address::before {
  right: 22%;
  top: -38%;
  width: 1px;
  height: 178%;
  background: color-mix(in oklch,var(--green-deep) 16%,transparent);
  transform: rotate(32deg);
}
.premium-contacts .fact-schedule {
  --card-offset: 8px;
  min-height: 236px;
  color: var(--green-deep);
  background: color-mix(in oklch,var(--mint) 92%,var(--paper));
  cursor: default;
}
.premium-contacts .fact-schedule::before {
  inset: 15px;
  border: 1px solid color-mix(in oklch,var(--green-deep) 10%,transparent);
}
.fact-topline {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.premium-contacts .fact-icon {
  min-width: 0;
  color: currentColor;
  opacity: .66;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .15em;
  line-height: 1.3;
  text-transform: uppercase;
}
.fact-topline > i {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0;
  border: 1px solid color-mix(in oklch,currentColor 28%,transparent);
  border-radius: 50%;
  color: currentColor;
  font-size: 18px;
  font-style: normal;
  transition: transform .55s cubic-bezier(.16,1,.3,1), background-color .3s;
}
.fact-card:hover .fact-topline > i { transform: translate(3px,-3px); }
.fact-phone .fact-topline > i { color: var(--mint-2); }
.fact-schedule .fact-topline > i {
  width: auto;
  height: auto;
  border: 0;
  color: var(--coral);
  font-size: 10px;
  animation: contactPulse 2.4s ease-out infinite;
}
.fact-content {
  position: relative;
  z-index: 1;
  display: block;
}
.premium-contacts .fact-content b {
  display: block;
  font-family: var(--sans);
  font-size: clamp(27px,2.2vw,38px);
  font-weight: 540;
  letter-spacing: -.055em;
  line-height: 1.03;
}
.premium-contacts .fact-address .fact-content b { font-size: clamp(36px,3.25vw,54px); font-weight: 430; }
.premium-contacts .fact-content small {
  display: block;
  margin-top: 13px;
  color: currentColor;
  opacity: .62;
  font-size: 13px;
  font-weight: 480;
  letter-spacing: -.015em;
  line-height: 1.45;
}
.fact-hint {
  position: relative;
  z-index: 1;
  display: block;
  color: currentColor;
  opacity: .7;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
}
@keyframes contactAssemble {
  from { opacity: 0; transform: translateY(calc(var(--card-offset) + 30px)); }
  to { opacity: 1; transform: translateY(var(--card-offset)); }
}

@media (max-width: 1100px) {
  .premium-contacts { grid-template-columns: 1.12fr .88fr; padding-bottom: 84px; }
  .premium-contacts .fact-card { --card-offset: 0px; min-height: 240px; }
  .premium-contacts .fact-schedule {
    grid-column: 1 / -1;
    min-height: 210px;
    display: grid;
    grid-template-columns: .8fr 1fr 1.15fr;
    align-items: center;
    gap: 34px;
  }
  .fact-schedule .fact-hint { text-align: right; }
}

@media (max-width: 760px) {
  .hero-stage { min-height: 1160px; }
  .hero-portrait { inset: 650px 0 132px; }
  .hero-proof {
    height: 132px;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 10px 22px;
  }
  .hero-proof span {
    grid-template-columns: 10px 78px 1fr;
    grid-template-rows: 1fr;
    column-gap: 12px;
    padding: 0;
    border-bottom: 1px solid var(--line);
  }
  .hero-proof span:last-child { border-bottom: 0; }
  .hero-proof span::before { grid-row: auto; width: 7px; height: 7px; box-shadow: none; }
  .hero-proof span:not(:last-child)::after { display: none; }
  .hero-proof small { align-self: center; font-size: 8px; }
  .hero-proof b { align-self: center; margin: 0; font-size: 12px; }
  .portrait-signature { bottom: 148px; }
  .premium-contacts {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 20px;
    padding-bottom: 54px;
  }
  .premium-contacts .fact-card,
  .premium-contacts .fact-schedule {
    grid-column: auto;
    min-height: 202px;
    display: flex;
    padding: 27px 25px;
    gap: 22px;
  }
  .fact-schedule .fact-hint { text-align: left; }
  .premium-contacts .fact-phone { min-height: 224px; }
  .premium-contacts .fact-content b { font-size: clamp(27px,8.4vw,34px); }
  .premium-contacts .fact-address .fact-content b { font-size: clamp(39px,12vw,49px); }
  .fact-topline > i { width: 42px; height: 42px; }
  .fact-hint { font-size: 11px; }
}

/* Production polish: clearer hierarchy, fewer template-like motifs */
.about::after,
.prices::after,
.contact-section::before,
.service-copy::after,
.service-image::after,
.article-image::after { display: none; }

body { font-size: 17px; }
.kicker {
  font-size: 11px;
  letter-spacing: .14em;
}
.section-head p,
.body-map-copy p,
.principles-intro p,
.process-intro p,
.prices-intro > p,
.contact-copy > p {
  font-size: clamp(16px,1.2vw,18px);
  line-height: 1.65;
}
.section-head p { max-width: 520px; }
.button { min-height: 62px; padding-inline: 28px; font-size: 14px; }
.text-link,.arrow-link { font-size: 14px; }

.service-tab {
  padding: 24px 22px;
  font-size: 15px;
  font-weight: 560;
}
.service-tab span { margin-right: 14px; font-size: 24px; }
.service-copy p { max-width: 58ch; font-size: 16px; line-height: 1.7; }
.service-copy li { font-size: 14px; line-height: 1.5; }
.service-index { font-size: 11px; }

.about-photo > img {
  filter: saturate(.7) contrast(.98);
}
.about-credential {
  display: grid;
  place-items: start center;
  height: clamp(520px,45vw,590px);
  padding: clamp(22px,2.4vw,34px);
  background:
    radial-gradient(circle at 82% 14%,color-mix(in oklch,var(--peach) 34%,transparent),transparent 32%),
    linear-gradient(135deg,color-mix(in oklch,var(--mint) 68%,var(--paper)),var(--paper));
  box-shadow:
    inset 0 0 0 1px color-mix(in oklch,var(--green) 13%,transparent),
    0 34px 80px color-mix(in oklch,var(--green-deep) 10%,transparent);
}
.about-credential > img {
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  transform: none;
  will-change: auto;
  filter: sepia(.08) saturate(.72) contrast(1.03);
  box-shadow: 0 26px 70px color-mix(in oklch,var(--green-deep) 18%,transparent);
}
.about-copy > p:not(.large-copy) { font-size: 16px; line-height: 1.72; }
.large-copy { font-size: clamp(21px,1.75vw,25px); line-height: 1.52; }
.about-proof {
  display: grid;
  gap: 0;
  margin: 38px 0 42px;
  border-top: 1px solid var(--line);
}
.about-proof p {
  display: grid;
  grid-template-columns: minmax(150px,.7fr) minmax(0,1.3fr);
  gap: 26px;
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.about-proof strong {
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}
.about-proof span {
  color: color-mix(in oklch,var(--ink) 64%,transparent);
  font-size: 13px;
  line-height: 1.55;
}

.process-stage {
  grid-template-columns: minmax(380px,.76fr) minmax(0,1.24fr);
  gap: clamp(56px,7vw,108px);
}
.process-intro { max-width: 590px; }
.process-intro h2 {
  font-size: clamp(48px,4.5vw,68px);
  line-height: 1.01;
}
.process-intro p { max-width: 44ch; }

.price-list { border-top-color: color-mix(in oklch,var(--white) 26%,transparent); }
.price-row {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 30px;
  min-height: 108px;
  padding-block: 27px;
}
.price-age { display: none; }
.price-row h3 { font-size: clamp(19px,1.65vw,23px); font-weight: 560; }
.price-row small { font-size: 13px; }
.price-row > b { font-size: clamp(24px,2vw,30px); white-space: nowrap; }

.testimonial > p { line-height: 1.62; }
.testimonial:not(:first-child) > p { font-size: 17px; }
.testimonial footer b { font-size: 12px; }
.testimonial footer small { font-size: 10px; }

.article-grid { grid-template-columns: 1.2fr .82fr .7fr; gap: clamp(18px,1.8vw,28px); }
.article-card { min-height: 540px; }
.article-card.featured { min-height: 610px; }
.article-image { height: 255px; }
.article-card.featured .article-image { height: 315px; }
.article-body { padding: clamp(28px,2.6vw,38px); }
.article-body > span { font-size: 11px; }
.article-body h3,.article-cta h3 { font-size: clamp(24px,2vw,31px); line-height: 1.18; hyphens: none; overflow-wrap: normal; word-break: normal; }
.article-body p { font-size: 14px; line-height: 1.65; }
.article-body i,.article-cta i { font-size: 13px; }
.article-cta {
  min-height: 520px;
  padding: clamp(30px,3vw,44px);
  background: var(--night);
  box-shadow: 0 34px 80px color-mix(in oklch,var(--night) 34%,transparent);
}
.article-cta:hover { background: color-mix(in oklch,var(--night) 92%,var(--green-2)); }
.article-cta small { color: var(--mint-2); font-size: 11px; letter-spacing: .12em; }
.article-cta strong {
  display: block;
  margin: 28px 0 8px;
  color: var(--white);
  font-size: clamp(18px,1.45vw,22px);
  font-weight: 560;
}
.article-cta .round-arrow {
  width: 66px;
  height: 66px;
  border-color: color-mix(in oklch,var(--coral) 72%,transparent);
  color: var(--coral);
}

.direct-contacts small { font-size: 11px; }
.direct-contacts b { font-size: clamp(21px,1.8vw,26px); }
.contact-details small { font-size: 11px; }
.contact-details b { font-size: clamp(19px,1.65vw,24px); }
.contact-details a { font-size: 13px; }
.contact-hours { font-size: 12px; }
.footer-grid p { font-size: 12px; line-height: 1.55; }
.footer-grid > div a,.footer-grid > div small { font-size: 12px; }

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 4px;
}
@media (scripting: none) {
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 1100px) {
  .process-stage { grid-template-columns: minmax(300px,.74fr) minmax(0,1.26fr); gap: 46px; }
  .process-intro h2 { font-size: clamp(44px,5.2vw,58px); }
  .article-grid { grid-template-columns: 1fr 1fr; }
  .article-cta { grid-column: 1 / -1; min-height: 300px; transform: none; }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .kicker { font-size: 10px; }
  .section-head p,
  .body-map-copy p,
  .principles-intro p,
  .process-intro p,
  .prices-intro > p,
  .contact-copy > p { font-size: 15px; }
  .service-tab { padding: 17px 12px; font-size: 13px; }
  .service-tab span { display: block; margin: 0 0 3px; font-size: 20px; }
  .service-copy p { font-size: 15px; }
  .service-copy li { font-size: 13px; }
  .about-proof p { grid-template-columns: 1fr; gap: 8px; }
  .about-proof strong { font-size: 14px; }
  .about-proof span { font-size: 13px; }
  .process-stage { grid-template-columns: 1fr; gap: 42px; }
  .process-intro h2 { font-size: clamp(43px,12.4vw,58px); }
  .price-row { min-height: 94px; gap: 14px; }
  .price-row h3 { font-size: 17px; }
  .price-row small { font-size: 12px; }
  .price-row > b { font-size: 20px; }
  .article-grid { grid-template-columns: 1fr; gap: 18px; }
  .article-card,
  .article-card.featured { min-height: auto; transform: none; }
  .article-image,
  .article-card.featured .article-image { height: 260px; }
  .article-cta { grid-column: auto; min-height: 360px; }
  .direct-contacts b { font-size: 20px; overflow-wrap: anywhere; }
}

/* Premium age-path section */
.services {
  padding-block: clamp(150px,13vw,205px);
  background: var(--paper);
}
.services::before { display: none; }
.services .section-head {
  grid-template-columns: minmax(0,1.16fr) minmax(320px,.52fr);
  align-items: end;
  gap: clamp(70px,9vw,145px);
  margin-bottom: clamp(62px,6vw,88px);
}
.services .section-head h2 {
  max-width: 900px;
  font-size: clamp(62px,6.8vw,104px);
  line-height: .9;
  letter-spacing: -.07em;
}
.services .section-head h2 em {
  display: inline-block;
  margin-top: 10px;
  color: var(--green-2);
}
.services .section-head > p {
  max-width: 470px;
  padding-top: 25px;
  border-top: 1px solid color-mix(in oklch,var(--green) 34%,transparent);
  color: color-mix(in oklch,var(--ink) 70%,transparent);
  font-size: 18px;
  line-height: 1.72;
}
.direction-ledger {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-bottom: clamp(58px,5vw,76px);
  border-top: 1px solid color-mix(in oklch,var(--green-deep) 24%,transparent);
  border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 18%,transparent);
}
.direction-ledger article {
  display: grid;
  align-content: space-between;
  min-height: 248px;
  padding: 30px clamp(20px,2.1vw,32px) 28px;
  border-right: 1px solid color-mix(in oklch,var(--green-deep) 16%,transparent);
  transition: color .4s cubic-bezier(.16,1,.3,1),background-color .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);
}
.direction-ledger article:last-child { border-right: 0; }
.direction-ledger article:hover { color: var(--white); background: var(--green-deep); transform: translateY(-6px); }
.direction-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 38px;
  border: 1px solid color-mix(in oklch,var(--green-deep) 24%,transparent);
  border-radius: 50%;
  color: var(--green-deep);
  transition: color .4s,border-color .4s,background-color .4s;
}
.direction-icon svg { width: 31px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.direction-ledger article:hover .direction-icon { color: var(--night); border-color: var(--coral); background: var(--coral); }
.direction-ledger h3 { margin: 0 0 13px; font-size: clamp(20px,1.6vw,24px); font-weight: 560; line-height: 1.12; letter-spacing: -.045em; }
.direction-ledger p { max-width: 28ch; margin: 0; color: color-mix(in oklch,var(--green-deep) 62%,transparent); font-size: 13px; line-height: 1.55; }
.direction-ledger article:hover p { color: color-mix(in oklch,var(--white) 72%,transparent); }
.age-program-heading {
  display: grid;
  grid-template-columns: minmax(220px,.35fr) minmax(0,1fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 22px;
}
.age-program-heading span { color: var(--green-deep); font-size: 12px; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }
.age-program-heading p { max-width: 520px; margin: 0; color: color-mix(in oklch,var(--green-deep) 58%,transparent); font-size: 13px; line-height: 1.55; }
.services .service-tabs {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border: 0;
  background: var(--night);
  box-shadow: 0 30px 85px color-mix(in oklch,var(--night) 22%,transparent);
}
.services .service-tab {
  position: relative;
  min-height: 126px;
  padding: 24px 28px 22px;
  border: 0;
  border-right: 1px solid color-mix(in oklch,var(--white) 15%,transparent);
  color: color-mix(in oklch,var(--mint-2) 70%,transparent);
  background: transparent;
  font-size: 14px;
  line-height: 1.2;
  transition: color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);
}
.services .service-tab:last-child { border-right: 0; }
.services .service-tab span {
  display: block;
  margin: 0 0 14px;
  color: var(--white);
  font-family: var(--sans);
  font-size: clamp(28px,2.5vw,38px);
  font-weight: 350;
  letter-spacing: -.055em;
}
.services .service-tab::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 0;
  height: 3px;
  background: var(--coral);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}
.services .service-tab:hover { color: var(--white); background: color-mix(in oklch,var(--green) 36%,var(--night)); }
.services .service-tab.active {
  color: var(--night);
  background: var(--peach);
  transform: translateY(-8px);
  box-shadow: 0 18px 40px color-mix(in oklch,var(--night) 22%,transparent);
}
.services .service-tab.active span { color: var(--night); }
.services .service-tab.active::after { transform: scaleX(1); }
.services .service-panel {
  grid-template-columns: minmax(0,1.12fr) minmax(470px,.88fr);
  min-height: 660px;
  margin-top: 0;
  background: var(--night);
  box-shadow: 0 45px 110px color-mix(in oklch,var(--night) 24%,transparent);
}
.services .service-image {
  position: relative;
  min-height: 660px;
  background: var(--mint);
}
.services .service-image::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg,transparent 55%,color-mix(in oklch,var(--night) 76%,transparent));
  pointer-events: none;
}
.services .service-image img { object-position: center; filter: saturate(.82) contrast(1.02); }
.services .service-image-note {
  position: absolute;
  z-index: 2;
  left: clamp(28px,3.8vw,56px);
  right: clamp(28px,3.8vw,56px);
  bottom: clamp(28px,3.8vw,52px);
  padding-top: 18px;
  border-top: 1px solid color-mix(in oklch,var(--white) 46%,transparent);
  color: var(--white);
}
.services .service-image-note small,
.services .service-image-note strong { display: block; }
.services .service-image-note small {
  margin-bottom: 7px;
  color: color-mix(in oklch,var(--mint-2) 80%,transparent);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.services .service-image-note strong { font-size: clamp(18px,1.5vw,22px); font-weight: 520; }
.services .service-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(58px,6vw,90px);
  color: var(--white);
  background: var(--night);
}
.services .service-index {
  color: var(--coral);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.services .service-copy h3 {
  max-width: 620px;
  margin: 24px 0 24px;
  color: var(--white);
  font-size: clamp(43px,4.2vw,62px);
  font-weight: 430;
  line-height: 1.01;
  letter-spacing: -.058em;
}
.services .service-copy p {
  max-width: 54ch;
  color: color-mix(in oklch,var(--mint-2) 72%,transparent);
  font-size: 17px;
  line-height: 1.72;
}
.services .service-copy ul {
  grid-template-columns: 1fr;
  gap: 0;
  margin: 34px 0 42px;
  border-top: 1px solid color-mix(in oklch,var(--white) 15%,transparent);
}
.services .service-copy li {
  min-height: 48px;
  padding: 14px 0 13px 24px;
  border-bottom: 1px solid color-mix(in oklch,var(--white) 15%,transparent);
  color: color-mix(in oklch,var(--white) 90%,transparent);
  font-size: 14px;
}
.services .service-copy li::before { top: 20px; width: 6px; height: 6px; border-color: var(--coral); }
.services .arrow-link {
  align-self: flex-start;
  min-height: 58px;
  padding: 0 24px;
  border: 1px solid var(--coral);
  color: var(--white);
  background: transparent;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: color .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);
}
.services .arrow-link:hover { color: var(--night); background: var(--coral); transform: translateY(-3px); }

@media (max-width: 980px) {
  .services .section-head { grid-template-columns: 1fr; gap: 34px; }
  .services .section-head > p { max-width: 620px; }
  .direction-ledger { grid-template-columns: 1fr 1fr; }
  .direction-ledger article:nth-child(2) { border-right: 0; }
  .direction-ledger article:nth-child(-n+2) { border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 16%,transparent); }
  .services .service-panel { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .services { padding-block: 120px; }
  .services .section-head { margin-bottom: 52px; }
  .services .section-head h2 { font-size: clamp(50px,14.4vw,64px); line-height: .93; }
  .services .section-head > p { padding-top: 20px; font-size: 16px; }
  .direction-ledger { grid-template-columns: 1fr; margin-bottom: 52px; }
  .direction-ledger article { grid-template-columns: 54px minmax(0,1fr); gap: 18px; align-content: center; min-height: 0; padding: 25px 8px; border-right: 0; border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 16%,transparent); }
  .direction-ledger article:nth-child(-n+2) { border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 16%,transparent); }
  .direction-ledger article:last-child { border-bottom: 0; }
  .direction-ledger article:hover { transform: none; }
  .direction-icon { margin: 0; }
  .direction-ledger h3 { font-size: 21px; }
  .direction-ledger p { font-size: 12px; }
  .age-program-heading { grid-template-columns: 1fr; gap: 9px; }
  .services .service-tabs { grid-template-columns: 1fr 1fr; }
  .services .service-tab { min-height: 106px; padding: 20px 18px; border-bottom: 1px solid color-mix(in oklch,var(--white) 15%,transparent); font-size: 13px; }
  .services .service-tab:nth-child(2) { border-right: 0; }
  .services .service-tab:nth-child(n+3) { border-bottom: 0; }
  .services .service-tab span { margin-bottom: 9px; font-size: 28px; }
  .services .service-tab::after { left: 18px; right: 18px; height: 2px; }
  .services .service-tab.active { transform: none; }
  .services .service-panel { grid-template-columns: 1fr; min-height: 0; }
  .services .service-image { min-height: 440px; }
  .services .service-copy { padding: 48px 28px 54px; }
  .services .service-copy h3 { font-size: clamp(40px,11.6vw,50px); }
  .services .service-copy p { font-size: 16px; }
  .services .service-copy li { font-size: 14px; }
  .services .arrow-link { width: 100%; justify-content: space-between; }
}

/* Material background art direction */
.services,
.body-map-section,
.about,
.recovery-principles,
.movement-process,
.prices,
.testimonials,
.articles,
.contact-section {
  isolation: isolate;
}

.services {
  padding-block: clamp(130px,10.5vw,165px);
  background:
    linear-gradient(118deg,transparent 0 63%,color-mix(in oklch,var(--peach) 30%,transparent) 63% 78%,transparent 78%),
    repeating-linear-gradient(90deg,color-mix(in oklch,var(--green) 5%,transparent) 0 1px,transparent 1px 92px),
    var(--paper);
}

.body-map-section {
  background:
    radial-gradient(ellipse at 4% 96%,color-mix(in oklch,var(--coral) 16%,transparent),transparent 34%),
    repeating-radial-gradient(circle at 88% 28%,transparent 0 84px,color-mix(in oklch,var(--mint-2) 8%,transparent) 85px 86px),
    linear-gradient(118deg,color-mix(in oklch,var(--green-2) 26%,var(--night)) 0 42%,transparent 42%),
    var(--night);
}

.about {
  padding-block: clamp(130px,10.5vw,160px);
  background:
    linear-gradient(180deg,transparent 0 70%,color-mix(in oklch,var(--mint) 46%,var(--paper)) 70% 100%),
    repeating-linear-gradient(0deg,color-mix(in oklch,var(--green) 4%,transparent) 0 1px,transparent 1px 82px),
    linear-gradient(90deg,color-mix(in oklch,var(--clay) 55%,var(--paper)) 0 41%,var(--paper) 41% 100%);
}

.recovery-principles {
  background:
    radial-gradient(circle at 84% 34%,color-mix(in oklch,var(--mint-2) 13%,transparent),transparent 35%),
    repeating-radial-gradient(circle at 84% 34%,transparent 0 72px,color-mix(in oklch,var(--white) 6%,transparent) 73px 74px),
    linear-gradient(142deg,color-mix(in oklch,var(--coral) 7%,var(--night)),var(--night) 44%);
}

.movement-process {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(112deg,transparent 0 45%,color-mix(in oklch,var(--peach) 24%,transparent) 45% 60%,transparent 60%),
    repeating-linear-gradient(0deg,color-mix(in oklch,var(--green) 4.5%,transparent) 0 1px,transparent 1px 78px),
    linear-gradient(90deg,var(--paper) 0 68%,color-mix(in oklch,var(--mint) 90%,var(--paper)) 68% 100%);
}
.movement-process::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(610px,44vw);
  height: min(610px,44vw);
  left: -13vw;
  bottom: -21vw;
  border: 1px solid color-mix(in oklch,var(--coral) 28%,transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 86px color-mix(in oklch,var(--coral) 3%,transparent),0 0 0 172px color-mix(in oklch,var(--coral) 2%,transparent);
}
.movement-process .container { position: relative; z-index: 1; }

.prices {
  background:
    radial-gradient(ellipse at 0 62%,color-mix(in oklch,var(--coral) 14%,transparent),transparent 35%),
    linear-gradient(116deg,transparent 0 69%,color-mix(in oklch,var(--mint-2) 6%,transparent) 69% 100%),
    repeating-linear-gradient(0deg,transparent 0 88px,color-mix(in oklch,var(--white) 3.5%,transparent) 89px 90px),
    var(--green-deep);
}

.testimonials {
  padding-block: clamp(135px,10vw,155px);
  background:
    linear-gradient(142deg,transparent 0 72%,color-mix(in oklch,var(--coral) 7%,transparent) 72% 73%,transparent 73%),
    radial-gradient(ellipse at 84% 16%,color-mix(in oklch,var(--coral) 11%,transparent),transparent 29%),
    repeating-linear-gradient(135deg,transparent 0 108px,color-mix(in oklch,var(--white) 2.5%,transparent) 109px 110px),
    linear-gradient(90deg,var(--night) 0 70%,color-mix(in oklch,var(--mint) 9%,var(--night)) 70% 100%);
}

.articles {
  position: relative;
  overflow: hidden;
  padding-block: clamp(135px,10vw,155px);
  background:
    radial-gradient(circle at 7% 86%,color-mix(in oklch,var(--peach) 40%,transparent),transparent 24%),
    linear-gradient(108deg,transparent 0 62%,color-mix(in oklch,var(--mint) 54%,var(--paper)) 62% 83%,transparent 83%),
    repeating-linear-gradient(90deg,color-mix(in oklch,var(--green) 4%,transparent) 0 1px,transparent 1px 104px),
    var(--paper);
}
.articles::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 410px;
  height: 410px;
  right: -145px;
  top: 95px;
  border: 1px solid color-mix(in oklch,var(--green) 18%,transparent);
  border-radius: 50%;
}
.articles > .container { position: relative; z-index: 1; }

.contact-section {
  padding-block: clamp(135px,10vw,155px);
  background:
    radial-gradient(ellipse at 84% 12%,color-mix(in oklch,var(--mint-2) 11%,transparent),transparent 34%),
    linear-gradient(114deg,var(--night) 0 63%,color-mix(in oklch,var(--green-2) 22%,var(--night)) 63% 100%),
    repeating-linear-gradient(90deg,transparent 0 96px,color-mix(in oklch,var(--white) 3.5%,transparent) 97px 98px),
    var(--night);
}

@media (max-width: 760px) {
  .services {
    padding-block: 108px;
    background:
      linear-gradient(142deg,transparent 0 56%,color-mix(in oklch,var(--peach) 27%,transparent) 56% 69%,transparent 69%),
      repeating-linear-gradient(90deg,color-mix(in oklch,var(--green) 4.5%,transparent) 0 1px,transparent 1px 54px),
      var(--paper);
  }
  .about {
    padding-block: 105px;
    background:
      linear-gradient(180deg,color-mix(in oklch,var(--clay) 52%,var(--paper)) 0 36%,var(--paper) 36% 77%,color-mix(in oklch,var(--mint) 45%,var(--paper)) 77% 100%),
      repeating-linear-gradient(90deg,color-mix(in oklch,var(--green) 4%,transparent) 0 1px,transparent 1px 58px);
  }
  .movement-process {
    background:
      linear-gradient(156deg,transparent 0 55%,color-mix(in oklch,var(--peach) 20%,transparent) 55% 67%,transparent 67%),
      repeating-linear-gradient(0deg,color-mix(in oklch,var(--green) 4%,transparent) 0 1px,transparent 1px 64px),
      linear-gradient(180deg,var(--paper) 0 70%,color-mix(in oklch,var(--mint) 82%,var(--paper)) 70% 100%);
  }
  .movement-process::before { width: 340px; height: 340px; left: -230px; bottom: 22%; box-shadow: none; }
  .testimonials,
  .articles,
  .contact-section { padding-block: 112px; }
  .testimonials {
    background:
      radial-gradient(circle at 88% 12%,color-mix(in oklch,var(--coral) 10%,transparent),transparent 27%),
      linear-gradient(90deg,var(--night) 0 82%,color-mix(in oklch,var(--mint) 9%,var(--night)) 82% 100%);
  }
  .articles {
    background:
      radial-gradient(circle at 4% 88%,color-mix(in oklch,var(--peach) 38%,transparent),transparent 25%),
      linear-gradient(150deg,transparent 0 62%,color-mix(in oklch,var(--mint) 48%,var(--paper)) 62% 80%,transparent 80%),
      repeating-linear-gradient(90deg,color-mix(in oklch,var(--green) 4%,transparent) 0 1px,transparent 1px 62px),
      var(--paper);
  }
  .articles::before { width: 260px; height: 260px; right: -170px; top: 60px; }
}

/* Editorial medical image underlays */
.services,
.testimonials {
  position: relative;
  overflow: hidden;
}

.services::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  width: auto;
  height: min(650px,46vw);
  min-width: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,rgba(247,244,236,.08) 0,rgba(247,244,236,.28) 36%,rgba(247,244,236,.98) 71% 100%),
    url("site-content/media/backgrounds/gait-assessment-underlay-v1.webp") center 46% / cover no-repeat;
  filter: saturate(.72) contrast(.92);
  opacity: .62;
  transform: scaleX(-1) scale(1.02);
  transform-origin: center;
  -webkit-mask-image: linear-gradient(180deg,#000 0 58%,transparent 100%);
  mask-image: linear-gradient(180deg,#000 0 58%,transparent 100%);
}

.services > .container,
.testimonials > .container {
  position: relative;
  z-index: 1;
}

.testimonials::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: min(720px,58vw);
  pointer-events: none;
  background:
    linear-gradient(90deg,var(--night) 0 34%,color-mix(in oklch,var(--night) 64%,transparent) 70%,color-mix(in oklch,var(--night) 28%,transparent) 100%),
    linear-gradient(180deg,transparent 0 38%,var(--night) 100%),
    url("site-content/media/backgrounds/manual-therapy-underlay-v1.webp") center 52% / cover no-repeat;
  background-blend-mode: normal,multiply,normal;
  filter: saturate(.7) contrast(.96);
  opacity: .5;
  -webkit-mask-image: linear-gradient(180deg,#000 0 62%,transparent 100%);
  mask-image: linear-gradient(180deg,#000 0 62%,transparent 100%);
}

@media (max-width: 760px) {
  .services::before {
    height: 470px;
    background-position: 35% 50%;
    opacity: .34;
    -webkit-mask-image: linear-gradient(180deg,#000 0 46%,transparent 88%);
    mask-image: linear-gradient(180deg,#000 0 46%,transparent 88%);
  }
  .testimonials::before {
    height: 430px;
    background-position: 62% center;
    opacity: .3;
  }
}

/* Contact console: functional, icon-led, restrained */
.premium-contacts {
  display: grid;
  grid-template-columns: minmax(0,1.18fr) minmax(0,1fr) minmax(0,.86fr);
  align-items: stretch;
  gap: 1px;
  margin-top: clamp(30px,3.4vw,52px);
  margin-bottom: clamp(72px,6vw,96px);
  padding: 1px;
  background: linear-gradient(90deg,color-mix(in oklch,var(--green-deep) 17%,transparent),color-mix(in oklch,var(--green-deep) 8%,transparent));
  box-shadow: 0 34px 90px color-mix(in oklch,var(--green-deep) 12%,transparent);
}

.premium-contacts .fact-card,
.premium-contacts .fact-phone,
.premium-contacts .fact-address,
.premium-contacts .fact-schedule {
  --card-offset: 0px;
  min-height: 292px;
  display: flex;
  padding: clamp(30px,3.2vw,48px);
  gap: clamp(28px,3vw,44px);
  border: 0;
  box-shadow: none;
  transform: none;
  animation: none;
  transition: background-color .45s cubic-bezier(.16,1,.3,1);
}

.premium-contacts .fact-card::before { display: none; }
.premium-contacts .fact-card:hover { transform: none; box-shadow: none; }
.premium-contacts .fact-phone { color: var(--white); background: var(--night); }
.premium-contacts .fact-address { color: var(--green-deep); background: color-mix(in oklch,var(--peach) 34%,var(--paper)); }
.premium-contacts .fact-schedule { color: var(--green-deep); background: color-mix(in oklch,var(--mint) 58%,var(--paper)); }
.premium-contacts .fact-phone:hover { background: color-mix(in oklch,var(--green-2) 32%,var(--night)); }
.premium-contacts .fact-address:hover { background: color-mix(in oklch,var(--peach) 47%,var(--paper)); }

.premium-contacts .fact-topline {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
}

.contact-symbol {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  color: currentColor;
  border: 1px solid color-mix(in oklch,currentColor 22%,transparent);
  background: color-mix(in oklch,currentColor 4%,transparent);
}

.contact-symbol svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.premium-contacts .fact-icon {
  opacity: .62;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .145em;
}

.contact-action {
  position: relative;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: currentColor;
  font-size: 19px;
  line-height: 1;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}

.contact-action::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  opacity: .22;
}

.fact-card:hover .contact-action { transform: translate(3px,-3px); }
.fact-phone .contact-symbol { color: var(--mint-2); }

.schedule-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: color-mix(in oklch,var(--green-deep) 58%,transparent);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.schedule-status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--coral);
  box-shadow: 0 0 0 5px color-mix(in oklch,var(--coral) 10%,transparent);
}

.premium-contacts .fact-content { margin-top: auto; }
.premium-contacts .fact-content b {
  font-size: clamp(30px,2.5vw,43px);
  font-weight: 490;
  letter-spacing: -.052em;
}
.premium-contacts .fact-address .fact-content b {
  font-size: clamp(37px,3.2vw,52px);
  font-weight: 470;
}
.premium-contacts .fact-schedule .fact-content b {
  font-size: clamp(34px,2.8vw,47px);
}
.premium-contacts .fact-content small {
  margin-top: 10px;
  opacity: .58;
  font-size: 12px;
}

.premium-contacts .fact-hint {
  padding-top: 17px;
  border-top: 1px solid color-mix(in oklch,currentColor 16%,transparent);
  opacity: .66;
  font-size: 10px;
  font-weight: 570;
  letter-spacing: .015em;
}

@media (max-width: 1100px) {
  .premium-contacts {
    grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
    margin-bottom: 82px;
  }
  .premium-contacts .fact-card,
  .premium-contacts .fact-phone,
  .premium-contacts .fact-address { min-height: 280px; }
  .premium-contacts .fact-schedule {
    grid-column: 1 / -1;
    min-height: 196px;
    display: grid;
    grid-template-columns: minmax(260px,.8fr) minmax(260px,1fr) minmax(220px,.8fr);
    align-items: center;
  }
  .premium-contacts .fact-schedule .fact-content { margin-top: 0; }
  .fact-schedule .fact-hint { text-align: right; }
}

@media (max-width: 760px) {
  .premium-contacts {
    grid-template-columns: 1fr;
    gap: 1px;
    margin-top: 20px;
    margin-bottom: 54px;
    padding: 1px;
  }
  .premium-contacts .fact-card,
  .premium-contacts .fact-phone,
  .premium-contacts .fact-address,
  .premium-contacts .fact-schedule {
    grid-column: auto;
    min-height: 236px;
    display: flex;
    padding: 28px 25px;
    gap: 26px;
  }
  .premium-contacts .fact-topline { grid-template-columns: 48px minmax(0,1fr) auto; gap: 13px; }
  .contact-symbol { width: 48px; height: 48px; }
  .contact-symbol svg { width: 21px; height: 21px; }
  .premium-contacts .fact-content b { font-size: clamp(28px,8vw,34px); }
  .premium-contacts .fact-address .fact-content b { font-size: clamp(37px,11vw,46px); }
  .premium-contacts .fact-schedule .fact-content b { font-size: clamp(34px,9vw,40px); }
  .fact-schedule .fact-hint { text-align: left; }
}

/* Information architecture: three clear opening screens, one dense method section */
.premium-hero {
  min-height: auto;
  padding-bottom: clamp(54px,5vw,76px);
}

.method-summary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  color: var(--white);
  background: color-mix(in oklch,var(--green-deep) 32%,var(--night));
}

.method-summary::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: min(1000px,72vw) 0 0;
  opacity: .14;
  pointer-events: none;
  background-image: repeating-linear-gradient(90deg,transparent 0 95px,color-mix(in oklch,var(--white) 5%,transparent) 96px 97px);
}

.method-showcase {
  position: relative;
  min-height: clamp(900px,72vw,1080px);
  overflow: hidden;
  padding: clamp(138px,10vw,178px) 0 clamp(78px,7vw,112px);
  background: var(--night);
}

.method-backdrop {
  position: absolute;
  z-index: 0;
  inset: -28px;
  overflow: hidden;
}

.method-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,color-mix(in oklch,var(--night) 97%,transparent) 0%,color-mix(in oklch,var(--night) 86%,transparent) 46%,color-mix(in oklch,var(--green-deep) 48%,transparent) 76%,color-mix(in oklch,var(--night) 62%,transparent) 100%),
    linear-gradient(180deg,color-mix(in oklch,var(--night) 20%,transparent) 0%,color-mix(in oklch,var(--night) 46%,transparent) 62%,color-mix(in oklch,var(--night) 96%,transparent) 100%);
  pointer-events: none;
}

.method-backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(.72) contrast(1.04);
  transform: translate3d(0,var(--parallax-y,0),0) scale(1.06);
  transition: transform 1.2s cubic-bezier(.16,1,.3,1),filter .8s ease;
  will-change: transform;
}

.method-showcase:hover .method-backdrop img {
  filter: saturate(.82) contrast(1.05);
  transform: translate3d(0,var(--parallax-y,0),0) scale(1.075);
}

.method-shell {
  position: relative;
  z-index: 1;
}

.method-intro h2 {
  max-width: 920px;
  margin: 28px 0 34px;
  color: var(--white);
  font-size: clamp(68px,7vw,108px);
  font-weight: 320;
  line-height: .9;
  letter-spacing: -.068em;
}
.method-intro h2 em { color: var(--mint-2); font-style: normal; font-weight: 560; }
.method-intro > p { max-width: 670px; margin: 0; color: color-mix(in oklch,var(--white) 74%,transparent); font-size: clamp(17px,1.35vw,20px); line-height: 1.66; }

.method-principles {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: clamp(66px,7vw,100px);
  border-top: 1px solid color-mix(in oklch,var(--white) 26%,transparent);
  border-bottom: 1px solid color-mix(in oklch,var(--white) 26%,transparent);
  background: color-mix(in oklch,var(--night) 56%,transparent);
}
.method-principles article {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  align-content: center;
  gap: clamp(18px,2vw,30px);
  min-height: 220px;
  padding: clamp(30px,3.2vw,48px);
  border-right: 1px solid color-mix(in oklch,var(--white) 22%,transparent);
  transition: background-color .5s ease;
}
.method-principles article:last-child { border-right: 0; }
.method-principles article:hover { background: color-mix(in oklch,var(--green-deep) 56%,transparent); }
.method-symbol { display: block; width: 54px; color: var(--coral); transition: transform .65s cubic-bezier(.16,1,.3,1),color .35s; }
.method-symbol svg { display: block; width: 100%; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.method-principles article:hover .method-symbol { color: var(--mint-2); transform: translateY(-7px) rotate(-2deg); }
.method-principles h3 { margin: 0 0 13px; color: var(--white); font-size: clamp(24px,2vw,31px); font-weight: 520; letter-spacing: -.045em; }
.method-principles p { max-width: 30ch; margin: 0; color: color-mix(in oklch,var(--white) 64%,transparent); font-size: 14px; line-height: 1.62; }

.method-route {
  display: grid;
  grid-template-columns: minmax(190px,.24fr) minmax(0,1fr);
  align-items: stretch;
  margin-top: clamp(42px,4vw,62px);
  border-top: 1px solid color-mix(in oklch,var(--white) 22%,transparent);
  border-bottom: 1px solid color-mix(in oklch,var(--white) 22%,transparent);
  background: color-mix(in oklch,var(--night) 68%,transparent);
}
.method-route > span { display: flex; align-items: center; padding: 28px; color: var(--mint-2); font-size: 10px; font-weight: 650; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; }
.method-route ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.method-route li { position: relative; min-height: 190px; display: flex; flex-direction: column; justify-content: center; padding: 34px clamp(22px,2.2vw,34px); border-left: 1px solid color-mix(in oklch,var(--white) 17%,transparent); transition: background-color .45s ease,transform .55s cubic-bezier(.16,1,.3,1); }
.method-route li::before { content: ""; width: 34px; height: 1px; margin-bottom: 22px; background: var(--coral); transition: width .55s cubic-bezier(.16,1,.3,1),background-color .35s; }
.method-route li:hover { z-index: 1; background: color-mix(in oklch,var(--green-deep) 72%,transparent); transform: translateY(-5px); }
.method-route li:hover::before { width: 58px; background: var(--mint-2); }
.method-route strong { color: var(--white); font-size: clamp(18px,1.45vw,22px); font-weight: 540; line-height: 1.28; letter-spacing: -.025em; }
.method-route p { margin: 11px 0 0; color: color-mix(in oklch,var(--white) 58%,transparent); font-size: 13px; line-height: 1.55; }

.practice-lower-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  margin-top: clamp(74px,7vw,110px);
  padding-bottom: clamp(96px,8vw,132px);
}
.practice-lower-grid::before {
  content: "";
  position: absolute;
  inset: 0 0 clamp(96px,8vw,132px);
  border: 1px solid color-mix(in oklch,var(--white) 14%,transparent);
  pointer-events: none;
}
.practice-lower-grid .closing-block { min-width: 0; padding: clamp(44px,4.5vw,68px); }
.practice-prices {
  margin: 0;
  background: color-mix(in oklch,var(--green-2) 56%,var(--night));
  border-right: 1px solid color-mix(in oklch,var(--white) 14%,transparent);
}
.practice-prices::after { display: none; }
.practice-prices .prices-grid { grid-template-columns: 1fr; gap: 38px; }
.practice-prices .prices-intro h2 { font-size: clamp(44px,4.4vw,64px); }
.practice-prices .prices-intro > p { margin-top: 22px; font-size: 13px; line-height: 1.6; }
.practice-prices .price-row { min-height: 78px; padding-block: 18px; }

.practice-testimonials {
  color: var(--ink);
  background: color-mix(in oklch,var(--paper) 94%,var(--mint));
}
.practice-testimonials::before { display: none; }
.practice-testimonials .section-head.compact { grid-template-columns: 1fr auto; align-items: end; gap: 24px; margin-bottom: 34px; }
.practice-testimonials .section-head h2 { color: var(--ink); font-size: clamp(44px,4.4vw,64px); }
.practice-testimonials .section-head h2 em { color: var(--green-2); }
.practice-testimonials .kicker { color: var(--green-2); }
.practice-testimonials .slider-controls button { border-color: color-mix(in oklch,var(--green-deep) 18%,transparent); }
.practice-testimonials .testimonial-track { display: block; background: transparent; box-shadow: none; }
.practice-testimonials .testimonial,
.practice-testimonials .testimonial:first-child { display: none; min-height: 430px; padding: clamp(30px,3vw,44px); background: var(--white); }
.practice-testimonials .testimonial.active { display: flex; }
.practice-testimonials .testimonial:first-child > p { font-size: clamp(21px,1.8vw,27px); }
.practice-testimonials .slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.practice-testimonials .slider-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: color-mix(in oklch,var(--green-deep) 24%,transparent); }
.practice-testimonials .slider-dots button.active { background: var(--coral); }

.practice-articles {
  grid-column: 1 / -1;
  color: var(--ink);
  background: var(--paper);
  border-top: 1px solid color-mix(in oklch,var(--white) 14%,transparent);
}
.practice-articles::before { display: none; }
.practice-articles .section-head { grid-template-columns: 1fr .65fr; gap: 56px; margin-bottom: 38px; }
.practice-articles .section-head h2 { font-size: clamp(42px,4.2vw,62px); }
.practice-articles .article-grid { grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.practice-articles .article-card,
.practice-articles .article-card.featured { display: grid; grid-template-columns: minmax(170px,.72fr) minmax(0,1fr); min-height: 300px; transform: none; }
.practice-articles .dysplasia-card { grid-column: 1 / -1; grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); min-height: 340px; }
.practice-articles .article-image,
.practice-articles .article-card.featured .article-image { height: 100%; min-height: 300px; }
.practice-articles .dysplasia-card .article-image { min-height: 340px; }
.practice-articles .dysplasia-card .article-body { justify-content: center; }
.practice-articles .dysplasia-card .article-body h3 { max-width: 18ch; font-size: clamp(34px,3.35vw,50px); line-height: 1.02; }
.practice-articles .dysplasia-card .article-body p { max-width: 54ch; font-size: 13px; }
.practice-articles .article-body { padding: clamp(26px,2.6vw,38px); }
.practice-articles .article-body h3 { font-size: clamp(22px,2vw,29px); }

.contact-overview {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.72fr);
  align-items: end;
  gap: clamp(68px,9vw,138px);
}
.contact-copy > p { margin-bottom: 0; }
.contact-links { border-top: 1px solid color-mix(in oklch,var(--white) 18%,transparent); }
.contact-links a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid color-mix(in oklch,var(--white) 18%,transparent);
  color: var(--white);
  text-decoration: none;
}
.contact-links small,.contact-links b { display: block; grid-column: 1; }
.contact-links small { color: color-mix(in oklch,var(--white) 46%,transparent); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.contact-links b { margin-top: 5px; font-size: 15px; font-weight: 520; overflow-wrap: anywhere; }
.contact-links span { grid-column: 2; grid-row: 1 / 3; color: var(--coral); font-size: 19px; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.contact-links a:hover span { transform: translate(3px,-3px); }

.contact-section .contact-console {
  margin-top: clamp(48px,5vw,70px);
  margin-bottom: 24px;
  box-shadow: 0 34px 90px color-mix(in oklch,var(--night) 55%,transparent);
}
.contact-section .contact-console .fact-card,
.contact-section .contact-console .fact-phone,
.contact-section .contact-console .fact-address,
.contact-section .contact-console .fact-schedule { min-height: 258px; }
.contact-map-wide {
  position: relative;
  min-height: 440px;
  height: 440px;
  margin-top: 24px;
  box-shadow: 0 34px 90px color-mix(in oklch,var(--night) 52%,transparent);
}

@media (max-width: 1100px) {
  .method-route { grid-template-columns: 1fr; }
  .method-route > span { padding: 22px 26px; }
  .method-route ol { border-top: 1px solid color-mix(in oklch,var(--white) 14%,transparent); }
  .method-principles article { grid-template-columns: 52px minmax(0,1fr); padding: 30px 24px; }
  .method-symbol { width: 45px; }
  .practice-lower-grid { grid-template-columns: 1fr; }
  .practice-prices { border-right: 0; border-bottom: 1px solid color-mix(in oklch,var(--white) 14%,transparent); }
  .practice-articles { grid-column: auto; }
  .practice-articles .section-head { grid-template-columns: 1fr; gap: 24px; }
  .practice-articles .article-grid { grid-template-columns: 1fr; }
  .contact-overview { grid-template-columns: 1fr; gap: 44px; }
}

@media (max-width: 760px) {
  .premium-hero { padding-bottom: 38px; }
  .about-grid { gap: 42px; }
  .about-copy { order: 1; }
  .about-photo { order: 2; height: 470px; margin-top: 4px; }
  .about-credential { height: 390px; padding: 18px; }
  .method-showcase { min-height: 0; padding: 110px 0 74px; }
  .method-backdrop { inset: -14px; }
  .method-backdrop::after {
    background:
      linear-gradient(90deg,color-mix(in oklch,var(--night) 91%,transparent),color-mix(in oklch,var(--night) 70%,transparent)),
      linear-gradient(180deg,color-mix(in oklch,var(--night) 28%,transparent),color-mix(in oklch,var(--night) 96%,transparent) 72%);
  }
  .method-backdrop img { object-position: 64% center; transform: scale(1.08); }
  .method-showcase:hover .method-backdrop img { transform: scale(1.08); }
  .method-intro h2 { max-width: 100%; margin: 22px 0 28px; font-size: clamp(47px,13.2vw,59px); line-height: .94; }
  .method-intro > p { font-size: 16px; }
  .method-principles { grid-template-columns: 1fr; margin-top: 54px; }
  .method-principles article { grid-template-columns: 54px minmax(0,1fr); min-height: 154px; padding: 28px 20px; border-right: 0; border-bottom: 1px solid color-mix(in oklch,var(--white) 19%,transparent); }
  .method-principles article:last-child { border-bottom: 0; }
  .method-symbol { width: 46px; }
  .method-principles h3 { font-size: 25px; }
  .method-route { margin-top: 32px; }
  .method-route > span { padding: 22px 20px; }
  .method-route ol { grid-template-columns: 1fr; }
  .method-route li { min-height: 160px; padding: 28px 20px; border-left: 0; border-top: 1px solid color-mix(in oklch,var(--white) 15%,transparent); }
  .method-route li::before { margin-bottom: 18px; }
  .method-route strong { font-size: 20px; }
  .method-route p { max-width: 34ch; font-size: 13px; }
  .practice-lower-grid { margin-top: 54px; padding-bottom: 88px; }
  .practice-lower-grid::before { bottom: 88px; }
  .practice-lower-grid .closing-block { padding: 42px 20px; }
  .practice-prices .prices-intro h2,
  .practice-testimonials .section-head h2,
  .practice-articles .section-head h2 { font-size: 41px; }
  .practice-testimonials .testimonial,
  .practice-testimonials .testimonial:first-child { min-height: 370px; padding: 28px 24px; }
  .practice-testimonials .section-head.compact { grid-template-columns: 1fr auto; }
  .practice-articles .article-card,
  .practice-articles .article-card.featured { display: flex; min-height: auto; }
  .practice-articles .dysplasia-card { min-height: auto; }
  .practice-articles .article-image,
  .practice-articles .article-card.featured .article-image { height: 220px; min-height: 0; }
  .practice-articles .dysplasia-card .article-image { min-height: 0; }
  .practice-articles .dysplasia-card .article-body h3 { font-size: 31px; }
  .contact-overview { gap: 34px; }
  .contact-section .contact-console { margin-top: 38px; margin-bottom: 16px; }
  .contact-section .contact-console .fact-card,
  .contact-section .contact-console .fact-phone,
  .contact-section .contact-console .fact-address,
  .contact-section .contact-console .fact-schedule { min-height: 224px; }
  .contact-map-wide { min-height: 410px; height: 410px; margin-top: 16px; }
}

/* Premium navigation: a confident three-zone identity bar */
.site-header {
  padding-top: 16px;
}

.header-shell {
  position: relative;
  height: 132px;
  padding: 0;
  gap: 0;
  overflow: hidden;
  background: color-mix(in oklch,var(--green-deep) 94%,var(--night));
  border-color: color-mix(in oklch,var(--mint-2) 24%,transparent);
  box-shadow: 0 24px 72px color-mix(in oklch,var(--green-deep) 34%,transparent);
}

.header-shell::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 31%;
  height: 2px;
  background: var(--coral);
  pointer-events: none;
}

.site-header.scrolled .header-shell {
  transform: translateY(-6px);
  box-shadow: 0 20px 58px color-mix(in oklch,var(--green-deep) 42%,transparent);
}

.header-shell > .brand {
  align-self: stretch;
  min-width: clamp(350px,26vw,382px);
  padding: 10px clamp(20px,2vw,30px) 10px 12px;
  gap: clamp(14px,1.35vw,20px);
  border-right: 1px solid color-mix(in oklch,var(--white) 13%,transparent);
}

.header-shell .brand-logo {
  flex: 0 0 126px;
  width: 126px;
  height: 104px;
  padding: 3px;
  background: color-mix(in oklch,var(--paper) 97%,var(--mint));
  box-shadow: inset 0 0 0 1px color-mix(in oklch,var(--green-deep) 12%,transparent);
  transition: transform .55s cubic-bezier(.16,1,.3,1), background-color .3s;
}

.header-shell .brand:hover .brand-logo {
  transform: translateY(-2px) scale(1.025);
  background: var(--white);
}

.header-shell .brand-copy {
  min-width: 0;
}

.header-shell .brand-copy b {
  color: var(--white);
  font-size: clamp(17px,1.4vw,20px);
  font-weight: 520;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.header-shell .brand-copy b strong {
  color: var(--mint-2);
  font-weight: 680;
}

.header-shell .brand-copy small {
  display: block;
  margin-top: 7px;
  color: color-mix(in oklch,var(--white) 88%,transparent);
  font-size: clamp(13px,1.05vw,15px);
  font-weight: 620;
  letter-spacing: .015em;
  line-height: 1.25;
  text-transform: none;
  white-space: nowrap;
}

.header-shell .center-name > span,
.header-shell .center-name > strong {
  display: block;
  white-space: nowrap;
}

.header-shell .center-name > span {
  font-size: .67em;
  font-weight: 670;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.header-shell .center-name > strong {
  margin-top: 3px;
  color: var(--white);
  font-size: 1.08em;
  font-weight: 650;
  letter-spacing: -.012em;
}

.header-shell .desktop-nav {
  position: relative;
  align-self: stretch;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
}

.header-shell .desktop-nav a {
  position: relative;
  display: grid;
  grid-template-rows: 34px auto;
  place-content: center;
  justify-items: center;
  gap: 11px;
  min-width: 0;
  height: 100%;
  padding: 11px 8px 9px;
  border-left: 1px solid color-mix(in oklch,var(--white) 11%,transparent);
  color: color-mix(in oklch,var(--white) 72%,transparent);
  font-size: clamp(14px,1.05vw,15.5px);
  font-weight: 560;
  letter-spacing: -.025em;
  line-height: 1;
  overflow: hidden;
  isolation: isolate;
  transition: color .35s, background-color .35s;
}

.header-shell .desktop-nav a::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  display: block;
  height: 58%;
  background: linear-gradient(180deg,transparent,color-mix(in oklch,var(--mint-2) 7%,transparent));
  opacity: 0;
  transform: translateY(18%);
  transition: opacity .35s, transform .55s cubic-bezier(.16,1,.3,1);
}

.header-shell .desktop-nav a::after {
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: 2px;
  background: var(--coral);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}

.header-shell .nav-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--mint-2);
  transition: color .35s, transform .55s cubic-bezier(.16,1,.3,1);
}

.header-shell .nav-mark::after {
  content: "";
  position: absolute;
  top: -1px;
  right: -3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--coral);
  opacity: 0;
  transform: scale(.2);
  transition: opacity .3s, transform .55s cubic-bezier(.16,1,.3,1);
}

.header-shell .nav-mark svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.header-shell .nav-mark svg > * {
  stroke-dasharray: 90;
  stroke-dashoffset: 0;
}

.header-shell .nav-label {
  display: block;
  max-width: 100%;
  white-space: nowrap;
}

.header-shell .desktop-nav a:hover,
.header-shell .desktop-nav a.active {
  color: var(--white);
  transform: none;
}

.header-shell .desktop-nav a:hover::before,
.header-shell .desktop-nav a.active::before {
  opacity: 1;
  transform: none;
}

.header-shell .desktop-nav a:hover::after,
.header-shell .desktop-nav a.active::after {
  width: auto;
  transform: scaleX(1);
}

.header-shell .desktop-nav a:hover .nav-mark,
.header-shell .desktop-nav a.active .nav-mark {
  color: var(--coral);
  transform: translateY(-3px);
}

.header-shell .desktop-nav a:hover .nav-mark::after,
.header-shell .desktop-nav a.active .nav-mark::after {
  opacity: 1;
  transform: scale(1);
}

.header-shell .desktop-nav a:hover .nav-mark svg > * {
  animation: navTrace .7s cubic-bezier(.16,1,.3,1) both;
}

.header-shell .desktop-nav a:focus-visible,
.header-shell .brand:focus-visible,
.header-shell .menu-toggle:focus-visible,
.header-phone-numbers a:focus-visible {
  outline: 2px solid var(--coral);
  outline-offset: 4px;
}

.premium-hero {
  padding-top: 176px;
}

@keyframes navTrace {
  from { stroke-dashoffset: 90; opacity: .35; }
  to { stroke-dashoffset: 0; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .header-shell .desktop-nav a,
  .header-shell .desktop-nav a::before,
  .header-shell .desktop-nav a::after,
  .header-shell .nav-mark,
  .header-shell .nav-mark::after { transition: none; }
  .header-shell .desktop-nav a:hover .nav-mark svg > * { animation: none; }
}

@media (max-width: 1220px) {
  .header-shell { height: 116px; }
  .header-shell > .brand { min-width: 326px; padding-right: 18px; }
  .header-shell .brand-logo { flex-basis: 106px; width: 106px; height: 88px; }
  .header-shell .brand-copy small { font-size: 12.5px; }
  .header-shell .desktop-nav a { grid-template-rows: 30px auto; gap: 9px; padding-inline: 5px; }
  .header-shell .nav-mark { width: 30px; height: 30px; }
  .header-shell .nav-mark svg { width: 28px; height: 28px; }
  .premium-hero { padding-top: 160px; }
}

@media (max-width: 1100px) {
  .header-shell .desktop-nav a { font-size: 12.75px; }
}

@media (max-width: 1050px) {
  .site-header { padding-top: 8px; }
  .header-shell .desktop-nav { display: none; }
  .header-shell {
    height: 98px;
    padding: 0 10px 0 8px;
    overflow: visible;
  }
  .header-shell::before { width: 42%; }
  .header-shell > .brand {
    min-width: 0;
    padding: 7px 18px 7px 0;
    gap: 12px;
    border-right: 1px solid color-mix(in oklch,var(--white) 13%,transparent);
  }
  .header-shell .brand-logo { flex-basis: 90px; width: 90px; height: 76px; }
  .header-shell .brand-copy b { font-size: 16px; }
  .header-shell .brand-copy small { max-width: none; margin-top: 5px; font-size: 11.5px; letter-spacing: .005em; }
  .header-shell .menu-toggle {
    min-width: 102px;
    height: 54px;
    margin-left: 18px;
    padding-inline: 15px;
    border-color: color-mix(in oklch,var(--white) 28%,transparent);
    transition: color .3s, background-color .3s, border-color .3s;
  }
  .header-shell .menu-toggle:hover,
  .header-shell .menu-toggle[aria-expanded="true"] {
    color: var(--green-deep);
    background: var(--mint);
    border-color: var(--mint);
  }
  .mobile-menu { padding-top: 126px; }
  .mobile-nav { border-top: 1px solid color-mix(in oklch,var(--white) 15%,transparent); }
  .mobile-nav a {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid color-mix(in oklch,var(--white) 15%,transparent);
  }
  .mobile-nav a::after {
    content: "↗";
    color: var(--coral);
    font-size: .42em;
    font-weight: 400;
    transition: transform .45s cubic-bezier(.16,1,.3,1);
  }
  .mobile-nav a:hover::after { transform: translate(4px,-4px); }
  .premium-hero { padding-top: 132px; }
}

@media (max-width: 560px) {
  .header-shell { height: 88px; padding-right: 6px; }
  .header-shell > .brand { flex: 1 1 auto; min-width: 0; padding-right: 5px; gap: 8px; }
  .header-shell .brand-logo { flex-basis: 74px; width: 74px; height: 64px; }
  .header-shell .brand-copy { min-width: 0; overflow: hidden; }
  .header-shell .brand-copy b { font-size: 14px; }
  .header-shell .brand-copy small { max-width: none; margin-top: 4px; font-size: 9.5px; letter-spacing: 0; }
  .header-shell .center-name > span { font-size: .64em; letter-spacing: .025em; }
  .header-shell .menu-toggle { min-width: 50px; width: 50px; height: 50px; margin-left: 5px; padding-inline: 10px; gap: 0; }
  .header-shell .menu-toggle .menu-label { display: none; }
  .mobile-menu { padding-top: 112px; }
  .mobile-nav a { padding: 13px 0; font-size: clamp(32px,9.5vw,42px); }
  .premium-hero { padding-top: 126px; }
  .premium-hero .hero-copy { min-width: 0; }
  .premium-hero h1 { max-width: 100%; font-size: clamp(35px,10vw,46px); letter-spacing: -.058em; }
  .premium-hero h1 em { display: block; white-space: normal; }
  .premium-hero .hero-lead { max-width: 100%; }
}

/* Production content: GEO-friendly FAQ and privacy-first map */
.faq-section {
  position: relative;
  padding: clamp(92px,10vw,150px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 12%,color-mix(in oklch,var(--mint) 72%,transparent),transparent 30%),
    linear-gradient(135deg,color-mix(in oklch,var(--paper) 90%,var(--white)),var(--paper));
}

.faq-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .42;
  pointer-events: none;
  background-image:
    linear-gradient(color-mix(in oklch,var(--green-deep) 7%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in oklch,var(--green-deep) 7%,transparent) 1px,transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg,black,transparent 76%);
}

.faq-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(270px,.7fr) minmax(0,1.3fr);
  gap: clamp(52px,8vw,120px);
  align-items: start;
}

.faq-intro { position: sticky; top: 160px; }
.faq-intro h2 { margin: 18px 0 28px; font-size: clamp(58px,6.2vw,88px); font-weight: 330; line-height: .92; letter-spacing: -.065em; }
.faq-intro h2 em { color: var(--coral); font-style: normal; font-weight: 560; }
.faq-intro p { max-width: 420px; color: color-mix(in oklch,var(--green-deep) 68%,transparent); font-size: clamp(15px,1.25vw,18px); line-height: 1.65; }
.faq-list { border-top: 1px solid color-mix(in oklch,var(--green-deep) 20%,transparent); }
.faq-list details { border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 18%,transparent); }
.faq-list summary { display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: 24px; align-items: center; padding: 27px 0; color: var(--green-deep); font-size: clamp(18px,1.65vw,23px); font-weight: 560; line-height: 1.3; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid color-mix(in oklch,var(--green-deep) 24%,transparent); border-radius: 50%; color: var(--coral); font-size: 24px; font-weight: 350; transition: transform .3s,background-color .3s,color .3s; }
.faq-list details[open] summary span { transform: rotate(45deg); color: var(--white); background: var(--green-deep); }
.faq-list details > p { max-width: 760px; margin: -4px 68px 28px 0; color: color-mix(in oklch,var(--green-deep) 70%,transparent); font-size: 15px; line-height: 1.75; }


.footer-disclaimer { text-align: left; }
.footer-disclaimer strong { display: block; color: var(--white); font-size: 13px; line-height: 1.45; }
.footer-disclaimer p { margin-top: 8px; color: color-mix(in oklch,var(--mint-2) 68%,transparent); font-size: 10px; line-height: 1.55; }
.footer-contacts nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 14px; margin: 12px 0 10px; }
.footer-contacts nav a { color: var(--white); text-decoration: underline; text-underline-offset: 4px; }
.license-summary { display: flex; flex-direction: column; justify-content: center; min-height: 280px; padding: 34px; color: var(--white); background: var(--green-deep); }
.license-summary small { color: var(--mint-2); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.license-summary h3 { margin: 16px 0 10px; color: var(--white); font-size: clamp(28px,3vw,42px); font-weight: 420; line-height: 1; letter-spacing: -.045em; overflow-wrap: anywhere; }
.license-summary p { margin: 0 0 24px; color: color-mix(in oklch,var(--white) 68%,transparent); font-size: 12px; line-height: 1.6; }
.license-summary a { align-self: flex-start; margin-top: 8px; color: var(--white); font-size: 12px; font-weight: 650; text-underline-offset: 4px; }

/* Horizontal archive of source documents */
.cert-modal {
  width: min(1480px,calc(100vw - 24px));
  max-height: 94vh;
  overflow-x: hidden;
  overflow-y: auto;
  background:
    linear-gradient(color-mix(in oklch,var(--green-deep) 4%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in oklch,var(--green-deep) 4%,transparent) 1px,transparent 1px),
    var(--paper);
  background-size: 64px 64px;
}

.cert-modal .modal-close {
  position: fixed;
  top: max(22px,calc((100vh - 94vh)/2 + 18px));
  right: max(24px,calc((100vw - min(1480px,calc(100vw - 24px)))/2 + 18px));
  color: var(--white);
  border-color: color-mix(in oklch,var(--white) 28%,transparent);
  background: var(--green-deep);
  box-shadow: 0 12px 34px color-mix(in oklch,var(--green-deep) 25%,transparent);
}

.cert-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  padding: clamp(46px,5vw,72px) clamp(32px,5vw,76px) 34px;
}

.cert-head > div:first-child { max-width: 920px; }
.cert-head > div:first-child > span,
.documents-intro > span {
  color: var(--coral);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.cert-head h2 {
  margin: 14px 0 0;
  font-size: clamp(40px,5.3vw,78px);
  font-weight: 370;
  line-height: .98;
  letter-spacing: -.06em;
}

.document-controls { display: flex; flex: 0 0 auto; gap: 8px; padding-right: 54px; }
.document-controls button {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  color: var(--green-deep);
  border: 1px solid color-mix(in oklch,var(--green-deep) 24%,transparent);
  background: color-mix(in oklch,var(--white) 72%,transparent);
  cursor: pointer;
  transition: color .25s,background-color .25s,transform .25s;
}
.document-controls button:hover { color: var(--white); background: var(--green-deep); transform: translateY(-2px); }

.license-panel {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
  align-items: stretch;
  margin: 0 clamp(32px,5vw,76px) clamp(60px,7vw,96px);
  background: var(--green-deep);
  box-shadow: 0 30px 90px color-mix(in oklch,var(--green-deep) 18%,transparent);
}
.license-panel .license-summary { min-height: 290px; padding: clamp(34px,4vw,56px); }
.license-panel .license-summary h3 { font-size: clamp(34px,4.3vw,62px); }
.license-panel .license-summary > div { display: flex; flex-wrap: wrap; gap: 9px 24px; }
.license-panel .license-summary a { margin: 0; }
.license-panel-note {
  display: flex;
  align-items: end;
  margin: 0;
  padding: clamp(34px,4vw,56px);
  color: color-mix(in oklch,var(--green-deep) 72%,transparent);
  background: var(--mint);
  border-left: 1px solid color-mix(in oklch,var(--white) 16%,transparent);
  font-size: 13px;
  line-height: 1.7;
}

.documents-section { padding-bottom: clamp(56px,7vw,96px); }
.documents-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,.7fr);
  gap: 12px clamp(42px,6vw,92px);
  align-items: end;
  padding: 0 clamp(32px,5vw,76px) 30px;
}
.documents-intro > span { grid-column: 1 / -1; }
.documents-intro h3 { margin: 0; font-size: clamp(32px,4vw,56px); font-weight: 390; line-height: 1; letter-spacing: -.055em; }
.documents-intro p { margin: 0; color: color-mix(in oklch,var(--green-deep) 66%,transparent); font-size: 13px; line-height: 1.65; }

.documents-rail {
  display: flex;
  gap: clamp(14px,2vw,28px);
  padding: 10px clamp(32px,5vw,76px) 32px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--coral) color-mix(in oklch,var(--green-deep) 10%,transparent);
  scrollbar-width: thin;
  outline: none;
}
.documents-rail:focus-visible { box-shadow: inset 0 0 0 3px var(--coral); }
.documents-rail::-webkit-scrollbar { height: 8px; }
.documents-rail::-webkit-scrollbar-track { background: color-mix(in oklch,var(--green-deep) 10%,transparent); }
.documents-rail::-webkit-scrollbar-thumb { background: var(--coral); }

.document-card {
  flex: 0 0 min(860px,76vw);
  margin: 0;
  overflow: hidden;
  scroll-snap-align: start;
  background: var(--white);
  border: 1px solid color-mix(in oklch,var(--green-deep) 14%,transparent);
  box-shadow: 0 24px 72px color-mix(in oklch,var(--green-deep) 11%,transparent);
}
.document-card > a {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  padding: clamp(10px,1.4vw,18px);
  overflow: hidden;
  background: color-mix(in oklch,var(--paper) 76%,var(--white));
}
.document-card > a::after {
  content: "Открыть крупнее ↗";
  position: absolute;
  right: 22px;
  bottom: 22px;
  padding: 10px 13px;
  color: var(--white);
  background: color-mix(in oklch,var(--green-deep) 88%,transparent);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .3s,transform .3s;
}
.document-card > a:hover::after { opacity: 1; transform: none; }
.document-card img { width: 100%; height: 100%; object-fit: contain; background: transparent; transition: transform .65s cubic-bezier(.16,1,.3,1); }
.document-card > a:hover img { transform: scale(1.018); }
.document-card figcaption {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px 20px;
  min-height: 112px;
  padding: 20px 24px 22px;
  border-top: 1px solid color-mix(in oklch,var(--green-deep) 12%,transparent);
}
.document-card figcaption span { grid-column: 1 / -1; color: var(--coral); font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.document-card figcaption b { font-size: clamp(16px,1.4vw,21px); font-weight: 520; line-height: 1.25; }
.document-card figcaption small { align-self: end; color: color-mix(in oklch,var(--green-deep) 54%,transparent); font-size: 9px; white-space: nowrap; }

@media (max-width: 760px) {
  .cert-modal { width: calc(100vw - 12px); max-height: 97vh; }
  .cert-modal .modal-close { top: 13px; right: 13px; }
  .cert-head { display: block; padding: 54px 22px 25px; }
  .cert-head h2 { padding-right: 28px; font-size: clamp(36px,10vw,48px); }
  .document-controls { margin-top: 24px; padding-right: 0; }
  .document-controls button { width: 48px; height: 48px; }
  .license-panel { grid-template-columns: 1fr; margin: 0 22px 62px; }
  .license-panel .license-summary { min-height: 0; padding: 30px 24px; }
  .license-panel .license-summary h3 { font-size: 31px; }
  .license-panel-note { padding: 26px 24px; border-top: 1px solid color-mix(in oklch,var(--green-deep) 12%,transparent); border-left: 0; }
  .documents-intro { grid-template-columns: 1fr; padding: 0 22px 24px; }
  .documents-intro > span { grid-column: auto; }
  .documents-intro h3 { font-size: 36px; }
  .documents-rail { padding: 8px 22px 25px; }
  .document-card { flex-basis: calc(100vw - 58px); }
  .document-card > a { padding: 7px; }
  .document-card > a::after { display: none; }
  .document-card figcaption { grid-template-columns: 1fr; min-height: 122px; padding: 17px 18px 20px; }
  .document-card figcaption small { display: none; }
}

@media (max-width: 820px) {
  .faq-shell { grid-template-columns: 1fr; gap: 42px; }
  .faq-intro { position: static; }
  .faq-list details > p { margin-right: 0; }
  .footer-contacts nav { justify-content: flex-start; }
}

@media (max-width: 560px) {
  .faq-section { padding: 78px 0; }
  .faq-intro h2 { font-size: 52px; }
  .faq-list summary { grid-template-columns: minmax(0,1fr) 38px; gap: 14px; padding: 22px 0; font-size: 18px; }
  .faq-list summary span { width: 38px; height: 38px; }
}

/* Nutritionology: integrated into the directions section, not another empty screen */
.nutrition-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr);
  min-height: 590px;
  margin-top: clamp(64px,6.5vw,96px);
  overflow: hidden;
  scroll-margin-top: 142px;
  background: color-mix(in oklch,var(--paper) 95%,var(--mint));
  border: 1px solid color-mix(in oklch,var(--green-deep) 13%,transparent);
  box-shadow: 0 42px 110px color-mix(in oklch,var(--green-deep) 18%,transparent);
}

.nutrition-feature::after {
  content: "";
  position: absolute;
  right: -150px;
  bottom: -150px;
  width: 340px;
  height: 340px;
  border: 1px solid color-mix(in oklch,var(--green-deep) 12%,transparent);
  border-radius: 50%;
  pointer-events: none;
}

.nutrition-visual {
  position: relative;
  min-height: 590px;
  margin: 0;
  overflow: hidden;
  background: var(--green-deep);
}

.nutrition-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 46%,color-mix(in oklch,var(--green-deep) 82%,transparent));
  pointer-events: none;
}

.nutrition-visual img {
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
  object-position: 54% center;
  transform: scale(1.015);
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}

.nutrition-feature:hover .nutrition-visual img {
  transform: scale(1.045);
}

.nutrition-visual figcaption {
  position: absolute;
  z-index: 1;
  left: clamp(24px,3vw,44px);
  right: clamp(24px,3vw,44px);
  bottom: clamp(24px,3vw,40px);
  padding-top: 18px;
  border-top: 1px solid color-mix(in oklch,var(--white) 38%,transparent);
  color: var(--white);
}

.nutrition-visual figcaption small,
.nutrition-visual figcaption b {
  display: block;
}

.nutrition-visual figcaption small {
  margin-bottom: 8px;
  color: var(--mint-2);
  font-size: 8px;
  font-weight: 680;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.nutrition-visual figcaption b {
  max-width: 390px;
  font-size: clamp(19px,1.8vw,27px);
  font-weight: 480;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.nutrition-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px,5vw,76px);
}

.nutrition-copy h3 {
  margin: 18px 0 24px;
  color: var(--green-deep);
  font-size: clamp(52px,5.3vw,78px);
  font-weight: 330;
  line-height: .98;
  letter-spacing: -.065em;
}

.nutrition-lead {
  max-width: 610px;
  margin: 0;
  color: color-mix(in oklch,var(--green-deep) 76%,transparent);
  font-size: clamp(16px,1.35vw,19px);
  line-height: 1.62;
}

.nutrition-path {
  margin: clamp(28px,3vw,40px) 0 0;
  border-top: 1px solid color-mix(in oklch,var(--green-deep) 18%,transparent);
}

.nutrition-path > div {
  display: grid;
  grid-template-columns: minmax(92px,.28fr) minmax(0,1fr);
  gap: 22px;
  padding: 15px 0;
  border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 14%,transparent);
}

.nutrition-path dt {
  color: var(--coral);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nutrition-path dd {
  margin: 0;
  color: color-mix(in oklch,var(--green-deep) 66%,transparent);
  font-size: 12px;
  line-height: 1.55;
}

.nutrition-note {
  max-width: 620px;
  margin: 24px 0 0;
  color: color-mix(in oklch,var(--green-deep) 48%,transparent);
  font-size: 10px;
  line-height: 1.55;
}

.nutrition-link {
  align-self: flex-start;
  margin-top: 28px;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 680;
  text-decoration: none;
}

.services .nutrition-link {
  color: var(--green-deep);
  border-color: var(--coral);
  background: transparent;
}

.services .nutrition-link:hover {
  color: var(--white);
  background: var(--green-deep);
  border-color: var(--green-deep);
}

.weight-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(46px,6vw,90px);
  min-height: 520px;
  margin-top: clamp(22px,2.2vw,32px);
  padding: clamp(54px,6vw,86px);
  overflow: hidden;
  scroll-margin-top: 142px;
  color: var(--white);
  background:
    radial-gradient(circle at 7% 112%,color-mix(in oklch,var(--green) 70%,transparent),transparent 37%),
    var(--night);
  box-shadow: 0 42px 110px color-mix(in oklch,var(--night) 24%,transparent);
}
.weight-feature::before {
  content: "";
  position: absolute;
  left: -170px;
  bottom: -260px;
  width: 520px;
  height: 520px;
  border: 1px solid color-mix(in oklch,var(--mint-2) 18%,transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 92px color-mix(in oklch,var(--mint-2) 4%,transparent);
  pointer-events: none;
}
.weight-heading,.weight-copy { position: relative; z-index: 1; }
.weight-heading { align-self: center; }
.weight-heading h3 { margin: 22px 0 0; font-size: clamp(54px,5.8vw,88px); font-weight: 330; line-height: .91; letter-spacing: -.07em; }
.weight-heading h3 em { display: inline-block; margin-top: 9px; color: var(--coral); font-style: normal; font-weight: 580; }
.weight-copy { align-self: center; padding-left: clamp(28px,4vw,60px); border-left: 1px solid color-mix(in oklch,var(--white) 17%,transparent); }
.weight-lead { max-width: 620px; margin: 0; color: color-mix(in oklch,var(--mint-2) 82%,transparent); font-size: clamp(17px,1.45vw,20px); line-height: 1.65; }
.weight-path { margin: 30px 0 0; border-top: 1px solid color-mix(in oklch,var(--white) 16%,transparent); }
.weight-path > div { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 22px; padding: 15px 0; border-bottom: 1px solid color-mix(in oklch,var(--white) 14%,transparent); }
.weight-path dt { color: var(--coral); font-size: 10px; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; }
.weight-path dd { margin: 0; color: color-mix(in oklch,var(--white) 72%,transparent); font-size: 13px; line-height: 1.55; }
.weight-note { max-width: 610px; margin: 22px 0 0; color: color-mix(in oklch,var(--white) 46%,transparent); font-size: 10px; line-height: 1.55; }
.services .weight-link { margin-top: 26px; color: var(--white); border-color: var(--coral); }
.services .weight-link:hover { color: var(--night); background: var(--coral); }

@media (max-width: 1100px) {
  .nutrition-feature { grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); }
  .nutrition-copy { padding: 48px 42px; }
  .nutrition-copy h3 { font-size: clamp(50px,6.4vw,68px); }
  .weight-feature { grid-template-columns: 1fr; gap: 42px; }
  .weight-heading h3 { max-width: 760px; }
  .weight-copy { padding: 38px 0 0; border-top: 1px solid color-mix(in oklch,var(--white) 17%,transparent); border-left: 0; }
}

@media (max-width: 760px) {
  .nutrition-feature {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 52px;
    scroll-margin-top: 104px;
  }
  .nutrition-visual,
  .nutrition-visual img { min-height: 360px; height: 360px; }
  .nutrition-feature:hover .nutrition-visual img { transform: scale(1.015); }
  .nutrition-copy { padding: 42px 24px 48px; }
  .nutrition-copy h3 { margin: 16px 0 20px; font-size: clamp(42px,11.5vw,52px); letter-spacing: -.055em; }
  .nutrition-lead { font-size: 16px; }
  .nutrition-path > div { grid-template-columns: 76px minmax(0,1fr); gap: 14px; }
  .nutrition-path dd { font-size: 12px; }
  .nutrition-note { font-size: 10px; }
  .weight-feature { min-height: 0; margin-top: 16px; padding: 48px 24px 52px; scroll-margin-top: 104px; }
  .weight-heading h3 { font-size: clamp(46px,13.2vw,60px); }
  .weight-copy { padding-top: 30px; }
  .weight-lead { font-size: 16px; }
  .weight-path > div { grid-template-columns: 76px minmax(0,1fr); gap: 14px; }
  .weight-path dd { font-size: 12px; }
  .services .weight-link { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .method-backdrop img,
  .method-symbol,
  .method-route li,
  .method-route li::before { transition: none !important; }
  .method-showcase:hover .method-backdrop img,
  .method-principles article:hover .method-symbol,
  .method-route li:hover { transform: none !important; }
}

/* Contact scene: one address rail, one real map, no repeated card grid */
.header-shell .desktop-nav a {
  flex: 0 0 auto;
  white-space: nowrap;
}

.contact-section {
  position: relative;
  isolation: isolate;
  padding: clamp(132px,10vw,176px) 0 clamp(118px,9vw,158px);
  background: color-mix(in oklch,var(--green-deep) 82%,var(--night));
}

.contact-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(740px,58vw);
  aspect-ratio: 1;
  right: -18vw;
  top: -22vw;
  border: 1px solid color-mix(in oklch,var(--mint-2) 9%,transparent);
  border-radius: 50%;
  pointer-events: none;
}

.contact-premium-head {
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(460px,.96fr);
  align-items: end;
  gap: clamp(64px,8vw,126px);
}

.contact-premium-title h2 {
  max-width: 760px;
  margin: 24px 0 32px;
  color: var(--white);
  font-size: clamp(64px,6.6vw,98px);
  font-weight: 320;
  line-height: .92;
  letter-spacing: -.067em;
}

.contact-premium-title h2 em {
  color: var(--mint-2);
  font-style: normal;
  font-weight: 560;
}

.contact-premium-title > p {
  max-width: 610px;
  margin: 0;
  color: color-mix(in oklch,var(--white) 68%,transparent);
  font-size: 17px;
  line-height: 1.68;
}

.contact-premium-call {
  padding: 28px 0 34px;
  border-top: 1px solid color-mix(in oklch,var(--white) 20%,transparent);
  border-bottom: 1px solid color-mix(in oklch,var(--white) 20%,transparent);
}

.contact-premium-call > span {
  display: block;
  color: var(--coral);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.contact-main-phone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 23px;
  color: var(--white);
  text-decoration: none;
}

.contact-main-phone b {
  font-size: clamp(38px,3.6vw,56px);
  font-weight: 430;
  line-height: 1;
  letter-spacing: -.055em;
  white-space: nowrap;
}

.contact-main-phone svg {
  flex: 0 0 44px;
  width: 44px;
  fill: none;
  stroke: var(--mint-2);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .55s cubic-bezier(.16,1,.3,1),stroke .3s;
}

.contact-main-phone:hover svg { stroke: var(--coral); transform: translate(6px,-6px); }

.contact-city-phone {
  display: inline-flex;
  gap: 8px;
  margin-top: 20px;
  color: color-mix(in oklch,var(--white) 66%,transparent);
  font-size: 14px;
  text-decoration: none;
}

.contact-city-phone b { color: var(--white); font-weight: 650; }
.contact-premium-call > small { display: block; margin-top: 30px; color: color-mix(in oklch,var(--white) 42%,transparent); font-size: 9px; letter-spacing: .06em; }

.contact-premium-stage {
  display: grid;
  grid-template-columns: minmax(410px,.76fr) minmax(0,1.24fr);
  min-height: 690px;
  margin-top: clamp(72px,7vw,104px);
  border: 1px solid color-mix(in oklch,var(--white) 17%,transparent);
  overflow: hidden;
  box-shadow: 0 48px 130px color-mix(in oklch,var(--night) 44%,transparent);
}

.contact-premium-info {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(46px,4.8vw,72px);
  overflow: hidden;
  color: var(--green-deep);
  background: color-mix(in oklch,var(--paper) 92%,var(--mint));
}

.contact-premium-info::after {
  content: "";
  position: absolute;
  right: -180px;
  bottom: -190px;
  width: 360px;
  height: 360px;
  border: 1px solid color-mix(in oklch,var(--green-deep) 11%,transparent);
  border-radius: 50%;
  pointer-events: none;
}

.contact-premium-place { position: relative; z-index: 1; }
.contact-premium-place > small { display: block; max-width: 36ch; color: color-mix(in oklch,var(--green-deep) 55%,transparent); font-size: 9px; font-weight: 680; letter-spacing: .135em; line-height: 1.55; text-transform: uppercase; }
.contact-premium-place h3 { margin: 28px 0 20px; color: var(--green-deep); font-size: clamp(58px,5.4vw,82px); font-weight: 420; line-height: .87; letter-spacing: -.065em; }
.contact-premium-place > p { margin: 0; color: color-mix(in oklch,var(--green-deep) 65%,transparent); font-size: 15px; }

.contact-premium-place > a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 36px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--coral);
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.contact-premium-place svg,
.contact-premium-channels svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.contact-premium-place > a:hover svg,
.contact-premium-channels a:hover svg { transform: translate(4px,-4px); }

.contact-premium-hours {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding: 30px 0;
  border-top: 1px solid color-mix(in oklch,var(--green-deep) 17%,transparent);
  border-bottom: 1px solid color-mix(in oklch,var(--green-deep) 17%,transparent);
}

.contact-premium-hours span { color: var(--coral); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.contact-premium-hours b { color: var(--green-deep); font-size: clamp(23px,2.1vw,31px); font-weight: 530; letter-spacing: -.04em; }
.contact-premium-hours small { color: color-mix(in oklch,var(--green-deep) 57%,transparent); font-size: 11px; }

.contact-premium-channels {
  position: relative;
  z-index: 1;
  display: grid;
  margin-top: 18px;
}

.contact-premium-channels a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 44px;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 560;
  text-decoration: none;
}

.contact-premium-channels a + a { border-top: 1px solid color-mix(in oklch,var(--green-deep) 12%,transparent); }
.contact-premium-channels span { min-width: 0; overflow-wrap: anywhere; }
.contact-premium-map { position: relative; min-width: 0; min-height: 690px; background: color-mix(in oklch,var(--mint) 60%,var(--paper)); }
.contact-premium-map .yandex-map { filter: saturate(.68) contrast(.94); }

.contact-main-phone:focus-visible,
.contact-city-phone:focus-visible,
.contact-premium-place a:focus-visible,
.contact-premium-channels a:focus-visible { outline: 2px solid var(--coral); outline-offset: 5px; }

@media (max-width: 1220px) {
  .contact-premium-head { grid-template-columns: minmax(0,1fr) minmax(400px,.85fr); gap: 58px; }
  .contact-premium-stage { grid-template-columns: minmax(380px,.82fr) minmax(0,1.18fr); }
}

@media (max-width: 980px) {
  .contact-premium-head { grid-template-columns: 1fr; gap: 54px; }
  .contact-premium-call { max-width: 680px; }
  .contact-premium-stage { grid-template-columns: minmax(340px,.9fr) minmax(0,1.1fr); }
  .contact-premium-info { padding: 44px 34px; }
  .contact-premium-place h3 { font-size: clamp(54px,7vw,68px); }
}

@media (max-width: 760px) {
  .contact-section { padding: 110px 0 96px; }
  .contact-premium-title h2 { margin: 20px 0 28px; font-size: clamp(48px,13vw,62px); }
  .contact-premium-title > p { font-size: 15px; }
  .contact-premium-head { gap: 46px; }
  .contact-premium-call { padding: 25px 0 30px; }
  .contact-main-phone b { font-size: clamp(35px,10.5vw,43px); }
  .contact-main-phone svg { flex-basis: 36px; width: 36px; }
  .contact-premium-stage { grid-template-columns: 1fr; min-height: 0; margin-top: 58px; }
  .contact-premium-info { min-height: 650px; padding: 42px 24px 34px; }
  .contact-premium-place h3 { margin-top: 25px; font-size: clamp(57px,16vw,72px); }
  .contact-premium-map { min-height: 440px; }
  .contact-premium-hours { margin-top: 54px; }
  .contact-premium-hours b { font-size: 25px; }
  .contact-premium-channels a { min-height: 48px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .contact-main-phone svg,
  .contact-premium-place svg,
  .contact-premium-channels svg { transition: none; }
  .contact-main-phone:hover svg,
  .contact-premium-place > a:hover svg,
  .contact-premium-channels a:hover svg { transform: none; }
}
