[hidden]{display:none!important}
*{box-sizing:border-box;margin:0;padding:0}
:root{--paper:#f6f3ec;--ink:#1d1c19;--ink2:#3b3934;--mute:#6b665c;--rule:#d8d2c4;--navy:#1f3a5c;--gut:clamp(20px,5.5vw,64px);--pad:max(var(--gut),calc((100% - 1120px) / 2))}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:'Newsreader',Georgia,serif;font-size:18px;line-height:1.5}
a{color:inherit;text-decoration:none}a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
img{display:block;max-width:100%}
.mono,.nav ul,.more,th{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);font-weight:400}
/* nav */
.nav{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:26px var(--pad);border-bottom:1px solid var(--ink);flex-wrap:wrap}
.nav-name{font-size:22px;font-weight:500;letter-spacing:-.01em}
.nav ul{display:flex;gap:clamp(16px,2.4vw,32px);list-style:none;font-size:13px;color:var(--ink)}
.nav a[aria-current]{color:var(--navy);border-bottom:1px solid var(--navy)}
.nav a[aria-current]:hover{text-decoration:none}
.nav-btn{display:none;background:none;border:1px solid var(--ink);padding:6px 12px;font:400 12px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer}
@media(max-width:860px){.nav-btn{display:block}.nav ul{display:none;width:100%;flex-direction:column;gap:14px;padding-top:12px}.nav.open ul{display:flex}}
/* page heads */
.page-head{padding:clamp(48px,8vw,88px) var(--pad) clamp(40px,6vw,64px)}
.page-head h1{font-size:clamp(44px,6vw,72px);line-height:1.04;font-weight:300;letter-spacing:-.025em;margin-top:16px}
.page-head p.lede{margin-top:24px;font-size:clamp(19px,2vw,22px);color:var(--ink2);max-width:720px;text-wrap:pretty}
/* home hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:clamp(32px,6vw,80px);padding:clamp(48px,8vw,88px) var(--pad) clamp(48px,7vw,80px);align-items:start}
.hero h1{font-size:clamp(46px,6.4vw,80px);line-height:1;font-weight:300;letter-spacing:-.03em;margin-top:18px}
.hero .role{margin-top:24px;font-size:20px;line-height:1.45;font-style:italic;color:var(--ink2)}
.hero .lede{margin-top:28px;font-size:clamp(19px,1.8vw,21px);line-height:1.55;max-width:660px;color:var(--ink2);text-wrap:pretty}
.hero figure img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.15)}
.hero figcaption{margin-top:10px}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero figure{max-width:300px;order:-1}}
/* sections */
.sec{padding:clamp(40px,6vw,72px) var(--pad);border-top:1px solid var(--ink);display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,4vw,48px)}
.sec>h2{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;line-height:1.6}
@media(max-width:760px){.sec{grid-template-columns:1fr}}
.prose p{font-size:19px;line-height:1.6;color:var(--ink2);max-width:760px;text-wrap:pretty}.prose p+p{margin-top:16px}
.more{display:inline-block;margin-top:22px;color:var(--ink);border-bottom:1px solid}.more:hover{text-decoration:none}
/* themes grid */
.themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}
.themes>div{padding:26px 32px 30px 0;border-bottom:1px solid var(--rule)}
.themes>div:nth-child(odd){border-right:1px solid var(--rule)}
.themes>div:nth-child(even){padding-left:32px;padding-right:0}
.themes h3{font-size:26px;font-weight:400;letter-spacing:-.01em;margin:8px 0 10px;line-height:1.2}
.themes p{font-size:17px;color:var(--ink2)}
@media(max-width:760px){.themes{grid-template-columns:1fr}.themes>div:nth-child(n){border-right:0;padding:22px 0}}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px}
.cards h3{font-size:23px;font-weight:400;line-height:1.2;margin:8px 0}
.cards p{font-size:17px;color:var(--ink2)}
.ph{display:flex;align-items:flex-end;padding:12px;aspect-ratio:3/2;margin-bottom:16px;background:repeating-linear-gradient(135deg,#e7e1d4 0 8px,#efeadf 8px 16px);font:400 11px 'IBM Plex Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}
/* lists */
.rows{list-style:none}
.rows li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--rule);font-size:18px;line-height:1.45}
.rows li:first-child{border-top:1px solid var(--rule)}
.rows i{color:var(--navy)}
.rows .sub{display:block;margin-top:4px;font-size:16px;color:var(--mute)}
@media(max-width:560px){.rows li{grid-template-columns:1fr;gap:4px}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.filters button{background:none;border:1px solid var(--rule);padding:7px 14px;font:400 12px 'IBM Plex Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.filters button:hover{border-color:var(--ink)}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:17px}
.tbl th{text-align:left;padding:0 16px 10px 0;border-bottom:1px solid var(--ink)}
.tbl td{padding:14px 16px 14px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl td:first-child{white-space:nowrap}
.tbl .todo td{color:var(--mute);font-style:italic}
.tbl-wrap{overflow-x:auto}
@media(max-width:640px){.tbl thead{display:none}.tbl tr{display:block;padding:12px 0;border-bottom:1px solid var(--rule)}.tbl td{display:block;border:0;padding:2px 0}}
/* definition lists */
.dl{display:grid;grid-template-columns:130px minmax(0,1fr);border-top:1px solid var(--rule)}
.dl>*{padding:16px 0;border-bottom:1px solid var(--rule)}
.dl dt{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--mute);padding-top:19px}
.dl dd b{font-weight:500}
.dl dd span{display:block;color:var(--ink2);font-size:17px}
@media(max-width:560px){.dl{grid-template-columns:1fr}.dl dt{border:0;padding-bottom:0}}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
@media(max-width:760px){.cols2{grid-template-columns:1fr}}
.cols2 h3{font-size:22px;font-weight:400;margin-bottom:10px}
.plain{list-style:none}.plain li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:17px;color:var(--ink2)}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:32px 24px;align-items:start}
.gallery figure{cursor:zoom-in}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e7e1d4}
.gallery figcaption{margin-top:10px;font-size:16px;line-height:1.4;color:var(--ink2)}
.gallery figcaption .mono{display:block;margin-bottom:3px}
.lightbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh;margin:auto}
.lightbox::backdrop{background:rgba(20,19,17,.92)}
.lightbox img{max-width:92vw;max-height:80vh;margin:0 auto}
.lightbox p{color:#f6f3ec;text-align:center;margin-top:14px;font-size:17px}
.lightbox button{position:fixed;top:20px;right:24px;background:none;border:1px solid #b9b3a6;color:#f6f3ec;padding:6px 12px;font:400 12px 'IBM Plex Mono',monospace;text-transform:uppercase;cursor:pointer}
/* footer */
.foot{background:var(--ink);color:var(--paper);padding:clamp(48px,7vw,72px) var(--pad) 40px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end}
.foot h2{font-size:clamp(32px,4.2vw,50px);font-weight:300;letter-spacing:-.02em;line-height:1.12;margin-top:14px;max-width:760px}
.foot .mono{color:#b9b3a6}
.foot ul{list-style:none;font:400 14px/2.1 'IBM Plex Mono',monospace;text-align:right}
.foot a:hover{color:#fff}
.foot-base{margin-top:56px;padding-top:20px;border-top:1px solid #3b3934;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}.foot ul{text-align:left}}

.rows li.thumb{grid-template-columns:90px minmax(0,1fr) 120px;align-items:start}
.rows li.thumb img{width:120px;aspect-ratio:3/2;object-fit:cover}
@media(max-width:560px){.rows li.thumb{grid-template-columns:1fr}.rows li.thumb img,.rows li.thumb>i{display:none}}
.cards img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:16px}
.article{max-width:calc(760px + 2 * var(--gut));margin:0 auto;padding:clamp(40px,7vw,80px) var(--gut) clamp(56px,8vw,96px)}
.article .back{display:inline-block;margin-bottom:36px;color:var(--ink)}
.article h1{font-size:clamp(34px,4.6vw,52px);line-height:1.1;font-weight:300;letter-spacing:-.02em;margin:14px 0 32px;text-wrap:balance}
.article p{font-size:19px;line-height:1.65;color:var(--ink2);text-wrap:pretty}.article p+p{margin-top:18px}
.article a:not(.back){color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.article figure{margin:32px 0}
.article figure img,.article video{width:100%;height:auto;background:#e7e1d4}
.article figcaption{margin-top:10px;font-size:15px;color:var(--mute);font-style:italic}
.dl dd span.inline{display:inline;font-size:inherit}
.article p.mono,.cards p.mono{font-size:12px;line-height:1.5;color:var(--mute)}
.foot li.em{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.foot [data-copy]{background:none;border:1px solid currentColor;color:inherit;opacity:.75;padding:4px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.foot [data-copy]:hover{opacity:1}

.hero .creds{margin-top:14px}.hero .tagline{margin-top:18px;font-size:clamp(22px,2.2vw,26px);line-height:1.3;color:var(--navy);max-width:620px;text-wrap:balance}
.cards img.fig{object-fit:contain;background:#fff;padding:10px}
.cards p.credit{font-size:12px;color:var(--mute);margin-top:8px}.cards p.credit a{text-decoration:underline}

.rows a.pt{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent);text-underline-offset:3px}.rows a.pt:hover{color:var(--navy);text-decoration-color:currentColor}

@media(max-width:760px){.hero figure{max-width:260px;margin:0 auto}.hero h1{font-size:clamp(38px,11vw,52px)}.hero .tagline{font-size:21px}.sec>h2{margin-bottom:-4px}.cards{gap:28px}}
@media(max-width:480px){body{font-size:17px}.nav{padding-top:18px;padding-bottom:18px}.nav-name{font-size:19px}.prose p,.article p{font-size:18px}.themes h3{font-size:23px}.foot-base{margin-top:36px}}

.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.jump a{border:1px solid var(--rule);padding:7px 14px;font:400 12px 'IBM Plex Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}.jump a:hover{border-color:var(--ink);color:var(--ink);text-decoration:none}
.sec[id]{scroll-margin-top:16px}
.tbl .note{display:block;margin-top:4px;font-size:15px;color:var(--mute)}.tbl .tbc{color:var(--mute);font-style:italic}.tbl a.tlink{display:inline-block;margin-top:4px;font-size:15px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}.tbl-foot{margin-top:12px}
.foot-nav{margin-top:48px;padding-top:20px;border-top:1px solid #3b3934}.foot-nav ul{display:flex;flex-wrap:wrap;gap:10px 28px;text-align:left;font:400 13px/1.6 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.foot-nav+.foot-base{margin-top:20px}
.article .back-end{margin:48px 0 0}
.to-top{padding:0 var(--pad) 48px}

.foot-nav{margin:0;padding:26px var(--pad);border:0;background:color-mix(in srgb,var(--ink),var(--paper) 14%);color:var(--paper)}.foot-nav a{color:inherit}.foot-nav a:hover{color:#fff}
.page-head{padding:clamp(36px,6vw,64px) var(--pad) clamp(32px,5vw,48px)}.page-head h1{font-size:clamp(34px,4.4vw,52px);margin-top:0}
.foot{padding:clamp(28px,4vw,40px) var(--pad) 24px}.foot h2{font-size:clamp(20px,2.2vw,26px);line-height:1.3;margin-top:8px;max-width:620px}.foot-grid{gap:28px}.foot ul{line-height:1.9}.foot-base{margin-top:24px;padding-top:14px}
.sec{padding:clamp(24px,3vw,40px) var(--pad)}.prose p{line-height:1.5}.article p{line-height:1.55}.tbl td{padding:10px 16px 10px 0}.tbl-wrap[style*="margin-top:28px"]{margin-top:20px!important}.dl dt{padding-top:14px}.plain li{padding:6px 0}
.nav{padding-top:14px;padding-bottom:14px}
.sec{padding:clamp(18px,2.2vw,28px) var(--pad)}
.page-head{padding:clamp(24px,3.5vw,40px) var(--pad) clamp(20px,2.8vw,30px)}.page-head p.lede{margin-top:14px}.jump{margin-top:20px}
.foot-nav{padding:10px var(--pad)}.foot-nav ul{list-style:none}
.foot{padding:16px var(--pad) 12px}.foot-grid{align-items:center;gap:20px}.foot h2{margin-top:4px}.foot ul{line-height:1.6}.foot-base{margin-top:12px;padding-top:10px}
@media(max-width:480px){.nav{padding-top:12px;padding-bottom:12px}.foot-base{margin-top:12px}}
.foot [data-copy]{white-space:nowrap;height:auto;line-height:1.4}.foot li.em{justify-content:flex-end}.foot ul{min-width:max-content}@media(max-width:760px){.foot li.em{justify-content:flex-start}}
.sec>h2{font-size:14px;font-weight:500;letter-spacing:.09em;color:var(--navy)}
.nav{position:sticky;top:0;z-index:50;background:var(--paper);transition:box-shadow .2s}.nav.scrolled{box-shadow:0 2px 12px rgba(29,28,25,.08)}.sec[id]{scroll-margin-top:72px}
.sec[id]{scroll-margin-top:calc(var(--navh,72px) + 12px)}@media(min-width:861px) and (max-width:1100px){.nav ul{gap:16px;font-size:12px}.nav-name{font-size:19px}}
.nav{padding-top:9px;padding-bottom:9px;background:color-mix(in srgb,var(--paper),var(--ink) 6%)}.nav a[aria-current]{font-weight:500}.foot-nav a[aria-current]{font-weight:500;color:#fff;border-bottom:1px solid currentColor}.foot-nav a[aria-current]:hover{text-decoration:none}
.hero{padding:clamp(24px,3.5vw,40px) var(--pad) clamp(24px,3.5vw,40px);gap:clamp(24px,4vw,56px)}.hero h1{font-size:clamp(36px,4.6vw,56px);margin-top:0}.hero .lede{margin-top:18px}.hero .role{margin-top:16px}
.more{margin-top:14px}
.themes>div{padding:16px 28px 18px 0}.themes>div:nth-child(even){padding-left:28px}.themes h3{margin:4px 0 6px}
@media(max-width:760px){.themes>div:nth-child(n){padding:14px 0}.hero h1{font-size:clamp(32px,9vw,44px)}}
@media(max-width:480px){.nav{padding-top:9px;padding-bottom:9px}}
.nav.scrolled{background:rgba(233,230,222,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero figure img{aspect-ratio:2/3;filter:none;border-radius:20px;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%);mask-composite:intersect}
.page-head p.lede{max-width:none}
.sec{grid-template-columns:minmax(0,1fr);gap:12px}.sec>h2{margin-bottom:0}.prose p{max-width:none}
.hero .tagline,.hero .lede{max-width:none}.hero .tagline{text-wrap:pretty}
.hero .tagline{border-left:2px solid var(--navy);padding-left:16px;font-style:italic}
.hero .tagline{margin:22px 5% 0}
.hero .tagline{border-left:0;padding-left:0;margin:22px 0 0;font-style:normal;color:var(--navy)}
