/* Pricing story. Scoped to avoid changing shared public or authenticated UI. */
.public-shell .cp-pricing {
  --pp-ink:#1b1f1d; --pp-green:#1f7a4f; --pp-deep:#0f3f2e;
  --pp-paper:#f6f5f1; --pp-white:#fff; --pp-copy:#4b5b50;
  --pp-muted:#647368; --pp-line:#dce6dc;
  color:var(--pp-ink); background:var(--pp-white); font-family:Inter,'Plus Jakarta Sans',sans-serif;
}
.public-shell .cp-pricing * { box-sizing:border-box; }
.public-shell .cp-pricing-container { width:min(100% - 48px,1240px); margin-inline:auto; }
.public-shell .cp-pricing h1,.public-shell .cp-pricing h2,.public-shell .cp-pricing p { margin:0; }
.public-shell .cp-pricing h1,.public-shell .cp-pricing h2 {
  font-family:Fraunces,Georgia,serif; font-weight:400; letter-spacing:-.02em;
}
.public-shell .cp-pricing-kicker { display:block; color:var(--pp-green); font:700 14px/1.35 Inter,sans-serif; }
.public-shell .cp-pricing-button {
  display:inline-flex; align-items:center; justify-content:center; gap:14px;
  min-height:54px; padding:13px 24px; border:1px solid var(--pp-deep);
  border-radius:10px; background:var(--pp-white); color:var(--pp-deep);
  font:700 15px/1.3 Inter,sans-serif; text-decoration:none; text-align:center; cursor:pointer;
}
.public-shell .cp-pricing-button--primary { background:var(--pp-deep); color:var(--pp-white); }
.public-shell .cp-pricing-button--wide { width:100%; }
.public-shell .cp-pricing-button:hover,.public-shell .cp-pricing-button:focus-visible { border-color:var(--pp-green); background:var(--pp-green); color:var(--pp-white); }
.public-shell .cp-pricing-button:disabled { cursor:wait; opacity:.7; }
.public-shell .cp-pricing-link {
  display:inline-flex; gap:10px; align-items:center; min-height:48px;
  color:var(--pp-deep); font:700 15px/1.4 Inter,sans-serif;
  text-decoration:underline; text-underline-offset:5px;
}
.public-shell .cp-pricing-link:hover { color:var(--pp-green); }
.public-shell .cp-pricing-button:focus-visible,.public-shell .cp-pricing-link:focus-visible,
.public-shell .cp-pricing a:focus-visible,.public-shell .cp-pricing summary:focus-visible {
  outline:3px solid var(--pp-green); outline-offset:4px;
}
.public-shell .cp-pricing-hero { padding:clamp(124px,12vw,180px) 0 clamp(84px,8vw,126px); background:var(--pp-paper); }
.public-shell .cp-pricing-hero-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(42px,5vw,90px); align-items:center; }
.public-shell .cp-pricing-hero h1 { margin-top:20px; max-width:12ch; font-size:clamp(48px,5vw,78px); line-height:1.04; text-wrap:balance; }
.public-shell .cp-pricing-hero-copy > p { max-width:50ch; margin-top:26px; color:var(--pp-copy); font-size:18px; line-height:1.66; }
.public-shell .cp-pricing-actions { display:flex; gap:16px 26px; flex-wrap:wrap; align-items:center; margin-top:34px; }
.public-shell .cp-pricing-preview { overflow:hidden; min-width:0; border:1px solid var(--pp-line); border-radius:20px; background:var(--pp-white); box-shadow:0 28px 80px rgba(15,63,46,.12); }
.public-shell .cp-pricing-preview-top { display:flex; gap:12px; align-items:center; min-height:66px; padding:13px 22px; border-bottom:1px solid var(--pp-line); font-size:14px; }
.public-shell .cp-pricing-preview-top > span:last-child { margin-left:auto; color:var(--pp-muted); white-space:nowrap; }
.public-shell .cp-pricing-mark { display:grid; place-items:center; width:34px; height:34px; flex:none; border:1px solid var(--pp-line); border-radius:8px; background:#fff; }
.public-shell .cp-pricing-mark img { display:block; width:24px; height:24px; object-fit:contain; }
.public-shell .cp-pricing-preview-body { padding:clamp(24px,3.5vw,42px); }
.public-shell .cp-pricing-preview-heading > span { color:var(--pp-green); font-size:14px; font-weight:700; }
.public-shell .cp-pricing-preview-heading h2 { max-width:14ch; margin-top:12px; font-size:clamp(29px,3vw,42px); line-height:1.12; }
.public-shell .cp-pricing-preview-heading p { margin-top:15px; color:var(--pp-copy); font-size:15px; line-height:1.55; }
.public-shell .cp-pricing-preview-rows { margin-top:25px; border-top:1px solid var(--pp-line); }
.public-shell .cp-pricing-preview-rows > div { display:flex; gap:20px; padding:17px 0; border-bottom:1px solid var(--pp-line); }
.public-shell .cp-pricing-preview-rows > div > span { color:var(--pp-green); font-size:14px; font-weight:700; }
.public-shell .cp-pricing-preview-rows strong,.public-shell .cp-pricing-preview-rows small { display:block; font-size:14px; line-height:1.45; }
.public-shell .cp-pricing-preview-rows small { margin-top:4px; color:var(--pp-muted); }
.public-shell .cp-pricing-preview-note { padding:15px 22px; border-top:1px solid var(--pp-line); color:var(--pp-muted); font-size:14px; line-height:1.5; }
.public-shell .cp-pricing-band { padding:clamp(85px,9vw,130px) 0; }
.public-shell .cp-pricing-band--warm { background:var(--pp-paper); }
.public-shell .cp-pricing-offer,.public-shell .cp-pricing-managed { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(52px,8vw,125px); align-items:start; }
.public-shell .cp-pricing-offer-intro h2,.public-shell .cp-pricing-managed-intro h2,.public-shell .cp-pricing-availability h2,.public-shell .cp-pricing-faq h2,.public-shell .cp-pricing-close h2 { margin-top:17px; font-size:clamp(38px,4.4vw,62px); line-height:1.08; text-wrap:balance; }
.public-shell .cp-pricing-offer-intro > p,.public-shell .cp-pricing-managed-intro > p { margin:23px 0 18px; max-width:50ch; color:var(--pp-copy); font-size:17px; line-height:1.7; }
.public-shell .cp-pricing-offer-panel { padding:clamp(28px,3.4vw,48px); border:1px solid var(--pp-line); border-radius:20px; background:var(--pp-paper); }
.public-shell .cp-pricing-offer-top { display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; }
.public-shell .cp-pricing-offer-top > span { font-size:16px; font-weight:700; }
.public-shell .cp-pricing-price { display:flex; gap:6px; align-items:baseline; color:var(--pp-deep); }
.public-shell .cp-pricing-price strong { font:400 clamp(42px,4vw,58px)/1 Fraunces,Georgia,serif; letter-spacing:-.02em; }
.public-shell .cp-pricing-price > span { font-size:15px; }
.public-shell .cp-pricing-price--scoped { font:400 26px/1.2 Fraunces,Georgia,serif; }
.public-shell .cp-pricing-offer-panel > p:first-of-type { margin-top:18px; color:var(--pp-copy); font-size:15px; line-height:1.6; }
.public-shell .cp-pricing-ledger { margin:27px 0 30px; border-top:1px solid var(--pp-line); }
.public-shell .cp-pricing-ledger > div { display:flex; gap:23px; padding:23px 0; border-bottom:1px solid var(--pp-line); }
.public-shell .cp-pricing-ledger > div > span { flex:none; color:var(--pp-green); font-size:14px; font-weight:700; }
.public-shell .cp-pricing-ledger strong { font:400 24px/1.2 Fraunces,Georgia,serif; }
.public-shell .cp-pricing-ledger p { margin-top:7px; color:var(--pp-copy); font-size:15px; line-height:1.6; }
.public-shell .cp-pricing-ledger a { display:inline-block; margin-top:12px; color:var(--pp-deep); font-size:14px; font-weight:700; text-underline-offset:4px; }
.public-shell .cp-pricing-terms { margin-top:12px!important; color:var(--pp-muted); font-size:13px; line-height:1.5; }
.public-shell .cp-pricing-managed-intro .cp-pricing-button { margin-top:14px; }
.public-shell .cp-pricing-ledger--managed { margin-top:0; }
.public-shell .cp-pricing-availability { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,8vw,130px); }
.public-shell .cp-pricing-availability-list { border-top:1px solid var(--pp-line); }
.public-shell .cp-pricing-availability-list > div { padding:24px 0; border-bottom:1px solid var(--pp-line); }
.public-shell .cp-pricing-availability-list strong { color:var(--pp-green); font-size:15px; }
.public-shell .cp-pricing-availability-list p { margin-top:8px; color:var(--pp-copy); font-size:15px; line-height:1.6; }
.public-shell .cp-pricing-faq { padding:85px 0 115px; background:var(--pp-paper); }
.public-shell .cp-pricing-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,8vw,130px); }
.public-shell .cp-pricing-faq details { padding:20px 0; border-bottom:1px solid var(--pp-line); }
.public-shell .cp-pricing-faq details:first-child { border-top:1px solid var(--pp-line); }
.public-shell .cp-pricing-faq summary { cursor:pointer; color:var(--pp-ink); font-size:16px; font-weight:700; line-height:1.4; }
.public-shell .cp-pricing-faq details p { margin-top:13px; color:var(--pp-copy); font-size:15px; line-height:1.65; }
.public-shell .cp-pricing-close { padding:clamp(90px,10vw,145px) 0; background:var(--pp-deep); color:#fff; }
.public-shell .cp-pricing-close .cp-pricing-kicker { color:#add8b7; }
.public-shell .cp-pricing-close h2 { max-width:18ch; color:#fff; }
.public-shell .cp-pricing-close p { margin:20px 0 28px; color:#d9e9dc; font-size:17px; line-height:1.6; }
.public-shell .cp-pricing-close .cp-pricing-button { border-color:#fff; background:#fff; color:var(--pp-deep); }
.public-shell .cp-pricing-close .cp-pricing-button:hover { border-color:#add8b7; background:#add8b7; }
@media (max-width:900px) {
  .public-shell .cp-pricing-hero-grid,.public-shell .cp-pricing-offer,.public-shell .cp-pricing-managed,.public-shell .cp-pricing-availability,.public-shell .cp-pricing-faq-grid { grid-template-columns:1fr; gap:46px; }
  .public-shell .cp-pricing-hero { padding-top:118px; }
  .public-shell .cp-pricing-hero h1 { max-width:14ch; }
  .public-shell .cp-pricing-preview { width:min(100%,700px); }
}
@media (max-width:600px) {
  .public-shell .cp-pricing-container { width:min(100% - 36px,1240px); }
  .public-shell .cp-pricing-hero { padding:103px 0 75px; }
  .public-shell .cp-pricing-hero h1 { font-size:clamp(42px,10.5vw,58px); }
  .public-shell .cp-pricing-hero-copy > p { font-size:16px; }
  .public-shell .cp-pricing-actions { align-items:stretch; flex-direction:column; gap:9px; }
  .public-shell .cp-pricing-actions .cp-pricing-button { width:100%; }
  .public-shell .cp-pricing-preview-body { padding:24px 20px; }
  .public-shell .cp-pricing-preview-top { padding:12px 17px; }
  .public-shell .cp-pricing-preview-heading h2 { font-size:30px; }
  .public-shell .cp-pricing-band { padding:76px 0; }
  .public-shell .cp-pricing-offer-panel { padding:25px 22px; }
  .public-shell .cp-pricing-faq { padding:76px 0; }
  .public-shell .cp-pricing-close { padding:88px 0; }
}
.public-shell .cp-pricing-hero-copy .cp-pricing-orientation { margin-top:20px; color:#246a4d; font-size:14px; line-height:1.55; font-weight:600; }
