:root {
  --bg: #020711;
  --panel: #07101f;
  --panel-2: #08111f;
  --panel-3: #050d19;
  --line: rgba(255,255,255,.1);
  --muted: rgba(255,255,255,.62);
  --soft: rgba(255,255,255,.04);
  --blue: #2563eb;
  --blue-2: #60a5fa;
  --blue-3: #93c5fd;
  --red: #dc2626;
  --red-2: #f87171;
  --shadow: 0 25px 50px -12px rgba(23, 37, 84, .46);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: #f8fafc;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
img {
  display: block;
  max-width: 100%;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  user-select: none;
}
.page-bg {
  min-height: 100vh;
  padding: 14px;
  background:
    radial-gradient(circle at 50% 20%, rgba(37, 99, 235, .18), transparent 34rem),
    radial-gradient(circle at 85% 12%, rgba(220, 38, 38, .11), transparent 25rem),
    #020711;
}
.app-shell {
  width: min(1600px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.top-strip {
  border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,.3);
  padding: 12px 24px;
  text-align: center;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--blue-3);
}
.site-header {
  position: relative;
  z-index: 10;
  display: flex;
  gap: 18px;
  align-items: center;
  min-height: 118px;
  padding: 12px clamp(20px, 2vw, 34px);
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}
.brand-block {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
}
.brand-logo {
  width: clamp(176px, 14vw, 210px);
  max-width: 100%;
  height: auto;
  /* The black artwork backing blends into the header without a visible box. */
  mix-blend-mode: screen;
}
.brand-block:focus-visible {
  outline: 2px solid var(--blue-2);
  outline-offset: -6px;
}
.logo-mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: var(--blue);
  box-shadow: 0 14px 28px rgba(37, 99, 235, .3);
  font-size: 30px;
}
.brand-title {
  margin: 0;
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 1000;
  font-style: italic;
  letter-spacing: -.04em;
  line-height: 1;
}
.brand-subtitle {
  margin: 7px 0 0;
  color: var(--blue-2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.nav-wrap {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  gap: clamp(14px, 1.2vw, 22px);
}
.nav {
  display: flex;
  min-width: 0;
  justify-content: flex-end;
  gap: clamp(10px, 1vw, 18px);
  align-items: center;
}
.nav-wrap .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.nav > a {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 0;
  border:0;
  border-bottom: 2px solid transparent;
  background:transparent;
  color: #c2ccda;
  font:inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
}
.nav > a:hover,
.nav > a.active {
  color: #fff;
  border-bottom-color: var(--blue-2);
}
.nav a:focus-visible,
.nav-toggle:focus-visible,
.nav-cta:focus-visible { outline: 2px solid var(--blue-2); outline-offset: 4px; }
.builder-portal-link {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:center;
  flex:0 0 auto;
  min-height:46px;
  padding:6px 13px 6px 7px;
  border:1px solid rgba(147,197,253,.22);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#eaf3ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.builder-portal-link:hover,
.builder-portal-link[aria-current="page"] {
  border-color:rgba(96,165,250,.58);
  background:rgba(37,99,235,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 28px rgba(2,7,17,.2);
}
.builder-portal-link:focus-visible { outline:2px solid var(--blue-2); outline-offset:4px; }
.builder-portal-icon {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(96,165,250,.38);
  border-radius:11px;
  background:rgba(37,99,235,.17);
}
.builder-portal-icon svg { width:18px; height:18px; fill:none; stroke:var(--blue-2); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.builder-portal-label { font-size:14px; font-weight:800; letter-spacing:-.01em; white-space:nowrap; }
.nav-toggle { display: none; }
.nav-toggle-icon {
  width: 18px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  position: relative;
}
.nav-toggle-icon::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 0;
  width: 18px;
  border-top: 2px solid currentColor;
}
.menu-open .nav-toggle-icon { border: 0; }
.menu-open .nav-toggle-icon::before,
.menu-open .nav-toggle-icon::after {
  content: '';
  position: absolute;
  top: 5px;
  left: 0;
  width: 18px;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
}
.menu-open .nav-toggle-icon::after { transform: rotate(-45deg); }
.btn, button.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 14px;
  background: var(--blue);
  padding: 15px 22px;
  color: white;
  font-size: 14px;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 14px 28px rgba(37,99,235,.28);
  cursor: pointer;
}
.btn:hover { background: #3b82f6; }
.btn.secondary { border: 1px solid var(--line); background: rgba(255,255,255,.05); box-shadow: none; }
.btn.red { background: var(--red); box-shadow: 0 14px 28px rgba(220,38,38,.25); }
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 24px;
  align-items: stretch;
  padding: clamp(28px, 5vw, 64px);
  min-height: 680px;
  background: radial-gradient(circle at center, rgba(37,99,235,.18), transparent 55%);
}
.home-hero {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: end;
  min-height: 640px;
  background:
    linear-gradient(90deg, rgba(2,7,17,.92) 0%, rgba(2,7,17,.72) 38%, rgba(2,7,17,.35) 62%, rgba(2,7,17,.7) 100%),
    linear-gradient(180deg, rgba(2,7,17,.15), rgba(2,7,17,.5)),
    url('pictures/home-hero-police-suv.png') right center / cover no-repeat;
}
.home-hero-content {
  max-width: 760px;
  position: relative;
  z-index: 1;
}
.home-hero .lead {
  max-width: 640px;
}
.home-hero h1 {
  font-size: clamp(48px, 7.5vw, 104px);
  font-weight: 1000;
  letter-spacing: -.07em;
  line-height: .88;
  text-transform: uppercase;
}

/* Contact page: editorial contact workspace */
.contact-page { background:#06101f; }
.contact-command { background:linear-gradient(135deg,#07182c 0%,#050f1e 54%,#061220 100%); }
.contact-command-header { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(32px,7vw,120px); align-items:end; padding:clamp(46px,6vw,82px) clamp(42px,7vw,112px); border-bottom:1px solid rgba(147,197,253,.28); }
.contact-command-header h1 { margin:22px 0 0; max-width:900px; font-size:clamp(50px,6.3vw,98px); font-weight:900; letter-spacing:-.075em; line-height:.88; }
.contact-command-header > p { max-width:500px; margin:0 0 5px; color:#b7c9e5; font-size:clamp(18px,2vw,23px); line-height:1.48; }
.contact-command-grid { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); align-items:stretch; }
.contact-command-copy { min-width:0; padding:clamp(42px,5vw,68px); border-right:1px solid rgba(147,197,253,.28); background:rgba(3,12,24,.2); }
.contact-command-kicker { margin:0; color:var(--blue-3); font-size:11px; font-weight:900; letter-spacing:.22em; line-height:1.3; text-transform:uppercase; }
.contact-command-copy h2 { margin:20px 0 0; font-size:clamp(31px,3vw,46px); font-weight:850; letter-spacing:-.055em; line-height:.98; }
.contact-command-copy > p:last-of-type { margin:18px 0 0; color:#b7c9e5; font-size:16px; line-height:1.6; }
.contact-directory { display:grid; grid-template-columns:1fr; margin-top:32px; border-top:1px solid rgba(147,197,253,.35); }
.contact-directory article,
.contact-directory article + article { display:grid; grid-template-columns:50px minmax(0,1fr); column-gap:17px; min-width:0; padding:25px 0; border-left:0; border-bottom:1px solid rgba(147,197,253,.28); }
.contact-directory article > .contact-directory-icon { grid-row:1 / span 3; }
.contact-directory-icon { display:grid; place-items:center; width:48px; height:48px; color:var(--blue-2); }
.contact-directory-icon svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.contact-directory article > p,
.contact-hours p { margin:20px 0 0; color:var(--blue-3); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.contact-directory article > p { margin:0; }
.contact-directory article > span { display:block; min-height:0; margin:6px 0 0; color:#aabdd4; font-size:15px; line-height:1.45; }
.contact-directory article > a,
.contact-directory article > strong { display:block; margin-top:14px; color:#fff; font-size:clamp(18px,1.65vw,25px); font-weight:800; letter-spacing:-.035em; line-height:1.15; overflow-wrap:anywhere; }
.contact-directory-email > a { font-size:clamp(14px,1.35vw,20px) !important; letter-spacing:-.045em !important; white-space:nowrap; overflow-wrap:normal !important; word-break:normal; }
.contact-command .contact-message-form { min-width:0; padding:clamp(36px,4vw,52px) clamp(30px,4vw,48px) 36px; border:0; border-radius:0; background:rgba(3,12,24,.48); box-shadow:none; }
.contact-command .contact-form-heading { margin:0 0 30px; padding:0 0 22px; border-bottom:1px solid rgba(147,197,253,.3); }
.contact-command .contact-form-heading h2 { margin:23px 0 0; font-size:clamp(34px,3.3vw,55px); font-weight:850; letter-spacing:-.055em; line-height:.96; }
.contact-command .contact-form-heading > p:last-child { margin:15px 0 0; color:#b7c9e5; font-size:16px; line-height:1.55; }
.contact-command .contact-form-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.contact-command .contact-message-form label { color:#f2f7ff; font-size:13px; font-weight:750; }
.contact-command .contact-message-form .input,
.contact-command .contact-message-form textarea { min-height:50px; padding:13px 15px; border-color:rgba(147,197,253,.32); border-radius:0; background:rgba(5,15,29,.5); }
.contact-command .contact-message-form textarea { min-height:92px; }
.contact-command .contact-field-error { min-height:0; }
.contact-command .contact-field-error:empty { display:none; }
.contact-command .contact-form-submit { margin-top:24px; }
.contact-command .contact-form-submit .btn { width:100%; border-radius:2px; }
.contact-location-bar { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(300px,1.2fr) minmax(280px,1fr); gap:clamp(26px,4vw,58px); align-items:center; padding:36px clamp(42px,7vw,112px); border-top:1px solid rgba(147,197,253,.3); background:rgba(3,12,24,.5); }
.contact-location-copy h2 { margin:13px 0 0; font-size:clamp(26px,2.6vw,38px); font-weight:850; letter-spacing:-.05em; line-height:1; }
.contact-location-copy > p:last-child { margin:12px 0 0; color:#aabdd4; font-size:15px; line-height:1.5; }
.contact-location-map { min-height:250px; overflow:hidden; border:1px solid rgba(147,197,253,.28); background:#07101f; }
.contact-location-map iframe { display:block; width:100%; height:250px; border:0; filter:invert(.92) hue-rotate(180deg) saturate(.72) brightness(.82) contrast(1.08); }
.contact-hours { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; align-items:start; min-width:0; padding-left:28px; border-left:1px solid rgba(147,197,253,.3); }
.contact-hours p { margin:3px 0 9px; }
.contact-hours-list { display:grid; gap:8px; margin:14px 0 0; }
.contact-hours-list div { display:flex; justify-content:space-between; gap:16px; color:#fff; font-size:14px; line-height:1.35; }
.contact-hours-list dt { color:#dce8f7; }
.contact-hours-list dd { margin:0; color:#fff; font-weight:800; text-align:right; white-space:nowrap; }
.contact-hours span:last-child { display:block; margin-top:6px; color:#aabdd4; font-size:13px; line-height:1.45; }
.contact-location-signoff { margin:0; padding-left:28px; border-left:1px solid rgba(147,197,253,.3); color:#aabdd4; font-size:11px; font-weight:900; letter-spacing:.18em; line-height:1.7; text-transform:uppercase; }
@media (max-width:1100px) {
  .contact-command-header { grid-template-columns:1fr; gap:20px; padding:52px 48px; }
  .contact-command-grid { grid-template-columns:1fr; }
  .contact-command-copy { padding:44px 48px; border-right:0; border-bottom:1px solid rgba(147,197,253,.28); }
  .contact-command .contact-message-form { padding:44px 48px 52px; }
  .contact-location-bar { grid-template-columns:minmax(210px,.8fr) minmax(280px,1.2fr); }
  .contact-hours { grid-column:1 / -1; padding:28px 0 0; border-top:1px solid rgba(147,197,253,.3); border-left:0; }
}
@media (max-width:720px) {
  .contact-command-header { padding:42px 28px; }
  .contact-command-header h1 { font-size:clamp(46px,13vw,74px); }
  .contact-command-copy { padding:38px 28px; }
  .contact-command .contact-form-fields { grid-template-columns:1fr; }
  .contact-command .contact-message-form { padding:38px 28px 44px; }
  .contact-location-bar { grid-template-columns:1fr; gap:22px; padding:30px 28px; }
  .contact-location-map { grid-row:2; min-height:280px; }
  .contact-location-map iframe { height:280px; }
  .contact-hours { padding:22px 0 0; border-top:1px solid rgba(147,197,253,.3); border-left:0; }
}
@media (max-width:480px) {
  .contact-command-header { padding:34px 20px; }
  .contact-command-header h1 { font-size:clamp(42px,13vw,58px); }
  .contact-command-copy { padding:32px 20px; }
  .contact-command .contact-message-form { padding:32px 20px 38px; }
  .contact-command .contact-form-heading h2 { font-size:34px; }
  .contact-location-bar { padding:26px 20px; }
}

/* Small-screen polish: preserve hierarchy and comfortable tap targets without
   allowing dense desktop layouts to squeeze or overflow on phones. */
@media (max-width:760px) {
  .home-proof-strip div { padding:18px 22px; }
  .home-hero { min-height:560px; background-position:center, center, 64% center; }
  .home-hero h1,
  .hero h1,
  .story-hero-copy h2,
  .rapid-hero-copy h2 { font-size:clamp(38px, 12vw, 60px); }
  .hero-actions,
  .rapid-hero-actions,
  .rapid-cta-actions,
  .builder-actions,
  .contact-hero-actions,
  .contact-cta-actions { gap:12px; }
  .btn,
  button.btn { min-height:46px; }

  .portfolio-feature-image { min-height:300px; margin:14px; }
  .portfolio-image { margin:14px 14px 0; }
  .portfolio-feature-meta,
  .portfolio-card-body { padding-left:18px; padding-right:18px; }
  .contact-map { min-height:340px; }

  .specialty-hero-copy { padding:36px 24px; }
  .specialty-feature > div:first-child,
  .specialty-platform { padding:30px 24px; }
  .specialty-quote { padding:30px 24px; }
  .specialty-name-list { padding-left:20px; }

  .story-next-card,
  .story-system-card,
  .story-partner-card,
  .story-national-grid article { padding:22px; }
  .story-rapid-feature { padding:14px; }
  .rapid-video-label,
  .story-rapid-label { max-width:calc(100% - 40px); }
  .rapid-video-label { left:18px; bottom:16px; font-size:10px; }

  .builder-access-card { border-radius:22px; }
  .builder-card-heading { gap:13px; }
  .builder-shield { width:54px; height:54px; border-radius:16px; }
  .builder-shield svg { width:29px; height:29px; }
}

@media (max-width:480px) {
  .page-bg { padding:0; }
  .app-shell { border-right:0; border-left:0; border-radius:0; }
  .site-header { padding:11px 14px; }
  .hero,
  .section,
  .page-title { padding:20px; }
  .eyebrow { font-size:11px; letter-spacing:.18em; }
  .home-hero { min-height:520px; background-position:center, center, 68% center; }
  .home-hero h1,
  .hero h1,
  .story-hero-copy h2,
  .rapid-hero-copy h2 { font-size:clamp(34px, 11.5vw, 48px); }
  .lead { font-size:17px; }
  .home-service-rail article { padding:22px 20px; }
  .contact-map { min-height:300px; }
  .contact-map-wrap { border-radius:20px; }
  .portfolio-feature-image { min-height:250px; margin:10px; }
  .portfolio-image { min-height:220px; margin:10px 10px 0; }
  .portfolio-tags span,
  .graphics-pill { font-size:10px; }
  .builder-access-card { padding:22px; }
  .builder-card-heading { grid-template-columns:1fr; }
  .builder-shield { width:48px; height:48px; }
}

.portfolio-system-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.portfolio-system-list li { min-height:174px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.portfolio-system-list strong { display:block; color:#f5f8ff; font-size:clamp(20px, 2vw, 27px); font-weight:800; letter-spacing:-.035em; line-height:1.08; }
.portfolio-system-list span { display:block; margin-top:14px; color:var(--muted); line-height:1.6; }
@media (max-width:620px) {
  .portfolio-system-list { grid-template-columns:1fr; }
  .portfolio-system-list li { min-height:auto; }
}

/* Portfolio build gallery */
.portfolio-milestones { border-top:1px solid var(--line); }
.portfolio-milestone-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.portfolio-milestone-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:rgba(8,18,33,.72); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.portfolio-milestone-card:nth-child(2) { background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(8,18,33,.72)); }
.portfolio-milestone-video { display:block; width:100%; aspect-ratio:16 / 9; border:0; border-bottom:1px solid var(--line); background:#040a13; object-fit:cover; }
.portfolio-milestone-copy { padding:22px; }
.portfolio-milestone-year { margin:0 0 9px; color:var(--blue-3); font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.portfolio-milestone-copy h3 { margin:0; font-size:clamp(1.25rem, 1.8vw, 1.55rem); line-height:1.08; }
.portfolio-milestone-copy > p:last-child { margin:13px 0 0; color:var(--muted); font-size:.95rem; line-height:1.62; }
.portfolio-milestone-copy .milestone-description { margin:13px 0 0; color:var(--muted); font-size:.95rem; line-height:1.62; }
.milestone-description + .milestone-description { margin-top:12px; }
@media (max-width:980px) { .portfolio-milestone-grid { grid-template-columns:1fr; } }
.portfolio-build-gallery { border-top:1px solid var(--line); }
.portfolio-build-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.portfolio-build-tile { min-width:0; overflow:hidden; border:1px solid var(--line); background:rgba(8,18,33,.72); }
.portfolio-build-rotator { position:relative; aspect-ratio:4 / 3; overflow:hidden; border-bottom:1px solid var(--line); background:#07101d; }
.portfolio-build-slide {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  color:rgba(143,194,255,.82);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.45;
  text-align:center;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 450ms ease-out, transform 450ms ease-out;
  background:linear-gradient(135deg, rgba(25,86,168,.3), transparent 56%), repeating-linear-gradient(135deg, transparent 0 20px, rgba(105,157,219,.05) 20px 21px), #07101d;
}
.portfolio-build-slide:nth-child(2) { background:linear-gradient(315deg, rgba(25,86,168,.3), transparent 56%), repeating-linear-gradient(45deg, transparent 0 20px, rgba(105,157,219,.05) 20px 21px), #07101d; }
img.portfolio-build-slide { width:100%; height:100%; max-width:100%; padding:0; object-fit:cover; background:#07101d; text-transform:none; }
.portfolio-build-slide.is-active { opacity:1; transform:translateY(0); }
.portfolio-build-controls { position:absolute; inset:0 0 10px; z-index:1; display:grid; grid-template-columns:44px 1fr 44px; align-items:end; padding:0 10px; pointer-events:none; }
.portfolio-build-arrow,
.portfolio-build-tabs button { appearance:none; -webkit-appearance:none; border:0; cursor:pointer; }
.portfolio-build-arrow { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(219,234,254,.43); border-radius:50%; color:#fff; background:rgba(4,12,24,.7); pointer-events:auto; transition:border-color 180ms ease, background-color 180ms ease, color 180ms ease; }
.portfolio-build-arrow svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.portfolio-build-arrow:hover { border-color:#fff; background:var(--blue); }
.portfolio-build-tabs { display:flex; min-width:0; align-items:center; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; pointer-events:auto; scrollbar-width:none; }
.portfolio-build-tabs::-webkit-scrollbar { display:none; }
.portfolio-build-tabs button { position:relative; flex:0 0 28px; width:28px; height:44px; padding:0; background:transparent; }
.portfolio-build-tabs button::before { position:absolute; top:50%; right:10px; left:10px; height:3px; border-radius:999px; background:rgba(219,234,254,.42); content:""; transform:translateY(-50%); transition:inset 180ms ease, background-color 180ms ease; }
.portfolio-build-tabs button:hover::before { background:rgba(255,255,255,.8); }
.portfolio-build-tabs button.is-active::before { right:6px; left:6px; background:var(--blue-2); }
.portfolio-build-arrow:focus-visible,
.portfolio-build-tabs button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.portfolio-build-copy { padding:22px; }
.portfolio-build-copy p { margin:0 0 8px; color:var(--blue); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.portfolio-build-copy h3 { margin:0 0 12px; font-size:clamp(1.2rem, 1.8vw, 1.55rem); line-height:1.08; }
.portfolio-build-copy > span { color:var(--muted); font-size:.78rem; }
@media (max-width:980px) { .portfolio-build-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:620px) { .portfolio-build-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) {
  .portfolio-build-slide,
  .legacy-upfit .upfit-lighting-slide { transition:none; }
}
.home-hero .hero-actions { max-width: 640px; }
.home-proof-strip {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  border-bottom:1px solid var(--line);
  background:rgba(5,13,26,.72);
}
.home-proof-strip div { min-height:104px; padding:22px clamp(22px, 3vw, 42px); display:grid; align-content:center; gap:7px; }
.home-proof-strip div + div { border-left:1px solid var(--line); }
.home-proof-strip span { color:var(--blue-3); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.home-proof-strip strong { color:#f2f7ff; font-size:clamp(16px, 1.5vw, 20px); font-weight:750; line-height:1.18; }
.eyebrow {
  margin: 0 0 16px;
  color: var(--blue-2);
  font-size: 13px;
  font-weight: 1000;
  letter-spacing: .25em;
  text-transform: uppercase;
}
h1, h2, h3, h4 { text-transform: none; }
h1 {
  margin: 0;
  max-width: 900px;
  font-size: clamp(48px, 7.5vw, 104px);
  line-height: .88;
  letter-spacing: -.07em;
  font-weight: 1000;
}
.lead {
  max-width: 720px;
  margin: 28px 0 0;
  color: var(--muted);
  font-size: clamp(17px, 2vw, 22px);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 42px; max-width: 760px; }
.stat {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  padding: 18px;
}
.stat strong { display:block; color:white; font-size: 27px; line-height: 1; font-weight: 1000; }
.stat span { display:block; margin-top:8px; color: rgba(255,255,255,.52); font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.visual-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(15,23,42,.95), rgba(2,6,23,.9));
  padding: 24px;
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.vehicle-frame {
  min-height: 360px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(37,99,235,.2), rgba(0,0,0,.18)),
    url('https://hips.hearstapps.com/mtg-prod/65cdbe5e2ce6860008bab0ec/2020-ford-police-interceptor-utility-front-three-quarter-in-motion.jpg?w=1200&width=1200&q=75&format=webp') center / cover;
  position: relative;
  overflow: hidden;
}
.vehicle-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(2,7,17,.78), transparent 52%); }
.checklist { margin: 22px 0 0; display: grid; gap: 12px; }
.check-item { display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); border-radius:16px; padding:14px; background: rgba(255,255,255,.04); color: rgba(255,255,255,.7); font-weight:700; }
.check { display:grid; place-items:center; width:24px; height:24px; border-radius:999px; background:var(--blue); color:white; flex:none; font-size:14px; font-weight:1000; }
.section { padding: clamp(28px, 5vw, 58px); border-top: 1px solid var(--line); }
.section-header { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:26px; }
.section-header h2 { margin:0; font-size: clamp(34px, 5vw, 60px); line-height:.95; letter-spacing:-.05em; font-weight:1000; }
.section-header p { max-width: 580px; color: var(--muted); margin: 0; }
.apparel-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: end;
}
.apparel-section-header > div { min-width: 0; }
.apparel-section-header h2 {
  max-width: 720px;
  white-space: normal;
}
.apparel-production-copy {
  max-width: 520px !important;
  padding: 4px 0 4px 22px;
  border-left: 2px solid rgba(96,165,250,.58);
  font-size: 16px;
  line-height: 1.72 !important;
}
.apparel-production-copy span {
  display: block;
  margin-bottom: 8px;
  color: #f4f8ff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
}
.graphics-services-copy { font-size:16px; line-height:1.7 !important; max-width:520px !important; }
.graphics-services-copy span { color:#fff; display:block; font-weight:800; margin-bottom:7px; }
.grid { display:grid; gap: 18px; }
.grid.three { grid-template-columns: repeat(3, 1fr); }
.grid.two { grid-template-columns: repeat(2, 1fr); }
.card {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.035);
  padding: 24px;
  transition: .2s ease;
}
.card:hover { transform: translateY(-3px); border-color: rgba(96,165,250,.58); background: rgba(255,255,255,.055); }
.icon-box { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background: rgba(37,99,235,.22); border: 1px solid rgba(96,165,250,.35); font-size:28px; margin-bottom:18px; }
.card h3 { margin:0; font-size:25px; line-height:1.02; font-weight:1000; letter-spacing:-.03em; }
.card p { color: var(--muted); margin: 12px 0 0; }
.card ul { margin: 18px 0 0; padding:0; list-style:none; display:grid; gap:8px; color:rgba(255,255,255,.68); font-weight:700; }
.card li::before { content:"✓"; color: var(--blue-2); font-weight:1000; margin-right:8px; }
.media-card { padding: 0; overflow:hidden; }
.media-card img { width:100%; aspect-ratio: 16/9; object-fit: cover; background:#020711; }
.media-card .card-body { padding: 22px; }
.process { counter-reset: step; }
.process .card { position:relative; padding-top:64px; }
.process .card::before { counter-increment: step; content: counter(step); position:absolute; top:20px; left:22px; width:34px; height:34px; display:grid; place-items:center; border-radius:999px; border:1px solid var(--blue-2); background:rgba(37,99,235,.28); color:#fff; font-weight:1000; }
.cta-band {
  border: 1px solid rgba(96,165,250,.24);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(37,99,235,.24), rgba(15,23,42,.58));
  padding: clamp(28px, 5vw, 52px);
  display:grid;
  grid-template-columns: 1fr auto;
  gap:22px;
  align-items:center;
}
.cta-band h2 { margin:0; font-size: clamp(30px, 4.5vw, 58px); line-height:.95; font-weight:1000; letter-spacing:-.05em; }
.cta-band p { color: rgba(255,255,255,.7); max-width: 720px; }
.footer { border-top: 1px solid var(--line); background: rgba(0,0,0,.22); padding: 24px 28px; color:rgba(255,255,255,.52); font-size:12px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.footer-content { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 22px; }
.footer-content p { margin:0; }
.footer-links { display:flex; align-items:center; gap:18px; }
.footer-links a { color:var(--blue-3); text-decoration:underline; text-decoration-color:rgba(147,197,253,.42); text-underline-offset:3px; transition:color .2s ease, text-decoration-color .2s ease; }
.footer-links a:hover, .footer-links a:focus-visible { color:#fff; text-decoration-color:currentColor; }
.footer-links a:focus-visible { outline:2px solid var(--blue-2); outline-offset:4px; border-radius:2px; }
.page-title { padding: clamp(32px, 5vw, 58px); background: radial-gradient(circle at center, rgba(37,99,235,.16), transparent 54%); border-bottom:1px solid var(--line); }
.page-title h1 { font-size: clamp(44px, 6vw, 82px); }
.upfit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  align-items: stretch;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.015);
}
.upfit-copy { align-self:center; max-width:670px; padding:clamp(40px, 5vw, 68px) clamp(0px, 5vw, 76px) clamp(40px, 5vw, 68px) 0; }
.upfit-copy .hero-actions { align-items:center; margin-top:28px; }
.upfit-copy .text-link { margin-left:4px; }
.upfit-hero-note { margin:28px 0 0; color:var(--blue-3); font-size:12px; font-weight:900; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
.upfit-hero-note span { padding:0 8px; color:var(--blue-2); }
.upfit-hero-photo { min-height:440px; margin:0; overflow:hidden; background:#060d18; }
.upfit-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:55% center; display:block; filter:saturate(.78) contrast(1.04); }
.upfit-systems { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(340px, .9fr); background:#07101f; }
.upfit-install-gallery { display:grid; align-self:start; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-template-rows:250px 260px; gap:2px; background:var(--line); }
.upfit-install-gallery figure { position:relative; min-width:0; margin:0; overflow:hidden; background:#07101f; }
.upfit-install-gallery .upfit-install-wide { grid-column:1 / -1; }
.upfit-install-gallery img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.84) contrast(1.05); transition:transform .3s ease, filter .3s ease; }
.upfit-install-gallery figure:hover img { transform:scale(1.025); filter:saturate(1) contrast(1.04); }
.upfit-install-gallery figcaption { position:absolute; left:0; bottom:0; margin:0; padding:10px 13px; background:rgba(4,10,20,.86); color:var(--blue-3); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.upfit-systems-copy { align-self:center; padding:clamp(32px, 5vw, 64px); }
.upfit-system-list { border-top:1px solid var(--line); }
.upfit-system-list article { padding:22px 0; border-bottom:1px solid var(--line); }
.upfit-system-list h3 { margin:0; font-size:clamp(20px, 1.8vw, 26px); font-weight:750; letter-spacing:-.025em; }
.upfit-system-list p { margin:8px 0 0; color:var(--muted); line-height:1.6; }
.upfit-vehicle-types { display:grid; grid-template-columns:minmax(340px, .92fr) minmax(0, 1.08fr); align-items:stretch; }
.upfit-vehicle-copy { padding:clamp(10px, 2vw, 24px) clamp(32px, 5vw, 68px) clamp(12px, 2vw, 24px) 0; }
.upfit-vehicle-copy dl { margin:0; border-top:1px solid var(--line); }
.upfit-vehicle-copy div { padding:22px 0; border-bottom:1px solid var(--line); }
.upfit-vehicle-copy dt { color:#fff; font-size:clamp(20px, 1.8vw, 26px); font-weight:750; letter-spacing:-.025em; }
.upfit-vehicle-copy dd { margin:9px 0 0; color:var(--muted); line-height:1.6; }
.upfit-vehicle-photo { position:relative; min-height:430px; margin:0; overflow:hidden; background:#060d18; }
.upfit-vehicle-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; filter:saturate(.88) contrast(1.04); }
.upfit-page .section-header { margin-bottom:34px; }
.upfit-page .section-header h2 { max-width:760px; font-size:clamp(31px, 3.6vw, 50px); font-weight:750; letter-spacing:-.045em; line-height:1.03; }
.upfit-page .section-header > p { max-width:470px; font-size:16px; line-height:1.6; }
.upfit-support { padding:0 0 30px; border-bottom:1px solid var(--line); }
.upfit-support-intro { display:flex; justify-content:space-between; gap:30px; align-items:end; padding-bottom:28px; }
.upfit-support-intro h2 { margin:0; max-width:520px; font-size:clamp(30px, 3.5vw, 48px); font-weight:750; letter-spacing:-.045em; line-height:1.03; }
.upfit-support-intro p { max-width:440px; margin:0; color:var(--muted); font-size:16px; line-height:1.6; }
.upfit-support-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.upfit-support-grid article { min-width:0; padding:24px 26px; }
.upfit-support-grid article + article { border-left:1px solid var(--line); }
.upfit-support-grid h3 { margin:0; color:var(--blue-3); font-size:12px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.upfit-support-grid p { margin:12px 0 0; color:#eaf2fb; line-height:1.55; }
.upfit-cta { border:0; border-top:1px solid var(--line); border-radius:0; padding:38px 0 0; background:none; }
.upfit-cta h2 { max-width:640px; font-size:clamp(30px, 3.5vw, 48px); font-weight:750; letter-spacing:-.045em; line-height:1.03; }
.upfit-cta .text-link { flex:0 0 auto; margin-left:28px; }
.apparel-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 24px;
  align-items: stretch;
}
.apparel-copy { padding-right: clamp(0px, 2vw, 24px); }
.merch-stage {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.22), transparent 18rem),
    radial-gradient(circle at bottom right, rgba(37,99,235,.14), transparent 16rem),
    linear-gradient(135deg, rgba(8,17,31,.95), rgba(4,10,21,.98));
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.merch-stack { display: grid; gap: 16px; min-height: 100%; }
.merch-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow: hidden;
  height: 216px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(24,55,105,.92), rgba(12,29,58,.96));
}
.merch-card-copy {
  display: flex;
  min-width: 0;
  min-height: 0;
  padding: 22px 20px;
  flex-direction: column;
  justify-content: center;
}
.merch-card-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: right center;
  border-left: 1px solid rgba(96,165,250,.22);
  filter: saturate(.92) contrast(1.04);
}
.merch-card::after { content: none; }
.merch-card strong {
  display: block;
  margin-top: 8px;
  font-size: clamp(20px, 1.65vw, 24px);
  line-height: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.merch-label {
  display: inline-block;
  color: var(--blue-3);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.merch-card-shirt,
.merch-card-cap,
.merch-card-patch { background: linear-gradient(135deg, rgba(24,55,105,.92), rgba(12,29,58,.96)); }
.merch-feature { position: relative; }
.merch-visual {
  display: block;
  width: calc(100% + 48px);
  height: 220px;
  min-height: 220px;
  margin: -24px -24px 20px;
  border-bottom: 1px solid var(--line);
  background-color: #091323;
  object-fit: cover;
}
.merch-product-media .portfolio-build-rotator { height: 100%; aspect-ratio: auto; border-bottom: 0; }
.merch-product-media .portfolio-build-slide { padding: 0; }
.merch-product-card { overflow: hidden; }
.merch-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.merch-tags span {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  padding: 8px 12px;
  color: rgba(255,255,255,.76);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 24px;
  align-items: stretch;
  background:
    radial-gradient(circle at 18% 18%, rgba(96,165,250,.12), transparent 20rem),
    radial-gradient(circle at 82% 24%, rgba(220,38,38,.1), transparent 16rem);
}
.about-hero-copy {
  padding-right: clamp(0px, 2vw, 28px);
}
.about-hero-copy .lead {
  max-width: 760px;
}
.about-hero-panel {
  display: grid;
  gap: 16px;
}
.about-panel-card {
  min-height: 240px;
  border: 1px solid rgba(96,165,250,.24);
  border-radius: 28px;
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(37,99,235,.16), rgba(3,10,22,.92)),
    linear-gradient(135deg, rgba(8,17,31,.95), rgba(4,10,21,.98));
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.about-kicker {
  display: inline-block;
  color: var(--blue-3);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.about-panel-card strong {
  display: block;
  max-width: 330px;
  margin-top: 18px;
  font-size: clamp(30px, 3.5vw, 44px);
  line-height: .94;
  letter-spacing: -.06em;
  text-transform: uppercase;
}
.about-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.about-stat-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
  background: rgba(255,255,255,.035);
}
.about-stat-card span {
  color: var(--blue-2);
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .16em;
}
.about-stat-card strong {
  display: block;
  margin-top: 10px;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.about-stat-card p {
  margin: 12px 0 0;
  color: var(--muted);
}
.about-story {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr);
  gap: 18px;
}
.about-story-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    rgba(255,255,255,.02);
}
.about-story-card p {
  margin: 0;
  color: rgba(255,255,255,.8);
  font-size: 18px;
}
.about-story-card p + p {
  margin-top: 18px;
  color: var(--muted);
}
.about-timeline {
  display: grid;
  gap: 14px;
}
.timeline-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px;
  background: rgba(255,255,255,.03);
}
.timeline-step {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(37,99,235,.2);
  border: 1px solid rgba(96,165,250,.3);
  color: #fff;
  font-size: 13px;
  font-weight: 1000;
  letter-spacing: .14em;
}
.timeline-item h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.03em;
}
.timeline-item p {
  margin: 10px 0 0;
  color: var(--muted);
}
.home-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.home-service-rail { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-service-rail article { min-width:0; padding:clamp(22px, 3vw, 34px); }
.home-service-rail article + article { border-left:1px solid var(--line); }
.home-service-rail h3 { margin:0; max-width:18ch; font-size:clamp(22px, 2.25vw, 31px); font-weight:800; letter-spacing:-.035em; line-height:1.08; }
.home-service-rail p:not(.home-summary-label) { margin:16px 0 0; color:var(--muted); line-height:1.65; }
.home-summary-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)),
    rgba(255,255,255,.02);
  transition: .2s ease;
}
.home-summary-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96,165,250,.5);
  background: rgba(255,255,255,.05);
}
.home-summary-label {
  margin: 0 0 12px;
  color: var(--blue-3);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-summary-card h3 {
  margin: 0;
  font-size: clamp(28px, 3vw, 38px);
  line-height: .96;
  letter-spacing: -.05em;
}
.home-summary-card p:last-of-type {
  margin: 14px 0 0;
  color: var(--muted);
}
.text-link {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: #dbeafe;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-detail-band {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 24px;
  align-items: end;
  padding: clamp(28px, 5vw, 42px);
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 30px;
  background:
    radial-gradient(circle at 18% 20%, rgba(96,165,250,.12), transparent 18rem),
    radial-gradient(circle at 82% 28%, rgba(220,38,38,.08), transparent 14rem),
    linear-gradient(135deg, rgba(8,17,31,.98), rgba(4,10,21,.98));
}
.home-detail-band h2 {
  margin: 0;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: .95;
  letter-spacing: -.05em;
}
.home-detail-band p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}
.contact-message {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 22px;
  align-items: stretch;
  padding: clamp(36px, 5vw, 64px);
  background:
    radial-gradient(circle at 8% 8%, rgba(37,99,235,.17), transparent 34rem),
    #06101f;
}
.contact-panel,
.contact-message-form {
  border: 0;
  border-radius: 26px;
  background:
    radial-gradient(circle at 0 0, rgba(37,99,235,.15), transparent 26rem),
    linear-gradient(145deg, rgba(10,28,54,.96), rgba(5,15,29,.99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.18);
}
.contact-panel {
  padding: clamp(30px, 4vw, 56px);
}
.contact-panel-heading h2 {
  margin: 11px 0 0;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.045em;
}
.contact-panel-heading > p:last-child {
  margin: 18px 0 0;
  color: #b7c9e5;
  font-size: 18px;
  line-height: 1.45;
}
.contact-message-cards {
  display: grid;
  gap: 0;
  max-width: none;
  margin: 46px 0 0;
}
.contact-message-cards .contact-card {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  column-gap: 22px;
  align-items: center;
  min-height: 0;
  padding: 28px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  transform: none;
}
.contact-message-cards .contact-card + .contact-card {
  border-top: 1px solid rgba(148,190,245,.3);
}
.contact-message-cards .contact-card:hover {
  border-color: rgba(148,190,245,.3);
  background: none;
  transform: none;
}
.contact-message-cards .icon-box {
  grid-row: auto;
  width: 80px;
  height: 80px;
  min-width: 80px;
  min-height: 80px;
  padding: 0;
  border: 1px solid rgba(96,165,250,.65);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(37,99,235,.3), rgba(15,49,94,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-size: 31px;
}
.contact-message-cards .contact-card-label {
  margin: 0 0 6px;
  color: var(--blue-3);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.contact-message-cards .contact-card h3 {
  margin: 0;
  font-size: clamp(22px, 1.7vw, 28px);
  letter-spacing: -.025em;
  line-height: 1.12;
}
.contact-message-cards .contact-card-email h3 { font-size: clamp(20px, 1.45vw, 25px); }
.contact-message-cards .contact-card-email h3 a { white-space: normal; }
.contact-message-form { position:relative; min-width:0; padding:clamp(30px, 4vw, 56px); }
.contact-form-heading { margin:0 0 18px; padding-bottom:20px; border-bottom:1px solid rgba(148,190,245,.3); }
.contact-form-heading h1 { margin:8px 0 0; font-size:clamp(38px, 3.6vw, 58px); font-weight:800; line-height:.98; letter-spacing:-.045em; text-transform:none; }
.contact-form-note { margin:0 0 20px; color:#b7c9e5; font-size:16px; }
.contact-form-fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
.contact-message-form label { color: #e4ecf7; font-size: 14px; font-weight: 650; letter-spacing: 0; text-transform: none; }
.contact-message-form .input, .contact-message-form textarea { font-size: 16px; font-weight: 400; }
.contact-message-form textarea { min-height:92px; }
.contact-field-error { min-height:1.25em; color:#ffb6b6; font-size:13px; font-weight:600; line-height:1.35; }
.contact-message-form .input[aria-invalid="true"], .contact-message-form textarea[aria-invalid="true"] { border-color:#f87171; box-shadow:0 0 0 3px rgba(248,113,113,.15); }
.contact-field-wide { grid-column: 1 / -1; }
.contact-form-submit { display:flex; align-items:center; gap:20px; margin-top:22px; }
.contact-form-submit .btn { flex: 0 0 auto; }
.contact-form-submit p { margin: 0; font-size: 13px; line-height: 1.5; color: #aebcd0; }
.contact-form-submit .btn:disabled { opacity: .65; cursor: wait; }
.contact-form-submit .btn:focus-visible { outline: 2px solid var(--blue-3); outline-offset: 4px; }
.contact-form-status { margin: 18px 0 0; color: #c6d6ea; font-size: 15px; }
.contact-form-status:empty { display: none; }
.contact-form-status[data-state="success"] { color: #a7e8c6; }
.contact-form-status[data-state="error"] { color: #ffb6b6; }
.contact-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (min-width:981px) {
  .contact-panel { align-self:stretch; }
}
@media (max-width: 980px) { .contact-message { grid-template-columns: 1fr; } }
@media (max-width: 620px) {
  .contact-message { padding: 22px; }
  .contact-panel,
  .contact-message-form { border-radius: 20px; }
  .contact-panel { padding: 26px; }
  .contact-message-cards { margin-top: 28px; }
  .contact-message-cards .contact-card { grid-template-columns: 60px minmax(0, 1fr); column-gap: 16px; padding: 20px 0; }
  .contact-message-cards .icon-box { width: 60px; height: 60px; min-width: 60px; min-height: 60px; border-radius: 16px; font-size: 24px; }
  .contact-message-cards .contact-card h3 { font-size: 20px; }
  .contact-message-cards .contact-card-email h3 { font-size: 18px; }
  .contact-form-fields { grid-template-columns: 1fr; }
  .contact-form-submit { flex-direction: column; align-items: stretch; }
}
.contact-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 24px;
  align-items: stretch;
  background:
    radial-gradient(circle at 18% 20%, rgba(96,165,250,.12), transparent 18rem),
    radial-gradient(circle at 82% 22%, rgba(220,38,38,.08), transparent 16rem);
}
.contact-hero-copy {
  padding-right: clamp(0px, 2vw, 28px);
}
.contact-hero-copy .lead {
  max-width: 760px;
}
.contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.contact-stage {
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 30px;
  padding: 20px;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.16), transparent 18rem),
    radial-gradient(circle at bottom right, rgba(220,38,38,.12), transparent 14rem),
    linear-gradient(135deg, rgba(8,17,31,.98), rgba(4,10,21,.98));
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.contact-stage-compact {
  display: flex;
}
.contact-stage-main {
  position: relative;
  min-height: 250px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 26px;
  padding: 26px;
  background:
    linear-gradient(180deg, rgba(2,7,17,.08), rgba(2,7,17,.72)),
    linear-gradient(135deg, #0d1b33, #07101f);
  overflow: hidden;
}
.contact-stage-main::before {
  content: "";
  position: absolute;
  top: -34px;
  right: -24px;
  width: 170px;
  height: 170px;
  border-radius: 32px;
  background: rgba(37,99,235,.16);
  transform: rotate(22deg);
}
.contact-stage-main::after {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.05);
}
.contact-callout-label,
.contact-card-label {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: var(--blue-3);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.contact-stage-main strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  font-size: clamp(30px, 3.5vw, 42px);
  line-height: .95;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.contact-stage-main p {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  color: var(--muted);
}
.contact-stage-compact .contact-stage-main {
  min-height: 100%;
}
.contact-stage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.contact-stage-card {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  padding: 18px;
  background: rgba(255,255,255,.04);
}
.contact-stage-card strong {
  display: block;
  margin-top: 8px;
  font-size: 21px;
  line-height: 1.08;
  letter-spacing: -.03em;
  text-transform: none;
  overflow-wrap: anywhere;
}
.contact-stage-card-wide {
  grid-column: span 2;
}
.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.contact-grid-featured {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.contact-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)),
    rgba(255,255,255,.02);
  transition: .2s ease;
}
.contact-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96,165,250,.5);
  background: rgba(255,255,255,.05);
}
.contact-card-highlight {
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.12), transparent 12rem),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
    rgba(255,255,255,.02);
}
.contact-card h3 {
  margin: 10px 0 0;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.05em;
  text-transform: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.contact-card-email h3 {
  font-size: clamp(18px, 1.7vw, 27px);
  letter-spacing: -.02em;
}
.contact-card-email h3 a {
  white-space: nowrap;
}
.contact-card p:last-of-type {
  margin: 14px 0 0;
  color: var(--muted);
}
.contact-info-band {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 24px;
  align-items: end;
  padding: clamp(28px, 5vw, 42px);
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 30px;
  background:
    radial-gradient(circle at 18% 20%, rgba(96,165,250,.12), transparent 18rem),
    radial-gradient(circle at 82% 28%, rgba(220,38,38,.08), transparent 14rem),
    linear-gradient(135deg, rgba(8,17,31,.98), rgba(4,10,21,.98));
}
.contact-info-band h2 {
  margin: 0;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: .95;
  letter-spacing: -.05em;
}
.contact-info-band p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}
.contact-checklist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.contact-check-item {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.04);
  padding: 18px;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.contact-map-wrap {
  overflow: hidden;
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
    rgba(255,255,255,.02);
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.contact-map {
  display: block;
  width: 100%;
  min-height: 460px;
  border: 0;
  filter: invert(.92) hue-rotate(180deg) saturate(.72) brightness(.82) contrast(1.08);
}
.contact-cta {
  border: 1px solid rgba(96,165,250,.24);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(37,99,235,.24), rgba(15,23,42,.58));
  padding: clamp(28px, 5vw, 52px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  align-items: center;
}
.contact-cta h2 {
  margin: 0;
  font-size: clamp(30px, 4.5vw, 58px);
  line-height: .95;
  font-weight: 1000;
  letter-spacing: -.05em;
}
.contact-cta p {
  color: rgba(255,255,255,.7);
  max-width: 720px;
}
.contact-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.graphics-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 24px;
  align-items: stretch;
}
.graphics-copy {
  padding-right: clamp(0px, 2vw, 24px);
}
.graphics-stage {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.18), transparent 18rem),
    radial-gradient(circle at bottom right, rgba(220,38,38,.12), transparent 14rem),
    linear-gradient(135deg, rgba(8,17,31,.98), rgba(4,10,21,.98));
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.graphics-stage-main {
  position: relative;
  min-height: 280px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 26px;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(2,7,17,.08), rgba(2,7,17,.72)),
    linear-gradient(135deg, #0d1b33, #07101f);
  overflow: hidden;
}
.graphics-stage-main::before {
  content: "";
  position: absolute;
  top: -42px;
  right: -32px;
  width: 180px;
  height: 180px;
  border-radius: 34px;
  background: rgba(37,99,235,.16);
  transform: rotate(20deg);
}
.graphics-stage-main::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.05);
}
.graphics-kicker,
.graphics-service-label {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: var(--blue-3);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.graphics-stage-main strong {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 380px;
  margin-top: 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: .95;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.graphics-stage-main p {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  color: var(--muted);
}
.graphics-stage-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 14px;
}
.graphics-stage-card {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: 18px;
  background: rgba(255,255,255,.04);
}
.graphics-stage-card strong {
  display: block;
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.05;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.graphics-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.graphics-service-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)),
    rgba(255,255,255,.02);
  transition: .2s ease;
}
.merch-process-media { overflow:hidden; }
.merch-process-media .upfit-capability-carousel { position:relative; height:100%; overflow:hidden; background:#091323; }
.merch-process-media .upfit-capability-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 360ms; }
.merch-process-media .upfit-capability-slide.is-active { opacity:1; }
.merch-process-media .upfit-capability-dots { position:absolute; z-index:1; right:16px; bottom:14px; display:flex; gap:6px; }
.merch-process-media .upfit-capability-dots span { width:7px; height:7px; border-radius:999px; background:rgba(255,255,255,.48); box-shadow:0 1px 5px rgba(0,0,0,.45); transition:width 180ms,background-color 180ms; }
.merch-process-media .upfit-capability-dots span.is-active { width:20px; background:var(--blue-3); }
@media (prefers-reduced-motion: reduce) {
  .merch-process-media .upfit-capability-slide, .merch-process-media .upfit-capability-dots span { transition:none; }
}
.graphics-service-media {
  margin-bottom: 18px;
}
.graphics-service-media .icon-box {
  margin-bottom: 0;
}
.graphics-service-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid rgba(96,165,250,.3);
  border-radius: 18px;
  background: rgba(4,10,21,.7);
}
.graphics-service-rotator { aspect-ratio:16 / 9; border:1px solid rgba(96,165,250,.3); border-radius:18px; }
.graphics-service-rotator img.graphics-service-image { aspect-ratio:auto; border:0; border-radius:0; height:100%; position:absolute; width:100%; }
.graphics-service-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96,165,250,.5);
  background: rgba(255,255,255,.05);
}
.graphics-service-card h3 {
  margin: 10px 0 0;
  font-size: clamp(28px, 3vw, 38px);
  line-height: .97;
  letter-spacing: -.05em;
}
.graphics-service-card p:last-of-type {
  margin: 14px 0 0;
  color: var(--muted);
}
.graphics-band {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 24px;
  align-items: end;
  padding: clamp(28px, 5vw, 42px);
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 30px;
  background:
    radial-gradient(circle at 18% 20%, rgba(96,165,250,.12), transparent 18rem),
    radial-gradient(circle at 82% 28%, rgba(220,38,38,.08), transparent 14rem),
    linear-gradient(135deg, rgba(8,17,31,.98), rgba(4,10,21,.98));
}
.graphics-band h2 {
  margin: 0;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: .95;
  letter-spacing: -.05em;
}
.graphics-band p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}
.graphics-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.graphics-pill {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  padding: 11px 15px;
  color: rgba(255,255,255,.8);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.portfolio-intro {
  position:relative;
  display:grid;
  grid-template-columns:minmax(400px, .94fr) minmax(0, 1.06fr);
  grid-template-rows:minmax(530px, auto);
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 18% 16%, rgba(37,99,235,.18), transparent 20rem),
    linear-gradient(145deg, #071426, #040b15 72%);
}
.portfolio-intro::before {
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:clamp(110px, 13vw, 220px);
  height:4px;
  background:linear-gradient(90deg, var(--blue) 0 67%, var(--red) 67%);
  content:"";
}
.portfolio-intro-copy {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(52px, 6vw, 92px) clamp(34px, 4.5vw, 72px);
}
.portfolio-intro-copy::after {
  position:absolute;
  right:-1px;
  top:11%;
  width:1px;
  height:78%;
  background:linear-gradient(transparent, rgba(147,197,253,.38), transparent);
  content:"";
}
.portfolio-intro h1 {
  max-width:650px;
  margin:0;
  color:#f8fbff;
  font-size:clamp(3.25rem, 5vw, 5.9rem);
  font-weight:850;
  letter-spacing:-.075em;
  line-height:.86;
}
.portfolio-intro h1 span { display:block; color:#68adff; }
.portfolio-intro-copy > p {
  max-width:590px;
  margin:clamp(28px, 3vw, 38px) 0 0;
  color:#c4cfde;
  font-size:clamp(1rem, 1.25vw, 1.17rem);
  line-height:1.65;
}
.portfolio-intro-actions {
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:clamp(34px, 4vw, 50px);
}
.portfolio-intro-actions > span {
  color:#7f8da1;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.1em;
  line-height:1.5;
  text-transform:uppercase;
}
.portfolio-intro-link {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:48px;
  padding:0 19px;
  border:1px solid rgba(147,197,253,.44);
  border-radius:3px;
  background:rgba(37,99,235,.1);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.portfolio-intro-link span { color:#80baff; font-size:1rem; }
.portfolio-intro-link:hover { border-color:#93c5fd; background:rgba(37,99,235,.22); transform:translateY(-2px); }
.portfolio-intro-link:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.portfolio-intro-visual {
  position:relative;
  min-width:0;
  min-height:530px;
  margin:0;
  overflow:hidden;
  background:#030914;
}
.portfolio-intro-visual::after {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,11,21,.2), transparent 22%),
    linear-gradient(0deg, rgba(2,7,17,.82), transparent 38%);
  content:"";
  pointer-events:none;
}
.portfolio-intro-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:54% center;
  filter:saturate(.88) contrast(1.04);
}
@media (max-width:980px) {
  .portfolio-intro { grid-template-columns:1fr; grid-template-rows:auto; }
  .portfolio-intro-copy { min-height:470px; }
  .portfolio-intro-copy::after { display:none; }
  .portfolio-intro-visual { min-height:460px; }
}
@media (max-width:700px) {
  .portfolio-intro-copy { min-height:auto; padding:46px 24px 42px; }
  .portfolio-intro h1 { font-size:clamp(3rem, 14vw, 4.5rem); line-height:.89; }
  .portfolio-intro-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .portfolio-intro-visual { min-height:0; aspect-ratio:4 / 3; }
  .portfolio-intro-visual img { object-position:58% center; }
}
@media (prefers-reduced-motion: reduce) {
  .portfolio-intro-link { transition:none; }
}
.portfolio-feature {
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 30px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
    rgba(255,255,255,.02);
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
.portfolio-feature-image,
.portfolio-image {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 280px;
  padding: 22px;
  border: 1px dashed rgba(147,197,253,.28);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(2,7,17,.04), rgba(2,7,17,.7)),
    linear-gradient(135deg, rgba(8,17,31,.95), rgba(4,10,21,.98));
  overflow: hidden;
}
.portfolio-feature-image {
  min-height: 390px;
  margin: 20px;
}
.portfolio-feature-image::before,
.portfolio-image::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 20px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .9;
}
.portfolio-feature-image::after,
.portfolio-image::after {
  content: "";
  position: absolute;
  inset: auto -40px -60px auto;
  width: 180px;
  height: 180px;
  border-radius: 32px;
  background: rgba(37,99,235,.14);
  transform: rotate(18deg);
}
.placeholder-badge,
.placeholder-note {
  position: relative;
  z-index: 1;
}
.placeholder-badge {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(96,165,250,.34);
  border-radius: 999px;
  background: rgba(37,99,235,.18);
  padding: 8px 12px;
  color: #dbeafe;
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.placeholder-note {
  max-width: 320px;
  margin-top: 14px;
  color: rgba(255,255,255,.72);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
}
.portfolio-feature-meta {
  display: grid;
  gap: 12px;
  padding: 0 24px 24px;
}
.portfolio-meta-label,
.portfolio-card-type {
  display: inline-block;
  color: var(--blue-3);
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.portfolio-feature-meta strong {
  display: block;
  margin-top: 8px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: .95;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.portfolio-feature-meta p {
  margin: 0;
  color: var(--muted);
}
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.portfolio-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.03);
  transition: .2s ease;
}
.portfolio-card:hover {
  transform: translateY(-3px);
  border-color: rgba(96,165,250,.45);
  background: rgba(255,255,255,.045);
}
.portfolio-image {
  min-height: 240px;
  margin: 20px 20px 0;
}
.portfolio-image-large {
  min-height: 320px;
}
.portfolio-image img,
.portfolio-feature-image img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.portfolio-card-body {
  padding: 22px 22px 24px;
}
.portfolio-card-body h3 {
  margin: 8px 0 0;
  font-size: 28px;
  line-height: .98;
  letter-spacing: -.04em;
}
.portfolio-card-body p:last-of-type {
  margin: 14px 0 0;
  color: var(--muted);
}
.portfolio-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.portfolio-tags span {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  padding: 8px 12px;
  color: rgba(255,255,255,.76);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.portfolio-gallery {
  display: grid;
  grid-template-columns: 1.1fr .9fr .9fr;
  gap: 18px;
}
.portfolio-gallery .portfolio-image {
  min-height: 260px;
  margin: 0;
}
.gallery-tall {
  grid-row: span 2;
  min-height: 540px !important;
}
.gallery-wide {
  grid-column: span 2;
}
.form { display:grid; gap:16px; }
.input, textarea, select { width:100%; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.28); color:#fff; padding:15px 16px; font:inherit; outline:0; }
textarea { min-height: 150px; resize:vertical; }
.input:focus, textarea:focus, select:focus { border-color: var(--blue-2); box-shadow:0 0 0 3px rgba(37,99,235,.18); }
label { display:grid; gap:8px; color:var(--blue-3); font-size:12px; font-weight:1000; letter-spacing:.15em; text-transform:uppercase; }
.theme-fire .app-shell { background:#13090a; box-shadow:0 25px 50px -12px rgba(127,29,29,.45); }
.theme-fire .top-strip, .theme-fire .brand-subtitle, .theme-fire .eyebrow { color:#fca5a5; }
.theme-fire .logo-mark, .theme-fire .btn, .theme-fire .check { background:var(--red); box-shadow:0 14px 28px rgba(220,38,38,.28); }
.theme-fire .nav a:hover, .theme-fire .nav a.active { border-color:#f87171; background:rgba(220,38,38,.22); }
.theme-fire .hero, .theme-fire .page-title, .theme-fire .about-hero { background: radial-gradient(circle at center, rgba(220,38,38,.18), transparent 55%); }
.theme-fire .icon-box { background:rgba(220,38,38,.2); border-color:rgba(248,113,113,.36); }
.theme-fire .card:hover { border-color:rgba(248,113,113,.58); }
@media (max-width: 1120px) {
  .site-header {
    min-height: auto;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 18px;
    padding: 12px 20px;
  }
  .brand-logo { width: 184px; }
  .nav-ready .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: transparent;
    color: #f8fafc;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
  }
  .nav-wrap { flex: 0 0 100%; flex-direction: column; align-items: stretch; gap: 18px; padding: 14px 0 8px; }
  .nav-ready:not(.menu-open) .nav-wrap { display: none; }
  .nav { flex-direction: column; align-items: stretch; gap: 0; border-top: 1px solid var(--line); }
  .nav > a { padding:14px 4px; font-size:14px; }
  .builder-portal-link { width:100%; padding:9px; }
}
@media (max-width: 980px) {
  .site-header, .hero, .cta-band, .apparel-hero, .upfit-hero, .about-hero, .about-story, .portfolio-hero, .home-detail-band, .contact-hero, .contact-info-band, .contact-cta, .graphics-hero, .graphics-band { grid-template-columns: 1fr; }
  .portfolio-hero-copy { min-height:0; padding:30px 0; }
  .portfolio-hero-intro { padding:0 0 0 24px; }
  .upfit-systems, .upfit-vehicle-types { grid-template-columns: 1fr; }
  .upfit-install-gallery { grid-template-rows:220px 250px; }
  .upfit-support-intro { align-items:start; flex-direction:column; gap:12px; }
  .site-header { flex-wrap: wrap; justify-content: space-between; gap: 0 18px; padding: 12px 20px; }
  .brand-logo { width: 184px; }
  .nav-ready .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: transparent;
    color: #f8fafc;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
  }
  .nav-wrap { flex: 0 0 100%; flex-direction: column; align-items: stretch; gap: 18px; padding: 14px 0 8px; }
  .nav-ready:not(.menu-open) .nav-wrap { display: none; }
  .nav { flex-direction: column; align-items: stretch; gap: 0; border-top: 1px solid var(--line); }
  .nav > a { padding:14px 4px; }
  .nav-wrap .btn { margin: 0; }
  .builder-portal-link { width:100%; padding:9px; }
  .home-hero {
    min-height: 680px;
    background-position: center, center, right 24% center;
    background-size: auto, auto, cover;
  }
  .grid.three, .grid.two, .stat-row, .about-stat-grid, .portfolio-grid, .portfolio-gallery, .home-summary-grid, .contact-grid, .contact-grid-featured, .contact-checklist, .graphics-service-grid, .graphics-stage-grid { grid-template-columns: 1fr; }
  .contact-stage-grid { grid-template-columns: 1fr; }
  .contact-stage-card-wide { grid-column: auto; }
  .section-header { display:block; }
  .section-header p { margin-top:14px; }
  .apparel-section-header { display:grid; grid-template-columns:1fr; gap:20px; }
  .apparel-section-header .apparel-production-copy { margin-top:0; }
  .gallery-tall,
  .gallery-wide {
    grid-row: auto;
    grid-column: auto;
    min-height: 260px !important;
  }
}
@media (max-width: 620px) {
  .page-bg { padding: 8px; }
  .app-shell { border-radius: 18px; }
  .site-header { padding: 12px 16px; column-gap: 12px; }
  .brand-logo { width: clamp(130px, 44vw, 184px); }
  .merch-stage { padding:14px; }
  .merch-stack { gap:12px; }
  .merch-card { grid-template-columns:minmax(0,60%) minmax(0,40%); height:200px; border-radius:20px; }
  .merch-card-copy { padding:18px 12px 18px 14px; }
  .merch-card strong { font-size:18px; line-height:1.03; }
  .hero, .section, .page-title { padding: 24px; }
  .upfit-hero { min-height: 0; }
  .upfit-copy { padding: 36px 0; }
  .upfit-hero-photo { min-height: 360px; }
  .upfit-install-gallery { grid-template-rows:190px 200px; }
  .upfit-systems-copy { padding: 28px 0; }
  .upfit-vehicle-copy { padding: 12px 0 28px; }
  .upfit-vehicle-photo { min-height: 360px; }
  .upfit-support { padding:0 0 24px; }
  .upfit-support-intro { display:block; padding-bottom:22px; }
  .upfit-support-intro p { margin-top:12px; }
  .upfit-support-grid { grid-template-columns:1fr; }
  .upfit-support-grid article { padding:20px 0; }
  .upfit-support-grid article + article { border-top:1px solid var(--line); border-left:0; }
  .upfit-cta { display:block; }
  .upfit-cta .text-link { display:inline-block; margin:22px 0 0; }
}

/* Specialty Vehicles & Technology */
.specialty-hero { display:grid; grid-template-columns:1.05fr .95fr; min-height:590px; }
.specialty-hero-copy { align-self:center; padding:72px 56px 72px 64px; }
.specialty-hero-copy h1 { font-size:clamp(42px,5vw,76px); letter-spacing:-.055em; line-height:.96; margin:0 0 24px; }
.specialty-hero-visual { min-height:420px; overflow:hidden; position:relative; }
.specialty-hero-visual::after { background:linear-gradient(180deg,transparent 42%,rgba(6,16,31,.88)); content:""; inset:0; position:absolute; }
.specialty-hero-visual img { filter:saturate(.8) contrast(1.1); height:100%; object-fit:cover; position:absolute; width:100%; }
.specialty-hero-visual span { bottom:28px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.14em; position:absolute; right:30px; z-index:1; }
.specialty-capability-grid { border:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); }
.specialty-capability-grid article { min-height:180px; padding:28px; }
.specialty-capability-grid article + article { border-left:1px solid var(--line); }
.specialty-capability-grid span { color:var(--blue-2); font-size:11px; font-weight:900; }
.specialty-capability-grid h2 { font-size:27px; letter-spacing:-.04em; margin:28px 0 7px; }
.specialty-capability-grid p { color:var(--muted); font-size:14px; margin:0; }
.specialty-system-line { border-bottom:1px solid var(--line); border-top:1px solid var(--line); color:#d8e5f3; font-size:12px; font-weight:900; letter-spacing:.08em; line-height:1.8; margin:42px 0 20px; padding:22px; text-align:center; }
.specialty-system-line b { color:var(--blue-2); padding:0 7px; }
.specialty-statement { color:#fff; font-size:clamp(23px,3vw,42px); font-weight:850; letter-spacing:-.045em; line-height:1.08; margin:26px 0 0; max-width:none; white-space:nowrap; }
.grid.four { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); }
.specialty-detail-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); }
.specialty-detail-grid .card { min-height:220px; }
.specialty-connectivity-grid .card { min-height:0; }
.specialty-detail-grid h3, .specialty-program-grid h3 { font-size:22px; letter-spacing:-.035em; }
.specialty-dark-band { background:linear-gradient(130deg,#102950,#081323 70%); border:1px solid rgba(96,165,250,.25); display:grid; gap:48px; grid-template-columns:1fr .8fr; padding:48px; }
.specialty-dark-band h2, .specialty-platform h2, .specialty-feature h2 { font-size:clamp(30px,3.6vw,52px); letter-spacing:-.05em; line-height:1.02; margin:0 0 20px; }
.specialty-dark-band p, .specialty-platform p, .specialty-feature p { color:#b6c8db; line-height:1.7; }
.specialty-flow { align-self:center; background:radial-gradient(circle at 50% 48%,rgba(42,103,245,.2),transparent 39%),linear-gradient(145deg,rgba(11,32,62,.96),rgba(5,15,29,.98)); border:1px solid rgba(112,172,255,.28); border-radius:26px; box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 48px rgba(1,8,19,.28); display:grid; gap:0; max-width:500px; overflow:hidden; padding:24px; position:relative; width:100%; }
.specialty-flow::before { background:linear-gradient(90deg,transparent,rgba(103,177,255,.45),transparent); content:""; height:1px; left:18%; position:absolute; right:18%; top:50%; }
.specialty-flow-input, .specialty-flow-output { background:rgba(6,19,37,.7); border:1px solid rgba(147,190,244,.17); border-radius:16px; padding:16px; position:relative; text-align:center; z-index:1; }
.specialty-flow-label { color:var(--blue-2); display:block; font-size:10px; font-weight:850; letter-spacing:.13em; line-height:1.25; text-transform:uppercase; }
.specialty-flow-chips, .specialty-flow-results { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:12px; }
.specialty-flow-chips span, .specialty-flow-results span { border:1px solid rgba(129,185,255,.25); border-radius:999px; color:#dcecff; font-size:11px; font-weight:750; letter-spacing:.035em; line-height:1; padding:8px 10px; }
.specialty-flow-chips span { background:rgba(40,100,188,.12); }
.specialty-flow-results span { background:rgba(14,53,106,.35); }
.specialty-flow-connector { display:grid; height:31px; place-items:center; position:relative; z-index:1; }
.specialty-flow-connector::before { background:linear-gradient(var(--blue-2),rgba(82,154,255,.28)); content:""; height:100%; left:50%; position:absolute; top:0; transform:translateX(-50%); width:1px; }
.specialty-flow-connector i { background:#0b1c36; color:var(--blue-2); font-size:18px; font-style:normal; height:20px; line-height:18px; position:relative; width:25px; z-index:1; }
.specialty-flow-core { background:linear-gradient(135deg,#2d72f0,#154896); border:1px solid rgba(184,216,255,.6); border-radius:17px; box-shadow:0 12px 28px rgba(13,73,184,.42),inset 0 1px 0 rgba(255,255,255,.25); overflow:hidden; padding:20px 18px; position:relative; text-align:center; z-index:1; }
.specialty-flow-core::after { border:1px solid rgba(255,255,255,.14); border-radius:50%; content:""; height:140px; left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:140px; }
.specialty-flow-core .specialty-flow-label { color:#cde2ff; position:relative; z-index:1; }
.specialty-flow-core strong { color:#fff; display:block; font-size:17px; letter-spacing:.025em; line-height:1.2; margin-top:7px; position:relative; text-transform:uppercase; z-index:1; }
.specialty-flow-core small { color:#e1edff; display:block; font-size:11px; letter-spacing:.035em; line-height:1.4; margin-top:7px; position:relative; z-index:1; }
.specialty-program-grid .card { min-height:350px; }
.specialty-image-placeholder { align-items:center; background:linear-gradient(135deg,rgba(29,73,135,.52),rgba(8,25,48,.78)),repeating-linear-gradient(135deg,transparent 0 14px,rgba(110,171,250,.07) 14px 15px); border:1px dashed rgba(137,190,255,.55); border-radius:14px; display:flex; justify-content:center; margin-top:27px; min-height:170px; overflow:hidden; position:relative; }
.specialty-image-placeholder::before { border:1px solid rgba(164,207,255,.45); border-radius:50%; content:""; height:44px; left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:44px; }
.specialty-image-placeholder::after { border-left:1px solid rgba(164,207,255,.45); border-top:1px solid rgba(164,207,255,.45); content:""; height:17px; left:50%; position:absolute; top:50%; transform:translate(-50%,-5%) rotate(45deg); width:17px; }
.specialty-image-placeholder span { background:rgba(7,19,37,.78); color:#cfe4ff; font-size:10px; font-weight:850; letter-spacing:.13em; padding:6px 9px; position:relative; text-transform:uppercase; z-index:1; }
.specialty-program-image { border-radius:14px; display:block; margin-top:27px; width:100%; aspect-ratio:16 / 9; object-fit:cover; }
.specialty-program-rotator { aspect-ratio:16 / 9; border:0; border-radius:14px; margin-top:27px; }
.specialty-program-rotator img.specialty-program-image { aspect-ratio:auto; border-radius:0; height:100%; margin:0; position:absolute; width:100%; }
.specialty-build-label { color:var(--blue-2) !important; font-size:11px; font-weight:900; letter-spacing:.12em; margin-top:30px !important; text-transform:uppercase; }
.specialty-program-grid ul { color:#cbd7e5; line-height:1.7; padding-left:20px; }
.specialty-feature { background:#0b1728; display:grid; grid-template-columns:1fr 1fr; }
.specialty-feature > div:first-child { padding:56px; }
.specialty-feature h3 { font-size:22px; margin:32px 0 0; }
.specialty-photo-panel { min-height:480px; overflow:hidden; }
.specialty-photo-panel img { filter:saturate(.8); height:100%; object-fit:cover; width:100%; }
.specialty-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.specialty-tags span { border:1px solid rgba(147,197,253,.35); color:#dceafb; font-size:10px; font-weight:850; letter-spacing:.07em; padding:8px 10px; }
.specialty-platform { background:radial-gradient(circle at 90% 10%,rgba(37,99,235,.28),transparent 34%),#0a1628; display:grid; gap:50px; grid-template-columns:1.1fr .9fr; padding:60px; }
.specialty-name-list { align-self:center; border-left:2px solid var(--blue-2); color:#dbeafe; font-size:clamp(20px,2.5vw,35px); font-weight:850; letter-spacing:-.04em; line-height:1.25; padding:12px 0 12px 30px; }
.specialty-feature-reverse { background:linear-gradient(120deg,#0a1728,#102950); }
.specialty-quote { align-items:center; border-left:1px solid rgba(255,255,255,.2); color:var(--blue-2); display:flex; font-size:clamp(30px,4vw,58px); font-weight:900; letter-spacing:-.055em; line-height:.96; padding:45px; }
.specialty-category-list, .specialty-build-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:38px; }
.specialty-category-list span, .specialty-build-grid > article { border-bottom:1px solid var(--line); color:#eff6ff; font-size:18px; font-weight:800; min-height:112px; padding:20px; }
.specialty-category-list span:not(:nth-child(3n+1)), .specialty-build-grid > article:not(:nth-child(3n+1)) { border-left:1px solid var(--line); }
.specialty-category-list small, .specialty-build-grid small { color:var(--muted); display:block; font-size:12px; font-weight:500; line-height:1.5; margin-top:10px; }
.specialty-build-grid > article { min-height:0; }
.specialty-build-grid h3 { font-size:18px; letter-spacing:-.025em; line-height:1.2; margin:16px 0 0; }
.specialty-build-placeholder { align-items:center; background:linear-gradient(135deg,rgba(27,72,134,.48),rgba(7,23,44,.72)),repeating-linear-gradient(135deg,transparent 0 14px,rgba(110,171,250,.07) 14px 15px); border:1px dashed rgba(137,190,255,.52); color:#cfe4ff; display:flex; font-size:10px; font-weight:850; height:165px; justify-content:center; letter-spacing:.13em; text-transform:uppercase; }
.specialty-build-image { display:block; height:165px; max-width:100%; object-fit:cover; width:100%; }
.specialty-architecture { background:#f0f6fc; color:#0b1b2f; padding:55px; }
.specialty-architecture h2 { font-size:clamp(31px,4vw,55px); letter-spacing:-.055em; line-height:1.02; margin:0; max-width:800px; }
.specialty-architecture .eyebrow { color:#1d4ed8; }
.specialty-architecture ol { display:grid; gap:0; grid-template-columns:repeat(7,1fr); list-style:none; margin:55px 0 30px; padding:0; }
.specialty-architecture li { border-top:3px solid #173c66; min-height:150px; padding:15px 12px; position:relative; }
.specialty-architecture li + li { border-left:1px solid #a8bdd0; }
.specialty-architecture li:not(:last-child)::after { color:#2563eb; content:"\2192"; font-weight:900; position:absolute; right:-7px; top:-14px; z-index:1; }
.specialty-architecture b { display:block; font-size:12px; letter-spacing:.06em; }
.specialty-architecture span { color:#526b85; display:block; font-size:12px; line-height:1.5; margin-top:16px; }
.specialty-architecture > p { color:#29455f; font-size:17px; line-height:1.6; max-width:850px; }
.specialty-company-list { display:grid; gap:14px; grid-template-columns:repeat(4,1fr); margin-top:34px; }
.specialty-company-list span { align-items:center; border:1px solid var(--line); display:flex; font-size:19px; font-weight:850; justify-content:center; min-height:110px; padding:20px; text-align:center; }
.specialty-fine-print { color:var(--muted); font-size:13px; line-height:1.6; margin-top:22px; }
.specialty-build-grid { grid-template-columns:repeat(3,1fr); }

@media (max-width: 1280px) {
  .specialty-statement { white-space:normal; }
  .apparel-section-header h2 { white-space:normal; }
}

@media (max-width: 980px) {
  .specialty-hero, .specialty-dark-band, .specialty-feature, .specialty-platform { grid-template-columns:1fr; }
  .specialty-hero-copy { padding:52px 32px; }
  .specialty-hero-visual { min-height:330px; }
  .grid.four, .specialty-detail-grid { grid-template-columns:repeat(2,1fr); }
  .specialty-build-grid > article:nth-child(odd) { border-left:0; }
  .specialty-feature > div:first-child, .specialty-platform { padding:38px; }
  .specialty-architecture ol { grid-template-columns:repeat(2,1fr); }
  .specialty-architecture li + li { border-left:0; }
  .specialty-architecture li { border-bottom:1px solid #a8bdd0; min-height:auto; }
  .specialty-architecture li:not(:last-child)::after { bottom:-13px; left:10px; right:auto; top:auto; transform:rotate(90deg); }
}

@media (max-width: 620px) {
  .specialty-capability-grid, .specialty-category-list, .specialty-build-grid, .specialty-company-list, .grid.four, .specialty-detail-grid { grid-template-columns:1fr; }
  .specialty-capability-grid article + article, .specialty-category-list span:not(:nth-child(3n+1)), .specialty-build-grid > article { border-left:0; border-top:1px solid var(--line); }
  .specialty-capability-grid article { min-height:130px; }
  .specialty-dark-band, .specialty-architecture { padding:30px 24px; }
  .specialty-photo-panel { min-height:300px; }
  .specialty-quote { border-left:0; border-top:1px solid rgba(255,255,255,.2); }
  .specialty-architecture ol { grid-template-columns:1fr; }
}

/* Our Story */
.story-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:24px; align-items:stretch; background:radial-gradient(circle at 13% 15%,rgba(96,165,250,.14),transparent 21rem),radial-gradient(circle at 88% 28%,rgba(220,38,38,.12),transparent 16rem); }
.story-hero-copy { align-self:center; padding-right:clamp(0px,2vw,30px); }
.story-hero-copy h2 { font-size:clamp(48px,6.5vw,90px); font-weight:1000; letter-spacing:-.07em; line-height:.88; margin:0; text-transform:uppercase; }
.story-hero-copy .lead { max-width:710px; }
.story-hero-panel { border:1px solid rgba(96,165,250,.22); border-radius:30px; display:grid; gap:14px; padding:20px; background:linear-gradient(135deg,rgba(8,17,31,.98),rgba(4,10,21,.98)); box-shadow:0 22px 55px rgba(0,0,0,.24); }
.story-origin-mark { display:block; aspect-ratio:16/9; min-height:0; overflow:hidden; padding:0; position:relative; border:1px solid rgba(255,255,255,.1); border-radius:25px; background:#06101d; }
.story-origin-mark::before { content:none; }
.story-origin-image { display:block; width:100%; height:100%; object-fit:cover; }
.story-hero-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.story-hero-facts div { border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:16px; background:rgba(255,255,255,.035); }
.story-hero-facts span, .story-next-card > span { color:var(--blue-3); display:block; font-size:10px; font-weight:1000; letter-spacing:.16em; text-transform:uppercase; }
.story-hero-facts strong { display:block; margin-top:8px; font-size:16px; line-height:1.1; }
.story-intro { display:grid; grid-template-columns:minmax(0,.88fr) minmax(320px,1.12fr); gap:clamp(28px,7vw,104px); align-items:start; }
.story-intro-lead h2, .story-principles-head h2, .story-reach-copy h2, .story-people-copy h2, .story-people-heading h2, .story-next-intro h2 { font-size:clamp(35px,4.7vw,63px); font-weight:1000; letter-spacing:-.06em; line-height:.93; margin:0; }
.story-intro-copy { border-left:2px solid var(--blue); padding-left:28px; }
.story-intro-copy p, .story-reach-copy p, .story-people-copy p, .story-next-intro p { color:rgba(255,255,255,.78); font-size:18px; line-height:1.72; margin:0; }
.story-intro-copy p + p, .story-reach-copy p + p, .story-people-copy p + p { margin-top:18px; }
.story-timeline-item { padding:40px 0; border-bottom:1px solid var(--line); }
.story-timeline-content { display:grid; grid-template-columns:minmax(320px, .82fr) minmax(0, 1.18fr); gap:clamp(36px, 5vw, 82px); align-items:start; }
.story-timeline-content h3 { padding-top:22px; font-size:clamp(27px,3vw,42px); letter-spacing:-.05em; line-height:.98; margin:0; }
.story-timeline-content h3 span { color:var(--blue-2); }
.story-timeline-body { position:relative; margin:0; padding:22px 24px; border:1px solid rgba(147,197,253,.18); border-left:2px solid var(--blue-2); border-radius:18px; background:linear-gradient(135deg, rgba(18,35,61,.72), rgba(10,21,38,.8)); }
.story-timeline-body::before { content:""; position:absolute; top:29px; left:-8px; width:12px; height:12px; border:2px solid #07101f; border-radius:50%; background:var(--blue-2); box-shadow:0 0 0 4px rgba(37,99,235,.16); }
.story-timeline-body p { margin:0; color:#dce7f4; font-size:17px; line-height:1.7; }
.story-timeline-body p + p { margin-top:16px; padding-top:16px; border-top:1px solid rgba(147,197,253,.17); }
.story-principles-section { background:radial-gradient(circle at 16% 18%,rgba(37,99,235,.15),transparent 22rem),linear-gradient(135deg,rgba(8,17,31,.98),rgba(4,10,21,.98)); }
.story-principles-head { display:grid; gap:0; }
.story-principles-head h2 { margin-top:18px; }
.story-principles-summary { display:grid; grid-template-columns:150px minmax(0,1fr) minmax(0,1fr); gap:0; margin-top:28px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-principles-summary > span { align-self:start; padding:3px 20px 0 0; color:var(--blue-3); font-size:10px; font-weight:1000; letter-spacing:.16em; text-transform:uppercase; }
.story-principles-summary p { margin:0; padding:0 24px; color:#d8e5f2; font-size:16px; line-height:1.58; }
.story-principles-summary p + p { border-left:1px solid rgba(147,197,253,.2); }
.story-principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0; border-bottom:1px solid var(--line); }
.story-principle-card { padding:26px 24px; background:none; }
.story-principle-card + .story-principle-card { border-left:1px solid var(--line); }
.story-principle-card > span { color:var(--blue-2); font-size:13px; font-weight:1000; letter-spacing:.14em; }
.story-principle-card h3 { font-size:27px; letter-spacing:-.045em; line-height:1; margin:0; }
.story-principle-card p { color:var(--muted); margin:13px 0 0; }
.story-reach { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:24px; align-items:stretch; }
.story-reach-panel { border:1px solid rgba(96,165,250,.25); border-radius:28px; padding:30px; background:linear-gradient(135deg,rgba(37,99,235,.2),rgba(5,13,25,.92)); }
.story-reach-label { color:var(--blue-3); font-size:11px; font-weight:1000; letter-spacing:.18em; text-transform:uppercase; }
.story-reach-panel ul { display:grid; gap:0; list-style:none; margin:24px 0 0; padding:0; }
.story-reach-panel li { border-top:1px solid rgba(255,255,255,.13); color:#edf5ff; font-size:18px; font-weight:800; padding:15px 0; }
.story-reach-panel li::before { content:"+"; color:var(--blue-2); display:inline-block; margin-right:11px; }
.story-reach-panel p { color:var(--muted); font-size:15px; line-height:1.65; margin:24px 0 0; }
.story-people { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,1fr); gap:clamp(28px,6vw,80px); align-items:center; }
.story-people-quote { padding:clamp(28px,5vw,55px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-people-quote blockquote { color:#fff; font-size:clamp(30px,4.2vw,57px); font-weight:1000; letter-spacing:-.06em; line-height:.95; margin:0; text-transform:none; }
.story-people-reframed { grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); align-items:stretch; }
.story-people-heading { display:flex; flex-direction:column; min-height:100%; padding:clamp(28px,4vw,52px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-people-heading .eyebrow { margin:0 0 22px; }
.story-people-copy-detail { display:grid; align-content:center; padding:clamp(8px,2vw,24px) 0 clamp(8px,2vw,24px) clamp(24px,4vw,54px); border-left:2px solid var(--blue); }
.story-people-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:auto 0 0; padding:30px 0 0; border-top:1px solid rgba(147,197,253,.22); }
.story-people-facts div + div { padding-left:22px; border-left:1px solid rgba(147,197,253,.22); }
.story-people-facts dt { color:var(--blue-3); font-size:clamp(20px,2.1vw,30px); font-weight:1000; letter-spacing:-.04em; line-height:1; }
.story-people-facts dd { margin:8px 0 0; color:rgba(255,255,255,.66); font-size:12px; font-weight:800; letter-spacing:.09em; line-height:1.35; text-transform:uppercase; }
.story-next { border-top:1px solid rgba(96,165,250,.22); background:radial-gradient(circle at 85% 16%,rgba(220,38,38,.1),transparent 17rem),radial-gradient(circle at 20% 78%,rgba(37,99,235,.15),transparent 23rem); }
.story-next-layout { display:grid; grid-template-columns:minmax(0,.84fr) minmax(360px,1.16fr); gap:clamp(30px,6vw,88px); align-items:start; }
.story-next-intro { padding:clamp(28px,4vw,52px) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-next-intro .eyebrow { margin:0 0 22px; }
.story-next-copy { padding-left:clamp(24px,4vw,54px); border-left:2px solid var(--blue); }
.story-next-copy p { color:rgba(255,255,255,.78); font-size:18px; line-height:1.72; margin:0; }
.story-next-copy p + p { margin-top:18px; }
.story-next-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.story-next-grid-separated { margin-top:clamp(40px,6vw,76px); padding-top:clamp(28px,4vw,50px); border-top:1px solid rgba(147,197,253,.22); }
.story-next-card { border:1px solid rgba(255,255,255,.12); border-radius:26px; min-height:250px; padding:28px; background:rgba(255,255,255,.035); }
.story-next-card h3 { font-size:clamp(29px,3.4vw,44px); letter-spacing:-.055em; line-height:.95; margin:22px 0 0; }
.story-next-card p { color:var(--muted); margin:16px 0 0; }
.story-goals { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }
.story-goals div { border:1px solid rgba(255,255,255,.12); border-radius:18px; color:#dceafb; font-size:14px; font-weight:800; line-height:1.4; padding:18px; background:rgba(255,255,255,.035); }
.story-goals div::before { content:"Future focus"; display:block; color:var(--blue-3); font-size:10px; letter-spacing:.13em; margin-bottom:8px; text-transform:uppercase; }
.story-cta { background:linear-gradient(125deg,rgba(37,99,235,.34),rgba(9,22,42,.9)); }
.story-systems { background:linear-gradient(135deg,rgba(10,29,56,.92),rgba(4,10,20,.96)); border-top:1px solid rgba(96,165,250,.2); }
.story-systems-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); gap:40px; align-items:end; }
.story-systems-intro .eyebrow { grid-column:1 / -1; margin-bottom:-18px; }
.story-systems-intro h2, .story-digital-copy h2, .story-builder h2, .story-national-head h2 { font-size:clamp(35px,4.7vw,63px); font-weight:1000; letter-spacing:-.06em; line-height:.93; margin:0; }
.story-systems-intro p:last-child, .story-digital-copy p, .story-builder-copy p, .story-national-head p { color:var(--muted); font-size:17px; line-height:1.7; margin:0; }
.story-systems-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:38px; }
.story-system-card { border:1px solid rgba(147,197,253,.18); border-radius:24px; padding:26px; background:rgba(255,255,255,.035); }
.story-system-card > span, .story-partner-card > span, .story-national-grid span { color:var(--blue-3); display:block; font-size:10px; font-weight:1000; letter-spacing:.16em; text-transform:uppercase; }
.story-system-card h3, .story-partner-card h3, .story-national-grid h3 { font-size:27px; letter-spacing:-.045em; line-height:1; margin:18px 0 0; }
.story-system-card p, .story-partner-card p, .story-national-grid p { color:var(--muted); line-height:1.65; margin:14px 0 0; }
.story-digital { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:24px; align-items:stretch; }
.story-digital-copy { border-left:2px solid var(--blue); padding:12px 0 12px 28px; }
.story-digital-copy p { margin-top:18px; }
.story-digital-flow { align-items:stretch; border:1px solid rgba(96,165,250,.25); border-radius:26px; display:flex; flex-direction:column; justify-content:center; padding:26px; background:radial-gradient(circle at 72% 28%,rgba(37,99,235,.26),transparent 12rem),linear-gradient(135deg,#0b1d38,#06101d); }
.story-digital-flow span { border:1px solid rgba(147,197,253,.26); color:#eef6ff; font-size:16px; font-weight:1000; letter-spacing:.08em; padding:13px 15px; text-align:center; text-transform:uppercase; }
.story-digital-flow i { color:var(--blue-2); font-size:24px; font-style:normal; line-height:1.1; text-align:center; }
.story-builder { background:radial-gradient(circle at 15% 15%,rgba(96,165,250,.15),transparent 19rem),rgba(255,255,255,.02); }
.story-builder-copy { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; row-gap:22px; margin-top:34px; padding-top:28px; }
.story-builder-copy p + p { margin-top:0; }
.story-builder-copy .text-link { grid-column:1 / -1; margin-top:0; }
.story-partner-grid, .story-national-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.story-partner-card, .story-national-grid article { border:1px solid var(--line); border-radius:25px; padding:26px; background:rgba(255,255,255,.03); }
.story-partner-card:nth-child(2) { background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(255,255,255,.025)); }
.story-partner-video { display:block; width:100%; aspect-ratio:16 / 9; margin:0 0 22px; border:1px solid rgba(147,197,253,.22); border-radius:14px; background:#040a13; object-fit:cover; }
.story-national { background:radial-gradient(circle at 85% 10%,rgba(37,99,235,.2),transparent 21rem),linear-gradient(135deg,#07101f,#081729); }
.story-national-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:32px; align-items:end; }
.story-national-head .eyebrow { grid-column:1 / -1; margin-bottom:-18px; }
.story-national-head h2 { grid-column:1 / -1; white-space:nowrap; }
.story-national-grid { margin-top:36px; }
.story-national-grid article { min-height:250px; }
.story-national-grid article:nth-child(2) { background:rgba(37,99,235,.1); }
.story-rapid-feature { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:30px; align-items:center; border:1px solid rgba(96,165,250,.22); padding:20px; background:linear-gradient(135deg,rgba(8,17,31,.96),rgba(4,10,21,.98)); }
.story-rapid-video { display:block; overflow:hidden; position:relative; aspect-ratio:16 / 9; background:#07101f; }
.story-rapid-video img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.08); transition:transform .3s ease,filter .3s ease; }
.story-rapid-video::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,7,17,.05),rgba(2,7,17,.7)); }
.story-rapid-video:hover img, .story-rapid-video:focus-visible img { transform:scale(1.035); filter:saturate(1) contrast(1.05); }
.story-rapid-play { position:absolute; z-index:1; left:50%; top:50%; width:67px; height:67px; border:1px solid rgba(255,255,255,.62); border-radius:50%; background:rgba(37,99,235,.85); transform:translate(-50%,-50%); }
.story-rapid-play::after { content:""; position:absolute; left:27px; top:21px; width:0; height:0; border-top:12px solid transparent; border-bottom:12px solid transparent; border-left:18px solid #fff; }
.story-rapid-label { position:absolute; z-index:1; left:20px; bottom:17px; color:#fff; font-size:10px; font-weight:1000; letter-spacing:.13em; text-transform:uppercase; }
.story-rapid-copy h2 { font-size:clamp(30px,3.9vw,52px); font-weight:1000; letter-spacing:-.06em; line-height:.93; margin:0; }
.story-rapid-copy p:not(.eyebrow) { color:var(--muted); line-height:1.7; margin:18px 0 0; }

/* Rapid Command */
.rapid-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:24px; align-items:stretch; background:radial-gradient(circle at 14% 20%,rgba(96,165,250,.16),transparent 20rem),radial-gradient(circle at 88% 22%,rgba(220,38,38,.09),transparent 16rem); }
.rapid-hero-copy { align-self:center; padding-right:clamp(0px,2vw,30px); }
.rapid-hero-copy h2 { font-size:clamp(48px,6.8vw,92px); font-weight:1000; letter-spacing:-.07em; line-height:.86; margin:0; text-transform:uppercase; }
.rapid-hero-copy .lead { max-width:720px; }
.rapid-hero-actions, .rapid-cta-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.rapid-hero-marker { min-height:520px; overflow:hidden; position:relative; border:1px solid rgba(96,165,250,.25); border-radius:30px; background:#050d19; }
.rapid-hero-marker-image { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.rapid-video-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:26px; align-items:center; }
.rapid-video-shell { overflow:hidden; border:1px solid rgba(96,165,250,.3); border-radius:28px; aspect-ratio:16 / 9; background:#07101f; box-shadow:0 24px 55px rgba(0,0,0,.28); }
.rapid-video-shell iframe, .rapid-video-shell video, .rapid-video-launch { display:block; width:100%; height:100%; border:0; }
.rapid-video-shell video { object-fit:cover; background:#07101f; }
.rapid-video-launch { cursor:pointer; overflow:hidden; padding:0; position:relative; background:#07101f; color:#fff; }
.rapid-video-launch:focus-visible, .story-rapid-video:focus-visible { outline:3px solid var(--blue-2); outline-offset:4px; }
.rapid-video-launch img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.08); transition:transform .35s ease,filter .35s ease; }
.rapid-video-launch:hover img, .rapid-video-launch:focus-visible img { transform:scale(1.035); filter:saturate(1) contrast(1.05); }
.rapid-video-scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,7,17,.1),rgba(2,7,17,.72)); }
.rapid-video-play { display:grid; place-items:center; position:absolute; left:50%; top:50%; width:86px; height:86px; border:1px solid rgba(255,255,255,.56); border-radius:50%; background:rgba(37,99,235,.85); transform:translate(-50%,-50%); box-shadow:0 0 0 13px rgba(37,99,235,.18); transition:transform .2s ease,background .2s ease; }
.rapid-video-launch:hover .rapid-video-play, .rapid-video-launch:focus-visible .rapid-video-play { background:#3b82f6; transform:translate(-50%,-50%) scale(1.06); }
.rapid-video-play span { width:0; height:0; margin-left:6px; border-top:11px solid transparent; border-bottom:11px solid transparent; border-left:17px solid #fff; }
.rapid-video-label { position:absolute; left:24px; bottom:22px; color:#fff; font-size:12px; font-weight:1000; letter-spacing:.13em; text-transform:uppercase; }
.rapid-video-copy h2, .rapid-statement h2, .rapid-process-copy h2 { font-size:clamp(31px,4vw,53px); font-weight:1000; letter-spacing:-.06em; line-height:.94; margin:0; }
.rapid-video-copy p:not(.eyebrow), .rapid-statement > p, .rapid-process-copy p { color:var(--muted); line-height:1.7; margin:18px 0 0; }
.rapid-capabilities { background:linear-gradient(135deg,rgba(8,17,31,.98),rgba(4,10,21,.98)); }
.rapid-capability-grid { align-items:start; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); margin-top:32px; }
.rapid-capability-grid article { min-height:0; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.rapid-capability-grid h3 { font-size:25px; letter-spacing:-.045em; line-height:1; margin:16px 0 0; }
.rapid-capability-grid p { color:var(--muted); font-size:14px; line-height:1.6; margin:12px 0 0; }
.rapid-capability-placeholder { align-items:center; aspect-ratio:16 / 10; background:linear-gradient(135deg,rgba(28,78,148,.5),rgba(7,22,42,.78)),repeating-linear-gradient(135deg,transparent 0 12px,rgba(111,174,255,.08) 12px 13px); border:1px dashed rgba(137,190,255,.58); color:#cfe4ff; display:flex; font-size:9px; font-weight:900; justify-content:center; letter-spacing:.12em; text-transform:uppercase; }
.rapid-capability-image { aspect-ratio:16 / 10; display:block; object-fit:cover; width:100%; }
.rapid-statement { border:1px solid rgba(96,165,250,.22); padding:clamp(30px,5vw,58px); background:radial-gradient(circle at 14% 18%,rgba(37,99,235,.17),transparent 19rem),linear-gradient(135deg,#0b1d38,#07101f); }
.rapid-statement.rapid-statement h2 { font-size:clamp(25px,1.8vw,29px); letter-spacing:-.045em; white-space:nowrap; }
.rapid-process { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr); gap:45px; align-items:start; }
.rapid-process-steps { display:grid; gap:0; border-top:1px solid var(--line); }
.rapid-process-steps > div { display:grid; padding:19px 0; border-bottom:1px solid var(--line); }
.rapid-process-steps strong { font-size:20px; letter-spacing:-.03em; }
.rapid-process-steps p { margin:7px 0 0; color:var(--muted); }
.rapid-cta { background:linear-gradient(125deg,rgba(37,99,235,.32),rgba(9,22,42,.9)); }

@media (max-width:1450px) {
  .rapid-statement.rapid-statement h2 { white-space:normal; }
}

@media (max-width:980px) {
  .rapid-hero, .rapid-video-layout, .rapid-statement, .rapid-process { grid-template-columns:1fr; }
  .rapid-hero-marker { aspect-ratio:16 / 9; min-height:0; }
  .rapid-statement.rapid-statement h2 { white-space:normal; }
  .rapid-hero-copy { padding-right:0; }
  .rapid-capability-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
  .rapid-hero-marker { aspect-ratio:16 / 9; min-height:220px; }
  .rapid-video-play { width:68px; height:68px; }
  .rapid-capability-grid { grid-template-columns:1fr; }
  .rapid-capability-grid article { min-height:auto; }
}

@media (prefers-reduced-motion: reduce) {
  .rapid-video-launch img, .story-rapid-video img { transition:none; }
}

@media (max-width:980px) {
  .story-hero, .story-intro, .story-principles-head, .story-reach, .story-people, .story-systems-intro, .story-digital, .story-builder, .story-national-head, .story-rapid-feature { grid-template-columns:1fr; }
  .story-people-copy-detail { padding:0; border-left:0; }
  .story-people-heading { min-height:auto; }
  .story-next-layout { grid-template-columns:1fr; }
  .story-next-copy { padding-left:0; border-left:0; }
  .story-builder-copy { grid-template-columns:1fr; }
  .story-timeline-content { grid-template-columns:1fr; gap:20px; }
  .story-timeline-content h3 { padding-top:0; }
  .story-principles-summary { grid-template-columns:1fr; gap:12px; }
  .story-principles-summary > span, .story-principles-summary p { padding:0; }
  .story-principles-summary p + p { padding-top:12px; border-top:1px solid rgba(147,197,253,.2); border-left:0; }
  .story-hero-copy { padding-right:0; }
  .story-principles-head .eyebrow, .story-systems-intro .eyebrow, .story-national-head .eyebrow { grid-column:auto; }
  .story-principles-grid, .story-goals, .story-systems-grid, .story-partner-grid, .story-national-grid { grid-template-columns:1fr; }
  .story-principle-card + .story-principle-card { border-top:1px solid var(--line); border-left:0; }
}
@media (max-width:620px) {
  .story-hero-facts, .story-next-grid { grid-template-columns:1fr; }
  .story-national-head h2 { white-space:normal; }
  .story-timeline-body { padding:18px; }
  .story-intro-copy { padding-left:19px; }
  .story-digital-copy { padding-left:19px; }
  .story-origin-mark { min-height:0; }
  .story-people-quote { padding:30px 0; }
}

/* Typography hierarchy
   Keep the strong, uppercase display voice for page heroes while allowing
   section and card headings to read more naturally and scan more easily. */
h2,
h3,
h4 {
  text-transform: none;
}

.section-header h2 {
  font-size: clamp(30px, 3.7vw, 48px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.card h3,
.portfolio-card-body h3,
.rapid-capability-grid h3,
.story-principle-card h3,
.story-system-card h3,
.story-partner-card h3,
.story-national-grid h3 {
  font-size: clamp(21px, 2vw, 26px);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.home-summary-card h3,
.contact-card h3,
.graphics-service-card h3 {
  font-size: clamp(24px, 2.35vw, 32px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.home-detail-band h2,
.contact-info-band h2,
.graphics-band h2 {
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.cta-band h2,
.contact-cta h2 {
  font-size: clamp(28px, 3.8vw, 48px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.specialty-dark-band h2,
.specialty-platform h2,
.specialty-feature h2,
.specialty-architecture h2 {
  font-size: clamp(29px, 3.35vw, 46px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.06;
}

.specialty-capability-grid h2,
.specialty-detail-grid h3,
.specialty-program-grid h3,
.specialty-feature h3 {
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.story-intro-lead h2,
.story-principles-head h2,
.story-reach-copy h2,
.story-people-copy h2,
.story-people-heading h2,
.story-next-intro h2,
.story-systems-intro h2,
.story-digital-copy h2,
.story-builder h2,
.story-national-head h2 {
  font-size: clamp(30px, 3.7vw, 50px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.story-national-head h2 { font-size:clamp(26px,3.7vw,50px); }
.story-partner-header h2 { font-size:clamp(26px,3.7vw,48px); white-space:nowrap; }

@media (max-width:760px) {
  .story-national-head h2 { white-space:normal; }
  .story-partner-header h2 { white-space:normal; }
}

.story-timeline-content h3,
.story-next-card h3 {
  font-size: clamp(25px, 2.7vw, 36px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.story-rapid-copy h2,
.rapid-video-copy h2,
.rapid-statement h2,
.rapid-process-copy h2 {
  font-size: clamp(29px, 3.5vw, 46px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.05;
}

/* These are the primary page statements and retain the original display voice. */
.home-hero h1,
.upfit-copy h1,
.apparel-copy h1,
.graphics-copy h1,
.specialty-hero-copy h1,
.portfolio-hero-copy h2,
.story-hero-copy h2,
.rapid-hero-copy h2 {
  font-size: clamp(40px, 5.8vw, 80px);
  font-weight: 850;
  letter-spacing: -.055em;
  line-height: .96;
  text-transform: none;
}

.upfit-copy h1 {
  font-size: clamp(38px, 4.4vw, 60px);
  font-weight: 750;
  letter-spacing: -.045em;
  line-height: 1;
}

/* Legal pages */
.legal-page-title { padding-block:clamp(34px, 5vw, 64px); }
.legal-page-title h1 { margin:8px 0 12px; font-size:clamp(42px, 5.3vw, 72px); line-height:.96; letter-spacing:-.055em; }
.legal-page-title > p:last-child { margin:0; color:var(--muted); font-size:14px; }
.legal-content { max-width:920px; margin:0 auto; padding-bottom:clamp(44px, 7vw, 84px); }
.legal-content section { padding:26px 0; border-top:1px solid var(--line); }
.legal-content h2 { margin:0 0 10px; font-size:clamp(24px, 2.5vw, 32px); font-weight:800; letter-spacing:-.035em; line-height:1.12; }
.legal-content p { max-width:75ch; margin:0; color:#c0cbda; font-size:16px; line-height:1.7; }
.legal-content p + p { margin-top:14px; }
.legal-content a { color:var(--blue-3); text-decoration:underline; text-decoration-color:rgba(147,197,253,.45); text-underline-offset:3px; }
.legal-content a:hover, .legal-content a:focus-visible { color:#fff; text-decoration-color:currentColor; }
.legal-intro { max-width:67ch !important; margin:0 0 30px !important; color:#f1f5f9 !important; font-size:clamp(18px, 2vw, 21px) !important; line-height:1.55 !important; }
@media (max-width:620px) {
  .footer { padding:22px 18px; }
  .footer-content { gap:14px; }
  .footer-links { width:100%; justify-content:center; }
}

/* PSD Builder access page */
.builder-access-hero {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
  min-height:650px;
  background:
    radial-gradient(circle at 12% 18%,rgba(37,99,235,.2),transparent 24rem),
    radial-gradient(circle at 92% 72%,rgba(220,38,38,.08),transparent 18rem),
    linear-gradient(135deg,#07101f,#050d19);
}
.builder-access-copy {
  min-width:0;
  max-width:780px;
}
.builder-access-copy h1 {
  max-width:760px;
  margin:14px 0 24px;
  font-size:clamp(46px,6vw,82px);
  font-weight:900;
  letter-spacing:-.065em;
  line-height:.94;
  text-transform:none;
}
.builder-access-copy .lead { max-width:720px; }
.builder-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.builder-entry-note { margin:13px 0 0; color:#d2deec; font-size:14px; font-weight:650; line-height:1.55; }
.builder-security-note {
  display:flex;
  align-items:flex-start;
  gap:11px;
  max-width:650px;
  margin:17px 0 0;
  color:#aebcd0;
  font-size:14px;
  line-height:1.6;
}
.builder-lock-icon {
  position:relative;
  flex:0 0 16px;
  width:16px;
  height:13px;
  margin-top:5px;
  border:1.5px solid var(--blue-2);
  border-radius:3px;
}
.builder-lock-icon::before {
  content:"";
  position:absolute;
  left:3px;
  top:-8px;
  width:8px;
  height:8px;
  border:1.5px solid var(--blue-2);
  border-bottom:0;
  border-radius:8px 8px 0 0;
}
.builder-security-copy {
  min-width:0;
  flex:1 1 auto;
}
.builder-access-card {
  min-width:0;
  padding:clamp(26px,3.5vw,42px);
  border:1px solid rgba(96,165,250,.3);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(16,36,68,.96),rgba(5,13,25,.98));
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.builder-card-heading { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; }
.builder-card-heading .eyebrow { margin-bottom:8px; }
.builder-card-heading h2 { margin:0; font-size:clamp(26px,2.7vw,36px); line-height:1.05; letter-spacing:-.04em; }
.builder-shield {
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border:1px solid rgba(147,197,253,.45);
  border-radius:19px;
  background:var(--blue);
  box-shadow:0 16px 32px rgba(37,99,235,.27);
}
.builder-shield svg { width:34px; height:34px; fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.builder-benefit-list { display:grid; gap:0; list-style:none; margin:30px 0 0; padding:0; border-top:1px solid var(--line); }
.builder-benefit-list li { display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start; padding:15px 0; border-bottom:1px solid var(--line); color:#e3edf9; font-weight:700; }
.builder-benefit-list svg { width:20px; height:20px; margin-top:2px; fill:none; stroke:var(--blue-2); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.builder-process-section { background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)); }
.builder-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:42px 0 0; padding:0; list-style:none; }
.builder-step-grid li { min-width:0; overflow:hidden; border:1px solid rgba(147,197,253,.18); border-radius:24px; background:rgba(255,255,255,.025); box-shadow:0 18px 42px rgba(0,0,0,.16); }
.builder-step-grid li:nth-child(2) { border-color:rgba(96,165,250,.3); background:rgba(37,99,235,.07); }
.builder-step-media { aspect-ratio:16 / 9; overflow:hidden; border-bottom:1px solid var(--line); background:#07101f; }
.builder-step-media .upfit-capability-carousel { position:relative; height:100%; overflow:hidden; background:#07101f; }
.builder-step-media .upfit-capability-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 360ms ease; }
.builder-step-media .upfit-capability-slide.is-active { opacity:1; }
.builder-step-media .upfit-capability-dots { position:absolute; z-index:1; right:16px; bottom:14px; display:flex; gap:6px; }
.builder-step-media .upfit-capability-dots span { width:7px; height:7px; border-radius:999px; background:rgba(255,255,255,.48); box-shadow:0 1px 5px rgba(0,0,0,.45); transition:width 180ms,background-color 180ms; }
.builder-step-media .upfit-capability-dots span.is-active { width:20px; background:var(--blue-3); }
.builder-step-placeholder { display:grid; place-items:center; height:100%; padding:24px; background:radial-gradient(circle at 50% 12%,rgba(96,165,250,.18),transparent 11rem),linear-gradient(145deg,#0b1a31,#07101f); color:rgba(191,219,254,.72); text-align:center; }
.builder-step-placeholder span { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.builder-step-placeholder span::before { width:30px; height:22px; border:1px solid rgba(147,197,253,.45); border-radius:5px; background:linear-gradient(140deg,transparent 48%,rgba(96,165,250,.32) 49% 63%,transparent 64%); content:""; }
.builder-step-content { min-height:190px; padding:26px; }
.builder-step-grid h3 { margin:0; font-size:clamp(22px,2.1vw,28px); font-weight:800; letter-spacing:-.035em; line-height:1.08; }
.builder-step-grid p { margin:14px 0 0; color:var(--muted); font-size:15px; line-height:1.65; }
@media (prefers-reduced-motion:reduce) {
  .builder-step-media .upfit-capability-slide,
  .builder-step-media .upfit-capability-dots span { transition:none; }
}
.builder-ready-copy h2 { margin:12px 0 0; font-size:clamp(31px,4vw,50px); font-weight:800; letter-spacing:-.045em; line-height:1.04; }
.builder-ready-copy > p:last-child { margin:20px 0 0; color:var(--muted); font-size:16px; line-height:1.7; }
.builder-ready-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr); gap:clamp(34px,6vw,84px); align-items:center; }
.builder-ready-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:0; padding:0; list-style:none; }
.builder-ready-list li { min-height:132px; padding:22px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.03); }
.builder-ready-list span { display:block; color:var(--blue-3); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.builder-ready-list strong { display:block; margin-top:18px; font-size:18px; line-height:1.25; }
.builder-access-cta { align-items:center; }
.builder-cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:16px; flex:0 0 auto; }
.builder-cta-actions .text-link { white-space:nowrap; }
@media (max-width:1100px) {
  .builder-access-hero { grid-template-columns:1fr; min-height:auto; }
  .builder-access-copy { max-width:900px; }
  .builder-step-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .builder-ready-section { grid-template-columns:1fr; }
  .builder-access-copy h1 { font-size:clamp(43px,13vw,62px); }
}
@media (max-width:620px) {
  .builder-access-hero { gap:34px; }
  .builder-actions { display:grid; }
  .builder-actions .btn { width:100%; }
  .builder-step-grid,
  .builder-ready-list { grid-template-columns:1fr; }
  .builder-step-content { min-height:auto; padding:24px; }
  .builder-cta-actions { width:100%; }
  .builder-cta-actions .btn { width:100%; }
}

/* Restored Upfitting page */
.legacy-upfit .eyebrow { margin:0 0 16px; color:var(--blue-2); font-size:13px; font-weight:1000; letter-spacing:.25em; text-transform:uppercase; }
.legacy-upfit .lead { max-width:720px; margin:28px 0 0; color:var(--muted); font-size:clamp(17px,2vw,22px); }
.legacy-upfit .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.legacy-upfit .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:14px; background:var(--blue); padding:15px 22px; color:#fff; font-size:14px; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 14px 28px rgba(37,99,235,.28); }
.legacy-upfit .btn.secondary { border:1px solid var(--line); background:rgba(255,255,255,.05); box-shadow:none; }
.legacy-upfit .stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:760px; margin-top:42px; }
.legacy-upfit .stat { border:1px solid var(--line); border-radius:20px; padding:18px; background:rgba(255,255,255,.035); }
.legacy-upfit .stat strong { display:block; color:#fff; font-size:27px; font-weight:1000; line-height:1; }
.legacy-upfit .stat span { display:block; margin-top:8px; color:rgba(255,255,255,.52); font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.legacy-upfit .section-header h2 { margin:0; font-size:clamp(30px,3.7vw,48px); font-weight:800; letter-spacing:-.04em; line-height:1.04; }
.legacy-upfit .grid.three { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.legacy-upfit .card { border:1px solid var(--line); border-radius:24px; padding:24px; background:rgba(255,255,255,.035); }
.legacy-upfit .card h3 { margin:0; font-size:clamp(21px,2vw,26px); font-weight:800; letter-spacing:-.025em; line-height:1.1; }
.legacy-upfit .card p { margin:12px 0 0; color:var(--muted); }
.legacy-upfit .card ul { display:grid; gap:8px; margin:18px 0 0; padding:0; color:rgba(255,255,255,.68); font-weight:700; list-style:none; }
.legacy-upfit .card li::before { margin-right:8px; color:var(--blue-2); font-weight:1000; content:"✓"; }
.legacy-upfit .upfit-hero { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(320px,.95fr); gap:24px; align-items:stretch; border-bottom:0; background:transparent; }
.legacy-upfit .upfit-copy { align-self:stretch; max-width:none; padding:0 clamp(0px,2vw,24px) 0 0; }
.legacy-upfit .upfit-copy h1 { font-size:clamp(42px,5.1vw,72px); font-weight:1000; letter-spacing:-.055em; line-height:.94; text-transform:none; }
.legacy-upfit .upfit-stage { width:100%; max-width:560px; justify-self:end; border:1px solid var(--line); border-radius:28px; padding:24px; background:radial-gradient(circle at left top,rgba(96,165,250,.18),transparent 18rem),radial-gradient(circle at right bottom,rgba(220,38,38,.12),transparent 14rem),linear-gradient(135deg,rgba(8,17,31,.98),rgba(4,10,21,.98)); box-shadow:0 22px 55px rgba(0,0,0,.24); }
.legacy-upfit .upfit-stage-main { position:relative; min-height:280px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:26px; padding:24px; background:linear-gradient(rgba(2,7,17,.06),rgba(2,7,17,.72)),linear-gradient(135deg,#0d1b33,#07101f); }
.legacy-upfit .upfit-stage-main::before { position:absolute; top:-40px; right:-30px; width:180px; height:180px; border-radius:34px; background:rgba(37,99,235,.16); content:""; transform:rotate(22deg); }
.legacy-upfit .upfit-stage-main::after { position:absolute; inset:18px; border:1px solid rgba(255,255,255,.05); border-radius:20px; content:""; }
.legacy-upfit .upfit-kicker { position:relative; z-index:1; display:inline-block; color:var(--blue-3); font-size:11px; font-weight:1000; letter-spacing:.18em; text-transform:uppercase; }
.legacy-upfit .upfit-stage-main > strong { position:relative; z-index:1; display:block; max-width:420px; margin-top:10px; font-size:clamp(24px,2.2vw,32px); font-weight:800; letter-spacing:-.035em; line-height:1.04; }
.legacy-upfit .upfit-stage-main > p { position:relative; z-index:1; max-width:420px; margin:14px 0 0; color:var(--muted); }
.legacy-upfit .upfit-stage-steps { position:relative; z-index:1; display:grid; gap:12px; margin-top:22px; }
.legacy-upfit .upfit-step { border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:14px; background:rgba(255,255,255,.04); }
.legacy-upfit .upfit-step > span { display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(96,165,250,.3); border-radius:12px; background:rgba(37,99,235,.22); color:#fff; font-size:11px; font-weight:1000; letter-spacing:.12em; }
.legacy-upfit .upfit-step strong { margin-top:0; font-size:18px; font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.legacy-upfit .upfit-step p { margin:8px 0 0; color:rgba(255,255,255,.68); font-size:14px; }
.legacy-upfit .upfit-feature { overflow:hidden; }
.legacy-upfit .upfit-visual { height:220px; margin:-24px -24px 20px; border-bottom:1px solid var(--line); background-color:#091323; }
.legacy-upfit .upfit-capability-carousel { position:relative; height:100%; overflow:hidden; background:#07101f; }
.legacy-upfit .upfit-capability-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity 360ms; }
.legacy-upfit .upfit-capability-slide.is-active { opacity:1; }
.legacy-upfit .upfit-capability-dots { position:absolute; z-index:1; right:16px; bottom:14px; display:flex; gap:6px; }
.legacy-upfit .upfit-capability-dots span { width:7px; height:7px; border-radius:999px; background:rgba(255,255,255,.48); box-shadow:0 1px 5px rgba(0,0,0,.45); transition:width 180ms,background-color 180ms; }
.legacy-upfit .upfit-capability-dots span.is-active { width:20px; background:var(--blue-3); }
@media (prefers-reduced-motion: reduce) {
  .legacy-upfit .upfit-capability-slide, .legacy-upfit .upfit-capability-dots span { transition:none; }
}
.legacy-upfit .cta-band { display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; border:1px solid rgba(96,165,250,.24); border-radius:28px; padding:clamp(28px,5vw,52px); background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(15,23,42,.58)); }
.legacy-upfit .cta-band h2 { margin:0; font-size:clamp(28px,3.8vw,48px); font-weight:800; letter-spacing:-.04em; line-height:1.04; }
.legacy-upfit .cta-band p { max-width:720px; color:rgba(255,255,255,.7); }
@media (max-width:980px) {
  .legacy-upfit .upfit-hero, .legacy-upfit .cta-band { grid-template-columns:1fr; }
  .legacy-upfit .grid.three, .legacy-upfit .stat-row { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .legacy-upfit .section { padding:24px; }
}

@media (max-width:720px) {
  .home-proof-strip,
  .home-service-rail { grid-template-columns:1fr; }
  .home-proof-strip div { min-height:auto; }
  .home-proof-strip div + div,
  .home-service-rail article + article { border-left:0; border-top:1px solid var(--line); }
  .home-service-rail h3 { max-width:22ch; }
}

/* The homepage alone retains the oversized display treatment from the live site. */
.home-hero h1 {
  font-size: clamp(48px, 7.5vw, 104px);
  font-weight: 1000;
  letter-spacing: -.07em;
  line-height: .88;
  text-transform: uppercase;
}

/* About page: unified surfaces and section rhythm */
.story-page {
  --story-section: var(--panel);
  --story-surface: linear-gradient(145deg, rgba(15, 34, 59, .94), rgba(7, 18, 33, .96));
  --story-surface-strong: linear-gradient(135deg, #0d2748, #09182c 62%, #07101f);
  --story-band: radial-gradient(circle at 88% 14%, rgba(37, 99, 235, .15), transparent 25rem), linear-gradient(135deg, #081528, #07101f 72%);
  --story-milestone-alt: radial-gradient(circle at 13% 15%, rgba(96, 165, 250, .14), transparent 21rem), radial-gradient(circle at 88% 28%, rgba(220, 38, 38, .12), transparent 16rem), var(--story-section);
  --story-border: rgba(147, 197, 253, .17);
  --story-copy: rgba(255, 255, 255, .7);
  --story-radius: 22px;
  --story-shadow: 0 18px 42px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.story-page .page-bg {
  background: var(--bg);
}

.story-page .app-shell,
.story-page main > .section,
.story-page .story-hero,
.story-page .story-principles-section,
.story-page .story-systems,
.story-page .story-national,
.story-page .story-builder,
.story-page .story-next {
  background: var(--story-section);
}

.story-page .story-hero {
  background: var(--story-section);
}

.story-page .story-principles-section,
.story-page .story-next {
  background: var(--story-band);
}

.story-page .story-milestone-alt {
  background: var(--story-milestone-alt);
}

.story-page main > .section,
.story-page .story-systems,
.story-page .story-next {
  border-color: var(--story-border);
}

.story-page main > .section {
  position: relative;
}

.story-page main > .section::after {
  position: absolute;
  top: -1px;
  left: clamp(28px, 5vw, 58px);
  width: clamp(70px, 10vw, 145px);
  height: 2px;
  background: linear-gradient(90deg, var(--blue-2), rgba(96, 165, 250, 0));
  content: "";
}

.story-page .eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  letter-spacing: .21em;
}

.story-page .eyebrow::before {
  width: 25px;
  height: 2px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue-2), rgba(96, 165, 250, .28));
  box-shadow: 0 0 12px rgba(96, 165, 250, .42);
  content: "";
}

.story-page .story-hero-panel,
.story-page .story-origin-mark,
.story-page .story-hero-facts div,
.story-page .story-reach-panel,
.story-page .story-principle-card,
.story-page .story-system-card,
.story-page .story-national-grid article,
.story-page .story-digital-flow,
.story-page .story-partner-card,
.story-page .story-people-copy-detail,
.story-page .story-next-copy,
.story-page .story-cta {
  border: 1px solid var(--story-border);
  border-radius: var(--story-radius);
  background: var(--story-surface);
  box-shadow: var(--story-shadow);
}

.story-page .story-hero-panel {
  background: linear-gradient(135deg, rgba(8, 17, 31, .98), rgba(4, 10, 21, .98));
  box-shadow: 0 22px 52px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.story-page .story-origin-mark {
  border-radius: 18px;
  background: radial-gradient(circle at 78% 22%, rgba(37, 99, 235, .32), transparent 10rem), linear-gradient(135deg, #0b1d38, #06101d);
}

.story-page .story-origin-mark::before {
  border-color: rgba(147, 197, 253, .24);
  box-shadow: 0 0 0 38px rgba(37, 99, 235, .08), 0 0 0 77px rgba(37, 99, 235, .05);
}

.story-page .story-hero-facts div {
  border-radius: 16px;
}

.story-page .story-reach-panel,
.story-page .story-digital-flow,
.story-page .story-people-copy-detail,
.story-page .story-next-copy {
  overflow: hidden;
  position: relative;
  padding: clamp(24px, 3vw, 34px);
}

.story-page .story-reach-panel::before,
.story-page .story-digital-flow::before,
.story-page .story-people-copy-detail::before,
.story-page .story-next-copy::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--blue-2), rgba(96, 165, 250, 0) 78%);
  content: "";
}

.story-page .story-principles-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
  border-bottom: 0;
}

.story-page .story-systems-intro {
  row-gap: 0;
  column-gap: 40px;
}

.story-page .story-national-head {
  row-gap: 0;
  column-gap: 32px;
}

.story-page .story-systems-intro .eyebrow,
.story-page .story-national-head .eyebrow {
  margin-bottom: 16px;
}

.story-page .story-principle-card + .story-principle-card {
  border-left: 1px solid var(--story-border);
}

.story-page .story-principle-card,
.story-page .story-system-card,
.story-page .story-national-grid article,
.story-page .story-partner-card {
  overflow: hidden;
  position: relative;
}

.story-page .story-principle-card::before,
.story-page .story-system-card::before,
.story-page .story-national-grid article::before,
.story-page .story-partner-card::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 46%;
  height: 2px;
  background: linear-gradient(90deg, var(--blue-2), rgba(96, 165, 250, 0));
  content: "";
}

.story-page .story-system-card,
.story-page .story-national-grid article,
.story-page .story-partner-card {
  border-radius: var(--story-radius);
  background: var(--story-surface);
}

.story-page .story-partner-card:nth-child(2),
.story-page .story-national-grid article:nth-child(2) {
  background: var(--story-surface);
}

.story-page .story-digital-flow span,
.story-page .story-hero-facts div {
  background: rgba(255, 255, 255, .025);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.story-page .story-reach-label,
.story-page .story-system-card > span,
.story-page .story-partner-card > span,
.story-page .story-national-grid span,
.story-page .story-principles-summary > span {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  padding: 7px 10px;
  border: 1px solid rgba(96, 165, 250, .2);
  border-radius: 999px;
  background: rgba(37, 99, 235, .1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.story-page .story-digital-flow i {
  display: grid;
  width: 34px;
  height: 34px;
  align-self: center;
  place-items: center;
  border: 1px solid rgba(96, 165, 250, .22);
  border-radius: 50%;
  background: rgba(37, 99, 235, .11);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .16);
  font-size: 19px;
}

.story-page .story-partner-video,
.story-page .story-digital-flow span,
.story-page .story-reach-panel li,
.story-page .story-principles-summary,
.story-page .story-principles-summary p + p,
.story-page .story-people-facts,
.story-page .story-people-facts div + div,
.story-page .story-builder-copy {
  border-color: var(--story-border);
}

.story-page .story-reach-copy p:not(.eyebrow),
.story-page .story-reach-panel p,
.story-page .story-principles-summary p,
.story-page .story-principle-card p,
.story-page .story-system-card p,
.story-page .story-national-grid p,
.story-page .story-digital-copy p:not(.eyebrow),
.story-page .story-partner-card p,
.story-page .story-builder-copy p,
.story-page .story-people-copy p,
.story-page .story-next-copy p,
.story-page .story-cta p {
  color: var(--story-copy);
}

.story-page .story-people-copy-detail,
.story-page .story-next-copy {
  border-left: 1px solid var(--story-border);
}

.story-page .story-digital-copy,
.story-page .story-people-heading,
.story-page .story-next-intro {
  padding: 0;
  border: 0;
  background: transparent;
}

.story-page .story-people,
.story-page .story-next-layout {
  gap: 24px;
}

.story-page .story-people-copy-detail,
.story-page .story-next-copy {
  min-height: 100%;
}

.story-page .story-cta {
  background: radial-gradient(circle at 82% 18%, rgba(96, 165, 250, .2), transparent 18rem), var(--story-surface-strong);
  box-shadow: 0 24px 52px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .055);
}

@media (max-width: 980px) {
  .story-page .story-principles-grid {
    grid-template-columns: 1fr;
  }

  .story-page .story-people-copy-detail,
  .story-page .story-next-copy {
    border-left: 1px solid var(--story-border);
  }
}
