/* NORTHSTAR October 2026 public-story visual refresh.
   Loaded after the original site CSS to preserve existing behavior. */
:root{
  --story-cyan:#32dcf6;
  --story-teal:#31d7b2;
  --story-blue:#2da8ff;
  --story-violet:#9068ff;
  --story-gold:#ffd166;
  --story-coral:#ff7188;
  --story-panel:rgba(5,31,54,.82);
  --story-panel-strong:rgba(5,27,49,.94);
  --story-line:rgba(72,220,246,.28);
}
html{scroll-padding-top:110px}
body{
  background:
    radial-gradient(circle at 15% 18%,rgba(36,220,238,.08),transparent 27rem),
    radial-gradient(circle at 86% 22%,rgba(132,81,255,.11),transparent 32rem),
    #040914;
}
body:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.34;
  background-image:
    radial-gradient(circle at 14% 11%,#fff 0 1px,transparent 1.4px),
    radial-gradient(circle at 38% 28%,#82eaff 0 1px,transparent 1.4px),
    radial-gradient(circle at 69% 14%,#fff 0 1px,transparent 1.4px),
    radial-gradient(circle at 82% 41%,#9b7cff 0 1px,transparent 1.4px),
    radial-gradient(circle at 26% 74%,#fff 0 1px,transparent 1.4px),
    radial-gradient(circle at 59% 67%,#54e6cc 0 1px,transparent 1.4px),
    radial-gradient(circle at 92% 83%,#fff 0 1px,transparent 1.4px);
  background-size:340px 310px,430px 390px,500px 420px,570px 470px,460px 420px,620px 530px,720px 610px;
}
body>*{position:relative;z-index:1}
.app-background{z-index:0}
.ambient-canvas{z-index:0}
.site-header{
  background:linear-gradient(90deg,rgba(3,12,27,.95),rgba(5,22,43,.91),rgba(9,10,35,.94));
  border-bottom-color:rgba(66,217,246,.28);
  box-shadow:0 12px 44px rgba(0,5,18,.55),inset 0 -1px 0 rgba(129,102,255,.12);
}
.brand img{filter:drop-shadow(0 0 12px rgba(66,221,255,.55))}
.primary-nav{gap:clamp(13px,1.35vw,25px)}
.primary-nav .nav-story{color:var(--story-gold)}
.primary-nav .nav-story:before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  display:inline-block;margin-right:7px;vertical-align:1px;
  background:var(--story-gold);box-shadow:0 0 14px rgba(255,209,102,.8)
}
.ns-btn-story{
  color:#05111e;
  border-color:transparent;
  background:linear-gradient(110deg,var(--story-gold),#fff0a6 48%,var(--story-cyan));
  box-shadow:0 0 30px rgba(255,209,102,.18),0 0 52px rgba(50,220,246,.12);
  font-weight:700;
}
.ns-btn-story:hover{color:#03101b;transform:translateY(-2px);filter:brightness(1.08)}
.ns-btn-download:after{content:"↓";font-size:1.1em}
.ns-section-surface,.ns-card,.ns-qualify-card,.ns-scale-steps article,.ns-sovereign-list article,.ns-prose,.inquiry-studio{
  border-color:rgba(75,213,239,.22);
}
.ns-card,.ns-qualify-card,.ns-scale-steps article,.ns-sovereign-list article{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 24px 70px rgba(0,7,22,.16);
}
.site-footer{
  border-top:1px solid rgba(66,217,246,.22);
  background:
    radial-gradient(circle at 16% 0,rgba(30,193,221,.08),transparent 28rem),
    radial-gradient(circle at 87% 0,rgba(131,85,255,.09),transparent 30rem),
    linear-gradient(180deg,rgba(3,11,24,.96),#02050c);
}
.footer-links .footer-story-link{color:var(--story-gold)}

.story-teaser{
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(ellipse at 22% 8%,rgba(38,225,236,.18),transparent 38%),
    radial-gradient(ellipse at 88% 28%,rgba(127,74,255,.20),transparent 42%),
    linear-gradient(180deg,rgba(4,18,38,.94),rgba(3,10,24,.96));
}
.story-teaser:before,.story-page-hero:before,.story-celestial-section:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.75;
  background:
    linear-gradient(120deg,transparent 0 36%,rgba(52,215,246,.05) 42%,transparent 50%),
    linear-gradient(245deg,transparent 0 43%,rgba(141,92,255,.055) 51%,transparent 59%);
}
.story-teaser-grid{display:grid;grid-template-columns:minmax(0,.87fr) minmax(420px,1.13fr);gap:clamp(36px,6vw,105px);align-items:center}
.story-teaser-copy{position:relative;z-index:2}
.story-teaser-copy h2{font-size:clamp(2.8rem,4.2vw,6.2rem);line-height:1.01;max-width:13ch;margin:.2em 0 .35em}
.story-teaser-copy h2 span{color:var(--story-cyan)}
.story-teaser-copy>.story-lead{font-size:clamp(1.05rem,1.25vw,1.45rem);line-height:1.72;max-width:55ch;color:#c9d9e9}
.story-cover-card{margin:0;position:relative;border:1px solid rgba(59,218,247,.4);background:#04101e;border-radius:10px;padding:clamp(9px,1vw,15px);box-shadow:0 38px 110px rgba(0,5,24,.62),0 0 72px rgba(50,220,246,.12),0 0 110px rgba(130,82,255,.1);transform:perspective(1400px) rotateY(-2deg)}
.story-cover-card:before{content:"";position:absolute;inset:-1px;border-radius:10px;padding:1px;background:linear-gradient(120deg,var(--story-cyan),transparent 35%,var(--story-violet) 70%,var(--story-gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.story-cover-card img{display:block;width:100%;height:auto;border-radius:5px}
.story-cover-card figcaption{display:flex;justify-content:space-between;gap:20px;padding:13px 4px 2px;color:#a9bfd3;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}
.story-flag-row{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 0}
.story-flag{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid rgba(67,215,240,.23);border-radius:999px;background:rgba(5,30,51,.72);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#c7dce9}
.story-flag:before{content:"";width:7px;height:7px;border-radius:50%;margin-right:8px;background:var(--flag,var(--story-cyan));box-shadow:0 0 12px color-mix(in srgb,var(--flag,var(--story-cyan)) 70%,transparent)}
.story-flag.teal{--flag:var(--story-teal)}.story-flag.violet{--flag:var(--story-violet)}.story-flag.gold{--flag:var(--story-gold)}
.story-command-line{margin-top:26px;padding:15px 18px;border-left:3px solid var(--story-gold);background:linear-gradient(90deg,rgba(255,209,102,.09),transparent);color:#eef6ff;font-weight:700;letter-spacing:.025em}

.story-page-hero{position:relative;overflow:hidden;padding:clamp(72px,7vw,130px) 0 clamp(78px,8vw,150px);border-bottom:1px solid rgba(66,217,246,.23);background:radial-gradient(ellipse at 72% 32%,rgba(88,64,255,.20),transparent 44%),radial-gradient(ellipse at 14% 20%,rgba(32,218,232,.16),transparent 38%),linear-gradient(180deg,rgba(3,14,31,.72),rgba(4,11,25,.96))}
.story-page-hero-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(430px,1.2fr);gap:clamp(42px,6vw,120px);align-items:center}
.story-page-hero h1{font-size:clamp(3.8rem,6vw,9rem);line-height:.92;letter-spacing:-.055em;margin:.18em 0 .32em;max-width:10ch}
.story-page-hero h1 span{display:block;color:var(--story-cyan);text-shadow:0 0 36px rgba(50,220,246,.24)}
.story-page-hero .story-hero-deck{font-size:clamp(1.1rem,1.25vw,1.55rem);line-height:1.72;max-width:50ch;color:#c7d8e8}
.story-boundary-pill{display:inline-flex;align-items:center;gap:10px;color:#06111e;background:var(--story-gold);border-radius:999px;padding:8px 13px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.story-boundary-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#101a26}
.story-cover-card--hero{transform:none}
.story-cover-card--hero:after{content:"";position:absolute;inset:11% -4% -9% 9%;z-index:-1;border-radius:50%;filter:blur(36px);background:linear-gradient(90deg,rgba(40,222,237,.27),rgba(125,72,255,.3));opacity:.72}

.story-section{padding:clamp(78px,7vw,142px) 0;border-bottom:1px solid rgba(67,211,239,.18);position:relative;overflow:hidden}
.story-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:clamp(35px,6vw,110px);align-items:end;margin-bottom:clamp(40px,5vw,84px)}
.story-section-head h2{font-size:clamp(3rem,4.8vw,7.5rem);line-height:.97;letter-spacing:-.045em;max-width:13ch;margin:.15em 0 0}
.story-section-head>p{font-size:clamp(1.02rem,1.05vw,1.35rem);line-height:1.75;color:#b8cbdb;max-width:50ch}
.story-section-head h2 em{font-style:normal;color:var(--story-cyan)}
.story-celestial-section{background:radial-gradient(circle at 50% 45%,rgba(26,146,197,.1),transparent 35%),linear-gradient(180deg,rgba(3,11,25,.9),rgba(4,16,34,.9))}
.story-node-map{position:relative;min-height:650px;border:1px solid rgba(66,214,240,.27);border-radius:12px;background:radial-gradient(circle at 50% 50%,rgba(32,211,239,.13),transparent 22%),linear-gradient(135deg,rgba(6,31,54,.9),rgba(4,13,30,.88));overflow:hidden;isolation:isolate;box-shadow:inset 0 0 80px rgba(8,115,174,.08),0 35px 90px rgba(0,5,18,.34)}
.story-node-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(66,212,241,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(66,212,241,.05) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(circle at center,#000 10%,transparent 75%)}
.story-node-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.7;filter:drop-shadow(0 0 7px rgba(48,218,245,.25))}
.story-node{position:absolute;z-index:2;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid color-mix(in srgb,var(--node-color) 75%,white);background:rgba(5,25,46,.9);box-shadow:0 0 0 10px color-mix(in srgb,var(--node-color) 8%,transparent),0 0 0 22px color-mix(in srgb,var(--node-color) 4%,transparent),0 0 34px color-mix(in srgb,var(--node-color) 25%,transparent);animation:story-node-pulse 5.8s ease-in-out infinite}
.story-node strong{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.story-node small{font-size:.67rem;color:#9fb6c8;margin-top:6px;max-width:10ch;line-height:1.35}
.story-node.core{--node-color:var(--story-cyan);width:178px;height:178px;left:50%;top:50%;transform:translate(-50%,-50%);animation-delay:-1.6s}.story-node.core strong{font-size:1rem}.story-node.models{--node-color:var(--story-teal);left:19%;top:12%}.story-node.solvers{--node-color:var(--story-gold);right:16%;top:12%;animation-delay:-.8s}.story-node.gpu{--node-color:var(--story-violet);right:9%;top:46%;animation-delay:-2.4s}.story-node.data{--node-color:var(--story-blue);right:20%;bottom:9%;animation-delay:-1.1s}.story-node.tools{--node-color:var(--story-coral);left:20%;bottom:9%;animation-delay:-3.2s}.story-node.humans{--node-color:#8ef0cb;left:9%;top:46%;animation-delay:-2s}
.story-node-caption{position:absolute;left:28px;right:28px;bottom:24px;z-index:3;display:flex;justify-content:space-between;gap:24px;align-items:end;color:#a8becf;font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}.story-node-caption strong{color:var(--story-gold)}
@keyframes story-node-pulse{0%,100%{filter:brightness(.92);transform:translateZ(0) scale(.985)}50%{filter:brightness(1.12);transform:translateZ(0) scale(1.015)}}
.story-node.core{animation-name:story-core-pulse}@keyframes story-core-pulse{0%,100%{transform:translate(-50%,-50%) scale(.985)}50%{transform:translate(-50%,-50%) scale(1.02)}}

.story-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.story-process-card{--accent:var(--story-cyan);min-height:255px;padding:28px 24px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,rgba(5,30,52,.88)),rgba(4,17,34,.92));position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.story-process-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),transparent)}
.story-process-card .story-num{font-size:.78rem;letter-spacing:.14em;color:var(--accent)}
.story-process-card h3{font-size:clamp(1.15rem,1.4vw,1.65rem);margin:34px 0 13px}.story-process-card p{font-size:.92rem;line-height:1.65;color:#aebfd0}.story-process-card:nth-child(2){--accent:var(--story-teal)}.story-process-card:nth-child(3){--accent:var(--story-coral)}.story-process-card:nth-child(4){--accent:var(--story-violet)}.story-process-card:nth-child(5){--accent:var(--story-gold)}
.story-maxim{margin-top:30px;padding:18px 24px;border:1px solid rgba(63,220,245,.27);background:linear-gradient(90deg,rgba(47,218,244,.12),rgba(129,84,255,.08),rgba(255,209,102,.1));text-align:center;text-transform:uppercase;font-weight:700;letter-spacing:.075em;color:#e9f8ff}

.story-show-grid{display:grid;grid-template-columns:minmax(390px,.94fr) minmax(0,1.06fr);gap:clamp(34px,5vw,90px);align-items:center}
.story-visual-frame{margin:0;padding:9px;border:1px solid rgba(67,216,243,.34);border-radius:9px;background:#04101d;box-shadow:0 30px 90px rgba(0,5,19,.48),0 0 70px rgba(118,74,255,.09)}
.story-visual-frame img{display:block;width:100%;border-radius:5px}.story-visual-frame figcaption{padding:12px 6px 3px;color:#92a9bb;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.story-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.story-evidence-card{--accent:var(--story-cyan);padding:22px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:7px;background:rgba(6,31,53,.76);min-height:145px}.story-evidence-card span{font-size:.7rem;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-weight:700}.story-evidence-card h3{font-size:1.1rem;margin:18px 0 7px}.story-evidence-card p{font-size:.82rem;color:#aebfd0;line-height:1.55}.story-evidence-card:nth-child(2){--accent:var(--story-teal)}.story-evidence-card:nth-child(3){--accent:var(--story-blue)}.story-evidence-card:nth-child(4){--accent:var(--story-violet)}.story-evidence-card:nth-child(5){--accent:var(--story-coral)}.story-evidence-card:nth-child(6){--accent:var(--story-gold)}

.story-modes-section{background:radial-gradient(circle at 50% 50%,rgba(73,80,255,.1),transparent 38%),linear-gradient(180deg,rgba(4,14,30,.95),rgba(4,10,23,.96))}
.story-mode-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.story-mode-card{--accent:var(--story-cyan);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 8%,rgba(5,27,48,.92)),rgba(4,15,31,.93));padding:26px 22px;min-height:230px}.story-mode-card .mode-label{display:inline-flex;border-radius:999px;padding:7px 12px;background:var(--accent);color:#06111c;font-weight:800;font-size:.7rem;letter-spacing:.09em}.story-mode-card h3{font-size:1.25rem;margin:30px 0 12px}.story-mode-card p{font-size:.86rem;color:#aebfd0;line-height:1.62}.story-mode-card:nth-child(2){--accent:var(--story-teal)}.story-mode-card:nth-child(3){--accent:var(--story-violet)}.story-mode-card:nth-child(4){--accent:var(--story-blue)}.story-mode-card:nth-child(5){--accent:var(--story-gold)}
.story-wide-visual{margin-top:45px}

.story-boundary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.story-boundary-card{--accent:var(--story-cyan);padding:clamp(28px,3vw,46px);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:9px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,rgba(5,29,50,.93)),rgba(3,14,29,.95));min-height:290px}.story-boundary-card.upgrade{--accent:var(--story-gold)}.story-boundary-card h3{font-size:clamp(1.45rem,2vw,2.15rem);color:var(--accent);margin:0 0 28px}.story-boundary-card p{font-size:1rem;line-height:1.8;color:#c2d3e0}.story-boundary-card ul{margin:24px 0 0;padding:0;list-style:none}.story-boundary-card li{padding:9px 0;border-bottom:1px solid rgba(121,181,211,.12);color:#afc4d3}.story-boundary-note{margin-top:18px;padding:24px;border:1px solid rgba(96,204,229,.22);border-radius:8px;background:rgba(4,21,39,.82);text-align:center;color:#b9cbd8;line-height:1.7}.story-boundary-note strong{color:var(--story-gold)}
.story-download-cta{position:relative;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 0,rgba(40,226,237,.2),transparent 38%),radial-gradient(circle at 82% 40%,rgba(132,75,255,.18),transparent 38%),linear-gradient(180deg,rgba(4,18,37,.94),rgba(3,9,21,.98))}.story-download-cta h2{font-size:clamp(3.2rem,5.7vw,8rem);line-height:.94;max-width:12ch;margin:.22em auto .25em}.story-download-cta h2 span{display:block;color:var(--story-cyan)}.story-download-cta>div>p{max-width:67ch;margin:0 auto;color:#bed0dd;font-size:clamp(1.02rem,1.1vw,1.35rem);line-height:1.72}.story-download-cta .ns-actions{justify-content:center}.story-download-meta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px;color:#93aabd;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.story-download-meta span{padding:7px 10px;border:1px solid rgba(72,211,239,.18);border-radius:999px;background:rgba(4,22,39,.68)}

@media(max-width:1100px){
  .story-teaser-grid,.story-page-hero-grid,.story-show-grid{grid-template-columns:1fr;gap:50px}
  .story-cover-card{transform:none}
  .story-section-head{grid-template-columns:1fr;gap:20px}
  .story-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .story-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .story-node-map{min-height:600px}
}
@media(max-width:850px){
  .primary-nav .nav-story:before{display:none}
  .story-page-hero{padding-top:55px}
  .story-node-map{min-height:700px}
  .story-node{width:112px;height:112px}.story-node.core{width:150px;height:150px}
  .story-node.models{left:11%;top:9%}.story-node.solvers{right:11%;top:9%}.story-node.humans{left:5%;top:43%}.story-node.gpu{right:5%;top:43%}.story-node.tools{left:13%;bottom:9%}.story-node.data{right:13%;bottom:9%}
  .story-process-grid,.story-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .story-teaser-grid,.story-page-hero-grid{display:block}
  .story-teaser-copy,.story-page-hero-copy{margin-bottom:38px}
  .story-cover-card figcaption{display:block;line-height:1.7}
  .story-flag-row{gap:6px}.story-flag{font-size:.61rem}
  .story-process-grid,.story-mode-grid,.story-evidence-grid,.story-boundary-grid{grid-template-columns:1fr}
  .story-process-card,.story-mode-card{min-height:0}
  .story-node-map{min-height:720px}
  .story-node{width:102px;height:102px}.story-node.core{width:135px;height:135px}
  .story-node.models{left:7%;top:8%}.story-node.solvers{right:7%;top:8%}.story-node.humans{left:3%;top:43%}.story-node.gpu{right:3%;top:43%}.story-node.tools{left:8%;bottom:9%}.story-node.data{right:8%;bottom:9%}
  .story-node strong{font-size:.69rem}.story-node small{font-size:.58rem}.story-node-caption{left:15px;right:15px;bottom:15px;font-size:.62rem}
  .story-section-head h2{font-size:clamp(2.55rem,12vw,4rem)}
  .story-page-hero h1{font-size:clamp(3.2rem,15vw,5.4rem)}
}
@media(prefers-reduced-motion:reduce){.story-node,.story-node.core{animation:none}.story-cover-card{transform:none}}
