:root{--blue:#0758bb;--ink:#121416;--paper:#f7f8f9;--muted:#636b72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #f5a238;outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}.skip{position:fixed;z-index:20;left:20px;top:-70px;background:white;padding:15px}.skip:focus{top:10px}header{height:91px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:fixed;inset:0 0 auto;z-index:10;background:rgba(247,248,249,.94);border-bottom:1px solid #d9dee2;backdrop-filter:blur(16px)}.wordmark{font-size:29px;font-weight:900;letter-spacing:-1.8px;line-height:.94}.wordmark span{display:block;font-size:8px;letter-spacing:1.2px;margin-top:9px;font-weight:600}nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:600}.nav-contact{background:var(--ink);color:white;padding:13px 24px;border-radius:3px}nav a:hover{color:var(--blue)}nav .nav-contact:hover{background:var(--blue);color:white}.intro{height:265svh;position:relative}.stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;padding:124px 5% 36px}.grid-field{position:absolute;inset:90px 0 0 42%;background-image:linear-gradient(#c6d3df40 1px,transparent 1px),linear-gradient(90deg,#c6d3df40 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to right,transparent,#000);pointer-events:none}.hero-top,.section-label{display:flex;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:1.8px;font-weight:600}.hero-top{position:relative;color:var(--muted)}.hero-copy{position:absolute;top:30%;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;margin:0 0 25px;color:var(--muted)}h1{font-size:clamp(54px,6.8vw,110px);letter-spacing:-.074em;line-height:.99;font-weight:750;margin:0 0 27px}h1>span{color:var(--blue)}.hero-description{font-size:16px;line-height:1.55;color:#62676c;margin:0 0 24px}.text-link{display:inline-block;font-size:12px;font-weight:bold;padding-bottom:7px;border-bottom:1px solid}.logo-scene{position:absolute;width:56vw;max-width:850px;height:auto;right:-1%;top:49%;transform:translateY(-50%);transform-origin:center;will-change:transform}#assembly{width:100%;display:block;overflow:visible}.logo-caption{display:block;text-align:center;font-size:9px;letter-spacing:2px;margin-top:-9%;opacity:0}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px;color:var(--muted)}.scroll-prompt{display:flex;gap:12px;align-items:center}.scroll-line{width:1px;height:32px;background:var(--blue);position:relative}.scroll-line:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;left:-2px;background:var(--blue);animation:scroll-dot 2s infinite}@keyframes scroll-dot{from{top:0;opacity:0}50%{opacity:1}to{top:30px;opacity:0}}.chapters{display:flex;align-items:center;gap:14px}.chapter-track{width:90px;height:2px;background:#d6dce2}.chapter-track i{display:block;width:0;height:100%;background:var(--blue)}#chapter-label{min-width:115px}.skip-intro{border-bottom:1px solid #9ca3a8;padding:5px 0}.services{padding:55px 6% 100px;background:var(--blue);color:white;scroll-margin-top:0}.section-label{opacity:.7}.service-heading{display:flex;align-items:end;justify-content:space-between;margin:75px 0 55px;gap:30px}h2{font-size:clamp(38px,5vw,78px);letter-spacing:-.06em;line-height:1.04;font-weight:600;margin:0}.service-heading p{font-size:14px;line-height:1.7;opacity:.73;max-width:300px;margin:0}.service-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:9%}.service-controls{border-top:1px solid #ffffff50}.service-controls button{background:none;color:white;border:0;border-bottom:1px solid #ffffff50;display:flex;align-items:center;width:100%;padding:27px 0;text-align:left;cursor:pointer;font-size:clamp(25px,3vw,44px);letter-spacing:-1.5px;opacity:.48;transition:opacity .2s,padding .3s}.service-controls button:hover,.service-controls button[aria-selected=true]{opacity:1;padding-left:12px}.service-controls button>span{font-size:10px;letter-spacing:0;margin-right:26px;align-self:center}.service-controls i{font-style:normal;font-size:25px;margin-left:auto;transition:transform .3s}.service-controls button[aria-selected=true] i{transform:rotate(45deg)}.technical-art{border:1px solid #ffffff35;padding:10px 12px 14px;background:#00479940}.technical-art svg{display:block;width:100%;height:210px}.technical-art>span{display:block;font-size:8px;letter-spacing:1.2px;margin-top:14px;opacity:.6}.flow-base{fill:none;stroke:#fff;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;opacity:.3}.flow{fill:none;stroke:#fff;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:28 18;animation:flow 7s linear infinite}@keyframes flow{to{stroke-dashoffset:-368}}[hidden]{display:none!important}.service-detail h3{font-size:25px;letter-spacing:-.6px;margin:23px 0 12px}.service-detail p{font-size:14px;line-height:1.7;opacity:.73;max-width:430px}.service-detail a{font-size:12px;display:inline-block;border-bottom:1px solid #ffffff80;padding-bottom:7px;margin-top:8px}.about{padding:55px 6% 110px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;margin-top:90px}.years{position:relative}.years strong{font-size:clamp(100px,16vw,240px);letter-spacing:-.09em;line-height:1;font-weight:500}.years strong span{font-size:.4em;vertical-align:top;color:var(--blue);line-height:1.4}.years>span{display:block;font-size:9px;letter-spacing:1.5px;margin-top:22px}.mini-mosaic{width:120px;height:100px;margin-top:45px;background:repeating-linear-gradient(0deg,transparent 0 23px,var(--paper) 23px 25px),repeating-linear-gradient(90deg,var(--blue) 0 23px,var(--paper) 23px 25px);clip-path:circle(60% at 0% 100%)}.about-copy h2{font-size:clamp(30px,3.5vw,52px);line-height:1.12}.about-copy h2 span{color:var(--blue)}.about-copy p{font-size:15px;color:var(--muted);line-height:1.8;max-width:450px;margin:30px 0}blockquote{font-size:26px;letter-spacing:-.7px;margin:35px 0 18px;line-height:1.25}.quote-credit{font-size:8px;letter-spacing:1px;line-height:1.8;display:block}.contact{background:#121618;color:#fff;padding:55px 6% 80px}.contact h2{font-size:clamp(75px,12vw,175px);line-height:.92;letter-spacing:-.075em;margin:70px 0 60px}.contact h2 em{font-style:normal;color:#64a9ff}.contact-bottom{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #ffffff30;padding-top:35px}.contact-bottom p{color:#a3adb4;font-size:14px;line-height:1.8}.phone{font-size:clamp(28px,4vw,48px);letter-spacing:-1.5px;display:block;margin:30px 0 12px}.phone:hover,.mail:hover{color:#64a9ff}.mail{font-size:14px}.contact-address{min-width:220px}.contact-address strong{font-size:15px}footer{padding:33px 6%;background:#121618;color:white;border-top:1px solid #ffffff25;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>span{font-size:24px;font-weight:bold;letter-spacing:-1.2px}.footer-tag{display:block;font-size:7px;font-weight:400;letter-spacing:.8px;margin-top:7px}footer>div{display:flex;flex-wrap:wrap;gap:18px;color:#99a2a9;font-size:9px}
@media(min-width:1600px){.hero-copy{top:31%}.logo-scene{right:5%}.stage{padding-left:6%;padding-right:6%}}@media(max-width:800px){header{height:76px;padding:0 6%}.wordmark{font-size:25px}.wordmark span{font-size:6px}nav{gap:19px;font-size:11px}.nav-contact{padding:10px 15px}nav a:nth-child(2){display:none}.stage{padding:100px 6% 25px;min-height:650px}.hero-top{font-size:8px;letter-spacing:1.2px}.edition{display:none}.hero-copy{top:20%;left:6%;right:6%}h1{font-size:clamp(49px,8.7vw,68px);max-width:95%;margin-bottom:16px}.desktop-break{display:none}.eyebrow{font-size:8px;margin-bottom:16px}.hero-description{font-size:13px;line-height:1.4}.text-link{font-size:10px}.logo-scene{width:65vw;max-width:370px;right:-3%;top:66%}.logo-caption{font-size:6px;letter-spacing:1px;margin-top:-13%}.grid-field{inset:75px 0 0 20%;background-size:40px 40px}.hero-bottom{left:6%;right:6%;bottom:22px;font-size:7px;letter-spacing:.8px}.chapters{display:none}.service-heading{display:block;margin:50px 0 36px}.service-heading p{margin-top:23px;font-size:13px}.section-label{font-size:8px;letter-spacing:1px}.section-label span:last-child{display:none}.services{padding:40px 6% 60px}.service-layout{grid-template-columns:1fr;gap:35px}.service-controls{display:grid;grid-template-columns:1fr 1fr}.service-controls button{font-size:23px;padding:18px 0;letter-spacing:-.5px}.service-controls button>span{font-size:8px;margin-right:10px}.service-controls button:nth-child(odd){padding-right:18px}.service-controls button:nth-child(even){padding-left:18px}.service-controls i{font-size:20px}.service-controls button:hover,.service-controls button[aria-selected=true]{padding-left:0}.service-controls button:nth-child(even):hover,.service-controls button:nth-child(even)[aria-selected=true]{padding-left:18px}.technical-art svg{height:190px}.about{padding:40px 6% 65px}.about-grid{grid-template-columns:1fr;margin-top:40px;gap:45px}.years strong{font-size:120px}.years>span{margin-top:10px}.mini-mosaic{position:absolute;right:0;bottom:0;margin:0;width:110px;height:110px}.about-copy h2{font-size:34px}.contact{padding:40px 6% 60px}.contact h2{margin:45px 0;font-size:90px}.contact-bottom{flex-direction:column;gap:38px}.contact-address{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-address strong{grid-column:1/-1}.contact-address p{margin:0;font-size:12px}footer{align-items:start;flex-direction:column}footer>div{gap:16px;line-height:1.8}.intro{height:235svh}}@media(max-width:400px){h1{font-size:46px}.hero-copy{top:19%}.hero-description{max-width:210px;font-size:12px}.logo-scene{top:69%;width:70vw}.contact h2{font-size:77px}.stage{min-height:610px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{height:auto}.stage{position:relative}.flow,.scroll-line:after{animation:none}.scroll-prompt{display:none}*{transition:none!important}}
/* Shared navigation, photographs and film */
.service-menu{position:relative}.service-menu summary{cursor:pointer;list-style:none;padding:12px 0}.service-menu summary::-webkit-details-marker{display:none}.service-menu summary:after{content:'+';margin-left:8px;font-size:15px;font-weight:400}.service-menu[open] summary:after{content:'−'}.service-dropdown{position:absolute;right:-25px;top:45px;width:230px;display:flex;flex-direction:column;padding:12px;background:var(--paper);border:1px solid #d9dee2;box-shadow:0 15px 35px #12141615}.service-dropdown a{display:block!important;padding:13px 15px;border-bottom:1px solid #d9dee2;font-size:13px}.service-dropdown a:last-child{border-bottom:0;color:var(--muted);font-size:11px}.service-dropdown a:hover{background:#e9eef4}.photo-story{padding:55px 6% 80px;border-bottom:1px solid #d9dee2}.photo-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:60px 0 42px}.photo-intro p{font-size:14px;line-height:1.7;color:var(--muted)}.photo-links{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.photo-link{display:block;overflow:hidden}.photo-link img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:filter .3s}.photo-link:hover img{filter:brightness(.88)}.photo-link>span{display:block;font-size:24px;letter-spacing:-.7px;line-height:1.15;padding-top:21px}.photo-link small{display:block;font-size:8px;letter-spacing:1.3px;color:var(--muted);margin-bottom:12px}.film-section{padding:20px 6% 90px;display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center}.film-copy h2{font-size:clamp(36px,4vw,63px)}.film-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7;margin:25px 0}.video-stage{aspect-ratio:16/10;position:relative;background:#121618;overflow:hidden}.video-stage>img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:brightness(.55)}.video-overlay{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:end;align-items:start;background:linear-gradient(transparent,#0b151cdc);color:white}.video-kicker{font-size:8px;letter-spacing:1.3px;margin-bottom:18px}.video-play{display:flex;align-items:center;gap:15px;border:0;background:none;padding:0;color:white;font-size:25px;letter-spacing:-.5px;cursor:pointer}.video-play>span{display:grid;place-items:center;width:57px;height:57px;border:1px solid #ffffffaa;border-radius:50%;font-size:15px;padding-left:3px;transition:background .2s}.video-play:hover>span{background:var(--blue)}.video-overlay p{font-size:10px;line-height:1.6;color:#d2dae0;margin:20px 0 0}.video-stage iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-actions{display:flex;justify-content:space-between;gap:20px;font-size:10px;padding-top:14px;color:var(--muted)}.video-actions a{text-decoration:underline;text-underline-offset:3px}.video-close{border:0;padding:0;background:none;font-size:10px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}footer{flex-wrap:wrap}.footer-services{flex-basis:100%;justify-content:start;border-bottom:1px solid #ffffff25;padding-bottom:25px;font-size:12px}.footer-services a{display:block!important}
/* Service pages */
.detail-hero{padding:130px 6% 65px}.breadcrumb{display:flex;gap:12px;font-size:10px;color:var(--muted);margin-bottom:55px}.breadcrumb a{border-bottom:1px solid #aeb8c0;padding-bottom:3px}.detail-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.detail-hero h1{font-size:clamp(44px,5.8vw,85px);line-height:1.03;letter-spacing:-.065em}.detail-lead{max-width:420px;font-size:16px;color:var(--muted);line-height:1.8;margin:25px 0}.solid-button{display:inline-block;background:var(--blue);color:white;padding:17px 23px;font-size:12px;font-weight:600}.solid-button:hover{background:var(--ink)}.detail-hero figure{margin:0}.detail-hero figure img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.detail-hero figcaption{font-size:8px;letter-spacing:1.2px;color:var(--muted);margin-top:14px}.detail-nav{padding:20px 6%;justify-content:space-between;gap:20px;border-top:1px solid #d9dee2;border-bottom:1px solid #d9dee2}.detail-nav a{display:block!important;font-size:12px;position:relative;padding:8px 0;color:var(--muted)}.detail-nav a[aria-current=page]{color:var(--blue)}.detail-nav a[aria-current=page]:after{content:'';position:absolute;bottom:-20px;left:0;right:0;height:3px;background:var(--blue)}.detail-content{padding:85px 6%}.detail-section-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start}.detail-section-intro h2{font-size:clamp(32px,3.7vw,56px)}.detail-section-intro>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:470px;margin:0}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px}.feature-row article{border-top:1px solid #b9c5d0;padding-top:20px}.feature-row article>span{font-size:10px;color:var(--blue)}.feature-row h3{font-size:24px;letter-spacing:-.7px;margin:22px 0 13px}.feature-row p{font-size:14px;line-height:1.8;color:var(--muted)}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:0 6% 80px}.detail-gallery figure{margin:0;min-width:0}.detail-gallery img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.detail-gallery figcaption{font-size:10px;color:var(--muted);padding-top:14px}.detail-cta{display:flex;justify-content:space-between;align-items:end;gap:60px;padding:75px 6%;background:var(--blue);color:white}.detail-cta .eyebrow{color:#ffffffaa;font-size:9px}.detail-cta h2{font-size:clamp(40px,5vw,74px)}.detail-cta p{font-size:14px;line-height:1.7;opacity:.8;margin:25px 0}.solid-button.light{background:white;color:var(--blue)}.cta-mail{font-size:12px;margin-left:25px;border-bottom:1px solid #ffffff80;padding-bottom:5px}.next-service{border-top:1px solid #ffffff65;padding-top:22px;min-width:220px}.next-service span{display:block;font-size:9px;letter-spacing:1px;opacity:.7}.next-service strong{display:block;font-size:35px;font-weight:500;letter-spacing:-1px;margin:16px 0 20px}.emergency{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:45px 6%;background:#10171d;color:#fff}.emergency .eyebrow{display:block;color:#a0b1bf;font-size:9px;margin-bottom:14px}.emergency h2{font-size:32px}.emergency p{font-size:13px;line-height:1.7;color:#a0b1bf;max-width:450px}.emergency a{display:block;font-size:clamp(28px,3.5vw,48px);letter-spacing:-1px;white-space:nowrap}.emergency>div>span:not(.eyebrow){display:block;font-size:10px;color:#a0b1bf;margin-top:10px}
@media(max-width:800px){header nav>.about-nav{display:none}.service-dropdown{right:-85px}.photo-story{padding:40px 6% 55px}.photo-intro{display:block;margin:40px 0 30px}.photo-links{grid-template-columns:1fr;gap:35px}.photo-link{display:grid;grid-template-columns:42% 1fr;gap:22px;align-items:center}.photo-link>span{font-size:24px;padding-top:0}.photo-link small{font-size:7px;margin-bottom:10px}.film-section{padding:0 6% 65px;grid-template-columns:1fr;gap:30px}.video-stage{aspect-ratio:1.15}.video-overlay{padding:22px}.video-play{font-size:24px}.video-overlay p{font-size:9px}.footer-services{gap:25px}.detail-hero{padding:105px 6% 40px}.breadcrumb{margin-bottom:40px}.detail-hero-grid{grid-template-columns:1fr;gap:35px}.detail-hero h1{font-size:clamp(40px,12vw,52px)}.detail-lead{font-size:14px}.detail-hero figure img{max-height:390px}.detail-nav{gap:10px;padding:14px 6%}.detail-nav a{font-size:10px}.detail-nav a[aria-current=page]:after{bottom:-14px}.detail-content{padding:50px 6%}.detail-section-intro{grid-template-columns:1fr;gap:25px}.feature-row{grid-template-columns:1fr;margin-top:35px;gap:20px}.feature-row h3{margin:13px 0;font-size:25px}.feature-row p{margin-bottom:0}.detail-gallery{gap:22px;padding:0 6% 55px;grid-template-columns:1fr 1fr}.detail-gallery figcaption{font-size:9px;line-height:1.5}.detail-cta{align-items:stretch;flex-direction:column;padding:50px 6%;gap:45px}.detail-cta .eyebrow{font-size:8px;line-height:1.7}.detail-cta h2{font-size:45px}.cta-mail{margin-left:20px}.next-service strong{font-size:30px}.emergency{flex-direction:column;align-items:start;gap:16px;padding:35px 6%}.emergency a{font-size:36px}.emergency h2{font-size:30px}}
.partner-strip{margin:0 6% 65px;padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:50px;background:#fff;border:1px solid #d9dee2}.partner-strip h2{font-size:32px}.partner-strip p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);max-width:580px;margin-bottom:0}.partner-strip .eyebrow{font-size:8px;margin-bottom:15px}.partner-strip img{width:210px;max-width:32%;height:auto;object-fit:contain}.heating-topics{padding:0 6% 70px}.heat-topic{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:45px 0;border-top:1px solid #cad3db;scroll-margin-top:100px}.heat-topic h2{font-size:clamp(33px,3.5vw,54px)}.heat-topic p,.heat-topic li{font-size:14px;line-height:1.8;color:var(--muted)}.heat-topic p:first-child{margin-top:0}.heat-topic .eyebrow{font-size:9px;color:var(--blue)}.heat-topic ul{padding-left:18px;margin:25px 0}.heat-topic li{padding-left:5px;margin:9px 0}.heat-topic .topic-note{font-size:12px}.floor-art{background:var(--blue);padding:20px}.floor-art svg{display:block;width:100%}.detail-hero .floor-art figcaption{color:#ffffffa0;padding:0 10px 10px;line-height:1.5}.floor-combination{margin:0 6% 45px}.topic-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}#floor-link{margin-left:24px}.footer-services{flex-wrap:wrap}.detail-nav{flex-wrap:wrap}.detail-nav a{white-space:nowrap}
@media(max-width:800px){.partner-strip{padding:26px;flex-direction:column;align-items:start;gap:25px;margin-bottom:45px}.partner-strip img{width:185px;max-width:100%}.partner-strip h2{font-size:28px}.heat-topic{grid-template-columns:1fr;gap:22px;padding:35px 0}.heating-topics{padding-bottom:35px}.heat-topic h2{font-size:34px}.detail-nav{justify-content:start;gap:12px 24px}.detail-nav a[aria-current=page]:after{bottom:-5px}.floor-art{padding:10px}.floor-combination{margin-bottom:20px}#floor-link{margin-left:0;display:table}.footer-services{gap:20px}}
