:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#050505;font-weight:300;font-size:14px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth;scroll-snap-type:y proximity}body{background:#fff;text-transform:lowercase}.site-scroll{min-height:100svh}.section{height:100svh;scroll-snap-align:start}.hero{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,4vw,48px);border:8px solid #050505;overflow:hidden}.eyebrow,.intro,a,.project-label,.project-description{margin:0;font-size:clamp(11px,1vw,14px);font-weight:300;line-height:1.45;letter-spacing:.02em}.eyebrow{letter-spacing:.22em}.hero-mark{display:grid;gap:clamp(18px,3vw,36px)}h1{margin:0;max-width:10ch;font-size:clamp(72px,15vw,220px);line-height:.82;letter-spacing:-.09em;font-weight:900}.intro{max-width:43rem;transform:translate(5px,10px)}.hero-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.28em}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #050505;overflow:clip}.project-column{display:flex;flex-direction:column;border-inline-end:1px solid #050505;overflow:hidden}.project-column:last-child{border-inline-end:0}.project-head{flex:0 0 auto;display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px);padding:clamp(20px,4vw,56px)}.project-squares{flex:1;min-height:0;margin-top:clamp(16px,3vh,44px);display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px);overflow-y:auto}.project-square{position:relative;flex:0 0 auto;width:100%;aspect-ratio:1 / 1;margin:0;overflow:hidden}.project-square img{width:100%;height:100%;object-fit:cover;display:block}.project-square-label{position:absolute;top:clamp(10px,1.5vw,18px);left:50%;transform:translate(-50%);margin:0;padding:6px 12px;background:#050505;color:#fff;border-radius:0;text-transform:none;white-space:nowrap;font-size:clamp(11px,1vw,13px);letter-spacing:.02em;line-height:1.3}.project-label{text-transform:capitalize;font-size:clamp(26px,3.4vw,48px);line-height:.9;letter-spacing:-.05em;font-weight:200}.project-description{max-width:24rem;color:#303030}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.project-column{animation:card-fly-in linear both;animation-timeline:view();will-change:transform,opacity}.project-column:nth-child(1){--fly-x: -60px;--fly-y: 360px;animation-range:entry 0% entry 96%}.project-column:nth-child(2){--fly-x: 0px;--fly-y: 440px;animation-range:entry 6% entry 100%}.project-column:nth-child(3){--fly-x: 60px;--fly-y: 360px;animation-range:entry 12% entry 100%}@keyframes card-fly-in{0%{opacity:0;transform:translate3d(var(--fly-x, 0),var(--fly-y, 380px),0) scale(.9)}22%{opacity:1}72%{transform:translate3d(calc(var(--fly-x, 0) * .16),46px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}.hero-mark{animation:hero-lift linear both;animation-timeline:view();animation-range:exit 0% exit 100%;transform-origin:50% 0%;will-change:transform,opacity}@keyframes hero-lift{to{opacity:.45;transform:translateY(-72px) scale(.95)}}}}@media(max-width:760px){html,body{scroll-snap-type:y proximity}.hero{border-width:6px}h1{letter-spacing:-.07em}.project-grid{grid-template-columns:1fr;height:auto;min-height:100svh}.project-column{border-inline-end:0;border-block-end:1px solid #050505}.project-column:last-child{border-block-end:0}.project-squares{flex-direction:row;overflow-x:auto;overflow-y:hidden}.project-square{width:auto;height:clamp(150px,30svh,260px)}}@media(max-height:650px){.hero{padding-block:18px}.hero-mark{gap:20px}h1{font-size:clamp(72px,min(15vw,29svh),220px)}}@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto;scroll-snap-type:y proximity}.section{scroll-snap-stop:normal}}[hidden]{display:none!important}.contact{display:flex;flex:1;align-items:flex-end;gap:clamp(16px,5vw,64px);min-width:0;text-transform:none}.contact-lead{display:flex;align-items:center;gap:12px;white-space:nowrap}.contact-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:none;color:#050505;cursor:pointer;line-height:0;transition:transform .12s ease}.contact-toggle:hover{transform:translateY(-1px)}.contact-toggle svg{width:100%;height:100%;display:block}.contact:not([data-state=collapsed]) .contact-toggle{display:none}.contact-fields{flex:1;display:flex;flex-direction:column;gap:16px;width:100%;max-width:620px;margin-inline:auto;min-width:0}.contact-field{display:grid;gap:8px}.contact-label{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#050505}.contact-fields:not(.is-two) .contact-label{display:none}.contact-input-wrap{display:flex;align-items:center;gap:10px;border:1px solid #cccccc;border-radius:999px;padding:12px 20px;transition:border-color .14s ease}.contact-input-wrap input{flex:1;min-width:0;padding:0;border:0;background:none;font:inherit;color:#050505;text-transform:none}.contact-input-wrap input:focus{outline:none}.contact-input-wrap input::placeholder{color:#9a9a9a}.contact-field--message.is-active .contact-input-wrap{border-color:#050505}.contact-send,.contact-confirm{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;padding:0;border:0;background:none;color:#b3b3b3;cursor:pointer;line-height:0;transition:color .14s ease}.contact-send svg,.contact-confirm svg{width:100%;height:100%;display:block}.contact-field--message.is-active .contact-send{color:#050505}.contact-success{margin:0;display:inline-flex;align-items:center;gap:8px;color:#6cbf3a;white-space:nowrap}.contact-success[hidden]{display:none}.contact-success.is-error{color:#d23b3b}.contact-success-mark{width:18px;height:18px;flex:none}.hero-link-projects{align-self:flex-end;white-space:nowrap}@media(max-width:760px){.contact{flex-direction:column;align-items:stretch;gap:16px}.contact-fields{margin-inline:0;max-width:none}}.about{height:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(28px,5vh,72px);padding:clamp(18px,4vw,48px)}.about-statement{margin:0;max-width:16ch;font-size:clamp(34px,6vw,104px);line-height:.9;letter-spacing:-.06em;font-weight:200}.about-text{margin:clamp(16px,2vw,24px) 0 0;max-width:46rem;color:#303030;font-size:clamp(13px,1.05vw,16px);font-weight:300;line-height:1.5}.detail-list{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid #050505}.detail{display:flex;flex-direction:column;gap:8px;padding:clamp(16px,2vw,28px) clamp(20px,2vw,32px) 0 0;border-inline-end:1px solid #050505}.detail:last-child{border-inline-end:0}.detail-term{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#8a8a8a}.detail-value{margin:0;font-size:clamp(13px,1.05vw,16px);font-weight:300}.detail-value[data-placeholder],.detail-value [data-placeholder]{color:#b3b3b3}@media(max-width:760px){.detail-list{grid-template-columns:1fr}.detail{padding:clamp(14px,4vw,20px) 0 0;border-inline-end:0;border-block-end:1px solid #050505}.detail:last-child{border-block-end:0}}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.about-statement,.detail-list{animation:about-rise linear both;animation-timeline:view();will-change:transform,opacity}.about-statement{animation-range:entry 8% entry 64%}.detail-list{animation-range:entry 24% entry 88%}@keyframes about-rise{0%{opacity:0;transform:translateY(44px)}to{opacity:1;transform:translateY(0)}}}}.detail-value--map{display:flex;flex-direction:column;gap:8px}.map{display:block;width:100%;max-width:170px;height:auto;background:#fff;border:1px solid #050505}.map-water{fill:#d6d6d6}.map-land{fill:#fff;stroke:#050505;stroke-width:.6;stroke-linejoin:round}.map-ring{fill:none;stroke:#050505;stroke-width:1.4}.map-dot{fill:#050505}.map-ping{fill:none;stroke:#050505;stroke-width:1.2;opacity:0}.map-caption{font-size:11px;color:#303030}@media(prefers-reduced-motion:no-preference){.map-ping{animation:map-ping 2.6s ease-out infinite}@keyframes map-ping{0%{r:4;opacity:.55}to{r:16;opacity:0}}}
