@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--paper:#f7f5f0;--ink:#18232d;--teal:#176b68;--copper:#a65335;--line:#d9d6ce;--muted:#56616a;--serif:Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}a:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:6px}::selection{background:#d6e8e3}.wrap{width:min(1180px,100% - 96px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:31px 0;display:flex}.wordmark{font-family:"Manrope",var(--sans);letter-spacing:-.8px;font-size:21px;font-weight:700}.wordmark span{font-family:var(--sans);letter-spacing:2.1px;margin-top:1px;font-size:10px;font-weight:500;display:block}.site-header nav{gap:32px;font-size:14px;display:flex}.site-header nav a[aria-current]{color:var(--teal);border-bottom:1px solid var(--teal)}.skip{background:var(--ink);color:#fff;z-index:10;padding:10px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--teal);align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;width:24px;height:1px}.hero{grid-template-columns:1fr 255px;align-items:end;gap:70px;padding:79px 0 64px;display:grid}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);letter-spacing:-3.2px;max-width:850px;margin:23px 0 28px;font-size:clamp(48px,6.2vw,80px);font-weight:400;line-height:1.06}h1 em,h2 em{color:var(--teal);font-weight:400}.intro{color:var(--muted);max-width:660px;font-size:19px;line-height:1.75}.actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:33px;display:flex}.button{background:var(--teal);color:#fff;align-items:center;gap:29px;padding:12px 21px;font-size:14px;display:inline-flex}.button:hover{background:var(--ink);color:#fff}.text-link{border-bottom:1px solid var(--line);padding:7px 0;font-size:14px}.hero-note{border-top:2px solid var(--ink);margin-bottom:9px;padding-top:19px}.small-label{text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);font-size:11px}.hero-note p{margin:12px 0 22px;font-size:15px}.location{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.dot{background:var(--teal);border-radius:50%;width:6px;height:6px;display:inline-block}.stack{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:35px;padding:18px 0;font-size:14px;display:flex}.stack .small-label{margin-right:auto}.section{padding:76px 0}.section-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px;display:flex}h2{font-family:var(--serif);letter-spacing:-1.2px;margin:12px 0 0;font-size:clamp(32px,4vw,45px);font-weight:400;line-height:1.15}h3{letter-spacing:-.5px;font-size:23px;font-weight:500;line-height:1.3}.feature{background:#ecefe8;border:1px solid #d8dfd6;grid-template-columns:1fr 1fr;display:grid}.feature-copy{padding:44px}.project-number{font-family:var(--serif);color:var(--copper);margin-bottom:30px;font-size:20px}.feature h3{font-family:var(--serif);font-size:39px;font-weight:400}.feature p{color:var(--muted);font-size:16px}.tags{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.tags span{border:1px solid #c6d0c7;padding:3px 9px;font-size:12px}.architecture{background:var(--ink);color:#f7f5f0;flex-direction:column;justify-content:center;padding:35px;display:flex}.architecture .small-label{color:#bbc8c9;margin-bottom:30px}.diagram-box{text-align:center;border:1px solid #68777c;padding:17px 12px;font-size:16px}.diagram-box small{color:#b9c8c9;margin-top:4px;font-size:12px;display:block}.connector{background:#778c8c;width:1px;height:26px;margin:0 auto}.diagram-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.diagram-grid .diagram-box{padding:14px 6px;font-size:13px}.diagram-caption{color:#b9c8c9;font-size:11px;margin:24px 0 0!important}.work-row{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr 1fr 25px;align-items:start;gap:24px;padding:31px 0;display:grid}.work-row .project-number{margin:0}.work-row h3{margin:0 0 8px}.work-row p{color:var(--muted);margin:0;font-size:15px}.work-row:hover h3{color:var(--teal)}.work-row .small-label{font-size:10px}.principles{background:var(--ink);color:var(--paper);padding:66px 0}.principles .wrap{grid-template-columns:1fr 1.25fr;gap:90px;display:grid}.principles .eyebrow{color:#9cc7bc}.principles h2{font-size:42px}.principle{border-bottom:1px solid #465057;grid-template-columns:30px 1fr;gap:15px;padding:19px 0;display:grid}.principle:first-child{padding-top:0}.principle span{font-family:var(--serif);color:#a9c6bf}.principle h3{margin:0 0 5px;font-size:18px}.principle p{color:#bfc6c9;margin:0;font-size:15px}.contact-strip{justify-content:space-between;align-items:center;gap:40px;display:flex}.contact-strip p{color:var(--muted);max-width:610px;margin-top:20px}.site-footer{border-top:1px solid var(--line);justify-content:space-between;gap:30px;padding:35px 0 30px;display:flex}.footer-name{font-size:23px;font-family:var(--serif)}.copper{color:var(--copper)}.site-footer p,.footer-links{color:var(--muted);font-size:12px}.footer-links{flex-wrap:wrap;align-content:start;gap:20px;padding-top:8px;display:flex}.footer-links span{text-align:right;flex-basis:100%}.page-header{max-width:900px;padding:65px 0 45px}.page-header h1{font-size:64px}.prose{max-width:760px}.prose p{color:var(--muted)}.prose h2{margin:44px 0 23px;font-size:34px}.prose h3{margin-top:30px}.content-grid{grid-template-columns:240px 1fr;gap:80px;padding-bottom:80px;display:grid}.sidebar{border-top:1px solid var(--line);padding-top:20px;font-size:14px}.sidebar dl{margin:0}.sidebar dt{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:20px;font-size:11px}.sidebar dd{margin:5px 0 25px}.timeline{border-top:1px solid var(--line)}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr;gap:70px;padding:35px 0;display:grid}.timeline h3{margin-bottom:15px}.timeline p,.timeline li{color:var(--muted);font-size:16px}.timeline ul{padding-left:20px}.timeline .company{color:var(--ink);margin-bottom:5px;font-size:21px}.timeline time{color:var(--muted);font-size:13px}.inline-link{color:var(--teal);text-underline-offset:4px;text-decoration:underline}.contact-email{font-size:clamp(20px,3.4vw,42px);font-family:var(--serif);color:var(--teal);overflow-wrap:anywhere}.note{border-left:2px solid var(--copper);padding-left:22px}.reading-width{max-width:780px;padding-bottom:65px}table{border-collapse:collapse;width:100%;margin:25px 0;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 12px 13px 0}th{color:var(--teal)}@media (width<=850px){.wrap{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;gap:35px;padding-top:48px}.hero-note{max-width:420px}.hero h1{max-width:660px}.feature{grid-template-columns:1fr}.principles .wrap{grid-template-columns:1fr;gap:35px}.content-grid{grid-template-columns:1fr;gap:25px}.sidebar{display:none}.timeline article{grid-template-columns:180px 1fr;gap:25px}.work-row{grid-template-columns:35px 1fr 20px}.work-row>p{grid-area:2/2}.work-row>span:last-child{grid-area:1/3}.stack{gap:20px}.stack .small-label{flex-basis:100%}.contact-strip{flex-direction:column;align-items:start}.page-header h1{font-size:50px}}@media (width<=520px){.site-header{flex-direction:column;align-items:start;gap:23px;padding:25px 0}.site-header nav{justify-content:space-between;gap:15px;width:100%}.hero h1{letter-spacing:-2px;font-size:49px}.hero .intro{font-size:17px}.feature-copy{padding:27px}.architecture{padding:26px 20px}.section{padding:50px 0}.section-heading{flex-direction:column;align-items:start}.timeline article{grid-template-columns:1fr;gap:14px}.site-footer{flex-direction:column}.footer-links span{text-align:left}.page-header h1{letter-spacing:-2px;font-size:43px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.secondary-actions{gap:22px;margin-top:16px}.feature h2{font-family:var(--serif);letter-spacing:-.5px;margin:0 0 20px;font-size:39px;font-weight:400;line-height:1.3}.work-row h2{font-family:var(--sans);letter-spacing:-.5px;margin:0 0 8px;font-size:23px;font-weight:500;line-height:1.3}.work-row:hover h2{color:var(--teal)}.timeline h2{font-family:var(--sans);letter-spacing:-.5px;margin:0 0 15px;font-size:23px;font-weight:500;line-height:1.3}.prose .first-heading{margin-top:0}.prose li{margin-bottom:12px}.prose .architecture{margin:26px 0}.prose .architecture .diagram-caption,.feature .architecture .diagram-caption{color:#b9c8c9}.decisions dt{margin-top:24px;font-weight:600}.decisions dd{color:var(--muted);margin:8px 0 0}.hero>*,.feature>*,.work-row>*,.content-grid>*,.timeline article>*{min-width:0}.prose a{overflow-wrap:anywhere}.footer-links{max-width:510px;font-size:14px}.footer-links>span{font-size:12px}.footer-links a{padding-block:5px}.text-link{display:inline-block}.site-header nav a{padding-block:7px}main:focus{outline:none}.button{white-space:normal;max-width:100%}.page-header h1{overflow-wrap:break-word}.prose table{table-layout:fixed}.prose td,.prose th{overflow-wrap:anywhere}.prose td:first-child,.prose th:first-child{width:35%}@media (width<=850px){.sidebar{display:block}.sidebar dl{flex-wrap:wrap;gap:0 28px;display:flex}.sidebar dt,.sidebar dd{flex-basis:100%;margin-block:0 8px}.sidebar dd{margin-bottom:16px}.content-grid{gap:25px}}@media (width<=360px){.hero h1{font-size:43px}.page-header h1{font-size:38px}.feature h2,.feature h3{font-size:34px}.actions{gap:16px}.work-row{grid-template-columns:26px minmax(0,1fr) 16px;gap:12px}}
