:root{--paper:#f8f7f4;--paper-deep:#eceae4;--ink:#171717;--muted:#686861;--line:#d9d8d1;--accent:#2785b7;--accent-warm:#fe5a15;--display:Arial, Helvetica, sans-serif;--body:Arial, Helvetica, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--edge:clamp(1rem, 3.25vw, 3.5rem);--gap:clamp(.5rem, 1vw, .85rem)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);overscroll-behavior-y:none;scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);min-width:320px;font-family:var(--body);margin:0;font-size:16px;line-height:1.55;overflow-x:clip}body,button,a{-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}img{max-width:100%;display:block}.skip-link{z-index:10;background:var(--ink);color:var(--paper);transition:transform .2s var(--ease-out);padding:.6rem .9rem;position:absolute;top:.5rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{padding:clamp(1.1rem, 3.2vw, 2rem) var(--edge) clamp(2.6rem, 8vw, 7rem);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.brand{grid-column:2;justify-self:center;width:clamp(11rem,19vw,17rem);display:block}.brand img{width:100%;height:auto}.language-switch{letter-spacing:.03em;grid-column:3;justify-self:end;align-items:center;gap:.42rem;font-size:.72rem;font-weight:700;display:flex}.language-switch a{color:var(--muted);transition:color .2s var(--ease-out);padding:.6rem .2rem}.language-switch a:hover,.language-switch a:focus-visible,.language-switch .is-current{color:var(--ink)}.language-switch span{color:var(--line)}main{display:block}.projects-section{padding:0 var(--edge) clamp(6rem, 14vw, 13rem)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(1.2rem,2.2vw,2rem);display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.045em;margin-bottom:0;font-weight:600;line-height:.98}h1{max-width:16ch;font-size:clamp(2.6rem,5.4vw,5.8rem)}.project-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-reveal{min-width:0}.project-tile{background:var(--paper-deep);height:clamp(27rem,61vw,47rem);margin:0;position:relative;overflow:hidden}.project-image-wrap,.project-image-wrap img{width:100%;height:100%}.project-image-wrap{overflow:hidden}.project-image-wrap img{object-fit:cover;transition:transform .8s var(--ease-out), filter .8s var(--ease-out)}.project-tile:after{content:"";pointer-events:none;background:linear-gradient(#0000,#000000a3);position:absolute;inset:38% 0 0}.project-tile:hover img,.project-tile:focus-within img{filter:saturate(1.07);transform:scale(1.045)}.project-tile figcaption{z-index:1;color:var(--paper);grid-template-columns:1fr auto;align-items:end;display:grid;position:absolute;bottom:clamp(1rem,2vw,2rem);left:clamp(1rem,2vw,2rem);right:clamp(1rem,2vw,2rem)}.project-name{letter-spacing:-.045em;grid-column:1;font-size:clamp(1.45rem,3vw,3.4rem);font-weight:700;line-height:1}.project-subtitle{color:#f8f7f4c4;grid-column:1;margin-top:.42rem;font-size:.76rem}.project-tile figcaption svg{color:var(--paper);transition:transform .25s var(--ease-out);grid-area:1/2/span 2}.project-tile:hover figcaption svg{transform:translate(3px,-3px)}.message-section{padding:clamp(7rem, 17vw, 15rem) var(--edge);background:var(--ink);color:var(--paper)}.message-inner{max-width:75rem;margin:0 auto}.message-section .eyebrow{color:var(--accent-warm)}.message-section h2{max-width:17ch;font-size:clamp(2.9rem,7.8vw,8rem)}.message-sub{color:#f8f7f4ad;max-width:44rem;margin:clamp(2.2rem,4.5vw,4.8rem) 0 0 auto;font-size:clamp(1.05rem,1.45vw,1.45rem);line-height:1.45}.faq-section{padding:clamp(6rem, 13vw, 12rem) var(--edge);background:var(--paper-deep)}.faq-layout{grid-template-columns:minmax(14rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,10vw,13rem);max-width:76rem;margin:0 auto;display:grid}.faq-heading h2,.contact-copy h2{max-width:9ch;font-size:clamp(3rem,6vw,6.5rem)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-item button{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;min-height:4.8rem;padding:1.15rem 0;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:600;display:flex}.faq-item button svg{transition:transform .35s var(--ease-out);flex:none}.faq-item.is-open button svg{transform:rotate(45deg)}.faq-answer{transition:grid-template-rows .45s var(--ease-out);grid-template-rows:0fr;display:grid}.faq-answer p{max-width:50ch;color:var(--muted);margin:0;overflow:hidden}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-item.is-open .faq-answer p{padding:0 2.8rem 1.5rem 0}.contact-section{padding:clamp(6rem, 13vw, 12rem) var(--edge) clamp(2rem, 4vw, 4rem)}.contact-layout{gap:var(--gap);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);max-width:76rem;margin:0 auto;display:grid}.contact-copy{background:var(--accent);min-height:33rem;color:var(--paper);flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,3.5vw,3.5rem);display:flex}.contact-copy .eyebrow{color:var(--paper);opacity:.7}.contact-copy h2{font-size:clamp(3rem,6vw,6.4rem)}.contact-details{gap:.8rem;margin:3rem 0 2rem;display:grid}.contact-details a{align-items:flex-start;gap:.7rem;max-width:28rem;font-size:.93rem;line-height:1.4;display:flex}.contact-details a:hover span,.contact-details a:focus-visible span{text-underline-offset:.22em;text-decoration:underline}.contact-details svg{flex:none;margin-top:.12rem}.contact-button{border-bottom:1px solid #f8f7f4a6;align-items:center;gap:.6rem;width:fit-content;padding:.8rem 0;font-weight:700;display:inline-flex}.contact-button:hover svg{transform:translate(3px,-3px)}.contact-button svg{transition:transform .25s var(--ease-out)}.map-frame{background:var(--paper-deep);min-height:33rem;position:relative}.map-frame iframe{filter:grayscale(.9)contrast(.92);border:0;width:100%;height:100%;min-height:33rem}.map-caption{background:var(--paper);align-items:center;gap:.35rem;padding:.55rem .75rem;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:1rem;right:1rem}.map-caption svg{transition:transform .25s var(--ease-out)}.map-caption:hover svg{transform:translate(2px,-2px)}.site-footer{padding:1.2rem var(--edge) 1.7rem;color:var(--muted);justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}.reveal{opacity:1;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(0)}html.js .reveal:not(.is-visible){opacity:.3;transform:translateY(1.2rem)}@media (width<=720px){.site-header{padding-bottom:3.4rem}.brand{width:clamp(10.5rem,52vw,14rem)}.section-heading{display:block}h1{max-width:12ch}.project-grid{grid-template-columns:minmax(0,1fr);gap:.65rem}.project-tile{height:min(74svh,36rem)}.message-sub{margin-left:0}.faq-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:3.2rem}.faq-heading h2,.contact-copy h2{max-width:10ch}.contact-copy,.map-frame,.map-frame iframe{min-height:28rem}.site-footer{flex-direction:column;gap:.35rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}}@supports (font:-apple-system-body){body,h1,h2{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}}
