@charset "UTF-8";
/* A quiet architectural language: paper, ink, measured lines, forest green. */
:root{--paper:#f5f5ef;--ink:#243c2d;--green:#31754c;--muted:#626d62;--rule:#d7dccf;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--mono:Consolas,'Courier New',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--green);outline-offset:6px}
::selection{background:#d1dfc7;color:#183320}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:5;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:108px;display:flex;align-items:center;border-bottom:1px solid var(--rule);gap:50px}
.brand{display:inline-flex;align-items:center;font-size:28px;font-weight:650;letter-spacing:-1.5px;line-height:1}
.brand-dot{color:var(--green)}
.site-header nav{margin-left:auto;display:flex;gap:36px;font-size:14px}
.site-header nav a{padding-block:12px}
.site-header nav a:hover,.site-footer>a:last-child:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}
.header-link{font-size:13px;border:1px solid #acb7a7;padding:12px 18px;display:flex;align-items:center;gap:30px;transition:background .15s}
.header-link:hover{background:#e5eadd}
.hero{position:relative;display:grid;grid-template-columns:1.02fr 1fr;column-gap:10px;padding-top:68px}
.hero-copy{padding-top:36px;position:relative;z-index:1}
.eyebrow,.section-label{font-size:10px;font-family:var(--mono);letter-spacing:1.5px;font-weight:400;display:flex;align-items:center;gap:10px;line-height:1.7}
.square{width:6px;height:6px;background:var(--green);display:inline-block;flex-shrink:0}
h1,h2,h3,p,figure{margin:0}
h1{font-family:var(--serif);font-size:clamp(46px,4.5vw,68px);font-weight:400;line-height:1.09;letter-spacing:-2.7px;margin-top:28px;white-space:nowrap}
h1 em{color:var(--green);font-weight:400}
.hero-description{max-width:355px;color:var(--muted);font-size:15px;line-height:1.85;margin-top:27px}
.button{background:var(--ink);color:#f8f8f1;display:inline-flex;gap:44px;align-items:center;padding:16px 21px;font-size:13px;margin-top:31px;min-height:49px;transition:background .15s}
.button:hover{background:var(--green)}
.button span{font-size:20px;line-height:1}
.development{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:20px}
.development>span{width:5px;height:5px;border-radius:50%;background:var(--green)}
.structure-figure{min-width:0;padding-left:23px}
.figure-heading{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);letter-spacing:1px;font-size:9px;color:#6c7868;padding:0 4px 0 16px}
.figure-heading>span:last-child{font-size:20px;color:var(--green)}
.structure{width:100%;display:block;height:auto;overflow:visible;margin-top:8px}
figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:8px 4px 0 16px;font-size:11px;color:var(--muted)}
figcaption>span:first-child{display:flex;align-items:center;gap:8px}
figcaption i{height:6px;width:6px;border-radius:50%;border:1px solid var(--green)}
figcaption>span:last-child{font-family:var(--mono);font-size:8px;letter-spacing:1px}
.model-link{display:block}
.model-link:hover img{outline:1px solid var(--rule);outline-offset:5px}
figcaption>a{font-size:10px;border-bottom:1px solid var(--rule);padding-bottom:2px}
figcaption>a:hover{color:var(--green);border-color:var(--green)}
.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding:55px 0 24px;margin-top:10px;font-size:9px;letter-spacing:1px;font-family:var(--mono);color:var(--muted)}
.slash{padding-inline:16px;color:#9ba794}
.hero-bottom>a{font-family:var(--sans);font-size:11px;letter-spacing:0;display:flex;gap:23px;align-items:center}
.hero-bottom>a span{font-size:17px;color:var(--green)}
.about{display:grid;grid-template-columns:1fr 2.06fr;gap:24px;padding-top:88px;padding-bottom:88px;border-bottom:1px solid var(--rule);scroll-margin-top:30px}
.about>.section-label{align-self:start;padding-top:9px}
.about-content{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:start}
h2{font-family:var(--serif);font-size:34px;letter-spacing:-1px;font-weight:400;line-height:1.25}
.about-content p{font-size:14px;line-height:1.9;color:var(--muted);padding-top:4px}
.approach{display:grid;grid-template-columns:1fr 1.43fr;gap:95px;padding-block:85px 95px}
.approach-intro h2{font-size:43px;margin-top:25px;line-height:1.15;letter-spacing:-1.5px}
.approach-intro>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin-top:23px}
.steps{list-style:none;margin:0;padding:0}
.steps li{border-top:1px solid var(--rule);display:grid;grid-template-columns:38px 1fr;gap:17px;padding:26px 0 28px;align-items:start}
.steps li:last-child{border-bottom:1px solid var(--rule)}
.step-number{font-family:var(--mono);font-size:10px;color:var(--green);padding-top:6px}
h3{font-size:19px;font-weight:500;letter-spacing:-.4px}
.steps p{font-size:13px;line-height:1.8;color:var(--muted);max-width:325px;margin-top:9px}
.about-link{font-size:12px;display:inline-flex;gap:24px;margin-top:18px;padding-bottom:5px;border-bottom:1px solid #a2b298;color:var(--green)}
.about-link:hover{border-color:var(--green)}
.project-section{background:#243c2d;color:#f2f4e9}
.project-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:110px;padding-block:66px 69px;align-items:center}
.project-section .eyebrow{color:#bdcbb7;font-size:9px;letter-spacing:1.3px}
.project-section .square{background:#b8cba7}
.project-section h2{font-size:45px;line-height:1.18;letter-spacing:-1.1px;margin-top:23px}
.project-aside{max-width:330px;justify-self:end}
.project-aside>p{color:#c7d1c1;font-size:14px;line-height:1.9}
.text-link{font-size:13px;padding-bottom:12px;border-bottom:1px solid #687e62;margin-top:26px;display:flex;justify-content:space-between;gap:25px;align-items:center;transition:color .15s}
.text-link:hover{color:#bddba4}
.text-link span{font-size:20px}
.project-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#b8c8b0;margin-top:20px}
.project-status i{width:5px;height:5px;background:#b1ca9b;border-radius:50%}
.site-footer{display:flex;align-items:center;gap:25px;min-height:111px}
.site-footer .brand{font-size:25px}
.site-footer p{font-size:11px;color:var(--muted)}
.site-footer>a:last-child{margin-left:auto;font-size:11px;color:var(--muted);display:flex;gap:20px;align-items:center}
.site-footer>a:last-child span{font-size:18px;color:var(--green)}
@media(min-width:1500px){.hero{padding-top:80px}.hero-copy{padding-top:54px}.hero-description{font-size:16px}.structure{max-height:520px}.hero-bottom{padding-top:60px}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.hero{grid-template-columns:1.1fr 1fr;padding-top:40px}.hero-copy{padding-top:25px}h1{font-size:clamp(40px,4.55vw,53px);letter-spacing:-2px}.structure-figure{padding-left:5px;padding-top:12px}.hero-description{font-size:14px;max-width:320px}.hero-bottom{padding-top:35px}.about{grid-template-columns:1fr 2.4fr}.about-content{gap:28px}h2{font-size:29px}.approach{gap:60px}.project-inner{gap:55px}.project-section h2{font-size:39px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.site-header{height:85px;gap:26px}.site-header nav{gap:24px}.header-link{display:none}.hero{grid-template-columns:1fr;padding-top:44px}.hero-copy{padding-top:0}h1{font-size:clamp(43px,7.9vw,62px);white-space:normal;letter-spacing:-2px}.hero-description{max-width:400px;font-size:15px}.structure-figure{max-width:560px;width:100%;justify-self:center;margin-top:48px;padding:0}.structure{margin-top:0}.hero-bottom{padding-top:29px;margin-top:13px}.about{grid-template-columns:1fr;gap:25px;padding-block:56px}.about-content{grid-template-columns:1fr 1fr;gap:35px}.about h2{font-size:32px}.about-content p{font-size:13px}.approach{grid-template-columns:1fr;gap:34px;padding-block:55px 60px}.approach-intro h2{font-size:36px;margin-top:20px}.approach-intro>p:last-child{margin-top:16px}.approach-intro>p:last-child br{display:none}.steps li{grid-template-columns:35px 1fr 48px}.steps p{max-width:440px}.project-inner{grid-template-columns:1fr;gap:30px;padding-block:48px}.project-section h2{font-size:39px}.project-aside{justify-self:start;max-width:480px}.project-aside>p{font-size:13px}.text-link{max-width:330px}.site-footer{min-height:100px;gap:18px}.site-footer p{font-size:10px}}
@media(max-width:480px){.wrap{width:calc(100% - 40px)}.site-header{height:78px}.brand{font-size:26px}.brand-mark{width:29px;height:29px}.site-header nav{gap:20px;font-size:12px}.hero{padding-top:37px}h1{font-size:43px;letter-spacing:-2.1px;line-height:1.12;margin-top:23px}.eyebrow,.section-label{font-size:9px;letter-spacing:1px}.hero-description{font-size:14px;max-width:310px;margin-top:22px}.button{margin-top:25px}.development{font-size:9px}.structure-figure{margin-top:43px}.figure-heading{padding-left:0;font-size:8px}figcaption{padding-left:0;font-size:10px}figcaption>span:last-child{font-size:7px}.hero-bottom{font-size:7px;padding-bottom:20px}.slash{padding-inline:7px}.hero-bottom>a{font-size:10px;gap:10px}.about-content{grid-template-columns:1fr;gap:20px}.about h2{font-size:32px}.about-content p{font-size:14px;max-width:340px}.approach-intro h2{font-size:35px}.steps li{grid-template-columns:23px 1fr 35px;gap:12px;padding-block:23px}.steps svg{width:32px}.steps p{font-size:12px}.project-section h2{font-size:34px;letter-spacing:-.8px}.project-section .eyebrow{font-size:8px;letter-spacing:.8px}.site-footer{flex-wrap:wrap;gap:14px;padding-block:26px}.site-footer>a:last-child{width:100%;margin-left:0;margin-top:4px}.site-footer p{font-size:10px}}
@media(max-width:360px){h1{font-size:37px}.site-header nav{gap:14px}.brand{gap:7px}.hero-bottom>span{letter-spacing:.2px}}
/* The project essay shares the landing page's editorial system. */
.site-header [aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:6px}
.detail-hero{padding-block:72px 60px;border-bottom:1px solid var(--rule)}
.detail-hero h1{font-size:clamp(48px,5.2vw,76px);margin-top:27px;white-space:normal}
.detail-intro{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-top:35px}
.detail-intro>p:first-child{font-size:18px;line-height:1.85;color:var(--muted);max-width:640px}
.detail-status{font-family:var(--mono);font-size:9px;line-height:2.3;letter-spacing:.7px;flex-shrink:0}
.detail-status span{font-family:var(--sans);font-size:11px;letter-spacing:0;color:var(--muted)}
.model-story{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:85px;padding-block:60px;border-bottom:1px solid var(--rule)}
.model-story h2{font-size:40px;margin-top:23px;line-height:1.2}
.model-story p:not(.section-label){font-size:14px;line-height:1.9;color:var(--muted);max-width:380px;margin-top:23px}
.model-story p.model-note{font-size:11px;line-height:1.8}
.model-story figure{min-width:0}
.model-story img{width:100%;height:auto;display:block}
.model-story figcaption{font-family:var(--mono);font-size:8px;letter-spacing:.8px;padding-inline:0}
.project-reading{display:grid;grid-template-columns:240px minmax(0,760px);gap:100px;padding-top:68px;justify-content:space-between}
.reading-nav{align-self:start;position:sticky;top:40px}
.reading-nav nav{display:grid;gap:23px;margin-top:31px}
.reading-nav nav a{display:flex;gap:17px;font-family:var(--mono);font-size:10px;color:var(--green)}
.reading-nav nav a span{font-family:var(--sans);font-size:13px;color:var(--muted)}
.reading-nav nav a:hover span{color:var(--green);text-decoration:underline;text-underline-offset:5px}
.reading-section{padding-bottom:54px;margin-bottom:54px;border-bottom:1px solid var(--rule);scroll-margin-top:35px}
.reading-section h2{font-size:36px;line-height:1.22;margin-top:21px;margin-bottom:25px;max-width:590px}
.reading-section>p:not(.section-label),.feature-details p,.editorial-note p{font-size:15px;line-height:1.95;color:var(--muted);margin-top:18px}
.workflow-list{padding:0;margin:30px 0 0;list-style:none}
.workflow-list li{display:grid;grid-template-columns:32px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--rule)}
.workflow-list li>span{color:var(--green);font-family:var(--mono);font-size:10px;padding-top:6px}
.workflow-list p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:10px}
.feature-details{margin-top:30px}
.feature-details details{border-top:1px solid var(--rule)}
.feature-details details:last-child{border-bottom:1px solid var(--rule)}
.feature-details summary{padding:23px 0;display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:16px;font-weight:500;align-items:center}
.feature-details summary::-webkit-details-marker{display:none}
.feature-details summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.feature-details summary>span{flex-shrink:0;width:12px;height:12px;position:relative}
.feature-details summary>span:before,.feature-details summary>span:after{content:'';position:absolute;background:var(--green)}
.feature-details summary>span:before{width:12px;height:1px;top:6px}
.feature-details summary>span:after{width:1px;height:12px;left:6px}
.feature-details details[open] summary>span:after{display:none}
.feature-details details>div{padding-bottom:24px;max-width:640px}
.feature-details details p{margin-top:0;font-size:14px}
.feature-details details p+p{margin-top:15px}
.editorial-note{border-left:2px solid var(--green);padding:2px 0 2px 24px;margin-top:30px}
.editorial-note p{font-size:14px;margin-top:13px}
.detail-end{text-align:center;padding-block:8px 65px;border-bottom:1px solid var(--rule)}
.detail-end p{font-family:var(--serif);font-size:28px;letter-spacing:-.6px}
.detail-end .button{margin-top:23px}
@media(max-width:1150px){.project-reading{grid-template-columns:190px minmax(0,760px);gap:50px}.detail-intro{gap:40px}.detail-intro>p:first-child{font-size:16px}}
@media(max-width:800px){.steps li{grid-template-columns:35px 1fr}.detail-hero{padding-block:50px 42px}.detail-intro{display:grid;gap:25px}.project-reading{grid-template-columns:1fr;gap:42px;padding-top:37px}.reading-nav{position:static}.reading-nav nav{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:23px}.reading-nav nav a{gap:8px}.reading-section{margin-bottom:40px;padding-bottom:40px}.reading-section h2{font-size:33px}.detail-hero h1{font-size:59px}.model-story{grid-template-columns:1fr;gap:24px;padding-block:45px}.model-story h2{font-size:35px}.model-story p:not(.section-label){max-width:520px}.model-story figure{max-width:600px;justify-self:center;width:100%}}
@media(max-width:480px){.brand{font-size:23px;letter-spacing:-1.1px}.site-header nav{font-size:11px;gap:17px}.site-header{gap:15px}.site-footer .brand{font-size:23px}.steps li{grid-template-columns:23px 1fr}.detail-hero h1{font-size:46px}.detail-intro>p:first-child{font-size:15px}.detail-status{font-size:8px}.reading-nav nav{display:grid;grid-template-columns:1fr 1fr;gap:19px 10px}.reading-nav nav a span{font-size:12px}.reading-section h2{font-size:30px}.reading-section>p:not(.section-label){font-size:14px}.workflow-list li{gap:9px}.workflow-list p{font-size:13px}.feature-details summary{font-size:15px;line-height:1.5}.detail-end .button{font-size:12px;gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
