/* Shared signposts, loaded after each page's existing stylesheet. */
.main-nav > a[aria-current] { color:#15d9ff; }
.main-nav > a[aria-current]:not(.nav-cta)::after { width:100%; height:2px; }
.main-nav > .nav-cta {
 display:inline-flex; align-items:center; justify-content:center;
 min-height:44px; padding:11px 18px; border-radius:6px;
 border:1px solid #15d9ff; background:#15d9ff; color:#07111d;
 box-shadow:0 4px 16px rgba(21,217,255,.12);
}
.main-nav > .nav-cta:hover { background:#8feaff; color:#07111d; border-color:#8feaff; }
.main-nav > .nav-cta[aria-current] { color:#07111d; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.main-nav > a:focus-visible,.intro-quick-links a:focus-visible { outline:3px solid #8fdcff; outline-offset:5px; }
#services,#contact { scroll-margin-top:112px; }
.intro-quick-links { display:flex; align-items:center; flex-wrap:wrap; gap:14px 28px; }
.work-page .portfolio-intro { padding-top:126px; padding-bottom:26px; }
.work-page .portfolio-intro h1 { font-size:clamp(2.3rem,4vw,3.5rem); margin:0 0 12px; line-height:1.1; }
.work-page .portfolio-intro p { margin:0; font-size:1rem; }
.work-page .portfolio-section-heading { padding-top:18px; margin-bottom:22px; }
.work-page .portfolio-section-heading h2 { font-size:1.25rem; }
@media(max-width:700px) {
 #services,#contact { scroll-margin-top:96px; }
 .work-page .portfolio-intro { padding-top:108px; padding-bottom:24px; }
 .main-nav > .nav-cta { min-width:140px; }
}
@media(prefers-reduced-motion:reduce) { .main-nav > a,.main-nav > a::after { transition:none; } }
