/* ============================================================
   MISSION GREY · missiongrey.com design system
   Chassis: "The Terminal" (dark instrument register)
   Grafts: the Morning Brief paper artifact · real-product
   window chrome. See site/COMPONENTS.md before building pages.
   Contents:
     01 Fonts          06 Frames (instrument chrome)
     02 Tokens         07 Window (product screenshots)
     03 Base           08 Sheet (paper artifacts)
     04 Utilities      09 Header / nav
     05 Buttons        10 Footer
     11 Page sections (hero, cadence, map, strip, stages,
        duo, caps, trust, net, sectors, proof, name, access)
     12 Responsive     13 Motion
   ============================================================ */

/* ============ 01 FONTS ============ */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/Inter-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/Inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/Inter-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/Inter-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/Inter-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/Inter-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/Inter-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/Inter-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/JetBrainsMono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/JetBrainsMono-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/JetBrainsMono-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/JetBrainsMono-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/SourceSerif4-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/SourceSerif4-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/SourceSerif4-400-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/SourceSerif4-400-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/SourceSerif4-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/SourceSerif4-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/SourceSerif4-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/SourceSerif4-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ============ 02 TOKENS ============ */
:root{
  /* ground */
  --bg:#0A0C10;            /* page ground */
  --bg-1:#0E1116;          /* raised surface, alt bands */
  --bg-2:#12161C;          /* chrome bars, hover surface */
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.15);
  /* ink on dark */
  --ink:#E9EDF1;           /* headings, primary text */
  --ink-body:#B6BEC7;      /* body copy */
  --ink-mute:#8B95A0;      /* secondary copy */
  --ink-dim:#78828F;       /* labels, metadata (smallest legible) */
  /* the signal accent: earns its place, never decorates */
  --signal:#E2A33C;
  --signal-hi:#F0B44E;
  /* the paper object (Morning Brief and other printed artifacts) */
  --paper:#FDFCF8;
  --paper-2:#F4F1E8;
  --paper-ink:#181510;
  --paper-body:#37332A;
  --paper-mute:#635C4E;
  --paper-faint:#6E675A;
  --paper-hair:#D9D2C2;
  --paper-hair-2:#C9C1AE;
  --paper-accent:#8A5710;  /* signal, rendered for paper */
  --paper-dot:#B8821E;
  /* families */
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  /* type scale */
  --fs-hero:clamp(38px,4.6vw,64px);
  --fs-h2:clamp(28px,3.4vw,40px);
  --fs-h3:clamp(24px,2.6vw,31px);
  --fs-lede:clamp(16px,1.5vw,18.5px);
  --fs-body:16px;
  --fs-small:14.5px;
  --fs-label:11px;
  /* spacing and layout */
  --max:1200px;
  --max-nav:1360px;
  --pad:24px;
  --sec-pad:clamp(72px,9vw,120px);
  --head-gap:clamp(36px,5vw,56px);
}

/* ============ 03 BASE ============ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink-body);
  font:400 var(--fs-body)/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:var(--signal);color:#0A0C10}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:#fff}
ul{list-style:none}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:1px}
h1,h2,h3{color:var(--ink);font-weight:600;letter-spacing:-.02em;text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--bg);padding:10px 18px;font:500 13px var(--mono)}
.skip:focus{left:12px;top:12px}

/* ============ 04 UTILITIES ============ */
.mono{font-family:var(--mono)}
/* mono eyebrow: the standard section opener */
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font:500 var(--fs-label)/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);
}
.eyebrow::before{content:"";width:14px;height:1px;background:var(--signal);flex:none}
/* rule label: full-width hairline chapter divider */
.rule-label{
  display:flex;align-items:center;gap:16px;
  font:500 10.5px/1 var(--mono);letter-spacing:.22em;color:var(--ink-dim);text-transform:uppercase;
}
.rule-label::after{content:"";flex:1;height:1px;background:var(--line)}
/* checker micro-mark: 2x2 checkerboard bullet, the logo at its smallest */
.checker{display:inline-block;width:6px;height:6px;background:conic-gradient(var(--signal) 0 25%,transparent 25% 50%,var(--signal) 50% 75%,transparent 75%)}
/* section scaffold */
.sec{padding-block:var(--sec-pad)}
.sec-alt{background:var(--bg-1);border-block:1px solid var(--line)}
.sec-head{display:flex;flex-direction:column;gap:18px;margin-bottom:var(--head-gap);max-width:760px}
.sec-head h2{font-size:var(--fs-h2);line-height:1.12}
.sec-head p{font-size:17px;max-width:640px}
.rule{border:0;border-top:1px solid var(--line)}
/* reveal (JS-gated; page fully visible without JS) */
html.js .reveal{opacity:0;transform:translateY(14px)}
html.js .reveal.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}

/* ============ 05 BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:500 12.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  padding:15px 24px;border-radius:2px;border:1px solid transparent;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
  white-space:nowrap;cursor:pointer;
}
.btn-primary{background:var(--ink);color:#0A0C10}
.btn-primary:hover{background:#fff;color:#000}
.btn-ghost{border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.04);color:#fff}
.btn svg{flex:none}

/* ============ 06 FRAMES: instrument chrome (corner ticks) ============ */
/* For drawn instruments and panels. NEVER for product screenshots. */
.frame{position:relative;border:1px solid var(--line)}
.frame::before,.frame::after,
.frame > .tick::before,.frame > .tick::after{
  content:"";position:absolute;width:9px;height:9px;pointer-events:none;
}
.frame::before{top:-1px;left:-1px;border-top:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.frame::after{top:-1px;right:-1px;border-top:1px solid var(--line-2);border-right:1px solid var(--line-2)}
.frame > .tick::before{bottom:-1px;left:-1px;border-bottom:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.frame > .tick::after{bottom:-1px;right:-1px;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line-2)}
.frame-bar{
  display:flex;align-items:center;justify-content:space-between;gap:4px 16px;flex-wrap:wrap;
  padding:12px 16px;border-bottom:1px solid var(--line);
  font:500 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);
}
.frame-bar span{white-space:nowrap}
.frame-bar .live{display:flex;align-items:center;gap:8px}
.frame-bar .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);animation:blink 2.4s ease-in-out infinite}
.frame-bar .dim{color:var(--ink-dim)}
.frame-legend{
  display:flex;flex-wrap:wrap;align-items:center;gap:22px;
  padding:12px 16px;border-top:1px solid var(--line);
  font:400 10.5px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);
}
.frame-legend .li{display:flex;align-items:center;gap:8px}
.frame-legend .sw{width:7px;height:7px;border-radius:50%;flex:none}
.frame-legend .sw.amber{background:var(--signal)}
.frame-legend .sw.grey{background:#39414C}
.frame-legend .src{margin-left:auto}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

/* ============ 07 WINDOW: real product screenshots only ============ */
/* Browser chrome asserts "this is the product". Never wrap drawn
   graphics or mockups in it. */
.shotfig{margin:0}
.window{
  background:var(--bg-1);border:1px solid var(--line-2);border-radius:6px;overflow:hidden;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.65);
}
.chrome{
  display:flex;align-items:center;gap:7px;height:34px;padding:0 13px;
  background:var(--bg-2);border-bottom:1px solid var(--line);position:relative;
}
.chrome i{width:9px;height:9px;border-radius:50%;background:#262C34}
.chrome .url{
  position:absolute;left:50%;transform:translateX(-50%);
  font:400 10.5px/1 var(--mono);letter-spacing:.04em;color:var(--ink-dim);
  background:var(--bg-1);border:1px solid var(--line);border-radius:4px;padding:4px 12px;
  white-space:nowrap;
}
.win-body{background:var(--bg-1)}
.win-body img{width:100%;height:auto}
.win-body.crop{aspect-ratio:16/9.6;overflow:hidden}
.win-body.crop img{width:100%;height:100%;object-fit:cover;object-position:top}
.win-cap{
  margin-top:13px;display:flex;align-items:center;gap:10px;
  font:500 10.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);
}
.win-cap::before{content:"";width:6px;height:6px;flex:none;background:conic-gradient(var(--signal) 0 25%,transparent 25% 50%,var(--signal) 50% 75%,transparent 75%)}

/* ============ 08 SHEET: the paper artifact ============ */
/* Printed documents the platform produces, shown as objects on the
   dark desk. Serif inside; always carries its honesty label. */
.artifact{position:relative}
.sheet{
  position:relative;background:var(--paper);color:var(--paper-body);
  border:1px solid var(--paper-hair-2);
  padding:clamp(20px,2vw,30px) clamp(20px,2.2vw,32px) 18px;
  box-shadow:0 50px 100px -40px rgba(0,0,0,.85),0 14px 34px -14px rgba(0,0,0,.55);
}
.sheet::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--paper-2);
  border:1px solid var(--paper-hair-2);transform:translate(10px,12px) rotate(.6deg);
}
html.js .sheet{transition:transform .35s ease}
html.js .artifact:hover .sheet{transform:translateY(-3px)}
.artifact figcaption{font:400 12.5px/1.6 var(--sans);color:var(--ink-dim);margin-top:20px;max-width:48ch}
.artifact figcaption b{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;margin-right:8px}
/* Morning Brief internals */
.bf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.bf-title{display:flex;align-items:center;gap:9px}
.bf-title svg{width:17px;height:17px;flex:none}
.bf-title b{font:700 13.5px/1 var(--serif);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-ink)}
.bf-tag{font:500 8.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--paper-mute);border:1px solid var(--paper-hair-2);padding:5px 8px;border-radius:2px;white-space:nowrap}
.bf-date{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:400 9.5px/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--paper-faint);border-top:1px solid var(--paper-ink);border-bottom:1px solid var(--paper-hair);padding:7px 0;margin-bottom:16px}
.bf-lead .siglab{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.bf-dot{width:6px;height:6px;border-radius:50%;background:var(--paper-dot);flex:none}
.siglab em{font:500 9.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;font-style:normal;color:var(--paper-accent)}
.siglab span{font:400 9.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--paper-faint)}
.bf-lead h3{font:600 20px/1.24 var(--serif);letter-spacing:-.008em;color:var(--paper-ink);margin-bottom:9px}
.bf-lead p{font:400 13px/1.62 var(--serif);color:var(--paper-mute);margin-bottom:13px}
.bf-rec{border-left:2px solid var(--paper-ink);padding:2px 0 2px 12px;margin-bottom:16px}
.bf-rec i{font:500 9px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;font-style:normal;color:var(--paper-ink)}
.bf-rec p{font:400 12.5px/1.55 var(--serif);color:var(--paper-body);margin:5px 0 0}
.bf-items{border-top:1px solid var(--paper-hair);margin-bottom:14px}
.bf-item{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--paper-hair)}
.bf-item time{font:400 9.5px/1.5 var(--mono);color:var(--paper-faint);letter-spacing:.05em}
.bf-item h4{font:600 13.5px/1.4 var(--serif);letter-spacing:-.004em;color:var(--paper-ink)}
.bf-item h4 span{font:400 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);margin-right:8px;position:relative;top:-1px}
.bf-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:400 8.5px/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);padding-top:10px}

/* ============ 09 HEADER / NAV ============ */
.site-head{
  position:sticky;top:0;z-index:100;
  background:rgba(10,12,16,.85);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex;align-items:center;gap:28px;height:64px;max-width:var(--max-nav)}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:24px;width:auto}
.nav-main{display:flex;align-items:center;gap:26px;margin-left:12px}
.nav-main a{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);padding:6px 0}
.nav-main a:hover{color:var(--ink)}
.head-right{margin-left:auto;display:flex;align-items:center;gap:22px}
.utc{font:400 11.5px/1 var(--mono);letter-spacing:.08em;color:var(--ink-dim);white-space:nowrap;display:flex;align-items:center;gap:8px}
.utc::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);animation:blink 2.4s ease-in-out infinite}
.utc:empty{display:none}
.login{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.login:hover{color:var(--ink)}
.site-head .btn{padding:11px 18px}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:2px}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary svg{display:block}
.mnav[open] summary{background:var(--bg-2)}
.mnav-panel{
  position:absolute;right:0;top:calc(100% + 10px);width:min(78vw,300px);
  background:var(--bg-1);border:1px solid var(--line-2);border-radius:2px;
  display:flex;flex-direction:column;padding:8px;z-index:120;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}
.mnav-panel a{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-body);padding:13px 14px;border-radius:2px}
.mnav-panel a:hover{background:var(--bg-2);color:var(--ink)}
.mnav-panel .mnav-cta{margin-top:6px;border-top:1px solid var(--line);padding-top:12px}

/* ============ 10 FOOTER ============ */
.site-foot{border-top:1px solid var(--line);padding-top:clamp(48px,6vw,72px);background:var(--bg)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:48px}
.foot-brand img{height:22px;width:auto;margin-bottom:18px}
.foot-brand p{font-size:13.5px;color:var(--ink-dim);max-width:30ch}
.foot-brand .entity{margin-top:14px;font:400 10.5px/1.7 var(--mono);letter-spacing:.06em;color:var(--ink-dim)}
.foot-col h3{font:500 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:16px}
.foot-col li{margin-bottom:10px}
.foot-col a{font-size:14px;color:var(--ink-mute)}
.foot-col a:hover{color:var(--ink)}
.foot-offices{
  border-top:1px solid var(--line);padding:18px 0;
  font:400 10.5px/1.9 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);
  display:flex;flex-wrap:wrap;gap:6px 24px;
}
.foot-legal{
  border-top:1px solid var(--line);padding:20px 0 28px;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;
  font-size:12.5px;color:var(--ink-dim);
}
.foot-legal a{color:var(--ink-dim)}
.foot-legal a:hover{color:var(--ink)}
.foot-legal .tag{margin-left:auto;font:400 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}

/* ============ 11 PAGE SECTIONS ============ */
/* ---- hero ---- */
.hero{position:relative;padding-top:clamp(56px,7vw,92px)}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 480px at 18% -10%,rgba(122,144,178,.09),transparent 62%);
}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5vw,72px);align-items:center}
.hero-eyebrow{margin-bottom:26px}
.hero h1{font-size:var(--fs-hero);line-height:1.04;letter-spacing:-.03em;max-width:15ch}
.hero-dek{margin-top:24px;max-width:560px;font-size:var(--fs-lede);line-height:1.6;color:var(--ink-body)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
/* ---- cadence band ---- */
.cadence{
  margin-top:clamp(48px,6vw,68px);
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
}
.cadence>div{padding:18px 20px 16px;border-right:1px solid var(--line)}
.cadence>div:last-child{border-right:0}
.cadence .v{font:500 15px/1.2 var(--mono);letter-spacing:.04em;color:var(--ink);display:block}
.cadence .k{font:400 10.5px/1 var(--mono);letter-spacing:.18em;color:var(--ink-dim);text-transform:uppercase;display:block;margin-top:8px}
/* ---- signal map ---- */
.mapfig{margin:clamp(36px,4.5vw,52px) 0 0;padding-bottom:var(--sec-pad)}
.map-frame{background:var(--bg-1)}
.mapwrap{padding:clamp(8px,1.5vw,18px)}
.mapwrap svg{display:block;width:100%;height:auto}
.map-land{stroke:#39414C;stroke-width:3.4;stroke-linecap:round;fill:none}
.map-grat{stroke:rgba(255,255,255,.05);stroke-width:1}
.mk-dot{fill:var(--signal)}
.mk-ring{fill:none;stroke:var(--signal);stroke-width:1;opacity:0;transform-origin:center;transform-box:fill-box;animation:ping 3.6s ease-out infinite}
@keyframes ping{0%{transform:scale(.4);opacity:.8}70%{transform:scale(2.6);opacity:0}100%{opacity:0}}
.mk-label{font:500 11px var(--mono);letter-spacing:.14em;fill:#98A2AD}
/* ---- proof strip ---- */
.proofstrip{border-block:1px solid var(--line);background:var(--bg-1)}
.strip-row{display:flex;align-items:center;gap:14px 32px;flex-wrap:wrap;padding-block:20px}
.strip-label{font:500 10.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}
.inst{font:600 14px/1.3 var(--sans);letter-spacing:-.01em;color:var(--ink-mute);white-space:nowrap}
.inst small{display:block;font:400 11px/1.4 var(--sans);color:var(--ink-dim);letter-spacing:0}
.strip-rule{width:1px;height:26px;background:var(--line-2)}
.strip-g2{margin-left:auto;font:500 11px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--line-2);padding-bottom:2px;white-space:nowrap}
.strip-g2:hover{color:var(--ink)}
/* ---- stages (01 02 03) ---- */
.stage{
  display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);
  align-items:center;padding-block:clamp(40px,5vw,64px);
}
.stage + .stage{border-top:1px solid var(--line)}
.stage.flip{grid-template-columns:7fr 5fr}
.stage.flip .stage-copy{order:2}
.stage.flip .stage-media{order:1}
.stage-num{
  font:400 13px/1 var(--mono);letter-spacing:.2em;color:var(--signal);
  display:flex;align-items:center;gap:14px;margin-bottom:20px;
}
.stage-num::after{content:"";width:34px;height:1px;background:var(--line-2)}
.stage h3{font-size:var(--fs-h3);line-height:1.15;margin-bottom:16px}
.stage p{max-width:52ch}
.stage-io{
  margin-top:22px;display:inline-flex;flex-wrap:wrap;gap:10px 18px;
  font:400 10.5px/1.6 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);
}
.stage-io b{color:var(--ink-mute);font-weight:500}
/* ---- duo cards (screenshot pair) ---- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.5vw,28px);padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.dcard{margin:0}
.dcard figcaption{padding:18px 4px 0}
.dcard h4{font:600 16.5px/1.35 var(--sans);letter-spacing:-.01em;color:var(--ink);margin-bottom:7px}
.dcard figcaption p{font-size:14.5px;line-height:1.6;color:var(--ink-mute)}
/* ---- workspace closer ---- */
.workspace{padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
/* ---- capability grid ---- */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cap{background:var(--bg);padding:26px 24px 30px;position:relative;transition:background-color .2s ease}
.cap:hover{background:var(--bg-1)}
.cap-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.cap-meta .idx{font:400 10.5px/1 var(--mono);letter-spacing:.2em;color:var(--ink-dim)}
.cap svg{stroke:var(--ink-mute);transition:stroke .2s ease}
.cap:hover svg{stroke:var(--signal)}
.cap h3{font-size:16.5px;letter-spacing:-.01em;margin-bottom:10px;font-weight:600}
.cap p{font-size:14.5px;line-height:1.6;color:var(--ink-mute)}
/* ---- trust ---- */
.pipe{
  display:flex;align-items:center;flex-wrap:wrap;gap:0;
  margin-bottom:clamp(36px,5vw,52px);
}
.pipe .node{
  font:500 11.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
  border:1px solid var(--line-2);padding:13px 20px;border-radius:2px;background:var(--bg);
  display:flex;align-items:center;gap:10px;
}
.pipe .node .nd{width:6px;height:6px;border-radius:50%;background:var(--ink-dim);flex:none}
.pipe .node:last-child .nd{background:var(--signal)}
.pipe .link{flex:1 1 26px;min-width:20px;max-width:72px;height:1px;background:var(--line-2);position:relative}
.pipe .link::after{
  content:"";position:absolute;right:0;top:-3px;
  border-left:5px solid var(--line-2);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;
}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.trust-cell{background:var(--bg-1);padding:24px 22px 28px}
.trust-cell h3{font:500 12px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.trust-cell p{font-size:14.5px;line-height:1.6;color:var(--ink-mute)}
.trust-foot{margin-top:26px;font-size:15px;color:var(--ink-mute);max-width:70ch}
/* ---- network / hybrid intelligence ---- */
.net{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.net-lede{font-size:clamp(21px,2.2vw,26px);line-height:1.35;color:var(--ink);font-weight:500;letter-spacing:-.015em;max-width:22ch}
.net-body p{margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}
.chip{font:400 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);border:1px solid var(--line);padding:8px 12px;border-radius:2px}
.net-partners{border-top:1px solid var(--line);padding-top:18px;font:400 11px/2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.net-partners b{color:var(--ink-mute);font-weight:500}
/* ---- sector index ---- */
.sectors{border-top:1px solid var(--line)}
.sector{
  display:grid;grid-template-columns:220px 1fr 1fr;gap:20px;align-items:baseline;
  padding:22px 4px;border-bottom:1px solid var(--line);
  transition:background-color .2s ease;
}
.sector:hover{background:var(--bg-1)}
.sector .code{font:500 12px/1.6 var(--mono);letter-spacing:.1em;color:var(--ink)}
.sector .code span{color:var(--signal);margin-right:12px}
.sector .desc{font-size:14.5px;color:var(--ink-mute)}
.sector .out{font-size:14.5px;color:var(--ink-body);display:flex;gap:10px;align-items:baseline}
.sector .out svg{flex:none;transform:translateY(2px)}
/* ---- proof quotes ---- */
.quote-main{
  border-left:2px solid var(--signal);padding-left:clamp(20px,3vw,36px);margin-bottom:clamp(36px,5vw,52px);
}
.quote-main blockquote{
  font-size:clamp(21px,2.6vw,29px);line-height:1.4;color:var(--ink);font-weight:500;letter-spacing:-.015em;
  max-width:30ch;
}
.attr{margin-top:18px;font:500 11px/1.7 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}
.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.quote-cell{background:var(--bg);padding:26px 26px 28px}
.quote-cell blockquote{font-size:15.5px;line-height:1.65;color:var(--ink-body)}
.proof-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:26px;
  font:500 11px/1.8 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);
}
.proof-foot .gq{color:var(--ink-mute);letter-spacing:.1em;text-transform:none;font-size:12.5px}
.proof-foot a{color:var(--ink-mute);border-bottom:1px solid var(--line-2);padding-bottom:2px}
.proof-foot a:hover{color:var(--ink)}
/* ---- name band (why grey) ---- */
.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.name-copy h2{font-size:clamp(26px,3vw,36px);margin-bottom:18px}
.name-copy p{max-width:54ch}
.resolve{display:flex;align-items:center;gap:clamp(10px,1.6vw,18px);justify-content:flex-end}
.resolve svg{display:block;border:1px solid var(--line);background:#000;flex:none;width:clamp(52px,6.5vw,84px);height:auto}
.resolve-cap{font:400 10px/1.6 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);text-align:right;margin-top:14px}
/* ---- access panel ---- */
.access-panel{background:var(--bg-1);padding:clamp(44px,7vw,84px) clamp(24px,5vw,72px);text-align:center}
.access-panel .eyebrow{justify-content:center}
.access-panel .eyebrow::before{display:none}
.access-panel h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:20px auto 16px;max-width:18ch}
.access-panel p{max-width:52ch;margin:0 auto}
.access-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.access-mail{margin-top:26px;font:400 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.access-mail a{color:var(--ink-mute);border-bottom:1px solid var(--line-2);padding-bottom:2px}
.access-mail a:hover{color:var(--ink)}

/* ============ 12 RESPONSIVE ============ */
@media (max-width:1200px){
  .utc{display:none}
}
@media (max-width:980px){
  .nav-main,.login{display:none}
  .mnav{display:block}
  .site-head .wrap{gap:16px}
  .hero-grid{grid-template-columns:1fr;gap:clamp(40px,7vw,56px);align-items:start}
  .artifact{max-width:520px}
}
@media (max-width:900px){
  .stage,.stage.flip{grid-template-columns:1fr;gap:26px}
  .stage.flip .stage-copy{order:1}
  .stage.flip .stage-media{order:2}
  .caps{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .duo{grid-template-columns:1fr;gap:36px}
  .net{grid-template-columns:1fr}
  .net-lede{max-width:none}
  .name-grid{grid-template-columns:1fr}
  .resolve{justify-content:flex-start}
  .resolve-cap{text-align:left}
  .sector{grid-template-columns:1fr;gap:8px;padding:18px 4px}
  .quote-row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .foot-brand{grid-column:1/-1}
  .strip-g2{margin-left:0}
}
@media (max-width:700px){
  .cadence{grid-template-columns:1fr 1fr}
  .cadence>div{border-bottom:1px solid var(--line)}
  .cadence>div:nth-child(2n){border-right:0}
  .cadence>div:nth-child(n+3){border-bottom:0}
  .mk-label{display:none}
  .map-land{stroke-width:4.4}
  .frame-legend .src{display:none}
  .frame-bar{letter-spacing:.14em;font-size:10px}
  .strip-rule{display:none}
  .chrome .url{display:none}
}
@media (max-width:560px){
  .caps{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .hero-cta .btn,.access-cta .btn{flex:1 1 100%}
  .pipe .node{padding:11px 14px;font-size:10.5px}
  .foot-grid{grid-template-columns:1fr}
  .bf-item{grid-template-columns:52px 1fr}
}

/* ============ 13 MOTION ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .reveal{opacity:1;transform:none;transition:none}
  html.js .sheet,html.js .artifact:hover .sheet{transition:none;transform:none}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
}

/* ============ 14 INTEGRATION ROUND (2026-08-22, #80) ============ */
/* Access-panel specificity fix: .access-panel p{margin:0 auto} was killing
   .access-mail's top margin on every page (found by two builders independently). */
.access-panel .access-mail{margin:26px auto 0}
/* Active-nav state, invented identically by three page builders — promoted. */
.nav-main a[aria-current="page"]{color:var(--ink)}
/* People photos: headshot in the monogram gutter of a .person directory row
   (/about/, and /partners-guild/ once Guild headshots exist). Grayscale is not
   a treatment choice — the monochrome register is the identity; a colour
   headshot breaks it. Portraits crop from the top so faces survive the square. */
.person-photo{
  display:block;width:48px;height:48px;
  object-fit:cover;object-position:center top;
  border:1px solid var(--line);border-radius:2px;
  background:var(--bg-1);filter:grayscale(1)
}
/* Hero globe instrument (2026-08-22): the drawn world.
   The hero is a live Canvas-2D orthographic globe drawn from the site's
   own dot-grid world map (dot-map-reference.html data): monochrome land,
   the six tracked chokepoints in amber, great-circle route signals. A
   drawn instrument, so no window chrome — unframed on the page ground;
   the 01·MONITOR window below keeps the real product screenshot.
   No-JS: the former static render serves from <noscript>, fused into the
   ground by the same masks the static hero used. Reduced motion: the JS
   draws one still frame (Gulf aspect); nothing animates. */
.hero{overflow:hidden;padding-bottom:var(--sec-pad)}
/* min-width scoped: section 12's 980 single-column collapse must win below */
@media (min-width:981px){
  .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
}
.globe-scene{
  position:relative;min-width:0;
  margin-right:calc(-1 * max(0px,(100vw - var(--max)) / 2) - var(--pad));
}
.globe-scene canvas{display:block;width:100%;aspect-ratio:1.15/1}
html:not(.js) .globe-scene canvas{display:none}
.globe-scene noscript img{display:block;width:100%;height:auto}
/* no-JS only: fuse the static render's space edges into the page ground */
html:not(.js) .globe-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(115% 105% at 62% 42%,rgba(10,12,16,0) 62%,rgba(10,12,16,.5) 88%,rgba(10,12,16,.85) 100%),
    linear-gradient(to right,var(--bg) 0,rgba(10,12,16,0) 14%),
    linear-gradient(to bottom,var(--bg) 0,rgba(10,12,16,0) 12%),
    linear-gradient(to top,var(--bg) 0,rgba(10,12,16,0) 16%);
}
/* the instrument's route readout: fixed mono text, never drawn on the sphere */
.globe-route{
  position:absolute;left:10px;bottom:44px;z-index:2;
  font:500 10.5px/1.6 var(--mono);letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);opacity:0;transition:opacity .6s ease;
}
.globe-route b{color:var(--signal);font-weight:500;margin-right:14px}
.globe-route.on{opacity:1}
.globe-cap{
  position:absolute;left:10px;bottom:16px;z-index:2;
  display:flex;align-items:center;gap:10px;
  font:500 10.5px/1.6 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);
}
.globe-cap::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);animation:blink 2.4s ease-in-out infinite;flex:none}
@media (max-width:980px){
  .globe-scene{margin-inline:calc(-1 * var(--pad))}
  .globe-scene canvas{aspect-ratio:1/.96}
  html:not(.js) .globe-scene noscript img{width:100%;aspect-ratio:1/.92;object-fit:cover;object-position:52% 42%}
  /* no-JS overlay hugs the image box; the caption sits below it in flow */
  html:not(.js) .globe-scene::before{inset:auto;top:0;left:0;right:0;aspect-ratio:1/.92}
  .globe-route{left:var(--pad);bottom:auto;top:10px}
  .globe-cap{position:static;margin-top:12px;padding-inline:var(--pad);align-items:flex-start}
  .globe-cap::before{margin-top:5px}
}
