/* Conversion hierarchy, scoped to the personal site. */
a.cro-book.btn,.al-contact-bridge a.cro-book,.cro-booking-panel a.cro-book{background:#0862ff;color:#fff;border:1px solid #0862ff;box-shadow:none;font-weight:700;text-decoration:none;line-height:1.5;padding:14px 21px;border-radius:8px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center}
a.cro-book.btn:hover,.al-contact-bridge a.cro-book:hover{background:#004bd5;border-color:#004bd5}
a.cro-book:focus-visible,.cro-message:focus-visible{outline:3px solid #0862ff;outline-offset:4px}
.cro-message{display:inline-block;margin:0 0 0 20px;color:#36567e;font-size:12px;font-weight:500;line-height:1.7;text-underline-offset:4px}
.actions .cro-message{margin:0;align-self:center}.cro-agenda-note{font-size:11px;line-height:1.8;color:#586c86;margin:14px 0 0}
.cro-hero-proof{font-size:13px;line-height:1.9;color:#35557f;margin:22px 0 0}.cro-hero-proof strong{color:#133e85;font-weight:700}
.premium-hero .actions{margin-top:22px}.site-header .nav>.cro-book{font-size:11px;padding:11px 15px;min-height:44px}
.site-header .nav{gap:19px}.al-contact-bridge .cro-message{color:#36567e}.premium-final>.container>.cro-message{color:#d2dff5}
.cro-proof-quote{max-width:800px;margin:25px auto;padding:2px 0 2px 18px;border-left:2px solid #7ca5f0;text-align:left;background:transparent}
.cro-proof-quote blockquote{font-size:13px;line-height:1.85;margin:0 0 10px;color:#365477;font-style:normal}
.cro-proof-quote .quote-author{font-size:11px;padding:0}.cro-proof-quote .quote-author strong{display:block;color:#173866}.cro-proof-quote .quote-author small{display:block;font-size:10px;color:#61718b;margin-top:3px}
.cro-proof-actions{justify-content:center;margin-top:28px}
.cro-booking-hero{padding:65px 0 80px;background:#f5f8ff;border-bottom:1px solid #dae4f4}
.cro-booking-hero>.container{max-width:1000px}.cro-booking-hero .eyebrow{color:#255ac0}
.cro-booking-hero h1{font:800 clamp(32px,4vw,48px)/1.18 Manrope,Arial,sans-serif;color:#10244d;letter-spacing:-1.3px;max-width:850px;margin:0 0 22px}
.cro-booking-hero .lead{font-size:18px;line-height:1.8;color:#4a607e;max-width:780px;margin:0}
.cro-booking-panel{padding:28px 0 15px}.cro-booking-panel .cro-agenda-note{max-width:720px}.cro-booking-hero .cro-proof-quote{margin:24px 0 0}
@media(max-width:1100px){.site-header .nav{gap:12px}.site-header .nav>.cro-book{font-size:10px;padding-inline:11px}}
@media(max-width:700px){.cro-hero-proof{font-size:12px;margin-top:20px}.premium-hero .actions{align-items:stretch;flex-direction:column;gap:14px}.premium-hero .actions .cro-message{align-self:flex-start}.cro-agenda-note{font-size:10px}.al-contact-bridge a.cro-book{width:100%;margin-top:22px;padding-inline:12px}.al-contact-bridge .cro-message{display:block;margin:14px 0 0;text-align:center}.cro-proof-quote{padding-left:13px;margin:22px 0}.cro-proof-quote blockquote{font-size:12px}.cro-proof-actions{flex-direction:column;align-items:stretch}.cro-proof-actions .cro-message{align-self:center}.premium-final>.container>.cro-message{display:block;margin:16px 0 0}.cro-booking-hero{padding:42px 0 55px}.cro-booking-hero .lead{font-size:16px}.cro-booking-panel>.cro-book{width:100%}.cro-booking-panel>.cro-message{display:block;margin:18px 0 0}.site-header .nav>.cro-book{font-size:12px}}
@media(prefers-reduced-motion:reduce){a.cro-book,.cro-message{transition:none!important}}
@media(max-width:900px){.site-header .nav:not(.open)>.cro-book{display:none}.site-header .nav.open>.cro-book{display:inline-flex;justify-self:stretch;max-width:100%;white-space:normal;box-sizing:border-box}.site-header .nav>.cro-book{min-width:0}}
.premium-hero .cro-hero-proof{color:#bccce2}.premium-hero .cro-hero-proof strong{color:#8db5ff}.premium-hero .cro-message{color:#d5e1f5}.premium-hero .cro-agenda-note{color:#adbed7}.premium-hero .eyebrow{color:#8db5ff}
.footer .cro-booking-info{display:block;margin-top:14px;font-size:11px;font-weight:400;color:#b6c7de;text-decoration:underline;text-underline-offset:3px}

/* Shared blue identity; legacy token names remain aliases for existing components. */
:root{--brand:#0862ff;--brand-ink:#0757c5;--brand-soft:#e4edff;--brand-light:#8db5ff;--green:var(--brand);--green-dark:var(--brand-ink)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 24px #0862ff18}
.btn-primary:hover{background:#004bd5;color:#fff}
.btn-secondary,.premium-offer .offer-bottom .btn-secondary{background:var(--brand-soft);border:1px solid #86a8e4;color:#143e79;box-shadow:0 2px 7px #10244d05}
.btn-secondary:hover,.premium-offer .offer-bottom .btn-secondary:hover{background:#dce8ff;border-color:#729eea;color:#083d96}
.premium-offer .offer-bottom .btn-secondary{min-height:50px;font-size:13px;font-weight:700}
:is(.hero,.subhero,.final,.site-header,.footer) .eyebrow{color:var(--brand-light)}
.premium-offer:hover{border-color:#93b5ec}
/* Official public appointment page, separate from the optional message form. */
#reservation,#message{scroll-margin-top:100px}
.premium-contact .google-booking-section{padding:46px 0 56px;background:#f5f8ff;border-bottom:1px solid #dce5f2}
.google-booking-heading{margin-bottom:24px;max-width:850px}
.google-booking-heading h2{font:800 clamp(25px,3vw,34px)/1.3 Manrope,Arial,sans-serif;color:#10244d;letter-spacing:-.7px;margin:0 0 12px}
.google-booking-heading p{font-size:14px;line-height:1.85;color:#526782;margin:0}
.google-booking-frame{min-width:0;overflow:hidden;border:1px solid #d6e1f2;border-radius:14px;background:#fff}
.google-booking-frame iframe{display:block;width:100%;height:800px;min-width:0;border:0;background:#fff}
.google-booking-fallback{font-size:12px;line-height:1.8;color:#4e6380;margin:17px 0 0}
.google-booking-fallback a,.google-booking-message{color:#0757c5;font-size:12px;text-underline-offset:4px}
.google-booking-privacy{font-size:11px;line-height:1.8;color:#64748c;margin:9px 0 15px;max-width:880px}
.google-booking-fallback a:focus-visible,.google-booking-message:focus-visible{outline:3px solid #0862ff;outline-offset:4px}
@media(max-width:700px){.premium-contact .google-booking-section{padding:32px 0 40px}.google-booking-heading{margin-bottom:20px}.google-booking-heading h2{font-size:25px}.google-booking-heading p{font-size:13px}.google-booking-frame{border-radius:10px}.google-booking-frame iframe{height:1000px}.google-booking-fallback{font-size:11px}.google-booking-privacy{font-size:10px}}
.google-booking-fallback{margin:0 0 15px}
/* Leave enough height for Google's stacked mobile calendar and time slots. */
.google-booking-frame iframe{height:900px}
@media(max-width:700px){.google-booking-frame iframe{height:1500px}}
