/* =========================================================
   Homepage polish — phase 2 (loaded after app.css)
   Readability, collapsed module vault, single contact form.
   Purely additive: delete this file's <link> to roll back.
   ========================================================= */

:root {
    --polish-muted: #b3b0bd;      /* was ~#9d9aa8 on body copy */
    --polish-faint: #8f8b9b;      /* was ~#676471 on labels */
}

/* ---------- Readability: section labels & body copy ---------- */
.section-kicker,
.hero-copy .eyebrow { font-size: 12px; letter-spacing: .14em; }

.hero-copy .availability,
.hero-copy .system-status { font-size: 12px; color: var(--polish-faint); }

.stat-card p,
.identity-profile-head p,
.identity-detail p,
.erp-live-card p,
.career-focus-list li,
.timeline-card ul li,
.project-body p,
.module-chip p,
.service-card ul li,
.foundation-card p,
.certificate-card p,
.lab-list article p,
.request-flow article p {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--polish-muted);
}
.project-body p.project-category { font-size: 12px; }
.certificate-card p.certificate-issuer { font-size: 11.5px; }

/* Small labels that carried information at 7–9px */
.project-tags span,
.module-chip small,
.module-filter,
.project-filter,
.certificate-top span,
.certificate-top i,
.timeline-period small,
.timeline-company small,
.identity-fact-grid article small,
.identity-profile-head span,
.service-card-top b,
.knowledge-stats article span,
.career-stats article span,
.marquee-heading p,
.module-console-top,
.portrait-stage figcaption span,
.career-goal span {
    font-size: 11px;
}
.project-tags span { padding-block: 4px; }
.module-chip h3 { font-size: 15px; }

.request-form-grid label > span { font-size: 12px; }

.project-open,
.service-cta,
.certificate-footer button { font-size: 12.5px; }

/* ---------- Module vault: show 12 until expanded ---------- */
.module-vault-grid.is-collapsed .module-chip:nth-child(n+13) { display: none; }
.module-vault-more {
    display: flex;
    justify-content: center;
    padding: 22px 0 6px;
}
.module-vault-more[hidden] { display: none; }
.module-vault-more .button i { font-style: normal; margin-inline-start: 10px; opacity: .8; }

/* ---------- Contact: single column when the terminal form is off ---------- */
.contact-layout.contact-layout-single {
    grid-template-columns: minmax(0, 640px);
    justify-content: center;
}
.contact-layout.contact-layout-single .contact-direct { width: 100%; }
.contact-request-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0 22px;
}
.contact-request-cta i { font-style: normal; }

/* Second pass: labels that still rendered below 10px (higher specificity) */
main .certificate-card p.certificate-issuer { font-size: 11.5px; }
main .contact-details-polished a > span { font-size: 10.5px; color: var(--polish-faint); }
main .foundation-card b,
main .knowledge-eyebrow,
main .career-focus-list > span { font-size: 11px; }
main .module-chip i { font-size: 9px; }
main .project-visual .featured-badge { font-size: 10px; }
main .project-body .project-number { font-size: 10.5px; color: var(--polish-faint); }
main .scroll-indicator span { font-size: 10.5px; }

/* ---------- Education: degree card was squeezed into ~85px columns ---------- */
main .foundation-card {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-areas: "num year" "num body";
    row-gap: 6px;
}
main .foundation-card > span { grid-area: num; }
main .foundation-card > div { grid-area: body; }
main .foundation-card > b { grid-area: year; align-self: center; }
main .foundation-card h4 { font-size: 17px; }

/* "Open details" sat on top of the rotated MA seal */
main .certificate-card .certificate-footer { padding-inline-end: 64px; }
/* RTL: the seal moves to the left, which is still the inline end, so the same rule applies. */
