*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:#fff;font-family:Manrope,system-ui,sans-serif;color:#2C3E63;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:#D19A3D}
[hidden]{display:none!important}

/* decorative videos: never show Safari's native play / overlay button */
video::-webkit-media-controls,
video::-webkit-media-controls-enclosure,
video::-webkit-media-controls-panel,
video::-webkit-media-controls-panel-container,
video::-webkit-media-controls-overlay-enclosure,
video::-webkit-media-controls-start-playback-button,
video::-webkit-media-controls-overlay-play-button,
video::-webkit-media-controls-play-button{
  display:none!important;-webkit-appearance:none!important;
  opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;
}

/* wireframe frames become the page itself */
body > div[style*="width:1440px"],body > div[style*="width: 1440px"]{width:100%!important;border:0!important;box-shadow:none!important;overflow:visible!important}

/* fluid page gutters, scoped to section wrappers */
[style*="px 112px"],[style*="0 112px"]{padding-left:clamp(20px,7vw,112px)!important;padding-right:clamp(20px,7vw,112px)!important}
[style*="px 64px"]{padding-left:clamp(20px,5vw,64px)!important;padding-right:clamp(20px,5vw,64px)!important}

/* skip link — hidden via clip (NOT left:-9999px, which pushed the page 9999px wide and caused sideways scroll/blank space) */
[data-skip]:not(:focus){position:absolute!important;left:auto!important;top:auto!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
[data-skip]:focus{position:fixed!important;left:16px!important;top:16px!important;z-index:100;background:#F7F2E9;color:#2C3E63;padding:14px 20px;font:600 12px/1 Manrope;letter-spacing:.1em;text-transform:uppercase}

/* focus visibility */
:focus-visible{outline:2px solid #D19A3D;outline-offset:3px}

/* interaction affordances */
[data-cta]{transition:transform .18s ease,opacity .18s ease}
[data-cta]:hover{transform:translateY(-2px);opacity:.92}
nav a{transition:color .18s ease}
nav a[aria-current="page"]{border-bottom:1px solid #D19A3D;padding-bottom:5px}
[data-menu] a[aria-current="page"]{color:#D19A3D}
/* mobile menu overlay links: pure white for max contrast on navy */
[data-menu] a:not([data-cta]):not([aria-current="page"]){color:#fff!important}

[data-chip]{cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
[data-chip][aria-pressed="false"]:hover{border-color:#2C3E63!important;color:#2C3E63!important}
[data-chip][aria-pressed="true"]{background:#2C3E63!important;color:#F7F2E9!important;border-color:#2C3E63!important}

[data-media]{position:relative;overflow:hidden}
[data-media]::after{content:"";position:absolute;inset:0;background:rgba(44,62,99,0);transition:background .25s ease}
[data-item]:hover [data-media]::after,[data-media]:hover::after{background:rgba(44,62,99,.08)}
[data-item] h3{transition:color .18s ease}
[data-item]:hover h3{color:#D19A3D}

[data-faq]{cursor:pointer}
[data-faq] h3{cursor:pointer}
[data-faq-a]{display:none}
[data-faq][aria-expanded="true"] [data-faq-a]{display:block}
[data-faq][aria-expanded="true"] h3 span[aria-hidden]{transform:rotate(45deg);display:inline-block}

html.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
html.js [data-reveal].in{opacity:1;transform:none}

.mob-only{display:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  html.js [data-reveal]{opacity:1;transform:none}
}

/* desktop nav stays visible; it tightens instead of disappearing */
@media (max-width:1320px){
  nav{gap:clamp(16px,2vw,40px)!important;font-size:11.5px!important;letter-spacing:.16em!important}
  nav [data-cta]{padding:14px 18px!important}
  [data-hero] header,body > div > nav{padding-top:20px!important;padding-bottom:20px!important}
  [data-hero] header img,header img{width:64px!important;height:64px!important}
}
@media (max-width:1040px){
  nav{gap:14px!important;font-size:10.5px!important;letter-spacing:.12em!important}
  nav [data-cta]{padding:12px 14px!important}
}
@media (max-width:860px){
  nav{display:none!important}
  .mob-only{display:inline-flex!important}
}

@media (max-width:1100px){
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important;gap:56px 40px!important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
  [style*="grid-template-columns:1fr 1.1fr"],[style*="grid-template-columns:1.3fr 1fr"],[style*="grid-template-columns:220px 1fr"],[style*="grid-template-columns:1.05fr 1fr"]{grid-template-columns:1fr!important;gap:48px!important}
  h1[style]{font-size:clamp(38px,6vw,64px)!important}
  h2[style]{font-size:clamp(28px,4vw,44px)!important}
  [data-hero]{min-height:0!important}
  [data-hero-body]{padding-left:clamp(20px,6vw,180px)!important;padding-right:clamp(20px,6vw,180px)!important}
}

@media (max-width:760px){
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  [style*="padding:150px"],[style*="padding:152px"],[style*="padding:112px"]{padding-top:72px!important;padding-bottom:72px!important}
  [data-hero-body]{padding-top:56px!important;padding-bottom:80px!important;gap:24px!important}
  [style*="flex-wrap:nowrap"]{flex-wrap:wrap!important}
  /* stacked rows that were side-by-side */
  [style*="justify-content:space-between"][style*="display:flex"]{flex-wrap:wrap!important;gap:24px!important}
  [style*="text-align:right"]{text-align:left!important}
  [data-cta]{width:100%;text-align:center}
  [data-hero] header [data-cta],[data-menu] [data-cta]{width:auto}
  /* hero CTA buttons stack full-width instead of cramming side-by-side */
  [data-hero-body] > div[style*="display:flex"]{flex-direction:column;align-items:stretch;width:100%}
  /* chip rows scroll rather than wrap into a wall */
  [data-chipgroup]{width:100%}
  [data-chipgroup] > span:first-child{width:100%!important}
  /* --- tighten vertical rhythm on phones (desktop-tall sections made the page too long) --- */
  [style*="padding:104px"]{padding-top:56px!important;padding-bottom:56px!important}
  [style*="padding:72px 112px"]{padding-top:48px!important;padding-bottom:48px!important}
  [style*="padding:88px 112px"]{padding-top:48px!important;padding-bottom:36px!important}
  [style*="margin:0 0 64px"]{margin-bottom:32px!important}
  [style*="margin:0 0 56px"]{margin-bottom:28px!important}
  [style*="margin:0 0 40px"]{margin-bottom:24px!important}
  /* pull big grid gaps in once columns stack */
  [style*="gap:96px"]{gap:40px!important}
  [style*="gap:88px"]{gap:28px!important}
  [style*="gap:80px"]{gap:32px!important}
  [style*="gap:64px"]{gap:36px!important}
  [style*="gap:48px"]{gap:32px!important}
  /* industries: tighter dividers */
  [style*="border-top:2px solid #D19A3D;padding:32px 0 0"]{padding-top:22px!important}
  /* shorten Industries + Process on phones: drop the descriptive copy, keep the headings */
  [style*="margin-top:56px;padding-top:28px"]{display:none!important}                       /* Industries "Also" row */
  [style*="font:400 14px/1.8 Manrope;color:rgba(247,242,233,.72)"]{display:none!important}  /* Industries item descriptions */
  .proc-steps p{display:none!important}                                                     /* Process step descriptions */
  .proc-steps [style*="border-top"]{padding-top:22px!important}                             /* tighten the step dividers too */
}


/* testimonial slider */
[data-slider]{overflow:hidden;display:grid;align-items:start}
[data-slide]{grid-area:1/1;visibility:hidden;pointer-events:none}
[data-slide][data-active]{visibility:visible;pointer-events:auto;animation:tfade .5s ease both}
@keyframes tfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
[data-dot] span{opacity:.28;transition:opacity .25s}
[data-dot][aria-current="true"] span{opacity:1}
/* logo marquee */
[data-marquee]{animation:mscroll 42s linear infinite}
@keyframes mscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  [data-slide][data-active]{animation:none}
}
/* keep the decorative logo marquee scrolling even when Reduce Motion is on
   (overrides the blanket *{animation:none!important} above so it works on every device) */
@media (prefers-reduced-motion: reduce){
  [data-marquee]{animation:mscroll 42s linear infinite!important}
}

/* Drone & FPV feature video: sit inside the page gutter instead of bleeding off the right edge */
.fpv-media{width:calc(100% - clamp(20px,7vw,112px));justify-self:start}
@media (max-width:1100px){
  .fpv-media{width:calc(100% - clamp(20px,7vw,112px) * 2);justify-self:center}
}
/* FPV feature, stacked (tablet/mobile): show the clip at its natural size (no forced full-bleed
   height that crops it) and tighten the space between the text block and the video */
@media (max-width:1100px){
  [style*="grid-template-columns:1fr 1.1fr"]{gap:32px!important;padding-bottom:56px!important}
  [style*="padding:104px 80px 104px 112px"]{padding-bottom:0!important}
  .fpv-media{height:auto!important;align-self:start;aspect-ratio:16/9}
}
@media (max-width:760px){
  .fpv-media{aspect-ratio:4/5}
}
