@font-face{font-family:Instrument;src:url('assets/instrument-sans.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{font-family:Instrument,Arial,sans-serif;color:#000;background:#fff;font-synthesis:none;font-weight:450;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}::selection{background:#000;color:#fff}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid #000;outline-offset:7px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}header,main,footer{max-width:1440px;margin:auto;padding-inline:64px}header{height:124px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:38px;font-weight:700;letter-spacing:-.04em}.dot{display:inline-block;transition:transform .25s var(--ease)}.wordmark:hover .dot{transform:translateY(-6px)}nav{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:550}nav a,footer a,.jump,.text-link{display:inline-flex;align-items:center;gap:10px}nav a{padding-block:8px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.skip{position:absolute;top:-100px;left:20px;background:#000;color:white;padding:16px;z-index:10}.skip:focus{top:15px}.intro{padding-top:62px;padding-bottom:95px}h1{font-size:clamp(31px,3.55vw,51px);line-height:1.19;letter-spacing:-.035em;font-weight:550;margin:0;max-width:1120px}h1 span{display:block}h1 span:last-child{margin-top:18px}.intro-footer{display:flex;justify-content:space-between;align-items:center;margin-top:44px;font-size:15px}.jump svg{transition:transform .25s var(--ease)}.jump:hover svg{transform:translateY(4px)}h2{margin:0;font-size:30px;letter-spacing:-.03em;font-weight:550;line-height:1.12}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:30px}.section-heading p{margin:0;font-size:15px}.project-list{border-top:1px solid #000}details{border-bottom:1px solid #000}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 240px 48px;align-items:center;gap:24px;padding:27px 0;min-height:100px}summary::-webkit-details-marker{display:none}.project-title{font-size:clamp(23px,2.5vw,34px);font-weight:500;letter-spacing:-.03em;transition:transform .3s var(--ease)}summary:hover .project-title{transform:translateX(7px)}.category{font-size:14px}.expand{width:48px;height:32px;border-radius:30px;background:#f0f0f0;display:flex;align-items:center;justify-content:center;gap:4px;transition:background .2s,color .2s}.expand i{display:block;width:7px;height:7px;position:relative}.expand i:before,.expand i:after{content:'';position:absolute;display:block;background:currentColor;transition:transform .25s var(--ease)}.expand i:before{width:7px;height:1px;top:3px}.expand i:after{height:7px;width:1px;left:3px}summary:hover .expand,details[open] .expand{background:#000;color:#fff}details[open] .expand i:after{transform:rotate(90deg)}.detail-inner{max-width:680px;padding:0 0 32px;font-size:18px;line-height:1.55}.detail-inner p{margin:0 0 20px}.note{font-size:13px;color:#555}.text-link{font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.text-link svg{width:15px;height:15px}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding-block:115px}.about p{font-size:18px;line-height:1.6;margin:22px 0 0;max-width:620px}.about .about-lead{font-size:30px;line-height:1.3;letter-spacing:-.025em;margin:0}.contact{border-top:1px solid #000;padding-block:65px 90px;display:flex;align-items:end;justify-content:space-between;gap:32px}.contact h2{font-size:clamp(36px,4.2vw,60px);letter-spacing:-.035em}.contact p{font-size:14px;margin:0 0 13px}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:14px 18px;background:black;color:white;border:1px solid black;font-size:17px;border-radius:3px;transition:background .25s,color .25s}.contact-link:hover{color:black;background:white}.contact-link svg{transition:transform .25s var(--ease)}.contact-link:hover svg{transform:translate(2px,-2px)}footer{display:flex;justify-content:space-between;padding-bottom:30px;font-size:13px}footer svg{width:15px;height:15px}
@media(min-width:1500px){.intro{padding-top:80px}}@media(max-width:900px){header,main,footer{padding-inline:32px}header{height:100px}.intro{padding-top:42px;padding-bottom:72px}h1{font-size:36px;max-width:730px}.category{font-size:12px}summary{grid-template-columns:1fr 165px 48px;gap:12px}.about{gap:40px;padding-block:80px}.about .about-lead{font-size:26px}}
@media(max-width:600px){header,main,footer{padding-inline:22px}header{height:92px}.wordmark{font-size:32px}nav{gap:18px;font-size:13px}nav a:last-child svg{display:none}.intro{padding-top:34px;padding-bottom:66px}h1{font-size:31px;line-height:1.23;letter-spacing:-.035em}h1 span+span{margin-top:5px}h1 span:last-child{margin-top:20px}.intro-footer{font-size:12px;margin-top:32px}.section-heading{display:block;margin-bottom:24px}.section-heading p{margin-top:10px;font-size:13px}h2{font-size:27px}summary{grid-template-columns:1fr 42px;gap:8px;padding-block:22px;min-height:98px}.project-title{font-size:25px}.category{grid-column:1;grid-row:2}.expand{grid-column:2;grid-row:1 / span 2;width:42px}.detail-inner{font-size:16px;padding-bottom:26px}.about{display:block;padding-block:65px}.about>div{margin-top:25px}.about .about-lead{font-size:25px}.about p{font-size:16px}.contact{display:block;padding-block:45px 60px}.contact h2{font-size:38px}.contact>div{margin-top:32px;max-width:220px}footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@supports (interpolate-size:allow-keywords){
  details{interpolate-size:allow-keywords}
  details::details-content{height:0;overflow:clip;transition:height .26s var(--ease),content-visibility .26s;transition-behavior:allow-discrete}
  details[open]::details-content{height:auto}
}
