:root{--paper:#eeeae1;--ink:#252822;--dark:#171d20;--light:#f2eee5;--muted:#666a61;--line:#25282240;--accent:#a44323;--gutter:clamp(24px,6vw,105px);--font-body:"Switzer",sans-serif;--font-display:"Boska",serif}
html{scroll-padding-top:100px}
body{font:400 16px/1.55 var(--font-body);color:var(--ink);background:var(--paper);overflow-x:clip}
button{background:none;border:0;padding:0}figure{margin:0}h1,h2,h3{font-weight:500}p{max-width:65ch}em{font-family:var(--font-display);font-style:normal;font-weight:400}
::selection{background:#c6d291;color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.overline{font-size:12px;line-height:1.5;letter-spacing:.01em}
.site-header{height:84px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:fixed;inset:0 0 auto;z-index:40;background:var(--paper)}
.site-header.on-dark{background:var(--dark);color:var(--light)}
.brand{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.2;min-height:44px}.brand svg{width:27px;height:27px}
#main-nav{display:flex;gap:36px;align-items:center}#main-nav a{display:flex;align-items:center;min-height:44px;font-size:14px}
.header-controls{display:flex;align-items:center;gap:22px}#motion-toggle{font-size:12px;min-height:44px}
.menu-toggle{display:none}
.prologue{position:relative}
.stage{position:relative;display:flow-root;min-height:950px;height:100svh;overflow:hidden;background:var(--paper)}
.stage-shade{position:absolute;inset:0;background:var(--dark);opacity:0;pointer-events:none}
.image-field{position:absolute;inset:84px 0 auto;height:calc(100svh - 84px);perspective:1200px}
.fragment{position:absolute;display:block;transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--rotation,0deg));box-shadow:0 12px 40px #161c2420;will-change:transform;transition:box-shadow .25s;isolation:isolate}
.fragment img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:filter .4s}
.fragment:after{content:"";position:absolute;inset:0;border:1px solid #fff4;pointer-events:none}
.fragment>span{position:absolute;left:0;bottom:0;background:var(--dark);color:var(--light);font-size:12px;line-height:1.4;padding:10px 12px;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;width:100%}
.fragment:hover,.fragment:focus-visible{z-index:12;box-shadow:0 16px 55px #161c2440}.fragment:hover img,.fragment:focus-visible img{filter:saturate(1)}
.fragment:hover>span,.fragment:focus-visible>span{opacity:1;transform:none}
.f-library{left:4%;top:4%;width:13%;height:30%;--rotation:-9deg}
.f-street{left:26%;top:7%;width:14%;height:18%;--rotation:6deg}
.f-sky{left:51%;top:3%;width:12%;height:18%;--rotation:-7deg}
.f-portrait{left:72%;top:7%;width:clamp(95px,9vw,155px);aspect-ratio:800/1066;--rotation:8deg}
.f-portrait-books{left:74%;top:82%;height:16%;aspect-ratio:1;--rotation:5deg}
.f-night{right:3%;top:18%;width:12%;height:24%;--rotation:8deg}
.f-mila{left:3%;top:50%;width:25%;height:27%;--rotation:-6deg}
.f-writing{left:35%;top:73%;width:10%;height:24%;--rotation:-8deg}
.f-ruins{left:54%;top:71%;width:17%;height:25%;--rotation:7deg}
.f-water{right:4%;top:58%;width:19%;height:23%;--rotation:-7deg}
.stage-identity{position:absolute;left:17%;top:33%;width:66%;z-index:8;text-align:center;pointer-events:none;transform:translateY(var(--identity-shift,0px));opacity:var(--identity-opacity,1)}
.stage-identity .overline{margin:0 auto}
.stage-identity h1{font-size:clamp(100px,16.3vw,300px);font-weight:500;line-height:1.03;letter-spacing:-.075em;margin:0;padding-right:.06em}
.stage-identity h1 span{color:var(--accent)}
.identity-line{font-size:clamp(15px,1.45vw,23px);line-height:1.5;margin:12px auto 0;text-wrap:balance}
.identity-line>span{white-space:nowrap}
.stage-bottom{position:absolute;inset:auto 30px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;z-index:10;opacity:var(--bottom-opacity,1)}
.stage-bottom>a{display:flex;align-items:center;gap:30px;min-height:44px;background:var(--paper);padding:0 17px;border-radius:25px;border:1px solid #25282230}.stage-bottom>span{max-width:25ch}
.stage-intro{position:relative;padding:100px var(--gutter);background:var(--dark);color:var(--light);margin-top:100svh;text-align:center}
.stage-intro h2{font-size:clamp(50px,7.3vw,115px);line-height:1.05;letter-spacing:-.05em;margin:25px auto 30px}
.stage-intro h2 em{font-size:1.2em}
.stage-intro p{font-size:19px;line-height:1.6;margin:0 auto 25px;max-width:45ch}
.underlink{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;font-size:14px}
.stage:has(.stage-intro){height:auto;overflow:clip}
html[data-enhanced=true] body:not([data-motion=off]) .prologue{height:195svh;min-height:1300px}
html[data-enhanced=true] body:not([data-motion=off]) .stage{position:sticky;top:0;height:100svh;min-height:650px}
html[data-enhanced=true] body:not([data-motion=off]) .stage-intro{position:absolute;margin:0;background:var(--dark);left:0;right:0;top:0;height:100%;padding:105px 18% 45px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(var(--panel-shift,100%));opacity:1;pointer-events:none;z-index:15;will-change:transform}
html[data-enhanced=true] body:not([data-motion=off]) .stage-intro h2{font-size:clamp(45px,min(7.3vw,10svh),115px)}
html[data-enhanced=true] body:not([data-motion=off]) .stage-intro.is-active{pointer-events:auto}
.chapter{padding:105px var(--gutter)}
.chapter-head{display:grid;grid-template-columns:1.3fr 1fr;gap:26px 12%;align-items:end;margin-bottom:80px}
.chapter-head>.overline{grid-column:1/-1}.chapter-head h2{font-size:clamp(45px,5.6vw,88px);line-height:1.08;letter-spacing:-.045em}.chapter-head>p:last-child{font-size:18px}
.work-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:start}.writing-piece{padding-top:160px}
.work-image{display:block;position:relative;overflow:hidden}.work-image img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;transition:transform .6s}
.work-image>span{position:absolute;bottom:16px;left:16px;background:var(--paper);padding:10px 14px;font-size:12px;color:var(--ink)}
.work-image:hover img{transform:scale(1.025)}
.article-image{background:#d6d8c4;padding:30px}.article-image img{aspect-ratio:auto;max-height:480px;width:100%;object-fit:contain}
.piece-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.4;margin-top:22px}
.work-piece h3{font-size:clamp(28px,3.2vw,47px);line-height:1.14;letter-spacing:-.04em;margin:22px 0}
.work-piece p{font-size:16px;line-height:1.6;max-width:48ch}.work-piece small{display:block;font-size:12px;margin-top:15px;color:var(--muted)}.work-piece small a{text-decoration:underline}
.piece-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:15px}
.research-list{margin-top:90px}.research-list>.overline{margin-bottom:24px}
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}
.research-list summary{display:grid;grid-template-columns:1fr 1.8fr .65fr 20px;gap:20px;align-items:center;padding:25px 0}
.research-list summary>span,.research-list small{font-size:12px;line-height:1.5}.research-list summary strong{font-size:20px;font-weight:400;line-height:1.35;letter-spacing:-.02em}
summary b{font-size:25px;font-weight:400}details[open] summary b{transform:rotate(45deg)}
.detail-body{padding:0 15% 25px 31%;font-size:16px;line-height:1.6}
.making{background:var(--dark);color:var(--light);--line:#f2eee540;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.making-heading{position:sticky;top:130px}.making-heading h2{font-size:clamp(52px,6.1vw,100px);line-height:1.08;letter-spacing:-.055em;margin-top:35px}
.making-intro{font-size:20px;line-height:1.6;margin-bottom:50px}
.experiment{border-top:1px solid var(--line);padding:32px 0 45px}.experiment h3{font-size:clamp(27px,3vw,46px);letter-spacing:-.04em;line-height:1.1;margin:22px 0}
.experiment p{font-size:16px;line-height:1.6;margin-bottom:20px}.experiment>a{display:flex;justify-content:space-between;border-bottom:1px solid #f2eee570;padding:15px 0;font-size:14px}
.status,.margin-note{font-size:12px}.status{color:#c6d291}.margin-note{padding-top:10px}
.elsewhere{background:#dce1d4}
.elsewhere-heading{padding-bottom:65px}.elsewhere-heading h2{font-size:clamp(54px,8vw,135px);line-height:1.05;letter-spacing:-.06em;margin:35px 0}.elsewhere-heading p:not(.overline){font-size:20px;line-height:1.5;margin-bottom:20px}
.mexico-story{position:relative;display:grid;grid-template-columns:1fr 1.3fr;gap:7%;padding:10px var(--gutter) 70px}
.mexico-sticky{position:sticky;top:140px;align-self:start;padding-top:30px}.mexico-sticky h3{font-size:clamp(45px,6.2vw,105px);letter-spacing:-.055em;line-height:1.05;margin:35px 0}.mexico-sticky p{font-size:18px;line-height:1.6}
.story-hint{display:block;margin-top:55px;font-size:12px}
.mexico-frames{display:flex;flex-direction:column;gap:55px}
.mexico-frames figure:nth-child(2){width:80%;align-self:end}
.mexico-frames a,.photo-grid a{display:block;overflow:hidden}.mexico-frames img,.photo-grid img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .6s}
.mexico-frames a:hover img,.photo-grid a:hover img{transform:scale(1.025)}
figcaption{font-size:12px;margin-top:13px;line-height:1.4}
.notebook-rest{padding-top:45px}.notebook-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:35px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 24px;align-items:start}
.photo-grid .wide{grid-column:span 2}.photo-grid .wide img{aspect-ratio:1.6}
.photo-grid>figure:nth-child(2){padding-top:100px}.photo-grid>figure:nth-child(4){margin-top:50px}
.more-notebook{margin-top:60px}.more-notebook summary{display:flex;justify-content:space-between;gap:25px;padding:25px 0;font-size:14px}
.more-grid{padding:30px 0 45px}.more-grid>figure:nth-child(n){padding:0;margin:0}
.personal{background:var(--paper)}
.personal-heading{display:flex;align-items:center;gap:35px;margin-bottom:50px}.personal-heading>img{width:135px;height:135px;object-fit:cover}
.personal-heading h2{font-size:clamp(44px,5.5vw,80px);letter-spacing:-.05em;line-height:1.1;margin-top:15px}
.personal-columns{display:grid;grid-template-columns:1fr 1fr;gap:12%}.personal-columns p{font-size:18px;line-height:1.65}
.background-details{margin-top:55px}.background-details summary{display:flex;justify-content:space-between;padding:24px 0;font-size:14px;gap:24px}
.background-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5%;padding:25px 0 30px}.background-columns h3{font-size:14px;margin-bottom:20px}.background-columns p{font-size:14px;line-height:1.8;margin-bottom:15px}
.contact{background:#b8c894;padding-bottom:20px}.contact h2{font-size:clamp(65px,11vw,180px);line-height:.97;letter-spacing:-.06em;margin:35px 0 65px}
.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:100px}.contact-bottom p{font-size:18px;line-height:1.6}.contact-bottom>a{font-size:clamp(25px,3vw,46px);border-bottom:1px solid currentColor;letter-spacing:-.035em}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.footer-meta>div{display:flex;gap:30px}.footer-meta a{display:flex;align-items:center;min-height:44px}
.image-dialog{width:min(1150px,94vw);max-height:94dvh;padding:20px;background:var(--paper);color:var(--ink);border:0;overflow:auto}.image-dialog::backdrop{background:#10171be8}
.image-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:12px}.image-toolbar button,.image-footer button{min-width:48px;min-height:44px}
.image-dialog>img{width:100%;height:min(70dvh,780px);object-fit:contain;margin:12px auto}
.image-footer{display:grid;grid-template-columns:48px 1fr 48px;gap:20px;align-items:center;font-size:14px;text-align:center}.image-footer p{justify-self:center}#image-error{padding:30px;text-align:center}
body[data-motion=off] *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
body[data-motion=off] .fragment{transform:rotate(var(--rotation,0deg));will-change:auto}
body[data-motion=off] .stage-identity{transform:none;opacity:1}
body[data-motion=off] .stage-identity,html:not([data-enhanced=true]) .stage-identity{top:33svh}
body[data-motion=off] .stage-bottom{opacity:1}
body[data-motion=off] .stage-shade{opacity:0!important}
body[data-motion=off] .stage-intro{opacity:1!important;transform:none!important}
body[data-motion=off] .stage-bottom,html:not([data-enhanced=true]) .stage-bottom{top:calc(100svh - 70px);bottom:auto;height:44px}
html:not([data-enhanced=true]) #motion-toggle{display:none}
@media(min-width:1700px){.stage-identity{top:34%}.stage-identity h1{font-size:16vw}.stage-intro p{font-size:21px}.fragment>span{font-size:14px}}
@media(max-width:1100px){
 .site-header{padding-inline:24px;gap:15px}#main-nav{gap:23px}.brand{font-size:13px}
 .stage{min-height:780px}.stage-identity{top:35%}.f-mila{width:27%;left:2%}.f-water{right:2%;width:21%}.f-writing{top:76%}.stage-bottom{inset-inline:24px}
 .chapter{padding-block:80px}.chapter-head{gap:30px 8%}.work-pair{gap:8%}.writing-piece{padding-top:100px}
 .research-list summary{grid-template-columns:1fr 1.7fr .7fr 20px;gap:14px}.research-list summary strong{font-size:18px}.detail-body{padding-left:30%}
 .making{gap:8%}.making-intro{font-size:18px}.mexico-sticky p{font-size:16px}
}
@media(max-width:760px){
 html{scroll-padding-top:82px}
 .site-header{height:70px;padding-inline:20px}.brand{font-size:12px;gap:8px}.brand svg{width:23px;height:23px}
 #motion-toggle{font-size:12px}.header-controls{gap:17px}.menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;font-size:12px}
 #main-nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);color:var(--ink);padding:20px 24px 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:5px}
 #main-nav.open{display:flex}#main-nav a{font-size:28px;min-height:60px}
 .stage{min-height:740px}.image-field{inset:70px 0 auto;height:calc(100svh - 70px)}
 .stage-identity{left:4%;width:92%;top:37%}.stage-identity h1{font-size:23vw;letter-spacing:-.075em;line-height:1.08}.stage-identity .overline{font-size:12px;max-width:26ch;text-wrap:balance}.identity-line{font-size:14px;margin-top:6px}
 .f-library{left:4%;top:4%;width:24%;height:22%;--rotation:-8deg}
 .f-street{left:38%;top:7%;width:24%;height:13%;--rotation:6deg}
 .f-portrait{left:auto;right:5%;top:5%;width:22%;height:auto}
 .f-portrait-books{left:auto;right:3%;top:80%;width:18%;height:auto}
 .f-sky{display:none}.f-night{right:3%;top:22%;width:19%;height:14%}
 .f-mila{left:4%;top:61%;width:40%;height:19%;--rotation:-6deg}
 .f-water{right:5%;top:57%;width:37%;height:19%;--rotation:7deg}
 .f-writing{left:14%;top:84%;width:18%;height:16%;--rotation:5deg}
 .f-ruins{left:50%;top:83%;width:27%;height:18%;--rotation:-5deg}
 .fragment>span{font-size:12px;padding:6px 8px}
 .stage-bottom{inset:auto 20px 16px;justify-content:center;gap:0}.stage-bottom>span{display:none}.stage-bottom>a{background:var(--paper);padding:0 13px;border-radius:24px;font-size:12px;gap:16px;border:1px solid #25282230}
 .stage-intro{padding:65px 24px;margin-top:max(740px,100svh)}.stage-intro h2{font-size:clamp(43px,11.5vw,73px);margin:22px 0 26px}.stage-intro p{font-size:16px;line-height:1.65}
 html[data-enhanced=true] body:not([data-motion=off]) .prologue{height:190svh;min-height:1400px}
 html[data-enhanced=true] body:not([data-motion=off]) .stage{min-height:650px}
 html[data-enhanced=true] body:not([data-motion=off]) .stage-intro{left:0;right:0;top:0;padding:95px 24px 35px}
 html[data-enhanced=true] body:not([data-motion=off]) .stage-intro h2{font-size:clamp(40px,min(11vw,7svh),70px)}
 .chapter{padding:65px 24px}
 .chapter-head{grid-template-columns:1fr;gap:24px;margin-bottom:45px}.chapter-head>.overline{grid-column:1}.chapter-head h2{font-size:clamp(38px,10vw,62px)}.chapter-head>p:last-child{font-size:16px}
 .work-pair{grid-template-columns:1fr;gap:48px}.writing-piece{padding-top:0}.work-image img{aspect-ratio:1.3}.article-image img{aspect-ratio:auto;max-height:410px}.article-image{padding:24px}
 .work-piece h3{font-size:32px;margin:18px 0}.work-piece p{font-size:16px}
 .research-list{margin-top:55px}.research-list summary{grid-template-columns:1fr 20px;gap:8px 16px;padding:22px 0}.research-list summary>span{grid-column:1;grid-row:1}.research-list strong{grid-column:1;grid-row:2}.research-list small{grid-column:1;grid-row:3}.research-list summary b{grid-column:2;grid-row:1/4}.detail-body{padding:0 0 24px;font-size:16px}
 .making{grid-template-columns:1fr;gap:32px}.making-heading{position:static}.making-heading h2{font-size:clamp(44px,11vw,70px);margin-top:25px}.making-intro{font-size:17px;margin-bottom:35px}.experiment h3{font-size:31px}
 .elsewhere-heading h2{font-size:clamp(47px,12vw,75px);margin:28px 0}.elsewhere-heading p:not(.overline){font-size:18px}
 .mexico-story{grid-template-columns:1fr;padding:0 24px 30px;gap:35px}.mexico-sticky{position:static;padding-top:0}.mexico-sticky h3{font-size:46px;margin:20px 0}.mexico-sticky p{font-size:16px}.story-hint{margin-top:24px}
 .mexico-frames{gap:35px}.mexico-frames figure:nth-child(2){width:86%}
 .notebook-rest{padding-top:35px}.notebook-label{gap:25px;font-size:12px;align-items:start}.notebook-label>span:last-child{text-align:right;max-width:16ch}
 .photo-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.photo-grid .wide{grid-column:1/-1}.photo-grid>figure:nth-child(n){padding-top:0;margin-top:0}.photo-grid>figure:nth-child(3){padding-top:45px}
 .more-notebook{margin-top:40px}.more-notebook summary{font-size:13px;gap:20px}.more-notebook summary>span:last-child{max-width:13ch;text-align:right}.more-grid>figure:nth-child(n){padding:0}
 .personal-heading{gap:22px;margin-bottom:30px}.personal-heading>img{width:85px;height:85px}.personal-heading h2{font-size:38px;margin-top:8px}.personal-columns{grid-template-columns:1fr;gap:25px}.personal-columns p{font-size:16px}
 .background-details{margin-top:35px}.background-columns{grid-template-columns:1fr;gap:25px}.background-details summary{font-size:13px}
 .contact h2{font-size:clamp(61px,15vw,95px);margin:28px 0 45px}.contact-bottom{display:block;margin-bottom:55px}.contact-bottom p{font-size:16px;margin-bottom:30px}.contact-bottom>a{font-size:30px;display:inline-block}
 .footer-meta{display:block;font-size:12px}.footer-meta>div{gap:20px;flex-wrap:wrap;margin-top:10px}
 .image-dialog{padding:12px;width:96vw}.image-dialog>img{height:65dvh}.image-footer{gap:5px;font-size:12px}
 html:not([data-enhanced=true]) .site-header{position:relative;height:auto;flex-wrap:wrap;padding-block:12px}
 html:not([data-enhanced=true]) #main-nav{position:static;display:flex;flex-direction:row;padding:0;border:0;width:100%;gap:24px}
 html:not([data-enhanced=true]) #main-nav a{font-size:14px;min-height:44px}
 html:not([data-enhanced=true]) .menu-toggle{display:none}
}
@media(max-width:360px){.brand>span{max-width:75px}.header-controls{gap:12px}.stage-identity h1{font-size:22vw}.identity-line{font-size:12px}.personal-heading h2{font-size:32px}}
@media(max-width:760px){body[data-motion=off] .stage-identity,html:not([data-enhanced=true]) .stage-identity{top:37svh}}
@media(prefers-reduced-motion:reduce){.fragment,.work-image img,.photo-grid img,.mexico-frames img{transition:none;will-change:auto}.work-image:hover img,.photo-grid a:hover img,.mexico-frames a:hover img{transform:none}}
@media print{.site-header,.image-dialog,.stage-bottom{display:none}.stage{min-height:0}.image-field,.stage-identity{display:none}.stage-intro{margin:0;padding:30px;color:black;background:white}.chapter{padding:30px}.prologue{height:auto!important;min-height:0!important}.stage{position:static!important;height:auto!important}.stage-intro{position:static!important;opacity:1!important;transform:none!important}.making-heading,.mexico-sticky{position:static}}
