/* Generative visual language: particle fields, flowing vectors, and dimensional forms. */
.motion-scene { opacity:.85; }
.particle-canvas { position:absolute; inset:0; width:100%; height:100%; }
.vector-flow { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#bddbc72b; stroke-width:.7; }
.vector-flow g { transform-origin:75% 50%; }
.vector-signal { stroke:#c8e9d3; stroke-width:1.4; stroke-dasharray:6 600; opacity:.8; }
.motion-orbit { opacity:.7; }
.intelligence-field { position:relative; overflow:hidden; background:#0c202d; color:#c5d4d5; padding:72px 0; }
.corporate-home .intelligence-field .container { overflow:visible; }
.intelligence-layout { display:grid; grid-template-columns:.9fr 1.3fr; gap:25px; align-items:center; }
.intelligence-copy { position:relative; z-index:1; }
.intelligence-copy > .eyebrow { color:#89b7a0; font-size:8px; margin-bottom:30px; letter-spacing:2px; }
.corporate-home .intelligence-copy h2 { color:#f5f8f2; font-size:clamp(40px,4.7vw,64px); letter-spacing:-2.7px; font-weight:400; line-height:1.08; }
.corporate-home .intelligence-copy > p { color:#91a9ac; font-size:13px; max-width:345px; line-height:1.95; margin:25px 0 30px; }
.field-principles { display:flex; align-items:center; gap:14px; margin-top:45px; color:#7c9e96; font-size:7px; letter-spacing:1.7px; }
.field-principles i { width:3px; height:3px; border-radius:50%; background:#94b7a1; }
.intelligence-visual { position:relative; min-height:490px; isolation:isolate; }
.intelligence-visual::before { content:''; position:absolute; inset:3% 10% 10%; border:1px solid #a0cbb212; border-radius:50%; transform:rotate(-25deg); }
.intelligence-visual::after { content:''; position:absolute; inset:10% 3% 15%; border:1px dashed #a0cbb219; border-radius:50%; transform:rotate(30deg); pointer-events:none; }
.intelligence-canvas { position:absolute; inset:0; width:100%; height:100%; }
.field-coordinate { position:absolute; color:#789a91; font-size:7px; letter-spacing:1.9px; }
.coordinate-top { left:15px; top:0; }
.coordinate-side { right:0; top:40%; writing-mode:vertical-rl; }
.field-controls { display:none; position:absolute; bottom:26px; left:50%; transform:translateX(-50%); border:1px solid #7ca28c40; border-radius:30px; padding:5px; background:#16313bc9; gap:3px; z-index:2; }
.field-ready .field-controls { display:flex; }
.field-controls legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.field-controls button { border:0; border-radius:24px; padding:9px 17px; color:#8eaba3; background:transparent; font-size:10px; cursor:pointer; transition:background .3s,color .3s; }
.field-controls button[aria-pressed="true"] { color:#16382f; background:#c4d9ba; }
.field-controls button:hover { color:#fff; }
.field-controls button[aria-pressed="true"]:hover { color:#16382f; }
.corporate-home .field-description { position:absolute; bottom:-5px; left:0; width:100%; text-align:center; font-size:8px; letter-spacing:.7px; color:#6f9387; margin:0; }
.kinetic-strip { padding:22px 0; background:#e8eee5; border-bottom:1px solid #d4dfd0; overflow:hidden; }
.kinetic-track { display:flex; width:max-content; }
.kinetic-track > span { display:block; flex-shrink:0; white-space:nowrap; font-family:var(--font-heading); font-size:clamp(24px,3.5vw,46px); font-weight:400; letter-spacing:-1.5px; color:#42644f; padding-right:24px; }
.kinetic-track i { display:inline-block; font-style:normal; color:#8aa781; padding:0 24px; font-size:.8em; }
/* Each interior page owns its image; no shared office-photo fallback. */
.page-inner .hero { --hero-photo:none; }
.page-inner.page-products .hero { --hero-photo:url('../images/scenes/platform.webp'); }
.page-inner.page-infrastructure .hero { --hero-photo:url('../images/scenes/infrastructure.webp'); }
.page-inner.page-about .hero { --hero-photo:url('../images/scenes/company.webp'); }
.page-inner.page-enterprise .hero { --hero-photo:url('../images/scenes/enterprise.webp'); }
.page-inner.page-partners .hero { --hero-photo:url('../images/scenes/partners.webp'); }
.page-inner.page-contact .hero { --hero-photo:url('../images/scenes/contact.webp'); }
.page-inner.page-solutions .hero { --hero-photo:url('../images/scenes/solutions.webp'); }
.page-inner.page-security .hero { --hero-photo:url('../images/scenes/security.webp'); }
.page-inner.page-blog .hero { --hero-photo:url('../images/scenes/insights.webp'); }
.page-inner.page-case-studies .hero { --hero-photo:url('../images/scenes/customer-stories.webp'); }
.page-inner.page-pricing .hero::before, .page-inner.page-docs .hero::before { background:radial-gradient(ellipse at 75% 50%,#24473f,transparent 65%); }
.page-inner .hero::before { opacity:.83; }
.page-inner .hero::after { background:linear-gradient(90deg,#102638 0%,#102638ed 35%,#1026386e 70%,#10263838); }
.article-photo { height:420px; }
@media (prefers-reduced-motion:no-preference) {
  .vector-flow g { animation:vector-breathe 24s ease-in-out infinite alternate; }
  .vector-signal { animation:vector-transmit 16s linear infinite; }
  .kinetic-track { animation:kinetic-travel 48s linear infinite; }
  .kinetic-track i { animation:kinetic-star 24s linear infinite; }
  .intelligence-visual::before { animation:field-orbit 65s linear infinite; }
  .intelligence-visual::after { animation:field-orbit-reverse 80s linear infinite; }
}
@keyframes vector-breathe { from { transform:translateY(-12px) scaleY(.95); } to { transform:translateY(16px) scaleY(1.06); } }
@keyframes vector-transmit { to { stroke-dashoffset:-1212; } }
@keyframes kinetic-travel { to { transform:translateX(-50%); } }
@keyframes kinetic-star { to { transform:rotate(360deg); } }
@keyframes field-orbit { from { transform:rotate(-25deg); } to { transform:rotate(335deg); } }
@keyframes field-orbit-reverse { from { transform:rotate(30deg); } to { transform:rotate(-330deg); } }
@media (max-width:767px) {
  .intelligence-field { padding:55px 0 40px; }
  .intelligence-layout { grid-template-columns:1fr; gap:40px; }
  .corporate-home .intelligence-copy h2 { font-size:48px; letter-spacing:-2px; }
  .intelligence-visual { min-height:370px; }
  .field-principles { margin-top:30px; }
  .field-controls button { padding:8px 15px; }
  .motion-scene { opacity:.6; }
  .article-photo { height:260px; }
}
@media (prefers-reduced-motion:reduce) { .kinetic-track { transform:none; } .kinetic-track > span + span { display:none; } }
/* Fine technical detail gives the editorial pages their own visual texture. */
.page-inner .page-intro { position:relative; padding-top:25px; }
.page-inner .page-intro::before { content:''; position:absolute; top:0; left:0; width:80px; height:1px; background:linear-gradient(90deg,#527c65,#b8cbb2,transparent); }
.page-inner .numbered-card::before { content:''; display:block; position:absolute; right:27px; top:27px; width:23px; height:23px; border:1px solid #8da88b75; border-radius:3px; background:linear-gradient(135deg,transparent 45%,#8da88b30 46%,#8da88b30 51%,transparent 52%); transform:rotate(30deg); pointer-events:none; }
.page-inner .numbered-card .card-number { font-family:var(--font-mono); letter-spacing:1.5px; }
@media (prefers-reduced-motion:no-preference) { .page-inner .numbered-card::before { animation:component-orbit 30s ease-in-out infinite alternate; } }
@keyframes component-orbit { from { transform:rotate(30deg) translateY(0); } to { transform:rotate(85deg) translateY(-3px); } }
