@font-face{font-family:Inter;src:url('./fonts/Inter[opsz,wght].ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('./fonts/Manrope[wght].ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('./fonts/IBMPlexMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('./fonts/InstrumentSerif-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('./fonts/InstrumentSerif-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--font-sans:Inter,Arial,sans-serif;--font-display:Manrope,Arial,sans-serif;--font-mono:'IBM Plex Mono',monospace;--font-serif:'Instrument Serif',Georgia,serif;--page-pad:clamp(22px,5vw,80px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.05}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{max-width:100%}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:#bbffc3;color:#09251b}[hidden]{display:none!important}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:#fff;color:#111;z-index:1000;transform:translateY(-160%)}.skip-link:focus{transform:none}.logo{width:108px;height:auto;object-fit:contain;aspect-ratio:240/127}.logo--white{filter:brightness(0) invert(1)}.logo--black{filter:brightness(0)}.site-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--page-pad);z-index:20}.brand{display:inline-block;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:32px;font-size:13px}.nav-contact{display:flex;align-items:center;gap:20px}.menu-toggle{display:none;background:none;border:1px solid currentColor;padding:8px 12px;font-size:12px}.eyebrow{font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.project-link{display:block;width:100%;text-align:left;color:inherit;background:none;padding:0}.project-image{overflow:hidden}.project-image img{width:100%;height:auto;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-link:hover .project-image img{transform:scale(1.025)}.project-info{display:flex;align-items:center;gap:18px;padding:20px 0}.project-info h3{font-size:22px}.project-info p{font-size:12px;opacity:.75;margin-top:8px}.project-number{font-family:var(--font-mono);font-size:11px}.project-arrow{margin-left:auto;font-size:24px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px var(--page-pad)}.contact h2{font-size:clamp(40px,5vw,76px);letter-spacing:-.045em;margin:20px 0 25px}.contact-intro>p:last-child{max-width:32ch;line-height:1.65}.contact form{min-width:0}.contact label{display:block;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact input:not([type=checkbox]),.contact textarea{width:100%;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;resize:vertical;padding:14px 0;margin:4px 0 26px;border-radius:0;min-width:0}.contact input::placeholder,.contact textarea::placeholder{color:inherit;opacity:.5}.contact .consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:0 0 24px}.consent input{margin:3px 0 0;width:15px;height:15px;flex-shrink:0}.submit-button{background:transparent;color:inherit;border:1px solid currentColor;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:25px}.form-status{font-size:13px;min-height:3em;margin-top:18px;line-height:1.6}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px var(--page-pad);font-size:11px;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}body.preview-open{overflow:hidden}.project-dialog{color:#171819;background:#f9f8f4;border:0;border-radius:4px;padding:0;width:min(940px,calc(100% - 36px));max-height:90svh;overflow:auto;box-shadow:0 24px 100px #0008}.project-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.dialog-close{position:sticky;top:16px;float:right;z-index:2;margin:16px 16px -58px 0;padding:12px 18px;border-radius:30px;color:#fff;background:#171819;box-shadow:0 2px 10px #0002;font-size:12px}.dialog-content>img{width:100%;max-height:54svh;object-fit:contain;background:#e9ebee}.dialog-copy{padding:32px}.dialog-copy h2{font-size:clamp(30px,5vw,52px);margin:12px 0 20px}.dialog-copy>p{max-width:70ch;line-height:1.65}.dialog-copy ul{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none;margin:22px 0}.dialog-copy li{font-size:11px;padding:7px 12px;border:1px solid #ccc;border-radius:30px}.archive-note{font-size:11px;color:#666}.will-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.will-reveal.is-visible{opacity:1;transform:none}
@media(max-width:700px){html{scroll-padding-top:80px}.site-nav{padding:18px var(--page-pad)}.logo{width:90px}.menu-toggle{display:inline-flex;gap:18px}.nav-links{display:none;position:absolute;left:var(--page-pad);right:var(--page-pad);top:calc(100% - 4px);background:#f5f4ef;color:#171819;padding:24px;box-shadow:0 12px 30px #0002;border:1px solid #7773;flex-direction:column;align-items:flex-start;gap:26px}.nav-links.is-open{display:flex}.contact{grid-template-columns:1fr;gap:40px;padding:64px var(--page-pad)}.form-row{grid-template-columns:1fr;gap:0}.site-footer{flex-direction:column;align-items:flex-start;gap:14px;padding:24px var(--page-pad)}.project-info h3{font-size:20px}.dialog-copy{padding:24px}.project-dialog{max-height:92svh}.project-info{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.will-reveal{opacity:1;transform:none}}
