@charset "UTF-8";.site-nav{position:fixed;top:28px;left:0;width:100%;z-index:20;pointer-events:none}.site-nav-inner{width:min(1220px,100% - 64px);margin:0 auto;display:flex;justify-content:flex-end;align-items:center;gap:22px;padding:12px 18px;border-radius:18px;transition:background-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}.site-nav.is-scrolled .site-nav-inner{background:#f5f5f5eb;box-shadow:0 14px 36px #00000014;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-nav-link{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-width:130px;padding:15px 24px;color:var(--header-color);text-decoration:none;text-align:center;font-family:Montserrat;font-size:14px;font-weight:500;line-height:1;letter-spacing:.04em;transition:background-color .2s ease,color .2s ease}.site-nav-link.is-active{background:var(--dot-color);color:#fff}@media(max-width:900px){.site-nav{top:20px}.site-nav-inner{width:min(100%,100% - 32px);gap:10px;padding:10px 12px}.site-nav-link{min-width:0;flex:1 1 0;padding:13px 12px;font-size:14px}}@media(max-width:640px){.site-nav{top:max(12px,env(safe-area-inset-top))}.site-nav-inner{width:calc(100% - 24px);gap:4px;padding:6px;border-radius:14px}.site-nav-link{flex:1 1 0;min-height:40px;padding:8px 4px;font-size:clamp(10px,2.9vw,12px);letter-spacing:.02em;white-space:nowrap}}.loader-overlay{position:fixed;inset:0;z-index:9999;background:#000;color:#f2f2f2;overflow:hidden;isolation:isolate;will-change:opacity}.loader-inner{position:absolute;top:0;bottom:0;left:0;right:var(--scrollbar-width, 0px)}.loader-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.loader-logo{display:block;width:clamp(180px,26vw,360px);height:auto;object-fit:contain;transform-origin:50% 50%;will-change:transform;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none}.banner-wrapper{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background-color:var(--background-color)}.banner-wrapper .banner{display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;min-height:100vh;width:100%;position:relative;isolation:isolate;text-transform:uppercase}.banner-wrapper .banner .banner-main-copy{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.banner-wrapper .banner .name-wrapper{position:relative;overflow:hidden}.banner-wrapper .banner .name-wrapper .name{font-size:32px;margin:0 0 -10px;padding:0;position:relative;line-height:45px;z-index:1;font-weight:500;letter-spacing:3px;color:var(--header-color)}.banner-wrapper .banner .name-wrapper .name .split-line{display:block;overflow:hidden}.banner-wrapper .banner .name-wrapper .name .char{transform:translateY(35px);font-family:Montserrat;display:inline-block}.banner-wrapper .banner .title-wrapper{position:relative;z-index:1;margin:30px 0 40px;overflow:hidden}.banner-wrapper .banner .title-wrapper .title{font-size:170px;font-weight:900;margin:0;padding:0;text-transform:uppercase;line-height:140px;color:var(--header-color)}.banner-wrapper .banner .title-wrapper .title .split-line{display:block;overflow:hidden}.banner-wrapper .banner .title-wrapper .title .char{transform:translateY(-200px);display:inline-block}.banner-wrapper .banner .undertitle-wrapper{position:relative;z-index:3;margin:10px 0 130px;overflow:hidden;padding-right:40px}.banner-wrapper .banner .undertitle-wrapper .undertitle{font-size:220px;font-weight:900;line-height:165px;margin:0;padding:0;-webkit-text-fill-color:transparent;text-fill-color:transparent;-webkit-text-stroke-width:3px;-webkit-text-stroke-color:var(--subheader-color);text-stroke-width:1px;text-stroke-color:var(--header-color);position:relative;z-index:1;transform:translate(40px)}.banner-wrapper .banner .undertitle-wrapper .undertitle .split-line{display:block;overflow:hidden}.banner-wrapper .banner .undertitle-wrapper .undertitle .char{transform:translateY(-200px);display:inline-block}.banner-wrapper .banner .undertitle-wrapper .undertitle-dot{width:37px;height:37px;background-color:var(--dot-color);position:absolute;right:0;bottom:5px;transform:translateY(160px)}.banner-wrapper .banner .imageRef{position:absolute;width:600px;height:auto;bottom:0;opacity:0;transform:translateY(200px);z-index:2;transform-origin:center bottom;will-change:transform}.banner-wrapper .banner .portfolio-wrapper{position:absolute;left:0;transform:rotate(-90deg);transform-origin:top left;overflow:hidden;top:100%;margin:0 10px;z-index:4}.banner-wrapper .banner .portfolio-wrapper .portfolio{font-size:50px;font-weight:700;color:var(--sidetext-color);letter-spacing:5px;margin:0;padding:0 10px;line-height:42px}.banner-wrapper .banner .portfolio-wrapper .portfolio .split-line{display:block;overflow:hidden}.banner-wrapper .banner .portfolio-wrapper .portfolio .char{transform:translateY(-45px);display:inline-block}.banner-wrapper .banner .portfolio-wrapper.portfolio-wrapper-copy{visibility:hidden;opacity:0;transform:rotate(0);transform-origin:unset;left:0;top:200px;z-index:0;font-size:100px}.banner-wrapper .banner .portfolio-wrapper.portfolio-wrapper-copy .portfolio{font-size:320px;max-width:1000px;text-wrap:auto;word-wrap:break-word;line-height:232px;letter-spacing:-10px;text-align:left}.banner-wrapper .banner .portfolio-wrapper.portfolio-wrapper-copy .portfolio .split-line{display:block;overflow:hidden}.banner-wrapper .banner .banner-side-copy{position:absolute;left:clamp(48px,7vw,120px);top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;width:min(34vw,433px);z-index:3;pointer-events:none;text-align:left}.banner-wrapper .banner .banner-side-copy .side-name-wrapper,.banner-wrapper .banner .banner-side-copy .side-title-wrapper,.banner-wrapper .banner .banner-side-copy .side-undertitle-wrapper{overflow:hidden}.banner-wrapper .banner .banner-side-copy .side-name{margin:0 0 16px;font-family:Montserrat;font-size:clamp(14px,1vw,18px);font-weight:500;line-height:1.2;letter-spacing:.14em;color:var(--header-color)}.banner-wrapper .banner .banner-side-copy .side-name .split-line{display:block;overflow:hidden}.banner-wrapper .banner .banner-side-copy .side-name .char{display:inline-block}.banner-wrapper .banner .banner-side-copy .side-title{margin:0 0 22px;font-family:Poppins;font-size:clamp(40px,4vw,64px);font-weight:900;line-height:.9;color:var(--header-color)}.banner-wrapper .banner .banner-side-copy .side-title .split-line{display:block;overflow:hidden}.banner-wrapper .banner .banner-side-copy .side-title .char{display:inline-block}.banner-wrapper .banner .banner-side-copy .side-undertitle-wrapper{position:relative;padding-right:18px}.banner-wrapper .banner .banner-side-copy .side-undertitle{margin:0;font-family:Poppins;font-size:clamp(52px,4.8vw,82px);font-weight:900;line-height:.88;-webkit-text-fill-color:transparent;-webkit-text-stroke-width:2px;-webkit-text-stroke-color:var(--subheader-color)}.banner-wrapper .banner .banner-side-copy .side-undertitle .split-line{display:block;overflow:hidden}.banner-wrapper .banner .banner-side-copy .side-undertitle .char{display:inline-block}.banner-wrapper .banner .banner-side-copy .side-undertitle-dot{width:18px;height:18px;background-color:var(--dot-color);position:absolute;right:0;bottom:7px}@media(max-width:1100px){.banner-wrapper .banner .title-wrapper .title{font-size:132px;line-height:.9}.banner-wrapper .banner .undertitle-wrapper .undertitle{font-size:180px;line-height:.88}.banner-wrapper .banner .imageRef{width:520px}.banner-wrapper .banner .banner-side-copy{width:min(38vw,420px)}.banner-wrapper .banner .banner-side-copy .side-title{font-size:clamp(34px,3.6vw,54px)}.banner-wrapper .banner .banner-side-copy .side-undertitle{font-size:clamp(44px,4.2vw,68px)}}@media(max-width:820px){.banner-wrapper .banner .title-wrapper{margin:24px 0 30px}.banner-wrapper .banner .title-wrapper .title{font-size:88px}.banner-wrapper .banner .undertitle-wrapper{margin-bottom:90px}.banner-wrapper .banner .undertitle-wrapper .undertitle{font-size:126px}.banner-wrapper .banner .imageRef{width:420px}.banner-wrapper .banner .banner-side-copy{left:24px;width:min(42vw,280px)}.banner-wrapper .banner .banner-side-copy .side-name{margin-bottom:10px;letter-spacing:.1em}.banner-wrapper .banner .banner-side-copy .side-title{margin-bottom:16px;font-size:clamp(28px,4.8vw,40px)}.banner-wrapper .banner .banner-side-copy .side-undertitle{font-size:clamp(36px,5.8vw,54px)}.banner-wrapper .banner .banner-side-copy .side-undertitle-dot{width:14px;height:14px;bottom:6px}}@media(max-width:600px){.banner-wrapper{--image-width: min(100vw, 460px);min-height:100vh;min-height:100svh}.banner-wrapper .banner{justify-content:flex-start;min-height:100vh;min-height:100svh;padding-top:max(96px,100svh - .935 * var(--image-width) - 29.6vw - 64px)}.banner-wrapper .banner .name-wrapper .name{margin-bottom:0;font-size:15px;line-height:22px;letter-spacing:2px}.banner-wrapper .banner .title-wrapper{margin:8px 0 6px}.banner-wrapper .banner .title-wrapper .title{font-size:min(16vw,88px);line-height:.92}.banner-wrapper .banner .undertitle-wrapper{margin:0;padding-right:20px}.banner-wrapper .banner .undertitle-wrapper .undertitle{font-size:min(16.5vw,96px);line-height:.9;-webkit-text-stroke-width:2px;transform:translate(20px)}.banner-wrapper .banner .undertitle-wrapper .undertitle-dot{width:16px;height:16px;bottom:4px}.banner-wrapper .banner .imageRef{width:var(--image-width)}.banner-wrapper .banner .portfolio-wrapper{margin:0 4px}.banner-wrapper .banner .portfolio-wrapper .portfolio{font-size:24px;line-height:22px;letter-spacing:3px;padding:0 8px}.banner-wrapper .banner .portfolio-wrapper.portfolio-wrapper-copy{top:max(220px,28%)}.banner-wrapper .banner .portfolio-wrapper.portfolio-wrapper-copy .portfolio{max-width:100%;padding:0 4vw;font-size:30vw;line-height:.74;letter-spacing:-.03em}.banner-wrapper .banner .banner-side-copy{inset:96px 20px auto;width:auto;justify-content:flex-start}.banner-wrapper .banner .banner-side-copy .side-name{margin-bottom:8px;font-size:12px;letter-spacing:.12em}.banner-wrapper .banner .banner-side-copy .side-title{margin-bottom:8px;font-size:11vw}.banner-wrapper .banner .banner-side-copy .side-undertitle-wrapper{align-self:flex-start;padding-right:16px}.banner-wrapper .banner .banner-side-copy .side-undertitle{font-size:13vw;-webkit-text-stroke-width:1.5px}.banner-wrapper .banner .banner-side-copy .side-undertitle-dot{width:11px;height:11px;bottom:4px}}.about-section{position:relative;padding:124px 0 56px;overflow:hidden;background:var(--background-color);scroll-margin-top:120px}.about-shell{position:relative;width:min(1240px,100%);margin:0 auto;min-height:720px;padding:0 48px;visibility:hidden;opacity:0}.about-watermark{position:absolute;inset:0 auto auto 0;display:flex;flex-direction:column;gap:12px;color:#0000000a;font-family:Poppins;font-size:clamp(190px,24vw,280px);font-weight:900;line-height:.84;letter-spacing:-.04em;text-transform:uppercase;-webkit-user-select:none;user-select:none;pointer-events:none}.about-watermark span{display:block;opacity:0}.about-copy{position:relative;z-index:1;width:min(700px,100%);margin-left:auto;padding-top:115px;text-align:right}.about-copy-main,.about-copy-highlight{font-family:Montserrat;color:var(--header-color)}.about-split-target{overflow:hidden;visibility:hidden}.about-split-target .split-line{display:block;overflow:hidden}.about-copy-main{font-size:clamp(18px,1.45vw,24px);font-weight:500;line-height:1.28}.about-copy-main+.about-copy-main{margin-top:22px}.about-copy-highlight{margin-top:34px;font-size:clamp(24px,1.95vw,34px);font-weight:700;line-height:1.18}.about-split-target .char{display:inline-block;will-change:transform}.about-transition{width:min(1240px,100%);margin:34px auto 0;padding:0 48px;display:flex;align-items:flex-end;gap:34px;visibility:hidden;opacity:0}.about-transition-line{width:min(430px,32vw);height:1px;background:#00000052;transform:translateY(-18px);opacity:0}.about-transition-title{margin:0;font-family:Poppins;font-size:clamp(56px,6.2vw,88px);font-weight:900;line-height:.9;letter-spacing:-.04em;text-transform:uppercase}.about-transition-title span{color:var(--dot-color)}@media(max-width:1024px){.about-shell{min-height:640px;padding:0 28px}.about-copy{width:min(620px,100%);padding-top:170px}.about-transition{padding:0 28px}}@media(max-width:780px){.about-section{padding-top:140px}.about-shell{min-height:auto;padding:0 20px}.about-watermark{position:relative;gap:0;font-size:clamp(96px,24vw,180px);line-height:.88}.about-copy{width:100%;padding-top:24px;text-align:left}.about-copy-main{font-size:clamp(16px,4.4vw,21px)}.about-copy-highlight{font-size:clamp(21px,5.4vw,28px)}.about-transition{margin-top:48px;padding:0 20px;flex-direction:column;align-items:flex-start;gap:18px}.about-transition-line{width:min(240px,60vw);transform:none}}@media(max-width:600px){.about-section{padding:72px 0 40px}.about-watermark{font-size:26vw}.about-copy-main{font-size:clamp(15px,4vw,17px);line-height:1.4}.about-copy-main+.about-copy-main{margin-top:16px}.about-copy-highlight{margin-top:24px;font-size:clamp(19px,5.2vw,23px)}.about-transition{margin-top:40px}.about-transition-title{font-size:clamp(40px,12.5vw,56px)}}.rail-progress-line{position:absolute;top:var(--rail-top, 0px);bottom:0;right:var(--rail-offset, clamp(16px, 6.8vw, 130px));width:2px;background:#bfbfbf}.rail-progress{position:absolute;top:var(--rail-top, 0px);right:calc(var(--rail-offset, clamp(16px, 6.8vw, 130px)) + 1px);z-index:2;width:0;height:clamp(120px,18.75vw,360px);will-change:transform}.rail-progress-bar{position:absolute;inset:0 auto 0 -3px;width:6px;border-radius:3px;background:var(--dot-color)}.rail-progress-labels{position:absolute;top:50%;left:16px;width:4em;height:1.2em;overflow:hidden;transform:translateY(-50%);color:#000;font-family:Montserrat;font-size:clamp(11px,.85vw,16px);font-weight:400;line-height:1.2;white-space:nowrap}.rail-progress-label{position:absolute;top:0;left:0;font-family:inherit}@media(max-width:900px){.rail-progress-line,.rail-progress{display:none}}.portfolio-showcase{--rail-offset: clamp(16px, 6.8vw, 130px);--rail-top: clamp(24px, 3vw, 56px);--row-padding-block: clamp(48px, 4.3vw, 83px);--row-width: min(57vw, 1100px);position:relative;padding-top:var(--rail-top);background:#fff;overflow:hidden;scroll-margin-top:120px}.portfolio-showcase,.portfolio-showcase *{font-family:Montserrat}.showcase-row{position:relative;display:grid;grid-template-columns:minmax(0,546fr) minmax(0,745fr);grid-template-areas:"copy media";align-items:center;column-gap:clamp(28px,5vw,96px);min-height:clamp(420px,40vw,770px);padding-block:var(--row-padding-block);padding-inline:calc((100% - var(--row-width)) / 2);visibility:hidden}.showcase-row--media-left{grid-template-columns:minmax(0,843fr) minmax(0,592fr);grid-template-areas:"media copy";column-gap:clamp(28px,3.4vw,64px)}.showcase-watermark{position:absolute;top:var(--row-padding-block);left:-1vw;display:flex;flex-direction:column;color:#f5f5f5;font-size:clamp(64px,11.5vw,220px);font-weight:700;line-height:.96;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.showcase-copy{position:relative;z-index:1;grid-area:copy;display:flex;flex-direction:column;align-items:flex-start;color:#000}.showcase-row--media-left .showcase-copy{align-items:flex-end;text-align:right}.showcase-title{margin:0 0 clamp(12px,1.5vw,28px);font-size:clamp(26px,2.35vw,45px);font-weight:700;line-height:1.1;white-space:nowrap}.showcase-title .split-line{overflow:hidden}.showcase-title .char{display:inline-block;will-change:transform}.showcase-categories{margin:0;padding:0;list-style:none;font-size:clamp(16px,1.35vw,26px);font-weight:400;line-height:1.22}.showcase-description{max-width:29em;margin:clamp(16px,1.7vw,32px) 0 0;font-size:clamp(13px,.8vw,15px);font-weight:400;line-height:1.22}.showcase-button{--pill: 1.18em;display:inline-block;margin:clamp(22px,2.6vw,50px) 0 0 1.25em;padding:.68em 1.4em;border:none;border-radius:0 var(--pill) var(--pill) 2.6em/0 var(--pill) var(--pill) 2.36em;background:#1c1c1c;color:#fff;font-size:clamp(14px,1.35vw,26px);font-weight:400;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .25s ease}.showcase-button:hover{background:#000}.showcase-button:focus-visible{outline:2px solid var(--dot-color);outline-offset:4px}.showcase-row--media-left .showcase-button{margin:clamp(22px,2.6vw,50px) 1.4em 0 0;border-radius:var(--pill) 0 2.6em var(--pill)/var(--pill) 0 2.36em var(--pill)}.showcase-media{position:relative;z-index:1;grid-area:media;display:flex;flex-direction:column;align-items:center;margin:0}.showcase-image{display:block;width:100%;height:auto}.showcase-row--3d .showcase-image{width:clamp(150px,16vw,306px)}.showcase-software{margin-top:clamp(12px,1.8vw,35px);color:#000;font-size:clamp(12px,.9vw,17px);font-weight:400;text-align:center}.showcase-software strong{font-weight:600}.showcase-row--media-left .showcase-software{align-self:stretch;padding-left:10%;text-align:left}@media(max-width:900px){.showcase-row,.showcase-row--media-left{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "media";row-gap:40px;min-height:0;padding:clamp(56px,12vw,80px) 20px}.showcase-watermark{top:24px;font-size:clamp(64px,20vw,160px)}.showcase-title{white-space:normal}.showcase-row--media-left .showcase-copy{align-items:flex-start;text-align:left}.showcase-row--media-left .showcase-button{margin:clamp(22px,2.6vw,50px) 0 0 1.25em;border-radius:0 var(--pill) var(--pill) 2.6em/0 var(--pill) var(--pill) 2.36em}.showcase-row--3d .showcase-image{width:min(50vw,260px)}.showcase-row--media-left .showcase-software{padding-left:0;text-align:center}}@media(max-width:600px){.showcase-row,.showcase-row--media-left{row-gap:32px;padding:56px 20px}.showcase-watermark{top:16px}.showcase-title{font-size:clamp(24px,7vw,28px)}.showcase-categories{font-size:15px;line-height:1.35}.showcase-description{font-size:13px;line-height:1.45}.showcase-button{font-size:14px}.showcase-software{font-size:12px}}.contact{position:relative;padding:clamp(40px,3.2vw,60px) 0 clamp(56px,7vw,136px);background:#fff;color:var(--header-color);overflow:hidden;scroll-margin-top:120px;visibility:hidden}.contact,.contact *{font-family:Montserrat}.contact-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:clamp(14px,2.2vw,42px)}.contact-line{display:block;height:2px;background:#7f7f7f}.contact-title{margin:0;font-size:clamp(30px,3.65vw,70px);font-weight:700;line-height:1;white-space:nowrap}.contact-accent{color:var(--dot-color)}.contact-title .split-line,.contact-cta-big .split-line{overflow:hidden}.contact-title .char,.contact-cta-big .char{display:inline-block;will-change:transform}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;column-gap:clamp(40px,9vw,172px);width:min(100% - 40px,1240px);margin:clamp(36px,5.3vw,102px) auto 0}.contact-cta{display:flex;flex-direction:column;align-items:center;font-weight:400;letter-spacing:.08em;line-height:1;text-transform:uppercase}.contact-cta,.contact-cta *{font-family:Nova Round,Montserrat,sans-serif}.contact-cta-small{font-size:clamp(17px,1.8vw,35px)}.contact-cta-big{margin-block:.35em .45em;font-size:clamp(30px,3.45vw,66px);letter-spacing:.06em;white-space:nowrap}.contact-cta-note{align-self:flex-end;margin:.6em 0 0;font-size:clamp(12px,.9vw,17px);letter-spacing:.1em;text-transform:none}.contact-side{display:flex;flex-direction:column;gap:clamp(22px,1.7vw,32px)}.contact-email{display:inline-flex;align-items:center;align-self:center;gap:clamp(12px,1.5vw,28px);color:inherit;font-size:clamp(15px,1.3vw,25px);font-weight:400;letter-spacing:.04em;text-decoration:none;overflow-wrap:anywhere}.contact-email:hover span,.contact-email:focus-visible span{text-decoration:underline;text-underline-offset:.2em}.contact-email-icon{flex:none;width:clamp(32px,2.5vw,49px);height:clamp(32px,2.5vw,49px);color:#ac2101}.contact-socials{display:flex;justify-content:center;gap:clamp(22px,2.2vw,42px);margin:0;padding:0;list-style:none}.contact-social{display:block;width:clamp(30px,2.1vw,40px);height:clamp(30px,2.1vw,40px);color:#111;transition:transform .2s ease,color .2s ease}.contact-social svg{display:block;width:100%;height:100%}.contact-social:hover,.contact-social:focus-visible{color:var(--dot-color);transform:translateY(-2px)}@media(max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr);row-gap:48px}.contact-email{align-self:flex-start}.contact-socials{justify-content:flex-start}}.site-footer{padding:clamp(28px,2.5vw,48px) 20px;background:#d9d9d9;text-align:center}.site-footer p{margin:0;color:#fff;font-family:Montserrat;font-size:clamp(14px,1.25vw,24px);font-weight:500;letter-spacing:.12em}.project-gallery-grid{display:grid;grid-template-columns:var(--gallery-columns);grid-template-rows:var(--gallery-rows);grid-template-areas:var(--gallery-areas);gap:clamp(8px,1.1vw,22px)}.project-gallery-slot{position:relative;grid-area:var(--slot-area);overflow:hidden;margin:0;padding:0;border:none;background:#111}.project-gallery-slot--sized{aspect-ratio:var(--gallery-ratio)}button.project-gallery-slot{cursor:zoom-in}button.project-gallery-slot .project-gallery-image{transition:transform .5s ease,filter .3s ease}button.project-gallery-slot:hover .project-gallery-image{filter:brightness(1.08)}button.project-gallery-slot:focus-visible{outline:3px solid var(--dot-color);outline-offset:3px}.project-gallery-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.project-gallery-ghost{z-index:1;pointer-events:none}.project-gallery-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin-top:clamp(14px,1.5vw,30px)}.project-gallery-caption{grid-column:1;margin:0;font-family:Montserrat;font-size:clamp(15px,1.25vw,24px);font-weight:400}.project-gallery-dots{--dot-active-size: clamp(16px, 1.5vw, 30px);grid-column:2;display:flex;height:var(--dot-active-size);align-items:center;justify-content:center}.project-gallery-dot{--size: 0px;flex:none;width:var(--size);height:var(--size);margin:0 calc(var(--size) * .3);padding:0;border:none;border-radius:50%;background:#e9e9e9;cursor:pointer;transition:width .35s ease,height .35s ease,margin .35s ease,background-color .35s ease,opacity .35s ease}.project-gallery-dot--active{--size: var(--dot-active-size);background:#797979}.project-gallery-dot--near-1{--size: clamp(11px, 1.1vw, 21px);background:silver}.project-gallery-dot--near-2{--size: clamp(8px, .8vw, 15px)}.project-gallery-dot--hidden{opacity:0;pointer-events:none}.project-gallery-dot:focus-visible{outline:2px solid var(--dot-color);outline-offset:3px}@media(max-width:900px){.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-template-areas:none}.project-gallery-slot{grid-area:auto;aspect-ratio:var(--gallery-ratio)}.project-gallery-slot--featured{order:-1;grid-column:1/-1}.project-gallery-footer{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:12px}.project-gallery-caption,.project-gallery-dots{grid-column:1}}.project-page{background:#fff;color:#000}.project-list{--rail-offset: clamp(16px, 5vw, 96px);--rail-top: clamp(96px, 7.3vw, 140px);--page-left: clamp(20px, 6.25vw, 120px);--page-right: clamp(20px, 10.9vw, 210px);position:relative;padding-bottom:clamp(40px,6vw,120px);overflow:hidden}.project-list,.project-list *{font-family:Montserrat}.project-entry+.project-entry{margin-top:clamp(56px,7.5vw,144px)}.project-intro{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:clamp(24px,3vw,60px) var(--page-right) 0 var(--page-left);visibility:hidden}.project-intro--aside{grid-template-columns:minmax(0,510fr) minmax(0,960fr);column-gap:clamp(32px,6vw,116px)}.project-intro--watermark{padding-top:clamp(80px,9.75vw,188px)}.project-entry:first-child .project-intro{padding-top:clamp(140px,12.5vw,240px)}.project-watermark{position:absolute;top:clamp(16px,2vw,40px);left:-.5vw;display:flex;flex-direction:column;color:#f8f8f8;font-size:clamp(72px,13vw,252px);font-weight:700;line-height:.9;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.project-entry:first-child .project-watermark{top:clamp(72px,7.3vw,140px)}.project-intro-copy,.project-intro-aside{position:relative;z-index:1}.project-title{margin:0;font-size:clamp(28px,2.8vw,54px);font-weight:700;line-height:1.1}.project-title .split-line{overflow:hidden}.project-title .char{display:inline-block;will-change:transform}.project-title-text,.project-title-end{white-space:nowrap}.project-title-dot{display:inline-block;width:.2em;height:.2em;margin-left:.1em;background:var(--dot-color)}.project-subtitle{margin:.25em 0 0;color:#860000;font-size:clamp(20px,2.15vw,41px);font-weight:700;line-height:1.1}.project-categories{margin:clamp(12px,1.5vw,30px) 0 0;padding:0;list-style:none;font-size:clamp(17px,1.4vw,27px);font-weight:400;line-height:1.22}.project-categories--inline{display:flex;margin-top:clamp(8px,1vw,20px);white-space:nowrap}.project-categories--inline li:not(:last-child):after{content:"·";margin:0 .3em}.project-description{max-width:30em;margin:clamp(8px,1vw,20px) 0 0;font-size:clamp(14px,.83vw,16px);font-weight:400;line-height:1.3}.project-intro-aside{display:flex;justify-content:center}.project-intro-image{display:block;width:auto;max-width:100%;height:auto;max-height:55vh}.project-colors{--swatch-size: clamp(56px, 5.2vw, 100px);--swatch-gap: clamp(10px, 1vw, 19px);display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1vw,20px)}.project-colors--copy{align-items:flex-start;margin-top:clamp(20px,2.4vw,46px)}.project-colors--copy .project-colors-label{order:1;align-self:stretch;max-width:calc(3 * var(--swatch-size) + 2 * var(--swatch-gap));text-align:center}.project-colors--center{margin-top:clamp(28px,3.4vw,66px)}.project-colors--center .project-colors-label{order:1}.project-colors-label{margin:0;font-size:clamp(11px,.7vw,14px);font-weight:500;letter-spacing:.5em;white-space:nowrap}.project-swatches{display:flex;gap:var(--swatch-gap);margin:0;padding:0;list-style:none}.project-swatch-item{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,.9vw,18px)}.project-swatch{display:block;width:var(--swatch-size);height:var(--swatch-size);border-radius:50%;background:var(--swatch)}.project-swatch--outlined{box-shadow:inset 0 0 0 1px #0009}.project-swatch-value{font-size:clamp(12px,.7vw,14px);font-weight:400}.project-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.project-block{--block-width: min(var(--block-max-width, 100%), 61vw);display:grid;grid-template-columns:minmax(0,var(--block-width));justify-content:center;margin-top:clamp(32px,4.5vw,88px);padding:0 var(--page-right) 0 var(--page-left);visibility:hidden}.project-block--icons{grid-template-columns:clamp(36px,3vw,56px) minmax(0,var(--block-width));grid-template-areas:". heading" "tools gallery";column-gap:clamp(16px,3.4vw,64px)}.project-block--icons .project-block-heading{grid-area:heading}.project-block--icons .project-block-icons{grid-area:tools}.project-block--icons .project-block-content{grid-area:gallery}.project-block-heading{margin:0 0 clamp(12px,1.35vw,26px);font-size:clamp(16px,1.4vw,27px);white-space:nowrap;font-weight:400;text-align:center}.project-block-heading strong{font-weight:600}.project-block-heading small{font-size:.67em}.project-block-icons{display:flex;flex-direction:column;align-self:center;align-items:center;gap:clamp(14px,1.7vw,34px);margin:0;padding:0;list-style:none}.project-block-icons img{display:block;width:clamp(32px,3vw,56px);height:auto}.project-materials{margin:clamp(8px,.8vw,16px) 0 0;font-size:clamp(15px,1.25vw,24px);font-weight:400}.project-split{display:grid;grid-template-columns:minmax(0,937fr) minmax(0,517fr);align-items:end;column-gap:clamp(12px,1.2vw,24px);max-width:calc(61vw + var(--page-left) + var(--page-right));margin-inline:auto;padding:0 var(--page-right) 0 var(--page-left)}.project-split .project-intro,.project-split .project-block{--block-width: 100%;padding-left:0;padding-right:0}.project-split .project-categories--inline{flex-wrap:wrap}.project-split .project-block-heading{white-space:normal}.project-split .project-watermark{left:calc(-.5vw - var(--page-left) - (39vw - var(--page-left) - var(--page-right)) / 2)}.project-split+.project-block{margin-top:clamp(12px,1.2vw,24px)}.project-split-aside{margin:0;visibility:hidden}.project-split-aside img{display:block;width:100%;height:auto}@media(max-width:900px){.project-title-text,.project-categories--inline{white-space:normal}.project-categories--inline{flex-wrap:wrap}.project-intro--aside{grid-template-columns:minmax(0,1fr);row-gap:40px}.project-entry:first-child .project-intro{padding-top:180px}.project-intro-aside{justify-content:flex-start}.project-block,.project-block--icons{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "tools" "gallery";padding:0 var(--page-left)}.project-block-heading{white-space:normal}.project-split{grid-template-columns:minmax(0,1fr);row-gap:clamp(32px,4.5vw,88px);max-width:none;padding:0 var(--page-left)}.project-split .project-watermark{left:calc(-1 * var(--page-left) - .5vw)}.project-block-icons{flex-direction:row;justify-content:center;margin-bottom:20px}}@media(max-width:640px){.project-entry:first-child .project-intro{padding-top:112px}.project-entry:first-child .project-watermark{top:64px}.project-watermark{font-size:clamp(56px,17vw,72px)}.project-title{font-size:clamp(24px,7vw,28px)}.project-subtitle{font-size:18px}.project-categories{font-size:15px;line-height:1.35}.project-description{font-size:13px;line-height:1.45}.project-colors{--swatch-size: 48px}.project-block-heading{font-size:14px}.project-materials{font-size:13px}}.media-frame{margin:0;overflow:hidden;background:#f2f2f2}.media-frame img{display:block;width:100%;height:auto;transition:transform .6s ease}.media-frame:hover img{transform:scale(1.03)}.media-before-after{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,76px);margin-top:clamp(16px,2.5vw,48px)}.media-logo{display:block;width:auto;max-width:40%;height:clamp(120px,14vw,270px);object-fit:contain}.media-logo--new{max-width:50%}.media-arrow{flex:none;width:clamp(48px,5.3vw,102px);color:#000}.media-row{display:flex;align-items:flex-start;gap:clamp(8px,1vw,20px)}.media-row .media-frame{flex:var(--ratio) 1 0}.media-row--spacious{gap:clamp(16px,2.3vw,44px)}.media-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:clamp(8px,1vw,20px)}.media-columns{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:start;gap:clamp(12px,1.9vw,36px)}.media-column{display:grid;gap:clamp(12px,1.9vw,36px)}.media-mosaic{display:grid;grid-template-columns:var(--mosaic-columns);grid-template-rows:var(--mosaic-rows);grid-template-areas:var(--mosaic-areas);gap:clamp(8px,1vw,20px)}.media-frame--cell{position:relative;grid-area:var(--area)}.media-frame--cell img{position:absolute;inset:0;height:100%;object-fit:cover}.media-frame--sized{aspect-ratio:var(--ratio)}@media(max-width:900px){.media-before-after{gap:16px}.media-logo{height:auto}.media-row{flex-wrap:wrap}.media-row .media-frame{flex:1 1 100%}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-columns{grid-auto-flow:row}.media-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-template-areas:none}.media-mosaic .media-frame{grid-area:auto;aspect-ratio:var(--ratio)}.media-mosaic .media-frame--sized{grid-column:1/-1}}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Regular-CjbbpwMR.woff2) format("woff2"),url(/assets/Montserrat-Regular-BdMzRefO.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Medium-BIgU3Ldh.woff2) format("woff2"),url(/assets/Montserrat-Medium-DZarjTSE.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Bold-Dl1fp-bN.woff2) format("woff2"),url(/assets/Montserrat-Bold-D4JCkd3k.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Black-BWi2tVLw.woff2) format("woff2"),url(/assets/Montserrat-Black-BvreqxJ7.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Black-CqgFcexh.woff2) format("woff2"),url(/assets/Poppins-Black-yHqY0KRU.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Medium-DJoqwJbm.woff2) format("woff2"),url(/assets/Poppins-Medium-Cxde2ZoM.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Nova Round;src:url(/assets/NovaRound-Regular-DIg9J-Mc.woff2) format("woff2"),url(/assets/NovaRound-Regular-DPj6SeX5.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--background-color: hsl(0,0%,95%);--header-color: hsl(0, 0%, 5%);--subheader-color: hsla(0,0%, 55%, .8);--sidetext-color: hsl(0, 0%, 85%);--dot-color: hsl(0, 100%, 35%)}*{box-sizing:border-box;font-family:Poppins;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0;margin:0}html,body{height:100%}body{scrollbar-gutter:stable;background:var(--background-color);color:var(--header-color)}#root{min-height:100%}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
