/* SOMA hierarchy: shared reading width, scale, and navigation across every route. */
:root{--vh-width:1120px;--vh-gutter:24px;--vh-section:clamp(56px,7vw,88px);--vh-heading:clamp(2rem,3.5vw,2.75rem);--vh-copy:66ch}
.vh-site{--edge:var(--vh-gutter);--type-heading:var(--vh-heading);--space-section:var(--vh-section);background:var(--bone);color:var(--ink)}
.vh-site main,.vh-site .site-header,.vh-site .site-footer{max-width:none}
.vh-shell{width:min(calc(100% - var(--vh-gutter)*2),var(--vh-width));margin-inline:auto;min-width:0}
.vh-site h2{font-size:var(--vh-heading);line-height:1.14;letter-spacing:-.025em;text-wrap:pretty}
.vh-site h3{font-family:var(--sans);font-size:1.125rem;font-weight:500;line-height:1.4;letter-spacing:-.02em;text-wrap:pretty}
.vh-site .home-secondary h2{font-size:.875rem;line-height:1.5;letter-spacing:0}
.vh-site main h1 em,.vh-site main h2 em{font-style:normal;color:inherit}
.vh-site .label,.vh-kicker{font:500 .6875rem/1.5 var(--sans);letter-spacing:.085em;text-transform:uppercase}
.vh-site p{overflow-wrap:break-word}
.vh-site .button{min-height:52px;border-radius:2px;padding:14px 22px;gap:24px}
.vh-site .text-link{font-size:.875rem;min-height:44px;gap:20px}
.vh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px}
.vh-actions .button{flex:0 1 auto}
.vh-actions .text-link{border-bottom:0}
.vh-page-nav{display:flex;flex-wrap:wrap;gap:4px 24px;padding-block:12px;border-block:1px solid var(--line);font-size:.8125rem}
.vh-page-nav a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}
.vh-page-nav a:hover{text-decoration-color:currentColor}
.vh-site .site-header{min-height:72px;padding:8px max(var(--vh-gutter),calc((100% - var(--vh-width))/2));color:var(--bone);gap:0}
.vh-site .site-header .wordmark{width:128px}
.vh-site .header-note,.vh-site .reading-progress{display:none}
.vh-site.nav-ready.menu-open .site-navigation{padding-inline:var(--vh-gutter)}
.vh-site .site-navigation a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.vh-site .site-footer{background:var(--ink);color:var(--bone)}
.vh-site .site-footer :focus-visible{outline-color:var(--accent-on-dark)}
.vh-site .light :focus-visible,.vh-site .vh-page-nav :focus-visible{outline-color:var(--ember)}
.vh-footer-top{display:grid;gap:28px;padding-block:40px}
.vh-footer-brand .wordmark{width:128px}
.vh-footer-brand>p{font-size:.875rem;color:#cfc6b8;max-width:34ch;margin-top:16px}
.vh-footer-brand>.text-link{margin-top:12px}
.vh-footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-self:start}
.vh-footer-top nav a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;font-size:.8125rem;color:#cfc6b8}
.vh-footer-top nav a:hover{color:var(--bone)}
.vh-footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:12px;border-top:1px solid var(--light-line);font-size:.75rem;color:#c5bbae}
.vh-footer-bottom a{display:flex;align-items:center;min-height:44px}
.vh-footer-credit{font-size:.6875rem;line-height:1.6;color:#c5bbae;padding-bottom:24px}
.vh-footer-credit a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:761px){
 .vh-site .site-header{min-height:80px;gap:24px}
 .vh-site .site-header .wordmark{width:144px}
 .vh-site .site-navigation,.vh-site.nav-ready .site-navigation{gap:32px}
 .vh-footer-top{grid-template-columns:1fr 1fr;gap:64px;padding-block:48px}
 .vh-footer-top nav{max-width:440px;justify-self:end;width:100%;column-gap:48px}
}
@media(max-width:360px){:root{--vh-gutter:20px}}
