:root{--text:#1f1f1f;--white:#ffffff;--overlay:rgba(0, 0, 0, 0.45);--intro-bg:#ebebeb;--intro-bg-mobile:#56554d;--watermark-opacity:0.08;--section-min-width:1180px;--font-heading:"NB International","Montserrat",Arial,sans-serif;--font-subtitle:"NB International","Montserrat",Arial,sans-serif}@font-face{font-family:"NB International";src:url("../assets/fonts/NB International Bold Webfont 2.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"NB International";src:url("../assets/fonts/NB International Light Italic Webfont.ttf") format("truetype");font-weight:300;font-style:italic;font-display:swap}*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Montserrat,Arial,sans-serif;color:var(--text);background:#f4f4f4;overflow-x:auto}body,html{height:100%}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}.site-footer{margin-top:auto;flex-shrink:0}a{cursor:pointer}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;font-style:normal}.about-contact__intro,.project-card__copy p,.project-fs__subtitle{font-family:var(--font-subtitle);font-weight:300;font-style:italic}.video-loader{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:9999;background:var(--intro-bg);display:grid;place-items:center;transition:opacity .6s ease,visibility .6s ease;box-sizing:border-box;min-height:100vh;min-height:100svh;min-height:100dvh;min-height:100lvh;min-height:-webkit-fill-available}.video-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.video-loader__media--desktop{width:100%;height:100%;object-fit:cover}.video-loader__media--mobile{display:none;width:auto;height:auto;max-width:min(98vw,100%);max-height:min(84vh,100%);object-fit:contain;object-position:center;background-color:#56554d}@media (max-width:768px){html.gz-intro-active{background-color:#56554d!important;height:100%;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;overflow:hidden}html.gz-intro-active body{background-color:#56554d;height:100%;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;overflow:hidden;overscroll-behavior:none}.video-loader{background-color:#56554d;background:#56554d;min-height:100lvh}.video-loader__media--desktop{display:none!important}.video-loader__media--mobile{display:block!important}}.site-top{position:fixed;top:0;left:0;width:100%;min-width:0;z-index:12;display:flex;align-items:center;justify-content:stretch;gap:0;padding:.75rem 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(.75rem,env(safe-area-inset-top));box-sizing:border-box;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .4s ease,visibility .4s ease}@media (max-width:1024px){.site-top{z-index:100;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;max-width:none;left:0;right:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.menu-toggle{z-index:200}.topbar{width:100%;flex:0 0 auto;min-width:0;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}#video-loader:not(.is-hidden)~.site-top{visibility:hidden;opacity:0;pointer-events:none}.topbar{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:.75rem;position:relative;z-index:14;flex-wrap:nowrap;background:0 0;border-bottom:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.logo{text-decoration:none;display:inline-flex;align-items:center;line-height:1}.topbar .logo{position:relative;z-index:14;max-width:min(200px,58vw)}.logo__image{display:block;width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu{display:flex;flex:0 0 0;min-width:0;overflow:visible;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0;text-transform:uppercase;letter-spacing:.04em;position:fixed;inset:0;z-index:11;width:100%;min-height:100vh;min-height:100dvh;padding:5.25rem 1.35rem 2rem;padding-left:max(1.35rem,env(safe-area-inset-left));padding-right:max(1.35rem,env(safe-area-inset-right));padding-bottom:max(2rem,env(safe-area-inset-bottom));box-sizing:border-box;background:var(--intro-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}.topbar.is-menu-open~#site-nav{visibility:visible;opacity:1;pointer-events:auto}.menu a{text-decoration:none;color:#151515;font-family:var(--font-heading);font-weight:700;font-size:.88rem;letter-spacing:.04em;padding:.85rem 0;border-bottom:1px solid rgba(0,0,0,.08);cursor:pointer;transition:color .22s ease}.menu a:hover{color:#000}.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin:0;margin-left:auto;padding:0;border:0;background:0 0;cursor:pointer;flex-shrink:0;position:relative;z-index:14;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.menu-toggle span{display:block;width:24px;height:2px;background:#111;border-radius:1px;transition:transform .28s ease,opacity .2s ease}.topbar.is-menu-open .menu-toggle span:first-child{transform:translateY(8px) rotate(45deg)}.topbar.is-menu-open .menu-toggle span:nth-child(2){opacity:0;visibility:hidden;transform:scale(0)}.topbar.is-menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}body.is-menu-open{overflow:hidden}@media (min-width:1025px){.site-top{padding:1rem 2rem;justify-content:space-between;gap:clamp(1rem,3vw,3rem);backdrop-filter:none;-webkit-backdrop-filter:none}.topbar{backdrop-filter:none;-webkit-backdrop-filter:none}.menu-toggle{display:none}.topbar .logo{max-width:none}.logo__image{width:clamp(170px,20vw,360px)}.menu{position:static;inset:auto;z-index:auto;flex:0 0 auto;min-width:auto;width:auto;min-height:0;flex-direction:row;justify-content:flex-end;align-items:center;gap:clamp(1rem,3vw,3rem);padding:0;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;visibility:visible;opacity:1;pointer-events:auto;transition:none;letter-spacing:.03em}.menu a{font-family:var(--font-heading);font-size:clamp(.64rem, .88vw, .86rem);padding:0;border-bottom:none;color:#111;letter-spacing:.03em}.menu a:hover{color:#fff}}@media (min-width:1180px){.site-top{min-width:var(--section-min-width)}}.hero{position:relative;min-width:var(--section-min-width);min-height:100vh;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;padding-top:6.8rem}.about-contact::after,.hero::after,.projects::after{content:"";position:absolute;right:clamp(.6rem,2.5vw,2rem);bottom:clamp(.6rem,2.5vw,2rem);width:clamp(72px,8vw,120px);aspect-ratio:189/101;background:url("../assets/watermark-transparent.png") center/contain no-repeat;opacity:var(--watermark-opacity);pointer-events:none;z-index:2}.hero__slides{position:absolute;inset:0}.hero__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}.hero__slide.is-active{opacity:1}.hero__shade{position:absolute;inset:0;background:var(--overlay);z-index:1}.hero__caption{position:relative;z-index:2;margin:0;color:#f5f5f5;font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.055em;font-size:clamp(.8rem, 1vw, 1rem);text-align:center;padding:0 1rem}.projects{position:relative;overflow:hidden;min-width:var(--section-min-width);background:#ebebeb;padding:clamp(2.2rem,5vw,4rem) clamp(1rem,3.5vw,2.2rem) clamp(2.4rem,5vw,4rem)}.projects__grid{max-width:1400px;min-width:1120px;min-height:620px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.6rem,2vw,2.8rem) clamp(1rem,1.8vw,1.4rem);align-content:start}.projects__status{max-width:1400px;margin:0 auto;font-size:.95rem}.project-card{text-decoration:none;color:#151515;transition:transform .3s ease;cursor:pointer}.project-card:hover{transform:translateY(-4px)}.project-card__media{margin:0;aspect-ratio:16/9.3;overflow:hidden;background:#d8d8d8}.project-card__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);transition:transform .5s ease}.project-card:hover .project-card__media img{transform:scale(1.04)}.project-card__copy{padding-top:.6rem}.project-card__copy h3{margin:0;font-size:clamp(1rem, 1.25vw, 1.95rem);line-height:1.15}.project-card__copy p{margin:.2rem 0 0;font-size:clamp(.9rem, 1.05vw, 1.55rem);color:#2e2e2e}.about-contact{position:relative;overflow:hidden;min-width:var(--section-min-width);background:#ebebeb;padding:clamp(2.3rem,4.2vw,4.2rem) clamp(1rem,3.5vw,2.2rem) clamp(2.8rem,5vw,4.8rem)}.about-contact__contact,.about-contact__top{max-width:1300px;margin:0 auto}.about-contact__top{display:grid;grid-template-columns:1fr;gap:1.6rem;justify-items:center;align-items:center}.about-contact__brand img{width:min(320px,92vw);height:auto}.about-contact__story p{margin:0;max-width:760px;line-height:1.35;font-size:clamp(1rem, 1.2vw, 1.8rem);text-align:left}.about-contact__story h2{margin:2.2rem 0 0;text-transform:uppercase;font-size:clamp(1.2rem, 1.7vw, 2.2rem);text-align:center}.about-contact__contact{margin-top:clamp(1.8rem,3.5vw,3.2rem)}.about-contact__intro{margin:0 0 1.2rem;max-width:980px;line-height:1.4;font-size:clamp(.98rem, 1.15vw, 1.45rem)}.contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #777;background:0 0;outline:0;padding:.4rem .1rem;font:inherit;color:#1d1d1d}.contact-form textarea{resize:vertical;min-height:3.2rem}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact-form__status{margin:0 0 .6rem;min-height:1.2rem;font-size:.92rem;color:#2a2a2a}.contact-form__status.is-success{color:#0f6f39}.contact-form__status.is-error{color:#8a1f1f}.contact-form__message{margin-top:.95rem;display:block}.contact-form__footer{margin-top:1.05rem;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:1rem}.contact-social{display:grid;gap:.25rem;margin-top:20px}.contact-social a{text-decoration:none;color:#242424;text-transform:lowercase;font-size:clamp(.92rem, 1.05vw, 1.2rem)}.contact-social a:hover{color:#000}.contact-form__submit{border:0;background:0 0;color:#222;font-family:var(--font-heading);font-weight:700;font-size:clamp(1rem, 1.2vw, 1.35rem);padding:.25rem .4rem;cursor:pointer;justify-self:start}.contact-form__submit:hover{color:#000}.site-footer{min-width:var(--section-min-width);background:#ebebeb;padding:.9rem 1.2rem 1.6rem;text-align:center}.site-footer p{margin:0;color:#4d4d4d;font-size:clamp(.78rem, .92vw, .95rem);letter-spacing:.01em}.has-open-project-modal{overflow:hidden}.project-fullscreen{position:fixed;inset:0;z-index:3000;display:none}.project-fullscreen.is-open{display:block}.project-fullscreen__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}.project-fullscreen__panel{position:relative;z-index:1;width:100vw;height:100vh;margin:0;background:#ececec;display:flex;flex-direction:column;overflow:hidden}.project-fullscreen__header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #d3d3d3}.project-fullscreen__logo{width:clamp(120px,14vw,260px);height:auto}.project-fullscreen__close{border:0;background:0 0;color:#111;font-size:2rem;line-height:1;cursor:pointer}.project-fullscreen__content{display:flex;flex-direction:column;overflow:hidden;min-height:0;flex:1 1 0;box-sizing:border-box;padding:clamp(.6rem,1.4vw,1.2rem)}.img-modal{position:fixed;inset:0;z-index:4000;display:none}.img-modal.is-open{display:block}.img-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85)}.img-modal__panel{position:relative;z-index:1;width:min(92vw,1100px);height:min(88vh,900px);margin:6vh auto 0;display:grid;place-items:center}.img-modal__media{width:auto;height:auto;max-width:min(92vw,1100px);max-height:80vh;object-fit:contain;object-position:center;background:0 0}.img-modal__close{position:fixed;top:20px;right:20px;z-index:4002;border:0;background:0 0;color:#fff;font-size:2rem;line-height:1;cursor:pointer;text-shadow:0 2px 10px rgba(0,0,0,.55)}.img-modal__nav{position:fixed;top:50%;transform:translateY(-50%);z-index:4002;width:54px;height:54px;border-radius:999px;border:0;background:0 0;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;display:grid;place-items:center;text-shadow:0 2px 10px rgba(0,0,0,.55)}.img-modal__nav--prev{left:20px}.img-modal__nav--next{right:20px}.img-modal__close:focus-visible,.img-modal__nav:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:3px}.img-modal__close:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:3px}.project-fs__layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:1.1rem;flex:1 1 0;min-height:0;align-items:stretch}.project-fs__gallery{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.35rem}.project-fs__gallery-inner{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;gap:.9rem;align-content:start;align-items:start}.project-fs__thumb{margin:0;aspect-ratio:4/3;background:#d8d8d8;overflow:hidden}.project-fs__hero img,.project-fs__thumb img,.project-fs__thumb video{width:100%;height:100%;object-fit:contain;object-position:center}.project-fs__thumb img{cursor:pointer}.project-fs__hero{margin:0;aspect-ratio:16/9.2;background:#d8d8d8;overflow:hidden}.project-fs__content{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.35rem}.project-fs__hero{margin-bottom:.7rem}.project-fs__copy h2{margin:.85rem 0 0;text-transform:uppercase;font-size:clamp(1.2rem, 2vw, 2.1rem)}.project-fs__subtitle{margin:.15rem 0 0}.project-fs__description{margin-top:.8rem;display:grid;gap:.65rem}.project-fs__description p{margin:0;line-height:1.45}.project-fs__copy{max-height:none;overflow:visible;padding-right:0}.project-fs__carousel{display:none;flex-direction:column;gap:.55rem;min-height:0;width:100%}.project-fs__carousel-viewport{flex:1 1 0;min-height:0;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:2px;background:#d8d8d8}.project-fs__carousel-viewport::-webkit-scrollbar{display:none}.project-fs__carousel-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;margin:0;display:flex;align-items:center;justify-content:center;background:#d8d8d8}.project-fs__carousel-slide img,.project-fs__carousel-slide video{width:100%;height:100%;max-height:min(38vh,300px);object-fit:contain;display:block}.project-fs__thumb--video video{cursor:default}.project-fs__carousel-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-shrink:0;padding:0 .15rem}.project-fs__carousel-btn{border:1px solid #bdbdbd;background:#fff;width:2.35rem;height:2.35rem;border-radius:50%;cursor:pointer;font-size:1.35rem;line-height:1;color:#111;display:flex;align-items:center;justify-content:center;padding:0}.project-fs__carousel-btn:disabled{opacity:.35;cursor:default}.project-fs__carousel-dots{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:center;max-width:70%}.project-fs__carousel-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#aaa;cursor:pointer;flex-shrink:0}.project-fs__carousel-dot[aria-current=true]{background:#111;transform:scale(1.2)}.contact-form__turnstile{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.blog{min-width:var(--section-min-width);background:#f4f4f4;padding:clamp(2.2rem,4vw,4rem) clamp(1rem,2.2vw,2rem);padding-top:clamp(3.4rem,5.5vw,5.2rem)}.blog__head{max-width:980px;margin:0 auto 1.4rem}.blog__head h2{margin:0;text-transform:uppercase;letter-spacing:.02em}.blog__sub{margin:.35rem 0 0;color:#4d4d4d}.blog__grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.blog-card{text-decoration:none;color:inherit;background:#ebebeb;border:1px solid rgba(0,0,0,.08);display:grid;grid-template-rows:auto 1fr;transition:transform .3s ease}.blog-card:hover{transform:translateY(-2px)}.blog-card__media{margin:0;aspect-ratio:16/9;background:#d8d8d8;overflow:hidden}.blog-card__media img{width:100%;height:100%;object-fit:cover}.blog-card__copy{padding:.85rem .9rem 1rem}.blog-card__copy h3{margin:0;font-size:1.05rem;text-transform:uppercase}.blog-card__copy p{margin:.45rem 0 0;color:#4d4d4d;font-size:.92rem}.blog-post{max-width:980px;margin:0 auto}.blog-post__back{display:inline-flex;gap:.35rem;margin:.25rem 0 .85rem;text-decoration:none;color:#111;font-size:.95rem}.blog-post__title{margin:0;text-transform:uppercase}.blog-post__meta{margin-top:.45rem;display:flex;gap:.9rem;align-items:center;color:#4d4d4d;flex-wrap:wrap}.blog-post__hero{margin:1rem 0 0;aspect-ratio:16/9;background:#d8d8d8;overflow:hidden}.blog-post__hero img{width:100%;height:100%;object-fit:cover}.blog-post__body{margin-top:1.15rem;display:grid;gap:.9rem}.blog-post__body p{margin:0;line-height:1.65;font-size:1rem}@media (max-width:1179px){body,html{overflow-x:hidden}.about-contact,.hero,.projects,.site-footer,.site-top,.topbar{min-width:0}.projects__grid{min-width:0;min-height:0;grid-template-columns:1fr;gap:1.35rem 1rem}.hero{padding-top:clamp(5.2rem,18vw,6.5rem)}.about-contact__story p{max-width:100%;text-align:left}.blog{min-width:0}.blog__grid{grid-template-columns:1fr}}@media (min-width:640px) and (max-width:1179px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1179px) and (min-width:769px){.hero{min-height:100vh;min-height:100svh}}@media (max-width:1024px){.hero{padding-top:5rem}}@media (max-width:768px){.hero{height:50vh;height:50svh;min-height:50vh;min-height:50svh;max-height:50vh;max-height:50svh}}@media (max-width:640px){.project-fullscreen__content{padding-left:0;padding-right:0}.project-fs__layout{grid-template-columns:1fr;grid-template-rows:minmax(0,44vh) minmax(0,1fr);align-items:stretch}.project-fs__carousel{display:flex;max-height:44vh;gap:.45rem;min-height:0;width:100%}.project-fs__carousel-viewport{flex:1 1 0;width:100%;height:35vh;max-height:35vh;min-height:0;border-radius:0}.project-fs__carousel-slide{align-items:stretch;height:100%;align-self:stretch}.project-fs__carousel-slide img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}.project-fs__carousel-controls{padding-left:clamp(.6rem,1.4vw,1.2rem);padding-right:clamp(.6rem,1.4vw,1.2rem);box-sizing:border-box}.project-fs__carousel-btn{width:1.85rem;height:1.85rem;font-size:1.05rem}.project-fs__carousel-dots{gap:.3rem}.project-fs__carousel-dot{width:7px;height:7px}.project-fs__gallery{display:none}.project-fs__gallery-inner{grid-template-columns:1fr}.project-fs__content{overflow-y:auto;overscroll-behavior:contain;padding-left:clamp(.6rem,1.4vw,1.2rem);padding-right:clamp(.6rem,1.4vw,1.2rem)}.project-fs__hero{display:none}.project-fs__copy h2{margin-top:.35rem}.contact-form__grid{grid-template-columns:1fr}.contact-form__footer{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.contact-form__submit{order:-1;justify-self:auto}.contact-form__footer .contact-social{margin-top:0;align-self:flex-start;text-align:left}}@media (max-width:1024px) and (min-width:641px){.project-fs__layout{grid-template-columns:1fr;grid-template-rows:minmax(0,52vh) minmax(0,1fr);gap:.9rem}.project-fs__carousel{display:flex;max-height:52vh;min-height:0;width:100%}.project-fs__carousel-viewport{flex:1 1 0;width:100%;height:42vh;max-height:42vh;min-height:0}.project-fs__gallery{display:none}.project-fs__content{overflow-y:auto;overscroll-behavior:contain}.project-fs__hero{display:none}.project-fs__copy{max-height:none;overflow:visible;padding-right:0}}.wa-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:56px;height:56px;border-radius:999px;background:#e1e1e1;color:#111;display:grid;place-items:center;z-index:1200;border:1px solid rgba(0,0,0,.12);box-shadow:0 10px 24px rgba(0,0,0,.18);text-decoration:none;transition:transform 160ms ease,box-shadow 160ms ease,background-color 160ms ease}.wa-float:hover{transform:translateY(-1px);background:#e8e8e8;box-shadow:0 14px 30px rgba(0,0,0,.22)}.wa-float:active{transform:translateY(0)}.wa-float:focus-visible{outline:3px solid rgba(31,31,31,.35);outline-offset:3px}.wa-float__icon{width:26px;height:26px;display:inline-grid;place-items:center}