/* Shared accessibility and responsive refinements. Publication rules live in research-publication-v1.css. */
:root { --steel-dark: #365c78; --accent-gold: #78602b; --text-secondary: #526171; --radius-control: 2px; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 16px; padding: 12px 18px; background: var(--white); color: var(--navy); transform: translateY(-160%); font-size: 16px; font-weight: 700; }
.skip-link:focus { transform: none; }
:where(a,button,summary):focus-visible { outline: 3px solid #4e7594; outline-offset: 4px; }
.navbar :focus-visible,.hero :focus-visible,.career :focus-visible { outline-color: #c4aa70; }
button { font: inherit; }
.book-cover img { height:auto; }
.navlinks a { padding-block: 12px; }
.navlinks a[aria-current="page"],.nav-menu-panel a[aria-current="page"] { color: var(--white); text-decoration: underline; text-underline-offset: 5px; }
.nav-menu-panel { max-height: calc(100vh - 90px); max-height: calc(100dvh - 90px); overflow-y: auto; }
.portfolio-teaser__intro > *, .work-head > *, .ideas-head > *, .writing-head > * { min-width: 0; }
.portfolio-teaser__intro > p { max-width: 100%; }
.foot-links a { min-height: 44px; }
.btn,.research-button,.book-actions .book-trailer { border-radius: var(--radius-control); }
.contact-modal__panel { max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow-y: auto; }
.contact-modal__close { min-width: 44px; min-height: 44px; }
.contact-modal__links a { overflow-wrap: anywhere; }
.cap p,.publication-copy p,.aside,.book-copy > p:not(.eyebrow),.media-item > p:not(.eyebrow) { color: var(--text-secondary); }
@media (min-width:769px) and (max-width:980px) {
 .navlinks { display:none; }
 .nav-menu { display:block; }
 .nav-menu summary { display:flex; align-items:center; min-height:44px; }
}
@media (max-width:768px) {
 .eyebrow { letter-spacing:.12em; }
 .aside,.cap p { font-size:15px; line-height:1.65; }
 .portfolio-teaser__intro,.portfolio-teaser__head { grid-template-columns:minmax(0,1fr); }
 .portfolio-teaser__intro > p { width:auto; min-width:0; }
 .pagehero { padding-block:44px; }
 .pagehero h1 { overflow-wrap:break-word; }
 .book-actions a { white-space:normal; }
 .foot-links { gap:0 20px; }
}
@media (max-width:360px) {
 .writing .book-card,.writing .book-card + .book-card { grid-template-columns:82px minmax(0,1fr); gap:16px; }
 .writing .book-copy h3 { font-size:21px; }
 .writing .book-actions .book-trailer { padding-inline:10px; }
 .metric strong { font-size:20px; }
}

.career .eyebrow { color:var(--steel); }
.portfolio-teaser__head > p { color:var(--text-secondary); }
footer,.timeline2 p,.featured-credential .expanded,.archive-more,.featured-recognition p,.role-grid p { color:var(--text-secondary); }
.archive-client { color:#526171 !important; }
.case-study.alt .case-study__heading > p:last-child { color:var(--text-secondary); }
.ai-architecture .eyebrow,.proof-section .eyebrow { color:var(--steel); }
@media(max-width:768px) {
 .case-study__copy p,.case-study__heading > p:last-child,.role-grid p,.proof-grid p { font-size:15px; line-height:1.65; }
}
