:root{--accent:#333c9b;--navy:#203361;--ink:#000;--ink-2:#203361;--muted:#5c5c5c;--line:#e4e4e4;--band:#f3f3f3;--white:#fff;--font:"General Sans", "Helvetica Neue", Arial, sans-serif;--gutter:100px;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:var(--font);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:400;line-height:27px;overflow-x:hidden}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{text-wrap:balance}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0;font-weight:400}h1{font-size:48px;line-height:1.08}h2{color:var(--accent);font-size:38px;line-height:43px}h3{font-size:30px;line-height:35px}h4{font-size:22px;line-height:27px}h6{letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-2);font-size:12px;line-height:14px}p{margin:0 0 18px}ul{margin:0;padding:0;list-style:none}button{font:inherit}.text-link{text-transform:lowercase;color:inherit;cursor:pointer;font-size:16px;line-height:27px;display:inline-block;position:relative}.text-link:after{content:"";transform-origin:100%;height:1px;transition:transform .45s var(--ease);background:currentColor;position:absolute;bottom:2px;left:0;right:0}.text-link:hover:after{transform:scaleX(0)}.text-link--btn{background:0 0;border:0;padding:0}.btns{flex-wrap:wrap;gap:14px;display:flex}.btns--center{justify-content:center}.btn{min-height:54px;font:inherit;letter-spacing:2.4px;text-transform:uppercase;color:var(--white);background:var(--accent);border:1px solid var(--accent);cursor:pointer;transition:background-color .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);justify-content:center;align-items:center;padding:0 34px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--navy);border-color:var(--navy)}.btn--outline{color:var(--accent);background:0 0}.btn--outline:hover{background:var(--accent);color:var(--white);border-color:var(--accent)}.btn--light{background:var(--white);color:var(--ink);border-color:var(--white)}.btn--light:hover{background:var(--accent);color:var(--white);border-color:var(--accent)}.btn--ghost{color:var(--white);background:0 0;border-color:#ffffffb3}.btn--ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white)}.muted{color:var(--muted)}.header{z-index:50;height:120px;color:var(--white);transition:height .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease), box-shadow .35s;position:fixed;inset:0 0 auto}.header.is-sticky{background:var(--white);height:70px;color:var(--ink);box-shadow:0 1px 0 var(--line)}.header__inner{justify-content:space-between;align-items:center;height:100%;padding:0 40px;display:flex}.logo{align-items:flex-end;gap:8px;display:inline-flex}.logo__mark{width:auto;height:46px;transition:filter .35s var(--ease), height .35s var(--ease);display:block}.is-sticky .logo__mark{height:38px}.logo__word{letter-spacing:-.5px;color:var(--accent);font-size:38px;font-weight:500;line-height:30px}.header:not(.is-sticky) .logo__word{color:var(--white)}.header:not(.is-sticky) .logo__mark{filter:brightness(0)invert()}.nav>ul{gap:34px;display:flex}.nav li{position:relative}.nav>ul>li>a{text-transform:lowercase;padding:10px 0;font-size:18px;line-height:23px;display:block;position:relative}.nav>ul>li>a:after{content:"";transform-origin:0;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.nav>ul>li:hover>a:after{transform:scaleX(1)}.sub{background:var(--white);min-width:230px;color:var(--ink);opacity:0;visibility:hidden;transition:opacity .3s, transform .3s var(--ease), visibility .3s;padding:22px 24px;position:absolute;top:100%;left:-24px;transform:translateY(8px);box-shadow:0 8px 30px #0000000f}.has-sub:hover .sub{opacity:1;visibility:visible;transform:none}.sub a{transition:color .2s, padding .3s var(--ease);font-size:16px;line-height:32px;display:block}.sub a:hover{color:var(--accent);padding-left:4px}.burger{cursor:pointer;width:28px;height:20px;color:inherit;background:0 0;border:0;padding:0;display:none;position:relative}.burger span{background:currentColor;width:100%;height:2px;transition:transform .3s,opacity .3s;position:absolute;left:0}.burger span:first-child{top:0}.burger span:nth-child(2){top:9px}.burger span:nth-child(3){top:18px}.menu-open .burger span:first-child{transform:translateY(9px)rotate(45deg)}.menu-open .burger span:nth-child(2){opacity:0}.menu-open .burger span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.mobile-menu{z-index:40;background:var(--white);opacity:0;visibility:hidden;align-items:center;padding:0 24px;transition:opacity .35s,visibility .35s;display:flex;position:fixed;inset:0}.mobile-menu a{text-transform:lowercase;font-size:34px;line-height:56px}.menu-open .mobile-menu{opacity:1;visibility:visible}.menu-open .header{background:var(--white);color:var(--ink)}.menu-open .header .logo__word{color:var(--accent)}.menu-open .header .logo__mark{filter:none}.hero{height:94vh;min-height:560px;color:var(--white);text-align:center;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__slides,.hero__slide{position:absolute;inset:0}.hero__slide{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.4s,transform 7s linear;transform:scale(1.08)}.hero__slide.is-active{opacity:1;transform:scale(1)}.hero:after{content:"";background:#0006;position:absolute;inset:0}.hero__stripes{z-index:1;pointer-events:none;gap:5%;width:44%;height:62%;display:flex;position:absolute;bottom:0;right:4%}.hero__stripes i{transform-origin:bottom;animation:stripe 1.4s var(--ease) both;background:#fff3;flex:1;transform:skew(-38deg)}.hero__stripes i:nth-child(2){animation-delay:.12s}.hero__stripes i:nth-child(3){animation-delay:.24s}.hero__stripes i:nth-child(4){animation-delay:.36s}@keyframes stripe{0%{opacity:0;transform:skew(-38deg)translateY(100%)}}.hero__content{z-index:2;max-width:980px;padding:0 24px;position:relative}.hero h6{color:var(--white);margin-bottom:26px}.hero h1{color:var(--white);margin-bottom:24px;font-size:56px}.hero__lead{color:#ffffffe0;max-width:620px;margin:0 auto 38px;font-size:18px;line-height:28px}.hero .btns{justify-content:center}.logos{text-align:center;padding:69px 0 70px}.logos__title{margin:0 0 50px}.marquee{overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee__track{width:max-content;animation:32s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.logo-ph{color:#9a9a9a;letter-spacing:1.5px;text-transform:uppercase;filter:grayscale();border:1px dashed #cfcfcf;flex:none;place-items:center;width:190px;height:64px;margin:0 20px;font-size:13px;transition:filter .3s,color .3s;display:grid}.logo-ph:hover{filter:none;color:var(--ink)}.logo-ph--lg{width:220px;height:90px}.pager{justify-content:center;gap:6px;margin-top:44px;display:flex}.pager i{background:#d6d6d6;width:32px;height:1px;display:block}.pager i.on{background:var(--ink);width:64px}.accred{padding:0 var(--gutter);flex-wrap:wrap;justify-content:space-around;gap:30px;display:flex}.intro{padding:80px var(--gutter) 120px;grid-template-columns:5fr 7fr;align-items:center;gap:60px;display:grid}.intro__text{justify-self:center;max-width:460px}.intro__text h6{margin-bottom:18px}.intro__text h3{margin-bottom:30px}.intro__text p{font-size:15px;line-height:25px}.intro__text .muted{color:var(--muted)}.intro__text .muted:last-of-type{margin-bottom:36px}.intro__img{overflow:hidden}.intro__img img{aspect-ratio:1.33;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}.intro__img:hover img{transform:scale(1.04)}.banner{background-position:50%;background-size:cover;background-attachment:fixed;align-items:flex-end;height:588px;padding:0 40px 90px;display:flex;position:relative}.banner:before{content:"";background:linear-gradient(#0000 40%,#00000073);position:absolute;inset:0}.banner h2{color:var(--white);font-size:48px;line-height:52px;position:relative}.pillars{padding:50px var(--gutter) 60px;grid-template-columns:repeat(3,1fr);gap:60px;display:grid}.pillar h4{margin-bottom:18px}.pillar p{color:var(--muted);max-width:320px;font-size:13px;line-height:21px}.testimonials{padding:40px 0 70px}.section-title{text-align:center;margin:0 0 60px}.t-band{background:var(--band);padding:56px var(--gutter) 60px}.t-slider{text-align:center;max-width:1180px;margin:0 auto;display:grid}.t-slide{opacity:0;visibility:hidden;transition:opacity .8s var(--ease), transform .8s var(--ease), visibility .8s;grid-area:1/1;margin:0;transform:translateY(14px)}.t-slide.is-active{opacity:1;visibility:visible;transform:none}.t-quote{height:20px;font-size:44px;line-height:20px;display:block}.t-slide blockquote{margin:0 0 22px;font-size:22px;line-height:32px}.t-slide figcaption{flex-direction:column;display:flex}.t-name{font-size:18px;line-height:27px}.t-role{color:var(--muted);font-size:14px}.split{grid-template-columns:1fr 1.2fr 1fr;height:635px;display:grid}.split__img{background-position:50%;background-size:cover}.split__panel{background:var(--accent);text-align:center;color:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:30px;padding:40px;display:flex}.services{padding:60px 40px 80px}.section-head{flex-direction:column;gap:16px;max-width:640px;padding:0 0 50px;display:flex}.rule{background:var(--line);height:1px}.tabs{height:640px;display:flex}.tab{border-right:1px solid var(--line);cursor:pointer;transition:flex .8s var(--ease);flex:0 0 100px;position:relative;overflow:hidden}.tab:first-child{border-left:1px solid var(--line)}.tab.is-open{cursor:default;flex:auto}.tab__title{justify-content:center;align-items:flex-start;width:100px;padding-top:34px;display:flex;position:absolute;top:0;bottom:0;left:0}.tab__title span{writing-mode:vertical-rl;white-space:nowrap;font-size:30px;line-height:1;transition:color .3s;transform:rotate(180deg)}.tab:not(.is-open):hover .tab__title span{color:var(--accent)}.tab__title em{letter-spacing:2.4px;color:var(--accent);margin-inline-end:16px;font-size:13px;font-style:normal}.tab__text h4{margin-bottom:16px}.tab__text p{color:var(--muted);font-size:15px!important;line-height:25px!important}.tab__body{opacity:0;grid-template-columns:1.35fr 1fr;gap:50px;width:calc(100vw - 681px);padding:34px 40px 34px 0;transition:opacity .4s;display:grid;position:absolute;top:0;bottom:0;left:100px}.tab.is-open .tab__body{opacity:1;transition-delay:.35s}.tab__img{overflow:hidden}.tab__img img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease);transform:scale(1.08)}.tab.is-open .tab__img img{transform:scale(1)}.tab__text{align-self:end;max-width:340px}.tab__text p{margin-bottom:26px;font-size:18px;line-height:27px}.process{padding:110px 40px 120px;overflow:hidden}.process__head{grid-template-columns:1fr 1fr;align-items:end;gap:60px;padding:0 60px 70px;display:grid}.process__head h6{margin-bottom:18px}.process__head h2{font-size:48px;line-height:52px}.process__head p{max-width:520px;color:var(--muted);margin:0}.flow{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -40px 80px;overflow:hidden}.flow__track{width:max-content;animation:48s linear infinite marquee;display:flex}.flow span{white-space:nowrap;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-2);align-items:center;padding:22px 0;font-size:12px;line-height:14px;display:inline-flex}.flow span:after{content:"→";color:var(--accent);letter-spacing:0;margin:0 28px;font-size:16px}.steps{grid-template-columns:repeat(3,1fr);gap:0 60px;margin:0;padding:0 60px;list-style:none;display:grid}.step{padding:34px 0 50px;position:relative}.step:before,.step:after{content:"";height:1px;position:absolute;top:0;left:0}.step:before{background:var(--line);right:0}.step:after{background:var(--accent);transform-origin:0;width:100%;transition:transform .8s var(--ease);transform:scaleX(0)}.step:hover:after{transform:scaleX(1)}.step__num{color:var(--accent);letter-spacing:-1px;margin-bottom:26px;font-size:64px;font-weight:400;line-height:1;display:block}.step h4{max-width:280px;margin-bottom:14px}.step p{color:var(--muted);max-width:320px;margin:0;font-size:15px;line-height:25px}.work{color:var(--white);background:#000;grid-template-columns:220px 1fr;padding:120px 0 80px 40px;display:grid;overflow:hidden}.work__label h6{color:var(--white);align-items:center;gap:12px;display:flex}.work__label h6:before{content:"";background:var(--white);border-radius:50%;width:5px;height:5px}.work__slider{min-width:0}.work__track{transition:transform .9s var(--ease);gap:30px;display:flex}.work__item{flex:0 0 62%}.work__img{margin-bottom:26px;overflow:hidden}.work__img img{aspect-ratio:1.6;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}.work__item:hover .work__img img{transform:scale(1.05)}.work__item h4{margin-bottom:8px}.tags{letter-spacing:2.4px;text-transform:uppercase;color:#ffffffb3;gap:18px;font-size:12px;line-height:14px;display:flex}.work__nav{justify-content:flex-end;gap:18px;margin-top:30px;padding-right:40px;display:flex}.arrow{width:36px;height:14px;color:var(--white);cursor:pointer;background:0 0;border:0;position:relative}.arrow:before{content:"";height:1px;transition:transform .3s var(--ease);background:currentColor;position:absolute;top:50%;left:0;right:0}.arrow:after{content:"";border-top:1px solid;width:7px;height:7px;position:absolute;top:50%}.arrow--prev:after{border-left:1px solid;left:0;transform:translateY(-50%)rotate(-45deg)}.arrow--next:after{border-right:1px solid;right:0;transform:translateY(-50%)rotate(45deg)}.arrow:hover:before{transform:scaleX(.7)}.arrow[disabled]{opacity:.3;cursor:default}.cta{text-align:center;padding:200px 24px 170px}.cta h6{margin-bottom:20px}.cta h2{max-width:760px;margin:0 auto 40px;font-size:48px;line-height:52px}.contact{padding:90px var(--gutter);background:var(--band);grid-template-columns:1fr 1fr;gap:80px;display:grid}.contact__info h6{margin-bottom:20px}.contact__info h3{max-width:460px;margin-bottom:20px}.contact__info li{border-top:1px solid #dcdcdc;grid-template-columns:110px 1fr;padding:12px 0;font-size:15px;display:grid}.contact__info li span{color:var(--muted)}.contact__info li a:hover{color:var(--accent)}.contact__form{flex-direction:column;gap:6px;display:flex}.field input,.field textarea,.field select{width:100%;font:inherit;color:var(--ink);resize:vertical;background:0 0;border:0;border-bottom:1px solid #bdbdbd;border-radius:0;outline:none;padding:14px 0;font-size:16px;transition:border-color .3s}.field input:focus,.field textarea:focus{border-color:var(--ink)}.field select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000'/%3E%3C/svg%3E") right 4px center no-repeat}.field select:invalid,.field select option[value=""]{color:#757575}.contact__form .btn{align-self:flex-start;margin-top:28px}.contact__info .muted{max-width:460px;margin-bottom:30px;font-size:15px;line-height:25px}.form-note{color:var(--accent);margin-top:12px}.footer{padding:90px 40px 0}.footer__top{grid-template-columns:2.4fr .7fr 1fr 1fr;gap:40px;padding-bottom:90px;display:grid}.footer__logo{align-self:start;align-items:flex-end;gap:12px;display:inline-flex}.footer__logo .logo__mark{height:96px}.footer__logo .logo__word{font-size:72px;line-height:56px;display:block}.logo__sub{letter-spacing:5.2px;text-transform:uppercase;color:var(--navy);margin-top:10px;font-size:14px;line-height:1;display:block}.footer__col h6{margin-bottom:24px}.footer__col li{font-size:14px;line-height:30px}.footer__col a:hover{color:var(--accent)}.social{transition:color .2s;display:inline-block}.footer__bottom{letter-spacing:2.4px;text-transform:uppercase;color:#8a8a8a;gap:60px;padding:36px 0 60px;font-size:11px;line-height:14px;display:flex}.footer__bottom a:hover{color:var(--ink)}.to-top{z-index:30;opacity:0;visibility:hidden;width:20px;height:32px;transition:opacity .3s,visibility .3s;position:fixed;bottom:30px;right:30px}.to-top:before{content:"";background:var(--ink);width:1px;position:absolute;top:2px;bottom:0;left:50%}.to-top:after{content:"";border-left:1px solid var(--ink);border-top:1px solid var(--ink);transform-origin:50%;width:8px;height:8px;margin-left:0;position:absolute;top:2px;left:50%;transform:translate(-50%)rotate(45deg)}.to-top.is-visible{opacity:1;visibility:visible}.to-top:hover:before{transform-origin:bottom;transform:scaleY(.8)}.nav>ul>li>a[aria-current=page]:after{transform:scaleX(1)}.mobile-menu a[aria-current=page]{color:var(--accent)}.page-hero{min-height:72vh;color:var(--white);background-position:50%;background-size:cover;align-items:flex-end;padding:160px 40px 90px;display:flex;position:relative;overflow:hidden}.page-hero--compact{min-height:56vh}.page-hero:before{content:"";background:linear-gradient(#00000038 30%,#0000009e);position:absolute;inset:0}.page-hero__stripes{pointer-events:none;gap:6%;width:34%;height:70%;display:flex;position:absolute;bottom:0;right:3%}.page-hero__stripes i{transform-origin:bottom;animation:stripe 1.4s var(--ease) both;background:#ffffff24;flex:1;transform:skew(-38deg)}.page-hero__stripes i:nth-child(2){animation-delay:.12s}.page-hero__stripes i:nth-child(3){animation-delay:.24s}.page-hero__content{z-index:1;max-width:900px;position:relative}.page-hero h6{color:var(--white);margin-bottom:22px}.page-hero h1{color:var(--white);font-size:56px;line-height:1.06}.page-hero__lead{color:#ffffffe0;max-width:620px;margin:24px 0 0;font-size:18px;line-height:28px}.ticks{margin:0 0 30px}.ticks li{border-top:1px solid var(--line);padding:11px 0 11px 28px;font-size:15px;line-height:22px;position:relative}.ticks li:last-child{border-bottom:1px solid var(--line)}.ticks li:before{content:"";border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);width:12px;height:6px;position:absolute;top:17px;left:2px;transform:rotate(-45deg)}.work__label{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.work__label .text-link{color:#fffc}a.work__item{color:var(--white);display:block}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 40px 100px;display:grid}.fact{border-right:1px solid var(--line);flex-direction:column;gap:10px;padding:44px 30px;display:flex}.fact:last-child{border-right:0}.fact__big{color:var(--accent);font-size:38px;line-height:1}.fact__small{letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-2);font-size:12px;line-height:14px}.capabilities{padding:60px var(--gutter) 100px;grid-template-columns:1fr 1.4fr;gap:80px;display:grid}.capabilities__head h6{margin-bottom:18px}.cap-list li{border-top:1px solid var(--line)}.cap-list li:last-child{border-bottom:1px solid var(--line)}.cap-list a{transition:color .3s, padding .4s var(--ease);align-items:center;gap:24px;padding:22px 0;font-size:22px;line-height:27px;display:flex}.cap-list em{letter-spacing:2.4px;color:var(--accent);width:28px;font-size:12px;font-style:normal}.cap-list span{flex:1}.cap-list__arrow{width:30px;height:1px;transition:width .4s var(--ease);background:currentColor;position:relative}.cap-list__arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.cap-list a:hover{color:var(--accent);padding-left:8px}.cap-list a:hover .cap-list__arrow{width:44px}.company-details{padding:70px var(--gutter);background:var(--band)}.company-details h6{margin-bottom:30px}.company-details dl{grid-template-columns:repeat(3,1fr);gap:30px 60px;margin:0;display:grid}.company-details dt{letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px}.company-details dd{margin:0;font-size:18px}.svc-index{flex-wrap:wrap;align-items:baseline;gap:40px;padding:60px 40px 0;display:flex}.svc-index p{letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}.svc-index ul{flex-wrap:wrap;gap:12px 34px;display:flex}.svc-index a{font-size:16px;transition:color .2s}.svc-index a:hover{color:var(--accent)}.svc-index em{letter-spacing:2px;color:var(--accent);margin-right:8px;font-size:11px;font-style:normal}.svc-rows{padding:40px 0}.svc-row{padding:70px var(--gutter);grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;scroll-margin-top:70px;display:grid}.svc-row--flip .svc-row__img{order:2}.svc-row__img{overflow:hidden}.svc-row__img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}.svc-row:hover .svc-row__img img{transform:scale(1.03)}.svc-row__num{color:var(--accent);letter-spacing:-1px;margin-bottom:20px;font-size:64px;line-height:1;display:block}.svc-row__text h3{margin-bottom:20px}.svc-row__text>p{color:var(--muted);max-width:520px;margin-bottom:28px;font-size:16px;line-height:27px}.process--page .process__head h2{font-size:44px;line-height:50px}.timeline{margin:0;padding:0 60px;list-style:none}.timeline__item{border-top:1px solid var(--line);grid-template-columns:180px 1fr 1.2fr;align-items:baseline;gap:40px;padding:44px 0;display:grid;position:relative}.timeline__item:last-child{border-bottom:1px solid var(--line)}.timeline__item:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .8s var(--ease);position:absolute;top:-1px;left:0;transform:scaleX(0)}.timeline__item:hover:after{transform:scaleX(1)}.timeline__num{color:var(--accent);letter-spacing:-1px;font-size:72px;line-height:1}.timeline__item p{color:var(--muted);max-width:520px;margin:0;font-size:17px;line-height:28px}.projects-grid-section{padding:80px 40px 60px}.projects-grid-section .section-head{padding-bottom:40px}.filters{flex-wrap:wrap;gap:20px 40px;margin-bottom:50px;display:flex}.filters__group{flex-wrap:wrap;gap:8px;display:flex}.filters__group button{border:1px solid var(--line);color:var(--ink);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;padding:12px 18px;font-size:12px;line-height:1;transition:border-color .25s,background-color .25s,color .25s}.filters__group button:hover{border-color:var(--ink)}.filters__group button.is-on{background:var(--accent);border-color:var(--accent);color:var(--white)}.p-grid{grid-template-columns:repeat(3,1fr);gap:60px 30px;display:grid}.p-card[hidden]{display:none}.p-card__img{margin-bottom:20px;position:relative;overflow:hidden}.p-card__img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}.p-card:hover .p-card__img img{transform:scale(1.05)}.p-card__status{background:var(--white);color:var(--ink);letter-spacing:2px;text-transform:uppercase;padding:8px 10px;font-size:11px;line-height:1;position:absolute;top:14px;left:14px}.p-card h4{margin-bottom:8px;transition:color .3s}.p-card:hover h4{color:var(--accent)}.p-card__meta{letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);gap:16px;margin:0;font-size:12px;line-height:14px;display:flex}.p-empty{color:var(--muted)}.project{padding:100px var(--gutter) 60px;grid-template-columns:340px 1fr;gap:100px;display:grid}.project__meta dl{margin:0}.project__meta dl>div{border-top:1px solid var(--line);padding:16px 0}.project__meta dl>div:last-child{border-bottom:1px solid var(--line)}.project__meta dt{letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px}.project__meta dd{margin:0;font-size:16px}.project__meta dd a{transition:color .2s}.project__meta dd a:hover{color:var(--accent)}.project__summary{margin-bottom:30px;font-size:24px;line-height:34px}.prose{color:var(--muted);max-width:680px;margin-bottom:40px}.prose p{font-size:16px;line-height:27px}.prose strong{color:var(--ink);font-weight:500}.project__body h6{margin-bottom:16px}.project__body .ticks{max-width:680px}.stages{padding:40px 40px 60px}.stages__head{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding-top:30px;display:flex}.gallery{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.gallery[hidden]{display:none}.gallery__item{cursor:zoom-in;background:0 0;border:0;padding:0;display:block;overflow:hidden}.gallery__item img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}.gallery__item:hover img{transform:scale(1.03)}.gallery__item:only-child{grid-column:1/-1}.gallery__item:only-child img{aspect-ratio:16/9}.project-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;margin:40px 40px 0;padding:40px 0;display:grid}.project-nav__link{flex-direction:column;gap:8px;font-size:20px;line-height:26px;transition:color .3s;display:flex}.project-nav__link span{letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);font-size:12px}.project-nav__link:hover{color:var(--accent)}.project-nav__link--next{text-align:right;align-items:flex-end}.lightbox{background:#000000f0;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.lightbox[open]{justify-content:center;align-items:center;display:flex}.lightbox::backdrop{background:#0009}.lightbox img{object-fit:contain;max-width:88vw;max-height:86vh}.lightbox__close{color:var(--white);cursor:pointer;background:0 0;border:0;font-size:42px;line-height:1;position:absolute;top:20px;right:28px}.lightbox .arrow{color:var(--white);width:44px;position:absolute;top:50%}.lightbox__prev{left:30px}.lightbox__next{right:30px}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:70vh;padding:160px 24px 100px;display:flex}.not-found h2{margin-bottom:20px}@media (width<=1200px){.p-grid{grid-template-columns:repeat(2,1fr)}.project{grid-template-columns:280px 1fr;gap:60px}.timeline,.steps{padding:0}}@media (width<=1024px){.page-hero{min-height:62vh;padding:140px 24px 60px}.page-hero__stripes{width:55%;height:55%}.facts{grid-template-columns:repeat(2,1fr);margin:0 24px 70px}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.capabilities{grid-template-columns:1fr;gap:40px;padding:40px 24px 70px}.company-details{padding:60px 24px}.company-details dl{grid-template-columns:1fr 1fr}.svc-index{padding:50px 24px 0}.svc-row,.svc-row--flip{grid-template-columns:1fr;gap:36px;padding:50px 24px}.svc-row--flip .svc-row__img{order:0}.timeline__item{grid-template-columns:1fr;gap:12px;padding:34px 0}.timeline__num{font-size:52px}.projects-grid-section{padding:60px 24px 40px}.project{grid-template-columns:1fr;gap:40px;padding:60px 24px 30px}.project__meta{order:2}.stages{padding:30px 24px 40px}.project-nav{margin:30px 24px 0}}@media (width<=640px){.page-hero h1{font-size:36px;line-height:40px}.page-hero h1 br{display:none}.page-hero__lead{font-size:16px;line-height:25px}.facts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.fact:last-child{border-bottom:0}.fact__big{font-size:32px}.company-details dl{grid-template-columns:1fr}.svc-row__num{font-size:48px}.p-grid,.gallery{grid-template-columns:1fr;gap:40px}.gallery{gap:12px}.project__summary{font-size:20px;line-height:29px}.project-nav{grid-template-columns:1fr 1fr}.project-nav>.text-link{display:none}.project-nav__link{font-size:16px;line-height:22px}.cap-list a{gap:16px;font-size:18px}.process--page .process__head h2{font-size:32px;line-height:37px}.lightbox .arrow{top:auto;bottom:30px}}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(30px)}.reveal.d1{transition-delay:.15s}.reveal.d2{transition-delay:.3s}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}@media (width<=1320px){.nav>ul{gap:24px}.nav>ul>li>a{font-size:16px}}@media (width<=1200px){:root{--gutter:50px}.nav{display:none}.burger{display:block}.process__head,.steps{padding-left:0;padding-right:0}.tab__body{grid-template-columns:1fr;gap:24px}.tab__img{height:380px}}@media (width<=1024px){.nav{display:none}.burger{display:block}.header{height:80px}.logo__mark{height:38px}.logo__word{font-size:32px;line-height:26px}.header__inner{padding:0 24px}.intro{grid-template-columns:1fr;padding-top:60px}.intro__text{justify-self:start}.banner{background-attachment:scroll}.pillars{grid-template-columns:1fr;gap:30px}.split{grid-template-columns:1fr;height:auto}.split__img{height:320px}.split__panel{padding:90px 24px}.services{padding:40px 24px 60px}.tabs{flex-direction:column;height:auto}.tab,.tab.is-open{border:0;border-bottom:1px solid var(--line);flex:none}.tab:first-child{border-left:0}.tab__title{justify-content:flex-start;width:auto;padding:22px 0;position:static}.tab__title span{writing-mode:horizontal-tb;white-space:normal;font-size:24px;line-height:30px;transform:none}.tab__body{width:auto;max-height:0;transition:max-height .6s var(--ease), opacity .4s;padding:0;position:static;overflow:hidden}.tab.is-open .tab__body{max-height:700px;padding-bottom:30px}.tab__img{height:260px}.work{grid-template-columns:1fr;gap:30px;padding:80px 0 60px 24px}.process{padding:80px 24px 90px}.process__head{grid-template-columns:1fr;gap:24px;padding-bottom:50px}.flow{margin:0 -24px 50px}.steps{grid-template-columns:1fr 1fr;gap:0 40px}.section-head{padding-bottom:30px}.work__item{flex-basis:82%}.contact{grid-template-columns:1fr;gap:50px}.footer__top{grid-template-columns:1fr 1fr}.footer__logo{grid-column:1/-1}}@media (width<=640px){:root{--gutter:16px}h1,.hero h1{font-size:36px;line-height:40px}.hero h1 br{display:none}.hero__lead{font-size:16px;line-height:25px}.hero .btns{flex-direction:column;align-items:stretch;max-width:300px;margin:0 auto}.process__head h2,.cta h2{font-size:32px;line-height:37px}.steps{grid-template-columns:1fr}.step__num{margin-bottom:18px;font-size:48px}.btns--center{flex-direction:column;align-items:stretch;max-width:300px;margin:0 auto}.mobile-menu a{font-size:28px;line-height:50px}h2,.banner h2{font-size:30px;line-height:36px}h3{font-size:26px;line-height:31px}.hero__stripes{width:70%;height:45%}.logos{padding:50px 0}.logo-ph{width:150px;margin:0 12px}.banner{height:440px;padding:0 16px 50px}.t-band{padding:44px 16px}.t-slide blockquote{font-size:18px;line-height:28px}.cta{padding:120px 16px}.contact{padding:70px 16px}.footer{padding:60px 16px 0}.footer__logo .logo__word{font-size:54px;line-height:44px}.footer__logo .logo__mark{height:72px}.footer__bottom{flex-direction:column;gap:16px}}
