/* Final readability and keyboard-focus refinements. */
body { font-size: 16px; line-height: 1.65; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 3px solid #168b89;
    outline-offset: 3px;
}

.main-nav { font-size: 14px; }
.eyebrow { color: #13706e; }
.hero h1 em { color: #168b89; }
.feature-number { color: #666a7b; }
.hero-intro { font-size: 19px; line-height: 1.6; }
.button { font-size: 15px; }
.text-link { font-size: 16px; border-bottom-color: #9ca7a5; }
.hero-note { font-size: 15px; line-height: 1.6; }
.stage-caption { font-size: 14px; line-height: 1.6; }
.trust-strip { font-size: 16px; line-height: 1.6; }

.section-heading > p:last-child,
.workflow-copy > p:not(.eyebrow),
.contact-copy > p:not(.eyebrow) {
    font-size: 18px;
    line-height: 1.62;
    margin-top: 22px;
}

.pricing-card p:not(.eyebrow) { font-size: 18px; line-height: 1.6; }
.pricing-action p { font-size: 15px !important; line-height: 1.6; }

label { font-size: 16px; line-height: 1.5; margin-bottom: 18px; }
label span { font-size: 14px; color: #666a7b; }
input,
textarea { padding: 12px; font-size: 16px; line-height: 1.5; }
.consent { font-size: 15px; line-height: 1.6; }
.consent input { width: 17px; height: 17px; }
.form-message { font-size: 16px; line-height: 1.55; }
.trap { left: auto; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.app-window .dash-head small,
.app-window .dashboard small,
.app-window .metric-row em,
.app-window .class-row em { color: #5a6070; }

.footer-row p,
.footer-row a { font-size: 14px; }
.footer-row > div a,
.site-footer-credit a { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 520px) {
    body { font-size: 17px; }
    .hero-intro { font-size: 18px; }
    .section-heading > p:last-child,
    .workflow-copy > p:not(.eyebrow),
    .contact-copy > p:not(.eyebrow),
    .pricing-card p:not(.eyebrow) { font-size: 17px; }
}
