:root{--bg:#fff;--fg:#101010;--muted:#6b6b6b;--gap:16px;--edge:16px;--maxw:1520px;--menu-bg:#00aeef}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;overflow-y:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}.side-dock{position:fixed;top:24px;left:24px;width:144px;background:#fff;border-radius:0;box-shadow:none;padding:24px 14px 10px;margin-left:10px;z-index:50;transition:transform .35s ease,opacity .35s ease}.side-dock.hidden{transform:translateY(-16px);opacity:0;pointer-events:none}.side-dock .logo{font-weight:800;letter-spacing:.02em;margin-bottom:10px}.side-dock nav a{display:block;padding:8px 4px;color:var(--muted)}.side-dock nav a.active,.side-dock nav a:hover{color:var(--fg);text-decoration:none}.header{text-align:center;padding-top:64px;padding-bottom:24px}.header h1{font-size:clamp(20px,2.6vw,32px);margin-top:-12px;margin-bottom:20px}.rows{width:100%;margin:0}.row{width:100%;display:grid;grid-gap:var(--gap);gap:var(--gap);padding:0 var(--edge) var(--gap)}.row[data-cols="2"]{grid-template-columns:repeat(2,1fr)}.row[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.row[data-cols="4"]{grid-template-columns:repeat(4,1fr)}.tile{position:relative;width:100%;overflow:hidden;background:#f2f2f2;opacity:0;transform:translateY(12px);transition:opacity .55s ease-out,transform .55s ease-out;will-change:opacity,transform}.tile.inview{opacity:1;transform:translateY(0)}.tile.square{aspect-ratio:1/1}.tile.portrait{aspect-ratio:4/5}.tile img,.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.label{position:absolute;left:50%;transform:translateX(-50%);bottom:24px;text-align:center;color:#fff;pointer-events:none;line-height:1.25}.label-client{margin-bottom:4px;font-weight:600;font-size:clamp(12px,1vw,14px)}.label-title{font-weight:800;font-size:clamp(18px,1.8vw,28px)}.footer{display:flex;gap:16px;justify-content:center;color:var(--muted);padding:48px 0 80px;font-size:14px}.only-desktop{display:block}.only-mobile{display:none}@media (max-width:780px){:root{--gap:12px;--edge:12px}.only-desktop{display:none}.only-mobile{display:block}.side-dock{display:none}.row{grid-template-columns:1fr!important;padding-left:var(--edge);padding-right:var(--edge)}body,html{overflow-x:hidden}.label-title{font-size:clamp(16px,4.4vw,22px)}.mobile-header{position:fixed;top:0;left:0;right:0;z-index:60;height:56px;display:flex;align-items:center;justify-content:center;padding:0 var(--edge);background:var(--bg);border-bottom:none}.mobile-logo{font-weight:800;letter-spacing:.04em}.burger{position:absolute;right:var(--edge);width:32px;height:24px;display:flex;flex-direction:column;justify-content:center;gap:3px;background:transparent;border:none;padding:0;cursor:pointer}.burger span{display:block;height:1px;width:22px;background:var(--fg);border-radius:1px;transition:transform .25s ease,opacity .25s ease}.mobile-menu{position:fixed;inset:0;z-index:9999;background:var(--menu-bg);color:#fff;transform:translateX(100%);transition:transform .35s ease;display:flex;flex-direction:column}.mobile-menu.open{transform:translateX(0)}.mobile-menu-header{position:relative;display:flex;align-items:center;justify-content:center;height:56px;padding:0 var(--edge);border-bottom:none}.mobile-menu-header .mobile-logo{color:#fff;font-weight:800}.close-x{position:absolute;right:var(--edge);top:var(--edge);background:transparent;border:none;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:0}.mobile-menu-nav{display:flex;flex-direction:column;gap:22px;padding:28px 24px;align-items:center}.mobile-menu-nav a{font-size:22px;color:#fff;text-decoration:none}.mobile-menu-nav a:hover{text-decoration:underline}body.no-scroll,html.no-x-scroll{overflow-x:hidden!important;touch-action:pan-y!important}.site{padding-top:44px!important}.header{padding-top:16px}.motion-unlock{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.6);color:#fff;border:none;width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;font-size:18px;letter-spacing:.02em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.header h1{font-size:clamp(18px,4.2vw,22px);line-height:1.25;margin:0 0 6px}}@media (prefers-reduced-motion:reduce){.tile{opacity:1;transform:none}.mobile-menu,.tile{transition:none}}.site{padding:0}.ai-section{display:flex;flex-direction:column;gap:64px;margin-top:40px;padding:0 40px}.ai-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:40px;gap:40px}.ai-title{font-size:28px;font-weight:600;text-align:center}.ai-slider{width:100%}body.ai-page .side-dock{background:#00aeef}body.ai-page .side-dock .logo img{filter:brightness(0) invert(1)}body.ai-page .side-dock nav a{color:#fff}body.ai-page .side-dock nav a:hover{color:#000!important}@media (max-width:780px){.ai-section{margin-top:32px;margin-bottom:80px;padding:0 12px;gap:40px}.ai-row{grid-template-columns:1fr;row-gap:8px}.ai-slider{order:1;width:100%}.ai-title{order:2;font-size:14px;line-height:1.3;font-weight:500;text-align:left;padding:0 2px;margin-top:4px}}.project-page{max-width:none;margin:0;padding:0 0 40px}.project-hero{position:relative;margin:16px var(--edge) 0}@media (min-width:781px){.project-page:not(.project-page--thewid) .project-hero{margin:17}.project-page:not(.project-page--thewid) .project-hero-media{height:97,5vh;min-height:520px}.project-page:not(.project-page--thewid) .project-hero-media .project-img{width:100%;height:100%;object-fit:cover;object-position:center}}.project-hero-media{position:relative;width:100%;height:calc(100vh - 32px);min-height:520px;overflow:hidden;border-radius:0}.project-img{object-fit:cover}.project-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:none;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;cursor:pointer;padding:0 10px}.project-hero-arrow-left{left:32px}.project-hero-arrow-right{right:32px}.project-hero-arrow:hover{transform:translateY(-50%) scale(1.5)}.project-info-card{position:absolute;left:var(--edge);bottom:var(--edge);max-width:360px;background:hsla(0,0%,100%,.96);padding:18px 20px 16px;box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:13px;z-index:3}.project-title{font-size:18px;font-weight:700;margin:0 0 4px}.project-client{font-weight:500;margin-bottom:10px}.project-intro{margin:0;line-height:1.45}.project-link{display:inline-block;margin-top:10px;font-size:12px;color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.project-link:hover{color:#00aeef;border-bottom-color:#00aeef}.project-gallery{display:flex;flex-direction:column;gap:200px;margin-top:200px;margin-bottom:150px;padding:0 var(--edge)}.project-row{width:100%}.project-row-single{display:block}.project-row-double{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:17px;gap:17px}.project-image{position:relative;width:100%;overflow:hidden;opacity:0;transform:translateY(12px);transition:opacity .55s ease-out,transform .55s ease-out;will-change:opacity,transform}.project-image.inview{opacity:1;transform:translateY(0)}.project-image img{display:block;width:100%;height:auto;max-height:calc(100vh - 160px);object-fit:contain;margin:0 auto}@media (max-width:780px){.project-page{padding:0 0 60px}.project-hero{margin-top:0;margin-bottom:16px}.project-hero-media{height:min(60vh,420px);min-height:260px}.project-hero-media:not(.wid-global-hero-media){height:auto;min-height:0}.project-hero-media:not(.wid-global-hero-media) .project-img{position:static!important;width:100%!important;height:auto!important;object-fit:contain!important}.project-info-card{position:static;max-width:none;margin-top:12px;box-shadow:none;padding:14px 12px 12px}.project-gallery{gap:12px;margin-top:16px;margin-bottom:16px;padding:0 var(--edge)}.project-row-double{grid-template-columns:1fr;gap:12px}.project-image img{max-height:calc(100vh - 140px)}.project-hero-arrow{width:32px;height:32px;font-size:18px;display:none}.project-hero-arrow-left{left:16px}.project-hero-arrow-right{right:16px}}.wid-houses{padding:0 var(--edge);margin-top:64px;display:flex;flex-direction:column;gap:60px}.wid-houses-tabs{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:0}.wid-house-tab{font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding-bottom:4px;border:none;background:transparent;cursor:pointer;color:rgba(0,0,0,.65);font-weight:400}.wid-house-tab-active{color:#00aeef;font-weight:700}.wid-house-detail{display:flex;flex-direction:column;gap:120px;animation:widFadeIn .35s ease-out}.wid-house-detail .project-gallery{margin-top:12px;gap:120px}.wid-house-hero{position:relative}.wid-house-hero-media{display:flex;justify-content:center;align-items:center;padding:0;margin:0 auto;max-width:100%;max-height:calc(100vh - 160px);background:#fff}.wid-house-hero-media .project-img{position:static!important;width:auto!important;height:auto!important;max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;background:transparent}.wid-house-info-card{box-shadow:none;background:hsla(0,0%,100%,.96);left:440px;bottom:20px}.wid-house-info-card-1{left:438px;bottom:17px}.wid-house-info-card-2{left:485px;bottom:17px}.wid-house-info-card-3,.wid-house-info-card-4{left:487px;bottom:17px}.wid-house-info-card-5,.wid-house-info-card-6,.wid-house-info-card-7,.wid-house-info-card-8,.wid-house-info-card-9{left:438px;bottom:17px}@media (max-width:780px){.wid-houses{padding:0 var(--edge);margin-top:20px!important;gap:40px!important}.wid-houses-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px 8px;gap:8px 8px;justify-items:center;margin-bottom:0!important}.wid-house-tab{font-size:12px;padding-bottom:0}.wid-house-detail{gap:16px!important}.wid-house-detail,.wid-house-hero{margin-top:0!important;padding-top:0!important}.wid-house-hero-media{position:relative;width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;margin:0;padding:0;background:#fff}.wid-house-hero-media .project-img{width:100%;height:100%;object-fit:cover}.wid-house-info-card{position:static;left:auto;bottom:auto;max-width:none;margin-top:2px!important;padding:20px 0 8px!important}.wid-house-info-card .project-title{margin:0 0 2px}.wid-house-info-card .project-client{margin:0 0 4px}.wid-house-info-card .project-intro{margin:0}.wid-house-detail .project-gallery{margin-top:8px!important;padding:0!important;gap:12px!important}.wid-house-detail .project-gallery .project-row{margin:0;padding:0}.wid-house-detail .project-gallery .project-image{margin:0}}@keyframes widFadeIn{0%{opacity:0}to{opacity:1}}.wid-hero-slider{position:relative;width:100%;height:100%;overflow:hidden}.wid-hero-slide-layer{position:absolute;inset:0}.wid-hero-slide-layer .project-img{width:100%;height:100%;object-fit:cover}.wid-hero-layer-current{transform:translateX(0)}.wid-hero-layer-initial{animation:widHeroInitialFade .5s ease-out}@keyframes widHeroInitialFade{0%{opacity:0}to{opacity:1}}.wid-hero-layer-slide-out-left{animation:widHeroSlideOutLeft .35s cubic-bezier(.22,.61,.36,1) forwards}.wid-hero-layer-slide-out-right{animation:widHeroSlideOutRight .35s cubic-bezier(.22,.61,.36,1) forwards}.wid-hero-layer-slide-in-from-right{animation:widHeroSlideInFromRight .35s cubic-bezier(.22,.61,.36,1) forwards}.wid-hero-layer-slide-in-from-left{animation:widHeroSlideInFromLeft .35s cubic-bezier(.22,.61,.36,1) forwards}@keyframes widHeroSlideOutLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-8%);opacity:0}}@keyframes widHeroSlideOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(8%);opacity:0}}@keyframes widHeroSlideInFromRight{0%{transform:translateX(8%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes widHeroSlideInFromLeft{0%{transform:translateX(-8%);opacity:0}to{transform:translateX(0);opacity:1}}.wid-hero-dots{display:none}.wid-hero-dot{width:6px;height:6px;border-radius:999px;background:#d5d5d5;opacity:.9}.wid-hero-dot-active{background:#00aeef;opacity:1}@media (max-width:780px){.wid-hero-slide-layer .project-img{object-fit:contain;max-height:calc(100vh - 140px)}.wid-hero-slider{margin-top:-60px}.wid-hero-dots{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:-135px;margin-bottom:2px}.wid-hero-dot{transition:background .25s ease,transform .25s ease,opacity .25s ease}.wid-hero-dot-active{transform:scale(1.15)}}.project-next-link{display:flex;align-items:center;justify-content:center;gap:10px;margin:40px auto 0;font-weight:600;font-size:14px;color:#000;text-decoration:none;cursor:pointer}.project-next-link:hover .project-next-label{text-decoration:underline}.project-next-arrow{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #00aeef}.project-next-link-inview .project-next-arrow{animation-name:projectNextArrowAnim;animation-duration:1.1s;animation-timing-function:ease-out;animation-iteration-count:3;animation-fill-mode:forwards}@keyframes projectNextArrowAnim{0%{opacity:0;transform:translateX(0)}to{opacity:1;transform:translateX(6px)}}#wid-houses-anchor{scroll-margin-top:60px}@media (max-width:780px){#wid-houses-anchor{scroll-margin-top:-60px}.project-page--thewid .project-hero{margin-top:-60px;margin-bottom:8px}.project-page--thewid .wid-hero-slide-layer .project-img{object-fit:contain;max-height:55vh}.project-page--thewid .wid-hero-slider{margin-top:0}.project-page--thewid .wid-hero-dots{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:-70px;margin-bottom:4px}.project-page--thewid .project-info-card{margin-top:4px;padding:8px 10px 6px}.project-page--thewid .wid-houses{padding:0 var(--edge);margin-top:4px;gap:8px}.project-page--thewid .wid-houses-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px 6px;gap:6px 6px;justify-items:center;margin-bottom:0}.project-page--thewid .wid-house-tab{font-size:12px;padding-bottom:2px;border:none;background:transparent;cursor:pointer}.project-page--thewid .wid-house-tab,.project-page--thewid .wid-houses-tabs{position:relative;z-index:2}.project-page--thewid .wid-house-detail{margin-top:0;padding-top:0;display:flex;flex-direction:column;gap:6px}.project-page--thewid .wid-house-hero{margin-top:0;margin-bottom:0;padding-top:0}.project-page--thewid .wid-house-hero-media{position:relative;width:100%;height:auto;max-height:none;aspect-ratio:auto;margin:0;padding:0;background:transparent}.project-page--thewid .wid-house-hero-media .project-img{position:static;display:block;width:100%;height:auto;object-fit:contain}.project-page--thewid .wid-house-info-card{position:static;left:auto;bottom:auto;max-width:none;margin-top:4px;padding:8px 0 6px}.project-page--thewid .wid-house-info-card .project-title{margin:0 0 2px}.project-page--thewid .wid-house-info-card .project-client{margin:0 0 4px}.project-page--thewid .wid-house-info-card .project-intro{margin:0}.project-page--thewid .wid-house-detail .project-gallery{margin-top:6px;margin-bottom:8px;padding:0;display:flex;flex-direction:column;gap:10px}.project-page--thewid .wid-house-detail .project-gallery .project-row{margin:0;padding:0}.project-page--thewid .wid-house-detail .project-gallery .project-image{margin:0}}