/* Public service pages use the accepted hub's semantic tokens. */
.public-intro{padding-block:var(--space-16) var(--space-8)}
.public-intro h1{font-size:var(--display-lg);max-width:20ch;margin-block:var(--space-4) var(--space-6)}
.public-intro .lead{max-width:53ch;font-size:19px;line-height:1.65}
.public-tabs{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:32px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.public-tabs a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:6px}
.public-fine{font-size:14px;line-height:1.7;color:var(--ink-soft);margin-block:18px;max-width:86ch}
.public-review-note{font-size:14px;line-height:1.6;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink-soft);margin-block:16px}
.public-review-note a{text-decoration:underline;color:var(--ink)}
.credit-section{padding-block:var(--space-8)}
.credit-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:24px}
.credit-section h2,.public-next h2,.contact-routes h2,.directory-future h2,.public-waitlist h2{font-size:clamp(27px,3vw,39px);line-height:1.17;letter-spacing:-.035em;font-weight:550}
.credit-section-head p{font-size:15px;max-width:38ch;color:var(--ink-soft);line-height:1.6}
.credit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.stone{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);display:flex;flex-direction:column;align-items:start;min-width:0}
.stone h3{font-size:43px;letter-spacing:-.04em;line-height:1.1;font-weight:550}
.stone h3 span{font-size:16px;letter-spacing:0;font-weight:450}
.credit-frequency{color:var(--ink-soft);font-size:14px;margin-block:14px 32px}
.credit-price{font-size:29px;letter-spacing:-.025em;font-weight:550;margin-bottom:24px}
.credit-price span{font-size:14px;font-weight:400;letter-spacing:0}
.stone .button{width:100%}.pickmo{color:var(--ink-soft);font:inherit;font-size:14px;background:transparent;border:0;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.public-next{display:flex;align-items:center;flex-wrap:wrap;gap:24px 32px;border-top:1px solid var(--line);padding-block:48px;margin-top:24px}
.public-next>div,.public-next>h2{margin-right:auto;max-width:35ch}.public-next p{margin-top:16px;max-width:58ch;color:var(--ink-soft);line-height:1.65}
.contact-address{font-size:clamp(23px,3vw,34px);display:inline-flex;align-items:center;min-height:60px;text-decoration:underline;text-underline-offset:8px;overflow-wrap:anywhere;margin-block:24px 0}
.contact-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:32px 64px}
.contact-routes article{padding-top:24px;border-top:1px solid var(--line)}
.contact-routes h2{font-size:30px;max-width:18ch}
.contact-routes p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--ink-soft);margin-block:18px 24px}
.directory-future{display:grid;grid-template-columns:1fr 1fr;gap:56px;border-top:1px solid var(--line);padding-block:48px}
.directory-future h2{max-width:23ch}.directory-future p:not(.eyebrow){color:var(--ink-soft);font-size:16px;line-height:1.7;max-width:52ch;margin-block:20px}
.public-waitlist{padding-block:48px 64px;border-top:1px solid var(--field-rule,var(--line));display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.public-waitlist p:not(.eyebrow){color:var(--ink-soft);line-height:1.65;margin-top:18px}
.waitlist-form label{display:block;font-size:14px;font-weight:550;margin-bottom:12px}
.waitlist-form form>div{display:flex;gap:12px;flex-wrap:wrap}
.waitlist-form input{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-sm);color:var(--ink);font:inherit;padding:14px;min-width:0;flex:1;width:100%;min-height:50px}
.waitlist-form input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.waitlist-form>.text-link{display:inline-flex;margin:12px;min-height:44px;align-items:center}
.rung>.button{margin-top:22px}.public-addon{border-top:1px solid var(--line);display:flex;align-items:center;gap:32px;justify-content:space-between;margin-top:32px;padding-block:28px}
.public-addon>div{max-width:60ch}.public-addon h3{font-size:24px;margin-bottom:12px}.public-addon p{font-size:15px;line-height:1.65;color:var(--ink-soft)}
.pay-msg,.wl-msg,.wl-done{font-size:15px;line-height:1.65;color:var(--ink);margin-top:18px}
.busy{opacity:.65;pointer-events:none}
.mp-back{display:none;position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--ink) 45%,transparent);padding:24px;align-items:center;justify-content:center}
.mp-back.open{display:flex}
.mp{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:32px;width:min(620px,100%);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:var(--shadow-sm)}
.mp h3{font-size:30px;letter-spacing:-.035em;line-height:1.2}.mp p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin-block:18px}
.mp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-block:24px}
.mp-chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--radius-sm);font:inherit;font-size:14px;min-height:48px;padding:10px;cursor:pointer}
.mp-chip.on{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.mp-chip:focus-visible,.mp button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.mp-total{font-size:23px;font-weight:550}.mp-acts{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}
.mp .btn{font:inherit;border:1px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);padding:12px 20px;min-height:48px;cursor:pointer}
.mp .btn.line{background:transparent;color:var(--ink);border-color:var(--line)}.mp .btn:disabled{opacity:.4;cursor:not-allowed}
.mp .mp-err{color:var(--red)}
@media(max-width:760px){.public-intro{padding-top:40px}.public-intro h1{font-size:42px}.public-intro .lead{font-size:17px}.credit-section-head{display:block}.credit-section-head p{margin-top:16px}.credit-grid,.contact-routes,.directory-future,.public-waitlist{grid-template-columns:1fr;gap:24px}.stone{padding:24px}.public-next{padding-block:32px}.public-addon{align-items:start;flex-direction:column}.public-waitlist{padding-block:32px;gap:24px}.mp-back{padding:16px}.mp{padding:24px;max-height:calc(100dvh - 32px)}.mp h3{font-size:25px}.mp-grid{gap:8px}.mp-chip{font-size:13px}.contact-routes{padding-bottom:40px}.directory-future>div+div{border-top:1px solid var(--line);padding-top:28px}}

.legacy-anchor{display:block;scroll-margin-top:calc(var(--hub-header-height,88px) + 28px)}
