
:root{--bg:#0b0a09;--bg2:#15130f;--line:#26221d;--ink:#ece6da;--muted:#9a9186;--dim:#5f584f;--accent:#c98a45;--bg-rgb:11 10 9;--logo:23px;
--serif:Arial,Helvetica,"Liberation Sans",sans-serif;--sans:Arial,Helvetica,"Liberation Sans",sans-serif;--max:1400px;--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.015em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500}
.ph{color:#e0b060;background:rgba(224,176,96,.08);border:1px dashed rgba(224,176,96,.5);padding:1px 6px;font-size:.85em;font-family:var(--sans)}
header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad);background:rgb(var(--bg-rgb)/.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.over{position:fixed;inset:0 0 auto 0;background:rgb(var(--bg-rgb)/.6);backdrop-filter:blur(8px);border:0}
.logo{font-family:var(--serif);font-size:var(--logo,23px);letter-spacing:.2em;line-height:1;display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px}.logo span{display:inline-block;white-space:nowrap}.logo small{font-size:calc(var(--logo,23px)*.74);letter-spacing:0;color:var(--muted);white-space:nowrap;display:block}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
nav a:hover,nav a.on{color:var(--ink)}nav .soc a{display:flex;opacity:.8}nav .soc a:hover{opacity:1;color:var(--ink)}
@media(max-width:900px){nav .soc a{padding:14px var(--pad)}}
footer a:hover{color:var(--ink)}
.burger{display:none;background:none;border:0;color:var(--ink);font:inherit;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
@media(max-width:900px){nav ul{display:none;position:absolute;top:68px;right:0;left:0;background:rgb(var(--bg-rgb)/.97);flex-direction:column;gap:0;padding:12px 0;border-bottom:1px solid var(--line)}
nav ul.open{display:flex}nav li a{display:block;padding:14px var(--pad)}.burger{display:block}}
.hero{position:relative;height:82svh;min-height:480px;overflow:hidden;background:#000}
.hero img{width:100%;height:100%;object-fit:cover;opacity:.85}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(var(--bg-rgb)/.35) 0%,rgb(var(--bg-rgb)/0) 30%)}
.hero-text{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(36px,7vh,80px);z-index:2}
.hero h1{font-size:clamp(40px,8vw,120px);line-height:.95;letter-spacing:.12em;font-weight:400}
.quote{margin:0;padding:clamp(36px,5vw,64px) 0 0;max-width:none}.quote p{margin:0;font-size:clamp(18px,1.65vw,25px);line-height:1.4;font-style:italic;color:var(--ink)}.quote cite{display:block;margin-top:14px;font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hero .tag{margin:18px 0 0;font-size:clamp(17px,1.5vw,22px);color:var(--ink);max-width:60ch;font-style:italic}
.now{padding:28px 0 0;font-size:17px;color:var(--muted)}.now .eyebrow{margin-right:14px}
.cards.three{grid-template-columns:repeat(3,1fr)}@media(max-width:820px){.cards.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cards.three{grid-template-columns:1fr}}
.hero .credit{position:absolute;right:var(--pad);bottom:18px;z-index:2;font-size:11px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.hero-text .credit{position:static;display:block;margin-top:14px}
section{padding:clamp(56px,8vw,110px) 0 0}section:last-of-type{padding-bottom:clamp(56px,8vw,110px)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:clamp(28px,4vw,56px)}
.sec-head h2{font-size:clamp(26px,3vw,42px);line-height:1;letter-spacing:-.01em}
.sec-head a{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px}.sec-head a:hover{color:var(--ink);border-color:var(--ink)}
.page-head{padding:clamp(48px,7vw,96px) 0 clamp(28px,4vw,56px)}
.page-head h1{font-size:clamp(34px,4.5vw,64px);line-height:1;letter-spacing:-.01em}
.page-head .sub{margin-top:14px;color:var(--muted);font-size:14px}
.bio{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,80px);align-items:start}
.bio p{font-family:var(--serif);font-size:clamp(19px,1.7vw,25px);line-height:1.45;margin:0 0 18px;max-width:40ch}
.bio .img{overflow:hidden;background:var(--bg2)}.bio figcaption{font-size:12px;color:var(--dim);margin-top:8px}
@media(max-width:820px){.bio{grid-template-columns:1fr}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(12px,1.5vw,24px)}
.cards.two{grid-template-columns:repeat(2,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.cards.two,.cards.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cards.two,.cards.four{grid-template-columns:1fr}}
.card{display:block;cursor:pointer}.card .img{aspect-ratio:4/5;overflow:hidden;background:var(--bg2)}.card.wide .img{aspect-ratio:3/2}.card.sq .img{aspect-ratio:1}
.card img{width:100%;height:100%;object-fit:cover}
.card .cap{padding:12px 0 0;display:flex;justify-content:space-between;gap:12px;font-size:15px;align-items:baseline}
.card .cap b{font-weight:400;font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.2}.card .cap span{color:var(--dim);white-space:nowrap}
.card .cap small{display:block;color:var(--muted);font-size:14px;margin-top:3px;font-style:normal;font-family:var(--sans)}
.buy{display:flex;gap:18px;margin-top:8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.buy a{border-bottom:1px solid var(--line);padding-bottom:2px}.buy a:hover{color:var(--accent);border-color:var(--accent)}
.tiles .card .cap b{font-style:normal;font-size:24px}
.mission p{font-family:var(--serif);font-size:clamp(18px,1.5vw,23px);line-height:1.5;max-width:64ch;margin:0 0 20px}
.mission p:first-child{font-size:clamp(22px,2.2vw,32px);color:var(--ink)}
/* work page */
.work-head{padding:clamp(48px,7vw,96px) 0 clamp(20px,3vw,40px);border-bottom:1px solid var(--line);max-width:860px;margin:0 auto}
.work-head h1{font-size:clamp(32px,4.5vw,60px);line-height:1;letter-spacing:-.01em;font-style:italic;margin:10px 0 14px}
.work-head .meta{font-size:16px;color:var(--muted)}
.essay{max-width:860px;margin:0 auto;padding-top:clamp(28px,4vw,56px)}
.essay p{font-size:19px;line-height:1.65;margin:0 auto 1.25em;max-width:66ch;color:var(--ink)}
.essay p a{border-bottom:1px solid var(--dim)}.essay p a:hover{color:var(--accent);border-color:var(--accent)}
.fig{margin:0 auto 28px;cursor:zoom-in}.fig img{width:100%;height:auto;background:var(--bg2)}
.fig.lead{max-width:860px;margin-bottom:36px}
.fig.large{max-width:720px;margin-top:28px;margin-bottom:32px}
.fig.small{max-width:360px;margin:24px auto 28px}
.fig figcaption,.gcap{font-size:15px;color:var(--muted);font-style:italic;padding:10px 0 0;max-width:70ch}
.group{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:8px;margin:28px auto 8px;max-width:860px}
.group.small{max-width:640px;gap:6px}
.group .fig{margin:0}.group .fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.group.small .fig img{aspect-ratio:auto}
.gcap{margin:0 auto 32px;max-width:860px}
.group+p{margin-top:28px}
@media(max-width:700px){.group{grid-template-columns:repeat(2,1fr)}.group.small{grid-template-columns:repeat(2,1fr)}.fig.small{max-width:70%}}
.essay.noess .group{margin-top:0}
.video{max-width:720px;margin:28px auto 32px;aspect-ratio:16/9;background:#000}.video iframe{width:100%;height:100%;border:0;display:block}
.audio{max-width:720px;margin:20px auto 32px}.audio audio{width:100%;display:block;filter:invert(.92) hue-rotate(180deg) saturate(.6)}
.pn{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:clamp(48px,7vw,96px);padding:28px 0 60px;font-family:var(--serif);font-size:clamp(18px,1.8vw,26px);font-style:italic}
.pn small{display:block;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}.pn a:hover{color:var(--accent)}.pn .r{text-align:right}
.list{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.row .y{color:var(--dim);font-size:15px}.row .t{font-size:17px}a.row:hover .t{color:var(--accent)}
@media(max-width:640px){.row{grid-template-columns:1fr}}
.prose p{font-size:19px;line-height:1.65;margin:0 0 1.2em;max-width:62ch}
.contact h1{font-size:clamp(34px,4.5vw,64px)}.contact .big{font-family:var(--serif);font-size:clamp(22px,2.4vw,34px);border-bottom:1px solid var(--dim);padding-bottom:2px}.contact .big:hover{color:var(--accent);border-color:var(--accent)}
footer{border-top:1px solid var(--line);padding:26px 0 40px;font-size:12px;color:var(--dim);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,4,3,.97);display:none;align-items:center;justify-content:center;opacity:0}.lb.on{display:flex;opacity:1}
.lb img{max-width:min(94vw,1600px);max-height:86vh;object-fit:contain}
.lb .cap{position:absolute;left:var(--pad);bottom:22px;font-size:13px;color:var(--muted);max-width:70vw}.lb .cap b{font-weight:400;color:var(--ink);font-family:var(--serif);font-size:16px;font-style:italic;margin-right:14px}
.lb button{position:absolute;background:none;border:0;color:var(--ink);cursor:pointer;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:16px;opacity:.7}.lb button:hover{opacity:1}
.lb .x{top:14px;right:var(--pad)}.lb .prev{left:var(--pad);top:50%;transform:translateY(-50%)}.lb .next{right:var(--pad);top:50%;transform:translateY(-50%)}
@media(max-width:640px){.lb .prev,.lb .next{top:auto;bottom:60px;transform:none}}
.draft{position:fixed;left:14px;bottom:14px;z-index:60;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);padding:6px 9px;background:rgb(var(--bg-rgb)/.8)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.hero img{animation:hz 14s ease-out forwards}@keyframes hz{from{transform:scale(1.06)}to{transform:scale(1)}}
.card img,.fig img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.card:hover img{transform:scale(1.03)}
.lb{transition:opacity .35s}a,button{transition:color .25s,border-color .25s,opacity .25s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero img{animation:none}}

/* v10 */
nav li.dd{position:relative}nav li.dd>a::after{content:" \25BE";font-size:9px;opacity:.6}
nav .sub{display:flex;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s;position:absolute;top:calc(100% + 10px);left:-18px;background:rgb(var(--bg-rgb)/.92);backdrop-filter:blur(14px);border:1px solid rgb(255 255 255/.08);border-radius:4px;padding:10px 0;min-width:190px;list-style:none;margin:0;flex-direction:column;gap:0;box-shadow:0 14px 40px rgb(0 0 0/.35)}
nav .sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
nav li.dd:hover .sub,nav li.dd:focus-within .sub,nav li.dd.open .sub{visibility:visible;opacity:1;transform:none;transition:opacity .28s ease,transform .28s ease,visibility 0s}
nav .sub li a{display:block;padding:9px 20px;text-transform:none;letter-spacing:.02em;font-size:14.5px;color:var(--muted);border-radius:0}nav .sub li a:hover{color:var(--ink);background:rgb(255 255 255/.04)}
@media(max-width:900px){nav .sub{position:static;border:0;background:none;padding:0 0 0 18px;visibility:visible;opacity:1;transform:none;box-shadow:none;backdrop-filter:none}nav .sub::before{display:none}}
.postfoot{max-width:860px;margin:clamp(40px,6vw,80px) auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:28px;flex-wrap:wrap;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.postfoot a{border-bottom:1px solid var(--line);padding-bottom:3px}.postfoot a:hover{color:var(--ink);border-color:var(--ink)}
.jrow{display:grid;grid-template-columns:110px 90px 1fr;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.jrow .y{color:var(--dim);font-size:14px}.jrow .th{aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}.jrow .th img{width:100%;height:100%;object-fit:cover}
.jrow .t{font-size:19px;font-style:italic}.jrow:hover .t{color:var(--accent)}
@media(max-width:640px){.jrow{grid-template-columns:80px 1fr}.jrow .y{display:none}}
.yearhead{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:40px 0 8px}
.group .fig{display:flex;flex-direction:column}.group .fig img{height:auto;aspect-ratio:4/3;object-fit:cover}.group .fig figcaption{padding:6px 0 10px;font-size:13px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}.gal .fig{margin:0}.gal .fig img{aspect-ratio:1;object-fit:cover;width:100%}
.gal .fig .from{display:block;font-size:12px;color:var(--dim);padding:6px 0 10px;font-style:normal}
.sbox{width:100%;max-width:860px;font:inherit;font-size:22px;padding:14px 0;background:none;border:0;border-bottom:1px solid var(--dim);color:var(--ink);outline:none}.sbox:focus{border-color:var(--ink)}
.srow .snip{display:block;font-size:15px;color:var(--muted);font-style:normal;margin-top:4px}.srow .snip mark{background:none;color:var(--accent)}
.cards.seven{grid-template-columns:repeat(4,1fr)}.cards.seven .card:nth-child(n+5){grid-column:span 1}@media(max-width:900px){.cards.seven{grid-template-columns:repeat(2,1fr)}}

/* v13: home page slides and sections */
.slides{height:100svh;min-height:560px}
.slides::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgb(0 0 0/.55),rgb(0 0 0/0));z-index:2;pointer-events:none}
.slides .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s cubic-bezier(.19,1,.22,1);z-index:1}
.slides .slide.on{opacity:1;z-index:3}
.slides .slide img{width:100%;height:100%;object-fit:cover;opacity:1;animation:none}
.sbox{position:absolute;left:var(--pad);bottom:calc(var(--pad) + 26px);max-width:calc(100% - 2*var(--pad));z-index:4;display:flex;align-items:baseline;gap:18px 28px;flex-wrap:wrap;color:#fff;background:rgb(0 0 0/.42);backdrop-filter:blur(6px);padding:14px 22px 16px;border-radius:3px}
.sbox h2{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.2vw,32px);line-height:1.2;letter-spacing:-.01em;margin:0}
.sinfo{display:flex;gap:12px;align-items:baseline;white-space:nowrap}.sinfo b{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:rgb(255 255 255/.85)}.sinfo b:empty{display:none}.sinfo small{font-size:13px;color:rgb(255 255 255/.7)}
.sbox .arrow{font-style:normal;font-size:20px;color:#fff;transition:transform .3s;margin-left:6px}.sbox:hover .arrow{transform:translateX(6px)}.sbox:hover h2{text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgb(255 255 255/.5)}
.sbox.top-left,.sbox.top-right,.sbox.bottom-right{top:auto;bottom:calc(var(--pad) + 26px)}
.sbar{position:absolute;left:var(--pad);right:var(--pad);bottom:var(--pad);z-index:4;display:flex;gap:6px}
.sbar .seg{flex:1;height:14px;background:none;border:0;padding:6px 0;cursor:pointer}.sbar .seg i{display:block;height:1px;background:rgb(255 255 255/.3);position:relative;overflow:hidden}
.sbar .seg i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.sbar .seg.on i::after{animation:fill var(--dur,5s) linear forwards}.sbar .seg.done i::after{transform:none}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sdown{display:none}
.scredit{position:absolute;right:var(--pad);top:calc(68px + 18px);z-index:4;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgb(255 255 255/.7);text-shadow:0 1px 3px rgb(0 0 0/.6)}
@media(max-width:700px){.sbox{left:16px;right:16px;max-width:none;bottom:44px;gap:6px 14px;padding:12px 16px}.sbox h2{font-size:19px;width:100%}.sbox .arrow{margin-left:0}.sbar{left:16px;right:16px;bottom:20px}}
.home-sec{padding:clamp(64px,9vw,130px) 0 0;text-align:center}.home-sec:last-of-type{padding-bottom:clamp(64px,9vw,130px)}
.home-h{font-size:clamp(28px,3.4vw,46px);letter-spacing:.02em;margin-bottom:clamp(28px,4vw,56px)}
.home-bio{max-width:62ch;margin:0 auto;text-align:left}.home-bio p{font-size:clamp(18px,1.5vw,22px);line-height:1.6;margin:0 0 1.2em}
.home .cards{text-align:left}
.more{margin:clamp(24px,3vw,40px) 0 0;text-align:center}.more a{font-size:13px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);padding:12px 22px;display:inline-block}.more a:hover{border-color:var(--ink)}
.home-contact p{font-size:clamp(18px,1.6vw,24px);margin:0 0 12px}.home-contact a{border-bottom:1px solid var(--dim)}.home-contact a:hover{color:var(--accent)}
.essay-h{font-size:clamp(24px,2.6vw,36px);margin:clamp(28px,4vw,48px) auto 18px;max-width:66ch}
.lead-img{max-width:860px;margin:0 auto clamp(28px,4vw,48px)}.lead-img img{width:100%}
.cnote{max-width:60ch;font-size:17px;color:var(--muted);margin-top:12px}
@media(prefers-reduced-motion:reduce){.slides .slide{transition:none}}

.slides,.slides img,.slides .sbox{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.slides img{pointer-events:none}

.gal.wide{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(12px,1.5vw,24px)}.gal.wide .fig img{aspect-ratio:3/2}
.gal.tall{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(12px,1.5vw,24px)}.gal.tall .fig img{aspect-ratio:4/5}
