@font-face{font-family:Gotham Narrow;src:url(/GothamNarrowOffice-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gotham Narrow;src:url(/GothamNarrowOffice-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-primary:"Gotham Narrow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-text:#1a1a1a;--color-text-light:#666;--color-border:#e0e0e0;--color-bg:#fff;--color-bg-subtle:#f8f8f8;--header-height:80px;--max-width:1400px}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-primary);color:var(--color-text);background:var(--color-bg);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.site-header{height:var(--header-height);z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:0 clamp(24px,5vw,80px);display:flex;position:sticky;top:0}.site-logo a{align-items:center;display:flex}.site-logo img{width:auto;height:40px}.main-nav{align-items:center;gap:clamp(24px,4vw,64px);display:flex}.main-nav a{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);padding:4px 0;font-size:.875rem;font-weight:700;transition:color .2s;position:relative}.main-nav a:after{content:"";background:var(--color-text);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.main-nav a.active{color:var(--color-text)}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.menu-toggle span{background:var(--color-text);width:24px;height:2px;transition:all .3s;display:block}.page-subtitle{text-align:center;border-bottom:1px solid var(--color-border);padding:clamp(48px,10vh,120px) 24px 48px}.page-subtitle h1{text-transform:uppercase;letter-spacing:.2em;color:var(--color-text);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700}.portfolio-grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:clamp(32px,4vw,64px);margin:0 auto;padding:clamp(48px,8vh,100px) clamp(24px,5vw,80px);display:grid}.portfolio-item{break-inside:avoid;margin-bottom:24px}.portfolio-item-image{background:var(--color-bg-subtle);aspect-ratio:1;margin-bottom:12px;position:relative;overflow:hidden}.portfolio-item-image img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .5s}.portfolio-item:hover .portfolio-item-image img{transform:scale(1.03)}.portfolio-item-title{text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:1rem;font-weight:700;line-height:1.3}.portfolio-item-description{color:var(--color-text-light);font-size:.875rem;line-height:1.6}.portfolio-item-description p{margin-bottom:8px}.portfolio-item-description p:last-child{margin-bottom:0}.portfolio-item-description strong{color:var(--color-text);font-weight:700}.portfolio-item-description em{font-style:italic}.portfolio-item-description a{color:var(--color-text);text-underline-offset:3px;text-decoration:underline}.contact-page{max-width:800px;margin:0 auto;padding:clamp(80px,15vh,160px) clamp(24px,5vw,80px)}.contact-page h1{text-transform:uppercase;letter-spacing:.2em;text-align:center;margin-bottom:48px;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700}.contact-info{gap:32px;display:grid}.contact-block h2{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:12px;font-size:.875rem;font-weight:700}.contact-block p{font-size:1.125rem;line-height:1.8}.contact-block a{color:var(--color-text);border-bottom:1px solid var(--color-border);transition:border-color .2s}.contact-block a:hover{border-color:var(--color-text)}.about-page{max-width:900px;margin:0 auto;padding:clamp(80px,15vh,160px) clamp(24px,5vw,80px)}.about-page h1{text-transform:uppercase;letter-spacing:.2em;text-align:center;margin-bottom:48px;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700}.about-content{color:var(--color-text-light);font-size:1.125rem;line-height:1.8}.about-content p{margin-bottom:24px}.about-content p:last-child{margin-bottom:0}.about-content strong{color:var(--color-text);font-weight:700}.project-page{max-width:1400px;margin:0 auto;padding:clamp(48px,8vh,100px) clamp(24px,5vw,80px)}.back-link{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:32px;font-size:.875rem;transition:color .2s;display:inline-block}.back-link:hover{color:var(--color-text)}.project-content{grid-template-columns:1fr 420px;align-items:start;gap:clamp(32px,5vw,80px);display:grid}@media (width<=1024px){.project-content{grid-template-columns:1fr}.project-info{position:static}}.project-gallery{grid-template-columns:1fr;gap:24px;display:grid}.project-gallery img{border-radius:2px;width:100%;height:auto;display:block}.project-info{position:sticky;top:100px}.project-info h1{text-transform:uppercase;letter-spacing:.1em;margin-bottom:32px;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;line-height:1.3}.project-info p{color:var(--color-text-light);margin-bottom:16px;font-size:.9375rem;line-height:1.8}.project-info p:last-child{margin-bottom:0}.project-info strong{color:var(--color-text);font-weight:700}.project-info em{color:var(--color-text-light);font-style:italic}.project-info a{color:var(--color-text);border-bottom:1px solid var(--color-border);transition:border-color .2s}.project-info a:hover{border-color:var(--color-text)}.project-info ul,.project-info ol{margin:0 0 16px;padding:0;list-style:none}.project-info li{color:var(--color-text-light);margin-bottom:0;font-size:.9375rem;line-height:1.8}.project-info li:last-child{margin-bottom:0}.site-footer{text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-light);letter-spacing:.05em;padding:32px 24px;font-size:.75rem}@media (width<=768px){.menu-toggle{display:flex}.main-nav{top:var(--header-height);background:var(--color-bg);z-index:99;flex-direction:column;justify-content:flex-start;gap:32px;padding:48px 24px;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;transform:translate(100%)}.main-nav.open{transform:translate(0)}.main-nav a{font-size:1.25rem}.portfolio-grid{grid-template-columns:1fr;gap:40px}}
