@charset "UTF-8";
:root { --ink:#17263b; --blue:#285878; --deep:#173e59; --lime:#d5f5eb; --soft:#f2f5f9; --line:#d8e1e9; --muted:#596b7d; --navy:#0a1229; --mint:#70e5d4; --ice:#80aeff; }
::selection { background:#b4f5e9; color:#0a1229; }
.reading-progress { position:fixed; inset:0 0 auto; z-index:40; height:3px; pointer-events:none; }
.reading-progress span { display:block; width:100%; height:100%; background:var(--mint); transform:scaleX(0); transform-origin:left; }
.review-bar { background:#101c35; color:#c1d1e7; }
.site-header { background:rgba(10,18,41,.96); border-color:#23304a; color:#f0f6ff; }
.brand svg { color:var(--mint); }
.site-header nav>a:hover { color:var(--mint); }
.nav-contact { background:var(--mint); color:var(--navy); border-radius:50px; }
.site-header nav>.nav-contact:hover { background:#a2f0e5; color:var(--navy); }
.menu-toggle span { color:var(--mint); }
.seamless-hero { overflow:hidden; position:relative; color:#fff; background:var(--navy); padding:65px 0 34px; isolation:isolate; }
.seamless-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 50% 42%,#16305099,transparent 60%),linear-gradient(#1d2c431f 1px,transparent 1px),linear-gradient(90deg,#1d2c431f 1px,transparent 1px); background-size:auto,44px 44px,44px 44px; }
.seamless-hero .wrap { max-width:1160px; }
.seamless-hero .hero-copy { text-align:center; margin-inline:auto; }
.seamless-hero .eyebrow { color:var(--mint); display:flex; align-items:center; justify-content:center; gap:10px; font-size:11px; margin-bottom:26px; }
.status-dot { background:var(--mint); box-shadow:0 0 0 5px #70e5d411,0 0 20px #70e5d499; }
.seamless-hero h1 { font-size:clamp(42px,5.4vw,74px); letter-spacing:-.055em; line-height:1.28; font-weight:800; }
.seamless-hero h1 span { color:var(--mint); }
.seamless-hero .hero-lead { font-size:18px; font-weight:500; margin-top:25px; letter-spacing:.01em; color:#e0e9f7; }
.seamless-hero .hero-detail { font-size:13px; color:#a8bad3; line-height:2; margin-top:12px; }
.seamless-hero .hero-actions { justify-content:center; margin-top:28px; gap:28px; }
.seamless-hero .primary { background:var(--mint); color:var(--navy); border-radius:50px; }
.seamless-hero .primary:hover { background:#a2f0e5; }
.seamless-hero .text-link { color:#e1ebfc; }
.seamless-hero .text-link:hover { color:var(--mint); }
.mobile-break { display:none; }
.network-console { scroll-margin-top:18px; margin-top:56px; background:#101e34c4; border:1px solid #2a3e58; border-radius:16px; padding:24px 30px 20px; box-shadow:0 30px 90px #00000030; }
.console-top { display:flex; align-items:center; justify-content:space-between; gap:20px; font-family:Arial,sans-serif; letter-spacing:.12em; font-size:9px; color:#92accf; padding-bottom:23px; border-bottom:1px solid #263a53; }
.concept-tag { font-family:var(--font); letter-spacing:.05em; color:#bdd0e8; border:1px solid #36506f; padding:3px 11px; border-radius:30px; white-space:nowrap; }
.network-grid { display:grid; grid-template-columns:1fr .9fr 1.08fr; gap:50px; position:relative; align-items:center; margin-top:30px; }
.network-grid>div { position:relative; z-index:1; }
.network-label { font-size:10px; letter-spacing:.04em; color:#a9bed8; margin-bottom:13px; }
.source-buttons { display:grid; gap:7px; }
.source-buttons button { display:flex; align-items:center; gap:10px; min-height:39px; padding:7px 12px; border:1px solid #2b415e; background:#12243d; color:#d7e3f5; font-size:11px; text-align:left; border-radius:6px; transition:background .2s,border-color .2s,color .2s; }
.source-buttons button:hover { background:#1d3854; border-color:#518998; }
.source-buttons button[aria-pressed=true] { border-color:var(--mint); color:#eafffc; background:#194144; box-shadow:0 0 20px #70e5d410; }
.source-icon { width:20px; height:20px; display:grid; place-items:center; font-family:Arial,sans-serif; font-size:9px; color:#9fc2ee; border:1px solid #3a5676; border-radius:4px; flex-shrink:0; }
.source-buttons [aria-pressed=true] .source-icon { border-color:#70e5d488; color:var(--mint); }
.source-arrow { font-size:14px; margin-left:auto; color:#749cc2; }
.network-engine { min-height:310px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.engine-core { position:relative; display:flex; align-items:center; justify-content:center; flex-direction:column; width:170px; height:170px; border-radius:50%; background:radial-gradient(circle,#1e4057 0,#123049 70%); border:1px solid #70e5d4b3; box-shadow:0 0 32px #70e5d41b,inset 0 0 35px #70e5d410; }
.engine-core>span { font-family:Arial,sans-serif; color:var(--mint); font-size:61px; font-weight:600; letter-spacing:-.06em; line-height:1.05; }
.engine-core>strong { font-family:Arial,sans-serif; color:#d3e4f8; font-size:9px; letter-spacing:.13em; margin-top:11px; }
.engine-core>p { font-size:10px; margin-top:8px; color:#97b6ce; }
.engine-orbit { width:210px; height:210px; border:1px solid #315069; border-radius:50%; position:absolute; top:calc(50% - 132px); }
.engine-orbit::before { content:""; position:absolute; inset:-13px; border:1px dashed #3b5b7559; border-radius:50%; }
.engine-orbit::after { content:""; width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 10px var(--mint); position:absolute; top:30px; left:29px; }
.engine-caption { text-align:center; color:#a0bad5; font-size:11px; line-height:1.8; margin-top:27px; }
.network-lines { position:absolute; inset:30px 0 0; width:100%; height:calc(100% - 30px); overflow:visible; pointer-events:none; }
.network-lines path { fill:none; stroke-width:1.1; stroke:#36526d; vector-effect:non-scaling-stroke; }
.input-lines path.active { stroke:var(--mint); stroke-width:1.5; stroke-dasharray:8 7; animation:signal-flow 4s linear infinite; }
.output-lines path { stroke:#639ab3; stroke-dasharray:5 8; animation:signal-flow 5s linear infinite; }
.network-lines .feedback-path { stroke:#44718c; stroke-dasharray:3 7; }
.network-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:31px; padding-bottom:25px; }
.network-bottom>p { color:var(--mint); font-size:12px; font-weight:600; }
.network-bottom>p>span { font-size:22px; line-height:1; margin-right:7px; }
.network-bottom>span { font-size:10px; color:#97adc8; }
.source-story { display:grid; grid-template-columns:.86fr 1.5fr; gap:30px; border-top:1px solid #2a405a; padding-top:24px; }
.story-index { display:block; color:#8eadcb; font-family:Arial,sans-serif; font-size:8px; letter-spacing:.15em; margin-bottom:8px; }
.source-story h3 { font-size:16px; color:#edf6ff; line-height:1.8; }
.source-story-heading>p { font-size:10px; color:#a9bfd8; line-height:1.9; margin-top:6px; }
.source-story-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.source-story-steps>div { border-left:1px solid #355069; padding-left:17px; }
.source-story-steps small { display:block; font-size:9px; color:var(--mint); margin-bottom:10px; }
.source-story-steps p { font-size:11px; color:#c9d9ed; line-height:1.9; }
.source-story.changed { animation:story-reveal .35s ease-out; }
.network-caption { color:#9aadca; font-size:9px; line-height:1.9; margin-top:23px; border-top:1px solid #253b55; padding-top:15px; }
.seamless-hero .hero-foot { justify-content:center; flex-wrap:wrap; font-size:10px; color:#a5bad5; gap:18px; margin-top:30px; }
.hero-foot>a { color:var(--mint); margin-left:15px; font-size:10px; }
.principle-strip { background:#e9f3f5; border-color:#d4e5e9; }
.principle-strip>.wrap { font-size:13px; justify-content:center; gap:45px; }
.eyebrow { color:#3b687f; }
.section-heading h2 { font-weight:750; }
.service-section { background:var(--navy); color:#e6effb; }
.service-section .eyebrow { color:var(--mint); }
.service-section .split-heading>p,.service-map p,.service-section .role-note p { color:#a9bed8; }
.service-map article,.service-section .role-note { border-color:#2b3d58; }
.service-number,.service-section .deliverable { color:var(--mint); }
.service-section .role-mark { background:var(--mint); color:var(--navy); }
.process-demo { box-shadow:0 20px 50px #142c4310; border-radius:12px; }
.process-rail { background:#e9f0f4; }
.process-rail button[aria-selected=true] { background:#1c3e58; }
.process-rail button:hover:not([aria-selected=true]) { background:#d9e6ed; }
.demo-document { background:#f2f6f9; }
.plans-section { background:#ecf2f7; }
.plan { border-color:#c3d4e2; border-radius:12px; }
.plan-operated { border-color:#487e96; }
.plan-top { border-bottom:1px solid var(--line); padding-bottom:22px; }
.plan-index { color:#447187; }
.capacity-tool { border-radius:12px; box-shadow:0 20px 55px #233c5110; }
.materials-section { background:#eef4f8; }
.materials-layout { display:grid; grid-template-columns:1fr 1.12fr; gap:70px; align-items:start; }
.materials-layout .section-heading { margin-bottom:0; }
.material-links { display:grid; gap:14px; }
.material-link { display:block; border:1px solid #c5d7e3; background:#fff; padding:25px 29px; border-radius:10px; position:relative; transition:border-color .2s,transform .2s; }
.material-link:hover { border-color:#2a6480; transform:translateY(-2px); }
.material-format { display:block; font-family:Arial,sans-serif; font-size:9px; color:#48758c; letter-spacing:.13em; margin-bottom:10px; }
.material-link strong { font-size:18px; line-height:1.8; padding-right:22px; display:block; }
.material-detail { font-size:11px; color:var(--muted); display:block; margin-top:6px; }
.material-download { position:absolute; right:29px; top:34px; color:#387089; font-size:28px; }
.contact-section { background:#0e1e35; }
.contact-copy .eyebrow { color:var(--mint); }
.contact-copy h2 { color:#f0f6ff; }
.contact-copy>p:not(.eyebrow) { color:#aabed6; }
.contact-steps li { border-color:#304259; }
.contact-steps li>span,.direct-contact>small,.direct-contact>p { color:#9bbed1; }
.direct-contact { border-color:#304259; }
.direct-contact>a { color:var(--mint); }
.contact-form-card { border-radius:12px; }
.button { border-radius:6px; }
.role-mark,.demo-check span { color:var(--ink); }
.site-footer { padding-block:48px 28px; }
.js-reveal { opacity:0; transform:translateY(20px); transition:opacity .55s ease-out,transform .55s ease-out; }
.js-reveal.visible { opacity:1; transform:none; }
.network-console:not(.in-view) .network-lines path { animation-play-state:paused; }
@keyframes signal-flow { to { stroke-dashoffset:-60; } }
@keyframes story-reveal { from { opacity:.55; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media (max-width:1150px) {
  .network-console { padding:24px; }
  .network-grid { gap:30px; grid-template-columns:1fr .8fr 1.05fr; }
  .engine-core { width:145px; height:145px; }
  .engine-orbit { width:180px; height:180px; top:calc(50% - 118px); }
  .engine-core>span { font-size:51px; }
  .network-outputs h2 { font-size:15px; }
  .network-outputs article { gap:12px; padding:20px 16px; }
  .source-story { gap:20px; grid-template-columns:1fr 1.8fr; }
  .source-story-steps { gap:12px; }
}
.network-outputs article { display:flex; align-items:center; gap:17px; border:1px solid #3d5978; background:#172d48; padding:24px 20px; border-radius:9px; margin-top:13px; min-height:93px; }
.network-outputs h2 { font-size:17px; font-weight:650; line-height:1.7; letter-spacing:-.025em; }
.network-outputs article p { font-size:10px; color:#9cb7d5; margin-top:4px; }
.output-index { align-self:flex-start; margin-top:3px; font-family:Arial,sans-serif; font-size:10px; color:var(--mint); }
.output-icon { color:var(--mint); font-size:21px; margin-left:auto; }
@media (max-width:900px) {
  .network-grid { gap:24px; grid-template-columns:1fr .7fr 1fr; }
  .source-buttons button { font-size:10px; padding:7px 9px; gap:7px; }
  .source-icon { width:17px; height:17px; font-size:8px; }
  .engine-core { width:120px; height:120px; }
  .engine-core>span { font-size:42px; }
  .engine-core>strong { font-size:7px; margin-top:8px; }
  .engine-core>p { font-size:8px; }
  .engine-orbit { width:144px; height:144px; top:calc(50% - 100px); }
  .engine-caption { font-size:10px; }
  .network-outputs article { padding:22px 12px; gap:9px; min-height:86px; }
  .network-outputs h2 { font-size:14px; }
  .network-outputs article p { font-size:8px; }
  .output-icon { display:none; }
  .source-story { grid-template-columns:1fr; gap:20px; }
  .source-story-steps>div { padding-left:14px; }
  .materials-layout { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:620px) {
  .site-header nav { background:#0e1e35; border-color:#30445f; }
  .site-header nav a.nav-contact { border-radius:4px; }
  .seamless-hero { padding-top:40px; padding-bottom:28px; }
  .seamless-hero h1 { font-size:clamp(32px,9.4vw,52px); line-height:1.4; letter-spacing:-.055em; }
  .seamless-hero .eyebrow { font-size:9px; margin-bottom:21px; }
  .seamless-hero .hero-lead { font-size:14px; line-height:1.9; margin-top:22px; }
  .mobile-break { display:block; }
  .seamless-hero .hero-detail { font-size:11px; margin-top:12px; }
  .seamless-hero .hero-actions { gap:16px; margin-top:25px; }
  .seamless-hero .hero-actions .button { width:100%; border-radius:7px; }
  .seamless-hero .text-link { font-size:11px; }
  .network-console { margin-top:35px; padding:20px 15px 17px; border-radius:12px; scroll-margin-top:12px; }
  .console-top { font-size:7px; letter-spacing:.075em; gap:10px; padding-bottom:18px; align-items:flex-start; }
  .console-top>span:first-child { max-width:180px; line-height:1.8; }
  .concept-tag { font-size:8px; padding:3px 8px; margin-top:2px; }
  .network-grid { display:flex; flex-direction:column; gap:0; margin-top:22px; }
  .network-sources,.network-outputs { width:100%; }
  .network-label { font-size:9px; margin-bottom:12px; }
  .source-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .source-buttons button { font-size:9px; padding:8px 7px; min-height:43px; gap:6px; white-space:nowrap; }
  .source-icon { width:15px; height:15px; font-size:7px; }
  .source-arrow { display:none; }
  .network-lines { display:none; }
  .network-engine { min-height:242px; width:100%; padding-top:45px; padding-bottom:15px; }
  .network-engine::before { content:""; position:absolute; width:1px; height:29px; background:linear-gradient(#365a79,var(--mint)); top:8px; left:50%; }
  .network-engine::after { content:"↓"; position:absolute; color:var(--mint); top:25px; left:calc(50% - 5px); font-size:17px; }
  .engine-core { width:128px; height:128px; }
  .engine-core>span { font-size:47px; }
  .engine-core>strong { font-size:8px; }
  .engine-core>p { font-size:9px; }
  .engine-orbit { width:154px; height:154px; top:32px; }
  .engine-orbit::after { top:20px; left:21px; }
  .engine-caption { margin-top:26px; font-size:10px; }
  .network-outputs { margin-top:22px; }
  .network-outputs article { padding:18px 15px; min-height:75px; gap:15px; margin-top:8px; }
  .network-outputs h2 { font-size:15px; }
  .network-outputs article p { font-size:9px; }
  .output-icon { display:block; font-size:19px; }
  .network-bottom { flex-direction:column; align-items:flex-start; gap:8px; margin-top:24px; padding-bottom:20px; }
  .network-bottom>p { font-size:11px; }
  .network-bottom>span { font-size:9px; }
  .source-story { padding-top:20px; gap:18px; }
  .source-story h3 { font-size:15px; }
  .source-story-heading>p { font-size:10px; }
  .source-story-steps { grid-template-columns:1fr; gap:14px; }
  .source-story-steps>div { padding-left:12px; }
  .source-story-steps small { font-size:9px; margin-bottom:4px; }
  .source-story-steps p { font-size:10px; }
  .network-caption { font-size:8px; margin-top:20px; }
  .seamless-hero .hero-foot { font-size:9px; gap:8px 13px; line-height:1.8; margin-top:24px; }
  .hero-foot>a { display:block; flex-basis:100%; text-align:center; margin-left:0; font-size:9px; margin-top:4px; }
  .principle-strip>.wrap { gap:8px 12px; font-size:10px; }
  .principle-strip span { white-space:nowrap; }
  .material-link { padding:22px; }
  .material-format { font-size:8px; }
  .material-link strong { font-size:16px; }
  .material-detail { font-size:10px; }
  .material-download { right:22px; top:30px; font-size:24px; }
  .contact-copy h2 { font-size:34px; }
}
@media (prefers-reduced-motion:reduce) {
  .js-reveal { opacity:1; transform:none; }
  .network-lines path,.source-story.changed { animation:none!important; }
}
