/* ════════════════════════════════════════════════════════════════════════
   PMHS design layer, Apple-inspired (Oct 2026)
   Loaded after site.css. Keeps the PMHS navy palette and every layout, and
   changes the look: system typography (SF Pro on Apple devices), bold tight
   headlines, sentence-case labels, pill buttons, larger radii, hairline
   borders, soft shadows, and a frosted navigation bar.
   To roll back the whole redesign, remove the apple.css <link> in index.php.
   ════════════════════════════════════════════════════════════════════════ */

:root {
  --a-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", Roboto, Arial, sans-serif;
  --a-radius-lg: 22px;
  --a-radius-md: 18px;
  --a-radius-sm: 12px;
  --a-hairline: rgba(28,61,90,0.12);
  --a-hairline-dark: rgba(255,255,255,0.12);
  --a-shadow: 0 2px 6px rgba(10,22,40,0.04), 0 12px 32px rgba(10,22,40,0.08);
  --a-shadow-hover: 0 4px 10px rgba(10,22,40,0.06), 0 20px 44px rgba(10,22,40,0.12);
  --a-text: #1d1d1f;
  --a-text-2: #424245;
  --a-text-3: #6e6e73;
  --a-page: #f5f7fa;
}

/* ── 1. Typography ────────────────────────────────────────────────────── */
html body, html body *:not(svg):not(svg *) {
  font-family: var(--a-font) !important;
}
html body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
  text-rendering: optimizeLegibility;
}

/* Everything that used the serif display face becomes a bold, tight
   SF headline. Inline serif styles are covered by the attribute selector. */
html body [style*="Cormorant"],
.hero-title, h1.page-title, h2.page-title, .page-title, .section-title, .pu9,
.service-name, .info-card-title, .blog-title, .related-article-title,
.cov-section-title, .h4-label, .banner-title, .form-title, .how-it-works-title,
.issues-title, .modality-name, .privacy-card-title, .provider-name,
.referral-card-header h3, .for-you-card h3, .pi-landing-card .pi-lc-title,
.lp-contact-num, .info-card-body p.lp-contact-num, .stat-num, .tt-result-score,
.tt-game-stat-val, .mnav-primary, .footer-col-brand .footer-brand, .logo-text .brand {
  font-weight: 600 !important;
  letter-spacing: -0.022em !important;
  font-style: normal !important;
}
.hero-title { line-height: 1.08 !important; letter-spacing: -0.03em !important; }
/* Display headlines render at the same visual size as the old serif face.
   font-size-adjust matches the capital height of Cormorant Garamond (0.63),
   so every headline keeps its original font-size value and its original
   visual height. Browsers without support fall back to the plain size. */
.hero-title, .page-title, h1.page-title, h2.page-title, .section-title, .pu9,
.cov-section-title, .how-it-works-title, .issues-title, .banner-title, .form-title {
  font-size-adjust: cap-height 0.63;
}
.page-title, h1.page-title, h2.page-title { letter-spacing: -0.03em !important; line-height: 1.07 !important; }

/* Italic accents inside headlines become upright, keeping their accent color.
   The homepage hero subline is upright and white. */
.page-title em, .section-title em, .pu9 em, .pu5, .cov-section-title em,
h1 em, h2 em, h3 em, html body [style*="Cormorant"] em {
  font-style: normal !important;
  font-weight: inherit !important;
}
.hero-title em { font-style: normal !important; font-weight: 400 !important; letter-spacing: -0.015em !important; color: #ffffff !important; }

/* Small counters and quotes that were decorative serif numerals */
.service-num { font-weight: 300 !important; letter-spacing: -0.03em !important; opacity: 0.55; }
.article-card::after { display: none !important; }
.logo-text .brand { letter-spacing: -0.015em !important; }
.provider-avatar, .article-author-avatar { font-weight: 600 !important; letter-spacing: 0 !important; }

/* Apple uses almost no all-caps or wide tracking. Every element inherits the
   page tracking and keeps its written case. Class rules elsewhere in this
   file (headlines) still win because they are more specific. */
html body *:not(svg):not(svg *) {
  text-transform: none !important;
  letter-spacing: inherit !important;
}

/* Sentence-case labels instead of spaced capitals */
html body [style*="text-transform:uppercase"],
html body [style*="text-transform: uppercase"],
.page-eyebrow, .info-card-label, .section-label, .pu8, .pu13, .pu14, .blog-tag, .blog-byline,
.related-article-tag, .related-articles-title, .article-takeaways-title, .article-author-name,
.footer-col-heading, .issues-label, .lp-contact-name, .lp-town-county, .cov-section-eyebrow,
.article-start-cta-label, .php-guide-links-label, .nav-links a, .nav-cta, .nav-portal,
.btn-primary, .blog-expand-btn, .article-start-cta-btn, .pi-back {
  text-transform: none !important;
  letter-spacing: -0.005em !important;
}
.page-eyebrow, .info-card-label, .section-label, .pu8, .related-article-tag, .blog-tag,
.cov-section-eyebrow, .article-start-cta-label, .php-guide-links-label, .lp-contact-name,
.lp-town-county, .footer-col-heading, .article-takeaways-title, .related-articles-title, .issues-label {
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
}
html body [style*="text-transform:uppercase"][style*="font-size:0.5"],
html body [style*="text-transform:uppercase"][style*="font-size:0.6"],
html body [style*="text-transform: uppercase"][style*="font-size: 0.5"],
html body [style*="text-transform: uppercase"][style*="font-size: 0.6"] {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}
.pu13 { font-size: 0.78rem !important; font-weight: 400 !important; }
.page-eyebrow::before { display: none !important; }

/* Body copy: comfortable 17px reading text, left aligned */
.article-p {
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: var(--a-text-2) !important;
  text-align: left !important;
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  letter-spacing: -0.012em !important;
}
.article-p:first-of-type::first-letter {
  float: none !important; font-size: inherit !important; font-weight: inherit !important;
  color: inherit !important; padding: 0 !important; line-height: inherit !important;
}
.article-pullquote {
  font-size: 1.5rem !important; font-weight: 600 !important; font-style: normal !important;
  letter-spacing: -0.022em !important; line-height: 1.3 !important; color: var(--deep) !important;
  border-left-width: 3px !important;
}
.article-audience-line, .article-closing-note { font-style: normal !important; font-weight: 500 !important; font-size: 1rem !important; }
.service-desc, .blog-p, .info-card p, .lp-faq-a, .pc-service-text { letter-spacing: -0.008em; }
.page-subtitle { font-size: 1.0625rem !important; line-height: 1.5 !important; font-weight: 400 !important; letter-spacing: -0.012em !important; }

/* Hero stat tiles, labels, and small flip buttons */
.stat-label, .how-it-works-label, .modality-tag, .tt-game-badge, .cf-mode-badge, .h4-label {
  font-weight: 600 !important;
}
.stat-label { font-size: 0.75rem !important; }
.trust-item span { font-size: 0.8125rem !important; font-weight: 500 !important; }
.scroll-hint span { font-size: 0.75rem !important; }

/* ── 2. Navigation: frosted glass bar ─────────────────────────────────── */
nav#main-nav, nav {
  background: rgba(10,22,40,0.72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
nav.scrolled { background: rgba(8,17,31,0.82) !important; }
.nav-links a { font-size: 0.84rem !important; font-weight: 400 !important; color: rgba(245,247,250,0.82) !important; }
.nav-links a:hover, .nav-links a.active { color: #ffffff !important; }
html body nav .nav-cta, html body nav a.nav-cta.btn-pulse {
  border-radius: 980px !important; padding: 0.56rem 1.3rem !important;
  font-weight: 500 !important; font-size: 0.9rem !important; line-height: 1.3 !important;
}
.nav-portal { border-radius: 980px !important; }
.nav-dropdown-menu { border-radius: var(--a-radius-sm) !important; overflow: hidden; }

/* ── 3. Buttons: pills ────────────────────────────────────────────────── */
.btn-primary, .btn-secondary, .nav-cta, .pmhs-btn-outline, .pmhs-btn-solid,
.article-start-cta-btn, .cq2-cta, .cq2-btn, .cq2-reset, .blog-expand-btn, .pi-back,
.article-toolbar-btn, .article-tag-pill, .pu18, .tt-mode-btn,
html body button[style*="border-radius:2px"], html body button[style*="border-radius:4px"],
html body button[style*="border-radius:6px"], html body button[style*="border-radius:8px"],
html body a[style*="border-radius:2px"], html body a[style*="border-radius:4px"],
html body a[style*="border-radius:6px"], html body a[style*="border-radius:8px"] {
  border-radius: 980px !important;
}
.btn-primary, .pmhs-btn-solid, .article-start-cta-btn, .cq2-cta,
html body button.btn-pulse, html body a.btn-pulse {
  font-weight: 500 !important;
  font-size: 1rem !important;
  letter-spacing: -0.01em !important;
  padding: 0.75rem 1.5rem !important;
}
.pmhs-btn-outline, .pmhs-btn-solid { font-size: 0.875rem !important; padding: 0.6rem 1.15rem !important; }
.btn-primary:hover, .pmhs-btn-solid:hover { transform: none !important; filter: brightness(0.93); }
/* Pulse rings stay on. They follow the pill shape automatically. */
.btn-pulse-light { border-radius: 980px !important; }

/* Buttons whose inline style is rewritten on hover. Browsers re-save the
   style attribute with a space ("border-radius: 8px"), so these get a
   class-based or spacing-proof rule and never fall back to square corners. */
.hero-actions > button, .hero-actions > a, .php-cta-btn, .verify-coverage-btn,
#connect-submit-btn, .btn-pulse-dark,
html body button[style*="border-radius: 2px"], html body button[style*="border-radius: 4px"],
html body button[style*="border-radius: 6px"], html body button[style*="border-radius: 8px"],
html body button[style*="border-radius:10px"], html body button[style*="border-radius: 10px"],
html body a[style*="border-radius: 2px"], html body a[style*="border-radius: 4px"],
html body a[style*="border-radius: 6px"], html body a[style*="border-radius: 8px"],
html body a[style*="border-radius:9px"], html body a[style*="border-radius: 9px"],
html body a[style*="border-radius:10px"][style*="inline-flex"], html body a[style*="border-radius: 10px"][style*="inline-flex"] {
  border-radius: 980px !important;
}

/* Flip buttons (Call Now, Call / Text, Email): container and both faces are pills */
.call-flip, .call-flip-inner, .call-flip-front, .call-flip-back,
.mobile-call-flip, .mobile-call-flip-inner, .mobile-call-flip-front, .mobile-call-flip-back,
.tc-flip, .tc-flip-inner, .tc-flip-front, .tc-flip-back,
.tc-email-flip, .tc-email-flip-inner, .tc-email-flip-front, .tc-email-flip-back {
  border-radius: 980px !important;
}

/* Mobile menu: Get Started and Call Now share one pill style and height */
#mobile-nav a[href="/connect"][style*="animation"] {
  display: flex !important; align-items: center; justify-content: center;
  height: 44px; padding: 0 1rem !important; box-sizing: border-box;
  font-size: 0.9375rem !important; font-weight: 500 !important;
}
#mobile-nav .mobile-call-flip { height: 44px !important; }
#mobile-nav .mobile-call-flip-front, #mobile-nav .mobile-call-flip-back {
  font-size: 0.9375rem !important; font-weight: 500 !important;
}

/* ── 4. Cards: larger radius, hairline border, soft shadow ───────────── */
.service-card, .info-card, .article-card, .blog-card, .provider-card, .related-article-card,
.modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card,
.lp-card, .connect-card, .pu17, .article-takeaways, .article-start-cta,
html body div[style*="border-radius:14px"], html body div[style*="border-radius:16px"],
html body div[style*="border-radius:12px"], html body a[style*="border-radius:12px"],
html body div[style*="border-radius: 14px"], html body div[style*="border-radius: 16px"],
html body div[style*="border-radius: 12px"], html body a[style*="border-radius: 12px"] {
  border-radius: var(--a-radius-lg) !important;
}
.service-card, .info-card, .article-card, .blog-card, .provider-card, .related-article-card,
.modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card {
  border: 1px solid var(--a-hairline) !important;
  box-shadow: var(--a-shadow) !important;
}
.service-card:hover, .info-card:hover, .blog-card:hover, .related-article-card:hover,
.provider-card:hover, .modality-card:hover {
  box-shadow: var(--a-shadow-hover) !important;
  transform: translateY(-2px) !important;
}
/* Card headers follow the card's rounded top corners */
.service-card-header, .info-card-header, .blog-card-header, .for-you-card-header,
.privacy-card-header, .modality-card-header, .pi-landing-card-header, .referral-card-header {
  border-radius: calc(var(--a-radius-lg) - 1px) calc(var(--a-radius-lg) - 1px) 0 0 !important;
}

/* Homepage hero pills: a light outline so they stand off the navy */
#hero-pills > div {
  border: 1px solid rgba(142,202,230,0.55) !important;
  background: rgba(142,202,230,0.10) !important;
}
.article-card { box-shadow: var(--a-shadow) !important; margin-right: 0 !important; }
.article-card::before { width: 0 !important; }
.related-article-card, .lp-faq, .pc-service, .lp-contact, .lp-town, .cov-tip, .lp-note {
  border-radius: var(--a-radius-md) !important;
}
.related-article-title { font-size: 1.0625rem !important; line-height: 1.3 !important; }
.blog-title { font-size: 1.15rem !important; line-height: 1.28 !important; }
.service-name, .info-card-title { line-height: 1.25 !important; }


/* ── 5. Page heroes ───────────────────────────────────────────────────── */
.page-hero-inner { max-width: 720px !important; }
.page-subtitle { max-width: 560px !important; }

/* ── 6. Forms ─────────────────────────────────────────────────────────── */
html body input[type="text"], html body input[type="email"], html body input[type="tel"],
html body input[type="search"], html body select, html body textarea {
  border-radius: var(--a-radius-sm) !important;
  font-size: 1rem !important;
}

/* ── 7. Footer ────────────────────────────────────────────────────────── */
.footer-col-links a, .footer-bottom-links a { font-size: 0.8125rem !important; letter-spacing: -0.005em !important; }
.footer-col-heading { color: rgba(245,247,250,0.9) !important; }
.footer-copy { font-size: 0.75rem !important; }

/* ── 8. Breadcrumbs and small UI ─────────────────────────────────────── */
.pmhs-breadcrumb { font-size: 0.8125rem !important; }
.pi-back { font-size: 0.875rem !important; font-weight: 500 !important; }
.article-tag-pill { font-size: 0.75rem !important; font-weight: 600 !important; }

/* ── 9. Focus ring: Apple-style blue outline for keyboard users ─────── */
html body a:focus-visible, html body button:focus-visible, html body input:focus-visible,
html body select:focus-visible, html body textarea:focus-visible {
  outline: 3px solid rgba(58,150,200,0.55) !important;
  outline-offset: 2px !important;
}

@media (max-width: 767px) {
  .article-p { font-size: 1.0625rem !important; }
  .article-pullquote { font-size: 1.3rem !important; }
}

/* Accessibility panel dictionary search: one joined pill (field + button)
   that always fits inside the panel. 16px text stops iPhone auto-zoom. */
html body #a11y-dict-input {
  min-width: 0 !important;
  width: 100% !important;
  border-radius: 980px 0 0 980px !important;
  font-size: 16px !important;
  padding: 0.5rem 0.9rem !important;
  border: 1px solid rgba(142,202,230,0.4) !important;
  border-right: none !important;
}
html body #a11y-dict-input + button {
  flex-shrink: 0;
  border-radius: 0 980px 980px 0 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  padding: 0 1rem !important;
}
html body #a11y-dict-input::placeholder { color: rgba(216,238,246,0.55); }

/* Homepage "Accepting New Patients" status: a pill matching the hero pills,
   white text and a white pulsing dot instead of green. */
html body .hero-status {
  color: #ffffff !important;
  background: rgba(142,202,230,0.10);
  border: 1px solid rgba(142,202,230,0.55);
  border-radius: 980px;
  padding: 0.38rem 0.9rem 0.38rem 0.75rem;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  gap: 0.5rem !important;
  margin-bottom: 1rem !important;
  width: max-content !important;
  max-width: 100%;
  align-self: flex-start !important;
}
html body .hero-status-dot {
  background: #ffffff !important;
  animation: hero-dot-pulse 2s ease-out infinite !important;
}
@keyframes hero-dot-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,255,255,0.75); }
  70%  { box-shadow: 0 0 0 7px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

/* Boxes inside cards share the card corner radius (22px), the same as the
   quote box on the Welcome & What to Expect card. Small icon tiles, form
   fields, chips and buttons keep their own shapes. */
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius:8px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius: 8px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius:10px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius: 10px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius:12px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius: 12px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius:14px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius: 14px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius:16px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius: 16px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius:18px"]:not([style*="height:"]),
:is(.service-card, .info-card, .blog-card, .provider-card, .related-article-card, .modality-card, .privacy-card, .for-you-card, .referral-card, .tele-feature, .pi-landing-card, .lp-card, .connect-card, .pu17, .article-start-cta, #connect-card-grid) :is(div,a)[style*="border-radius: 18px"]:not([style*="height:"]),
.pc-service, .lp-town, .lp-faq, .lp-contact, .lp-note, .cov-tip, .cf-mode,
.contact-duo-grid, .article-takeaways {
  border-radius: var(--a-radius-lg) !important;
}
.cf-mode .cf-mode-btn { border-radius: calc(var(--a-radius-lg) - 5px) !important; }

/* Search fields (desktop search panel, phone search screen, mobile menu).
   The field sits inside its own bar, so the input itself has no box, no
   corner shape and no focus ring. The bar around it shows the shape. */
html body #search-input, html body #mobile-search-input, html body #mobile-nav-inline-search {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0.3rem 0 !important;
  min-width: 0 !important;
  font-weight: 400 !important;
  -webkit-appearance: none;
  appearance: none;
}
html body #search-input { font-size: 1.25rem !important; }
html body #mobile-search-input, html body #mobile-nav-inline-search { font-size: 16px !important; }
html body #search-input::placeholder, html body #mobile-search-input::placeholder,
html body #mobile-nav-inline-search::placeholder { color: rgba(216,238,246,0.5); }

/* Desktop panel: the bar glows softly while you type */

/* Phone search screen and mobile menu search: pill-shaped bars */
#mobile-search-input { flex: 1; }
#mobile-nav > div > div[style*="background:rgba(58,150,200,0.08)"] {
  border-radius: 980px !important;
  padding: 0.6rem 0.75rem 0.6rem 1.1rem !important;
}
#mobile-nav > div > div[style*="background:rgba(58,150,200,0.08)"]:focus-within {
  border-color: rgba(142,202,230,0.8) !important;
}

/* ESC and Cancel: small pills */
.sq-unused-legacy {
  border-radius: 980px !important;
  padding: 0.2rem 0.65rem !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  color: rgba(216,238,246,0.75) !important;
}

/* ── Header links: gliding glass pill (replaces the underline bar) ──────
   A soft frosted pill sits behind the current page's link. When the
   cursor moves across the menu, the pill glides to the link under it
   and settles back on the current page when the cursor leaves, the way
   Apple's segmented controls move. The pill is drawn by site.js. If
   JavaScript is off, each link gets its own pill on hover instead. */
#nav-links { position: relative; }
.nav-links > li > a:not(.nav-cta):not(.nav-portal) {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.42rem 0.85rem !important;
  border-radius: 980px;
  transition: color 0.25s ease, background-color 0.25s ease;
}
.nav-links > li > a:not(.nav-cta):not(.nav-portal)::after { display: none !important; }
html body .nav-links li + li { margin-left: 0.2rem !important; }
html body .nav-links > li:has(> .nav-cta) { margin-left: 0.9rem !important; }
html body .nav-links > li:has(> .nav-cta) + li { margin-left: 0.6rem !important; }

/* Fallback when the gliding pill is not running */
.nav-links:not(.has-glide) > li > a:not(.nav-cta):not(.nav-portal):hover,
.nav-links:not(.has-glide) > li > a:not(.nav-cta):not(.nav-portal):focus-visible {
  background: rgba(255,255,255,0.12);
}
.nav-links:not(.has-glide) > li > a.active:not(.nav-cta) { background: rgba(255,255,255,0.08); }

.nav-glide {
  position: absolute !important;
  top: 0; left: 0;
  width: 0; height: 0;
  margin: 0 !important;
  list-style: none;
  z-index: 0;
  border-radius: 980px;
  background: rgba(255,255,255,0.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10), 0 1px 8px rgba(0,0,0,0.12);
  pointer-events: none;
  opacity: 0;
  transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1),
              width 0.42s cubic-bezier(0.32, 0.72, 0, 1),
              height 0.42s cubic-bezier(0.32, 0.72, 0, 1),
              opacity 0.25s ease, background-color 0.25s ease;
}
.nav-glide.is-on { opacity: 1; }
.nav-glide.is-resting { background: rgba(255,255,255,0.08); }
.nav-glide.no-anim { transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .nav-glide { transition: opacity 0.15s ease !important; }
}
html body #nav-links > li.nav-glide { margin: 0 !important; padding: 0 !important; }
/* Narrow desktops and iPad landscape: tighter menu so the logo stays on one line */
@media (min-width: 961px) and (max-width: 1320px) {
  html body .nav-links > li > a:not(.nav-cta):not(.nav-portal) { padding: 0.38rem 0.6rem !important; font-size: 0.78rem !important; }
  html body .nav-links li + li { margin-left: 0 !important; }
  html body .nav-links > li:has(> .nav-cta) { margin-left: 0.5rem !important; }
  html body .nav-links > li:has(> .nav-cta) + li { margin-left: 0.3rem !important; }
  html body nav .logo-text .brand { white-space: nowrap; }
}
@media (min-width: 961px) and (max-width: 1060px) {
  html body nav .logo-text .brand { font-size: 1.05rem !important; }
  html body .nav-links > li > a:not(.nav-cta):not(.nav-portal) { padding: 0.38rem 0.5rem !important; font-size: 0.75rem !important; }
  html body nav .nav-cta { padding: 0.48rem 1rem !important; font-size: 0.84rem !important; }
}
@media (min-width: 961px) and (max-width: 1000px) {
  html body nav .logo-text .brand { font-size: 0.98rem !important; }
  html body .nav-links > li > a:not(.nav-cta):not(.nav-portal) { padding: 0.36rem 0.45rem !important; }
}

/* Logo: name and tagline with breathing room between them */
html body nav .logo-text { display: flex; flex-direction: column; justify-content: center; }
html body nav .logo-text .brand { line-height: 1.1 !important; }
html body nav .logo-text .sub {
  margin-top: 0.3rem !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  color: rgba(216,238,246,0.68) !important;
}
@media (min-width: 961px) and (max-width: 1180px) {
  html body nav .logo-text .sub { font-size: 0.66rem !important; margin-top: 0.22rem !important; }
}

/* ── Text button on desktops, iPads and tablets (same button as phones, left of
   the call button). Tablets are any touch screen 768px wide and at least 520px
   tall, which includes iPads in landscape with Safari's toolbars showing;
   phones turned sideways are under 520px tall and keep it hidden. ── */
@media (min-width: 768px) and (pointer: fine), (min-width: 768px) and (min-height: 520px) and (pointer: coarse) {
  .text-fab {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
    position: fixed; right: 7.25rem; bottom: max(1.25rem, env(safe-area-inset-bottom)); z-index: 9000;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--tide); color: #ffffff; border: 1.5px solid rgba(255,255,255,0.6);
    box-shadow: 0 4px 14px rgba(10,22,40,0.35); text-decoration: none; cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
  }
  .text-fab:hover { background: var(--ocean); }
  .text-fab svg { width: 17px; height: 17px; }
  .text-fab-label { font-size: 0.5rem; font-weight: 700; line-height: 1; }
}
.text-fab-pop {
  position: fixed; right: 1.25rem; bottom: calc(max(1.25rem, env(safe-area-inset-bottom)) + 56px); z-index: 9001;
  width: 310px; max-width: calc(100vw - 2rem); box-sizing: border-box; padding: 1.15rem;
  background: rgba(13,34,64,0.97); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(142,202,230,0.35); border-radius: var(--a-radius-lg);
  box-shadow: 0 18px 50px rgba(5,14,28,0.45); color: #ffffff;
}
.text-fab-pop[hidden] { display: none !important; }
.text-fab-pop .tfp-title { margin: 0 0 0.75rem; font-size: 0.875rem; font-weight: 600; color: var(--mist); }
.text-fab-pop .tfp-note { margin: -0.35rem 0 0.85rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(216,238,246,0.75); }
.text-fab-pop .tfp-person {
  padding: 0.9rem; margin-bottom: 0.6rem;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(142,202,230,0.22); border-radius: var(--a-radius-lg);
}
.text-fab-pop .tfp-who { display: flex; flex-direction: column; gap: 0.15rem; margin-bottom: 0.7rem; }
.text-fab-pop .tfp-name { font-size: 1rem; font-weight: 600; color: #ffffff; letter-spacing: -0.01em; }
.text-fab-pop .tfp-num { font-size: 0.875rem; color: rgba(216,238,246,0.7); }
.text-fab-pop .tfp-actions { display: flex; gap: 0.5rem; }
.text-fab-pop .tfp-btn {
  flex: 1 1 0; min-width: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  height: 38px; padding: 0 0.75rem; border-radius: 980px; font-size: 0.875rem; font-weight: 500;
  text-decoration: none; cursor: pointer; white-space: nowrap;
}
.text-fab-pop .tfp-primary { background: var(--tide); color: #ffffff; border: none; }
.text-fab-pop .tfp-primary:hover { background: var(--ocean); }
.text-fab-pop .tfp-copy { background: transparent; color: #ffffff; border: 1px solid rgba(142,202,230,0.55); }
.text-fab-pop .tfp-copy:hover { background: rgba(142,202,230,0.12); }
.text-fab-pop .tfp-crisis { margin: 0.35rem 0 0; line-height: 1.4; font-size: 0.75rem; color: rgba(216,238,246,0.6); }
/* Phones and touch tablets can text directly: no Copy buttons or desktop note */
@media (pointer: coarse) { .text-fab-pop .tfp-desk { display: none !important; } }
@media (max-width: 767px) { .text-fab-pop { right: 1rem; bottom: calc(1rem + 56px); } }

/* Call panel (phone button): calls only, one full-width Call button per person */
.sms-panel .sms-person-actions .sms-action-btn.call {
  flex: 1 1 auto; width: 100%; border-radius: 980px !important; padding: 0.6rem 0 !important; font-size: 0.875rem !important; font-weight: 500 !important;
}
@media print { .text-fab-pop { display: none !important; } }
/* Small landscape desktops: the 988 pill sits bottom right, so the Text
   button lines up with the call button and the pill moves left of it. */
@media (min-width: 768px) and (max-width: 1080px) and (orientation: landscape) and (pointer: fine), (min-width: 768px) and (max-width: 1080px) and (min-height: 520px) and (orientation: landscape) and (pointer: coarse) {
  .text-fab { right: 7.75rem; bottom: 1rem; }
  html body #crisis-pill { right: 11.25rem !important; }
}

/* Call panel matches the Text Us card: solid glass, same corners and type */
html body .sms-panel {
  width: 310px !important; max-width: calc(100vw - 2rem) !important; box-sizing: border-box; padding: 1.15rem !important;
  background: rgba(13,34,64,0.97) !important; -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(142,202,230,0.35) !important; border-radius: var(--a-radius-lg) !important;
  box-shadow: 0 18px 50px rgba(5,14,28,0.45) !important;
}
html body .sms-panel .sms-panel-title { margin: 0 0 0.75rem !important; font-size: 0.875rem !important; font-weight: 600 !important; color: var(--mist) !important; }
html body .sms-panel .sms-person-card {
  padding: 0.9rem !important; margin-bottom: 0.6rem !important;
  background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(142,202,230,0.22) !important; border-radius: var(--a-radius-lg) !important;
}
html body .sms-panel .sms-person-name { font-size: 1rem !important; font-weight: 600 !important; color: #ffffff !important; }
html body .sms-panel .sms-person-number { font-size: 0.875rem !important; color: rgba(216,238,246,0.7) !important; margin: 0.15rem 0 0.7rem !important; }
html body .sms-panel .sms-action-btn.call {
  height: 38px; padding: 0 !important; background: var(--tide) !important; border: none !important; color: #ffffff !important;
}
html body .sms-panel .sms-action-btn.call:hover { background: var(--ocean) !important; }
html body .sms-panel .sms-note { margin: 0.35rem 0 0 !important; font-size: 0.75rem !important; line-height: 1.4 !important; color: rgba(216,238,246,0.6) !important; }

/* Homepage hero (desktop): a short S-curve fade from the solid navy into the
   photo. It starts and ends gently, so there is no hard edge where the color
   stops, and it clears by 45% across so the snowy peak stays bright. The photo
   shifts slightly right so the peak sits clear of the fade. */
html body .hero-overlay {
  background:
    linear-gradient(to right,
      rgba(28,61,90,1.000) 0%,
      rgba(28,61,90,0.966) 5%,
      rgba(28,61,90,0.874) 10%,
      rgba(28,61,90,0.741) 15%,
      rgba(28,61,90,0.583) 20%,
      rgba(28,61,90,0.417) 25%,
      rgba(28,61,90,0.259) 30%,
      rgba(28,61,90,0.126) 35%,
      rgba(28,61,90,0.034) 40%,
      rgba(28,61,90,0.000) 45%,
      rgba(28,61,90,0) 45%),
    linear-gradient(to top, rgba(10,22,40,0.35) 0%, rgba(10,22,40,0) 50%) !important;
}
@media (min-width: 961px) {
  html body .hero-right .hero-photo { object-position: 22% center !important; }
}

/* Header logo: slightly larger (36px to 40px) at every screen size */
html body nav .logo-mark { width: 40px !important; height: 40px !important; margin: -2px 0 !important; } /* negative margin keeps the header height unchanged */

/* ── Dead-space fill (Oct 2026) ──────────────────────────────────────────
   Extra preview text that fills short article cards on the Articles page.
   Cards there have a fixed height, so the text fills the card and fades out
   without making it taller. Phones show cards at their natural height, so
   the extra text is hidden there. */
@media (max-width: 767px) {
  .blog-p-fill { display: none !important; }
  .blog-p:has(+ .blog-p-fill) { margin-bottom: 0; } /* keep the last visible paragraph spaced as before */
}
/* Content added to fill dead space in side-by-side cards. It stays hidden
   until site.js confirms it fits inside the card's existing height at the
   current screen width, so it never makes a card or its row taller. */
.dead-fill:not(.df-on) { display: none !important; }

/* iPad landscape (touch, 961px and wider): Safari's 100vh includes the area
   behind its toolbars, so the hero was taller than the visible screen and
   its centered content sat low, crowding the fixed 988 Crisis Line pill.
   Size the hero to the visible screen and reserve clear space at the bottom
   for the 988 pill (24px offset + 34px pill + about 50px breathing room). */
@media (min-width: 961px) and (pointer: coarse) {
  html body .hero { min-height: 100vh; min-height: 100svh !important; }
  html body .hero-left { padding-top: 6rem !important; padding-bottom: 7rem !important; }
}
/* Shorter iPad landscape screens: tighten the hero slightly so everything
   fits between the header and the 988 pill without crowding either. */
@media (min-width: 961px) and (pointer: coarse) and (max-height: 720px) {
  html body .hero-left { padding-top: 5.5rem !important; padding-bottom: 6.25rem !important; }
  html body .hero-title { font-size: 2.15rem !important; margin-bottom: 1.1rem !important; }
  html body .hero-status { margin-bottom: 0.75rem !important; }
  html body #hero-pills { margin-top: 1rem !important; }
}

/* More to Read: related articles under each article, shown as buttons */
.pmhs-more-reading { margin: 0 0 1.5rem; }
.pmhs-more-reading .pmr-label { font-size: 0.8125rem; font-weight: 600; color: var(--tide); margin: 0 0 0.6rem; }
.pmhs-more-reading ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.pmhs-more-reading li { margin: 0; display: flex; }
.pmhs-more-reading a { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.75rem 1rem; background: rgba(58,150,200,0.07); border: 1.5px solid rgba(58,150,200,0.55); border-radius: var(--a-radius-md); color: var(--deep); font-size: 0.9rem; font-weight: 500; line-height: 1.35; text-decoration: none; transition: background-color 0.2s ease; }
.pmhs-more-reading a::after { content: '\2192'; color: var(--ocean); flex-shrink: 0; }
.pmhs-more-reading a:hover { background: rgba(58,150,200,0.14); }
@media (max-width: 767px) { .pmhs-more-reading ul { grid-template-columns: 1fr; } }

/* Service landing page links */
.svc-lp-links { margin: 1.5rem 0 2rem; }
.svc-lp-links .svc-lp-label { font-size: 0.8125rem; font-weight: 600; color: var(--tide); margin: 0 0 0.6rem; }
.svc-lp-links .cov-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pmhs-svc-hub { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: rgba(58,150,200,0.08); border: 1.5px solid rgba(58,150,200,0.55); border-radius: var(--a-radius-md); padding: 1rem 1.25rem; margin: 0 0 1rem; text-decoration: none; }
.pmhs-svc-hub .psh-label { display: block; font-size: 0.8125rem; font-weight: 600; color: var(--tide); margin-bottom: 0.2rem; }
.pmhs-svc-hub .psh-title { display: block; font-size: 1.05rem; font-weight: 600; color: var(--deep); line-height: 1.3; letter-spacing: -0.015em; }
.pmhs-svc-hub .psh-arrow { font-size: 1.1rem; color: var(--ocean); flex-shrink: 0; }
.pmhs-svc-hub:hover { background: rgba(58,150,200,0.14); }
.pc-service-more { display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.6rem; padding: 0.35rem 0.85rem; border: 1.5px solid rgba(58,150,200,0.55); border-radius: 980px; font-size: 0.8125rem; font-weight: 500; color: var(--ocean); text-decoration: none; background: #ffffff; }
.pc-service-more:hover { background: rgba(58,150,200,0.1); }
/* Therapy Services condition cards: every card ends with a button to its page,
   pinned to the bottom so buttons line up across each row */
#page-services .svc-card { display: flex; flex-direction: column; }
#page-services .svc-card .svc-card-btn { margin-top: auto; padding-top: 0.9rem; }
/* Therapy Services cards: each icon tile gets its own light blue border */
#page-services .svc-card > div:first-child {
  border: 1.5px solid rgba(58,150,200,0.45);
  box-sizing: border-box;
  width: 40px !important; height: 40px !important;
}
@media (min-width: 961px) and (max-width: 1000px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { padding: 0.45rem 0.95rem !important; font-size: 0.84rem !important; }
}
/* Anxiety Therapy hero: coastal road photo. Darkened so the white headline reads clearly over the bright sky. */
#page-anxiety-therapy-page .page-hero-bg { object-position: center 42%; filter: brightness(0.74) saturate(1); }
@media (max-width: 767px) { #page-anxiety-therapy-page .page-hero-bg { object-position: center center; filter: brightness(0.66) saturate(0.95); } }
/* Depression Therapy hero: beach and surf photo, darkened so the headline reads clearly */
#page-depression-therapy-page .page-hero-bg { object-position: center 62%; filter: brightness(0.74) saturate(0.95); }
@media (max-width: 767px) { #page-depression-therapy-page .page-hero-bg { object-position: center 60%; filter: brightness(0.66) saturate(0.9); } }
/* Personality Disorder Therapy hero: arch bridge photo, darkened so the headline reads clearly */
#page-personality-disorder-therapy-page .page-hero-bg { object-position: center top; filter: brightness(0.7) saturate(0.95); }
@media (max-width: 767px) { #page-personality-disorder-therapy-page .page-hero-bg { object-position: center 40%; filter: brightness(0.62) saturate(0.9); } }
/* Service page subtitles: show the full sentence on small phones instead of cutting it off */
@media (max-width: 767px) { .page-subtitle.svc-lp-sub { -webkit-line-clamp: 5; } }
/* ADHD Therapy hero: Eastern Sierra panorama, darkened so the headline reads clearly */
#page-adhd-therapy-page .page-hero-bg { object-position: center 25%; filter: brightness(0.7) saturate(0.95); }
@media (max-width: 767px) { #page-adhd-therapy-page .page-hero-bg { object-position: center 40%; filter: brightness(0.62) saturate(0.9); } }
/* Service page banners: one locked height at each screen size so every service page matches */
.page-hero.svc-lp-hero { min-height: 364px !important; }
@media (min-width: 360px) and (max-width: 767px) { .page-hero.svc-lp-hero { min-height: 343px !important; } }
@media (min-width: 391px) and (max-width: 767px) { .page-hero.svc-lp-hero { min-height: 368px !important; } }
@media (min-width: 431px) and (max-width: 767px) { .page-hero.svc-lp-hero { min-height: 395px !important; } }
@media (min-width: 500px) and (max-width: 767px) { .page-hero.svc-lp-hero { min-height: 406px !important; } }
@media (min-width: 768px) { .page-hero.svc-lp-hero { min-height: 373px !important; } }
@media (min-width: 961px) { .page-hero.svc-lp-hero { min-height: 389px !important; } }
@media (min-width: 1600px) { .page-hero.svc-lp-hero { min-height: 413px !important; } }
@media (min-width: 961px) { .svc-lp-hero .page-hero-inner { max-width: 900px !important; } }
@media (min-width: 768px) and (max-width: 960px) { .svc-lp-hero .page-hero-inner { max-width: none !important; } .svc-lp-hero h1.page-title { font-size: 5vw !important; } }
@media (min-width: 1600px) { .svc-lp-hero .page-subtitle { max-width: 620px !important; } }
/* Trauma Therapy hero: redwood highway photo, darkened so the headline reads clearly */
#page-trauma-therapy-page .page-hero-bg { object-position: center 55%; filter: brightness(0.66) saturate(0.95); }
@media (max-width: 767px) { #page-trauma-therapy-page .page-hero-bg { object-position: center center; filter: brightness(0.6) saturate(0.9); } }
/* Couples Therapy hero: Alabama Hills arch and Sierra panorama, darkened so the headline reads clearly */
#page-couples-therapy-page .page-hero-bg { object-position: center 30%; filter: brightness(0.68) saturate(0.95); }
@media (max-width: 767px) { #page-couples-therapy-page .page-hero-bg { object-position: center center; filter: brightness(0.6) saturate(0.9); } }
/* Child and Teen Therapy hero: desert mountains and green fairways, darkened so the headline reads clearly */
#page-child-teen-therapy-page .page-hero-bg { object-position: center 35%; filter: brightness(0.68) saturate(0.92); }
@media (max-width: 767px) { #page-child-teen-therapy-page .page-hero-bg { object-position: center center; filter: brightness(0.62) saturate(0.9); } }
/* Life Transitions Therapy hero: Lake Tahoe panorama, darkened so the headline reads clearly */
#page-life-transitions-therapy-page .page-hero-bg { object-position: center 40%; filter: brightness(0.66) saturate(0.92); }
@media (max-width: 767px) { #page-life-transitions-therapy-page .page-hero-bg { object-position: center center; filter: brightness(0.6) saturate(0.9); } }
/* Service pages: Myths & Facts and extra sections */
.svc-more-grid { margin-top: 2rem; }
.svc-myths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.9rem; }
@media (max-width: 960px) { .svc-myths { grid-template-columns: 1fr; } }
.svc-myth { background: var(--foam); border: 1.5px solid rgba(58,150,200,0.22); border-radius: var(--a-radius-md) !important; padding: 1.05rem 1.15rem; }
.info-card-body .svc-myth p { margin: 0; line-height: 1.6; }
.info-card-body .svc-myth .svc-myth-m { font-weight: 600; color: var(--deep); font-size: 0.92rem; margin-bottom: 0.55rem; }
.info-card-body .svc-myth .svc-myth-f { font-size: 0.88rem; color: var(--subtle); }
.svc-myth-tag { display: inline-block; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.04em; padding: 0.12rem 0.55rem; border-radius: 980px; margin-right: 0.5rem; vertical-align: 1px; background: rgba(196,48,48,0.08); color: #8b1a1a; border: 1px solid rgba(196,48,48,0.25); }
.svc-myth-tag.svc-fact-tag { background: rgba(58,150,200,0.1); color: var(--ocean); border-color: rgba(58,150,200,0.35); }
.info-card-body .svc-tools-line { font-weight: 500; color: var(--deep); }
/* Grief Counseling hero: desert sunset panorama, darkened so the headline reads clearly */
#page-grief-counseling-page .page-hero-bg { object-position: center 15%; filter: brightness(0.8) saturate(1); }
@media (max-width: 767px) { #page-grief-counseling-page .page-hero-bg { object-position: center center; filter: brightness(0.72) saturate(0.95); } }
/* Myth & Fact pills: solid Fact pill so it stands out from the light blue box */
.svc-myth-tag.svc-fact-tag { background: var(--ocean) !important; color: #fff !important; border-color: var(--ocean) !important; }
.svc-myth-tag { background: #fff; }
/* Special Needs (IDD) hero: alpine lake reflection, darkened so the headline reads clearly */
#page-special-needs-page .page-hero-bg { object-position: center 25%; filter: brightness(0.66) saturate(0.92); }
@media (max-width: 767px) { #page-special-needs-page .page-hero-bg { object-position: center center; filter: brightness(0.6) saturate(0.9); } }
/* Caregiver Stress Therapy hero: almond orchard in bloom, darkened more than most because the white blossoms are bright */
#page-caregiver-stress-therapy-page .page-hero-bg { object-position: center 40%; filter: brightness(0.7) saturate(1); }
@media (max-width: 767px) { #page-caregiver-stress-therapy-page .page-hero-bg { object-position: center center; filter: brightness(0.62) saturate(0.95); } }
/* ESA Letters hero: coastal wetland and estuary aerial, darkened so the headline reads clearly */
#page-esa-letters-page .page-hero-bg { object-position: center top; filter: brightness(0.68) saturate(0.95); }
@media (max-width: 767px) { #page-esa-letters-page .page-hero-bg { object-position: center center; filter: brightness(0.62) saturate(0.92); } }
/* Find a Therapist panel (articles and county pages): its own card so the button stands out */
.pmhs-find { width: 100%; box-sizing: border-box; display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1.1rem; align-items: start; background: #fff; border: 1.5px solid rgba(58,150,200,0.55); border-radius: var(--a-radius-lg); box-shadow: 0 6px 24px rgba(46,124,168,0.10); padding: 1.5rem 1.6rem; margin: 2rem 0; }
.pmhs-find-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: rgba(58,150,200,0.1); border: 1.5px solid rgba(58,150,200,0.45); color: var(--ocean); }
.pmhs-find-label { font-size: 0.8125rem; font-weight: 600; color: var(--tide); margin: 0 0 0.2rem; }
.pmhs-find h2.pmhs-find-title { font-size: 1.2rem; font-weight: 600; color: var(--deep); line-height: 1.3; margin: 0 0 0.4rem; font-family: inherit; letter-spacing: -0.01em; }
.pmhs-find-desc { font-size: 0.92rem; color: var(--subtle); line-height: 1.6; margin: 0; }
.pmhs-find-btns { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.75rem; }
@media (max-width: 600px) {
  .pmhs-find { grid-template-columns: 1fr; padding: 1.3rem 1.2rem; }
  .pmhs-find-btns { grid-column: 1; flex-direction: column; }
  .pmhs-find-btns a { justify-content: center; text-align: center; }
}

/* ── Explore menu, Apple-style flyout (Oct 2026) ──
   Frosted glass panel, four labeled groups in two columns, sentence-case items,
   rounded hover highlight, soft fade-in. Overrides the older uppercase list styles. */
.nav-dropdown-menu.dd-apple {
  min-width: 0 !important; width: max-content; padding: 8px 6px !important; margin: 0 !important; list-style: none; top: calc(100% + 18px) !important;
  border-radius: 18px !important; overflow: visible !important;
  background: rgba(20,28,42,0.88) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important; backdrop-filter: blur(30px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.42), 0 2px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.06) !important;
  grid-template-columns: auto auto; column-gap: 4px; row-gap: 4px; align-items: start;
}
.nav-dropdown-menu.dd-apple.open { display: grid !important; }
@media (hover: hover) and (pointer: fine) { .nav-dropdown:hover .nav-dropdown-menu.dd-apple { display: grid !important; } }
.nav-dropdown-menu.dd-apple.open, .nav-dropdown:hover .nav-dropdown-menu.dd-apple { animation: dd-apple-in 0.18s cubic-bezier(0.2,0.8,0.2,1); }
@keyframes dd-apple-in { from { opacity: 0; transform: translateX(-50%) translateY(-4px) scale(0.98); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
.nav-dropdown-menu.dd-apple li { margin: 0 !important; padding: 0 !important; list-style: none; border: 0 !important; }
.nav-dropdown-menu.dd-apple li + li { border-top: 0 !important; margin-left: 0 !important; }
.nav-dropdown-menu.dd-apple .dd-group { padding: 4px 0 6px !important; }
.nav-dropdown-menu.dd-apple .dd-group:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,0.09) !important; padding-top: 10px !important; }
.nav-dropdown-menu.dd-apple .dd-group ul { list-style: none; margin: 0; padding: 0; }
.nav-dropdown-menu.dd-apple .dd-label { display: flex; align-items: center; gap: 7px; margin: 0; padding: 6px 12px 6px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.01em; text-transform: none; color: rgba(142,202,230,0.85); }
.nav-dropdown-menu.dd-apple .dd-label svg { flex-shrink: 0; opacity: 0.9; }
.nav-dropdown-menu.dd-apple li a {
  display: block; padding: 7px 12px !important; border-radius: 10px !important;
  font-size: 0.875rem !important; font-weight: 500 !important; letter-spacing: -0.01em !important; text-transform: none !important;
  color: rgba(255,255,255,0.9) !important; white-space: nowrap; line-height: 1.3; text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}
.nav-dropdown-menu.dd-apple li a:hover, .nav-dropdown-menu.dd-apple li a:focus-visible { background: rgba(58,150,200,0.32) !important; color: #fff !important; outline: none; }
.nav-dropdown-menu.dd-apple li a:active { background: rgba(58,150,200,0.45) !important; }
.nav-dropdown-menu.dd-apple li:first-child a, .nav-dropdown-menu.dd-apple li:last-child a { border-radius: 10px !important; }
@media (prefers-reduced-motion: reduce) { .nav-dropdown-menu.dd-apple.open, .nav-dropdown:hover .nav-dropdown-menu.dd-apple { animation: none; } }

/* Explore menu: larger gap below the header, with a matching hover bridge so the menu stays open */
@media (hover: hover) and (pointer: fine) { .nav-dropdown::before { height: 22px !important; } }
.nav-dropdown-menu.dd-apple .dd-group { min-width: 168px; }

/* ── One banner size site-wide (Oct 26, 2026) ──
   Every page banner is locked to the Providers banner height at each screen size,
   so no banner grows or shrinks with its text. Width is already full-screen everywhere.
   Phones in landscape keep their own short banner (site.css). */
@media not all and (max-height: 500px) and (orientation: landscape) {
  .page-hero, .page-hero.svc-lp-hero, .connect-hero { min-height: 0 !important; max-height: none !important; height: 306px !important; box-sizing: border-box; overflow: hidden; }
}
@media (min-width: 360px) and (max-width: 413px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 314px !important; } }
@media (min-width: 414px) and (max-width: 479px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 338px !important; } }
@media (min-width: 480px) and (max-width: 559px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 404px !important; } }
@media (min-width: 560px) and (max-width: 599px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 359px !important; } }
@media (min-width: 600px) and (max-width: 767px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 360px !important; } }
@media (min-width: 768px) and (max-width: 1099px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 373px !important; } }
@media (min-width: 1100px) and (max-width: 1919px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 400px !important; } }
@media (min-width: 1920px) and (max-width: 2399px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 413px !important; } }
@media (min-width: 2400px) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 504px !important; } }
@media (max-height: 500px) and (orientation: landscape) { .page-hero, .page-hero.svc-lp-hero, .connect-hero { height: 190px !important; min-height: 0 !important; } }

/* ── Search results: page, section and matching passage ── */
.pmhs-sr { width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,0.07); padding: 0.75rem 1rem; cursor: pointer; display: flex; flex-direction: column; gap: 0.2rem; font-family: inherit; color: #fff; border-radius: 0; transition: background-color 0.15s ease; }
.pmhs-sr:hover, .pmhs-sr:focus-visible { background: rgba(58,150,200,0.18); outline: none; }
.pmhs-sr:last-child { border-bottom: 0; }
.pmhs-sr-label { font-size: 0.72rem; font-weight: 600; color: #8ecae6; letter-spacing: 0; text-transform: none; }
.pmhs-sr-sec { font-weight: 500; color: rgba(200,230,240,0.7); }
.pmhs-sr-title { font-size: 0.9rem; font-weight: 600; line-height: 1.3; color: #fff; }
.pmhs-sr-snip { font-size: 0.8rem; font-weight: 400; line-height: 1.45; color: rgba(220,236,245,0.82); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#mobile-search-results .pmhs-sr, #mobile-nav-inline-results .pmhs-sr { border: 1.5px solid rgba(58,150,200,0.45); border-radius: 14px; margin-bottom: 0.55rem; background: rgba(255,255,255,0.04); }
#mobile-nav-inline-results .pmhs-sr { padding: 0.6rem 0.8rem; }
.pmhs-found { background: rgba(58,150,200,0.16) !important; box-shadow: 0 0 0 6px rgba(58,150,200,0.16); border-radius: 8px; transition: background-color 0.6s ease, box-shadow 0.6s ease; }

/* ── Partnership HealthPlan of California logo blocks ── */
.php-logo { display: block; height: auto; max-width: 100%; }
.php-feature { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center; background: #fff; border: 1.5px solid rgba(58,150,200,0.35); border-radius: var(--a-radius-lg); box-shadow: 0 8px 28px rgba(46,124,168,0.08); padding: 2rem 2.25rem; margin: 0 0 2rem; }
.php-feature-logo { padding-right: 2rem; border-right: 1px solid rgba(58,150,200,0.22); }
.php-feature-logo .php-logo { width: 94px; }
.php-feature-label { font-size: 0.8125rem; font-weight: 600; color: var(--tide); margin: 0 0 0.25rem; }
.php-feature h3.php-feature-title { font-size: 1.35rem; font-weight: 600; color: var(--deep); line-height: 1.25; margin: 0 0 0.6rem; font-family: inherit; letter-spacing: -0.015em; }
.php-feature-text > p { font-size: 0.95rem; color: var(--subtle); line-height: 1.65; margin: 0 0 0.85rem; }
.php-feature-points { list-style: none; margin: 0 0 1.1rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.php-feature-points li { font-size: 0.82rem; font-weight: 500; color: var(--deep); padding: 0.32rem 0.8rem; border-radius: 980px; background: rgba(58,150,200,0.08); border: 1px solid rgba(58,150,200,0.3); }
.php-strip { display: flex; align-items: center; gap: 1rem; background: #fff; border: 1.5px solid rgba(58,150,200,0.28); border-radius: var(--a-radius-md); padding: 0.85rem 1.1rem; margin: 0 0 1rem; }
.php-strip .php-logo-sm { width: 40px; flex-shrink: 0; }
.info-card-body .php-strip .php-strip-label, .php-strip .php-strip-label { font-size: 0.875rem; font-weight: 600; color: var(--deep); margin: 0 0 0.15rem !important; line-height: 1.3; }
.php-strip-desc { font-size: 0.84rem; color: var(--subtle); line-height: 1.55; margin: 0 !important; }
.connect-form-body > .php-strip { margin-bottom: 1.5rem; }
.php-home-logo { width: 36px; flex-shrink: 0; display: flex; justify-content: center; }
.php-home-logo .php-logo-xs { width: 35px; }
@media (max-width: 700px) {
  .php-feature { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.5rem 1.25rem; text-align: left; }
  .php-feature-logo { padding: 0 0 1.25rem; border-right: 0; border-bottom: 1px solid rgba(58,150,200,0.22); }
  .php-feature-logo .php-logo { width: 76px; }
}


/* ── Search, Apple Spotlight style (Oct 2026) ── */
/* Desktop: centered frosted panel under the header; the page behind dims */
#search-overlay.sq-overlay { position: fixed; left: 50% !important; right: auto !important; transform: translateX(-50%); width: min(640px, calc(100vw - 2rem)) !important; z-index: 10003; margin-top: 12px; box-shadow: 0 0 0 100vmax rgba(5,12,24,0.28); border-radius: 22px; animation: sq-in 0.18s cubic-bezier(0.2,0.8,0.2,1); }
@keyframes sq-in { from { opacity: 0; transform: translateX(-50%) translateY(-6px) scale(0.985); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
.sq-panel { background: rgba(22,30,44,0.86); -webkit-backdrop-filter: blur(34px) saturate(180%); backdrop-filter: blur(34px) saturate(180%); border: 1px solid rgba(255,255,255,0.13); border-radius: 22px; box-shadow: 0 30px 80px rgba(0,0,0,0.45), 0 2px 10px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.07); overflow: hidden; }
.sq-field { display: flex; align-items: center; gap: 0.8rem; padding: 1rem 1.15rem 1rem 1.3rem; }
.sq-panel .sq-field { border-bottom: 1px solid rgba(255,255,255,0.08); }
.sq-icon { flex-shrink: 0; color: rgba(216,238,246,0.6); }
.sq-field input { flex: 1; min-width: 0; background: none !important; border: 0 !important; outline: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; color: #fff !important; font-family: inherit !important; font-weight: 400 !important; letter-spacing: -0.015em; caret-color: #8ecae6; -webkit-appearance: none; appearance: none; }
.sq-field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.sq-field input::placeholder { color: rgba(216,238,246,0.42) !important; }
.sq-esc { flex-shrink: 0; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.14) !important; color: rgba(216,238,246,0.75) !important; border-radius: 7px !important; padding: 0.15rem 0.5rem !important; font-size: 0.72rem !important; font-weight: 500 !important; font-family: inherit; cursor: pointer; text-transform: lowercase; letter-spacing: 0; }
.sq-esc:hover { background: rgba(255,255,255,0.14) !important; color: #fff !important; }
#search-overlay .sq-results { display: flex; flex-direction: column; max-height: min(480px, 60vh); overflow-y: auto; padding: 0 6px; }
#search-overlay .sq-results:not(:empty) { padding: 6px; }
#search-overlay .pmhs-sr { border: 0; border-radius: 12px; padding: 0.7rem 0.85rem; }
#search-overlay .pmhs-sr + .pmhs-sr { margin-top: 2px; }
#search-overlay .pmhs-sr:hover, #search-overlay .pmhs-sr:focus-visible { background: rgba(58,150,200,0.3); }

/* Quick Links (shown before typing) */
.sq-quick { padding: 0.85rem 1.3rem 1.1rem; }
.sq-label { font-size: 0.75rem; font-weight: 600; color: rgba(216,238,246,0.55); margin: 0 0 0.4rem; letter-spacing: 0; text-transform: none; }
.sq-list { list-style: none; margin: 0; padding: 0; }
.sq-list li { margin: 0; padding: 0; }
.sq-list a { display: flex; align-items: center; gap: 0.7rem; padding: 0.5rem 0.6rem; margin: 0 -0.6rem; border-radius: 10px; color: rgba(255,255,255,0.9); font-size: 0.95rem; font-weight: 500; text-decoration: none; letter-spacing: -0.01em; transition: background-color 0.15s ease; }
.sq-list a svg { color: rgba(142,202,230,0.8); flex-shrink: 0; }
.sq-list a:hover, .sq-list a:focus-visible { background: rgba(58,150,200,0.28); color: #fff; outline: none; }

/* Phone: full-screen frosted sheet, iOS-style search bar with Cancel */
#mobile-search-overlay.sq-mobile { position: fixed; inset: 0; z-index: 10004; flex-direction: column; background: rgba(14,22,36,0.94); -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%); padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem; }
.sq-mobile-bar { display: flex; align-items: center; gap: 0.75rem; margin: 0.5rem 0 0.75rem; }
.sq-mobile-bar .sq-field { flex: 1; background: rgba(118,118,128,0.24); border-radius: 12px; padding: 0.6rem 0.8rem; gap: 0.55rem; }
.sq-mobile-bar .sq-icon { width: 17px; height: 17px; }
.sq-cancel { background: none !important; border: 0 !important; color: #8ecae6 !important; font-size: 1rem !important; font-weight: 400 !important; font-family: inherit; padding: 0.25rem 0 !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; }
#mobile-search-overlay .sq-results { display: flex; flex-direction: column; overflow-y: auto; flex: 1; gap: 0.4rem; }
#mobile-search-overlay .sq-results:empty { flex: 0; }
#mobile-search-overlay .sq-quick { padding: 0.5rem 0.25rem; }
#mobile-search-overlay .sq-list a { font-size: 1.0625rem; padding: 0.7rem 0.6rem; border-bottom: 1px solid rgba(255,255,255,0.07); border-radius: 0; margin: 0; }
#mobile-search-overlay .pmhs-sr { border: 0 !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; border-radius: 0 !important; background: none !important; margin: 0 !important; padding: 0.8rem 0.25rem !important; }
@media (prefers-reduced-motion: reduce) { #search-overlay.sq-overlay { animation: none; } }
/* Get Started: Partnership HealthPlan logo inside the "You may already have Partnership HealthPlan" card */
.php-banner-brand { display: flex; align-items: center; gap: 1.1rem; margin-bottom: 0.9rem; }
.php-banner-brand .php-logo-banner { width: 53px; flex-shrink: 0; }
.php-banner-brand h3 { margin-bottom: 0.3rem !important; }
.php-banner-innet { font-size: 0.82rem; font-weight: 600; color: var(--deep); margin: 0; }

/* Phone header: keep "Pacific Mental Health Services" on one line */
@media (max-width: 767px) {
  html body nav#main-nav { padding-left: 14px !important; padding-right: 10px !important; }
  html body nav#main-nav .logo { min-width: 0; flex: 1 1 auto; }
  html body nav#main-nav .logo-text { min-width: 0; }
  html body nav#main-nav .logo-text .brand { white-space: nowrap !important; font-size: min(16px, 4.05vw) !important; line-height: 1.2 !important; letter-spacing: -0.015em !important; }
}

/* Our Providers: Partnership HealthPlan card above the bios, coverage sections below */
.hub-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0.5rem 1.5rem; margin: 0 0 0.25rem; padding: 0; }
.hub-facts > div { border-top: 1px solid rgba(58,150,200,0.2); padding-top: 0.5rem; }
.hub-facts dt { font-size: 0.75rem; font-weight: 600; color: var(--tide); margin: 0 0 0.1rem; }
.hub-facts dd { font-size: 0.92rem; font-weight: 500; color: var(--deep); margin: 0; line-height: 1.4; }
.prov-answer h2.php-feature-title { font-size: 1.35rem; font-weight: 600; color: var(--deep); line-height: 1.25; margin: 0 0 0.6rem; font-family: inherit; letter-spacing: -0.015em; }
.page-body-white > .prov-answer { margin-bottom: 2.25rem; }
.prov-more { display: flex; flex-direction: column; gap: 2rem; margin: 2.5rem 0 2rem; }
.prov-more .info-card.cov-full { margin: 0; }
@media (max-width: 600px) { .hub-facts { grid-template-columns: 1fr; } }
/* Providers: coverage card inside prov-more, other-issues line */
.prov-more > .prov-answer { margin: 0; }
.prov-other { margin-top: 1.1rem; }
/* Therapy service pages fill the content width like county pages */
.svc-lp-hero + .page-body .pu12 { max-width: none; }

/* ── Apple-style icon tiles (sitewide) ──
   Rounded-square tile, soft vertical gradient, white SF-style symbol,
   top highlight and a small lifted shadow. */
:is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-card-header .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon) {
  background: var(--tide) !important;
  border: 0 !important;
  border-radius: 24% !important;
  color: #fff !important;
  position: relative;
  box-shadow: none !important;
}
:is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-card-header .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon) > svg {
  width: 54% !important; height: 54% !important; color: #fff !important; stroke-width: 2 !important;
  filter: none;
}
:is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-card-header .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon) svg:is([stroke]:not([stroke="none"])),
:is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-card-header .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon) svg :is([stroke]:not([stroke="none"])) { stroke: #fff !important; }
:is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-card-header .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon) svg :is([fill]:not([fill="none"])) { fill: #fff !important; }
:is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-card-header .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon) svg [stroke-width] { stroke-width: 2 !important; }
/* County abbreviation tiles */
.ai-tile.ai-abbr { width: 46px !important; height: 46px !important; }
.ai-tile.ai-abbr > span { color: #fff !important; font-family: inherit !important; font-size: 0.8rem !important; font-weight: 600 !important; letter-spacing: 0.02em !important; text-shadow: none; }
/* Semantic colors, matched to the site's crisis red and confirmation green */
.ai-tile.ai-red { background: #c43030 !important; }
.ai-tile.ai-green { background: #4caf7d !important; }
.ai-tile.ai-round { border-radius: 50% !important; }
.how-it-works-icon { border-radius: 22% !important; }
/* Partnership coverage cards: light blue tint instead of white */
.php-feature { background: #e3f1fa !important; border-color: rgba(58,150,200,0.38) !important; }
.php-feature-logo { border-right-color: rgba(58,150,200,0.3); }
.php-feature .hub-facts > div { border-top-color: rgba(58,150,200,0.3); }
/* Tiles on navy card headers: thin light rim so they sit like the header buttons */
:is(.info-card-header, .service-card-header, .privacy-card-header, .modality-card-header, .pmhs-county-card, #connect-card-grid) :is(.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-icon-wrap) { box-shadow: none !important; }

/* ── Buttons refresh: match the icon tiles ── */
:is(.btn-primary, .pmhs-btn-solid, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) {
  background: var(--tide) !important;
  color: #fff !important; border-color: transparent !important; font-weight: 600 !important;
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease !important;
}
:is(.btn-primary, .pmhs-btn-solid, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]):not(.btn-pulse):not([class*="pulse"]) {
  box-shadow: none !important;
}
:is(.btn-primary, .pmhs-btn-solid, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn):hover { filter: brightness(0.93); transform: translateY(-1px) !important; }
:is(.btn-primary, .pmhs-btn-solid, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn):active { transform: scale(0.98) !important; filter: brightness(0.96); }

/* ── Cards B: Apple light. White header, icon tile, navy text ── */
:is(.service-card, .info-card, .modality-card, .privacy-card, .for-you-card, .pi-landing-card, .blog-card, .referral-card) {
  border: 1px solid rgba(28,61,90,0.07) !important; background: #fff !important;
  box-shadow: 0 1px 2px rgba(10,22,40,0.04), 0 10px 30px -12px rgba(10,22,40,0.14) !important;
}
:is(.info-card-header, .service-card-header, .privacy-card-header, .modality-card-header, .for-you-card-header, .pi-landing-card-header, .referral-card-header, .blog-card-header) {
  background: #fff !important; border-bottom: 1px solid rgba(28,61,90,0.1) !important; padding-bottom: 1.1rem !important;
}
:is(.info-card-header, .service-card-header, .privacy-card-header, .modality-card-header, .for-you-card-header, .pi-landing-card-header, .referral-card-header, .blog-card-header) :is(h1,h2,h3,h4,p,span,div,a):not(.ai-tile):not(.ai-tile *):not(.service-card-header-icon):not(.privacy-card-icon-wrap):not(.modality-icon-wrap):not(.info-card-label):not(.pi-lc-label):not(.for-you-card-label):not(.blog-tag):not(.modality-tag) {
  color: var(--deep) !important;
}
:is(.info-card-header, .service-card-header, .privacy-card-header, .modality-card-header, .for-you-card-header, .pi-landing-card-header, .referral-card-header, .blog-card-header) :is(.info-card-label, .pi-lc-label, .for-you-card-label, .modality-tag) { color: var(--tide) !important; }
.service-card-header [style*="font-size:2"], .service-card-header [style*="font-size: 2"], .service-card-header [style*="font-size:3"] { color: rgba(28,61,90,0.12) !important; }
:is(.info-card-header, .service-card-header, .privacy-card-header, .modality-card-header) .ai-tile { box-shadow: none !important; }

/* ── One button style sitewide: blue gradient pill, white text ── */
html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) {
  background: var(--tide) !important;
  background-origin: border-box !important; background-clip: border-box !important;
  color: #fff !important; border: 0 !important; font-weight: 600 !important;
  text-transform: none !important; letter-spacing: -0.005em !important;
  transition: transform 0.15s ease, filter 0.15s ease !important;
}
html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]):not([class*="pulse"]) {
  box-shadow: none !important;
}
html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]):hover { filter: brightness(0.93); }
html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]):active { transform: scale(0.98) !important; filter: brightness(0.96); }
html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) svg { color: #fff !important; }
html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) svg[stroke]:not([stroke="none"]), html body :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) svg [stroke]:not([stroke="none"]) { stroke: #fff !important; }
.pi-back:hover .pi-back-icon { transform: translateX(-3px); }
/* Homepage Partnership buttons: same size, one line */
.php-cta-btn { width: auto !important; min-width: 240px; white-space: nowrap !important; padding: 0.8rem 1.5rem !important; font-size: 0.95rem !important; }
/* ── Larger logo. The header height stays the same (the emblem uses negative margin). ── */
html body nav .logo-mark { --lm: 46px; width: var(--lm) !important; height: var(--lm) !important; margin: calc((40px - var(--lm)) / 2 - 2px) 0 !important; flex-shrink: 0; }
@media (max-width: 599px) { html body nav#main-nav .logo-text .brand { font-size: min(16px, 3.9vw) !important; } html body nav .logo-text { margin-left: 0.6rem !important; } }
@media (min-width: 600px)  { html body nav .logo-mark { --lm: 50px; } }
@media (min-width: 1024px) { html body nav .logo-mark { --lm: 52px; } }
@media (min-width: 1440px) { html body nav .logo-mark { --lm: 58px; } }
@media (min-width: 1920px) { html body nav .logo-mark { --lm: 64px; } }
@media (min-width: 2400px) { html body nav .logo-mark { --lm: 74px; } }
@media (max-height: 500px) and (orientation: landscape) { html body nav .logo-mark { --lm: 40px; } }
/* Gradients start at the outer edge so no seam shows through transparent borders */
.ai-tile, .service-card-header-icon, .privacy-card-icon-wrap, .modality-icon-wrap, .pmhs-find-icon, .tt-sel-icon, .tt-game-icon, .how-it-works-icon, .php-feature { background-origin: border-box !important; }
/* Floating Text, Call and Accessibility buttons: same gradient, round */
html body :is(.text-fab, .sms-btn, .a11y-btn) {
  background: var(--tide) !important;
  background-origin: border-box !important; border: 0 !important; color: #fff !important; border-radius: 50% !important;
  box-shadow: 0 4px 14px -4px rgba(10,22,40,0.35) !important;
  transition: transform 0.15s ease, filter 0.15s ease !important;
}
html body :is(.text-fab, .sms-btn, .a11y-btn):hover { filter: brightness(0.93); }
html body :is(.text-fab, .sms-btn, .a11y-btn):active { transform: scale(0.95); }
html body :is(.text-fab, .sms-btn, .a11y-btn) svg { color: #fff !important; }
html body :is(.text-fab, .sms-btn, .a11y-btn) svg[stroke]:not([stroke="none"]), html body :is(.text-fab, .sms-btn, .a11y-btn) svg [stroke]:not([stroke="none"]) { stroke: #fff !important; }
html body :is(.text-fab, .sms-btn, .a11y-btn) svg [fill]:not([fill="none"]) { fill: #fff !important; }
/* Article text-size control (A- / A+): same gradient pill, white letters, divider */
html body .article-fontsize-group {
  background: var(--tide) !important;
  background-origin: border-box !important; border: 0 !important; border-radius: 980px !important;
  box-shadow: none !important;
  gap: 0 !important; padding: 0 0.3rem !important;
}
html body .article-fontsize-btn { color: #fff !important; background: transparent !important; border: 0 !important; font-weight: 600 !important; border-radius: 50% !important; transition: background 0.15s ease, transform 0.15s ease !important; }
html body .article-fontsize-btn + .article-fontsize-btn { position: relative; margin-left: 0.3rem; }
html body .article-fontsize-btn + .article-fontsize-btn::before { content: ""; position: absolute; left: -0.18rem; top: 7px; bottom: 7px; width: 1px; background: rgba(255,255,255,0.35); }
html body .article-fontsize-btn:hover { background: rgba(255,255,255,0.18) !important; }
html body .article-fontsize-btn:active { transform: scale(0.92); }
/* Card footer line matches the title divider */
/* Card footers: no line. In preview, the text runs behind the footer and fades out. */
.blog-byline, .sa-byline { border-top: 0 !important; }
#page-service-areas .service-card:not(.sa-expanded) .sa-byline,
.blog-card:not(.expanded) .blog-byline {
  position: relative; z-index: 2; box-sizing: border-box;
  height: 3.4rem; margin-top: -3.4rem !important; padding-top: 0 !important; padding-bottom: 0 !important;
  background: transparent !important;
}
#page-service-areas .service-card:not(.sa-expanded) .sa-preview,
.blog-card:not(.expanded) .blog-preview {
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 12rem), rgba(0,0,0,0.5) calc(100% - 7rem), rgba(0,0,0,0.13) calc(100% - 3.6rem), rgba(0,0,0,0.05) calc(100% - 1.6rem), transparent 100%);
          mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 12rem), rgba(0,0,0,0.5) calc(100% - 7rem), rgba(0,0,0,0.13) calc(100% - 3.6rem), rgba(0,0,0,0.05) calc(100% - 1.6rem), transparent 100%);
}
#page-service-areas .service-card:not(.sa-expanded) .sa-preview::after,
.blog-card:not(.expanded) .blog-preview::after { display: none !important; }
#page-service-areas .sa-expand-btn, .blog-expand-btn { border-radius: 980px !important; }
/* Header Get Started: slightly larger */
html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { font-size: 0.98rem !important; padding: 0.66rem 1.5rem !important; }
@media (min-width: 1920px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { font-size: 1.05rem !important; padding: 0.72rem 1.65rem !important; } }
/* Article cards: footer sits at the card bottom, same spot as county cards */
.blog-card:not(.expanded) .blog-card-body { padding-bottom: 0 !important; }
/* 988 Crisis Line pill: Apple style in the site's crisis red */
html body #crisis-pill-btn {
  background: #c43030 !important;
  background-origin: border-box !important; border: 0 !important; color: #fff !important; border-radius: 980px !important;
  font-weight: 600 !important; letter-spacing: -0.005em !important; text-transform: none !important;
  box-shadow: 0 4px 14px -4px rgba(10,22,40,0.3) !important;
  transition: transform 0.15s ease, filter 0.15s ease !important;
}
html body #crisis-pill-btn:hover { filter: brightness(0.93); }
html body #crisis-pill-btn:active { transform: scale(0.97); }
html body #crisis-pill-btn svg { color: #fff !important; }

/* ── Apple cards: no outlines. White cards lift with a soft shadow, tinted and navy boxes rely on their fill. ── */
html body :is(.blog-card, .service-card, .svc-card, .info-card, .for-you-card, .privacy-card, .modality-card, .related-article-card, .article-card, .provider-card, .pmhs-find, .pmhs-svc-hub, .tt-game-card, .tt-selector-card, .stat, .contact-duo-grid, .referral-card, .pi-landing-card, .lp-card, .connect-card, .tele-feature) {
  border-color: transparent !important;
  box-shadow: 0 1px 2px rgba(10,22,40,0.05), 0 10px 28px -10px rgba(10,22,40,0.16) !important;
  background-origin: border-box !important;
}
html body :is(.blog-card, .service-card, .svc-card, .info-card, .for-you-card, .privacy-card, .modality-card, .related-article-card, .article-card, .provider-card, .pmhs-find, .pmhs-svc-hub, .tt-game-card, .tt-selector-card, .stat, .contact-duo-grid, .referral-card, .pi-landing-card, .lp-card, .connect-card, .tele-feature):hover { border-color: transparent !important; }
html body :is(.blog-card, .service-card, .svc-card, .info-card, .for-you-card, .modality-card, .related-article-card, .provider-card, .tt-game-card, .tt-selector-card):hover {
  box-shadow: 0 2px 4px rgba(10,22,40,0.05), 0 18px 40px -12px rgba(10,22,40,0.22) !important;
}
html body :is(.lp-town, .lp-faq, .svc-myth, .php-strip, .php-feature, .lp-contact, .lp-note, .article-takeaways, .php-guide-link, .cov-tip, .pc-service, .issues-card, .pu17, .article-start-cta), html body :is(.lp-town, .lp-faq, .svc-myth, .php-strip, .php-feature, .lp-contact, .lp-note, .article-takeaways, .php-guide-link, .cov-tip, .pc-service, .issues-card, .pu17, .article-start-cta):hover { border-color: transparent !important; background-origin: border-box !important; }
html body :is(main, .page) :is(div, a, section, article, aside):is([style*="border:1px solid"], [style*="border:1.5px solid"], [style*="border:2px solid"], [style*="border: 1px solid"], [style*="border: 1.5px solid"], [style*="border: 2px solid"])[style*="border-radius"] { border-color: transparent !important; background-origin: border-box !important; }
html body .pmhs-more-reading li a, html body .pmhs-more-reading li a:hover { border-color: transparent !important; }

/* ═══ Accessibility contrast pass ═══
   Accent blue darkened so text, labels and buttons pass WCAG AA (4.5:1) on white and the pale page backgrounds. */
:root { --tide: #2771a2; --ocean: #1f5a87; }
/* Boxes on the pale page background: white with a soft shadow so the edge is clear */
html body :is(.article-takeaways, .php-strip, .pmhs-more-reading li a, .php-guide-link, .pmhs-box:not(.ai-tile)) {
  background: #ffffff !important; border-color: transparent !important;
  box-shadow: 0 1px 2px rgba(10,22,40,0.06), 0 8px 22px -10px rgba(10,22,40,0.2) !important;
}
/* The same boxes inside a white card: a clear blue tint instead of a shadow */
html body :is(.info-card, .service-card, .article-card, .for-you-card, .privacy-card, .modality-card, .provider-card, .blog-card, .svc-card, .tt-game-card, .pi-landing-card) :is(.article-takeaways, .php-strip, .pmhs-more-reading li a, .php-guide-link, .pmhs-box:not(.ai-tile)) { background: #dcebf5 !important; box-shadow: none !important; }
/* Notices keep their meaning color, stronger */
html body :is(.pmhs-box-red, .lp-note, .lp-contact-crisis) { background: #f8e1e1 !important; box-shadow: none !important; }
html body :is(.pmhs-box-grn) { background: #dff1e6 !important; box-shadow: none !important; }
html body :is(main, .page) :is(.pmhs-box-red, .lp-note, .lp-contact-crisis):not(:is(.info-card, .service-card, .article-card, .for-you-card, .privacy-card, .modality-card, .provider-card, .blog-card, .svc-card, .tt-game-card, .pi-landing-card) *) { box-shadow: 0 1px 2px rgba(10,22,40,0.05), 0 8px 22px -12px rgba(10,22,40,0.18) !important; }
html body :is(main, .page) :is(.pmhs-box-grn):not(:is(.info-card, .service-card, .article-card, .for-you-card, .privacy-card, .modality-card, .provider-card, .blog-card, .svc-card, .tt-game-card, .pi-landing-card) *) { box-shadow: 0 1px 2px rgba(10,22,40,0.05), 0 8px 22px -12px rgba(10,22,40,0.18) !important; }
/* Form choices keep a visible outline (they are controls, not cards) */
html body :is(.reason-chip:not(.selected), .cf-mode-btn:not(.is-active), .quiz-opt) {
  border: 1px solid rgba(39,113,162,0.5) !important; background: #ffffff !important;
}
/* Light text on navy: brighter */
html body [style*="color:rgba(200,230,240,0.3"] { color: rgba(216,238,246,0.74) !important; }
html body footer :is(.footer-copy, .footer-bottom-row, .footer-bottom-row a, .footer-bottom-row span) { color: rgba(216,238,246,0.8) !important; }
html body a[href*="g.page"][style*="rgba(200,230,240,0.5)"] { color: rgba(216,238,246,0.88) !important; }
html body nav .logo-text .sub { color: #b4dcef !important; }
.issues-text { color: rgba(235,245,250,0.92) !important; }
/* Navy panels: accent text uses light mist blue so it stays readable on dark */
:root { --mist: #a6d6ec; }
html body :is([style*="background:rgba(14,32,60"], [style*="background:linear-gradient(135deg,#1e4e78"], [style*="background:linear-gradient(135deg,var(--deep)"], [style*="background:#1c3d5a"], [style*="background:var(--deep)"], #qualify-widget, #review-form-section, .pu17, .issues-card) :is([style*="color:var(--tide)"], [style*="color: var(--tide)"]) { color: var(--mist) !important; }
html body :is([style*="color:rgba(200,230,240,0.5"], [style*="color:rgba(200,230,240,0.6"], [style*="color:rgba(200,230,240,0.7"]) { color: rgba(216,238,246,0.86) !important; }
html body #consent-box [style*="color:rgba(196,48,48,0.9)"] { color: #a82828 !important; }
html body .provider-grid p[style*="color:var(--tide)"] { color: var(--ocean) !important; }
html body .review-card [style*="color:rgba(46,124,168,0.45)"] { color: rgba(31,90,135,0.85) !important; }
.cf-mode-badge { background: #1a7f3d !important; }
/* Text inside tinted boxes in cards uses the darker blue */
html body :is(.info-card, .service-card, .for-you-card, .privacy-card) :is([style*="background:rgba(58,150,200,0.0"], [style*="background:var(--salt)"], [style*="background:var(--white)"]) [style*="color:var(--tide)"] { color: var(--ocean) !important; }

/* Buttons on navy or dark backgrounds: white pill with navy text (Apple style on dark) */
html body :is(#main-nav, #mobile-nav, .pu17, .hero, #qualify-widget, #review-form-section, .article-start-cta, [style*="background:rgba(14,32,60"], [style*="background:linear-gradient(135deg, var(--navy"], [style*="background:linear-gradient(135deg,var(--navy"], [style*="background:linear-gradient(135deg,rgba(28,61,"], [style*="background:linear-gradient(135deg,var(--deep)"], section[style*="background:#1c3d5a"]) :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) { background: #ffffff !important; color: var(--deep) !important; }
html body :is(#main-nav, #mobile-nav, .pu17, .hero, #qualify-widget, #review-form-section, .article-start-cta, [style*="background:rgba(14,32,60"], [style*="background:linear-gradient(135deg, var(--navy"], [style*="background:linear-gradient(135deg,var(--navy"], [style*="background:linear-gradient(135deg,rgba(28,61,"], [style*="background:linear-gradient(135deg,var(--deep)"], section[style*="background:#1c3d5a"]) :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) svg { color: var(--deep) !important; }
html body :is(#main-nav, #mobile-nav, .pu17, .hero, #qualify-widget, #review-form-section, .article-start-cta, [style*="background:rgba(14,32,60"], [style*="background:linear-gradient(135deg, var(--navy"], [style*="background:linear-gradient(135deg,var(--navy"], [style*="background:linear-gradient(135deg,rgba(28,61,"], [style*="background:linear-gradient(135deg,var(--deep)"], section[style*="background:#1c3d5a"]) :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) svg[stroke]:not([stroke="none"]), html body :is(#main-nav, #mobile-nav, .pu17, .hero, #qualify-widget, #review-form-section, .article-start-cta, [style*="background:rgba(14,32,60"], [style*="background:linear-gradient(135deg, var(--navy"], [style*="background:linear-gradient(135deg,var(--navy"], [style*="background:linear-gradient(135deg,rgba(28,61,"], [style*="background:linear-gradient(135deg,var(--deep)"], section[style*="background:#1c3d5a"]) :is(.btn-primary, .pmhs-btn-solid, .pmhs-btn-outline, .article-start-cta-btn, .cq2-cta, .php-cta-btn, .verify-coverage-btn, #connect-submit-btn, .btn-pulse-dark, html body nav .nav-cta, .pi-back, .pc-service-more, .home-cta-view-services, .article-toolbar-btn, .pmhs-grad, .tfp-primary, .sms-action-btn, #mobile-nav a[href="/connect"], .blog-expand-btn, .sa-expand-btn, .cq2-btn, button[onclick^="qualify"], .call-flip-front, .mobile-call-flip-front, .tc-flip-front, .tc-email-flip-front, html body a[style*="background:var(--tide)"], html body button[style*="background:var(--tide)"]) svg [stroke]:not([stroke="none"]) { stroke: var(--deep) !important; }
html body :is(#main-nav, #mobile-nav, .pu17, .hero, #qualify-widget, #review-form-section, .article-start-cta, [style*="background:rgba(14,32,60"], [style*="background:linear-gradient(135deg, var(--navy"], [style*="background:linear-gradient(135deg,var(--navy"], [style*="background:linear-gradient(135deg,rgba(28,61,"], [style*="background:linear-gradient(135deg,var(--deep)"], section[style*="background:#1c3d5a"]) :is(.call-flip-back, .mobile-call-flip-back, .tc-flip-back, .tc-email-flip-back) { background: #ffffff !important; color: var(--ocean) !important; }

/* ═══ Accessibility panel: Apple Control Center style ═══ */
html body .a11y-panel {
  background: rgba(16,28,46,0.86) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.14) !important; border-radius: 24px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45) !important; padding: 1.25rem !important;
  max-height: calc(100vh - 7rem); overflow-y: auto;
}
html body .a11y-panel-title { font-size: 1.15rem !important; letter-spacing: -0.01em !important; text-transform: none !important; color: #fff !important; font-weight: 600 !important; margin: 0 0 0.9rem !important; }
html body .a11y-grid { gap: 0.5rem !important; }
html body .a11y-opt {
  display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 0.6rem !important;
  min-height: 52px; padding: 0.55rem 0.7rem !important; text-align: left !important;
  background: rgba(255,255,255,0.11) !important; border: 0 !important; border-radius: 16px !important;
  color: #fff !important; font-size: 0.8rem !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -0.005em !important;
  transition: background 0.15s ease, transform 0.12s ease !important; box-shadow: none !important;
}
html body .a11y-opt:hover { background: rgba(255,255,255,0.18) !important; }
html body .a11y-opt:active { transform: scale(0.97); }
html body .a11y-opt:focus-visible { outline: 2px solid #fff !important; outline-offset: 2px; }
html body .a11y-ico { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.16); color: #fff; }
html body .a11y-ico svg { width: 16px; height: 16px; }
/* On state: white tile, blue icon circle, navy label */
html body .a11y-opt.is-on, html body .a11y-opt[aria-pressed="true"] { background: #ffffff !important; color: var(--deep) !important; }
html body .a11y-opt.is-on .a11y-ico, html body .a11y-opt[aria-pressed="true"] .a11y-ico { background: var(--tide); color: #fff; }
html body .a11y-opt.a11y-reset { grid-column: 1 / -1; justify-content: center !important; min-height: 44px; background: rgba(255,255,255,0.07) !important; }
html body .a11y-opt.a11y-reset .a11y-ico { background: transparent; flex-basis: auto; width: auto; }
/* Section labels and helper text inside the panel */
html body .a11y-panel p[style*="text-transform:uppercase"] { text-transform: none !important; letter-spacing: -0.005em !important; font-size: 0.85rem !important; font-weight: 600 !important; color: #fff !important; }
html body .a11y-panel [style*="color:rgba(200,230,240,0.3"], html body .a11y-panel [style*="color:rgba(200,230,240,0.4"], html body .a11y-panel [style*="color:rgba(200,230,240,0.5"], html body .a11y-panel [style*="color:rgba(200,230,240,0.7"] { color: rgba(235,245,250,0.82) !important; }
html body .a11y-panel kbd { background: rgba(255,255,255,0.14) !important; border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 6px !important; color: #fff; }
html body .a11y-panel #a11y-dict-input { background: rgba(255,255,255,0.12) !important; border: 1px solid rgba(255,255,255,0.4) !important; border-right: 0 !important; color: #fff !important; border-radius: 980px 0 0 980px !important; }
html body .a11y-panel #a11y-dict-input::placeholder { color: rgba(235,245,250,0.7); }
html body .a11y-panel .pmhs-grad { background: #ffffff !important; color: var(--deep) !important; }
html body .a11y-panel .pmhs-grad[onclick="a11yLookup()"] { border-radius: 0 980px 980px 0 !important; }
html body .a11y-panel button[onclick="a11yTTSStop()"] { background: rgba(255,255,255,0.12) !important; color: #fff !important; border: 0 !important; border-radius: 0 980px 980px 0 !important; }
html body .a11y-panel button[onclick="a11yTTSPage()"] { border-radius: 980px 0 0 980px !important; }
html body .a11y-panel a[href="/accessibility"] { color: #cfe8f5 !important; border-bottom-color: rgba(255,255,255,0.3) !important; font-size: 0.8rem !important; }
html body .a11y-panel .a11y-contact { color: rgba(235,245,250,0.8) !important; }
html body .a11y-panel .a11y-contact a { color: #fff !important; }

/* ═══ Form controls: outlines that pass WCAG 1.4.11 (3:1) ═══ */
html body :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], input[type="date"], select, textarea):not(#a11y-dict-input):not(.sq-input):not(#search-input):not(#mobile-search-input):not([id*="inline-search"]) { border: 1px solid #5f86a6 !important; }
html body :is(.reason-chip:not(.selected), .cf-mode-btn:not(.is-active), .quiz-opt) { border: 1px solid #5f86a6 !important; }
html body :is(input, select, textarea):focus-visible { outline: 2px solid var(--tide) !important; outline-offset: 1px; border-color: var(--tide) !important; }
/* Fields on navy panels: light outline */
html body :is([style*="background:rgba(14,32,60"], #review-form-section, #qualify-widget) :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { border-color: rgba(255,255,255,0.55) !important; }
/* Open accessibility panel sits above the cookie banner */
html body .a11y-fab:has(.a11y-panel[style*="block"]) { z-index: 2147483000 !important; }
@media (min-width: 768px) { html body .a11y-panel { width: 400px !important; } }

/* ═══ 988 crisis pop-out: same solid red as the pill, Apple tile style ═══ */
html body #crisis-panel {
  background: #c43030 !important; border: 1px solid rgba(255,255,255,0.2) !important; border-radius: 24px !important;
  width: 290px !important; padding: 1.25rem !important; box-shadow: 0 24px 60px rgba(60,10,10,0.45) !important;
}
html body #crisis-panel > p:first-child { text-transform: none !important; letter-spacing: -0.01em !important; font-size: 1.1rem !important; font-weight: 600 !important; color: #fff !important; margin-bottom: 0.4rem !important; }
html body #crisis-panel > p:nth-child(2) { font-size: 0.875rem !important; font-weight: 400 !important; color: #fff !important; line-height: 1.5 !important; }
html body #crisis-panel :is(a, button) {
  background: rgba(0,0,0,0.16) !important; border: 0 !important; border-radius: 16px !important;
  padding: 0.6rem 0.75rem !important; gap: 0.7rem !important; min-height: 54px; transition: background 0.15s ease, transform 0.12s ease !important;
}
html body #crisis-panel :is(a, button):hover { background: rgba(0,0,0,0.26) !important; }
html body #crisis-panel :is(a, button):active { transform: scale(0.98); }
html body #crisis-panel :is(a, button) > svg:first-child {
  width: 32px !important; height: 32px !important; padding: 8px; box-sizing: border-box; flex-shrink: 0;
  border-radius: 50%; background: rgba(255,255,255,0.2); stroke: #fff !important;
}
html body #crisis-panel :is(a, button) > svg:last-child:not(:first-child) { stroke: rgba(255,255,255,0.8) !important; }
html body #crisis-panel :is(a, button) div > div:first-child { font-size: 0.9rem !important; color: #fff !important; }
html body #crisis-panel :is(a, button) div > div:last-child:not(:first-child) { font-size: 0.75rem !important; color: rgba(255,255,255,0.92) !important; }
html body #crisis-panel > p:last-child { font-size: 0.75rem !important; color: rgba(255,255,255,0.92) !important; line-height: 1.5 !important; }

/* ═══ Call and Text pop-ups: same sheet and tiles as the Accessibility panel ═══ */
html body :is(.sms-panel, .text-fab-pop) {
  background: rgba(16,28,46,0.86) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.14) !important; border-radius: 24px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45) !important; padding: 1.25rem !important;
}
html body :is(.sms-panel-title, .text-fab-pop .tfp-title) { font-size: 1.15rem !important; letter-spacing: -0.01em !important; text-transform: none !important; color: #fff !important; font-weight: 600 !important; margin: 0 0 0.85rem !important; }
html body .text-fab-pop .tfp-note { color: rgba(235,245,250,0.85) !important; font-size: 0.85rem !important; }
html body :is(.sms-person-card, .text-fab-pop .tfp-person) {
  background: rgba(255,255,255,0.11) !important; border: 0 !important; border-radius: 16px !important; padding: 0.85rem 0.9rem !important;
}
html body :is(.sms-person-name, .text-fab-pop .tfp-name) { font-size: 1rem !important; font-weight: 600 !important; color: #fff !important; letter-spacing: -0.01em; }
html body :is(.sms-person-number, .text-fab-pop .tfp-num) { font-size: 0.875rem !important; letter-spacing: 0 !important; color: rgba(235,245,250,0.85) !important; }
/* Main action: white pill with navy text, like the "on" tiles */
html body :is(#sms-panel.sms-panel .sms-action-btn.sms-action-btn, #text-fab-pop.text-fab-pop .tfp-primary.tfp-primary) {
  background: #ffffff !important; color: var(--deep) !important; border: 0 !important; border-radius: 980px !important;
  min-height: 40px; font-weight: 600 !important; box-shadow: none !important;
}
html body :is(#sms-panel.sms-panel .sms-action-btn.sms-action-btn, #text-fab-pop.text-fab-pop .tfp-primary.tfp-primary) svg, html body :is(#sms-panel.sms-panel .sms-action-btn.sms-action-btn, #text-fab-pop.text-fab-pop .tfp-primary.tfp-primary) svg [stroke] { color: var(--deep) !important; stroke: var(--deep) !important; }
html body :is(#sms-panel.sms-panel .sms-action-btn.sms-action-btn, #text-fab-pop.text-fab-pop .tfp-primary.tfp-primary):hover { background: #e9f1f7 !important; filter: none !important; }
html body .text-fab-pop .tfp-copy { background: rgba(255,255,255,0.14) !important; border: 0 !important; color: #fff !important; border-radius: 980px !important; }
html body .text-fab-pop .tfp-copy:hover { background: rgba(255,255,255,0.22) !important; }
html body :is(.sms-note, .text-fab-pop .tfp-crisis) { font-size: 0.8rem !important; color: rgba(235,245,250,0.85) !important; line-height: 1.5 !important; }
html body .sms-note a { color: #fff !important; text-decoration: underline; text-underline-offset: 2px; }
html body :is(#sms-panel.sms-panel .sms-action-btn.sms-action-btn, #text-fab-pop.text-fab-pop .tfp-primary.tfp-primary) :is(svg, svg[stroke], svg [stroke]) { stroke: var(--deep) !important; color: var(--deep) !important; }

/* ═══ Intake form accessibility ═══ */
/* Chips: darker outline and text, clear selected state */
html body #page-connect .reason-chip:not(.selected) { border: 1.5px solid var(--tide) !important; color: var(--deep) !important; background: #ffffff !important; font-weight: 500 !important; }
html body #page-connect .reason-chip:not(.selected):hover { background: #e6f0f7 !important; }
html body #page-connect .reason-chip.selected { background: var(--deep) !important; border: 1.5px solid var(--deep) !important; color: #ffffff !important; font-weight: 600 !important; }
html body #page-connect .reason-chip.chip-disabled { opacity: 0.5 !important; }
html body #page-connect :is(.reason-chip, .cf-mode-btn, .chips-more-toggle, button, a):focus-visible { outline: 3px solid var(--tide) !important; outline-offset: 2px !important; }
/* Field labels: readable size, sentence case */
html body #page-connect form :is(label, p.pmhs-form-label)[style*="text-transform:uppercase"] { font-size: 0.82rem !important; text-transform: none !important; letter-spacing: -0.005em !important; color: var(--deep) !important; font-weight: 600 !important; margin-bottom: 0.35rem !important; }
html body #page-connect #brings-heading { font-size: 0.9rem !important; text-transform: none !important; letter-spacing: -0.005em !important; color: var(--deep) !important; }
html body #page-connect #brings-hint { font-size: 0.82rem !important; color: #4a6075 !important; font-weight: 400 !important; }
/* Placeholders: readable but clearly not filled in */
html body #page-connect :is(input, textarea)::placeholder { color: #61748a !important; opacity: 1; }
/* Checkboxes: 24px target */
html body #page-connect input[type="checkbox"] { width: 22px !important; height: 22px !important; min-width: 22px; accent-color: var(--tide); margin: 1px; }
/* Invalid fields: red outline and tint (not color alone, the summary names each problem) */
html body #page-connect form [aria-invalid="true"]:is(input, select, textarea):not(#a11y-dict-input):not(.sq-input):not(#search-input):not(#mobile-search-input):not([id*="inline-search"]) { border: 2px solid #b52a2a !important; background: #fdf1f1 !important; }
html body #page-connect input[type="checkbox"][aria-invalid="true"] { outline: 2px solid #b52a2a; outline-offset: 2px; }
/* Error summary */
html body .pmhs-form-errors { background: #fbe7e7; border-left: 4px solid #b52a2a; border-radius: 12px; padding: 0.85rem 1rem; margin: 0 0 0.85rem; color: #7a1a1a; }
html body .pmhs-form-errors[hidden] { display: none !important; }
html body .pmhs-form-errors .pfe-title { font-size: 0.9rem; font-weight: 600; margin: 0 0 0.35rem; color: #7a1a1a; }
html body .pmhs-form-errors ul { margin: 0; padding-left: 1.15rem; }
html body .pmhs-form-errors li { font-size: 0.85rem; line-height: 1.5; color: #7a1a1a; }
html body .pmhs-form-errors:focus { outline: none; }
/* Floating buttons: filled Apple-style symbols, centered, with a light rim so they stay visible over navy */
html body :is(.text-fab, .sms-btn, .a11y-btn) { display: flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; padding: 0 !important; gap: 0 !important; }
html body :is(.text-fab, .sms-btn, .a11y-btn) .fab-ico { color: #fff !important; flex-shrink: 0; }
html body :is(.text-fab, .sms-btn, .a11y-btn) .fab-ico [fill="currentColor"] { fill: #fff !important; }
html body :is(.text-fab, .sms-btn, .a11y-btn) .fab-ico [stroke="currentColor"] { stroke: #fff !important; }
html body :is(.text-fab, .sms-btn, .a11y-btn) { box-shadow: 0 0 0 1.5px rgba(255,255,255,0.55), 0 4px 14px -4px rgba(10,22,40,0.35) !important; }
html body .text-fab .fab-ico { width: 26px !important; height: 26px !important; }
/* Homepage Request Care: locked to the header Get Started button's size */
html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) {
  box-sizing: border-box !important; width: 8.31rem !important; min-width: 8.31rem !important; max-width: 8.31rem !important;
  height: 2.5rem !important; min-height: 0 !important; padding: 0 !important; gap: 0.38rem !important;
  font-size: 0.98rem !important; line-height: 1 !important; white-space: nowrap !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 15px !important; height: 15px !important; flex-shrink: 0; }
@media (min-width: 1920px) {
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 9rem !important; min-width: 9rem !important; max-width: 9rem !important; height: 2.65rem !important; font-size: 1.05rem !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 16px !important; height: 16px !important; }
}
@media (max-width: 1023px) {
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 133px !important; min-width: 133px !important; max-width: 133px !important; height: 40px !important; font-size: 15.68px !important; }
}
@media (min-width: 2400px) {
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 9.03rem !important; min-width: 9.03rem !important; max-width: 9.03rem !important; height: 2.69rem !important; }
}

/* Provider cards: white header like every other card */
html body .provider-card::after { display: none !important; }
html body .provider-card > div[style*="linear-gradient(135deg,var(--deep)"] {
  background: #ffffff !important; border-bottom: 1px solid rgba(28,61,90,0.1) !important;
}
html body .provider-card > div[style*="linear-gradient(135deg,var(--deep)"] .provider-name { color: var(--deep) !important; }
html body .provider-card > div[style*="linear-gradient(135deg,var(--deep)"] p:first-child { color: var(--tide) !important; opacity: 1 !important; }
html body .provider-card > div[style*="linear-gradient(135deg,var(--deep)"] p:last-child { color: #4a6075 !important; }
html body .provider-card > div[style*="linear-gradient(135deg,var(--deep)"] .provider-portrait-wrap { border: 0 !important; box-shadow: 0 1px 2px rgba(10,22,40,0.08), 0 6px 18px -6px rgba(10,22,40,0.25) !important; }

/* ═══ White cards never sit on white ═══ */
/* Our Providers body uses the same pale page background as every other page */
html body .page-body-white { background: var(--salt) !important; }
/* White panels nested inside a white card get a blue tint instead */
html body :is(.service-card, .info-card, .article-card, .for-you-card, .privacy-card, .modality-card, .provider-card, .blog-card, .svc-card) :is(.pmhs-find, .related-article-card, .provider-card, .info-card) {
  background: #e8f1f8 !important; box-shadow: none !important; border-color: transparent !important;
}
html body :is(.service-card, .info-card, .article-card) :is(.pmhs-find, .related-article-card):hover { background: #dcebf5 !important; }
/* Request Care: same design as the header Get Started (no icon, same height, text size and side spacing) */
html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) {
  width: auto !important; min-width: 0 !important; max-width: none !important;
  height: 40px !important; padding: 0 1.5rem !important; font-size: 0.98rem !important; gap: 0 !important;
}
html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { display: none !important; }
@media (max-width: 1023px) {
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: auto !important; min-width: 0 !important; max-width: none !important; height: 40px !important; padding: 0 24px !important; font-size: 15.68px !important; }
}
@media (min-width: 1920px) {
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: auto !important; min-width: 0 !important; max-width: none !important; height: 2.68rem !important; padding: 0 1.65rem !important; font-size: 1.05rem !important; }
}
@media (min-width: 2400px) {
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { height: 2.71rem !important; }
}

/* ═══ Header Get Started and homepage Request Care: one locked size, stethoscope kept ═══ */
/* Under 1280px: 133 x 40 (Request Care text slightly smaller so the edges breathe) */
html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) {
  box-sizing: border-box !important; width: 133px !important; min-width: 133px !important; max-width: 133px !important;
  height: 40px !important; padding: 0 12px !important; font-size: 13.5px !important; gap: 6px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; white-space: nowrap !important; line-height: 1 !important;
}
html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { display: inline-block !important; width: 14px !important; height: 14px !important; flex-shrink: 0; }
/* 1280px and wider: both buttons 160 x 44 */
@media (min-width: 1280px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse {
    box-sizing: border-box !important; width: 160px !important; height: 44px !important; padding: 0 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 15.68px !important; white-space: nowrap !important;
  }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) {
    width: 160px !important; min-width: 160px !important; max-width: 160px !important; height: 44px !important;
    padding: 0 18px !important; font-size: 15.68px !important; gap: 8px !important;
  }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 16px !important; height: 16px !important; }
}
/* 1920px and wider: scaled up together */
@media (min-width: 1920px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 180px !important; height: 50px !important; font-size: 17.85px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 180px !important; min-width: 180px !important; max-width: 180px !important; height: 50px !important; padding: 0 20px !important; font-size: 17.85px !important; gap: 9px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 18px !important; height: 18px !important; }
}
@media (min-width: 2400px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 216px !important; height: 60px !important; font-size: 21.5px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 216px !important; min-width: 216px !important; max-width: 216px !important; height: 60px !important; padding: 0 24px !important; font-size: 21.5px !important; gap: 10px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 21px !important; height: 21px !important; }
}
/* Keep the header height unchanged where the button grew */
@media (min-width: 1920px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { margin-top: -3px !important; margin-bottom: -3px !important; } }
/* Slightly smaller: header Get Started and Request Care, still identical */
@media (min-width: 1280px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 152px !important; height: 42px !important; font-size: 15.2px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 152px !important; min-width: 152px !important; max-width: 152px !important; height: 42px !important; padding: 0 14px !important; font-size: 15.2px !important; gap: 7px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 15px !important; height: 15px !important; }
}
@media (min-width: 1920px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 170px !important; height: 47px !important; font-size: 17px !important; margin-top: -1px !important; margin-bottom: -1px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 170px !important; min-width: 170px !important; max-width: 170px !important; height: 47px !important; padding: 0 16px !important; font-size: 17px !important; gap: 8px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 17px !important; height: 17px !important; }
}
@media (min-width: 2400px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 205px !important; height: 57px !important; font-size: 20.5px !important; margin-top: -1px !important; margin-bottom: -1px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) { width: 205px !important; min-width: 205px !important; max-width: 205px !important; height: 57px !important; padding: 0 20px !important; font-size: 20.5px !important; gap: 9px !important; }
  html body :is(#hero-request-care, .hero .hero-actions > :is(a, button):first-child) svg { width: 20px !important; height: 20px !important; }
}
/* Header Get Started: icon before the text, styled like Request Care */
html body nav .nav-cta { gap: 7px !important; }
html body nav .nav-cta .nav-cta-ico { width: 15px; height: 15px; flex-shrink: 0; }
html body nav .nav-cta .nav-cta-ico, html body nav .nav-cta .nav-cta-ico * { stroke: currentColor !important; }
@media (max-width: 1279px) {
  html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { box-sizing: border-box !important; width: 133px !important; height: 40px !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 13.5px !important; gap: 6px !important; white-space: nowrap !important; }
  html body nav .nav-cta .nav-cta-ico { width: 14px; height: 14px; }
}
@media (min-width: 1920px) { html body nav .nav-cta { gap: 8px !important; } html body nav .nav-cta .nav-cta-ico { width: 17px; height: 17px; } }
@media (min-width: 2400px) { html body nav .nav-cta { gap: 9px !important; } html body nav .nav-cta .nav-cta-ico { width: 20px; height: 20px; } }
@media (max-width: 1279px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { vertical-align: middle !important; margin-top: -2px !important; margin-bottom: -2px !important; } }
/* Partnership coverage cards: deeper blue so they stand apart from the pale page, text kept readable */
html body .php-feature {
  background: #cfe3f1 !important; border-color: transparent !important;
  box-shadow: 0 1px 2px rgba(10,22,40,0.05), 0 10px 28px -12px rgba(10,22,40,0.2) !important;
}
html body .php-feature .php-feature-label, html body .php-feature .hub-facts dt { color: var(--ocean) !important; }
html body .php-feature .php-feature-text > p { color: #3d5568 !important; }
html body .php-feature .hub-facts > div { border-top-color: rgba(31,90,135,0.22) !important; }
html body .php-feature .php-feature-logo { border-right-color: rgba(31,90,135,0.22) !important; }
html body .php-feature .php-feature-points li { background: rgba(255,255,255,0.55) !important; border-color: rgba(31,90,135,0.25) !important; }
@media (max-width: 600px) { html body .php-feature .php-feature-logo { border-bottom-color: rgba(31,90,135,0.22) !important; } }

/* Search: Apple style.
   Desktop overlay (Spotlight): no box, text sits on the panel, caret shows focus.
   Phone menu (iOS): soft filled rounded bar, no outline. */
html body #search-input, html body #search-input:focus, html body #search-input:focus-visible {
  border: 0 !important; border-radius: 0 !important; background: transparent !important;
  outline: none !important; box-shadow: none !important; padding-left: 0.25rem !important; caret-color: #a6d6ec;
}
html body #mobile-search-input { border: 0 !important; border-radius: 10px !important; background: rgba(255,255,255,0.12) !important; outline: none !important; box-shadow: none !important; caret-color: #a6d6ec; }
html body #mobile-search-input:focus, html body #mobile-search-input:focus-visible { outline: none !important; box-shadow: none !important; background: rgba(255,255,255,0.16) !important; }
html body :is(#search-input, #mobile-search-input, #mobile-nav-inline-search)::placeholder { color: rgba(235,245,250,0.6) !important; }

/* Phone menu search: the wrapper is the iOS-style bar, the field inside stays clear */
html body #mobile-nav div.pmhs-box:has(#mobile-nav-inline-search) {
  background: rgba(255,255,255,0.12) !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important;
}
html body #mobile-nav div.pmhs-box:has(#mobile-nav-inline-search:focus) { background: rgba(255,255,255,0.16) !important; }
html body #mobile-nav-inline-search, html body #mobile-nav-inline-search:focus, html body #mobile-nav-inline-search:focus-visible {
  background: transparent !important; border: 0 !important; outline: none !important; box-shadow: none !important; color: #fff !important; caret-color: #a6d6ec !important; font-size: 0.95rem !important;
}
html body.mnav-open :is(.text-fab, .sms-fab, .a11y-fab) { display: none !important; }

/* ═══ Provider contact buttons: Apple hierarchy, equal sizes ═══ */
html :is(#pmhs-x, body) .provider-contact-actions {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; gap: 0.75rem !important; align-items: stretch !important;
}
html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip, .tc-email-flip) { width: 100% !important; height: 44px !important; }
html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip-front, .tc-flip-back, .tc-email-flip-front, .tc-email-flip-back) { font-size: 15px !important; font-weight: 600 !important; letter-spacing: -0.005em !important; text-transform: none !important; gap: 8px !important; }
/* Secondary: soft blue tint, blue text */
html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip-front, .tc-email-flip-front) {
  background: #e3eef6 !important; color: var(--ocean) !important; border: 0 !important; box-shadow: none !important;
}
html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip-front, .tc-email-flip-front) svg, html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip-front, .tc-email-flip-front) svg [stroke] { stroke: var(--ocean) !important; color: var(--ocean) !important; }
/* Flip side (number / email): solid blue */
html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip-back, .tc-email-flip-back) { background: var(--tide) !important; color: #fff !important; border: 0 !important; }
/* Primary: Book Appointment, solid blue, same size */
html :is(#pmhs-x, body) .provider-contact-actions > a.pmhs-grad {
  width: 100% !important; height: 44px !important; padding: 0 1rem !important; justify-content: center !important; border-radius: 980px !important;
  font-size: 15px !important; font-weight: 600 !important; letter-spacing: -0.005em !important; text-transform: none !important; gap: 8px !important; box-shadow: none !important;
}
/* Cards without a booking link: Call / Text becomes the primary */
html :is(#pmhs-x, body) .provider-contact-actions:not(:has(> a.pmhs-grad)) .tc-flip-front { background: var(--tide) !important; color: #fff !important; }
html :is(#pmhs-x, body) .provider-contact-actions:not(:has(> a.pmhs-grad)) .tc-flip-front svg, html :is(#pmhs-x, body) .provider-contact-actions:not(:has(> a.pmhs-grad)) .tc-flip-front svg [stroke] { stroke: #fff !important; color: #fff !important; }
html :is(#pmhs-x, body) .provider-contact-actions :is(.tc-flip-front, .tc-email-flip-front):hover { filter: brightness(0.96); }
html :is(#pmhs-x, body) .provider-contact-actions.provider-contact-actions :is(.tc-flip-front, .tc-email-flip-front) :is(svg[stroke], svg [stroke], svg) { stroke: var(--ocean) !important; color: var(--ocean) !important; }
html :is(#pmhs-x, body) .provider-contact-actions.provider-contact-actions:not(:has(> a.pmhs-grad)) .tc-flip-front :is(svg[stroke], svg [stroke], svg) { stroke: #fff !important; color: #fff !important; }
/* Call / Text is the main button on every provider card; booking becomes a soft button */
html :is(#pmhs-x, body) .provider-contact-actions.provider-contact-actions .tc-flip-front { background: var(--tide) !important; color: #fff !important; }
html :is(#pmhs-x, body) .provider-contact-actions.provider-contact-actions .tc-flip-front :is(svg[stroke], svg [stroke], svg) { stroke: #fff !important; color: #fff !important; }
html :is(#pmhs-x, body) .provider-contact-actions.provider-contact-actions > a.pmhs-grad { background: #e3eef6 !important; color: var(--ocean) !important; }
html :is(#pmhs-x, body) .provider-contact-actions.provider-contact-actions > a.pmhs-grad :is(svg[stroke], svg [stroke], svg) { stroke: var(--ocean) !important; color: var(--ocean) !important; }
/* Provider bios: easier reading. Regular weight, larger size, comfortable line length */
html body .provider-bio { font-size: 1rem !important; font-weight: 400 !important; line-height: 1.7 !important; color: #2f4a5f !important; max-width: none !important; }

/* ═══ Links inside sentences are underlined (WCAG 1.4.1: not color alone) ═══ */
html body :is(main, .page) :is(p, li, dd, td):not(.service-name):not(.page-eyebrow):not(.info-card-title):not(.blog-title):not(.related-article-title):not(.pc-service-name) a:is(:not([class]), .cov-tel, .lp-link):not([style*="display:flex"]):not([style*="display:inline-flex"]):not([style*="display: inline-flex"]):not([style*="display:block"]):not(.pmhs-more-reading a) {
  text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px !important;
}
html body :is(main, .page) :is(p, li, dd, td) a:is(:not([class]), .cov-tel, .lp-link):hover { text-decoration-thickness: 2px !important; }
/* Screen-reader-only text */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
/* Email flip faces: wrap long addresses instead of cutting them off */
html body :is(.tc-email-flip-back, .tc-email-flip-front) { white-space: normal !important; overflow-wrap: anywhere !important; line-height: 1.15 !important; text-align: center !important; padding: 0 10px !important; }
/* Ticker pauses for keyboard focus too */
.trust-track:focus-within { animation-play-state: paused !important; }
/* Review form: grows with its text; the decorative quote mark is still clipped sideways */
html body #review-form-section { height: auto !important; max-height: none !important; overflow-x: clip !important; overflow-y: visible !important; }
/* Ticker text and photo placeholder: readable contrast */
html body .trust-track .trust-item, html body .trust-track .trust-item span { color: rgba(235,245,250,0.95) !important; }
html body .provider-portrait-wrap span { color: var(--ocean) !important; font-size: 0.5rem !important; }
html body .provider-portrait-wrap svg { stroke: var(--ocean) !important; }
/* Boxes and pills inside the white Partnership banner get a blue tint */
html body .php-banner-inner :is(.pmhs-box, .pmhs-box:hover) { background: #dcebf5 !important; box-shadow: none !important; border-color: transparent !important; color: var(--ocean) !important; }
html body .php-banner-inner a.pmhs-box:hover { background: #cfe3f1 !important; }
/* White pulsing "accepting" dot */
@keyframes pmhsWhitePulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,0.75); } 70% { box-shadow: 0 0 0 7px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
html body .status-dot-white { background: #fff !important; animation: pmhsWhitePulse 1.8s ease-out infinite !important; }
@media (prefers-reduced-motion: reduce) { html body .status-dot-white { animation: none !important; } }
html body.a11y-reduce-motion .status-dot-white { animation: none !important; }

/* Accessibility panel on phones: compact, fits the screen */
@media (max-width: 767px) {
  html body .a11y-panel { padding: 0.9rem !important; border-radius: 20px !important; bottom: calc(1rem + 56px) !important; max-height: calc(100vh - 9rem) !important; max-height: calc(100dvh - 9rem) !important; }
  html body .a11y-panel-title { font-size: 1rem !important; margin-bottom: 0.6rem !important; }
  html body .a11y-grid { gap: 0.4rem !important; }
  html body .a11y-opt { min-height: 44px !important; padding: 0.4rem 0.55rem !important; gap: 0.45rem !important; font-size: 0.75rem !important; border-radius: 13px !important; }
  html body .a11y-ico { flex-basis: 26px !important; width: 26px !important; height: 26px !important; }
  html body .a11y-ico svg { width: 14px !important; height: 14px !important; }
  html body .a11y-opt.a11y-reset { min-height: 40px !important; }
  html body .a11y-panel p[style*="text-transform:uppercase"] { font-size: 0.8rem !important; }
  html body .a11y-panel #a11y-dict-input { font-size: 16px !important; padding-top: 0.45rem !important; padding-bottom: 0.45rem !important; }
  html body .a11y-panel .pmhs-grad[onclick="a11yLookup()"] { font-size: 0.85rem !important; }
}
/* Card titles that are links (county names) are headings, not in-sentence links: no underline */
html body :is(main, .page) :is(.service-name, .info-card-title, .blog-title, .related-article-title, .pc-service-name, .service-card-header-text p) a { text-decoration: none !important; }

/* ═══ Body text sitewide: same treatment as the provider bios ═══
   Dark slate (#2f4a5f, about 9:1 on white), regular weight, readable size. */
:root { --subtle: #2f4a5f; }
/* Regular weight instead of thin, on light backgrounds */
html body :is(main, .page) :is(p, li, span, div, dd, td)[style*="color:var(--subtle)"],
html body :is(.service-desc, .pc-service-text, .lp-faq-a, .svc-myth-f, .svc-myth-m, .php-strip-desc, .pmhs-find-desc, .modality-desc, .modality-detail, .how-it-works-body, .cf-info-full, .prov-other, .pu1, .pu3, .pu23, .tt-game-desc, .cov-section-sub, .cov-tip, .lp-contact-note, .lp-step-text, .lp-source, .lp-disclaimer, .dead-fill, .for-you-card p, .for-you-card li, .privacy-card-body p, .privacy-card-body li, .info-card-body p, .info-card-body li, .service-card-body p, .service-card-body li, .article-closing-note) {
  font-weight: 400 !important;
}
html body :is(.service-desc, .pc-service-text, .lp-faq-a, .svc-myth-f, .php-strip-desc, .pmhs-find-desc, .modality-desc, .how-it-works-body, .cf-info-full, .prov-other, .lp-step-text, .cov-section-sub, .article-closing-note) { color: #2f4a5f !important; }
/* Readable size for main description text (small captions and source notes keep their size) */
html body :is(.service-desc, .pc-service-text, .lp-faq-a, .svc-myth-f, .svc-myth-m, .php-strip-desc, .modality-desc, .how-it-works-body, .cf-info-full, .prov-other, .lp-step-text, .info-card-body > p, .info-card-body li, .privacy-card-body > p, .privacy-card-body li, .for-you-card-body > p, .for-you-card li) { font-size: 0.95rem !important; line-height: 1.7 !important; }
html body :is(main, .page) :is(p, li)[style*="color:var(--subtle)"]:is([style*="font-size:0.78rem"], [style*="font-size:0.8rem"], [style*="font-size:0.82rem"], [style*="font-size:0.83rem"], [style*="font-size:0.84rem"], [style*="font-size:0.85rem"], [style*="font-size:0.86rem"], [style*="font-size:0.88rem"], [style*="font-size:0.9rem"]) { font-size: 0.95rem !important; line-height: 1.7 !important; }
html body :is(main, .page) :is(p, li, span)[style*="color: var(--subtle)"],
html body :is(.pmhs-box-red, .pmhs-box-grn) :is(p, li, span),
html body :is(main, .page) :is(.svc-card, .issues-card, .treats-grid, .cf-mode, #connect-card-grid .for-you-card) :is(li, span)[style*="font-weight:300"] { font-weight: 400 !important; }
html body :is(.modality-list li, .pu22 span) { font-weight: 400 !important; color: #2f4a5f !important; }
/* Banner labels and breadcrumbs: light blue on the dark banners (readable contrast) */
html body :is(.page-hero, .connect-hero) :is(.page-eyebrow, .page-eyebrow a, .page-eyebrow span) { color: #a6d6ec !important; opacity: 1 !important; }
html body :is(.page-hero, .connect-hero) .page-eyebrow a:hover { color: #ffffff !important; }
/* Boxes with only right-side rounding: round all four corners like every other card */
html body :is(div, a, section)[style*="border-radius:0 12px 12px 0"], html body :is(div, a, section)[style*="border-radius: 0 12px 12px 0"] { border-radius: 22px !important; }
html body footer .footer-copy, html body footer .footer-copy span { font-size: 0.62rem !important; line-height: 1.7 !important; }
/* Header Get Started: slightly smaller (Request Care unchanged) */
@media (max-width: 1279px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 126px !important; height: 38px !important; font-size: 13px !important; } }
@media (min-width: 1280px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 144px !important; height: 40px !important; font-size: 14.5px !important; } }
@media (min-width: 1920px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 161px !important; height: 45px !important; font-size: 16.2px !important; } }
@media (min-width: 2400px) { html body nav .nav-cta, html body nav a.nav-cta.btn-pulse { width: 194px !important; height: 54px !important; font-size: 19.5px !important; } }

/* ═══ Page background behind white cards: a deeper blue so the cards stand out ═══ */
html body :is(.page-body, .page-body-white, .connect-form-body, #php-section, .how-it-works-section) { background: #dfe7ef !important; }
/* Labels sitting directly on the deeper background: darker blue so they stay readable */
html body :is(.page-body, .page-body-white, .connect-form-body, #php-section, .how-it-works-section) :is(.pmr-label, .psh-label, .section-label, .php-guide-links-label, .how-it-works-label, .cov-section-eyebrow) { color: var(--ocean) !important; }
html body :is(.page-body, .page-body-white, .connect-form-body, #php-section, .how-it-works-section) :is(p, a, span)[style*="color:var(--tide)"]:not(:is(.info-card, .service-card, .article-card, .for-you-card, .privacy-card, .modality-card, .provider-card, .blog-card, .svc-card, .pmhs-box, .php-feature, .php-banner-inner, .pu17, [style*="background:rgba(14,32,60"], #qualify-widget, #review-form-section) *) { color: var(--ocean) !important; }
/* Tinted boxes on the deeper background: deeper tints so they still stand apart */
html body :is(.page-body, .page-body-white) .php-feature { background: #c3d1df !important; }
html body :is(.page-body, .page-body-white) .php-feature .php-feature-text > p { color: #2f4a5f !important; }
html body .page-body > .pmhs-box-red, html body .page-body > * > .pmhs-box-red { background: #f2caca !important; }
html body .page-body > .pmhs-box-grn, html body .page-body > * > .pmhs-box-grn { background: #b5dcc4 !important; }
html body .pmhs-box-grn a[style*="color:#187038"] { color: #0f4d24 !important; }
html body #php-banner-connect, html body .php-banner-outer { background: #dfe7ef !important; }
/* Where We Serve notices: icon centered vertically beside the text */
html body .page-body > :is(.pmhs-box-red, .pmhs-box-grn), html body .page-body > * > :is(.pmhs-box-red, .pmhs-box-grn) { align-items: center !important; }
html body :is(.pmhs-box-red, .pmhs-box-grn) > .ai-tile { margin-top: 0 !important; align-self: center !important; }
/* Homepage "You might benefit" and "We treat" panels: deeper navy so they stand off the blue section */
html body .pmhs-dark-panel { background: #152f4a !important; border: 0 !important; box-shadow: 0 10px 28px -12px rgba(0,0,0,0.45) !important; }
html body .pmhs-dark-panel span[style*="border-radius:50px"] { background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.35) !important; }
/* Card footers without a name: Read button stays on the right */
html body :is(.sa-byline, .blog-byline) { justify-content: flex-end !important; }

/* ═══ Consent box: readable agreement text and clearly visible checkboxes ═══ */
html body #consent-box label { font-size: 0.875rem !important; font-weight: 400 !important; line-height: 1.6 !important; color: #2f4a5f !important; }
html body #consent-box label :is(strong, a) { font-size: inherit !important; }
/* Checkboxes: 2px outline at 4.5:1 on the tint, solid blue with a white check when ticked */
html body :is(#consent-box, #on-behalf-block) input[type="checkbox"] {
  -webkit-appearance: none !important; appearance: none !important; width: 22px !important; height: 22px !important; min-width: 22px !important;
  border: 2px solid #4f6b80 !important; border-radius: 6px !important; background: #ffffff !important; cursor: pointer; position: relative; margin: 2px 0 0 !important; flex-shrink: 0;
  display: inline-grid !important; place-content: center;
}
html body :is(#consent-box, #on-behalf-block) input[type="checkbox"]::after {
  content: ""; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) translate(-1px, -1px); opacity: 0;
}
html body :is(#consent-box, #on-behalf-block) input[type="checkbox"]:checked { background: var(--tide) !important; border-color: var(--tide) !important; }
html body :is(#consent-box, #on-behalf-block) input[type="checkbox"]:checked::after { opacity: 1; }
html body :is(#consent-box, #on-behalf-block) input[type="checkbox"]:focus-visible { outline: 3px solid var(--tide) !important; outline-offset: 2px !important; }
html body :is(#consent-box, #on-behalf-block) input[type="checkbox"][aria-invalid="true"] { border-color: #b52a2a !important; }

/* ═══ County weather card ═══ */
html body .pmhs-wx { width: 100%; box-sizing: border-box; align-self: stretch; background: #e8f1f8; border-radius: 16px; padding: 1.1rem 1.25rem; margin: 1.25rem 0 0.5rem; }
html body .pmhs-wx-head { margin-bottom: 0.9rem; }
html body .pmhs-wx-label { font-family: inherit !important; font-size: 0.95rem !important; font-weight: 600 !important; letter-spacing: -0.005em; text-transform: none !important; color: var(--deep) !important; margin: 0 0 0.15rem !important; line-height: 1.3 !important; }
html body .pmhs-wx-sub { font-size: 0.85rem; color: #2f4a5f; margin: 0; }
html body .pmhs-wx-days { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; }
html body .pmhs-wx-day { background: #fff; border-radius: 14px; padding: 0.75rem 0.5rem; text-align: center; }
html body .pmhs-wx-day::before { content: none !important; }
html body .pmhs-wx-dn { font-size: 0.8rem; font-weight: 600; color: var(--deep); margin: 0 0 0.35rem; }
html body .pmhs-wx-day svg { width: 28px; height: 28px; color: var(--tide); margin: 0 auto 0.3rem; display: block; }
html body .pmhs-wx-t { margin: 0; font-size: 0.95rem; color: var(--deep); }
html body .pmhs-wx-lo { color: #4a6075; }
html body .pmhs-wx-c { margin: 0.2rem 0 0; font-size: 0.75rem; color: #2f4a5f; line-height: 1.3; }
html body .pmhs-wx-src { font-size: 0.72rem; color: #4a6075; margin: 0.75rem 0 0; }
@media (max-width: 600px) {
  html body .pmhs-wx { padding: 0.95rem 0.85rem; }
  html body .pmhs-wx-days { gap: 0.3rem; }
  html body .pmhs-wx-day { padding: 0.55rem 0.15rem; }
  html body .pmhs-wx-c { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
}

/* ── Session page: tech check + first-session steps (Oct 2026) ── */
html body #page-session .tc-body { padding: 1.5rem 1.75rem 1.75rem; display: flex; flex-direction: column; gap: 1.25rem; }
html body #page-session .tc-intro { font-size: 0.9rem; color: var(--subtle); line-height: 1.7; margin: 0; }
html body #page-session .tc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
html body #page-session .tc-panel { background: #e8f1f8; border-radius: 16px; padding: 1.1rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: 0.8rem; min-width: 0; }
html body #page-session .tc-panel .h4-label, html body #page-session .tc-tips .h4-label { margin: 0 !important; }
html body #page-session .tc-video-wrap { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #1c3d5a; border-radius: 12px; overflow: hidden; }
html body #page-session .tc-video { width: 100%; height: 100%; object-fit: cover; display: block; transform: scaleX(-1); }
html body #page-session .tc-video-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 1rem; margin: 0; font-size: 0.85rem; color: #ffffff; }
html body #page-session .tc-video-wrap.is-live .tc-video-ph { display: none; }
html body #page-session .tc-meter-row { display: flex; align-items: center; gap: 0.75rem; }
html body #page-session .tc-meter-label { font-size: 0.8rem; color: var(--deep); font-weight: 500; white-space: nowrap; }
html body #page-session .tc-meter { flex: 1; height: 10px; background: #ffffff; border-radius: 99px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(28,61,90,0.18); }
html body #page-session .tc-meter span { display: block; height: 100%; width: 0; background: var(--tide); border-radius: 99px; transition: width 0.08s linear; }
html body #page-session .tc-speed { background: #ffffff; border-radius: 12px; padding: 1.1rem 1rem; text-align: center; flex: 1; display: flex; flex-direction: column; justify-content: center; min-height: 120px; }
html body #page-session .tc-speed-num { margin: 0; font-size: 2.4rem; font-weight: 600; color: var(--deep); line-height: 1.1; letter-spacing: -0.02em; }
html body #page-session .tc-speed-num small { font-size: 1rem; font-weight: 500; color: var(--subtle); letter-spacing: 0; }
html body #page-session .tc-speed-sub { margin: 0.3rem 0 0; font-size: 0.8rem; color: var(--subtle); }
html body #page-session .tc-btns { display: flex; flex-wrap: wrap; gap: 0.6rem; }
html body #page-session .tc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0.6rem 1.2rem; border: none; border-radius: 10px; background: var(--tide); color: #ffffff; font-family: 'DM Sans', sans-serif; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none !important; cursor: pointer; transition: background 0.2s; box-sizing: border-box; }
html body #page-session .tc-btn:hover { background: var(--ocean); }
html body #page-session .tc-btn:focus-visible { outline: 3px solid var(--deep); outline-offset: 2px; }
html body #page-session .tc-btn-2 { background: #ffffff; color: var(--ocean); box-shadow: inset 0 0 0 1.5px var(--tide); }
html body #page-session .tc-btn-2:hover { background: #dcebf5; }
html body #page-session .tc-btn[disabled] { opacity: 0.6; cursor: default; }
html body #page-session .tc-status { margin: 0; font-size: 0.82rem; color: var(--subtle); line-height: 1.55; }
html body #page-session .tc-status.is-good { color: #1d6b3f; font-weight: 500; }
html body #page-session .tc-status.is-warn { color: #8b1a1a; font-weight: 500; }
html body #page-session .tc-tips ul { margin: 0.6rem 0 0; padding-left: 1.15rem; font-size: 0.86rem; color: var(--subtle); line-height: 1.75; }
html body #page-session .tc-phone { display: flex; gap: 0.75rem; align-items: flex-start; background: #dcebf5; border-radius: 14px; padding: 1rem 1.15rem; }
html body #page-session .tc-phone svg { color: var(--tide); flex-shrink: 0; margin-top: 0.15rem; }
html body #page-session .tc-phone p { margin: 0; font-size: 0.86rem; color: var(--subtle); line-height: 1.65; }
html body #page-session .tc-phone strong { color: var(--deep); font-weight: 600; }
html body #page-session .fs-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; counter-reset: none; }
html body #page-session .fs-step { position: relative; background: #e8f1f8; border-radius: 16px; padding: 1rem 1rem 1.1rem; display: flex; flex-direction: column; gap: 0.6rem; }
html body #page-session .fs-step::before { content: none !important; }
html body #page-session .fs-num { width: 32px; height: 32px; border-radius: 50%; background: var(--tide); color: #ffffff; font-weight: 600; font-size: 0.9rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
html body #page-session .fs-title { margin: 0 0 0.25rem; font-size: 0.95rem; font-weight: 600; color: var(--deep); line-height: 1.3; }
html body #page-session .fs-text { margin: 0; font-size: 0.84rem; color: var(--subtle); line-height: 1.6; }
html body #page-session .fs-note { margin: 0; font-size: 0.88rem; color: var(--deep); font-weight: 500; }
@media (max-width: 1100px) {
  html body #page-session .fs-steps { grid-template-columns: 1fr; }
  html body #page-session .fs-step { flex-direction: row; align-items: flex-start; }
}
@media (max-width: 767px) {
  html body #page-session .tc-grid { grid-template-columns: 1fr; }
  html body #page-session .tc-body { padding: 1.25rem 1.1rem 1.4rem; }
  html body #page-session .tc-btn { width: 100%; }
}

/* ── County pages: air quality alert + everyday help (Oct 2026) ── */
html body .pmhs-aq { width: 100%; box-sizing: border-box; align-self: stretch; display: flex; gap: 0.85rem; align-items: flex-start; background: #f2caca; border-radius: 16px; padding: 1rem 1.15rem; margin: 1.25rem 0 0; }
html body .pmhs-aq-ico { width: 26px; height: 26px; color: #8b1a1a; flex-shrink: 0; margin-top: 0.1rem; }
html body .pmhs-aq-title { font-family: inherit !important; font-size: 0.95rem !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: #6e1414 !important; margin: 0 0 0.25rem !important; line-height: 1.3 !important; }
html body .pmhs-aq-text { margin: 0; font-size: 0.86rem; color: #3d1a1a; line-height: 1.6; }
html body .pmhs-aq-src { margin: 0.45rem 0 0; font-size: 0.72rem; color: #5c2424; }
html body .pmhs-aq-src a { color: #6e1414; text-decoration: underline; }
html body .pmhs-help-list { width: 100%; display: flex; flex-direction: column; gap: 0.65rem; }
html body .pmhs-help-item { width: 100%; box-sizing: border-box; background: var(--foam); border-radius: 22px; padding: 1rem 1.15rem; }
html body .pmhs-help-name { font-size: 0.82rem; font-weight: 600; color: var(--deep); margin: 0 0 0.4rem; }
html body .pmhs-help-text { font-size: 0.8rem; color: var(--subtle); font-weight: 300; line-height: 1.7; margin: 0; }
html body .pmhs-help-text a { color: var(--ocean); text-decoration: underline; font-weight: 500; overflow-wrap: anywhere; }
html body .pmhs-help-src { font-size: 0.72rem; color: #4a6075; margin: 0.6rem 0 0; width: 100%; }

/* ── Articles page: seasonal check-in (Oct 2026) ── */
html body .pmhs-season { background: #ffffff; border-radius: 22px; box-shadow: 0 6px 24px rgba(28,61,90,0.08); padding: 1.25rem 1.5rem 1.35rem; margin: -1.25rem 0 2.5rem; }
html body .pmhs-season-title { font-family: inherit !important; font-size: 1.05rem !important; font-weight: 600 !important; color: var(--deep) !important; margin: 0 0 0.35rem !important; line-height: 1.3 !important; text-transform: none !important; letter-spacing: 0 !important; }
html body .pmhs-season-text { margin: 0 0 0.75rem; font-size: 0.88rem; color: var(--subtle); line-height: 1.65; }
html body .pmhs-season-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.45rem; }
html body .pmhs-season-links li::before { content: none !important; }
html body .pmhs-season-links a { font-size: 0.88rem; color: var(--ocean); text-decoration: underline; font-weight: 500; line-height: 1.5; }
html body #page-session .tc-btn[hidden] { display: none !important; }
html body #page-session .fs-title { font-weight: 600 !important; }
html body #page-session .tc-speed-num { color: var(--deep) !important; }
html body #page-session .tc-tips ul { list-style: none !important; padding-left: 0 !important; }
html body #page-session .tc-tips li { position: relative !important; display: block !important; padding-left: 1.1rem !important; margin: 0 0 0.3rem !important; }
html body #page-session .tc-tips li::before { content: "" !important; position: absolute !important; left: 0.15rem !important; top: 0.68em !important; width: 6px !important; height: 6px !important; border-radius: 50% !important; background: var(--tide) !important; margin: 0 !important; display: block !important; }
html body .pmhs-help-name { font-weight: 600 !important; }
/* Session page: the card intro already says "Enter the virtual waiting room", so the repeat label above each name is hidden */
html body #session-grid .doxyme-badge2-content > div:first-child { display: none !important; }
html body #page-session .tc-speed { flex: none !important; min-height: 0 !important; padding: 1.5rem 1rem !important; }

/* ═══ Session page overhaul (Oct 2026) ═══ */
html body #session-grid { align-items: stretch; }
html body #session-grid > .for-you-card { transform: none !important; }
html body #page-session .sess-card-body, html body #page-session #session-grid > .for-you-card > div:not(.for-you-card-header) { box-sizing: border-box; }
html body #page-session .pu21 { margin: 0 0 0.85rem !important; }
html body #page-session .sess-sec + .sess-sec { margin-top: 1.6rem; }
html body #page-session .sess-p { margin: 0 0 0.9rem !important; }

/* Provider tiles: photo, name, title, waiting room, call/text, email */
html body #page-session .sess-provs { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0.75rem !important; flex-wrap: nowrap !important; width: 100%; }
html body #page-session .sess-prov { background: #e8f1f8; border-radius: 22px; padding: 1.35rem 1rem 1.1rem; display: flex; flex-direction: column; align-items: stretch; text-align: center; min-width: 0; }
html body #page-session .sess-prov .doxyme-badge2, html body #page-session .sess-prov .doxyme-badge2-content { display: contents !important; }
html body #page-session .sess-prov .doxyme-badge2-picture { order: 1; }
html body #page-session .sess-prov .doxyme-badge2-name { order: 2; margin: 0 0 0.15rem !important; font-size: 1.15rem !important; }
html body #page-session .sess-prov .sess-prov-role { order: 3; margin: 0 0 0.9rem; font-size: 0.8rem; color: #2f4a5f; line-height: 1.35; min-height: 2.7em; display: flex; align-items: flex-start; justify-content: center; }
html body #page-session .sess-prov .doxyme-badge2-room-link { order: 4; display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 40px; margin: 0 0 0.45rem !important; font-size: 0.85rem !important; padding: 0.55rem 0.75rem !important; }
html body #page-session .sess-prov .sess-prov-contact { order: 5; display: flex; flex-direction: column; gap: 0.45rem; width: 100%; }
html body #page-session .sess-prov .sess-prov-contact > div { width: 100% !important; margin: 0 !important; }
html body #page-session .sess-prov .doxyme-badge2-footer { order: 6; margin-top: 0.75rem !important; }
html body #page-session .sess-prov .doxyme-badge2-content > div:first-child { display: none !important; }
html body #page-session .sess-trouble { padding-top: 0.25rem; }
html body #page-session .sess-note { margin: auto 0 0 !important; padding-top: 1rem; border-top: 1px solid rgba(28,61,90,0.1); font-size: 0.78rem !important; color: #2f4a5f !important; line-height: 1.6 !important; }

/* Session information: full width, two columns */
html body #page-session .sess-info-grid { padding: 1.5rem 1.75rem 1.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
html body #page-session .sess-col { min-width: 0; display: flex; flex-direction: column; }
html body #page-session .sess-list { display: flex; flex-direction: column; gap: 0.55rem; }
html body #page-session .sess-alert { margin: 0.6rem 0 0 !important; padding: 0.8rem 1rem !important; border-radius: 14px !important; font-size: 0.85rem !important; color: #8b1a1a !important; line-height: 1.55 !important; border: 0 !important; }

/* Test your setup: camera panel, then a separate internet strip */
html body #page-session .tc-stack { display: block; }
html body #page-session .tc-net { background: #e8f1f8; border-radius: 16px; padding: 1rem 1.15rem; display: flex; flex-direction: column; gap: 0.6rem; }
html body #page-session .tc-net-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
html body #page-session .tc-net-main { min-width: 0; }
html body #page-session .tc-net-main .h4-label { margin: 0 0 0.2rem !important; }
html body #page-session .tc-net-result { margin: 0; font-size: 0.85rem; color: #2f4a5f; }
html body #page-session .tc-net-num { font-size: 1.35rem; font-weight: 600; color: var(--deep); letter-spacing: -0.01em; margin-right: 0.15rem; }
html body #page-session #tech-check .tc-body { flex: 1; }
html body #page-session .tc-phone { margin-top: auto; }

@media (max-width: 1023px) {
  html body #page-session .sess-info-grid { grid-template-columns: 1fr; gap: 1.6rem; }
}
@media (max-width: 560px) {
  html body #page-session .sess-provs { grid-template-columns: 1fr !important; }
  html body #page-session .sess-prov .sess-prov-role { min-height: 0; }
  html body #page-session .sess-info-grid { padding: 1.25rem 1.1rem 1.4rem; }
  html body #page-session .tc-net-row .tc-btn { width: 100%; }
}

/* ═══ Grouped lists (Apple inset style) replace the old left-bar rows ═══ */
html body .pmhs-group { list-style: none !important; margin: 0 !important; padding: 0 !important; background: #e8f1f8; border-radius: 16px; overflow: hidden; }
html body .pmhs-group > li { display: flex; gap: 0.85rem; align-items: baseline; padding: 0.75rem 1rem !important; margin: 0 !important; font-size: 0.86rem; color: #2f4a5f; line-height: 1.55; }
html body .pmhs-group > li::before { content: none !important; display: none !important; }
html body .pmhs-group > li + li { border-top: 1px solid rgba(28,61,90,0.09); }
html body .pmhs-group > li > span { font-size: inherit !important; color: inherit !important; font-weight: 400 !important; }
html body .pmhs-group .pg-k { flex: 0 0 5.5rem; font-weight: 600 !important; color: var(--deep) !important; }
/* Same look for the remaining left-bar row lists on other pages */
html body div:has(> .pmhs-box[style*="border-radius:0 6px 6px 0"] + .pmhs-box[style*="border-radius:0 6px 6px 0"]) { gap: 0 !important; background: #e8f1f8 !important; border-radius: 16px !important; overflow: hidden; }
html body div:has(> .pmhs-box[style*="border-radius:0 6px 6px 0"] + .pmhs-box[style*="border-radius:0 6px 6px 0"]) > div { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0.7rem 1rem !important; box-shadow: none !important; }
html body div:has(> .pmhs-box[style*="border-radius:0 6px 6px 0"] + .pmhs-box[style*="border-radius:0 6px 6px 0"]) > div + div { border-top: 1px solid rgba(28,61,90,0.09) !important; }
/* Single left-bar notes become plain rounded tinted notes */
html body .pmhs-box[style*="border-radius:0 6px 6px 0"] { border-left: 0 !important; border-radius: 14px !important; }
/* Large left-bar panels (Therapy Tools) become standard cards */
html body .pmhs-box[style*="border-radius:0 12px 12px 0"] { border: 0 !important; border-radius: 22px !important; box-shadow: 0 1px 2px rgba(10,22,40,0.04), 0 10px 30px -12px rgba(10,22,40,0.14) !important; }
html body #page-session .pu21 { margin: 1.5rem 0 0.85rem !important; }
html body #page-session :is(.sess-sec, .sess-trouble, .tc-panel, .tc-net-main) > .pu21:first-child, html body #page-session .sess-sec > .pu21 { margin-top: 0 !important; }
html body #page-session .sess-card-body.sess-cols-2, html body #page-session .sess-card-body.sess-cols-3 { padding: 1.5rem 1.75rem 1.75rem; display: grid; gap: 2.5rem; }
html body #page-session .sess-cols-2 { grid-template-columns: 1fr 1fr; }
html body #page-session .sess-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html body #page-session .sess-cols-2 > .sess-sec + .sess-sec, html body #page-session .sess-cols-3 > .sess-sec + .sess-sec { margin-top: 0; }
@media (max-width: 1023px) {
  html body #page-session :is(.sess-cols-2, .sess-cols-3) { grid-template-columns: 1fr; gap: 1.6rem; }
}
@media (max-width: 560px) {
  html body #page-session :is(.sess-cols-2, .sess-cols-3) { padding: 1.25rem 1.1rem 1.4rem; }
}
/* Accessibility: offers as a row of tiles, rights as a two-column grouped list */
html body #page-session .sess-acc { padding: 1.5rem 1.75rem 1.75rem; display: flex; flex-direction: column; gap: 1.6rem; }
html body #page-session .sess-offer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
html body #page-session .sess-offer > div { background: #e8f1f8; border-radius: 16px; padding: 0.9rem 1rem; display: flex; align-items: flex-start; gap: 0.65rem; font-size: 0.86rem; line-height: 1.5; }
html body #page-session .sess-offer > div a { font-size: 0.86rem; }
html body .pmhs-group-2col { display: grid; grid-template-columns: 1fr 1fr; grid-auto-flow: column; grid-template-rows: repeat(3, auto); }
html body .pmhs-group-2col > li + li { border-top: 0; }
html body .pmhs-group-2col > li:not(:nth-child(1)):not(:nth-child(4)) { border-top: 1px solid rgba(28,61,90,0.09); }
html body .pmhs-group-2col > li:nth-child(n+4) { border-left: 1px solid rgba(28,61,90,0.09); }
html body #page-session .sess-prov .tc-flip, html body #page-session .sess-prov .tc-email-flip { height: 38px !important; }
html body #page-session .sess-prov .doxyme-badge2-room-link { min-height: 38px; }
html body #page-session .sess-trouble .pu22 + .pu22 { margin-top: 0.15rem; }
@media (max-width: 1023px) {
  html body #page-session .sess-offer { grid-template-columns: 1fr 1fr; }
  html body .pmhs-group-2col { grid-template-columns: 1fr; grid-auto-flow: row; grid-template-rows: none; }
  html body .pmhs-group-2col > li:nth-child(n+4) { border-left: 0; }
  html body .pmhs-group-2col > li:nth-child(4) { border-top: 1px solid rgba(28,61,90,0.09); }
}
@media (max-width: 560px) {
  html body #page-session .sess-offer { grid-template-columns: 1fr; }
  html body #page-session .sess-acc { padding: 1.25rem 1.1rem 1.4rem; }
}
html body #page-session .sess-acc > .sess-sec + .sess-sec { margin-top: 0 !important; }
html body .pmhs-group-2col > li { align-items: center; }
html body #page-session .sess-prov :is(.tc-flip-front, .tc-flip-back, .tc-email-flip-front, .tc-email-flip-back) { font-size: 0.8rem !important; }

/* ═══ Session page: every card fills to its bottom edge ═══ */
html body #session-grid > .for-you-card > div:not(.for-you-card-header):not(.sess-info-grid):not(.sess-cols-3) { flex: 1 1 auto; display: flex; flex-direction: column; }
html body #session-grid > .for-you-card > div:is(.sess-info-grid, .sess-cols-3) { flex: 1 1 auto; }
html body #page-session :is(.sess-info-grid, .sess-cols-3) { display: grid; align-items: stretch; }
html body #page-session :is(.sess-col, .sess-cols-3 > .sess-sec) { display: flex; flex-direction: column; }
html body #page-session .sess-col > .sess-sec:last-child, html body #page-session .sess-cols-3 > .sess-sec, html body #page-session .sess-trouble { flex: 1 1 auto; display: flex; flex-direction: column; }
html body #page-session .sess-note { margin-top: 1.25rem !important; }
/* Tinted panels with hairline rows */
html body #page-session .sess-panel { background: #e8f1f8; border-radius: 16px; padding: 0.15rem 1rem; display: flex; flex-direction: column; gap: 0 !important; }
html body #page-session .sess-panel > *:not(.pmhs-grad) { padding: 0.5rem 0 !important; margin: 0 !important; }
html body #page-session .sess-panel > * + * { border-top: 1px solid rgba(28,61,90,0.09) !important; }
html body #page-session .sess-panel .pu22 { align-items: center; }
html body #page-session .sess-panel .pu22 svg { margin-top: 0 !important; }
html body #page-session .sess-panel > a { border-bottom: 0 !important; }
/* Grow to fill the space left in the column; rows share the extra height */
html body #page-session .sess-fill { flex: 1 1 auto; display: flex; flex-direction: column; }
html body #page-session .sess-fill > * { flex: 0 0 auto; }
html body #page-session .sess-fill-crisis { gap: 0.5rem; }
html body #page-session .sess-fill-crisis > a { margin: 0 !important; }
/* Patient portal panel: text on top, button anchored at the bottom */
html body #page-session .sess-portal { padding: 1rem 1.1rem !important; justify-content: space-between; gap: 0.9rem !important; }
html body #page-session .sess-portal > * { flex: 0 0 auto !important; border: 0 !important; }
html body #page-session .sess-portal > p { padding: 0 !important; }
html body #page-session .sess-portal > a { align-self: flex-start; display: inline-flex !important; }
html body #page-session .sess-portal .sess-p { margin: 0 !important; }
/* Test your setup: the phone box takes the leftover height */
html body #page-session #tech-check .tc-body { display: flex; flex-direction: column; }
html body #page-session .tc-phone { flex: 1 1 auto; align-items: center; margin-top: 0 !important; }
html body #page-session .sess-trouble .sess-panel { background: transparent; padding: 0; border-radius: 0; }
html body #page-session .sess-trouble .sess-panel > * { padding: 0.2rem 0 !important; }
html body #page-session .sess-trouble .sess-panel > * + * { border-top: 1px solid rgba(28,61,90,0.07) !important; }
html body #page-session .sess-portal > .pmhs-grad { padding: 0.65rem 1.25rem !important; }
/* Trouble list: compact rows (no stretching) */
html body #page-session .sess-trouble .sess-fill { flex: 0 0 auto; }
html body #page-session .sess-trouble .sess-fill > * { flex: 0 0 auto; }
html body #page-session .sess-trouble .sess-panel > * { padding: 0.5rem 0 !important; }
html body #page-session .sess-trouble .pu22 a { color: var(--ocean); text-decoration: underline; font-weight: 500; }
html body #page-session .sess-note { margin-top: auto !important; }
html body #page-session .sess-trouble { margin-bottom: 1.25rem; }
/* Patient portal details */
html body #page-session .sess-portal { justify-content: flex-start; }
html body #page-session .sess-portal-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; }
html body #page-session .sess-portal-list li { margin: 0 !important; padding: 0.55rem 0 !important; font-size: 0.86rem; color: #2f4a5f; line-height: 1.55; border-top: 1px solid rgba(28,61,90,0.09); }
html body #page-session .sess-portal-list li::before { content: none !important; display: none !important; }
html body #page-session .sess-portal-list strong { color: var(--deep); font-weight: 600; }
html body #page-session .sess-portal > .pmhs-grad { margin-top: auto !important; }
html body #page-session .sess-portal-list { display: flex !important; flex-direction: column !important; align-items: stretch !important; }
html body #page-session .tc-devices .h4-label { margin: 0 0 0.6rem !important; }
html body #page-session .tc-devices .pg-k { flex: 0 0 7.5rem; }
html body #page-session .tc-phone { flex: 0 0 auto !important; }
html body #page-session #tech-check .tc-body > :last-child { margin-top: auto; }
html body #page-session .sess-steps { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 0.6rem; }
html body #page-session .sess-steps li { display: flex; gap: 0.7rem; align-items: flex-start; margin: 0 !important; padding: 0 !important; font-size: 0.86rem; color: #2f4a5f; line-height: 1.55; }
html body #page-session .sess-steps li::before { content: none !important; display: none !important; }
html body #page-session .sess-steps .pu6 { width: 22px; height: 22px; font-size: 0.7rem; margin-top: 0.05rem; font-family: inherit !important; }
/* Join and Test cards: full width, two inner columns */
html body #page-session #session-grid > .sess-full > div.tc-body, html body #page-session .sess-join-body { }
html body #page-session .sess-join-a, html body #page-session .sess-join-b { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
html body #page-session .sess-join-b .sess-trouble { margin-bottom: 0; flex: 1 1 auto; }
html body #page-session .tc-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; align-items: stretch; flex: 1 1 auto; }
html body #page-session .tc-cols > .tc-stack { display: flex; flex-direction: column; }
html body #page-session .tc-cols > .tc-stack > .tc-panel { flex: 1 1 auto; }
html body #page-session .tc-side { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
html body #page-session .tc-side > .tc-phone { margin-top: auto; }
@media (min-width: 1024px) {
  html body #session-grid > .for-you-card > div:has(> .sess-join-a) { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: stretch; }
}
@media (max-width: 1023px) {
  html body #page-session .tc-cols { grid-template-columns: 1fr; }
}
html body #page-session .tc-av-tips { list-style: none !important; margin: auto 0 0 !important; padding: 0.75rem 0 0 !important; border-top: 1px solid rgba(28,61,90,0.1); display: flex; flex-direction: column; gap: 0.4rem; }
html body #page-session .tc-av-tips li { position: relative; margin: 0 !important; padding: 0 0 0 1rem !important; font-size: 0.84rem; color: #2f4a5f; line-height: 1.55; }
html body #page-session .tc-av-tips li::before { content: "" !important; position: absolute !important; left: 0.1rem; top: 0.62em; width: 6px; height: 6px; border-radius: 50%; background: var(--tide) !important; display: block !important; }
/* On very wide screens the check-in steps move to Test Your Setup so both cards stay balanced */
html body #page-session .sess-checkin-b { display: none; }
html body #page-session .sess-checkin-b .h4-label { margin: 0 0 0.6rem !important; }
@media (min-width: 1800px) {
  html body #page-session .sess-checkin-a { display: none; }
  html body #page-session .sess-checkin-b { display: block; }
}
html body #page-session .sess-join-a > .sess-provs { flex: 1 1 auto; align-items: stretch !important; }
html body #page-session .sess-prov .doxyme-badge2-footer { margin-top: auto !important; padding-top: 0.75rem; }
html body #page-session .sess-portal .sess-p { font-size: 0.86rem !important; color: #2f4a5f !important; }

/* ═══ Careers page expansion (Oct 2026) ═══ */
html body #page-careers-page .car-sec-head { margin-top: 0.5rem; }
html body #page-careers-page .car-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-bottom: 2.5rem; }
html body #page-careers-page .car-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-bottom: 2.5rem; }
html body #page-careers-page :is(.car-grid-3, .car-grid-2) > .service-card { display: flex; flex-direction: column; }
html body #page-careers-page :is(.car-grid-3, .car-grid-2) .service-card-body { flex: 1 1 auto; display: flex; flex-direction: column; }
html body #page-careers-page :is(.car-grid-3, .car-grid-2) .car-note { margin-top: auto; }
html body #page-careers-page .car-link { align-self: flex-start; margin-top: auto; }
html body #page-careers-page .car-kv .pg-k { flex: 0 0 6.5rem; }
html body #page-careers-page .car-grid-2 + .car-source { margin-top: -1.5rem; }
html body #page-careers-page .car-source { font-size: 0.78rem; color: #2f4a5f; line-height: 1.6; margin: 0 0 2.5rem; }
html body #page-careers-page .car-source a { color: var(--ocean); text-decoration: underline; }
html body #page-careers-page .car-faq { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2.5rem; }
html body #page-careers-page .car-faq-item { background: #fff; border-radius: 22px; padding: 1.15rem 1.25rem; box-shadow: 0 1px 2px rgba(10,22,40,0.04), 0 10px 30px -12px rgba(10,22,40,0.14); }
html body #page-careers-page .car-faq-q { margin: 0 0 0.4rem; font-size: 0.92rem; font-weight: 600; color: var(--deep); line-height: 1.35; }
html body #page-careers-page .car-faq-a { margin: 0; font-size: 0.86rem; color: #2f4a5f; line-height: 1.6; }
@media (max-width: 1023px) {
  html body #page-careers-page .car-grid-3, html body #page-careers-page .car-faq { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  html body #page-careers-page :is(.car-grid-3, .car-grid-2, .car-faq) { grid-template-columns: 1fr; }
  html body #page-careers-page .car-kv > li { flex-direction: column; gap: 0.15rem; }
}
html body #page-careers-page :is(.car-grid-3, .car-grid-2) .service-desc { flex: 0 0 auto !important; }
/* Test Your Setup: phone box fills the rest of the right column */
html body #page-session .tc-side > .tc-phone { flex: 1 1 auto !important; margin-top: 0 !important; align-items: center; }
html body #page-session .sess-cols-3 .sess-panel a { color: var(--ocean); text-decoration: underline; font-weight: 500; font-style: normal; }

/* ═══ Card headers: icon tile + label over title, like Test Your Setup (Oct 2026) ═══ */
html body .has-ico { display: flex !important; align-items: center !important; gap: 0.85rem !important; }
html body .has-ico > .card-ico { width: 44px !important; height: 44px !important; min-width: 44px; border-radius: 12px !important; background: var(--tide) !important; border: 0 !important; box-shadow: none !important; display: flex !important; align-items: center; justify-content: center; flex-shrink: 0; color: #fff; margin: 0 !important; }
html body .has-ico > .card-ico svg { width: 22px; height: 22px; stroke: #fff !important; }
html body .has-ico > .card-ico svg * { stroke: #fff !important; }
html body .has-ico > .card-head-text { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; }
html body .has-ico > .card-head-text > :is(.info-card-label, .for-you-card-label, .blog-tag) { margin: 0 0 0.15rem !important; }
html body .has-ico > .card-head-text > :is(.info-card-title, h3, .blog-title) { margin: 0 !important; }
html body .has-ico { gap: 0.75rem !important; }
html body .has-ico > .card-head-text > :is(.info-card-label, .for-you-card-label, .blog-tag) { font-size: 12.48px !important; font-weight: 600 !important; color: var(--tide) !important; letter-spacing: -0.005em !important; text-transform: none !important; line-height: 1.35 !important; opacity: 1 !important; }
html body .has-ico > .card-head-text > :is(.info-card-title, h3) { font-size: 23.2px !important; font-weight: 600 !important; color: var(--deep) !important; letter-spacing: -0.022em !important; line-height: 1.2 !important; }
html body .has-ico > .card-head-text > .blog-title { font-size: 19px !important; font-weight: 600 !important; color: var(--deep) !important; letter-spacing: -0.02em !important; line-height: 1.25 !important; }
@media (max-width: 600px) {
  html body .has-ico > .card-head-text > :is(.info-card-title, h3) { font-size: 20px !important; }
}
html body .blog-card-header.has-ico > .card-head-text > .blog-tag.blog-tag.blog-tag.blog-tag { color: var(--tide) !important; font-size: 12.48px !important; font-weight: 600 !important; }
html body .has-ico > .card-head-text > :is(.info-card-label, .for-you-card-label).x, html body :is(.info-card-header, .for-you-card-header).has-ico .card-head-text :is(.info-card-label, .for-you-card-label):not(#z) { color: var(--tide) !important; }

/* County pages: Related Reading as a tinted grouped list (was white rows on a white card) */
html body .pmhs-related-list { gap: 0 !important; background: #e8f1f8 !important; border-radius: 16px !important; overflow: hidden; }
html body .pmhs-related-list > .pmhs-related-row { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0.85rem 1.1rem !important; font-size: 0.86rem !important; color: var(--ocean) !important; transition: background 0.15s ease !important; }
html body .pmhs-related-list > .pmhs-related-row + .pmhs-related-row { border-top: 1px solid rgba(28,61,90,0.09) !important; }
html body .pmhs-related-list > .pmhs-related-row:hover { background: #dcebf5 !important; }
html body .pmhs-related-list > .pmhs-related-row span { text-decoration: none !important; }
html body :is(main, .page) .pmhs-related-list > a.pmhs-related-row.pmhs-related-row + a.pmhs-related-row { border-top: 1px solid rgba(28,61,90,0.1) !important; border-top-color: rgba(28,61,90,0.1) !important; }
html body :is(main, .page) .pmhs-related-list > a.pmhs-related-row.pmhs-related-row { border-radius: 0 !important; }
