@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(assets/fonts/barlow-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(assets/fonts/barlow-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(assets/fonts/barlow-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(assets/fonts/barlow-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(assets/fonts/manrope-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(assets/fonts/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(assets/fonts/manrope-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(assets/fonts/manrope-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: optional;
  src: url(assets/fonts/manrope-800.ttf) format('truetype');
}
:root{--ink:#111b20;--bg:#101619;--paper:#f2f3ef;--muted:#aebdc4;--line:#ffffff23;--yellow:#f1d14b;--blue:#70c1dc;--g:max(5vw,calc((100vw - 1440px)/2));--heading:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:135px}body{margin:0;background:var(--bg);color:#f5f6f2;font:17px/1.75 Barlow,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(48px,4.5vw,76px);line-height:1.07}h2{font-size:clamp(34px,3.15vw,50px);line-height:1.16}h3{font-size:23px;line-height:1.3;letter-spacing:-.025em}p{margin-bottom:22px}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{color:var(--blue)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;background:var(--yellow);color:var(--ink);padding:15px;z-index:99}.skip:focus{top:0}.eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:2px;color:var(--blue);margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--yellow);color:#152126;border:1px solid var(--yellow);padding:17px 23px;font-size:14px;line-height:1.4;font-weight:600;min-height:55px;transition:background .2s}.button>span{font-size:22px;font-weight:400;line-height:1}.button:hover{color:#152126;background:#ffe574}.button.outline{background:transparent;color:inherit;border-color:#84979f}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:14px;font-weight:500;border-bottom:1px solid #82969f;padding:0 0 9px;margin-top:8px}.text-link>span{color:var(--blue);font-size:23px;line-height:1}.utility{padding:8px var(--g);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.8px;color:#a7b8c0;border-bottom:1px solid #ffffff12;background:#090e11}.utility>div{display:flex;gap:27px}.utility a{display:flex;align-items:center;gap:8px}.utility i{width:5px;height:5px;background:var(--yellow);border-radius:50%}.utility>div>a:last-child{font-weight:600;color:#f1f4f4}
header{height:124px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--g);gap:35px;background:#101619fa;position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff14}.brand{display:flex;align-items:center;justify-content:center;align-self:stretch;width:216px;padding:10px 23px 11px 0;flex-shrink:0;border-right:1px solid #ffffff16}.brand img{width:184px;height:103px;object-fit:contain}nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500}nav>a:not(.button){position:relative;padding:14px 0}nav>a[aria-current=page]{color:var(--yellow)}nav>a[aria-current=page]:after{content:'';position:absolute;bottom:2px;left:0;width:20px;height:2px;background:var(--yellow)}nav .button{margin-left:12px;font-size:13px;padding:15px 20px;min-height:50px}.menu{display:none}
.hero-new{display:grid;grid-template-columns:1fr 1.06fr;gap:5%;padding:58px var(--g) 72px;max-width:none;position:relative}.hero-copy{padding:26px 0 28px}.hero-copy h1{font-size:clamp(54px,5.1vw,84px);line-height:1.08;letter-spacing:-.055em;margin-bottom:30px}.hero-copy h1 span{color:var(--yellow)}.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:480px;color:#becbd0;margin-bottom:32px}.hero-actions{display:flex;align-items:start;flex-direction:column;gap:24px}.hero-call{font-size:12px;display:flex;gap:18px;color:#a1b5bf}.hero-call b{font-weight:500;color:#f1f4f4;letter-spacing:.4px}.hero-visual{position:relative;min-height:590px;padding-bottom:75px}.hero-visual>img{height:100%;position:absolute;inset:0;width:100%;object-position:64% center;border-radius:2px}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071b28b3,transparent 40%);pointer-events:none}.image-caption{position:absolute;left:28px;right:28px;top:25px;color:white;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.2px;z-index:2;text-shadow:0 1px 8px #000}.image-caption a{font-size:11px;letter-spacing:0}.hero-response{position:absolute;bottom:25px;left:-42px;right:25px;z-index:3;display:flex;align-items:center;gap:25px;background:#f1f3ef;color:#172a34;padding:23px 27px;box-shadow:0 8px 30px #0002}.hero-response:hover{color:#172a34;background:white}.response-icon{width:48px;height:48px;background:var(--yellow);display:grid;place-items:center;font-size:27px;flex-shrink:0}.hero-response small{font-size:9px;letter-spacing:1.5px;color:#48616c}.hero-response strong{display:block;font-family:var(--heading);font-size:18px;font-weight:600;letter-spacing:-.035em}.hero-response div>span{display:block;font-size:13px;color:#48616c;margin-top:3px}.capability-bar{display:grid;grid-template-columns:repeat(4,1fr);padding:24px var(--g);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#152229;font-size:13px;color:#d6e0e3}.capability-bar span:before{content:'+';color:var(--blue);font-size:19px;margin-right:12px}
.section{padding:95px var(--g)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;align-items:end;margin-bottom:45px}.section-heading>p{color:var(--muted);font-size:17px;margin:0}.intro-new,.about-story,.about-connection{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--paper);color:var(--ink)}.intro-new .eyebrow,.about-story .eyebrow,.about-connection .eyebrow{color:#46768a}.intro-new>div>p,.about-story>div>p,.about-connection>div>p{font-size:17px;color:#50636d}.intro-new>div>.lead,.about-story>div>.lead,.about-connection>div>.lead{font-size:23px;line-height:1.5;color:#182b35;margin-bottom:27px}.intro-new .text-link,.about-connection .text-link{color:#1a3c4b}.intro-new .text-link>span,.about-connection .text-link>span{color:#377b98}.services-preview{background:#101619}.capability-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.capability-cards article{background:#1a282f;display:flex;flex-direction:column}.card-image{display:block;height:240px;overflow:hidden;position:relative}.card-image img{height:100%;transition:transform .5s}.card-image:hover img{transform:scale(1.03)}.card-image>span{position:absolute;left:22px;bottom:20px;background:#142631e8;color:white;font-size:10px;padding:7px 11px;border:1px solid #ffffff40}.card-body{padding:30px;display:flex;flex-direction:column;flex:1}.card-body h3{font-size:25px;margin-bottom:17px;min-height:65px}.card-body p{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:27px}.card-body .text-link{margin-top:auto;align-self:start;font-size:13px}
.why-feature{display:grid;grid-template-columns:1fr 1fr;background:#e9ece8;color:#182b34}.why-image{position:relative;min-height:810px}.why-image img{position:absolute;height:100%;object-position:center 38%}.why-image>span{position:absolute;bottom:35px;left:8%;background:#101d26e8;color:white;padding:12px 17px;font-size:9px;letter-spacing:1.5px}.why-copy{padding:75px max(10%,calc((100vw - 1440px)/2)) 75px 12%}.why-copy .eyebrow{color:#46768a}.why-copy h2{font-size:clamp(34px,2.9vw,46px);margin-bottom:28px}.why-copy>p{color:#526771;font-size:17px}.benefit{display:flex;gap:20px;padding:22px 0;border-top:1px solid #acbbc1}.benefit>b{font-size:11px;font-weight:400;color:#4c7c91}.benefit h3{font-size:19px;margin-bottom:9px;letter-spacing:-.025em}.benefit p{font-size:15px;line-height:1.7;color:#526771;margin:0}.why-copy .text-link{margin-top:18px}.why-copy .text-link span{color:#347895}.industries-preview{background:#142229}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line);margin-bottom:35px}.sector-grid>a{padding:30px 0 10px;display:flex;flex-direction:column}.sector-grid span{font-size:10px;color:var(--blue);margin-bottom:35px}.sector-grid h3{font-size:23px;min-height:64px;margin-bottom:19px}.sector-grid p{font-size:15px;color:var(--muted)}.sector-grid b{font-size:12px;font-weight:500;margin-top:auto;color:var(--blue)}.work-preview{display:grid;grid-template-columns:.85fr 1.15fr;background:#1f3a49}.work-preview>div{padding:85px 12% 85px max(10%,calc((100vw - 1440px)/2))}.work-preview h2{font-size:clamp(34px,3vw,48px);margin-bottom:28px}.work-preview p:not(.eyebrow){color:#bdced6;font-size:17px}.work-preview img{height:100%;min-height:500px;object-position:center}.work-preview .button{margin-top:12px}
.process{background:var(--paper);color:var(--ink)}.process .eyebrow{color:#46768a}.process .section-heading>p{color:#5b6a71}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid #a9babf;padding-top:23px}.steps article>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid #a9babf;border-radius:50%;font-size:10px;margin-bottom:28px;color:#365a6b}.steps h3{font-size:23px;margin-bottom:18px}.steps p{color:#596b73;font-size:16px;margin:0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;background:#182830}.faq h2{font-size:40px;margin-bottom:25px}.faq>div>p:not(.eyebrow){font-size:15px;color:var(--muted)}details{border-top:1px solid #ffffff30}details:last-child{border-bottom:1px solid #ffffff30}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:30px;list-style:none;padding:24px 0;font-size:18px;font-weight:500;line-height:1.45}summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--blue)}details[open] summary span{transform:rotate(45deg)}details>p{font-size:16px;color:#b7c7d0;line-height:1.8;padding-right:35px;margin-bottom:25px}.closing{padding:75px var(--g);background:#e9cb4e;color:#15272f;display:flex;justify-content:space-between;align-items:center;gap:60px}.closing .eyebrow{color:#506052;margin-bottom:20px}.closing h2{font-size:clamp(32px,3vw,48px)}.closing p:not(.eyebrow){color:#445149;font-size:16px;margin:25px 0 0}.closing>div:last-child{display:flex;flex-direction:column;gap:20px;align-items:stretch;flex-shrink:0}.closing .button{background:#142b37;border-color:#142b37;color:white}.closing .button:hover{background:#264857}.phone-link{display:flex;justify-content:space-between;font-size:19px;font-weight:500;border-bottom:1px solid #7b7c52;padding-bottom:10px}
footer{padding:65px var(--g) 25px;background:#0b1115}.footer-top{display:grid;grid-template-columns:1.2fr .65fr 1fr 1.05fr;gap:6%;padding-bottom:50px}.footer-brand img{width:170px;height:112px;object-fit:contain;object-position:left center;margin-bottom:20px}.footer-brand p{font-size:17px;line-height:1.5;color:#d4dfe3;margin:0 0 17px}.footer-brand>span{font-size:11px;color:#95a9b3}.footer-top h3{font:500 14px var(--heading);letter-spacing:0;margin:24px 0}.footer-top>div>a:not(:first-child){display:block;margin:11px 0;font-size:13px;color:#aebfc8}.footer-top>div>a:hover{color:var(--blue)}.footer-top .footer-phone{font-size:23px!important;color:#f2f5f6!important}address{font-size:14px;font-style:normal;color:#adbdc5;line-height:1.8;margin:25px 0 0}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#91a6b1}
.page-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;padding:40px var(--g) 55px;background:#14232c}.page-hero-copy{padding:0 0 20px;align-self:center}.crumb{display:flex;gap:12px;font-size:11px;color:#809fab;margin-bottom:35px}.page-hero .eyebrow{margin-bottom:22px}.page-hero h1{font-size:clamp(41px,3.7vw,60px);line-height:1.13;margin-bottom:27px}.page-hero-copy>p:not(.eyebrow){font-size:18px;color:#b3c6d0;max-width:580px}.page-hero-image{min-height:460px;overflow:hidden}.page-hero-image img{height:100%;object-position:center}.page-hero .text-link{margin-top:5px}.service-jump{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:24px var(--g);border-bottom:1px solid var(--line);background:#10191e;font-size:13px}.service-jump>span{font-size:9px;letter-spacing:1.5px;color:#8cacbb}.service-jump a{color:#d2e0e6}.service-category{display:grid;grid-template-columns:.8fr 1.6fr;gap:9%;border-bottom:1px solid var(--line)}.service-category:nth-of-type(even){background:#17262e}.category-intro h2{font-size:36px;margin-bottom:25px}.category-intro>p:not(.eyebrow){color:#b1c3cb;font-size:18px}.category-intro .text-link{margin-top:10px}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:35px}.service-details article{border-top:1px solid #ffffff30;padding-top:23px}.service-details h3{font-size:21px;margin-bottom:16px}.service-details p{font-size:15px;color:#aebfc7;margin-bottom:14px}.service-details p:first-of-type{color:#e3eaed}.industry-section{background:#16252d}.industry-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.industry-cards article{padding:35px;background:#1d303b;border:1px solid #ffffff16;display:flex;flex-direction:column;scroll-margin-top:145px}.card-number{font-size:10px;color:var(--blue);margin-bottom:20px}.industry-cards h2{font-size:28px;line-height:1.3;margin-bottom:20px}.industry-cards p{font-size:17px;color:#bfced6}.industry-cards h3{font:500 10px Barlow,Arial,sans-serif;letter-spacing:1.4px;color:var(--blue);margin-top:auto}.industry-cards ul{padding-left:18px;margin:15px 0 24px;font-size:15px;color:#d0dce2;line-height:2}.industry-cards .text-link{align-self:start;font-size:13px}.about-story{gap:12%}.location-block{border-left:3px solid #d3b537;padding:8px 0 8px 22px;margin-top:45px}.location-block>span{font-size:9px;color:#5a747f;letter-spacing:1.5px}.location-block strong{font:500 23px var(--heading);display:block;margin:12px 0}.location-block p{font-size:15px;color:#526771;margin:0}.about-connection{background:#e2e8e5;border-top:1px solid #c5d0d2}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.value-grid article{border-top:1px solid #ffffff35;padding-top:25px}.value-grid article>span{font-size:10px;color:var(--blue);letter-spacing:1px;display:block;margin-bottom:25px}.value-grid h3{margin-bottom:20px}.value-grid p{font-size:16px;color:#b0c1ca;margin:0}.group-section{background:#182a34}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.company-grid article{background:#213b49;padding:36px;display:flex;flex-direction:column}.company-grid .eyebrow{font-size:9px;margin-bottom:22px}.company-grid h3{font-size:29px;margin-bottom:20px}.company-grid p{font-size:16px;color:#b9cbd5}.company-grid .text-link{margin-top:auto;align-self:start;font-size:13px}.team-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--paper);color:var(--ink)}.team-section .eyebrow{color:#46768a}.team-section h2{margin-bottom:25px}.team-section>div>p:not(.eyebrow){font-size:17px;color:#526771}.people article{padding:20px 0 25px;border-top:1px solid #b4c2c7}.people article>span{font-size:9px;letter-spacing:1.5px;color:#46768a}.people h3{font-size:26px;margin:17px 0 8px}.people p{font-size:16px;margin:0 0 10px;color:#647781}.people a{font-size:14px;color:#32657e}
.projects{background:#16252d}.gallery-tools{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{color:#b8cbd4;background:transparent;border:1px solid #516874;font-size:12px;padding:10px 17px}.filters button.active{background:var(--yellow);border-color:var(--yellow);color:#15252d}#gallery-count{font-size:10px;letter-spacing:1px;color:#9eb5c2;white-space:nowrap}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:30px}.gallery button{background:#213440;border:0;padding:0;color:#eef3f5;text-align:left;overflow:hidden}.gallery img{height:260px;transition:transform .4s}.gallery button:hover img{transform:scale(1.025)}.gallery-caption{padding:20px;display:flex;gap:15px;justify-content:space-between}.gallery-caption strong{font-size:14px;font-weight:500;line-height:1.5;display:block}.gallery-caption small{font-size:8px;letter-spacing:1.2px;color:#9bb3c1;display:block;margin-top:9px}.gallery-caption b{font-size:24px;font-weight:400;color:var(--yellow)}.video-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line);margin-top:65px;padding-top:50px}.video-section h3{font-size:30px;margin-bottom:23px}.video-section p:not(.eyebrow){color:#a9bfcb;font-size:16px}.video-empty{background:#1e3442;border:1px solid #3e5a6a;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px}.video-empty>span{font-size:48px;color:var(--blue)}.video-empty p{font-size:12px!important}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;background:var(--paper);color:var(--ink)}.contact-intro .eyebrow{color:#46768a}.contact-intro h2{margin-bottom:28px;font-size:42px}.contact-intro>p:not(.eyebrow){color:#5b707b;font-size:17px}.contact-intro>a{display:block;font-size:15px;color:#326780}.contact-intro .contact-phone{font:500 30px var(--heading);margin:30px 0 16px;color:#173b4c}.contact-intro address{color:#607681}.contact form{padding:36px;background:white;border:1px solid #d8e0e0}.contact form h3{font-size:25px}form .form-help{font-size:13px;line-height:1.7;color:#647984;margin:15px 0 25px}label{display:block;font-size:12px;font-weight:500;margin:0 0 20px}input,select,textarea{display:block;width:100%;border:1px solid #bdccd1;background:#f5f7f6;color:#1c3541;padding:13px 12px;border-radius:0;min-width:0;font-size:15px;margin-top:8px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.request-note{border-left:3px solid #d0b439;background:#f6f0d9;padding:15px;font-size:13px;color:#596566}#email-result{margin-top:25px;border:1px solid #709caa;padding:20px;font-size:14px}#email-result .button{font-size:12px;min-height:42px;padding:10px;margin-bottom:12px}.request-options .section-heading>p{color:var(--muted)}.emergency-call{background:var(--yellow);color:#142c38;padding:65px var(--g);display:flex;align-items:center;justify-content:space-between;gap:50px}.emergency-call .eyebrow{color:#536353}.emergency-call h2{font-size:60px}.emergency-call p:not(.eyebrow){margin:20px 0 0;font-size:17px;color:#4e5a4f}.emergency-call .button{color:white;background:#193b4d;border-color:#193b4d}.emergency-info{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#1a303d}.emergency-info ul{margin:0;padding-left:20px;font-size:18px;line-height:2.3;color:#b8ccd8}
dialog{width:90vw;max-width:1100px;max-height:90vh;padding:48px 28px 25px;background:#152a36;color:#eff3f5;border:1px solid #516a79}dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:5px;font-size:32px;color:white;background:none;border:0}#lightbox-image{max-height:68vh;object-fit:contain}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px}.lightbox-bottom p{margin:0;font-size:13px}.lightbox-bottom button{border:1px solid #658091;color:white;background:none;padding:8px 17px;font-size:20px}#career-dialog{max-width:650px}#career-dialog h2{font-size:36px;margin-bottom:25px}#career-dialog .form-help{color:#b7c8d2}#career-dialog label{font-size:13px}
@media(min-width:2200px){.hero-new{padding-top:85px;padding-bottom:95px;grid-template-columns:1fr 1.1fr;gap:5%}.hero-copy h1{font-size:86px}.hero-visual{min-height:675px}.why-feature,.work-preview{max-width:1800px;margin:auto}.why-copy{padding:80px 12%}.work-preview>div{padding:90px 12%}.page-hero-image{min-height:520px}}
@media(max-width:1200px){nav{gap:19px;font-size:13px}nav .button{margin-left:0}.brand{width:180px}.brand img{width:160px}header{gap:25px}.hero-copy h1{font-size:64px}.hero-new{gap:5%;padding-top:40px}.hero-visual{min-height:600px}.hero-response{left:-20px;right:18px;padding:20px;gap:17px}.hero-response strong{font-size:16px}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-actions .button{font-size:13px}.card-body{padding:25px}.card-body h3{font-size:23px}.why-copy{padding:60px 10%}.sector-grid{gap:25px}.sector-grid h3{font-size:20px}.service-category{gap:7%;grid-template-columns:.8fr 1.6fr}.category-intro h2{font-size:30px}.footer-top{gap:5%}.footer-top .footer-phone{font-size:20px!important}.page-hero h1{font-size:48px}}
@media(max-width:1000px){header{height:110px}.brand{width:154px;padding-right:16px}.brand img{width:140px;height:90px}nav{gap:14px;font-size:12px}nav .button{font-size:12px;padding:13px;gap:14px}.utility{font-size:9px}.utility>div{gap:17px}.hero-copy h1{font-size:57px}.hero-visual{min-height:560px}.hero-response{padding:18px;left:-15px}.response-icon{display:none}.image-caption>span{display:none}.hero-call{flex-direction:column;gap:2px}.section{padding-top:75px;padding-bottom:75px}.card-image{height:200px}.card-body h3{font-size:21px}.card-body p{font-size:15px}.why-copy{padding:55px 8%}.why-image{min-height:860px}.why-copy h2{font-size:34px}.sector-grid{grid-template-columns:1fr 1fr;gap:10px 35px}.sector-grid h3{min-height:0}.sector-grid span{margin-bottom:20px}.work-preview>div{padding:65px 12%}.work-preview h2{font-size:34px}.steps{gap:25px}.steps h3{font-size:20px}.section-heading{gap:8%}.faq{gap:8%}.faq h2{font-size:34px}.service-category{grid-template-columns:1fr;gap:40px}.category-intro{max-width:600px}.service-jump{gap:15px;font-size:11px}.service-jump>span{display:none}.page-hero h1{font-size:42px}.page-hero-image{min-height:470px}.footer-top{grid-template-columns:1fr 1fr;gap:25px 15%}.footer-brand{grid-row:span 2}.gallery{grid-template-columns:1fr 1fr}.contact{gap:6%}.contact form{padding:25px}.form-row{gap:13px}.closing h2{font-size:38px}}
@media(max-width:760px){:root{--g:6%}html{scroll-padding-top:115px}body{font-size:16px}.utility>span,.utility>div>a:first-child{display:none}.utility>div{width:100%;justify-content:space-between;gap:12px}.utility{font-size:9px;padding:8px 6%;letter-spacing:.4px}header{height:103px;padding:0 6%}.brand{width:158px;padding:7px 18px 7px 0}.brand img{width:145px;height:88px}.menu{display:flex;align-items:center;gap:12px;background:none;border:0;color:#eaf1f4;font-size:12px}.menu span{font-size:25px}nav{display:none;position:absolute;top:103px;left:0;right:0;padding:22px 6% 30px;background:#101619;border-bottom:1px solid #445864;flex-direction:column;align-items:stretch;gap:12px;font-size:16px}nav.open{display:flex}nav>a:not(.button){padding:8px 0}nav .button{font-size:14px;min-height:50px;padding:14px 20px;margin-top:8px}.hero-new{grid-template-columns:1fr;padding:40px 6% 40px;gap:32px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:23px}.hero-copy h1{font-size:clamp(51px,10.3vw,74px);margin-bottom:25px}.hero-copy h1 span br{display:none}.hero-copy>p:not(.eyebrow){font-size:18px;margin-bottom:27px}.hero-actions{gap:20px}.hero-call{flex-direction:row;gap:14px}.hero-visual{height:400px;min-height:0;margin-left:14px}.hero-visual>img{object-position:62% center}.hero-response{left:-14px;right:18px;bottom:18px;gap:16px;padding:17px}.response-icon{display:grid;width:40px;height:40px;font-size:23px}.hero-response strong{font-size:16px}.hero-response small{font-size:8px}.hero-response div>span{font-size:12px}.image-caption{left:20px;top:18px}.image-caption a{font-size:10px}.capability-bar{grid-template-columns:1fr 1fr;gap:15px 20px;padding:23px 6%;font-size:11px;line-height:1.6}.capability-bar span:before{font-size:15px;margin-right:7px}.section{padding:60px 6%}h2{font-size:35px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.intro-new,.about-story,.about-connection{grid-template-columns:1fr;gap:30px}.intro-new>div>.lead,.about-story>div>.lead,.about-connection>div>.lead{font-size:22px}.intro-new>div>p,.about-story>div>p,.about-connection>div>p{font-size:16px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.section-heading>p{font-size:16px}.capability-cards{grid-template-columns:1fr;gap:25px}.card-image{height:260px}.card-body{padding:27px}.card-body h3{font-size:25px;min-height:0}.card-body p{font-size:16px}.why-feature{grid-template-columns:1fr}.why-image{min-height:460px}.why-image img{object-position:center 32%}.why-copy{padding:55px 6%}.why-copy h2{font-size:35px}.why-copy>p{font-size:16px}.benefit h3{font-size:18px}.sector-grid{grid-template-columns:1fr;gap:0;margin-bottom:25px}.sector-grid>a{padding:26px 0;border-bottom:1px solid var(--line)}.sector-grid span{margin-bottom:16px}.sector-grid h3{font-size:24px;margin-bottom:16px}.sector-grid p{font-size:16px}.work-preview{grid-template-columns:1fr}.work-preview>div{padding:55px 6%}.work-preview img{min-height:0;height:340px}.work-preview h2{font-size:35px}.steps{grid-template-columns:1fr;gap:30px}.steps article>span{margin-bottom:20px}.steps h3{font-size:22px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:35px}.faq>div>p:not(.eyebrow){margin:0}summary{font-size:17px;padding:22px 0}details>p{font-size:15px;padding-right:12px}.closing{padding:55px 6%;flex-direction:column;align-items:start;gap:30px}.closing h2{font-size:35px}.closing>div:last-child{min-width:245px}.closing p:not(.eyebrow){margin-top:22px}footer{padding:45px 6% 23px}.footer-top{grid-template-columns:1fr 1fr;gap:25px 20px}.footer-brand{grid-row:auto;grid-column:1/-1;display:grid;grid-template-columns:155px 1fr;gap:0 20px;align-items:center}.footer-brand img{width:145px;height:100px;margin:0}.footer-brand p{font-size:14px;margin:0}.footer-brand>span{grid-column:1/-1;margin-top:15px}.footer-top>div:last-child{grid-column:1/-1}.footer-top h3{font-size:14px;margin:15px 0 20px}.footer-top>div>a:not(:first-child){font-size:13px}.footer-bottom{flex-direction:column;gap:12px;font-size:10px}.page-hero{grid-template-columns:1fr;gap:25px;padding:27px 6% 35px}.page-hero-copy{padding:0}.crumb{margin-bottom:30px;font-size:10px}.page-hero h1{font-size:41px;line-height:1.12}.page-hero-copy>p:not(.eyebrow){font-size:17px}.page-hero-image{min-height:0;height:300px}.page-hero-image img{object-position:center 40%}.service-jump{padding:20px 6%;flex-wrap:wrap;justify-content:start;gap:12px 22px;font-size:12px}.service-category{gap:30px}.category-intro h2{font-size:34px}.service-details{grid-template-columns:1fr;gap:25px}.service-details h3{font-size:22px}.service-details p{font-size:16px}.industry-cards{grid-template-columns:1fr;gap:20px}.industry-cards article{padding:27px}.industry-cards h2{font-size:27px}.industry-cards p{font-size:16px}.industry-cards ul{font-size:14px}.location-block{margin-top:30px}.value-grid{grid-template-columns:1fr;gap:30px}.value-grid h3{font-size:23px}.company-grid{grid-template-columns:1fr;gap:20px}.company-grid article{padding:28px}.company-grid h3{font-size:27px}.team-section{grid-template-columns:1fr;gap:35px}.people h3{font-size:25px}.gallery-tools{align-items:start;gap:12px}.filters{gap:7px}.filters button{font-size:11px;padding:9px 12px}#gallery-count{font-size:9px;padding-top:12px}.gallery{grid-template-columns:1fr;gap:20px}.gallery img{height:280px}.video-section{grid-template-columns:1fr;gap:22px;margin-top:45px;padding-top:35px}.video-section h3{font-size:28px}.contact{grid-template-columns:1fr;gap:35px}.contact-intro h2{font-size:36px}.contact form{padding:23px}.contact form h3{font-size:24px}.form-row{grid-template-columns:1fr;gap:0}input,select,textarea{font-size:16px}.emergency-call{padding:45px 6%;flex-direction:column;align-items:start;gap:30px}.emergency-call h2{font-size:42px}.emergency-call p:not(.eyebrow){font-size:16px}.emergency-info{grid-template-columns:1fr;gap:30px}.emergency-info ul{font-size:16px;line-height:2.1}.lightbox-bottom p{font-size:11px}.lightbox-bottom button{padding:8px 12px}dialog{padding:45px 20px 23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Casey's specified all-black background, shared across every page. */
:root{--bg:#050505;--paper:#050505;--ink:#f0f3f4;--muted:#aab4ba;--line:#ffffff28}
body,header,nav,.utility,.hero-new,.capability-bar,.intro-new,.about-story,.about-connection,.services-preview,.why-feature,.industries-preview,.work-preview,.process,.faq,.closing,footer,.page-hero,.service-jump,.service-category,.service-category:nth-of-type(even),.industry-section,.group-section,.team-section,.projects,.contact,.request-options,.emergency-call,.emergency-info{background:#050505;color:#f0f3f4}
.intro-new,.about-connection,.process,.closing,.team-section,.contact,.capability-bar,.why-feature,.work-preview,.faq,.emergency-call,.emergency-info{border-top:1px solid #ffffff25}
.intro-new .eyebrow,.about-story .eyebrow,.about-connection .eyebrow,.why-copy .eyebrow,.process .eyebrow,.team-section .eyebrow,.contact-intro .eyebrow,.closing .eyebrow,.emergency-call .eyebrow{color:var(--blue)}
.intro-new>div>p,.about-story>div>p,.about-connection>div>p,.why-copy>p,.benefit p,.process .section-heading>p,.steps p,.closing p:not(.eyebrow),.team-section>div>p:not(.eyebrow),.contact-intro>p:not(.eyebrow),.contact-intro address,.location-block p,.people p,.emergency-call p:not(.eyebrow){color:#aeb8be}
.intro-new>div>.lead,.about-story>div>.lead,.about-connection>div>.lead{color:#edf1f3}
.intro-new .text-link,.about-connection .text-link,.contact-intro>a,.contact-intro .contact-phone,.people a{color:#e5edf1}
.intro-new .text-link>span,.about-connection .text-link>span,.why-copy .text-link span,.benefit>b,.location-block>span,.people article>span,.steps article>span{color:var(--blue)}
.steps article,.steps article>span,.benefit,.people article,.about-connection{border-color:#ffffff30}
.capability-cards article,.industry-cards article,.company-grid article,.gallery button,.video-empty,.contact form,dialog{background:#050505;border:1px solid #ffffff28}
.hero-response{background:#050505;color:#eef2f5;border:1px solid #ffffff50;border-left:3px solid var(--yellow);box-shadow:0 8px 25px #0006}.hero-response:hover{background:#050505;color:white}.hero-response small,.hero-response div>span{color:#adbec8}.response-icon{color:#15252d}
.closing h2{color:var(--yellow)}.closing .button,.emergency-call .button{background:var(--yellow);border-color:var(--yellow);color:#13232a}.closing .button:hover{background:#ffe574}.phone-link{border-color:#ffffff40}.emergency-call h2{color:var(--yellow)}
.contact form{border-color:#ffffff35}form .form-help{color:#9faeb7}input,select,textarea{background:#050505;color:#edf2f5;border-color:#53636d}.request-note{background:#050505;color:#bdcbd2;border:1px solid #ffffff25;border-left:3px solid var(--yellow)}
.brand{border-right:1px solid #ffffff20}.image-caption{text-shadow:0 1px 7px #000}.card-image>span{background:#050505cc}.page-hero{border-bottom:1px solid #ffffff20}
@media(max-width:760px){.hero-copy h1{font-size:clamp(45px,10vw,65px)}.hero-copy h1 span br{display:initial}}

.page-hero-image{height:500px;min-height:0}.page-hero-image img{height:100%;width:100%;object-fit:cover}
@media(min-width:2200px){.page-hero-image{height:550px;min-height:0}}
@media(max-width:1000px){.page-hero-image{height:470px}}
@media(max-width:760px){.page-hero-image{height:300px;min-height:0}}
/* Bounded photo frames prevent portrait originals from sizing grid rows. */
.work-preview{align-items:center}.work-preview>img{height:600px;min-height:0;object-position:center 55%}.card-image img{object-position:center 55%}.hero-visual{overflow:visible}.gallery img{object-fit:cover}.page-hero-image img{object-position:center 55%}
@media(max-width:1000px) and (min-width:761px){.work-preview>img{height:610px}}
@media(max-width:760px){.work-preview>img{height:340px;min-height:0}.card-image{height:auto;aspect-ratio:4/3}.card-image img{height:100%}}
/* Final visual review: readable captions, calmer headings, clear touch targets. */
h1,h2{letter-spacing:-.035em}.hero-copy h1{letter-spacing:-.04em}
.image-caption{top:20px;left:20px;right:20px;gap:12px;flex-wrap:wrap;text-shadow:none}.image-caption>span,.image-caption>a{background:#050505e8;padding:8px 11px;border:1px solid #ffffff30}.image-caption>a{font-size:12px}
.footer-top>div>a:not(:first-child){font-size:14px}.footer-bottom{font-size:12px}.service-details p{font-size:16px}.gallery-caption small{font-size:10px;letter-spacing:.8px}
section[id]{scroll-margin-top:20px}.menu{min-height:44px;min-width:80px}summary{min-height:60px}
@media(max-width:760px){.hero-call{flex-wrap:wrap;gap:4px 14px}.image-caption{left:14px;right:14px;top:14px}.image-caption>a{font-size:11px}.footer-bottom{font-size:11px}}
/* Navigation polish: balanced active states without a detached underline. */
nav{gap:10px}
nav>a:not(.button){padding:11px 15px;border:1px solid transparent;border-radius:4px;color:#c5ced3;transition:color .18s,background .18s,border-color .18s}
nav>a[aria-current=page]:after{content:none}
nav>a:not(.button)[aria-current=page]{color:#f1d14b;background:#f1d14b0b;border-color:#f1d14b38}
nav>a:not(.button):hover{color:#fff;background:#ffffff0a;border-color:#ffffff25}
nav .button{margin-left:14px;border-radius:3px}
@media(max-width:1200px){nav{gap:5px}nav>a:not(.button){padding:10px 11px}nav .button{margin-left:8px}}
@media(max-width:1000px) and (min-width:761px){nav{gap:3px}nav>a:not(.button){padding:10px 7px}nav .button{margin-left:5px}}
@media(max-width:760px){nav{gap:8px}nav>a:not(.button){padding:12px 15px}nav .button{margin:8px 0 0}}
/* Keep the previous document visible while the next same-origin page paints. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:page-enter 140ms ease-out both;mix-blend-mode:normal}
@keyframes page-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
