:root{--spa-white:#fafafa;--spa-black:#1e1e1e;--spa-red:#e65050;--spa-gray:#8c8c8c;--color-bg:var(--spa-white);--color-text:var(--spa-black);--color-highlight:var(--spa-red);--color-credits:var(--spa-gray);--sidebar-width:320px;--max-width:calc(100vh*1.5);--font-heading:"Trade Gothic Next Condensed",-apple-system,BlinkMacSystemFont,"Arial Narrow",sans-serif;--font-body:"Akagi Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--header-height-mobile:72px}@font-face{font-family:Trade Gothic Next Condensed;src:url(/fonts/TradeGothicNextCondensed-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Trade Gothic Next Condensed;src:url(/fonts/TradeGothicNextCondensed-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Akagi Pro;src:url(/fonts/AkagiPro-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Akagi Pro;src:url(/fonts/AkagiPro-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}::selection{color:#fff;background:#f04242}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;flex-direction:column;min-height:100vh;line-height:1.6;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-bottom:1rem;font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--color-highlight)}.logo-link,.menu-logo{white-space:nowrap;font-family:var(--font-heading)!important;letter-spacing:.05rem!important;font-size:clamp(.9rem,5.5vw,1.6rem)!important;font-weight:400!important}body.no-scroll{height:100vh;margin:0;overflow:hidden}.desktop-only{display:none}.mobile-only{display:block}.layout-wrapper{grid-template-rows:auto 1fr;grid-template-columns:1fr;width:100%;min-height:100vh;display:grid}@media (min-width:768px){.desktop-only{display:block}.mobile-only{display:none}.layout-wrapper{grid-template-columns:max-content 1fr;padding:0 1.5rem}}@media (min-aspect-ratio:3/2){.layout-wrapper{max-width:150vh;margin:0 auto}}.desktop-nav{border-right:none;grid-area:2/1;padding-top:0;padding-left:0;padding-right:2rem}.nav-menu{background:var(--color-bg);flex-direction:column;align-items:flex-end;gap:1.5rem;margin-top:0;padding-right:2rem;transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex}.nav-menu.horizontal{flex-direction:row;align-items:center;gap:1.5rem}.nav-link,.nav-accordion-toggle{color:var(--color-text);font-family:var(--font-heading);letter-spacing:.05rem;text-transform:uppercase;cursor:pointer;text-align:right;font-size:1.25rem;text-decoration:none;transition:color .2s;display:block;position:relative}.nav-link:hover,.nav-link.active,.nav-accordion-toggle:hover,.nav-accordion-toggle.active{color:var(--color-highlight)}.nav-link.active:after,.nav-accordion-toggle.active:after,.accordion-content .nav-link.active:after,.accordion-content .nav-sublink.active:after{content:"▶";color:var(--color-highlight);font-size:.5em;position:absolute;top:50%;right:-1rem;transform:translateY(-50%)}.accordion-wrapper{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid;overflow:hidden}.accordion-wrapper.open{grid-template-rows:1fr}.accordion-content{flex-direction:column;min-height:0;display:flex}.accordion-content .nav-sublink,.accordion-content .nav-link{color:var(--color-text);font-size:.95rem;font-family:var(--font-body);text-transform:none;text-align:right;border-left:none;margin-top:0;padding:.5rem 0}.accordion-content .nav-sublink:hover,.accordion-content .nav-link:hover,.accordion-content .nav-sublink.active,.accordion-content .nav-link.active{color:var(--color-highlight);font-weight:500}.hero-section{margin-bottom:2rem}.main-content{flex-direction:column;grid-area:2/1;min-width:0;display:flex}@media (min-width:769px){.main-content{grid-column:2}}.site-title-container{border-bottom:none;grid-area:1/2;padding:0;display:none}@media (min-width:768px){.site-title-container{padding-top:3rem;padding-bottom:3rem;display:block}}.site-title-link{color:var(--color-text);padding:.5rem 0 .25rem;text-decoration:none;display:block}.site-title-h1{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05rem;margin:0;font-size:1.5rem;font-weight:400}.site-title-link:hover .site-title-h1{color:var(--color-highlight)}.content-inner{flex-direction:column;flex:1;padding:0 0 2rem;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filter-wrapper{background:var(--color-bg);z-index:40;padding:1px 0 .5rem;display:none;position:relative}@media (min-width:768px){.filter-wrapper{display:block}}@media (min-width:1024px){.filter-wrapper{top:0}}.filter-btn{color:var(--color-text);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding-bottom:.2rem;font-size:1rem;transition:all .2s}.filter-btn:hover{color:var(--color-highlight)}.filter-btn.active{color:var(--color-highlight);border-bottom-color:var(--color-highlight);font-weight:700}.search-input{font-family:var(--font-body);border:none;border-bottom:1px solid var(--color-gray);background:0 0;border-radius:0;outline:none;margin-left:auto;padding:.25rem 0}.search-input:focus{border-bottom-color:var(--color-highlight)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.65rem;margin-bottom:3rem;display:grid}.project-card{background:var(--color-bg)}@media (min-width:768px){.project-card:hover .project-image img{filter:saturate()}}.project-link{color:inherit;text-decoration:none;display:block}.project-image{aspect-ratio:3/2;background:#f0f0f0;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:filter .3s ease-out;display:block}@media (min-width:768px){.project-image img{filter:saturate(.4)}}.project-title{font-family:var(--font-heading);margin:.25rem 0 0;font-size:1.25rem;font-weight:400;line-height:1.3}.project-location{font-family:"Akagi Pro",var(--font-heading);color:var(--spa-red);font-size:.95rem;font-weight:400;line-height:1.4}@media (min-width:768px){.project-location{color:var(--spa-gray)}}.project-location:before{content:" — ";color:inherit}.project-carousel-section{background:var(--color-bg);margin-bottom:3rem;position:relative}.embla{position:relative;overflow:hidden}.embla__container{display:flex}.embla__slide{flex:0 0 100%;min-width:0;position:relative}.slide-content-wrapper{background:var(--color-bg);justify-content:center;align-items:center;width:100%;height:70vh;display:flex;position:relative}.slide-content-wrapper img{object-fit:contain;max-width:100%;max-height:100%}.embla__dots{z-index:10;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:2rem;right:2rem}.embla__dot{opacity:.5;cursor:pointer;background-color:#fff;border:none;border-radius:50%;width:12px;height:12px;padding:0;transition:opacity .2s,transform .2s}.embla__dot:hover{opacity:.8;transform:scale(1.15)}.embla__dot--selected{background-color:var(--color-highlight);opacity:1}.carousel-btn{cursor:pointer;z-index:5;background:0 0;border:none;width:15%;position:absolute;top:0;bottom:0}.carousel-btn-prev{left:0}.carousel-btn-next{right:0}.image-caption{color:var(--color-credits);text-align:left;margin-top:.5rem;font-size:.85rem}.project-detail .project-header{margin-bottom:1rem;padding:0;display:block}.project-detail .project-header h1{text-transform:uppercase;letter-spacing:.05rem;margin-top:-.3rem;margin-bottom:0;font-size:1.8rem;font-weight:700;line-height:1.2}.project-detail .subtitle{font-family:var(--font-heading);margin:.3rem 0 0;font-size:1.5rem;font-weight:400;line-height:1}.project-content{flex-direction:column;gap:2rem;margin-bottom:4rem;display:flex}@media (min-width:768px){.project-content{flex-direction:row;gap:4rem}}.sidebar{flex:0 0 240px}@media (min-width:1024px){.sidebar{flex:0 0 280px}}.project-detail .description{font-family:var(--font-body);-webkit-hyphens:auto;hyphens:auto;flex:1;max-width:75ch;font-size:1rem;line-height:1.6}.project-detail .description p{margin-top:0;margin-bottom:.8rem}.project-info h3{font-family:var(--font-heading);border-bottom:2px solid var(--color-highlight);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.info-list{border-left:.15rem solid var(--color-highlight);padding-left:1rem}.info-item{margin-bottom:1rem}.info-item:last-child{margin-bottom:0}.info-label{color:var(--spa-gray);margin-bottom:0;font-size:.8rem;display:block}.info-value{color:var(--color-text);word-wrap:break-word;overflow-wrap:break-word;font-size:1rem;display:block}.team-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;display:grid}.team-member{flex-direction:column;display:flex}.team-image-wrapper{aspect-ratio:3/4;background:#f0f0f0;margin-bottom:1rem;position:relative}.team-name{font-family:var(--font-heading);margin:0;font-size:1.2rem}.team-role{color:var(--color-highlight);font-size:.9rem}.contact-layout{grid-template-columns:1fr 1fr;gap:4rem;display:grid}.contact-column h2{font-family:var(--font-heading);color:var(--color-highlight);margin-bottom:1.5rem;font-size:1.5rem}.contact-address{margin-bottom:2rem}.news-list{flex-direction:column;gap:3rem;display:flex}.site-footer{border-top:1px solid #1e1e1e1a;justify-content:space-between;align-items:center;margin-top:auto;padding:2rem 0;display:flex}.footer-links{gap:1rem;display:flex}.footer-links a:hover{color:var(--color-highlight)}@media (max-width:1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.projects-grid{grid-template-columns:repeat(2,1fr)}.desktop-nav,.site-title-container{display:none}.content-inner{padding:0 .5rem 2rem}}.mobile-header-static,.mobile-header-fixed{min-height:var(--header-height-mobile,72px);background:var(--color-bg,white);justify-content:space-between;align-items:center;width:100%;height:auto;padding:1rem calc(13vw - 2rem) 1rem .5rem;position:relative;display:flex!important}.desktop-header-fixed{z-index:50;pointer-events:none;background:0 0;width:100%;position:fixed;top:0;left:0}.fixed-layout-wrapper{min-height:auto}.mobile-header-static,.mobile-header-fixed{box-sizing:border-box}.mobile-header-fixed{z-index:2000;will-change:transform;top:0;left:0;right:0;position:fixed!important}.mobile-header-static{z-index:1900}.mobile-header-static:before,.mobile-header-fixed:before{content:"";background:inherit;pointer-events:none;height:1000px;position:absolute;top:-1000px;left:0;right:0}.mobile-header-static .logo,.mobile-header-fixed .logo{flex-shrink:1;min-width:0}.mobile-header-static .logo-link,.mobile-header-fixed .logo-link{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}@media (min-width:768px){.mobile-header,.mobile-header-static,.mobile-header-fixed{display:none!important}}@media (max-width:767px){.projects-grid,.project-content-grid,.contact-layout{grid-template-columns:1fr}}.mobile-menu-overlay{background:var(--color-bg);z-index:100;flex-direction:column;width:100vw;height:100vh;padding:2rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.mobile-menu-overlay .close-btn{cursor:pointer;color:var(--color-text);background:0 0;border:none;align-self:flex-end;margin-bottom:2rem;font-size:2rem}
