@charset "UTF-8";
:root { --navy:#081d37; --blue:#2862ed; --ice:#a8caff; --gutter:6.25vw; color-scheme:dark; font-family:"Helvetica Neue",Arial,Helvetica,sans-serif; color:#fff; background:var(--navy); }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:3px solid #c6ddff; outline-offset:6px; }
::selection { background:#accbff; color:var(--navy); }
.skip-link { position:fixed; z-index:100; left:20px; top:15px; transform:translateY(-150%); background:#fff; color:var(--navy); padding:14px; }
.skip-link:focus { transform:none; }
.site-header { position:fixed; z-index:20; inset:0 0 auto; min-height:106px; padding:25px var(--gutter); display:flex; align-items:center; gap:36px; background:linear-gradient(#071b35b8,#071b3500); }
.brand { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:29px; font-weight:650; letter-spacing:-1.4px; }
.brand svg { width:23px; height:27px; }
.brand-logo { display:block; width:216px; height:54px; object-fit:cover; border-radius:2px; }
.dialog-logo { display:block; width:190px; height:auto; }
.brand-dot { color:var(--ice); }
.main-nav { display:flex; gap:34px; align-items:center; margin-left:auto; }
.main-nav a { position:relative; display:flex; align-items:center; min-height:44px; font-size:13px; color:#e0e9f6; }
.main-nav a::after { content:""; position:absolute; bottom:3px; left:0; height:2px; width:100%; background:var(--ice); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.main-nav a[aria-current="location"]::after,.main-nav a:hover::after { transform:scaleX(1); }
.header-contact { display:flex; align-items:center; justify-content:center; gap:27px; min-height:44px; padding:11px 18px; font-size:13px; border:1px solid #d6e7ff73; border-radius:3px; }
.header-contact:hover { background:#ffffff14; }
.story { position:relative; }
.stage { position:relative; }
.backdrops { display:none; }
.story-step { min-height:100svh; position:relative; display:flex; align-items:center; padding:150px var(--gutter) 160px; background-size:cover; background-position:center; scroll-margin-top:125px; }
.scene-one { background-image:linear-gradient(90deg,#05162de8,#05162d91 62%,#05162d29),url("assets/warehouse-exterior-full.webp"); }
.scene-two { background-image:linear-gradient(90deg,#05162de8,#05162d91 62%,#05162d29),url("assets/warehouse-aisle-full.webp"); }
.scene-three { background-image:linear-gradient(90deg,#05162de8,#05162d91 62%,#05162d29),url("assets/warehouse-bins-full.webp"); }
.step-inner { width:100%; max-width:930px; }
.eyebrow { margin:0 0 27px; font-size:11px; letter-spacing:2.1px; text-transform:uppercase; font-weight:500; color:#e4eeff; display:flex; align-items:center; gap:12px; }
.location-dot { width:6px; height:6px; border-radius:50%; background:#9ec4ff; box-shadow:0 0 0 5px #9ec4ff1c; }
h1,h2 { font-size:clamp(44px,6.1vw,90px); line-height:1.05; letter-spacing:-3.5px; font-weight:500; margin:0 0 26px; }
h1 span,h2 span { color:var(--ice); }
.copy { font-size:16px; line-height:1.85; color:#e7eef8; margin:0; max-width:470px; text-wrap:pretty; }
.actions { display:flex; gap:29px; flex-wrap:wrap; align-items:center; margin-top:32px; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:32px; min-height:48px; padding:15px 20px; border:0; border-radius:3px; font-size:13px; font-weight:500; }
.button-primary { background:var(--blue); color:#fff; transition:background .2s,transform .2s; }
.button-primary:hover { background:#174fcf; transform:translateY(-2px); }
.button span { font-size:17px; }
.text-link { min-height:44px; display:inline-flex; align-items:center; gap:13px; font-size:12px; color:#f0f5fc; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.scene-detail { position:absolute; z-index:1; right:var(--gutter); bottom:190px; max-width:270px; padding-top:17px; border-top:1px solid #d3e5ff73; }
.detail-overline { font-size:10px; text-transform:uppercase; letter-spacing:1.6px; color:#d1e3f8; display:block; margin-bottom:17px; }
.scene-detail strong { display:block; font-size:33px; font-weight:400; line-height:1.15; letter-spacing:-1px; }
.scene-detail strong span { font-size:19px; color:#d3e4fa; }
.scene-detail p { margin:13px 0 0; color:#dce7f5; font-size:12px; line-height:1.8; }
.metric strong { font-size:72px; letter-spacing:-3px; }
.metric strong span { font-size:29px; letter-spacing:-1px; }
.metric .metric-note { max-width:235px; font-size:11px; }
.scope-note { font-size:11px; color:#cfddf0; margin:12px 0 0; max-width:450px; line-height:1.7; }
.service-list { display:grid; grid-template-columns:max-content max-content; column-gap:30px; row-gap:13px; margin:25px 0 0; padding:0; list-style:none; font-size:13px; color:#f0f4fc; }
.service-list li { display:flex; align-items:center; gap:10px; }
.service-list li::before { content:""; width:4px; height:4px; background:var(--ice); border-radius:50%; flex-shrink:0; }
.story-footer { display:none; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.story[data-mode="animated"] { height:var(--track-height); }
.story[data-mode="animated"] .stage { position:sticky; top:0; height:100svh; overflow:hidden; isolation:isolate; }
.story[data-mode="animated"] .backdrops { display:block; position:absolute; inset:0; z-index:-1; background:var(--navy); }
.backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.backdrops picture:not(:first-child) .backdrop { opacity:0; }
.image-shade { position:absolute; inset:0; background:linear-gradient(90deg,#04172bea 0%,#061b34b8 34%,#061b344d 69%,#05183030 100%),linear-gradient(0deg,#051831e8,transparent 38%,transparent 78%,#071a3440); }
.story[data-mode="animated"] .story-step { position:absolute; inset:0; background:none; min-height:0; opacity:0; pointer-events:none; will-change:opacity,transform; padding-top:130px; padding-bottom:165px; }
.story[data-mode="animated"] .story-step[data-active="true"] { pointer-events:auto; }
.story[data-mode="animated"] .story-footer { position:absolute; left:var(--gutter); right:var(--gutter); bottom:25px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:17px 20px; }
.next-step { display:flex; align-items:center; gap:15px; padding:0; min-height:44px; width:max-content; border:0; background:none; text-align:left; color:#fff; }
.scroll-symbol { display:flex; align-items:center; justify-content:center; width:35px; height:45px; border:1px solid #e0edff60; border-radius:25px; font-size:22px; color:var(--ice); }
.next-step strong { font-size:12px; font-weight:500; display:block; }
.next-step small { display:block; font-size:10px; color:#c3d6ed; margin-top:5px; }
.chapter-info { display:flex; align-items:center; gap:23px; }
.chapter-name { font-size:11px; letter-spacing:.3px; color:#dce8f7; }
.chapter-number { display:flex; align-items:baseline; gap:9px; }
.chapter-number b { font-size:31px; font-weight:400; letter-spacing:-1.5px; }
.chapter-number>span { color:#c1d5ed; font-size:11px; }
.progress-track { grid-column:1/-1; height:2px; background:#ffffff30; overflow:hidden; }
.progress-fill { display:block; width:100%; height:100%; background:var(--ice); transform:scaleX(0); transform-origin:left; }
.image-note { font-size:10px; color:#b7cce5; margin:0; }
.image-note span { margin:0 9px; color:#7d9bbb; }
.beat-count { justify-self:end; font-size:10px; color:#b7cce5; letter-spacing:1.5px; }
.fallback-contact { background:#f3f6fb; color:var(--navy); padding:75px var(--gutter); }
.fallback-contact h2 { font-size:40px; letter-spacing:-1px; }
.fallback-contact p { line-height:1.8; }
dialog { color-scheme:light; background:#f8faff; color:var(--navy); width:480px; max-width:calc(100% - 36px); border:1px solid #dbe5f3; border-radius:8px; padding:32px; box-shadow:0 24px 100px #010d2855; }
dialog::backdrop { background:#04142bcc; backdrop-filter:blur(5px); }
.dialog-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:42px; }
.dialog-brand { font-size:22px; font-weight:650; letter-spacing:-1px; }
.dialog-close { font-size:29px; color:#15344e; width:44px; height:44px; padding:0; background:none; border:1px solid #d5dfed; border-radius:50%; }
dialog .eyebrow { color:#386296; margin-bottom:17px; font-size:10px; }
dialog h2 { font-size:39px; letter-spacing:-1.5px; }
dialog p { font-size:14px; line-height:1.8; color:#435974; }
dialog .dialog-note { font-size:12px; background:#e9eff9; padding:13px; margin:20px 0 25px; }
@media(min-width:1700px) { .step-inner { max-width:1050px; } }
@media(max-width:1100px) { .scene-detail { max-width:220px; } .scene-detail strong { font-size:28px; } .metric strong { font-size:62px; } .scene-detail strong span { font-size:17px; } .step-inner { max-width:80%; } h1,h2 { font-size:clamp(42px,6.5vw,76px); } .main-nav { gap:22px; } }
@media(max-width:800px) { :root { --gutter:7vw; } .site-header { flex-wrap:wrap; gap:9px 15px; padding-top:19px; padding-bottom:18px; background:linear-gradient(#071b35ec,#071b3500); } .brand { font-size:24px; } .brand svg { width:20px; height:23px; } .header-contact { margin-left:auto; font-size:12px; min-height:40px; padding:8px 13px; gap:18px; } .main-nav { order:3; width:100%; margin:0; justify-content:space-between; gap:16px; } .main-nav a { min-height:36px; font-size:11px; } .scene-detail { display:none; } .step-inner { max-width:100%; } h1,h2 { font-size:clamp(37px,7.9vw,62px); letter-spacing:-1.8px; margin-bottom:22px; } .copy { max-width:440px; font-size:14px; line-height:1.8; } .eyebrow { font-size:9px; letter-spacing:1.35px; margin-bottom:22px; } .actions { gap:10px 24px; margin-top:26px; } .button { font-size:12px; padding:13px 16px; gap:22px; } .text-link { font-size:11px; } .story[data-mode="animated"] .story-step { padding-top:140px; padding-bottom:150px; } .story[data-mode="animated"] .story-footer { bottom:20px; gap:13px; } .chapter-info { gap:12px; } .chapter-name { display:none; } .chapter-number b { font-size:28px; } .image-note { font-size:9px; } .image-note span { margin:0 5px; } .backdrops picture:first-child .backdrop { object-position:57% center; } .image-shade { background:linear-gradient(90deg,#04172be0,#061b348a),linear-gradient(0deg,#051831ed,transparent 50%,#071a3433); } .service-list { font-size:12px; gap:12px 22px; margin-top:20px; } .metric-note { font-size:10px; } }
@media(max-width:380px) { h1,h2 { font-size:34px; letter-spacing:-1.4px; } .copy { font-size:13px; } .text-link { display:none; } .button { gap:16px; } .service-list { font-size:11px; column-gap:14px; } .scope-note { font-size:10px; } }
@media(max-width:800px) { .brand-logo { width:180px; height:46px; } }
body:has(.story[data-mode="static"]) .site-header { position:sticky; background:#081d37; }
.story[data-mode="static"] .story-step { min-height:100svh; align-items:flex-start; padding-top:48px; padding-bottom:64px; scroll-margin-top:var(--header-height); }
.story[data-mode="static"] .preview-caption { position:static; padding:16px var(--gutter); background:#081d37; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } .site-header { background:#081d37ed; } .story-step { min-height:100svh; } }

.inline-metric { display:flex; align-items:center; gap:18px; margin-top:24px; }
.inline-metric strong { font-size:43px; line-height:1; font-weight:400; letter-spacing:-1.7px; }
.inline-metric strong span { font-size:25px; color:var(--ice); }
.inline-metric>span { font-size:11px; line-height:1.5; color:#e0eaff; }
.metric-disclaimer { max-width:390px; font-size:10px; line-height:1.6; color:#cfdef2; margin:9px 0 0; }
.preview-caption { position:fixed; z-index:12; bottom:12px; left:var(--gutter); margin:0; padding:6px 9px; background:#071b35e8; border-radius:2px; color:#d1e2f8; font-size:10px; pointer-events:none; }
.preview-caption span { margin:0 7px; color:#9ab5d5; }
.story[data-mode="animated"] .preview-caption { position:absolute; bottom:24px; padding:0; background:none; }
.beat-count { grid-column:2; }
@media(max-width:800px) { .inline-metric { margin-top:18px; gap:15px; } .inline-metric strong { font-size:34px; } .inline-metric strong span { font-size:21px; } .metric-disclaimer { max-width:300px; font-size:9px; } .preview-caption { font-size:9px; } .story[data-mode="animated"] .preview-caption { bottom:20px; } #performance .actions { margin-top:20px; } }

/* Compact desktop windows retain the same pinned story as a full-height screen. */
@media(min-width:801px) and (max-height:760px), (hover:hover) and (pointer:fine) and (max-height:760px) {
  .site-header { min-height:80px; padding-top:15px; padding-bottom:15px; }
  .story[data-mode="animated"] .story-step { padding-top:95px; padding-bottom:120px; }
  h1,h2 { font-size:clamp(34px,7.8vh,60px); line-height:1.04; letter-spacing:-1.8px; margin-bottom:18px; }
  .eyebrow { margin-bottom:16px; font-size:10px; }
  .copy { font-size:14px; line-height:1.65; }
  .actions { margin-top:20px; }
  .service-list { margin-top:18px; row-gap:9px; }
  .scope-note { margin-top:9px; font-size:10px; }
  .inline-metric { margin-top:14px; }
  .inline-metric strong { font-size:34px; }
  .metric-disclaimer { font-size:9px; margin-top:7px; }
  .scene-detail { bottom:150px; }
  .scene-detail strong { font-size:28px; }
  .metric strong { font-size:54px; }
  .story[data-mode="animated"] .story-footer { bottom:18px; gap:10px 20px; }
  .story[data-mode="animated"] .preview-caption { bottom:18px; }
}

#contact-dialog { width:520px; max-height:calc(100svh - 32px); overflow-y:auto; padding:28px; }
#contact-dialog .dialog-header { margin-bottom:24px; }
#contact-dialog .dialog-logo { width:160px; }
#contact-dialog h2 { font-size:36px; line-height:1.1; letter-spacing:-1.5px; margin-bottom:14px; }
#contact-copy { margin:0 0 22px; }
.contact-email-display { margin:24px 0; }
.contact-email-display>span { display:block; color:#386296; font-size:11px; letter-spacing:1px; text-transform:uppercase; margin-bottom:9px; }
.contact-email { display:block; font-size:21px; font-weight:500; letter-spacing:-.4px; overflow-wrap:anywhere; user-select:all; }
.contact-checklist { margin:22px 0; }
.contact-checklist p { margin:0 0 9px; }
.contact-checklist ul { margin:0; padding-left:20px; color:#435974; font-size:14px; line-height:1.9; }
.contact-checklist li::marker { color:#2862ed; }
.contact-actions { display:flex; flex-wrap:wrap; gap:12px; }
.contact-actions .button { flex:1 1 130px; justify-content:center; gap:18px; }
.button-secondary { background:#f8faff; color:#15344e; border:1px solid #b6c9e2; }
.button-secondary:hover { background:#e9eff9; }
#contact-dialog :is(a,button):focus-visible { outline-color:#2862ed; outline-offset:3px; }
#contact-dialog .copy-status { min-height:20px; margin:10px 0 0; font-size:12px; color:#15344e; }
#contact-dialog .contact-note { margin:10px 0 0; font-size:12px; line-height:1.65; }
.fallback-contact a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
@media(max-width:480px) { #contact-dialog { padding:24px; } #contact-dialog .dialog-header { margin-bottom:20px; } #contact-dialog h2 { font-size:32px; } .contact-email { font-size:clamp(15px,4.6vw,18px); } }

@media(max-width:800px) {
  .scene-one { background-image:linear-gradient(90deg,#05162de8,#05162d91 62%,#05162d29),image-set(url("assets/warehouse-exterior-1280.webp") 1x,url("assets/warehouse-exterior-full.webp") 2x); }
  .scene-two { background-image:linear-gradient(90deg,#05162de8,#05162d91 62%,#05162d29),image-set(url("assets/warehouse-aisle-1280.webp") 1x,url("assets/warehouse-aisle-full.webp") 2x); }
  .scene-three { background-image:linear-gradient(90deg,#05162de8,#05162d91 62%,#05162d29),image-set(url("assets/warehouse-bins-1280.webp") 1x,url("assets/warehouse-bins-full.webp") 2x); }
}

.site-footer { position:relative; z-index:21; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 32px; padding:28px var(--gutter); background:var(--navy); border-top:1px solid #d6e7ff30; color:#d1e2f8; font-size:12px; line-height:1.8; }
.site-footer p { margin:0; }
.site-footer strong { color:#fff; font-weight:500; }
.site-footer a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.contact-privacy { margin:14px 0 0; font-size:12px; }
.contact-privacy a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.privacy-page { background:#f8faff; color:var(--navy); color-scheme:light; }
.privacy-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding:24px var(--gutter); background:var(--navy); color:#fff; }
.privacy-header .text-link { display:inline-flex; }
.privacy-content { max-width:860px; margin:0 auto; padding:64px 28px 80px; }
.privacy-overline { margin:0 0 18px; font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:#386296; }
.privacy-content h1 { font-size:clamp(38px,6vw,64px); letter-spacing:-2px; margin-bottom:18px; }
.privacy-updated { margin:0 0 28px; font-size:12px; color:#526a89; }
.privacy-content .privacy-intro { font-size:18px; color:var(--navy); }
.privacy-content section { margin-top:36px; padding-top:28px; border-top:1px solid #dbe5f3; }
.privacy-content h2 { margin:0 0 14px; font-size:23px; line-height:1.35; letter-spacing:-.4px; }
.privacy-content section p,.privacy-intro { margin:0 0 14px; font-size:16px; line-height:1.8; color:#435974; }
.privacy-content a { color:#174fcf; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.privacy-page :is(a,button):focus-visible { outline-color:var(--blue); }
@media(max-width:480px) { .privacy-content { padding:40px 24px 56px; } .privacy-content h2 { font-size:21px; } }
