/* Button grammar from Apple's design system (getdesign.md/apple): capsule pills, 17px/400 body type with
   -0.374px tracking, 11px x 22px padding, no shadow, no hover lift, press = scale(.95), 2px focus ring.
   Colors stay Pearl's: navy is the single action color, white is the canvas. Loaded last in every shell. */
:root{--ab-navy:#13243b;--ab-navy-press:#0f1d31;--ab-focus:#2f5f9e;--ab-type:'Pearl Inter',Manrope,Inter,-apple-system,BlinkMacSystemFont,'SF Pro Text',system-ui,sans-serif}
body .btn,body .pd-button,body .x-cta,body .appointment-choice{font-family:var(--ab-type);font-size:17px;line-height:1.47;font-weight:400;letter-spacing:-.374px;border-radius:9999px;box-shadow:none;transition:transform .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease;transform:none}
body .btn,body .pd-button,body .x-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:auto;min-height:0;padding:11px 22px;border:1px solid transparent;white-space:nowrap;text-decoration:none}
body .btn:hover,body .pd-button:hover,body .x-cta:hover{transform:none;box-shadow:none}
body .btn:active,body .pd-button:active,body .x-cta:active,body .chip:active,body .pd-chip:active,body .lib-related__chip:active,body .appointment-choice:active{transform:scale(.95)}
body .btn:focus-visible,body .pd-button:focus-visible,body .x-cta:focus-visible,body .chip:focus-visible,body .pd-chip:focus-visible,body .lib-related__chip:focus-visible{outline:2px solid var(--ab-focus);outline-offset:3px}
/* primary: navy capsule */
body .btn--primary,body .btn--ink,body .pd-button,body .btn--teal{background:var(--ab-navy);color:#fff;border-color:var(--ab-navy)}
body .btn--primary:hover,body .btn--ink:hover,body .pd-button:hover,body .btn--teal:hover{background:var(--ab-navy-press);color:#fff;border-color:var(--ab-navy-press)}
/* secondary: ghost capsule */
body .btn--ghost{background:transparent;color:var(--ab-navy);border-color:var(--ab-navy)}
body .btn--ghost:hover{background:rgba(19,36,59,.06);color:var(--ab-navy);border-color:var(--ab-navy)}
body .btn--ghost-light{background:transparent;color:#fff;border-color:#fff}
body .btn--ghost-light:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
/* sizes */
body .btn--lg,body .pearl-film__actions .btn{padding:14px 28px!important;font-size:18px;line-height:1.2;font-weight:400}
body .btn--sm{padding:8px 15px;font-size:14px;letter-spacing:-.224px}
/* on navy surfaces the primary inverts to a white capsule */
body .consult-cta .btn--primary,body .pd-navy .pd-button,body .pearl-film__actions .btn,body .section--dark .btn--primary,body .pd-quick .pd-button,body .teamrail .btn--primary,body .x-care .x-cta{background:#fff!important;color:var(--ab-navy)!important;border-color:#fff!important}
body .consult-cta .btn--primary:hover,body .pd-navy .pd-button:hover,body .pearl-film__actions .btn:hover,body .pd-quick .pd-button:hover,body .x-care .x-cta:hover{background:#f5f5f7!important;color:var(--ab-navy)!important}
body .x-cta{justify-content:center;gap:14px;min-height:0;padding:11px 22px}
/* filter chips: hairline ghost pills, active = navy */
/* The capsule belongs to buttons only. Filter chips get a tinted fill and a small radius so they
   read as controls, and related-service tags drop the border and sit on a rule so they read as links. */
body .chip{height:auto;min-height:44px;padding:10px 18px;font-size:14px;letter-spacing:-.224px;background:rgba(19,36,59,.05);border:1px solid rgba(19,36,59,.16);border-radius:6px;color:var(--ab-navy);font-family:var(--ab-type);line-height:1.4;display:inline-flex;align-items:center;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
body .chip:hover{background:rgba(19,36,59,.09);border-color:rgba(19,36,59,.3);color:var(--ab-navy)}
body .chip[data-active="true"],body .chip[data-active="true"]:hover{background:var(--ab-navy);border-color:var(--ab-navy);color:#fff}
body .pd-chip,body .lib-related__chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 0;margin-right:26px;font-family:var(--ab-type);font-size:15px;letter-spacing:-.224px;line-height:1.5;border:0;border-bottom:1px solid rgba(19,36,59,.28);border-radius:0;color:var(--ab-navy);background:transparent;text-decoration:none;transition:border-color .16s ease}
body .pd-chip:hover,body .lib-related__chip:hover{background:transparent;color:var(--ab-navy);border-bottom-color:var(--ab-navy)}
body .pd-chip:active,body .lib-related__chip:active,body .chip:active{transform:none}
/* the services filter: no card, just the pills */
body .finder{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
body .finder__chips{margin-bottom:0;gap:10px}
/* header CTA on the navy bar stays an outline capsule */
body .site-header .nav__cta-desktop{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important;padding:8px 18px;font-size:14px;letter-spacing:-.224px;min-height:0}
body .site-header .nav__cta-desktop:hover{background:rgba(255,255,255,.1)!important}
/* appointment drawer cards keep their card shape */
body .appointment-choice{border-radius:14px;font-size:inherit;letter-spacing:0;line-height:inherit}
@media(max-width:600px){body .btn,body .pd-button,body .x-cta{font-size:16px;padding:11px 20px}body .btn--lg,body .pearl-film__actions .btn{padding:13px 24px!important;font-size:16px}body .btn--sm{padding:8px 14px;font-size:14px}}
/* bespoke homepage CTAs and the mobile header fix */
body .care-welcome__book,body .pearl-visit__book{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--ab-type);font-size:17px;line-height:1.47;font-weight:400;letter-spacing:-.374px;padding:11px 22px;min-height:0;max-width:none;width:auto;border-radius:9999px;background:var(--ab-navy);color:#fff;border:1px solid var(--ab-navy);box-shadow:none;transition:transform .16s ease,background-color .16s ease}
body .care-welcome__book:hover,body .pearl-visit__book:hover{background:var(--ab-navy-press)}
body .care-welcome__book:active,body .pearl-visit__book:active{transform:scale(.95)}
body .pearl-visit__book{align-self:flex-start;margin-top:28px}
body .nav__book-mobile{border-radius:9999px}
@media(max-width:800px){body .site-header .nav__cta-desktop{display:none!important}}
@media(max-width:600px){body .care-welcome__book,body .pearl-visit__book{font-size:16px;padding:11px 20px}}
body .pd-map__cta{border-radius:9999px;font-family:var(--ab-type);font-size:14px;font-weight:400;letter-spacing:-.224px;padding:10px 18px;min-height:48px;gap:14px;border:1px solid #d2d2d7;box-shadow:none}body .pd-map__cta:active{transform:scale(.95)}
/* one navy footer sitewide: column heads read the same on every page */
body .site-footer .footer-col__title{color:rgba(255,255,255,.58)}
