/* MPS shared layer — tokens, nav, footer, responsive. Loaded by every page. */
:root{--deep:#071B32;--ink:#093246;--paper:#FAFCFC;--surface:#F2F7F7;--line:#D9E4E8;--accent:#009CAB;--accent-dk:#085770;--mist:#85B5C4;--pale:#D9E4E8;--grey:#6B7C85;--font-mono:"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;--font-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);background:#E8EDEF;color:var(--deep);-webkit-font-smoothing:antialiased;text-wrap:pretty}
img{max-width:100%}
em{font-style:italic}
a{color:var(--accent-dk);text-decoration:none}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.frame{background:var(--surface);border:.5px solid var(--line);border-radius:8px;overflow:hidden;max-width:1440px;margin:16px auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--accent);color:#fff;padding:10px 16px;font-size:13px}

/* ---------- NAV ---------- */
.nav{background:var(--deep);padding:18px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:.5px solid rgba(255,255,255,.08);position:relative}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo span{width:28px;height:28px;border:1.5px solid var(--surface);display:flex;align-items:center;justify-content:center;color:var(--surface);font-size:11px;font-weight:500;letter-spacing:.5px}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{color:var(--pale);font-size:12px;letter-spacing:1px;text-decoration:none;padding-bottom:4px;border-bottom:1px solid transparent;white-space:nowrap;transition:color .15s}
.nav-links a:hover{color:var(--surface)}
.nav-links a[aria-current=page]{color:var(--surface);border-bottom-color:var(--accent)}
.nav-cta{border:1px solid var(--accent)!important;padding:8px 16px!important;color:var(--accent)!important;border-bottom-color:var(--accent)!important;transition:background .15s,color .15s}
.nav-cta:hover{background:var(--accent);color:var(--deep)!important}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:0;padding:10px;cursor:pointer;margin:-10px}
.nav-toggle span{display:block;width:20px;height:1.5px;background:var(--surface);transition:transform .2s,opacity .2s}
.nav.open .nav-toggle span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav.open .nav-toggle span:nth-child(2){opacity:0}
.nav.open .nav-toggle span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ---------- FOOTER ---------- */
.foot{background:var(--deep);padding:48px 80px 32px;color:var(--pale);border-top:.5px solid rgba(255,255,255,.06)}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:.5px solid rgba(255,255,255,.06)}
.foot-mark{font-size:14px;color:var(--surface);margin:0 0 4px}
.foot-tag{font-size:13px;color:var(--mist);margin:0;font-style:italic}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col a{font-size:12px;color:var(--pale);text-decoration:none;line-height:1.4;transition:color .15s}
.foot-col a:hover{color:var(--accent)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;flex-wrap:wrap}
.foot-bot p{font-size:11px;color:var(--grey);letter-spacing:1px;margin:0}
.foot-legal{display:flex;gap:16px}
.foot-legal a{font-size:11px;color:var(--grey);letter-spacing:1px;text-decoration:none}
.foot-legal a:hover{color:var(--accent)}

/* ---------- editorial body copy (briefs) — same type system as marketing ---------- */
.body-copy p,.body-copy li{font-family:var(--font-sans)}
.body-copy p{font-size:18px;line-height:1.72;color:var(--ink);margin:0 0 26px}
.body-copy p.lede{font-size:22px;line-height:1.5;color:var(--deep);margin:0 0 36px}
.body-copy h3{font-family:var(--font-sans);font-size:22px;font-weight:500;color:var(--deep);margin:52px 0 18px;letter-spacing:-.2px}
.body-copy .pull p{font-style:italic}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1080px){
  .frame>div,.frame>section,.frame>footer{padding-left:44px!important;padding-right:44px!important}
}
@media(max-width:860px){
  .frame{margin:0;border:0;border-radius:0}
  body{background:var(--surface)}
  .nav{padding:14px 20px}
  .nav-toggle{display:flex}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--deep);flex-direction:column;align-items:stretch;gap:0;padding:6px 20px 20px;border-bottom:.5px solid rgba(255,255,255,.1);z-index:60}
  .nav.open .nav-links{display:flex}
  .nav-links a{font-size:13px;padding:15px 0;border-bottom:.5px solid rgba(255,255,255,.07)}
  .nav-cta{margin-top:14px;text-align:center;padding:15px 16px!important}
  .frame>div,.frame>section,.frame>footer{padding-left:22px!important;padding-right:22px!important}
  [style*="padding: 140px 80px 120px"]{padding-top:64px!important;padding-bottom:56px!important}
  [style*="padding: 120px 80px 100px"],[style*="padding: 120px 80px 80px"],[style*="padding: 120px 80px 64px"]{padding-top:56px!important;padding-bottom:48px!important}
  [style*="padding: 120px 80px"],[style*="padding: 100px 80px"]{padding-top:56px!important;padding-bottom:56px!important}
  [style*="padding: 100px 80px 60px"],[style*="padding: 80px 80px 120px"]{padding-top:48px!important;padding-bottom:48px!important}
  [style*="padding: 80px 80px"],[style*="padding: 56px 80px 64px"]{padding-top:44px!important;padding-bottom:44px!important}
  [style*="padding: 56px 80px 0"],[style*="padding: 32px 80px 120px"]{padding-top:32px!important}
  .foot{padding-top:40px!important;padding-bottom:28px!important}
  .frame [style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:26px!important}
  .foot-top{gap:30px!important;padding-bottom:30px}
  .card,.card.featured{grid-template-columns:1fr!important;gap:14px!important;padding:28px 0!important}
  .card [style*="text-align: right"]{text-align:left!important}
  .frame h1{font-size:clamp(29px,7.4vw,40px)!important;line-height:1.12!important;letter-spacing:-.2px!important}
  .frame h2{font-size:clamp(23px,5.6vw,30px)!important;line-height:1.18!important;letter-spacing:-.2px!important}
  .frame h3{font-size:20px!important}
  [style*="font-size: 220px"]{font-size:96px!important;letter-spacing:-4px!important;margin-bottom:8px!important}
  [style*="font-size: 24px"],[style*="font-size: 22px"]{font-size:17.5px!important}
  [style*="font-size: 20px"],[style*="font-size: 19px"],[style*="font-size: 18px"]{font-size:16.5px!important}
  [style*="font-size: 17px"],[style*="font-size: 16px"]{font-size:15.5px!important}
  .body-copy p{font-size:16.5px}
  .body-copy p.lede{font-size:19px}
  .body-copy .q{grid-template-columns:1fr!important;gap:6px!important}
  a[style*="padding: 16px 32px"],a[style*="padding: 14px 28px"]{display:block!important;text-align:center;padding:16px 20px!important}
  .hero-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important}
}
@media(max-width:520px){
  .frame>div,.frame>section,.frame>footer{padding-left:18px!important;padding-right:18px!important}
  .foot-bot{flex-direction:column;align-items:flex-start;gap:14px}
}
@media print{.nav,.foot,.nav-toggle{display:none}.frame{margin:0;border:0}}
