:root{font-family:Arial,Helvetica,sans-serif;font-synthesis:none;color:#111;background:#edf7f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:linear-gradient(160deg,#edf9ff 0%,#edf7f4 48%,#edf2d9 100%);min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{display:flex;align-items:center;gap:48px;padding:34px 4.2% 26px}.brand{font-size:21px;font-weight:800;letter-spacing:-.7px}nav{display:flex;align-items:center;gap:42px;font-size:18px}.contact-pill{font-size:12px;border:1px solid currentColor;padding:2px 6px;border-radius:5px}main{margin:0 4.2%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grid{--cover-height:clamp(140px,16vw,215px);display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:12px 10px;min-height:calc(100svh - 120px);padding-bottom:64px}.project-cover{display:flex;align-items:flex-start;gap:6px;border:0;padding:0;background:none;text-align:left;height:var(--cover-height);transition:opacity .2s,transform .25s}.project-cover img{height:100%;width:auto;aspect-ratio:var(--ratio);object-fit:cover;display:block;max-width:calc(100vw - 65px)}.project-cover:hover{transform:translateY(-3px)}.dots{display:flex;flex-direction:column;gap:3px;padding-top:1px}.dots i{width:7px;height:7px;display:block;border-radius:50%;background:var(--project-color)}a:focus-visible,button:focus-visible,.rail:focus-visible{outline:2px solid #111;outline-offset:4px}.mission-section,.about-section,.contact-section{border-top:1px solid #aab5ad;display:grid;grid-template-columns:1fr 2fr;gap:36px;padding:60px 0}.section-label{font-size:14px;padding-top:8px}section h2{font-size:clamp(30px,4vw,56px);font-weight:400;letter-spacing:-1.5px;line-height:1.1;margin:0 0 28px}section p{max-width:680px;font-size:18px;line-height:1.65;margin:0 0 16px}.email-link{display:inline-block;font-size:clamp(20px,3vw,34px);border-bottom:1px solid;margin:18px 0;padding-bottom:6px;overflow-wrap:anywhere}.contact-location{font-size:14px;color:#555}footer{margin:0 4.2%;padding:28px 0;display:flex;justify-content:space-between;gap:24px;font-size:12px}footer a{text-decoration:underline}dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#111;background:var(--project-color);overflow-y:auto;overflow-x:hidden}dialog::backdrop{background:#1116}.dialog-header{background:#ffffff36;gap:48px;position:relative}.dialog-header nav{opacity:.65}.close{margin-left:auto;border:1px solid #111;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:29px;line-height:1;background:none;padding:0;flex-shrink:0}.project-stage{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:20px 0 28px 4.2%}.project-text h2{font-size:18px;line-height:1.25;margin:0 0 12px;overflow-wrap:anywhere}.project-text p{font-size:16px;line-height:1.45;margin:0 0 14px}.project-description{max-width:170px}.gallery-area{min-width:0}.rail{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;align-items:flex-start;scrollbar-width:thin;scrollbar-color:#35302455 transparent;padding:0 0 15px;overscroll-behavior-x:contain}.rail img{height:clamp(320px,calc(100dvh - 190px),780px);width:auto;flex:0 0 auto;object-fit:contain;display:block}.gallery-controls{display:flex;gap:10px;justify-content:flex-end;padding:8px 4.2vw 0 0}.gallery-controls button{border:1px solid #1118;background:none;border-radius:50%;height:36px;width:36px;font-size:21px}.gallery-controls button:disabled{opacity:.25;cursor:default}dialog[open] .project-stage{animation:enter .35s ease both}@keyframes enter{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}@media(max-width:700px){header{gap:24px;padding-top:25px}nav{gap:22px;font-size:16px}.grid{--cover-height:145px;gap:12px 8px}.dots i{width:5px;height:5px}.dots{gap:3px}.mission-section,.about-section,.contact-section{grid-template-columns:1fr;gap:24px;padding:40px 0}section p{font-size:16px}.dialog-header{gap:20px;flex-wrap:wrap;padding-right:54px}.dialog-header nav{gap:18px}.close{position:absolute;right:4.2%;top:26px}.project-stage{grid-template-columns:1fr;gap:18px;padding-top:20px}.project-text{padding-right:4.2vw}.project-text h2{margin-bottom:6px}.project-text p{display:inline;margin-right:12px;font-size:14px}.project-text br{display:none}.rail img{height:clamp(280px,calc(100dvh - 230px),600px)}footer{flex-direction:column}.project-description{max-width:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
header,.dialog-header{gap:clamp(48px,7vw,110px)}nav,.dialog-header nav{gap:clamp(40px,6vw,92px)}.project-stage{display:flex;flex-direction:column;gap:20px;padding:20px 0 28px 4.2%}.gallery-area{width:100%}.project-text{padding-right:4.2vw;display:grid;grid-template-columns:minmax(180px,1fr) 1fr 1fr;gap:24px;align-items:start}.project-text h2,.project-text p{margin:0}.project-description{max-width:none}.rail img{height:var(--gallery-height,55dvh);user-select:none;-webkit-user-drag:none}.rail{cursor:grab;user-select:none}.rail.dragging{cursor:grabbing;scroll-behavior:auto}.gallery-controls{padding-top:6px}dialog[open] .project-stage{animation:none}@media(max-width:700px){header,.dialog-header{gap:30px}nav,.dialog-header nav{gap:30px}.project-text{display:flex;flex-wrap:wrap;gap:10px 24px}.project-text h2{flex:1 0 100%}.project-text p{display:block}.project-stage{gap:18px}.rail img{height:var(--gallery-height,48dvh)}}

@media(max-width:700px){header{flex-wrap:wrap}}
.brand img{display:block;width:110px;height:auto}.grid{position:relative;display:block;min-height:0;padding:0;margin-top:60px;margin-bottom:100px}.project-cover{position:absolute;left:0;top:0;margin:0;transition:opacity .2s}.project-cover img{height:100%;width:calc(100% - 13px);max-width:none;aspect-ratio:auto;object-fit:contain}.project-cover:hover{opacity:.84}.dots{width:7px;flex-shrink:0}body{padding-bottom:78px}@media(max-width:700px){.grid{margin-top:40px;margin-bottom:70px}.brand img{width:95px}.dots i{width:7px;height:7px}}@media(max-width:380px){body{padding-bottom:120px}}

.project-stage{padding-top:48px}@media(max-width:700px){.project-stage{padding-top:32px}}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-400.ttf') format('truetype')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-500.ttf') format('truetype')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/dm-sans-600.ttf') format('truetype')}header nav{margin-left:auto;justify-content:flex-end}.dialog-header nav{margin-left:auto}.dialog-header .brand img{filter:invert(1)}.dialog-header .close{margin-left:0}.close,.gallery-controls button,.legal-toggle{border:1px solid currentColor;border-radius:50%;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:none;color:#111;flex-shrink:0;padding:0}.close svg,.gallery-controls svg,.legal-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.section-label{font-family:'DM Sans',Arial,sans-serif;font-size:22px;font-weight:500;line-height:1.3;padding-top:3px}section h2{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.25;letter-spacing:-.5px}.legal-section{border-top:1px solid #aab5ad;padding:28px 0}.legal-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:'DM Sans',Arial,sans-serif;font-size:22px;font-weight:500}.legal-section summary::-webkit-details-marker{display:none}.legal-toggle{transition:transform .25s}.legal-section details[open] .legal-toggle{transform:rotate(45deg)}.legal-content{padding:30px 0 0;margin-left:calc((100% - 36px)/3 + 36px)}.legal-content p{font-size:16px}.legal-content a{text-decoration:underline;text-underline-offset:4px}.instagram-button{align-self:flex-start;display:inline-block;background:#111;color:#fff;border-radius:6px;padding:5px 9px;font-size:13px;font-weight:600;text-decoration:none!important}summary:focus-visible{outline:2px solid #111;outline-offset:5px}@media(max-width:700px){header nav,.dialog-header nav{margin-left:auto;gap:24px}.section-label,.legal-section summary{font-size:20px}section h2{font-size:23px}.legal-content{margin-left:0}.dialog-header .close{position:absolute;right:4.2%;top:22px}} 
body>header,.dialog-header{display:grid;grid-template-columns:1fr 2fr;gap:0;align-items:center}header nav,.dialog-header nav{margin:0;justify-content:flex-start;gap:clamp(28px,4vw,64px)}.dialog-header{padding-right:4.2%;position:relative}.dialog-header nav{padding-right:48px}.dialog-header .close{position:absolute;right:4.2%;top:50%;transform:translateY(-50%)}.mission-section,.about-section,.contact-section,.legal-section{display:grid;grid-template-columns:1fr 2fr;gap:0}.section-label,section h2,.legal-section summary{font-family:'DM Sans',Arial,sans-serif;font-size:24px;line-height:1.3;letter-spacing:-.3px;padding-top:0}.section-label{font-weight:400}section h2,.legal-section summary{font-weight:700}.legal-section details{min-width:0}.legal-section summary{min-height:36px}.legal-section .section-label{padding-top:2px}.legal-content{margin-left:0;padding-top:24px}.grid{margin-top:60px;margin-bottom:80px}.project-cover{gap:6px}.project-cover img{object-fit:contain}section p{max-width:none}.legal-section{padding:28px 0}.contact-pill{font-size:inherit;border:0;padding:0}.contact-section h2{font-size:24px}@media(max-width:700px){body>header,.dialog-header{grid-template-columns:1fr 2fr;gap:0}header nav,.dialog-header nav{gap:14px;flex-wrap:wrap;font-size:14px}.brand img{width:80px}.dialog-header nav{padding-right:35px}.mission-section,.about-section,.contact-section,.legal-section{grid-template-columns:1fr 2fr;gap:0}.section-label,section h2,.legal-section summary,.contact-section h2{font-size:20px}.section-label{padding-right:12px}.grid{margin-top:42px}.email-link{font-size:18px}.legal-content p{font-size:14px}.legal-section summary{gap:12px}}@media(max-width:400px){.section-label,section h2,.legal-section summary,.contact-section h2{font-size:18px}.legal-toggle{width:30px;height:30px}.brand img{width:70px}}
