/* Flat dotted map inspired by the reference's threat-map composition. */
.hero.hero-network.hero-atlas{grid-template-columns:.8fr 1.2fr;gap:12px;min-height:670px;padding:56px 4.8%;background:radial-gradient(ellipse at 85% 40%,#10243088,transparent 58%),#090c0e}
.hero-atlas .hero-copy h1{font-size:clamp(60px,6.4vw,100px)!important}
.hero-atlas-panel{min-width:0;width:100%;position:relative;align-self:center}
.atlas-heading{display:flex;justify-content:space-between;align-items:center;color:#91acba;font:9px 'JetBrains Mono',monospace;letter-spacing:1.5px;padding-left:24px}
.atlas-heading>span{display:flex;align-items:center;gap:9px}
.atlas-heading i{width:5px;height:5px;background:#64d2f3;border-radius:50%;box-shadow:0 0 9px #64d2f3}
.atlas-motion{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #395363;background:#0c151b;color:#bceeff;font-size:13px;cursor:pointer}
.atlas-motion:hover{color:#fff;border-color:#64d2f3}
.atlas-scene{position:relative;margin:24px -18px 10px;isolation:isolate}
.atlas-scene::before{content:'';position:absolute;inset:10% 4%;border-radius:50%;background:radial-gradient(ellipse,#00759b12,transparent 70%);z-index:-1}
.world-map{display:block;width:100%;height:auto;overflow:visible}
@media(min-width:1001px){.hero-atlas .world-map{width:116%;max-width:none;margin-left:-8%}}
@media(min-width:761px) and (max-width:1000px){.hero-atlas .world-map{width:110%;max-width:none;margin-left:-5%}}
.map-continent{fill:var(--continent-color);opacity:.78;transition:none}
.map-continent[data-continent="north-america"]{--continent-color:#68bce4}
.map-continent[data-continent="south-america"]{--continent-color:#5b91d1}
.map-continent[data-continent="europe"]{--continent-color:#b1dceb}
.map-continent[data-continent="africa"]{--continent-color:#509eb8}
.map-continent[data-continent="asia"]{--continent-color:#7d9dd8}
.map-continent[data-continent="oceania"]{--continent-color:#7cd5e9}
/* Continuous, invisible continent surfaces handle hover instead of individual dots. */
.map-land,.map-continent,.map-continent circle{pointer-events:none}
.map-hit-areas path{fill:transparent;stroke:transparent;stroke-width:2;stroke-linejoin:round;pointer-events:all}
.map-continent.is-hovered{opacity:1;filter:none}
.map-routes,.map-node,.map-node-halo,.map-node-pulse,.map-packet,.map-origin{pointer-events:none}
.map-origin .map-origin-target{fill:transparent;pointer-events:all;cursor:pointer}
.map-chicago-callout{visibility:hidden;pointer-events:none}
.map-callout-leader{stroke:#64d2f3;stroke-width:1;stroke-dasharray:3 5;opacity:0}
.map-callout-box{fill:#0b1219;fill-opacity:.5;stroke:#64d2f3;stroke-opacity:.5;stroke-dasharray:3 4;transform-box:fill-box;transform-origin:center;transform:scaleX(0)}
.map-callout-brackets{stroke:#64d2f3;stroke-width:2;opacity:0}
.map-chicago-callout :is(text,.map-callout-flag){fill:#c5e8f4;font:20px 'Space Grotesk',sans-serif;letter-spacing:0;opacity:0}
@media(hover:hover){
  .map-origin:hover .map-chicago-callout{visibility:visible}
  .map-origin:hover .map-callout-box{animation:callout-door .4s cubic-bezier(.22,.9,.24,1) forwards}
  .map-origin:hover .map-callout-leader{animation:callout-leader .22s ease forwards}
  .map-origin:hover .map-callout-brackets{animation:callout-fade .3s ease .16s forwards}
  .map-origin:hover .map-chicago-callout :is(text,.map-callout-flag){animation:callout-fade .3s ease .22s forwards}
}
@keyframes callout-door{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes callout-leader{from{opacity:0}to{opacity:.65}}
@keyframes callout-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .map-callout-box{transform:none;animation:none}
  .map-callout-leader{opacity:.65}
  .map-callout-brackets,.map-chicago-callout :is(text,.map-callout-flag){opacity:1}
}
.map-callout-title{fill:#64d2f3;font-weight:600}
@media(prefers-reduced-motion:reduce){.map-chicago-callout{transition:none}}
@media(prefers-reduced-motion:reduce){.map-continent{transition:none}}
.map-route{stroke:#64d2f3;stroke-width:1.3;opacity:.5}
.map-trace{display:none}
.map-node-halo{fill:#00d9ff;opacity:.1;filter:blur(2px)}
.map-node{fill:#c3f8ff;filter:drop-shadow(0 0 4px #00d9ff)}
.map-node-pulse{fill:none;stroke:#64d2f3;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:atlas-pulse 3s ease-out infinite;animation-delay:var(--delay)}
.map-packet{fill:#e2fbff;filter:drop-shadow(0 0 5px #00d9ff)}
.map-origin-ring{stroke:#64d2f3;stroke-width:1.6;fill:#0c1923}
.map-origin-label{fill:#e3f8ff;font:500 19px 'Space Grotesk',sans-serif;stroke:#0b151d;stroke-width:6px;paint-order:stroke;stroke-linejoin:round;letter-spacing:.4px}
@media(max-width:600px){.map-origin-label{font-size:28px;stroke-width:9px}}
.atlas-footer{border-top:1px solid #263b47;margin:12px 12px 0;padding-top:21px;text-align:center}
.atlas-kicker{color:#7b95a5;font:8px 'JetBrains Mono',monospace;letter-spacing:1.5px}
.atlas-switches{display:flex;justify-content:center;gap:5px;margin-top:17px}
.atlas-switches button{display:flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:5px;background:transparent;color:#a2b3be;font-size:11px;padding:10px 9px;white-space:nowrap}
.atlas-switches button span{font-size:15px;color:#64d2f3}
.atlas-switches button[aria-pressed=true]{border-color:#64d2f35c;background:#64d2f312;color:#e8faff}
.atlas-switches button:hover{background:#ffffff09;color:#fff}
.atlas-description{color:#91a8b6;font-size:12px;line-height:1.6;min-height:38px;margin:14px 0 0}
.atlas-paused .map-trace,.atlas-paused .map-node-pulse{animation-play-state:paused}
@keyframes atlas-route{to{stroke-dashoffset:0}}
@keyframes atlas-pulse{0%{transform:scale(1);opacity:.8}85%,100%{transform:scale(3.2);opacity:0}}
@media(min-width:1500px){.hero.hero-network.hero-atlas{grid-template-columns:.75fr 1.25fr;min-height:700px}.atlas-heading{padding-left:30px}.atlas-scene{margin-top:30px}.atlas-switches button{font-size:13px;padding:11px 14px}}
@media(max-width:1000px){.hero.hero-network.hero-atlas{grid-template-columns:1fr 1fr;padding:42px 4%;gap:20px}.hero-atlas .hero-copy h1{font-size:clamp(53px,6vw,67px)!important}.atlas-switches{gap:0;flex-wrap:wrap}.atlas-switches button{font-size:10px;padding:9px 7px}.atlas-heading{font-size:8px;padding:0;letter-spacing:1px}.atlas-footer{margin:10px 0 0}.atlas-scene{margin:24px -12px 8px}}
@media(max-width:760px){.hero.hero-network.hero-atlas{display:flex;gap:40px;min-height:0;padding:46px 24px 32px}.hero-atlas .hero-copy h1{font-size:clamp(56px,10.4vw,78px)!important}.hero-atlas-panel{max-width:580px}.atlas-scene{margin:20px -8px 10px}.atlas-footer{padding-top:18px}.atlas-switches{flex-wrap:nowrap;gap:3px}.atlas-switches button{font-size:10px;padding:9px 6px;gap:4px}.atlas-description{font-size:11px}.atlas-kicker{font-size:7px}.atlas-heading{font-size:8px}}
@media(max-width:400px){.hero.hero-network.hero-atlas{padding:40px 18px 28px}.hero-atlas .hero-copy h1{font-size:55px!important}.atlas-switches button span{display:none}.atlas-switches button{font-size:10px;padding:9px 7px}}
@media(prefers-reduced-motion:reduce){.map-trace,.map-node-pulse{animation:none}.map-trace{stroke-dashoffset:40}.map-packet{display:none}}
.hero-atlas .hero-copy h1.agentic-headline{font-size:clamp(40px,5.2vw,82px)!important;line-height:1.06}
@media(max-width:760px){.hero-atlas .hero-copy h1.agentic-headline{font-size:clamp(40px,11vw,64px)!important}}

/* Preserve the original button and text sizes while keeping both actions on one row. */
.hero-atlas .hero-actions{flex-flow:row nowrap}
.hero-atlas .hero-actions>a{flex:0 0 auto;white-space:nowrap}
@media(max-width:480px){.hero-atlas .hero-actions{overflow-x:auto;padding-block:4px 12px}}



.shell>header nav{background:#091825c9;border-color:#ffffff1f;backdrop-filter:blur(16px);color:#e9f3f7;font-size:14px}
.shell>header .white-button{background:#0b2338;color:#f1f9fc}
.shell>main>.hero.hero-network.hero-atlas{
 background:radial-gradient(ellipse at 85% 40%,#10243088,transparent 58%);
}
.shell{background-color:#090c0e}

/* Fit the hero to its content instead of reserving a tall empty first screen. */
.hero.hero-network.hero-atlas{min-height:0;padding-top:88px;padding-bottom:40px}
@media(max-width:760px){.hero.hero-network.hero-atlas{padding-top:60px;padding-bottom:24px}}

/* Supplied halftone artwork behind the navbar, dissolving into the hero. */
.shell::before,.shell>header::after{display:none}
.shell>header{background:transparent;isolation:isolate}
.shell>header::before{
 content:'';position:absolute;inset:0 0 auto;height:calc(100% + 45px);
 z-index:-1;pointer-events:none;
 background:url('assets/navbar-halftone-reference.png') center top / cover no-repeat;
 /* Recolor the reference texture without altering its dots or shapes. */
 filter:grayscale(1) brightness(.6) sepia(1) saturate(2) hue-rotate(155deg) brightness(.85);
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 28%,#000d 48%,#0006 70%,#0001 88%,transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 28%,#000d 48%,#0006 70%,#0001 88%,transparent 100%);
}
@media(max-width:760px){.shell>header::before{height:calc(100% + 30px)}}

/* Shared deep navy for the dark pages and the halftone fade endpoints. */
.shell{--page-navy:#09131f;background-color:var(--page-navy)}
.shell>main>.hero.hero-network.hero-atlas,
.shell .flow-section,
.shell #ecosystem,
.shell>footer{background-color:var(--page-navy)}

/* The Chicago callout follows the pointer instead of a distant map anchor. */
.map-chicago-callout .map-callout-leader{display:none}

/* Seamless contact transitions: no legacy black strip or hard artwork edge. */
#contact::before{background:var(--page-navy)}
.shell>footer{background:var(--page-navy);border-top:0}

/* Instant continent feedback at every screen size. */
.map-dot-land>path{pointer-events:none;transition:none}
.map-dot-land>path.is-hovered{opacity:1}
