.treatment-page {
  --tr-navy: #12345b;
  --tr-teal: #18aeb5;
  --tr-pink: #ef718d;
  --tr-yellow: #f2c85b;
  --tr-ink: #28394c;
  --tr-pale: #edf9fa;
  color: var(--tr-ink);
  font-size: clamp(16px, 1.05vw, 17px);
  line-height: 1.9;
  overflow: hidden;
}

.treatment-container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.treatment-section { padding: clamp(72px, 8vw, 112px) 0; }
.treatment-page h1, .treatment-page h2, .treatment-page h3 { color: var(--tr-navy); line-height: 1.45; letter-spacing: .06em; }
.treatment-page h1 { margin: 6px 0 18px; font-size: clamp(32px, 4vw, 46px); }
.treatment-page h2 { margin: 0 0 24px; font-size: clamp(27px, 3vw, 36px); }
.treatment-page h3 { margin: 0 0 12px; font-size: clamp(21px, 2vw, 25px); }
.treatment-page p { margin: 0 0 1.15em; }

.treatment-hero { position: relative; padding: 36px 0 78px; background: linear-gradient(145deg, #f7ffff, #e9f8f7 65%, #fff8f3); }
.treatment-hero::after { position: absolute; right: -4%; bottom: -26px; width: 46%; height: 58px; border-radius: 50% 50% 0 0; background: #fff; content: ""; }
.treatment-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 45px; color: #758595; font-size: 14px; }
.treatment-breadcrumb a { color: inherit; text-decoration: none; }
.treatment-hero__heading { position: relative; max-width: 760px; padding-left: 126px; }
.treatment-icon { display: grid; width: 64px; height: 64px; flex: 0 0 auto; place-items: center; color: var(--tr-teal); }
.treatment-icon svg { width: 100%; height: 100%; overflow: visible; }
.treatment-icon--hero { position: absolute; left: 0; top: 4px; width: 92px; height: 92px; padding: 18px; border: 1px solid rgba(24,174,181,.22); background: rgba(255,255,255,.78); transform: rotate(-2deg); }
.treatment-eyebrow, .treatment-section__label { margin-bottom: 5px !important; color: var(--tr-teal); font-size: 13px; font-weight: 700; letter-spacing: .22em; }
.treatment-hero__lead { max-width: 650px; margin: 0; font-weight: 500; }
.treatment-hero__decor { position: absolute; pointer-events: none; }
.treatment-hero__decor--dot { right: 8%; top: 24%; width: 56px; height: 56px; background-image: radial-gradient(var(--tr-pink) 1.6px, transparent 1.6px); background-size: 8px 8px; opacity: .32; transform: rotate(9deg); }
.treatment-hero__decor--star { right: 21%; bottom: 20%; color: var(--tr-yellow); font-size: 34px; opacity: .72; }

.treatment-intro__grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: clamp(48px, 7vw, 92px); align-items: center; }
.treatment-photo { position: relative; }
.treatment-photo::before { position: absolute; inset: 16px -16px -16px 16px; z-index: -1; border: 1px solid rgba(24,174,181,.42); content: ""; }
.treatment-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; box-shadow: 0 18px 45px rgba(19,52,91,.1); }
.treatment-intro__copy { max-width: 610px; }

.treatment-menu { background: linear-gradient(180deg, #f7fcfc, #fff); }
.treatment-section__heading { max-width: 760px; margin: 0 auto 52px; text-align: center; }
.treatment-menu__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #dce8e9; }
.treatment-menu__item { display: flex; min-height: 154px; gap: 22px; align-items: center; padding: 30px 34px; border-bottom: 1px solid #dce8e9; color: inherit; text-decoration: none; transition: background .25s ease, transform .25s ease; }
.treatment-menu__item:nth-child(odd) { border-right: 1px solid #dce8e9; }
.treatment-menu__item:hover { background: #fff; transform: translateY(-3px); }
.treatment-menu__price { display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; margin-top:34px; padding:25px 32px; border:1px solid rgba(36,70,113,.13); border-left:4px solid #20aeb5; border-radius:4px 22px 4px 22px; background:rgba(255,255,255,.72); color:#244671; text-decoration:none; transition:background .25s ease, transform .25s ease, box-shadow .25s ease; }
.treatment-menu__price:hover { background:#fff; transform:translateY(-3px); box-shadow:0 15px 35px rgba(35,77,97,.09); }
.treatment-menu__price-label { color:#20aeb5; font-size:11px; font-weight:700; letter-spacing:.16em; white-space:nowrap; }
.treatment-menu__price-copy { display:grid; gap:3px; }
.treatment-menu__price-copy strong { color:#244671; font-size:21px; }
.treatment-menu__price-copy small { color:#667985; font-size:13px; }
.treatment-menu__price-arrow { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:#e8f7f7; color:#159fa9; font-size:19px; }
.treatment-menu__text { display: grid; gap: 5px; }
.treatment-menu__text strong { color: var(--tr-navy); font-size: 21px; letter-spacing: .05em; }
.treatment-menu__text small { font-size: 15px; line-height: 1.65; }
.treatment-menu__arrow { margin-left: auto; color: var(--tr-pink); font-size: 24px; }

.treatment-points { background: var(--tr-pale); }
.treatment-points__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 0; background: rgba(18,52,91,.12); list-style: none; }
.treatment-points__grid li { position: relative; min-height: 300px; padding: 50px 38px 38px; background: #fff; }
.treatment-points__number { display: block; margin-bottom: 30px; color: rgba(24,174,181,.34); font-family: Georgia, serif; font-size: 54px; line-height: 1; }
.treatment-points__grid p { margin-bottom: 0; }

.treatment-details { background: #fff; }
.treatment-detail { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 48px; padding: 70px 0; border-bottom: 1px solid #dce6e8; }
.treatment-detail:first-child { padding-top: 0; }
.treatment-detail:last-child { border-bottom: 0; }
.treatment-detail__index { color: rgba(239,113,141,.24); font-family: Georgia, serif; font-size: 76px; line-height: 1; }
.treatment-detail__body { max-width: 840px; }
.treatment-detail__photo { width: fit-content; max-width: 100%; margin: 0 0 30px; overflow: hidden; border: 1px solid #dce6e8; border-radius: 12px; background: #f7fbfb; }
.treatment-detail__photo img { display: block; width: auto; max-width: 100%; height: auto; max-height: 440px; object-fit: contain; }
.treatment-detail__photo--compact { max-width: 520px; }
.treatment-detail__photo--medium { max-width: 640px; }
.treatment-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; margin: 30px 0 0; padding: 26px 30px; border-left: 3px solid var(--tr-teal); background: #f7fbfb; list-style: none; }
.treatment-checklist li { position: relative; padding-left: 24px; }
.treatment-checklist li::before { position: absolute; left: 0; top: .68em; width: 8px; height: 8px; border: 2px solid var(--tr-pink); border-radius: 50%; content: ""; }
.treatment-note { margin-top: 26px !important; padding: 16px 20px; border-left: 3px solid var(--tr-yellow); background: #fffaf0; color: #596878; font-size: 14px; }

.treatment-related { padding-top: 30px; background: #fffaf5; }
.treatment-related__inner { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.treatment-related__inner h2 { margin-bottom: 0; }
.treatment-related__link { display: inline-flex; min-width: 255px; justify-content: space-between; gap: 24px; padding: 17px 22px; border-bottom: 2px solid var(--tr-pink); color: var(--tr-navy); font-weight: 700; text-decoration: none; }

.treatment-compact-nav { padding:72px 0 78px; background:linear-gradient(135deg,#f1fafb,#fff8f5); color:#30465a; }
.treatment-compact-nav__heading { display:flex; justify-content:space-between; gap:32px; align-items:end; margin-bottom:28px; }
.treatment-compact-nav__heading p { margin:0 0 5px; color:#20aeb5; font-size:11px; font-weight:700; letter-spacing:.18em; }
.treatment-compact-nav__heading h2 { margin:0; color:#163452; font-size:clamp(25px,2.6vw,34px); }
.treatment-compact-nav__heading>a { padding-bottom:5px; border-bottom:1px solid rgba(22,52,82,.28); color:#244671; font-size:14px; font-weight:700; text-decoration:none; }
.treatment-compact-nav__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #d8e7e8; border-left:1px solid #d8e7e8; }
.treatment-compact-nav__item { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:76px; padding:14px 16px; border-right:1px solid #d8e7e8; border-bottom:1px solid #d8e7e8; background:rgba(255,255,255,.7); color:#244671; text-decoration:none; transition:background .2s ease,color .2s ease; }
.treatment-compact-nav__item:hover { background:#fff; color:#159fa9; }
.treatment-compact-nav__item.is-current { background:#dff5f5; color:#157f87; }
.treatment-compact-nav__item>span:last-child { color:#ef718d; }
.treatment-compact-nav__icon { display:grid; width:32px; height:32px; place-items:center; color:#47bcc3; }
.treatment-compact-nav__icon svg { width:26px; height:26px; }
.treatment-compact-nav__item strong { font-size:14px; line-height:1.4; }
.treatment-compact-nav__item--price { background:#fff8ee; }
.treatment-compact-nav__item--price .treatment-compact-nav__icon { border-radius:50%; background:#fff; color:#ef718d; font-size:16px; font-weight:700; }

.treatment-blog-links {
  padding:clamp(72px,7vw,104px) 0;
  border-top:1px solid rgba(32,174,181,.1);
  border-bottom:1px solid rgba(32,174,181,.1);
  background-color:#f2faf9;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(32,174,181,.11) 1px, transparent 1.2px),
    linear-gradient(135deg, rgba(255,255,255,.7), rgba(235,248,247,.28));
  background-size:22px 22px, 100% 100%;
}
.treatment-blog-links__heading { max-width:760px; margin-bottom:38px; }
.treatment-blog-links__heading>p { margin:0 0 10px; color:#20aeb5; font-size:12px; font-weight:700; letter-spacing:.18em; }
.treatment-blog-links__heading h2 { margin:0; color:#173b72; font-size:clamp(27px,3vw,38px); line-height:1.5; }
.treatment-blog-links__heading>span { display:block; margin-top:16px; color:#5f7180; font-size:15px; line-height:1.9; }
.treatment-blog-links__scroll-hint { display:flex; gap:10px; align-items:center; justify-content:flex-end; margin:-18px 0 14px; color:#159fa9; font-size:13px; font-weight:700; }
.treatment-blog-links__scroll-hint span { color:#ef718d; font-size:18px; }
.treatment-blog-links__grid { display:grid; width:calc(100vw - 40px); max-width:1440px; grid-auto-columns:calc((100% - 54px)/3.35); grid-auto-flow:column; gap:18px; margin-left:max(calc(50% - 50vw + 20px),calc((100% - 1440px)/2)); padding:0 0 14px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-color:#8edadd #e7f2f2; scrollbar-width:thin; }
.treatment-blog-links__grid::-webkit-scrollbar { height:7px; }
.treatment-blog-links__grid::-webkit-scrollbar-track { border-radius:10px; background:#e7f2f2; }
.treatment-blog-links__grid::-webkit-scrollbar-thumb { border-radius:10px; background:#8edadd; }
.treatment-blog-card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #d9e8e9; border-radius:6px 25px 6px 25px; background:#f8fcfc; color:#244671; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.treatment-blog-card { scroll-snap-align:start; }
.treatment-blog-card:hover { transform:translateY(-3px); background:#fff; box-shadow:0 14px 30px rgba(35,77,97,.09); }
.treatment-blog-card__image { display:block; overflow:hidden; aspect-ratio:16/9; background:linear-gradient(135deg,#e6f6f4,#eef4fb); }
.treatment-blog-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.treatment-blog-card:hover .treatment-blog-card__image img { transform:scale(1.035); }
.treatment-blog-card__placeholder { display:grid; width:100%; height:100%; place-items:center; color:#159fa9; font-size:13px; font-weight:700; letter-spacing:.12em; }
.treatment-blog-card__body { display:flex; min-height:140px; flex:1; flex-direction:column; padding:18px 19px 20px; }
.treatment-blog-card__body small { display:flex; gap:10px; align-items:center; color:#159fa9; font-size:11px; font-weight:700; letter-spacing:.05em; }
.treatment-blog-card__body time { color:#6c7f87; font-weight:500; }
.treatment-blog-card__body strong { margin:10px 0 0; font-size:17px; line-height:1.65; }
.treatment-blog-links__all { display:inline-flex; gap:14px; align-items:center; margin-top:28px; padding-bottom:5px; border-bottom:1px solid rgba(36,70,113,.28); color:#244671; font-size:14px; font-weight:700; text-decoration:none; }
.treatment-blog-links__all span { color:#ef718d; }

@media (max-width: 1000px) and (min-width: 801px) {
  .treatment-compact-nav__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 800px) {
  .treatment-container { width: min(100% - 32px, 660px); }
  .treatment-section { padding: 64px 0; }
  .treatment-hero { padding: 26px 0 64px; }
  .treatment-breadcrumb { margin-bottom: 30px; }
  .treatment-hero__heading { padding-left: 0; padding-top: 94px; }
  .treatment-icon--hero { width: 76px; height: 76px; padding: 14px; }
  .treatment-hero__decor--dot { right: -12px; top: 18%; transform: scale(.7); }
  .treatment-intro__grid { grid-template-columns: 1fr; gap: 48px; }
  .treatment-photo::before { inset: 10px -8px -10px 8px; }
  .treatment-menu__grid, .treatment-points__grid { grid-template-columns: 1fr; }
  .treatment-menu__item:nth-child(odd) { border-right: 0; }
  .treatment-menu__item { min-height: 126px; padding: 24px 12px; }
  .treatment-menu__item .treatment-icon { width: 54px; height: 54px; }
  .treatment-menu__price { grid-template-columns:1fr auto; gap:13px 18px; margin-top:24px; padding:22px 20px; }
  .treatment-menu__price-label { grid-column:1/-1; }
  .treatment-menu__price-copy small { line-height:1.65; }
  .treatment-points__grid li { min-height: auto; padding: 36px 28px; }
  .treatment-points__number { margin-bottom: 20px; font-size: 46px; }
  .treatment-detail { grid-template-columns: 1fr; gap: 12px; padding: 52px 0; }
  .treatment-detail__index { font-size: 54px; }
  .treatment-checklist { grid-template-columns: 1fr; padding: 22px 20px; }
  .treatment-related__inner { display: grid; }
  .treatment-related__link { min-width: 0; width: 100%; }
  .treatment-blog-links { padding:58px 0; }
  .treatment-blog-links__heading { margin-bottom:28px; }
  .treatment-blog-links__scroll-hint { display:none; }
  .treatment-blog-links__grid { width:auto; max-width:none; grid-auto-columns:auto; grid-auto-flow:row; grid-template-columns:1fr; gap:12px; margin-left:0; padding-bottom:0; overflow:visible; scroll-snap-type:none; }
  .treatment-blog-card:nth-child(n+5) { display:none; }
  .treatment-blog-card { display:grid; grid-template-columns:112px minmax(0,1fr); }
  .treatment-blog-card__image { height:100%; aspect-ratio:auto; }
  .treatment-blog-card__body { min-height:112px; justify-content:center; padding:13px 15px; }
  .treatment-blog-card__body small { display:block; font-size:10px; }
  .treatment-blog-card__body time { position:absolute; bottom:7px; left:7px; padding:3px 5px; border-radius:4px; background:rgba(255,255,255,.9); color:#49626d; font-size:9px; font-weight:700; line-height:1.2; letter-spacing:0; }
  .treatment-blog-card__body strong { margin:6px 0 0; font-size:14px; line-height:1.5; }
  .treatment-blog-card { height:104px; grid-template-columns:96px minmax(0,1fr); }
  .treatment-blog-card__body { min-height:0; padding:10px 12px; }
  .treatment-blog-card__body small { display:flex; gap:6px; align-items:center; font-size:9px; line-height:1.2; }
  .treatment-blog-card__body time { position:static; padding:0; border-radius:0; background:transparent; color:#7d8b91; font-size:9px; font-weight:400; line-height:1.2; }
  .treatment-blog-card__body strong { margin-top:4px; font-size:13px; line-height:1.45; }
  .treatment-compact-nav { padding:58px 0 64px; }
  .treatment-compact-nav__heading { display:grid; gap:18px; align-items:start; }
  .treatment-compact-nav__heading>a { width:max-content; }
  .treatment-compact-nav__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .treatment-compact-nav__item { grid-template-columns:28px minmax(0,1fr); min-height:72px; padding:12px 10px; }
  .treatment-compact-nav__item>span:last-child { display:none; }
  .treatment-compact-nav__icon { width:28px; height:28px; }
  .treatment-compact-nav__icon svg { width:23px; height:23px; }
  .treatment-compact-nav__item strong { font-size:13px; }
}

@media (prefers-reduced-motion: reduce) {
  .treatment-menu__item { transition: none; }
}
