/* Shared SBT styles own typography, navigation, buttons, steps, FAQ and spacing.
   These overrides supply the CMT palette, hero photograph and desktop screenshots. */
.cmt-page { --ink: #f3f4ee; --muted: #c6d0c4; --brand-blue: #f3f4ee; --line: rgba(216,228,211,.16); --brand-gold: #d4b265; background: #12251b; color: var(--ink); }
.cmt-page .site-nav { background: #12251b; border-bottom-color: var(--line); }
.cmt-page .nav-links a { color: #e0e6dc; }
.cmt-page .nav-links a:hover { color: #e6c878; }
.cmt-page .site-nav .brand-text { font-size: 28px; background: linear-gradient(135deg, #c18c12 0%, #d6971f 16%, #f8c74a 32%, #edb333 48%, #c18c12 58%, #d6971f 74%, #f8c74a 90%, #edb333 100%); background-size: 180% 180%; background-position: 18% center; -webkit-background-clip: text; background-clip: text; color: transparent; }
.cmt-page .hero { background: #08170f; box-shadow: 0 18px 65px rgba(0,0,0,.2); }
.cmt-page .hero-image { left: 0; background-image: url('../assets/cmt-practitioner-hero.png'); background-position: center; }
.cmt-page .hero-image::before { width: 64%; background: linear-gradient(90deg,#07150e 0%,rgba(7,21,14,.96) 25%,rgba(7,21,14,.7) 60%,transparent 100%); }
.cmt-page .hero-image::after { background: linear-gradient(90deg,rgba(19,36,27,.15),transparent 65%); }
.cmt-page .hero-content { max-width: 780px; padding-left: 65px; padding-right: 65px; }
.cmt-page .hero-content > p { max-width: 520px; font-size: 18px !important; }
.cmt-page .hero-brand-name { font-size: 40px; }
.cmt-page .hero h1 .hero-title-large { font-size: 58px; }
.cmt-page .hero h1 .hero-title-small { font-size: 32px; }
.cmt-page .hero-brand-mark::before { display: none; }
.cmt-page .hero-modality-kicker { text-wrap: balance; }
.cmt-page .hero-brand-lockup { margin-bottom: 30px; }
.cmt-page .hero-content .hero-actions { margin-top: 28px; }
.cmt-page .eyebrow { color: #d4b265; }
.cmt-page h2 { margin-bottom: 24px; }
.cmt-page p { font-weight: 400; }
.cmt-page .cmt-intro { background: #12251b; color: #f5f6f0; padding: 90px 24px !important; }
.cmt-page .cmt-intro .intro-inner { margin-top: 0; }
.cmt-page .cmt-intro .intro-copy { margin-top: 0; }
.cmt-page .cmt-intro h2, .cmt-page .cmt-intro p { color: #f5f6f0; }
.cmt-page .cmt-intro .intro-strong { color: #d8b65f; }
.cmt-page .cmt-intro p:not(.intro-strong) { max-width: 660px; margin-inline: auto; font-size: 18px; font-weight: 400; color: #c6d0c4; }
.cmt-page .cmt-feature { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 48px; align-items: center; }
.cmt-page .split-copy { position: static; top: auto; }
.cmt-page .cmt-feature { background: #12251b; border-top: 1px solid var(--line); }
.cmt-page .cmt-feature--green { background: #192f23; }
.cmt-page .cmt-feature .split-copy p:not(.eyebrow) { font-size: 18px; line-height: 1.65; color: #c6d0c4; margin-bottom: 24px; }
.cmt-page .cmt-feature .split-copy .eyebrow { color: var(--brand-gold); }
.cmt-page .hero-modality-kicker, .cmt-page .plan .split-copy h2 { color: var(--brand-gold); }
.cmt-page .feature-checklist { color: #d3dccf; font-size: 15px; line-height: 1.5; }
.cmt-page .feature-checklist li { border-color: var(--line); padding-top: 10px; padding-bottom: 10px; }
.cmt-page .feature-checklist li:nth-child(odd) { background: rgba(255,255,255,.025); }
.cmt-page .feature-checklist li::before { top: 13px; }
.cmt-screen { min-width: 0; margin: 0; }
.cmt-screen a { display: block; border: 1px solid rgba(220,231,213,.23); border-radius: 8px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.22); }
.cmt-screen img { display: block; width: 100%; height: auto; }
.cmt-screen figcaption { margin-top: 12px; font-size: 12px; color: #aebdab; }
.cmt-page .cmt-mobile-section { grid-template-columns: 1fr 1fr; background: #192f23; }
.cmt-phone { width: min(100%,320px); justify-self: center; }
.cmt-phone a { border-radius: 22px; border: 5px solid #0b1810; }
.cmt-phone figcaption { text-align: center; }
.cmt-page .plan { background: #12251b; }
.cmt-page .compact { background: #1a3024; border-color: var(--line); box-shadow: none; }
.cmt-page .compact .flow-item + .flow-item { border-color: var(--line); }
.cmt-page .compact .flow-item p { color: #c6d0c4; font-weight: 400; }
.cmt-page .faq { max-width: none; background: #12251b; padding-inline: max(24px, calc((100% - 1150px) / 2)) !important; }
.cmt-page .faq p { color: #c6d0c4; font-weight: 400; }
.cmt-page .cmt-pricing { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; background: #192f23; }
.cmt-pricing-intro { max-width: 490px; justify-self: end; }
.cmt-pricing-intro > p:not(.eyebrow) { color: #c6d0c4; font-size: 18px; }
.cmt-price-card { width: min(100%,500px); padding: 36px; border: 1px solid rgba(212,178,101,.35); border-radius: 8px; background: #102219; }
.cmt-price-card h3 { margin: 0; font-family: var(--font-heading); font-size: 32px; font-weight: 500; }
.cmt-price-card .cmt-price { color: #e2c276; font-size: 20px; margin: 12px 0 28px; }
.cmt-price-card .cmt-trial { color: #e2c276; margin: 20px 0 0; font-size: 17px; }
.cmt-price-card .cmt-price strong { font-size: 32px; font-weight: 600; }
.cmt-annual { padding: 0 0 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.cmt-annual p { margin: 8px 0 0; color: #c6d0c4; font-size: 14px; line-height: 1.5; }
.cmt-annual strong { color: #f3f4ee; font-size: 17px; }
.cmt-certification { border-top: 1px solid var(--line); margin: 24px 0 0; padding-top: 20px; font-size: 15px; line-height: 1.6; color: #c6d0c4; }
.cmt-certification a { color: #e2c276; text-underline-offset: 3px; }
.cmt-price-card .button { margin-top: 28px; }
.cmt-price-card .cmt-price-signin { font-size: 13px; color: #bdcbb9; margin: 18px 0 0; }
.cmt-price-signin a { text-underline-offset: 3px; }
.cmt-page .site-footer { background: #0c1c13; color: #c6d0c4; }
.cmt-page .footer-links a { color: #c6d0c4; }
.cmt-page .footer-inner { border-color: var(--line); }
.cmt-page .final-inner { background-image: linear-gradient(rgba(15,34,24,.82),rgba(15,34,24,.91)),url('../assets/leaf-background-compressed.webp'); background-size: cover; background-repeat: no-repeat; background-position: center; }
.cmt-page .footer-copy, .cmt-page .footer-contact__status[data-state="success"] { color: #bdcbb9; }
.cmt-page .footer-contact__status[data-state="error"] { color: #ffb4ad; }
.cmt-page .final-inner::before, .cmt-page .final-inner::after { display: none; }
.cmt-page .site-nav { border-bottom: 0; box-shadow: none; }
.cmt-page .compliance-caption { font-size: var(--compliance-caption-size) !important; }
.cmt-page .footer-contact input, .cmt-page .footer-contact textarea { color: #202820; background: #fff; }
.cmt-page .footer-contact .form-disclaimer { color: #bdcbb9; }
.cmt-page .privacy-banner { color: #f3f4ee; background: #232120; }
.cmt-page .privacy-banner__copy a { color: var(--brand-gold); }
.cmt-page .privacy-banner__button--reject { color: #f3f4ee; background: transparent; border-color: #777c76; }
.cmt-page .privacy-banner__button--reject:hover { color: #fff; background: #3b3e3b; }
.cmt-page .footer .footer-match-card { background: #a97818; }
.cmt-page .footer .footer-match-card:hover, .cmt-page .footer .footer-match-card:focus-visible { background: #d4b265; }
.cmt-footer-bottom { display: flex; flex-wrap: wrap; gap: 16px 28px; grid-column: 1 / -1; font-size: 12px; border-top: 1px solid var(--line); padding-top: 24px; }
.cmt-skip { position: fixed; top: -100px; left: 15px; z-index: 100; padding: 10px; background: white; color: black; }
.cmt-skip:focus { top: 10px; }
.cmt-page .cmt-pricing-hybrid { --ink: #183326; --brand-blue: #183326; --line: #dce4dd; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px 56px; align-items: start; padding: 64px max(24px,calc((100% - 1080px)/2)) !important; background: #fff; color: var(--ink); }
.cmt-page .cmt-pricing-hybrid .eyebrow, .cmt-pricing-hybrid .cmt-hybrid-prices h3, .cmt-pricing-hybrid .cmt-plan-amount, .cmt-pricing-hybrid .cmt-hybrid-included a, .cmt-pricing-hybrid .cmt-hybrid-note a { color: #876014; }
.cmt-page .cmt-pricing-hybrid .feature-checklist, .cmt-pricing-hybrid .cmt-hybrid-copy > p:not(.eyebrow), .cmt-pricing-hybrid .cmt-hybrid-note { color: #45594b; }
.cmt-page .cmt-pricing-hybrid .feature-checklist li:nth-child(odd) { background: #f3f6f3; }
.cmt-pricing-hybrid h2 { font-size: 40px; }
.cmt-hybrid-copy > p:not(.eyebrow) { color: #c6d0c4; line-height: 1.5; }
.cmt-hybrid-copy .feature-checklist { margin-top: 24px; }
.cmt-hybrid-prices { border-left: 1px solid var(--line); padding-left: 36px; }
.cmt-hybrid-prices h3 { color: #e2c276; font-size: 28px; margin: 0 0 12px; }
.cmt-hybrid-note { color: #bdcbb9; font-size: 14px; line-height: 1.5; }
.cmt-plan-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.cmt-plan-row .cmt-hybrid-note { margin: 4px 0 0; }
.cmt-plan-amount { color: #e2c276; white-space: nowrap; margin: 0; }
.cmt-plan-amount strong { font-family: var(--font-heading); font-size: 38px; font-weight: 700; }
.cmt-hybrid-prices .button { margin-top: 16px; }
.cmt-hybrid-included { grid-column: 1 / -1; border-top: 1px solid var(--line); margin: 0; padding-top: 24px; text-align: center; line-height: 1.5; }
.cmt-hybrid-included a, .cmt-hybrid-note a { color: #e2c276; text-underline-offset: 3px; }
@media(max-width:980px) {
  .cmt-page .cmt-pricing-hybrid { grid-template-columns: 1fr; }
  .cmt-hybrid-prices { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
}
@media(max-width:680px) {
  .cmt-pricing-hybrid h2 { font-size: 34px; }
  .cmt-plan-amount strong { font-size: 32px; }
}
.cmt-page .hero { padding-bottom: 64px; }
.cmt-page .cmt-hero-disclaimer { position: absolute; bottom: 18px; left: 32px; right: 32px; z-index: 3; margin: 0; color: #bdc7bd; line-height: 1.4; }
.cmt-page .cmt-feature .split-copy .cmt-insurance-disclaimer { margin-top: 32px; }
.cmt-page .compact .flow-item p { text-align: center; max-width: 340px; margin-inline: auto; }
.cmt-page .cmt-intro .intro-copy, .cmt-page .cmt-intro .intro-inner { max-width: 1150px; }
.cmt-page .cmt-intro h2 { max-width: none; font-size: 44px; }
.cmt-page .cmt-pricing-intro { max-width: none; }
.cmt-page .cmt-pricing-intro h2, .cmt-page .cmt-mobile-section h2 { font-size: 36px; }
@media (max-width:680px) {
  .cmt-page .hero { padding-bottom: 0; }
  .cmt-page .cmt-hero-disclaimer { position: relative; inset: auto; padding: 0 24px 24px; }
  .cmt-page .cmt-intro h2, .cmt-page .cmt-pricing-intro h2, .cmt-page .cmt-mobile-section h2 { font-size: 34px; }
}
@media (max-width:1100px) {
  .cmt-page .hero-content { max-width: 660px; padding-left: 40px; padding-right: 40px; }
  .cmt-page .hero h1 .hero-title-large { font-size: 56px; }
}
@media (max-width:980px) {
  .cmt-page .cmt-feature { grid-template-columns: 1fr; }
  .cmt-page .site-nav .nav-links { background: #192f23; }
  .cmt-page .cmt-pricing { grid-template-columns: 1fr; gap: 36px; }
  .cmt-pricing-intro { justify-self: start; }
  .cmt-price-card { width: 100%; max-width: 600px; }
  .cmt-page .hero-image { background-position: right center; }
  .cmt-page .hero-content { max-width: 62%; padding: 50px 28px; }
  .cmt-page .hero-brand-name { font-size: 32px; }
  .cmt-page .hero h1 .hero-title-large { font-size: 48px; }
  .cmt-page .hero h1 .hero-title-small { font-size: 26px; }
}
@media (max-width:680px) {
  .cmt-page .site-nav .brand-text { display: block; font-size: 23px; }
  .cmt-page .site-nav .nav-cta { display: none; }
  .cmt-page .hero-brand-name { font-size: 28px; }
  .cmt-page .hero { min-height: auto; }
  .cmt-page .hero-image { inset: auto; height: 310px; margin-bottom: -28px; background-position: 78% center; }
  .cmt-page .hero-image::before { inset: auto 0 0; height: 100px; width: 100%; background: linear-gradient(0deg,#08170f,transparent); }
  .cmt-page .hero-image::after { background: none; }
  .cmt-page .hero-content { max-width: 100%; min-height: auto; padding: 0 24px 38px; background: linear-gradient(180deg,rgba(8,23,15,0),#08170f 60px); }
  .cmt-page .hero-brand-lockup { transform: none; }
  .cmt-page .hero-brand-name { font-size: 30px; }
  .cmt-page .hero h1 .hero-title-large { font-size: 42px; }
  .cmt-page .hero h1 .hero-title-small { font-size: 24px; }
  .cmt-page .hero-content > p { font-size: 16px !important; }
  .cmt-page .cmt-intro { padding: 64px 24px !important; }
  .cmt-page .cmt-intro p:not(.intro-strong), .cmt-page .cmt-feature .split-copy p:not(.eyebrow) { font-size: 16px; }
  .cmt-price-card { padding: 26px; }
}
