@font-face{font-family:Cabinet;src:url('../assets/cabinet-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Cabinet;src:url('../assets/cabinet-800.woff2') format('woff2');font-weight:800;font-display:swap}@font-face{font-family:Albert;src:url('../assets/albert-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Albert;src:url('../assets/albert-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Albert;src:url('../assets/albert-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--orange:#fe6101;--ink:#111;--gray:#4b4b4b;--mid:#8c8c8c;--soft:#f5f5f5;--white:#fff;--line:#dedede;--font-heading:Cabinet,Arial,sans-serif;--font-body:Albert,Arial,sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading);line-height:1.08}h1{font-size:clamp(2.6rem,5.2vw,5.8rem);font-weight:800}h2{font-size:clamp(2.3rem,4vw,4.4rem);font-weight:700}h3{font-size:1.45rem;font-weight:700}p{color:var(--gray)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.section{padding:112px 0}.bg-soft{background:var(--soft)}.dark-section{background:var(--ink);color:var(--white)}.dark-section p{color:#d1d1d1}.eyebrow{display:block;margin-bottom:27px;color:var(--orange);font-size:.75rem;line-height:1.3;font-weight:600;letter-spacing:.12em}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.offset-1{grid-column:6/span 7}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:14px 22px;border:1px solid transparent;border-radius:8px;font-size:.9rem;line-height:1.2;font-weight:600;transition:background .2s,color .2s,border-color .2s}.btn span{font-size:1.2rem;line-height:1}.btn-primary{background:var(--orange);color:var(--white)}.btn-primary:hover{background:#ce4c00}.btn-light{background:var(--white);color:var(--ink);border-color:var(--white)}.btn-light:hover{background:var(--soft)}.btn-outline-dark{background:transparent;border-color:#737373;color:var(--white)}.btn-outline-dark:hover{border-color:var(--white);background:#292929}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--orange);padding-bottom:7px;font-weight:600;font-size:.9rem}.text-link span{color:var(--orange)}.text-link:hover{color:var(--orange)}.skip-link{position:absolute;z-index:100;left:10px;top:-100px;background:var(--white);padding:12px}.skip-link:focus{top:10px}
.site-header{position:relative;z-index:40;background:var(--white);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px;min-width:210px;font-family:var(--font-heading);font-weight:800;font-size:1.48rem;line-height:1}.brand img{width:42px;height:48px;object-fit:contain}.brand small{display:block;margin-top:5px;font:600 .48rem/1.2 var(--font-body);letter-spacing:.08em;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:38px}.desktop-nav a{font-size:.85rem;font-weight:600;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--orange)}.header-contact{min-width:110px;border-bottom:1px solid var(--ink);padding-bottom:5px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.75rem;letter-spacing:.08em;font-weight:600}.header-contact:hover{color:var(--orange);border-color:var(--orange)}.menu-toggle,.mobile-nav{display:none}
.home-hero{height:min(740px,calc(100svh - 88px));min-height:610px;position:relative;display:flex;align-items:center;color:var(--white);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.73) 0%,rgba(0,0,0,.43) 51%,rgba(0,0,0,.05) 100%)}.hero-content{position:relative;z-index:1;padding-bottom:55px}.hero-content h1{max-width:930px;margin-bottom:26px}.hero-content p{max-width:650px;color:#f3f3f3;font-size:1.02rem;line-height:1.65}.hero-eyebrow{color:var(--white);margin-bottom:25px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.hero-bottom{position:absolute;z-index:2;bottom:0;width:100%;background:rgba(0,0,0,.5);border-top:1px solid rgba(255,255,255,.25);font-size:.77rem;font-weight:600;line-height:1.5}.hero-bottom .container{padding-block:17px}.hero-bottom span{color:var(--orange);margin:0 12px}.intro-section h2{margin-bottom:0}.intro-copy{font-size:1.13rem;line-height:1.7}.intro-copy p{margin-bottom:21px}.intro-copy strong{color:var(--ink);font-weight:600}.intro-copy .text-link{margin-top:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-heading h2{max-width:650px;margin:0}.section-heading p{max-width:450px;margin:0 0 5px;line-height:1.65}.service-rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:75px minmax(200px,340px) 1fr;gap:40px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line)}.row-number{color:var(--orange);font-size:.79rem;font-weight:600}.service-photo{height:260px;overflow:hidden}.service-photo img,.service-detail-image img{width:100%;height:100%;object-fit:cover}.service-text{padding-left:30px}.service-text h3{font-size:clamp(1.5rem,2.2vw,2.25rem);margin-bottom:18px}.service-text p{max-width:610px;font-size:.94rem;margin-bottom:12px}.service-text .text-link{margin-top:12px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.why-item{padding:30px 30px 35px 0;border-bottom:1px solid var(--line)}.why-item h3{margin:21px 0 11px}.why-item p{font-size:.95rem;margin:0;max-width:320px}.why-item:nth-child(3n+2),.why-item:nth-child(3n+3){padding-left:26px;border-left:1px solid var(--line)}.featured-section{overflow:hidden}.featured-section .section-heading{margin-bottom:20px}.carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:18px}.circle-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:background .2s,color .2s}.circle-btn:hover{background:var(--orange);color:var(--white);border-color:var(--orange)}.featured-section .circle-btn{border-color:#717171;color:var(--white)}.photo-carousel,.logo-carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-carousel::-webkit-scrollbar,.logo-carousel::-webkit-scrollbar{display:none}.carousel-item{position:relative;flex:0 0 min(45%,520px);height:410px;scroll-snap-align:start;overflow:hidden}.carousel-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.carousel-item:hover img{transform:scale(1.035)}.carousel-item span{position:absolute;left:22px;bottom:20px;background:var(--white);color:var(--ink);padding:8px 12px;font-size:.72rem;font-weight:600}.section-end{margin-top:35px}.client-section .section-heading h2{max-width:750px}.logo-carousel{gap:16px}.client-logo{flex:0 0 calc((100% - 48px)/4);height:160px;display:grid;place-items:center;border:1px solid var(--line);scroll-snap-align:start;padding:25px}.client-logo img{max-width:100%;max-height:105px;object-fit:contain}.closing-cta{padding:90px 0;background:var(--soft)}.closing-inner{display:flex;justify-content:space-between;align-items:end;gap:50px}.closing-inner h2{max-width:770px;margin-bottom:25px}.closing-inner p{max-width:660px;margin-bottom:10px}.closing-inner .btn{flex:none;margin-bottom:10px}.site-footer{background:var(--ink);color:var(--white);padding:78px 0 0}.site-footer p{color:#aaa;font-size:.9rem}.footer-top{display:grid;grid-template-columns:2.1fr .8fr 1.1fr 1.2fr;gap:40px;padding-bottom:80px}.footer-brand img{width:58px;height:66px;object-fit:contain;margin-bottom:21px}.footer-brand h2{font-size:1.65rem;margin-bottom:16px}.footer-brand p{max-width:330px;margin-bottom:10px}.footer-column h3{font-family:var(--font-body);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);margin:10px 0 22px}.footer-column a{display:block;margin-bottom:14px;color:#ddd;font-size:.91rem}.footer-column a:hover{color:var(--orange)}.footer-column p{line-height:1.7}.footer-bottom{border-top:1px solid #444;padding:21px 0;display:flex;justify-content:space-between;gap:20px;color:#aaa;font-size:.76rem}.footer-bottom a{color:var(--white)}
.page-hero{background:var(--ink);color:var(--white);padding:105px 0 110px}.page-hero h1{max-width:1040px;margin:0}.page-hero p{max-width:620px;color:#ddd;margin:26px 0 0;font-size:1.1rem}.about-hero{background:var(--ink)}.services-hero,.projects-hero{background:var(--ink)}.mission-section{background:var(--ink);color:var(--white);padding:100px 0}.mission-section p{color:#ccc}.mission-section .mission-lead{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.55rem,2.4vw,2.65rem);line-height:1.25;color:var(--white)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.value-item{padding:35px 30px 35px 0;border-bottom:1px solid var(--line)}.value-item h3{margin:25px 0 12px}.value-item p{max-width:330px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.step{border-top:2px solid var(--ink);padding-top:23px}.step-num{font-family:var(--font-heading);font-size:2rem;color:var(--orange)}.step h3{margin:27px 0 12px}.step p{font-size:.94rem}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.service-detail-grid.reversed .service-detail-image{order:2}.service-detail-image{height:530px;overflow:hidden}.service-detail-copy h2{margin-bottom:22px}.service-detail-copy p{margin-bottom:16px}.service-detail-copy h3{font:600 .82rem var(--font-body);text-transform:uppercase;letter-spacing:.08em;margin-top:28px}.service-detail-copy .btn{margin-top:20px}.list-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;padding:0;list-style:none;color:var(--gray);font-size:.95rem}.list-columns li::before{content:'—';color:var(--orange);margin-right:8px}.focus-list{font-weight:600;color:var(--ink)}.procurement-intro{max-width:760px;margin-bottom:60px}.procurement-intro p{max-width:600px}.procurement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px}.procurement-category{border-top:1px solid var(--line);padding:29px 0 36px}.procurement-category h3{margin:17px 0}.procurement-category ul{list-style:none;padding:0;margin:0;columns:1}.procurement-category li{padding:5px 0;color:var(--gray)}.network-section{background:var(--ink);color:var(--white);padding:85px 0}.network-section p{color:#ddd}.network-locations{font:700 clamp(1.5rem,2.6vw,2.7rem)/1.4 var(--font-heading);color:var(--white)!important}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-item{border:0;padding:0;background:var(--soft);overflow:hidden;aspect-ratio:4/4.4}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:nth-child(8n+1),.gallery-item:nth-child(8n+6){grid-column:span 2;aspect-ratio:2/1.1}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.video-card{background:var(--white);border:1px solid var(--line)}.video-launch{position:relative;display:block;width:100%;aspect-ratio:16/9;background:var(--ink);border:0;padding:0}.video-launch img{width:100%;height:100%;object-fit:cover}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:var(--white);font-size:1.1rem;padding-left:3px}.video-label{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;font-size:.77rem;font-weight:600;letter-spacing:.06em}.video-label a{font-size:1.2rem;color:var(--orange)}.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;background:rgba(0,0,0,.94);color:var(--white);padding:40px;overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center;gap:25px}.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.lightbox figure img{max-width:min(90vw,1200px);max-height:80vh;object-fit:contain}.lightbox figcaption{margin-top:12px;color:#ddd;font-size:.85rem}.lightbox button{width:45px;height:45px;flex:none;background:transparent;color:var(--white);border:1px solid #888;border-radius:50%;font-size:1.3rem}.lightbox button:hover{background:var(--orange);border-color:var(--orange)}.lightbox-close{position:absolute;right:22px;top:22px}
@media(max-width:1050px){.container{width:min(1200px,calc(100% - 56px))}.desktop-nav{gap:22px}.service-row{grid-template-columns:45px 250px 1fr;gap:18px}.service-text{padding-left:0}.footer-top{grid-template-columns:1.5fr 1fr 1fr;gap:28px}.footer-column:last-child{grid-column:2/span 2}.steps{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(n){grid-column:auto;aspect-ratio:4/4.4}}
@media(max-width:800px){.header-inner{height:76px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;width:48px;height:48px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--white);border-radius:4px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:20px 28px 26px;border-top:1px solid var(--line);background:var(--white)}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:600}.mobile-nav a[aria-current]{color:var(--orange)}.home-hero{min-height:670px;height:calc(100svh - 76px);max-height:800px}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.77),rgba(0,0,0,.28))}.hero-content h1{max-width:740px}.section{padding:82px 0}.grid-12{grid-template-columns:repeat(2,1fr);row-gap:30px}.span-4,.span-5,.span-7,.span-8,.offset-1{grid-column:span 2}.section-heading{display:block}.section-heading p{margin-top:22px}.service-row{grid-template-columns:45px 1fr;gap:20px}.service-photo{height:280px}.service-text{grid-column:2}.why-grid,.values-grid{grid-template-columns:repeat(2,1fr)}.why-item:nth-child(n){padding:30px 25px 30px 0;border-left:0}.why-item:nth-child(even){padding-left:25px;border-left:1px solid var(--line)}.carousel-item{flex-basis:60%}.client-logo{flex-basis:calc((100% - 16px)/2)}.closing-inner{display:block}.closing-inner .btn{margin-top:24px}.footer-top{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:span 2}.footer-column:last-child{grid-column:auto}.service-detail-grid{gap:35px}.service-detail-image{height:460px}.procurement-grid{grid-template-columns:repeat(2,1fr)}.page-hero{padding:85px 0}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.brand{font-size:1.27rem;min-width:0}.brand img{width:36px;height:42px}.brand small{font-size:.4rem}.section{padding:68px 0}.eyebrow{margin-bottom:21px}h1{font-size:clamp(2.4rem,9vw,3.6rem)}h2{font-size:clamp(2.05rem,7vw,3rem)}.home-hero{height:auto;min-height:680px;max-height:none;padding:86px 0 95px;align-items:center}.hero-image img{object-position:54% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.4))}.hero-content{padding-bottom:0}.hero-content h1{line-height:1.08}.hero-content h1 br{display:none}.hero-content p{font-size:.95rem}.hero-actions{margin-top:27px}.hero-actions .btn{width:100%}.hero-bottom .container{padding-block:10px}.hero-bottom{font-size:.67rem}.hero-bottom span{margin:0 5px}.intro-copy{font-size:1rem}.section-heading{margin-bottom:32px}.service-row{grid-template-columns:1fr;padding:27px 0;gap:15px}.service-photo{height:250px}.service-text{grid-column:1}.service-text h3{margin:8px 0 16px}.service-text p{font-size:.9rem}.why-grid,.values-grid{grid-template-columns:1fr}.why-item:nth-child(n),.value-item{border-left:0;padding:24px 0}.why-item h3,.value-item h3{margin:14px 0 8px}.carousel-item{flex-basis:86%;height:310px}.client-logo{height:130px;padding:20px}.client-logo img{max-height:85px}.closing-cta{padding:67px 0}.footer-top{gap:30px 18px;padding-bottom:52px}.footer-brand{grid-column:span 2}.footer-column:last-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:10px}.steps{grid-template-columns:1fr;gap:15px}.step{padding:18px 0 6px}.step h3{margin:6px 0 8px}.service-detail-grid{grid-template-columns:1fr;gap:28px}.service-detail-grid.reversed .service-detail-image{order:0}.service-detail-image{height:320px}.procurement-grid{grid-template-columns:1fr}.procurement-category{padding:22px 0}.procurement-intro{margin-bottom:34px}.list-columns{grid-template-columns:1fr}.gallery-grid{gap:8px}.gallery-item:nth-child(n){aspect-ratio:3/4}.video-grid{grid-template-columns:1fr;gap:16px}.lightbox{padding:60px 10px 25px}.lightbox[open]{gap:5px}.lightbox button{width:34px;height:34px}.lightbox-close{right:12px;top:12px}.lightbox figure img{max-width:calc(100vw - 90px);max-height:75vh}.page-hero{padding:74px 0}.mission-section,.network-section{padding:65px 0}}
@media(max-width:360px){.brand{font-size:1.1rem}.brand small{font-size:.35rem}.brand img{width:30px;height:36px}.hero-bottom{font-size:.6rem}.hero-content h1{font-size:2.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:580px){.hero-content h1{overflow-wrap:normal;word-break:normal}.hero-content h1 br{display:initial}}
.icon-arrow,.icon-play{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em}
.header-contact{min-width:0;border:0;padding:11px 16px;border-radius:8px;background:var(--orange);color:var(--white);gap:12px;transition:background .2s,transform .2s}.header-contact:hover{background:#ce4c00;color:var(--white);transform:translateY(-1px)}
.mobile-nav a.mobile-cta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:14px 18px;border-radius:8px;background:var(--orange);color:var(--white);border:0;font-size:.85rem;letter-spacing:.08em;font-weight:600;text-transform:uppercase}
.circle-btn{display:inline-grid;place-items:center;font-size:1.05rem}.play-icon{display:grid;place-items:center}.play-icon .icon-play{width:40%;height:40%;margin-left:6%}
.page-hero.has-image{position:relative;overflow:hidden;padding:150px 0 140px}.page-hero-image{position:absolute;inset:0}.page-hero-image img{width:100%;height:100%;object-fit:cover;animation:heroZoom 1.6s ease-out both}.page-hero.has-image .container{position:relative;z-index:1}.page-hero.has-image p{color:#eee;max-width:640px}
.procurement-image{margin-bottom:56px;aspect-ratio:16/7;overflow:hidden}.procurement-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.procurement-image:hover img,.service-detail-image:hover img{transform:scale(1.03)}.service-detail-image{overflow:hidden}.service-detail-image img{transition:transform .6s ease}
.btn{transition:background .2s,color .2s,border-color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn span,.text-link span{transition:transform .2s}.btn:hover span,.text-link:hover span{transform:translate(2px,-2px)}
.value-item,.step,.procurement-category,.why-item{transition:transform .3s ease}.value-item:hover,.step:hover,.procurement-category:hover{transform:translateY(-4px)}
.page-hero .container>*,.hero-content>*{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) both}.page-hero .container>*:nth-child(2),.hero-content>*:nth-child(2){animation-delay:.12s}.page-hero .container>*:nth-child(3),.hero-content>*:nth-child(3){animation-delay:.24s}.hero-content>*:nth-child(4){animation-delay:.36s}
main{animation:pageIn .5s ease both}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-visible{opacity:1;transform:none}
@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pageIn{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.page-hero.has-image{padding:100px 0 90px}.procurement-image{margin-bottom:34px;aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
