@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&family=Noto+Serif+SC:wght@400;500&display=swap');
:root{--ink:#171c1b;--muted:#64706c;--paper:#e4e9e6;--pale:#d9e0dc;--line:rgba(30,44,41,.23);--accent:#c66d51}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}.topbar{height:74px;position:fixed;z-index:20;inset:0 0 auto;background:rgba(228,233,230,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 3.7vw}.wordmark,footer>a:first-child{font-size:13px;letter-spacing:.16em;font-weight:600;white-space:nowrap}.wordmark span,footer>a:first-child span{font-weight:300;color:var(--muted)}nav{display:flex;gap:1.65vw;align-items:center}nav a{font-size:11px;white-space:nowrap;transition:color .2s}nav a:hover,.under-link:hover,.text-link:hover{color:var(--accent)}.menu-toggle{display:none;border:0;background:none}.hero{min-height:100svh;position:relative;overflow:hidden;background:#263530;color:#f5f4ed;display:flex;align-items:end;padding:110px 7.3vw 8vh}.hero-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 72% 45%,#768b79 0,#35483f 24%,#1e2c29 55%,#192421 100%)}.orb{position:absolute;width:min(70vw,820px);aspect-ratio:1;right:-5%;top:1%;border-radius:50%;background:radial-gradient(circle at 38% 31%,#b6bca3 0,#687b6c 16%,#25372f 40%,#0d1716 62%,#6d776b 67%,#101a18 70%);filter:blur(1px);opacity:.9;box-shadow:-80px 0 170px #7386753d}.frame{position:absolute;border:1px solid rgba(230,235,216,.13);width:38vw;height:62vh;right:10%;top:19%;transform:rotate(-21deg)}.frame-two{right:15%;top:14%;transform:rotate(19deg)}.hero-grain{position:absolute;inset:0;opacity:.22;background-image:repeating-linear-gradient(0deg,transparent 0 2px,#0e1917 3px 4px)}.hero-content{z-index:2;max-width:100%;width:100%}.eyebrow,.section-meta,.side-label,.ref-info>span,.source-note>span,.proposal article>span,.status,dt,.disclosure>span,.project-visual>span{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em}.hero h1{font-weight:300;font-size:clamp(62px,9vw,150px);line-height:.92;letter-spacing:-.066em;margin:36px 0 65px;max-width:1100px}.hero h1 em,.section-heading h2 em,.project-copy h2 em,.about h2 em{font-family:'Noto Serif SC',Georgia,serif;font-style:normal;font-weight:400;letter-spacing:-.04em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid #d7dfd188;padding-top:22px}.hero-bottom p{font-size:15px;max-width:360px;line-height:1.7;margin:0}.text-link{font-size:13px;border-bottom:1px solid #f5f4ed;padding-bottom:7px}.text-link span{margin-left:28px}.side-label{position:absolute;right:3.8vw;bottom:8vh;writing-mode:vertical-rl;opacity:.65}.section-pad{padding:115px 7.3vw 130px}.section-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1.1fr .65fr;gap:12vw;padding-top:90px}.intro h2,.section-heading h2,.empty-section h2,.project-copy h2,.about h2{font-size:clamp(46px,6vw,95px);font-weight:300;line-height:1.15;letter-spacing:-.055em;margin:0}.intro h2 i{font-family:'Noto Serif SC',serif;font-weight:400;font-style:normal}.intro-grid>div{padding-top:18px}.lead{font-size:clamp(18px,1.7vw,25px);line-height:1.65;letter-spacing:-.025em}.intro-grid>div>p:not(.lead),.project-copy p:not(.lead),.about-grid p:not(.lead){font-size:14px;line-height:1.9;color:#55615c}.under-link{display:inline-block;font-size:13px;margin-top:25px;border-bottom:1px solid currentColor;padding-bottom:7px}.pale{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:95px 0 70px}.section-heading p{max-width:300px;font-size:14px;line-height:1.8}.period{color:var(--accent)}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px 35px}.reference.large{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr;gap:35px;align-items:end}.image-wrap{background:#b9c2ba;overflow:hidden}.reference.large .image-wrap{height:570px}.reference:not(.large) .image-wrap{height:440px}.image-wrap img{height:100%;object-fit:cover;transition:transform .7s}.reference:hover img{transform:scale(1.035)}.reference.large img{object-position:center 42%}.ref-info{padding-top:22px}.ref-info>span{color:var(--muted)}.ref-info h3{font-family:'Noto Serif SC',Georgia,serif;font-size:clamp(25px,2.8vw,43px);font-weight:400;margin:25px 0 15px}.ref-info p,.source-note p{font-size:14px;line-height:1.85;max-width:420px}.ref-info a,.source-note a{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px}.source-note{display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);margin-top:100px;padding-top:25px}.source-note>span{white-space:nowrap}.source-note p{margin:0}.dark{background:#1e2825;color:#e8ece4}.dark .section-meta{border-color:#a9b4a944;color:#aab6ab}.dark .section-heading p{color:#b0bab0}.proposal{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #a9b4a944}.proposal article{min-height:320px;padding:32px 35px 40px 0;border-bottom:1px solid #a9b4a944}.proposal article>span{color:#adbaad}.proposal h3{font-family:'Noto Serif SC',serif;font-size:30px;font-weight:400;margin:52px 0 20px}.proposal p{font-size:14px;line-height:1.85;color:#b7c1b8;max-width:360px}.compact{padding-bottom:145px}.empty-section{display:grid;grid-template-columns:1fr .52fr;gap:80px;align-items:end;padding-top:100px}.empty-section p{font-size:18px;line-height:1.75}.status{display:inline-block;border-top:1px solid var(--line);width:100%;padding-top:20px;color:var(--muted)}.project{background:#e4e9e6}.project-visual{height:550px;margin-top:75px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,#829083,#34483e 33%,#182622 61%,#101a18 100%);display:flex;align-items:center;justify-content:center}.portal{width:270px;height:360px;border:8px solid #b0bba8;border-radius:145px 145px 0 0;box-shadow:0 0 75px #9cae9d88,inset 0 0 50px #b8c9a799;display:flex;align-items:center;justify-content:center}.portal-inner{width:210px;height:300px;border-radius:120px 120px 0 0;background:radial-gradient(circle at 50% 60%,#d5bd8d 0,#6d7c67 18%,#172720 42%,#071210 65%);box-shadow:inset 0 0 50px #071210}.project-visual>span{position:absolute;bottom:25px;left:30px;color:#e9efe3}.project-copy{display:grid;grid-template-columns:1fr .7fr;gap:8vw;padding-top:90px}.project-copy dl{border-top:1px solid var(--line);margin-top:45px}.project-copy dl div{display:grid;grid-template-columns:140px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;font-size:13px}.about-grid{display:grid;grid-template-columns:1fr .62fr;gap:8vw;padding-top:110px}.about .eyebrow{color:#a9b5aa;margin-bottom:50px}.about-grid .lead{margin-top:0}.about-grid p:not(.lead){color:#b2beb3}.disclosure{border-top:1px solid #a9b4a944;margin-top:60px;padding-top:22px}.disclosure>span{color:#a9b5aa}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 7.3vw;background:#141d1a;color:#dfe5da;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em}footer>a:first-child span{color:#9ca99d}footer a:last-child{white-space:nowrap}@media(max-width:1000px){.topbar{padding:0 5vw}.menu-toggle{display:block;font-size:11px;letter-spacing:.13em;cursor:pointer}.menu-toggle span{margin-left:8px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:25px 5vw 35px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{font-size:18px;border-bottom:1px solid var(--line);padding:13px 0}.proposal{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.hero{padding:110px 6vw 7vh;min-height:750px}.hero h1{font-size:clamp(58px,13vw,85px);margin-bottom:55px}.hero-bottom{align-items:start;flex-direction:column}.side-label{display:none}.orb{width:100vw;right:-45%;top:17%}.section-pad{padding:80px 6vw 95px}.section-meta{font-size:9px}.intro-grid,.project-copy,.about-grid,.empty-section{grid-template-columns:1fr;gap:35px;padding-top:70px}.section-heading{display:block;padding:70px 0 45px}.section-heading p{margin-top:22px}.journey-grid{display:block}.reference,.reference.large{display:block;margin-bottom:60px}.reference.large .image-wrap,.reference:not(.large) .image-wrap{height:390px}.source-note{display:block;margin-top:30px}.source-note p{margin-top:25px}.proposal{grid-template-columns:1fr}.proposal article,.proposal article:nth-child(even),.proposal article:nth-child(odd){min-height:auto;padding:30px 0 45px;margin:0;border-right:0}.proposal h3{margin-top:32px}.project-visual{height:400px;margin-top:55px}.portal{transform:scale(.75)}.project-visual>span{font-size:8px}.about .eyebrow{margin-bottom:35px}footer{display:grid;grid-template-columns:1fr auto;line-height:1.7}footer>span{grid-column:1/-1;grid-row:2}}

.proposal{grid-template-columns:repeat(2,minmax(0,1fr))}
.proposal>article{min-height:290px;padding:34px 42px 45px 0;margin:0;border-right:0}
.proposal>article:nth-of-type(odd){border-right:1px solid #a9b4a944;margin-right:35px}
.proposal>article:nth-of-type(even){padding-left:35px}
.proposal-reference-panel{grid-column:1/-1;padding:70px 0 90px;border-bottom:1px solid #a9b4a944}
.proposal-reference-heading{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end;margin-bottom:42px}
.proposal-reference-heading>span{grid-column:1/-1;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;color:#adbaad}
.proposal-reference-heading h3{font-family:'Noto Serif SC',Georgia,serif;font-size:clamp(35px,4vw,62px);font-weight:400;line-height:1.2;margin:0}
.proposal-reference-heading p{max-width:370px;color:#b7c1b8;font-size:14px;line-height:1.85;margin:0}
.proposal-reference-panel .journey-grid{gap:50px 32px}
.proposal-reference-panel .reference.large .image-wrap{height:420px}
.proposal-reference-panel .reference:not(.large) .image-wrap{height:340px}
.proposal-reference-panel .ref-info>span,.proposal-reference-panel .source-note>span{color:#adbaad}
.proposal-reference-panel .ref-info p,.proposal-reference-panel .source-note p{color:#b7c1b8;max-width:500px}
.proposal-reference-panel .source-note{border-color:#a9b4a944;margin-top:70px}
@media(max-width:700px){.proposal{grid-template-columns:1fr}.proposal>article,.proposal>article:nth-of-type(odd),.proposal>article:nth-of-type(even){min-height:auto;padding:30px 0 45px;margin:0;border-right:0}.proposal-reference-panel{padding:55px 0 65px}.proposal-reference-heading{display:block}.proposal-reference-heading h3{margin:25px 0 15px}.proposal-reference-panel .reference.large .image-wrap,.proposal-reference-panel .reference:not(.large) .image-wrap{height:340px}}

.production-flow-panel{grid-column:1/-1;padding:64px 0 82px;border-bottom:1px solid #a9b4a944}
.production-flow-header{display:grid;grid-template-columns:1.15fr .85fr;gap:12px 70px;align-items:end;margin-bottom:38px}
.production-flow-header>span{grid-column:1/-1;color:#adbaad;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em}
.production-flow-header h3{margin:12px 0 0;font-family:'Noto Serif SC',Georgia,serif;font-size:clamp(34px,4vw,60px);font-weight:400;line-height:1.2}
.production-flow-header p{margin:0 0 5px;color:#b7c1b8;font-size:14px;line-height:1.75;max-width:340px}
.production-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.production-flow li{position:relative;min-height:238px;padding:22px 15px 24px;background:#2b3732;border-top:1px solid #9eafa15e}
.production-flow li:not(:last-child)::after{content:'→';position:absolute;right:-17px;top:46%;color:#d1dccc;font-family:'DM Mono',monospace;font-size:19px;z-index:1}
.flow-number{color:#bdcbbd;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em}
.production-flow h4{font-family:'DM Sans',Arial,sans-serif;font-weight:400;font-size:clamp(16px,1.5vw,21px);line-height:1.3;letter-spacing:-.025em;margin:36px 0 10px}
.production-flow p{font-size:12px;line-height:1.55;color:#b7c1b8;margin:0;max-width:none}
@media(max-width:1050px){.production-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.production-flow li{min-height:200px}.production-flow li:nth-child(3)::after{display:none}}
@media(max-width:700px){.production-flow-panel{padding:52px 0 65px}.production-flow-header{display:block}.production-flow-header h3{margin:23px 0 16px}.production-flow{grid-template-columns:1fr;gap:19px}.production-flow li{min-height:0;padding:19px 22px 22px}.production-flow li:not(:last-child)::after,.production-flow li:nth-child(3)::after{display:block;content:'↓';right:auto;left:25px;top:auto;bottom:-23px}.production-flow h4{margin:14px 0 8px;font-size:20px}.production-flow p{font-size:13px}}

.proposal>article.research-metaphor-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6vw;align-items:start;min-height:0;padding:52px 0 72px;margin:0;border-right:0;border-bottom:1px solid #a9b4a944}
.research-metaphor-copy>span{color:#adbaad;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em}
.research-metaphor-card h3{margin:50px 0 20px}
.research-metaphor-card p{max-width:420px}
.concept-map{margin:0;min-width:0}
.concept-map img{width:100%;max-height:570px;object-fit:contain;background:#f7f7f5}
.concept-map figcaption{margin-top:13px;color:#adbaad;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-align:right}
@media(max-width:700px){.proposal>article.research-metaphor-card{display:block;padding:34px 0 55px}.research-metaphor-card h3{margin:30px 0 18px}.concept-map{margin-top:28px}.concept-map img{max-height:none}}

.worklog-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;padding:90px 0 75px}
.worklog-heading .eyebrow{color:var(--muted);margin:0 0 28px}
.worklog-heading h2{font-size:clamp(48px,6vw,95px);font-weight:300;line-height:1.12;letter-spacing:-.055em;margin:0}
.worklog-heading>p{max-width:300px;font-size:14px;line-height:1.8;margin:0}
.worklog-entry{border-top:1px solid var(--line)}
.worklog-entry-header{display:flex;justify-content:space-between;align-items:end;gap:35px;padding:38px 0 55px}
.worklog-kicker,.worklog-meta,.worklog-gallery figcaption{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--muted)}
.worklog-entry-header h3{font-family:'Noto Serif SC',Georgia,serif;font-size:clamp(28px,3.5vw,52px);font-weight:400;margin:17px 0 0}
.worklog-meta{display:flex;flex-direction:column;gap:12px;text-align:right;white-space:nowrap}
.worklog-row{display:grid;grid-template-columns:minmax(180px,.36fr) 1fr;gap:6vw;border-top:1px solid var(--line);padding:28px 0 42px}
.worklog-row h4{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.09em;font-weight:400;text-transform:uppercase;margin:4px 0 0}
.worklog-row p,.worklog-row li{max-width:760px;font-size:clamp(15px,1.35vw,18px);line-height:1.8;margin:0}
.worklog-row ul,.worklog-row ol{margin:0;padding-left:1.35em}.worklog-row li+li{margin-top:9px}
.worklog-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:4px 0 55px}
.worklog-gallery figure{min-width:0;margin:0}.worklog-gallery img{height:270px;object-fit:contain;background:#cbd4cd;padding:12px}
.worklog-gallery figcaption{padding-top:12px}
@media(max-width:1000px){.worklog-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.worklog-gallery img{height:340px}}
@media(max-width:700px){.worklog-heading,.worklog-entry-header{display:block}.worklog-heading{padding:70px 0 55px}.worklog-heading>p{margin-top:22px}.worklog-entry-header{padding:30px 0 38px}.worklog-meta{text-align:left;margin-top:25px;white-space:normal}.worklog-row{grid-template-columns:1fr;gap:18px;padding:25px 0 35px}.worklog-gallery{gap:22px 12px}.worklog-gallery img{height:210px;padding:8px}.worklog-gallery figcaption{font-size:8px}}

.worklog-entry+.worklog-entry{margin-top:85px}.worklog-row code{font-family:'DM Mono',monospace;font-size:.82em;overflow-wrap:anywhere}@media(max-width:700px){.worklog-entry+.worklog-entry{margin-top:65px}}
