.site-header{position:sticky;top:0;z-index:30;background:var(--paper);height:84px;border-bottom:1px solid var(--line)}
.site-header::before{content:'';position:absolute;inset:0 -32px;background:var(--paper);z-index:-1;opacity:.97}
.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:45;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
html{scroll-padding-top:110px}main [id]{scroll-margin-top:112px}#navigation a[aria-current=location]{color:#a64022;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.brand-project{transition:border-color .2s,box-shadow .2s}.brand-project:hover,.brand-project:focus-within{border-color:#b0b7a3;box-shadow:0 10px 30px #30392e0a}
.portrait-image img{object-fit:cover}.portrait-image{background:#e4e4d8}
.contact-copy{margin-top:16px;display:grid;gap:8px}.contact-copy button{justify-self:start;background:none;color:#d7ddcf;border:0;border-bottom:1px solid #8a957f;padding:8px 0;font:inherit;font-size:12px;cursor:pointer}.contact-copy span{font-size:11px;color:#d7ddcf;min-height:16px}.contact-link{margin-top:12px}
.footer-utilities{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-utilities a,.footer-utilities button{font:inherit;font-size:11px;color:var(--muted);background:none;border:0;padding:8px 0;cursor:pointer}.footer-utilities a:hover,.footer-utilities button:hover{color:var(--ink)}
.consent-banner{position:fixed;z-index:50;bottom:20px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 32px));display:flex;align-items:center;gap:30px;padding:22px 26px;background:#faf8f1;color:var(--ink);border:1px solid #cdd1c2;border-radius:9px;box-shadow:0 10px 50px #20251c26}.consent-banner[hidden],[data-consent-open][hidden]{display:none!important}.consent-banner strong{font-size:15px;font-weight:500}.consent-banner p{font-size:12px;line-height:1.65;color:var(--muted);margin:7px 0 0}.consent-banner a{text-decoration:underline;text-underline-offset:3px}.consent-actions{display:flex;gap:10px;flex-shrink:0}.consent-actions button,.privacy-choice{font:inherit;font-size:12px;padding:12px 18px;border:1px solid #77836e;border-radius:4px;background:#f8f8f0;color:#30392e;cursor:pointer;white-space:nowrap}.consent-actions button:hover,.privacy-choice:hover{background:#e5eadc}.consent-actions button:focus-visible,.consent-close:focus-visible{outline:2px solid #a64022;outline-offset:4px}
.consent-dialog{width:min(520px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid #d5d6ca;border-radius:10px;padding:38px;background:var(--paper);color:var(--ink)}.consent-dialog::backdrop{background:#20251c99}.consent-dialog h2{font-size:32px;letter-spacing:-1px;margin:18px 0}.consent-dialog p{font-size:14px;line-height:1.8}.consent-dialog .consent-actions{margin:24px 0}.consent-dialog>a{font-size:12px;text-decoration:underline}.consent-close{position:absolute;right:12px;top:10px;border:0;background:none;padding:6px 10px;font:26px var(--sans);cursor:pointer;color:var(--ink)}
.document-header{display:flex;justify-content:space-between;align-items:center;padding-block:30px;border-bottom:1px solid var(--line);gap:25px}.document-header>a:last-child{font-size:12px}.document-content{max-width:780px;padding-block:70px 85px}.document-content h1{font-size:clamp(42px,6vw,66px);letter-spacing:-2px;margin:22px 0 30px}.document-lead{font-size:20px;line-height:1.7;color:var(--muted)}.document-content h2{font-size:25px;letter-spacing:-.6px;margin-top:40px}.document-content p:not(.eyebrow){line-height:1.85}.document-content a:not(.button){text-decoration:underline;text-underline-offset:4px}.document-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:30px;font-size:12px}.document-page{min-height:100vh}
@media(max-width:760px){.site-header{height:76px}.site-header::before{inset:0 -20px}#navigation{top:75px;max-height:calc(100vh - 80px);overflow:auto}.consent-banner{bottom:12px;display:block;padding:18px}.consent-banner .consent-actions{margin-top:15px}.consent-actions button{flex:1;min-height:44px}.footer-end{align-items:flex-start}.footer-utilities{gap:8px 20px}.contact-copy button{min-height:44px}.consent-dialog{padding:30px 24px}.document-header{align-items:flex-start}.document-header .wordmark{font-size:23px}.document-content{padding-block:45px 65px}.document-content h1{font-size:43px}.document-lead{font-size:17px}.document-footer{flex-wrap:wrap}.footer-projects a{min-height:44px;display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.brand-project{transition:none}}

/* The portrait faces the introduction while its frame and ornament stay in place. */
.portrait-image{background:#152945}.portrait img{transform:scaleX(-1);object-position:50% 50%}
