/* Public website WCAG 2.1 AA remediation, 2026-10-09. */
.a11y-public-skip {position:fixed;top:-10rem;left:1rem;z-index:10000;padding:.8rem 1.1rem;color:#fff;background:#123a63;border:2px solid #fff;border-radius:.4rem;font-weight:700;text-decoration:none;}
.a11y-public-skip:focus,.a11y-public-skip:focus-visible{top:1rem;outline:3px solid #ffd54a;outline-offset:3px;}
/* Decorative product mock-ups still contain actual readable words: maintain text contrast. */
.platform-preview__nav-label,.pp-pagehead p,.pp-search,.pp-select,.pp-table th,.pp-card small,.pp-card-title small,.pp-person-row small,.pp-alert small,.pp-mini-balance .head span,.pp-company-strip small,.pp-card-title small{color:#405064;}
/* 844px landscape had more navigation links than the header could accommodate. */
@media (min-width:769px) and (max-width:960px){
.pub-nav-links{display:none;}
.pub-nav-cta{display:none;}
.pub-nav-hamburger{display:flex;}
.pub-nav-links.pub-nav-links--open{display:flex;align-items:stretch;justify-content:flex-start;top:60px;max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain;padding:10px 16px calc(18px + env(safe-area-inset-bottom));}
.pub-nav-links--open > .pub-nav-link,.pub-nav-links--open .pub-nav-dropdown-btn{min-height:44px;justify-content:space-between;padding:10px 12px;font-size:15px;}
.pub-nav-links--open .pub-nav-dropdown-item{display:flex;align-items:center;min-height:42px;padding:9px 12px;}
.pub-nav-mobile-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:10px;padding-top:12px;border-top:1px solid rgba(18,58,99,.08);}
.pub-nav-mobile-cta .pub-btn{min-height:44px;width:100%;justify-content:center;}
}

/* 2026-10-09 (final certification round): remaining text contrast inside the product mock-ups and on dark sections (WCAG 1.4.3). */
.pp-table td small,.pp-card small,.pp-person-row small,.pp-alert small,.pp-card-title small,.pp-company-strip small{color:#5f6b7a;}
.pp-table th,.pp-mini-balance .head span{color:#5b6675;}
.pp-status.neutral{color:#4a5566;}
.pp-status.pending{color:#8a5200;}
.pp-date.warn{color:#8f4a0f;}
.platform-preview figcaption{color:#475467;}
.platform-preview figcaption.a11y-on-dark,.pub-section-eyebrow.a11y-on-dark{color:#d9e1ea;}
/* Non-text contrast (WCAG 1.4.11): control boundaries at 3:1 or better. */
.wf-news-filters button{border-color:#5b6675;}
.pub-input,.pub-form input[type="text"],.pub-form input[type="email"],.pub-form textarea,.pub-form select{border-color:#6b7684;}
.wf-news-filters button[type="button"]{border-color:#5b6675;}

/* 2026-10-22: the two dark areas that carry captions/eyebrows (navy page header, navy home showcase), in CSS so the
   layout script no longer has to measure backgrounds before first paint. The script stays as a fallback for new dark sections. */
.pub-page-header .pub-section-eyebrow,.pub-showcase .platform-preview figcaption{color:#d9e1ea;}
