/* Treatments and Blog pages only. Uses the tokens from clean.css. */
.cx-facts { background: #fff; padding: clamp(28px, 4vw, 48px) 0 0; }
.cx-facts-in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line-ink); border-radius: var(--r-card); overflow: hidden; background: #fff; }
.cx-fact { padding: 20px 22px; border-left: 1px solid var(--line-ink); display: flex; flex-direction: column; gap: 8px; }
.cx-fact:first-child { border-left: 0; }
.cx-fact span { font: 500 12px/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--mute-ink); }
.cx-fact b { font: 500 16px/1.4 var(--sans); letter-spacing: -.01em; color: var(--ink); }
@media (max-width: 820px) {
  .cx-facts-in { grid-template-columns: 1fr 1fr; }
  .cx-fact:nth-child(odd) { border-left: 0; }
  .cx-fact:nth-child(n+3) { border-top: 1px solid var(--line-ink); }
}
@media (max-width: 420px) { .cx-facts-in { grid-template-columns: 1fr; } .cx-fact { border-left: 0; border-top: 1px solid var(--line-ink); } .cx-fact:first-child { border-top: 0; } }

.cx-sec .info-body ul, .cx-sec .info-body ol { margin: 0 0 18px; padding: 0; list-style: none; max-width: 62ch; }
.cx-list li { position: relative; padding: 10px 0 10px 24px; border-bottom: 1px solid var(--line-ink); }
.cx-list li:first-child { border-top: 1px solid var(--line-ink); }
.cx-list li::before { content: ''; position: absolute; left: 4px; top: 21px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.cx-steps { counter-reset: s; }
.cx-steps li { counter-increment: s; position: relative; padding: 14px 0 14px 52px; border-bottom: 1px solid var(--line-ink); }
.cx-steps li:first-child { border-top: 1px solid var(--line-ink); }
.cx-steps li::before { content: counter(s); position: absolute; left: 0; top: 12px; width: 32px; height: 32px; border-radius: 50%; background: var(--accent); color: #fff; font: 600 14px/32px var(--sans); text-align: center; }
.cx-note { padding: 16px 18px; border-radius: 14px; background: var(--tint); border: 1px solid var(--line-ink); font-size: 16px; }
.cx-price { max-width: 560px; }
.cx-pnote { font-size: 14px !important; color: var(--mute-ink); }
.cx-pnote a { color: var(--accent); }

.cx-faqs { max-width: 680px; }
.cx-faq { border-top: 1px solid var(--line-ink); }
.cx-faq:last-child { border-bottom: 1px solid var(--line-ink); }
.cx-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font: 500 clamp(16px, 1.5vw, 19px)/1.35 var(--sans); letter-spacing: -.015em; color: var(--ink); }
.cx-faq summary::-webkit-details-marker { display: none; }
.cx-x { flex: none; position: relative; width: 28px; height: 28px; border: 1px solid rgba(17,17,17,.18); border-radius: 50%; }
.cx-x::before, .cx-x::after { content: ''; position: absolute; left: 7px; top: 13px; width: 12px; height: 1.6px; background: currentColor; }
.cx-x::after { transform: rotate(90deg); transition: transform .2s; }
.cx-faq[open] .cx-x { background: var(--accent); border-color: var(--accent); color: #fff; }
.cx-faq[open] .cx-x::after { transform: rotate(0); }
.cx-faq-a { padding: 0 0 18px; }
.cx-faq-a p { margin: 0; }

.cx-related, .cx-indexwrap { padding: clamp(48px, 6vw, 88px) 0; background: #fff; }
.cx-related h2 { margin: 14px 0 28px; font: 600 clamp(26px, 2.8vw, 38px)/1.1 var(--sans); letter-spacing: -.04em; }
.cx-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cx-grid-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cx-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 56px; background: #fff; border: 1px solid var(--line-ink); border-radius: var(--r-card); color: var(--ink); text-decoration: none; transition: transform .25s, box-shadow .25s; }
.cx-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(17,17,17,.08); }
.cx-card-h { font: 600 21px/1.2 var(--sans); letter-spacing: -.03em; }
.cx-card-p { font: 400 15px/1.55 var(--sans); color: var(--mute-ink); }
.cx-card-go { position: absolute; right: 22px; bottom: 20px; width: 34px; height: 34px; border-radius: 50%; background: var(--tint); display: grid; place-items: center; transition: background .2s, color .2s; }
.cx-card:hover .cx-card-go { background: var(--accent); color: #fff; }
.cx-tag { align-self: flex-start; padding: 5px 10px; border-radius: 999px; background: var(--tint); font: 500 12px/1 var(--sans); color: var(--mute-ink); }
.cx-intro { max-width: 62ch; margin: 0 0 32px; font-size: 17px; line-height: 1.65; color: var(--ink-soft); }
.cx-intro a, .cx-prose a, .cx-sources a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 980px) { .cx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .cx-grid { grid-template-columns: 1fr; } }

.cx-art { padding: clamp(40px, 5vw, 72px) 0; background: #fff; }
.cx-prose { max-width: 720px; margin: 0 auto; font-size: 18px; line-height: 1.7; color: var(--ink-soft); }
.cx-prose h2 { margin: 44px 0 14px; font: 600 clamp(24px, 2.6vw, 32px)/1.15 var(--sans); letter-spacing: -.035em; color: var(--ink); }
.cx-prose p { margin: 0 0 16px; }
.cx-prose ul, .cx-prose ol { margin: 0 0 18px; padding-left: 1.3em; }
.cx-prose li { margin-bottom: 8px; }
.cx-byline { font: 500 14px/1 var(--sans) !important; color: var(--mute-ink); margin-bottom: 8px !important; }
.cx-aside { margin-top: 48px; padding: 26px; border-radius: var(--r-card); background: var(--tint); border: 1px solid var(--line-ink); }
.cx-aside p { margin: 0 0 10px; font-size: 16px; }
.cx-aside-k { font: 500 12px/1 var(--sans) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--mute-ink); }
.cx-aside-h { font: 600 22px/1.2 var(--sans) !important; letter-spacing: -.03em; color: var(--ink); }
.cx-link { color: var(--accent); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 720px) { .cx-prose { font-size: 17px; } }

.cx-srcwrap { background: #fff; padding: 0 0 32px; }
.cx-sources { margin: 0; padding-top: 20px; border-top: 1px solid var(--line-ink); font: 400 13px/1.7 var(--sans); color: var(--mute-ink); overflow-wrap: anywhere; }
.cx-srcwrap:empty, .cx-srcwrap .wrap:empty { display: none; }
.cx-pnote { margin-top: 18px; }
