/* A precise, quiet interface. All enhancements retain native links and scrolling. */
:where(a,button,summary):focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.hero :where(a,button):focus-visible,.site-footer a:focus-visible,.thinking a:focus-visible{outline-color:#fff}
.project-card:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.project-card:focus-visible .project-photo{outline:3px solid white;outline-offset:-6px}
.site-header nav>a,.menu-toggle{min-height:44px}
.site-header nav>a{display:inline-flex;align-items:center}
.hero-top{font-size:.75rem}
.footer-meta a:not(.wordmark),.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.project-topline>a,.essay-body aside>a{display:inline-flex;align-items:center;min-height:44px}
.legal-copy p a:not(.text-link){text-decoration:underline;text-underline-offset:.2em}
.service-list summary:focus-visible{outline-offset:3px}
.next-project>a:focus-visible,.essay-card:focus-visible h3{color:var(--accent)}
.section-tag,.page-heading>.eyebrow{font-size:.75rem}
.project-card-caption>div{min-width:0}
.project-card-caption h3{overflow-wrap:break-word}
.project-index .project-card h2{font-size:clamp(1.65rem,2.7vw,3rem);letter-spacing:-.035em;line-height:1.2;margin-top:.5rem;overflow-wrap:break-word}
.project-index .project-card:first-child h2,.project-index .project-card:last-child h2{font-size:clamp(2rem,3.5vw,4rem)}
.journal-index .essay-card h2{font-family:var(--serif);font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.13;letter-spacing:-.035em;margin:2.5rem 0 1.5rem;max-width:12em}
.journal-index .essay-card:is(:hover,:focus-visible) h2{color:var(--accent)}
.text-link{gap:0;min-height:44px;border-bottom-color:currentColor;transition:color .2s,border-color .2s}
.text-link:is(:hover,:focus-visible),.project-topline>a:is(:hover,:focus-visible),.essay-body aside>a:is(:hover,:focus-visible){color:var(--accent)}
.thinking .text-link:is(:hover,:focus-visible),.assurance-section .text-link:is(:hover,:focus-visible){color:#caaa83}
.assurance-section a:focus-visible{outline-color:#fff}
.portrait-section figure img{height:auto}
.site-header .nav-contact{gap:0!important}
.project-card:is(:hover,:focus-visible) :is(h2,h3){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.next-project>a{justify-content:flex-start;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.footer-invitation>a{width:fit-content;text-decoration:underline;text-decoration-color:#ffffff60;text-decoration-thickness:1px;text-underline-offset:.14em;transition:text-decoration-color .2s}
.footer-invitation>a:is(:hover,:focus-visible){text-decoration-color:currentColor}
.footer-meta>a:not(.wordmark),.footer-bottom>a,.essay-body aside>a:not(.text-link),.project-topline>a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
@media(max-width:720px){
 .site-header{height:auto;min-height:84px;flex-wrap:wrap;padding-top:1.25rem;padding-bottom:1.25rem}
 .site-header nav{display:flex;position:static;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.6rem;padding:1.5rem 0 0;border:0}
 .menu-toggle{display:none}
 .navigation-ready .site-header{height:84px;padding-top:0;padding-bottom:0;flex-wrap:nowrap}
 .navigation-ready .menu-toggle{display:flex}
 .navigation-ready .site-header nav{display:none;position:absolute;top:84px;left:0;right:0;padding:1.5rem var(--pad) 2rem;border-bottom:1px solid var(--line);max-height:calc(100svh - 84px);overflow-y:auto;overscroll-behavior:contain}
 .navigation-ready .site-header nav.is-open{display:flex}
 .project-index .project-card h2,.project-index .project-card:first-child h2,.project-index .project-card:last-child h2{font-size:1.8rem}
 .journal-index .essay-card h2{max-width:17ch;font-size:2.35rem;margin-top:1.5rem}
}
@media(forced-colors:active){
 .project-card:focus-visible,.hero :where(a,button):focus-visible,.site-footer a:focus-visible,.thinking a:focus-visible{outline-color:Highlight}
}
