*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0a0a09;--white:#fff;--warm:#f5f2ec;--pine:#2a4028;--tangerine:#ef4c23;--tangerine-deep:#d2410f;--maroon:#6e1512;--maroon-deep:#430c0a;--gray-200:#e0ddd7;--gray-300:#cfcbc4;--gray-400:#a8a49e;--gray-600:#55524d;--font:'DM Sans' , system-ui , sans-serif;--mono:'DM Mono' , monospace}html{scroll-behavior:smooth}body{font-family: var(--font);background:var(--warm);color:var(--black);overflow-x:hidden}img{display:block}:where(img[width][height]) {width:auto;height:auto}a{color:inherit}.topbar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;transition:background .3s , backdrop-filter .3s}.topbar.on-dark{color:#fff}.topbar.on-light{color:var(--black)}.topbar.scrolled{background:rgba(245,242,236,.92);backdrop-filter:blur(12px);color:var(--black)}.topbar.scrolled.dark-page{background:rgba(10,10,9,.92);color:#fff}.topbar-left{display:flex;align-items:center;gap:14px;text-decoration:none}.topbar-brand{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}.topbar-center{display:flex;gap:6px;position:absolute;left:50%;transform:translateX(-50%)}.topbar-tab{font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:7px 16px;border-radius:999px;white-space:nowrap;border:1px solid transparent;opacity:.6;transition:opacity .2s , border-color .2s , background .2s}.topbar-tab:hover{opacity:1}.topbar-tab.active{opacity:1;border-color:currentColor}.topbar-right{display:flex;align-items:center;gap:18px}.ig-link{display:flex;align-items:center;justify-content:center;color:inherit;opacity:.6;transition:opacity .2s}.ig-link:hover{opacity:1}.lang-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px solid currentColor;border-radius:999px;cursor:pointer;color:inherit;font-family: var(--mono);font-size:10px;letter-spacing:.1em;padding:6px 12px;opacity:.7;transition:opacity .2s}.lang-toggle:hover{opacity:1}.lang-opt{opacity:.4;transition:opacity .2s}.lang-opt.active{opacity:1}.menu-btn{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;color:inherit;font-family: var(--font);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.menu-btn-lines{display:flex;flex-direction:column;gap:4px}.menu-btn-lines span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .3s , opacity .3s}.menu-overlay{position:fixed;inset:0;z-index:300;background:var(--tangerine);color:#fff;display:flex;flex-direction:column;padding:24px 32px 40px;clip-path:inset(0 0 100% 0);transition:clip-path .55s cubic-bezier(.7,0,.3,1);pointer-events:none}.menu-overlay.open{clip-path:inset(0 0 0% 0);pointer-events:auto}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-close{background:none;border:none;cursor:pointer;color:#fff;font-family: var(--font);font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.menu-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px;max-width:1100px;margin:0 auto;width:100%}.menu-overlay{color:#fff}.menu-overlay a{color:#fff}.menu-overlay .menu-link,.menu-overlay .menu-link span,.menu-overlay .menu-close,.menu-overlay .menu-foot{color:#fff!important;-webkit-text-fill-color:#fff}.menu-link{display:flex;align-items:baseline;gap:24px;text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.3);transition:padding-left .25s}.menu-link:hover{padding-left:16px}.menu-link-num{font-family: var(--mono);font-size:12px;opacity:.5}.menu-link-label{font-size:clamp(32px,5vw,64px);font-weight:300;letter-spacing:-.03em;line-height:1.1}.menu-link-sub{font-size:12px;opacity:.55;margin-left:auto;letter-spacing:.08em;text-transform:uppercase}.menu-foot{display:flex;justify-content:space-between;font-family: var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.55;max-width:1100px;margin:0 auto;width:100%}.sec-label{font-family: var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.5}.big-h{font-weight:300;letter-spacing:-.03em;line-height:1.08}.proj-card{text-decoration:none;display:block}.proj-card-img{overflow:hidden;background:#ddd8d0;position:relative}.proj-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.proj-card:hover .proj-card-img img{transform:scale(1.04)}.proj-card-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.proj-card-ph span{font-family: var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-400)}.proj-card-cap{padding:14px 0 0;display:flex;justify-content:space-between;align-items:baseline}.proj-card-name{font-size:15px;font-weight:500}.proj-card-meta{font-family: var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400)}.site-footer{background:var(--black);color:#fff;padding:64px 32px 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);max-width:1400px;margin:0 auto}.footer-col-title{font-family: var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:18px}.footer-col a,.footer-col span{display:block;font-size:13px;color:rgba(255,255,255,.65);text-decoration:none;padding:4px 0;transition:color .2s}.footer-col a:hover{color:#fff}.site-footer.footer-home{background:var(--tangerine)}.site-footer.footer-local10{background:var(--maroon)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;max-width:1400px;margin:0 auto;font-family: var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}.footer-home .footer-bottom,.footer-local10 .footer-bottom{color:rgba(255,255,255,.8)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease , transform .7s ease}.reveal.in{opacity:1;transform:none}.page-hero{padding:140px 32px 64px}.page-hero-inner{max-width:1400px;margin:0 auto}.crumb{font-family: var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.45;margin-bottom:28px;display:flex;gap:10px}.crumb a{text-decoration:none;opacity:.8}.crumb a:hover{text-decoration:underline}@media (max-width:820px){.topbar{padding:14px 18px}.topbar-center{display:none}.topbar-right{gap:12px}.lang-toggle{padding:5px 8px}.page-hero{padding:116px 20px 48px}}@media (max-width:480px){.topbar{padding:12px 14px}}