/* Ruth's original Timeless typography and lamellae artwork. */
@font-face{font-family:'Timeless Sans';src:url('/_ruth/TimelessSansVF-latin.aac784ca5d25.woff2') format('woff2');font-style:normal;font-weight:300 800;font-display:swap}
@font-face{font-family:'Timeless Serif';src:url('/_ruth/TimelessSerifVF-latin.b9c492c1b997.woff2') format('woff2');font-style:normal;font-weight:200 700;font-display:swap}
@font-face{font-family:'Paper Mono';src:url('/_ruth/paper-mono.57b28aaaffc4.woff2') format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
:root,html[data-appearance]{--paper:#fff;--ink:#1c2322;--muted:#646d6a;--signal:#315b54;--hair:#dce2df;--text:'Timeless Serif',Georgia,serif;--sans:'Timeless Sans',Arial,sans-serif;--mono:'Paper Mono',monospace;--pad:clamp(32px,5.6vw,88px);--method-bg:#f5f7f6;--closing-bg:var(--paper);--closing-fg:var(--ink);--closing-muted:var(--muted);--closing-signal:var(--signal);font-size:1rem;color-scheme:light;scroll-behavior:auto;background:#aebcb8 url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') center/cover fixed}
html::before{display:none!important}
*,*::before,*::after{box-sizing:border-box}
body.minimal,body.minimal.redesign,body.minimal.editorial-home{width:calc(100% - 96px);max-width:1440px;margin:48px auto;padding:0;background:var(--paper);color:var(--ink);font:400 1.1875rem/1.6 var(--sans);--paper:inherit}
body.minimal{--paper:#fff;--ink:#1c2322;--muted:#646d6a;--signal:#315b54;--hair:#dce2df;--text:'Timeless Serif',Georgia,serif;--sans:'Timeless Sans',Arial,sans-serif;--pad:clamp(32px,5.6vw,88px);box-shadow:none}
.minimal :where(p,figure,ul,ol,h1,h2,h3,h4,dl,dd){margin:0}
.minimal :where(h1,h2,h3,h4){font-family:var(--text);font-weight:350;font-variation-settings:'STYL' 0;letter-spacing:-.025em;line-height:1.12;text-wrap:balance;color:var(--ink)}
.minimal h1{font-size:clamp(3rem,5.1vw,5rem)}
.minimal h2{font-size:clamp(2.5rem,4.1vw,3.5rem)}
.minimal h3{font-size:2rem}
.minimal h4{font-size:1.625rem}
.minimal p{max-width:none;text-wrap:pretty}
.minimal a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-decoration-thickness:1px;text-underline-offset:.2em}
.minimal a:hover{text-decoration-color:currentColor}
.minimal :where(button,input,select,textarea){font:inherit;color:inherit}
.minimal :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--signal);outline-offset:5px}
.minimal :where(button,a,summary){touch-action:manipulation}
.minimal button,.minimal summary{cursor:pointer}
.minimal [id]{scroll-margin-top:32px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.minimal .skip-link{position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(-200%);background:var(--paper);padding:12px 20px}
.minimal .skip-link:focus{transform:none}
.minimal .minimal-header{--navigation-compact:1;position:relative;display:flex;align-items:center;gap:28px;width:100%;max-width:none;min-height:112px;margin:0;padding:20px var(--pad);background:var(--paper);border:0;z-index:10}
.minimal .wordmark{margin-right:auto;white-space:nowrap;font:450 1.1875rem/1.2 var(--sans);letter-spacing:-.035em;text-decoration:none}
.minimal .primary-links{display:flex;align-items:center;gap:28px;font:450 0.875rem/1.4 var(--sans)}
.minimal .primary-links a{display:flex;align-items:center;min-height:44px;text-decoration:none}
.minimal .primary-links a:hover,.minimal .primary-links a[aria-current]{text-decoration:underline}
.minimal .site-menu{position:relative;margin:0;padding:0;display:block}
.minimal .site-menu__toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;list-style:none;font:450 0.875rem/1.4 var(--sans);color:var(--ink)}
.minimal summary::-webkit-details-marker{display:none}
.minimal .site-menu__toggle .menu-mark{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:1.25rem;font-weight:300;line-height:1}
.minimal .site-menu[open] .site-menu__toggle .menu-mark{transform:rotate(45deg)}
.minimal .menu-panel{position:absolute;right:0;top:52px;min-width:248px;padding:24px 28px;background:var(--paper);border:1px solid var(--hair);box-shadow:0 12px 24px #1c232208;font:400 1rem/1.5 var(--sans)}
.minimal .menu-panel nav:first-child{display:grid;gap:0;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--hair)}
.minimal .menu-panel a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.minimal .menu-panel a:hover{text-decoration:underline}
.minimal .language-nav{display:flex;gap:20px}
.minimal .language-nav [aria-current]{text-decoration:underline}
.minimal main{margin:0;max-width:none;padding:0}
.minimal .opening{padding:64px var(--pad) 0}
.minimal .opening-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.minimal .opening h1{grid-column:1/9;font-size:clamp(3rem,5.1vw,5rem);line-height:1.045;letter-spacing:-.026em;min-height:2.09em;margin:0}
.minimal .opening-context{grid-column:9/-1;padding:9px 0 0 12px;font-size:1.1875rem;line-height:1.5}
.minimal .opening-context .position{font-size:1.3125rem;line-height:1.4}
.minimal .opening-context p+p{margin-top:24px;max-width:34ch}
.minimal .text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-top:24px;font:400 1rem/1.4 var(--sans);text-decoration:none;color:var(--signal)}
.minimal .text-link:hover{text-decoration:underline}
.minimal .opening-art{margin:44px 0 0}
.minimal .opening-art img{display:block;width:100%;height:auto;aspect-ratio:3.1;object-fit:cover;object-position:50% 52%}
.minimal .chapter{margin:144px var(--pad) 0;padding:0;max-width:none}
.minimal .practice-summary{margin-top:96px}
.minimal .eyebrow{font:450 0.8125rem/1.4 var(--sans);letter-spacing:.015em;margin-bottom:24px;color:var(--muted)}
.minimal .practice-summary h2{max-width:20ch}
.minimal .practice-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:48px}
.minimal .practice-columns article{padding-top:24px;border-top:1px solid var(--hair)}
.minimal .practice-columns h3{font-size:1.75rem;letter-spacing:-.015em;line-height:1.2}
.minimal .practice-columns h3 a{text-decoration:none}
.minimal .practice-columns h3 a:hover{text-decoration:underline}
.minimal .practice-columns p{margin-top:20px;font-size:1.125rem;line-height:1.6;max-width:34ch}
.minimal .split-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.minimal .split-section h2{max-width:13ch}
.minimal .large-copy{font-size:1.3125rem;line-height:1.6;max-width:36ch}
.minimal .split-section>div+div{padding-top:44px}
.minimal .writing-summary{padding-top:48px;border-top:1px solid var(--hair)}
.minimal .contact-minimal{padding-top:48px;border-top:1px solid var(--hair);margin-bottom:112px}
.minimal .contact-minimal h2{max-width:18ch;font-size:clamp(2.125rem,3.4vw,3rem)}
.minimal .contact-email{font-size:clamp(1.1875rem,1.8vw,1.5rem);line-height:1.5;overflow-wrap:anywhere;text-decoration:none;border-bottom:1px solid var(--signal)}
.minimal .contact-cities{margin-top:16px;font-size:1.0625rem}
.minimal .contact-reminder{margin-top:32px;color:var(--muted);font-size:0.9375rem;line-height:1.6;max-width:36ch}
.minimal .contact-details{font-size:0.9375rem;line-height:1.6;margin-top:8px}
.minimal .contact-details summary{display:flex;align-items:center;min-height:44px;gap:12px}
.minimal .contact-details summary::after{content:'+'}
.minimal .contact-details[open] summary::after{content:'−'}
.minimal .contact-details p{margin-top:8px}
.minimal .minimal-footer{margin:0 var(--pad);padding:28px 0 24px;border-top:1px solid var(--hair);font:400 0.8125rem/1.5 var(--sans)}
.minimal .footer-line{display:flex;align-items:baseline;gap:28px;position:relative}
.minimal .footer-line>span{margin-right:auto}
.minimal .footer-language{display:flex;gap:20px}
.minimal .footer-language a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}
.minimal .footer-language [aria-current]{text-decoration:underline}
.minimal .footer-info>summary{display:flex;align-items:center;min-height:44px;gap:12px}
.minimal .footer-info>summary::after{content:'+'}
.minimal .footer-info[open]>summary::after{content:'−'}
.minimal .footer-info>div{padding:24px 0;max-width:640px}
.minimal .footer-line:has(.footer-info[open]){flex-wrap:wrap}
.minimal .footer-info[open]{flex-basis:100%;order:3}
.minimal .footer-info h2{font:450 1rem/1.5 var(--sans);margin:24px 0 8px}
.minimal .footer-info p{font-size:0.9375rem;line-height:1.6}
.minimal .footer-formats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.minimal .footer-formats a{display:inline-flex;min-height:44px;align-items:center}
.minimal .footer-address{display:flex;gap:64px;margin-top:24px}
.minimal address{font-style:normal}
.minimal .preview-label{font-size:0.6875rem;color:var(--muted);margin-top:12px}
.minimal .theme-control{margin-top:24px}
.minimal select{background:var(--paper);border:1px solid var(--hair);padding:6px 10px;margin-left:12px}
.minimal .legacy-anchor{display:none;margin:0 var(--pad);padding:24px 0}
.minimal .legacy-anchor:target{display:block}
/* Index and essays: a quiet reading surface. */
.minimal.writing-page main{max-width:800px;margin:0 auto;padding:76px 32px 144px;min-height:65vh}
.minimal .writing-heading h1{font-size:clamp(3.375rem,5.1vw,4.5rem)}
.minimal .writing-heading p{margin-top:24px;font-size:1.25rem;max-width:34ch}
.minimal .essay-list{padding:0;margin:64px 0 0;list-style:none}
.minimal .essay-list__item{display:grid;grid-template-columns:1fr 120px;gap:8px 32px;padding:22px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.minimal .essay-list__title{grid-column:1;grid-row:1;font:350 1.75rem/1.3 var(--text);text-decoration:none}
.minimal .essay-list__title:hover{text-decoration:underline}
.minimal .essay-list__date{grid-column:2;grid-row:1;font:400 0.8125rem/1.5 var(--sans);color:var(--muted);text-align:right;white-space:nowrap}
.minimal .essay-list__description{display:none}
.minimal .writing-feed{margin-top:40px;font-size:0.875rem}
.minimal .writing-feed a{display:inline-flex;min-height:44px;align-items:center;gap:12px}
.minimal .essay{max-width:740px;margin:0 auto;padding:48px 32px 128px}
.minimal .essay-back{font:400 0.875rem/1.5 var(--sans);margin-bottom:56px}
.minimal .essay-heading h1{font-size:clamp(2.5rem,4.6vw,4rem);line-height:1.12}
.minimal .essay-heading p{font:400 0.875rem/1.5 var(--sans);color:var(--muted);margin-top:24px}
.minimal .essay-prose{margin-top:48px;font:350 1.4375rem/1.65 var(--text)}
.minimal .essay-prose :where(p,ul,ol,blockquote){margin-top:24px}
.minimal .essay-prose :where(h2,h3){margin:48px 0 24px}
.minimal .essay-prose h2{font-size:2.125rem}
.minimal .essay-prose h3{font-size:1.75rem}
.minimal .essay-prose img{max-width:100%;height:auto}
/* Existing long-form pages keep their semantic content and tools. */
body.minimal.reading-page main{padding:48px var(--pad) 96px;max-width:none;margin:0}
.minimal .note-breadcrumb{font:400 0.875rem/1.5 var(--sans);max-width:720px;margin:0 auto 32px}
.minimal .reading-layout{display:flex;flex-direction:column;max-width:720px;gap:24px;margin:auto}
.minimal .reading-index{position:static;max-width:none;width:100%;font:400 0.875rem/1.5 var(--sans);padding:0}
.minimal .reading-index details{border:0;padding:0}
.minimal .reading-index summary{min-height:44px;display:flex;align-items:center}
.minimal .reading-index nav{padding:16px 0}
.minimal .note{max-width:none;width:100%;margin:0}
.minimal .note-title{margin:0 0 48px;padding:0;border:0}
.minimal .note-title h1{font-size:clamp(2.625rem,4.6vw,4rem);line-height:1.1;letter-spacing:-.026em;max-width:18ch}
.minimal .note-title .date{font:400 0.8125rem/1.5 var(--sans);margin-bottom:24px;color:var(--muted)}
.minimal .standfirst{font:400 1.3125rem/1.55 var(--sans);margin-top:28px}
.minimal .prose{font:350 1.4375rem/1.65 var(--text);max-width:none}
.minimal .prose :where(p,li){font:inherit}
.minimal .prose p+p{margin-top:24px}
.minimal .prose h2{font-size:2.125rem;margin:48px 0 24px}
.minimal .prose h3{font-size:1.75rem;margin:40px 0 20px}
.minimal .reader-tools{position:static;margin:0 var(--pad) 48px;padding:24px 0;border-top:1px solid var(--hair);font-size:0.875rem}
.minimal .notes-footer,.minimal .site-footer:not(.minimal-footer){padding:40px var(--pad);margin:0;background:var(--paper);color:var(--ink);font-size:0.875rem}
.minimal .detail-page{color:var(--ink)}
.minimal.detail-page main{padding:64px var(--pad) 112px}
.minimal.detail-page .section-shell{padding:0;margin:0;max-width:none}
.minimal.detail-page .section-head{margin-bottom:48px}
.minimal.detail-page .section-code{font:400 0.8125rem/1.5 var(--sans);color:var(--muted);margin-bottom:24px}
.minimal.detail-page .practice-row{display:grid;grid-template-columns:1fr 1.35fr;gap:64px;border-top:1px solid var(--hair);padding:40px 0}
.minimal.detail-page .practice-row h3{font-size:2rem}
.minimal.detail-page .practice-row__body p+p{margin-top:24px}
.minimal.detail-page .practice-link{display:inline-block;margin-top:24px;font-size:1rem}
.minimal.detail-page .practice-focus{margin-top:32px}
.minimal.detail-page .practice-focus :is(h3,h4){margin-bottom:20px}
.minimal.practice-page .practice-eyebrow{margin-bottom:24px}
.minimal.practice-page .practice-hero__intro{margin-top:24px}
.minimal.detail-page .profile__grid{display:grid;grid-template-columns:1fr 1.35fr;gap:64px}
.minimal.detail-page .profile__portrait{margin-top:40px;max-width:300px}
.minimal.detail-page .profile__portrait img{width:100%;height:auto;display:block;filter:none}
.minimal.detail-page .profile__bio{font:350 1.5625rem/1.5 var(--text)}
.minimal.detail-page .evidence{margin-top:40px}
.minimal.detail-page .evidence__row{display:grid;grid-template-columns:1fr 2fr;gap:24px;border-top:1px solid var(--hair);padding:20px 0;font-size:1rem}
.minimal.detail-page dt{font-weight:450}
.minimal.detail-page .profile__method,.minimal.detail-page #work{margin-top:96px}
.minimal.detail-page .model-table{width:100%;border-collapse:collapse;margin-top:32px;font-size:1.125rem;text-align:left}
.minimal.detail-page .model-table :where(td,th){padding:20px 16px 20px 0;border-top:1px solid var(--hair);vertical-align:top}
.minimal.detail-page .model-table tbody th{width:25%;font-weight:450}
.minimal.detail-page #work .work-list{padding:0;list-style:none}
.minimal.detail-page #work li{border-top:1px solid var(--hair);padding:24px 0}
.minimal.detail-page #work h3{margin-bottom:12px}
.minimal :where(pre,table){max-width:100%}
.minimal pre{overflow:auto}
.minimal :where(img,video,canvas){max-width:100%}
.minimal .command-dialog{background:var(--paper);color:var(--ink)}
@media(prefers-color-scheme:dark){html:not([data-theme=light]),html:not([data-theme=light]) body.minimal{--paper:#171e1c;--ink:#edf1ef;--muted:#b0bdb6;--signal:#afd2c2;--hair:#3e4b45;--method-bg:#222d27;color-scheme:dark}}
html[data-theme=dark],html[data-theme=dark] body.minimal{--paper:#171e1c;--ink:#edf1ef;--muted:#b0bdb6;--signal:#afd2c2;--hair:#3e4b45;--method-bg:#222d27;color-scheme:dark}
html[data-theme=light],html[data-theme=light] body.minimal{--paper:#fff;--ink:#1c2322;--muted:#646d6a;--signal:#315b54;--hair:#dce2df;color-scheme:light}
@media(max-width:1000px){
 body.minimal,body.minimal.redesign,body.minimal.editorial-home{width:calc(100% - 48px);margin:24px auto;--pad:40px}
 .minimal .minimal-header{gap:22px}
 .minimal .primary-links{gap:22px}
 .minimal .opening-grid{grid-template-columns:1fr}
 .minimal .opening h1{grid-column:auto;font-size:clamp(3rem,7.5vw,4.5rem)}
 .minimal .opening-context{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:20px;padding:0}
 .minimal .opening-context p+p{margin:0}
 .minimal .opening-context .text-link{grid-column:2}
 .minimal .opening-art img{aspect-ratio:2.4}
 .minimal .practice-columns{gap:28px}
 .minimal .practice-columns h3{font-size:1.5625rem}
 .minimal .split-section{gap:48px}
 .minimal .chapter{margin-top:112px}
 .minimal .practice-summary{margin-top:80px}
 .minimal.detail-page .profile__grid,.minimal.detail-page .practice-row{gap:40px}
}
@media(max-width:620px){
 html:not([data-theme="dark"]){background-image:none}
 body.minimal,body.minimal.redesign,body.minimal.editorial-home{width:100%;margin:0;--pad:24px}
 .minimal .minimal-header{min-height:88px;padding:16px 24px;gap:20px}
 .minimal .wordmark{font-size:1.0625rem;letter-spacing:-.04em}
 .minimal .primary-links a:not(:last-child){display:none}
 .minimal .primary-links,.minimal .site-menu__toggle{font-size:0.8125rem}
 .minimal .site-menu__toggle{gap:8px}
 .minimal .opening{padding-top:44px}
 .minimal .opening h1{font-size:clamp(2.0625rem,10.8vw,3.75rem);line-height:1.04;letter-spacing:-.025em;min-height:2.08em}
 .minimal .opening-grid{gap:0}
 .minimal .opening-context{display:block;margin-top:28px;font-size:1.125rem;line-height:1.5}
 .minimal .opening-context .position{font-size:1.25rem;line-height:1.4}
 .minimal .opening-context p+p{margin-top:20px;max-width:31ch}
 .minimal .opening-context .text-link{margin-top:16px}
 .minimal .opening-art{margin-top:32px}
 .minimal .opening-art img{aspect-ratio:1.65;object-position:46% 50%}
 .minimal .chapter{margin:80px 24px 0}
 .minimal .practice-summary{margin-top:64px}
 .minimal .eyebrow{margin-bottom:20px}
 .minimal h2{font-size:2.375rem}
 .minimal .practice-columns{display:block;margin-top:32px}
 .minimal .practice-columns article+article{margin-top:28px}
 .minimal .practice-columns h3{font-size:1.75rem}
 .minimal .practice-columns p{font-size:1.125rem;margin-top:16px;max-width:none}
 .minimal .split-section{display:block}
 .minimal .split-section h2{max-width:18ch}
 .minimal .split-section>div+div{padding-top:28px}
 .minimal .large-copy{font-size:1.25rem;line-height:1.6}
 .minimal .writing-summary,.minimal .contact-minimal{padding-top:32px}
 .minimal .contact-minimal{margin-bottom:64px}
 .minimal .contact-minimal h2{font-size:2.125rem;max-width:17ch}
 .minimal .contact-email{font-size:1.375rem}
 .minimal .minimal-footer{padding-top:20px}
 .minimal .footer-line{gap:20px;flex-wrap:wrap;font-size:0.75rem}
 .minimal .footer-language{gap:16px}
 .minimal .footer-info{flex-basis:100%;margin-top:-12px}
 .minimal .footer-info>div{max-width:100%}
 .minimal .preview-label{margin-top:8px}
 .minimal.writing-page main{padding:52px 24px 80px}
 .minimal .writing-heading h1{font-size:3.25rem}
 .minimal .writing-heading p{font-size:1.1875rem;margin-top:20px}
 .minimal .essay-list{margin-top:44px}
 .minimal .essay-list__item{display:flex;flex-direction:column;gap:8px;padding:22px 0}
 .minimal .essay-list__title{font-size:1.75rem;order:0}
 .minimal .essay-list__date{order:1;text-align:left;font-size:0.8125rem}
 .minimal .essay{padding:40px 24px 80px}
 .minimal .essay-back{margin-bottom:40px}
 .minimal .essay-heading h1{font-size:2.625rem}
 .minimal .essay-prose,.minimal .prose{font-size:1.3125rem;line-height:1.65}
 body.minimal.reading-page main{padding:32px 24px 64px}
 .minimal .note-title h1{font-size:2.5rem}
 .minimal .note-title .standfirst{font-size:1.25rem}
 .minimal.detail-page main{padding:44px 24px 72px}
 .minimal.detail-page h1{font-size:2.75rem}
 .minimal.detail-page .profile__grid,.minimal.detail-page .practice-row{display:block}
 .minimal.detail-page .practice-row h3{margin-bottom:24px}
 .minimal.detail-page .profile__record{margin-top:40px}
 .minimal.detail-page .profile__bio{font-size:1.4375rem}
 .minimal.detail-page .evidence__row{display:block}
 .minimal.detail-page .evidence dt{margin-bottom:8px}
 .minimal.detail-page .model-table{font-size:1rem}
 .minimal.detail-page .model-table tbody th{width:auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){body.minimal{border:1px solid CanvasText}.minimal :where(a,button,summary):focus-visible{outline:3px solid Highlight}.minimal .opening-art{border:1px solid CanvasText}}
@media print{html{background:white!important}body.minimal,body.minimal.redesign{width:100%;max-width:none;margin:0;background:white!important;color:black!important;font-size:11pt;--pad:0}.minimal :where(.minimal-header,.minimal-footer,.opening-art,.skip-link,.reader-tools,.legacy-anchor,.essay-back,.reading-index){display:none!important}.minimal .opening,.minimal.detail-page main,.minimal.reading-page main,.minimal.writing-page main,.minimal .essay{padding:0!important}.minimal .chapter{margin:32px 0!important;break-inside:avoid}.minimal .opening h1{font-size:36pt}.minimal h2{font-size:24pt}.minimal .essay-prose,.minimal .prose{font-size:12pt}.minimal .contact-details>p{display:block}.minimal .opening-grid,.minimal .split-section{display:block}.minimal .opening-context{padding:20px 0}.minimal a{color:black!important;text-decoration:underline}.minimal :where(h1,h2,h3){break-after:avoid}}
/* The archive title wrapper is a grid item; dates stay in the right column. */
.minimal .essay-list__text{grid-column:1;grid-row:1}
.minimal .reader-tools-disclosure>summary{display:flex;align-items:center;min-height:44px;gap:12px;font:400 0.875rem/1.5 var(--sans)}
.minimal .reader-tools-disclosure>summary::after{content:'+'}
.minimal .reader-tools-disclosure[open]>summary::after{content:'−'}
.minimal .reader-tools__inner{margin-top:16px;max-width:720px}
.minimal .reader-tools__inner button{min-height:44px}
.minimal .reader-tools__inner a{min-height:44px;display:inline-flex;align-items:center}
.minimal .reading-index summary::after{content:'+';margin-left:12px}
.minimal .reading-index details[open] summary::after{content:'−'}
@media(max-width:620px){.minimal .essay-list__text{order:0}.minimal .essay-list__date{order:1}}
.minimal .reader-tools{width:auto;max-width:none}
.minimal.detail-page .practice-row>h2{font-size:2rem}
.minimal .perspective{--space:#07121b}
.minimal .perspective__scene h2{font:350 2rem/1.15 var(--text);color:#edf0e9;margin:0 0 20px}
.minimal .perspective__scene-copy p{color:#afbec6}
@media(max-width:620px){.minimal.detail-page .practice-row>h2{margin-bottom:24px}}
.minimal .minimal-header{flex-wrap:wrap}
.minimal :where(h1,h2,h3,h4){overflow-wrap:anywhere;hyphens:auto}
.minimal .contact-email{overflow-wrap:anywhere}
.minimal :where(p,li,dd,dt){overflow-wrap:break-word;hyphens:auto}
@media print{.minimal .minimal-header{display:block!important;min-height:0;padding:0 0 20px}.minimal .minimal-header .wordmark{font-size:14pt}.minimal .minimal-header :where(.primary-links,.site-menu){display:none!important}}
/* Quiet landing: the opening, two indexes, direct contact. */
.minimal-quiet .opening-context{position:relative}
.minimal-quiet .opening-context p+p{max-width:20ch}
.minimal-quiet .opening-art{margin-top:64px}
.minimal-quiet .headline-visual{display:block;min-height:2.09em}
.minimal-quiet .typed-line{display:block;white-space:normal}
.minimal-quiet .typed-word{display:inline-block}

.minimal-quiet .quiet-index{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin:72px var(--pad) 80px}
.minimal-quiet .quiet-index h2{font:450 .8125rem/1.5 var(--sans);letter-spacing:0;color:var(--muted);margin-bottom:24px}
.minimal-quiet .quiet-index ul{list-style:none;margin:0;padding:0}
.minimal-quiet .quiet-index li+li{margin-top:4px}
.minimal-quiet .quiet-index li a{display:flex;gap:16px;align-items:baseline;justify-content:space-between;min-height:44px;padding:6px 0;font:350 clamp(1.25rem,1.7vw,1.5rem)/1.35 var(--text);text-decoration:none}
.minimal-quiet .quiet-index a:hover{text-decoration:underline}
.minimal-quiet .quiet-index li a>.quiet-link-icon{font:400 .875rem/1.5 var(--sans);color:var(--signal);flex-shrink:0;opacity:0;transition:opacity .2s}
.minimal-quiet .quiet-index li a:is(:hover,:focus-visible)>span{opacity:1}
.minimal-quiet .quiet-more{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:20px;font:400 .875rem/1.5 var(--sans);color:var(--signal);text-decoration:none}
.minimal-quiet .quiet-contact{margin-right:auto;font:400 .875rem/1.5 var(--sans);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.minimal-quiet .quiet-contact:hover{text-decoration:underline}
@media(max-width:1000px){.minimal-quiet .opening-art{margin-top:44px}}
@media(max-width:620px){
 .minimal-quiet .opening-context{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
 .minimal-quiet .opening-context .position{grid-column:1}
 .minimal-quiet .opening-context p+p{grid-column:1;max-width:25ch;margin-top:16px}

 .minimal-quiet .opening-art{margin-top:32px}
 .minimal-quiet .quiet-index{grid-template-columns:1fr;gap:40px;margin:48px 24px 48px}
 .minimal-quiet .quiet-index h2{margin-bottom:16px}
 .minimal-quiet .quiet-index li a{font-size:1.4375rem;min-height:44px}
 .minimal-quiet .quiet-more{margin-top:12px}
 .minimal-quiet .quiet-contact{font-size:.8125rem}
 .minimal-quiet .footer-line{column-gap:16px}
}
@media(prefers-reduced-motion:reduce){.minimal-quiet .quiet-index li a>.quiet-link-icon{transition:none}}
@media print{.minimal-quiet .quiet-index{margin:24px 0}.minimal-quiet .minimal-footer{display:block!important}.minimal-quiet .footer-line>*:not(.quiet-contact),.minimal-quiet .preview-label{display:none}}

.minimal .quiet-contact{margin-right:auto;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.minimal .quiet-contact:hover{text-decoration:underline}
.minimal-quiet .quiet-index li a{display:block;overflow-wrap:anywhere}

/* Open work uses the same plain links and reading rhythm as Writing. */
.minimal.detail-page .profile-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);column-gap:64px;row-gap:28px;align-items:start}
.minimal.detail-page .profile-work .section-head{grid-column:1;grid-row:1;margin:0}
.minimal.detail-page .profile-work h2{font-size:clamp(2rem,3vw,2.75rem);max-width:14ch}
.minimal.detail-page .project-list{grid-column:2;grid-row:1;list-style:none;padding:0;margin:0}
.minimal.detail-page #work .project-item{border:0;padding:0 0 28px;margin:0}
.minimal.detail-page #work .project-item+li{padding-top:28px;border-top:1px solid var(--hair)}
.minimal.detail-page #work .project-item h3{font:350 clamp(1.5rem,2vw,1.875rem)/1.25 var(--text);margin:0 0 12px;letter-spacing:-.015em}
.minimal.detail-page .project-item h3 a{display:inline-flex;gap:16px;align-items:baseline;min-height:44px;text-decoration:none}
.minimal.detail-page .project-item h3 a:is(:hover,:focus-visible){text-decoration:underline}
.minimal.detail-page .project-arrow{font:400 .875rem/1 var(--sans);color:var(--signal);flex-shrink:0}
.minimal.detail-page .project-item p{font:400 1.0625rem/1.65 var(--sans);max-width:60ch}
.minimal.detail-page #work .project-item--note h3{font-size:1.5rem}
.minimal.detail-page .profile-work .work__note{grid-column:2;margin:0;font-size:.9375rem;line-height:1.6;max-width:60ch}
@media(max-width:1000px){.minimal.detail-page .profile-work{column-gap:40px}}
@media(max-width:760px){
 .minimal.detail-page .profile__grid,.minimal.detail-page .practice-row{display:block}
 .minimal.detail-page .profile__record{margin-top:36px}
 .minimal.detail-page .practice-row>h2{margin-bottom:24px}
 .minimal.detail-page .profile__portrait{max-width:260px;margin-top:32px}
 .minimal.detail-page .profile-work{grid-template-columns:minmax(0,1fr);row-gap:32px}
 .minimal.detail-page .profile-work .section-head,.minimal.detail-page .project-list,.minimal.detail-page .profile-work .work__note{grid-column:1;grid-row:auto}
 .minimal.detail-page #work .project-item{padding-bottom:24px}
 .minimal.detail-page #work .project-item+li{padding-top:24px}
}
/* A static, decorative paper grain over the artwork only. */
.minimal .opening-art{position:relative;isolation:isolate}
.minimal .opening-art::after{content:'';position:absolute;inset:0;pointer-events:none;background:url('/images/paper-grain.svg') repeat;opacity:.055;mix-blend-mode:multiply}
@media(prefers-contrast:more),(forced-colors:active){.minimal .opening-art::after{display:none}}
@media print{.minimal .opening-art::after{display:none}.minimal.detail-page .profile-work{display:block}}
/* Intermediate widths need a reading column, not two narrow columns. */
@media(min-width:621px) and (max-width:1000px){
 .minimal.detail-page .profile__grid{display:block}
 .minimal.detail-page .profile__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:16px 32px;align-items:start}
 .minimal.detail-page .profile__intro .section-code{grid-column:1;margin:0}
 .minimal.detail-page .profile__intro h1{grid-column:1;grid-row:2;font-size:clamp(2.5rem,5vw,3rem)}
 .minimal.detail-page .profile__portrait{grid-column:2;grid-row:1/3;margin:0;max-width:220px}
 .minimal.detail-page .profile__record{margin-top:44px}
 .minimal.detail-page .profile-work{grid-template-columns:minmax(0,1fr);row-gap:32px}
 .minimal.detail-page .profile-work .section-head,.minimal.detail-page .project-list,.minimal.detail-page .profile-work .work__note{grid-column:1;grid-row:auto}
}
@media(max-width:620px){.minimal.detail-page h1{font-size:clamp(2rem,9vw,2.75rem)}}
.minimal.detail-page .method-list{margin-top:32px;font-size:1.125rem}
.minimal.detail-page .method-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px;padding:20px 0;border-top:1px solid var(--hair)}
.minimal.detail-page .method-list dt{font-weight:450}
@media(max-width:620px){
 .minimal.detail-page .method-list{font-size:1rem}
 .minimal.detail-page .method-list>div{display:block}
 .minimal.detail-page .method-list dt{margin-bottom:8px}
}
/* Enlarged text must also reflow inside the optional information panel. */
.minimal .footer-info{min-width:0;max-width:100%}
.minimal .footer-info>div{min-width:0}
.minimal .footer-info a,.minimal .quiet-contact{overflow-wrap:anywhere;max-width:100%}
.minimal .footer-address{flex-wrap:wrap;gap:24px 64px}
.minimal .footer-address address{min-width:0}
.minimal .theme-control select{max-width:100%}
@media(max-width:620px){
 .minimal .quiet-contact{display:inline-block;line-height:1.6;padding-block:12px}
 .minimal .theme-control select{display:block;margin:8px 0 0}
}
@media(max-width:620px){.minimal .site-menu{margin-left:auto}.minimal .menu-panel{max-width:calc(100vw - 48px)}}
/* Ruth's night treatment: original palette, full-bleed artwork and light text. */
.minimal .appearance-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;min-width:44px;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}
.minimal .appearance-toggle[hidden]{display:none}
.minimal .appearance-toggle:hover{text-decoration:underline;text-underline-offset:.25em}
@media screen{
 html[data-theme=dark]{background:#101a18;color-scheme:dark}
 html[data-theme=dark] body.minimal{--paper:#101a18;--ink:#f3f5f1;--muted:#cdd6d0;--signal:#d3e7dc;--hair:rgba(222,235,225,.24);--method-bg:#24322b;--pad:clamp(28px,6.5vw,104px);width:100%;max-width:none;margin:0;background:transparent;color:var(--ink);isolation:isolate;min-height:100svh}
 html[data-theme=dark] body.minimal::before{content:'';display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#06110e91,#06110e91),url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') 48% 50%/cover}
 html[data-theme=dark] body.minimal>main{background:linear-gradient(180deg,transparent 0,rgba(6,17,14,.08) min(48vh,35%),rgba(6,17,14,.5) min(100vh,65%),rgba(6,17,14,.5) 88%,transparent 100%)}
 html[data-theme=dark] .minimal .minimal-header{background:transparent}
 html[data-theme=dark] .minimal .menu-panel{background:linear-gradient(#0a1713e0,#0a1713f0),url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') center/cover;border-color:var(--hair);box-shadow:0 24px 64px -24px #0000008c}
 html[data-theme=dark] .minimal .opening{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 112px);padding-block:clamp(72px,11vh,140px) clamp(112px,18vh,192px)}
 html[data-theme=dark] .minimal .opening-grid{width:100%}
 html[data-theme=dark] .minimal .opening h1{font-size:clamp(3.5rem,5.65vw,5.25rem);line-height:1.06}
 html[data-theme=dark] .minimal .headline-visual{min-height:2.12em}
 html[data-theme=dark] .minimal .opening-context{padding-top:10px}
 html[data-theme=dark] .minimal .opening-art{display:none}
 html[data-theme=dark] .minimal .quiet-index{margin-top:0;padding-top:72px}
 html[data-theme=dark] .minimal .profile__portrait{outline:1px solid rgba(234,245,237,.2);outline-offset:-1px}
 html[data-theme=dark] .minimal .skip-link{background:#f3f5f1;color:#101a18}
 html[data-theme=dark] ::selection{background:#d3e7dc;color:#101a18}
 html[data-theme=dark] .minimal .command-dialog{background:linear-gradient(#0a1713e0,#0a1713f0),url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') center/cover}
}
@media screen and (max-width:1000px){
 html[data-theme=dark] body.minimal{--pad:48px}
 html[data-theme=dark] .minimal .opening h1{font-size:clamp(3.25rem,7.5vw,4.75rem)}
 html[data-theme=dark] .minimal .opening-context{padding-top:0}
}
@media screen and (max-width:760px){html[data-theme=dark] body.minimal{--pad:28px}}
@media(max-width:620px){
 .minimal .footer-info{flex-basis:auto;margin-top:0}
 .minimal .appearance-toggle{margin-left:auto}
}
@media screen and (max-width:620px){
 html[data-theme=dark] body.minimal::before{background-image:linear-gradient(90deg,#06110e91,#06110e91),url('/_ruth/ruth-lamellae-mobile.e45958b87dd6.webp');background-position:44% 50%}
 html[data-theme=dark] .minimal .opening{padding-block:64px 88px;min-height:calc(100svh - 88px)}
 html[data-theme=dark] .minimal .opening h1{font-size:clamp(2.25rem,10.8vw,3.75rem);line-height:1.06}
 html[data-theme=dark] .minimal .opening-context{margin-top:36px}
 html[data-theme=dark] .minimal .quiet-index{padding-top:40px}
}
@media(forced-colors:active){html[data-theme=dark] body.minimal::before{display:none}html[data-theme=dark] body.minimal>main,html[data-theme=dark] .minimal .command-dialog{background:Canvas}}
@media print{.minimal .appearance-toggle{display:none!important}}

@media screen{
 html[data-theme=dark] .minimal .minimal-header,
 html[data-theme=dark] body.minimal.detail-page>main,
 html[data-theme=dark] body.minimal.writing-page>main,
 html[data-theme=dark] body.minimal.reading-page>main,
 html[data-theme=dark] body.minimal.essay-page>main{padding-inline:var(--pad)}
 html[data-theme=dark] .minimal .quiet-index{margin-inline:var(--pad)}
 html[data-theme=dark] body.minimal.detail-page #perspective{background:transparent}
}

.minimal.writer-page #root :where(h1,h2,h3){color:inherit}

/* One quiet full-screen index. Its frame follows the page's exact gutters. */
.minimal .header-actions{display:flex;align-items:center;gap:28px;min-width:0}
.minimal .header-actions .site-menu{margin-left:0}
.minimal .menu-dialog{--menu-frame:calc(100% - 96px);--menu-top:48px;--menu-header:112px;--menu-space:64px;position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}
.minimal .menu-dialog[open]{display:flex;flex-direction:column;animation:menu-arrive 140ms ease-out both}
.minimal .menu-dialog::backdrop{background:var(--paper)}
.minimal .menu-dialog__header,.minimal .menu-dialog__content{width:var(--menu-frame);max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}
.minimal .menu-dialog__header{display:flex;align-items:center;flex-shrink:0;min-height:var(--menu-header);margin-top:var(--menu-top);padding-block:20px;gap:28px}
.minimal .menu-dialog__header .wordmark{margin-right:auto}
.minimal .menu-dialog__close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--ink)}
.minimal .menu-dialog__close .menu-mark{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font:300 1.25rem/1 var(--sans);transform:rotate(45deg)}
.minimal .menu-dialog__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.minimal .menu-dialog__content{padding-block:var(--menu-space) max(48px,env(safe-area-inset-bottom));font:400 1rem/1.5 var(--sans)}
.minimal :is(.menu-dialog__content,.menu-panel) .menu-pages{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0;padding:0;border:0}
.minimal :is(.menu-dialog__content,.menu-panel) .menu-pages a{display:block;max-width:100%;min-height:44px;padding:2px 0;font:350 clamp(2.5rem,4.7vw,4.5rem)/1.12 var(--text);letter-spacing:-.025em;text-decoration:none;overflow-wrap:anywhere}
.minimal :is(.menu-dialog__content,.menu-panel) .menu-pages a:hover,.minimal :is(.menu-dialog__content,.menu-panel) .menu-pages a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
.minimal :is(.menu-dialog__content,.menu-panel) .menu-tools{display:flex;flex-wrap:wrap;align-items:center;column-gap:64px;row-gap:12px;margin-top:48px}
.minimal :is(.menu-dialog__content,.menu-panel) .menu-tools a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.minimal :is(.menu-dialog__content,.menu-panel) .menu-tools a:hover{text-decoration:underline}
.minimal :is(.menu-dialog__content,.menu-panel) .language-nav{display:flex;gap:24px;margin:0;padding:0;border:0}
.minimal :is(.menu-dialog__content,.menu-panel) .language-nav [aria-current]{text-decoration:underline}
html.navigation-open{overflow:hidden}
/* The native details version gives no-JS visitors the same complete index. */
.minimal .site-menu[open]>.menu-panel{position:fixed;inset:0;width:100%;max-width:none;min-width:0;margin:0;padding:224px max(calc((100vw - 1440px)/2 + var(--pad)),calc(48px + var(--pad))) 48px;background:var(--paper);color:var(--ink);border:0;box-shadow:none;overflow:auto;z-index:20}
.minimal .site-menu[open]>.site-menu__toggle{z-index:22;position:relative}
.minimal .minimal-header:has(.site-menu[open]) .wordmark{position:relative;z-index:21}
.minimal .minimal-header:has(.site-menu[open]) .primary-links{visibility:hidden}
html:has(.site-menu[open]){overflow:hidden}
.minimal:has(.site-menu[open])>:is(main,footer,.skip-link){visibility:hidden}
/* Reserve three display lines for the approved principles, without page jumps. */
.minimal-quiet .opening h1,.minimal-quiet .headline-visual{min-height:3.135em}
@media(max-width:1000px){
 .minimal .header-actions{gap:22px}
 .minimal .menu-dialog{--menu-frame:calc(100% - 48px);--menu-top:24px;--menu-space:48px}
 .minimal .site-menu[open]>.menu-panel{padding:184px calc(24px + var(--pad)) 48px}
}
@media(max-width:620px){
 .minimal .header-actions{gap:20px;margin-left:auto}
 .minimal .menu-dialog{--menu-frame:100%;--menu-top:0px;--menu-header:88px;--menu-space:36px}
 .minimal .menu-dialog__header{padding-block:16px}
 .minimal :is(.menu-dialog__content,.menu-panel) .menu-pages{gap:12px}
 .minimal :is(.menu-dialog__content,.menu-panel) .menu-pages a{font-size:clamp(2.25rem,10vw,3.25rem)}
 .minimal :is(.menu-dialog__content,.menu-panel) .menu-tools{margin-top:36px;column-gap:40px}
 .minimal .site-menu[open]>.menu-panel{padding:124px var(--pad) 48px}
 .minimal-quiet .opening h1,.minimal-quiet .headline-visual{min-height:3.12em}
}
@media(max-height:620px){.minimal .menu-dialog{--menu-space:24px}.minimal .menu-dialog__content{padding-bottom:24px}}
html[data-theme=dark] .minimal .menu-dialog{--menu-frame:100%;--menu-top:0px;background:linear-gradient(#06110e91,#06110e91),url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') 48% 50%/cover}
html[data-theme=dark] .minimal .site-menu[open]>.menu-panel{padding-inline:var(--pad);background:linear-gradient(#06110e91,#06110e91),url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') 48% 50%/cover}
html[data-theme=dark] .minimal .opening h1,html[data-theme=dark] .minimal .headline-visual{min-height:3.18em}
@media(max-width:620px){html[data-theme=dark] .minimal .menu-dialog,html[data-theme=dark] .minimal .site-menu[open]>.menu-panel{background-image:linear-gradient(#06110e91,#06110e91),url('/_ruth/ruth-lamellae-mobile.e45958b87dd6.webp');background-position:44% 50%}}
@keyframes menu-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.minimal .menu-dialog[open]{animation:none}}
@media(forced-colors:active){html[data-theme] .minimal .menu-dialog,html[data-theme] .minimal .site-menu[open]>.menu-panel{background:Canvas;color:CanvasText}}
@media print{.minimal .menu-dialog{display:none!important}.minimal .header-actions{display:none!important}.minimal:has(.site-menu[open])>:is(main,footer){visibility:visible}}

/* Capture the actual page header so the plus never moves, including at large text. */
.minimal .menu-dialog{width:100vw}
.minimal .menu-dialog__header{position:relative;width:100%;max-width:none;height:var(--menu-header-bottom,160px);min-height:0;margin:0;padding:0;display:block}
.minimal .menu-dialog__header .wordmark{position:absolute;left:var(--menu-word-left);top:var(--menu-word-top);margin:0}
.minimal .menu-dialog__close{position:absolute;right:var(--menu-control-right);top:var(--menu-control-top)}
.minimal .menu-dialog__content{width:100%;max-width:none;padding-inline:var(--menu-word-left) var(--menu-control-right)}
@media(max-width:620px){
 html[data-theme] .minimal-quiet .opening h1{font-size:clamp(1.875rem,9vw,3.5rem)}
 .minimal .site-menu[open]>.menu-panel{padding-top:calc(88px + 2.25rem)}
}
html[data-theme=dark] .minimal .site-menu[open]>.menu-panel{padding-top:176px}
@media(max-width:1000px){html[data-theme=dark] .minimal .site-menu[open]>.menu-panel{padding-top:160px}}
@media(max-width:620px){html[data-theme=dark] .minimal .site-menu[open]>.menu-panel{padding-top:calc(88px + 2.25rem)}}

/* Keep navigation free of decorative arrow symbols. */

@media(max-width:620px){
 .minimal .minimal-header .primary-links{display:none}
}

/* Contact is a destination, with one clear hierarchy and the shared page gutters. */
.minimal.contact-page main{padding:64px var(--pad) 120px;min-height:65vh}
.minimal .contact-heading{margin:0 0 56px}
.minimal .contact-heading h1{font-size:clamp(3.375rem,5.1vw,4.5rem)}
.minimal .contact-page__label{font:400 .875rem/1.5 var(--sans);color:var(--muted);letter-spacing:0;margin:0 0 12px}
.minimal .contact-page__email{display:inline-block;max-width:100%;padding-block:4px;font:350 clamp(1.5rem,3vw,2.75rem)/1.25 var(--text);letter-spacing:-.025em;text-decoration:none;overflow-wrap:anywhere}
.minimal .contact-page__email:hover{text-decoration:underline;text-decoration-thickness:1px}
.minimal .contact-email-tools{display:flex;align-items:center;flex-wrap:wrap;column-gap:24px;min-height:44px;margin-top:16px;font:400 .875rem/1.5 var(--sans)}
.minimal .contact-copy{min-height:44px;padding:0;background:transparent;border:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.minimal .contact-copy[hidden]{display:none}
.minimal .contact-copy-status{color:var(--muted)}
.minimal .contact-addresses{display:grid;grid-template-columns:1fr 2fr;gap:48px;margin-top:64px;padding-top:32px;border-top:1px solid var(--hair);font:400 1rem/1.65 var(--sans)}
.minimal .contact-office-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12em),1fr));gap:32px}
.minimal .contact-office-list h3{font:400 1rem/1.65 var(--sans);letter-spacing:0;margin:0}
.minimal .contact-addresses address{font-style:normal;overflow-wrap:anywhere}.minimal .contact-addresses section{min-width:0}
@media(max-width:700px){.minimal .contact-addresses{grid-template-columns:1fr;gap:36px}}
@media(max-width:620px){.minimal.contact-page main{padding:44px var(--pad) 80px}.minimal .contact-heading{margin-bottom:40px}.minimal .contact-addresses{margin-top:44px}.minimal .contact-page__email{font-size:1.5rem}}
@media(max-width:380px){.minimal .contact-office-list{grid-template-columns:1fr;gap:24px}}
@media print{.minimal.contact-page main{padding:24px 0;min-height:0}.minimal .contact-email-tools{display:none}.minimal .contact-addresses{break-inside:avoid}}

/* The selected Timeless ampersand is the shared navigation mark. */
.minimal .site-menu__toggle{border-radius:50%;transition:background-color 160ms ease,color 160ms ease}
.minimal .site-menu__toggle .menu-mark{display:block;width:32px;height:36px;font:350 32px/36px var(--text);font-variation-settings:'STYL' 0;letter-spacing:0;text-align:center;transform:none}
.minimal .site-menu__toggle:hover,.minimal .menu-dialog__close:hover{background:color-mix(in srgb,currentColor 6%,transparent)}
.minimal .site-menu__toggle:active,.minimal .menu-dialog__close:active{background:color-mix(in srgb,currentColor 10%,transparent)}
.minimal .menu-dialog__close{border-radius:50%}
.minimal .menu-dialog__close .menu-mark{font:300 28px/1 var(--sans);transform:none}
.minimal .menu-mark--close{display:none}
.minimal .site-menu[open] .site-menu__toggle .menu-mark{display:none;transform:none}
.minimal .site-menu[open] .site-menu__toggle .menu-mark--close{display:block;font:300 28px/1 var(--sans);text-align:center}
@media(prefers-reduced-motion:reduce){.minimal .site-menu__toggle{transition:none}}

/* A fine two-line menu mark, centred on the same 44px control in every view. */
.minimal .site-menu__toggle .menu-mark,.minimal .menu-dialog__close .menu-mark{position:relative;display:block;width:22px;height:22px;font-size:0;transform:none}
.minimal .menu-mark::before,.minimal .menu-mark::after{content:"";position:absolute;left:0;top:10.5px;width:22px;height:1px;background:currentColor;transform-origin:center;transition:transform 160ms ease}
.minimal .menu-mark::before{transform:translateY(-3.5px)}
.minimal .menu-mark::after{transform:translateY(3.5px)}
.minimal .menu-dialog__close .menu-mark::before,.minimal .site-menu[open] .site-menu__toggle .menu-mark::before{transform:rotate(45deg)}
.minimal .menu-dialog__close .menu-mark::after,.minimal .site-menu[open] .site-menu__toggle .menu-mark::after{transform:rotate(-45deg)}
.minimal .site-menu[open] .site-menu__toggle .menu-mark{display:block}
.minimal .site-menu[open] .site-menu__toggle .menu-mark--close{display:none}
@media(prefers-reduced-motion:reduce){.minimal .menu-mark::before,.minimal .menu-mark::after{transition:none}}

/* Ambient light: compositor-only motion in the Ruth artwork. */
@media screen {
 body.minimal::before{content:'';display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;background:#aebcb8 url('/_ruth/ruth-lamellae.8bcf1314a9b5.webp') center/cover}
 .minimal .opening-art{overflow:hidden}
}
@media screen and (max-width:620px){html:not([data-theme=dark]) body.minimal::before{display:none}}
@media screen and (prefers-reduced-motion:no-preference) and (prefers-contrast:no-preference) and (forced-colors:none){
 html.ambient-ready body.minimal::before,
 html.ambient-ready .minimal .opening-art img{animation:ambient-drift 36s ease-in-out infinite alternate;animation-play-state:paused}
 html.ambient-ready .minimal .opening-art::before{content:'';position:absolute;inset:-12%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 32% 40%,rgba(255,250,233,.17),transparent 62%);opacity:0;animation:ambient-light 28s ease-in-out infinite alternate;animation-play-state:paused}
 html.ambient-running body.minimal::before,
 html.ambient-running .minimal .opening-art img,
 html.ambient-running .minimal .opening-art::before{animation-play-state:running}
 html:is(.navigation-open,.commands-open) body.minimal::before,
 html:is(.navigation-open,.commands-open) .minimal .opening-art img,
 html:is(.navigation-open,.commands-open) .minimal .opening-art::before{animation-play-state:paused}
}
@keyframes ambient-drift{
 from{transform:translate3d(0,0,0) scale(1)}
 to{transform:translate3d(.35%,-.3%,0) scale(1.028)}
}
@keyframes ambient-light{
 from{opacity:0;transform:translate3d(-5%,0,0)}
 to{opacity:.38;transform:translate3d(5%,2%,0)}
}
@media print{body.minimal::before,.minimal .opening-art::before{display:none!important}}

@media(prefers-contrast:more),(forced-colors:active){body.minimal::before{display:none!important}}

/* A typographic focus cue: no boxes around links or navigation controls. */
.minimal :is(a,button,summary):focus-visible,.minimal .command-dialog :is(a,button):focus-visible{outline:none!important;box-shadow:none!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.22em}
.minimal :is(.site-menu__toggle,.menu-dialog__close):focus-visible .menu-mark::before,.minimal :is(.site-menu__toggle,.menu-dialog__close):focus-visible .menu-mark::after{height:2px;width:26px;left:-2px;background:var(--signal)}
.minimal .menu-dialog__close:is(:hover,:focus-visible){background:transparent;box-shadow:none}
.minimal .command-dialog :is(.command-input,.cli-input):focus-visible{outline:none;box-shadow:none;border-bottom:2px solid var(--signal)}
.minimal .command-dialog .command-result:focus-visible .command-result__title{text-decoration-thickness:2px}

/* Contact first; the small utilities have their own breathing room. */
@media screen{
 .minimal .minimal-footer{padding-top:32px;padding-bottom:44px}
 .minimal .footer-line{flex-wrap:wrap;align-items:center;gap:12px 32px;font:400 .875rem/1.5 var(--sans)}
 .minimal .quiet-contact{flex:1 1 auto;margin:0;min-height:44px;padding:0}
 .minimal .quiet-contact[href^="mailto:"]{font:350 clamp(1.375rem,2vw,1.75rem)/1.3 var(--text);letter-spacing:-.018em}
 .minimal .footer-language{gap:20px}
 .minimal .footer-info{flex-basis:auto;margin:0}
 .minimal .footer-info>summary{gap:12px;padding:0;list-style:none}
 .minimal .footer-info[open]{flex-basis:100%;order:3}
 .minimal .footer-info[open]>summary{margin-left:auto;width:max-content}
 .minimal .footer-info>div{max-width:100%;padding:28px 0 0}
 .minimal .footer-info>div>:is(p,section){max-width:44rem}
 .minimal .footer-appearance{display:flex;align-items:center;margin-bottom:16px}
 .minimal .footer-appearance .appearance-toggle{margin:0;min-height:44px;font:inherit}
 .minimal .footer-formats{flex-wrap:wrap;gap:12px 24px}
 .minimal .footer-address{gap:32px 64px;padding-block:20px}
}
@media screen and (max-width:760px){
 .minimal .minimal-footer{padding-top:28px;padding-bottom:32px}
 .minimal .footer-line{gap:12px 24px;font-size:.875rem}
 .minimal .quiet-contact{flex-basis:100%;margin-bottom:4px}
 .minimal .quiet-contact[href^="mailto:"]{font-size:clamp(1.25rem,5.6vw,1.5rem);line-height:1.4}
 .minimal .footer-language{margin-right:auto;gap:22px}
 .minimal .footer-info>div{padding-top:20px}
 .minimal .footer-address{display:grid;grid-template-columns:1fr;gap:24px}
}

/* Complete-site typography, including the framework and document templates. */
body.minimal{--display:var(--text);--serif:var(--text);--reader-prose-font:var(--text)}
.minimal .menu-pages a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
.minimal .section-code,.minimal .agents-control__index{font-family:var(--sans)}
.writer-page .back-link{font-family:var(--sans);letter-spacing:0}

@media screen{.minimal .doc .sec-head{font-size:var(--t-body);line-height:var(--lead);overflow-wrap:normal;word-break:normal;hyphens:none;letter-spacing:-.01em;font-variant-caps:normal}}

/* Quiet footer disclosures. Every control stays in normal document flow. */
@media screen{
 .minimal .footer-line{row-gap:12px}
 .minimal .footer-info,.minimal .footer-info[open]{flex:0 0 100%;order:3;margin:4px 0 0}
 .minimal .footer-info>summary,.minimal .footer-info[open]>summary{width:100%;margin:0;justify-content:space-between;color:var(--muted)}
 .minimal .footer-info>summary:hover,.minimal .footer-info>summary:focus-visible{color:var(--ink)}
 .minimal .footer-info>.footer-information{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:64px;row-gap:0;padding-top:24px}
 .minimal .footer-information>.footer-appearance{grid-column:1;grid-row:1;margin:0;align-self:start}
 .minimal .footer-information>.footer-formats{grid-column:1;grid-row:2;align-self:start;gap:4px 20px;margin:0}
 .minimal .footer-information>p{grid-column:1;grid-row:3;align-self:start;margin:12px 0 0}
 .minimal .footer-information>.footer-address-group{grid-column:2;grid-row:1}
 .minimal .footer-information>#legal{grid-column:2;grid-row:2}
 .minimal .footer-information>#privacy{grid-column:2;grid-row:3}
 .minimal .footer-information>#accessibility{grid-column:2;grid-row:4}
 .minimal .footer-information>section{margin:0;max-width:none}
 .minimal .footer-disclosure{min-width:0;margin:0;padding:0;border:0}
 .minimal .footer-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:8px 0;box-sizing:border-box;cursor:pointer;list-style:none;font:400 1rem/1.5 var(--sans);color:var(--ink)}
 .minimal .footer-disclosure>summary::marker,.minimal .footer-info>summary::marker{content:""}
 .minimal .footer-disclosure>summary::-webkit-details-marker,.minimal .footer-info>summary::-webkit-details-marker{display:none}
 .minimal .footer-disclosure>summary::after{content:"+";flex:none;font:400 1rem/1 var(--sans);color:var(--muted)}
 .minimal .footer-disclosure[open]>summary::after{content:"−"}
 .minimal .footer-disclosure>summary h2{font:inherit;letter-spacing:0;margin:0;color:inherit}
 .minimal .footer-disclosure>p{margin:0 0 16px;font-size:.9375rem;line-height:1.65;max-width:44rem;overflow-wrap:anywhere}
 .minimal .footer-disclosure>p:last-child{margin-bottom:24px}
 .minimal .footer-address-group .footer-address{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:24px;padding:12px 0 24px;margin:0;font-size:.9375rem}
 .minimal .footer-disclosure a{text-decoration:underline;text-underline-offset:.18em}
}
@media screen and (max-width:760px){
 .minimal .footer-info,.minimal .footer-info[open]{margin-top:0}
 .minimal .footer-info>.footer-information{display:flex;flex-direction:column;gap:0;padding-top:20px}
 .minimal .footer-information>.footer-appearance{margin-bottom:8px}
 .minimal .footer-information>.footer-formats{gap:4px 24px}
 .minimal .footer-information>p{margin:12px 0 24px}
 .minimal .footer-address-group .footer-address{grid-template-columns:1fr;gap:20px}
 .minimal .footer-disclosure>summary{min-height:52px}
}

/* Shared heading links and secondary-page chrome keep the same quiet rhythm. */
@media screen {
 .minimal .section-link{text-decoration:none}
 .minimal .section-link:is(:hover,:focus-visible){text-decoration:underline}
 .minimal.agents-page .agents-note--sequence h3{font-family:var(--text)}
}
@media screen and (min-width:56rem){
 body.minimal.pivot-page>.minimal-header,body.minimal.pivot-page>.minimal-footer{grid-column:1/-1}
}
/* Identity and writing: clear destinations, one restrained type scale. */
@media screen{
 .minimal-quiet .quiet-index .home-essay a{display:block;min-height:44px;padding:6px 0;color:var(--ink);text-decoration:none}
 .minimal-quiet .home-essay__title{display:block;font:350 clamp(1.25rem,1.7vw,1.5rem)/1.35 var(--text);letter-spacing:-.01em;overflow-wrap:break-word;text-wrap:pretty}
 .minimal-quiet .home-essay__date{display:block;margin-top:7px;font:400 .75rem/1.5 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
 .minimal-quiet .home-essay--latest{padding-bottom:18px;margin-bottom:10px}
 .minimal-quiet .quiet-index .home-essay+.home-essay{margin-top:8px}
 .minimal-quiet .home-essay:not(.home-essay--latest) .home-essay__title{font-size:clamp(1.1875rem,1.5vw,1.375rem)}
 .minimal-quiet .home-essay a:is(:hover,:focus-visible) .home-essay__title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
 .minimal-quiet #notes .quiet-more{margin-top:18px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
}
@media screen and (max-width:620px){
 .minimal-quiet .home-essay__title{font-size:1.4375rem}
 .minimal-quiet .home-essay:not(.home-essay--latest) .home-essay__title{font-size:1.3125rem}
}

/* Profile has its own place below the artwork, separate from practice. */
@media screen{
 .minimal-quiet .profile-entry{margin-top:40px}
 .minimal-quiet .profile-entry>a{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;padding:6px 0;font:350 clamp(1.25rem,1.7vw,1.5rem)/1.35 var(--text);letter-spacing:-.01em;text-decoration:none}
 .minimal-quiet .profile-entry>a:is(:hover,:focus-visible){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
}
@media screen and (max-width:620px){.minimal-quiet .profile-entry>a{font-size:1.4375rem}}

/* Service pages share the full-width night surface, with their reading measure intact. */
@media screen{
 .minimal.practice-page #disputes-title:lang(de){font-size:clamp(3rem,5.1vw,4.5rem)}
 html[data-theme=dark] body.minimal.practice-page>main{width:100%;max-width:none;margin-inline:0;padding-inline:max(var(--pad),calc((100% - 1180px)/2))}
}
@media screen and (max-width:480px){
 .minimal.practice-page #disputes-title:lang(de){font-size:clamp(2rem,10vw,3rem)}
}

/* A decorative shader lives inside the unchanged artwork, beneath its grain. */
.minimal .opening-art .artwork-light{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1600ms ease}
.minimal .opening-art.artwork-light-ready .artwork-light{opacity:1}
.minimal .opening-art.artwork-light-ready::before{display:none}
.minimal .opening-art::after{z-index:2}
html:not(.ambient-ready) .minimal .opening-art .artwork-light{display:none}
@media(prefers-reduced-motion:reduce),(prefers-contrast:more),(forced-colors:active){.minimal .opening-art .artwork-light{display:none!important}}
@media print{.minimal .opening-art .artwork-light{display:none!important}}

/* A single shadow pass above the night artwork and below all reading content. */
.minimal .night-artwork-light{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.minimal .night-artwork-light .artwork-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1600ms ease}
.minimal .night-artwork-light.artwork-light-ready .artwork-light{opacity:1}
html:not([data-theme=dark]) .minimal .night-artwork-light,html:not(.ambient-ready) .minimal .night-artwork-light{display:none}
@media(prefers-reduced-motion:reduce),(prefers-contrast:more),(forced-colors:active){.minimal .night-artwork-light{display:none!important}}
@media print{.minimal .night-artwork-light{display:none!important}}

/* Keep ordinary words intact; emergency wrapping remains for long unbroken text. */
@media screen {
 body.minimal :is(h1,h2,h3,h4,p,li,dd,dt):not(.opening *) {hyphens:none!important;word-break:normal;overflow-wrap:break-word}
 body.minimal :is(.quiet-index a,.menu-panel a,.navigation-dialog a,.home-essay__title,.profile-entry>a) {hyphens:none;word-break:normal;overflow-wrap:break-word;min-width:0}
 body.minimal :is(code,pre,.contact-email,.footer-email) {overflow-wrap:anywhere}
}
