/* Shared plan presentation; prices, checkout and booking handlers remain in their source pages. */
.pricing-page,.signup-focused{--plan-ink:#193c3b;--plan-muted:#60716a;--plan-paper:#faf7f1}
.pricing-page .pg-hero{background:var(--plan-paper);padding-bottom:0}
.pricing-page .pg-hero>div{padding-top:64px;padding-bottom:36px}
.pricing-page #stubs>div{padding-top:32px;padding-bottom:48px}
.pricing-page #stubs h2{font-size:clamp(30px,4vw,46px)}
.free-plan{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;margin-bottom:24px;border:1px solid #c9dbcf;border-radius:18px;background:#edf2e9}
.free-plan .plan-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#477565;margin:0 0 8px}
.free-plan h3{font:500 27px/1.2 'Instrument Sans',sans-serif;letter-spacing:-.03em;color:var(--plan-ink)}
.free-plan h3 em{font-family:'Fraunces',serif;color:#38765c}
.free-plan p:last-child{margin-top:12px;font-size:14px;color:var(--plan-muted)}
.plan-free-link{flex-shrink:0;border-radius:8px;background:#193c3b;color:#faf7f1;padding:15px 24px;font-size:14px;font-weight:600}
.signup-focused #pricing .ladder,.pricing-page .stubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1180px;margin:28px auto 0}
.signup-focused #pricing .ladder>.ms{min-width:0;height:auto;padding:0;display:block}
.signup-focused #pricing .rung,.pricing-page .stub{background:#fff;color:var(--plan-ink);border:1px solid #dfe4da;border-radius:18px;padding:28px;box-shadow:none;height:100%;min-height:0;display:flex;flex-direction:column}
.signup-focused #pricing .rung::before{display:none}
.signup-focused #pricing .rung.night,.pricing-page .stub.night{background:#193c3b;color:#faf7f1;border-color:#193c3b;box-shadow:none}
.signup-focused #pricing .rung .step{display:flex;flex-direction:column;gap:10px;border:0;padding:0;text-transform:none;letter-spacing:0}
.signup-focused #pricing .rung .step h3,.signup-focused #pricing .rung .step b,.pricing-page .stub h3{font:500 28px/1.15 'Instrument Sans',sans-serif;letter-spacing:-.03em;color:inherit;margin:0}
.pricing-page .stub h3{margin-top:18px}
.signup-focused #pricing .rung .intake,.pricing-page .stub .s-h{font:400 11px/1.5 'Instrument Sans',sans-serif;letter-spacing:0;text-transform:none;color:#527665;white-space:normal}
.signup-focused #pricing .rung .who,.pricing-page .stub .who{font-size:15px;line-height:1.6;color:var(--plan-muted);min-height:4.8em;margin:18px 0 0}
.signup-focused #pricing .rung .price,.pricing-page .stub .rate{margin-top:22px;gap:8px;flex-wrap:wrap}
.signup-focused #pricing .rung .price .amt,.pricing-page .stub .rate .amt{font:500 48px/1.15 'Instrument Sans',sans-serif;letter-spacing:-.055em;color:inherit}
.signup-focused #pricing .rung .price .unit,.pricing-page .stub .rate .unit{font:400 13px/1.4 'Instrument Sans',sans-serif;letter-spacing:0;text-transform:none;color:var(--plan-muted)}
.signup-focused #pricing .rung .price-sub,.pricing-page .stub .mo{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font:400 12px/1.5 'Instrument Sans',sans-serif;letter-spacing:0;text-transform:none;min-height:40px;color:var(--plan-muted)}
.pricing-page .stub .mo small{margin:0}
.signup-focused #pricing .rung .price-sub .price-note{color:inherit;font-weight:400}
.signup-focused #pricing .rung .plan-features,.pricing-page .stub .plan-features{list-style:none;margin:24px 0;padding:20px 0 0;border-top:1px solid #dfe4da}
.signup-focused #pricing .rung .plan-features li,.pricing-page .stub .plan-features li{display:block;position:relative;margin:0;padding:0 0 14px 17px;border:0;font:400 14px/1.6 'Instrument Sans',sans-serif;letter-spacing:0;color:inherit}
.plan-features li::before{content:'';position:absolute;top:.65em;left:0;width:5px;height:5px;border-radius:50%;background:#6eaa91}
.signup-focused #pricing .rung .cta,.pricing-page .stub .cta{margin-top:auto;padding-top:16px}
.signup-focused #pricing .rung .btn,.pricing-page .stub .btn{min-height:48px;padding:12px 16px;border-radius:8px;font:600 14px/1.4 'Instrument Sans',sans-serif;letter-spacing:0;box-shadow:none;white-space:normal;background:#193c3b;border:1px solid #193c3b;color:white;text-align:center}
.signup-focused #pricing .rung.night .btn,.pricing-page .stub.night .btn{background:#d0ecdf;border-color:#d0ecdf;color:#193c3b}
.signup-focused #pricing .rung .fine,.pricing-page .stub .fine{font:400 12px/1.6 'Instrument Sans',sans-serif;letter-spacing:0;color:var(--plan-muted);margin-top:12px}
.signup-focused #pricing .rung.night :is(.intake,.who,.unit,.price-sub,.fine),.pricing-page .stub.night :is(.s-h,.s-h b,.who,.unit,.mo,.mo small,.terms,.fine){color:#bdd7cb}
.signup-focused #pricing .rung.night .plan-features{border-color:#ffffff25}
.enterprise-condition{font-size:12px;line-height:1.6;color:var(--plan-muted);margin:0 0 12px}
.plan-terms{margin-top:12px;font-size:12px;color:inherit}
.plan-terms summary{cursor:pointer;min-height:32px;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.plan-details{border:1px solid #d9dfd5;border-radius:14px;background:#fff;overflow:hidden;margin:24px 0}
.plan-details>summary{cursor:pointer;min-height:72px;padding:24px 28px;font:500 17px/1.5 'Instrument Sans',sans-serif;letter-spacing:-.02em;color:#193c3b}
.plan-details>summary>span{float:right;font-size:12px;color:#60716a;letter-spacing:0}
.plan-details[open]>summary{border-bottom:1px solid #d9dfd5}
.plan-details .sheet-wrap{padding:16px;max-width:100%}
.signup-focused #pricing .ms-cut>div{margin-top:24px}
.signup-focused #pricing .ratenotes{padding:0;box-shadow:none}
.signup-focused #pricing .ratenotes :is(.rn-head,.rn-grid,.rn-foot){margin:0;padding:24px}
.signup-focused #pricing .ratenotes .rn-head{display:none}
.signup-focused #pricing .compare-wrap{border:0;border-radius:0;max-height:none}
.signup-focused #pricing .compare-wrap::after{display:none}
.signup-focused #pricing .nsd-table :is(th,td),.pricing-page .sheet :is(th,td){font-family:'Instrument Sans',sans-serif;letter-spacing:0;text-transform:none;font-size:13px}
.signup-focused #pricing .compare-hint{font:400 12px/1.5 'Instrument Sans',sans-serif;letter-spacing:0;padding:12px;text-transform:none}
.signup-focused #booking{background:#faf7f1;padding:56px 0 64px;scroll-margin-top:82px}
.signup-focused #booking>div{max-width:1180px;padding:0 24px;margin:auto}
.signup-focused #booking .bk-head{text-align:center;padding:0;margin:0 auto 32px;max-width:650px}
.signup-focused #booking .booking-eyebrow{font:400 11px/1.5 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#477565;margin-bottom:18px}
.signup-focused #booking .bk-head h2{font:500 clamp(36px,4.5vw,58px)/1.08 'Instrument Sans',sans-serif;letter-spacing:-.05em;margin-bottom:20px}
.signup-focused #booking .bk-head h2 em{font-family:'Fraunces',serif;font-weight:400;color:#39775c}
.signup-focused #booking .bk-head>p:not(.booking-eyebrow){font:400 16px/1.7 'Instrument Sans',sans-serif;color:#60716a;margin:0 auto;max-width:540px}
.booking-context{list-style:none;display:flex;justify-content:center;gap:10px 24px;flex-wrap:wrap;margin:24px 0 0;padding:0;font-size:12px;color:#477565}
.signup-focused #booking .bk-cal{padding:0;min-height:0}
.signup-focused #booking .bk-cal>div:first-child{border-color:#d9dfd5;border-radius:18px;background:white}
.signup-focused #booking #cal-booking-embed{min-height:600px!important}
.signup-focused #booking iframe{display:block}
.pricing-page section:has(>div>.plan-details)>div{padding-top:16px;padding-bottom:16px}
@media(max-width:1023px){.signup-focused #pricing .ladder,.pricing-page .stubs{grid-template-columns:1fr;max-width:600px;gap:16px}.signup-focused #pricing .rung .who,.pricing-page .stub .who{min-height:0}.free-plan{max-width:600px;margin:0 auto 24px}.signup-focused #pricing .rung .plan-features,.pricing-page .stub .plan-features{margin:18px 0}.signup-focused #pricing .rung .cta,.pricing-page .stub .cta{padding-top:4px}}
@media(max-width:600px){.free-plan{flex-direction:column;align-items:flex-start;padding:24px}.plan-free-link{width:100%;text-align:center}.pricing-page .pg-hero>div{padding-top:40px}.signup-focused #pricing .rung,.pricing-page .stub{padding:24px}.plan-details>summary{padding:20px;font-size:15px}.plan-details>summary>span{display:none}.signup-focused #booking{padding:40px 0}.signup-focused #booking>div{padding:0 16px}.booking-context{gap:12px}.signup-focused #booking #cal-booking-embed{min-height:600px!important}.signup-focused #pricing .ratenotes :is(.rn-grid,.rn-foot){padding:20px}}
.pricing-page .pg-hero{color:#193c3b}
.pricing-page .pg-hero h1{color:#193c3b}
.pricing-page .pg-hero h1 em{color:#39775c}
.pricing-page .pg-hero :is(.text-muted,.eyebrow,.mono){color:#60716a}
.pricing-page .pg-hero .btn-ghost{color:#193c3b;border-color:#b8c9bd}
.signup-focused #pricing .rung .step{color:#193c3b}
.signup-focused #pricing .rung.night .step{color:#faf7f1}
.signup-focused #pricing .rung .who,.pricing-page .stub .who{min-height:3.2em}
.signup-focused #pricing .nsd-h2 em{font-family:'Fraunces',serif;font-weight:400;color:#39775c}
.signup-focused #pricing .freq-btn{font-family:'Instrument Sans',sans-serif;text-transform:none;letter-spacing:0;font-size:13px;min-height:40px;padding:8px 16px}
.signup-focused #pricing .freq-save{font-family:'Instrument Sans',sans-serif;letter-spacing:0}
@media(max-width:1023px){.signup-focused #pricing .rung .who,.pricing-page .stub .who{min-height:0}}
.signup-focused #pricing .ms-cut{display:block!important}
.pricing-page .stub.night .plan-features{border-color:#ffffff25}
.pricing-page .stub .s-h b::before{box-shadow:none}
.pg.pricing-page .pg-hero h1 em{color:#39775c!important}
.pg.pricing-page .pg-hero :is(.pill,.text-subtle){color:#527665}
.signup-focused #booking{scroll-margin-top:0}
@media(max-width:700px){.signup-focused #booking{scroll-margin-top:0}}
/* Keep billing context inside the same closed comparison, at the same width. */
.plan-billing-note{padding:24px 28px;border-top:1px solid #d9dfd5;background:#f6f8f1;color:#60716a;font:400 13px/1.7 'Instrument Sans',sans-serif}
.plan-billing-note h4{font-size:15px;font-weight:500;color:#193c3b;margin:0 0 12px}
.plan-billing-note p+p{margin-top:12px}
.plan-billing-note a{text-decoration:underline;text-underline-offset:3px;color:#39775c}
@media(max-width:600px){.plan-billing-note{padding:20px}}
/* Pale mint actions need teal text in every interactive state. */
.signup-focused #pricing .rung.night .btn:hover,.pricing-page .stub.night .btn:hover{color:#193c3b;background:#e4f3eb;border-color:#e4f3eb}
.signup-focused #pricing .freq-btn:focus-visible{outline:2px solid #39775c;outline-offset:3px}
.signup-focused #pricing .rung.night .btn:focus-visible,.pricing-page .stub.night .btn:focus-visible{outline:2px solid #d0ecdf;outline-offset:4px}
