.consent-banner{z-index:900;padding:26px var(--gutter);color:#fff;font-family:var(--body);text-align:left;background:#161616;border-top:1px solid #303030;justify-content:space-between;align-items:center;gap:60px;display:flex;position:fixed;inset:auto 0 0}.consent-banner[hidden]{display:none}.consent-copy{max-width:760px}.consent-label{color:#a3a3a3;letter-spacing:.3em;text-transform:uppercase;margin-bottom:6px;font-size:11px;display:block}.consent-copy p{color:#e1e1e1;margin:0;font-size:15px;line-height:1.7}.consent-copy a{color:#fff;text-underline-offset:4px;text-decoration:underline}.consent-actions{flex-shrink:0;align-items:center;gap:22px;display:flex}.consent-banner button{font-family:var(--body);cursor:pointer}.consent-accept{color:#0c0c0c;background:#fff;border:2px solid #fff;border-radius:30px;height:54px;padding:0 40px;font-size:16px;font-weight:500;transition:background-color .2s,color .2s}.consent-accept:hover{color:#fff;background:0 0}.consent-refuse{color:#c4c4c4;text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:0 6px;font-size:14px;font-weight:400;text-decoration:underline}.consent-refuse:hover{color:#fff}.consent-banner button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.footer-services button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}@media (width<=767px){.consent-banner{flex-direction:column;align-items:stretch;gap:14px;padding:22px 20px 16px}.consent-label{font-size:10px}.consent-copy p{font-size:13px}.consent-actions{flex-direction:column-reverse;gap:4px}.consent-accept{width:100%;height:52px}.consent-refuse{font-size:13px}}html:has(details.navigation[open]){overflow:hidden}body:has(.navigation[open])>:is(main,footer,.contact-section,.skip-link,.preview-notice){visibility:hidden}body:has(.navigation[open]) .brand img{filter:none}body:has(.navigation[open]) .navigation summary{color:#fff}.pointer-ring{display:none}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pointer-ring.is-active{z-index:1000;pointer-events:none;border:2px solid #999;border-radius:50%;place-items:center;width:40px;height:40px;transition:width .3s ease-out,height .3s ease-out,background-color .3s ease-out,border-color .3s ease-out;display:grid;position:fixed;inset:0 auto auto 0}.pointer-ring span{color:#fff;font:500 14px/1 var(--body);white-space:nowrap;opacity:0;transition:opacity .2s ease-out}body:not(.service-page):has(.pointer-ring.is-active):not(:has(dialog[open],:is(a[href],summary,button,input,textarea,select,[contenteditable]):hover)){cursor:none}body:has(dialog[open]) .pointer-ring,body:not(.home-page):has(:is(a[href],summary,button,input,textarea,select,[contenteditable]):hover) .pointer-ring{visibility:hidden}.service-page:has(.service-project-card>a:hover):not(:has(dialog[open])) .pointer-ring.is-active{visibility:visible;backdrop-filter:blur(12px);background:#ffffff1a;border-color:#0000;width:112px;height:112px}.service-page:has(.service-project-card>a:hover) .pointer-ring-open{opacity:1}.pointer-ring span{grid-area:1/1}body.news-page:has([data-read-target]:hover):not(:has(dialog[open])) .pointer-ring.is-active{visibility:visible;backdrop-filter:blur(12px);background:#ffffff1a;border-color:#0000;width:112px;height:112px}body.news-page:has([data-read-target]:hover) .pointer-ring-read{opacity:1}}@font-face{font-family:Six Caps;src:url(/fonts/six-caps-latin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-latin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/poppins-latin-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--background:#0c0c0c;--text:#fff;--muted:#a3a3a3;--accent:#8c6144;--gutter:80px;--display:"Six Caps",sans-serif;--body:Poppins,sans-serif;--header-height:100px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--background);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}picture{display:block}h1,h2,h3,p,figure{margin:0}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#fff}.page-width{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.skip-link{z-index:1000;color:#111;background:#fff;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.site-header{height:var(--header-height);z-index:20;padding:0 var(--gutter);color:#fff;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.brand{z-index:22;width:60px;display:block}.brand img{object-fit:contain;width:60px;height:45px}.hero-home{min-height:100svh;padding:145px var(--gutter) 155px;text-align:center;flex-direction:column;justify-content:center;display:flex;position:relative}.hero-center{width:100%}.signature{font-family:var(--display);text-transform:uppercase;white-space:nowrap;letter-spacing:-.015em;font-size:calc(1rem + 24.15vw);font-weight:400;line-height:.98}.hero-home h1{font-family:var(--body);text-transform:uppercase;color:#a3a3a3;max-width:1100px;margin:32px auto 0;font-size:18px;font-weight:400;line-height:1.5}.hero-bottom{inset:auto var(--gutter) 32px;text-align:left;grid-template-columns:32px 1fr;align-items:end;gap:5%;display:grid;position:absolute}.hero-bottom p{max-width:1020px;margin-inline:auto;font-size:16px;line-height:1.7}.scroll-cue{font-family:var(--body);padding-bottom:4px;font-size:27px}.categories{padding:65px var(--gutter) 50px;grid-template-columns:180px 1fr;align-items:start;gap:40px;display:grid}.categories>span{text-transform:uppercase;letter-spacing:.12em;color:#999;padding-top:17px;font-size:11px}.categories nav{flex-wrap:wrap;gap:8px 34px;display:flex}.categories a{font-family:var(--display);text-transform:lowercase;color:#999;font-size:52px;line-height:1.2;transition:color .2s}.categories a:hover{color:#fff}.project-gallery{padding-inline:var(--gutter)}.project-card{height:100svh;max-height:1100px;padding:60px 0;position:relative}.project-card>a{border-radius:8px;height:100%;display:block;position:relative;overflow:hidden}.project-card picture,.project-card img{object-fit:cover;width:100%;height:100%}.project-card img{transition:transform .7s}.project-card:hover img{transform:scale(1.015)}.project-card h2{width:max-content;max-width:92%;font-family:var(--display);text-transform:lowercase;text-align:center;text-wrap:balance;background:#00000073;border-radius:35px;padding:10px 35px 22px;font-size:clamp(50px,7.7vw,155px);font-weight:400;line-height:.98;position:absolute;bottom:55px;left:50%;transform:translate(-50%)}.project-arrow{text-shadow:0 1px 10px #000;font-size:32px;position:absolute;top:20px;right:28px}.home-intro{max-width:1000px;width:calc(100% - var(--gutter)*2);margin-inline:auto;padding:120px 0}.prose{color:#d8d8d8;font-size:16px;line-height:1.9}.prose p+p{margin-top:24px}.prose h2{font-family:var(--body);color:var(--text);margin:56px 0 22px;font-size:clamp(23px,2.2vw,36px);font-weight:500;line-height:1.4}.prose h3{margin:30px 0 12px;font-size:20px;font-weight:500}.prose a{text-underline-offset:4px;text-decoration:underline}.prose section+section{margin-top:35px}.faq{padding:50px var(--gutter) 100px;max-width:1200px;margin:auto}.faq>h2{margin-top:0}.faq>div{border-top:1px solid #555;padding-block:15px}.contact-section{padding:100px var(--gutter) 70px;color:#fff;background:#0c0c0c}.contact-details{justify-content:space-between;gap:25px;margin-bottom:35px;font-size:14px;display:flex}.contact-details a{border-bottom:1px solid #555}.contact-title{font-family:var(--display);text-transform:lowercase;justify-content:space-between;align-items:center;gap:30px;font-size:clamp(70px,12vw,240px);line-height:1.1;display:flex}.contact-title>span{font-family:var(--body);font-size:clamp(50px,8vw,140px);font-weight:400}.site-footer{color:#999;padding:40px var(--gutter) 35px;background:#0c0c0c;border-top:1px solid #252525;grid-template-columns:1fr 2fr 1fr;gap:40px;font-size:12px;display:grid}.back-top{align-items:flex-start;gap:15px;display:flex}.footer-identity{text-align:center;font-size:11px;line-height:1.8}.footer-identity p{margin-bottom:10px}.socials{justify-content:flex-end;gap:22px;display:flex}.footer-services{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:7px 25px;font-size:10px;display:flex}.preview-notice{z-index:30;white-space:nowrap;color:#ddd;backdrop-filter:blur(10px);background:#121212e6;border:1px solid #555;border-radius:100px;padding:5px 15px;font-size:10px;line-height:1.5;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.light-page{color:#111;--text:#111;color-scheme:light;background:#fff}.light-page .site-header{color:#111}.light-page .brand img{filter:invert()}.project-hero{padding:155px var(--gutter) 90px;text-align:center}.breadcrumbs{color:#777;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:55px;font-size:10px;line-height:1.7;display:flex}.breadcrumbs a{text-underline-offset:3px;text-decoration:underline}.project-hero h1{font-family:var(--display);text-transform:lowercase;text-wrap:balance;max-width:1500px;margin:auto;font-size:clamp(80px,13vw,260px);font-weight:400;line-height:1.04}.project-hero>p{color:#777;max-width:1000px;margin:35px auto 0;font-size:16px}.project-cover{height:90svh;max-height:1100px}.project-cover picture,.project-cover img{object-fit:cover;width:100%;height:100%}.project-overview{grid-template-columns:1.5fr 1fr;gap:12%;padding-block:100px;display:grid}.light-page .prose{color:#444}.project-summary>p{font-size:20px;line-height:1.8}.project-facts{margin:0;font-size:12px}.project-facts>div{border-bottom:1px solid #ddd;grid-template-columns:80px 1fr;gap:25px;padding:14px 0;display:grid}.project-facts dt{color:#888}.project-facts dd{margin:0}.project-body{max-width:1000px;padding-bottom:75px}.project-body>h2:first-child{margin-top:0}.project-images figure{margin-bottom:55px}.project-images img{border-radius:2px;width:100%;height:auto}.project-images figcaption{color:#777;padding-top:15px;font-size:11px;line-height:1.7}.related-projects{flex-wrap:wrap;gap:25px;padding-block:65px 100px;display:flex}.related-projects>a{text-underline-offset:5px;font-size:14px;text-decoration:underline}.related-projects h2{flex-basis:100%;font-size:28px;font-weight:500}.service-content{max-width:1000px;padding-bottom:80px}.service-projects{grid-template-columns:1fr 1fr;gap:35px;padding-block:50px 100px;display:grid}.service-projects h2{grid-column:1/-1}.service-projects a span{margin-top:12px;display:block}.service-projects img{aspect-ratio:16/9;object-fit:cover;width:100%}.hero-title-group{flex-direction:column;align-items:center;min-width:0;display:flex}.hero-seo-title,.project-hero h1.hero-seo-title{font-family:var(--body);text-transform:uppercase;letter-spacing:.02em;color:#a3a3a3;text-wrap:balance;max-width:1100px;margin:30px auto 0;font-size:18px;font-weight:400;line-height:1.5}.project-hero h1.hero-seo-title--on-image{color:#fff;backdrop-filter:blur(6px);background:#00000073;border-radius:100px;padding:6px 20px}@media (width<=1537px){.signature{font-size:calc(1rem + 22.15vw)}.hero-home h1{margin-top:30px}}@media (width<=1466px){:root{--gutter:60px}}@media (width<=1024px){:root{--gutter:40px}.hero-home h1{font-size:16px}.categories{grid-template-columns:120px 1fr;gap:20px}.categories a{font-size:42px}.project-card{height:85svh;padding-block:40px}.project-overview{gap:7%}.contact-title{font-size:12vw}.socials{text-align:right;flex-direction:column;gap:5px}}@media (width<=767px){:root{--gutter:30px;--header-height:90px}.hero-seo-title,.project-hero h1.hero-seo-title{margin-top:18px;font-size:12px;line-height:1.6}.site-header{height:90px}.brand,.brand img{width:55px;height:42px}.hero-home{min-height:930px;padding-top:110px;padding-bottom:220px}.signature{letter-spacing:0;font-size:calc(1rem + 22.15vw)}.hero-home h1{max-width:620px;font-size:14px;line-height:1.6}.hero-bottom{text-align:left;grid-template-columns:1fr;gap:25px;bottom:45px}.scroll-cue{width:44px}.hero-bottom p{margin:0;font-size:13px;line-height:1.8}.categories{grid-template-columns:1fr;gap:15px;padding-top:30px;padding-bottom:25px}.categories>span{padding:0}.categories nav{gap:10px 25px}.categories a{font-size:35px}.project-card{height:75svh;min-height:440px;max-height:700px;padding:20px 0}.project-card h2{border-radius:24px;padding:8px 20px 12px;font-size:58px;bottom:30px}.project-arrow{font-size:25px;top:14px;right:18px}.home-intro{padding-block:70px}.prose{font-size:14px}.contact-section{padding-top:65px;padding-bottom:45px}.contact-details{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:35px;font-size:12px}.contact-title{font-size:15vw;line-height:1.15}.contact-title>span{font-size:12vw}.site-footer{grid-template-columns:1fr 1fr;gap:30px;font-size:11px}.footer-identity{grid-area:2/1/auto/-1;font-size:10px}.footer-services{gap:6px 16px}.socials{flex-direction:row;gap:16px}.back-top span{display:none}.project-hero{padding-top:125px;padding-bottom:50px}.breadcrumbs{margin-bottom:40px;font-size:9px}.project-hero h1{font-size:19vw}.project-hero>p{margin-top:25px;font-size:13px}.project-cover{height:55svh;min-height:320px}.project-overview{grid-template-columns:1fr;gap:40px;padding-block:55px}.project-summary>p{font-size:16px}.project-facts{font-size:11px}.project-facts>div{grid-template-columns:70px 1fr}.project-body{padding-bottom:40px}.project-images figure{margin-bottom:30px}.related-projects{padding-block:40px 65px}.related-projects>a{font-size:12px}.service-projects{grid-template-columns:1fr}.preview-notice{font-size:9px}}@media (width<=479px){:root{--gutter:20px}.hero-home{min-height:100svh;padding-bottom:195px}.signature{font-size:26vw}.hero-home h1{margin-top:25px;font-size:10px;line-height:1.7}.hero-bottom{bottom:36px}.hero-bottom p{font-size:11px}.categories a{font-size:31px}.categories nav{gap:10px 18px}.project-card{height:70svh;min-height:400px}.project-card h2{font-size:46px;bottom:25px}.project-hero h1{font-size:20vw}.contact-title{font-size:15vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.project-card:hover img{transform:none}}.navigation summary{cursor:pointer;list-style:none}.navigation summary::-webkit-details-marker{display:none}.navigation>summary{z-index:22;min-height:44px;align-items:center;margin-inline-end:calc(30px - var(--gutter));font-size:14px;font-weight:500;display:flex;position:relative}.menu-word{margin-inline-end:10px;overflow:hidden}.menu-word-track{display:block;position:relative}.menu-word-track>span{position:absolute;inset:100% 0 auto}.menu-icon{width:80px;height:80px;display:block;position:relative}.menu-icon-lines{pointer-events:none;position:absolute;inset:0}.menu-icon-lines:before,.menu-icon-lines:after{content:"";background:currentColor;width:16px;height:2px;position:absolute;top:calc(50% - 1px);left:calc(50% - 8px)}.menu-icon-lines:before{transform:translateY(-3px)}.menu-icon-lines:after{transform:translateY(3px)}.navigation[open] .menu-icon-lines:before{transform:rotate(45deg)}.navigation[open] .menu-icon-lines:after{transform:rotate(-45deg)}body:has(details.navigation[open]) .site-header{position:fixed}.navigation nav{z-index:21;overscroll-behavior:contain;color:#fff;text-align:center;background:#0c0c0c;flex-direction:column;padding:28px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.navigation-list,.navigation-project-list{padding:0;list-style:none}.navigation-list{width:max-content;max-width:100%;margin:auto}.navigation-title{vertical-align:top;max-width:100%;font:400 calc(1rem + 6vw)/calc(1rem + 5.5vw) var(--display);text-transform:lowercase;padding-inline:5px;display:inline-block;overflow:hidden}.navigation-label{display:block;position:relative}.navigation-label>span{position:absolute;inset:100% 0 auto;overflow:hidden}.navigation-project-list{max-width:min(100%,420px);font:500 16px/26px var(--body);margin:22px auto 14px}.navigation-project-list a{padding:3px 5px;display:inline-block}@media (hover:hover) and (pointer:fine){.navigation-list:has(>li:hover)>li:not(:hover) .navigation-title:not(:focus-visible),.navigation-project-list:has(a:hover) a:not(:hover,:focus-visible){opacity:.3}}@media (prefers-reduced-motion:no-preference){.menu-icon-lines:before,.menu-icon-lines:after,.menu-word-track,.navigation-label{transition:transform .2s}.navigation-title,.navigation-project-list a{transition:opacity .2s}.navigation[open] nav{animation:.3s ease-out both navigation-in}.navigation[open] .navigation-list>li{animation:.7s cubic-bezier(.2,.7,.2,1) both navigation-title-in;animation-delay:calc(.15s + var(--menu-index) * .1s)}@media (hover:hover) and (pointer:fine){.navigation>summary:hover .menu-word-track{transform:translateY(-100%)}.menu-icon-lines{transform:translate(var(--menu-icon-x,0px), var(--menu-icon-y,0px));transition:transform .3s cubic-bezier(.22,.61,.36,1)}.navigation-title:hover .navigation-label{transform:translateY(-100%)}}}@keyframes navigation-in{0%{opacity:0}}@keyframes navigation-title-in{0%{opacity:0;transform:translateY(160px)}}@media (width<=767px){.navigation>summary{margin-inline-end:calc(-1 * var(--gutter))}.menu-word{display:none}.menu-icon{width:60px;height:60px}.navigation-title{font-size:calc(1rem + 14vw);line-height:calc(1rem + 13.5vw)}}@media (height<=600px){.navigation nav{padding-block-start:var(--header-height)}}
