/* =========================================================================
   Mission landing page (/mission/) - loaded by that page only (front matter `pageStyles`).
   Every rule is scoped to ms- classes and reuses the Geospatial tokens in main.css (palette,
   spacing, radii, shadows, --content-max and --gutter). No new colours, no new container width.
   Breakpoints follow main.css: 1180, 1024, 900, 600 and 400px.
   ========================================================================= */

#platform{scroll-margin-top:calc(var(--header-h) + var(--space-4))}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ms-hero .btn,.ms-cta .btn{transition:none}
  .ms-hero .btn:hover,.ms-cta .btn:hover{transform:none}
}

.ms-section{padding-block:var(--section-pad-lg)}
.ms-section--muted{background:var(--bg);border-block:1px solid var(--line)}
.ms-section h2,.ms-cta h2{font-size:clamp(24px,2.3vw,32px);font-weight:700;letter-spacing:-.022em;line-height:1.2;margin:0 0 var(--space-4);text-wrap:balance}
.ms-section h3{font-size:16.5px;font-weight:650;letter-spacing:-.01em;line-height:1.3;margin:0 0 var(--space-2);color:var(--navy)}
.ms-section p{font-size:15px;line-height:1.6;color:#3f5373;margin:0 0 var(--space-4)}
.ms-head{max-width:760px;margin-bottom:var(--space-7)}
.ms-head p:last-child{margin-bottom:0}
.ms-note{font-size:13.5px !important;line-height:1.55 !important;color:var(--slate) !important;margin:var(--space-5) 0 0 !important;max-width:820px}
ol.ms-steps,ol.ms-layers,ol.ms-journey,ol.ms-roadmap{list-style:none;margin:0;padding:0}   /* main.css resets ul only */
.ms-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--light);color:var(--blue);display:grid;place-items:center;flex:none}
.ms-icon svg{width:22px;height:22px}

/* ---------- Hero: copy on the left, the photograph fills the right half to the window edge ---------- */
.ms-hero{position:relative;isolation:isolate;background:linear-gradient(105deg,#fafcff 0%,#eff5fd 60%,#e4effc 100%);border-bottom:1px solid var(--line)}
.ms-hero__inner{min-height:540px;display:flex;align-items:center;padding-block:var(--space-9)}
.ms-hero__copy{width:calc(50% - var(--space-8));max-width:600px}
.ms-hero__media{position:absolute;inset:0 0 0 50%;background:var(--light)}
.ms-hero__media picture,.ms-hero__media img{display:block;width:100%;height:100%}
/* The drone sits upper left of centre and the base station far left: keep both in frame. */
.ms-hero__media img{object-fit:cover;object-position:22% 30%}
.ms-hero__eyebrow{letter-spacing:.2em;margin-bottom:var(--space-4)}
.ms-status{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 var(--space-5);padding:7px 14px 7px 12px;
  border-radius:100px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;
}
.ms-status__dot{width:8px;height:8px;border-radius:50%;background:#5ea2ff;box-shadow:0 0 0 3px rgba(94,162,255,.28);flex:none}
.ms-hero h1{font-size:clamp(34px,3.7vw,52px);font-weight:700;letter-spacing:-.032em;line-height:1.06;margin:0;color:var(--navy);text-wrap:balance}
.ms-hero__statement{text-wrap:balance;margin:var(--space-4) 0 0;font-size:clamp(17px,1.4vw,20px);font-weight:600;line-height:1.4;letter-spacing:-.01em;color:var(--blue-dark)}
.ms-hero__summary{margin:var(--space-4) 0 var(--space-6);font-size:16px;line-height:1.6;color:#3f5373;max-width:540px}

/* ---------- Launch facts strip ---------- */
.ms-facts{background:#fff;border-bottom:1px solid var(--line);padding-block:var(--space-6)}
.ms-facts__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ms-facts__list li{display:flex;gap:var(--space-3);align-items:flex-start;padding:2px var(--space-6);border-left:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--slate)}
.ms-facts__list li:first-child{border-left:0;padding-left:0}
.ms-facts__list svg{width:22px;height:22px;color:var(--blue);flex:none;margin-top:1px}
.ms-facts__list strong{display:block;font-size:14px;font-weight:650;color:var(--navy);margin-bottom:2px}

/* ---------- Why Mission exists ---------- */
.ms-why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start}
.ms-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--card-gap)}
.ms-pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-sm)}
.ms-pillar .ms-icon{margin-bottom:var(--space-4)}
.ms-pillar p{font-size:14px;margin:0}

/* ---------- Two sides of the platform ---------- */
.ms-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.ms-side{display:flex;flex-direction:column;border-radius:var(--radius-lg);padding:var(--space-8)}
.ms-side h2{font-size:clamp(22px,2vw,28px)}
.ms-side--pilots{background:var(--navy);color:#fff}
.ms-side--pilots h2{color:#fff}
.ms-side--pilots p{color:#d3e2f7}
.ms-side--pilots .hp-eyebrow{color:#8fc0ff}
.ms-side--orgs{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.ms-steps{counter-reset:ms-step;display:grid;gap:var(--space-3)}
ol.ms-steps{margin:var(--space-2) 0 var(--space-6)}
.ms-steps li{counter-increment:ms-step;display:flex;gap:var(--space-3);align-items:flex-start;font-size:14.5px;line-height:1.5;color:#fff}
.ms-steps li::before{content:counter(ms-step);flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(143,192,255,.7);color:#bcd9ff;display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:-1px}
.ms-checks{display:grid;gap:10px;margin:var(--space-2) 0 var(--space-6)}
.ms-checks li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--navy)}
.ms-checks svg{width:16px;height:16px;color:var(--blue);flex:none;margin-top:3px;stroke-width:2.6}
.ms-side__note{display:flex;gap:var(--space-3);align-items:flex-start;margin:auto 0 0 !important;padding-top:var(--space-5);border-top:1px solid var(--line);font-size:13.5px !important;line-height:1.55 !important}
.ms-side__note svg{width:18px;height:18px;flex:none;margin-top:2px}
.ms-side--pilots .ms-side__note{border-top-color:rgba(255,255,255,.16);color:#d3e2f7}
.ms-side--pilots .ms-side__note svg{color:#8fc0ff}
.ms-side--orgs .ms-side__note{color:var(--slate)}
.ms-side--orgs .ms-side__note svg{color:var(--blue)}

/* ---------- Professional foundation ---------- */
.ms-foundation{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:center}
.ms-compare{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff}
.ms-compare table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.ms-compare th,.ms-compare td{padding:14px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.ms-compare thead th,.ms-compare thead td{border-top:0;background:var(--bg);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.ms-compare thead th:last-child{color:var(--blue-dark)}
.ms-compare tbody th{width:22%;font-size:13px;font-weight:650;color:var(--navy)}
.ms-compare td{color:#3f5373}
.ms-compare td:last-child{background:#f7fbff;color:var(--navy)}
.ms-disclaimer{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-7) 0 0 !important;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:#eef6ff;border:1px solid #bcdcff;color:#0a3a78 !important;font-size:14px !important}
.ms-disclaimer svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--blue)}

/* ---------- Verification layers ---------- */
.ms-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}
.ms-layer{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6) var(--space-6) var(--space-5) 72px;min-height:118px}
.ms-layer__n{position:absolute;left:var(--space-6);top:var(--space-6);width:32px;height:32px;border-radius:50%;background:var(--light);color:var(--blue-dark);display:grid;place-items:center;font-size:14px;font-weight:700}
.ms-layer p{font-size:14px;margin:0}
.ms-guardrails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--line)}
.ms-guardrails li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:13.5px;line-height:1.55;color:#3f5373}
.ms-guardrails svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--blue)}

/* ---------- Discover > Verify > Qualify > Connect > Coordinate ---------- */
.ms-journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-5);position:relative}
.ms-journey__step{position:relative;padding-top:var(--space-1)}
/* Connector from each step's icon to the next one. */
.ms-journey__step:not(:last-child)::after{content:"";position:absolute;top:30px;left:72px;right:calc(-1 * var(--space-5) + 12px);height:2px;background:linear-gradient(90deg,var(--blue) 0,#b9d4f7 100%);border-radius:2px}
.ms-journey__icon{width:56px;height:56px;border-radius:50%;background:#fff;border:1.5px solid #bcd5f5;color:var(--blue);display:grid;place-items:center;margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}
.ms-journey__icon svg{width:24px;height:24px}
.ms-journey__step:first-child .ms-journey__icon{background:var(--blue);border-color:var(--blue);color:#fff}
.ms-journey h3{font-size:18px}
.ms-journey p{font-size:14px;margin:0}

/* ---------- Applications and industries ---------- */
.ms-sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--card-gap)}
.ms-sectors--compact{margin-top:var(--card-gap)}
.ms-sector{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}
.ms-sector__media{aspect-ratio:16/10;background:var(--light);overflow:hidden}
.ms-sector__media picture,.ms-sector__media img{display:block;width:100%;height:100%}
.ms-sector__media img{object-fit:cover}
.ms-sector__body{display:flex;flex-direction:column;flex:1;padding:var(--space-5)}
.ms-sector__body>p:not(.ms-needs){font-size:14px;margin:0 0 var(--space-4)}
.ms-sector--tile{flex-direction:row;gap:var(--space-4);padding:var(--space-5)}
.ms-sector--tile .ms-sector__body{padding:0}
.ms-needs{margin:auto 0 0 !important;padding-top:var(--space-3);border-top:1px solid var(--line);font-size:13px !important;line-height:1.5 !important;color:var(--slate) !important}
.ms-needs span{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dark);margin-bottom:2px}

/* ---------- Launch roadmap ---------- */
.ms-roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--card-gap)}
.ms-phase{position:relative;background:#fff;border:1px solid var(--line);border-top:4px solid #c9dbf1;border-radius:var(--radius-md);padding:var(--space-5) var(--space-6) var(--space-6)}
.ms-phase--current{border-top-color:var(--blue);box-shadow:var(--shadow)}
.ms-phase__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0 0 var(--space-3) !important;font-size:12px !important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate) !important}
.ms-phase__status{padding:4px 10px;border-radius:100px;background:var(--bg);border:1px solid var(--line);font-size:11px;letter-spacing:.08em;color:#4a5d78}
.ms-phase--current .ms-phase__status{background:var(--blue);border-color:var(--blue);color:#fff}
.ms-phase h3{font-size:17px}
.ms-phase p:last-child{font-size:14px;margin:0}

/* ---------- Closing call to action ---------- */
.finalcta.ms-cta{color:var(--navy);padding-block:var(--space-10);background:linear-gradient(105deg,#f7fafe 0%,#eaf3fe 52%,#d7e8fa 100%);border-top:1px solid var(--line)}
.finalcta.ms-cta .wrap.ms-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-8);align-items:center}
.ms-cta h2{margin:0 0 var(--space-3)}
.finalcta.ms-cta p:not(.hp-eyebrow){color:#3f5373;font-size:16px;line-height:1.55;margin:0;max-width:620px}
.finalcta.ms-cta .ms-cta__status{margin-top:var(--space-3);font-weight:700;color:var(--navy);letter-spacing:.02em}
.finalcta.ms-cta .hp-eyebrow{margin-bottom:var(--space-2);color:var(--blue-dark)}   /* beats .finalcta p */

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .ms-facts__list li{padding-inline:var(--space-4)}
  .ms-journey{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}
  .ms-journey__step:not(:last-child)::after{right:calc(-1 * var(--space-4) + 10px)}
}
@media(max-width:1024px){
  .ms-hero__inner{min-height:500px}
  .ms-facts__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) 0}
  .ms-facts__list li:nth-child(odd){border-left:0;padding-left:0}
  .ms-why,.ms-foundation{grid-template-columns:1fr}
  .ms-sides{grid-template-columns:1fr}
  .ms-layers,.ms-guardrails{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ms-sectors,.ms-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Vertical journey: the connector runs down the left, through the icons. */
  .ms-journey{grid-template-columns:1fr;gap:var(--space-5)}
  .ms-journey__step{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:var(--space-5);padding:0}
  .ms-journey__icon{grid-row:1 / span 2;margin:0}
  .ms-journey h3{align-self:end;margin-top:var(--space-1)}
  .ms-journey__step:not(:last-child)::after{top:56px;bottom:calc(-1 * var(--space-5));left:27px;right:auto;width:2px;height:auto;background:#bcd5f5}
}
@media(max-width:900px){
  .ms-hero{display:flex;flex-direction:column}
  .ms-hero__inner{width:100%;min-height:0;padding-block:var(--space-8) var(--space-7)}
  .ms-hero__copy{width:100%;max-width:640px}
  .ms-hero__media{position:relative;inset:auto;aspect-ratio:16/9}
  .ms-hero__media img{object-position:30% 40%}
}
@media(max-width:600px){
  .ms-section{padding-block:var(--space-9)}
  .ms-head{margin-bottom:var(--space-6)}
  .ms-hero__inner{padding-block:var(--space-7) var(--space-6)}
  .ms-hero__media{aspect-ratio:3/2}
  .ms-hero .hp-actions .btn,.ms-cta .hp-actions .btn{flex:1 1 100%;white-space:normal;text-align:center;padding-block:10px}
  .ms-status{font-size:11.5px}
  .ms-facts__list{grid-template-columns:1fr;gap:var(--space-4)}
  .ms-facts__list li{border-left:0;padding-left:0;padding-right:0}
  .ms-pillars,.ms-layers,.ms-guardrails,.ms-sectors,.ms-roadmap{grid-template-columns:1fr}
  .ms-side{padding:var(--space-6) var(--space-5)}
  .ms-pillar{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:var(--space-4);padding:var(--space-5)}
  .ms-pillar .ms-icon{grid-row:1 / span 2;margin:0}
  .ms-pillar h3{align-self:center;margin:0 0 var(--space-1)}
  .ms-layer{min-height:0;padding-block:var(--space-5)}
  .ms-layer__n{top:var(--space-5)}
  .ms-layer{padding-left:64px}
  .ms-layer__n{left:var(--space-5)}
  /* The comparison table becomes one stacked block per row, each value labelled with its column. */
  .ms-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .ms-compare tr{display:block;padding:var(--space-4) var(--space-5);border-top:1px solid var(--line)}
  .ms-compare tbody tr:first-child{border-top:0}
  .ms-compare th,.ms-compare td{display:block;padding:0;border:0;width:auto}
  .ms-compare tbody th{width:auto;margin-bottom:var(--space-2);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
  .ms-compare td{margin-top:var(--space-2);background:none !important}
  .ms-compare td::before{content:attr(data-col);display:block;font-size:12px;font-weight:650;color:var(--blue-dark)}
  .finalcta.ms-cta{padding-block:var(--space-9)}
  .finalcta.ms-cta .wrap.ms-cta__inner{grid-template-columns:1fr;gap:var(--space-6)}
}
