@font-face{font-family:Lekton;src:url(/_astro/Lekton-Regular.Bt_rP16g.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lekton;src:url(/_astro/Lekton-Bold.B_QN5kRH.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/_astro/SpaceMono-Regular.hDoEpnim.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/_astro/SpaceMono-Italic.CUgQezqh.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--olive: #4b5a46;--ink: #2e2e2e;--sand: #c9c3b6;--paper: #f7f6f2;--sage: #a7b0a1;--muted: color-mix(in srgb, var(--ink) 74%, var(--paper));--line: var(--sand);--display: "Lekton", ui-monospace, "Courier New", monospace;--text: "Space Mono", ui-monospace, "Courier New", monospace;--gutter: clamp(1.25rem, 4vw, 3rem);--header-h: 5.5rem;font-family:var(--text);color:var(--ink);background:var(--paper)}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{font-size:.95rem;line-height:1.75;min-height:100svh;display:flex;flex-direction:column}main{flex:1}body:not(.has-overlay) main{padding-top:var(--header-h)}img,video{display:block;max-width:100%}a{color:inherit}h1,h2,h3{font-family:var(--display);font-weight:400}::selection{background:var(--sage);color:var(--ink)}:focus-visible{outline:2px solid var(--olive);outline-offset:3px}.is-overlay:not(.is-solid) :focus-visible,.hero :focus-visible,.scroll-next:focus-visible,.site-footer :focus-visible,.tile--band:focus-visible{outline-color:var(--paper)}.muted{color:var(--muted)}.wrap{width:100%;max-width:1320px;margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:10}.skip:focus{left:0}.logo{display:inline-flex;align-items:center;gap:.9rem;--mark: var(--olive)}.logo-mark{height:2.3rem;width:auto;fill:var(--mark)}.logo-text{display:inline-flex;flex-direction:column;font-family:var(--display);text-transform:uppercase;line-height:1}.logo-name{font-size:1.4rem;letter-spacing:.32em}.logo-sub{font-size:.72rem;letter-spacing:.5em;margin-top:.45rem;text-align:justify;text-align-last:justify}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);display:flex;justify-content:flex-start;align-items:center;gap:1rem;padding-inline:var(--gutter);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);transition:background .3s,color .3s,border-color .3s}.site-header.is-overlay:not(.is-solid){background:transparent;border-color:transparent;color:var(--paper)}.site-header.is-overlay:not(.is-solid) .logo{--mark: var(--paper)}.site-header.is-overlay:before{content:"";position:absolute;inset:0 0 -1.5rem;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgb(46 46 46 / .5),transparent);transition:opacity .3s}.site-header.is-overlay.is-solid:before{opacity:0}.brand{text-decoration:none}.site-header nav{margin-left:auto;display:flex;gap:clamp(1.25rem,3vw,2.5rem);font-family:var(--display);font-size:1.1rem}.site-header nav a{text-decoration:none;padding-block:.25rem;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-color:currentColor}.lang{display:flex;gap:.6rem;margin-left:clamp(1.25rem,3vw,2.5rem);font-family:var(--display);font-size:1.05rem}.lang a,.lang span{text-decoration:none;padding-block:.25rem;border-bottom:1px solid transparent}.lang a{opacity:.7}.lang a:hover{opacity:1;border-color:currentColor}.lang [aria-current]{border-color:currentColor}.hero{position:relative;min-height:100svh;color:var(--paper);display:grid;align-items:end;background:var(--olive);overflow:hidden}.hero--project{min-height:82svh}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgb(46 46 46 / .6),transparent 55%),linear-gradient(to bottom,rgb(46 46 46 / .4),transparent 24%)}.hero-inner{position:relative;z-index:1;padding:0 var(--gutter) clamp(2rem,6vh,4.5rem)}.hero h1{font-size:clamp(2.2rem,6.2vw,5.5rem);line-height:1.08;letter-spacing:-.01em;max-width:16ch}.hero .lede{margin-top:1.25rem;max-width:46ch}.hero .btn{margin-top:2rem}.crumbs{font-family:var(--display);font-size:1.05rem;margin-bottom:1rem}.crumbs a{text-underline-offset:.2em}@media(prefers-reduced-motion:reduce){video.hero-media{display:none}}html.snap{scroll-snap-type:y mandatory}html.snap .snap-section{scroll-snap-align:start;scroll-snap-stop:always}html.snap .site-footer{scroll-snap-align:end}.snap-section{position:relative;display:grid}.scroll-next{position:absolute;z-index:2;left:50%;translate:-50% 0;bottom:clamp(1.25rem,4vh,2.5rem);width:3.25rem;height:3.25rem;display:none;place-items:center;background:none;border:0;color:var(--paper);cursor:pointer}.scroll-next svg{width:1.75rem;height:1.75rem;fill:none;stroke:currentColor;stroke-width:1.25;animation:nudge 2.4s ease-in-out infinite}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media(min-width:900px){.scroll-next{display:grid}}@media(prefers-reduced-motion:reduce){.scroll-next svg{animation:none}}.btn{display:inline-block;padding:.95rem 1.6rem;border:1px solid currentColor;text-decoration:none;background:transparent;color:inherit;font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.btn:hover{background:var(--olive);border-color:var(--olive);color:var(--paper)}.hero .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.tile{text-decoration:none}.tile-title,.tile-meta,.tile-text{display:block}.tile-title{font-family:var(--display)}.tile:hover .tile-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.tile--card{display:block}.tile--card .tile-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;background:var(--sage)}.tile--card .tile-title{font-size:1.5rem;margin-top:.9rem}.tile--card .tile-meta{color:var(--muted);font-size:.9rem}.tile--band{position:relative;display:block;min-height:100svh;color:var(--paper);overflow:hidden;background:var(--olive)}.tile--band .tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tile--band:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(46 46 46 / .55),transparent 50%)}.tile--band .tile-text{position:absolute;z-index:1;left:var(--gutter);right:var(--gutter);bottom:clamp(1.75rem,5vh,3.5rem)}.tile--band .tile-title{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.01em;line-height:1.08}.tile--band .tile-meta{margin-top:.5rem;font-size:.9rem;opacity:.9}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,26rem),1fr));gap:2.5rem 1.5rem}.page{padding-block:clamp(2rem,6vw,4rem) clamp(3rem,8vw,6rem)}.page-title{font-size:clamp(2.2rem,5vw,3.75rem);letter-spacing:-.01em;line-height:1.08;margin-bottom:clamp(2rem,5vw,3.5rem)}.prose p{max-width:58ch}.prose p+p{margin-top:1.1em}.private-note{color:var(--muted)}.list{list-style:none;padding:0;max-width:40rem;border-top:1px solid var(--line);margin-top:2rem}.list li{padding:.9rem 0;border-bottom:1px solid var(--line)}.intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,9vw,7rem)}.specs{align-self:start;border-top:1px solid var(--line)}.specs>div{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.specs dt{color:var(--muted);font-size:.85rem}.specs dd{font-size:.9rem}.blocks{display:grid;gap:clamp(1.5rem,4vw,3rem);padding-bottom:clamp(3rem,9vw,7rem)}.block-image img{width:100%;height:auto}.block-image:not(.wide),.block-video{width:100%;max-width:calc(1100px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.ratio{aspect-ratio:16 / 9;background:var(--ink)}.ratio video{display:block;width:100%;height:100%;object-fit:contain;background:var(--ink)}.block-video figcaption{margin-top:.75rem;color:var(--muted);font-size:.85rem}.block-text{width:100%;max-width:calc(58ch + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:2rem;padding-block:clamp(3rem,8vw,6rem);border-top:1px solid var(--line)}.cta h2,.related h2{font-size:clamp(1.7rem,3.6vw,2.75rem);letter-spacing:-.01em;line-height:1.15;max-width:20ch}.related{padding-bottom:clamp(3rem,8vw,6rem)}.related h2{margin-bottom:2rem}.form{display:grid;gap:1.5rem;max-width:34rem}.form label{display:grid;gap:.35rem;font-size:.9rem;color:var(--muted)}.form input,.form textarea{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:.6rem 0;border-radius:0;width:100%}.form textarea{min-height:8rem;resize:vertical}.form .trap{position:absolute;left:-999px}.form .btn{justify-self:start}.gate{max-width:34rem;margin-inline:auto;min-height:60svh;display:grid;align-content:center;justify-items:start;gap:1.25rem;padding:var(--gutter)}.gate h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}.gate form{display:grid;gap:1rem;width:100%}.gate .error{color:#8a3b2e;min-height:1.5em;font-size:.9rem}.site-footer{background:var(--ink);color:var(--paper);--muted: var(--sand);padding-block:3rem 2rem;margin-top:auto}.site-footer .logo{--mark: var(--sage)}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--sage)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem;align-items:start}.footer-links{display:grid;gap:.25rem;align-content:start}.legal{margin-top:2.5rem;font-size:.85rem}@media(max-width:800px){.intro{grid-template-columns:1fr}.specs>div{grid-template-columns:7rem 1fr}:root{--header-h: 4.75rem}.logo-name{font-size:1.2rem}.logo-mark{height:2rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-width:640px){:root{--header-h: 6.5rem}.site-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand lang" "nav nav";align-content:center;row-gap:.6rem}.site-header .brand{grid-area:brand}.site-header nav{grid-area:nav;margin-left:0;justify-content:space-between}.site-header .lang{grid-area:lang;margin-left:0}}
