/* ==========================================================================
   PEAK — sub-page chrome (header / footer / contact form)
   Self-contained: every selector is namespaced (pk-*) so it never collides
   with the copied content styles in tl.css.
   ========================================================================== */

@font-face{
  font-family:'Instrument Sans';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url(../fonts/InstrumentSans.woff2) format('woff2');
}

.pk-skip{position:absolute;left:12px;top:-60px;z-index:300;background:#0a0a0a;color:#fff;padding:10px 16px;border-radius:8px;transition:top .2s;font-family:"Instrument Sans",system-ui,sans-serif}
.pk-skip:focus{top:12px}

.pk-wrap{width:min(1200px,100% - 48px);margin-inline:auto}

/* ---------- header ---------- */
.pk-hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.5) blur(10px);backdrop-filter:saturate(1.5) blur(10px);border-bottom:1px solid #e6e8eb;font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.pk-hdr *{box-sizing:border-box}
.pk-in{display:flex;align-items:center;gap:32px;height:72px}
.pk-brand{display:flex;align-items:center;gap:11px;flex:none;text-decoration:none}
.pk-brand svg{width:34px;height:34px;flex:none;display:block}
.pk-brand .pk-bt{display:flex;flex-direction:column;line-height:1}
.pk-brand b{font-weight:700;letter-spacing:.18em;font-size:21px;color:#0a0a0a}
.pk-brand small{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#8a929e;margin-top:5px;font-weight:600;white-space:nowrap}
.pk-nav{flex:1}
.pk-nav ul{display:flex;gap:4px;height:72px;align-items:center;list-style:none;margin:0;padding:0}
.pk-nav a{display:block;padding:9px 14px;border-radius:8px;font-size:14.5px;font-weight:500;color:#3a3f47;text-decoration:none;transition:background .2s,color .2s}
.pk-nav a:hover{background:#f5f5f5;color:#0a0a0a}
.pk-cta{margin-left:auto}
.pk-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;font-weight:600;font-size:15px;line-height:1;border:1px solid transparent;text-decoration:none;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.pk-btn svg{width:15px;height:15px;flex:none;transition:transform .2s}
.pk-btn:hover svg{transform:translateX(3px)}
.pk-btn-dark{background:#0a0a0a;color:#fff}
.pk-btn-dark:hover{background:#2a2a2a}
.pk-burger{display:none;margin-left:auto;width:42px;height:42px;border:1px solid #e6e8eb;border-radius:9px;background:#fff;align-items:center;justify-content:center;cursor:pointer}
.pk-burger span{position:relative;display:block;width:18px;height:2px;background:#0a0a0a}
.pk-burger span::before,.pk-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#0a0a0a;transition:transform .2s}
.pk-burger span::before{top:-6px}
.pk-burger span::after{top:6px}
.pk-burger[aria-expanded="true"] span{background:transparent}
.pk-burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.pk-burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:900px){
  .pk-in{gap:16px;height:64px}
  .pk-brand small{display:none}
  .pk-cta{display:none}
  .pk-burger{display:inline-flex}
  .pk-nav{position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid #e6e8eb;display:none}
  .pk-nav.open{display:block}
  .pk-nav ul{flex-direction:column;height:auto;align-items:stretch;gap:0;padding:8px 0}
  .pk-nav a{padding:15px 24px;border-radius:0;font-size:16px}
}

/* ---------- footer ---------- */
.pk-ftr{background:#0a0a0a;color:#a1a1aa;padding:72px 0 0;font-size:14px;font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.pk-ftr *{box-sizing:border-box}
.pk-ftr .pk-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px}
.pk-ftr .pk-brand b{color:#fff}
.pk-ftr .pk-brand small{color:#a1a1aa}
.pk-ftr p{margin-top:18px;max-width:320px;line-height:1.6}
.pk-ftr h4{color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.pk-ftr ul{list-style:none;margin:0;padding:0}
.pk-ftr li{margin-bottom:9px}
.pk-ftr a{color:inherit;text-decoration:none}
.pk-ftr a:hover{color:#fff}
.pk-ftr .pk-bar{border-top:1px solid #26282b;padding:22px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px}
.pk-ftr .pk-bar nav{display:flex;gap:20px;flex-wrap:wrap}
@media (max-width:760px){.pk-ftr .pk-grid{grid-template-columns:1fr;gap:30px}}

/* ---------- contact form (scoped) ---------- */
.pk-form{background:#fff;border-radius:16px;padding:32px;color:#1a1a1a;box-sizing:border-box}
.pk-form *{box-sizing:border-box}
.pk-form h3{font-size:21px;letter-spacing:-.01em;font-weight:600;margin-bottom:6px;color:#0a0a0a}
.pk-form .sub{font-size:14px;color:#5b6472;margin:0 0 22px}
.pk-form .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pk-form .field{display:flex;flex-direction:column;gap:6px}
.pk-form .field.full{grid-column:1/-1}
.pk-form .field label{font-size:12.5px;font-weight:600;color:#3a3f47}
.pk-form .field label i{color:#c0392b;font-style:normal}
.pk-form .field input,.pk-form .field select,.pk-form .field textarea{width:100%;font:inherit;font-size:15px;color:#1a1a1a;padding:13px 14px;border:1px solid #d3d6da;background:#fff;border-radius:9px;transition:border-color .2s,box-shadow .2s}
.pk-form .field input:focus,.pk-form .field select:focus,.pk-form .field textarea:focus{outline:none;border-color:#0e7c86;box-shadow:0 0 0 3px rgba(14,124,134,.18)}
.pk-form .field textarea{min-height:120px;resize:vertical}
.pk-form .err{display:none;font-size:12.5px;color:#c0392b}
.pk-form .field.bad input,.pk-form .field.bad select,.pk-form .field.bad textarea{border-color:#c0392b}
.pk-form .field.bad .err{display:block}
.pk-form .hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pk-form .form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.pk-form button[type="submit"]{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;font-weight:600;font-size:15px;line-height:1;border:1px solid transparent;background:#0a0a0a;color:#fff;cursor:pointer;transition:background .2s}
.pk-form button[type="submit"]:hover{background:#2a2a2a}
.pk-form button[type="submit"] svg{width:15px;height:15px;flex:none}
.pk-form .form-note{font-size:13px;color:#5b6472;margin:0}
.pk-form .form-status{display:none;margin-top:16px;border-radius:10px;font-size:14.5px;line-height:1.5;padding:0}
.pk-form .form-status.ok{display:block;background:#e7f6f4;color:#0a5b63;padding:12px 14px}
.pk-form .form-status.err{display:block;background:#fdecea;color:#8f2016;padding:12px 14px}
.pk-form .form-status a{color:inherit;text-decoration:underline}
@media (max-width:640px){.pk-form{padding:22px}.pk-form .fgrid{grid-template-columns:1fr}}

/* ---------- image-legibility: stronger scrims so overlaid text stays readable ---------- */
/* hero background scrim (bottom-anchored headings) */
[data-hero-overlay]{--scrim-flat:rgba(3,4,6,.5);--scrim-gradient-to:rgba(2,2,2,.96)}
/* capability cards: resting scrim behind the summary text (image sits at -z-10) */
details:has(> .card-media)::before{content:"";position:absolute;inset:0;z-index:-9;pointer-events:none;background:linear-gradient(180deg,rgba(6,8,10,.72) 0%,rgba(6,8,10,.34) 46%,rgba(6,8,10,.6) 100%)}
/* force light text on photographic capability cards (some shipped dark text for light renders) */
details:has(> .card-media){--card-rest-text:#fff!important;--card-accent-text:#fff!important}
/* industry / case gov-cards */
.gov-card-scrim{background-image:linear-gradient(#0000 0%,#00000099 100%)}
