/* ─────────────────────────────────────────────────────────────────────────────
   MOHR — Pricing page.
   Extends assets/mohr.css only. No new fonts, no new colours: every value here
   resolves to an existing brand token (or a color-mix of them).
   Programme cards deliberately reuse the .tier component from the shared sheet.
   ───────────────────────────────────────────────────────────────────────────── */

/* anchored steps need to clear the sticky header */
section[id]{scroll-margin-top:5.5rem;}

.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ── page hero ─────────────────────────────────────────── */
.phero{padding-top:clamp(2.6rem,7vh,4.5rem);padding-bottom:clamp(2rem,5vh,3.2rem);overflow:hidden;}
.phero__grid{display:grid;grid-template-columns:1fr;gap:clamp(2.2rem,5vw,4rem);align-items:center;}
@media(min-width:940px){.phero__grid{grid-template-columns:1.25fr .75fr;}}
.phero h1{font-size:clamp(2.5rem,6.2vw,4.5rem);letter-spacing:-.028em;}
.phero h1 .soft{color:var(--evergreen);}
.phero__lede{margin:1.6rem 0 0;max-width:36rem;}
.phero__aperture{justify-self:center;}
.phero__aperture .aperture{width:min(46vw,220px);}

/* ── step rail (Assess → Treat → Maintain) ─────────────── */
.rail{
  display:grid;grid-template-columns:1fr;margin-top:clamp(2.6rem,5vw,3.6rem);
  border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);
}
@media(min-width:780px){.rail{grid-template-columns:repeat(3,1fr);}}
.rail__item{
  display:block;text-decoration:none;padding:1.5rem 0;position:relative;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);
  transition:background .3s var(--ease);
}
@media(min-width:780px){
  .rail__item{padding:1.6rem clamp(1rem,2vw,1.6rem);}
  .rail__item + .rail__item{border-left:1px solid color-mix(in srgb,var(--ink) 12%,transparent);}
  .rail__item:first-child{padding-left:0;}
  .rail__item:last-child{padding-right:0;}
}
.rail__item:hover{background:color-mix(in srgb,var(--sage) 62%,transparent);}
.rail__step{
  font-family:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--slate);display:flex;align-items:center;gap:.65em;margin-bottom:.7rem;
}
.rail__step::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--brass);flex:0 0 auto;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brass) 22%,transparent);
}
.rail__name{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.1;color:var(--evergreen);letter-spacing:-.012em;}
.rail__meta{font-size:.92rem;color:var(--slate);margin:.4rem 0 0;line-height:1.5;}
.rail__meta b{color:var(--ink);font-weight:600;}

/* ── shared step section heading ───────────────────────── */
.stepsec__head{max-width:46rem;margin-bottom:clamp(2.2rem,4.5vw,3.2rem);}
.stepsec__head .lede{margin-top:1.3rem;}
.stepsec__head h2 .accent{color:var(--evergreen);font-style:normal;}

/* micro-label for the Space Grotesk technical layer outside .tier */
.plabel{
  font-family:var(--accent);font-size:.74rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--slate);margin:0 0 .8rem;
}
.plabel--onGreen{color:color-mix(in srgb,var(--porcelain) 78%,transparent);}

/* ── step 1 · assess ──────────────────────────────────── */
.assess{
  border-radius:var(--radius);background:var(--porcelain);
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 16%,transparent);
  padding:clamp(1.8rem,3.4vw,2.6rem);
  display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,3vw,2.6rem);align-items:center;
}
@media(min-width:880px){.assess{grid-template-columns:1.15fr .85fr;}}
.assess__name{font-family:var(--display);font-size:clamp(1.6rem,3vw,2rem);line-height:1.08;
  color:var(--evergreen);margin:0 0 1.1rem;letter-spacing:-.014em;}
.assess__price{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;}
.assess__price b{font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,4.2vw,2.8rem);
  letter-spacing:-.02em;line-height:1;color:var(--evergreen);}
.assess__price span{font-size:.92rem;color:var(--slate);}
.assess__incl{font-size:1rem;color:var(--slate);margin:1.1rem 0 0;line-height:1.6;max-width:34rem;}
.assess__side{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;}
@media(min-width:880px){.assess__side{border-left:1px solid color-mix(in srgb,var(--ink) 12%,transparent);
  padding-left:clamp(1.6rem,3vw,2.4rem);}}
.assess__side .btn{width:100%;justify-content:center;}
.assess__credit{font-size:.9rem;color:var(--slate);margin:0;line-height:1.55;}
.assess__credit b{color:var(--ink);font-weight:600;}

/* ── step 2 · treat — reuses .tier from the shared sheet ─ */
.prog__grid{display:grid;gap:1.4rem;grid-template-columns:1fr;}
@media(min-width:860px){.prog__grid{grid-template-columns:1fr 1fr;align-items:stretch;}}
.tier--raised{box-shadow:0 34px 70px -46px color-mix(in srgb,var(--evergreen) 78%,transparent);}
/* reserves the flag's height on the unflagged card so both prices sit on one
   baseline — only while the cards are side by side; dead space when stacked. */
.tier__flag--ghost{display:none;}
@media(min-width:860px){.tier__flag--ghost{display:inline-flex;visibility:hidden;}}
/* the program price is the headline; this is the unit it buys */
.tier__unit{font-family:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:color-mix(in srgb,var(--porcelain) 78%,transparent);margin:.6rem 0 1.6rem;}
.tier--essential .tier__unit{color:var(--slate);}
/* the single-treatment price lives here — quiet, secondary, never the headline */
.tier__maint{
  margin:0 0 1.7rem;padding-top:1.1rem;font-size:.86rem;line-height:1.5;
  border-top:1px solid color-mix(in srgb,var(--porcelain) 22%,transparent);
  color:color-mix(in srgb,var(--porcelain) 76%,transparent);
}
.tier__maint b{font-weight:600;color:var(--porcelain);}
.tier--essential .tier__maint{border-top-color:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--slate);}
.tier--essential .tier__maint b{color:var(--ink);}
.tier__each{font-family:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:color-mix(in srgb,var(--porcelain) 74%,transparent);margin:0 0 .9rem;}
.tier--essential .tier__each{color:var(--slate);}

/* ── per-treatment restatement ────────────────────────────
   The program stays the unit of care and the headline price; these lines only
   restate that same price as the smaller number people actually picture.
   Used in three places — hero summary, program cards, founding panel — so it
   reads as one idea rather than three unrelated notes. */
.pertreat{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .55rem;margin:0;
  font-size:.95rem;line-height:1.5;color:var(--slate);
}
.pertreat__lead{font-family:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;}
.pertreat__fig{font-family:var(--display);font-weight:500;font-size:1.35rem;
  letter-spacing:-.014em;color:var(--evergreen);}
.pertreat__note{font-size:.92rem;}
/* hero: a hairline sets it apart as the summary figure for the whole page */
.pertreat--hero{margin-top:1.5rem;padding-top:1.2rem;max-width:36rem;
  border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);}
/* founding panel sits on evergreen — brass-light is the AA accent there */
.pertreat--onGreen{margin-bottom:1.1rem;color:color-mix(in srgb,var(--porcelain) 80%,transparent);}
.pertreat--onGreen .pertreat__fig{color:var(--brass-light);}
/* inside the program cards, tucked under the unit label */
.tier__unit--tight{margin-bottom:.5rem;}
.tier__pt{margin:0 0 1.5rem;font-size:.95rem;line-height:1.5;
  color:color-mix(in srgb,var(--porcelain) 78%,transparent);}
.tier__pt b{font-family:var(--display);font-weight:500;font-size:1.22rem;
  letter-spacing:-.014em;color:var(--brass-light);}
.tier--essential .tier__pt{color:var(--slate);}
.tier--essential .tier__pt b{color:var(--evergreen);}

/* ── step 3 · maintain (continuity) ───────────────────── */
.cont__line{
  font-family:var(--display);font-weight:300;font-size:clamp(1.9rem,4.4vw,3rem);
  line-height:1.22;letter-spacing:-.018em;color:var(--ink);max-width:26ch;margin:0;
}
.cont__line b{font-weight:500;color:var(--evergreen);}
.cont__card{
  margin-top:clamp(2.2rem,4vw,3rem);background:var(--porcelain);border-radius:var(--radius);
  padding:clamp(1.8rem,3.4vw,2.6rem);
  box-shadow:0 30px 60px -44px color-mix(in srgb,var(--evergreen) 55%,transparent),
             inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent);
  display:grid;grid-template-columns:1fr;gap:clamp(1.8rem,3.4vw,2.8rem);align-items:start;
}
@media(min-width:900px){.cont__card{grid-template-columns:.8fr 1.2fr;}}
.cont__name{font-family:var(--display);font-size:1.7rem;line-height:1.08;color:var(--evergreen);
  margin:0 0 1.2rem;letter-spacing:-.014em;}
.cont__opts{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.3rem;}
.cont__opt{
  border-radius:var(--radius-sm);padding:.95rem 1.15rem;flex:1 1 auto;min-width:9.5rem;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 14%,transparent);
}
.cont__opt b{display:block;font-family:var(--display);font-weight:500;font-size:1.85rem;
  line-height:1;letter-spacing:-.02em;color:var(--ink);}
.cont__opt span{display:block;font-family:var(--accent);font-size:.66rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-top:.5rem;}
.cont__side .btn{width:100%;justify-content:center;}

/* included lists on light surfaces */
.inc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:.8rem;}
@media(min-width:640px){.inc--two{grid-template-columns:1fr 1fr;gap:.8rem 2rem;}}
.inc__wide{grid-column:1/-1;}
.inc li{display:flex;gap:.7em;align-items:flex-start;font-size:.98rem;line-height:1.45;color:var(--ink);}
.inc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brass);
  margin-top:.55em;flex:0 0 auto;}
.inc b{font-weight:600;}
.inc .q{color:var(--slate);}

/* ── founding band ────────────────────────────────────── */
.founding{
  /* deepest surface on the site: evergreen taken down with ink, lit by a brass glow */
  background:color-mix(in srgb,var(--evergreen) 84%,var(--ink));
  color:var(--porcelain);position:relative;overflow:hidden;isolation:isolate;
  border-block:1px solid color-mix(in srgb,var(--brass) 40%,transparent);
}
.founding::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(52% 62% at 78% 6%, color-mix(in srgb,var(--brass) 26%,transparent), transparent 68%),
    radial-gradient(46% 50% at 6% 100%, color-mix(in srgb,var(--brass) 14%,transparent), transparent 70%);
}
.founding h2,.founding h3{color:var(--porcelain);}
.founding .eyebrow{color:color-mix(in srgb,var(--porcelain) 80%,transparent);}
.founding__grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3.4rem);align-items:start;}
@media(min-width:920px){.founding__grid{grid-template-columns:1fr 1fr;}}
.founding__price{display:flex;align-items:baseline;gap:.6rem .9rem;flex-wrap:wrap;margin:1.6rem 0 .5rem;}
.founding__price b{font-family:var(--display);font-weight:500;font-size:clamp(2.5rem,5.6vw,3.6rem);
  letter-spacing:-.022em;line-height:1;}
.founding__was{font-size:1.02rem;color:color-mix(in srgb,var(--porcelain) 60%,transparent);
  text-decoration:line-through;}
.founding__save{font-family:var(--accent);font-size:.66rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);background:var(--brass);padding:.5em .9em;border-radius:100px;}
.founding__what{font-size:.94rem;color:color-mix(in srgb,var(--porcelain) 82%,transparent);margin:0 0 1.8rem;}
.founding .inc li{color:color-mix(in srgb,var(--porcelain) 92%,transparent);}
.founding .inc b{color:var(--porcelain);}
.founding .inc .q{color:color-mix(in srgb,var(--porcelain) 70%,transparent);}
.founding .scarcity{color:color-mix(in srgb,var(--porcelain) 84%,transparent);margin-bottom:1.6rem;}
.founding .scarcity b{color:var(--brass-light);font-weight:600;}
.founding__cta{margin-top:2rem;display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;}
.founding__cta .btn{max-width:100%;}
.founding__fine{font-size:.86rem;color:color-mix(in srgb,var(--porcelain) 74%,transparent);margin:0;line-height:1.55;}

/* ── comparison table ─────────────────────────────────── */
.cmp__hint{font-family:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--slate);margin:0 0 .9rem;}
@media(min-width:760px){.cmp__hint{display:none;}}
.cmp__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);}
.cmp{
  width:100%;min-width:38rem;border-collapse:separate;border-spacing:0;background:var(--porcelain);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 14%,transparent);
}
.cmp th,.cmp td{
  text-align:left;vertical-align:middle;padding:1rem clamp(1rem,1.8vw,1.4rem);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
}
.cmp thead th{
  font-family:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--slate);vertical-align:bottom;padding-top:1.5rem;padding-bottom:1.2rem;
}
.cmp__name{display:block;font-family:var(--display);font-size:1.35rem;font-weight:400;line-height:1.1;
  letter-spacing:-.014em;text-transform:none;color:var(--evergreen);}
.cmp__flag{
  display:inline-block;font-family:var(--accent);font-size:.6rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);background:var(--brass);padding:.4em .75em;border-radius:100px;
  margin-bottom:.7rem;
}
.cmp tbody th{font-family:var(--body);font-size:.96rem;font-weight:500;color:var(--ink);}
.cmp td{font-size:.96rem;color:var(--slate);}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0;}
.cmp__price{font-family:var(--display);font-size:1.3rem;font-weight:500;color:var(--evergreen);letter-spacing:-.014em;}
/* highlighted Advanced column */
.cmp .col-adv{background:var(--sage);color:var(--ink);}
.cmp thead .col-adv{box-shadow:inset 0 2px 0 var(--brass);}
.cmp__yes{display:inline-flex;}
.cmp__no{color:color-mix(in srgb,var(--slate) 72%,transparent);}

/* ── footnotes ────────────────────────────────────────── */
.notes{max-width:52rem;}
.notes__label{font-family:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--slate);margin:0 0 1.1rem;}
.notes ol{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;}
.notes li{font-size:.8rem;line-height:1.6;color:var(--slate);padding-left:1.1rem;position:relative;}
.notes li::before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;border-radius:50%;
  background:color-mix(in srgb,var(--slate) 55%,transparent);}

/* ── closing CTA ──────────────────────────────────────── */
.close{text-align:center;}
.close__line{font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,4.4vw,3rem);
  line-height:1.18;letter-spacing:-.02em;max-width:24ch;margin:0 auto;color:var(--porcelain);}
.close__line b{font-weight:500;color:var(--brass-light);}
.close__cta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:1rem 1.2rem;justify-content:center;align-items:center;}
.close__note{font-family:var(--accent);font-size:.9rem;font-weight:500;
  color:color-mix(in srgb,var(--porcelain) 82%,transparent);}
