:root {
  color-scheme: dark;
  --ink: #050912;
  --navy-950: #071225;
  --navy-900: #0a1b37;
  --navy-800: #102b56;
  --blue: #006dcc;
  --blue-bright: #15a3ff;
  --blue-dark: #005dbd;
  --silver: #cbd5e1;
  --silver-bright: #f2f6fa;
  --steel: #8290a3;
  --paper: #f4f7fa;
  --white: #ffffff;
  --text-dark: #111827;
  --muted-dark: #3f4b5d;
  --muted-light: #b8c4d5;
  --red: #e51c2a;
  --line-dark: #263753;
  --line-light: #c6d0dc;
  --shell: 88rem;
  --heading: "Arial Narrow", "Roboto Condensed", "Helvetica Neue Condensed", Impact, sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--silver-bright);
  font-family: var(--body);
  font-size: 1rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--ink);
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 1rem;
  left: 1rem;
  padding: .75rem 1rem;
  background: var(--white);
  color: var(--ink);
  font-weight: 800;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }

.shell { width: min(calc(100% - 3rem), var(--shell)); margin-inline: auto; }
.section { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--paper); color: var(--text-dark); }
.section-dark { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--navy-950); }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #263753;
  background: #050912;
}
.header-inner { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.wordmark { position: relative; display: inline-flex; min-height: 3rem; align-items: center; text-decoration: none; }
.wordmark span { color: var(--silver-bright); font-family: var(--heading); font-size: 2rem; font-style: italic; font-weight: 950; letter-spacing: -.06em; line-height: 1; text-shadow: 2px 2px 0 #005dbd, 4px 4px 0 #071225; transform: skewX(-5deg); }
.wordmark::after { content: ""; position: absolute; right: -.2rem; bottom: .35rem; width: 2.5rem; height: .18rem; background: var(--blue-bright); transform: skewX(-35deg); }
.nav-list { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); margin: 0; padding: 0; }
.nav-list li { display: block; }
.nav-list a { display: inline-flex; min-height: 3rem; align-items: center; text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nav-list a:not(.nav-cta) { border-bottom: 2px solid transparent; }
.nav-list a:not(.nav-cta):hover { border-color: var(--blue-bright); }
.nav-cta { padding-inline: 1.1rem; background: var(--blue-dark); border: 1px solid var(--blue-bright); }
.nav-cta:hover { background: var(--blue); }

.hero { position: relative; min-height: 60rem; padding: 8rem 0 4rem; overflow: hidden; background: var(--ink); }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, #071225 0 45%, #050912 45% 100%); }
.hero-lines { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(#15253f 1px, transparent 1px), linear-gradient(90deg, #15253f 1px, transparent 1px); background-size: 5rem 5rem; mask-image: linear-gradient(90deg, black, transparent 75%); }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(22rem, .82fr) minmax(34rem, 1.18fr); grid-template-areas: "brand stage" "copy stage" "trust stage"; align-items: center; column-gap: clamp(3rem, 6vw, 7rem); }
.hero-brand { grid-area: brand; align-self: end; }
.sfps-logo { width: min(31rem, 100%); margin-left: -1.2rem; filter: drop-shadow(0 1.5rem 2.5rem #000b); }
.hero-copy { grid-area: copy; align-self: center; max-width: 42rem; }
.eyebrow, .section-kicker { margin: 0 0 1rem; color: var(--blue-bright); font-size: .74rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--heading); font-stretch: condensed; text-transform: uppercase; text-wrap: balance; }
h1 { max-width: 12ch; margin: 0; font-size: clamp(3.4rem, 5.4vw, 6rem); line-height: .88; letter-spacing: -.045em; }
.hero-lede { max-width: 38rem; margin: 1.6rem 0 0; color: var(--muted-light); font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: center; padding: .8rem 1.4rem; border: 2px solid transparent; text-decoration: none; font-size: .8rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.button-primary { position: relative; background: var(--blue); color: var(--white); box-shadow: inset 0 -3px 0 var(--blue-dark); }
.button-primary::after { content: ""; position: absolute; right: -.45rem; bottom: -.16rem; width: 2.3rem; height: .18rem; background: var(--red); transform: skewX(-30deg); }
.button-primary:hover { background: var(--blue-bright); color: var(--ink); }
.button-large { min-height: 4.25rem; padding-inline: 2rem; font-size: .9rem; }
.text-link { display: inline-flex; min-height: 3rem; align-items: center; gap: .65rem; color: var(--white); font-weight: 850; text-decoration-thickness: 2px; text-underline-offset: .35rem; }
.text-link span { color: var(--blue-bright); font-size: 1.35em; }
.dark-link { color: var(--text-dark); }

.facility-stage { grid-area: stage; position: relative; align-self: stretch; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 5.5rem 0 1rem; }
.facility-stage::before { content: ""; position: absolute; inset: 9rem -3rem 3rem; border: 1px solid #28456f; border-top: 3px solid var(--silver); background: linear-gradient(180deg, #102b56 0, #09152a 16% 100%); clip-path: polygon(9% 0, 91% 0, 100% 12%, 100% 100%, 0 100%, 0 12%); box-shadow: 0 2rem 5rem #0008; }
.facility-roof { position: relative; z-index: 2; height: 4rem; margin: 2.5rem 1rem -1px; border-bottom: .55rem solid var(--blue-bright); clip-path: polygon(0 100%, 14% 25%, 50% 0, 86% 25%, 100% 100%); background: linear-gradient(100deg, #8594a7, #f4f7fa 45%, #768498); }
.facility-roof span { position: absolute; bottom: .4rem; width: 1px; height: 2.6rem; background: #65758a; transform-origin: bottom; }
.facility-roof span:nth-child(1) { left: 20%; transform: rotate(58deg); }
.facility-roof span:nth-child(2) { left: 50%; }
.facility-roof span:nth-child(3) { right: 20%; transform: rotate(-58deg); }
.facility-sign { position: relative; z-index: 3; display: flex; align-items: center; gap: .7rem; margin: 0 1rem; padding: 1rem 1.25rem; border: 1px solid #34598c; border-bottom: 0; background: #071225; font-family: var(--heading); font-size: 1.25rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.facility-label { margin-left: auto; color: #a8bad0; font-family: var(--body); font-size: .62rem; letter-spacing: .12em; }
.signal { width: .55rem; height: .55rem; background: var(--red); transform: skewX(-18deg); box-shadow: 1rem 0 0 #8fa0b5; }
.door-display { position: relative; z-index: 3; margin: 0 1rem; }
.door-frame { position: relative; aspect-ratio: 3 / 2; padding: .45rem; overflow: hidden; border: .65rem solid #aebac8; border-top-color: #edf2f7; border-right-color: #78879a; border-bottom-color: #59697d; background: var(--blue-dark); box-shadow: inset 0 0 0 2px #071225, 0 1rem 2.5rem #0007; }
.door-frame img { width: 100%; height: 100%; object-fit: cover; transition: opacity .18s ease; }
.door-frame.is-changing img { opacity: .22; }
.door-number { position: absolute; top: 1rem; right: 1rem; display: grid; min-width: 3.1rem; height: 1.7rem; padding-inline: .5rem; place-items: center; border: 1px solid #adb9c7; background: #f4f7fa; color: #0a1b37; font-size: .64rem; font-weight: 950; letter-spacing: .08em; }
.door-display figcaption { min-height: 3rem; padding: .8rem 1rem; border-inline: 1px solid #34598c; border-bottom: 1px solid #34598c; background: #071225; color: #c5d1df; font-size: .8rem; }
.color-selector { position: relative; z-index: 3; margin: 0 1rem; padding: .65rem .75rem .75rem; border-inline: 1px solid #34598c; background: #09172b; }
.selector-label { display: block; margin-bottom: .4rem; color: #91a4bb; font-size: .59rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.color-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; }
.color-choice { position: relative; min-height: 2.7rem; padding: .5rem .4rem .45rem .8rem; overflow: hidden; border: 1px solid #405471; border-radius: 0; background: #0b1d35; color: #e6edf5; cursor: pointer; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.color-line { position: absolute; inset: 0 auto 0 0; width: .24rem; background: #168eff; }
.color-choice:hover { border-color: var(--blue-bright); }
.color-choice.is-active { border-color: var(--silver-bright); background: #123b70; box-shadow: inset 0 -3px 0 var(--blue-bright); }
.color-choice.is-active::after { content: "Selected"; display: block; margin-top: .08rem; color: #b9dfff; font-size: .47rem; letter-spacing: .1em; }
.project-controls { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin: .55rem 1rem 0; border: 1px solid #405471; background: #071225; }
.project-arrow { min-height: 3rem; padding: .55rem .8rem; border: 0; border-radius: 0; background: transparent; color: #e8eef5; cursor: pointer; font-size: .64rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.project-arrow:first-child { text-align: left; }
.project-arrow:last-child { text-align: right; }
.project-arrow:hover { background: #103769; color: var(--white); }
.project-position { min-width: 5rem; color: var(--blue-bright); font-family: var(--heading); font-size: 1rem; font-weight: 950; letter-spacing: .09em; text-align: center; }

.hero-trust { grid-area: trust; align-self: start; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; max-width: 42rem; margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid #34435a; }
.warranty-mark { display: flex; align-items: center; gap: .55rem; }
.warranty-mark strong { color: var(--white); font-family: var(--heading); font-size: 3.3rem; line-height: .8; }
.warranty-mark span { color: var(--blue-bright); font-size: .62rem; font-weight: 900; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }
.trust-copy { padding-left: 1.2rem; border-left: 1px solid #3b4a61; }
.trust-copy p { margin: 0; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.trust-copy span { color: #aebccc; font-size: .7rem; }
.sboa-badge { width: 6.2rem; }

.proof-strip { padding: 3.8rem 0; border-block: 1px solid var(--line-dark); background: var(--navy-900); }
.proof-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: 4rem; }
.proof-grid h2 { max-width: 16ch; margin: 0; font-size: clamp(2.3rem, 3vw, 3.6rem); line-height: .95; }
.proof-list { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.proof-list div { min-height: 7rem; padding: 1.1rem 1.4rem; border-left: 1px solid #3a4b64; }
.proof-list dt { color: var(--white); font-family: var(--heading); font-size: clamp(1.8rem, 2.4vw, 2.8rem); font-weight: 900; line-height: 1; text-transform: uppercase; }
.proof-list dd { margin: .5rem 0 0; color: #bfcbd9; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.section-heading { margin-bottom: clamp(3rem, 5vw, 5rem); }
.split-heading { display: grid; grid-template-columns: 1fr minmax(20rem, .55fr); align-items: end; gap: 4rem; }
.section-heading h2, .why h2, .process h2, .quote h2, .insights h2, .transformation h2 { margin: 0; font-size: clamp(3rem, 5vw, 5.6rem); line-height: .92; letter-spacing: -.035em; }
.section-heading p:last-child { max-width: 38rem; margin: 0; color: var(--muted-dark); font-size: 1.1rem; }
.service-list { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 2.2rem; padding: 0; border-top: 2px solid var(--text-dark); }
.service-list li { display: block; min-height: 23rem; padding: 1.5rem; border-right: 1px solid var(--line-light); }
.service-list li:last-child { border-right: 0; }
.service-list span { color: var(--blue-dark); font-size: .7rem; font-weight: 900; }
.service-list h3 { margin: 5rem 0 1rem; font-size: clamp(1.8rem, 2.3vw, 2.7rem); line-height: .95; }
.service-list p { color: var(--muted-dark); }

.transformation { overflow: hidden; }
.transformation-grid { display: grid; grid-template-columns: minmax(20rem, .55fr) 1.45fr; align-items: center; gap: clamp(3rem, 6vw, 7rem); }
.transformation-copy p:not(.section-kicker) { color: var(--muted-light); font-size: 1.08rem; }
.image-frame { margin: 0; }
.image-frame img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid #476182; }
.image-frame figcaption { padding-top: .8rem; color: #b6c3d3; font-size: .75rem; }
.transformation-image { position: relative; }
.transformation-image::before { content: ""; position: absolute; z-index: 2; top: -1rem; right: 2rem; width: 5rem; height: .28rem; background: var(--red); transform: skewX(-30deg); }

.why { background: #e9eef3; }
.why-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); }
.why-title-block { position: sticky; top: 2rem; align-self: start; }
.why-points article { display: grid; grid-template-columns: 3rem 1fr; column-gap: 1.5rem; padding: 2rem 0; border-top: 1px solid #aeb9c6; }
.why-points article > span { grid-row: 1 / 3; color: var(--blue-dark); font-size: .72rem; font-weight: 900; }
.why-points h3 { margin: 0; font-size: 2rem; }
.why-points p { margin: .6rem 0 0; color: var(--muted-dark); }

.gallery { background: var(--paper); }
.gallery-grid { display: grid; grid-template-columns: 1.55fr .8fr; gap: 1.5rem; }
.gallery-main { grid-row: span 2; }
.gallery-main img { aspect-ratio: 1.28 / 1; }
.gallery-side img { aspect-ratio: 16 / 9; }
.light-frame img { border-color: #9daaba; }
.light-frame figcaption { color: var(--muted-dark); }

.process-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 9rem); }
.process-heading > p:not(.section-kicker) { color: var(--muted-light); }
.process-list { margin: 0; padding: 0; border-top: 1px solid #445772; }
.process-list li { display: grid; grid-template-columns: 5rem 1fr; padding: 2rem 0; border-bottom: 1px solid #445772; }
.process-list li > span { color: var(--blue-bright); font-family: var(--heading); font-size: 2rem; font-weight: 900; }
.process-list h3 { margin: 0; font-size: 2rem; }
.process-list p { margin: .4rem 0 0; color: var(--muted-light); }

.quote { padding: clamp(5rem, 9vw, 8rem) 0; background: var(--blue-dark); color: var(--white); }
.quote-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 4rem; }
.quote .section-kicker { color: var(--white); }
.quote h2 { max-width: 10ch; font-size: clamp(4rem, 7vw, 7.5rem); }
.quote-grid > div:first-child > p:last-child { max-width: 42rem; font-size: 1.15rem; }
.quote-action { justify-self: end; }
.quote-action .button { background: var(--ink); box-shadow: inset 0 -3px 0 var(--red); }
.quote-action p { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.insights { background: #dae2ea; }
.insights-grid { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 5rem; }
.insight-preview { padding: 2rem 0 0 2rem; border-left: 3px solid var(--blue-dark); }
.insight-preview p { color: var(--muted-dark); }

.site-footer { padding: 5rem 0 1.5rem; background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .5fr .55fr; gap: 4rem; padding-bottom: 4rem; }
.footer-logo { width: 15rem; margin-bottom: 1.5rem; }
.footer-grid > div:first-child p { max-width: 28rem; color: var(--muted-light); }
.site-footer h2, .footer-credential > p:first-child { margin: 0 0 1rem; color: var(--blue-bright); font-family: var(--body); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding-left: 1.2rem; }
.site-footer li { margin: .5rem 0; }
.site-footer a { text-underline-offset: .25rem; }
.footer-credential p { color: var(--muted-light); }
.footer-credential strong { color: var(--white); }
.footer-base { display: flex; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); color: #91a0b2; font-size: .75rem; }

@media (max-width: 68rem) {
  .hero-grid { grid-template-columns: minmax(18rem, .78fr) minmax(29rem, 1.22fr); column-gap: 2rem; }
  .facility-stage { padding-top: 4rem; }
  .service-list { grid-template-columns: repeat(2, 1fr); }
  .service-list li:nth-child(2) { border-right: 0; }
  .service-list li { border-bottom: 1px solid var(--line-light); }
}

@media (max-width: 47.5rem) {
  html { scroll-behavior: auto; }
  .shell { width: min(calc(100% - 2rem), var(--shell)); }
  .site-header { position: relative; }
  .header-inner { min-height: 4rem; }
  .nav-list li:not(:last-child) { display: none; }
  .nav-cta { min-height: 2.75rem !important; font-size: .65rem !important; }
  .hero { min-height: 0; padding: 2rem 0 3.5rem; }
  .hero::before { background: linear-gradient(180deg, #071225 0 35%, #050912 35% 100%); }
  .hero-grid { display: flex; flex-direction: column; align-items: stretch; }
  .hero-brand { order: 1; align-self: center; }
  .sfps-logo { width: min(26rem, 100%); margin: 0 auto 1rem; }
  .hero-copy { order: 2; }
  h1 { max-width: 11ch; font-size: clamp(3.05rem, 14vw, 4.6rem); }
  .hero-lede { font-size: 1rem; }
  .hero-actions { display: grid; align-items: stretch; gap: .85rem; }
  .button { width: 100%; min-height: 3.65rem; }
  .text-link { justify-content: center; }
  .facility-stage { order: 3; margin: 1.5rem -.25rem 0; padding: 3.5rem 0 0; }
  .facility-stage::before { inset: 4.8rem -.75rem 0; clip-path: polygon(7% 0, 93% 0, 100% 9%, 100% 100%, 0 100%, 0 9%); }
  .facility-roof { height: 3.2rem; margin: 0 .25rem -1px; }
  .facility-sign { margin: 0 .25rem; padding: .8rem; font-size: 1rem; }
  .facility-label { display: none; }
  .door-display { margin: 0 .25rem; }
  .door-frame { padding: .35rem; border-width: .4rem; }
  .door-display figcaption { min-height: 4rem; font-size: .72rem; }
  .color-selector { margin: 0 .25rem; padding-inline: .55rem; }
  .color-options { grid-template-columns: repeat(2, 1fr); }
  .color-choice { min-height: 3rem; }
  .project-controls { margin: .55rem .25rem 0; }
  .project-arrow { min-height: 3.5rem; font-size: .6rem; }
  .hero-trust { order: 4; grid-template-columns: auto 1fr; margin-top: 2.5rem; }
  .hero-trust .trust-copy { padding-left: .8rem; }
  .sboa-badge { grid-column: 1 / -1; width: 8.2rem; margin: 1.2rem auto 0; }
  .proof-grid, .split-heading, .transformation-grid, .why-grid, .process-grid, .quote-grid, .insights-grid, .footer-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .proof-list { grid-template-columns: 1fr; }
  .proof-list div { display: grid; grid-template-columns: 7rem 1fr; align-items: center; min-height: 5rem; border-top: 1px solid #3a4b64; border-left: 0; }
  .section-heading h2, .why h2, .process h2, .quote h2, .insights h2, .transformation h2 { font-size: clamp(2.9rem, 13vw, 4.2rem); }
  .service-list { grid-template-columns: 1fr; }
  .service-list li { min-height: 0; padding: 1.5rem 0; border-right: 0; }
  .service-list h3 { margin: 2rem 0 .75rem; }
  .transformation-copy { order: 1; }
  .transformation-image { order: 2; }
  .why-title-block { position: static; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-main { grid-row: auto; }
  .gallery-main img, .gallery-side img { aspect-ratio: 3 / 2; }
  .process-list li { grid-template-columns: 3.5rem 1fr; }
  .quote-action { justify-self: stretch; }
  .insight-preview { padding: 1.5rem 0 0; border-top: 3px solid var(--blue-dark); border-left: 0; }
  .footer-base { flex-direction: column; gap: .5rem; }
}

/* Desktop dynamic section navigation rail */
.section-rail {
  position: fixed;
  z-index: 40;
  top: 50%;
  right: 1.75rem;
  display: none;
  width: 13rem;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.section-rail-list,
.section-rail-list > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.section-rail-list > li::marker { content: ""; }

@media (min-width: 80rem) and (min-height: 30rem) {
  .section-rail {
    display: block;
  }
  .section-rail::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 1.15rem;
    right: .82rem;
    bottom: 1.15rem;
    width: 1px;
    background: linear-gradient(180deg, transparent, #61758a 12%, #168ddd 50%, #61758a 88%, transparent);
    box-shadow: 0 0 .45rem rgb(21 163 255 / .24);
  }
  .section-rail-list {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .4rem;
    margin: 0;
    padding: .45rem 0;
    list-style: none;
  }
  .section-rail-list li { display: block; }
  .section-rail-link {
    position: relative;
    display: flex;
    width: 3.75rem;
    min-height: 3.25rem;
    align-items: center;
    gap: .45rem;
    overflow: hidden;
    margin: 0;
    padding: .5rem 2rem .5rem .7rem;
    border: 1px solid transparent;
    clip-path: polygon(.65rem 0, 100% 0, 100% 100%, .65rem 100%, 0 calc(100% - .65rem), 0 .65rem);
    color: #d4dde7;
    background: transparent;
    font-family: var(--body);
    text-decoration: none;
    pointer-events: auto;
    transition: width 240ms ease, border-color 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
  }
  .section-rail-number {
    flex: 0 0 1.25rem;
    color: #69c9ff;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-align: left;
  }
  .section-rail-label {
    flex: 0 0 auto;
    overflow: hidden;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .section-rail-node {
    position: absolute;
    right: .49rem;
    width: .65rem;
    height: .65rem;
    border: 2px solid #8294a7;
    background: #071321;
    transform: rotate(45deg);
    box-shadow: 0 0 0 3px #071321;
    transition: border-color 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
  }
  .section-rail-link:hover,
  .section-rail-link:focus-visible,
  .section-rail-link[aria-current="location"] {
    width: 13rem;
    border-color: #71869a;
    background: linear-gradient(105deg, rgb(5 13 24 / .97), rgb(10 29 49 / .97));
    box-shadow: inset -.2rem 0 0 #18a8ff, 0 .7rem 1.2rem rgb(0 0 0 / .42), 0 0 .7rem rgb(0 143 255 / .2);
  }
  .section-rail-link:hover .section-rail-node,
  .section-rail-link:focus-visible .section-rail-node,
  .section-rail-link[aria-current="location"] .section-rail-node {
    border-color: #e5f5ff;
    background: #168ee8;
    box-shadow: 0 0 0 3px #071321, 0 0 .65rem #159fff;
  }
  .section-rail-link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section-rail-link,
  .section-rail-number,
  .section-rail-node { transition: none; }
}

@media (max-width: 23rem) {
  .shell { width: min(calc(100% - 1.25rem), var(--shell)); }
  .wordmark span { font-size: 1.55rem; }
  .nav-cta { padding-inline: .7rem; }
  .warranty-mark strong { font-size: 2.7rem; }
  .trust-copy span { display: none; }
}

/* Facility Surfaces showcase */
.services-showcase {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5rem, 8vw, 8.5rem);
  color: #f4f7fb;
  background:
    linear-gradient(115deg, rgb(5 18 34 / .1) 0 46%, rgb(0 136 231 / .08) 46.1% 46.25%, transparent 46.35%),
    radial-gradient(circle at 83% 12%, rgb(0 151 255 / .14), transparent 27rem),
    linear-gradient(180deg, #071321 0%, #030914 100%);
}
.services-showcase::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .17;
  background-image:
    linear-gradient(rgb(97 157 203 / .3) 1px, transparent 1px),
    linear-gradient(90deg, rgb(97 157 203 / .3) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 82%, transparent);
}
.services-showcase::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: max(1rem, calc((100% - 104rem) / 2));
  width: min(31rem, 42vw);
  height: .2rem;
  background: linear-gradient(90deg, #16a3ff 0 25%, rgb(180 209 232 / .5) 25% 72%, transparent);
  box-shadow: 0 0 1rem rgb(22 163 255 / .45);
}
.services-showcase > .shell { max-width: 104rem; }
.services-showcase .section-heading {
  align-items: end;
  gap: clamp(2rem, 7vw, 8rem);
  margin-bottom: clamp(2.5rem, 4.5vw, 4.75rem);
  padding-bottom: clamp(1.8rem, 3vw, 2.75rem);
  border-bottom: 1px solid #68809a;
}
.services-showcase .section-kicker { color: #55bdff; }
.services-showcase .section-kicker::before { background: #55bdff; box-shadow: 0 0 .75rem rgb(22 163 255 / .7); }
.services-showcase .section-heading h2 {
  max-width: 13ch;
  color: #f4f7fb;
  font-size: clamp(3.3rem, 5.35vw, 6.5rem);
  line-height: .88;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.services-showcase .section-heading h2 span { display: block; color: #16a3ff; text-shadow: 0 0 1.8rem rgb(22 163 255 / .22); }
.services-showcase .section-heading > p { max-width: 31rem; color: #c8d4e2; font-size: clamp(1rem, 1.25vw, 1.2rem); }
.services-showcase .service-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.9rem, 1.35vw, 1.5rem);
  margin-bottom: clamp(2.5rem, 4vw, 4rem);
}
.services-showcase .service-card {
  position: relative;
  min-height: 0;
  padding: 1px;
  overflow: hidden;
  border: 0;
  clip-path: polygon(0 1.15rem, 1.15rem 0, calc(100% - 1.15rem) 0, 100% 1.15rem, 100% calc(100% - 1.15rem), calc(100% - 1.15rem) 100%, 1.15rem 100%, 0 calc(100% - 1.15rem));
  background: linear-gradient(135deg, #9db0c1 0%, #3a526a 24%, #0e91e8 51%, #334c65 72%, #9db0c1 100%);
  box-shadow: 0 1.2rem 2.6rem rgb(0 0 0 / .34);
}
.services-showcase .service-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 2.8rem;
  width: 5.5rem;
  height: .18rem;
  background: #16a3ff;
  box-shadow: 0 0 .8rem rgb(22 163 255 / .78);
}
.service-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #081625;
}
.service-media::after { content: ""; position: absolute; inset: auto 0 0; height: 30%; background: linear-gradient(transparent, rgb(3 9 20 / .42)); pointer-events: none; }
.service-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.service-media-placeholder {
  display: grid;
  place-items: center;
  padding: 2rem;
  color: #aebdce;
  background:
    linear-gradient(135deg, transparent 0 48%, rgb(22 163 255 / .16) 48.2% 48.5%, transparent 48.7%),
    repeating-linear-gradient(90deg, rgb(104 128 154 / .09) 0 1px, transparent 1px 2.75rem),
    linear-gradient(145deg, #0b1b2c, #06101d);
  text-align: center;
}
.service-media-placeholder span { max-width: 13rem; font: 700 .76rem/1.35 "Arial Narrow", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.service-content { min-height: 13rem; padding: 1.45rem 1.35rem 1.6rem; background: linear-gradient(145deg, #0b1928, #06101c); }
.services-showcase .service-number { display: block; margin: 0 0 .65rem; color: #55bdff; font: 800 .78rem/1 Arial, sans-serif; letter-spacing: .13em; }
.services-showcase .service-card h3 { margin: 0 0 .75rem; color: #f4f7fb; font-size: clamp(1.3rem, 1.55vw, 1.75rem); text-transform: uppercase; }
.services-showcase .service-card p { color: #b9c8d7; font-size: .96rem; line-height: 1.55; }
.services-cta {
  display: inline-flex;
  align-items: center;
  min-height: 3.25rem;
  padding: .8rem 1.1rem .8rem 1.25rem;
  gap: 1.4rem;
  border: 1px solid #68809a;
  clip-path: polygon(0 0, calc(100% - .75rem) 0, 100% .75rem, 100% 100%, .75rem 100%, 0 calc(100% - .75rem));
  color: #f4f7fb;
  background: linear-gradient(110deg, #0b1c2e, #07131f);
  font: 800 .82rem/1.2 Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.services-cta span { color: #55bdff; font-size: 1.2rem; }
.services-cta:hover { border-color: #55bdff; background: #0d263d; }
.services-cta:focus-visible { outline: 3px solid #f4f7fb; outline-offset: 4px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .services-showcase .service-card:hover .service-media img { transform: scale(1.018); }
}
@media (max-width: 75rem) {
  .services-showcase .service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
  .service-content { min-height: 11rem; }
}
@media (max-width: 47.5rem) {
  .services-showcase { padding-block: 4.5rem; }
  .services-showcase .section-heading { grid-template-columns: 1fr; align-items: start; gap: 1.4rem; }
  .services-showcase .section-heading h2 { max-width: 10ch; font-size: clamp(3.1rem, 15vw, 4.7rem); }
  .services-showcase .service-list { grid-template-columns: 1fr; gap: 1.25rem; }
  .service-media { aspect-ratio: 16 / 10; }
  .service-content { min-height: 0; padding: 1.35rem 1.25rem 1.5rem; }
  .services-cta { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .service-media img { transition: none; }
}

/* Facility Surfaces second pass: close translation of the approved industrial showcase. */
.services-showcase {
  padding-block: clamp(4.2rem, 5.8vw, 6.8rem) clamp(5.2rem, 7vw, 8rem);
  background:
    radial-gradient(ellipse at 55% 102%, rgb(0 112 224 / .32), transparent 33%),
    linear-gradient(90deg, transparent 0 49.8%, rgb(21 145 255 / .12) 50%, transparent 50.2%),
    repeating-linear-gradient(0deg, rgb(92 128 166 / .055) 0 1px, transparent 1px 3rem),
    linear-gradient(180deg, #020814 0%, #020712 68%, #01050d 100%);
}
.services-showcase::before {
  opacity: .34;
  background-image:
    radial-gradient(circle at 78% 14%, transparent 0 1.1rem, rgb(49 120 181 / .12) 1.15rem 1.22rem, transparent 1.27rem),
    linear-gradient(135deg, transparent 0 43%, rgb(32 120 193 / .15) 43.1% 43.25%, transparent 43.35%),
    linear-gradient(rgb(76 130 178 / .19) 1px, transparent 1px),
    linear-gradient(90deg, rgb(76 130 178 / .19) 1px, transparent 1px);
  background-size: 4.5rem 4.5rem, 100% 100%, 3.5rem 3.5rem, 3.5rem 3.5rem;
  mask-image: linear-gradient(180deg, #000, rgb(0 0 0 / .4) 68%, transparent 98%);
}
.services-showcase::after {
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: 20%;
  opacity: .62;
  background:
    linear-gradient(174deg, transparent 0 48%, rgb(39 108 170 / .24) 48.2% 48.5%, transparent 48.7%),
    repeating-linear-gradient(90deg, transparent 0 8rem, rgb(66 127 181 / .17) 8rem calc(8rem + 1px)),
    linear-gradient(180deg, transparent, rgb(3 35 68 / .56));
  box-shadow: inset 0 .1rem 0 rgb(37 146 239 / .19);
  transform: perspective(24rem) rotateX(53deg) scaleX(1.25);
  transform-origin: bottom;
}
.services-showcase > .shell { position: relative; z-index: 1; max-width: 106rem; }
.services-watermark {
  position: absolute;
  z-index: -1;
  top: -3.4rem;
  right: -1rem;
  width: min(32rem, 34vw);
  opacity: .085;
  filter: grayscale(1) brightness(.74) contrast(1.25) sepia(.12) hue-rotate(165deg);
  pointer-events: none;
  user-select: none;
}
.services-showcase .section-heading {
  position: relative;
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .72fr);
  align-items: center;
  min-height: clamp(17rem, 23vw, 23rem);
  gap: clamp(2rem, 7vw, 8rem);
  margin-bottom: clamp(1.4rem, 2.2vw, 2.2rem);
  padding: 0 2.8rem clamp(2rem, 2.8vw, 2.8rem);
  border: 0;
}
.services-showcase .section-heading::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: .18rem;
  background: linear-gradient(90deg, #3e718f, #9aaaba 30%, #109cff 46% 48%, #a1afbd 50% 87%, #266a9e);
  box-shadow: 0 0 1rem rgb(20 156 255 / .5), 0 .22rem .4rem rgb(0 0 0 / .85);
}
.services-showcase .section-kicker { margin-bottom: .8rem; color: #32abff; font-size: .82rem; letter-spacing: .28em; text-shadow: 0 0 .8rem rgb(22 163 255 / .6); }
.services-showcase .section-heading h2 {
  max-width: none;
  font-size: clamp(4rem, 5.25vw, 6.25rem);
  font-style: italic;
  line-height: .8;
  letter-spacing: -.045em;
  transform: skewX(-3deg);
  transform-origin: left;
}
.services-title-silver,
.services-title-blue { display: block; }
.services-title-silver {
  color: #e8edf2;
  background: linear-gradient(180deg, #fbfdff 0 16%, #8796a6 37%, #f8fbff 53%, #7b8998 76%, #eef3f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #e8f1f8;
  text-shadow: .08em .09em 0 #02050a, 0 0 .65rem rgb(51 145 221 / .22);
}
.services-showcase .section-heading h2 .services-title-blue {
  color: #159fff;
  background: linear-gradient(180deg, #67c9ff 0 12%, #0879e7 33%, #0051c6 63%, #159fff 82%, #003995 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .08em .1em 0 #00193b, 0 0 .85rem rgb(0 136 255 / .52), 0 .14em .18em #000;
}
.services-showcase .section-heading > p { max-width: 28rem; color: #e1e7ee; font-size: clamp(1rem, 1.15vw, 1.18rem); line-height: 1.48; text-shadow: 0 .12rem .5rem #000; }
.services-showcase .service-list {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.7rem, 1.15vw, 1.2rem);
  margin: 0 0 clamp(2.4rem, 3.5vw, 3.6rem);
  padding: .25rem 0 .7rem;
}
.services-showcase .service-list::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 2%;
  bottom: -1.3rem;
  left: 2%;
  height: 3.5rem;
  border-radius: 50%;
  background: rgb(0 72 153 / .22);
  filter: blur(1.5rem);
}
.services-showcase .service-card {
  position: relative;
  display: flex;
  min-height: clamp(30rem, 35vw, 36rem);
  flex-direction: column;
  padding: 1.85rem .62rem .65rem;
  overflow: visible;
  clip-path: polygon(0 1.35rem, 1.35rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 1.1rem 100%, 0 calc(100% - 1.1rem));
  background:
    linear-gradient(90deg, #009cff 0 .16rem, transparent .17rem calc(100% - .17rem), #168fe1 calc(100% - .16rem)),
    linear-gradient(145deg, #a9b9c8 0 1.5%, #203a52 3%, #0b1828 48%, #4d6174 96%, #aebbc7 99%);
  filter: drop-shadow(0 1.25rem 1.25rem rgb(0 0 0 / .7)) drop-shadow(0 0 .45rem rgb(0 118 237 / .25));
}
.services-showcase .service-card::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: .38rem;
  clip-path: polygon(0 1.1rem, 1.1rem 0, calc(100% - 1.2rem) 0, 100% 1.2rem, 100% calc(100% - 1rem), calc(100% - 1rem) 100%, .9rem 100%, 0 calc(100% - .9rem));
  background:
    repeating-linear-gradient(90deg, rgb(255 255 255 / .026) 0 1px, transparent 1px 2.8rem),
    linear-gradient(145deg, #0d1d2d, #030a14 68%);
  box-shadow: inset 0 0 0 1px #304c68, inset 0 0 1.5rem #000;
}
.services-showcase .service-card::after {
  top: auto;
  right: -.08rem;
  bottom: 18%;
  left: auto;
  width: .22rem;
  height: 28%;
  background: linear-gradient(transparent, #18a8ff 24% 74%, transparent);
  box-shadow: 0 0 .75rem #009cff;
}
.services-showcase .service-number {
  position: absolute;
  z-index: 4;
  top: .62rem;
  left: 1.45rem;
  display: block;
  min-width: 3rem;
  margin: 0;
  padding: .18rem .6rem .24rem;
  color: #3cb5ff;
  background: #06111f;
  font: 900 1.12rem/1 var(--heading);
  letter-spacing: .04em;
  text-shadow: 0 0 .55rem #008cff;
  clip-path: polygon(0 0, 100% 0, calc(100% - .45rem) 100%, 0 100%);
}
.service-media {
  z-index: 2;
  flex: 0 0 57%;
  aspect-ratio: auto;
  border: .18rem solid #75889b;
  outline: 1px solid #15283c;
  clip-path: polygon(0 1rem, 1rem 0, calc(100% - 1rem) 0, 100% 1rem, 100% calc(100% - .65rem), calc(100% - .65rem) 100%, .65rem 100%, 0 calc(100% - .65rem));
  box-shadow: 0 0 0 .25rem #071321, 0 .7rem 1.2rem #000, 0 0 .65rem rgb(10 143 255 / .25);
}
.service-media::before { content: ""; position: absolute; z-index: 2; inset: 0; border-top: 2px solid rgb(106 201 255 / .72); border-left: 1px solid rgb(172 214 241 / .36); pointer-events: none; }
.service-media::after { height: 18%; background: linear-gradient(transparent, rgb(1 7 15 / .6)); }
.service-media img { object-position: center; }
.service-media-placeholder {
  color: #88cfff;
  background:
    radial-gradient(circle at 50% 42%, rgb(0 130 242 / .12), transparent 32%),
    linear-gradient(135deg, transparent 0 48%, rgb(24 143 230 / .2) 48.2% 48.5%, transparent 48.7%),
    repeating-linear-gradient(90deg, rgb(113 162 201 / .08) 0 1px, transparent 1px 2.5rem),
    linear-gradient(145deg, #102238, #050d18);
}
.service-content {
  position: relative;
  z-index: 2;
  min-height: 0;
  flex: 1;
  padding: 1.25rem 1.15rem 1.15rem;
  background:
    radial-gradient(circle at 80% 15%, rgb(25 118 196 / .09), transparent 42%),
    repeating-linear-gradient(0deg, rgb(139 168 195 / .025) 0 1px, transparent 1px .35rem),
    #06101b;
}
.services-showcase .service-card h3 {
  position: relative;
  margin: 0 0 1rem;
  padding-bottom: .9rem;
  color: #f5f7f9;
  font-size: clamp(1.55rem, 1.75vw, 2rem);
  font-style: italic;
  line-height: .9;
  letter-spacing: -.025em;
  text-shadow: .06em .08em 0 #314052, 0 .16rem .28rem #000;
}
.services-showcase .service-card h3::after { content: ""; position: absolute; bottom: 0; left: 0; width: 3.3rem; height: .15rem; background: #18a8ff; box-shadow: 0 0 .45rem rgb(0 152 255 / .6); }
.services-showcase .service-card p { color: #d3dce5; font-size: clamp(.9rem, .95vw, 1rem); line-height: 1.48; }
.services-showcase .service-card-link { position: absolute; z-index: 6; inset: 0; }
.services-showcase .service-card:focus-within { outline: 3px solid #8bd8ff; outline-offset: 4px; }
.services-cta {
  position: relative;
  min-width: min(100%, 28rem);
  min-height: 4rem;
  padding: .9rem 1.25rem .9rem 1.7rem;
  justify-content: space-between;
  border: .12rem solid #5d7187;
  outline: 1px solid #008ff0;
  outline-offset: -.35rem;
  clip-path: polygon(0 0, calc(100% - 1.1rem) 0, 100% 1.1rem, 100% calc(100% - .65rem), calc(100% - .65rem) 100%, .65rem 100%, 0 calc(100% - .65rem));
  color: #f5f8fb;
  background: linear-gradient(110deg, #0d1b29, #020912 70%, #07315a);
  font-size: 1rem;
  box-shadow: 0 0 1rem rgb(0 130 241 / .32), inset 0 0 1.2rem rgb(0 104 200 / .16), 0 .8rem 1.6rem #000;
  text-shadow: 0 .1rem .2rem #000;
}
.services-cta span { color: #3cb5ff; font-size: 1.55rem; text-shadow: 0 0 .55rem #008cff; }
.services-cta:hover { border-color: #8dd4ff; background: linear-gradient(110deg, #102943, #04101f 70%, #084783); }
.services-cta:focus-visible { outline: 3px solid #f4f7fb; outline-offset: 4px; box-shadow: 0 0 0 7px #071321; }
@media (max-width: 75rem) {
  .services-showcase .section-heading { min-height: 16rem; padding-inline: 0; }
  .services-showcase .service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
  .services-showcase .service-card { min-height: 35rem; }
}
@media (max-width: 47.5rem) {
  .services-showcase { padding-block: 4rem 5rem; }
  .services-watermark { display: none; }
  .services-showcase .section-heading { grid-template-columns: 1fr; min-height: 0; gap: 1.6rem; margin-bottom: 1.5rem; padding: 0 0 2rem; }
  .services-showcase .section-heading h2 { max-width: 8.5ch; font-size: clamp(3.2rem, 15.5vw, 4.7rem); line-height: .82; }
  .services-showcase .section-heading > p { max-width: 31rem; }
  .services-showcase .service-list { grid-template-columns: 1fr; gap: 1.4rem; }
  .services-showcase .service-card { min-height: 31rem; padding: 1.7rem .5rem .55rem; }
  .service-media { flex-basis: auto; aspect-ratio: 16 / 10; }
  .service-content { padding: 1.3rem 1.1rem 1.4rem; }
  .services-cta { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
  .button, .color-choice, .project-arrow, .nav-cta { border: 2px solid ButtonText; }
  .hero-lines { display: none; }
}

/* Header + hero art-direction pass. Sections below the hero intentionally retain their existing system. */
.site-header {
  background: linear-gradient(90deg, #050912 0%, #071225 55%, #050912 100%);
  box-shadow: 0 .6rem 2rem #0007;
}
.header-inner { min-height: 5.4rem; }
.wordmark::after { display: none; }
.wordmark img { width: clamp(7.5rem, 10vw, 10.5rem); height: auto; filter: drop-shadow(0 .45rem .8rem #000a); }
.hero { min-height: 61rem; padding-top: 8.6rem; }
.hero::before { background: linear-gradient(111deg, #081830 0 43%, #030812 43.1% 100%); }
.hero-grid { grid-template-columns: minmax(22rem, .76fr) minmax(37rem, 1.24fr); column-gap: clamp(3rem, 5vw, 6rem); }
.facility-stage { padding: 5.5rem 2.2rem 1rem 0; isolation: isolate; }
.facility-stage::before {
  z-index: -2;
  inset: 8.2rem 0 1rem -1.2rem;
  border: 1px solid #3f5f87;
  border-left: .3rem solid #dce4ec;
  background-color: #273343;
  background-image: linear-gradient(90deg, #ffffff10 0 1px, transparent 1px 3.1rem), linear-gradient(180deg, #303e50, #121c2b 22%, #0a1320 100%);
  clip-path: none;
  box-shadow: 0 2.6rem 5rem #000c, inset 0 0 0 .22rem #07101d;
}
.facility-stage::after {
  content: "";
  position: absolute;
  z-index: -3;
  top: 10rem;
  right: -1.4rem;
  bottom: 2.2rem;
  width: 16%;
  border: 1px solid #355273;
  border-right: .35rem solid var(--blue);
  background: repeating-linear-gradient(90deg, #101b2b 0 1rem, #273548 1rem 1.08rem);
  clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 94%);
  box-shadow: 1rem 1.5rem 2.5rem #000a;
}
.facility-roof {
  z-index: 4;
  height: 4.3rem;
  margin: 2.6rem -1rem -1px -1.9rem;
  border-top: .22rem solid #73c9ff;
  border-bottom: .65rem solid #087ee8;
  clip-path: polygon(3% 34%, 100% 0, 98% 100%, 0 100%);
  background: linear-gradient(180deg, #0b49a4 0 22%, #072b6a 23% 52%, #0b1a30 53% 100%);
  box-shadow: 0 .8rem 1.4rem #000c, inset 0 .22rem 0 #139cff;
}
.facility-roof span { display: none; }
.facility-roof::after {
  content: "";
  position: absolute;
  left: 54%;
  bottom: -.85rem;
  width: 3.1rem;
  height: 1.15rem;
  border: 1px solid #dce5ee;
  background: radial-gradient(ellipse at center, #fff 0 24%, #cfeaff 35%, #5d6f84 70%);
  box-shadow: 0 0 1.5rem #dff4ff, 0 .7rem 1.2rem #000b;
  clip-path: polygon(18% 0, 82% 0, 100% 100%, 0 100%);
}
.facility-sign {
  margin: 0 .5rem;
  border: .22rem solid #111c2c;
  border-bottom: 1px solid #34598c;
  background: linear-gradient(90deg, #061123, #0b1c35);
  font-size: 1.35rem;
  box-shadow: inset 0 .15rem 0 #275487;
}
.color-selector { margin-inline: .5rem; border-inline: .22rem solid #172436; }
.color-choice[data-category="blue-beige"] .color-line { background: linear-gradient(#168eff 0 50%, #d8cab0 50%); }
.color-choice[data-category="yellow-gray"] .color-line { background: #ffd324; }
.color-choice[data-category="orange-gray"] .color-line { background: #f07818; }
.project-controls { margin-inline: .5rem; background: linear-gradient(90deg, #071225, #0d203a, #071225); }
.door-display {
  margin-inline: .5rem;
  padding: .7rem .7rem 0;
  border-inline: .28rem solid #172436;
  background: linear-gradient(90deg, #536276, #ecf2f7 2%, #657489 3.2%, #111b29 4.2% 95.8%, #657489 96.8%, #ecf2f7 98%, #536276);
  box-shadow: 0 1.7rem 2.8rem #000a;
}
.door-frame {
  padding: .28rem;
  border: .4rem solid #101a27;
  outline: .22rem solid #7f8c9c;
  box-shadow: inset 0 0 0 2px #071225, 0 .8rem 1.8rem #000a;
}
.door-display figcaption {
  min-height: 3.2rem;
  margin-top: .7rem;
  padding: .8rem 1rem;
  border: 0;
  border-top: 1px solid #42607f;
  text-align: center;
  letter-spacing: .04em;
}

@media (max-width: 68rem) and (min-width: 47.501rem) {
  .hero-grid { grid-template-columns: minmax(18rem, .72fr) minmax(30rem, 1.28fr); }
}

@media (max-width: 47.5rem) {
  .header-inner { min-height: 4.2rem; }
  .wordmark img { width: 7.6rem; }
  .facility-stage { margin-top: 2rem; padding: 3.5rem .5rem 1.2rem; }
  .facility-stage::before { inset: 4.8rem -.25rem 0; clip-path: none; }
  .facility-stage::after { display: none; }
  .facility-roof { height: 3.2rem; margin: 0 -.4rem -1px; clip-path: polygon(2% 30%, 100% 0, 98% 100%, 0 100%); }
  .facility-sign, .color-selector, .project-controls, .door-display { margin-inline: 0; }
  .door-display { padding: .55rem .55rem 0; }
}

@media (max-width: 23rem) {
  .wordmark img { width: 6.7rem; }
}

/* Static red-project hero. The supplied artwork provides the atmosphere; CSS only builds the physical display. */
.hero {
  min-height: 62rem;
  padding: 8.7rem 0 4.5rem;
  background-color: #030a18;
  background-image: url("../sfps-hero-background-1672.webp");
  background-position: center;
  background-size: cover;
}
.hero::before {
  background: linear-gradient(90deg, rgb(2 8 20 / .42) 0 39%, rgb(2 8 20 / .08) 65%, transparent 100%);
}
.hero-lines { display: none; }
.hero-grid {
  grid-template-columns: minmax(22rem, .76fr) minmax(39rem, 1.24fr);
  column-gap: clamp(2.5rem, 4.5vw, 5rem);
}
.hero-brand { padding-top: 1rem; }
.sfps-logo { width: min(32rem, 100%); }
.hero-copy { text-shadow: 0 .15rem .9rem #020713; }
.hero-lede { color: #d8e2ee; }
.facility-stage {
  position: relative;
  isolation: isolate;
  min-width: 0;
  padding: 7.3rem 3rem 1.4rem 1.4rem;
  filter: drop-shadow(0 2.6rem 2.2rem rgb(0 0 0 / .68));
}
.facility-stage::before {
  z-index: -2;
  inset: 8.2rem 1.3rem 1rem 0;
  border: 1px solid #4c6077;
  border-top: .22rem solid #dbe7f2;
  border-left: .38rem solid #e4edf5;
  background-color: #111b29;
  background-image: linear-gradient(90deg, rgb(255 255 255 / .08) 0 1px, transparent 1px 3.4rem), linear-gradient(180deg, #354356 0, #172334 24%, #080f1c 100%);
  clip-path: polygon(0 4%, 95% 0, 100% 5%, 100% 100%, 0 100%);
  box-shadow: inset .35rem 0 .35rem rgb(255 255 255 / .2), inset 0 -.45rem 0 #030914, 0 2.2rem 4rem rgb(0 0 0 / .7);
}
.facility-stage::after {
  z-index: -3;
  top: 9.8rem;
  right: -.6rem;
  bottom: 3rem;
  width: 18%;
  border-right: .42rem solid #0788f4;
  border-top: .2rem solid #9fd8ff;
  background: repeating-linear-gradient(90deg, #0a1422 0 1.25rem, #2b394b 1.25rem 1.34rem);
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 94%);
  box-shadow: 1rem 1.2rem 2.5rem rgb(0 0 0 / .65);
}
.facility-roof {
  z-index: 5;
  height: 4.9rem;
  margin: 0 -1rem -1px -1.5rem;
  border-top: .22rem solid #80d4ff;
  border-bottom: .78rem solid #037adf;
  clip-path: polygon(2% 35%, 100% 0, 97% 100%, 0 100%);
  background: linear-gradient(180deg, #0a54b9 0 20%, #07398a 21% 47%, #101d30 48% 100%);
  box-shadow: 0 .9rem 1.5rem rgb(0 0 0 / .8), inset 0 .24rem 0 #1ca6ff;
}
.facility-roof::after { display: none; }
.facility-lamp {
  position: absolute;
  z-index: 8;
  top: 11.7rem;
  left: 53%;
  width: 3.2rem;
  height: 1.2rem;
  border: 1px solid #edf6ff;
  background: radial-gradient(ellipse at center, #fff 0 23%, #d7efff 34%, #71849b 72%);
  box-shadow: 0 0 1.9rem #cdeeff, 0 .65rem 1.2rem rgb(0 0 0 / .85);
  clip-path: polygon(16% 0, 84% 0, 100% 100%, 0 100%);
}
.facility-sign {
  z-index: 4;
  margin: 0 .5rem;
  padding: 1.55rem 1.2rem .85rem;
  border: 0;
  border-inline: .3rem solid #192536;
  border-bottom: 1px solid #4e6480;
  background: repeating-linear-gradient(0deg, #0a1422 0 .42rem, #1a283a .43rem .49rem);
  box-shadow: inset 0 .18rem 0 #48617e;
}
.facility-sign h2 {
  margin: 0;
  color: #f4f8fc;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: .13em;
}
.facility-label { color: #c4d0de; }
.door-display {
  z-index: 5;
  margin: 0 .5rem;
  padding: .85rem .85rem 0;
  border-inline: .48rem solid #202d3e;
  background: linear-gradient(90deg, #4d5c6e, #eef3f8 1.4%, #7b8999 2.8%, #070d16 4.1% 95.9%, #7b8999 97.2%, #eef3f8 98.6%, #4d5c6e);
  box-shadow: 0 1.5rem 2.8rem rgb(0 0 0 / .74);
}
.door-frame {
  aspect-ratio: auto;
  padding: .36rem;
  border: .45rem solid #070d16;
  outline: .26rem solid #93a2b3;
  background: #03070c;
  box-shadow: inset 0 0 0 2px #050a12, 0 .8rem 1.8rem rgb(0 0 0 / .85);
}
.comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .32rem; }
.comparison-panel { position: relative; min-width: 0; overflow: hidden; background: #050912; }
.comparison-panel img { width: 100%; height: 100%; aspect-ratio: .92 / 1; object-fit: cover; }
.comparison-label {
  position: absolute;
  top: .8rem;
  left: .8rem;
  padding: .42rem .72rem;
  border-left: .22rem solid #aab6c4;
  background: #050912;
  color: #fff;
  font-family: var(--heading);
  font-size: .85rem;
  font-style: normal;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 .35rem .8rem rgb(0 0 0 / .65);
}
.comparison-label-after { border-left-color: var(--red); }
.door-display figcaption {
  min-height: 0;
  margin: .85rem 0 0;
  padding: .78rem 1rem;
  border: 0;
  border-top: 1px solid #405773;
  background: #07111f;
  color: #d2dce7;
  font-size: .72rem;
  letter-spacing: .035em;
  text-align: center;
}
.facility-base {
  position: relative;
  z-index: 4;
  height: 2.2rem;
  margin: 0 1.3rem 0 .4rem;
  border-top: .22rem solid #b6c1ce;
  background: linear-gradient(180deg, #758394, #2c3949 45%, #101927);
  clip-path: polygon(1% 0, 100% 0, 97% 100%, 0 80%);
}
.facility-base span {
  position: absolute;
  right: 1.4rem;
  top: .32rem;
  color: #e8eef5;
  font-family: var(--heading);
  font-size: .65rem;
  font-style: italic;
  font-weight: 900;
  letter-spacing: .12em;
}
.hero-trust {
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 2rem;
  max-width: 34rem;
  border-top-color: #526179;
}
.sboa-badge { width: 6.6rem; }

@media (max-width: 68rem) and (min-width: 47.501rem) {
  .hero-grid { grid-template-columns: minmax(18rem, .7fr) minmax(31rem, 1.3fr); column-gap: 1.5rem; }
  .facility-stage { padding-right: 1.2rem; }
}

@media (max-width: 47.5rem) {
  .hero {
    min-height: 0;
    padding: 2rem 0 4rem;
    background-position: 58% bottom;
    background-size: auto 100%;
  }
  .hero::before { background: linear-gradient(180deg, rgb(2 8 20 / .2), rgb(2 8 20 / .52)); }
  .hero-brand { padding-top: 0; }
  .sfps-logo { width: min(24rem, 100%); margin-bottom: .4rem; }
  .hero-copy { text-align: left; }
  .hero-actions .text-link { justify-content: center; min-height: 3.25rem; border: 1px solid #8fa6c2; background: rgb(3 10 24 / .7); }
  .facility-stage {
    margin: 2.4rem -.25rem 0;
    padding: 5.1rem .45rem 1.1rem;
    filter: drop-shadow(0 1.8rem 1.5rem rgb(0 0 0 / .7));
  }
  .facility-stage::before { inset: 5.8rem -.15rem .35rem; clip-path: polygon(0 2%, 97% 0, 100% 3%, 100% 100%, 0 100%); }
  .facility-stage::after { display: none; }
  .facility-roof { height: 3.8rem; margin: 0 -.35rem -1px; }
  .facility-lamp { top: 8.2rem; left: 48%; width: 2.7rem; }
  .facility-sign { margin-inline: 0; padding: 1.35rem .75rem .75rem; }
  .facility-sign h2 { font-size: 1rem; }
  .facility-label { display: none; }
  .door-display { margin-inline: 0; padding: .62rem .62rem 0; border-inline-width: .32rem; }
  .door-frame { border-width: .32rem; outline-width: .18rem; }
  .comparison-panel img { aspect-ratio: .82 / 1; }
  .comparison-label { top: .55rem; left: .55rem; padding: .36rem .55rem; font-size: .72rem; }
  .door-display figcaption { margin-top: .62rem; padding-inline: .55rem; font-size: .66rem; }
  .facility-base { margin-inline: .3rem; }
  .hero-trust { grid-template-columns: auto auto; justify-content: center; gap: 2.4rem; width: 100%; }
  .sboa-badge { grid-column: auto; width: 7.6rem; margin: 0; }
}

@media (max-width: 34rem) {
  .comparison-grid { grid-template-columns: 1fr; gap: .45rem; }
  .comparison-panel img { aspect-ratio: 4 / 3; }
}

@media (max-width: 23rem) {
  .hero { background-position: 56% bottom; }
  .facility-stage { margin-inline: 0; }
  .hero-trust { gap: 1.3rem; }
}

/* Final supplied-art hero: atmosphere + HTML message + transparent storage-unit artwork. */
.site-header {
  border-bottom-color: #23344d;
  background: rgb(3 8 18 / .94);
  box-shadow: 0 .5rem 1.6rem rgb(0 0 0 / .42);
}
.header-inner { min-height: 5.35rem; }
.wordmark img { width: clamp(8.4rem, 10.5vw, 10.8rem); }
.hero {
  min-height: 55rem;
  padding: 7.2rem 0 2.5rem;
  background-color: #020916;
  background-image: url("../sfps-hero-background-1672.webp");
  background-position: center;
  background-size: cover;
}
.hero::before {
  background: linear-gradient(90deg, rgb(1 6 16 / .5) 0, rgb(1 6 16 / .22) 42%, transparent 72%);
}
.hero-grid {
  width: min(calc(100% - 3rem), 116rem);
  grid-template-columns: minmax(26rem, .74fr) minmax(42rem, 1.26fr);
  grid-template-areas: "brand art" "copy art" "trust art";
  column-gap: clamp(.75rem, 1.35vw, 1.75rem);
  min-height: 43.5rem;
}
.hero-brand { grid-area: brand; align-self: end; padding-top: 0; }
.sfps-logo {
  width: min(23rem, 100%);
  margin-left: -1rem;
  filter: drop-shadow(0 1.4rem 2.2rem rgb(0 0 0 / .72));
}
.hero-copy { grid-area: copy; max-width: 40rem; align-self: center; }
.hero-copy h1 { max-width: none; font-size: clamp(3rem, 3.25vw, 3.9rem); line-height: .92; }
.hero-title-line { display: block; white-space: nowrap; }
.hero-title-accent { color: #159fff; }
.hero-lede { max-width: 34rem; color: #dbe5ef; }
.hero-actions { gap: 1rem; }
.hero-actions .button { min-height: 3.75rem; padding-inline: 1.65rem; }
.hero-actions .text-link {
  min-height: 3.75rem;
  padding: .75rem 1.25rem;
  border: 1px solid #527399;
  background: rgb(2 10 25 / .34);
  text-decoration: none;
}
.hero-actions .text-link:hover { border-color: #15a3ff; background: rgb(7 32 65 / .62); }
.hero-art {
  position: relative;
  isolation: isolate;
  grid-area: art;
  align-self: end;
  justify-self: start;
  width: min(100%, 58rem);
  min-width: 0;
  margin-right: 0;
}
.hero-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 1.2%;
  width: 78%;
  height: 8.5%;
  border-radius: 50%;
  background: rgb(0 3 12 / .72);
  filter: blur(1.45rem);
  transform: translateY(32%) scaleX(1.04);
}
.hero-art::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 3%;
  bottom: 1.1%;
  width: 70%;
  height: 2.2%;
  border-radius: 50%;
  background: rgb(0 2 8 / .88);
  filter: blur(.45rem);
  transform: translateY(20%);
}
.hero-art img {
  position: relative;
  z-index: 1;
  width: auto;
  max-height: 58rem;
  height: auto;
  margin-left: auto;
  filter: drop-shadow(0 2.1rem 1.6rem rgb(0 0 0 / .62));
}
.hero-trust {
  grid-area: trust;
  align-self: start;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 2rem;
  max-width: 24rem;
  margin-top: 1rem;
  padding-top: .9rem;
}
.sboa-badge { width: 6.4rem; }

@media (max-width: 68rem) and (min-width: 47.501rem) {
  .hero-grid { grid-template-columns: minmax(19rem, .8fr) minmax(29rem, 1.2fr); column-gap: 1rem; }
  .hero-copy h1 { font-size: clamp(3.2rem, 5.4vw, 4.8rem); }
  .hero-art { margin-right: -1rem; }
}

@media (max-width: 47.5rem) {
  .header-inner { min-height: 4.25rem; }
  .wordmark img { width: 7.8rem; }
  .hero {
    min-height: 0;
    padding: 1.5rem 0 3.5rem;
    background-position: 54% bottom;
    background-size: auto 100%;
  }
  .hero::before { background: linear-gradient(180deg, rgb(1 6 16 / .18) 0, rgb(1 6 16 / .32) 58%, rgb(1 6 16 / .52) 100%); }
  .hero-grid { display: flex; width: min(calc(100% - 2rem), var(--shell)); min-height: 0; }
  .hero-brand { order: 1; }
  .sfps-logo { width: min(22rem, 94%); margin: 0 auto .35rem; }
  .hero-copy { order: 2; }
  .hero-copy h1 { max-width: 10.5ch; font-size: clamp(3.05rem, 14vw, 4.5rem); }
  .hero-title-line { display: inline; white-space: normal; }
  .hero-lede { max-width: 32rem; }
  .hero-actions { display: grid; gap: .75rem; }
  .hero-actions .text-link { justify-content: center; width: 100%; }
  .hero-art {
    order: 3;
    align-self: center;
    justify-self: auto;
    width: min(100%, 34rem);
    margin: 1.65rem auto 0;
  }
  .hero-art img { width: 100%; }
  .hero-art img { max-height: none; margin-left: 0; }
  .hero-art::before { right: 1%; width: 92%; }
  .hero-art::after { right: 8%; width: 82%; }
  .hero-trust {
    order: 4;
    align-self: center;
    justify-content: center;
    width: min(100%, 24rem);
    margin-top: 1.4rem;
  }
}

@media (max-width: 23rem) {
  .hero { background-position: 52% bottom; }
  .hero-grid { width: min(calc(100% - 1.25rem), var(--shell)); }
  .hero-art { width: 100%; }
  .hero-trust { gap: 1.25rem; }
}

/* Specialist Advantage — a self-contained technical assessment section. */
.specialist-advantage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5.5rem, 8vw, 9rem);
  color: #f2f6fa;
  background-color: #020711;
  background-image:
    radial-gradient(circle at 76% 47%, rgb(0 126 236 / .18), transparent 27rem),
    linear-gradient(90deg, rgb(1 6 16 / .72), rgb(1 7 18 / .38) 50%, rgb(1 6 16 / .62)),
    url("../sfps-hero-background-1672.webp");
  background-position: center, center, center;
  background-size: auto, auto, cover;
}
.specialist-advantage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgb(72 126 172 / .16) 1px, transparent 1px),
    linear-gradient(90deg, rgb(72 126 172 / .16) 1px, transparent 1px),
    repeating-linear-gradient(115deg, transparent 0 9rem, rgb(0 128 235 / .08) 9rem calc(9rem + 1px));
  background-size: 4rem 4rem, 4rem 4rem, 100% 100%;
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}
.specialist-advantage::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -10%;
  bottom: -10rem;
  left: -10%;
  height: 22rem;
  background:
    repeating-linear-gradient(90deg, transparent 0 8rem, rgb(57 119 175 / .19) 8rem calc(8rem + 1px)),
    linear-gradient(180deg, rgb(0 100 202 / .1), transparent 72%);
  border-top: 1px solid rgb(36 137 224 / .32);
  transform: perspective(30rem) rotateX(57deg);
  transform-origin: top;
}
.advantage-shell { position: relative; z-index: 1; max-width: 104rem; }
.advantage-header {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(22rem, .72fr);
  align-items: end;
  gap: clamp(3rem, 8vw, 10rem);
  margin-bottom: clamp(3.5rem, 5vw, 5.5rem);
  padding: 0 clamp(0rem, 2vw, 2rem) clamp(2.5rem, 3.5vw, 3.5rem);
  border-bottom: 1px solid #64788d;
}
.specialist-advantage .section-kicker { color: #55bdff; text-shadow: 0 0 .7rem rgb(0 145 255 / .55); }
.advantage-header h2 {
  max-width: none;
  color: #e9eef3;
  font-size: clamp(3.8rem, 4.5vw, 5.4rem);
  font-style: italic;
  line-height: .82;
  letter-spacing: -.045em;
  text-transform: uppercase;
  text-shadow: .07em .08em 0 #02050a, 0 .15em .25em rgb(0 0 0 / .7);
}
.advantage-header h2 > span,
.advantage-header h2 strong { display: block; }
@media (min-width: 47.501rem) {
  .advantage-header h2 > span,
  .advantage-header h2 strong { white-space: nowrap; }
}
.advantage-header h2 strong {
  color: #159fff;
  background: linear-gradient(180deg, #69cfff 0 14%, #0d84ee 34%, #004dbd 67%, #179fff 84%, #00347f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .07em .09em 0 #001633, 0 0 .8rem rgb(0 143 255 / .43), 0 .13em .18em #000;
}
.advantage-intro { max-width: 35rem; padding-bottom: .6rem; color: #cbd6e1; font-size: clamp(1rem, 1.14vw, 1.15rem); line-height: 1.58; }
.advantage-intro p { margin: 0 0 1rem; }
.advantage-intro p:last-child { margin: 0; color: #f4f8fb; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.advantage-intro strong { color: #f4f8fb; font-size: 1.12em; }
.advantage-comparison {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-bottom: clamp(3.5rem, 5vw, 5.5rem);
  padding-inline: clamp(0rem, 2vw, 2rem);
}
.assessment-panel {
  position: relative;
  min-height: 31rem;
  padding: clamp(2rem, 3vw, 3rem);
  clip-path: polygon(0 1.4rem, 1.4rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.2rem), calc(100% - 1.2rem) 100%, 1.2rem 100%, 0 calc(100% - 1.2rem));
  box-shadow: inset 0 0 0 1px #6b7d8e, inset 0 0 2.2rem #000, 0 1.8rem 2.8rem rgb(0 0 0 / .55);
}
.assessment-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #728396;
  clip-path: inherit;
  pointer-events: none;
}
.assessment-panel::after { content: ""; position: absolute; top: 0; right: 12%; width: 28%; height: .18rem; background: #94a4b3; box-shadow: 0 0 .5rem rgb(159 182 201 / .3); }
.assessment-general {
  color: #d0d8e0;
  background:
    repeating-linear-gradient(0deg, rgb(171 187 201 / .025) 0 1px, transparent 1px .42rem),
    linear-gradient(145deg, #111c28, #070c13 72%);
  filter: drop-shadow(0 .9rem 1.2rem rgb(0 0 0 / .55));
}
.assessment-specialist {
  color: #e3ebf2;
  background:
    radial-gradient(circle at 88% 12%, rgb(0 145 255 / .17), transparent 31%),
    repeating-linear-gradient(0deg, rgb(50 146 219 / .035) 0 1px, transparent 1px .42rem),
    linear-gradient(145deg, #10243a, #040b14 72%);
  filter: drop-shadow(0 1.25rem 1.35rem rgb(0 0 0 / .65)) drop-shadow(0 0 .7rem rgb(0 123 240 / .32));
}
.assessment-specialist::before { border-color: #159fff; box-shadow: inset .24rem 0 0 #159fff, inset 0 0 2rem rgb(0 112 220 / .13); }
.assessment-specialist::after { background: #28b0ff; box-shadow: 0 0 .85rem #008df4; }
.assessment-label { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2.2rem; padding-bottom: .85rem; border-bottom: 1px solid #68798b; color: #aebbc8; font: 800 .72rem/1.2 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.assessment-specialist .assessment-label { border-color: #2877ad; color: #70c7ff; }
.assessment-panel h3 { max-width: 15ch; margin: 0 0 2rem; color: #f3f6f9; font-size: clamp(2rem, 2.5vw, 3rem); font-style: italic; line-height: .92; text-transform: uppercase; text-shadow: .06em .07em 0 #263746, 0 .14em .2em #000; }
.assessment-specialist h3 { color: #72caff; text-shadow: .06em .07em 0 #003a73, 0 0 .65rem rgb(0 145 255 / .35); }
.assessment-panel ul { display: grid; gap: 1.05rem; margin: 0; padding: 0; list-style: none; }
.assessment-panel li { position: relative; padding: 0 0 1.05rem 2rem; border-bottom: 1px solid #263544; font-size: clamp(.95rem, 1vw, 1.05rem); line-height: 1.4; }
.assessment-panel li:last-child { padding-bottom: 0; border-bottom: 0; }
.assessment-panel li::before { content: "—"; position: absolute; top: 0; left: 0; color: #a8b4bf; font-weight: 900; }
.assessment-specialist li { border-color: #174166; }
.assessment-specialist li::before { content: "›"; color: #48b8ff; font-size: 1.3em; text-shadow: 0 0 .45rem #008ff0; }
.assessment-specialist li strong { color: #fff; text-transform: uppercase; }
.advantage-roi {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 7rem);
  margin: 0 clamp(0rem, 2vw, 2rem) clamp(2.8rem, 4vw, 4rem);
  padding: clamp(1.8rem, 2.7vw, 2.7rem);
  border-block: 1px solid #5f7386;
  background: linear-gradient(90deg, rgb(7 19 31 / .74), rgb(4 15 28 / .38));
  box-shadow: inset .22rem 0 0 #159fff, 0 1.2rem 2rem rgb(0 0 0 / .3);
}
.advantage-roi p { margin: 0; }
.advantage-roi-heading { color: #f3f6f9; font: italic 900 clamp(2rem, 3vw, 3.5rem)/.95 var(--heading); text-transform: uppercase; text-shadow: .06em .07em 0 #101c28; }
.advantage-roi-heading span { display: block; color: #55bdff; }
.advantage-roi > p:last-child { color: #c7d2dc; line-height: 1.55; }
.advantage-actions { display: flex; flex-wrap: wrap; gap: 1rem; padding-inline: clamp(0rem, 2vw, 2rem); }
.advantage-call,
.advantage-projects { display: inline-flex; min-height: 3.8rem; align-items: center; justify-content: space-between; gap: 2rem; padding: .85rem 1.35rem; clip-path: polygon(0 0, calc(100% - .85rem) 0, 100% .85rem, 100% 100%, .65rem 100%, 0 calc(100% - .65rem)); font: 900 .85rem/1.2 Arial, sans-serif; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.advantage-call { min-width: 20rem; border: 1px solid #75caff; color: #fff; background: linear-gradient(110deg, #087edb, #005ab6); box-shadow: 0 0 .85rem rgb(0 143 255 / .35), inset 0 .12rem 0 rgb(255 255 255 / .25); }
.advantage-projects { border: 1px solid #71869a; color: #e8eef4; background: #071321; }
.advantage-call span,
.advantage-projects span { color: #9edcff; font-size: 1.25rem; }
.advantage-call:hover { background: linear-gradient(110deg, #1499f5, #0768c8); }
.advantage-projects:hover { border-color: #55bdff; background: #0b2238; }
.advantage-call:focus-visible,
.advantage-projects:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #071321; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .assessment-panel { transition: transform .25s ease, filter .25s ease; }
  .assessment-panel:hover { transform: translateY(-.2rem); }
}
@media (max-width: 68rem) {
  .advantage-header { grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr); gap: 3rem; }
  .advantage-comparison { gap: 1.5rem; }
  .assessment-panel { min-height: 34rem; padding: 2rem; }
  .advantage-roi { grid-template-columns: 1fr; gap: 1.4rem; }
}
@media (max-width: 47.5rem) {
  .specialist-advantage { padding-block: 4.5rem 5rem; }
  .advantage-header { grid-template-columns: 1fr; align-items: start; gap: 1.7rem; margin-bottom: 2.5rem; padding-inline: 0; }
  .advantage-header h2 { max-width: 9ch; font-size: clamp(3.2rem, 15vw, 4.6rem); }
  .advantage-comparison { grid-template-columns: 1fr; gap: 1.4rem; padding-inline: 0; }
  .assessment-panel { min-height: 0; padding: 1.6rem 1.3rem 1.8rem; }
  .assessment-panel h3 { font-size: clamp(2rem, 10vw, 2.8rem); }
  .advantage-roi { margin-inline: 0; padding: 1.5rem 1.25rem; }
  .advantage-roi-heading { font-size: clamp(2rem, 10vw, 3rem); }
  .advantage-actions { display: grid; padding-inline: 0; }
  .advantage-call,
  .advantage-projects { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .assessment-panel { transition: none; }
}

/* Header conversion pair */
.nav-call {
  display: grid !important;
  min-width: 9.6rem;
  min-height: 3rem;
  align-content: center;
  padding: .45rem 1rem;
  border: 1px solid #647d97;
  clip-path: polygon(0 0, calc(100% - .55rem) 0, 100% .55rem, 100% 100%, .55rem 100%, 0 calc(100% - .55rem));
  color: #f5f8fb;
  background: linear-gradient(110deg, #0b1d31, #050d18);
  line-height: 1.1;
  text-decoration: none;
  box-shadow: inset .16rem 0 0 #159fff;
}
.nav-call span { color: #70caff; font-size: .58rem; letter-spacing: .16em; }
.nav-call strong { margin-top: .2rem; color: #fff; font-size: .78rem; letter-spacing: .06em; }
.nav-call:hover { border-color: #55bdff; background: #0b2946; }
.nav-call:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #050912; }

/* Primary quote intake */
.quote-form-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5.5rem, 8vw, 9rem);
  color: #f3f7fb;
  background-color: #020815;
  background-image:
    linear-gradient(90deg, rgb(1 6 16 / .74), rgb(1 7 18 / .38) 56%, rgb(1 6 16 / .68)),
    url("../sfps-hero-background-1672.webp");
  background-position: center;
  background-size: cover;
}
.quote-form-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .28;
  background-image:
    linear-gradient(rgb(66 126 176 / .16) 1px, transparent 1px),
    linear-gradient(90deg, rgb(66 126 176 / .16) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 88%, transparent);
}
.quote-form-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -8%;
  bottom: -8rem;
  left: -8%;
  height: 18rem;
  border-top: 1px solid rgb(44 151 242 / .3);
  background: repeating-linear-gradient(90deg, transparent 0 7rem, rgb(44 121 183 / .16) 7rem calc(7rem + 1px));
  transform: perspective(26rem) rotateX(58deg);
  transform-origin: top;
}
.quote-form-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(22rem, .78fr) minmax(36rem, 1.22fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
  max-width: 104rem;
}
.quote-form-copy .section-kicker { color: #55bdff; text-shadow: 0 0 .7rem rgb(0 145 255 / .5); }
.quote-form-copy h2 {
  max-width: 8.5ch;
  margin: 0;
  color: #f1f5f8;
  font-size: clamp(4rem, 5.5vw, 6.5rem);
  font-style: italic;
  line-height: .82;
  letter-spacing: -.045em;
  text-shadow: .07em .08em 0 #07101b, 0 .16em .25em rgb(0 0 0 / .7);
}
.quote-form-copy h2 span {
  display: block;
  color: #159fff;
  background: linear-gradient(180deg, #6dd0ff, #0a82ed 36%, #0050bd 67%, #159fff 84%, #00367e);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .07em .09em 0 #001633, 0 0 .75rem rgb(0 143 255 / .4);
}
.quote-form-copy > p:not(.section-kicker) { max-width: 34rem; margin: 1.6rem 0 0; color: #cbd6e1; font-size: 1.08rem; line-height: 1.6; }
.quote-contact {
  margin-top: 2.4rem;
  padding: 1.15rem 0 1.15rem 1.25rem;
  border-left: .22rem solid #159fff;
  background: linear-gradient(90deg, rgb(6 28 49 / .88), transparent);
}
.quote-contact > span { display: block; margin-bottom: .3rem; color: #8aa0b6; font: 800 .66rem/1.2 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.quote-contact a { display: inline-block; color: #f5f8fb; font-size: clamp(1.1rem, 1.5vw, 1.35rem); font-weight: 800; text-underline-offset: .3rem; }
.quote-contact a strong { color: #62c4ff; }
.quote-proof { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin-top: 1.5rem; color: #b9c7d5; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.quote-proof p { margin: 0; }
.quote-proof strong { color: #fff; }
.quote-form-panel {
  position: relative;
  padding: 1px;
  clip-path: polygon(0 1.4rem, 1.4rem 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% calc(100% - 1.2rem), calc(100% - 1.2rem) 100%, 1.2rem 100%, 0 calc(100% - 1.2rem));
  background: linear-gradient(145deg, #a9b8c6, #29445e 18%, #159fff 51%, #39536b 82%, #a9b8c6);
  filter: drop-shadow(0 1.6rem 2rem rgb(0 0 0 / .68)) drop-shadow(0 0 .65rem rgb(0 121 233 / .25));
}
.quote-form-panel::after { content: ""; position: absolute; top: 0; right: 14%; width: 26%; height: .18rem; background: #42baff; box-shadow: 0 0 .75rem #008ff4; }
.quote-form-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.6rem;
  border-bottom: 1px solid #49627a;
  background: linear-gradient(110deg, #10243a, #06101c);
  text-transform: uppercase;
}
.quote-form-panel-heading span { color: #7fcfff; font: 800 .68rem/1.2 Arial, sans-serif; letter-spacing: .15em; }
.quote-form-panel-heading strong { color: #f4f7fa; font-family: var(--heading); font-size: 1.35rem; font-style: italic; letter-spacing: .03em; }
.quote-form { padding: clamp(1.4rem, 2.4vw, 2.4rem); background: linear-gradient(145deg, rgb(9 25 41 / .98), rgb(3 10 18 / .99)); }
.form-instruction { margin: 0 0 1.3rem; color: #aebdcb; font-size: .78rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 1.2rem; }
.form-field { min-width: 0; }
.form-field-wide { grid-column: 1 / -1; }
.form-field label { display: block; margin-bottom: .45rem; color: #e8eef4; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.form-field input,
.form-field textarea {
  display: block;
  width: 100%;
  min-height: 3.45rem;
  border: 1px solid #71879c;
  border-left: .2rem solid #4b87b5;
  border-radius: 0;
  padding: .8rem .9rem;
  color: #f6f8fa;
  background: #071522;
  font: 1rem/1.4 var(--body);
  box-shadow: inset 0 .2rem .7rem rgb(0 0 0 / .38);
}
.form-field textarea { min-height: 8.5rem; resize: vertical; }
.form-field input:hover,
.form-field textarea:hover { border-color: #8eabc3; }
.form-field input:focus,
.form-field textarea:focus { border-color: #55bdff; outline: 3px solid #55bdff; outline-offset: 2px; box-shadow: 0 0 .8rem rgb(0 143 255 / .3), inset 0 .2rem .7rem rgb(0 0 0 / .38); }
.form-hint { margin: .45rem 0 0; color: #9eb0c1; font-size: .75rem; }
.form-error { margin: .45rem 0 0; color: #ffb4ba; font-size: .78rem; font-weight: 700; }
.form-error[hidden] { display: none; }
.form-field input[aria-invalid="true"],
.form-field textarea[aria-invalid="true"] { border-color: #ff7b86; border-left-color: #ff7b86; }
.quote-submit {
  display: flex;
  width: 100%;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.5rem;
  border: 1px solid #82d3ff;
  padding: .9rem 1.35rem;
  clip-path: polygon(0 0, calc(100% - .85rem) 0, 100% .85rem, 100% 100%, .65rem 100%, 0 calc(100% - .65rem));
  color: #fff;
  background: linear-gradient(110deg, #0b8ae4, #0058b3);
  font: 900 .86rem/1.2 Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: inset 0 .12rem 0 rgb(255 255 255 / .2), 0 0 .75rem rgb(0 139 255 / .25);
}
.quote-submit span { color: #d9f2ff; font-size: 1.35rem; }
.quote-submit:hover { background: linear-gradient(110deg, #19a4f7, #096ac8); }
.quote-submit:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #071321; }

@media (max-width: 68rem) {
  .nav-list { gap: .65rem; }
  .nav-list a { font-size: .7rem; }
  .nav-call { min-width: 8.8rem; }
  .quote-form-grid { grid-template-columns: minmax(18rem, .7fr) minmax(30rem, 1.3fr); gap: 2rem; }
}
@media (max-width: 47.5rem) {
  .header-inner { gap: .45rem; }
  .wordmark img { width: 6.4rem; }
  .nav-list { gap: .35rem; }
  body .nav-list li.nav-action { display: block; }
  .nav-cta { min-height: 2.65rem !important; padding-inline: .65rem; font-size: .56rem !important; letter-spacing: .07em !important; }
  .nav-call { min-width: 4.7rem; min-height: 2.65rem !important; padding: .4rem .6rem; text-align: center; }
  .nav-call span { font-size: .58rem; }
  .nav-call strong { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .quote-form-section { padding-block: 4.8rem 5.5rem; background-position: 58% center; }
  .quote-form-grid { grid-template-columns: 1fr; align-items: stretch; gap: 2.8rem; }
  .quote-form-copy h2 { font-size: clamp(3.5rem, 16vw, 5rem); }
  .quote-form-panel-heading { padding-inline: 1.1rem; }
  .quote-form { padding: 1.2rem 1rem 1.35rem; }
  .form-grid { grid-template-columns: 1fr; gap: 1.15rem; }
  .form-field-wide { grid-column: auto; }
  .form-field input { min-height: 3.65rem; }
}
@media (max-width: 23rem) {
  .header-inner { gap: .3rem; }
  .wordmark img { width: 5.7rem; }
  .nav-cta { padding-inline: .5rem; font-size: .52rem !important; }
  .nav-call { min-width: 4.25rem; padding-inline: .45rem; }
}

/* Large-format Project Transformation showcase */
.transformation {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5.5rem, 8vw, 9rem);
  background:
    radial-gradient(circle at 76% 43%, rgb(0 116 223 / .15), transparent 28rem),
    linear-gradient(135deg, transparent 0 51%, rgb(26 105 174 / .11) 51.1% 51.25%, transparent 51.35%),
    linear-gradient(180deg, #030a15, #071321 52%, #020812);
}
.transformation::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgb(72 126 172 / .18) 1px, transparent 1px),
    linear-gradient(90deg, rgb(72 126 172 / .18) 1px, transparent 1px),
    repeating-linear-gradient(115deg, transparent 0 9rem, rgb(0 128 235 / .08) 9rem calc(9rem + 1px));
  background-size: 4rem 4rem, 4rem 4rem, 100% 100%;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 90%, transparent);
}
.transformation-grid {
  display: grid;
  grid-template-columns: minmax(22rem, .72fr) minmax(40rem, 1.28fr);
  grid-template-areas: "copy project" "action project";
  align-items: center;
  gap: 1.5rem clamp(3rem, 6vw, 7rem);
  max-width: 104rem;
}
.transformation-copy { grid-area: copy; align-self: end; }
.transformation-copy .section-kicker { color: #55bdff; text-shadow: 0 0 .7rem rgb(0 145 255 / .5); }
.transformation-copy h2 {
  max-width: 8ch;
  margin: 0;
  color: #f1f5f8;
  font-size: clamp(3.8rem, 4.7vw, 5.6rem);
  font-style: italic;
  line-height: .8;
  letter-spacing: -.045em;
  text-shadow: .07em .08em 0 #07101b, 0 .16em .25em rgb(0 0 0 / .7);
}
.transformation-title-silver,
.transformation-title-blue { display: block; }
.transformation-title-silver {
  background: linear-gradient(180deg, #fbfdff 0 16%, #909eac 37%, #f7faff 53%, #7c8996 76%, #eef3f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #e8f1f8;
}
.transformation-title-blue {
  color: #159fff;
  background: linear-gradient(180deg, #6dd0ff, #0a82ed 36%, #0050bd 67%, #159fff 84%, #00367e);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .07em .09em 0 #001633, 0 0 .75rem rgb(0 143 255 / .4), 0 .13em .18em #000;
}
.transformation-copy > p:not(.section-kicker) { max-width: 34rem; margin: 1.6rem 0 0; color: #c9d5e0; font-size: clamp(1rem, 1.12vw, 1.12rem); line-height: 1.58; }
.transformation-frame {
  position: relative;
  grid-area: project;
  align-self: center;
  margin: 0;
  padding: 2.2rem .72rem .72rem;
  clip-path: polygon(0 1.6rem, 1.6rem 0, calc(100% - 1.7rem) 0, 100% 1.7rem, 100% calc(100% - 1.35rem), calc(100% - 1.35rem) 100%, 1.25rem 100%, 0 calc(100% - 1.25rem));
  background:
    linear-gradient(90deg, #009cff 0 .17rem, transparent .18rem calc(100% - .18rem), #168fe1 calc(100% - .17rem)),
    linear-gradient(145deg, #adbac6 0 1.4%, #294359 3%, #091727 48%, #4c6073 96%, #b2bdc7 99%);
  filter: drop-shadow(0 1.65rem 1.65rem rgb(0 0 0 / .72)) drop-shadow(0 0 .6rem rgb(0 118 237 / .3));
}
.transformation-frame::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: .42rem;
  clip-path: polygon(0 1.25rem, 1.25rem 0, calc(100% - 1.3rem) 0, 100% 1.3rem, 100% calc(100% - 1.05rem), calc(100% - 1.05rem) 100%, 1rem 100%, 0 calc(100% - 1rem));
  background: repeating-linear-gradient(90deg, rgb(255 255 255 / .025) 0 1px, transparent 1px 3rem), linear-gradient(145deg, #0d1d2d, #030a14 68%);
  box-shadow: inset 0 0 0 1px #3d5870, inset 0 0 1.8rem #000;
}
.transformation-frame::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  right: 13%;
  width: 26%;
  height: .2rem;
  background: #2bb1ff;
  box-shadow: 0 0 .85rem #008ff4;
}
.transformation-number {
  position: absolute;
  z-index: 4;
  top: .68rem;
  left: 1.7rem;
  min-width: 3.2rem;
  padding: .18rem .65rem .25rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - .5rem) 100%, 0 100%);
  color: #3cb5ff;
  background: #06111f;
  font: 900 1.2rem/1 var(--heading);
  letter-spacing: .04em;
  text-shadow: 0 0 .55rem #008cff;
}
.transformation-media {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border: .2rem solid #7b8d9e;
  outline: 1px solid #172a3d;
  clip-path: polygon(0 1.15rem, 1.15rem 0, calc(100% - 1.15rem) 0, 100% 1.15rem, 100% calc(100% - .75rem), calc(100% - .75rem) 100%, .75rem 100%, 0 calc(100% - .75rem));
  background: #071321;
  box-shadow: 0 0 0 .3rem #071321, 0 .8rem 1.4rem #000, 0 0 .7rem rgb(10 143 255 / .25);
}
.transformation-media::after { content: ""; position: absolute; inset: 0; border-top: 2px solid rgb(106 201 255 / .72); border-left: 1px solid rgb(172 214 241 / .38); pointer-events: none; }
.transformation-media img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 690; object-fit: contain; }
.transformation-frame figcaption {
  position: relative;
  z-index: 2;
  min-height: 4.3rem;
  margin: .7rem 0 0;
  padding: 1.25rem 1.25rem 1.05rem 2.1rem;
  border-top: 1px solid #48637b;
  color: #d2dce6;
  background: repeating-linear-gradient(0deg, rgb(139 168 195 / .025) 0 1px, transparent 1px .36rem), #06101b;
  font-size: .78rem;
  letter-spacing: .035em;
}
.transformation-frame figcaption::before { content: ""; position: absolute; top: 1.42rem; left: .8rem; width: .65rem; height: .14rem; background: #18a8ff; box-shadow: 0 0 .45rem #008ff0; }
.transformation-cta {
  grid-area: action;
  align-self: start;
  display: inline-flex;
  width: min(100%, 25rem);
  min-height: 3.8rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: .85rem 1.25rem .85rem 1.5rem;
  border: 1px solid #71869a;
  clip-path: polygon(0 0, calc(100% - .85rem) 0, 100% .85rem, 100% 100%, .65rem 100%, 0 calc(100% - .65rem));
  color: #f1f5f8;
  background: linear-gradient(110deg, #0c1e31, #050d18);
  font: 900 .82rem/1.2 Arial, sans-serif;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: inset .18rem 0 0 #159fff, 0 .8rem 1.4rem rgb(0 0 0 / .38);
}
.transformation-cta span { color: #67c9ff; font-size: 1.3rem; }
.transformation-cta:hover { border-color: #55bdff; background: #0b2946; }
.transformation-cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #071321; }
@media (max-width: 68rem) {
  .transformation-grid { grid-template-columns: minmax(17rem, .65fr) minmax(30rem, 1.35fr); gap: 1.5rem 2rem; }
  .transformation-copy h2 { font-size: clamp(3.4rem, 6vw, 4.8rem); }
}
@media (max-width: 47.5rem) {
  .transformation { padding-block: 4.8rem 5.5rem; }
  .transformation-grid { grid-template-columns: 1fr; grid-template-areas: "copy" "project" "action"; gap: 2rem; }
  .transformation-copy { align-self: auto; }
  .transformation-copy h2 { max-width: 8ch; font-size: clamp(3.3rem, 15.5vw, 4.8rem); }
  .transformation-frame { padding: 1.9rem .48rem .5rem; }
  .transformation-number { top: .58rem; left: 1.25rem; }
  .transformation-frame figcaption { padding-inline: 1.8rem .9rem; }
  .transformation-cta { width: 100%; max-width: none; }
}

/* Focused systems polish: section rail, Why SFPS, and Project Conversation */
@media (min-width: 80rem) and (min-height: 30rem) {
  .section-rail { width: 16.5rem; right: 1.75rem; }
  .section-rail::before {
    right: .91rem;
    width: 2px;
    background: linear-gradient(180deg, transparent, #7d91a5 10%, #168ddd 48%, #7d91a5 90%, transparent);
    box-shadow: 0 0 .55rem rgb(21 163 255 / .38), 1px 0 0 #06111d;
  }
  .section-rail-list { gap: .52rem; }
  .section-rail-link {
    width: 4.25rem;
    min-height: 3.75rem;
    padding: .65rem 2.45rem .65rem .9rem;
    border-width: 2px;
    gap: .65rem;
  }
  .section-rail-number {
    flex-basis: 1.45rem;
    color: #8ed8ff;
    font-size: .72rem;
    text-shadow: 0 0 .45rem rgb(21 163 255 / .55);
  }
  .section-rail-label { font-size: .78rem; letter-spacing: .1em; }
  .section-rail-node {
    right: .48rem;
    width: .88rem;
    height: .88rem;
    border-width: 2px;
    box-shadow: 0 0 0 4px #071321, 0 0 .3rem rgb(21 163 255 / .25);
  }
  .section-rail-link:hover,
  .section-rail-link:focus-visible,
  .section-rail-link[aria-current="location"] {
    width: 16.5rem;
    border-color: #91a4b7;
    background:
      linear-gradient(90deg, transparent 0 .4rem, rgb(19 54 83 / .25) .4rem calc(.4rem + 1px), transparent calc(.4rem + 1px)),
      linear-gradient(105deg, rgb(4 12 22 / .98), rgb(9 31 52 / .98));
    box-shadow: inset -.32rem 0 0 #18a8ff, inset 0 1px 0 rgb(255 255 255 / .16), 0 .9rem 1.5rem rgb(0 0 0 / .52), 0 0 1rem rgb(0 143 255 / .25);
  }
  .section-rail-link:hover .section-rail-node,
  .section-rail-link:focus-visible .section-rail-node,
  .section-rail-link[aria-current="location"] .section-rail-node {
    box-shadow: 0 0 0 4px #071321, 0 0 .85rem #159fff;
  }
}

.why {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5.5rem, 8vw, 8.5rem);
  background:
    radial-gradient(circle at 17% 42%, rgb(0 122 224 / .17), transparent 27rem),
    linear-gradient(145deg, #030a14, #071525 56%, #030914);
  color: #f1f5f8;
}
.why::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .28;
  background-image:
    linear-gradient(rgb(86 128 163 / .16) 1px, transparent 1px),
    linear-gradient(90deg, rgb(86 128 163 / .16) 1px, transparent 1px),
    repeating-linear-gradient(118deg, transparent 0 10rem, rgb(0 133 235 / .09) 10rem calc(10rem + 1px));
  background-size: 4rem 4rem, 4rem 4rem, 100% 100%;
  mask-image: linear-gradient(90deg, #000, #000 84%, transparent);
}
.why-grid { grid-template-columns: minmax(24rem, .82fr) minmax(32rem, 1.18fr); align-items: center; gap: clamp(3rem, 7vw, 8rem); }
.why-title-block { top: 3rem; }
.why .section-kicker { color: #67c9ff; text-shadow: 0 0 .7rem rgb(0 145 255 / .45); }
.why h2 {
  max-width: 9.5ch;
  font-size: clamp(3.8rem, 5vw, 5.8rem);
  font-style: italic;
  line-height: .82;
  letter-spacing: -.045em;
  text-shadow: .07em .08em 0 #030914, 0 .16em .24em rgb(0 0 0 / .7);
}
.why-title-silver,
.why-title-blue { display: block; }
.why-title-silver {
  background: linear-gradient(180deg, #fff 0 15%, #8d9aa8 37%, #f7faff 54%, #748290 77%, #edf3f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #e6eef5;
}
.why-title-blue {
  margin-top: .16em;
  background: linear-gradient(180deg, #78d5ff, #108bea 37%, #004eae 68%, #159fff 84%, #003673);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .07em .09em 0 #00162f, 0 0 .75rem rgb(0 143 255 / .38), 0 .14em .18em #000;
}
.why-points { display: grid; gap: 1.25rem; }
.why-points article {
  position: relative;
  display: grid;
  min-height: 10.5rem;
  grid-template-columns: 4.5rem 1fr;
  align-content: center;
  column-gap: 1.4rem;
  padding: 1.65rem 2rem;
  overflow: hidden;
  border: 2px solid #64798c;
  clip-path: polygon(1.1rem 0, 100% 0, 100% calc(100% - .85rem), calc(100% - .85rem) 100%, 0 100%, 0 1.1rem);
  background:
    repeating-linear-gradient(0deg, rgb(140 171 198 / .025) 0 1px, transparent 1px .38rem),
    linear-gradient(110deg, #0b1b2b, #06101c);
  box-shadow: inset .28rem 0 0 #158fe7, inset 0 1px 0 rgb(255 255 255 / .12), 0 1rem 1.8rem rgb(0 0 0 / .4), 0 0 .75rem rgb(0 132 235 / .16);
}
.why-points article::after {
  content: "";
  position: absolute;
  top: 0;
  right: 12%;
  width: 22%;
  height: .18rem;
  background: #2bb1ff;
  box-shadow: 0 0 .65rem #008ff4;
}
.why-points article > span {
  grid-row: 1 / 3;
  align-self: center;
  color: #55bdff;
  font: 900 2.35rem/1 var(--heading);
  text-shadow: 0 0 .65rem rgb(0 143 255 / .58);
}
.why-points h3 { margin: 0; color: #f1f5f8; font-size: clamp(1.75rem, 2.1vw, 2.35rem); line-height: .95; }
.why-points p { max-width: 48rem; margin: .65rem 0 0; color: #c8d5e2; line-height: 1.55; }

.process {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5.5rem, 8vw, 8.5rem);
  background:
    radial-gradient(ellipse at 75% 50%, rgb(0 107 211 / .18), transparent 34rem),
    linear-gradient(125deg, #020812, #081727 54%, #030a14);
}
.process::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .3;
  background:
    linear-gradient(135deg, transparent 0 67%, rgb(21 159 255 / .15) 67.1% 67.25%, transparent 67.35%),
    repeating-linear-gradient(90deg, transparent 0 5rem, rgb(96 143 181 / .12) 5rem calc(5rem + 1px));
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000);
}
.process-grid { grid-template-columns: minmax(23rem, .68fr) minmax(35rem, 1.32fr); align-items: center; gap: clamp(3rem, 6vw, 7rem); }
.process-heading h2 {
  max-width: 9ch;
  margin: 0;
  font-size: clamp(3.7rem, 4.8vw, 5.6rem);
  font-style: italic;
  line-height: .84;
  letter-spacing: -.045em;
  text-shadow: .07em .08em 0 #020914, 0 .16em .24em rgb(0 0 0 / .72);
}
.process-title-silver,
.process-title-blue { display: block; }
.process-title-silver {
  background: linear-gradient(180deg, #fff 0 16%, #909eac 38%, #f6f9fc 54%, #7b8997 77%, #eef3f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #e8f1f8;
}
.process-title-blue {
  margin-top: .16em;
  background: linear-gradient(180deg, #6dd0ff, #0a82ed 37%, #0050bd 68%, #159fff 84%, #00367e);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .07em .09em 0 #001633, 0 0 .75rem rgb(0 143 255 / .4), 0 .13em .18em #000;
}
.process-list {
  position: relative;
  display: grid;
  gap: 1.15rem;
  margin: 0;
  padding: 0 0 0 1.75rem;
  border: 0;
  list-style: none;
}
.process-list::before {
  content: "";
  position: absolute;
  top: 3rem;
  bottom: 3rem;
  left: .42rem;
  width: .24rem;
  background: linear-gradient(#6b7f93, #18a8ff 50%, #6b7f93);
  box-shadow: 0 0 .7rem rgb(21 163 255 / .48);
}
.process-list li {
  position: relative;
  display: grid;
  min-height: 9rem;
  grid-template-columns: 5rem 1fr;
  align-content: center;
  padding: 1.4rem 1.7rem;
  border: 2px solid #60758a;
  clip-path: polygon(.9rem 0, 100% 0, 100% calc(100% - .75rem), calc(100% - .75rem) 100%, 0 100%, 0 .9rem);
  background:
    repeating-linear-gradient(0deg, rgb(142 172 198 / .025) 0 1px, transparent 1px .38rem),
    linear-gradient(110deg, #091827, #050d18);
  box-shadow: inset .24rem 0 0 #168ee8, inset 0 1px 0 rgb(255 255 255 / .1), 0 .9rem 1.5rem rgb(0 0 0 / .4);
}
.process-list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.75rem;
  width: 1.75rem;
  height: 2px;
  background: #26adff;
  box-shadow: 0 0 .55rem #008ff4;
}
.process-list li > span {
  align-self: center;
  color: #55bdff;
  font-size: 2.55rem;
  text-shadow: 0 0 .65rem rgb(0 143 255 / .58);
}
.process-list h3 { margin: 0; color: #f1f5f8; font-size: clamp(1.65rem, 2vw, 2.15rem); line-height: .95; }
.process-list p { margin: .55rem 0 0; color: #c5d3df; line-height: 1.5; }

@media (max-width: 68rem) {
  .why-grid,
  .process-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .why-title-block { position: static; }
  .why h2,
  .process-heading h2 { max-width: 11ch; }
  .why-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-points article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.5rem) {
  .why,
  .process { padding-block: 4.8rem 5.5rem; }
  .why h2,
  .process-heading h2 { font-size: clamp(3rem, 14vw, 4.3rem); }
  .why-points { grid-template-columns: 1fr; }
  .why-points article,
  .why-points article:last-child {
    min-height: 0;
    grid-column: auto;
    grid-template-columns: 3.5rem 1fr;
    padding: 1.4rem 1.15rem;
  }
  .why-points article > span { font-size: 1.85rem; }
  .process-list { padding-left: 1.2rem; }
  .process-list::before { left: .2rem; }
  .process-list li { min-height: 0; grid-template-columns: 3.5rem 1fr; padding: 1.35rem 1rem; }
  .process-list li::before { left: -1.2rem; width: 1.2rem; }
  .process-list li > span { font-size: 1.9rem; }
}

@media (forced-colors: active) {
  .why-title-silver,
  .why-title-blue,
  .process-title-silver,
  .process-title-blue {
    -webkit-text-fill-color: CanvasText;
    -webkit-text-stroke: 0;
  }
  .why-points article,
  .process-list li { border: 2px solid CanvasText; }
}

/* Field Notes resource system */
.insights {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(5.5rem, 8vw, 8.5rem);
  background:
    radial-gradient(ellipse at 72% 48%, rgb(0 118 222 / .2), transparent 30rem),
    linear-gradient(150deg, #030914, #081727 58%, #030a13);
  color: #f1f5f8;
}
.insights::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .28;
  background:
    linear-gradient(120deg, transparent 0 44%, rgb(21 159 255 / .13) 44.1% 44.25%, transparent 44.35%),
    linear-gradient(rgb(93 139 177 / .13) 1px, transparent 1px),
    linear-gradient(90deg, rgb(93 139 177 / .13) 1px, transparent 1px);
  background-size: 100% 100%, 5rem 5rem, 5rem 5rem;
  mask-image: linear-gradient(90deg, transparent, #000 13%, #000 92%, transparent);
}
.insights-grid { grid-template-columns: minmax(24rem, .82fr) minmax(32rem, 1.18fr); align-items: center; gap: clamp(3rem, 7vw, 8rem); }
.insights .section-kicker { color: #67c9ff; text-shadow: 0 0 .7rem rgb(0 145 255 / .45); }
.insights h2 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(3.8rem, 5vw, 5.8rem);
  font-style: italic;
  line-height: .83;
  letter-spacing: -.045em;
  text-shadow: .07em .08em 0 #020914, 0 .16em .24em rgb(0 0 0 / .72);
}
.insights-title-silver,
.insights-title-blue { display: block; }
.insights-title-silver {
  background: linear-gradient(180deg, #fff 0 16%, #909eac 38%, #f6f9fc 54%, #7b8997 77%, #eef3f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #e8f1f8;
}
.insights-title-blue {
  margin-top: .16em;
  background: linear-gradient(180deg, #6dd0ff, #0a82ed 37%, #0050bd 68%, #159fff 84%, #00367e);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .07em .09em 0 #001633, 0 0 .75rem rgb(0 143 255 / .4), 0 .13em .18em #000;
}
.insight-preview {
  position: relative;
  min-height: 24rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem;
  overflow: hidden;
  border: 2px solid #6b8094;
  clip-path: polygon(1.4rem 0, 100% 0, 100% calc(100% - 1.1rem), calc(100% - 1.1rem) 100%, 0 100%, 0 1.4rem);
  background:
    repeating-linear-gradient(0deg, rgb(142 172 198 / .026) 0 1px, transparent 1px .4rem),
    linear-gradient(115deg, #0b1d2f, #06101c 70%);
  box-shadow: inset .3rem 0 0 #168ee8, inset 0 1px 0 rgb(255 255 255 / .13), 0 1.3rem 2rem rgb(0 0 0 / .5), 0 0 .9rem rgb(0 132 235 / .18);
}
.insight-preview::after {
  content: "";
  position: absolute;
  top: 0;
  right: 12%;
  width: 28%;
  height: .22rem;
  background: #2bb1ff;
  box-shadow: 0 0 .8rem #008ff4;
}
.insight-panel-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.6rem;
  color: #eef5fb;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.insight-panel-heading span {
  min-width: 3rem;
  padding: .35rem .55rem;
  color: #67c9ff;
  background: #06111f;
  clip-path: polygon(0 0, 100% 0, calc(100% - .55rem) 100%, 0 100%);
  font: 900 1.15rem/1 var(--heading);
  text-align: center;
  text-shadow: 0 0 .5rem #008ff4;
}
.insight-preview > p { max-width: 42rem; margin: 0; color: #c8d5e2; font-size: clamp(1rem, 1.2vw, 1.15rem); line-height: 1.65; }
.insights-cta {
  display: inline-flex;
  width: min(100%, 23rem);
  min-height: 3.9rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 2rem;
  padding: .85rem 1.2rem .85rem 1.45rem;
  border: 2px solid #8298aa;
  clip-path: polygon(0 0, calc(100% - .85rem) 0, 100% .85rem, 100% 100%, .65rem 100%, 0 calc(100% - .65rem));
  color: #f1f5f8;
  background: linear-gradient(110deg, #0c1e31, #050d18);
  box-shadow: inset .22rem 0 0 #159fff, 0 .8rem 1.3rem rgb(0 0 0 / .4);
  font: 900 .8rem/1.2 var(--body);
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}
.insights-cta span { color: #67c9ff; font-size: 1.3rem; }
.insights-cta:hover { border-color: #55bdff; background: #0b2946; }
.insights-cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #071321; }

/* Independent floating back-to-top utility */
.back-to-top {
  position: fixed;
  z-index: 39;
  right: 1.75rem;
  bottom: 1.75rem;
  display: inline-flex;
  min-width: 8.75rem;
  min-height: 3.5rem;
  align-items: center;
  justify-content: center;
  gap: .72rem;
  padding: .7rem 1.05rem;
  border: 2px solid #8298aa;
  clip-path: polygon(.65rem 0, 100% 0, 100% calc(100% - .65rem), calc(100% - .65rem) 100%, 0 100%, 0 .65rem);
  color: #f1f5f8;
  background: linear-gradient(110deg, #0b1d2e, #040c16);
  box-shadow: inset -.22rem 0 0 #18a8ff, inset 0 1px 0 rgb(255 255 255 / .14), 0 .8rem 1.4rem rgb(0 0 0 / .52), 0 0 .7rem rgb(0 143 255 / .2);
  font-size: .7rem;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(.7rem);
  transition: opacity 240ms ease, transform 240ms ease, visibility 0s linear 240ms, border-color 200ms ease;
}
.back-to-top span { color: #67c9ff; font-size: 1.25rem; line-height: 1; }
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
.back-to-top:hover { border-color: #55bdff; background: #0b2946; }
.back-to-top:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #071321; }

@media (max-width: 68rem) {
  .insights-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .insights h2 { max-width: 11ch; }
  .insight-preview { min-height: 0; }
}

@media (max-width: 47.5rem) {
  .insights { padding-block: 4.8rem 5.5rem; }
  .insights h2 { font-size: clamp(3rem, 14vw, 4.3rem); }
  .insight-preview { padding: 2rem 1.25rem 1.4rem; }
  .insights-cta { width: 100%; }
  .back-to-top {
    right: .9rem;
    bottom: max(.9rem, env(safe-area-inset-bottom));
    min-width: 3.25rem;
    min-height: 3.25rem;
    padding: .6rem .8rem;
  }
  .back-to-top strong {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: none; transform: none; }
}

@media (forced-colors: active) {
  .insights-title-silver,
  .insights-title-blue {
    -webkit-text-fill-color: CanvasText;
    -webkit-text-stroke: 0;
  }
  .insight-preview,
  .insights-cta,
  .back-to-top { border: 2px solid CanvasText; }
}

/* Persistent-navigation handoff: desktop rail, compact sticky mobile header. */
@media (min-width: 47.501rem) {
  .site-header {
    position: absolute;
    top: 0;
  }
}

@media (max-width: 47.5rem) {
  .site-header {
    position: sticky;
    z-index: 50;
    top: 0;
  }
}

/* Focused Proof / Project Rescue — scoped second-section integration */
.proof-strip {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5rem, 7vw, 7.5rem) 0;
  background:
    radial-gradient(circle at 31% 54%, rgb(0 126 235 / .17), transparent 34rem),
    repeating-linear-gradient(90deg, rgb(113 147 179 / .025) 0 1px, transparent 1px 4.5rem),
    linear-gradient(125deg, #030914, #0a1b31 53%, #040b15);
}
.proof-strip::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(145deg, transparent 0 68%, rgb(21 163 255 / .05) 68% 68.15%, transparent 68.2%),
    repeating-linear-gradient(0deg, rgb(155 181 204 / .025) 0 1px, transparent 1px .5rem);
  pointer-events: none;
}
.proof-heading {
  max-width: 62rem;
  margin-bottom: clamp(2rem, 3vw, 3rem);
}
.proof-heading .section-kicker { margin: 0 0 .85rem; }
.proof-heading h2 {
  max-width: 19ch;
  margin: 0;
  font-size: clamp(2.6rem, 4.3vw, 4.8rem);
  line-height: .9;
  letter-spacing: -.035em;
}
.proof-heading h2 span { display: block; }
.proof-heading h2 span:first-child {
  color: #f4f7fa;
  text-shadow: .055em .07em 0 #32465a, 0 .14em .19em #000;
}
.proof-heading h2 span:last-child {
  background: linear-gradient(180deg, #8cddff, #168fe8 39%, #0057bd 70%, #30b5ff 86%, #00428e);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #55bdff;
  text-shadow: .06em .08em 0 #001633, 0 0 .65rem rgb(0 143 255 / .34), 0 .13em .17em #000;
}
.proof-experience {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.project-rescue-frame {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 3.5rem .72rem .72rem;
  clip-path: polygon(0 1.55rem, 1.55rem 0, calc(100% - 1.7rem) 0, 100% 1.7rem, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 1.15rem 100%, 0 calc(100% - 1.15rem));
  background:
    linear-gradient(90deg, #159fff 0 .2rem, transparent .21rem calc(100% - .21rem), #147fd0 calc(100% - .2rem)),
    linear-gradient(145deg, #b9c4ce 0 1.2%, #39536a 2.8%, #091727 49%, #435b70 96%, #aebbc7 99%);
  filter: drop-shadow(0 1.5rem 1.65rem rgb(0 0 0 / .67)) drop-shadow(0 0 .7rem rgb(0 130 243 / .3));
}
.project-rescue-frame::before {
  content: "";
  position: absolute;
  inset: .42rem;
  clip-path: polygon(0 1.2rem, 1.2rem 0, calc(100% - 1.25rem) 0, 100% 1.25rem, 100% calc(100% - .95rem), calc(100% - .95rem) 100%, .9rem 100%, 0 calc(100% - .9rem));
  background: repeating-linear-gradient(90deg, rgb(255 255 255 / .025) 0 1px, transparent 1px 3rem), linear-gradient(145deg, #0d1d2d, #030a14 70%);
  box-shadow: inset 0 0 0 1px #466178, inset 0 0 1.7rem #000;
}
.project-rescue-frame::after {
  content: "";
  position: absolute;
  top: 0;
  right: 11%;
  width: 27%;
  height: .22rem;
  background: #2bb1ff;
  box-shadow: 0 0 .85rem #008ff4;
}
.project-rescue-frame-heading {
  position: absolute;
  z-index: 3;
  top: .72rem;
  left: 1.7rem;
  right: 1.7rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #70caff;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.project-rescue-frame-heading strong { color: #f4f7fa; font-family: var(--heading); font-size: 1rem; letter-spacing: .08em; }
.project-rescue-player {
  position: relative;
  z-index: 2;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: .2rem solid #8395a6;
  outline: 1px solid #172a3d;
  clip-path: polygon(0 1.05rem, 1.05rem 0, calc(100% - 1.05rem) 0, 100% 1.05rem, 100% calc(100% - .7rem), calc(100% - .7rem) 100%, .7rem 100%, 0 calc(100% - .7rem));
  background: #020711;
  box-shadow: 0 0 0 .28rem #071321, 0 .8rem 1.4rem #000, 0 0 .8rem rgb(10 143 255 / .24);
}
.project-rescue-player::after {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 2px solid rgb(106 201 255 / .78);
  border-left: 1px solid rgb(190 222 241 / .45);
  pointer-events: none;
}
.project-rescue-video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #020711;
  object-fit: cover;
}
.project-rescue-play {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(1rem, 3vw, 2rem);
  display: inline-flex;
  min-height: 4.35rem;
  align-items: center;
  gap: 1rem;
  max-width: calc(100% - 2rem);
  padding: .7rem 1.35rem .72rem 1rem;
  border: 2px solid #8fa2b4;
  border-radius: 0;
  clip-path: polygon(.75rem 0, calc(100% - .8rem) 0, 100% .8rem, 100% 100%, .65rem 100%, 0 calc(100% - .65rem), 0 .75rem);
  color: #f6f9fc;
  background: linear-gradient(110deg, rgb(10 29 48 / .96), rgb(3 10 19 / .98));
  box-shadow: inset .24rem 0 0 #159fff, inset 0 1px 0 rgb(255 255 255 / .16), 0 .9rem 1.5rem rgb(0 0 0 / .6), 0 0 .8rem rgb(0 143 255 / .24);
  cursor: pointer;
  transform: translateX(-50%);
}
.project-rescue-play:hover { border-color: #55bdff; background: linear-gradient(110deg, #103b63, #061321); }
.project-rescue-play-icon {
  display: grid;
  flex: 0 0 2.55rem;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  clip-path: polygon(.45rem 0, 100% 0, 100% calc(100% - .45rem), calc(100% - .45rem) 100%, 0 100%, 0 .45rem);
  color: #06101c;
  background: linear-gradient(180deg, #83d7ff, #169cff 48%, #0063c7);
  font-size: 1rem;
  text-shadow: 0 1px 0 rgb(255 255 255 / .45);
}
.project-rescue-play-copy { min-width: 0; text-align: left; text-transform: uppercase; }
.project-rescue-play-copy strong { display: block; font-size: .78rem; letter-spacing: .1em; line-height: 1.2; }
.project-rescue-play-copy small { display: block; margin-top: .2rem; color: #9cc8e5; font-size: .6rem; font-weight: 850; letter-spacing: .14em; line-height: 1.2; }
.project-rescue-player:focus-within { outline: 3px solid #fff; outline-offset: 5px; }
.project-rescue-play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.project-rescue-player.is-active .project-rescue-play { display: none; }
.project-rescue-frame figcaption {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.4rem;
  align-items: center;
  margin-top: .7rem;
  padding: .75rem 1.1rem .65rem 1.7rem;
  border-top: 1px solid #48637b;
  color: #e5edf5;
  background: repeating-linear-gradient(0deg, rgb(139 168 195 / .025) 0 1px, transparent 1px .36rem), #06101b;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.project-rescue-frame figcaption::before { content: ""; position: absolute; left: .65rem; width: .55rem; height: .14rem; background: #18a8ff; box-shadow: 0 0 .45rem #008ff0; }
.project-rescue-frame figcaption span:last-child { color: #78c9fa; }
.proof-list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: .7rem 0 0;
  padding: .55rem;
  border: 1px solid #50677d;
  clip-path: polygon(.85rem 0, calc(100% - .85rem) 0, 100% .85rem, 100% calc(100% - .7rem), calc(100% - .7rem) 100%, .7rem 100%, 0 calc(100% - .7rem), 0 .85rem);
  background:
    linear-gradient(90deg, #159fff 0 .16rem, transparent .17rem calc(100% - .17rem), #147fd0 calc(100% - .16rem)),
    repeating-linear-gradient(90deg, rgb(129 164 194 / .03) 0 1px, transparent 1px 3rem),
    #06101b;
  box-shadow: 0 1.2rem 1.8rem rgb(0 0 0 / .42), 0 0 .65rem rgb(0 132 235 / .14);
}
.proof-list::before { content: ""; position: absolute; top: 0; left: 12%; width: 24%; height: .18rem; background: #2bb1ff; box-shadow: 0 0 .7rem #008ff4; }
.proof-list div {
  position: relative;
  display: grid;
  min-height: 8.25rem;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  align-content: center;
  column-gap: 1rem;
  padding: 1.15rem 1.35rem 1.1rem 1.2rem;
  overflow: hidden;
  border: 1px solid #667b8e;
  clip-path: polygon(.65rem 0, 100% 0, 100% calc(100% - .55rem), calc(100% - .55rem) 100%, 0 100%, 0 .65rem);
  background: repeating-linear-gradient(0deg, rgb(142 172 198 / .025) 0 1px, transparent 1px .38rem), linear-gradient(110deg, #091827, #050d18);
  box-shadow: inset .22rem 0 0 #168ee8, inset 0 1px 0 rgb(255 255 255 / .1), 0 .65rem 1rem rgb(0 0 0 / .34);
}
.proof-list div::before {
  content: attr(data-proof-number);
  grid-row: 1 / 3;
  align-self: center;
  color: #55bdff;
  font: 900 1.45rem/1 var(--heading);
  letter-spacing: .04em;
  text-shadow: 0 0 .55rem rgb(0 143 255 / .52);
}
.proof-list div:not(:last-child)::after { content: ""; position: absolute; top: 18%; right: 0; width: 1px; height: 64%; background: #93a5b5; box-shadow: -.2rem 0 0 #168ee8; }
.proof-list dt { grid-column: 2; color: #f4f7fa; font-size: clamp(1.7rem, 2vw, 2.3rem); text-shadow: .045em .06em 0 #26394b, 0 .12em .16em #000; }
.proof-list dd { grid-column: 2; margin-top: .35rem; color: #c7d4e0; font-size: .7rem; line-height: 1.35; }
.proof-affiliations dt { font-size: clamp(1.35rem, 1.55vw, 1.8rem); }
.proof-affiliations dd { display: flex; align-items: center; gap: .65rem; }
.association-mark {
  display: flex;
  flex: 0 0 auto;
  width: 5rem;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  background: transparent;
}
.association-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.proof-affiliations .association-mark-ssa { width: 5.2rem; }
.proof-affiliations .association-mark-sboa { width: 4.7rem; }
.hero-affiliations { display: flex; align-items: center; gap: .8rem; }
.hero-affiliations .association-mark-ssa { width: 6.8rem; }
.hero-affiliations .association-mark-sboa { width: 6.2rem; }
.footer-affiliations { display: flex; align-items: center; gap: .7rem; margin: 0 0 .85rem; }
.footer-affiliations .association-mark-ssa { width: 4.6rem; }
.footer-affiliations .association-mark-sboa { width: 4.2rem; }

@media (max-width: 68rem) {
  .proof-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .proof-list div { min-height: 8.5rem; grid-template-columns: 2.7rem minmax(0, 1fr); column-gap: .7rem; padding-inline: .9rem; }
  .proof-list dt { font-size: clamp(1.45rem, 2.6vw, 2rem); }
  .proof-affiliations dd { gap: .4rem; }
  .proof-affiliations .association-mark-ssa { width: 4.6rem; }
  .proof-affiliations .association-mark-sboa { width: 4.2rem; }
}

@media (max-width: 60rem) and (min-width: 47.501rem) {
  .proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof-list div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.5rem) {
  .proof-strip { padding: 4.5rem 0 5.2rem; }
  .proof-heading { margin-bottom: 2.3rem; }
  .proof-heading h2 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .proof-experience { gap: 0; }
  .project-rescue-frame { padding: 3.15rem .45rem .55rem; }
  .project-rescue-frame-heading { top: .62rem; left: 1.2rem; right: 1.2rem; }
  .project-rescue-frame-heading strong { font-size: .85rem; }
  .project-rescue-player { border-width: .14rem; }
  .project-rescue-play { bottom: .7rem; min-height: 3.7rem; gap: .7rem; padding: .55rem .85rem .58rem .7rem; }
  .project-rescue-play-icon { flex-basis: 2.35rem; width: 2.35rem; height: 2.35rem; }
  .project-rescue-play-copy strong { font-size: .67rem; }
  .project-rescue-play-copy small { font-size: .54rem; }
  .project-rescue-frame figcaption { display: block; min-height: 0; padding: .7rem .8rem .65rem 1.55rem; font-size: .6rem; }
  .project-rescue-frame figcaption span { display: block; }
  .project-rescue-frame figcaption span:last-child { margin-top: .15rem; }
  .proof-list { grid-template-columns: 1fr; gap: .5rem; margin-top: .55rem; padding: .45rem; }
  .proof-list div { display: grid; min-height: 7.25rem; grid-template-columns: 2.8rem minmax(0, 1fr); column-gap: .8rem; padding: 1rem; border: 1px solid #667b8e; }
  .proof-list div:last-child { grid-column: auto; }
  .proof-list div:not(:last-child)::after { top: auto; right: 10%; bottom: 0; width: 38%; height: 1px; box-shadow: 0 -.18rem 0 #168ee8; }
  .proof-list dt,
  .proof-list dd { grid-column: 2; }
  .proof-affiliations dd { align-items: center; gap: .8rem; }
  .proof-affiliations .association-mark-ssa { width: 5.4rem; }
  .proof-affiliations .association-mark-sboa { width: 4.9rem; }
  .hero-affiliations { gap: .6rem; }
  .hero-affiliations .association-mark-ssa { width: 5.8rem; }
  .hero-affiliations .association-mark-sboa { width: 5.3rem; }
  .footer-affiliations .association-mark-ssa { width: 4.8rem; }
  .footer-affiliations .association-mark-sboa { width: 4.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .project-rescue-play { transition: none; }
}

@media (forced-colors: active) {
  .proof-heading h2 span:last-child { -webkit-text-fill-color: CanvasText; -webkit-text-stroke: 0; }
  .project-rescue-frame,
  .project-rescue-player,
  .project-rescue-play,
  .proof-list div { border: 2px solid CanvasText; }
  .project-rescue-play-icon { color: ButtonText; background: ButtonFace; }
}
