/* Final editorial and accessibility layer, shared by modern and retained pages. */
html { scroll-padding-top:100px; }
.shell { width:min(1220px,calc(100% - 48px)); margin-inline:auto; }
:focus-visible { outline:3px solid #b9f95d; outline-offset:4px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:1000; padding:12px 18px; background:#b9f95d; color:#0a120c; border-radius:8px; transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.nav-links a[aria-current="page"] { color:#b9f95d; text-decoration:underline; text-underline-offset:6px; }
.page-hero h1 { font-size:clamp(2.6rem,5.6vw,5.3rem); line-height:1.06; text-wrap:balance; }
.page-hero { min-height:0; }
.card h2,.diagram-card h2 { font-size:clamp(1.5rem,2.6vw,2.3rem); line-height:1.15; }
.card p,.project-card p,.study-section p,.resume-experience p,.resume-experience li,.matrix td { color:#b8c4bd; }
.button.primary:hover,.button-primary:hover { background:#d0ff8d; color:#0a120c; }
.audit-note { color:#aebbb3; font-size:.9rem; line-height:1.7; }
.audit-note a { color:#b9f95d; text-decoration:underline; text-underline-offset:3px; }
.audit-gallery figure { margin:0 0 56px; padding-bottom:48px; border-bottom:1px solid #26332c; }
.audit-gallery img { display:block; width:100%; height:auto; border-radius:16px; border:1px solid #34483b; }
.audit-gallery .audit-rack { max-width:480px; margin-inline:auto; }
.audit-gallery figcaption { padding-top:24px; }
.audit-gallery figcaption h2 { font-size:clamp(1.6rem,3vw,2.6rem); margin-bottom:14px; }
.audit-gallery figcaption p { color:#c2cbc5; }
.audit-footer { border-top:1px solid #26332c; padding:48px 0; background:#050807; }
.audit-footer-inner { width:min(1220px,calc(100% - 48px)); margin:auto; display:flex; gap:40px; justify-content:space-between; }
.audit-footer-brand { font-size:1rem; color:#f3f6f2; font-weight:650; text-decoration:none; }
.audit-footer p,.audit-footer small { color:#aebbb3; font-size:.8rem; }
.audit-footer nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 32px; }
.audit-footer nav a { color:#c2cbc5; font-size:.85rem; text-decoration:none; }
.audit-footer nav a:hover { color:#b9f95d; }
@media(max-width:760px) { html{scroll-padding-top:85px}.shell{width:calc(100% - 30px)}.audit-footer-inner{width:calc(100% - 30px);flex-direction:column}.audit-footer nav{gap:16px 20px}.page-hero{padding-bottom:42px}.audit-gallery figure{padding-bottom:32px;margin-bottom:36px} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important} }
@media print { .audit-footer,.skip-link{display:none!important} body:has(.resume-hero) .page-hero h1{font-size:28pt!important} }
