/* Blueprint fidelity corrections. All content remains live HTML. */
.page-shell { max-width: 1800px; }
.page-about .page-shell::before,
.page-capabilities .page-shell::before,
.page-careers .page-shell::before,
.page-contact .page-shell::before {
  background-image: url('assets/energy-environment.webp');
  background-size: 100% 100%;
  background-position: center;
}
.energy-floor {
  pointer-events: none;
  position: absolute;
  z-index: -2;
  inset: auto 0 0;
  height: 330px;
  background: url('assets/energy-environment.webp') center bottom / 100% auto no-repeat;
  mask-image: linear-gradient(transparent, #000 28%);
}
.page-partnerships .energy-floor { display: none; }
.legal {
  background: none;
  text-shadow: 0 1px 4px #000725, 0 0 10px #000725;
}
.page-header, .site-header, .home-hero, .hero-copy { overflow: visible; }
.brand { filter: drop-shadow(0 0 12px #fff); }
.button { box-shadow: inset 0 0 0 2px #d3d5ff, 0 0 9px #6145ff, 0 0 20px #8399ff; }
.button.secondary { box-shadow: 0 0 12px #8b85ff; }
.icon-disc { box-shadow: 0 0 0 2px #ffffffc9, 0 0 16px #c6beff; }
.card-chevron { font-family: Arial, sans-serif; font-weight: 600; }

/* Home: orbit, connected infinity relationship, and four supporting icons. */
.home-hero::before { display: none; }
.orbital-line {
  position: absolute;
  inset: 15px -2% 0;
  width: 104%;
  height: calc(100% - 15px);
  pointer-events: none;
  z-index: -1;
}
.infinity-art { overflow: visible; }
.solution.cyber {
  position: absolute;
  left: 36%;
  top: 34%;
  width: 28%;
  padding: 0;
  background: radial-gradient(ellipse at 50% 22%, #fff 15%, #fffffff2 36%, #ffffff00 72%);
}
.solution.cyber .icon { filter: drop-shadow(0 0 5px #d0caff); }
.orbit-top, .orbit-bottom, .satellite { background: #fffffff3; }
.orbit-bottom .icon { width: 42px; height: 44px; }
.home-lower::before { background: linear-gradient(transparent, #00062a8c 40%, #00052c50); }
.home-lower .pillar + .pillar::before { background: linear-gradient(transparent, #324ddd, transparent); }

/* About: retain the illustrated tiles rather than generic icon boxes. */
.principle-art { background-size: cover; background-position: center; box-shadow: 0 0 14px #5266da33; }
.experience-art { background-image: url('assets/experience-chip.webp'); }
.commitment-art { background-image: url('assets/cyber-defense.webp'); }
.vision-art { background-image: url('assets/vision-burst.webp'); }
.story img { object-position: center; }
.about-principles section { background: linear-gradient(90deg, #fff0, #ffffffdc 58%, #ffffffc9); }
.art-intel { background-image: url('assets/intelligence-room.webp'); background-size: cover; background-position: center; }
.capability { background: linear-gradient(135deg, #fffffff5, #ffffffd9); box-shadow: none; }
.cap-content h2 { letter-spacing: -.5px; }
.cap-content li::marker { color: #0a0676; }

/* Contact: the envelope belongs to the server environment. */
.contact-hero::before {
  background-image: url('assets/contact-environment.webp');
  background-position: right center;
  background-size: cover;
}
.contact-action { background: linear-gradient(100deg, #fff, #fffffff0); }
.closing-slogan { text-shadow: 0 1px 4px #020633, 0 0 14px #010539; }

@media (min-width: 1101px) {
  .site-header { min-height: 200px; padding: 20px 5% 8px; gap: 45px; }
  .brand { width: 180px; }
  .site-header nav { flex: 1; justify-content: flex-end; gap: clamp(22px, 2vw, 36px); }
  .site-header nav > a:not(.button) { font-size: 18px; }
  .site-header .button { font-size: 17px; min-height: 54px; padding: 12px 26px; }
  h1, .hero-copy h1 { font-size: clamp(48px, 4.1vw, 65px); letter-spacing: -1.3px; }
  .eyebrow { font-size: 29px; margin-bottom: 13px; }
  .hero-copy > p:not(.eyebrow) { font-size: 23px; line-height: 1.35; max-width: 650px; }
  .home-main { padding-top: 12px; }
  .home-hero h1 { font-size: clamp(54px, 4.5vw, 69px); }
  .surveillance { font-size: 29px; }
  .microcopy { font-size: 19px; line-height: 1.35; }
  .orbit-top, .orbit-bottom { width: 68px; height: 68px; }
  .orbit-top .icon { width: 44px; height: 47px; }
  .orbit-bottom .icon { width: 48px; height: 50px; }
  .systems { max-width: 1170px; margin-top: 32px; }
  .satellite { width: 70px; height: 70px; }
  .satellite .icon { width: 46px; height: 49px; }
  .satellite-left { left: -6%; }
  .satellite-right { right: -6%; }
  .solution { padding-top: 15px; }
  .solution h2 { font-size: 30px; }
  .solution p { font-size: 20px; line-height: 1.28; }
  .solution .icon { width: 65px; height: 69px; }
  .solution.cyber .icon { width: 86px; height: 91px; }
  .solution.cyber h2 { font-size: 29px; }
  .solution.cyber p { font-size: 19px; }
  .home-promise h2 { font-size: 31px; margin-top: 32px; }
  .home-promise p { font-size: 23px; }
  .home-lower { padding-top: 225px; padding-bottom: 30px; }
  .home-lower .pillar .icon { width: 56px; height: 60px; }
  .home-lower .pillar h3 { font-size: 27px; }
  .home-lower .pillar p { font-size: 21px; }
  .button-row .button { min-height: 58px; font-size: 20px; padding-inline: 35px; }
  .page-hero { min-height: 485px; padding-top: 47px; }
  .about-main .page-hero { min-height: 520px; }
  .mission-section .pillar { padding-block: 23px; }
  .mission-section .pillar .icon { width: 59px; height: 63px; }
  .mission-section .pillar h3 { font-size: 26px; }
  .story { gap: 35px; align-items: start; margin-top: 30px; }
  .story img { height: 355px; }
  .story > div { padding-top: 9px; }
  .story h2 { font-size: 47px; }
  .story p { font-size: 22px; line-height: 1.35; }
  .about-principles { margin-top: 35px; margin-bottom: 115px; gap: 27px; }
  .principle-art { width: 145px; height: 160px; border-radius: 26px; }
  .about-principles h3 { font-size: 22px; }
  .about-principles p { font-size: 20px; line-height: 1.3; }
  .cap-heading { grid-template-columns: 59% 1fr; gap: 30px; }
  .cap-heading h1 { font-size: clamp(48px, 4.1vw, 62px); }
  .cap-heading > p { font-size: 23px; line-height: 1.35; }
  .capability-grid { gap: 34px; }
  .cap-content { gap: 20px; padding: 24px 25px 34px; }
  .cap-content .icon-disc { width: 79px; height: 79px; }
  .cap-content .icon-disc .icon { width: 46px; height: 50px; }
  .cap-content h2 { font-size: 29px; }
  .cap-content ul { font-size: 21px; line-height: 1.45; }
  .capabilities-main { padding-bottom: 150px; }
  .partnership-intro > p:last-child { font-size: 23px; max-width: 850px; }
  .partnership-intro { width: 77%; max-width: 950px; }
  .partnership-pillars { width: 56%; max-width: 710px; gap: 25px; }
  .partnership-pillars h2 { font-size: 29px; }
  .partnership-pillars p { font-size: 21px; }
  .partnership-pillars .icon-disc { width: 78px; height: 78px; }
  .partnership-pillars .icon-disc .icon { width: 44px; height: 48px; }
  .partnerships-main { min-height: 960px; }
  .careers-main .page-hero { min-height: 470px; }
  .career-values .pillar { padding-top: 28px; min-height: 235px; }
  .career-values .pillar .icon { width: 60px; height: 64px; }
  .career-values .pillar h3 { font-size: 24px; }
  .career-values .pillar p { font-size: 22px; }
  .contact-hero { min-height: 570px; }
  .contact-hero .hero-copy { width: 71%; }
  .contact-actions { width: 63%; gap: 18px; }
  .contact-action { min-height: 115px; padding: 18px 28px; }
  .contact-action .icon-disc { width: 70px; height: 70px; }
  .contact-action strong { font-size: 27px; }
  .contact-action small { font-size: 21px; }
  .contact-details strong { font-size: 23px; }
  .contact-details p > span, .contact-details p > a { font-size: 21px; }
  .closing-slogan { font-size: 30px; }
  .legal { font-size: 14px; padding: 26px 3.5% 24px; min-height: 92px; }
}

@media (min-width: 641px) and (max-width: 1100px) {
  .solution.cyber { top: 36%; }
  .solution.cyber .icon { width: 64px; height: 69px; }
  .solution.cyber p { font-size: 15px; }
  .energy-floor { height: 255px; }
  .principle-art { background-size: cover; }
  .contact-hero::before { background-position: 68% center; }
}

@media (max-width: 640px) {
  .page-about .page-shell::before,
  .page-capabilities .page-shell::before,
  .page-careers .page-shell::before,
  .page-contact .page-shell::before {
    background-size: auto 100%;
    background-position: center;
  }
  .energy-floor { height: 220px; background-size: auto 1050px; }
  .orbital-line { display: none; }
  .solution.cyber { position: relative; left: auto; top: auto; width: 100%; padding: 20px 15px; }
  .solution.cyber .icon { width: 56px; height: 61px; }
  .orbit-bottom .icon { width: 33px; height: 36px; }
  .principle-art { width: 100px; height: 110px; background-size: cover; }
  .story img { height: 215px; }
  .about-principles section { background: #fffffff0; }
  .contact-hero::before { background-position: 74% center; }
  .contact-main .closing-slogan { padding-top: 90px; }
}
@media(min-width:641px){.solution.it{grid-column:1}.solution.ai{grid-column:3}}
.home-lower::before { bottom: -120px; }
.page-careers .tech-hero::before { background-image: linear-gradient(90deg, #fff 0%, #fffffff5 42%, #ffffffbd 53%, #ffffff00 74%), url('assets/server-aisle.webp'); }
@media(min-width:1101px){.hero-copy>p:not(.eyebrow){max-width:600px}.contact-hero .hero-copy>p:last-child{max-width:610px}}

/* September 28: compact homepage and crisp blueprint icon refinements. */
.icon { shape-rendering: geometricPrecision; }
.solution.cyber .icon { filter: none; }
.orbit-top, .orbit-bottom, .satellite { box-shadow: none; border-width: 1.5px; }
.careers-main { min-height: 0; padding-bottom: 75px; }
@media (min-width:641px) {
  .home-hero { max-width: 1120px; margin-inline: auto; padding-inline: 6%; }
  .home-main { padding-top: 10px; }
  .home-hero h1 { font-size: clamp(32px,3.5vw,49px); }
  .surveillance { font-size: clamp(19px,2.1vw,25px); }
  .microcopy { font-size: 16px; }
  .systems { width: 100%; max-width: 920px; margin-top: 17px; container-type: inline-size; }
  .infinity-system { aspect-ratio: 5/2; min-height: 0; display: block; }
  .infinity-art { height: 100%; }
  .solution.it,.solution.ai { position:absolute; top:50%; transform:translateY(-50%); width:29%; padding:0; }
  .solution.it { left:5%; }
  .solution.ai { right:5%; }
  .solution.cyber { top:43%; left:35%; width:30%; padding:0; }
  .solution .icon { width:clamp(34px,5.5cqw,51px); height:clamp(37px,6cqw,56px); margin-bottom:3px; }
  .solution.cyber .icon { width:clamp(43px,7.5cqw,69px); height:clamp(47px,8.1cqw,75px); }
  .solution h2,.solution.cyber h2 { font-size:clamp(17px,2.6cqw,24px); margin-bottom:7px; letter-spacing:-.5px; }
  .solution p,.solution.cyber p { font-size:clamp(12px,1.85cqw,17px); line-height:1.4; }
  .orbit-top,.orbit-bottom,.satellite { width:52px; height:52px; }
  .orbit-top .icon,.orbit-bottom .icon,.satellite .icon { width:34px; height:37px; }
  .satellite { top:calc(50% - 26px); }
  .satellite-left { left:-7%; } .satellite-right { right:-7%; }
  .home-promise { max-width:850px; margin-inline:auto; }
  .home-promise::before { content:''; display:block; height:1px; width:90%; margin:23px auto 14px; background:linear-gradient(90deg,transparent,#ff4b00,#4c138b,transparent); }
  .home-promise h2 { font-size:clamp(21px,2.3vw,27px); margin:0 0 9px; }
  .home-promise p { font-size:clamp(16px,1.7vw,19px); }
  .orbit-bottom { margin-top:14px; }
  .home-lower { padding-top:150px; }
}
@media (max-width:640px) {
  .solution,.solution.it,.solution.ai,.solution.cyber { min-height:0; padding:16px 12px; }
  .infinity-system { gap:16px; }
  .solution .icon { width:40px; height:44px; }
  .solution.cyber .icon { width:46px; height:50px; }
  .solution h2 { font-size:21px; }
  .solution p { font-size:15px; }
  .solution.cyber::before,.solution.cyber::after { height:19px; }
  .home-lower { padding-top:100px; }
}

/* Home orbit: all badges and the ellipse use the same section coordinates. */
@media(min-width:641px) {
  .page-index .home-hero { --orbit-radius:26px; }
  .page-index .orbital-line {
    inset:var(--orbit-radius);
    width:calc(100% - 2 * var(--orbit-radius));
    height:calc(100% - 2 * var(--orbit-radius));
    overflow:visible;
  }
  .page-index .orbit-top,.page-index .orbit-bottom { position:relative; z-index:1; vertical-align:top; }
  .page-index .orbit-bottom { display:flex; margin:14px auto 0; }
  .page-index .satellite { top:50%; z-index:1; margin:0; }
  .page-index .satellite-left { left:var(--orbit-radius); transform:translate(-50%,-50%); }
  .page-index .satellite-right { right:var(--orbit-radius); transform:translate(50%,-50%); }
  .page-index .solution.cyber { background:none; border:0; box-shadow:none; }
  .page-index .cyber-emblem {
    position:relative;
    display:inline-grid;
    place-items:center;
    isolation:isolate;
    width:clamp(43px,7.5cqw,69px);
    height:clamp(47px,8.1cqw,75px);
  }
  .page-index .cyber-emblem::before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:-42%;
    border-radius:50%;
    background:radial-gradient(ellipse,#fff 0%,#fffffff0 18%,#ffffff9c 37%,#ffffff00 70%);
    pointer-events:none;
  }
  .page-index .cyber-emblem::after {
    content:'';
    position:absolute;
    z-index:-1;
    inset:-65%;
    border-radius:50%;
    background:repeating-conic-gradient(from 8deg,#ffffffb3 0deg,#ffffff00 5deg 22deg);
    mask-image:radial-gradient(ellipse,#000 6%,#0008 35%,transparent 69%);
    pointer-events:none;
  }
  .page-index .solution.cyber .icon { display:block; margin:0; }
  .page-index .solution.cyber h2 { margin-top:17px; }
  .page-index .systems { padding-bottom:20px; }
}
@media(max-width:640px) {
  .page-index .cyber-emblem { display:inline-block; }
}
