/* Briefings and workflow diagrams use Broadwing's existing visual system. */
.security-page {
  --security-blue: var(--bw-blue-bright, #3399fe);
  --security-volt: var(--bw-volt, #eeff73);
  color: #b5b5b5;
}
.security-page *, .security-page *::before, .security-page *::after { box-sizing: border-box; }
.security-page a:focus-visible, .security-page summary:focus-visible, .security-table-scroll:focus-visible { outline: 2px solid var(--security-volt); outline-offset: 5px; }
.security-hero { position: relative; overflow: hidden; padding: 40px 56px 36px; border-bottom: 1px solid #222; }
.security-hero > :not(.security-wing) { position: relative; }
.security-wing { position: absolute; right: -160px; top: -60px; height: 520px; opacity: .3; pointer-events: none; }
.security-breadcrumb, .security-label, .security-service-nav, .security-button, .security-text-link, .security-jump-nav, .security-flow-tag { font-family: 'GT America Mono', monospace; }
.security-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; line-height: 1.8; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 28px; }
.security-breadcrumb [aria-current] { color: var(--security-blue); }
.security-hero h1 { font-family: 'Tungsten', 'GT America', sans-serif; font-weight: 600; font-size: clamp(54px, 6vw, 90px); line-height: .95; text-transform: uppercase; text-wrap: balance; max-width: 1000px; color: #fff; margin: 0; }
.security-period { color: var(--security-blue); }
.security-promise { font-family: 'GT America', sans-serif; font-weight: 700; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.35; color: #fff; max-width: 850px; margin: 20px 0 16px; text-wrap: pretty; }
.security-intro { max-width: 76ch; }
.security-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 24px; }
.security-button, .security-copy a[href='/connect/'] { display: inline-flex; justify-content: center; align-items: center; gap: 12px; background: var(--security-blue); color: #000; min-height: 48px; padding: 16px 24px; font-family: 'GT America Mono', monospace; font-size: 12px; line-height: 1.5; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; border: none; }
.security-button:hover, .security-copy a[href='/connect/']:hover { background: var(--security-volt); color: #000; }
.security-text-link { display: inline-block; font-size: 12px; line-height: 1.6; padding: 12px 0; color: var(--security-blue); }
.security-service-nav { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 18px 56px; border-bottom: 1px solid #222; }
.security-service-nav a { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; line-height: 1.6; padding: 10px 0; }
.security-service-nav [aria-current] { color: var(--security-blue); box-shadow: inset 0 -2px var(--security-blue); }
.security-content { padding: 0 56px; }
.security-jump-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; padding: 18px 0; border-bottom: 1px solid #222; font-size: 11px; line-height: 1.6; }
.security-jump-nav .security-label { margin: 0; }
.security-jump-nav a { padding: 12px 0; }
.security-label { font-size: 11px; line-height: 1.6; letter-spacing: .1em; text-transform: uppercase; color: var(--security-blue); margin: 0 0 16px; }
.security-block { padding: 44px 0; border-bottom: 1px solid #333; scroll-margin-top: 24px; }
.security-block h2 { font-family: 'GT America', sans-serif; font-weight: 700; font-size: clamp(26px, 3vw, 42px); line-height: 1.2; color: #fff; margin: 0 0 16px; text-wrap: pretty; }
.security-block h3 { font-family: 'GT America', sans-serif; font-weight: 700; font-size: 20px; line-height: 1.35; color: #fff; margin: 0 0 12px; }
.security-block p { line-height: 1.7; }
.security-block-intro { max-width: 72ch; margin: 0 0 28px; }
.security-briefing { display: grid; grid-template-columns: .9fr 1.4fr; gap: 72px; }
.security-outcomes { padding: 0; margin: 24px 0 0; list-style: none; }
.security-outcomes li { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid #333; font-size: 17px; line-height: 1.5; color: #e3e3e3; }
.security-outcomes li span { color: var(--security-volt); flex-shrink: 0; }
.security-capability { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 22px 0; border-bottom: 1px solid #333; }
.security-capability:first-child { padding-top: 0; }
.security-capability .security-label { padding-top: 3px; }
.security-capability h3 a:hover { color: var(--security-blue); }
.security-capability ul { padding-left: 18px; margin: 0; font-size: 15px; line-height: 1.7; }
.security-capability li + li { margin-top: 5px; }
.security-capability li::marker { color: var(--security-blue); }
.security-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding: 0; margin: 0; list-style: none; }
.security-flow li { position: relative; display: flex; flex-direction: column; border: 1px solid #444; background: #080808; padding: 24px 20px; min-width: 0; }
.security-flow .security-label { margin-bottom: 26px; }
.security-flow p { font-size: 14px; margin: 0 0 24px; }
.security-flow-tag { color: var(--security-volt); border-top: 1px solid #333; padding-top: 12px; font-size: 11px; line-height: 1.6; text-transform: uppercase; margin-top: auto; }
.security-flow-arrow { position: absolute; right: -23px; top: 55px; color: var(--security-blue); font-size: 22px; }
.security-boundary { margin: 24px 0 0; padding: 16px 22px; background: #09131d; border: 1px solid #22415e; color: #c4d5e7; font-size: 14px; line-height: 1.6; }
.security-validation { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.security-checks { list-style: none; padding: 0; margin: 22px 0 0; }
.security-checks li { display: flex; gap: 12px; padding: 12px 0; font-size: 15px; line-height: 1.6; border-top: 1px solid #333; }
.security-checks span { color: var(--security-volt); font-family: 'GT America Mono', monospace; flex-shrink: 0; }
.security-artifact { border-top: 1px solid #555; padding: 18px 0; }
.security-artifact .security-label { margin-bottom: 12px; }
.security-artifact p:last-child { font-size: 14px; margin: 0; }
.security-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.security-evidence-chart { margin: 0; padding: 24px; border: 1px solid #333; }
.security-evidence-chart figcaption { font-family: 'GT America', sans-serif; font-weight: 700; color: #fff; font-size: 20px; line-height: 1.35; margin-bottom: 24px; }
.security-chart-row { margin-top: 20px; }
.security-chart-row span { display: block; color: #e3e3e3; font-size: 13px; margin-bottom: 8px; }
.security-chart-track { height: 12px; background: #171717; }
.security-chart-bar { height: 100%; }
.security-chart-bar--before { background: var(--security-blue); width: 100%; }
.security-chart-bar--after { background: var(--security-volt); width: 1%; min-width: 4px; }
.security-evidence-chart p { font-size: 12px; line-height: 1.6; margin: 18px 0 0; }
.security-technical details { border-bottom: 1px solid #333; scroll-margin-top: 24px; }
.security-technical summary { cursor: pointer; padding: 19px 0; color: #fff; font-family: 'GT America', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.5; }
.security-technical summary::marker { color: var(--security-blue); }
.security-technical details[open] > summary { color: var(--security-blue); }
.security-technical details > .security-copy { padding: 4px 0 24px; }
.security-inquiry { display: flex; gap: 32px; justify-content: space-between; align-items: center; border: 0; padding-bottom: 64px; }
.security-inquiry p { max-width: 66ch; }
.security-inquiry .security-button { flex-shrink: 0; }
.security-copy { font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.security-copy p, .security-copy ul, .security-copy ol { max-width: 72ch; margin: 0 0 20px; }
.security-copy > :last-child { margin-bottom: 0; }
.security-copy h3 { font-family: 'GT America', sans-serif; font-weight: 700; color: #fff; font-size: 21px; line-height: 1.4; margin: 36px 0 14px; max-width: 48ch; text-wrap: pretty; }
.security-copy h3:first-child { margin-top: 0; }
.security-copy strong { color: #e3e3e3; }
.security-copy em { color: #a0a0a0; }
.security-copy ul, .security-copy ol { padding-left: 24px; }
.security-copy li { margin: 0 0 10px; padding-left: 4px; }
.security-copy li::marker { color: var(--security-blue); }
.security-copy a { color: var(--security-blue); text-decoration: underline; text-underline-offset: 4px; }
.security-copy a:hover { color: var(--security-volt); }
.security-copy a[href='/connect/'] { max-width: 100%; margin: 4px 0; }
.security-table-scroll { width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid #333; }
.security-copy table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: 14px; line-height: 1.7; }
.security-copy th, .security-copy td { text-align: left; vertical-align: top; padding: 16px 18px; border-bottom: 1px solid #333; }
.security-copy th { font-family: 'GT America', sans-serif; font-weight: 700; color: #fff; background: #111; }
.security-copy tbody tr:last-child td { border-bottom: none; }
@media (max-width: 1000px) {
  .security-briefing { gap: 32px; grid-template-columns: 1fr 1.25fr; }
  .security-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .security-flow-arrow { display: none; }
}
@media (max-width: 820px) {
  .security-hero { padding: 32px 24px; }
  .security-hero h1 { font-size: clamp(52px, 12vw, 80px); }
  .security-breadcrumb { margin-bottom: 24px; }
  .security-service-nav { padding: 16px 24px; gap: 6px 22px; }
  .security-content { padding: 0 24px; }
  .security-jump-nav { gap: 6px 18px; }
  .security-jump-nav .security-label { flex-basis: 100%; }
  .security-block { padding: 32px 0; }
  .security-briefing, .security-validation, .security-proof { grid-template-columns: 1fr; gap: 32px; }
  .security-flow { grid-template-columns: 1fr; gap: 28px; }
  .security-flow li { padding: 20px; }
  .security-flow .security-label { margin-bottom: 14px; }
  .security-flow p { margin-bottom: 16px; }
  .security-flow-arrow { display: block; top: auto; bottom: -30px; right: calc(50% - 8px); transform: rotate(90deg); }
  .security-inquiry { display: block; padding-bottom: 48px; }
  .security-copy { font-size: 15px; }
}
