:root{--paper:#F6F5F1;--paper-2:#EFEEE9;--ink:#171716;--graphite:#3C3B38;--muted:#73716A;--rule:rgba(23,23,22,.14);--rule-strong:rgba(23,23,22,.28);--accent:#582E34;--display:'Source Serif 4',Georgia,serif;--body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--container:90rem;--reading:43rem;--gutter:clamp(1.25rem,4vw,4rem);--section:clamp(5.5rem,7.5vw,7.5rem);--section-small:clamp(4.5rem,6vw,6rem);--meta:clamp(.72rem,.1vw + .7rem,.78rem);--body-size:clamp(1rem,.18vw + .96rem,1.08rem);--fast:180ms;--medium:240ms;--slow:620ms;--ease:cubic-bezier(.2,.7,.2,1);--header-h:76px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--body-size);line-height:1.62;overflow-x:hidden}body.ofh-lock{overflow:hidden}img,svg{display:block;max-width:100%}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}ul{list-style:none;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ofh-container{width:min(100%,var(--container));margin-inline:auto;padding-inline:var(--gutter)}.ofh-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem)}.ofh-section{padding-block:var(--section)}.ofh-section-small{padding-block:var(--section-small)}.ofh-eyebrow{display:block;font:500 var(--meta)/1.2 var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:1.2rem}.ofh-micro-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font:500 .82rem/1.2 var(--body);letter-spacing:.02em;border-bottom:1px solid var(--rule-strong);transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.ofh-micro-link span{transition:transform var(--fast) var(--ease)}.ofh-micro-link:hover,.ofh-micro-link:focus-visible{color:var(--accent);border-color:var(--accent)}.ofh-micro-link:hover span,.ofh-micro-link:focus-visible span{transform:translateX(3px)}.ofh-editorial-cta{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1.65rem;min-height:44px;padding:.72rem 1rem;border:1px solid var(--rule-strong);font:500 .79rem/1 var(--body);background:transparent;transition:.18s ease}.ofh-editorial-cta:hover{color:var(--paper);background:var(--ink);border-color:var(--ink)}.ofh-image-placeholder{width:100%;height:100%;min-height:220px;display:grid;place-items:center;background:var(--paper-2);font:400 2.2rem/1 var(--display);color:var(--muted)}.ofh-skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;transform:translateY(-160%);background:var(--ink);color:var(--paper);padding:.75rem 1rem;font-size:.85rem;transition:transform .18s}.ofh-skip-link:focus{transform:translateY(0)}.ofh-reveal{opacity:1;transform:none}html.js:not(.reduced-motion) .ofh-reveal{opacity:0;transform:translateY(7px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}html.js:not(.reduced-motion) .ofh-reveal.is-visible{opacity:1;transform:none}.nav-links{display:flex;gap:1rem;align-items:center;margin-top:2rem;font-size:.85rem}.page-numbers.current{font-weight:600;color:var(--accent)}
@media(max-width:1024px){.ofh-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:768px){:root{--gutter:clamp(1.15rem,5vw,1.55rem);--section:clamp(3.8rem,14vw,4.7rem);--section-small:clamp(3.5rem,12vw,4.2rem);--header-h:68px}.ofh-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}.ofh-reveal{opacity:1!important;transform:none!important}}


/* UX refinement — typography wrapping only; no font-system changes. */
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
@media(max-width:768px){body{line-height:1.68}}
