
/* ============================================================
   GEO-TRAC — shared design system
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }

:root {
  /* Brand */
  --navy:        #182d5e;
  --navy-deep:   #0f1f44;
  --navy-darker: #0a1733;
  --navy-light:  #2a4d9e;

  --red:         #ec3237;
  --red-dark:    #c41f24;
  --red-soft:    #fbe7e7;

  /* Functional status (justified — live equipment states) */
  --run:    #2bb673;   /* running   */
  --idle:   #e9a23b;   /* idle      */
  --stop:   #8a96ad;   /* stopped   */
  --alert:  #d8392b;   /* alert     */

  /* Neutrals (cool-toned) */
  --white:   #ffffff;
  --paper:   #f5f7fb;
  --paper-2: #eef2f8;
  --ink:     #0f1f44;
  --muted:   #57648a;
  --line:    rgba(24,45,94,0.12);
  --line-2:  rgba(24,45,94,0.07);

  /* On-navy text */
  --on-navy:       #ffffff;
  --on-navy-soft:  #aebfe0;
  --on-navy-mute:  #7488b5;
  --on-navy-line:  rgba(255,255,255,0.12);

  /* Type */
  --display: 'Barlow Condensed', sans-serif;
  --body:    'DM Sans', system-ui, sans-serif;
  --mono:    'IBM Plex Mono', ui-monospace, monospace;

  /* Geometry */
  --r-sm: 6px;
  --r:    9px;
  --r-lg: 14px;
  --shadow:    0 4px 22px rgba(15,31,68,0.08);
  --shadow-lg: 0 24px 60px -20px rgba(10,23,51,0.45);
  --maxw: 1160px;

  --accent: var(--red);
  --accent-dark: var(--red-dark);
  --accent-soft: var(--red-soft);

  /* Motion */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--body);
  color: var(--ink);
  background: var(--white);
  line-height:1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--accent); color: #fff; }

/* ── Layout helpers ───────────────────────── */
.wrap { max-width: var(--maxw); margin:0 auto; padding:0 32px; }
.section { padding:88px 0; }
.section-sm { padding:56px 0; }
@media (max-width: 720px){ .section{ padding:56px 0; } .wrap{ padding:0 20px; } }

/* ── Type ─────────────────────────────────── */
.eyebrow {
  display: inline-flex; align-items: center; gap:8px;
  font:600 12px/1.1 var(--body);
  letter-spacing:0; 
  color: var(--accent);
}
.eyebrow::before {
  content: ''; width: 26px; height: 2px; background: var(--accent); border-radius: 2px;
}
.eyebrow.on-navy { color: #fff; }
.eyebrow.on-navy::before { background: var(--accent); }
.eyebrow.center { justify-content: center; }
/* Eyebrow dash draws in with its section */
.reveal .eyebrow::before { width: 0;  }
.reveal.in .eyebrow::before { width: 26px; }
@media (prefers-reduced-motion: reduce){ .reveal .eyebrow::before { width: 26px;  } }

h1,h2,h3 { font-family: var(--display); font-weight:600;  letter-spacing:0; line-height:1.1; text-wrap: balance; }
/* Branded focus ring (keyboard nav) */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
.h-display { font-size: clamp(40px, 5.4vw, 68px); }
.h2 { font-size: clamp(30px, 3.6vw, 44px); }
.h3 { font-size: clamp(20px, 2vw, 25px); }
.lede { font-size:17px; color: var(--muted); line-height:1.6; }
.mono { font-family: var(--mono); }

/* ── Buttons ──────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap:8px;
  font:600 15px/1.1 var(--body);
  padding:16px 24px; border-radius: var(--r-sm);
  border: 1px solid transparent; cursor: pointer; text-decoration: none;
  
  white-space: nowrap;
}
.btn:active { transform: scale(0.97); }
.btn i { font-size:18px; }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-dark); }
.btn-navy { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-deep); }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.btn-ghost:hover { border-color: var(--navy); }
.btn-outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.34); }
.btn-outline-light:hover { background: rgba(255,255,255,0.08); }
.btn-sm { padding:12px 20px; font-size:13px; }
.btn-lg { padding:16px 32px; font-size:16px; }

/* ── Status badge ─────────────────────────── */
.badge {
  display: inline-flex; align-items: center; gap:8px;
  font:600 12px/1.1 var(--mono); letter-spacing:0;
   padding:4px 8px; border-radius: 5px;
}
.badge .dot { width: 7px; height: 7px; border-radius: 50%; }
.badge-run  { background: rgba(43,182,115,.13); color: #178a52; }
.badge-run .dot { background: var(--run); box-shadow: 0 0 0 0 rgba(43,182,115,.6);  }
.badge-idle { background: rgba(233,162,59,.15); color: #b9791a; }
.badge-idle .dot { background: var(--idle); }
.badge-stop { background: rgba(138,150,173,.16); color: #5d6a85; }
.badge-stop .dot { background: var(--stop); }
.badge-alert{ background: var(--red-soft); color: var(--red-dark); }
.badge-alert .dot { background: var(--alert); }

@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(43,182,115,.55); }
  70%  { box-shadow: 0 0 0 6px rgba(43,182,115,0); }
  100% { box-shadow: 0 0 0 0 rgba(43,182,115,0); }
}

/* ============================================================
   NAV
   ============================================================ */
.nav {
  position: sticky; top: 0; z-index: 90;
  background: rgba(255,255,255,0.92);
  
  border-bottom: 1px solid var(--line);
}
.nav-row { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.brand { display: flex; align-items: center; gap:12px; text-decoration: none; }
.brand .mark { flex-shrink: 0; }
.brand-logo { height: 57px; width: auto; display: block; }
@media (max-width: 480px){ .brand-logo { height: 48px; } }
.brand .wordmark {
  font-family: var(--display); font-weight:600; font-size:24px;
  letter-spacing:0; color: var(--navy);  line-height:1.1; white-space: nowrap;
}
.brand .wordmark b { color: var(--accent); font-weight:600; }
.nav-links { display: flex; align-items: center; gap:4px; }
.nav-links a {
  font:500 14px/1.1 var(--body); color: var(--ink);
  text-decoration: none; padding:8px 16px; border-radius: var(--r-sm);
  opacity: .8; 
}
.nav-links a:hover { opacity: 1; background: var(--paper); }
.nav-links a.active { opacity: 1; color: var(--accent); }
.nav-right { display: flex; align-items: center; gap:16px; }
.nav-toggle { display: none; background: none; border: none; cursor: pointer; color: var(--navy); font-size:26px; }
.nav-mobile { display: none; flex-direction: column; padding:8px 0 16px; border-top: 1px solid var(--line); }
.nav-mobile a { padding:12px 4px; font:500 16px/1.1 var(--body); color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line-2); }
.nav-mobile .btn { margin-top:16px; justify-content: center; }

@media (max-width: 860px){
  .nav-links, .nav-right .btn { display: none; }
  .nav-toggle { display: block; }
  .nav-mobile.open { display: flex; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer { position: relative; overflow: hidden; background: var(--navy-deep); color: var(--on-navy-soft); padding:56px 0 32px; border-top: 3px solid var(--accent); }
.footer::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 54px 54px; mask-image: radial-gradient(circle at 20% 0%, #000, transparent 70%); -webkit-mask-image: radial-gradient(circle at 20% 0%, #000, transparent 70%); }
.footer > .wrap { position: relative; z-index: 1; }
.footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap:40px; }
.footer .wordmark { font-family: var(--display); font-weight:600; font-size:26px; letter-spacing:0; color: #fff;  }
.footer .wordmark b { color: var(--accent); }
.footer p.blurb { font-size:13.5px; color: var(--on-navy-mute); margin-top:12px; max-width: 280px; line-height:1.6; }
.footer .footer-legal { font:600 13.5px/1.3 var(--body); color: #fff; margin-top:12px; letter-spacing:0; }
.footer h4 { font:600 12px/1.1 var(--body); letter-spacing:0;  color: #fff; margin-bottom:16px; }
.footer ul { list-style: none; display: flex; flex-direction: column; gap:12px; }
.footer ul a { font-size:14px; color: var(--on-navy-soft); text-decoration: none; opacity: .82; }
.footer ul a:hover { opacity: 1; color: #fff; }
.footer-bot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap:12px;
  margin-top:48px; padding-top:24px; border-top: 1px solid var(--on-navy-line); }
.footer-bot p { font-size:12.5px; color: var(--on-navy-mute); }
.footer-bot .socials { display: flex; gap:12px; }
.footer-bot .socials a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px;
  background: rgba(255,255,255,.06); color: #fff; font-size:17px; text-decoration: none;  }
.footer-bot .socials a:hover { background: var(--accent); transform: translateY(-2px); }
@media (max-width: 760px){ .footer-top { grid-template-columns: 1fr 1fr; gap:32px; } }

/* ── Reveal on scroll ─────────────────────── */
.reveal { opacity: 0; transform: translateY(20px);  }
.reveal.in { opacity: 1; transform: none; }
/* Staggered children within a revealed section */
.reveal .feat-grid > *, .reveal .pain-grid > *, .reveal .ind-cards > *, .reveal .how-grid > *, .reveal .testi-grid > *{
  opacity: 0; transform: translateY(14px);  }
.reveal.in .feat-grid > *, .reveal.in .pain-grid > *, .reveal.in .ind-cards > *, .reveal.in .how-grid > *, .reveal.in .testi-grid > *{ opacity: 1; transform: none; }
.reveal.in [class$="-grid"] > *:nth-child(1), .reveal.in .ind-cards > *:nth-child(1){ transition-delay: .06s; }
.reveal.in [class$="-grid"] > *:nth-child(2), .reveal.in .ind-cards > *:nth-child(2){ transition-delay: .12s; }
.reveal.in [class$="-grid"] > *:nth-child(3), .reveal.in .ind-cards > *:nth-child(3){ transition-delay: .18s; }
.reveal.in [class$="-grid"] > *:nth-child(4), .reveal.in .ind-cards > *:nth-child(4){ transition-delay: .24s; }
.reveal.in [class$="-grid"] > *:nth-child(5), .reveal.in .ind-cards > *:nth-child(5){ transition-delay: .30s; }
.reveal.in [class$="-grid"] > *:nth-child(6), .reveal.in .ind-cards > *:nth-child(6){ transition-delay: .36s; }
@media (prefers-reduced-motion: reduce){ .reveal { opacity: 1; transform: none; }
  .reveal .feat-grid > *, .reveal .pain-grid > *, .reveal .ind-cards > *, .reveal .how-grid > *, .reveal .testi-grid > *{ opacity: 1; transform: none; } }



/* ============================================================
   GEO-TRAC — live dashboard component
   ============================================================ */

.gt-dash {
  background: var(--navy-darker);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--r-lg);
  overflow: hidden;
  color: #fff;
  box-shadow: var(--shadow-lg);
  font-family: var(--body);
}

/* top bar */
.gt-bar { display: flex; align-items: center; gap:12px; padding:12px 16px;
  background: rgba(255,255,255,0.03); border-bottom: 1px solid rgba(255,255,255,0.08); }
.gt-bar .dots { display: flex; gap:8px; }
.gt-bar .dots span { width: 11px; height: 11px; border-radius: 50%; background: rgba(255,255,255,0.18); }
.gt-bar .title { font:600 13px/1.1 var(--body); color: #fff; letter-spacing:0; }
.gt-bar .title b { color: var(--on-navy-soft); font-weight: 500; }
.gt-bar .live { margin-left:auto; display: inline-flex; align-items: center; gap:8px;
  font:600 12px/1.1 var(--mono); letter-spacing:0;  color: var(--run); }
.gt-bar .live .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--run);  }
.gt-bar .clock { font:500 12px/1.1 var(--mono); color: var(--on-navy-mute); }

/* body grid */
.gt-body { display: grid; grid-template-columns: 1.35fr 1fr; }
@media (max-width: 760px){ .gt-body { grid-template-columns: 1fr; } }

/* ── MAP ──────────────────────────────────── */
.gt-map { position: relative; min-height: 340px; background:
    radial-gradient(1100px 500px at 30% -10%, rgba(42,77,158,0.35), transparent 60%),
    var(--navy-darker);
  border-right: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
}
.gt-map .grid { position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at 50% 40%, #000 55%, transparent 95%);
}
.gt-map .road { position: absolute; background: rgba(255,255,255,0.06); }
.gt-map .map-head { position: absolute; top: 14px; left: 16px; z-index: 3; }
.gt-map .map-head .k { font:600 12px/1.1 var(--mono); letter-spacing:0;  color: var(--on-navy-mute); }
.gt-map .map-head .v { font:600 14px/1.2 var(--body); color: #fff; margin-top:4px; }
.gt-map .legend { position: absolute; bottom: 12px; left: 16px; z-index: 3; display: flex; gap:16px; }
.gt-map .legend span { display: inline-flex; align-items: center; gap:4px; font:500 12px/1.1 var(--mono); color: var(--on-navy-soft); }
.gt-map .legend i { width: 7px; height: 7px; border-radius: 50%; }

.pin { position: absolute; transform: translate(-50%, -50%); z-index: 4; cursor: pointer; }
.pin .ring { position: absolute; inset: -8px; border-radius: 50%; border: 1.5px solid currentColor; opacity: 0; }
.pin .core { width: 13px; height: 13px; border-radius: 50%; background: currentColor;
  border: 2.5px solid var(--navy-darker); box-shadow: 0 0 0 1px currentColor, 0 3px 8px rgba(0,0,0,.4); }
.pin.run  { color: var(--run); }
.pin.idle { color: var(--idle); }
.pin.stop { color: var(--stop); }
.pin.run .ring {  }
.pin.sel .core { transform: scale(1.25); }
.pin .tip { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
  background: #fff; color: var(--ink); font:600 12px/1.1 var(--body); white-space: nowrap;
  padding:4px 8px; border-radius: 6px; box-shadow: var(--shadow); opacity: 0; pointer-events: none;  }
.pin:hover .tip, .pin.sel .tip { opacity: 1; }
@keyframes ringpulse { 0%{ transform: scale(.6); opacity: .7; } 100%{ transform: scale(1.6); opacity: 0; } }

/* ── SIDE PANEL ───────────────────────────── */
.gt-side { display: flex; flex-direction: column; }
.gt-tabs { display: flex; gap:2px; padding:12px 12px 0; }
.gt-tabs button { flex: 1; font:600 12px/1.1 var(--body); letter-spacing:0; 
  padding:8px 8px; background: transparent; border: none; color: var(--on-navy-mute); cursor: pointer;
  border-bottom: 2px solid transparent;  }
.gt-tabs button.active { color: #fff; border-bottom-color: var(--accent); }

.gt-pane { padding:12px; display: none; }
.gt-pane.active { display: block; }

/* asset rows */
.asset { display: flex; align-items: center; gap:12px; padding:12px 12px; border-radius: var(--r-sm);
  cursor: pointer; border: 1px solid transparent;  }
.asset:hover { background: rgba(255,255,255,0.04); }
.asset.sel { background: rgba(42,77,158,0.22); border-color: rgba(120,160,240,0.35); }
.asset .ico { width: 32px; height: 32px; border-radius: 7px; display: grid; place-items: center;
  background: rgba(255,255,255,0.06); color: var(--on-navy-soft); font-size:17px; flex-shrink: 0; }
.asset .meta { flex: 1; min-width: 0; }
.asset .meta .nm { font:600 13px/1.2 var(--body); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.asset .meta .lo { font:500 12px/1.3 var(--mono); color: var(--on-navy-mute); margin-top:3px; }
.asset .rt { text-align: right; flex-shrink: 0; }
.asset .rt .v { font:600 13px/1.1 var(--mono); color: #fff; }
.asset .rt .l { font:500 12px/1.1 var(--mono); letter-spacing:0;  color: var(--on-navy-mute); margin-top:4px; }

/* environmental readout */
.env-grid { display: grid; grid-template-columns: 1fr 1fr; gap:8px; }
.env { background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.07); border-radius: var(--r-sm); padding:12px; }
.env .k { font:600 12px/1.1 var(--mono); letter-spacing:0;  color: var(--on-navy-mute); display: flex; align-items: center; gap:4px; }
.env .v { font:600 26px/1.1 var(--display); color: #fff; margin-top:8px; letter-spacing:0; }
.env .v small { font-size:13px; color: var(--on-navy-soft); font-family: var(--mono); font-weight: 500; margin-left:3px; }
.env .trend { font:600 12px/1.1 var(--mono); margin-top:8px; display: inline-flex; align-items: center; gap:4px; }
.env .trend.up { color: var(--idle); }
.env .trend.dn { color: var(--run); }
.env-spark { margin-top:12px; }
.env-spark canvas { width: 100%; height: 46px; display: block; }
.env-cap { font:500 12px/1.4 var(--mono); color: var(--on-navy-mute); margin-top:12px; }

/* alerts feed */
.alert-row { display: flex; gap:12px; padding:12px 4px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.alert-row:last-child { border-bottom: none; }
.alert-row .ai { width: 26px; height: 26px; border-radius: 6px; display: grid; place-items: center; font-size:14px; flex-shrink: 0; }
.alert-row .ai.warn { background: rgba(233,162,59,.16); color: var(--idle); }
.alert-row .ai.crit { background: var(--red-soft); color: var(--red-dark); }
.alert-row .ai.ok   { background: rgba(43,182,115,.14); color: var(--run); }
.alert-row .at { flex: 1; }
.alert-row .at .m { font:500 12px/1.4 var(--body); color: #fff; }
.alert-row .at .m b { font-weight: 600; }
.alert-row .at .t { font:500 12px/1.1 var(--mono); color: var(--on-navy-mute); margin-top:4px; }
.alert-row.flash {  }
@keyframes flashin { from { background: rgba(216,57,43,.18); } to { background: transparent; } }

/* ── GATEWAY MAP PANEL ────────────────────── */
.gt-gateways { position: relative; background: #dcebf6; }
.gt-gateways img { width: 100%; height: auto; display: block; }
.gt-gateways .gw-tag { position: absolute; top: 12px; left: 14px; z-index: 2;
  display: inline-flex; align-items: center; gap:8px;
  background: rgba(15,31,68,.82); border: 1px solid rgba(255,255,255,.16); border-radius: 8px; padding:8px 12px; }
.gt-gateways .gw-tag .k { font:600 12px/1.1 var(--mono); letter-spacing:0;  color: var(--on-navy-soft); }
.gt-gateways .gw-tag .v { font:600 13px/1.1 var(--body); color: #fff; }
.gt-gateways .gw-leg { position: absolute; bottom: 12px; right: 14px; z-index: 2;
  display: inline-flex; align-items: center; gap:8px;
  background: rgba(255,255,255,.92); border-radius: 8px; padding:8px 12px; box-shadow: var(--shadow); }
.gt-gateways .gw-leg i { width: 9px; height: 9px; border-radius: 50%; background: #2f8f4e; }
.gt-gateways .gw-leg span { font:600 12px/1.1 var(--mono); color: #1d3a26; letter-spacing:0; }

/* mini KPI strip under dash (optional) */
.gt-kpis { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,0.08); }
.gt-kpis .kpi { padding:16px 16px; border-right: 1px solid rgba(255,255,255,0.06); }
.gt-kpis .kpi:last-child { border-right: none; }
.gt-kpis .kpi .v { font:600 22px/1.1 var(--display); color: #fff; }
.gt-kpis .kpi .v.accent { color: var(--accent); }
.gt-kpis .kpi .l { font:500 12px/1.1 var(--mono); letter-spacing:0;  color: var(--on-navy-mute); margin-top:8px; }
@media (max-width: 760px){ .gt-kpis { grid-template-columns: repeat(2,1fr); } .gt-kpis .kpi:nth-child(2){ border-right: none; } }



/* ============================================================
   GEO-TRAC — page content styles
   ============================================================ */

/* ── HERO ─────────────────────────────────── */
.hero { position: relative; background:
    radial-gradient(900px 420px at 78% -8%, rgba(42,77,158,0.55), transparent 60%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: #fff; overflow: hidden; }
/* Atmospheric aurora — drifts slowly behind the grid */
.hero::before { content:''; position:absolute; inset:-25% -12% auto -12%; height:95%; z-index:0; pointer-events:none;
  background:
    radial-gradient(560px 300px at 26% 24%, rgba(236,50,55,0.20), transparent 60%),
    radial-gradient(720px 360px at 82% 6%, rgba(42,77,158,0.55), transparent 62%);
  filter: blur(24px);  }
@keyframes auroraDrift { from{ transform: translate3d(-2%,0,0) scale(1); } to { transform: translate3d(3%,3%,0) scale(1.06); } }
.hero::after { content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(circle at 70% 20%, #000, transparent 75%); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1.05fr;
  gap:56px; align-items: center; padding:72px 0 80px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; font:600 12px/1.1 var(--mono);
  letter-spacing:0;  color:var(--on-navy-soft);
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.16);
  padding:8px 16px; border-radius:99px; margin-bottom:24px; }
.hero-badge .dot{ width:7px;height:7px;border-radius:50%;background:var(--run);animation:pulse 2s infinite; }
.hero h1 { font-size: clamp(42px, 5.4vw, 74px); color:#fff; line-height:1.1; letter-spacing:-0.2px; padding-bottom:2px; }
.hero h1 .accent { color: var(--accent); position:relative; white-space:nowrap; }
.hero h1 .accent::after { content:''; position:absolute; left:0; right:0; bottom:0.02em; height:0.08em;
  background:var(--accent); border-radius:2px; transform:scaleX(0); transform-origin:left; opacity:.55;
   }
@keyframes heroUnderline { to { transform:scaleX(1); } }
.hero .lede { color: var(--on-navy-soft); font-size:17.5px; margin:24px 0 32px; max-width: 480px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.hero-trust { margin-top:32px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  font:500 12.5px/1.5 var(--mono); color:var(--on-navy-mute); }
.hero-trust .sep { width:1px; height:14px; background:rgba(255,255,255,0.18); }
@media (max-width: 940px){
  .hero-grid { grid-template-columns: 1fr; gap:40px; padding:48px 0 56px; }
  .hero-visual { order: 2; }
}

/* Hero load orchestration */
@keyframes heroRise { from { opacity:0; transform: translateY(26px); } to { opacity:1; transform:none; } }
@keyframes heroFloat { from { opacity:0; transform: translateY(34px) scale(.985); filter: blur(8px); } to { opacity:1; transform:none; filter:blur(0); } }
.hero-copy > * { opacity:0;  }
.hero-copy > .hero-badge { animation-delay:.05s; }
.hero-copy > h1 { animation-delay:.16s; }
.hero-copy > .lede { animation-delay:.30s; }
.hero-copy > .hero-btns { animation-delay:.42s; }
.hero-copy > .hero-trust { animation-delay:.54s; }
.hero-visual { opacity:0;  }
@media (prefers-reduced-motion: reduce){
  .hero-copy > *, .hero-visual { opacity:1 !important;  filter:none !important; transform:none !important; }
  .hero::before {  }
  .hero h1 .accent::after {  transform:scaleX(1); }
}

/* hero alt visuals (tweakable) */
.hero-visual { position: relative; }
.hero-map-alt, .hero-clean-note { display: none; }

/* ── STAT STRIP ───────────────────────────── */
.statstrip { background: var(--navy-deep); border-top: 1px solid rgba(255,255,255,0.07); }
.statstrip .wrap { display:grid; grid-template-columns: repeat(4,1fr); }
.statstrip .st { padding:24px 20px; text-align:center; border-right:1px solid rgba(255,255,255,0.07); }
.statstrip .st:last-child{ border-right:none; }
.statstrip .v { font:600 34px/1.1 var(--display); color:#fff; }
.statstrip .v .accent { color: var(--accent); }
.statstrip .l { font:500 12px/1.3 var(--mono); color:var(--on-navy-mute); margin-top:8px; letter-spacing:0; }
@media (max-width:640px){ .statstrip .wrap{ grid-template-columns:repeat(2,1fr);} .statstrip .st:nth-child(2){border-right:none;} .statstrip .st:nth-child(1),.statstrip .st:nth-child(2){border-bottom:1px solid rgba(255,255,255,0.07);} }
.statline { border-top:1px solid rgba(255,255,255,0.07); padding:24px 20px; text-align:center; }
.statline strong { font:600 22px/1.15 var(--display); letter-spacing:0;  color:#fff; }
.statline strong .accent { color:var(--accent); }
.statline span { display:block; font:500 13px/1.4 var(--mono); color:var(--on-navy-soft); margin-top:8px; letter-spacing:0; }
@media (max-width:600px){ .statline strong{ font-size:18px; } .statline span{ font-size:12px; } }
/* feature row (in navy strip) */
.feature-row { display:grid; grid-template-columns:repeat(4,1fr); }
.frow-item { padding:32px 24px; text-align:left; border-right:1px solid rgba(255,255,255,0.07); }
.frow-item:last-child { border-right:none; }
.frow-item > i { font-size:24px; color:var(--accent); display:block; margin-bottom:16px; }
.frow-item .ft { font:600 17px/1.2 var(--body); color:#fff; }
.frow-item .fd { font:500 13px/1.5 var(--body); color:var(--on-navy-soft); margin-top:8px; }
@media (max-width:760px){ .feature-row{ grid-template-columns:1fr 1fr; }
  .frow-item:nth-child(2){border-right:none;}
  .frow-item:nth-child(1),.frow-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,0.07);} }
@media (max-width:460px){ .feature-row{ grid-template-columns:1fr; }
  .frow-item{ border-right:none; border-bottom:1px solid rgba(255,255,255,0.07); }
  .frow-item:last-child{ border-bottom:none; } }

/* ── SECTION HEAD ─────────────────────────── */
.sec-head { max-width: 660px; }
.sec-head.center { margin:0 auto; text-align: center; }
.sec-head h2 { margin:16px 0 0; color: var(--navy); }
.sec-head.on-navy h2 { color: #fff; }
.sec-head p { margin-top:16px; }

/* ── PROBLEM ──────────────────────────────── */
.problem { background: var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pain-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:32px; }
.pain { display:flex; gap:16px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:var(--r);  }
@media (hover:hover){ .pain:hover { border-color: rgba(24,45,94,0.28); transform: translateY(-2px); } }
.pain .pi { width:42px; height:42px; flex-shrink:0; border-radius:9px; display:grid; place-items:center;
  background:var(--red-soft); color:var(--red-dark); font-size:21px; }
.pain h3 { font-family:var(--body); font-weight:600; text-transform:none; letter-spacing:0; font-size:15.5px; color:var(--ink); line-height:1.3; }
.pain p { font-size:13.5px; color:var(--muted); margin-top:8px; line-height:1.55; }
@media (max-width:680px){ .pain-grid{ grid-template-columns:1fr; } }

/* ── PLATFORM CARDS ───────────────────────── */
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.feat { padding:24px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
   }
@media (hover:hover){ .feat:hover { border-color:var(--navy); box-shadow:var(--shadow); transform:translateY(-3px); } }
.feat .fi { width:48px; height:48px; border-radius:11px; display:grid; place-items:center; font-size:24px; margin-bottom:20px; }
.fi-navy { background:#e7edfa; color:var(--navy); }
.fi-red  { background:var(--red-soft); color:var(--red-dark); }
.feat h3 { font-family:var(--body); font-weight:600; text-transform:none; letter-spacing:0; font-size:17px; color:var(--ink); }
.feat p { font-size:14px; color:var(--muted); margin-top:8px; line-height:1.6; }
.feat .fl { margin-top:16px; font:600 13px/1.1 var(--body); color:var(--accent); text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.feat .fl i {  }
.feat:hover .fl i { transform: translateX(3px); }
@media (max-width:880px){ .feat-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .feat-grid{ grid-template-columns:1fr; } }

/* ── VENDOR-NEUTRAL BAND ───────────────────── */
.vn-band { background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.vn-inner { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; }
.vn-lead .lede { margin-top:16px; }
.vn-points { list-style:none; display:flex; flex-direction:column; gap:16px; }
.vn-points li { display:flex; align-items:center; gap:12px; font:600 16px/1.3 var(--body); color:var(--navy); }
.vn-points li i { color:var(--accent); font-size:24px; flex-shrink:0; }
@media (max-width:760px){ .vn-inner{ grid-template-columns:1fr; gap:24px; } }

/* ── USE WHAT YOU NEED ──────────────────────── */
.needs { background:#fff; }
.needs-grid { display:grid; grid-template-columns:1fr 1.12fr 1fr; gap:20px; margin-top:40px; align-items:stretch; }
.need { position:relative; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:32px 24px; display:flex; flex-direction:column;
   }
.need > *:not(.need-ribbon){ position:relative; z-index:1; }
.need::before { content:''; position:absolute; top:-1px; left:26px; right:26px; height:3px; border-radius:0 0 3px 3px;
  background:var(--accent); transform:scaleX(0); transform-origin:left;  }
@media (hover:hover){ .need:hover { transform:translateY(-4px); border-color:rgba(24,45,94,0.28); box-shadow:var(--shadow); }
  .need:hover::before { transform:scaleX(1); } }
.need-ic { width:52px; height:52px; border-radius:12px; display:grid; place-items:center; font-size:26px;
  background:#e6ecf8; color:var(--navy); margin-bottom:20px; }
.need h3 { font-family:var(--display); font-size:23px; color:var(--navy); letter-spacing:0; }
.need > p { font-size:14.5px; color:var(--muted); line-height:1.6; margin-top:12px; }
.need-list { list-style:none; margin:20px 0 20px; display:flex; flex-direction:column; gap:12px; flex:1; }
.need-list li { display:flex; align-items:flex-start; gap:8px; font-size:13.5px; line-height:1.45; color:var(--ink); }
.need-list li i { color:#1f9d57; font-size:17px; flex-shrink:0; margin-top:1px; }
.need-for { font:600 12px/1.4 var(--body); color:var(--muted); padding-top:16px; border-top:1px solid var(--line); }

.need-both { background:var(--navy); border-color:var(--navy); box-shadow:0 14px 40px rgba(15,31,68,0.22); overflow:hidden; }
.need-both::after { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 40px 40px; mask-image: radial-gradient(circle at 82% 4%, #000, transparent 74%); -webkit-mask-image: radial-gradient(circle at 82% 4%, #000, transparent 74%); }
@media (hover:hover){ .need-both:hover { box-shadow:0 22px 56px rgba(15,31,68,0.34); } }
.need-both .need-ic { background:var(--accent); color:#fff; }
.need-both h3 { color:#fff; }
.need-both > p { color:var(--on-navy-soft); }
.need-both .need-list li { color:#eaf0fb; }
.need-both .need-list li i { color:#5fd494; }
.need-both .need-for { color:var(--on-navy-soft); border-top-color:var(--on-navy-line); }
.need-ribbon { position:absolute; top:18px; right:18px; font:600 12px/1.1 var(--mono); letter-spacing:0;
   color:#fff; background:var(--accent); padding:8px 12px; border-radius:6px; }
@media (max-width:860px){ .needs-grid{ grid-template-columns:1fr; } .need-both{ order:-1; } }

/* ── ROI CALCULATOR ────────────────────────── */
.roi-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; align-items:stretch; }
.roi-inputs { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px; box-shadow:var(--shadow); display:flex; flex-direction:column; justify-content:center; gap:24px; }
.roi-field { display:flex; flex-direction:column; gap:12px; }
.roi-flabel { display:flex; justify-content:space-between; align-items:baseline; }
.roi-flabel span { font:600 14.5px/1.1 var(--body); color:var(--ink); }
.roi-flabel output { font:600 18px/1.1 var(--display); color:var(--navy); letter-spacing:0; }
.roi-field input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:99px; outline:none;
  background:linear-gradient(to right, var(--accent) 0 var(--fill,40%), var(--paper-2) var(--fill,40%) 100%); }
.roi-field input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%;
  background:#fff; border:2px solid var(--accent); box-shadow:0 2px 6px rgba(15,31,68,0.25); cursor:pointer;  }
.roi-field input[type=range]::-webkit-slider-thumb:hover{ transform:scale(1.12); }
.roi-field input[type=range]::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid var(--accent); box-shadow:0 2px 6px rgba(15,31,68,0.25); cursor:pointer; }
.roi-results { position:relative; overflow:hidden; background:var(--navy); border-radius:var(--r-lg); padding:32px; color:#fff; display:flex; flex-direction:column; }
.roi-results > * { position:relative; z-index:1; }
.roi-results::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 40px 40px; mask-image: radial-gradient(circle at 88% 0%, #000, transparent 72%); -webkit-mask-image: radial-gradient(circle at 88% 0%, #000, transparent 72%); }
.roi-total { text-align:center; padding-bottom:24px; border-bottom:1px solid var(--on-navy-line); }
.roi-total-label { font:600 12px/1.1 var(--body); letter-spacing:0;  color:var(--on-navy-soft); }
.roi-total-val { font-family:var(--display); font-weight:600; font-size:58px; line-height:1.1; color:#fff; margin:12px 0 8px; letter-spacing:0; text-shadow:0 0 30px rgba(236,50,55,0.28); }
.roi-total-val::first-letter{ color:var(--accent); }
.roi-total-sub { font-size:13.5px; color:var(--on-navy-soft); }
.roi-total-sub b { color:#fff; }
.roi-breakdown { list-style:none; display:flex; flex-direction:column; gap:2px; margin:20px 0 24px; flex:1; }
.roi-breakdown li { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; border-bottom:1px solid var(--on-navy-line); }
.roi-breakdown li:last-child{ border-bottom:none; }
.rb-k { display:flex; align-items:center; gap:12px; font-size:14.5px; color:var(--on-navy-soft); }
.rb-k i { color:var(--accent); font-size:19px; }
.rb-v { font:600 18px/1.1 var(--display); color:#fff; letter-spacing:0; white-space:nowrap; }
.roi-disclaimer { max-width:760px; margin:24px auto 0; text-align:center; font-size:12.5px; line-height:1.6; color:var(--muted); }
@media (max-width:760px){ .roi-grid{ grid-template-columns:1fr; } .roi-total-val{ font-size:48px; } }

/* ── COMPARISON TABLE ──────────────────────── */
.compare { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cmp-wrap { margin-top:40px; overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--r-lg); box-shadow:var(--shadow); }
.cmp { width:100%; min-width:640px; border-collapse:collapse; background:#fff; }
.cmp thead th { font:600 13.5px/1.25 var(--body); color:var(--muted); padding:20px 20px; text-align:center; vertical-align:bottom; background:var(--paper-2); border-bottom:2px solid var(--line); }
.cmp thead th.cmp-cap { text-align:left; font-size:12px; letter-spacing:0;  color:var(--muted); }
.cmp thead th.cmp-us { color:#fff; background:var(--navy); font-size:18px; font-family:var(--display); letter-spacing:0; }
.cmp td { padding:16px 20px; text-align:center; border-bottom:1px solid var(--line-2); vertical-align:middle; }
.cmp td.cmp-cap { text-align:left; font-size:15px; color:var(--ink); line-height:1.4; }
.cmp td.cmp-cap b { color:var(--navy); font-weight:600; }
.cmp tbody tr:last-child td { border-bottom:none; }
.cmp td.cmp-us, .cmp th.cmp-us { background:rgba(24,45,94,0.045); }
.cmp tr.cmp-hl td { background:var(--accent-soft); }
.cmp tr.cmp-hl td.cmp-us { background:rgba(212,43,43,0.12); }
.cmp .yes { color:#1f9d57; font-size:25px; }
.cmp .no { color:#c2cad8; font-size:22px; }
.cmp .lim { display:inline-block; font:600 12px/1.1 var(--body); color:var(--muted); background:var(--paper-2); border:1px solid var(--line); padding:4px 12px; border-radius:99px; letter-spacing:0; }
.cmp-tag { display:inline-block; font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--accent-dark); background:var(--accent-soft); padding:4px 8px; border-radius:5px; margin-left:8px; vertical-align:middle; white-space:nowrap; }
.cmp-note { max-width:760px; margin:24px auto 0; text-align:center; font-size:13px; line-height:1.6; color:var(--muted); }
@media (max-width:600px){ .cmp-tag{ display:none; } }

/* ── FITS YOUR WORKFLOW ─────────────────────── */
.fits { background:#fff; }
.fits-inner { display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.fits-lead .lede { margin-top:16px; }
.fits-cta { margin-top:24px; }
.fits-points { display:flex; flex-direction:column; gap:16px; }
.fitp { display:flex; gap:16px; align-items:flex-start; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:24px 24px; }
.fitp-ic { width:46px; height:46px; flex-shrink:0; border-radius:11px; display:grid; place-items:center;
  font-size:23px; background:#e6ecf8; color:var(--navy); }
.fitp h3 { font-size:16.5px; color:var(--navy); font-weight:600; }
.fitp p { font-size:14px; color:var(--muted); line-height:1.6; margin-top:4px; }
.fitp p b { color:var(--ink); font-weight:600; }
@media (max-width:820px){ .fits-inner{ grid-template-columns:1fr; gap:32px; } }

.ind-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }

/* ── CHILLER SPOTLIGHT ─────────────────────── */
.chiller-spotlight { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-top:40px; }
.cs-copy h3 { font-family:var(--display); font-size:27px; color:#fff; letter-spacing:0; }
.cs-copy > p { font-size:15px; line-height:1.6; color:var(--on-navy-soft); margin-top:12px; }
.cs-points { list-style:none; margin:20px 0; display:flex; flex-direction:column; gap:12px; }
.cs-points li { display:flex; align-items:flex-start; gap:12px; font-size:14.5px; line-height:1.5; color:#eaf0fb; }
.cs-points li i { color:#5fd494; font-size:21px; flex-shrink:0; margin-top:1px; }
.cs-points li b { color:#fff; font-weight:600; }
.cs-out { display:flex; gap:12px; align-items:flex-start; font-size:14px !important; line-height:1.55; color:#eaf0fb !important;
  background:rgba(95,212,148,0.10); border:1px solid rgba(95,212,148,0.28); border-radius:10px; padding:16px 16px; margin:0 0 20px !important; }
.cs-out i { color:#5fd494; font-size:19px; flex-shrink:0; margin-top:1px; }

.cs-panel { background:var(--navy-deep); border:1px solid var(--on-navy-line); border-radius:var(--r-lg);
  box-shadow:0 18px 50px rgba(0,0,0,0.32); overflow:hidden; }
.cs-panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 20px; background:rgba(255,255,255,0.04); border-bottom:1px solid var(--on-navy-line); }
.cs-unit { font:600 13.5px/1.3 var(--body); color:#fff; }
.cs-unit-k { font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--on-navy-soft); margin-right:8px; }
.cs-live { display:inline-flex; align-items:center; gap:8px; font:600 12px/1.1 var(--body); letter-spacing:0;  color:#5fd494; flex-shrink:0; }
.cs-dot { width:8px; height:8px; border-radius:50%; background:#5fd494; box-shadow:0 0 0 0 rgba(95,212,148,0.6); animation:csPulse 1.8s infinite; }
@keyframes csPulse { 0%{box-shadow:0 0 0 0 rgba(95,212,148,0.55);} 70%{box-shadow:0 0 0 8px rgba(95,212,148,0);} 100%{box-shadow:0 0 0 0 rgba(95,212,148,0);} }
.cs-readout { padding:8px 20px; }
.cs-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.07); }
.cs-row:last-child { border-bottom:none; }
.cs-row-hl { margin:0 -20px; padding:12px 20px; background:rgba(95,212,148,0.08); border-bottom:1px solid rgba(255,255,255,0.07); }
.cs-k { font-size:13.5px; color:var(--on-navy-soft); }
.cs-v { font:600 17px/1.1 var(--display); color:#fff; letter-spacing:0; display:inline-flex; align-items:center; gap:8px; }
.cs-v.cs-good { color:#5fd494; }
.cs-sub { font:500 12px/1.1 var(--body); color:var(--on-navy-soft); letter-spacing:0; }
.cs-pill { font:600 12px/1.1 var(--mono); letter-spacing:0;  padding:4px 8px; border-radius:6px; }
.cs-pill.cs-run { background:rgba(95,212,148,0.16); color:#5fd494; border:1px solid rgba(95,212,148,0.35); }
.cs-foot { display:flex; align-items:center; gap:8px; padding:16px 20px; font-size:12.5px; color:var(--on-navy-soft);
  background:rgba(255,255,255,0.03); border-top:1px solid var(--on-navy-line); }
.cs-foot i { color:var(--accent); font-size:16px; }
@media (max-width:860px){ .chiller-spotlight{ grid-template-columns:1fr; gap:32px; } }

.cs-copy .ind-link { margin-top:20px; font:600 14px/1.1 var(--body); color:#fff; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; }
.cs-copy .ind-link i { color:var(--accent);  }
.cs-copy .ind-link:hover i { transform:translateX(4px); }
/* chiller spotlight: stacked (copy + full-width real screenshot) */
.cs-stack { grid-template-columns:1fr; gap:32px; }
.cs-stack .cs-copy { max-width:860px; }
.cs-shot { border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--on-navy-line);
  box-shadow:0 18px 50px rgba(0,0,0,0.34); background:#fff; }
.cs-shot-head { display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 20px; background:var(--navy-deep); border-bottom:1px solid var(--on-navy-line); }
.cs-shot-t { font:600 12.5px/1.1 var(--body); color:var(--on-navy-soft); }
.cs-shot img { display:block; width:100%; height:auto; }
.cs-shot figcaption { padding:12px 20px; font-size:12.5px; color:var(--muted); background:#fff; border-top:1px solid var(--line); }

/* ── INDUSTRIES ────────────────────────────── */
.industries { position:relative; background:var(--navy); overflow:hidden; }
.industries::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 54px 54px; mask-image: radial-gradient(circle at 76% 12%, #000, transparent 72%); -webkit-mask-image: radial-gradient(circle at 76% 12%, #000, transparent 72%); }
.industries::after { content:''; position:absolute; inset:-18% -10% auto -10%; height:72%; z-index:0; pointer-events:none;
  background: radial-gradient(620px 320px at 82% 0%, rgba(42,77,158,0.42), transparent 62%), radial-gradient(460px 260px at 14% 8%, rgba(236,50,55,0.13), transparent 60%); filter: blur(22px); }
.industries > .wrap { position:relative; z-index:1; }
/* ── INDUSTRIES DIVIDER ────────────────────── */
.ind-divider { display:flex; align-items:center; gap:20px; margin:56px 0 0; }
.ind-divider::before, .ind-divider::after { content:''; flex:1; height:1px; background:var(--on-navy-line); }
.ind-divider span { font:600 12px/1.1 var(--body); letter-spacing:0;  color:var(--on-navy-soft); }
.industries .ind-cards { margin-top:24px; }
.ind-card { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--r-lg);
  padding:24px; display:flex; flex-direction:column;  }
@media (hover:hover){ .ind-card:hover { background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.22); transform:translateY(-3px); } }
.ind-card .ici { width:48px; height:48px; border-radius:11px; display:grid; place-items:center; font-size:24px;
  background:var(--accent); color:#fff; margin-bottom:20px; }
.ind-card h3 { font-family:var(--display); font-size:22px; color:#fff; letter-spacing:0; }
.ind-card p { font-size:14.5px; color:var(--on-navy-soft); line-height:1.6; margin-top:12px; flex:1; }
.ind-card .ind-link { margin-top:20px; font:600 13px/1.1 var(--body); color:#fff; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; }
.ind-card .ind-link i { color:var(--accent);  }
.ind-card:hover .ind-link i { transform:translateX(4px); }
@media (max-width:900px){ .ind-cards{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ind-cards{ grid-template-columns:1fr; } }
.ind-shell { display:grid; grid-template-columns: 280px 1fr; gap:32px; margin-top:40px; }
.ind-tablist { display:flex; flex-direction:column; gap:8px; }
.ind-tab { display:flex; align-items:center; gap:12px; text-align:left; cursor:pointer;
  padding:16px 16px; border-radius:var(--r); border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03); color:var(--on-navy-soft);  }
.ind-tab i { font-size:20px; }
.ind-tab .tt { font:600 14px/1.2 var(--body); }
.ind-tab:hover { background:rgba(255,255,255,0.07); color:#fff; }
.ind-tab.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.ind-panel { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.11); border-radius:var(--r-lg); padding:32px; }
.ind-panel .ipk { font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--accent); display:inline-flex; align-items:center; gap:8px; }
.ind-panel .ipk i { font-size:15px; }
.ind-panel h3 { font-family:var(--display); font-size:30px; color:#fff; margin:12px 0 0; }
.ind-panel .itag { font-size:15px; color:var(--on-navy-soft); line-height:1.6; margin:16px 0 24px; max-width:560px;
  padding-left:16px; border-left:3px solid var(--accent); }
.ind-block { margin-top:24px; }
.ind-block .ibk { font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--accent);
  display:inline-flex; align-items:center; gap:8px; margin-bottom:8px; }
.ind-block .ibk i { font-size:15px; }
.ind-block p { font-size:15.5px; color:var(--on-navy-soft); line-height:1.6; max-width:600px; }
.ind-cta { margin-top:24px; }
.ind-cta i {  }
.ind-cta:hover i { transform:translateX(3px); }
.ind-props { display:flex; flex-wrap:wrap; gap:8px; }
.ind-prop { font:500 12.5px/1.1 var(--mono); padding:8px 12px; border-radius:7px;
  background:rgba(255,255,255,0.07); color:#c5d5f0; border:1px solid rgba(255,255,255,0.12);
  display:inline-flex; align-items:center; gap:8px; }
.ind-prop i { color:var(--run); font-size:14px; }
@media (max-width:860px){ .ind-shell{ grid-template-columns:1fr; } .ind-tablist{ flex-direction:row; overflow-x:auto; padding-bottom:8px; } .ind-tab{ flex-shrink:0; } .ind-tab .tt{ white-space:nowrap; } }

/* ── SPLIT FEATURE (platform page) ────────── */
.split { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.split.rev .split-media { order:2; }
.split-media { background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg); padding:32px; min-height:300px;
  display:flex; align-items:center; justify-content:center; }
.split h3 { color:var(--navy); margin-bottom:16px; }
.split ul { list-style:none; margin-top:20px; display:flex; flex-direction:column; gap:12px; }
.split ul li { display:flex; gap:12px; font-size:14.5px; color:var(--muted); }
.split ul li i { color:var(--run); font-size:19px; flex-shrink:0; }
@media (max-width:840px){ .split{ grid-template-columns:1fr; gap:32px; } .split.rev .split-media{ order:0; } }

/* ── ABOUT STORY ───────────────────────────── */
.about-story { margin-top:56px; display:grid; grid-template-columns:repeat(3,1fr); gap:32px 40px; align-items:start; }
.story-block h3 { font-family:var(--display); font-size:21px; color:var(--navy); letter-spacing:0; margin-bottom:12px; }
.story-block p { font-size:15px; line-height:1.6; color:var(--muted); margin-top:12px; }
.story-block p:first-of-type { margin-top:0; }
.story-flag { display:flex; gap:12px; align-items:flex-start; margin-top:16px !important; padding:16px 16px;
  background:var(--accent-soft); border:1px solid rgba(212,43,43,0.18); border-radius:10px;
  font-size:14px !important; line-height:1.55 !important; color:var(--navy) !important; font-weight:500; }
.story-flag i { color:var(--accent); font-size:19px; flex-shrink:0; margin-top:1px; }
.about-flag { grid-column:1 / -1; display:flex; gap:12px; align-items:center; justify-content:center; text-align:center;
  margin-top:8px; padding-top:24px; border-top:1px solid var(--line);
  font-family:var(--display); font-size:18px; letter-spacing:0; color:var(--navy); }
.about-flag i { color:var(--accent); font-size:21px; }
@media (max-width:840px){ .about-story{ grid-template-columns:1fr; gap:32px; } .about-flag{ flex-direction:column; gap:8px; font-size:16px; } }

/* ── PLACEHOLDER (striped) ────────────────── */.ph { width:100%; border-radius:var(--r); background:
    repeating-linear-gradient(135deg, var(--paper-2) 0 14px, #fff 14px 28px);
  border:1px dashed rgba(24,45,94,0.22); display:flex; align-items:center; justify-content:center;
  min-height:220px; font:500 12px/1.1 var(--mono); color:var(--muted); letter-spacing:0; text-align:center; }

/* ── MEDIA PHOTO ──────────────────────────── */
.split-media.photo { padding:0; overflow:hidden; background:var(--navy-deep); }
.media-photo { width:100%; height:440px; object-fit:cover; display:block; }
@media (max-width:840px){ .media-photo { height:360px; } }

/* ── CTA BAND ─────────────────────────────── */
.ctaband { position:relative; overflow:hidden; background:
    radial-gradient(700px 320px at 50% -20%, rgba(42,77,158,0.5), transparent 60%),
    var(--navy-deep); color:#fff; text-align:center; }
.ctaband::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 54px 54px; mask-image: radial-gradient(circle at 50% 0%, #000, transparent 70%); -webkit-mask-image: radial-gradient(circle at 50% 0%, #000, transparent 70%); }
.ctaband > .wrap { position:relative; z-index:1; }
.ctaband h2 { color:#fff; font-size:clamp(30px,3.6vw,46px); }
.ctaband p { color:var(--on-navy-soft); max-width:520px; margin:16px auto 32px; font-size:16px; }
.ctaband .hero-btns { justify-content:center; }

/* ── GENERIC PAGE HEADER ──────────────────── */
.pagehead { background:
    radial-gradient(700px 340px at 80% -20%, rgba(42,77,158,0.5), transparent 60%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
  color:#fff; padding:64px 0 56px; position:relative; overflow:hidden; }
.pagehead h1 { font-size:clamp(38px,5vw,60px); color:#fff; margin-top:16px; }
.pagehead p { color:var(--on-navy-soft); max-width:560px; margin-top:20px; font-size:17px; line-height:1.6; }

/* ── CONTACT ──────────────────────────────── */
.contact-grid { display:grid; grid-template-columns: 1fr 1.15fr; gap:56px; }
.contact-info h3 { color:var(--navy); margin-bottom:8px; }
.ci-list { list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:20px; }
.ci-list li { display:flex; gap:16px; }
.ci-list .cii { width:44px; height:44px; flex-shrink:0; border-radius:10px; background:#e7edfa; color:var(--navy); display:grid; place-items:center; font-size:21px; }
.ci-list .cik { font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--muted); }
.ci-list .civ { font-size:15.5px; color:var(--ink); margin-top:4px; font-weight:500; }
.ci-trust { margin-top:32px; padding:24px; background:var(--navy); border-radius:var(--r-lg); color:#fff; }
.ci-trust .q { font-family:var(--display); font-size:20px; line-height:1.3;  }
.ci-trust .a { font:500 13px/1.5 var(--mono); color:var(--on-navy-soft); margin-top:12px; }

.form { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px; box-shadow:var(--shadow); }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { margin-bottom:20px; }
.field.full { grid-column: 1 / -1; }
.field label { display:block; font:600 12.5px/1.1 var(--body); color:var(--ink); margin-bottom:8px; }
.field label .req { color:var(--accent); }
.field input, .field select, .field textarea {
  width:100%; font:400 15px/1.4 var(--body); color:var(--ink);
  padding:12px 16px; border:1px solid var(--line); border-radius:var(--r-sm); background:#fff;
   }
.field textarea { resize:vertical; min-height:110px; }
.field input:focus, .field select:focus, .field textarea:focus {
  outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(42,77,158,0.12); }
.field.err input, .field.err select, .field.err textarea { border-color:var(--accent); box-shadow:0 0 0 3px rgba(216,57,43,0.10); }
.field .msg { font:500 12px/1.3 var(--body); color:var(--accent); margin-top:8px; display:none; }
.field.err .msg { display:block; }
.form-note { font:500 12px/1.5 var(--mono); color:var(--muted); margin-top:8px; }
.field label .opt { color:var(--muted); font-weight:500; font-size:12px; }
.form-toggle { display:inline-flex; align-items:center; gap:8px; background:none; border:none; cursor:pointer;
  font:600 13.5px/1.1 var(--body); color:var(--accent); padding:8px 0; margin:2px 0 20px; }
.form-toggle i { font-size:16px; }
.form-toggle span { color:var(--muted); font-weight:500; }
.form-extra[hidden] { display:none; }
.form-success { text-align:center; padding:40px 20px; }
.form-success .ok { width:64px;height:64px;border-radius:50%;background:rgba(43,182,115,.14); color:var(--run); display:grid;place-items:center; font-size:34px; margin:0 auto 20px; }
.form-success h3 { color:var(--navy); }
.form-success p { color:var(--muted); margin-top:12px; font-size:15px; }
@media (max-width:820px){ .contact-grid{ grid-template-columns:1fr; gap:32px; } }
@media (max-width:520px){ .frow{ grid-template-columns:1fr; } }

/* ── ABOUT ────────────────────────────────── */
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.value { padding:24px; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; }
.value .vi { font-size:26px; color:var(--accent); margin-bottom:16px; }
.value h3 { font-family:var(--body); font-weight:600; text-transform:none; letter-spacing:0; font-size:17px; color:var(--ink); }
.value p { font-size:14px; color:var(--muted); margin-top:8px; line-height:1.6; }
@media (max-width:760px){ .value-grid{ grid-template-columns:1fr; } }

/* ── TESTIMONIAL ──────────────────────────── */
.testi-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; margin-top:8px; }
.testimonial { max-width:none; margin:0; text-align:left; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px; box-shadow:var(--shadow); display:flex; flex-direction:column; }
.testimonial .by { margin-top:auto; }
@media (max-width:860px){ .testi-grid{ grid-template-columns:1fr; } }
.trating { display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.trating .stars { display:inline-flex; gap:2px; color:#f0a91b; font-size:17px; }
.trating .rscore { font:600 13px/1.1 var(--mono); color:var(--navy); letter-spacing:0; }
.tpoints { list-style:none; margin:0; display:flex; flex-direction:column; gap:12px; }
.tpoints li { display:flex; gap:12px; font-size:14.5px; color:var(--muted); line-height:1.55; }
.tpoints li i { color:var(--run); font-size:18px; flex-shrink:0; margin-top:1px; }
.testimonial .tq { font-size:30px; color:var(--accent); line-height:1.1; }
.testimonial p { font-size:16px; color:var(--ink); line-height:1.6; margin-top:16px; text-wrap:pretty; }
.testimonial p:first-of-type { margin-top:20px; }
.testimonial .tlead { font-size:21px; line-height:1.6; color:var(--navy); font-weight:500; }
.testimonial .tfull[hidden] { display:none; }
.testimonial .tfull p:first-child { margin-top:0; }
.testimonial .by { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:20px; border-top:1px solid var(--line); }
.testimonial .by .tmore { margin-left:auto; background:none; border:none; cursor:pointer; font:600 13px/1.1 var(--body); color:var(--accent); display:inline-flex; align-items:center; gap:8px; padding:8px 4px; }
.testimonial .by .tmore i {  }
.testimonial .by .tmore.open i { transform:rotate(180deg); }
@media (max-width:520px){ .testimonial .tlead{ font-size:18px; } .testimonial .by{ flex-wrap:wrap; } .testimonial .by .tmore{ margin-left:56px; } }
.testimonial .by .av { width:46px; height:46px; border-radius:50%; background:var(--navy); color:#fff; display:grid; place-items:center; font:600 17px/1.1 var(--display); flex-shrink:0; }
.testimonial .by .nm { font:600 15px/1.2 var(--body); color:var(--ink); }
.testimonial .by .co { font:500 13px/1.1 var(--mono); color:var(--muted); margin-top:4px; }

.how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px; }
.how { position:relative; padding:24px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--paper); }
.how .hn { font:600 30px/1.1 var(--display); color:var(--accent); opacity:.85; }
.how h3 { font-family:var(--body); font-weight:600; text-transform:none; letter-spacing:0; font-size:15.5px; color:var(--ink); margin-top:12px; }
.how p { font-size:13px; color:var(--muted); margin-top:8px; line-height:1.55; }
@media (max-width:820px){ .how-grid{ grid-template-columns:1fr 1fr; } }

/* ── SAMPLE REPORT CARD ───────────────────── */
.report-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow); overflow:hidden; }
.report-hd { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line); background:var(--paper); }
.report-hd .di { width:40px;height:40px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:20px;flex-shrink:0; }
.report-hd .ht { flex:1; min-width:0; }
.report-hd .ht .t { font:600 14px/1.2 var(--body); color:var(--ink); }
.report-hd .ht .s { font:500 12px/1.3 var(--mono); color:var(--muted); margin-top:4px; }
.report-hd .pdftag { font:600 12px/1.1 var(--mono); letter-spacing:0; color:var(--red-dark); background:var(--red-soft); padding:8px 8px; border-radius:5px; flex-shrink:0; }
.report-bd { padding:20px; }
.report-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.report-summary { display:flex; flex-direction:column; gap:8px; }
.rsum { display:flex; align-items:center; gap:16px; border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 16px; background:var(--paper); }
.rsum .rk { width:104px; flex-shrink:0; font:600 12px/1.2 var(--body); color:var(--accent); }
.rsum .rk small { color:var(--muted); font-weight:600; font-size:12px; }
.rsum .rmma { flex:1; display:flex; justify-content:space-between; gap:8px; }
.rsum .rmma span { flex:1; text-align:center; display:flex; flex-direction:column-reverse; gap:4px; font:600 12px/1.1 var(--mono); letter-spacing:0; color:var(--muted); }
.rsum .rmma b { font:600 17px/1.1 var(--display); color:var(--navy); letter-spacing:0; }
@media (max-width:540px){ .report-summary{ gap:8px; } }
.rstat { border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 12px; text-align:center; }
.rstat .k { font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--muted); }
.rstat .v { font:600 26px/1.1 var(--display); color:var(--navy); margin-top:8px; }
.rstat .v small{ font-size:12px;color:var(--muted);font-family:var(--mono);font-weight:500;margin-left:2px; }
.rstat .mm { font:500 12px/1.1 var(--mono); color:var(--muted); margin-top:8px; }
.report-chart { margin-top:16px; border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 16px; }
.report-chart .ct { font:600 12px/1.1 var(--mono); letter-spacing:0;  color:var(--muted); margin-bottom:8px; display:flex; justify-content:space-between; }
.report-chart svg { width:100%; height:74px; display:block; }
.report-shot { margin-top:16px; border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden; }
.report-shot img { width:100%; height:auto; display:block; }
.report-ft { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-top:1px solid var(--line); background:var(--paper); }
.report-ft .meta { font:500 12px/1.4 var(--mono); color:var(--muted); }
.report-ft .pages { font:600 12px/1.1 var(--mono); color:var(--navy); }
.report-caps { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0 24px; max-width:440px; }
.report-caps .rcap { display:flex; align-items:center; gap:8px; font:600 13.5px/1.2 var(--body); color:var(--ink); }
.report-caps .rcap i { font-size:18px; color:var(--accent); flex-shrink:0; }
@media (max-width:520px){ .report-caps{ grid-template-columns:1fr; gap:12px; } }



  /* single-page: anchor offset under sticky nav */
  section[id]{ scroll-margin-top:80px; }
  #top{ scroll-margin-top:0; }
  /* Scroll progress bar */
  #gt-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 999;
    background: linear-gradient(90deg, var(--red-dark), var(--red)); box-shadow: 0 0 10px rgba(236,50,55,0.5);  }


/* ============================================================
   GEO-TRAC — dashboard guide section (job-based dashboard)
   ============================================================ */
.beat{background-color:var(--navy-deep);background-repeat:repeat-x;background-size:auto 100%;opacity:.55;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 72' preserveAspectRatio='none'%3E%3Cpath d='M0 46 H190 L206 46 L222 12 L242 66 L258 30 L270 46 H600' fill='none' stroke='white' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E")}
.beat.on{background-color:#15803d;opacity:1}
.beat.overlay{position:absolute;border-radius:0 0 6px 6px;pointer-events:none}
.dg-pulse{max-width:760px;margin:0 auto 32px;background:var(--navy-deep);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-lg)}
.dg-pulse-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.dg-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#15803d;color:#fff;font:600 12px/1.1 var(--mono);letter-spacing:0}
.dg-pill i{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.6s ease-in-out infinite}
.dg-pill.off{background:var(--red-dark)}.dg-pill.off i{opacity:.6}
.dg-toggle{margin-left:auto;display:inline-flex;border:1px solid rgba(255,255,255,.22);border-radius:9px;overflow:hidden}
.dg-toggle button{background:transparent;color:var(--on-navy-soft);border:0;padding:8px 16px;font:600 13px/1.1 var(--body);cursor:pointer}
.dg-toggle button.act{background:#fff;color:var(--ink)}
.dg-demo{position:relative;height:44px;border-radius:9px}
.dg-demo:not(.on){background-color:#3a4766}
.dg-pulse p{color:var(--on-navy-soft);font-size:14px;line-height:1.6;margin:16px 0 0}
.dg-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}
.dg-tab{display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;padding:16px 16px;border-radius:var(--r);border:1px solid var(--line);background:#fff;color:var(--muted);}
.dg-tab i{font-size:22px;color:var(--navy)}
.dg-tab b{display:block;font:600 15px/1.2 var(--body);color:var(--ink)}
.dg-tab small{display:block;font:500 12px/1.3 var(--body);margin-top:3px}
.dg-tab:hover{border-color:rgba(24,45,94,.3)}
.dg-tab.active{background:var(--navy);border-color:var(--navy);color:var(--on-navy-soft)}
.dg-tab.active b{color:#fff}.dg-tab.active i{color:#fff}
.dg-pane[hidden]{display:none}
.dg-lede{font-size:16px;color:var(--muted);margin:0 0 20px;max-width:720px}
.dg-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.dg-frame{box-shadow:var(--shadow-lg)}
.dg-shot{position:relative;margin:0;background:#fff;line-height:1.1}
.dg-shot img{display:block;width:100%;height:auto}
.dg-shot .mk{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--red);color:#fff;border:2px solid #fff;font:600 13px/1.1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.3);padding:0}
.dg-shot .mk:hover,.dg-shot .mk.hl{transform:scale(1.3);z-index:2}
.dg-legend{list-style:none;display:flex;flex-direction:column;gap:4px}
.dg-legend li{display:flex;gap:12px;padding:8px 12px;border-radius:10px;}
.dg-legend li.hl{background:var(--red-soft)}
.dg-legend .num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font:600 13px/1.1 var(--body);margin-top:1px}
.dg-legend b{font:600 15px/1.3 var(--body);color:var(--ink)}
.dg-legend p{margin:3px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
.dg-every{margin-top:56px;padding-top:48px;border-top:1px solid var(--line)}
.dg-every-head .h3{color:var(--navy);margin-top:12px;max-width:640px}
.dg-every-grid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:40px;align-items:start;margin-top:24px}
.dg-every-shots img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:16px}
.dg-feats{list-style:none;display:flex;flex-direction:column;gap:20px}
.dg-feats li{display:flex;gap:16px}
.dg-feats .n{flex:none;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font:600 17px/1.1 var(--display)}
.dg-feats h4{font:600 17px/1.3 var(--body);color:var(--ink)}
.dg-feats p{font-size:14.5px;color:var(--muted);margin-top:4px;line-height:1.6}
@media (max-width:1000px){.dg-grid,.dg-every-grid{grid-template-columns:1fr}.dg-every-shots{max-width:480px}}
@media (max-width:720px){.dg-tabs{grid-template-columns:1fr 1fr}.dg-shot .mk{width:22px;height:22px;margin:-11px 0 0 -11px;font-size:12px}}
@media (max-width:420px){.dg-tabs{grid-template-columns:1fr}}


.cmp-yes{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1f9d57;color:#fff;box-shadow:0 2px 6px rgba(31,157,87,.35)}
.cmp td.cmp-us .cmp-yes{width:34px;height:34px;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.16),0 3px 8px rgba(22,163,74,.4)}
.cmp-no{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef1f6;color:#a9b3c6}

@font-face{font-family:"tabler-icons";font-style:normal;font-weight:400;font-display:block;src:url(/assets/tabler-icons.woff) format("woff")}.ti{font-family:"tabler-icons"!important;speak:none;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.ti-activity:before{content:"\ed23"}.ti-alert-triangle:before{content:"\ea06"}.ti-arrow-right:before{content:"\ea1f"}.ti-arrow-up:before{content:"\ea25"}.ti-bell-ringing:before{content:"\ed07"}.ti-brand-linkedin:before{content:"\ec8c"}.ti-broadcast:before{content:"\f1e9"}.ti-building-warehouse:before{content:"\ebe3"}.ti-calendar:before{content:"\ea53"}.ti-cash:before{content:"\ea55"}.ti-chart-dots:before{content:"\ee2f"}.ti-check:before{content:"\ea5e"}.ti-chevron-down:before{content:"\ea5f"}.ti-circle-check:before{content:"\ea67"}.ti-clipboard-list:before{content:"\ea6d"}.ti-clock:before{content:"\ea70"}.ti-clock-dollar:before{content:"\f846"}.ti-clock-hour-9:before{content:"\f31e"}.ti-clock-x:before{content:"\f7cb"}.ti-crane:before{content:"\ef27"}.ti-current-location:before{content:"\ecef"}.ti-database-export:before{content:"\ee6e"}.ti-droplet:before{content:"\ea97"}.ti-droplet-half-2:before{content:"\ee81"}.ti-file-analytics:before{content:"\ede7"}.ti-file-invoice:before{content:"\eb67"}.ti-file-report:before{content:"\eded"}.ti-file-text:before{content:"\eaa2"}.ti-file-x:before{content:"\eaa3"}.ti-gauge:before{content:"\eab1"}.ti-headset:before{content:"\eb90"}.ti-history:before{content:"\ebea"}.ti-layers-subtract:before{content:"\eaca"}.ti-layout-dashboard:before{content:"\f02c"}.ti-lock:before{content:"\eae2"}.ti-mail:before{content:"\eae5"}.ti-map-pin:before{content:"\eae8"}.ti-map-pin-off:before{content:"\ecf3"}.ti-menu-2:before{content:"\ec42"}.ti-minus:before{content:"\eaf2"}.ti-phone:before{content:"\eb09"}.ti-plug-connected:before{content:"\f00a"}.ti-plus:before{content:"\eb0b"}.ti-puzzle:before{content:"\eb10"}.ti-quote:before{content:"\efbe"}.ti-report-off:before{content:"\f18f"}.ti-rocket:before{content:"\ec45"}.ti-router:before{content:"\eb18"}.ti-send:before{content:"\eb1e"}.ti-shield-check:before{content:"\eb22"}.ti-snowflake:before{content:"\ec0b"}.ti-star-filled:before{content:"\f6a6"}.ti-temperature:before{content:"\eb38"}.ti-trending-down:before{content:"\eb42"}.ti-trending-up:before{content:"\eb43"}.ti-truck:before{content:"\ebc4"}.ti-wind:before{content:"\ec34"}

/* ============================================================
   DESIGN PASS — type, spacing, motion, restraint
   weights 400/500/600 · sizes 12/14/16+ · 4/8pt spacing · motion 100-300ms
   ============================================================ */
:root{--motion-100:100ms;--motion-150:150ms;--motion-200:200ms;--motion-300:300ms;--prose:70ch}
b,strong{font-weight:600}
body{font-size:16px;line-height:1.6}
h1,h2,h3{font-weight:600;line-height:1.15;letter-spacing:0;text-wrap:balance}
.hero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.1;letter-spacing:-.01em}
.h2{font-size:clamp(30px,3.4vw,44px)}
h2.h2{letter-spacing:-.01em}
.lede{max-width:var(--prose);line-height:1.6}
.sec-head h2{margin-top:0}
.sec-head.center .lede{margin-left:auto;margin-right:auto}
.pain p,.feat p,.how p,.value p,.fitp p,.need-list li,.frow-item .fd,.cmp-note,.roi-disclaimer,.footer p.blurb,.dg-legend p,.ind-card p,.need > p{font-size:14px;line-height:1.6}
.story-block p,.cs-copy > p{font-size:16px;line-height:1.6;max-width:var(--prose)}
.testimonial p{line-height:1.6}.testimonial .tlead{font-size:20px;line-height:1.5}
.section{padding:80px 0}.section-sm{padding:48px 0}
@media (max-width:720px){.section{padding:48px 0}}

/* restraint: remove decoration whose only job was decoration */
.hero::before,.hero::after,.footer::before,.need-both::after,.roi-results::before,
.industries::before,.industries::after,.ctaband::before{display:none}
.hero{background:var(--navy)}
.ctaband{background:var(--navy-deep)}
.industries{background:var(--navy)}
.nav{background:#fff}
.hero-badge{background:none;border:0;padding:0;border-radius:0;color:var(--on-navy-soft);font:500 14px/1.4 var(--body);margin-bottom:16px;letter-spacing:0}
.hero-copy .lede{margin-top:16px}
.cmp .lim{background:none;border:0;border-radius:0;padding:0;font:500 14px/1.4 var(--body);color:var(--muted)}
.cmp-tag{background:none;padding:0;margin-left:8px;border-radius:0;font:500 12px/1.4 var(--body);color:var(--accent-dark)}
.report-hd .pdftag{background:none;padding:0;color:var(--red-dark);font:600 12px/1 var(--body)}
.feat:hover,.need:hover,.pain:hover,.ind-card:hover{transform:none!important}
.feat:hover,.need:hover{box-shadow:none}
.roi-inputs,.form,.testimonial,.cmp-wrap,.report-card{box-shadow:none}
.feat .fl i,.ind-card:hover .ind-link i{transform:none}
.need::before{display:none}
.need:hover,.feat:hover,.pain:hover{border-color:var(--navy)}

/* motion: one orchestrated entrance, nothing scroll-triggered */
.reveal,.reveal .feat-grid > *,.reveal .pain-grid > *,.reveal .ind-cards > *,.reveal .how-grid > *,.reveal .testi-grid > *{opacity:1!important;transform:none!important}
@keyframes heroIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero .hero-copy>*{opacity:1;animation:none}
.hero .hero-copy,.hero .hero-visual{opacity:1;animation:heroIn var(--motion-300) cubic-bezier(.16,1,.3,1) both}
.btn{transition:transform var(--motion-100) cubic-bezier(.16,1,.3,1)}
.btn:active{transform:scale(.98)}
.testimonial .by .tmore i{transition:transform var(--motion-150) cubic-bezier(.16,1,.3,1)}
.cs-dot,.pulse{animation-duration:2s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media (max-width:860px){.nav-toggle{min-width:44px;min-height:44px}.btn{min-height:44px}.dg-tab{min-height:48px}.nav-mobile a{padding:16px 4px}}

/* hero pulse (replaces the generic stat tiles) */
.hero .dg-pulse{max-width:none;margin:0;border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0;box-shadow:none;background:transparent;padding:16px}
.hero .dg-pulse-top{margin-bottom:12px}
.hero .dg-pulse p{margin-top:12px}
/* guide section: calmer frames */
.dg-pulse{box-shadow:none}
.dg-frame,.gt-dash{box-shadow:none;border:1px solid var(--line)}
.hero .gt-dash{border-color:rgba(255,255,255,.14)}
.dg-tab{border-radius:8px}
.dg-tab.active{box-shadow:none}
.dg-feats .n,.dg-legend .num{font-weight:600}


@media (max-width:880px){.feat-grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:560px){.feat-grid,.value-grid{grid-template-columns:1fr!important}}

.hero-scale{margin-top:16px;font:500 14px/1.5 var(--body);color:var(--on-navy-soft)}

/* contrast: form note, buttons, small red-on-white and white-on-red text */
.ctaband .form p.form-note,.ctaband .form .form-success p{max-width:none;margin:8px 0 0;color:var(--muted);font:400 14px/1.5 var(--body)}
.ctaband .form .form-success p{margin-top:8px;font-size:16px}
.form-error{margin:0 0 16px;padding:12px 16px;border:1px solid #c41f24;border-radius:8px;background:#fdeeee;color:#7a1015;font:500 14px/1.5 var(--body)}
.form-error a{color:#7a1015;font-weight:600}
.ctaband .form .form-error{max-width:none;color:#7a1015;margin:0 0 16px}
.btn-primary{background:#c41f24}.btn-primary:hover{background:#a3161b}
.btn:disabled{opacity:.7;cursor:progress}
.need-ribbon,.dg-legend .num,.dg-shot .mk,.dg-feats .n{background:#c41f24}
.form-toggle,.testimonial .by .tmore,.rsum .rk,.feat .fl,.field label .req,.field .msg,.report-hd .pdftag,.cmp-tag{color:#c41f24}
.field.err input,.field.err select,.field.err textarea{border-color:#c41f24}
/* leftovers: industries grid, testimonials, ROI card */
.ind-cards{grid-template-columns:repeat(6,1fr)}
.ind-cards .ind-card{grid-column:span 2}
.ind-cards .ind-card:nth-child(4),.ind-cards .ind-card:nth-child(5){grid-column:span 3}
@media (max-width:900px){.ind-cards{grid-template-columns:1fr 1fr}.ind-cards .ind-card,.ind-cards .ind-card:nth-child(4){grid-column:auto}.ind-cards .ind-card:nth-child(5){grid-column:1 / -1}}
@media (max-width:560px){.ind-cards{grid-template-columns:1fr}.ind-cards .ind-card:nth-child(5){grid-column:auto}}
.testi-grid{margin-top:40px}
.testimonial .tlead{margin-bottom:24px}
.testimonial .tfull{margin-bottom:24px}
.roi-inputs{justify-content:space-between;gap:24px}


.hero-trust{color:var(--on-navy-soft)}
.nav-links a.active{color:#c41f24}
@media (max-width:640px){.hero-trust .sep{display:none}.hero-trust{gap:8px 16px}}

.hero{background-color:#0a1733;background-image:radial-gradient(rgba(174,191,224,.16) 1px,transparent 1.5px);background-size:28px 28px;border-bottom:1px solid var(--on-navy-line)} .hero-grid{grid-template-columns:1fr;gap:40px;padding-top:56px;padding-bottom:64px;justify-items:center;text-align:center} .hero-grid{padding-left:20px;padding-right:20px} .hero-copy{max-width:900px} .hero h1{font-size:clamp(36px,4.6vw,58px)} .hero .lede{margin:16px auto 24px;max-width:640px;font-size:18px} .hero-btns,.hero-trust{justify-content:center} .hero-scale{margin-top:16px;color:#fff;font:500 16px/1.5 var(--body)} .hero-visual{width:100%;max-width:980px} .hero-visual .gt-dash{border:1px solid rgba(174,191,224,.28);box-shadow:0 0 0 8px rgba(24,45,94,.55),0 40px 80px rgba(0,0,0,.45)} #demo{background:#0a1733;border-color:var(--on-navy-line)} #demo .h2,#demo .dg-every-head .h3{color:#fff} #demo .lede,#demo .dg-lede,#demo .dg-legend p,#demo .dg-feats p{color:var(--on-navy-soft)} #demo .dg-legend b,#demo .dg-feats h4{color:#fff} #demo .dg-tabs{gap:16px} #demo .dg-tab{background:#12264f;border-color:rgba(174,191,224,.2)} #demo .dg-tab:nth-child(2){background:#10294f} #demo .dg-tab:nth-child(3){background:#142a58} #demo .dg-tab:nth-child(4){background:#17274d} #demo .dg-tab b{color:#fff} #demo .dg-tab small,#demo .dg-tab i{color:var(--on-navy-soft)} #demo .dg-tab:hover{border-color:rgba(174,191,224,.5)} #demo .dg-tab.active{background:#2a4d9e;border-color:#8fb0f0} #demo .dg-tab.active small,#demo .dg-tab.active i{color:#fff} #demo .dg-legend li.hl{background:rgba(255,255,255,.08)} #demo .dg-every{border-top-color:var(--on-navy-line)} #demo .dg-every-shots img{border-color:rgba(174,191,224,.25)} @media (max-width:640px){.hero-badge{justify-content:center}.hero-grid{padding-top:40px;padding-bottom:48px;gap:32px}}
.dg-hint{display:flex;align-items:center;justify-content:center;gap:12px;max-width:760px;margin:0 auto 24px;font:600 20px/1.4 var(--body);color:var(--ink);text-align:left}.dg-hint-n{flex:none;width:28px;height:28px;border-radius:50%;background:#c41f24;color:#fff;border:2px solid #fff;display:grid;place-items:center;font:600 13px/1 Arial,sans-serif}#demo .dg-hint{color:#fff}.dg-shot .mk::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #c41f24;opacity:0;animation:mkring 2.4s ease-out infinite;pointer-events:none}.dg-shot .mk:hover::after,.dg-shot .mk.hl::after{animation:none}@keyframes mkring{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(1.9);opacity:0}}@media (prefers-reduced-motion:reduce){.dg-shot .mk::after{animation:none}}@media (max-width:640px){.dg-hint{font-size:17px;align-items:flex-start}}
.dg-tab small{font-size:13px}

.ind-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font:600 14px/1.2 var(--body);color:var(--accent-dark);text-decoration:none}
.ind-more:hover{text-decoration:underline}
.industries .ind-more,.cs-copy .ind-more{color:#ff8a8d}
.form-note a,.footer-bot p a{color:inherit;text-decoration:underline}
.page-hero .hero-grid{padding-top:48px;padding-bottom:56px}
.page-hero .hero-copy{max-width:820px}
.page-hero .hero-copy>*{opacity:1}
.crumbs{font:500 13px/1.4 var(--body);color:var(--on-navy-soft);margin-bottom:18px}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.page-cta{background:var(--navy-darker);text-align:center}
.page-cta .h2{color:#fff}
.page-cta .lede{color:var(--on-navy-soft);max-width:620px;margin:16px auto 28px}
.page-cta .hero-btns{justify-content:center}
.related{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:28px;font:500 14px/1.4 var(--body);color:var(--on-navy-soft)}
.related a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.related a:hover{border-color:#fff}
.page-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:840px){.page-split{grid-template-columns:1fr;gap:32px}}
.page-split img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:var(--shadow)}
.prose{max-width:760px;margin:0 auto}
.prose h1{font:600 clamp(32px,4vw,46px)/1.15 var(--display);color:var(--navy);margin-bottom:8px}
.prose .updated{color:var(--muted);font:500 14px/1.4 var(--body);margin-bottom:28px}
.prose h2{font:600 22px/1.3 var(--body);color:var(--navy);margin:36px 0 10px;text-transform:none;letter-spacing:0}
.prose p,.prose li{font:400 16px/1.7 var(--body);color:var(--ink)}
.prose p{margin:0 0 14px}
.prose ul{margin:6px 0 16px 22px}
.prose a{color:var(--accent-dark)}
