.page-loading{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142b2394;place-items:center;animation:.2s 5s forwards loading-release;display:grid;position:fixed;inset:0}.loading-identity{text-align:center;width:min(280px,64vw);position:relative}.loading-orbit{pointer-events:none;border:1px solid #ffffff24;border-radius:50%;animation:.85s linear infinite loading-orbit-spin;position:absolute;top:50%;left:50%}.loading-orbit-outer{aspect-ratio:1;border-top:2px solid #c4a261;border-bottom:2px solid #c4a261;width:132%}.loading-orbit-inner{aspect-ratio:1;border-left:2px solid #f4f6f3;border-right:2px solid #f4f6f3;width:120%;animation-duration:.65s;animation-direction:reverse}@keyframes loading-orbit-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.brand-crane-scene{color:#c4a261;width:100%;height:auto;display:block;overflow:visible}.brand-crane-logo-window{width:77.7778%;height:33.3333%;position:absolute;top:55.9259%;left:11.1111%;overflow:hidden}.brand-crane-logo{object-fit:contain;filter:brightness(0)invert();width:100%;height:100%;animation:.5s cubic-bezier(.22,.75,.25,1) both brand-logo-lift;display:block}@keyframes brand-logo-lift{0%{transform:translateY(100%)}to{transform:translateY(0)}}.brand-crane-chain{transform-origin:204px 52px;animation:.5s cubic-bezier(.22,.75,.25,1) both brand-chain-lift}.brand-crane-payload{animation:.5s cubic-bezier(.22,.75,.25,1) both brand-payload-lift}.brand-crane-progress{stroke-dasharray:.3 .7;animation:1.2s linear infinite brand-progress}@keyframes brand-chain-lift{0%{transform:scaleY(2.32353)}to{transform:scaleY(1)}}@keyframes brand-payload-lift{0%{transform:translateY(90px)}to{transform:translateY(0)}}@keyframes brand-progress{to{stroke-dashoffset:-1px}}@media (prefers-reduced-motion:reduce){.brand-crane-chain,.brand-crane-payload,.brand-crane-progress,.brand-crane-logo{animation:none}.loading-orbit{animation:none;transform:translate(-50%,-50%)}}.page-loading-crane{aspect-ratio:1277/411;width:100%;position:relative}.page-loading-crane img{filter:brightness(0);width:100%;height:100%;display:block}.loading-hoist{color:#35453b;width:100%;height:auto;animation:1.4s both hoist-retire;position:absolute;bottom:45%;left:0;overflow:visible}.loading-hoist-chain{animation:1.4s cubic-bezier(.22,.8,.25,1) both hoist-chain}.loading-hoist-hook{animation:1.4s cubic-bezier(.22,.8,.25,1) both hoist-hook}.loading-lifted-logo{animation:1.4s cubic-bezier(.22,.8,.25,1) both hoist-logo}.loading-label{font:500 10px/1.5 var(--font-sans);letter-spacing:0;color:#627064;margin-top:38px;display:inline-block}.loading-dots{text-align:left;width:14px;animation:.65s ease-in-out infinite alternate loading-dot-pulse;display:inline-block}@keyframes hoist-logo{0%,12%{opacity:0;transform:translateY(48px)}25%{opacity:1}75%,to{opacity:1;transform:translateY(0)}}@keyframes hoist-chain{0%,12%{stroke-dashoffset:0;transform-origin:203px 34px;transform:scaleY(1.4)}75%,to{stroke-dashoffset:30px;transform-origin:203px 34px;transform:scaleY(.8)}}@keyframes hoist-hook{0%,12%{transform:translateY(31px)}75%,to{transform:translateY(-16px)}}@keyframes hoist-retire{0%{opacity:0}12%,65%{opacity:1}90%,to{opacity:0}}@keyframes loading-dot-pulse{to{opacity:.2}}.loading-crane-t,.loading-crane-name{position:absolute;inset:0}.loading-crane-t{clip-path:inset(0 76% 0 9%);transform-origin:16% 90%;animation:2.2s ease-in-out both crane-stand}.loading-crane-name{clip-path:polygon(0 0,9% 0,9% 100%,24% 100%,24% 0,100% 0,100% 100%,0 100%);animation:2.2s cubic-bezier(.22,.68,.22,1) both crane-lift}.loading-crane-cable{transform-origin:top;background:#ac8b4b;width:1px;height:65%;animation:2.2s ease-in-out both crane-cable;position:absolute;top:8%;left:62%}.loading-crane-cable i{border:1px solid #ac8b4b;border-top:0;border-radius:0 0 5px 5px;width:9px;height:9px;position:absolute;bottom:-5px;left:-4px}@keyframes crane-stand{0%{opacity:0;transform:translateY(12px)rotate(-12deg)}22%{opacity:1;transform:translateY(0)rotate(0)}55%{transform:rotate(-3deg)}82%,to{opacity:1;transform:none}}@keyframes crane-lift{0%,18%{opacity:0;transform:translate(32px,65px)rotate(7deg)}32%{opacity:1}65%{transform:translate(8px,14px)rotate(-2deg)}85%,to{opacity:1;transform:none}}@keyframes crane-cable{0%,18%{opacity:0;transform:translate(32px)scaleY(1.4)}30%{opacity:1}65%{opacity:1;transform:translate(8px)scaleY(.5)}85%,to{opacity:0;transform:translate(0)scaleY(0)}}@keyframes loading-release{to{opacity:0;visibility:hidden;pointer-events:none}}@media (prefers-reduced-motion:reduce){.loading-hoist{display:none}.loading-lifted-logo,.loading-dots,.loading-crane-t,.loading-crane-name{animation:none}.loading-crane-cable{display:none}}.route-scene{animation:.45s ease-out both scene-arrive}@keyframes scene-arrive{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){.route-scene{animation:none}.morph-stage{height:100svh}.morph-sticky{position:relative}.bridge-project img{transition:none}}.opening-brand{font-family:var(--font-sans);letter-spacing:0;margin-bottom:30px;font-size:52px;font-weight:600;line-height:1}.opening-brand span{margin-top:14px;font-size:12px;font-weight:400;display:block}.hero-film-heading{font-size:84px;line-height:1.05}.film-pause{color:#fff;cursor:pointer;border:1px solid #ffffff70;place-items:center;width:44px;height:44px;margin-bottom:20px;display:grid}.film-pause:hover{background:#ffffff20}.bridge-wordmark{font-family:var(--font-sans);color:#365344;letter-spacing:0;padding:0 32px 48px;font-size:100px;font-weight:600;line-height:1}.bridge-cad{pointer-events:none;width:100%;height:100%;display:block}.story-bridge:has(.blueprint-stage){border-top:1px solid #aab8ae;padding-top:64px;scroll-margin-top:80px}.story-bridge:has(.blueprint-stage):before{content:"";background:#94713d;width:96px;height:2px;margin:0 auto 48px;display:block}.blueprint-stage{isolation:isolate;background:#e6ece7;width:100%;height:max(580px,100svh - 80px);margin-bottom:80px;position:relative}.blueprint-statement{z-index:2;text-align:center;font-family:var(--font-display);letter-spacing:0;color:#213d30;opacity:0;visibility:hidden;background:#e6ece7e0;flex-direction:column;justify-content:center;align-items:center;padding:24px;font-size:72px;line-height:1.1;transition:opacity .7s,transform .7s;display:flex;position:absolute;inset:0;transform:translateY(18px)}.blueprint-statement em{color:#94713d}.is-complete .blueprint-statement{opacity:1;visibility:visible;transform:none}@media (width<=640px){.story-bridge:has(.blueprint-stage){padding-top:40px}.story-bridge:has(.blueprint-stage):before{margin-bottom:32px}.blueprint-stage{height:70svh;min-height:430px;margin-bottom:48px}.blueprint-statement{font-size:40px}}@media (prefers-reduced-motion:reduce){.blueprint-statement{transition:none;transform:none}}.bridge-collection{grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:24px;max-width:1400px;margin:56px auto 0;padding-inline:32px;display:grid}.bridge-project{display:block;position:relative;overflow:hidden}.bridge-project img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.bridge-collection>:nth-child(2) img{aspect-ratio:1}.bridge-project:hover img{transform:scale(1.05)}.bridge-project span{border-bottom:1px solid #36534444;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:13px;display:flex}.bridge-project b{font-weight:500}@media (width<=767px){.opening-brand{margin-bottom:24px;font-size:32px}.hero-film-heading{font-size:46px}.bridge-wordmark{padding-inline:20px;padding-bottom:32px;font-size:48px}.bridge-collection{grid-template-columns:1fr 1fr;gap:16px;padding-inline:20px}.bridge-collection>:nth-child(2){margin-top:40px}.bridge-collection>:last-child{grid-column:1/-1}.bridge-collection>:last-child img{aspect-ratio:2}.bridge-project span{font-size:11px}}:root{--background:#f5f6f3;--card:#fff;--paper:#fff;--ink:#141817;--ink-2:#222b26;--ink-foreground:#f5f6f3;--border:#d9ddd6}.reading-line{background:var(--brass);z-index:100;transform-origin:0;pointer-events:none;height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0)}html[dir=rtl] .reading-line{transform-origin:100%}.project-chapters{margin-top:80px}.project-chapter{border-top:1px solid var(--border);padding-block:42px 84px}.chapter-heading{grid-template-columns:70px 1fr auto;align-items:end;gap:24px;margin-bottom:32px;display:grid}.chapter-number{font-family:var(--font-display);color:var(--muted-foreground);font-size:62px;line-height:1}.chapter-heading h3{margin-top:14px;font-size:44px;line-height:1.15}.chapter-location{text-transform:uppercase;padding-bottom:6px;font-size:11px}.chapter-layout{grid-template-columns:minmax(0,1.8fr) minmax(0,.7fr);align-items:start;gap:48px;display:grid}.chapter-media{aspect-ratio:5/4;background:var(--muted);display:block;position:relative;overflow:hidden}.chapter-media>img{object-fit:cover;width:100%;height:100%;transform:translateY(var(--drift,0px)) scale(1.08);transition:filter .5s}.chapter-media:hover>img{filter:saturate(1.08)}.image-corners{pointer-events:none;clip-path:polygon(0 0,28px 0,28px 1px,calc(100% - 28px) 1px,calc(100% - 28px) 0,100% 0,100% 28px,calc(100% - 1px) 28px,calc(100% - 1px) calc(100% - 28px),100% calc(100% - 28px),100% 100%,calc(100% - 28px) 100%,calc(100% - 28px) calc(100% - 1px),28px calc(100% - 1px),28px 100%,0 100%,0 calc(100% - 28px),1px calc(100% - 28px),1px 28px,0 28px);border:1px solid #ffffff70;transition:inset .45s;position:absolute;inset:18px}.chapter-media:hover .image-corners,.gallery-image:hover .image-corners{inset:28px}.chapter-open{color:#141817;inset-inline-end:30px;background:#fff;align-items:center;gap:12px;padding:15px 20px;font-size:12px;display:flex;position:absolute;bottom:30px}.chapter-open svg{transition:transform .3s}.chapter-media:hover .chapter-open svg{transform:rotate(45deg)}.chapter-notes{flex-direction:column;gap:28px;padding-top:20px;display:flex}.chapter-notes p{color:var(--muted-foreground);font-size:14px;line-height:1.9}.chapter-detail a{display:block}.chapter-detail img{aspect-ratio:4/3;object-fit:cover;width:100%}.chapter-detail span{color:var(--muted-foreground);justify-content:space-between;align-items:center;margin-top:12px;font-size:10px;display:flex}.chapter-spec{border-top:1px solid var(--border);flex-direction:column;gap:9px;padding-top:18px;font-size:11px;line-height:1.7;display:flex}.chapter-1 .chapter-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr)}.chapter-1 .chapter-main{grid-area:1/2}.chapter-1 .chapter-notes{grid-area:1/1}.chapter-1 .chapter-media{aspect-ratio:1}.chapter-2 .chapter-layout{grid-template-columns:1fr;gap:30px}.chapter-2 .chapter-media{aspect-ratio:2}.chapter-2 .chapter-notes{grid-template-columns:1.2fr .65fr .55fr;gap:40px;display:grid}.chapter-2 .chapter-detail{background:var(--card);margin-top:-95px;padding:10px;position:relative}.page-hero{isolation:isolate;flex-direction:column;justify-content:end;min-height:640px;padding-block:180px 64px;display:flex}.page-hero>.relative{width:100%}.page-hero-photo{object-fit:cover;width:100%;height:100%;transform:translateY(var(--drift,0px)) scale(1.08);z-index:-3;position:absolute;inset:0}.page-hero:after{content:"";z-index:-2;background:linear-gradient(#10171322 10%,#101713e8);position:absolute;inset:0}.page-hero .page-hero-lines{opacity:.35;z-index:-1}.page-hero .lede{color:#f5f6f3}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:80px 48px;display:grid}.portfolio-grid>:nth-child(2n){margin-top:120px}.portfolio-grid>:nth-child(5n){grid-column:1/-1;margin-top:0}.portfolio-grid>:nth-child(5n) figure{aspect-ratio:2.2}.portfolio-grid .proj-card figure{border-radius:0}.portfolio-arrow{color:#141817;z-index:2;bottom:20px;background:#fff;place-items:center;width:48px;height:48px;transition:transform .3s;display:grid;position:absolute;inset-inline-end:20px}.proj-card:hover .portfolio-arrow{transform:rotate(45deg)}.proj-meta{flex-wrap:wrap;gap:10px;padding-top:20px}.proj-meta small{white-space:normal;line-height:1.6}.editorial-gallery{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:64px 32px;margin-top:40px;display:grid}.gallery-cell{grid-column:span 6}.gallery-cell.cell-0{grid-column:span 12}.gallery-cell.cell-3{grid-column:2/span 5}.gallery-cell.cell-4{grid-column:8/span 5;padding-top:80px}.gallery-image{aspect-ratio:4/3;background:var(--muted);cursor:zoom-in;width:100%;display:block;position:relative;overflow:hidden}.cell-0 .gallery-image{aspect-ratio:1.85}.cell-3 .gallery-image{aspect-ratio:3/4}.gallery-image img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.gallery-image:hover img{transform:scale(1.045)}.gallery-zoom{color:#141817;bottom:20px;background:#fff;padding:12px;position:absolute;inset-inline-end:20px}.gallery-caption{color:var(--muted-foreground);justify-content:space-between;gap:20px;margin-top:16px;font-size:11px;line-height:1.7;display:flex}.photo-overlay{z-index:150;background:#0b100ff5;position:fixed;inset:0}.photo-viewer{z-index:151;color:#fff;outline:none;grid-template-rows:56px minmax(0,1fr) 60px;gap:12px;display:grid;position:fixed;inset:20px}.photo-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.photo-toolbar h2{font-size:17px}.photo-full{object-fit:contain;width:100%;height:100%}.photo-control{cursor:pointer;background:0 0;border:1px solid #fff5;place-items:center;width:48px;height:48px;transition:background .2s;display:grid}.photo-control:hover{background:#fff2}.photo-navigation{justify-content:center;align-items:center;gap:28px;font-size:12px;display:flex}.svc-figure,.frame-tall,.frame-wide{overflow:hidden}.svc-figure img,.frame-tall img,.frame-wide img{transform:translateY(var(--drift,0px)) scale(1.08)}.svc-figure{outline:1px solid var(--border);outline-offset:10px}.svc-row{transition:background .25s,padding .35s}.svc-row:hover{background:#e6ebe5;padding-inline:20px}.logo-tile-lg{transition:background .35s,border-color .35s;position:relative}.logo-tile-lg:hover{background:#34463a}.logo-tile-lg .logo-mask{transition:transform .45s}.logo-tile-lg:hover .logo-mask{transform:scale(1.1)}.branch-card{border-inline-start:3px solid var(--brass);border-radius:0}.story-bridge{background:#e5ebe6}.story-bridge-rule i{background:#597464}.step{transition:border-color .25s}.step:hover{border-color:var(--brass)}:is(.chapter-media,.gallery-image,.photo-control,.proj-card):focus-visible{outline:3px solid var(--brass);outline-offset:5px}@media (width>=1024px){.chapter-notes{position:sticky;top:110px}.chapter-2 .chapter-notes{position:static}}@media (width<=767px){.project-chapters{margin-top:48px}.project-chapter{padding-block:28px 50px}.chapter-heading{grid-template-columns:42px minmax(0,1fr);gap:14px}.chapter-heading h3{font-size:30px}.chapter-number{font-size:38px}.chapter-location{grid-column:2}.chapter-layout,.chapter-1 .chapter-layout{grid-template-columns:minmax(0,1fr);gap:24px}.chapter-1 .chapter-main,.chapter-1 .chapter-notes{grid-area:auto}.chapter-media,.chapter-1 .chapter-media,.chapter-2 .chapter-media{aspect-ratio:4/5}.chapter-notes,.chapter-2 .chapter-notes{grid-template-columns:1fr 1fr;gap:20px;padding-top:0;display:grid}.chapter-notes>:first-child{grid-column:1/-1}.chapter-2 .chapter-detail{margin:0;padding:0}.chapter-open{bottom:18px;padding:12px;inset-inline-end:18px}.page-hero{min-height:540px;padding-block:140px 48px}.portfolio-grid{gap:42px 18px}.portfolio-grid>:nth-child(2n){margin-top:56px}.portfolio-grid .proj-meta h3{font-size:23px;line-height:1.3}.portfolio-grid .proj-meta small{font-size:10px}.portfolio-arrow{bottom:12px;width:36px;height:36px;inset-inline-end:12px}.editorial-gallery{gap:36px 18px}.gallery-cell.cell-3{grid-column:1/span 6}.gallery-cell.cell-4{grid-column:7/span 6;padding-top:35px}.gallery-caption{flex-direction:column;gap:4px}.photo-viewer,.image-corners{inset:12px}}@media (width<=400px){.portfolio-grid{grid-template-columns:1fr}.portfolio-grid>:nth-child(2n){margin-top:0}.portfolio-grid>:nth-child(5n) figure{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){.chapter-media>img,.svc-figure img,.frame-tall img,.frame-wide img,.page-hero-photo{transform:none}.reading-line{display:none}.gallery-image img,.image-corners,.portfolio-arrow,.chapter-open svg{transition:none}}
