/**
 * Pricing page — extends site.css (pricing.html).
 * Typography: use site.css L0–L4 (.section-eyebrow, .section-heading, .value-lens, --rt-type-*).
 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  --pricing-page-bg:color-mix(in srgb,var(--teal-deep,#154d4c) 4%,var(--page-cool-2,#e7f0f3));
  --pricing-callout-bg:var(--page-cool-2,#e7f0f3);
  --pricing-callout-header-bg:color-mix(in srgb,var(--teal-deep,#154d4c) 4%,var(--page-cool-1,#eef5f7));
  --pricing-prose-col-size:100%;
  --pricing-prose-inline-max:min(62ch,100%);
  --pricing-content-col:min(42rem,100%);
  --pricing-section-space:clamp(2rem,4.5vw,3rem);
  --transition:0.2s ease;
}

body.pricing-page{
  --text:var(--intro-text,#1f2724);
  --deep:var(--intro-text,#1f2724);
  --tide:var(--brand-cta,#154d4c);
  --vivid:var(--teal-vivid,#1b9baf);
  font-family:'DM Sans',sans-serif;
  color:var(--intro-text);
  line-height:1.75;
  overflow-x:hidden;
  background:linear-gradient(165deg,var(--page-cool-1) 0%,var(--page-cool-2) 48%,var(--page-cool-3) 100%);
}

#pricing-header .page-header-intro{
  max-width:min(56rem,100%);
}

@media(min-width:900px){
  #pricing-header .page-header-intro{
    max-width:none;
    white-space:nowrap;
  }
}

.pricing-page .paper-wash--neutral{
  background-color:var(--contact-main-bg,#ebf0f2);
  background-image:none;
}

.pricing-page main#main{background:transparent}

/* ——— Rates band ——— */
.pricing-content{
  padding:clamp(2.25rem,4vw,3.25rem) 0 clamp(2.25rem,4.5vw,3.25rem);
  background:var(--pricing-page-bg);
}

.pricing-content > .pricing-rates-grid{
  width:100%;
  max-width:var(--pricing-content-col);
  margin:0 auto;
  padding-bottom:clamp(2.25rem,4vw,3rem);
  display:flex;
  flex-direction:column;
  gap:var(--pricing-section-space);
}

.pricing-rates-grid > #cost-per-service,
.pricing-rates-grid > #session-payments{
  width:100%;
  max-width:none;
  margin:0;
  min-width:0;
}

.pricing-access-seam{
  width:100%;
  margin:0 0 var(--pricing-section-space);
}

.pricing-layout{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
}

.pricing-access-pathways{
  width:100%;
  max-width:var(--pricing-content-col);
  margin-inline:auto;
  text-align:left;
}

.pricing-access-pathways > .pricing-gfe{
  margin-top:var(--pricing-section-space);
}

.pricing-block .section-eyebrow{
  margin:0 0 1rem;
}

.pricing-block .section-heading{
  margin:0 0 1.15rem;
  text-align:left;
  max-width:var(--pricing-prose-inline-max);
}

#fee-selection{
  text-align:center;
}

#fee-selection > .section-eyebrow{
  display:block;
  width:100%;
  margin:0 auto 1.75rem;
  text-align:center;
  font-size:clamp(0.9375rem,1.35vw,1.125rem);
}

#fee-selection .pricing-fee-tiers{
  text-align:left;
  margin-inline:0;
  max-width:none;
  width:100%;
}

#fee-selection .pricing-fee-tier--insurance .pricing-prose{
  max-width:100%;
}

.pricing-prose--sub{
  margin-top:0.85rem;
}

.pricing-prose-action{
  display:inline;
  margin:0;
  padding:0;
  border:none;
  background:none;
  font:inherit;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:var(--teal-deep,#154d4c);
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,var(--teal-deep,#154d4c) 35%,transparent);
  text-underline-offset:0.15em;
  cursor:pointer;
  transition:color var(--transition),text-decoration-color var(--transition);
}

.pricing-prose-action:hover,
.pricing-prose-action:focus-visible{
  color:var(--teal-vivid,#1b9baf);
  text-decoration-color:var(--teal-vivid,#1b9baf);
}

.pricing-prose-action:focus{outline:none}

.pricing-prose-action:focus-visible{
  outline:2px solid var(--teal-vivid,#1B9BAF);
  outline-offset:3px;
}

.pricing-payment-list{
  list-style:none;
  margin:0;
  padding:0;
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  text-align:left;
}

.pricing-payment-list li{
  position:relative;
  padding-left:1.15rem;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.875rem,1.05vw,0.9375rem);
  font-weight:500;
  line-height:1.5;
  letter-spacing:0.01em;
  color:var(--intro-text,#1f2724);
}

.pricing-payment-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.65em;
  width:0.35rem;
  height:0.35rem;
  border-radius:50%;
  background:color-mix(in srgb,var(--teal-deep,#154d4c) 55%,transparent);
}

.pricing-payment-list strong{
  font-weight:600;
  color:var(--intro-text,#1f2724);
}

.pricing-payment-note{
  font-size:var(--rt-type-sans-meta);
  font-weight:400;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.58);
}

.pricing-payment-action{
  display:inline;
  margin:0;
  padding:0;
  border:none;
  background:none;
  font:inherit;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,var(--teal-deep,#154d4c) 35%,transparent);
  text-underline-offset:0.15em;
  cursor:pointer;
  transition:color var(--transition),text-decoration-color var(--transition);
}

.pricing-payment-action:hover,
.pricing-payment-action:focus-visible{
  color:var(--teal-deep,#154d4c);
  text-decoration-color:var(--teal-deep,#154d4c);
}

.pricing-payment-action:focus{outline:none}

.pricing-payment-action:focus-visible{
  outline:2px solid var(--teal-vivid,#1B9BAF);
  outline-offset:3px;
}

.pricing-tooltip-wrap{
  position:relative;
  display:inline;
}

.pricing-tooltip{
  position:absolute;
  left:50%;
  bottom:calc(100% + 0.55rem);
  transform:translateX(-50%);
  z-index:5;
  width:max-content;
  max-width:min(16rem,70vw);
  padding:0.45rem 0.65rem;
  border-radius:2px;
  background:var(--teal-deep,#154d4c);
  color:var(--warm-white,#F5EFE8);
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-meta,0.8125rem);
  font-weight:400;
  line-height:1.4;
  letter-spacing:0.01em;
  text-align:center;
  box-shadow:0 6px 18px rgba(10,31,53,0.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 0.15s ease,visibility 0.15s ease;
}

.pricing-tooltip::after{
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:var(--teal-deep,#154d4c);
}

.pricing-tooltip-wrap:hover .pricing-tooltip,
.pricing-tooltip-wrap:focus-within .pricing-tooltip{
  opacity:1;
  visibility:visible;
}

.pricing-prose .pricing-text-link{
  display:inline;
  min-height:0;
  font-size:inherit;
  letter-spacing:0.04em;
  text-transform:none;
  vertical-align:baseline;
}

.pricing-prose strong{
  font-weight:600;
  color:var(--intro-text,#1f2724);
}

.pricing-prose{
  margin:0;
  max-width:var(--pricing-prose-inline-max);
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:400;
  line-height:1.65;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.82);
}

.pricing-prose--spaced{margin-top:1.15rem}

.pricing-fee-tier .pricing-prose + .pricing-prose{
  margin-top:0.85rem;
}

.pricing-prose a{
  color:var(--teal-deep,#154d4c);
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,var(--teal-deep,#154d4c) 35%,transparent);
  text-underline-offset:0.15em;
  transition:color var(--transition),text-decoration-color var(--transition);
}

.pricing-prose a:hover,
.pricing-prose a:focus-visible{
  color:var(--teal-vivid,#1b9baf);
  text-decoration-color:var(--teal-vivid,#1b9baf);
}

/* L2 — site .value-lens; spacing for pricing subsections */
.pricing-lens{
  margin:0 0 1rem;
}

.pricing-fee-tiers{
  display:flex;
  flex-direction:column;
  margin:1.35rem 0 0;
  max-width:var(--pricing-prose-inline-max);
}

.pricing-fee-tier + .pricing-fee-tier{
  margin-top:1.15rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(10,31,53,0.1);
}

/* L3 — component title tokens */
.pricing-fee-tier__name{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--rt-type-component-title);
  font-weight:500;
  font-style:italic;
  line-height:1.22;
  color:var(--teal-deep,#154d4c);
  margin:0 0 0.45rem;
}

.pricing-fee-tier__sep{
  font-style:normal;
  font-weight:400;
  color:rgba(21,77,76,0.35);
  margin:0 0.15em;
}

.pricing-cta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.75rem 1rem;
  margin:0.85rem 0 0;
}

.pricing-cta-row .btn-espresso--ghost{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-btn-label);
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  line-height:1.2;
  min-height:0;
  padding:0.4rem 0.85rem;
  border-radius:3px;
  border:1.5px solid var(--gold-paper-accessible,var(--gold-bronze,#8d5d29));
  background:transparent;
  color:var(--gold-paper-accessible,var(--gold-bronze,#8d5d29));
  text-decoration:none;
  cursor:pointer;
  transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease;
}

.pricing-cta-row .btn-espresso--ghost:hover,
.pricing-cta-row .btn-espresso--ghost:focus-visible{
  background:var(--gold-paper-accessible,var(--gold-bronze,#8d5d29));
  border-color:var(--gold-paper-accessible,var(--gold-bronze,#8d5d29));
  color:var(--warm-white,#F5EFE8);
}

.pricing-cta-row .btn-espresso--ghost:focus-visible{
  outline:2px solid var(--gold-paper-accessible,var(--gold-bronze,#8d5d29));
  outline-offset:3px;
}

/* ——— Services table ——— */
#cost-per-service{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
}

#cost-per-service .section-eyebrow{
  text-align:left;
  margin-bottom:1.1rem;
  font-size:clamp(0.9375rem,1.35vw,1.125rem);
}

#session-payments{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
}

#session-payments .section-eyebrow{
  margin:0 0 1.35rem;
  text-align:left;
  font-size:clamp(0.9375rem,1.35vw,1.125rem);
}

.pricing-gfe{
  width:100%;
  max-width:none;
  margin-inline:0;
  align-self:stretch;
  text-align:left;
}

.pricing-gfe .pricing-lens{
  margin:0 0 0.75rem;
}

.pricing-gfe .pricing-prose{
  max-width:100%;
}

.pricing-services-table{
  width:100%;
  max-width:none;
  min-width:0;
  margin-inline:0;
  border-collapse:collapse;
  border-spacing:0;
  table-layout:auto;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:400;
  line-height:1.5;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.9);
}

.pricing-services-table tbody tr{
  border:none;
}

.pricing-services-table tbody tr.pricing-services-group{
  border:none;
}

.pricing-services-table .pricing-services-group th{
  padding:0.85rem 0 0.35rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:500;
  letter-spacing:0.02em;
  text-transform:none;
  color:var(--intro-text,#1f2724);
  text-align:left;
}

.pricing-services-table .pricing-services-item-sep{
  margin:0 0.35em;
  font-weight:inherit;
  letter-spacing:inherit;
  color:inherit;
}

.pricing-services-table .pricing-services-group--priced .pricing-services-item-sep{
  font-weight:inherit;
  color:inherit;
  opacity:1;
}

.pricing-services-table .pricing-services-qualifier{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  letter-spacing:0.01em;
}

.pricing-services-table .pricing-services-child th[scope="row"]{
  padding:0.05rem 0 0.65rem 1.1rem;
  font-size:var(--rt-type-sans-meta);
  font-weight:400;
  letter-spacing:0.01em;
  text-transform:none;
  color:rgba(31,39,36,0.58);
  white-space:normal;
  border:none;
}

.pricing-services-table .pricing-services-child .pricing-services-variant{
  display:inline;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  color:inherit;
}

.pricing-services-table .pricing-services-child .pricing-services-note{
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.42);
}

/* Hairlines only between service groups (not parent → child) */
.pricing-services-table tr.pricing-services-child + .pricing-services-group--priced,
.pricing-services-table .pricing-services-group--priced:not(:has(+ .pricing-services-child)) + .pricing-services-group--priced{
  border-top:1px solid rgba(31,39,36,0.14);
}

.pricing-services-table tr.pricing-services-child + .pricing-services-group--priced th,
.pricing-services-table tr.pricing-services-child + .pricing-services-group--priced td,
.pricing-services-table .pricing-services-group--priced:not(:has(+ .pricing-services-child)) + .pricing-services-group--priced th,
.pricing-services-table .pricing-services-group--priced:not(:has(+ .pricing-services-child)) + .pricing-services-group--priced td{
  padding-top:0.95rem;
}

.pricing-services-table .pricing-services-group--priced th,
.pricing-services-table .pricing-services-group--priced td{
  padding:0.85rem 0 0.7rem;
  vertical-align:baseline;
  border:none;
}

/* Nest child tightly under its parent */
.pricing-services-table .pricing-services-group--priced:has(+ .pricing-services-child) th,
.pricing-services-table .pricing-services-group--priced:has(+ .pricing-services-child) td{
  padding-bottom:0.1rem;
}

.pricing-services-table .pricing-services-group--priced th[scope="row"]{
  padding-left:0;
  padding-right:0.75rem;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.875rem,1.05vw,0.9375rem);
  font-weight:500;
  letter-spacing:0.01em;
  text-transform:none;
  color:var(--intro-text,#1f2724);
  white-space:nowrap;
}

@media(max-width:380px){
  .pricing-services-table .pricing-services-group--priced th[scope="row"]{
    white-space:normal;
  }
}

.pricing-services-table .pricing-services-group--priced .pricing-services-price{
  font-size:clamp(0.875rem,1.05vw,0.9375rem);
  font-weight:500;
  letter-spacing:0.01em;
  color:var(--intro-text,#1f2724);
  white-space:nowrap;
  width:1%;
}

.pricing-services-table th,
.pricing-services-table td{
  padding:0.95rem 0;
  vertical-align:baseline;
}

.pricing-services-table th[scope="row"]{
  font:inherit;
  font-weight:400;
  text-align:left;
  color:rgba(31,39,36,0.9);
  padding-right:1.25rem;
}

.pricing-services-table .pricing-services-note{
  font-weight:400;
  color:rgba(31,39,36,0.55);
}

.pricing-services-table .pricing-services-price{
  width:1%;
  padding-left:1rem;
  font:inherit;
  font-weight:400;
  color:var(--intro-text);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  text-align:right;
}

.pricing-services-table tfoot tr{border-bottom:none}
.pricing-services-table tfoot td{
  padding-top:1.25rem;
  text-align:left;
}

.pricing-services-all-link{
  display:inline-flex;
  align-items:baseline;
  gap:0.4rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-text-link);
  font-weight:400;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(31,39,36,0.58);
  text-decoration:none;
  border-bottom:1px solid rgba(21,77,76,0.22);
  transition:color var(--transition),border-color var(--transition);
}

.pricing-services-all-link:hover,
.pricing-services-all-link:focus-visible{
  color:var(--teal-deep,#154d4c);
  border-bottom-color:var(--teal-deep,#154d4c);
  text-decoration:none;
}

.pricing-services-all-link:focus-visible{
  outline:2px solid var(--teal-vivid,#1B9BAF);
  outline-offset:3px;
}

.pricing-text-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0;
  border:none;
  border-bottom:1px solid rgba(21,77,76,0.22);
  background:none;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-text-link);
  font-weight:400;
  line-height:1.5;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(31,39,36,0.58);
  text-decoration:none;
  cursor:pointer;
  text-align:left;
  transition:color var(--transition),border-color var(--transition);
}

.pricing-text-link:hover,
.pricing-text-link:focus-visible{
  color:var(--teal-deep,#154d4c);
  border-bottom-color:var(--teal-deep,#154d4c);
}

button.pricing-text-link:focus{outline:none}

button.pricing-text-link:focus-visible,
a.pricing-text-link:focus-visible{
  outline:2px solid var(--teal-vivid,#1B9BAF);
  outline-offset:3px;
}

/* ——— Insurance embed (benefits modal) ——— */
.pricing-insurance-embed{
  margin:0;
  min-width:0;
  max-width:none;
  width:100%;
}

.pricing-insurance-embed iframe{
  display:block;
  width:100%;
  max-width:100%;
  border:0;
  min-height:22rem;
}

.pricing-benefit-modal{
  width:min(40rem,calc(100% - 2rem));
}

.pricing-benefit-modal__body{
  padding-top:1rem;
}

.pricing-insurance-more{margin:0.65rem 0 0}

/* ——— Next-steps decision bridge (same pattern as services) ——— */
.services-decision-bridge{
  padding:0 0 4rem;
}
.services-decision-bridge-inner{
  max-width:var(--rt-content-rail-max,1060px);
  margin:0 auto;
  padding:clamp(2.5rem,4.5vw,3.5rem) 0 1.25rem;
  text-align:center;
}
.services-decision-bridge-hed{
  width:min(46rem,100%);
  max-width:min(36ch,calc(100% - 2rem));
  margin:0 auto 0.75rem;
  font-family:'Cormorant Garamond',serif;
  font-size:var(--rt-type-section-heading);
  font-weight:300;
  font-style:italic;
  line-height:1.18;
  letter-spacing:0;
  color:var(--deep,var(--text,#040e1a));
  text-align:center;
  text-wrap:balance;
}
.services-decision-bridge-hed em{
  font-style:italic;
  color:var(--teal-vivid,#1b9baf);
}
.services-decision-routes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0.5rem 2rem;
  width:min(46rem,100%);
  margin:clamp(1.75rem,3vw,2.25rem) auto 0;
  padding-left:0;
  box-sizing:border-box;
  justify-items:center;
  text-align:center;
}
.services-decision-route{
  width:auto;
  max-width:100%;
  min-height:60px;
  display:inline-grid;
  grid-template-columns:auto auto;
  column-gap:0.85rem;
  align-items:center;
  justify-content:center;
  padding:0.7rem 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--teal-deep,#154d4c);
  font:inherit;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.services-decision-route-number{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.95rem,1.25vw,1.075rem);
  font-weight:600;
  letter-spacing:0.16em;
  line-height:1.35;
  color:var(--teal-deep,#154d4c);
}
.services-decision-route-action{
  justify-self:center;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.95rem,1.25vw,1.075rem);
  font-weight:500;
  letter-spacing:0.08em;
  line-height:1.35;
  text-transform:uppercase;
  color:var(--teal-deep,#154d4c);
  text-decoration:underline;
  text-decoration-color:rgba(21,77,76,0.4);
  text-decoration-thickness:1px;
  text-underline-offset:0.38em;
  transition:color 0.2s ease,text-decoration-color 0.2s ease;
}
.services-decision-route:is(a,button):hover{
  color:var(--teal-vivid,#1b9baf);
}
.services-decision-route:is(a,button):hover .services-decision-route-action{
  color:var(--teal-vivid,#1b9baf);
  text-decoration-color:currentColor;
  text-decoration-thickness:2px;
}
.services-decision-route:is(a,button):hover .services-decision-route-number{
  color:var(--teal-vivid,#1b9baf);
}
.services-decision-route:is(a,button):focus-visible .services-decision-route-action{
  color:var(--teal-vivid,#1b9baf);
  text-decoration-color:currentColor;
}
.services-decision-route:focus-visible{
  outline:2px solid var(--teal-deep,#154d4c);
  outline-offset:3px;
}
body.pricing-page .closing-section.closing-section--compact{
  margin-top:0;
  background-color:var(--rt-hero-paper-wash-bg-index,#f6f3ec);
  background-image:
    radial-gradient(ellipse 82% 92% at 84% 18%,rgba(231,240,237,0.9) 0%,rgba(231,240,237,0.42) 42%,transparent 72%),
    radial-gradient(ellipse 85% 65% at 88% 78%,rgba(184,190,178,0.35) 0%,rgba(216,204,184,0.13) 45%,transparent 70%),
    radial-gradient(ellipse 70% 45% at 50% 68%,rgba(var(--gold-paper-rgb),0.06) 0%,transparent 55%),
    radial-gradient(ellipse 135% 95% at 100% 0%,rgba(184,190,178,0.28) 0%,rgba(247,244,238,0.12) 38%,transparent 58%),
    radial-gradient(ellipse 90% 70% at 72% 32%,rgba(255,255,255,0.12) 0%,transparent 52%),
    linear-gradient(135deg,rgba(184,190,178,0.44) 0%,rgba(247,244,238,0.98) 36%,rgba(232,228,218,0.52) 60%,rgba(190,198,188,0.45) 84%,rgba(178,186,175,0.22) 100%);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
body.pricing-page .closing-section.closing-section--compact .closing-eyebrow{
  width:min(46rem,100%);
  margin-right:auto;
  margin-left:auto;
  margin-bottom:0.75rem;
  color:var(--gold-paper,#D28936);
  text-align:center;
}
body.pricing-page .closing-section.closing-section--compact .closing-eyebrow-rule{
  display:block;
  width:5.5rem;
  height:1px;
  border:0;
  margin:0 auto 1.15rem;
  background:var(--rt-gold-teal-rule-symmetric);
  box-shadow:var(--rt-gold-teal-rule-symmetric-shadow);
}
@media(max-width:768px){
  .services-decision-bridge{padding:0 0 3.25rem}
  .services-decision-routes{grid-template-columns:1fr}
  .services-decision-route{
    min-height:0;
    padding:0.55rem 0;
  }
  .services-decision-route-action{transition:none}
}

/* ——— Closing band secondary links ——— */
.closing-section .pricing-more-info-links{
  display:flex;
  justify-content:center;
  margin:0.85rem 0 0;
}

.closing-section .closing-cta-stack{
  margin-bottom:0.35rem;
}

body.pricing-page .pricing-gfe{
  margin-bottom:0;
}

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

@media(max-width:992px){
  .pricing-content{padding:2.25rem 0}

  .pricing-fee-modal__header{padding:1.5rem 3rem 1.15rem 1.35rem}
  .pricing-fee-modal__body{padding:1.15rem 1.35rem 1.25rem}
}

.pricing-fee-modal{
  width:min(36rem,calc(100% - 2rem));
  max-height:calc(100vh - 2rem);
  margin:auto;
  padding:0;
  border:none;
  border-radius:2px;
  background:var(--page-cool-1,#eef5f7);
  color:var(--intro-text);
  box-shadow:0 12px 40px rgba(10,31,53,0.18);
  overflow:hidden;
}

.pricing-fee-modal::backdrop{background:rgba(10,31,53,0.42)}

.pricing-fee-modal__inner{
  position:relative;
  padding:0;
  overflow-y:auto;
  max-height:calc(100vh - 2rem);
}

.pricing-fee-modal__header{
  background:color-mix(in srgb,var(--teal-deep,#154d4c) 7%,var(--page-cool-1,#eef5f7));
  padding:1.75rem 3.25rem 1.35rem 1.75rem;
  border-bottom:1px solid rgba(10,31,53,0.08);
}

.pricing-fee-modal__body{
  padding:1.35rem 1.75rem 1.5rem;
}

.pricing-fee-modal__close{
  position:absolute;
  top:0.85rem;
  right:0.85rem;
  z-index:1;
  width:2rem;
  height:2rem;
  padding:0;
  border:none;
  border-radius:2px;
  background:transparent;
  color:rgba(31,39,36,0.58);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}

.pricing-fee-modal__close:hover,
.pricing-fee-modal__close:focus-visible{color:var(--teal-deep,#154d4c)}

.pricing-fee-modal__close:focus{outline:none}

.pricing-fee-modal__close:focus-visible{
  outline:2px solid var(--teal-vivid,#1B9BAF);
  outline-offset:2px;
}

.pricing-fee-modal__title{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--rt-type-component-title);
  font-style:italic;
  font-weight:500;
  line-height:1.2;
  letter-spacing:var(--section-em-tracking,0.025em);
  color:var(--teal-deep,#154d4c);
  margin:0 0 0.65rem;
  padding:0;
}

.pricing-fee-modal__intro{
  font-size:var(--rt-type-sans-body);
  font-weight:300;
  line-height:1.7;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.82);
  margin:0;
}

.pricing-fee-modal__tier + .pricing-fee-modal__tier{
  margin-top:1.15rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(10,31,53,0.1);
}

.pricing-fee-modal__tier-name{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--teal-deep,#154d4c);
  margin:0 0 0.45rem;
}

.pricing-fee-modal__tier-body{
  font-size:var(--rt-type-sans-body);
  font-weight:300;
  line-height:1.7;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.82);
  margin:0;
}

.pricing-fee-modal__access-note{
  margin:1.15rem 0 0;
  padding:1rem 1.15rem;
  background:color-mix(in srgb,var(--teal-deep,#154d4c) 9%,var(--page-cool-1,#eef5f7));
  border-left:3px solid color-mix(in srgb,var(--teal-deep,#154d4c) 38%,transparent);
}

.pricing-fee-modal__access-note p{
  margin:0;
  font-size:var(--rt-type-sans-body);
  font-weight:300;
  line-height:1.7;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.84);
}

.pricing-fee-modal__tools{
  margin:1rem 0 0;
}

.pricing-fee-checklist-modal{
  width:min(42rem,calc(100% - 2rem));
}

.pricing-fee-checklist-modal .pricing-fee-modal__body{
  padding-top:2.75rem;
}

.pricing-community-care-modal{
  width:min(26rem,calc(100% - 2rem));
}

.pricing-community-care-modal__body{
  display:flex;
  justify-content:center;
  padding-top:0.25rem;
  padding-bottom:1.75rem;
}

.pricing-community-care-qr{
  display:block;
  width:min(18rem,100%);
  height:auto;
  margin:0 auto;
  background:#fff;
  border-radius:2px;
}

.pricing-fee-checklist{
  display:flex;
  flex-direction:column;
  gap:0;
}

.pricing-fee-checklist__step-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
  margin:1.15rem 0 0;
}

.pricing-fee-checklist__next{
  margin-left:auto;
}

.pricing-fee-checklist__question{
  margin:0;
  padding:0;
  border:none;
  min-width:0;
}

.pricing-fee-checklist__question + .pricing-fee-checklist__question{
  margin-top:1.35rem;
}

.pricing-fee-checklist__legend{
  display:block;
  margin:0 0 0.85rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:400;
  line-height:1.55;
  letter-spacing:0.01em;
  color:var(--intro-text,#1f2724);
}

.pricing-fee-checklist__group{
  margin:0;
  padding:0;
  border:none;
  min-width:0;
}

.pricing-fee-checklist__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}

.pricing-fee-checklist__label{
  display:flex;
  align-items:flex-start;
  gap:0.65rem;
  font-size:var(--rt-type-sans-body);
  font-weight:300;
  line-height:1.6;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.84);
  cursor:pointer;
}

.pricing-fee-checklist__label--scale{
  gap:0.75rem;
}

.pricing-fee-checklist__label input[type="checkbox"],
.pricing-fee-checklist__label input[type="radio"]{
  flex:0 0 auto;
  width:1rem;
  height:1rem;
  margin:0.2rem 0 0;
  accent-color:var(--teal-deep,#154d4c);
}

.pricing-fee-checklist__scale{
  flex:0 0 auto;
  min-width:1.35rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:500;
  line-height:1.6;
  color:var(--teal-deep,#154d4c);
}

.pricing-fee-checklist__option-text{
  flex:1;
  min-width:0;
}

.pricing-fee-checklist__input{
  display:block;
  width:100%;
  max-width:12rem;
  margin:0;
  padding:0.55rem 0.75rem;
  border:1px solid rgba(31,39,36,0.18);
  border-radius:2px;
  background:var(--page-cool-1,#eef5f7);
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body);
  font-weight:300;
  line-height:1.5;
  color:var(--intro-text,#1f2724);
}

.pricing-fee-checklist__input:focus{
  outline:2px solid var(--teal-vivid,#1B9BAF);
  outline-offset:2px;
  border-color:color-mix(in srgb,var(--teal-deep,#154d4c) 35%,transparent);
}

.pricing-fee-checklist__result{
  margin:1.25rem 0 0;
  padding:1rem 1.15rem;
  background:color-mix(in srgb,var(--teal-deep,#154d4c) 9%,var(--page-cool-1,#eef5f7));
  border-left:3px solid color-mix(in srgb,var(--teal-deep,#154d4c) 38%,transparent);
}

.pricing-fee-checklist__result-eyebrow{
  margin:0 0 0.35rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-label);
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal-deep,#154d4c);
}

.pricing-fee-checklist__result-tier{
  margin:0 0 0.45rem;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.2rem,1.6vw,1.45rem);
  font-weight:500;
  line-height:1.35;
  letter-spacing:0.02em;
  color:var(--intro-text,#1f2724);
}

.pricing-fee-checklist__result-body{
  margin:0;
  font-size:var(--rt-type-sans-body);
  font-weight:300;
  line-height:1.7;
  letter-spacing:0.01em;
  color:rgba(31,39,36,0.84);
}

.pricing-fee-checklist__actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.85rem 1.25rem;
  margin:1.15rem 0 0;
}

/* Nav — Get Started dropdown */
body.pricing-page nav.rt-site-nav{overflow:visible}
body.pricing-page .nav-cta-dropdown{position:relative}
body.pricing-page .nav-cta-dropdown__details{position:relative}
body.pricing-page .nav-cta-dropdown__trigger{
  gap:0.45rem;
  list-style:none;
  cursor:pointer;
}
body.pricing-page .nav-cta-dropdown__trigger::-webkit-details-marker{display:none}
body.pricing-page .nav-cta-dropdown__caret{
  width:0.42rem;
  height:0.42rem;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-0.08rem);
  transition:transform 0.2s ease;
  flex-shrink:0;
}
body.pricing-page .nav-cta-dropdown__details[open] .nav-cta-dropdown__caret{
  transform:rotate(-135deg) translateY(0.08rem);
}
body.pricing-page .nav-cta-dropdown__details[open] > .nav-cta-dropdown__trigger{
  background:var(--nav-cta-bg-hover,var(--nav-cta-filled-bg,var(--brand-cta)));
  color:var(--warm-white,#F5EFE8);
  border-color:var(--nav-cta-border-hover,rgba(var(--gold-shell-soft-rgb,212,165,116),0.78));
}
body.pricing-page .nav-cta-dropdown__menu{
  position:absolute;
  top:calc(100% + 0.35rem);
  right:0;
  min-width:min(15rem,calc(100vw - 2rem));
  margin:0;
  padding:0.3rem 0;
  list-style:none;
  background:linear-gradient(165deg,var(--page-cool-1,#eef5f7) 0%,var(--page-cool-2,#e7f0f3) 100%);
  border:1px solid color-mix(in srgb,var(--teal-deep,#154d4c) 14%,transparent);
  box-shadow:0 8px 24px rgba(6,28,32,0.16);
  z-index:210;
}
body.pricing-page .nav-cta-dropdown__menu li + li{
  border-top:1px solid color-mix(in srgb,var(--teal-deep,#154d4c) 10%,transparent);
}
body.pricing-page .nav-cta-dropdown__menu a{
  display:block;
  padding:0.7rem 1rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-meta);
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal-deep,#154d4c);
  text-decoration:none;
  white-space:nowrap;
  transition:background 0.2s ease,color 0.2s ease;
}
body.pricing-page .nav-cta-dropdown__menu a:hover,
body.pricing-page .nav-cta-dropdown__menu a:focus-visible{
  background:color-mix(in srgb,var(--brand-footer-brand,#8ec4be) 22%,var(--page-cool-1,#eef5f7));
  color:var(--teal-deep,#154d4c);
  outline:none;
}
body.pricing-page .nav-cta-dropdown__menu a:focus-visible{
  outline:2px solid var(--teal-deep,#154d4c);
  outline-offset:-2px;
}

.pricing-fee-modal__close{
  width:44px;
  height:44px;
}
.pricing-text-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.pricing-fee-checklist__label:has(input:focus-visible){
  outline:2px solid var(--teal-deep,#154d4c);
  outline-offset:3px;
}
