/* Shared site polish. Loaded once after page-components.css. */
.aap-btn--primary,a.aap-btn--primary,.btn-primary,a.btn-primary{color:#fff!important}
.aap-cta-band .aap-btn--primary,.aap-cta-band a.aap-btn--primary,.aap-cta-band .btn-primary,.aap-cta-band a.btn-primary{color:#fff!important}
.aap-cta-band .aap-btn--primary:hover,.aap-cta-band a.aap-btn--primary:hover{color:#fff!important}
img.aap-byline__photo{width:72px!important;height:72px!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center top!important;border-radius:50%!important}
ol.aap-steps,ol.aap-steps>li{list-style:none!important}
a.aap-pkg,a.aap-cap{text-decoration:none!important}
a.aap-pkg:hover .aap-pkg__go,a.aap-pkg:focus-visible .aap-pkg__go{text-decoration:underline!important}

/* Button rhythm and footer lockup. */
.aap-hero__inner a.aap-btn,.aap-hero__inner a.btn,.aap-cta-band__inner a.aap-btn,.aap-cta-band__inner a.btn,.aap-cta-band__actions a.aap-btn,.aap-cta-band__actions a.btn{margin:7px 14px 7px 0}
.aap-hero__inner a.aap-btn:last-child,.aap-cta-band__inner a.aap-btn:last-child{margin-right:0}
.hero-actions,.mobile-cta-group,.aap-cta-band__actions{gap:14px!important}
.site-footer .footer-brand{min-width:0!important;max-width:100%!important;margin-right:0!important}
.site-footer .aap-footer-grid--refined .footer-brand>.aap-footer-lockup{column-gap:12px!important}
.footer-tagline{max-width:46ch!important;margin-top:1.15rem!important;line-height:1.75!important}
.site-footer .footer-brand .logo{width:100%!important;max-width:320px!important;margin-bottom:1.15rem!important;display:block!important}
.site-footer .footer-brand .site-logo-img{display:block!important;width:100%!important;max-width:320px!important;height:auto!important;max-height:none!important;margin-bottom:0!important;object-fit:contain!important;object-position:left center!important}

/* Header and compact Concierge clearance. */
@media(max-width:900px){
  header .hamburger,.header-inner .hamburger,.hamburger{right:14px!important}
  .aap-mobile-cta-bar{padding-left:14px!important;padding-right:14px!important}
  body:not(.home):has(.aap-action-rail.is-visible:not(.aap-has-visible-choice)) .aapc-launch{bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:380px){header .hamburger,.header-inner .hamburger,.hamburger{right:11px!important}}
@media(max-width:1120px){
  .aapc-launch,html body .aapc-launch{position:fixed!important;top:auto!important;right:14px!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;width:44px!important;height:44px!important;min-width:44px!important;padding:5px!important;justify-content:center!important;gap:0!important}
  .aapc-launch .aapc-launch-txt,html body .aapc-launch .aapc-launch-txt{display:none!important}
  .aapc-launch .aapc-launch-logo,html body .aapc-launch .aapc-launch-logo{margin:0!important}
  body.aap-concierge-clearance .aapc-launch{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
@media(min-width:901px){body.page-id-19456 .aapc-launch{display:none!important}}
@media(max-width:480px){
  .site-header .header-inner>.logo{width:min(230px,calc(100vw - 145px))!important;max-width:230px!important;min-width:0!important;flex:0 1 230px!important}
  .site-header .header-inner>.logo>.site-logo-img{width:auto!important;max-width:230px!important;height:52px!important;object-fit:contain!important}
}
@media(max-width:340px){
  .site-header .header-inner>.logo{width:158px!important;max-width:158px!important;flex-basis:158px!important}
  .site-header .header-inner>.logo>.site-logo-img{width:auto!important;max-width:158px!important;height:42px!important}
}

/* Conversion controls remain readable without clipping long labels. */
.aap-pkg__go{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;height:auto;margin-top:18px;padding:11px 18px;border-radius:8px;background:#0b66c3;color:#fff!important;font-weight:800;line-height:1.25;text-decoration:none!important;box-shadow:0 2px 5px rgba(15,42,71,.18);white-space:normal;text-wrap:balance;overflow:visible}
a.aap-pkg:hover .aap-pkg__go,a.aap-pkg:focus-visible .aap-pkg__go{background:#084f98;text-decoration:none!important;transform:translateY(-1px)}
.aap-card .aap-btn,.aap-package-card .aap-btn,.aap-pay .aap-btn{margin:8px 12px 8px 0;min-height:46px;height:auto;max-width:100%;vertical-align:middle;white-space:normal;text-wrap:balance;overflow:visible}
.aap-card .aap-btn:last-of-type,.aap-package-card .aap-btn:last-of-type,.aap-pay .aap-btn:last-of-type{margin-right:0}
.aap-card p+.aap-btn,.aap-package-card p+.aap-btn{margin-top:12px}
@media(max-width:640px){
  .aap-pkg__go{display:flex!important;width:100%;margin-top:16px;text-align:center}
  .aap-card .aap-btn,.aap-package-card .aap-btn,.aap-pay .aap-btn{display:flex;width:100%;margin:10px 0;text-align:center;justify-content:center}
}

/* Desktop brand basis. */
@media(min-width:901px){
  .site-header .header-inner>.logo{display:flex!important;flex:0 0 240px!important;width:240px!important;min-width:240px!important;max-width:240px!important}
  .site-header .header-inner>.logo>.site-logo-img{display:block!important;width:auto!important;max-width:240px!important;height:56px!important;max-height:56px!important;object-fit:contain!important;object-position:left center!important;flex:0 0 auto!important}
}

/* Secondary outcome controls must remain visible on light cards. */
body .aap-outcome-offer-card .aap-outcome-btn.aap-outcome-btn--secondary,body .aap-outcome-next-step .aap-outcome-btn.aap-outcome-btn--secondary{border-color:#b9ccdf!important;background:#fff!important;color:#084f98!important;box-shadow:none!important}
body .aap-outcome-offer-card .aap-outcome-btn.aap-outcome-btn--secondary:hover,body .aap-outcome-next-step .aap-outcome-btn.aap-outcome-btn--secondary:hover{border-color:#0b66c3!important;background:#f1f7fd!important;color:#084f98!important}

/* Forms, anchor focus, and reduced motion. */
.aap-team-proof small{color:#637387!important}
.aap-fit-form input,.aap-fit-form select,.aap-fit-form textarea,.aap-contact-form input,.aap-contact-form select,.aap-contact-form textarea,.wpforms-container input,.wpforms-container select,.wpforms-container textarea{border-color:#8491a3!important}
.aap-fit-form input::placeholder,.aap-fit-form textarea::placeholder,.aap-contact-form input::placeholder,.aap-contact-form textarea::placeholder,.wpforms-container input::placeholder,.wpforms-container textarea::placeholder{color:#64748b!important;opacity:1!important}
.aap-contact-form label span[aria-hidden]{color:#ad3c31!important}
html{scroll-padding-top:88px}
main [id]{scroll-margin-top:88px}
.aap-skip-link{position:fixed;z-index:2147483647;top:-80px;left:14px;padding:11px 16px;border:2px solid #fff;border-radius:8px;background:#0f2a47;color:#fff!important;font-weight:800;text-decoration:none!important;box-shadow:0 8px 24px rgba(15,42,71,.24)}
.aap-skip-link:focus{top:14px;outline:3px solid #83bdf3;outline-offset:3px}
@media(max-width:760px){.site-footer .aap-footer-grid--refined .footer-brand>.aap-footer-lockup{column-gap:10px!important}}
@media(prefers-reduced-motion:reduce){.aap-cband__dot{animation:none!important}}

/* Long reference tables become labeled rows on phones and tablets. */
@media(max-width:900px){
  main table.aap-responsive-stack{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;border:0!important;background:transparent!important;box-shadow:none!important;box-sizing:border-box!important}
  main table.aap-responsive-stack thead{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
  main table.aap-responsive-stack tbody{display:grid!important;width:100%!important;gap:12px!important}
  main table.aap-responsive-stack tr{display:block!important;width:100%!important;margin:0!important;padding:5px 14px!important;border:1px solid #d8e3ef!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 12px rgba(15,42,71,.05)!important;box-sizing:border-box!important}
  main table.aap-responsive-stack td,main table.aap-responsive-stack tbody th{display:grid!important;grid-template-columns:minmax(110px,36%) minmax(0,1fr)!important;gap:12px!important;width:100%!important;min-width:0!important;padding:10px 0!important;border:0!important;border-bottom:1px solid #e4ebf2!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
  main table.aap-responsive-stack td:last-child,main table.aap-responsive-stack tbody th:last-child{border-bottom:0!important}
  main table.aap-responsive-stack .aap-cell-value{display:block!important;min-width:0!important}
  main .aap-table-scroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%!important}
  main .aap-table-scroll>table{width:max-content!important;min-width:100%!important;max-width:none!important}
  main table.aap-responsive-stack td:not([data-aap-label]),main table.aap-responsive-stack tbody th:not([data-aap-label]){grid-template-columns:minmax(0,1fr)!important;font-weight:750!important;color:#0f2a47!important}
  main table.aap-responsive-stack td:not([data-aap-label])::before,main table.aap-responsive-stack tbody th:not([data-aap-label])::before{content:none!important}
  main table.aap-responsive-stack td::before,main table.aap-responsive-stack tbody th::before{content:attr(data-aap-label);color:#0f2a47;font-size:.76rem;font-weight:800;line-height:1.35;letter-spacing:.025em;text-transform:uppercase}
}
@media(max-width:480px){
  main table.aap-responsive-stack td,main table.aap-responsive-stack tbody th{grid-template-columns:1fr!important;gap:5px!important}
}

/* Give the homepage introduction enough room to read as separate decisions. */
body.home .aap-hero__body>.eyebrow{margin-bottom:clamp(24px,2.3vw,32px)!important}
body.home .aap-hero__body>h1{margin:0 auto clamp(28px,2.7vw,38px)!important;line-height:1.09!important}
body.home .aap-hero__body>.aap-hero__subhead{margin:0 auto clamp(24px,2.2vw,32px)!important;line-height:1.68!important}
body.home .aap-hero__body>.aap-hero__subhead--first{margin-bottom:clamp(11px,1.15vw,16px)!important}
body.home .aap-hero__body>.aap-hero__audience{margin:0 auto clamp(10px,1.15vw,16px)!important;line-height:1.68!important}
body.home .aap-hero__body>.aap-hero__location{margin:0 auto clamp(26px,2.4vw,34px)!important;color:rgba(255,255,255,.88)!important;font-weight:700;line-height:1.6!important}
body.home .aap-hero__body>.aap-project-availability{width:fit-content!important;max-width:100%!important;margin:0 auto clamp(24px,2.2vw,30px)!important}
body.home .aap-hero__body>.hero-actions{margin:0 0 clamp(25px,2.3vw,32px)!important}
body.home .aap-hero__body>.aap-hero__assist{margin-top:0!important;line-height:1.65!important}
@media(max-width:700px){
  body.home .aap-hero--dark{padding-top:3.65rem!important;padding-bottom:3.8rem!important}
  body.home .aap-hero__body>h1{line-height:1.12!important}
  body.home .aap-hero__body>.aap-hero__subhead,body.home .aap-hero__body>.aap-hero__audience{line-height:1.64!important}
  body.home .aap-hero__body>.aap-hero__location{font-size:clamp(.875rem,3.8vw,.9375rem)!important;white-space:nowrap}
}
@media(max-width:340px){body.home .aap-hero__body>.aap-hero__location{white-space:normal}}

/* Preserve the full header mark without compressing its natural proportions. */
.site-header .header-inner>.logo{min-width:0!important;max-width:250px!important}
.site-header .header-inner>.logo>.site-logo-img{display:block!important;width:100%!important;max-width:250px!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:left center!important}
@media(min-width:901px){.site-header .header-inner>.logo{flex:0 0 250px!important;width:250px!important}}
@media(max-width:900px){.site-header .header-inner>.logo{flex:0 1 min(240px,calc(100vw - 92px))!important;width:min(240px,calc(100vw - 92px))!important}.site-header .header-inner>.logo>.site-logo-img{max-width:240px!important}}

/* Present the trust details as one aligned list instead of loose text. */
body.home .aap-hero__assist{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1.45fr) max-content!important;align-items:center!important;gap:18px 24px!important;width:100%!important;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important;text-align:left!important}
body.home .aap-hero__assist>span{display:inline-flex!important;flex:0 0 auto!important;align-items:flex-start!important;gap:9px!important;margin:0!important}
body.home .aap-hero__assist>span::before{content:'•';flex:0 0 auto;color:#55b7ef;font-size:1.15em;line-height:1.35}
@media(max-width:900px){body.home .aap-hero__body>.aap-project-availability{width:100%!important}body.home .aap-hero__assist{grid-template-columns:1fr!important;width:fit-content!important;max-width:100%!important;gap:10px!important;justify-content:start!important}body.home .aap-hero__assist>span{width:100%!important}}

/* Keep page-family widths aligned with the shared 1200px container. */
body.aap-family-packages .aap-hero h1{max-width:24ch!important}
body.aap-family-packages .aap-hero .aap-hero__subhead{max-width:75ch!important}

/* Project proof uses the same mobile gutter and card treatment as nearby sections. */
@media(max-width:900px){
  body.home .aap-home-project-proof{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:1200px!important;margin:30px auto 36px!important}
  body.home .aap-home-project-proof article{box-sizing:border-box;width:100%;padding:22px 20px;border:1px solid #d8e3ef;border-top:3px solid #1470be;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(15,42,71,.06)}
}

/* The referral shortcode already owns its spacing. Avoid a second generic section inset. */
body.aap-route-oregon-practice-referrals .aap-page-content>:is(.aap-or-referral-hero,.aap-or-referral-types,.aap-or-referral-note){padding-top:0!important;padding-bottom:0!important}
body.aap-route-oregon-practice-referrals .aap-or-referral-hero{margin-top:clamp(34px,5vw,56px);margin-bottom:clamp(24px,4vw,40px)}
body.aap-route-oregon-practice-referrals .aap-or-referral-types{margin-top:0;margin-bottom:clamp(28px,4vw,44px)}
body.aap-route-oregon-practice-referrals .aap-or-referral-note{margin-top:0;margin-bottom:clamp(44px,6vw,68px);padding:clamp(22px,3vw,28px)!important}

@media(max-width:640px){
  body.aap-family-packages .aap-page-wrapper .aap-page-content .aap-hero>.aap-hero__inner{padding-inline:0!important}
  body.aap-family-packages .aap-hero h1{max-width:none!important}
  body.aap-route-oregon-practice-referrals .aap-or-referral-hero{margin-top:32px;margin-bottom:24px}
  body.aap-route-oregon-practice-referrals .aap-or-referral-types{margin-bottom:28px}
  body.aap-route-oregon-practice-referrals .aap-or-referral-note{margin-bottom:48px;padding:22px 20px!important}
}
/* The EHR switch block ships its own layout inside page content and misses the
   site gutters: flush to the screen edge on phones, full bleed on desktop. */
main .aap-ehr-switch{box-sizing:border-box!important;width:100%!important;max-width:1200px!important;margin-inline:auto!important;padding-inline:24px!important;align-self:center!important}
/* --color-muted and the default link blue are chosen for light grounds. On the
   navy panels they fall to 1.83:1 and 2.52:1, so those panels get their own pair. */
.aap-roi-results .aap-roi-cap,.aap-roi-results .aap-roi-note{color:#CBD9EA!important}
.aap-page-content .aap-standbehind a:not(.aap-btn){color:#8FBEF0}
.aap-page-content .aap-standbehind__foot a:not(.aap-btn){color:#FFFFFF}
.aap-page-content .aap-standbehind a:not(.aap-btn):hover{color:#B9D6F6}

/* === Typography and touch targets — 2026-09-05 === */
/* Eyebrow labels sit above nearly every H1 and section heading, and six scoped
   rules size them differently: .aap-hero/.aap-section .eyebrow at .72rem
   (11.5px, the most common), .aap-ehr and .aap-bridge at .76rem (12.2px),
   .aap-state, .aap-answers and .aap-standbehind at .78rem (12.5px), the bare
   .eyebrow at .8rem (12.8px). Every scoped rule is (0,2,0) and several print
   after this sheet, so the unifying selector is (0,2,1). The CTA band eyebrow
   ("Ready To Start?") keeps its deliberately larger 1.05rem. */
.eyebrow,
body :is(.aap-hero,.aap-section,.aap-state,.aap-ehr,.aap-bridge,.aap-answers,.aap-standbehind,.hero) .eyebrow{font-size:.8125rem;letter-spacing:.1em}
/* The CTA band eyebrow inherits the bare .eyebrow tracking; keep its .09em. */
.aap-cta-band .eyebrow{letter-spacing:.09em}
/* At 13px a 34+ character pill wraps on a 390px phone (it already does at
   360px today); balance the two lines instead of leaving a one-word tail. */
@media(max-width:480px){body :is(.aap-hero,.aap-section) .eyebrow{text-wrap:balance}}
/* premium-safety.css forces the recognition pill to .65rem !important below
   700px so it stays on one line, so !important is required here. At 13px the
   pill still fits on one line at 390px and wraps instead of overflowing on
   narrower phones. */
@media(max-width:700px){
  body :is(.aap-recognition-proof,.aap-section--recognition) .eyebrow{font-size:.8125rem!important;letter-spacing:.1em!important;white-space:normal;text-wrap:balance}
}
/* Header CTA: #aap-nav-fit (functions.php) drops it to .76rem !important from
   1200 to 1499px, so !important is required. .82rem is what .btn-sm gives it
   from 1500px up and what the nav links use from 1200 to 1499px. */
@media(min-width:1200px){.site-header .primary-nav a.nav-cta{font-size:.82rem!important}}
/* Footer column headings: functions.php sets 12px !important, so !important is required. */
footer.site-footer .footer-col-heading{font-size:.8125rem!important}
/* Phone tap targets. The header logo link was exactly the image box (240x38).
   min-height lifts the link to 44px wherever the hamburger header is shown. Up
   to 768px the logo is the tallest child, so the header padding drops from 8px
   to 5px (#aap-header-left sets it !important) and the header height (54px)
   and image position do not change; from 769px the 44px hamburger already sets
   the height. The footer link "About" was 39px wide: footer links get a 44px
   minimum width at the same breakpoint where premium-shell gives them a 44px
   minimum height. */
@media(max-width:1199px){.site-header .header-inner>a.logo{min-height:44px}}
@media(max-width:768px){header.site-header .header-inner{padding-top:5px!important;padding-bottom:5px!important}}
@media(max-width:560px){.site-footer .aap-footer-section .footer-links a{min-width:44px}}
/* The five long-form articles open with an .aap-card labelled "What this
   article covers" that is being lifted from h3 to h2 to close the h1 -> h3
   skip. Keep the 20px card-title size the h3 had. style.css:2396 and
   premium-safety.css:299 size every .aap-section__inner h2 with !important,
   so !important is required; (0,4,2) beats both regardless of print order. */
body:is(.page-id-18182,.page-id-18180,.page-id-18219,.page-id-18181,.page-id-18179) .aap-section__inner>.aap-card>h2:first-child{font-size:20px!important;line-height:1.25!important;letter-spacing:-.01em!important;margin:var(--sp-md,24px) 0 .5rem}
/* footer.php now lets the 12px slogan wrap (it was 8.3px nowrap). Without
   balance it breaks "...Elevating Patient / Care."; balanced it breaks at the
   period: "Advancing Practices." / "Elevating Patient Care." */
.site-footer .aap-footer-logo-slogan{text-wrap:balance}
/* Calculator notes on the navy results panel used the light-ground muted token (1.83:1). */
.aap-calc__results .aap-calc__note,.aap-calc .aap-calc__note{color:#CBD9EA!important}
/* The shared .aap-section__inner width uses calc() with --aap-gutter, which does not resolve
   in every section scope, so the declaration is dropped and the section goes full bleed. The
   theme works around that with an explicit list of section classes; any section not on that
   list (a newly added one, and aap-home-trust) lost its gutters on phones. Give every
   homepage section the same measure so the left edge is consistent down the page. */
@media(max-width:900px){body.home main .aap-section__inner{width:calc(100% - 40px)!important;margin-inline:auto!important}}
/* --color-muted is chosen for light grounds. Where it lands on a navy panel it drops to
   1.83:1, so those panels state their own text colour. Same fix as the ROI results panel. */
.aap-launch-evidence__note,.aap-launch-evidence__note *{color:#CBD9EA!important}
/* Tracker chrome sat at 4.36:1 against white. Darken to clear 4.5:1 at 12px. */
.aap-tracker-search,.aap-tracker-filter,.aap-tracker-window .aap-tracker-search,.aap-tracker-window .aap-tracker-filter{color:#55637A!important}
/* Definition-list labels ("Owner", "This Package Covers") sit at 11px and 4.35-4.48:1,
   just under the 4.5:1 threshold for small text. Darken the label, not the value. */
main .aap-workflow-flow dt,main .aap-outcome-package dt,main .aap-packages dt,main dl dt{color:#55637A!important}
/* === Pill labels, section rhythm, and heading scale — 2026-09-05 === */
/* A capsule is a one-line shape. Long eyebrows wrapped to two and three lines inside a
   999px radius, which reads as a mistake. Any eyebrow that needs to wrap drops the capsule
   and reads as a plain uppercase label instead. */
main .eyebrow{max-width:100%}
@media(max-width:900px){
  body main .aap-hero .eyebrow,body main .aap-hero__inner .eyebrow,
  body.home main .aap-hero--dark .eyebrow,body.home .aap-hero--dark .eyebrow{
    display:block!important;background:none!important;background-color:transparent!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    padding-left:0!important;padding-right:0!important;text-wrap:balance}
}
/* Proof-card eyebrows sit above a heading in a narrow column and wrap at two lines. */
body main .aap-proof-card .eyebrow,body main .aap-proof-page > header .eyebrow{
  display:block!important;background:none!important;background-color:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding-left:0!important;padding-right:0!important}
/* Section rhythm was six different top/bottom pairs on one page, including asymmetric
   52/96 and 72/60. Normalise the vertical scale so bands read as one system. */
main section.aap-section{padding-top:var(--aap-band,72px);padding-bottom:var(--aap-band,72px)}
main section.aap-section--pad-lg{--aap-band:88px}
@media(max-width:900px){main section.aap-section{--aap-band:48px}main section.aap-section--pad-lg{--aap-band:56px}}
/* H3 rendered at 35.2/24/20/16.8px on a single page. Hold the scale. */
main .aap-section__inner h3,main .aap-proof-section h3,main article h3{font-size:20px;line-height:1.3}
@media(min-width:901px){main .aap-section__inner h3,main .aap-proof-section h3,main article h3{font-size:21px}}

/* 2026-09-05 sitewide live audit — _coordinator-eyebrow */
@media(max-width:900px){
  body main .eyebrow,body main .aap-eyebrow,
  body main .aap-hero .eyebrow,body main .aap-hero__inner .eyebrow,
  body main .aap-section .eyebrow,body main .aap-section--dark .eyebrow,
  body.home main .aap-hero--dark .eyebrow{
    display:block!important;width:auto!important;
    background:none!important;background-color:transparent!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    padding:0!important;line-height:1.35!important;text-wrap:balance}
}

/* 2026-09-05 sitewide live audit — _coordinator-gutter */
@media(max-width:640px){
  body .aap-bridge{padding-left:24px!important;padding-right:24px!important}
}

/* 2026-09-05 sitewide live audit — p5a-candidate */
/* p5a: safe subset. Dropped its reading-measure rule (max-width:720px on all
   long-form blocks) — broad, unproven, and this site has prior history with the
   measure token. Revisit only with before/after proof. */

/* wpautop empty paragraph after a decorative card icon. */
body main .aap-card > p:empty{display:none}

/* Standalone tap targets under 44px on phones. */
@media(max-width:600px){
  body main a.aap-card__link,
  body main a.aap-real-product-proof__watch,
  body main a.aap-text-link{display:inline-flex;align-items:center;min-height:44px}
}

/* Narrow-column eyebrow capsule that wraps on desktop. Desktop only: below 901px
   the sitewide rule already strips the capsule, and nowrap there would overflow. */
@media(min-width:901px){
  body main .aap-offer-secondary .eyebrow{white-space:nowrap}
}

/* 2026-09-05 sitewide live audit — p5b */
/* === p5b: PMHNP guides and PMHNP practice-requirements state pages — 2026-09-05 === */

/* 1. <article class="aap-page"> silently breaks every ".aap-page-content > X" rule.
   43 PMHNP state pages wrap their body in <article class="aap-page">; the other
   PMHNP pages (california, florida, georgia, pennsylvania and the seven guides)
   do not. Two child-combinator rules stop matching on the wrapped pages:
     live-conversion-polish.css:3  .aap-page-content>section:not(.aap-hero)...
     style.css:1838               .aap-page-content > .aap-hero:first-child
   Measured live at 1440 on /pmhnp-practice-requirements-alabama/: seven
   .aap-section bands at 64/64 sitting next to .aap-neighbor-states and
   .aap-seo-paths at 96/96 in the same column, and a hero padding-bottom of 80px
   where every unwrapped page in the same family renders 64px. On phone the same
   pages read 48/48 next to 52/52 with a 58px hero foot against 44px.
   These rules re-point the same declarations through the wrapper, so a wrapped
   page renders identically to an unwrapped one. No new values are introduced.
   Specificity: the section rule is (0,5,2) and the hero rule is (0,4,1);
   live-conversion-polish.css (0,4,1) and funnel-system.css (0,2,0) both print
   after site-polish.css, so specificity, not order, has to win. */
.aap-page-content > article.aap-page > section:not(.aap-hero):not(.aap-cta-band):not(.aap-mpsp-order){
  padding-top:var(--aap-section-space,clamp(72px,7vw,96px));
  padding-bottom:var(--aap-section-space,clamp(72px,7vw,96px));
}
@media(max-width:640px){
  .aap-page-content > article.aap-page > section:not(.aap-hero):not(.aap-cta-band):not(.aap-mpsp-order){
    padding-top:52px;
    padding-bottom:52px;
  }
}
/* padding-top is already forced to 2rem / 1.3rem by style.css:2056-2057 with
   !important, so only the foot moves. 4rem and 2.75rem are the values
   style.css:1838-1839 gives an unwrapped hero. */
.aap-page-content > article.aap-page > .aap-hero:first-child{padding-block:4rem}
@media(max-width:600px){
  .aap-page-content > article.aap-page > .aap-hero:first-child{padding-block:2.75rem}
}

/* 2. .aap-tech-tier__heading was built for a short tier marker: a 76px first grid
   column holding a padding-less navy chip. aap-technology-credibility.php:573
   prints $tier['number'] into it, and those values are "Practice Systems" and
   "Custom Software And Automation" (lines 39 and 52), not numbers. Measured live
   on /custom-software-automation/: the second chip is scrollWidth 86 against
   clientWidth 76 at 1440 and 83 against 70 at 390, so "AUTOMATION" prints outside
   the navy box, and the box is 78px tall holding five stacked words.
   The same string is already used as a plain eyebrow by the same plugin at
   line 648, so make the chip an eyebrow: one auto-width navy label above the
   heading. technology-credibility.css prints after site-polish.css and its rules
   are (0,1,0) and (0,1,1), so these are (0,2,0) and (0,2,1). */
.aap-tech-tier .aap-tech-tier__heading{
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}
.aap-tech-tier .aap-tech-tier__heading > p{
  justify-self:start;
  width:auto;
  max-width:100%;
  min-height:0;
  padding:7px 12px;
  border-radius:8px;
  text-align:left;
}

/* 3. Standalone navigation links at 26px on phones.
   /pmhnp-practice-requirements-oregon/ and /pmhnp-practice-requirements-new-york/
   carry an "On this page" jump nav that becomes a vertical stack below 560px
   (oregon-pmhnp-resource.css:35). Measured live at 390: five links 26px tall with
   8.8px between them, plus four 26px neighbor-state links. These are navigation,
   not prose, so the 44px minimum applies. Height only; the nav already supplies
   its own gap, and align-items:center keeps the label optically where it was. */
@media(max-width:600px){
  main .aap-oregon-resource__nav a,
  main .aap-oregon-neighbors a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  /* .aap-oregon-neighbors has no align-items, so the "Nearby states:" label
     stretched and sat 9px above the taller links. Center the row instead. */
  main .aap-oregon-neighbors{align-items:center}
}

/* 4. The "Keep Reading" row under the guide articles is a <nav> holding one link,
   and a short label stays on one line: measured 329x24 at 390 on
   /pmhnp-cpt-codes-cheat-sheet/, /pmhnp-intake-and-documentation/ and
   /pmhnp-no-show-and-cancellation-policies/. The same row on the state pages
   already clears 44px only because its label is long enough to wrap.
   The container switches from baseline to center alignment so the taller link
   stays optically level with the "Keep Reading" label. */
@media(max-width:600px){
  main .aap-related-reading .aap-bridge__resources{align-items:center}
  main .aap-related-reading .aap-bridge__resources a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

/* 2026-09-05 sitewide live audit — _coordinator-chip */
/* The tier label on .aap-tech pages was a navy chip built for a short tier
   number, but the plugin prints full phrases into it ("Practice Systems",
   "Custom Software And Automation"). Widening it left a black pill sitting on a
   white card while every other label on the same page is a light blue chip.
   Match the page's own .aap-tech-accordion__label treatment. */
body .aap-tech-tier .aap-tech-tier__heading > p{
  background:#edf6ff!important;color:#084f98!important;
  border-radius:999px!important;padding:6px 12px!important;
  font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}

/* /packages/ sets its hero to a 20px inline padding while every section below it
   sits at 24px, so the H1 alone hangs 4px left. Other pages' heroes already
   resolve to 24; the homepage is internally consistent at 20 and is left alone. */
@media(max-width:900px){
  body.page-id-20847 .aap-hero{padding-left:24px!important;padding-right:24px!important}
}

/* 2026-09-05 sitewide live audit — _coordinator-gutter2 */
/* Full-bleed section containers each hard-coded their own mobile horizontal
   padding (16/17/18/20px) instead of the site's 24px content gutter, so their
   text sat 4-8px left of every heading and paragraph above and below them.
   Each selector was verified full-bleed at 390px (box spans the viewport, left
   edge 0) before being included; inner cards showing the same pattern are NOT
   touched, because there the padding is card padding, not the page gutter.
   1px residuals from element borders are left alone. */
@media(max-width:900px){
  body .aap-answers,
  body .aap-standbehind,
  body .aap-ehr,
  body .aap-revenue-buyer-details,
  body .aap-tech-capability,
  body .aap-funnel,
  body .aap-funnel--router,
  body .aap-cband,
  body .aap-payer-trust,
  body .aap-analytics-choice__inner{
    padding-left:24px!important;padding-right:24px!important}
  body p.aap-xlink,body p.aap-xlink2{
    padding-left:24px!important;padding-right:24px!important;
    margin-left:0!important;margin-right:0!important}
  /* The packages and checkout families set the page wrapper itself to 20px with
     !important, which puts the hero 4px left of every section below it. */
  body.aap-family-packages .aap-page-wrapper .aap-page,
  body.aap-money-sales-checkout .aap-hero{
    padding-left:24px!important;padding-right:24px!important}
}

/* 2026-09-05 sitewide live audit — p5c */
/* ==========================================================================
   p5c — heading scale (h3 tier system) + two tap targets.
   Editorial / guide / specialty pages. Append to site-polish.css.

   MEASURED BASELINE (live, 45 pages x 2 viewports, 936 visible h3):
     20px x383  21px x359   <- Tier 1, already shipped at site-polish.css:246-247
     19.2px x50  18.4px x6  16px x108  15.04px x24  14.72px x4

   The shipped rule IS winning. 21px exists in exactly one rule sitewide
   (site-polish.css:247, min-width:901px) and 359 desktop h3 render at it.
   The rule is not being overridden; it simply does not reach five components,
   listed below. No !important is needed anywhere here, and none is used:
   plain specificity beats every competing rule regardless of load order.
   ========================================================================== */

/* --- Tier 1 (section + editorial h3): 20px, 21px at >=901px. --------------
   Only gap is .aap-page-content h3, pinned by the theme at 1.2rem = 19.2px
   (style.css:471). Measured 19.2px x46 on /solo-practice-to-group-practice-
   add-first-provider/ and /what-to-set-up-before-first-claim/, beside 16px
   body: readable, but a second h3 size on a page whose other h3 are 20/21.
   style.css `.aap-page-content h3` is (0,1,1); this is (0,1,2).
   NOTE FOR COORDINATOR: .aap-page-content is a sitewide container, so this
   one selector reaches beyond p5c. Every other rule in this file is
   component-scoped. Drop this block if you want p5c strictly partition-local. */
main .aap-page-content > h3{font-size:20px;line-height:1.3}
@media(min-width:901px){main .aap-page-content > h3{font-size:21px}}

/* --- Tier 2 (compact h3 inside dense card grids): 18px, both viewports. ---
   Deliberately one step below Tier 1 so the two tiers read as a hierarchy.
   Each of these sits on card body copy of 13.44-15.52px, so 18px restores a
   1.16-1.34x step. Left at their current sizes they run 0.97-1.16x, and the
   .aap-tech-capability__grid case is literally smaller than the text under it.

   .aap-cap h3              1rem   = 16px   style.css:2521            (0,1,1)
   .aap-bridge__offer h3    1rem   = 16px   cluster-bridge.css:13     (0,1,1)
   .aap-tech-capability__grid h3 / .aap-tech-detail-label
                            .94rem = 15.04px technology-credibility.css (0,1,1)/(0,1,0)
   All beaten by a leading `main` (adds one type selector). */
main .aap-cap h3,
main .aap-bridge__offer h3,
main .aap-tech-capability__grid h3,
main .aap-tech-detail-label{font-size:18px}

/* technology-credibility.css also pins the platform/method/example labels at
   .92rem = 14.72px with a two-class selector (0,2,0), which outranks the
   (0,1,1) rule above, so those need their own (0,2,1) form. */
main .aap-tech-platform-grid .aap-tech-detail-label,
main .aap-tech-method-grid .aap-tech-detail-label,
main .aap-tech-example .aap-tech-detail-label,
main .aap-tech-example h3{font-size:18px}

/* --- Tap targets -----------------------------------------------------------
   .aap-card__link measured 39px tall at 390px on /portland/ (2) and
   /resources/ (9). They are card CTAs, not prose links, so the 44px minimum
   applies. Height only; inline-flex + align-items:center keeps the label
   optically where it sits today, and the cards already supply their own gap. */
@media(max-width:600px){
  main a.aap-card__link{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

/* 2026-09-05 sitewide live audit — _coordinator-gutter3 */
/* .aap-tech is a full-bleed section whose mobile padding is 16px
   (technology-credibility.css @media max-width:760px) against the site's 24px
   gutter, so its eyebrow, H2 and intro sat 8px left of the rest of the page.
   The .aap-tech-tier card nested inside keeps its own padding: that indent is
   card padding, not a gutter, and is left alone. */
@media(max-width:900px){
  body .aap-tech{padding-left:24px!important;padding-right:24px!important}
}

/* 2026-09-05 sitewide live audit — p1-money */
/* ============================================================
   p1-money — verified on live advanceapractice.com, 2026-09-05
   Two blocks. Both proven live with page.addStyleTag + re-measure.
   Neither uses !important. Specificity noted per block.
   ============================================================ */

/* [p1-1] Sprint workflow + implementation step lists lost their own list
   styling. Theme rule `.aap-page-content ol, .aap-section ol,
   .aap-section__inner ol` (themes/aap-premium/style.css:871-877, specificity
   0,1,1) outranks the component rule `.aap-workflow-flow{list-style:none;
   padding:0}` (mu-plugins/aap-performance-assets/outcome-package-system.css
   lines 8 and 13, specificity 0,1,0). Result on all five sprint pages:
   a stray decimal marker painted beside each step card ("1." left of card 1,
   the next card's digit half-hidden behind the chevron connector) and the whole
   row inset 24px from the section's content edge.
   Specificity here is 0,1,2 -> wins on specificity, not source order.
   Measured on /ehr-workflow-repair-sprint/, /revenue-cycle-stabilization-sprint/
   and /workflow-automation-build-sprint/ at 1440x900 and 390x844:
     before  list-style-type:decimal  padding-left:24px  li.left=192
             grid columns 205.594px x5   (implementation steps: 533px x2)
     after   list-style-type:none     padding-left:0px   li.left=168
             grid columns 210.391px x5  (implementation steps: 545px x2)
     leaks after: none. documentElement.scrollWidth unchanged (1440 / 390). */
main ol.aap-workflow-flow,
main ol.aap-implementation-process__steps{list-style:none;padding-left:0}

/* [p1-2] CTA band buttons misalign and overhang on phone. site-polish.css:11
   puts `margin:7px 14px 7px 0` on `.aap-cta-band__actions a.aap-btn`, but a
   later rule zeroes the horizontal margin on the secondary button only. In the
   phone layout (`flex-direction:column;align-items:center`) the flex line takes
   the widest margin box (356px) inside a 342px container, so the two full-width
   buttons centre against different boxes: primary at x=24, secondary at x=31,
   hanging 7px past the band. `gap:12px 16px` already supplies the spacing the
   margin-right was doing, so removing it changes nothing at desktop.
   Specificity 0,3,1 beats the 0,2,1 rule above regardless of source order.
   Measured on /credentialing/ (same signature on
   /credentialing-status-submitted-approved-effective-eft-era/):
     before  390px: primary l=24 r=366, secondary l=31 r=373
             container clientWidth 342, scrollWidth 349
     after   390px: primary l=24 r=366, secondary l=24 r=366
             container clientWidth 342, scrollWidth 342
     after 1440px: primary 540-757, secondary 773-900, 16px apart (the
             column-gap), documentElement.scrollWidth 1440. */
.aap-cta-band .aap-cta-band__actions a.aap-btn,
.aap-cta-band .aap-cta-band__actions a.btn{margin-right:0}

/* 2026-09-05 sitewide live audit — p2-core-suite */
/* ============================================================================
   2026-09-05 live visual audit — partition p2-core-suite
   Append to wp-content/mu-plugins/aap-performance-assets/site-polish.css
   Every rule below was proven on the live site with page.addStyleTag and
   re-measured. Before/after numbers are in the comment above each block.
   ========================================================================= */

/* --- P2-1. Phone CTA stacks: equal buttons, single-line labels -------------
   Confirmed on 17 pages at 390px: the hero row (.aap-hero__ctas) on 8 Command
   Suite subpages and the closing row (.aap-cta-band__actions) on those 8 plus
   the 9 /watch/ pages rendered a 48px button stacked on a 64px button, because
   "Request A Command Suite Walkthrough" (natural single-line width 304px) did
   not fit the 298px content box left by .aap-btn's 1.55rem side padding.
   The buttons are already width:100% at this breakpoint, so the side padding
   is decorative, not structural: cutting it to 12px yields 314px of room and
   the label fits on one line.
     /aap-command-suite/how-it-works/  hero    48/64 -> 48/48
     /aap-command-suite/how-it-works/  cta-band 48/64 -> 48/48
     /aap-command-suite/trust-security/ both   48/64 -> 48/48
   The /watch/ pages nest the CTA band inside a .container that is already
   inset 14px per side, so the row is 314px there and the label still wraps
   even at 12px padding. grid-auto-rows:1fr is the safety net that equalises
   whatever is left:
     /aap-command-suite/watch/ cta-band 48/64 -> 64/64
   documentElement.scrollWidth stayed 390 in every case (no new overflow).
   Specificity note: .aap-cta-band .aap-cta-band__actions{display:flex}
   (style.css:751) is (0,2,0), so the selector must repeat .aap-cta-band to
   win; "body :is(.aap-cta-band__actions)" (0,1,1) silently loses.
   margin-inline:0 clears the 14px right margin site-polish.css:11 puts on
   .aap-cta-band__actions a.aap-btn, which would otherwise offset the grid cell.
   The > br rule guards 8 EHR pages outside this partition
   (/valant/, /kareo-tebra/, /simplepractice/, /therapynotes/, /epic/,
   /athenahealth/, /icanotes/, /advancedmd-implementation/) whose hero CTA row
   contains a stray <br>; as a grid item it would claim a full 1fr row. */
@media(max-width:600px){
  body :is(.aap-hero__ctas,.aap-hero__actions),
  body .aap-cta-band .aap-cta-band__actions{
    display:grid;grid-auto-flow:row;grid-auto-rows:1fr;
    justify-items:stretch;align-items:stretch}
  body :is(.aap-hero__ctas,.aap-hero__actions) > :is(.aap-btn,.btn),
  body .aap-cta-band .aap-cta-band__actions > :is(.aap-btn,.btn){
    width:100%;margin-inline:0;justify-content:center;text-align:center;
    padding-inline:12px}
  body :is(.aap-hero__ctas,.aap-hero__actions) > br,
  body .aap-cta-band .aap-cta-band__actions > br{display:none}
}

/* --- P2-2. Homepage testimonial cards, desktop -----------------------------
   / at 1440: the three .aap-quote-card siblings (white background, 1px border,
   shadow) sat in one grid row at 351 / 299 / 325px because style.css:2641 sets
   .aap-quotes{align-items:start}. Ragged bottoms on chrome-bearing cards.
   After: 351 / 351 / 351. Screenshot-checked; the attribution block stays
   directly under the quote rather than being pushed to the card floor.
   Scoped to >=1051px because .aap-quotes--three collapses to one column below
   that (style.css:2567), where equal heights would only add dead space.
   "body .aap-quotes" (0,1,1) beats the (0,1,0) align-items:start. */
@media(min-width:1051px){
  body .aap-quotes{align-items:stretch}
  body .aap-quotes > .aap-quote-card{display:flex;flex-direction:column}
}

/* --- P2-3. Homepage "What Does Your Practice Need?" buttons, desktop -------
   / at 1440: four .aap-home-path cards, each ending in a bottom-anchored
   .aap-btn 225px wide. Three labels wrapped to two lines (62px) and
   "See Operations Help" did not (48px), so one button in the row started 14px
   lower than its neighbours. Cutting the side padding to 14px lets two more
   labels fit on one line; min-height keeps all four boxes identical.
     before 62 / 62 / 62 / 48   after 62 / 62 / 62 / 62
   "See Medical Billing Services" needs 208px and still has only 195px, so it
   keeps its second line inside the now-matching box. Scoped to >=1001px, the
   only range where .aap-home-path-grid is four across (front-page.php:278
   drops it to two columns at 1000px, where every label already fits). */
@media(min-width:1001px){
  body .aap-home-path > :is(.aap-btn,.btn){padding-inline:14px;min-height:62px}
}

/* --- P2-4. Phone tap targets ----------------------------------------------
   All standalone card CTAs, not prose links, and all under Apple's 44px:
     / at 390            9 x .aap-home-project-proof > article > a  @ 20px
                         ("See What We Build", "Read The Growth Story", ...)
     / at 390            figcaption link under the Command Suite demo @ 18px
                         ("Watch with chapters and transcript")
     /aap-command-suite/watch/ at 390   7 x a.aap-watch-index__link  @ 29px
                         ("Watch Demo And Read Transcript")
   Height only; inline-flex + align-items:center keeps each label optically
   where it sits now. Proven: the sub-44px list went 10 -> 0 on / and
   8 -> 2 on /watch/ (the 2 remaining are <h2> that are themselves links,
   left alone deliberately, see report). */
@media(max-width:600px){
  body.home .aap-home-project-proof > article > a,
  body main figure.aap-home-suite__media figcaption a,
  body main a.aap-watch-index__link{
    display:inline-flex;align-items:center;min-height:44px}
}

/* 2026-09-05 sitewide live audit — p5b-round2 */
/* === p5b round 2: PMHNP guides and PMHNP practice-requirements state pages — 2026-09-05 === */
/* Round 1 (already live in site-polish.css) fixed the article.aap-page wrapper padding,
   the .aap-tech-tier__heading chip, and three phone tap-target minimums. This block covers
   what round 1 did not: one shared root cause that leaves four blocks floating off the page
   column, and one remaining tap target.

   ROOT CAUSE for items 1 to 3 below. style.css:2338 sets
     .aap-page-content{display:flex;flex-direction:column}
   so that .aap-page-content > .aap-cta-band{order:10} can work (style.css:2339). Every block
   in that column is now a flex item, and a flex item with an auto inline margin shrinks to
   fit its content instead of filling the line. Three components declare `margin: X auto`
   expecting normal block centring, so their declared max-width never takes effect and they
   render as narrow boxes floating in the middle of the page. Measured live at 1440 where the
   page's own text column runs 144 to 1296:

     .aap-content-reviewer   declares max-width:800px    renders 564px at x=438
     .aap-related-reading    declares max-width:1040px   renders 489-506px at x=467-475
     the state-page disclaimer declares max-width:70ch   renders 601px at x=420

   Each rule below restores the declared intent by giving the item an explicit width, which
   is what an auto inline margin needs in order to centre rather than shrink-wrap.

   CASCADE NOTE: site-polish.css loads at head offset ~20567, ahead of cluster-bridge.css
   (~25353), aap-article-authority-css (~49339), live-conversion-polish.css (~50452) and
   funnel-system.css (footer). It therefore loses every tie and has to win on specificity.
   Each selector below is scoped through .aap-page-content, which also keeps the change to
   the page column and leaves the same components alone wherever else they are used. */


/* 1. The state-page "Informational only, not legal advice" disclaimer.
   43 of the 48 practice-requirements pages render this sentence inside a normal
   <section class="aap-section"><div class="aap-section__inner"><p class="eyebrow">Please Read
   First</p><p>...</p>. Five do not: california, florida, georgia, pennsylvania and texas
   carry it as a bare inline-styled <p> sitting directly in .aap-page-content after the last
   </section>, with hand-rolled font-size:0.85em, color:#666 and max-width:70ch.
   Measured live at 1440 on /pmhnp-practice-requirements-california/, /florida/ and /georgia/:
   601px wide starting at x=420, 13.6px type in rgb(102,102,102), while every other line of
   text on the page starts at x=144 and reads 16px in rgb(69,81,106).
   page-components.css:9 already says raw prose in this column should be
   width:min(800px,calc(100% - 48px)) centred; the inline max-width:70ch is the only reason
   that rule does nothing. Clearing the three inline values lets the site's own prose rule
   apply and puts the sentence in the same muted prose colour the sibling pages use.
   Inline styles need !important; nothing else here does.
   AFTER (measured, same three pages): 800px at x=320, 16px, rgb(69,81,106). Phone geometry
   is unchanged at 350px/x=20; only the type and colour normalise. */
main .aap-page-content > p[style*="70ch"]{
  max-width:none!important;
  font-size:inherit!important;
  color:var(--color-muted,#45516A)!important;
  margin-inline:auto!important;
}


/* 2. The editorial byline, .aap-content-reviewer ("Reviewed for accuracy by ...").
   aap-article-authority prints it with border-left:3px solid #9bb9d8, so it is meant to read
   as a left-anchored pull-note under the H1. Shrink-wrapped, that border rule floats in the
   middle of the page and moves left or right with the length of the byline text.
   Measured live at 1440 on /pmhnp-cpt-codes-cheat-sheet/, /pmhnp-llc-vs-pllc/,
   /pmhnp-malpractice-insurance/, /pmhnp-practice-launch-checklist/,
   /pmhnp-intake-and-documentation/, /pmhnp-insurance-panels-which-first/ and
   /pmhnp-no-show-and-cancellation-policies/: 564px at x=438, so the rule sat 294px right of
   the H1 above it. AFTER: 1152px at x=144, the rule exactly on the column edge.
   On phone the plugin's own @media(max-width:900px) sets margin:12px 20px 22px, which leaves
   the box at x=20 against a 24px page gutter; margin-inline:auto here out-specifies that
   single-class rule per longhand, so the block margins 12/22 are kept and only the sides
   move. AFTER on phone: 342px at x=24, flush with the column.
   Specificity (0,2,1) against the plugin's (0,1,0). */
main .aap-page-content > .aap-content-reviewer{
  width:min(1152px,calc(100% - 48px));
  max-width:none;
  margin-inline:auto;
}


/* 3. The "Keep Reading" row, .aap-related-reading (cluster-bridge.css).
   A footer nav holding a label and one or two links, with a border-top rule across it.
   Measured live at 1440 on /pmhnp-malpractice-insurance/, /pmhnp-intake-and-documentation/,
   /pmhnp-insurance-panels-which-first/ and /pmhnp-no-show-and-cancellation-policies/:
   489-506px at x=467-475, so a rule that is supposed to run across the foot of the article
   was a short line floating centre-page, and its width changed page to page with the length
   of the link text. The 24px inline padding it already carries matches .aap-section__inner,
   so giving it the same 1200px box puts its text on the column.
   AFTER: 1200px at x=120, text at x=144. Phone was already correct at x=0 with text at 24
   and is unchanged. Specificity (0,2,1) against cluster-bridge.css (0,1,0). */
main .aap-page-content > .aap-related-reading{
  width:min(1200px,100%);
  max-width:none;
  margin-inline:auto;
  padding-inline:24px;
}


/* 4. .aap-next-step overhangs the text column on phones.
   funnel-system.css:29 gives it margin:42px 16px and :39 narrows that to margin-inline:12px
   below 420px, while the page gutter stays 24px. Measured live at 390 on the six guide pages
   that carry the block: the card spans x=12 to x=378 against body text running 24 to 366, so
   a bordered card visibly hangs 12px past the copy on both sides. At 1440 the same card is
   inset 16px inside the column, so the card's relationship to the text inverts between the
   two viewports. Aligning the card edge to the column on phone matches how .aap-related (the
   neighbouring-states card) already behaves on the state pages: card edge on the column,
   text inset by the card's own padding.
   AFTER at 390: 342px at x=24, text at 48. Desktop is deliberately left alone; a 16px inset
   on a bordered card there is a design choice, not a defect. */
@media(max-width:640px){
  main .aap-page-content > .aap-next-step{margin-inline:24px}
}


/* 5. One tap target round 1 left short.
   Round 1 gave .aap-oregon-neighbors a and .aap-oregon-resource__nav a a 44px min-height, but
   not a min-width, so a short label still fails. Measured live at 390 on
   /pmhnp-practice-requirements-oregon/: the "Idaho" neighbour link is 39x44.
   These links are already display:inline-flex from round 1, so a min-width plus centring is
   enough; longer labels are unaffected because they are wider than 44px already.
   AFTER: zero links under 44px on that page. */
@media(max-width:600px){
  main .aap-oregon-neighbors a,
  main .aap-oregon-resource__nav a{min-width:44px;justify-content:center}
}

/* 2026-09-05 sitewide live audit — p5a */
/* === p5a: editorial / guide / specialty pages — 2026-09-05 === */
/* Every rule below was measured live at 390x844 and 1440x900 AFTER the
   _coordinator-*, p5a-candidate, p5b and p5c blocks above were already
   shipped, so these are remaining defects, not duplicates. */

/* 1. "What This Article Covers" now renders BELOW the H3 scale on desktop.
   Two rules already in this file collide:
     site-polish.css:201  that card H2 -> 20px !important  (0,4,2)
     site-polish.css:247  every .aap-section__inner h3 -> 21px at >=901px
     site-polish.css:458  every .aap-page-content h3 -> 21px at >=901px
   Measured live at 1440: H2 20px against 4 H3 at 21px on /ar-backlog-causes/
   (id 18182), 5 at 21px on /denial-management-workflow/ (18181) and 4 at 21px
   on /mental-health-billing-mistakes/ (18179). At 390 both are 20px, a tie and
   not an inversion, so this is desktop only.
   The 20px rule is (0,4,2) with !important, so this adds a leading `main`
   to reach (0,4,3) and win on specificity alone, independent of print order.
   `.aap-page-content` was tried first and rejected: /credentialing-delays-
   explained/ renders its content directly under <main> with no
   .aap-page-content wrapper, so that selector silently missed that one page
   (measured 20px -> 20px). `main` is an ancestor on all five.
   NOTE FOR COORDINATOR: ids 18180 (/credentialing-delays-explained/) and
   18219 (/credentialing-delays-killing-revenue/) are NOT in p5a. They carry
   the same card and the same shipped 21px H3 scale and were verified to show
   the same inversion, so they are included to keep the family consistent.
   Drop those two ids if you want p5a strictly partition-local. */
@media(min-width:901px){
  body:is(.page-id-18182,.page-id-18180,.page-id-18219,.page-id-18181,.page-id-18179) main .aap-section__inner>.aap-card>h2:first-child{font-size:23px!important}
}

/* 2. Effective-Cost Estimator input note, /headway-alternative/ only.
   The calculator ships an inline <style> in post_content with
   `.aap-calc__inputs small{color:#718398;font-size:.78rem}`. Measured live:
   rgb(113,131,152) on white at 12.48px = 3.89:1, under the 4.5:1 AA floor for
   text that size. #55637A is the muted-label colour this file already uses for
   the same problem at lines 219 and 222; it measures 6.08:1 here.
   `.aap-calc__inputs small` is (0,1,1); this is (0,1,2), so it wins on
   specificity even though the page's inline <style> prints later. */
main .aap-calc__inputs small{color:#55637A}

/* 3. /oregon-practice-referrals/ referral cards.
   Each <article> ends with a bare <a> ("Explore Medical Billing Services",
   "Explore Practice Growth Support", "Explore Practice Operations"). They are
   display:inline and measured 20px tall at 390. These are card CTAs, not prose
   links, so the 44px minimum applies. p5c's rule covers a.aap-card__link and
   does not reach these. Height only; align-items:center leaves the label
   optically where it sits and the section supplies its own spacing. */
@media(max-width:600px){
  main .aap-or-referral-types article>a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

/* 4. The secondary offer card's "View details" link, measured 29px tall at 390
   on /medical/ (a < article < .aap-offer-secondary__grid), display:block.
   The p5a-candidate block above covers a.aap-card__link,
   a.aap-real-product-proof__watch and a.aap-text-link and does not reach this
   one. The grid parent blockifies inline-flex to flex, which is fine: measured
   29px -> 44px with the width unchanged at 94px, so only the height moves. */
@media(max-width:600px){
  main .aap-offer-secondary__grid article>a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

/* 2026-09-05 sitewide live audit — p2-core-suite P2-5 */
/* ===========================================================================
   P2-5. FOLLOW-UP DELTA — everything above this line is ALREADY LIVE
   (shipped by the coordinator into site-polish.css lines ~563-648 at 23:22Z
   on 2026-09-05). Append ONLY this last block; do not re-ship P2-1..P2-4.
   ---------------------------------------------------------------------------
   Side effect of P2-1 found by measuring production after the ship.
   .aap-cta-band .aap-cta-band__actions carries justify-content:center
   (style.css:751). Under flex that was harmless, but under grid an auto-sized
   implicit column shrinks to max-content and then gets centred, so the stacked
   buttons no longer span the row. Measured live at 390px:
     /                                  row 302px, buttons 233px  (was 241/249)
     /aap-command-suite/how-it-works/   row 342px, buttons 332px
     /aap-command-suite/trust-security/ row 342px, buttons 332px
   Naming one 1fr column makes the track fill the container, so width:100% on
   the buttons resolves against the whole row again. Proven live:
     /                                  buttons 233 -> 302  (full row)
     /aap-command-suite/how-it-works/   buttons 332 -> 342
     /aap-command-suite/trust-security/ buttons 332 -> 342
     /aap-command-suite/watch/          314 -> 314 (already full, unchanged)
     .aap-hero__ctas rows               342 -> 342 (unchanged)
   documentElement.scrollWidth stayed 390 and the count of elements crossing
   the right viewport edge stayed 0 on all six pages checked
   (/, /aap-command-suite/how-it-works/, /aap-command-suite/trust-security/,
   /aap-command-suite/watch/, /kareo-tebra/, plus / at 1440). */
@media(max-width:600px){
  body :is(.aap-hero__ctas,.aap-hero__actions),
  body .aap-cta-band .aap-cta-band__actions{grid-template-columns:minmax(0,1fr)}
}

/* 2026-09-05 sitewide live audit — p3-states */
/* ============================================================================
   p3-states — 51 credentialing / payer-enrollment state pages
   /credentialing-and-payer-enrollment-<state>/
   Scope: body.aap-family-credentialing-state (printed by the theme on exactly
   these pages; verified live on 51/51). Nothing here can reach another page.

   SPECIFICITY NOTE — read before editing.
   mu-plugins/aap-state-layout-repair.php prints its component CSS in an inline
   <style id="aap-state-layout-repair"> at wp_head priority 999, which is AFTER
   every enqueued stylesheet. site-polish.css therefore cannot win on source
   order, only on specificity. That block uses .aap-page-content X (0,2,0) and
   main X (0,1,1), with !important on several declarations. Every rule below is
   written as body.aap-family-credentialing-state .aap-state X (0,3,1) plus
   !important so it wins both cases. Do not shorten these selectors.
   Verified live 2026-09-05 on advanceapractice.com at 1440x900 and 390x844.
   ========================================================================== */

/* 1. Two-up comparison cards ended at different heights.
   .grid2 holds exactly two .card elements (white fill, 1px #e2e8f0 border,
   16px radius, shadow) — chrome-bearing cards, not plain text columns.
   aap-state-layout-repair.php sets align-items:start on .grid2, so the shorter
   card stops mid-row and leaves bare page background beside the taller one.
   Measured live on 51/51 pages: 41 of 59 two-card rows differ by more than
   24px; worst Georgia 660px, Wisconsin 656px, Washington 480px, median 130px.
   After: every measured row 0px. */
body.aap-family-credentialing-state .aap-state .grid2 { align-items: stretch !important; }

/* 2. Empty <p> in the source markup becomes a real grid item.
   Present on 51/51 pages: 59 in .grid2, 58 in .payers. In .payers it lands
   mid-grid and stretches to the row height, so it renders as a blank column
   where a payer card should be. Measured heights up to 4227px (Illinois),
   3508px (Indiana), 2554px (Georgia). */
body.aap-family-credentialing-state .aap-state .grid2 > p:empty,
body.aap-family-credentialing-state .aap-state .payers > p:empty,
body.aap-family-credentialing-state .aap-state .links > p:empty,
body.aap-family-credentialing-state .aap-state .steps > p:empty,
body.aap-family-credentialing-state .aap-state .check > li:empty { display: none !important; }

/* 3. Payer cards were 4 columns of 219px on desktop.
   aap-state-layout-repair.php (written 2026-08-21, when nothing on these pages
   was styled) sets repeat(auto-fit,minmax(210px,1fr)); the purpose-built
   state-page-family.css (2026-09-02) asks for two columns. 219px is not enough
   for a carrier name, a subtitle, a bulleted list and a status chip, and it is
   what forces the chip in rule 4 onto three and four lines. */
body.aap-family-credentialing-state .aap-state .payers {
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)) !important;
}

/* 4. The "Separate door: Evernorth Behavioral Health" chip wrapped inside its
   own bordered capsule. state-page-family.css sizes .carve at .76rem; the
   repair block overrides it to .93em, which is 15.81px on desktop and 14.88px
   on phone. Wrapped chips on 51/51 pages, up to 4 lines desktop / 7 phone. */
body.aap-family-credentialing-state .aap-state .carve {
  font-size: .82rem !important;
  line-height: 1.35 !important;
}

/* 5. One content column on desktop.
   Today the page runs three different left edges down a single page:
   page text x=144 w=1152, disclosure card x=200 w=1040, disclosure text
   x=264 w=912 — identical on 51/51 pages. The 41px phone gutter in rule 6 is
   the same bug at the other end. After: card x=120 w=1200 (the .wrap box),
   disclosure text x=145 w=1150 (matches page text x=144 w=1152). */
@media (min-width: 701px) {
  body.aap-family-credentialing-state .aap-state-disclosure {
    width: min(calc(100% - 48px), 1200px) !important;
  }
  body.aap-family-credentialing-state .aap-state-disclosure > summary {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body.aap-family-credentialing-state .aap-state-disclosure__body > section > .wrap {
    width: 100% !important;
    max-width: none !important;
  }
}

/* 6. Phone: body copy inside a disclosure sits at x=41 while the rest of the
   page sits at x=24. state-page-family.css already asks for a 16px inner
   gutter here and says so in a comment ("The disclosure already supplies the
   page gutter. Keep one inner gutter."), but the repair block's
   padding-left:24px !important defeats it. Restoring 16px moves the text to
   x=33 and widens the reading column from 308px to 324px.
   See the report for the full-bleed variant that reaches x=24 exactly; it is
   not shipped here because it drops the card look on phone. */
@media (max-width: 700px) {
  body.aap-family-credentialing-state .aap-state .aap-state-disclosure__body > section > .wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* 2026-09-05 sitewide live audit — _coordinator-gutter4 */
/* Two more full-bleed section containers with their own mobile gutter instead
   of the site's 24px: .aap-outcome (16px, the five sprint pages) and the
   Command Suite .aap-container (20px). Verified full-bleed before including.
   Cards nested inside keep their own padding. */
@media(max-width:900px){
  body section.aap-outcome,
  body .aap-page-content > section > .aap-container{
    padding-left:24px!important;padding-right:24px!important}
}

/* 2026-09-05 sitewide live audit — _coordinator-eyebrow2 */
/* The price-reconciliation plugin lengthens three hero eyebrows to carry the
   full per-payer, per-provider price, which pushes them past the ~556px wrap
   threshold and leaves text wrapping inside a 999px capsule on DESKTOP.
   The pricing wording is deliberate and must not be shortened (dropping
   "per provider" would change what the price means), so the capsule gives way
   instead: these render as plain kicker text, matching the phone treatment.
   Phone is already handled by the sitewide <=900px rule. */
@media(min-width:901px){
  body.aap-route-entity-credentialing-transitions main .aap-hero .eyebrow,
  body.aap-route-new-provider-credentialing main .aap-hero .eyebrow,
  body.aap-route-for-solo-therapists main .aap-hero .eyebrow{
    display:block!important;background:none!important;background-color:transparent!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    padding-left:0!important;padding-right:0!important;line-height:1.35!important}
}

/* 2026-09-05 sitewide live audit — _coordinator-final */
/* /packages/ hero: organic-to-paid-release.css sets
   `body.aap-family-packages .aap-page-wrapper .aap-page-content .aap-hero
    {padding:24px 20px 30px!important}` at (0,4,1), which outranked the earlier
   (0,2,1) attempt, so the H1 stayed 4px left of every section below it.
   Doubling the family class gives (0,5,1) and wins. Vertical padding untouched. */
@media(max-width:640px){
  /* Every one of these is beaten by a body.aap-family-packages rule at (0,2,1),
     so the family class is doubled to reach (0,3,1) and win on specificity. */
  body.aap-family-packages.aap-family-packages .aap-page-wrapper .aap-page-content .aap-hero,
  body.aap-family-packages.aap-family-packages .aap-funnel--router,
  body.aap-family-packages.aap-family-packages .aap-outcome-offer-grid,
  body.aap-family-packages.aap-family-packages .aap-funnel,
  body.aap-family-packages.aap-family-packages .aap-outcome,
  body.aap-family-packages.aap-family-packages .aap-package-tailoring{
    padding-left:24px!important;padding-right:24px!important}
}

/* State-page disclosures on phone: body copy sat at 33px against page copy at
   24px (16px card inset + 1px border + 16px inner padding). Rebalancing the
   inset to 8 and the inner padding to 15 lands text on exactly 24 while the
   accordion KEEPS its rounded card. This is why the full-bleed variant, which
   reached 24 by dropping the card look on 51 protected pages, was not used. */
@media(max-width:700px){
  body.aap-family-credentialing-state .aap-state-disclosure{
    margin-left:8px!important;margin-right:8px!important}
  body.aap-family-credentialing-state .aap-state-disclosure > summary{
    padding-left:15px!important;padding-right:15px!important}
  body.aap-family-credentialing-state .aap-state .aap-state-disclosure__body > section > .wrap{
    padding-left:15px!important;padding-right:15px!important}
}

/* 2026-09-05 sitewide live audit — _coordinator-final2 */
/* Final off-gutter full-bleed blocks, each proven to move to 24px.
   Deliberately EXCLUDED after measuring, all correct as they are:
   - .aap-payer-trust (28) and .aap-section__inner on /portland/ (148) each carry
     a 4px decorative left accent border; content sits inside the rail by design.
   - .aap-onboarding-proof__checkout-body (34) is inside an inset card, so that
     is card padding, not a page gutter.
   - p.aap-lead-narrow on the homepage (320 vs H1 329) is a centred block wider
     than the centred H1, which is how centring works. */
@media(max-width:900px){
  body main .aap-magnet-band,
  body main p.aap-cs-restored,
  body.aap-family-packages.aap-family-packages p.aap-package-tailoring{
    padding-left:24px!important;padding-right:24px!important;
    margin-left:0!important;margin-right:0!important}
}
