.hha-home .home-hero{padding-block:clamp(4rem,7vw,6rem)}
.hha-home .home-hero__name{max-width:11ch;font-size:clamp(3.4rem,7.1vw,6.75rem);line-height:.88;white-space:normal}
.hha-home .home-hero__copy .lede{margin:clamp(1.5rem,3vw,2.1rem) 0}
.hha-home .home-quick-nav{margin-top:1.5rem;padding-top:1rem}
.hha-home .home-quick-nav p{display:flex;flex-wrap:wrap;gap:.4rem 1.15rem;width:100%;margin:0}
.hha-home .hha-section{padding-block:clamp(4rem,7vw,6rem)}
.hha-home .hha-section__head{margin-bottom:clamp(2rem,3vw,2.75rem)}
.hha-home #selected-work{background:rgba(255,250,242,.34);box-shadow:0 0 0 100vmax rgba(255,250,242,.34);clip-path:inset(0 -100vmax)}
.hha-home .home-project{padding-block:1.5rem}
.hha-home .home-teaching{box-shadow:0 16px 45px rgba(27,23,19,.07)}
.hha-home .home-notebook-card{background:rgba(255,255,255,.5)}
body.page-id-643 a:hover{color:var(--photo-accent)}
body.page-id-643 :focus-visible{outline-color:var(--photo-accent)}
body.page-id-643 .primary-nav a::after{background:var(--photo-accent)}
@media(min-width:861px){
.hha-home .home-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.62fr)}
.hha-home .home-portrait img{min-height:500px}
.hha-home .home-photo-preview{grid-template-rows:repeat(2,minmax(260px,320px))}
.hha-home .home-photo-preview__item img{min-height:0}
}
@media(max-width:860px){
.hha-home .home-hero{gap:2.25rem;padding-block:3.5rem}
.hha-home .home-quick-nav p{gap:.35rem 1rem}
.hha-home .hha-section{padding-block:3.75rem}
body.page-id-643 .mobile-nav{background:rgba(17,16,14,.98)}
body.page-id-643 .mobile-nav a{color:var(--photo-text);border-color:#3b352e}
}
@media(max-width:640px){
.hha-home .home-hero__name{max-width:8.5ch;font-size:clamp(3rem,14vw,3.75rem);line-height:.9}
.hha-home .home-hero__actions .button{flex:1 1 9rem}
.hha-home .home-quick-nav p{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.hha-home .hha-section__head{gap:1.2rem}
.hha-home .home-teaching{padding:1.5rem}
body.page-id-643 .photo-lightbox{padding:4.5rem 1rem}
}
/* Research index: 150px actions column wrapped the longer labels onto a
   second line at line-height:1, so the rows collided. 210px clears the
   widest label ("View documentation", 206px). */
.research-project__actions .button{white-space:nowrap}
@media(min-width:1025px){
.research-project{grid-template-columns:64px minmax(0,1fr) 210px}
}
/* 2026-08-25: entry-scoped clipping-fix override for research entry 12
   (#verification-gated-architecture, "A Verification-Gated Architecture for
   AI-Assisted Research Production in the Humanities"). Routed here because
   WordPress's post_content sanitizer strips  tags on page writes via
   the AIWU wp_create_post/wp_update_post path; the raw override CSS is also
   kept at RUN/website/entry_scoped_override.css. Selector is scoped by the
   #verification-gated-architecture ID, unique to this one <article>; cannot
   affect any other research-index entry. */
@media (hover: hover) and (pointer: fine) {
  #verification-gated-architecture:hover .research-project__abstract,
  #verification-gated-architecture:focus-within .research-project__abstract { max-height: 165rem; }
}