@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-normal.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-italic.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
:root{--navy:#000d2b;--navy-2:#021849;--blue:#145da0;--ink:#212529;--muted:#6c757d;--paper:#fff;--soft:#e6e8ed;--line:#dee2e6;--font:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:400 14px/1.5 var(--font)}
::selection{color:#fff;background:var(--blue)}
a{color:inherit;text-underline-offset:.18em}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:.5rem;z-index:100;background:#fff;padding:.6rem 1rem;outline:3px solid var(--blue)}
.container{width:100%;max-width:1320px;margin-inline:auto;padding-inline:15px}
.site-header{height:54px;background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}
.nav{height:54px;max-width:1320px;margin:auto;padding:0 15px;display:flex;align-items:stretch}
.brand{width:54px;padding:8px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.brand img{width:37px;height:37px;object-fit:contain}
.nav-links{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;border-right:1px solid #eceff3}
.nav-links li{display:flex;border-left:1px solid #eceff3}
.nav-links a{display:flex;align-items:center;padding:0 13px;text-decoration:none;font-size:11px;font-weight:400;white-space:nowrap}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--blue)}
.nav-email{margin-left:auto;display:flex;align-items:center;padding:0 16px;text-decoration:none;font-size:11px}
.nav-contact{display:flex;align-items:center;background:var(--blue);color:#fff;text-decoration:none;padding:0 18px;font-size:11px}
.nav-contact:hover,.nav-contact:focus-visible{background:#0f4d87}
.menu-toggle{display:none;margin-left:auto;padding:0 8px;background:transparent;border:0;color:#666;cursor:pointer}
.menu-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5}
.button{display:inline-block;padding:9.6px 35.2px;border:0;border-radius:4px;background:var(--blue);color:#fff;text-decoration:none;font-size:16px;font-weight:400;line-height:24px;text-align:center;box-shadow:0 .5rem 1rem rgba(0,0,0,.15);cursor:pointer}
.button strong{font-weight:700}
.button:hover,.button:focus-visible{background:#0f4d87;outline:3px solid rgba(20,93,160,.3);outline-offset:2px}
.button-dark{background:var(--navy-2)}
.button-dark:hover,.button-dark:focus-visible{background:#00133c}
h1,h2,h3,h4,h5,p{margin-top:0}
h1,h2,h3,h4,h5{font-weight:700;line-height:1.2}
p{margin-bottom:1rem}
.brand-showcase{height:277px;padding:40px 0;display:grid;place-items:center;background:#fff url('/assets/images/logo-sparks.svg') center/cover no-repeat;position:relative;overflow:hidden}
.brand-showcase img{width:min(500px,70vw)}
.hero{height:882px;padding:160px 0 192px;background:#030c14;color:#fff;position:relative;overflow:hidden}
.hero-video{position:absolute;z-index:0;top:50%;left:50%;width:max(100%,1568px);height:auto;min-height:100%;aspect-ratio:16/9;border:0;transform:translate(-50%,-50%);pointer-events:none}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,13,43,.59)}
.hero::after{content:"";position:absolute;inset:auto 0 0;z-index:2;height:205px;background:url('/assets/images/hero-cutout.svg') center bottom/100% 100% no-repeat;pointer-events:none}
.hero .container{position:relative;z-index:3}
.hero-copy{width:58.333%;padding-bottom:128px}
.hero h1{margin:0 0 8px;font-size:54.25px;line-height:1.2;letter-spacing:-.02em}
.hero h1 span{display:block}
.hero p{max-width:740px;margin-bottom:1rem;font-size:15px;line-height:22.5px}
.angled{height:535px;padding:112px 0 96px;background:#fff;position:relative;overflow:hidden}
.angled::before,.about-intro::before{content:"";position:absolute;inset:0;background:url('/assets/images/intro-angle.svg') center/100% 100% no-repeat;pointer-events:none}
.intro-grid{display:grid;grid-template-columns:1fr 5fr 1fr 4fr 1fr;position:relative}
.intro-copy{grid-column:2}
.intro-media{grid-column:4;min-height:300px}
.angled h2,.innovation h2{margin:16px 0 8px;font-size:42px;line-height:1.2;letter-spacing:-.02em}
.angled .button{margin-top:1rem}
.services{min-height:876px;padding:168px 0 128px;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.services::before{content:"";position:absolute;inset:0;background:url('/assets/images/services-wave.svg') center/cover no-repeat;pointer-events:none}
.services-grid{display:grid;grid-template-columns:4fr 1fr 7fr;align-items:start;position:relative}
.services-copy{grid-column:1}
.service-list{grid-column:3;border-top:1px solid rgba(255,255,255,.18)}
.services h2{margin:16px 0 8px;font-size:31.5px;line-height:1.2}
.services-copy p{font-size:12.25px;line-height:18.4px}
.services-copy .button{margin-top:.5rem}
.service{border-bottom:1px solid rgba(255,255,255,.18)}
.service button{width:100%;min-height:47px;padding:12px 36px 12px 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:0;color:#fff;text-align:left;font-size:14px;font-weight:700;line-height:21px;cursor:pointer;position:relative}
.service button::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.service.is-open button::after{transform:rotate(225deg)}
.service-content{display:none;padding:0 2rem 1.25rem 0;color:#fff;font-size:13px;line-height:1.55}
.service.is-open .service-content{display:block}
.innovation{height:1013px;padding:176px 0 256px;background:#fff url('/assets/images/innovation-zigs.svg') center bottom/100% auto no-repeat;position:relative;overflow:hidden}
.innovation-grid{display:grid;grid-template-columns:5fr 1fr 6fr;align-items:center}
.innovation-copy{grid-column:1;padding:104px 0 96px}
.innovation h2{max-width:520px}
.innovation-copy .button{margin-top:1rem}
.work{height:688px;padding:144px 0;color:#fff;background:linear-gradient(135deg,#9da6c3 23%,#000d2b 100%);position:relative;overflow:hidden}
.work::before{content:"";position:absolute;inset:0;background:url('/assets/images/work-blob.svg') center/cover no-repeat;pointer-events:none}
.work-grid{height:400px;display:grid;grid-template-columns:5fr 2fr 5fr;align-items:center;position:relative}
.work-media{grid-column:1;align-self:center}
.work-media img{width:100%;max-height:480px;object-fit:contain}
.work-copy{grid-column:3}
.work h2{margin:0 0 34px;font-size:48px;line-height:1.2}
.testimonials{height:633px;position:relative;overflow:hidden;background:#1d2940}
.testimonial-slide{position:absolute;inset:0;padding:168px 0 80px;display:none;align-items:flex-start;background-position:center;background-size:cover}
.testimonial-slide.is-active{display:flex}
.testimonial-slide::before{content:"";position:absolute;inset:0;background:rgba(0,13,43,.5)}
.testimonial-slide:nth-child(2){background-image:url('/assets/images/testimonial-pacific.webp')}
.testimonial-slide:nth-child(3){background-image:url('/assets/images/testimonial-binoculars.webp');background-position:96% 0}
.testimonial-slide:first-child{background-image:url('/assets/images/testimonial-bg.jpeg')}
.testimonial-card{width:min(100% - 60px,1062px);margin:auto;padding:24px;background:rgba(255,255,255,.93);color:#030c14;text-align:center;position:relative;z-index:2;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}
.testimonial-card h2{margin:-76px -24px 26px;padding:12px;background:rgba(255,255,255,.78);font-size:31.5px;line-height:1.2}
.testimonial-card blockquote{margin:0 auto 1rem;font-style:italic;font-size:12.25px;line-height:18.4px}
.testimonial-card strong,.testimonial-card span{font-size:12.25px}
.carousel-arrow{position:absolute;z-index:5;top:50%;width:42px;height:42px;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer}
.carousel-arrow:hover,.carousel-arrow:focus-visible{background:var(--blue)}
.carousel-prev{left:24px}.carousel-next{right:24px}
.carousel-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.carousel-dots{position:absolute;z-index:5;left:0;right:0;bottom:20px;display:flex;justify-content:center;gap:8px}
.carousel-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#000;opacity:.35;cursor:pointer}
.carousel-dot.is-active{opacity:1}
.site-footer{height:594px;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.footer-contact{height:216px;padding:112px 0 4px;background:url('/assets/images/footer-upper-shape.svg') center/cover no-repeat}
.footer-grid{width:100%;max-width:none;height:100px;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;text-align:center}
.footer-grid>div{height:100px}.footer-grid>div:nth-child(1){grid-column:1 / 4}.footer-grid>div:nth-child(2){grid-column:4 / 8}.footer-grid>div:nth-child(3){grid-column:8 / 11}.footer-grid>div:nth-child(4){grid-column:11 / 12;height:50px}
.footer-grid h3{margin:0 0 8px;font-size:12.25px}.footer-grid p{font-size:11px}
.footer-grid a{color:#4596db;text-decoration:none;font-weight:700}
.footer-social{display:flex;justify-content:center}.footer-social a{width:34px;height:34px;display:grid;place-items:center;border:2px solid #4596db;border-radius:50%}
.footer-social svg{width:15px;height:15px;fill:#4596db}
.footer-brand{height:324px;padding:34px 0 19px;background:url('/assets/images/footer-lower-shape.svg') center bottom/100% auto no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.footer-brand>a{width:625px;height:230px;display:block;flex:0 0 auto}.footer-brand img{width:625px;height:230px;object-fit:contain}
.footer-nav{width:min(1055px,calc(100% - 30px));height:21px;margin-top:20px;padding:0;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px}.footer-nav a{color:#4596db;text-decoration:none}.footer-nav span{color:#fff}
.copyright{height:54px;padding:16px 0;background:#000b24;color:#8e9bb2;font-size:10px}.copyright-row{display:flex;justify-content:space-between}
.page-hero{height:121px;padding:24px 0;display:flex;align-items:center;background-position:50% 0;background-size:cover;color:#fff}
.about-hero{background-image:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('/assets/images/about-hero.jpg')}
.contact-hero{background-image:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('/assets/images/contact-hero.jpg')}
.page-hero h1{margin:0 0 8px;font-size:54.25px;line-height:1.2}
.about-intro{height:665px;padding:80px 0 96px;background:#fff;position:relative;overflow:hidden}
.about-grid{display:grid;grid-template-columns:1fr 5fr 1fr 4fr 1fr;align-items:center;position:relative}
.about-copy{grid-column:2}.about-media{grid-column:4}
.about-copy h2{font-size:31.5px;line-height:1.2;margin:16px 0 24px}
.about-media img{width:100%;max-height:510px;object-fit:contain}
.about-services{min-height:804px;padding-top:96px}
.about-services .services-grid{grid-template-columns:7fr 1fr 4fr}
.about-services .service-list{grid-column:1}
.about-services .services-copy{grid-column:3;margin-left:0}
.contact{min-height:653px;padding:40px 0}
.contact-grid{display:grid;grid-template-columns:7fr 1fr 4fr;align-items:start}
.contact-main{grid-column:1}.contact-details{grid-column:3;margin-top:16px}
.contact-lead{font-size:17.5px;line-height:26.25px}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px}
.field{display:grid;gap:5px}.field-full{grid-column:1/-1}.field label{font-weight:400}
.field input,.field textarea{width:100%;padding:6px 12px;border:1px solid #ced4da;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.field input{height:38px}.field textarea{min-height:178px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.form-submit{grid-column:1/-1;display:flex;justify-content:flex-end}.form-submit .button{box-shadow:none}
.contact-details h2{font-size:17.5px;margin:0 0 12px}.contact-details h3{font-size:14px;line-height:1.5;margin:1rem 0 0}.contact-details a{color:var(--blue)}
.privacy-hero{height:233px;padding:80px 0;background:var(--soft);display:flex;align-items:center}
.privacy-hero h1{font-size:42px;margin:0}
.policy{padding:40px 0}.policy .content{max-width:1320px}.policy h2{font-size:14px;line-height:21px;margin:24px 0 8px}.policy ul{padding-left:20px}.policy li{margin-bottom:8px}
.policy-notice{padding:12px 15px;background:#f2f3f6;border-radius:4px}
.not-found{min-height:100vh;display:grid;place-items:center;text-align:center;background:var(--soft)}
.not-found main{max-width:520px;padding:2rem}.not-found img{width:360px;margin:0 auto 2rem}
@media(max-width:991px){
  .nav-links,.nav-email,.nav-contact{display:none}.menu-toggle{display:flex;align-items:center}
  .nav-links.is-open{position:absolute;top:54px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;background:#fff;border:0;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}
  .nav-links.is-open li{border:0;border-bottom:1px solid #eceff3}.nav-links.is-open a{min-height:44px;padding:0 15px;font-size:14px}
  .brand-showcase{height:221px}
  .hero{height:938px}.hero-video{width:max(100%,1668px)}.hero-copy{width:100%}.hero h1{font-size:clamp(33.44px,8.6vw,46px)}
  .angled{height:615px}.intro-grid{grid-template-columns:1fr}.intro-copy{grid-column:1}.intro-media{display:none}.angled h2,.innovation h2{font-size:28.635px}
  .services{min-height:1411px}.services-grid{grid-template-columns:1fr}.services-copy,.service-list{grid-column:1}.service-list{margin-top:32px}.services h2{font-size:24.514px}.services-copy p{font-size:14px;line-height:21px}
  .innovation{height:1056px}.innovation-grid{grid-template-columns:1fr}.innovation-copy{grid-column:1;padding:0}
  .work{height:792px}.work-grid{height:auto;grid-template-columns:1fr;gap:30px}.work-media,.work-copy{grid-column:1}.work-media img{max-height:320px}.work h2{font-size:41px;margin-bottom:24px}
  .testimonials{height:813px}.testimonial-slide{padding:168px 0 80px}.testimonial-card{width:calc(100% - 30px)}.testimonial-card h2{font-size:24.514px}.carousel-prev{left:8px}.carousel-next{right:8px}
  .site-footer{height:792px}.footer-contact{height:330px;padding-top:112px}.footer-grid{height:auto;grid-template-columns:1fr;gap:22px}.footer-grid>div,.footer-grid>div:nth-child(1),.footer-grid>div:nth-child(2),.footer-grid>div:nth-child(3),.footer-grid>div:nth-child(4){height:auto;grid-column:1}.footer-brand{height:394px;padding:24px 0 18px;justify-content:flex-start}.footer-brand>a{width:100%;height:auto;display:grid;flex:1;place-items:center}.footer-brand img{width:min(625px,80vw);height:230px}.footer-nav{margin-top:0}.copyright{height:68px}.copyright-row{justify-content:center;text-align:center}
  .page-hero{height:96.125px}.page-hero h1{font-size:33.443px}
  .about-intro{height:auto;min-height:665px;padding:80px 0 96px}.about-grid{grid-template-columns:1fr;gap:24px}.about-copy,.about-media{grid-column:1}.about-copy h2{font-size:24.514px}.about-media img{max-height:420px}
  .about-services{min-height:1411px}.about-services .service-list,.about-services .services-copy{grid-column:1;margin-left:0}.about-services .services-copy{order:0}.about-services .service-list{order:1}
  .contact{min-height:0}.contact-grid{grid-template-columns:1fr}.contact-main,.contact-details{grid-column:1}.contact-details{margin-top:32px}.contact-form{grid-template-columns:1fr}.field-full,.form-submit{grid-column:1}
  .privacy-hero{height:233px}.privacy-hero h1{font-size:33.443px}
}
@media(min-width:768px) and (max-width:991px){.hero{height:865px}.hero-video{width:max(100%,1538px)}}
@media(max-width:480px){
  .container{padding-inline:15px}
  .brand-showcase img{width:280px}
  .hero h1{font-size:33.443px}.hero p{font-size:15px;line-height:22.5px}.hero .button{width:auto}
  .angled,.services,.innovation,.work{padding-left:0;padding-right:0}
  .button{max-width:100%;padding-inline:22px}
  .service button{font-size:14px}
  .testimonial-card{padding:20px 16px}.testimonial-card h2{margin-inline:-16px}
  .footer-nav{font-size:10px}.footer-brand img{width:300px}
  .contact{padding-top:40px}.contact-lead{font-size:17.5px}
}
@media(max-width:767px){
  .innovation,.footer-brand{background-image:none}
  .footer-contact{height:428px}
  .footer-grid{padding-inline:0;gap:0}
  .footer-grid>div,.footer-grid>div:nth-child(1),.footer-grid>div:nth-child(2),.footer-grid>div:nth-child(3){height:86px}
  .footer-grid>div:nth-child(4){height:54px}
  .footer-brand{height:280px;padding:34px 15px 11px}
  .footer-brand>a{width:min(625px,100%);height:auto;aspect-ratio:690/388;display:block;flex:0 0 auto}
  .footer-brand img{width:100%;height:100%;object-fit:contain}
  .footer-nav{width:100%;margin-top:20px}
  .copyright{height:84px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
