/* Division II — public defense-lattice identity */
:root {
  --cy-blue:#58c8ff;
  --cy-cobalt:#407cff;
  --cy-ice:#b8e8ff;
  --cy-confirm:#71e7a3;
  --cy-ease:cubic-bezier(.16,1,.3,1);
}
.page-hero {
  min-height:760px;display:flex;align-items:center;
  background:linear-gradient(112deg,#080b10 0%,#0a1019 54%,#071016 100%);
}
.hero-over {
  background:
    linear-gradient(90deg,rgba(8,11,16,.98) 4%,rgba(8,11,16,.78) 46%,rgba(8,11,16,.18) 78%,rgba(8,11,16,.65)),
    radial-gradient(circle at 78% 47%,rgba(88,200,255,.075),transparent 35%);
}
.ph-inner { max-width:1200px;width:100%;padding-right:min(43vw,520px); }
.ph-h1 { font-size:clamp(3.2rem,7vw,6.8rem);letter-spacing:-.045em;line-height:.84; }
.motion-ready .ph-div,.motion-ready .ph-h1,.motion-ready .ph-sub { animation:none;opacity:1; }
.ph-h1::after { content:'';display:block;width:clamp(90px,14vw,180px);height:2px;margin-top:1.5rem;background:linear-gradient(90deg,var(--cy-blue),var(--cy-cobalt),transparent); }
.ph-kicker { color:var(--cy-blue); }
.ph-tag.g { border-color:rgba(88,200,255,.28);color:var(--cy-ice);background:rgba(88,200,255,.025); }
.ph-tag { transition:border-color .3s,color .3s,transform .3s var(--cy-ease),background-color .3s; }
.ph-tag:hover { transform:translateY(-2px);border-color:rgba(88,200,255,.22);color:var(--white);background:rgba(88,200,255,.025); }

.cyber-defense {
  position:absolute;z-index:2;right:clamp(1.5rem,5vw,6rem);top:50%;width:clamp(370px,42vw,620px);
  aspect-ratio:1;transform:translateY(-47%);pointer-events:none;opacity:.82;
  -webkit-mask-image:radial-gradient(circle,#000 55%,transparent 78%);
  mask-image:radial-gradient(circle,#000 55%,transparent 78%);
}
.cyber-defense svg { width:100%;height:100%;overflow:visible; }
.cy-ring,.cy-axis,.cy-boundary,.cy-route { fill:none;vector-effect:non-scaling-stroke; }
.cy-ring { stroke:rgba(88,200,255,.13);stroke-width:.8; }
.cy-axis { stroke:rgba(184,232,255,.1);stroke-width:.65;stroke-dasharray:3 8; }
.cy-boundary { stroke:rgba(88,200,255,.52);stroke-width:1.25; }
.cy-route { stroke:rgba(64,124,255,.48);stroke-width:1; }
.cy-zone { fill:rgba(88,200,255,.025);stroke:rgba(184,232,255,.28);stroke-width:.8; }
.cy-node { fill:#071016;stroke:var(--cy-blue);stroke-width:1.4; }
.cy-node.confirm { stroke:var(--cy-confirm); }
.cy-core { fill:rgba(88,200,255,.08);stroke:var(--cy-ice);stroke-width:1.25; }
.motion-ready .cy-boundary,.motion-ready .cy-route,.motion-ready .cy-zone {
  stroke-dasharray:1100;stroke-dashoffset:1100;animation:cyberTrace 1.35s .32s var(--cy-ease) forwards;
}
.motion-ready .cy-route { animation-delay:.68s;animation-duration:1.05s; }
.motion-ready .cy-node,.motion-ready .cy-core { animation:cyberAcquire .55s 1s backwards var(--cy-ease);transform-box:fill-box;transform-origin:center; }
.motion-ready .cy-node:nth-of-type(2) { animation-delay:1.1s; }
.motion-ready .cy-node:nth-of-type(3) { animation-delay:1.2s; }
@keyframes cyberTrace { to{stroke-dashoffset:0} }
@keyframes cyberAcquire { from{opacity:0;transform:scale(.3) rotate(-35deg)} }
.cyber-readout {
  position:absolute;right:7%;bottom:10%;padding:.42rem .65rem;border-left:1px solid rgba(88,200,255,.28);
  font:500 .5rem/1.7 'Share Tech Mono',monospace;letter-spacing:.16em;color:rgba(184,232,255,.52);
}

#cyber-hero-field,#cyber-services-field,#cyber-approach-field { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
#services,#approach { position:relative;overflow:hidden;padding-top:7rem;padding-bottom:7rem; }
#services .container,#approach .container { position:relative;z-index:2; }
.s-label { color:var(--cy-blue); }
.services-grid { grid-template-columns:repeat(12,1fr);gap:10px;background:transparent; }
.svc {
  min-height:330px;padding:2.6rem;isolation:isolate;
  border:1px solid rgba(88,200,255,.08);
  background:linear-gradient(145deg,rgba(17,23,31,.96),rgba(9,13,19,.94));
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  transition:transform .42s var(--cy-ease),border-color .3s,background-color .3s;
}
.svc:nth-child(1),.svc:nth-child(4) { grid-column:span 7; }
.svc:nth-child(2),.svc:nth-child(3) { grid-column:span 5; }
.svc::before {
  content:attr(data-index);position:absolute;right:1rem;top:.6rem;z-index:-1;
  font:800 6.5rem/1 'Exo 2',sans-serif;color:var(--cy-blue);opacity:.025;
}
.svc::after {
  content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(88,200,255,.055) 49%,transparent 68%);
  transform:translateX(-105%);transition:transform .72s var(--cy-ease);
}
.svc:hover { transform:translateY(-5px);border-color:rgba(88,200,255,.2);background:#0d141d; }
.svc:hover::after { transform:translateX(105%); }
.svc-bar { right:auto;width:42%;background:linear-gradient(90deg,var(--cy-blue),var(--cy-cobalt),transparent); }
.svc-icon { border-color:rgba(88,200,255,.14);transition:border-color .3s,transform .45s var(--cy-ease),background-color .3s; }
.svc-icon svg { stroke:var(--cy-blue); }
.svc:hover .svc-icon { border-color:rgba(88,200,255,.42);transform:rotate(-4deg) scale(1.08);background:rgba(88,200,255,.035); }
.svc-spec::before { background:var(--cy-blue);transition:width .3s var(--cy-ease); }
.svc:hover .svc-spec::before { width:12px; }

#approach { background:linear-gradient(132deg,#0b1119,var(--bg2) 55%,#091018); }
.approach-grid { gap:clamp(4rem,8vw,9rem);align-items:center; }
.approach-stats { gap:8px;background:transparent;transform:rotate(-1deg); }
.astat {
  min-height:160px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
  border:1px solid rgba(88,200,255,.09);background:linear-gradient(145deg,rgba(17,24,33,.96),rgba(10,14,20,.95));
  transition:transform .35s var(--cy-ease),border-color .3s;
}
.astat:nth-child(even) { transform:translateY(18px); }
.astat::after { content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,var(--cy-blue),var(--cy-confirm));transition:width .5s var(--cy-ease); }
.astat:hover { transform:translateY(-3px);border-color:rgba(88,200,255,.22); }
.astat:nth-child(even):hover { transform:translateY(12px); }
.astat:hover::after { width:100%; }
.astat-n { color:var(--cy-blue); }

#cta-section { position:relative;overflow:hidden;background:linear-gradient(110deg,#081017,#0b0e13 58%,#0a1420)!important;padding-top:5.5rem;padding-bottom:5.5rem; }
#cta-section::before { content:'DIVISION II';position:absolute;right:-.04em;top:50%;transform:translateY(-50%);font:800 clamp(5rem,14vw,13rem)/1 'Exo 2',sans-serif;letter-spacing:-.04em;color:var(--cy-blue);opacity:.02; }
.cta-inner { position:relative;z-index:1; }
.btn-green { color:var(--cy-blue);border-color:rgba(88,200,255,.28); }
.btn-green:hover { background:rgba(88,200,255,.06); }

[data-theme="light"] .page-hero { background:linear-gradient(112deg,#e8eef4,#e4edf4 54%,#dcebf1); }
[data-theme="light"] .hero-over { background:linear-gradient(90deg,rgba(240,243,245,.98) 5%,rgba(240,243,245,.78) 48%,rgba(240,243,245,.16) 80%,rgba(240,243,245,.5)); }
[data-theme="light"] .cyber-defense { opacity:.52; }
[data-theme="light"] .cy-ring { stroke:rgba(0,83,130,.14); }
[data-theme="light"] .cy-axis { stroke:rgba(0,64,100,.12); }
[data-theme="light"] .cy-boundary,[data-theme="light"] .cy-route,[data-theme="light"] .cy-zone { stroke:rgba(0,102,158,.48); }
[data-theme="light"] .cy-zone { fill:rgba(0,102,158,.025); }
[data-theme="light"] .cy-node { fill:#e6eef3;stroke:#0074ad; }
[data-theme="light"] .cy-core { fill:rgba(0,102,158,.07);stroke:#005f91; }
[data-theme="light"] .cyber-readout { color:rgba(0,64,100,.58);border-color:rgba(0,102,158,.28); }
[data-theme="light"] .svc,[data-theme="light"] .astat { background:linear-gradient(145deg,rgba(249,252,254,.97),rgba(219,230,238,.92));border-color:rgba(0,102,158,.13); }
[data-theme="light"] .svc:hover { background:#eef5f8;border-color:rgba(0,102,158,.25); }
[data-theme="light"] #approach { background:linear-gradient(132deg,#e3edf3,var(--bg2) 55%,#dce8ef); }
[data-theme="light"] #cta-section { background:linear-gradient(110deg,#dceaf1,#edf1f4 58%,#d8e8f1)!important; }

@media(max-width:1000px){.ph-inner{padding-right:0}.cyber-defense{right:-18%;opacity:.17;width:72vw}.page-hero{min-height:690px}.services-grid{grid-template-columns:1fr 1fr}.svc:nth-child(n){grid-column:auto}}
@media(max-width:700px){.cyber-defense{right:-48%;width:110vw;opacity:.1}.services-grid{grid-template-columns:1fr}.svc{min-height:0;padding:2rem}.approach-stats{transform:none}.astat:nth-child(even){transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .cy-boundary,.motion-ready .cy-route,.motion-ready .cy-zone,.motion-ready .cy-node,.motion-ready .cy-core{animation:none;stroke-dashoffset:0}}
