@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-0.woff2) format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-1.woff2) format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-2.woff2) format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/font-3.woff2) format("woff2");
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-4.woff2) format("woff2");
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-5.woff2) format("woff2");
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-6.woff2) format("woff2");
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/font-7.woff2) format("woff2");
}

:root {
  --ink: #173e42;
  --muted: #536969;
  --paper: #f5f3ed;
  --white: #fffefa;
  --line: #d7ded6;
  --sage: #dce3d7;
  --accent: #b6c89f;
  --radius: 24px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font:
    16px/1.65 "DM Sans",
    sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
}
img {
  display: block;
  max-width: 100%;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: Manrope, sans-serif;
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -0.05em;
}
h1 {
  font-size: clamp(42px, 4.5vw, 70px);
}
h2 {
  font-size: clamp(34px, 3.5vw, 52px);
}
h3 {
  font-size: 26px;
  letter-spacing: -0.035em;
}
p + p {
  margin-top: 18px;
}
p {
  color: var(--muted);
}
.wrap {
  width: min(1240px, calc(100% - 96px));
  margin: auto;
}
.skip {
  position: fixed;
  left: 20px;
  top: -80px;
  z-index: 99;
  padding: 10px;
  background: white;
}
.skip:focus {
  top: 10px;
}
:focus-visible {
  outline: 3px solid #977341;
  outline-offset: 5px;
}
.header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--line);
}
.header-inner {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 13px;
}
.monogram {
  font:
    italic 46px/1 Georgia,
    serif;
  letter-spacing: -12px;
  width: 55px;
  padding-right: 10px;
}
.brand strong {
  font-size: 15px;
  display: block;
  line-height: 1.3;
  font-weight: 600;
}
.brand small {
  font-size: 9px;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}
.nav {
  display: flex;
  align-items: center;
  gap: 31px;
  font-size: 13px;
}
.nav a {
  position: relative;
  line-height: 1.4;
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.nav a[aria-current="page"]::after,
.nav a:hover::after,
.nav a:focus-visible::after {
  transform: scaleX(1);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding: 17px 23px;
  background: var(--ink);
  color: var(--white);
  border: 1px solid var(--ink);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  min-height: 54px;
  transition:
    background 0.2s,
    transform 0.2s;
}
.btn:hover {
  background: #26565a;
  transform: translateY(-2px);
}
.btn.light {
  background: var(--accent);
  color: var(--ink);
  border-color: var(--accent);
}
.btn.outline {
  background: transparent;
  color: var(--ink);
  border-color: #9caaa3;
}
.arrow {
  font-size: 21px;
  font-weight: 400;
}
.header .btn {
  min-height: 44px;
  padding: 12px 18px;
}
.menu-toggle {
  display: none;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  font-weight: 650;
  margin-bottom: 24px;
}
.eyebrow:before {
  content: "";
  width: 25px;
  height: 1px;
  background: currentColor;
}
.hero {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
  gap: 65px;
  padding-block: 64px 72px;
}
.hero-copy {
  padding-block: 20px;
}
.hero h1 {
  max-width: 600px;
}
.hero h1 em,
.page-title em,
.accent {
  font-style: normal;
  color: #52745c;
  background: linear-gradient(110deg, #173e42 0%, #547c59 24%, #a5bc86 43%, #c4d6b9 49%, #8ea879 57%, #28584e 78%, #173e42 100%);
  background-size: 220% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: accent-shine 9s ease-in-out infinite;
}
@keyframes accent-shine {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.hero-copy > p {
  margin-top: 26px;
  max-width: 500px;
  font-size: 16px;
  line-height: 1.8;
}
.actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 32px;
}
.text-link {
  font-size: 13px;
  font-weight: 550;
  border-bottom: 1px solid #aeb8ae;
  padding-bottom: 5px;
}
.hero-art {
  position: relative;
  border-radius: 46% 46% 20px 20px;
  background: #dce3d7;
  overflow: hidden;
  height: 570px;
  align-self: center;
}
.hero-art img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  object-position: center bottom;
  padding-top: 12px;
}
.hero-art:before {
  content: "";
  position: absolute;
  width: 370px;
  height: 370px;
  border: 1px solid #b9c7b4;
  border-radius: 50%;
  left: 50%;
  top: 40px;
  transform: translateX(-50%);
}
.portrait-label {
  position: absolute;
  bottom: 22px;
  left: 22px;
  right: 22px;
  background: rgba(251, 252, 245, 0.94);
  border: 1px solid #fff9;
  border-radius: 12px;
  padding: 17px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.portrait-label strong {
  font-weight: 550;
  font-size: 14px;
}
.portrait-label small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.portrait-label span:last-child {
  font-size: 27px;
}
.trust {
  border-block: 1px solid var(--line);
  padding: 25px 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 11px;
  letter-spacing: 0.03em;
}
.trust span:before {
  content: "↗";
  margin-right: 12px;
  color: #859473;
}
.section {
  padding-block: 112px;
}
.section.alt {
  background: #e9ede4;
}
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: start;
}
.two-col h2 {
  max-width: 480px;
}
.body-copy p {
  font-size: 16px;
}
.body-copy .lead {
  font-size: 21px;
  color: var(--ink);
  line-height: 1.5;
  margin-bottom: 22px;
}
.body-copy .btn {
  margin-top: 28px;
}
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: end;
  margin-bottom: 50px;
}
.section-head h2 {
  max-width: 610px;
}
.section-head > p {
  max-width: 310px;
  font-size: 14px;
}
.treatment-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.treatment {
  padding: 29px 25px 25px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  min-height: 325px;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}
.treatment:is(:hover,.is-active) {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px #173e4208;
}
.treatment .number {
  font-size: 11px;
  color: #778873;
  margin-bottom: 48px;
  display: flex;
  justify-content: space-between;
}
.treatment h3 {
  font-size: 24px;
  margin-bottom: 18px;
}
.treatment p {
  font-size: 13px;
  line-height: 1.75;
}
.treatment .text-link {
  margin-top: auto;
  padding-top: 28px;
  align-self: start;
}
.dark {
  background: var(--ink);
  color: var(--paper);
}
.dark p {
  color: #c2d0cb;
}
.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 35px;
  margin-top: 60px;
}
.step {
  border-top: 1px solid #ffffff30;
  padding-top: 25px;
}
.step .number {
  font-size: 11px;
  color: #b7caa1;
}
.step h3 {
  margin: 32px 0 20px;
  font-size: 25px;
  max-width: 220px;
}
.step p {
  font-size: 14px;
}
.myths {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
  margin-top: 48px;
}
.myth {
  border-top: 1px solid #bdc8bc;
  padding-top: 27px;
}
.myth > span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #6c7b6e;
}
.myth h3 {
  font-size: 24px;
  line-height: 1.3;
  margin: 22px 0;
}
.myth p {
  font-size: 14px;
}
.about-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 85px;
  align-items: center;
}
.about-image {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 0.8;
  background: var(--sage);
}
.about-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.about-copy h2 {
  margin-bottom: 30px;
}
.about-copy p {
  font-size: 14px;
}
.signature {
  margin-top: 28px;
  padding-top: 23px;
  border-top: 1px solid var(--line);
  font-size: 14px;
}
.signature span {
  display: block;
  font-size: 11px;
  color: var(--muted);
}
.principles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 60px;
  margin-top: 45px;
}
.principle {
  padding: 28px 0;
  border-top: 1px solid var(--line);
}
.principle h3 {
  font-size: 22px;
  margin-bottom: 15px;
}
.principle p {
  font-size: 14px;
}
.fit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 45px;
}
.fit-card {
  background: var(--white);
  border-radius: 16px;
  padding: 36px;
}
.fit-card.secondary {
  background: transparent;
  border: 1px solid var(--line);
}
.fit-card h3 {
  font-size: 23px;
  margin-bottom: 24px;
}
ul {
  padding-left: 20px;
  color: var(--muted);
}
li {
  margin-bottom: 12px;
}
.fit-card li {
  font-size: 14px;
  padding-left: 6px;
}
.faq-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 100px;
}
.faq details {
  border-bottom: 1px solid var(--line);
}
summary {
  cursor: pointer;
  list-style: none;
  padding: 24px 35px 24px 0;
  font-size: 16px;
  line-height: 1.5;
  position: relative;
}
summary::-webkit-details-marker {
  display: none;
}
summary:after {
  content: "+";
  position: absolute;
  right: 0;
  font-size: 23px;
  top: 20px;
  font-weight: 400;
}
details[open] > summary:after {
  content: "−";
}
.faq details p {
  padding: 0 25px 24px 0;
  font-size: 14px;
}
.cta-section {
  padding-bottom: 80px;
}
.cta-box {
  padding: 68px 72px;
  background: #dae3d1;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}
.cta-box h2 {
  max-width: 560px;
}
.cta-box p {
  max-width: 530px;
  margin-top: 22px;
  font-size: 14px;
}
.cta-box .btn {
  flex-shrink: 0;
}
.footer {
  padding: 55px 0 26px;
  background: #e9ede4;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.footer-desc {
  font-size: 12px;
  max-width: 340px;
  margin-top: 22px;
}
.footer-links {
  display: flex;
  gap: 65px;
  font-size: 12px;
}
.footer-links div {
  display: grid;
  gap: 12px;
  align-content: start;
}
.footer-links strong {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.footer-bottom {
  border-top: 1px solid #cad3c5;
  margin-top: 45px;
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 10px;
  color: var(--muted);
}
.page-title {
  padding: 90px 0 75px;
  max-width: 850px;
}
.page-title h1 {
  font-size: clamp(40px, 4.5vw, 64px);
}
.page-title p {
  max-width: 650px;
  margin-top: 25px;
}
.treatment-detail {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 100px;
  padding: 75px 0;
  border-top: 1px solid var(--line);
}
.treatment-detail h2 {
  font-size: 42px;
}
.treatment-detail h3 {
  font-size: 24px;
  margin: 32px 0 18px;
}
.treatment-detail .btn {
  margin-top: 30px;
}
.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 50px;
}
.category-list span {
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 8px 17px;
  font-size: 11px;
}
.editorial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 90px;
}
.editorial-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 40px;
}
.editorial-card h2 {
  font-size: 30px;
  margin: 20px 0;
}
.editorial-card p {
  font-size: 14px;
}
.editorial-card .text-link {
  display: inline-block;
  margin-top: 28px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 70px;
  padding-bottom: 100px;
}
.contact-card {
  background: var(--ink);
  color: white;
  padding: 48px;
  border-radius: 20px;
}
.contact-card p {
  color: #c2d0cb;
  margin: 20px 0 30px;
}
.contact-card h2 {
  font-size: 32px;
}
.contact-card .contact-line {
  display: block;
  font-size: 24px;
  margin: 25px 0;
}
.prepare {
  padding: 20px 0;
}
.prepare h2 {
  font-size: 32px;
}
.prepare li {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.legal {
  max-width: 750px;
  padding-bottom: 90px;
}
.legal h2 {
  font-size: 25px;
  margin: 30px 0 15px;
}
.reveal {
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    transition:
      opacity 0.7s,
      transform 0.7s;
  }
  .reveal:not(.visible) {
    opacity: 1;
    transform: translateY(14px);
  }
}
@media (min-width: 1200px) and (max-height: 800px) {
  .hero {
    padding-block: 38px 45px;
    gap: 85px;
  }
  .hero-art {
    height: 470px;
  }
  .hero h1 {
    font-size: 57px;
  }
  .hero-copy > p {
    font-size: 14px;
  }
  .hero .eyebrow {
    margin-bottom: 20px;
  }
  .hero .actions {
    margin-top: 25px;
  }
}
@media (min-width: 1600px) {
  .hero {
    padding-block: 80px;
  }
  .hero-art {
    height: 620px;
  }
}
@media (max-width: 1050px) {
  .wrap {
    width: calc(100% - 64px);
  }
  .header .btn {
    display: none;
  }
  .hero {
    gap: 30px;
  }
  .hero-art {
    height: 490px;
  }
  .hero h1 {
    font-size: 48px;
  }
  .two-col,
  .about-grid,
  .faq-grid {
    gap: 50px;
  }
  .treatment-grid {
    grid-template-columns: 1fr 1fr;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .step h3 {
    max-width: none;
  }
  .cta-box {
    padding: 48px;
    display: block;
  }
  .cta-box .btn {
    margin-top: 28px;
  }
  .treatment-detail {
    gap: 50px;
  }
  .trust {
    font-size: 10px;
  }
  .footer-links {
    gap: 35px;
  }
}
@media (max-width: 700px) {
  .wrap {
    width: calc(100% - 40px);
  }
  .header-inner {
    height: 80px;
  }
  .brand strong {
    font-size: 13px;
  }
  .brand small {
    font-size: 8px;
  }
  .monogram {
    font-size: 39px;
    width: 47px;
  }
  .menu-toggle {
    display: block;
    border: 1px solid #b9c6b9;
    background: none;
    padding: 8px 11px;
    border-radius: 6px;
    font-size: 12px;
    color: var(--ink);
  }
  .nav {
    display: none;
    position: absolute;
    top: 79px;
    left: 0;
    right: 0;
    padding: 25px;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    align-items: start;
  }
  .nav.open {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  .hero {
    grid-template-columns: 1fr;
    padding: 40px 0 32px;
    gap: 34px;
  }
  .hero-copy {
    padding: 0;
  }
  .eyebrow {
    font-size: 9px;
    letter-spacing: 0.13em;
    margin-bottom: 22px;
  }
  .hero h1 {
    font-size: 44px;
    max-width: 450px;
    letter-spacing: -0.055em;
  }
  .hero-copy > p {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 22px;
  }
  .actions {
    margin-top: 27px;
    gap: 18px;
  }
  .btn {
    padding: 16px 20px;
    font-size: 12px;
  }
  .hero-art {
    height: 420px;
    width: 100%;
    max-width: 430px;
    margin: auto;
    border-radius: 45% 45% 15px 15px;
  }
  .portrait-label {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 13px 16px;
  }
  .portrait-label strong {
    font-size: 12px;
  }
  .portrait-label small {
    font-size: 9px;
  }
  .trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding-block: 22px;
    font-size: 9px;
  }
  .trust span:before {
    margin-right: 6px;
  }
  .section {
    padding-block: 72px;
  }
  .two-col,
  .about-grid,
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  h2 {
    font-size: 36px;
  }
  .body-copy .lead {
    font-size: 19px;
  }
  .body-copy p {
    font-size: 14px;
  }
  .section-head {
    display: block;
    margin-bottom: 30px;
  }
  .section-head > p {
    margin-top: 22px;
    max-width: none;
  }
  .treatment-grid {
    gap: 12px;
  }
  .treatment {
    padding: 23px 18px;
    min-height: 310px;
  }
  .treatment h3 {
    font-size: 22px;
    overflow-wrap: anywhere;
  }
  .treatment .number {
    margin-bottom: 32px;
  }
  .treatment p {
    font-size: 12px;
  }
  .treatment .text-link {
    font-size: 12px;
  }
  .steps {
    gap: 30px 22px;
    margin-top: 36px;
  }
  .step h3 {
    font-size: 22px;
    margin: 24px 0 15px;
  }
  .step p {
    font-size: 12px;
  }
  .myths {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 34px;
  }
  .myth h3 {
    font-size: 23px;
    margin: 16px 0;
  }
  .about-image {
    aspect-ratio: 0.9;
    max-height: 530px;
  }
  .about-grid {
    gap: 36px;
  }
  .about-copy h2 {
    margin-bottom: 24px;
  }
  .principles {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 30px;
  }
  .fit-grid {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
  .fit-card {
    padding: 27px;
  }
  .faq-grid {
    gap: 24px;
  }
  summary {
    font-size: 14px;
  }
  .cta-section {
    padding-bottom: 55px;
  }
  .cta-box {
    padding: 36px 25px;
    border-radius: 16px;
  }
  .cta-box h2 {
    font-size: 34px;
  }
  .cta-box .btn {
    width: 100%;
  }
  .footer-top {
    display: block;
  }
  .footer-links {
    margin-top: 35px;
    justify-content: space-between;
    gap: 20px;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 10px;
    margin-top: 35px;
  }
  .page-title {
    padding: 55px 0 45px;
  }
  .page-title h1 {
    font-size: 42px;
  }
  .page-title p {
    font-size: 14px;
  }
  .treatment-detail {
    grid-template-columns: 1fr;
    gap: 27px;
    padding-block: 50px;
  }
  .treatment-detail h2 {
    font-size: 36px;
  }
  .treatment-detail p,
  .treatment-detail li {
    font-size: 14px;
  }
  .editorial {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 60px;
  }
  .editorial-card {
    padding: 28px;
  }
  .editorial-card h2 {
    font-size: 29px;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 35px;
    padding-bottom: 55px;
  }
  .contact-card {
    padding: 32px 26px;
  }
  .contact-card .contact-line {
    font-size: 23px;
  }
  .category-list {
    margin-bottom: 32px;
    gap: 8px;
  }
  .category-list span {
    font-size: 10px;
    padding: 7px 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    transition: none !important;
    animation: none !important;
  }
  .reveal {
    opacity: 1;
    transform: none;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.review-note {
  font-size: 10px;
  line-height: 1.7;
  border-top: 1px solid #cad3c5;
  padding-top: 22px;
  margin-top: 35px;
  color: #5c6d62;
}
.footer-bottom {
  margin-top: 22px;
}
.pill {
  border: 1px solid #b8c6b8;
  border-radius: 30px;
  padding: 10px 18px;
  font-size: 12px;
}
.pill:hover {
  background: var(--sage);
}
.blog-notice {
  font-size: 14px;
  color: var(--muted);
  border-block: 1px solid var(--line);
  padding: 25px 0;
  margin-bottom: 35px;
  max-width: 850px;
}
.social-link {
  display: block;
  font-size: 12px;
  margin-top: 35px;
  color: #d4dfd2;
}
.contact-pending {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  color: var(--muted);
}
.contact-pending strong {
  font-weight: 500;
}
ol {
  color: var(--muted);
}
.brand {
  width: 250px;
  flex-shrink: 0;
}
.brand img {
  width: 100%;
  height: auto;
}
.header .brand {
  width: 245px;
}
.footer .brand {
  width: 275px;
}
@media (max-width: 700px) {
  .header .brand {
    width: 220px;
  }
  .footer .brand {
    width: 260px;
  }
}
@media (max-width: 360px) {
  .header .brand {
    width: 190px;
  }
}
.hero-art img {
  position: relative;
}
.treatment .number,
.myth > span {
  color: #5c6c57;
}
.cta-box p {
  color: #435b56;
}
.hero-art:before {
  z-index: 0;
}
@media (min-width: 1200px) and (max-height: 700px) {
  .hero-art {
    height: 425px;
  }
  .hero {
    padding-block: 30px 35px;
  }
  .hero h1 {
    font-size: 55px;
  }
  .hero-copy > p {
    margin-top: 22px;
  }
}
@media (min-width: 701px) and (max-width: 1050px) {
  .hero-art {
    height: 450px;
  }
  .hero-art img {
    object-fit: cover;
    object-position: 60% bottom;
  }
  .portrait-label {
    left: 14px;
    right: 14px;
    padding: 15px;
  }
  .portrait-label strong {
    font-size: 12px;
  }
}
@media (max-width: 450px) {
  .treatment-grid {
    grid-template-columns: 1fr;
  }
  .treatment {
    display: grid;
    grid-template-columns: 25px 1fr;
    gap: 0 16px;
    min-height: 0;
    padding: 25px 22px;
  }
  .treatment .number {
    grid-row: 1 / 4;
    display: block;
    margin: 3px 0 0;
  }
  .treatment .number span:last-child {
    display: none;
  }
  .treatment h3 {
    font-size: 25px;
    overflow-wrap: normal;
    margin-bottom: 14px;
  }
  .treatment p {
    font-size: 14px;
  }
  .treatment .text-link {
    padding-top: 19px;
    font-size: 12px;
    justify-self: start;
  }
  .hero-art {
    height: 390px;
  }
  .hero .actions {
    gap: 17px;
  }
  .hero .text-link {
    border: 0;
    padding: 0;
  }
  .hero-copy > p {
    line-height: 1.75;
  }
}
.cta-spacer {
  height: 112px;
}
@media (max-width: 700px) {
  .cta-spacer {
    height: 72px;
  }
}
/* Blog topics are informational labels, not inactive filters. */
.category-list span{border:0;border-right:1px solid #b8c6b8;border-radius:0;padding:0 14px 0 0;cursor:default;color:var(--muted)}
.category-list span:last-child{border-right:0}
/* Light, depth and restrained movement. */
body{background-image:radial-gradient(ellipse at 95% 10%,#dbe5cf70,transparent 36%),radial-gradient(ellipse at 0 35%,#e9ddc640,transparent 30%)}
.hero-art{border-radius:280px 280px 24px 24px;background:radial-gradient(ellipse at 60% 30%,#e8eddc,#c5d5bc 80%);box-shadow:0 25px 70px -45px #315d48a0;isolation:isolate}
.hero-art:before{display:none}
.hero-art {
  transition: box-shadow .55s ease;
}
.hero-art::after,
.treatment::after,
.about-image::after,
.myth::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #f8fff0 0%, #a5c18d 25%, #28584e 48%, #edf6df 72%, #668b65 100%);
  background-size: 180% 180%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity .45s ease, background-position .9s ease;
}
.hero-art:hover {
  box-shadow: 0 25px 70px -35px #315d4866, 0 0 24px -10px #b6c89f99;
}
.hero-art:hover::after,
.about-image:hover::after,
.treatment:is(:hover,.is-active)::after,
.treatment:focus-within::after,
.myth:hover::after {
  opacity: 1;
  background-position: 100% 100%;
}

.about-image{overflow:hidden;border-radius:24px;isolation:isolate;background:#dce4d5}
.about-image img{transform:scale(1.065);border-radius:0}
.alt{background:radial-gradient(ellipse at 15% 20%,#f4f3de 0,transparent 55%),linear-gradient(130deg,#e5ebdf,#f1f3eb)}
.btn{transition:transform .3s ease,box-shadow .3s ease,background .3s ease;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px -14px #173e4280}
.btn:active{transform:translateY(0)}
.treatment,.post-card{transition:transform .4s ease,box-shadow .4s ease,background .4s ease}
.treatment:is(:hover,.is-active){background:linear-gradient(140deg,#fffef6,#e4eddc);box-shadow:0 16px 40px -24px #173e4250;transform:translateY(-4px)}
.faq details{overflow:hidden;transition:background .3s ease}
.faq details[open]{background:linear-gradient(100deg,#e5ebdf55,transparent)}
summary:after{transition:transform .35s ease;content:'+'!important}
summary[aria-expanded=true]:after{transform:rotate(45deg)}
.cta-box{position:relative;isolation:isolate;overflow:hidden;background:#173e42;color:#fffdf3;min-height:390px;box-shadow:0 28px 55px -35px #173e4255}
.cta-box:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/images/next-step-nathalie-desiree-web.webp') center 65%/cover}
.cta-box:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#123936f5 0%,#173e42db 48%,#173e4260 100%),radial-gradient(ellipse at 85% 5%,#e4ecc175,transparent 60%)}
.cta-box h2,.cta-box p,.cta-box .eyebrow{color:#fffdf3}
.cta-box .btn{background:#e4eccf;color:#173e42;box-shadow:0 8px 35px #0f272b30}
.cta-box .eyebrow:before{background:#e4eccf}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:36px 0 100px}
.post-card{display:block;border-radius:20px;background:#fffef8;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:inherit}
.post-card:hover{transform:translateY(-6px);box-shadow:0 24px 45px -30px #173e4280}
.post-image{aspect-ratio:1.42;overflow:hidden;position:relative}
.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.post-card:hover img{transform:scale(1.045)}
.post-image>span{position:absolute;bottom:14px;left:14px;background:#fffef4ec;border-radius:20px;padding:6px 11px;font-size:10px;letter-spacing:.04em;color:#173e42}
.post-copy{padding:28px}.post-copy h2{font-size:27px;line-height:1.2;margin:16px 0}.post-copy p{font-size:14px;line-height:1.7}.post-copy .text-link{margin-top:26px;font-size:13px}.post-copy .text-link span{display:inline-block;transition:transform .3s}.post-card:hover .text-link span{transform:translate(3px,-3px)}
.demo-note{font-size:13px;color:var(--muted);max-width:750px;border-left:2px solid #9bb58d;padding-left:16px}
.article-preview{padding-top:50px}.article-preview .page-title{max-width:950px}.article-preview figure{margin:0}.article-preview figure img{width:100%;height:480px;object-fit:cover;border-radius:22px}.article-preview figcaption{font-size:11px;color:var(--muted);margin-top:12px}.article-note{max-width:760px;margin:64px auto 90px}.article-note h2{margin:18px 0 24px}.article-note p{margin-bottom:22px}
.floating-wa{position:fixed;bottom:24px;right:24px;z-index:60;display:flex;align-items:center;justify-content:center;min-width:58px;height:58px;padding:0 16px;background:#173e42;color:#fff;border:1px solid #ffffff55;border-radius:32px;box-shadow:0 8px 24px #173e4233;text-decoration:none;transition:background .3s,transform .3s}
.floating-wa:hover{background:#285b53;transform:translateY(-3px)}.floating-wa svg{flex-shrink:0}.wa-message{display:grid;grid-template-columns:0fr;transition:grid-template-columns .65s cubic-bezier(.22,1,.36,1),opacity .3s;opacity:0}.wa-message>span{overflow:hidden;white-space:nowrap;font-size:13px}.floating-wa.invite .wa-message,.floating-wa:focus-visible .wa-message{grid-template-columns:1fr;opacity:1}.wa-message>span:before{content:'';display:inline-block;width:12px}.wa-wave{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:0;opacity:0;overflow:visible;transform-origin:70% 80%;transition:width .65s cubic-bezier(.22,1,.36,1),opacity .2s}.floating-wa.invite .wa-wave,.floating-wa:focus-visible .wa-wave{width:30px;opacity:1}.invite .wa-wave{animation:wave 1.3s ease-in-out 2}@keyframes wave{0%,100%{transform:rotate(0)}25%,65%{transform:rotate(18deg)}45%,85%{transform:rotate(-8deg)}}
.footer{padding-bottom:100px}
@media(max-width:900px){.post-grid{gap:16px}.post-copy{padding:21px}.post-copy h2{font-size:23px}.cta-box{gap:32px}}
@media(max-width:700px){.hero-art{border-radius:220px 220px 22px 22px}.post-grid{grid-template-columns:1fr;gap:28px;margin-bottom:70px}.post-copy{padding:26px}.post-copy h2{font-size:28px}.post-image{aspect-ratio:1.65}.cta-box{min-height:470px;padding-top:48px;padding-bottom:48px}.cta-box:after{background:linear-gradient(90deg,#123936f2,#173e42bd)}.floating-wa{bottom:max(16px,env(safe-area-inset-bottom));right:16px;height:54px;min-width:54px;padding:0 14px}.article-preview figure img{height:280px}.article-preview{padding-top:30px}.article-note{margin:40px auto 65px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{transform:none!important;opacity:1!important}.treatment:is(:hover,.is-active),.post-card:hover,.btn:hover,.floating-wa:hover{transform:none}.post-card:hover img{transform:none}}

/* Continuous, seamless movement for the care differentiators. */
.trust {
  display: block;
  overflow: hidden;
  padding-block: 25px;
  mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
}
.trust-track {
  display: flex;
  width: max-content;
  animation: trust-scroll 48s linear infinite;
}
.trust-group {
  display: flex;
  align-items: center;
  gap: 64px;
  padding-right: 64px;
  flex-shrink: 0;
}
.trust-group span { white-space: nowrap; }
.trust:hover .trust-track { animation-play-state: paused; }
@keyframes trust-scroll {
  to { transform: translateX(-50%); }
}
@media (max-width: 700px) {
  .trust { font-size: 11px; }
  .trust-group { gap: 36px; padding-right: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .trust { mask-image: none; }
  .trust-track { width: auto; }
  .trust-group { flex-wrap: wrap; gap: 18px 32px; padding-right: 0; }
  .trust-group[aria-hidden="true"] { display: none; }
}

.diagnosis-section {
  gap: 40px;
  align-items: stretch;
}
.diagnosis-visual {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, #e8eedf, #d9e5ce);
  border: 1px solid #bdcdb080;
  box-shadow: 0 20px 55px -40px #173e4266;
}
.diagnosis-heading { padding: 36px 34px 30px; }
.diagnosis-heading h2 { margin-top: 22px; font-size: clamp(28px, 3vw, 38px); }
.diagnosis-visual > img {
  width: 100%;
  min-height: 260px;
  flex: 1;
  object-fit: cover;
  object-position: center;
}
.diagnosis-copy {
  padding: 36px;
  border-radius: 24px;
  border: 1px solid #c7d3bd80;
  background: linear-gradient(145deg, #f6f8f0, #e8efdf);
  box-shadow: 0 20px 55px -40px #173e4233;
}
.diagnosis-copy .btn { gap: 18px; }
@media (max-width: 700px) {
  .diagnosis-section { gap: 24px; }
  .diagnosis-heading, .diagnosis-copy { padding: 28px 24px; }
  .diagnosis-visual > img { min-height: 0; aspect-ratio: 3 / 2; }
}

.btn,
.header .btn {
  height: 64px;
  min-height: 64px;
  padding: 0 24px;
  gap: 16px;
  justify-content: center;
  border-radius: 999px;
}
.diagnosis-copy .btn { gap: 16px; }
.btn .arrow {
  display: inline-block;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}
.btn:hover .arrow,
.btn:focus-visible .arrow { transform: translate(3px, -3px); }
.text-link {
  position: relative;
  display: inline-block;
  border-bottom: 0;
  text-decoration: none;
}
.text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.text-link:hover::after,
.text-link:focus-visible::after,
.post-card:hover .text-link::after,
.post-card:focus-visible .text-link::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  .btn:hover .arrow, .btn:focus-visible .arrow { transform: none; }
}

.header .btn {
  height: auto;
  min-height: 44px;
  padding: 12px 18px;
}
.diagnosis-copy .lead { font-weight: 700; }
@media (min-width: 701px) {
  #tratamentos .section-head > p {
    flex: 0 0 calc((100% - 54px) / 4);
    max-width: none;
    margin-left: auto;
    text-align: right;
  }
}

.treatment { position: relative; isolation: isolate; }
.treatment:is(:hover,.is-active),
.treatment:focus-within {
  box-shadow: 0 20px 45px -28px #315d4866, 0 0 20px -10px #b6c89f99;
}
@media (min-width: 701px) {
  #tratamentos .section-head > p { transform: translateX(-2px); }
}

.dark .accent {
  background-image: linear-gradient(110deg, #a5bc86 0%, #dce9cd 24%, #fffdf3 49%, #b6ce9e 68%, #84a78b 100%);
}
.step { position: relative; }
.step::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #8fac86, #c8ddad 55%, #fffdf3);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}
.step:hover::before { transform: scaleX(1); }

.how-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.how-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url('/images/consultation-background-v3-web.webp') center 55% / cover no-repeat;
  opacity: .22;
  mix-blend-mode: luminosity;

  pointer-events: none;
}
.how-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #173e4233;
  pointer-events: none;
}
@media (max-width: 700px) {
  .how-section::before { background-position: 65% center; opacity: .16; }
}

.myth-emoji { display: inline-block; margin-left: 8px; font-size: 20px; line-height: 1.4; vertical-align: middle; letter-spacing: 0; }

.myths-wheel { padding: 90px 0; }
.myths-stage { position: relative; }
.myths-center { display: none; }
.myths-wheel .myth {
  border: 1px solid #c3d2b7;
  border-radius: 24px;
  padding: 30px;
  background: linear-gradient(145deg, #fffef8, #e8efdf);
  box-shadow: 0 24px 55px -40px #173e4266;
}
@media (min-width: 1000px) and (prefers-reduced-motion: no-preference) {
  .myths-wheel.is-animated { height: 190vh; padding: 0; }
  .is-animated .myths-stage {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 650px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    perspective: 1400px;
  }
  .is-animated .myths-center {
    display: block;
    position: absolute;
    top: 44%;
    left: 50%;
    width: 430px;
    text-align: center;
    font-family: Manrope, sans-serif;
    font-size: clamp(40px, 5vw, 66px);
    line-height: 1.1;
    letter-spacing: -.05em;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  .myths-center em { display: block; }
  .is-animated .myths-heading { position: relative; z-index: 2; }
  .is-animated .myths { gap: 28px; margin-top: 40px; }
  .is-animated .myth { transform-origin: center; backface-visibility: hidden; }
}
@media (max-width: 700px) {
  .myths-wheel { padding-block: 70px; }
  .myths-wheel .myth { padding: 26px; }
}

.instagram-badge {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px 12px 12px;
  margin-top: 28px;
  border: 1px solid #b8cbb580;
  border-radius: 999px;
  background: linear-gradient(135deg, #fffef8, #edf3e5);
  box-shadow: 0 12px 30px -22px #173e4255;
  transition: transform .3s ease, box-shadow .3s ease;
}
.instagram-badge:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -20px #173e4270; }
.instagram-story {
  padding: 3px;
  border-radius: 50%;
  background: conic-gradient(#d62976, #962fbf, #4f5bd5, #fa7e1e, #feda75, #d62976);
  flex-shrink: 0;
}
.instagram-story img { width: 56px; height: 56px; border-radius: 50%; border: 3px solid #fffef8; object-fit: cover; }
.instagram-info { display: grid; gap: 3px; }
.instagram-handle { display: flex; align-items: center; gap: 7px; font-weight: 650; font-size: 16px; }
.instagram-handle img { width: 18px; height: 18px; }
.instagram-caption { font-size: 11px; color: var(--muted); }
.instagram-follow { margin-left: 10px; padding: 8px 13px; background: var(--ink); color: var(--white); border-radius: 999px; font-size: 11px; }
@media(max-width: 380px) { .instagram-badge { gap: 10px; padding-right: 14px; } .instagram-follow { margin-left: 0; } }

.about-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 28px;
  padding-top: 23px;
  border-top: 1px solid var(--line);
}
.about-identity .signature { margin: 0; padding: 0; border: 0; }
.about-identity .instagram-badge {
  flex-shrink: 0;
  margin: 0;
  padding: 6px 13px 6px 7px;
  gap: 9px;
  background: linear-gradient(180deg, #ffffff99, #e8eedf66);
  box-shadow: inset 0 1px 0 #ffffffd9, 0 5px 14px -8px #173e4240;
}
.about-identity .instagram-story { padding: 2px; }
.about-identity .instagram-story img { width: 28px; height: 28px; border-width: 2px; }
.about-identity .instagram-handle { font-size: 13px; gap: 6px; }
.about-identity .instagram-handle img { width: 15px; height: 15px; }
@media (max-width: 1100px) {
  .about-identity { flex-wrap: wrap; }
}

.about-identity {
  justify-content: flex-start;
  align-items: stretch;
  gap: 24px;
}
.about-identity .signature {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 56px;
  line-height: 1.5;
}
.about-identity .instagram-badge {
  height: 56px;
  padding: 7px 16px 7px 9px;
  gap: 10px;
}
.about-identity .instagram-story img { width: 36px; height: 36px; }
.about-identity .instagram-handle { font-size: 14px; line-height: 1.4; }
.about-identity .instagram-caption { font-size: 12px; line-height: 1.4; }
.about-identity .instagram-info { gap: 2px; }
@media (min-width: 701px) { .about-identity { flex-wrap: nowrap; gap: clamp(14px, 2vw, 24px); } }
@media (max-width: 700px) { .about-identity { gap: 14px; } }

.about-image {
  position: relative;
  transition: box-shadow .55s ease;
}
.about-image:hover {
  box-shadow: 0 25px 70px -35px #315d4866, 0 0 24px -10px #b6c89f99;
}

.honesty-section { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.honesty-heading { position: sticky; top: 130px; }
.honesty-heading h2 { font-size: clamp(30px, 3.4vw, 46px); }
.honesty-section .principles { display: flex; flex-direction: column; gap: 48px; margin: 0; padding-top: 30px; }
.honesty-section .principle {
  padding: 36px;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #b9cdb380;
  border-radius: 24px;
  background: linear-gradient(135deg, #fffef8, #e5eddb);
  box-shadow: 0 24px 55px -40px #173e4266;
}
.principle-number { font-size: 12px; letter-spacing: .12em; color: #718273; margin-bottom: 24px; }
.honesty-section .principle h3 { font-size: 26px; }
.honesty-section .principle.is-pending { opacity: 0; transform: translateY(55px) rotate(2deg); }
.honesty-section .principle.is-entering { transition: opacity .7s ease, transform .85s cubic-bezier(.22,1,.36,1); }
@media (max-width: 700px) {
  .honesty-section { grid-template-columns: 1fr; gap: 36px; }
  .honesty-heading { position: static; }
  .honesty-section .principles { gap: 28px; padding: 0; }
  .honesty-section .principle { min-height: 230px; padding: 28px; }
}

.fit-grid { display: flex; gap: 18px; }
.fit-card, .fit-card.secondary {
  position: relative;
  overflow: hidden;
  border: 1px solid #b7cda54d;
  color: #fffdf3;
  background: radial-gradient(ellipse at 90% 0%, #5c7c5666, transparent 60%), linear-gradient(160deg, #173e42, #0d2c30);
  border-radius: 24px;
  padding: 0;
}
.fit-card::before {
  content: "";
  position: absolute;
  inset: -100px;
  background: repeating-radial-gradient(circle at 50% 50%, transparent 0 48px, #ffffff06 49px 50px);
  pointer-events: none;
}
.fit-content { position: relative; padding: 40px; }
.fit-content h3 { font-weight: 700; font-size: 30px; }
.fit-content ul { color: #d3ded1; }
.fit-content .btn { margin-top: 28px; }
.fit-spine { display: none; }
@media (min-width: 1000px) {
  .fit-grid { height: 450px; }
  .fit-card { flex: 0 0 112px; transition: flex-basis .7s cubic-bezier(.16,1,.3,1); }
  .fit-card.is-open { flex-basis: calc(100% - 130px); }
  .fit-content { width: 620px; max-width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; opacity: 0; transition: opacity .35s; }
  .fit-card.is-open .fit-content { opacity: 1; transition-delay: .2s; }
  .fit-content .btn { align-self: flex-start; }
  .fit-spine { display: flex; position: absolute; inset: 0; align-items: center; justify-content: center; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 12px; font-weight: 650; letter-spacing: .2em; transition: opacity .3s; }
  .fit-card.is-open .fit-spine { opacity: 0; }
}
@media (max-width: 999px) {
  .fit-grid { flex-direction: column; }
  .fit-content { padding: 30px; }
  .fit-content h3 { font-size: 26px; }
}

/* Photographic panels follow Allan's palette and existing button system. */
.fit-card, .fit-card.secondary {
  isolation: isolate;
  background: #173e42;
}
.fit-card::before {
  inset: 0;
  z-index: -2;
  background: url('/images/fit-yes-web.webp') center / cover no-repeat;
}
.fit-card.secondary::before { background-image: url('/images/fit-no-v2-web.webp'); }
.fit-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #102f33eb 0%, #173e42c9 46%, #173e4255 100%);
  pointer-events: none;
}
.fit-content .btn { background: var(--ink); color: var(--white); border-color: #ffffff40; }
.fit-content .btn:hover { background: #26565a; }
.fit-spine { background: #173e4266; }
@media(max-width:999px) { .fit-card::before { background-position: 65% center; } }

.footer { padding: 64px 0 32px; }
.footer-top { gap: 64px; }
.footer-desc { margin-top: 16px; }
.footer-links { gap: 64px; }
.footer-links div { gap: 8px; }
.footer-links strong { margin-bottom: 8px; }
.footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
  padding-top: 16px;
}
.footer-credit { text-align: center; }
.footer-credit a { font-weight: 600; }
.footer-credit a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media(max-width: 900px) {
  .footer-bottom { grid-template-columns: 1fr; justify-items: start; }
  .footer-credit { text-align: left; }
}
@media(max-width: 700px) {
  .footer { padding-top: 32px; }
  .footer-links { margin-top: 32px; justify-content: flex-start; gap: 64px; }
}

.footer-credit { opacity: .5; }
.footer-credit a { position: relative; display: inline-block; text-decoration: none; }
.footer-credit a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.footer-credit a:hover { text-decoration: none; }
.footer-credit a:hover::after,
.footer-credit a:focus-visible::after { transform: scaleX(1); }
@media(max-width: 900px) {
  .footer-bottom { justify-items: center; text-align: center; }
  .footer-credit { text-align: center; }
}

.footer-location { margin-top: 8px; font-size: 12px; color: var(--muted); }
.contact-pending address { font-style: normal; margin-top: 16px; line-height: 1.7; }
.contact-pending p { margin-top: 16px; }

/* Hero alternative: square backdrop with the portrait extending above it. */
.hero-art {
  height: auto;
  aspect-ratio: .86;
  overflow: visible;
  background: none;
  border-radius: 24px;
  box-shadow: none;
}
.hero-art::before {
  display: block;
  content: "";
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  transform: none;
  border: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 65% 20%, #e8eddc, #c5d5bc 85%);
  box-shadow: 0 25px 70px -45px #315d48a0;
  z-index: -1;
}
.hero-art > img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  padding-top: 0;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 0 0 24px 24px;
}
.hero-art::after {
  top: auto;
  bottom: 0;
  height: auto;
  aspect-ratio: 1;
}
.hero-art:hover { box-shadow: none; }
.trust {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  mask-image: none;
}
@media(max-width: 700px) {
  .hero-art { border-radius: 22px; }
  .hero-art > img { border-radius: 0 0 22px 22px; }
}

.hero-art::after { z-index: 0; }
.hero-art > img { z-index: 1; }
.hero-art .portrait-label { z-index: 2; }
@media (min-width: 701px) {
  .hero-art { transform: translateY(var(--hero-center-offset, 0px)); }
}

@keyframes portrait-chip-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-art .portrait-label { animation: portrait-chip-float 5s ease-in-out infinite; }
}



.portrait-label > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.portrait-label strong,
.portrait-label small { margin: 0; line-height: 1.5; }
.portrait-label { gap: 16px; }

.myth { position: relative; isolation: isolate; }
.myth > .myth-label { display: inline-flex; align-items: center; gap: 4px; }
.myth-label > span:first-child { line-height: 20px; }
.myth-label .myth-emoji { display: flex; align-items: center; justify-content: center; height: 20px; margin-left: 0; font-size: 20px; line-height: 1; letter-spacing: 0; }

/* Long-form editorial pages */
.article-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--muted);margin-top:24px}
.article-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:64px;justify-content:space-between;margin:64px 0 96px}
.article-toc nav{position:sticky;top:128px;padding:24px 0;border-top:1px solid var(--line)}
.article-toc strong{font-size:14px}.article-toc ol{padding-left:20px;margin-top:16px}.article-toc li{padding-left:4px;margin-bottom:16px;font-size:13px;line-height:1.55;color:var(--muted)}
.article-toc a{color:inherit;text-decoration:none}.article-toc a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.article-prose{min-width:0;font-size:17px;line-height:1.85;color:var(--muted)}
.article-prose section{scroll-margin-top:128px;margin-top:48px}.article-prose h2{font-size:clamp(25px,2.6vw,34px);line-height:1.2;margin:0 0 24px;color:#173e42;letter-spacing:-.035em}
.article-prose p{margin:0 0 24px}.article-prose ul,.article-prose ol{padding-left:24px;margin:0 0 24px}.article-prose li{margin-bottom:16px;padding-left:4px}.article-prose strong{color:#173e42;font-weight:700}
.article-prose a{color:#245c50;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.article-review{padding:24px 32px;background:#e7edde;border:1px solid #ccdac0;border-radius:16px;font-size:13px;line-height:1.65}.article-review p{margin:8px 0 0}
.article-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;margin-bottom:24px}.article-prose table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6}.article-prose caption{text-align:left;padding:16px;background:#e7edde;font-weight:600;color:#173e42}.article-prose th,.article-prose td{text-align:left;padding:16px;vertical-align:top;border-bottom:1px solid var(--line)}.article-prose thead{background:#f0f3e9}.article-prose th{color:#173e42}.article-prose tr:last-child td,.article-prose tr:last-child th{border-bottom:0}
.article-sources{border-top:1px solid var(--line);padding-top:32px}.article-sources p,.article-sources li{font-size:13px;line-height:1.75}
.post-card{display:flex;flex-direction:column}.post-copy{display:flex;flex-direction:column;flex:1}.post-copy .text-link{align-self:flex-start;margin-top:auto;padding-top:24px}.post-copy p{margin-bottom:16px}
@media(max-width:1000px){.article-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}}
@media(max-width:700px){.article-layout{grid-template-columns:1fr;gap:32px;margin:32px 0 64px}.article-toc nav{position:static;padding:16px 0}.article-toc li{margin-bottom:8px}.article-review{padding:24px}.article-prose{font-size:16px}.article-prose section{margin-top:32px}.article-prose table{min-width:520px}.article-preview figure img{height:auto;aspect-ratio:1.5}.article-meta{font-size:12px}.article-preview .page-title h1{font-size:clamp(34px,9vw,52px)}}
.table-hint{display:none}@media(max-width:700px){.article-prose .table-hint{display:block;font-size:12px;margin-bottom:8px}}
/* Blog discovery, sharing and navigation */
[hidden]{display:none!important}
.header-tools,.header-actions,.share-actions{display:flex;align-items:center;gap:8px}.header-tools{gap:16px}
.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;color:#173e42;cursor:pointer;transition:background .2s,transform .2s}
.icon-button:hover{background:#e1ead7;transform:translateY(-2px)}.icon-button:focus-visible{outline:2px solid #527352;outline-offset:3px}.icon-button svg{width:18px;height:18px}
.blog-search{max-width:640px;scroll-margin-top:128px;margin:0 0 16px}.blog-search label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.blog-search>div{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:32px;padding:8px 8px 8px 24px;background:#fffef8}.blog-search svg{flex-shrink:0}.blog-search input{width:100%;min-width:0;border:0;background:none;font:inherit;font-size:15px;color:var(--ink);padding:8px 0}.blog-search button{padding:12px 24px;border-radius:24px;border:0;background:#173e42;color:white;cursor:pointer;font:inherit;font-size:14px}.blog-count{font-size:13px;color:var(--muted)}
#blog-results{margin-bottom:32px}.blog-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:32px 0 64px}.blog-pagination button{min-width:40px;height:40px;border:1px solid var(--line);border-radius:24px;padding:0 16px;font:inherit;color:#173e42;background:transparent;cursor:pointer}.blog-pagination button[aria-current]{background:#173e42;color:white}.blog-pagination button:disabled{opacity:.4;cursor:default}.blog-empty{padding:32px 0 64px}
.share-bar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;justify-content:space-between;border-top:1px solid var(--line);padding:32px 0;margin-top:32px}.share-bar>strong{font-size:14px}.share-bar .icon-button{text-decoration:none}.share-status{flex-basis:100%;font-size:13px;overflow-wrap:anywhere}.share-status:empty{display:none}
.related-posts>.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}.related-posts>h2{margin-top:16px}.related-posts .post-image{aspect-ratio:1.8}
@media(min-width:1051px) and (max-width:1200px){.header-inner{gap:16px}.header-inner .nav{gap:16px}.header-inner .brand img{width:240px}}
@media(max-width:700px){.header-inner{height:auto;min-height:80px;gap:8px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.header-inner .brand{max-width:calc(100% - 70px)}.header-tools{width:100%;justify-content:flex-end}.header-tools .btn{display:inline-flex;font-size:11px;padding:10px 16px}.header .nav{top:100%;z-index:10}.header-actions{gap:8px}.related-posts>.post-grid{grid-template-columns:1fr}.blog-search>div{gap:8px;padding-left:16px}.blog-search input{font-size:13px}.blog-search button{padding:12px 16px}}
/* Equal spacing through the blog introduction and search. */
.blog-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.blog-index>.page-title{padding-bottom:0;margin-bottom:32px}
.blog-index>.page-title p{margin-top:32px;margin-bottom:0}
.blog-index>.blog-search{margin:0 0 32px}
.blog-index>#blog-results{margin-top:0}
/* Compensate for the text's line box so the following image gap reads equally. */
.blog-index>.blog-search{margin-bottom:40px}
/* Article opening rhythm and reading position. */
.article-preview>.page-title{padding-top:32px;padding-bottom:64px}
.article-meta{gap:8px;align-items:center}
.article-meta-dot{font-size:16px;line-height:1}
.article-preview figcaption{padding-left:2px}
@media(min-width:701px){.article-prose>section:first-child{margin-top:0}}
.reading-progress{position:fixed;inset:0 0 auto;height:4px;z-index:90;pointer-events:none}
.reading-progress>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#a9bf91,#527c61,#173e42);transform:scaleX(0);transform-origin:left}
[data-copy-link].is-copied{background:#dce9cf;border-color:#94b17d;color:#285c43}
[data-copy-link]{overflow:hidden;flex-shrink:0}
.copy-check{animation:copy-confirm .45s ease-out}
.copy-check path{stroke-dasharray:24;stroke-dashoffset:24;animation:copy-check-draw .35s ease-out forwards}
@keyframes copy-confirm{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes copy-check-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){[data-copy-link].is-copied,.copy-check,.copy-check path{animation:none}.copy-check path{stroke-dashoffset:0}}
/* Contact with a slowly rotating geographic globe. */
.contact-world{padding-top:64px;padding-bottom:96px}
.contact-world-heading{text-align:center;max-width:900px;margin:0 auto 64px}
.contact-world-heading>.eyebrow{justify-content:center}
.contact-world-heading h1{margin:24px 0 32px;font-size:clamp(40px,4.5vw,64px)}
.contact-world-heading p{font-size:16px;line-height:1.8;max-width:700px;margin:auto}
.contact-world-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;max-width:1088px;margin:auto}
.contact-world-info{min-width:0;padding-top:16px}
.contact-world-info h2{font-size:clamp(32px,3vw,42px);line-height:1.2;margin-bottom:16px}
.contact-world-info>div>p{max-width:360px;font-size:15px}
.contact-world-links{display:flex;flex-direction:column;gap:16px;margin-top:32px}
.contact-world-links>a,.contact-location{display:flex;align-items:center;gap:16px;width:fit-content}
.contact-channel-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#e5ecdc;flex-shrink:0;transition:background .3s}
.contact-channel-icon svg{width:18px;height:18px}
.contact-world-links small{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
.contact-world-links strong{font-size:15px;font-weight:500}
.contact-channel-arrow{margin-left:8px;transition:transform .3s}
.contact-world-links>a:hover .contact-channel-arrow{transform:translate(2px,-2px)}
.contact-world-links>a:hover .contact-channel-icon{background:#d4e2c9}
.contact-location address{font-size:13px;font-style:normal;line-height:1.65}
.contact-globe-panel{margin-top:32px;position:relative;max-width:480px}
.contact-globe{width:100%;aspect-ratio:1.25;overflow:hidden;position:relative;mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.contact-globe-svg{display:block;width:100%;height:auto}
.globe-caption{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--muted);padding:0 16px}
.globe-caption>span{display:flex;align-items:center;gap:8px}
.globe-caption i{width:6px;height:6px;background:#527956;border-radius:50%}
.globe-toggle{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);cursor:pointer}
.contact-form-card{padding:32px;border:1px solid #d4dfcb;border-radius:24px;background:linear-gradient(145deg,#fffefa,#f1f5e9);box-shadow:0 24px 64px -48px #173e4260}
.contact-form-card h2{font-size:28px;font-weight:600;margin-bottom:8px}
.contact-form-card header>p{font-size:14px}
.contact-form-dots{height:1px;margin:24px 0;background-image:radial-gradient(circle,#809678 1px,transparent 1px);background-size:6px 1px;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
#contact-message-form{display:flex;flex-direction:column;gap:24px}
.contact-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-field label,.contact-modality legend{font-size:12px;font-weight:600;color:#173e42}
.contact-field input,.contact-field textarea{font:inherit;font-size:13px;line-height:1.6;border:1px solid #d4ddcf;border-radius:12px;background:#fffefabb;padding:12px 16px;width:100%;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#78867b}
.contact-field textarea{resize:vertical;min-height:120px}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#75956a;box-shadow:0 0 0 3px #75956a20}
.contact-modality{border:0;padding:0;margin:0;min-width:0}
.contact-modality legend{padding:0;margin-bottom:8px}
.contact-modality>div{display:flex;gap:8px;flex-wrap:wrap}
.contact-modality label{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;cursor:pointer;background:#fffefa80}
.contact-modality label:has(input:checked){border-color:#a1b993;background:#e2ecd8}
.contact-modality input{accent-color:#173e42;margin:0}
#contact-message-form>.btn{align-self:flex-start;border:0;cursor:pointer;font-family:inherit}
#contact-message-form>.btn:disabled{opacity:.5;cursor:default}
.contact-form-direct{font-size:12px!important;line-height:1.7!important;color:var(--muted)}
.contact-form-direct .text-link{font-size:12px;margin-left:4px}
.contact-form-status{font-size:13px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#e8efde}
@media(max-width:900px){.contact-world-grid{gap:32px}.contact-form-card{padding:24px}.contact-fields-row{grid-template-columns:1fr}.contact-world-heading{margin-bottom:48px}}
@media(max-width:700px){.contact-world{padding-top:48px;padding-bottom:64px}.contact-world-heading h1{font-size:38px;margin-top:24px}.contact-world-heading p{font-size:14px}.contact-world-heading p br{display:none}.contact-world-grid{grid-template-columns:1fr;gap:32px}.contact-world-info{padding-top:0}.contact-world-info h2{font-size:32px}.contact-globe-panel{max-width:400px;margin-left:auto;margin-right:auto}.contact-globe{aspect-ratio:1.5}.contact-world-heading{margin-bottom:32px}.contact-form-card h2{font-size:26px}}
/* The globe ends exactly at the adjacent form's lower edge. */
@media(min-width:701px){
 .contact-world-grid{align-items:stretch}
 .contact-world-info{display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .contact-globe-panel{flex:1;min-height:180px;overflow:hidden;width:100%;max-width:none}
 .contact-globe{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;mask-image:none}
}
.contact-form-card{align-self:start}
@media(min-width:701px){.contact-world .contact-globe{mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%)}}
#contact-message-form .contact-field>label,
#contact-message-form .contact-modality>legend{transform:translateX(2px)}
/* Treatments: native page-scroll card stack. */
.treatments-page>.page-title{padding-bottom:0;margin-bottom:32px}
.treatments-page>.page-title p{margin-top:32px}
.treatments-page>.category-list{padding:0;margin:0 0 64px;gap:8px;display:flex;flex-wrap:wrap}
.treatments-page .pill{padding:10px 16px;font-size:13px;border-radius:24px}
.treatment-stack{position:relative;padding-bottom:32px}
.treatment-stack-item{position:sticky;top:var(--stack-top,128px);z-index:calc(1 + var(--stack-index));padding-bottom:64px;scroll-margin-top:128px}
.treatment-stack-item:last-child{padding-bottom:0}
.treatment-stack-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;background:#fffefa;border:1px solid #cfdbca;border-radius:24px;padding:40px;min-height:520px;transform-origin:top center;box-shadow:0 24px 64px -48px #173e4270}
.treatment-stack-item:nth-child(2) .treatment-stack-card{background:#edf2e5}
.treatment-stack-item:nth-child(3) .treatment-stack-card{background:#e4ecdc}
.treatment-stack-item:nth-child(4) .treatment-stack-card{background:#dce7d5}
.treatment-stack-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:24px}
.treatment-stack-copy h2{font-size:clamp(30px,3.2vw,42px);line-height:1.15}
.treatment-stack-copy .eyebrow{font-size:10px}
.treatment-stack-lead{font-size:16px;line-height:1.8;max-width:540px}
.treatment-stack-copy>.btn{margin-top:auto;max-width:100%;font-size:13px;padding-left:24px;padding-right:24px}
.treatment-more{width:100%;margin-bottom:8px}
.treatment-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-size:14px;font-weight:600;border-top:1px solid #173e4220;border-bottom:1px solid #173e4220;padding:16px 0}
.treatment-more summary::-webkit-details-marker{display:none}
.treatment-more summary>span:first-child{text-decoration:underline;text-underline-offset:4px;text-decoration-color:transparent;transition:text-decoration-color .2s}
.treatment-more summary:hover>span:first-child{text-decoration-color:currentColor}
.treatment-more-sign{font-size:22px;font-weight:400;transition:transform .25s}.treatment-more[open] .treatment-more-sign{transform:rotate(45deg)}
.treatment-more-body{padding-top:24px;font-size:14px;line-height:1.8}
.treatment-more-body h3{font-size:21px;line-height:1.3;margin:24px 0 16px}
.treatment-more-body h3:first-child{margin-top:0}
.treatment-more-body ul,.treatment-more-body ol{padding-left:24px;margin:0 0 24px}
.treatment-more-body li{margin-bottom:8px}
.treatment-more-body p{margin-bottom:16px}
.treatment-stack-image{position:relative;margin:0;border-radius:16px;overflow:hidden;min-height:440px;align-self:stretch;background:#d8e2cf}
.treatment-stack-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.treatment-stack-item:nth-child(3) .treatment-stack-image img{object-position:50% 0}
.treatment-stack-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#12393699);pointer-events:none}
.treatment-stack-image figcaption{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;color:#fffefa;display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:.02em}
.treatment-stack-image figcaption>span{display:flex;align-items:center;justify-content:center;border:1px solid #fffefa70;border-radius:50%;width:40px;height:40px;font-size:12px}
@media(max-width:1000px){.treatment-stack-card{padding:32px;gap:24px}.treatment-stack-copy>.btn{font-size:12px;padding-left:16px;padding-right:16px}.treatment-stack-lead{font-size:14px}.treatment-stack-image{min-height:400px}}
@media(max-width:700px){.treatments-page>.category-list{margin-bottom:32px}.treatment-stack-item{position:relative;top:auto;padding-bottom:32px}.treatment-stack-card{grid-template-columns:1fr;gap:24px;padding:24px;min-height:0}.treatment-stack-image{min-height:240px;aspect-ratio:1.4;grid-row:1}.treatment-stack-copy{gap:16px}.treatment-stack-copy h2{font-size:30px}.treatment-stack-copy>.btn{margin-top:8px}.treatment-stack-image figcaption{left:16px;bottom:16px}.treatment-stack{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.treatment-stack-item{position:relative;top:auto}.treatment-stack-card{transform:none!important}}
.treatment-stack-image{min-width:0}
@media(max-width:700px){.treatment-stack-image{width:100%;height:240px;min-height:0;aspect-ratio:auto}}
.treatment-more>summary::after{content:none!important}
/* Keep each photo at its closed-card size while the text unfolds. */
@media(min-width:701px){.treatment-stack-image{align-self:start;height:var(--treatment-photo-height,440px)}}
.treatment-more{overflow:hidden}
.treatment-more>summary[aria-expanded="false"] .treatment-more-sign{transform:rotate(0deg)}
.treatment-more>summary[aria-expanded="true"] .treatment-more-sign{transform:rotate(45deg);transition-duration:.4s}

/* Diagnosis section, editorial preview version. */
.diagnosis-v2{display:block}
.diagnosis-v2 .diagnosis-heading{padding:0;margin-bottom:48px;max-width:none}
.diagnosis-v2 .diagnosis-heading h2{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-.045em;margin-top:24px}
.diagnosis-v2-content{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.diagnosis-v2 .diagnosis-visual{position:relative;border:0;border-radius:16px;background:none;box-shadow:none;aspect-ratio:1.05;overflow:hidden}
.diagnosis-v2 .diagnosis-visual>img{height:100%;min-height:0;flex:none;object-fit:cover;object-position:50% 60%}
.diagnosis-v2 .diagnosis-copy{padding:32px 0;border:0;border-radius:0;background:none;box-shadow:none}
.diagnosis-v2 .diagnosis-copy .lead{font-size:clamp(24px,2.2vw,30px);line-height:1.2;letter-spacing:-.025em;margin-bottom:32px;color:var(--ink)}
.diagnosis-v2 .diagnosis-copy p{margin-bottom:24px}
.diagnosis-v2 .diagnosis-copy p:last-of-type{padding-top:24px;border-top:1px solid var(--line);color:#173e42}
.diagnosis-v2 .diagnosis-copy .btn{margin-top:8px}
@media(max-width:1000px){.diagnosis-v2-content{gap:32px}.diagnosis-v2 .diagnosis-heading{margin-bottom:32px}}
@media(max-width:700px){.diagnosis-v2-content{grid-template-columns:1fr;gap:32px}.diagnosis-v2 .diagnosis-heading h2{font-size:38px}.diagnosis-v2 .diagnosis-visual{aspect-ratio:1.25}.diagnosis-v2 .diagnosis-copy{padding:0}.diagnosis-v2 .diagnosis-copy .lead{margin-bottom:24px}.diagnosis-v2 .diagnosis-copy .btn{font-size:12px;padding-left:20px;padding-right:20px}}

/* Preserve the complete portrait, including the space above the hair. */
.about-image{aspect-ratio:1122 / 1402;max-height:none}
.about-image img{transform:none;object-fit:contain;object-position:center;display:block}

/* Anchor treatment portraits at the top to preserve heads and hair. */
.treatment-stack-item .treatment-stack-image img{object-position:50% 0;transform:none}

/* Exclusive mobile iteration: centered hero copy and calls to action. */
@media (max-width:700px){
 .hero-copy{text-align:center}
 .hero-copy>.eyebrow{justify-content:center}
 .hero-copy>p{margin-left:auto;margin-right:auto}
 .hero .actions{align-items:center;justify-content:center}
}
@media(max-width:700px){.hero .actions{justify-items:center}.hero .actions>*{justify-self:center}}
@media(max-width:700px){.hero .actions{display:flex;flex-direction:column;align-items:center;width:100%}.hero .actions>a{margin-left:auto;margin-right:auto}}
@media(max-width:700px){.hero-copy>.eyebrow::before{display:none}}

@media(max-width:700px){
 .diagnosis-v2 .diagnosis-heading{text-align:center}
 .diagnosis-v2 .diagnosis-heading>.eyebrow{justify-content:center}
 .diagnosis-v2 .diagnosis-visual{width:100%;margin-left:auto;margin-right:auto}
 .diagnosis-v2 .diagnosis-copy>.btn{display:flex;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}
}

@media (max-width: 700px) {
  .about-identity { flex-direction: column; align-items: center; }
  .about-identity .signature { text-align: center; }
}

/* Mobile: each honesty card slides over the preceding card. */
@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .honesty-section .principles {
    display: grid;
    grid-auto-rows: 1fr;
    gap: 32px;
    padding-bottom: 0;
  }
  .honesty-section .principle,
  .honesty-section .principle.is-pending,
  .honesty-section .principle.is-entering {
    position: sticky;
    top: 96px;
    opacity: 1;
    transform: none;
    transition: none;
  }
  .honesty-section .principle:nth-child(1) { z-index: 1; }
  .honesty-section .principle:nth-child(2) { z-index: 2; }
  .honesty-section .principle:nth-child(3) { z-index: 3; }
  .honesty-section .principle:nth-child(4) { z-index: 4; }
}

/* Mobile audience panels: a swipeable row with a preview of the next card. */
@media (max-width: 700px) {
  .fit-section .wrap > .eyebrow { justify-content: center; }
  .fit-section .wrap > h2 { text-align: center; }
  .fit-section .fit-grid {
    flex-direction: row;
    gap: 16px;
    overflow-x: auto;
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
    padding: 0 16px 8px;
    scroll-padding-inline: 16px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }
  .fit-section .fit-grid::-webkit-scrollbar { display: none; }
  .fit-section .fit-card {
    flex: 0 0 calc(100vw - 64px);
    scroll-snap-align: start;
    padding: 0;
  }
  .fit-section .fit-content {
    height: 100%;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
  }
  .fit-section .fit-content ul { flex: 1; }
  .fit-section .fit-content .btn {
    align-self: flex-start;
    min-height: 56px;
    height: auto;
    padding: 16px 20px;
    font-size: 12px;
    gap: 8px;
    background: var(--white);
    color: var(--ink);
  }
}

@media (max-width: 700px) {
  .fit-section .fit-card.secondary::before { background-position: 100% center; }
}

@media (max-width: 700px) {
  .faq-grid.section.wrap > div:first-child > .eyebrow { justify-content: center; }
  .faq-grid.section.wrap > div:first-child > h2 { text-align: center; }
}

@media (max-width: 700px) {
  .footer .footer-top > div:first-child { text-align: center; }
  .footer .footer-top .brand { margin-inline: auto; }
  .footer .footer-desc { margin-inline: auto; }
  .footer .footer-links { justify-content: center; gap: 16px; }
  .footer .footer-links > div { gap: 4px; }
  .footer .footer-links strong { margin-bottom: 0; }
}

@media (max-width: 700px) {
  .footer .footer-links { justify-content: flex-start; }
  .footer .footer-bottom { gap: 4px; }
  .footer .footer-bottom > span {
    font-family: inherit;
    font-size: 10px;
    line-height: 1.5;
    font-weight: 400;
    color: var(--muted);
    opacity: .5;
  }
  .footer .footer-bottom > span a { color: inherit; font-size: inherit; }
}

@media (max-width: 700px) {
  .footer .footer-top > div:first-child { text-align: left; }
  .footer .footer-top .brand,
  .footer .footer-desc { margin-left: 0; margin-right: 0; }
  .footer .footer-bottom { justify-items: start; text-align: left; }
  .footer .footer-bottom > span { text-align: left; }
}

@media (max-width: 700px) {
  .footer .footer-links > div:last-child {
    margin-left: auto;
    align-items: flex-end;
    text-align: right;
  }
}

@media (max-width: 700px) {
  .treatments-page > .page-title { text-align: center; }
  .treatments-page > .page-title > .eyebrow { justify-content: center; }
  .treatments-page > .page-title > .eyebrow::before { display: none; }
  .treatments-page > .page-title > p { margin-inline: auto; }
  .treatments-page > .category-list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 4px;
  }
  .treatments-page > .category-list > .pill {
    flex: 0 1 auto;
    white-space: nowrap;
    font-size: clamp(9px, 2.5vw, 12px);
    padding: 10px 6px;
  }
}

@media (max-width: 700px) {
  .treatment-stack-card { gap: 24px; }
  .treatment-stack-copy { gap: 24px; }
  .treatment-stack-copy > .eyebrow,
  .treatment-stack-copy > h2,
  .treatment-stack-copy > .treatment-stack-lead { margin: 0; }
}
@media (max-width: 700px) {
  .treatments-page .treatment-stack-copy { gap: 24px; }
}

@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .treatments-page .treatment-stack-item {
    position: sticky;
    top: var(--stack-top, 96px);
  }
  .treatments-page .treatment-stack-image {
    align-self: start;
    height: 240px;
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .treatments-page .treatment-stack-copy > .btn {
    justify-content: center;
    gap: 16px;
    text-align: center;
  }
  .treatments-page .treatment-stack-copy > .btn > span { margin-left: 0; }
}

@media (max-width: 700px) {
  .treatments-page .treatment-stack-copy > .eyebrow { display: none; }
}
.mobile-read-arrow { display: none !important; }
@media (max-width: 700px) {
  .blog-index > .page-title { text-align: center; }
  .blog-index > .page-title > .eyebrow { justify-content: center; }
  .blog-index > .page-title > .eyebrow::before { display: none; }
  .blog-index > .page-title > p { margin-inline: auto; }
  .blog-index .post-copy { text-align: center; gap: 16px; }
  .blog-index .post-copy > .eyebrow { display: none; }
  .blog-index .post-copy > h2,
  .blog-index .post-copy > p { margin: 0; }
  .blog-index .post-copy > .text-link {
    margin: 0;
    padding-top: 0;
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .blog-index .mobile-read-arrow { display: inline-block !important; }
}

@media (max-width: 700px) {
  .blog-index .post-copy { text-align: left; }
  .blog-index .post-copy > .text-link { align-self: flex-start; }
}

@media (max-width: 700px) {
  .article-preview > .page-title > .eyebrow { display: none; }
}

@media (max-width: 700px) {
  .article-preview > .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fffef880;
  }
  .article-preview > .text-link::before { content: '←'; }
  .article-preview .article-layout { gap: 24px; }
  .article-preview .article-toc nav { padding-bottom: 0; }
  .article-preview .article-toc ol { margin-bottom: 0; }
  .article-preview .article-toc li:last-child { margin-bottom: 0; }
  .article-preview .article-prose > section:first-child { margin-top: 0; }
  .article-preview .share-bar { flex-direction: column; justify-content: center; align-items: center; }
  .article-preview .share-actions { justify-content: center; }
  .article-preview .article-prose > .text-link { display: block; width: fit-content; margin-inline: auto; text-align: center; }
  .article-preview .related-posts > .eyebrow { display: none; }
  .article-preview .related-posts .post-copy { text-align: left; gap: 16px; }
  .article-preview .related-posts .post-copy > .eyebrow { display: none; }
  .article-preview .related-posts .post-copy > h2,
  .article-preview .related-posts .post-copy > p { margin: 0; }
  .article-preview .related-posts .post-copy > .text-link {
    margin: 0;
    padding-top: 0;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .article-preview .related-posts .mobile-read-arrow { display: inline-block !important; }
}

@media (max-width: 700px) {
  .article-preview .article-layout { margin-bottom: 64px; }
  .article-preview .related-posts > h2 { margin-top: 0; text-align: center; }
}

@media (max-width: 700px) {
  .article-preview .share-bar { gap: 24px; padding-bottom: 24px; }
  .article-preview .share-bar > strong { margin: 0; }
  .article-preview .article-prose > .text-link { margin-top: 0; }
}

@media (max-width: 700px) {
  main .hero-art { margin-top: -34px; }
}
.portrait-label .portrait-instagram { display: none; }
@media (max-width: 700px) {
  .hero-art .portrait-label { flex-wrap: wrap; justify-content: center; gap: 16px; }
  .hero-art .portrait-label > .portrait-desktop-arrow { display: none; }
  .hero-art .portrait-label > .portrait-instagram {
    display: inline-flex;
    margin: 0;
    padding: 7px 16px 7px 9px;
    gap: 10px;
    font-size: 14px;
  }
  .hero-art .portrait-instagram .instagram-story img { width: 36px; height: 36px; object-fit: cover; border-radius: 50%; }
  .hero-art .portrait-instagram .instagram-handle img { width: 15px; height: 15px; object-fit: contain; }
  .hero-art .portrait-instagram .instagram-caption { font-size: 12px; }
}
@media (max-width: 700px) {
  .hero-art .portrait-instagram img { padding-top: 0; transform: none; }
  .hero-art .portrait-instagram .instagram-info { font-size: 14px; }
  .hero-art .portrait-instagram .instagram-handle { font-size: 14px; }
  .hero-art .portrait-instagram .instagram-caption { font-size: 12px; }
}

@media (max-width: 700px) {
  .hero-art .portrait-label { flex-wrap: nowrap; justify-content: space-between; gap: 8px; }
  .hero-art .portrait-label > div { flex: 1; min-width: 0; text-align: left; }
  .hero-art .portrait-label > .portrait-instagram {
    flex-shrink: 0;
    padding: 6px;
    gap: 0;
    border-radius: 50%;
  }
  .hero-art .portrait-instagram .instagram-story { padding: 2px; }
  .hero-art .portrait-instagram .instagram-story img { width: 28px; height: 28px; }
  .hero-art .portrait-instagram .instagram-info { display: none; }
}
@media (max-width: 700px) {
  .hero-art .portrait-label > .portrait-instagram { border-radius: 999px; padding: 5px 7px 5px 5px; gap: 5px; }
  .hero-art .portrait-instagram .instagram-info { display: flex; gap: 1px; }
  .hero-art .portrait-instagram .instagram-handle { font-size: 10px; gap: 3px; }
  .hero-art .portrait-instagram .instagram-handle img { width: 10px; height: 10px; }
  .hero-art .portrait-instagram .instagram-caption { font-size: 9px; }
  .hero-art .portrait-instagram .instagram-story img { width: 24px; height: 24px; }
}
@media (max-width: 700px) {
  .hero-art .portrait-instagram .instagram-info { flex-direction: column; align-items: flex-start; }
}
.hero > .portrait-instagram { display: none; }
@media (max-width: 700px) {
  .hero-art .portrait-label { flex-wrap: nowrap; justify-content: space-between; gap: 16px; }
  .hero-art .portrait-label > .portrait-desktop-arrow { display: block; }
  .hero-art .portrait-label > div { flex: initial; text-align: left; }
  .hero > .portrait-instagram {
    display: inline-flex;
    justify-self: center;
    margin: 0;
  }
}
@media (max-width: 700px) {
  .hero > .portrait-instagram {
    height: 56px;
    padding: 7px 16px 7px 9px;
    gap: 10px;
    flex-shrink: 0;
    background: linear-gradient(180deg, #ffffff99, #e8eedf66);
    box-shadow: inset 0 1px 0 #ffffffd9, 0 5px 14px -8px #173e4240;
  }
  .hero > .portrait-instagram .instagram-story { padding: 2px; }
  .hero > .portrait-instagram .instagram-story img { width: 36px; height: 36px; border-width: 2px; }
  .hero > .portrait-instagram .instagram-info { gap: 2px; }
  .hero > .portrait-instagram .instagram-handle { font-size: 14px; line-height: 1.4; gap: 6px; }
  .hero > .portrait-instagram .instagram-handle img { width: 15px; height: 15px; }
  .hero > .portrait-instagram .instagram-caption { font-size: 12px; line-height: 1.4; }
}

@media (max-width: 700px) {
  .honesty-section .honesty-heading { text-align: center; }
  .honesty-section .honesty-heading > .eyebrow { justify-content: center; }
}

@media (max-width: 700px) {
  .contact-world-info > div:first-child { display: none; }
}

@media (max-width: 700px) {
  .contact-world-links > a { margin-inline: auto; justify-content: center; }
  .contact-world-links > a > .contact-channel-arrow { display: none; }
}

@media (max-width: 700px) {
  .contact-world .contact-world-links { margin-top: 0; }
  .contact-world .contact-world-links > a,
  .contact-world .contact-location { margin-left: 0; margin-right: 0; justify-content: flex-start; }
}
@media (max-width: 700px) {
  .contact-world .contact-world-heading { margin-bottom: 36px; }
}

@media (max-width: 700px) {
  .contact-world .contact-world-grid { row-gap: 0; }
}

@media (min-width: 1000px) {
  .contact-world .contact-globe-panel { min-height: 320px; }
  .contact-world .contact-form-card { align-self: stretch; }
}

/* Blog listing and recommendation cards share the same editorial presentation. */
.post-copy > .eyebrow,
.blog-index > .page-title > .eyebrow { display: none; }
.post-copy .mobile-read-arrow { display: inline-block !important; }
.post-copy > .text-link { display: inline-flex; align-items: center; gap: 8px; }

.article-preview > .page-title > .eyebrow,
.article-preview .related-posts > .eyebrow { display: none; }
.article-preview > .text-link,
.article-preview .article-prose > .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fffef880;
}
.article-preview > .text-link::before { content: '←'; }
@media (max-width: 700px) {
  .article-preview .article-prose > .text-link { display: flex; }
}

@media (min-width: 701px) {
  .article-preview .article-prose > .text-link { display: none; }
}

@media (min-width: 701px) {
  .contact-world .contact-fields-row { grid-template-columns: 1fr; }
}
@media (min-width: 701px) {
  .contact-world .contact-modality > div { flex-direction: column; align-items: flex-start; gap: 8px; }
}

.contact-world-links > a > .contact-channel-arrow { display: none; }

.treatments-page .treatment-stack-copy > .eyebrow { display: none; }
