@font-face{font-family:"Marcellus";src:url("/assets/fonts/marcellus.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Karla";src:url("/assets/fonts/karla.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url("/assets/fonts/dmmono.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
--paper:#f7f8f2;--glass:#e8ede3;--ink:#16211b;--moss:#334f3d;--wine:#7a2b3a;
--muted:#66716a;--line:rgba(22,33,27,.2);--hair:rgba(22,33,27,.11);
--display:"Marcellus",Georgia,"Times New Roman",serif;
--body:"Karla",system-ui,-apple-system,Segoe UI,sans-serif;
--mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16.5px/1.72 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,p,dl,dd,figure{margin:0}
.wrap{width:min(1140px,100% - 88px);margin:0 auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:90}
.skip:focus{left:12px;top:12px}

/* masthead */
.mast{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--ink)}
.mast-in{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:baseline;gap:12px;text-decoration:none;font:400 22px/1 var(--display);letter-spacing:.02em}
.brand b{font-weight:400}
.brand i{font:400 8.5px/1 var(--mono);font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);transform:translateY(-2px)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font:400 9.5px/1 var(--mono);letter-spacing:.17em;text-transform:uppercase;text-decoration:none;padding:7px 0;border-bottom:1px solid transparent;white-space:nowrap}
.nav a:hover{border-color:var(--line)}
.nav a[aria-current="page"]{border-color:var(--wine)}
.nav a.lib{height:32px;display:inline-flex;align-items:center;padding:0 15px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);margin-left:12px;letter-spacing:.14em}
.nav a.lib:hover{background:var(--wine);border-color:var(--wine)}
.burger{display:none;width:40px;height:32px;padding:9px 8px;background:none;border:1px solid var(--line);cursor:pointer}
.burger span{display:block;height:1px;background:var(--ink);margin:5px 0}
.burger span:first-child{margin-top:0}
.burger span:last-child{margin-bottom:0}
.mobile{display:none}

/* hero */
.hero{position:relative;border-bottom:1px solid var(--ink);background:
linear-gradient(180deg,rgba(232,237,227,.55),rgba(232,237,227,0) 62%),var(--paper)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:
linear-gradient(90deg,rgba(22,33,27,.055) 1px,transparent 1px),
linear-gradient(0deg,rgba(22,33,27,.045) 1px,transparent 1px);
background-size:96px 96px;mask-image:linear-gradient(160deg,rgba(0,0,0,.9),transparent 58%)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 392px;gap:68px;align-items:start;padding:46px 0 48px}
.kicker{display:flex;align-items:center;gap:12px;font:400 9.5px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--moss)}
.kicker::before{content:"";width:30px;height:1px;background:var(--moss)}
.hero h1{margin:18px 0 0;font:400 clamp(56px,8.5vw,122px)/.9 var(--display);letter-spacing:-.022em}
.hero h1 em{font-style:normal;color:var(--wine)}
.lede{max-width:45ch;margin:22px 0 0;font-size:17px;line-height:1.72;color:#28352d}
.lib-cta{margin:28px 0 0}
.lib-cta a{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 30px;background:var(--wine);color:#fbf6ef;border:1px solid var(--wine);text-decoration:none;font:600 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase}
.lib-cta a:hover{background:var(--ink);border-color:var(--ink)}
.facts3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 22px;margin:34px 0 0;border-top:1px solid var(--line)}
.facts3 div{padding:10px 0 0;border-bottom:1px solid var(--hair)}
.facts3 dt{font:400 8px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.facts3 dd{margin:5px 0 0;font-size:13px;line-height:1.45}

.pane{width:392px;border:1px solid var(--ink);padding:15px;background:#fff;position:relative}
.pane::before{content:"";position:absolute;left:-1px;top:64px;bottom:64px;width:1px;background:var(--ink);opacity:.5}
.pane::after{content:"";position:absolute;right:-1px;top:64px;bottom:64px;width:1px;background:var(--ink);opacity:.5}
.pane img{width:360px;height:400px;object-fit:cover;border:1px solid var(--hair);position:relative;z-index:1}
.pane-cap{display:flex;justify-content:space-between;gap:14px;margin:12px 0 0;padding-top:11px;border-top:1px solid var(--hair);font:400 8.5px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pane-cap span:last-child{text-align:right}

/* partners */
.partners{background:var(--glass);border-bottom:1px solid var(--ink);padding:26px 0 30px}
.pw{display:grid;grid-template-columns:minmax(0,1fr) 678px;gap:52px;align-items:start}
.plabel{border-top:2px solid var(--ink);border-right:1px solid var(--hair);padding-top:14px;padding-right:26px;align-self:stretch}
.plabel h2{font:400 32px/1.05 var(--display);letter-spacing:-.01em}
.plabel p{margin:9px 0 0;font:400 8.5px/1.6 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.plates{display:grid;grid-template-columns:repeat(3,214px);gap:18px}
.pcell{display:flex;align-items:center;justify-content:center;height:132px;background:transparent;border:0;text-decoration:none;position:relative}


.pcell img{width:190px;height:114px;max-width:none;object-fit:contain;display:block}
.pcell:hover img{opacity:.82}

/* section rhythm */
.sec{padding:56px 0 0}
.sec-in{display:grid;grid-template-columns:168px minmax(0,1fr);gap:46px}
.sec>.rail{padding-top:4px}
.rail span{display:block;font:400 8.5px/1.5 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--ink);padding-top:9px}
.railin{padding-top:2px}
.sec h2{font:400 clamp(30px,3.6vw,44px)/1.08 var(--display);letter-spacing:-.012em;max-width:22ch}
.sec .body{margin-top:20px}
.prose p{max-width:66ch;margin:0 0 16px;font-size:16.5px;line-height:1.78}
.prose p:last-child{margin-bottom:0}
.split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);gap:52px;align-items:start}
.note{margin:16px 0 0;font:400 9.5px/1.75 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#4b574f;max-width:74ch}

.statline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);margin:26px 0 0}
.statline div{padding:14px 16px 15px 0;border-right:1px solid var(--hair)}
.statline div:last-child{border-right:0}
.statline b{display:block;font:400 30px/1 var(--display);letter-spacing:-.01em}
.statline span{display:block;margin:6px 0 0;font:400 8px/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* tables and lists */
.ftable{border-top:1px solid var(--ink);margin-top:22px;max-width:900px}
.fhead{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:9px 0;border-bottom:1px solid var(--hair);font:400 8.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.frow{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--hair)}
.frow .yr{font:400 11px/1.4 var(--mono);color:var(--moss);letter-spacing:.06em}
.frow .ti{font:400 18px/1.35 var(--display);letter-spacing:.005em}
.frow:hover{background:rgba(122,43,58,.045)}
.nrow{display:grid;grid-template-columns:56px 136px minmax(0,1fr);gap:18px;padding:11px 0;border-bottom:1px solid var(--hair);font-size:13.5px;line-height:1.55}
.nrow b{font:400 11px/1.5 var(--mono);color:var(--moss);letter-spacing:.04em}
.nrow em{font-style:normal;font:400 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}
.nrow span{color:#3a463e}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none}
.chips li{border:1px solid var(--line);padding:6px 10px;font:400 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}

/* page heads */
.page-head{padding:52px 0 0}
.page-head .kicker{margin-bottom:16px}
.page-head h1{font:400 clamp(46px,7vw,86px)/.95 var(--display);letter-spacing:-.02em}
.page-head .page-note{max-width:62ch;margin:18px 0 0;font-size:16.5px;line-height:1.7;color:#2c3931}
.page-rule{margin-top:26px;border-top:1px solid var(--ink)}

/* biography */
.bio-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 302px;gap:52px;align-items:start;padding-top:30px}
.dossier{border:1px solid var(--ink);padding:18px 18px 6px;background:#fff;position:sticky;top:96px}
.dossier h3{font:400 8.5px/1.5 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.dossier div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--hair)}
.dossier dt{font:400 8px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dossier dd{font-size:12.5px;line-height:1.5}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;align-items:end;padding:54px 0 26px;border-bottom:1px solid var(--ink)}
.gal-col{display:flex;flex-direction:column;align-items:center;gap:0}
.print{background:#fff;border:1px solid var(--line);padding:12px;position:relative}
.print::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(122deg,rgba(255,255,255,.55),rgba(255,255,255,0) 38%)}
.print img{display:block;position:relative}
.print.p1 img{width:340px;height:392px;object-fit:cover}
.print.p2 img{width:220px;height:214px;object-fit:cover}
.print.p3 img{width:270px;height:164px;object-fit:cover}
.gal-foot{grid-column:1 / -1;border-top:1px solid var(--hair);margin-top:2px;padding-top:12px;font:400 8.5px/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* faq */
.faq{border-top:1px solid var(--ink);margin-top:28px;max-width:900px}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;padding:16px 34px 16px 0;position:relative;font:400 20px/1.35 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2px;top:13px;font:400 18px/1 var(--mono);color:var(--wine)}
.faq details[open] summary::after{content:"\2212"}
.faq details[open] summary{color:var(--wine)}
.faq p{padding:0 40px 18px 0;font-size:15px;line-height:1.72;color:#33403a;max-width:76ch}

/* colophon */
.colophon{margin-top:64px;border-top:2px solid var(--ink);background:var(--paper)}
.colo-in{padding:26px 0 30px}
.colo-top{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;flex-wrap:wrap}
.colo-name{font:400 30px/1 var(--display);letter-spacing:-.01em}
.colo-claim{margin:7px 0 0;font:400 8.5px/1.6 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);max-width:46ch}
.age{display:flex;align-items:center;gap:12px}
.age b{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;font:400 12px/1 var(--mono)}
.age span{font:400 8px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);max-width:14ch}
.langs{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:22px 0 0;padding:12px 0 0;border-top:1px solid var(--hair);list-style:none}
.langs li{display:flex;align-items:center}
.langs a{font:400 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:0 14px}
.langs li:first-child a{padding-left:0}
.langs li+li::before{content:"";width:1px;height:9px;background:var(--line)}
.langs a:hover,.langs a[aria-current="true"]{color:var(--wine)}
.fine{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--hair);font:400 8.5px/1.75 var(--mono);letter-spacing:.06em;color:var(--muted);max-width:96ch}

/* 404 */
.nf{padding:64px 0 0}
.nf .big{font:400 clamp(96px,18vw,190px)/.8 var(--display);color:var(--wine);letter-spacing:-.03em}
.nf h1{margin:18px 0 0;font:400 clamp(32px,4.4vw,52px)/1.05 var(--display)}
.nf p{margin:14px 0 0;max-width:52ch;font-size:16.5px;line-height:1.7;color:#33403a}

@media(max-width:1040px){
.wrap{width:min(1140px,100% - 60px)}
.hero-in{grid-template-columns:minmax(0,1fr) 372px;gap:40px}
.pane{width:372px;padding:13px}
.pane img{width:344px;height:382px}
.pw{grid-template-columns:1fr;gap:26px}
.plabel{border-right:0;padding-right:0}
.bio-grid{gap:34px}
}
@media(max-width:940px){
.nav{display:none}
.burger{display:block}
.mobile{display:block;background:var(--paper);border-top:1px solid var(--line)}
.mobile[hidden]{display:none}
.mobile a{display:block;padding:13px 26px;text-decoration:none;border-bottom:1px solid var(--hair);font:400 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.mobile a.m-lib{color:var(--wine);border-bottom:0}
.hero-in{grid-template-columns:minmax(0,1fr);gap:30px;padding:34px 0 40px}
.pane{width:392px;max-width:100%}
.pane img{width:100%;height:auto;aspect-ratio:9/10;object-fit:cover}
.facts3{margin-top:26px}
.pw{grid-template-columns:1fr;gap:22px}
.plabel{border-right:0;padding-right:0}
.plates{grid-template-columns:repeat(3,214px);justify-content:start}
.sec-in{grid-template-columns:1fr;gap:14px}
.rail span{border-top:1px solid var(--ink);padding-bottom:0}
.split{grid-template-columns:1fr;gap:26px}
.bio-grid{grid-template-columns:1fr;gap:28px}
.dossier{max-width:420px}
.statline{grid-template-columns:1fr 1fr}
.statline div:nth-child(2){border-right:0}
.statline div:nth-child(-n+2){border-bottom:1px solid var(--hair)}
.gal{grid-template-columns:1fr;gap:24px;padding:26px 0 20px}
.print.p1 img{width:100%;height:auto;aspect-ratio:340/392}
.print.p2 img,.print.p3 img{width:100%;height:auto}
}
@media(max-width:620px){
.wrap{width:min(1140px,100% - 36px)}
.mast-in{min-height:60px}
.brand{font-size:18px}
.brand i{display:none}
.hero h1{font-size:clamp(50px,15.5vw,80px)}
.lede{font-size:16px}
.facts3{grid-template-columns:1fr;gap:0}
.facts3 div{padding:8px 0}
.partners{padding:20px 0 24px}
.plabel h2{font-size:26px}
.plates{grid-template-columns:214px;justify-items:start}
.pcell{height:132px}
.sec{padding-top:42px}
.sec h2{font-size:clamp(27px,7.4vw,34px)}
.prose p{font-size:16px}
.statline b{font-size:24px}
.frow{grid-template-columns:54px minmax(0,1fr);gap:12px}
.frow .ti{font-size:16px}
.nrow{grid-template-columns:44px 1fr;gap:6px 12px}
.nrow span{grid-column:1 / -1}
.faq summary{font-size:17.5px}
.colo-top{gap:20px}
.age b{width:34px;height:34px}
}
