@font-face{font-family:MacedoSans;src:url('/fonts/lato-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:MacedoSans;src:url('/fonts/lato-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:MacedoSans;src:url('/fonts/lato-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#f0f2ee;--deep:#d6dbd3;--leaf:#687363;--ink:#303a2d;--muted:#586154;--white:#fbfcfa;--line:rgba(48,58,45,.18)}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:MacedoSans,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}
body::selection{background:var(--leaf);color:var(--white)}
a:focus-visible{outline:3px solid rgba(64,88,60,.32);outline-offset:5px}
.hub-shell{min-height:100svh;display:grid;grid-template-columns:minmax(360px,40vw) 1fr}
.hub-image{position:relative;min-height:100svh;padding:48px clamp(30px,4vw,68px);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(30,38,34,.08),rgba(25,34,29,.78)),url('/assets/hero-concreto.jpg') center/cover no-repeat;color:#fff}
.hub-image img{width:min(260px,62%);height:auto;filter:brightness(0) invert(1)}
.hub-image p{max-width:15ch;margin:0;font-size:clamp(2rem,3.5vw,4.4rem);font-weight:300;line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
.hub-content{min-width:0;display:flex;flex-direction:column;padding:0 clamp(30px,7vw,104px) 44px}
.hub-content>header{min-height:112px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.hub-content>header img{width:min(240px,46vw);height:auto}
.hub-intro{padding:clamp(48px,8vh,92px) 0 46px}
h1{max-width:13ch;margin:0;font-size:clamp(3rem,5.4vw,6.4rem);font-weight:300;line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.hub-intro p{max-width:61ch;margin:27px 0 0;color:var(--muted);font-size:1.08rem;line-height:1.6}
.project-list{border-top:1px solid var(--line)}
.project-list a{display:grid;grid-template-columns:42px 1fr 34px;gap:18px;align-items:center;min-height:116px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:background-color .18s ease,padding .18s ease}
.project-list a:hover{padding-inline:18px;background:rgba(214,219,211,.42)}
.project-number{align-self:start;padding-top:34px;color:var(--ink);font-size:.75rem;font-variant-numeric:tabular-nums}
.project-copy{display:grid;gap:7px}
.project-copy strong{font-size:clamp(1.35rem,2vw,2rem);font-weight:400;letter-spacing:-.02em}
.project-copy small{max-width:58ch;color:var(--muted);font-size:.9rem;line-height:1.45}
.project-arrow{font-size:1.75rem;font-weight:300;text-align:right}
.hub-note{margin:auto 0 0;padding-top:34px;color:var(--muted);font-size:.82rem}
@media(max-width:760px){.hub-shell{display:block}.hub-image{min-height:230px;padding:24px 22px}.hub-image img{width:190px}.hub-image p{font-size:1.8rem}.hub-content{padding:0 22px 34px}.hub-content>header{display:none}.hub-intro{padding:46px 0 36px}h1{font-size:clamp(2.8rem,13vw,4.4rem)}.hub-intro p{font-size:1rem}.project-list a{grid-template-columns:34px 1fr 24px;gap:10px;min-height:126px}.project-list a:hover{padding-inline:8px}.project-number{padding-top:35px}.project-copy strong{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
