@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif.woff2') format('woff2');font-style:normal;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-display:swap}
@font-face{font-family:Hanken;src:url('/assets/fonts/hanken-grotesk.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Fragment;src:url('/assets/fonts/fragment-mono.woff2') format('woff2');font-display:swap}
:root{--ink:#0b0e10;--surface:#121618;--surface-raised:#1b2022;--paper:#f2eee5;--muted:#b8b9b6;--ruby:#ec6473;--deep-red:#9b233c;--line:#353b3d;--progress:0;--approach:0;color-scheme:dark;font-family:Hanken,Arial,sans-serif;font-synthesis:none;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}h1,h2,h3,p,ol,figure{margin:0}h1,h2,h3{font-family:Instrument,Georgia,serif;font-weight:400;line-height:.98;letter-spacing:-.035em}em{font-weight:400}a{color:inherit;text-decoration:none}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex='-1']:focus-visible{outline:2px solid var(--ruby);outline-offset:5px}section[id]{scroll-margin-top:30px}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-family:Fragment,monospace;font-size:10px;line-height:1.7;letter-spacing:.11em;text-transform:uppercase;color:var(--ruby)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:44px;min-height:44px;padding:10px 0;border-bottom:1px solid #929794;font-size:14px;line-height:1.5}.text-link span{color:var(--ruby)}.skip-link{position:fixed;z-index:1000;left:10px;top:10px;transform:translateY(-150%);padding:14px 22px;background:var(--paper);color:var(--ink)}.skip-link:focus{transform:none}.site-header{height:84px;position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #424447;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:0;min-height:48px;font-family:Instrument,Georgia,serif;font-size:38px;letter-spacing:-.065em;line-height:1}.wordmark span{color:var(--ruby);font-style:italic}.wordmark i{width:6px;height:6px;border-radius:50%;background:var(--ruby);margin-left:12px;margin-top:13px}.site-nav{display:flex;gap:26px;font-size:13px}.site-nav a,.mobile-menu a{display:flex;align-items:center;min-width:44px;min-height:44px}.site-nav a[aria-current=page]{color:var(--ruby)}.site-nav a span{margin-left:6px}.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:22px;font-size:13px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{font-size:22px;color:var(--ruby)}.mobile-menu[open] summary span{transform:rotate(45deg)}.mobile-menu nav{position:absolute;right:0;top:70px;width:min(340px,calc(100vw - 40px));padding:16px 24px;background:var(--surface);border:1px solid #54595b;box-shadow:0 18px 36px #0008;display:grid}.mobile-menu a{border-bottom:1px solid var(--line)}.motion-toggle{position:fixed;z-index:60;right:24px;bottom:20px;min-height:44px;min-width:114px;padding:10px 16px;border:1px solid #62696c;background:var(--ink);color:var(--paper);font-family:Fragment,monospace;font-size:10px;line-height:1.4}.motion-toggle:before{content:'Ⅱ';margin-right:10px;color:var(--ruby)}.motion-toggle[aria-pressed=true]:before{content:'▷'}.motion-toggle:disabled:before{content:'—'}
/* Three photographic scenes. Only image layers move; navigation stays still. */
.city-scene{height:200svh;min-height:1200px;position:relative;--progress:0}.city-stage{height:calc(100svh - 0px);min-height:650px;position:sticky;top:0;isolation:isolate;overflow:clip;border-bottom:1px solid var(--line)}.city-photograph{position:absolute;inset:0;z-index:-3;transform:translateX(calc(var(--progress)*-5%)) scale(calc(1.02 + var(--progress)*.19));transform-origin:65% 50%;will-change:transform}.city-photograph img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}.city-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b0e10ed 0%,#0b0e10c9 25%,#0b0e1038 58%,#0b0e1012 78%),linear-gradient(0deg,#0b0e10f5 0%,#0b0e1020 28%,transparent 62%,#0b0e1055)}.hero-content{position:relative;padding-top:clamp(55px,8svh,100px);pointer-events:none}.solid-label{display:table;background:var(--ink);padding:7px 10px;box-shadow:-10px 0 0 var(--ink)}.hero-content h1{font-size:clamp(115px,13.5vw,205px);line-height:.75;letter-spacing:-.055em;margin-top:32px}.hero-content h1>span{display:block}.hero-content h1 em{display:block;color:var(--ruby);font-size:.71em;line-height:.89;margin-top:23px}.hero-intro{width:fit-content;margin-top:35px;font-size:15px;line-height:1.7;background:var(--ink);padding:8px 12px 8px 0;box-shadow:-10px 0 0 var(--ink)}.hero-aside{position:absolute;right:4%;top:58px;display:grid;gap:26px;text-align:right;pointer-events:none}.hero-aside>span{padding:9px 12px;background:var(--ink);font-family:Fragment,monospace;font-size:9px;line-height:1.7;letter-spacing:.07em}.hero-aside b{font-family:Instrument;font-weight:400;letter-spacing:-.1em;color:var(--ruby);font-size:90px;line-height:1}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:20px;padding-right:140px}.scroll-cue{display:flex;align-items:center;justify-content:space-between;gap:48px;min-height:44px;font-size:12px;background:var(--ink);padding:0 14px 0 0;box-shadow:-10px 0 0 var(--ink);border-bottom:1px solid #9e807a}.scroll-cue span{font-size:22px;color:var(--ruby)}.photo-label{font-family:Fragment,monospace;font-size:9px;line-height:1.8;color:#d2d0c9;background:var(--ink);padding:8px 10px}.photo-label a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;text-decoration:underline;text-underline-offset:4px}.city-window{position:absolute;right:10%;bottom:23%;width:26%;pointer-events:none;visibility:hidden;transform:translateY(calc((1 - var(--progress))*80px));border-left:1px solid #e6969477;padding-left:26px}.city-window>span{font-family:Fragment,monospace;font-size:9px;letter-spacing:.06em;line-height:1.8;background:var(--ink);box-shadow:5px 0 0 var(--ink),-5px 0 0 var(--ink)}.city-window strong{font-family:Instrument;font-weight:400;display:block;font-size:clamp(60px,7.5vw,105px);line-height:.85;margin:24px 0;color:var(--paper);text-shadow:0 2px 24px #000}.city-window strong em{color:var(--ruby)}
.interests-section{padding:145px 0 85px;position:relative;border-bottom:1px solid var(--line);--progress:0}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:12%;position:relative}.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:24px}.section-heading h2{font-size:clamp(75px,8.3vw,126px)}.section-heading h2 em{color:var(--ruby)}.section-heading>p:last-child{font-size:17px;line-height:1.8;max-width:390px;align-self:end;padding-bottom:6px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:11%;margin-top:95px;align-items:start}.contact-stage{position:sticky;top:40px;height:min(800px,90svh);isolation:isolate}.contact-photo{position:absolute;border:7px solid #25282a;background:#202427;box-shadow:0 28px 65px #0008;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover;transform-origin:center;will-change:transform}.contact-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 9px;font-family:Fragment,monospace;font-size:8px;line-height:1.5;color:#e5e0d7}.contact-photo figcaption a{display:flex;align-items:center;min-height:44px;min-width:44px;text-decoration:underline;text-underline-offset:4px}.city-detail{width:70%;height:72%;left:0;top:0;z-index:1}.city-detail img{transform:scale(calc(1 + var(--progress)*.18)) translateY(calc(var(--progress)*-4%))}.music-detail{width:72%;height:42%;right:-2%;top:25%;z-index:2}.music-detail img{transform:scale(calc(1.14 - var(--progress)*.08)) translateX(calc(var(--progress)*-4%))}.form-motion-detail{width:81%;height:41%;left:9%;bottom:0;z-index:3}.form-motion-detail img{transform:scale(calc(1.05 + var(--progress)*.12)) translateX(calc(var(--progress)*-3%))}.contact-margin{position:absolute;left:-24px;top:0;writing-mode:vertical-rl;font-family:Fragment,monospace;font-size:8px;color:#a5aba8;letter-spacing:.13em}.interest-entry{min-height:690px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;position:relative;padding-block:75px;border-bottom:1px solid var(--line)}.interest-entry:first-child{padding-top:0}.entry-index{font-family:Instrument;font-style:italic;font-size:45px;color:#7d3842;margin-bottom:30px}.interest-entry .eyebrow{font-size:9px}.interest-entry h3{font-size:clamp(65px,6vw,92px);margin:22px 0 28px}.interest-entry h3 em{color:var(--ruby)}.interest-entry>p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:370px;color:#c7c9c3}.interest-entry .entry-footnote{font-family:Fragment,monospace;text-transform:uppercase;font-size:8px!important;letter-spacing:.08em;color:#b7a39e!important;line-height:1.8;margin-top:32px}.interest-index{display:flex;flex-wrap:wrap;gap:12px 38px;border-top:1px solid var(--line);padding-top:22px;margin-top:65px}.interest-index a{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:44px;min-width:44px}.interest-index a span{color:var(--ruby)}
.history-section{padding:135px 0;background:#101416}.history-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:22px 13%;align-items:start}.history-intro>.eyebrow{grid-column:1/-1}.history-intro h2{font-size:clamp(70px,8vw,112px);grid-row:2/4}.history-intro h2 em{color:var(--ruby)}.history-intro>p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:420px;color:#c5c8c4}.history-intro>.text-link{justify-self:start}.history-route{list-style:none;margin-top:95px;padding:0}.history-route li{display:grid;grid-template-columns:1fr 1.5fr 48px;gap:50px;padding:48px 0;border-top:1px solid #363d3e;align-items:start}.history-year{font-family:Instrument;font-size:62px;letter-spacing:-.04em;line-height:1}.history-year>span{font-size:.6em;color:#a7afac}.history-year small{display:block;font-family:Fragment,monospace;font-size:9px;letter-spacing:0;color:#aeb7b2;line-height:1.8;margin-top:18px}.history-route .eyebrow{font-size:9px}.history-route h3{font-size:44px;line-height:1.05;margin:15px 0 20px}.history-route p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c4c9c4;max-width:470px}.history-route .status-note{font-family:Fragment,monospace;font-size:9px!important;color:#b4b9b3!important;line-height:1.9!important;margin-top:18px}.chapter-number{font-family:Fragment,monospace;color:var(--ruby);font-size:10px;line-height:1.7;padding-top:7px}.history-end{font-family:Instrument;font-size:52px;line-height:1.05;margin-top:70px}.history-end em{color:var(--ruby)}
.sky-scene{height:200svh;min-height:1350px;position:relative;--progress:0}.sky-stage{position:sticky;top:0;height:100svh;min-height:780px;isolation:isolate;overflow:clip}.sky-photograph{position:absolute;inset:-5%;z-index:-3;transform:scale(calc(1.05 + var(--progress)*.22)) translateY(calc(var(--progress)*-4%));will-change:transform}.sky-photograph img{width:100%;height:100%;object-fit:cover}.sky-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b0e10e8 0%,#0b0e10c9 27%,#0b0e1030 67%,#0b0e1020),linear-gradient(0deg,#0b0e10 0%,transparent 25%,transparent 75%,#0b0e1077)}.sky-copy{position:relative;padding-top:75px}.sky-copy h2{font-size:clamp(100px,12vw,170px);line-height:.8;margin:25px 0 35px;letter-spacing:-.055em}.sky-copy h2 em{color:var(--ruby)}.sky-thoughts{max-width:560px;display:grid;gap:22px;background:var(--ink);padding:24px 28px}.sky-thoughts section{display:grid;grid-template-columns:24px 100px 1fr;gap:14px;align-items:start}.sky-thoughts section>span{font-family:Fragment,monospace;color:var(--ruby);font-size:9px;padding-top:10px}.sky-thoughts h3{font-size:31px;line-height:1.15}.sky-thoughts p{font-size:12px;line-height:1.8;color:#c7cbc5}.sky-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding-right:140px;gap:20px}.sky-bottom>span{font-family:Fragment,monospace;font-size:9px;line-height:1.8;padding:9px 12px;background:var(--ink)}.sky-bottom a{display:flex;align-items:center;min-width:44px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.making-section{padding-block:130px}.making-intro{margin-bottom:60px}.making-intro h2{font-size:clamp(75px,8vw,115px);margin-top:22px}.making-intro h2 em{color:var(--ruby)}.project-ledger article{border-top:1px solid var(--line);padding-block:50px;display:grid;grid-template-columns:230px 1fr 140px;gap:50px;align-items:start}.project-monogram{height:190px;background:#391b25;display:flex;justify-content:center;align-items:center;font-family:Instrument;font-style:italic;font-size:125px;line-height:1;border:1px solid #71303d;color:#efb6ba}.project-monogram>span{color:var(--ruby)}.lab-monogram{font-family:Hanken;font-style:normal;font-weight:300;font-size:69px;letter-spacing:-.1em;background:#1d2424;border-color:#4c5550;color:#d9ddd0}.project-ledger h3{font-size:58px;margin:17px 0 20px}.project-ledger p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:460px;color:#c1c6c1}.project-ledger .text-link{margin-top:15px}.project-label{font-family:Fragment,monospace;font-size:8px;line-height:1.9;letter-spacing:.07em;color:#bfb5ae;padding-top:5px}.notebook-section{background:#1a1e20;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:100px}.notebook-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.notebook-number{font-family:Instrument;font-size:clamp(200px,24vw,350px);color:#626568;letter-spacing:-.08em;line-height:.7}.notebook-number>span{font-family:Fragment;display:block;font-size:9px;letter-spacing:.18em;color:#c4c0b8;line-height:1.5;margin:28px 0 0 12px}.notebook-layout h2{font-size:72px;margin:24px 0 25px}.notebook-layout h2 em{color:var(--ruby)}.notebook-layout p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c6c9c3;max-width:360px}.notebook-layout .empty-note{font-family:Fragment;font-size:10px!important;color:#b6b9b2!important;margin-top:24px}.notebook-layout .text-link{margin-top:20px}.site-footer{padding-block:100px 125px;display:grid;grid-template-columns:1fr 1fr;gap:45px 13%;position:relative}.footer-sign{font-family:Instrument;font-size:160px;line-height:.72;letter-spacing:-.06em}.footer-sign em{color:var(--ruby);margin-left:27%}.footer-info{display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:12px;line-height:1.8;padding-top:8px}.footer-info p{color:#c1c5bf}.footer-info nav{display:grid}.footer-info a{display:flex;align-items:center;min-height:44px;min-width:44px}.footer-info>a{grid-column:1/-1;color:var(--ruby)}.footer-note{grid-column:1/-1;font-family:Fragment;font-size:8px;line-height:1.9;color:#a5aaa6;max-width:680px;border-top:1px solid var(--line);padding-top:25px}
/* Quiet, dark reading pages share the personal site rather than the lab. */
.reading-main{padding-block:85px 100px;max-width:1120px}.page-intro{margin-bottom:65px}.page-intro>.eyebrow{margin-bottom:22px}.page-title-line{display:flex;align-items:center;justify-content:space-between;gap:25px}.page-title-line h1,.page-intro>h1{font-size:clamp(70px,9vw,125px);line-height:.95}.page-title-line h1 em,.page-intro>h1 em{color:var(--ruby)}.print-button{min-height:44px;min-width:100px;border:1px solid #7b8080;background:transparent;color:var(--paper);padding:10px 18px;font-size:12px}.reading-lead{font-size:18px;line-height:1.8;color:#c6cac4;max-width:780px;margin-top:25px}.cv-contact{display:flex;flex-wrap:wrap;gap:32px;margin-top:25px}.paper-sheet{border-top:1px solid #636a69}.cv-section{padding-block:50px;border-bottom:1px solid var(--line)}.cv-section>.eyebrow{margin-bottom:14px}.cv-section>h2{font-size:58px;margin-bottom:28px}.timeline-list{list-style:none;padding:0}.timeline-item{display:grid;grid-template-columns:220px 1fr;gap:55px;padding-block:27px;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:0;padding-top:0}.cv-date{font-family:Fragment;font-size:10px;line-height:1.9;color:#bec5be}.timeline-item h3,.cv-small-grid h3{font-size:36px;margin-bottom:14px;line-height:1.05}.timeline-item p,.cv-small-grid p,.cv-section>p{font-size:14px;line-height:1.8;color:#c6cbc5}.cv-place{color:var(--ruby)!important;margin-bottom:12px;font-size:12px!important}.cv-note{font-family:Fragment;font-size:10px!important;line-height:1.9!important;margin-top:17px}.cv-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.cv-small-grid .text-link{margin-top:15px}.page-footer{border-top:1px solid var(--line);padding-block:30px 85px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:#c1c7bf}.notebook-sheet{padding:65px;background:var(--surface);min-height:360px}.notebook-sheet h2{font-size:75px;margin:22px 0 30px}.notebook-sheet>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#c7cbc5}.notebook-sheet .text-link{margin-top:30px}.credits-intro{max-width:760px}.credit-list{list-style:none;padding:0}.credit-list>li{padding-block:35px;border-top:1px solid var(--line);display:grid;grid-template-columns:200px 1fr;gap:35px}.credit-list h2{font-size:39px;margin-bottom:20px}.credit-list p{font-size:13px;line-height:1.9;color:#c7cdc4;margin-top:8px}.credit-list a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:var(--ruby);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.credit-thumb{width:200px;height:150px;object-fit:cover;background:var(--surface)}
@media(min-width:1600px){.city-photograph img{object-position:60% 50%}.hero-content{padding-top:85px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-nav{gap:18px}.hero-content h1{font-size:15vw}.hero-aside{right:32px}.city-window{right:6%;width:30%}.contact-layout{gap:8%}.contact-stage{height:690px}.contact-photo{border-width:5px}.contact-photo figcaption{font-size:7px;gap:4px;padding-inline:6px}.interest-entry{min-height:640px}.history-route li{grid-template-columns:.8fr 1.4fr 25px;gap:35px}.project-ledger article{grid-template-columns:180px 1fr;gap:35px}.project-label{grid-column:2}.project-monogram{height:170px;grid-row:1/3}.sky-thoughts{max-width:520px}.sky-copy h2{font-size:14vw}.notebook-layout h2{font-size:65px}.footer-sign{font-size:145px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.site-header{height:74px}.site-nav{display:none}.mobile-menu{display:block}.city-stage{min-height:650px}.hero-content{padding-top:55px}.hero-content h1{font-size:clamp(105px,18vw,140px)}.city-photograph img{object-position:67% 50%}.hero-aside{right:24px;top:45px}.hero-aside b{font-size:70px}.hero-aside>span{font-size:8px}.city-window{right:7%;bottom:19%;width:40%}.city-window strong{font-size:85px}.hero-bottom{padding-right:125px;bottom:28px}.photo-label{font-size:8px}.section-heading{gap:25px 7%;grid-template-columns:1.1fr 1fr}.section-heading h2{font-size:85px}.section-heading>p:last-child{font-size:14px}.contact-layout{grid-template-columns:1fr 1fr;gap:7%;margin-top:70px}.contact-stage{height:620px}.interest-entry{min-height:620px}.interest-entry h3{font-size:63px}.interest-entry>p:not(.eyebrow){font-size:13px}.contact-photo figcaption{display:block;padding:4px 6px}.contact-photo figcaption a{min-height:44px;font-size:7px}.contact-photo figcaption>span{display:none}.contact-photo{border-width:4px}.form-motion-detail{height:34%}.music-detail{height:35%;top:31%;right:-3%}.city-detail{height:65%;width:76%}.history-intro{gap:25px 7%}.history-intro h2{font-size:82px}.history-intro>p:not(.eyebrow){font-size:13px}.history-route h3{font-size:36px}.history-year{font-size:52px}.sky-copy{padding-top:55px}.sky-copy h2{font-size:125px}.sky-bottom{padding-right:125px}.sky-bottom>span{max-width:200px;font-size:8px}.sky-bottom a{max-width:190px;font-size:7px}.notebook-layout{gap:8%}.notebook-layout h2{font-size:57px}.footer-info{gap:15px;font-size:11px}.footer-sign{font-size:125px}.timeline-item{grid-template-columns:175px 1fr;gap:35px}.reading-lead{font-size:16px}.credit-list>li{grid-template-columns:150px 1fr;gap:25px}.credit-thumb{width:150px;height:150px}}
@media(max-width:600px){
  html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{height:70px}.wordmark{font-size:35px}.mobile-menu nav{top:62px}.motion-toggle{right:12px;bottom:12px;min-width:110px;font-size:9px;padding:10px 12px}.eyebrow{font-size:9px}.city-scene{height:175svh;min-height:1050px}.city-stage{height:100svh;min-height:620px}.city-photograph{inset:0 -34% 0 -23%;transform-origin:60% 65%;transform:translateX(calc(var(--progress)*-5%)) scale(calc(1.01 + var(--progress)*.14))}.city-photograph img{object-position:65% 65%}.city-shade{background:linear-gradient(180deg,#0b0e1099 0%,#0b0e1030 37%,#0b0e1000 57%,#0b0e10 100%),linear-gradient(90deg,#0b0e1088 0%,#0b0e1033 55%,transparent)}.hero-content{padding-top:29px}.hero-content>.eyebrow{font-size:8px}.hero-content h1{font-size:clamp(95px,27vw,142px);margin-top:25px;line-height:.76}.hero-content h1 em{font-size:.74em;margin-top:17px;line-height:.9;color:#f58b91}.hero-intro{margin-top:26px;font-size:12px;line-height:1.8;padding:7px 10px 7px 0}.hero-aside{right:20px;top:auto;bottom:24%;gap:8px}.hero-aside>span{display:none}.hero-aside b{font-size:58px;color:#f6979a}.hero-bottom{bottom:78px;padding-right:0;display:block}.scroll-cue{font-size:10px;width:fit-content;gap:32px;min-height:44px}.hero-bottom>.photo-label{font-size:7px;margin-top:16px;line-height:1.7;width:fit-content;padding:5px 9px}.photo-label a{min-height:44px}.city-window{right:20px;bottom:31%;width:47%;border-left:1px solid #e6969499;padding-left:14px}.city-window strong{font-size:64px;margin:16px 0}.city-window>span{font-size:7px;line-height:1.8}.city-window>span:last-child{display:none}
  .interests-section{padding:75px 0 50px}.section-heading{display:block}.section-heading>.eyebrow{margin-bottom:24px}.section-heading h2{font-size:clamp(71px,20.5vw,95px);line-height:.9}.section-heading>p:last-child{font-size:13px;line-height:1.9;margin-top:28px;max-width:330px}.contact-layout{display:block;margin-top:45px}.contact-stage{position:relative;top:auto;height:460px;margin-bottom:45px}.contact-photo{border-width:5px}.city-detail{width:68%;height:76%;top:0;left:0}.music-detail{width:67%;height:44%;right:0;top:25%}.form-motion-detail{width:79%;height:39%;left:8%;bottom:0}.contact-photo figcaption{display:flex;padding:4px 6px;font-size:7px;gap:8px}.contact-photo figcaption>span{display:block;font-size:7px;max-width:80px}.contact-photo figcaption a{font-size:7px;flex-shrink:0}.contact-margin{left:-13px;font-size:6px;letter-spacing:.04em}.interest-entry{min-height:0;padding-block:55px;display:block}.interest-entry:first-child{padding-top:15px}.entry-index{display:block;font-size:36px;margin-bottom:22px}.interest-entry .eyebrow{font-size:8px}.interest-entry h3{font-size:clamp(66px,18vw,80px);margin:23px 0 26px}.interest-entry>p:not(.eyebrow){font-size:13px;line-height:1.95;max-width:340px}.interest-entry .entry-footnote{font-size:7px!important;line-height:1.9;margin-top:27px}.interest-index{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin-top:35px;padding-top:18px}.interest-index a{font-size:9px;line-height:1.7;gap:10px;align-items:center}.interest-index a:last-child{grid-column:1/-1;justify-content:flex-start;gap:22px}
  .history-section{padding-block:75px}.history-intro{display:block}.history-intro>.eyebrow{margin-bottom:24px}.history-intro h2{font-size:clamp(67px,18.5vw,82px)}.history-intro>p:not(.eyebrow){font-size:13px;line-height:1.95;margin-top:28px}.history-intro>.text-link{margin-top:24px;font-size:12px}.history-route{margin-top:45px}.history-route li{display:grid;grid-template-columns:1fr 22px;gap:24px 10px;padding-block:33px}.history-year{font-size:48px;grid-column:1}.history-year small{font-size:8px;line-height:1.8;margin-top:10px}.history-route li>div:nth-child(2){grid-column:1;grid-row:2}.history-route .eyebrow{font-size:8px}.history-route h3{font-size:36px;margin:16px 0 20px}.history-route p:not(.eyebrow){font-size:12px;line-height:1.9}.history-route .status-note{font-size:8px!important}.chapter-number{grid-column:2;grid-row:1;font-size:8px}.history-end{font-size:37px;line-height:1.1;margin-top:45px}
  .sky-scene{height:170svh;min-height:1250px}.sky-stage{height:100svh;min-height:760px}.sky-photograph{inset:0 -35% 0 -25%;transform-origin:58% 50%;transform:translateY(calc(var(--progress)*-3%)) scale(calc(1.05 + var(--progress)*.16))}.sky-photograph img{object-position:65% center}.sky-shade{background:linear-gradient(180deg,#0b0e1033 0%,#0b0e1000 25%,#0b0e1044 50%,#0b0e10e8 85%,#0b0e10 100%),linear-gradient(90deg,#0b0e1088,transparent 85%)}.sky-copy{padding-top:36px}.sky-copy>.eyebrow{font-size:8px}.sky-copy h2{font-size:clamp(88px,25vw,115px);line-height:.8;margin:26px 0 31px}.sky-copy h2 em{color:#f58b91}.sky-thoughts{max-width:none;padding:20px 18px;gap:19px}.sky-thoughts section{grid-template-columns:19px 1fr;gap:5px 10px}.sky-thoughts section>span{font-size:8px;grid-row:1/3;padding-top:7px}.sky-thoughts h3{font-size:29px}.sky-thoughts p{font-size:11px;line-height:1.85;grid-column:2;max-width:250px}.sky-bottom{bottom:70px;display:block;padding-right:0}.sky-bottom>span{display:none}.sky-bottom a{font-size:7px;max-width:none;width:fit-content}
  .making-section{padding-block:75px}.making-intro{margin-bottom:45px}.making-intro h2{font-size:clamp(64px,18vw,82px);margin-top:24px}.project-ledger article{grid-template-columns:80px 1fr;gap:22px;padding-block:32px}.project-monogram{height:91px;grid-row:1/3;font-size:64px}.lab-monogram{font-size:31px}.project-ledger .eyebrow{font-size:7px;line-height:1.9}.project-ledger h3{font-size:37px;line-height:1.05;margin:15px 0 18px}.project-ledger p:not(.eyebrow){font-size:12px;line-height:1.9}.project-label{font-size:7px;grid-column:2;line-height:1.8;padding-top:0}.project-ledger .text-link{font-size:11px;margin-top:15px;gap:24px}.notebook-section{padding-block:65px}.notebook-layout{display:block}.notebook-number{display:block;font-size:170px;margin-bottom:50px;line-height:.7;letter-spacing:-.05em}.notebook-number>span{font-size:8px;margin:22px 0 0 5px}.notebook-layout h2{font-size:61px;margin:24px 0}.notebook-layout p:not(.eyebrow){font-size:13px;line-height:1.9}.notebook-layout .empty-note{font-size:9px!important}.notebook-layout .text-link{font-size:12px}.site-footer{display:block;padding-block:65px 125px}.footer-sign{font-size:140px;line-height:.72}.footer-sign em{margin-left:26%}.footer-info{margin-top:45px;gap:20px;font-size:11px}.footer-info nav{gap:0}.footer-info>a{font-size:10px;margin-top:8px}.footer-note{font-size:7px;line-height:2;margin-top:30px;padding-top:22px;padding-right:35px}
  .reading-main{padding-block:55px 65px}.page-intro{margin-bottom:40px}.page-intro>.eyebrow{font-size:8px;margin-bottom:20px}.page-title-line{display:block}.page-title-line h1,.page-intro>h1{font-size:clamp(66px,20vw,83px);line-height:.95}.print-button{margin-top:23px}.reading-lead{font-size:13px;line-height:1.95;margin-top:24px}.cv-contact{gap:23px}.cv-contact .text-link{font-size:12px;gap:20px}.cv-section{padding-block:34px}.cv-section>h2{font-size:44px;margin-bottom:25px}.cv-section>.eyebrow{font-size:8px}.timeline-item{display:block;padding-block:24px}.cv-date{font-size:8px;line-height:1.9;margin-bottom:19px}.timeline-item h3,.cv-small-grid h3{font-size:31px}.timeline-item p,.cv-small-grid p,.cv-section>p{font-size:12px;line-height:1.9}.cv-place{font-size:11px!important}.cv-note{font-size:8px!important;line-height:2!important}.cv-small-grid{grid-template-columns:1fr;gap:34px}.cv-small-grid .text-link,.cv-section .text-link{font-size:12px}.page-footer{display:block;padding-block:25px 50px;font-size:10px}.page-footer p{margin-block:20px}.page-footer .text-link{font-size:11px}.notebook-sheet{padding:26px;min-height:330px}.notebook-sheet h2{font-size:55px}.notebook-sheet>p:not(.eyebrow){font-size:13px}.notebook-sheet .text-link{font-size:11px}.credit-list>li{display:block;padding-block:30px}.credit-thumb{width:100%;height:190px;margin-bottom:25px}.credit-list h2{font-size:36px}.credit-list p{font-size:11px;line-height:2}.credit-list .text-link{font-size:11px}
}
@media(max-width:350px){.wrap{width:calc(100% - 32px)}.hero-content h1{font-size:91px}.hero-intro{font-size:11px}.hero-aside{bottom:26%;right:16px}.city-window{width:44%;bottom:30%}.city-window strong{font-size:53px}.city-window>span{font-size:6px}.contact-stage{height:395px}.contact-photo figcaption>span{display:none}.contact-photo figcaption a{font-size:7px}.section-heading h2{font-size:69px}.history-intro h2{font-size:65px}.making-intro h2{font-size:62px}.project-ledger article{grid-template-columns:64px 1fr;gap:18px}.project-monogram{height:80px;font-size:54px}.lab-monogram{font-size:28px}.project-ledger h3{font-size:33px}.sky-thoughts{padding:18px 15px}.sky-thoughts p{font-size:10px}.sky-copy h2{font-size:86px}.notebook-layout h2{font-size:55px}.footer-sign{font-size:125px}.interest-index a{font-size:8px}}
/* Static alternatives preserve every section and every link. Pause holds the camera. */
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
html:not(.has-js) [data-motion-art],html:not(.has-js) .contact-photo img{transform:none!important;will-change:auto}html:not(.has-js) .city-scene,html:not(.has-js) .sky-scene{height:auto;min-height:0}html:not(.has-js) .city-stage,html:not(.has-js) .sky-stage,html:not(.has-js) .contact-stage{position:relative}html:not(.has-js) .city-window{display:none}html:not(.has-js) .motion-toggle{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-motion-art],.contact-photo img{transform:none!important;will-change:auto}.city-scene,.sky-scene{height:auto;min-height:0}.city-stage,.sky-stage,.contact-stage{position:relative}.city-window{display:none}}
@media print{*{animation:none!important;transition:none!important;box-shadow:none!important}body.page-reading{color:#111;background:#fff;font-size:10pt}.page-reading .site-header,.page-reading .page-footer,.print-button,.motion-toggle{display:none!important}.reading-main{width:100%;max-width:none;padding:0}.page-intro{margin-bottom:25px}.page-title-line h1{font-size:40pt}.reading-lead{font-size:10pt;line-height:1.6;max-width:none}.cv-contact{margin-top:15px}.cv-contact a{font-size:10pt;color:#111}.paper-sheet{border-top:1px solid #111}.cv-section{padding-block:18px;break-inside:avoid}.cv-section>h2{font-size:23pt;margin:8px 0 18px;color:#111}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:13px 0;break-inside:avoid}.timeline-item h3,.cv-small-grid h3{font-size:17pt;color:#111}.timeline-item p,.cv-small-grid p,.cv-section>p,.cv-date,.cv-place,.cv-note,.muted,.eyebrow,.reading-lead{color:#222!important;font-size:9pt!important;line-height:1.5!important}.cv-small-grid{grid-template-columns:1fr 1fr;gap:25px}.text-link{border:0;min-height:0;padding:0;color:#111}.cv-section a[href^=https]:after{content:' (' attr(href) ')';font-size:7pt;overflow-wrap:anywhere}.cv-contact .text-link:after{display:none}}

/* Reveal complete opaque labels, rather than fading their contrast. */
.city-scene.is-unfolded .city-window{visibility:visible}
@media(max-width:600px){.city-scene .city-window{display:none}}
/* On a phone the Earth gets its own visible interval, above the reading block. */
@media(max-width:600px){.sky-scene{height:auto;min-height:0}.sky-stage{position:relative;height:auto;min-height:0;padding-bottom:150px}.sky-photograph{top:0;bottom:auto;left:-25%;right:auto;width:160%;height:650px}.sky-photograph img{object-position:65% center}.sky-copy .sky-thoughts{margin-top:200px}.sky-bottom{bottom:70px}.footer-note{max-width:680px}}
/* Frame captions never carry links under another photograph. The credit rail is still. */
.contact-photo figcaption{top:0;bottom:auto;min-height:28px;padding:8px 9px;justify-content:flex-start}.contact-photo figcaption>span{display:block;max-width:none}.contact-credits{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:var(--ink)}.contact-credits a{display:flex;align-items:center;min-height:44px;min-width:44px;font-family:Fragment;font-size:8px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}.form-motion-detail{bottom:65px}.city-detail{height:67%}
@media(max-width:600px){.contact-stage{margin-bottom:35px}.form-motion-detail{bottom:65px;height:37%}.city-detail{height:70%}.contact-photo figcaption{font-size:7px;padding:7px 6px}.contact-photo figcaption>span{display:block;font-size:7px;max-width:none}.contact-credits a{font-size:7px}}
.city-photograph picture{display:block;width:100%;height:100%}.hero-content{pointer-events:auto}
@media(max-width:600px){.motion-toggle{bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}.site-footer{padding-bottom:calc(125px + env(safe-area-inset-bottom))}}
/* Keep display lettering legible even as bright windows move through its crop. */
@media(max-width:600px){.city-shade{background:linear-gradient(180deg,#0b0e1099 0%,#0b0e10b8 47%,#0b0e1000 63%,#0b0e10 100%),linear-gradient(90deg,#0b0e1044 0%,#0b0e1022 70%,transparent)}}
/* Phone curiosities carry their photographs through the reading sequence. */
.entry-photograph,.hero-credit-phone{display:none}
@media(max-width:600px){
  .hero-credit-desktop{display:none}.hero-credit-phone{display:inline}
  .interests-section .contact-stage{display:none}.contact-layout{margin-top:35px}
  .entry-photograph{display:block;width:100%;margin:0 0 32px;border:1px solid var(--line);background:var(--surface)}
  .entry-photo-image{height:clamp(220px,70vw,300px);overflow:clip}
  .entry-photo-image img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.03 + var(--progress)*.06))}
  .entry-photograph figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 13px;background:var(--surface);font-family:Fragment;font-size:8px;line-height:1.9;color:#d4d7d0}
  .entry-photograph figcaption a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:9px;text-decoration:underline;text-underline-offset:4px}
  .interest-entry{padding-block:36px 45px}.interest-entry:first-child{padding-top:0}.entry-index{margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.entry-photo-image img{transform:none!important}}
html:not(.has-js) .entry-photo-image img{transform:none!important}
@media(max-width:600px){#games .entry-photo-image{height:auto;aspect-ratio:2747/1711}#games .entry-photo-image img{transform:none}}
/* A short phone in landscape scrolls naturally, without a taller-than-screen pin. */
@media(max-width:1000px) and (max-height:600px){
  .city-scene,.sky-scene{height:auto;min-height:0}.city-stage{position:relative;height:auto;min-height:650px}
  .sky-stage{position:relative;height:auto;min-height:0;padding-bottom:120px}
  .sky-copy{padding-top:55px}.sky-copy h2{font-size:105px}.sky-thoughts{max-width:560px}
  .contact-layout{display:block}.interests-section .contact-stage{display:none}
  .interest-entry{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);column-gap:40px;align-content:center;justify-content:normal;min-height:0;padding-block:45px}
  .interest-entry:first-child{padding-top:0}.entry-photograph{display:block;grid-column:1;grid-row:1/7;width:100%;margin:0;border:1px solid var(--line);background:var(--surface);align-self:start}
  .entry-photo-image{height:280px;overflow:clip}.entry-photo-image img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.03 + var(--progress)*.06))}
  #games .entry-photo-image{height:auto;aspect-ratio:2747/1711}#games .entry-photo-image img{transform:none}
  .entry-photograph figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--surface);font-family:Fragment;font-size:8px;line-height:1.9;color:#d4d7d0}
  .entry-photograph figcaption a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:9px;text-decoration:underline;text-underline-offset:4px}
  .interest-entry>.entry-index,.interest-entry>.eyebrow,.interest-entry>h3,.interest-entry>p{grid-column:2}
  .entry-index{font-size:32px;margin-bottom:18px}.interest-entry h3{font-size:63px;margin:20px 0 24px}.interest-entry>p:not(.eyebrow){font-size:13px;line-height:1.9}
}
.hero-bottom>.hero-photo-credit{font-family:Hanken,Arial,sans-serif;font-size:11px;line-height:1.65;padding:7px 10px}
@media(max-width:1000px) and (max-height:600px){.motion-toggle{position:absolute;top:100px;bottom:auto;right:max(24px,env(safe-area-inset-right))}.hero-aside{display:none}}
/* Moving city windows cannot pass unprotected behind the display lettering. */
@media(min-width:601px){
  .hero-content h1{position:relative;isolation:isolate;width:fit-content;max-width:100%}
  .hero-content h1:before{content:'';position:absolute;inset:-12px -100px -14px -20px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0b0e10eb 0%,#0b0e10eb calc(100% - 100px),#0b0e1000 100%)}
}
.city-window strong{width:fit-content;max-width:100%;background:var(--ink);box-shadow:12px 0 0 var(--ink),-12px 0 0 var(--ink),0 10px 0 var(--ink),0 -10px 0 var(--ink)}
