/* ── extracted from HTML by artifact-writer ── */
/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;font-weight:400;color:#111111;background:#FFFFFF;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}

.container{max-width:1440px;margin:0 auto;padding:0 2rem}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{font-family:'Poppins',sans-serif;font-weight:400;letter-spacing:-0.02em;line-height:1.15;color:#111111}
h1{font-size:clamp(2.5rem,5.5vw,4.5rem);letter-spacing:-0.03em;line-height:1.05}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}
h3{font-size:1.35rem;font-weight:500}
p{font-size:1rem;line-height:1.75;color:#333}

/* ===== PILL LABEL ===== */
.pill{display:inline-block;background:#047bf5;color:#FFFFFF;font-size:0.72rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:0.5rem 1rem;border-radius:999px;margin-bottom:1.25rem}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.95rem 1.75rem;font-family:'Poppins',sans-serif;font-weight:600;font-size:0.95rem;border-radius:6px;transition:all 0.25s ease;text-align:center;line-height:1;cursor:pointer;border:2px solid transparent}
.btn-primary{background:#00A3E0;color:#FFFFFF;border-color:#047bf5;box-shadow:0 6px 22px rgba(0,163,224,0.28)}
.btn-primary:hover{background:#0089bd;border-color:#0089bd;transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,163,224,0.4)}
.btn-outline-white{background:transparent;color:#FFFFFF;border-color:#FFFFFF}
.btn-outline-white:hover{background:#FFFFFF;color:#0B1C3D}
.btn-outline-blue{background:transparent;color:#00A3E0;border-color:#00A3E0}
.btn-outline-blue:hover{background:#00A3E0;color:#FFFFFF}

/* ===== HERO (custom, full-bleed) ===== */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem clamp(2rem,6vw,7rem) 5rem;background:linear-gradient(135deg,rgba(11,28,61,0.75) 0%,rgba(11,28,61,0.55) 100%),url('../images/gridai-home-hero.jpg') center/cover no-repeat;color:#FFFFFF;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(0,163,224,0.25) 0%,transparent 60%);pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:1000px;margin:0 auto}
.hero-eyebrow{display:block;font-size:0.75rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:#FFFFFF;margin:1rem 0 1.5rem;opacity:0.9}
.hero h1{color:#FFFFFF;margin-bottom:1.25rem;font-weight:800}
.hero-tagline{font-size:clamp(1rem,1.6vw,1.25rem);color:#FFFFFF;opacity:0.92;margin-bottom:2.5rem;font-weight:400}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:rgba(255,255,255,0.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.25);border-radius:12px;padding:1.75rem 1rem;margin-bottom:2.5rem}
.hero-stat{padding:0.5rem 1rem;border-right:1px solid rgba(255,255,255,0.2);text-align:center}
.hero-stat:last-child{border-right:none}
.hero-stat-label{display:block;font-size:0.7rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:#E8F4FC;margin-bottom:0.6rem;opacity:0.9}
.hero-stat-value{display:block;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:600;color:#FFFFFF;line-height:1.3}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ===== SECTION BASE ===== */
section{padding:6rem 0}
.section-title{margin-bottom:1.25rem}
.section-sub{font-size:1.05rem;color:#333;max-width:820px;margin:0 auto 3rem}

/* ===== ABOUT ===== */
.about{background:#FFFFFF}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-content .btn{margin-right:0.75rem;margin-top:1rem}
.about-visual img{width:100%;height:auto}

/* ===== PLATFORM ===== */
/* Section-scoped palette. Change --gm-blue to #00A3E0 to fall back to the
   site's primary blue; every border/arrow/connector/pill here follows it. */
.platform{background:#FFFFFF;text-align:center;--gm-blue:#3779EC;--gm-navy:#182840;--gm-ink:#1B2C41}

/* Head — pill + title on the left, intro paragraph on the right */
.platform-head{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:start;text-align:left;max-width:none;margin:0 0 3.5rem}
.platform-head .pill{grid-column:1;grid-row:1;justify-self:start;background:var(--gm-blue);font-weight:700;margin-bottom:0.9rem}
.platform-head .section-title{grid-column:1;grid-row:2;margin-bottom:0;font-size:clamp(1.85rem,2.7vw,2.25rem);font-weight:400;line-height:1.18;color:#000000}
.platform-head p{grid-column:2;grid-row:2;margin-top:0.35rem;font-size:1.05rem;line-height:1.55;color:var(--gm-ink)}

/* Steps row */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4rem;position:relative;margin-bottom:1.9rem}
.step-card{background:#FFFFFF;border:1.5px solid var(--gm-blue);border-radius:16px;padding:2.25rem 1.25rem 2.5rem;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;transition:transform 0.3s ease,box-shadow 0.3s ease}
.step-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(55,121,236,0.18)}
.step-number{position:absolute;top:20px;left:20px;width:40px;height:40px;border-radius:50%;background:#111111;color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.05rem;line-height:1}
.step-icon-wrap{width:96px;height:96px;border-radius:50%;background:#D3E4FA;display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem}
.step-icon-wrap img{width:56px;height:56px;object-fit:contain}
.step-card h3{color:#000000;margin-bottom:1.15rem;font-weight:700;font-size:1.45rem;letter-spacing:0.01em;line-height:1.15;text-transform:uppercase}
.step-card p{font-size:1rem;line-height:1.65;color:var(--gm-ink)}
/* Vertical connector from each card down to the platform bar */
.step-card::after{content:"";position:absolute;left:50%;bottom:-1.9rem;width:3px;height:1.9rem;background:var(--gm-blue);transform:translateX(-50%)}

/* Block arrows sitting in the column gaps, aligned with the card headings.
   Offsets assume .steps gap:4rem — see calc() below if that gap changes. */
.step-arrow{position:absolute;top:47%;transform:translateY(-50%);width:60px;height:40px;background:var(--gm-blue);clip-path:polygon(0% 30%,58% 30%,58% 2%,100% 50%,58% 98%,58% 70%,0% 70%);font-size:0;z-index:2;pointer-events:none}
.step-arrow.a1{left:calc(25% - 1rem - 30px)}
.step-arrow.a2{left:calc(50% - 30px)}
.step-arrow.a3{left:calc(75% + 1rem - 30px)}

/* All-in-one bar */
.platform-bar{background:var(--gm-navy);color:#FFFFFF;text-align:center;padding:1.5rem 2rem;border-radius:14px;font-size:1.05rem;font-weight:700;line-height:1.4;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:2.5rem}
.platform-close{max-width:1920px;margin:0 auto 2rem;font-size:1.05rem;color:#111111}

/* ===== 2-COL CTA ===== */
.dual-cta{background:#FFFFFF}
.dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.dual-card{background:#0B1C3D;color:#FFFFFF;border-radius:14px;padding:3rem 2.5rem;display:flex;flex-direction:column;align-items:flex-start}
.dual-card h2{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
.dual-card p{color:#E8F4FC;margin-bottom:1.75rem;opacity:0.9}

/* ===== INVESTORS BENTO ===== */
.investors{background:#FFFFFF}
.investors h2{margin-bottom:3rem;font-weight:400}
.bento{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:1.5rem}
.bento-large{grid-row:1 / span 2;background:#FFFFFF;border:1.5px solid #E8F4FC;border-radius:14px;padding:2.5rem;display:flex;flex-direction:column}
.bento-large h3{font-size:1.05rem;font-weight:500;color:#00A3E0;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:1.5rem}
.press-item{padding:1.5rem 0;border-bottom:1px solid #E8F4FC}
.press-item:last-child{border-bottom:none}
.press-date{font-size:0.78rem;color:#00A3E0;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;margin-bottom:0.6rem;display:block}
.press-item h4{font-size:1.15rem;font-weight:500;color:#111111;margin-bottom:0.6rem;line-height:1.4}
.press-item p{font-size:0.92rem;color:#444;margin-bottom:0.75rem}
.press-link{color:#00A3E0;font-weight:600;font-size:0.9rem}
.bento-side{background:#0B1C3D;color:#FFFFFF;border-radius:14px;padding:2.25rem;display:flex;flex-direction:column;justify-content:space-between}
.bento-side h3{color:#FFFFFF;font-weight:400;font-size:1.4rem;margin-bottom:0.75rem}
.bento-side p{color:#E8F4FC;font-size:0.93rem;margin-bottom:1.5rem;opacity:0.9}

/* ===== NEWSLETTER ===== */
.newsletter{background:#000000;color:#FFFFFF;text-align:center;padding:5rem 0}
.newsletter h2{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
.newsletter-sub{color:#CCCCCC;max-width:600px;margin:0 auto 2rem;font-size:1rem}
.newsletter-form{display:flex;gap:0.75rem;max-width:520px;margin:0 auto 1rem;flex-wrap:wrap;justify-content:center}
.newsletter-form input{flex:1;min-width:240px;padding:0.95rem 1.25rem;border-radius:6px;border:1px solid rgba(255,255,255,0.25);background:rgba(255,255,255,0.08);color:#FFFFFF;font-family:inherit;font-size:0.95rem}
.newsletter-form input::placeholder{color:#999}
.newsletter-small{font-size:0.8rem;color:#888;margin-top:0.5rem}

/* ===== FOOTER ===== */
#site-footer{background:#000000;color:#FFFFFF;padding:3.5rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:3rem;align-items:center;max-width:100%;margin:0 auto;padding:0 2rem}
.footer-left img{margin-bottom:0.6rem;}
.footer-left .ticker{font-size:0.8rem;color:#00A3E0;letter-spacing:0.12em;font-weight:500}
.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}
.footer-links a{font-size:0.9rem;color:#CCCCCC;transition:color 0.2s}
.footer-links a:hover{color:#00A3E0}
.footer-right{text-align:right;font-size:0.82rem;color:#888}

/* ===== FADE IN ===== */
.fade-in{opacity:0;transform:translateY(14px);transition:opacity 0.4s ease,transform 0.4s ease}
.fade-in.visible{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media (max-width:960px){
  .about-grid,.dual-grid,.bento{grid-template-columns:1fr}
  .bento{grid-template-rows:auto}
  .bento-large{grid-row:auto}
  .platform-head{grid-template-columns:1fr;column-gap:0}
  .platform-head .pill,.platform-head .section-title,.platform-head p{grid-column:1;grid-row:auto}
  .platform-head .section-title{margin-bottom:1.25rem}
  .platform-head p{margin-top:0}
  .steps{grid-template-columns:repeat(2,1fr);gap:2rem}
  .step-arrow{display:none}
  .step-card::after{display:none}
  .hero-stats{grid-template-columns:1fr;gap:1rem}
  .hero-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,0.15);padding-bottom:1rem}
  .hero-stat:last-child{border-bottom:none;padding-bottom:0}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-right,.footer-left{text-align:center}
  .footer-left img{margin-left:auto;margin-right:auto}
}
@media (max-width:600px){
  section{padding:4rem 0}
  .container{padding:0 1.25rem}
  .steps{grid-template-columns:1fr;gap:1.5rem}
  .hero{padding:7rem 1.5rem 4rem;min-height:auto}
  .dual-card,.bento-large,.bento-side{padding:2rem 1.5rem}
}

/* ── Component: 2026-08-06-hyperscale-ai-infrastructure-hero ── */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
}

.hero-background {
  position: absolute;
  inset: 0;
  background: #0B1C3D url('../images/gridai-home-hero.jpg') center/cover no-repeat;
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: clamp(3rem, 12vh, 8rem) clamp(1rem, 5vw, 4rem) 0;
}

.hero-badge {
  display: inline-block;
  background: #047bf5;
  color: #FFFFFF;
  font-family: 'Poppins', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

.hero-eyebrow {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(0.7rem, 1vw, 0.85rem);
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.35);
}

.hero-title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.75rem, 4vw, 3.25rem);
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin-bottom: 0.75rem;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
}

.hero-subtitle {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1rem, 2vw, 1.5rem);
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
  margin-bottom: 2rem;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.btn {
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.85rem 1.75rem;
  border-radius: 6px;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.btn-primary {
  background: #047bf5;
  color: #FFFFFF;
}

.btn-primary:hover {
  background: #0090c7;
  transform: translateY(-1px);
}

.btn-secondary {
  background: #FFFFFF;
  color: #0B1C3D;
  border: 1px solid #FFFFFF;
}

.btn-secondary:hover {
  background: transparent;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.stats-bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin: 0 clamp(1rem, 5vw, 6rem) clamp(2rem, 5vh, 4rem);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 8px;
  padding: clamp(1.25rem, 3vw, 2rem) clamp(1.5rem, 4vw, 3rem);
  box-shadow: 
    0 4px 30px rgba(11, 28, 61, 0.2),
    0 1px 3px rgba(0, 0, 0, 0.08);
}

.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0 clamp(1rem, 3vw, 2.5rem);
}

.stat-item--wide {
  padding: 0 clamp(1.5rem, 4vw, 3.5rem);
}

.stat-label {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(0.6rem, 1vw, 0.75rem);
  font-weight: 500;
  color: #0B1C3D;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.75;
}

.stat-value {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.stat-value-num {
  font-size: 2.25rem;
}

.stat-value-group {
  display: flex;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
}

.stat-divider {
  width: 2px;
  align-self: stretch;
  background: linear-gradient(
    180deg,
    transparent 0%,
    #00A3E0 20%,
    #00A3E0 80%,
    transparent 100%
  );
  opacity: 0.6;
}

@media (max-width: 900px) {
  .stats-bar {
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  
  .stat-divider {
    display: none;
  }
  
  .stat-item {
    flex: 1 1 45%;
    min-width: 140px;
  }
  
  .stat-item--wide {
    flex: 1 1 100%;
  }
  
  .stat-value-group {
    flex-direction: column;
    gap: 0.25rem;
  }
  .hero-content {
  padding-top:0;
  }
  .hero-actions {
  margin-bottom:60px;
  }
  .stats-bar {
  margin-bottom:0px;
  }
}

@media (max-width: 480px) {
  .stats-bar {
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  
  .stat-item,
  .stat-item--wide {
    flex: none;
    width: 100%;
    padding: 0;
  }
  
  .stat-value-group {
    flex-direction: row;
    gap: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* ── extracted 2026-08-07T18:12:32.837Z ── */
/* ===== ABOUT HERO ===== */
  .about-hero{
    position:relative;
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/about-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;
    overflow:hidden;
  }
  .about-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .about-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .about-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
  .about-hero-tagline{color:#FFFFFF;font-size:clamp(1.05rem,1.6vw,1.35rem);opacity:0.95;font-weight:400}

  /* ===== POSITIONING (Slide 14 style) ===== */
  .positioning{background:#FFFFFF;}
  .positioning-head{margin:0 auto 3.5rem}
  .positioning-head h2{font-weight:400;margin-bottom:0}
  .value-cards{display:flex;flex-direction:column;gap:1.25rem;max-width:1280px;margin:0 auto;text-align:left}
  .value-card{
    display:flex;align-items:center;gap:1.5rem;
    background:#FFFFFF;
    border:1.5px solid #00A3E0;
    border-radius:14px;
    padding:1.5rem 2rem;
    transition:transform 0.25s ease,box-shadow 0.25s ease;
  }
  .value-card:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(0,163,224,0.15)}
  .value-icon{
    flex-shrink:0;
    width:72px;height:72px;border-radius:50%;
    background:#E8F4FC;
    display:flex;align-items:center;justify-content:center;
  }
  .value-icon img{object-fit:contain}
  .value-body{flex:1;display:flex;flex-direction:column;gap:0.55rem}
  .value-label{
    display:inline-block;
    background:#0B1C3D;color:#FFFFFF;
    padding:0.4rem 0.9rem;
    border-radius:6px;
    font-size:1.2rem;font-weight:800;letter-spacing:0.06em;
    text-transform:uppercase;
    align-self:flex-start;
  }
  .value-desc{font-size:0.98rem;color:#333;line-height:1.6;margin:0}

  /* ===== TEAM ===== */
  .team{background:#FFFFFF;}
  .team-head{margin-bottom:3.5rem}
  .team-head h2{font-weight:400}
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;text-align:left}
  .team-card{
    background:#FFFFFF;
    border:1.5px solid #E8F4FC;
    border-radius:14px;
    padding:2rem 1.5rem;
    display:flex;flex-direction:column;align-items:center;text-align:center;
    transition:transform 0.25s ease,box-shadow 0.25s ease;
  }
  .team-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(11,28,61,0.1)}
  .team-photo{
    width:150px;height:150px;border-radius:50%;
    overflow:hidden;background:#E8F4FC;
    margin-bottom:1.25rem;
    border:3px solid #E8F4FC;
  }
  .team-photo img{width:100%;height:100%;object-fit:cover}
  .team-name{font-size:1.15rem;font-weight:500;color:#111111;margin-bottom:0.35rem;letter-spacing:-0.01em}
  .team-title{font-size:0.85rem;color:#00A3E0;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:1rem}
  .team-bio{font-size:0.88rem;line-height:1.6;color:#333;text-align:left}

  /* ===== FINAL CTA BAND ===== */
  .cta-band{background:#000000;color:#FFFFFF;text-align:center;padding:5rem 0}
  .cta-band h2{color:#FFFFFF;font-weight:400;margin-bottom:2rem;font-size:clamp(1.75rem,3vw,2.5rem)}
  .cta-band-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

  @media (max-width:1024px){
    .team-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:720px){
    .value-card{flex-direction:column;align-items:flex-start;text-align:left;padding:1.5rem}
    .value-icon{margin-bottom:0.25rem}
  }
  @media (max-width:600px){
    .team-grid{grid-template-columns:1fr}
    .about-hero{min-height:auto;padding:7rem 1.25rem 4rem}
  }

/* ── extracted 2026-08-07T18:18:03.460Z ── */
/* ===== PROJECT HERO ===== */
  .project-hero{
    position:relative;
    min-height:75vh;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/project-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;overflow:hidden;
  }
  .project-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .project-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .project-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
  .project-hero-tagline{color:#FFFFFF;font-size:clamp(1.05rem,1.6vw,1.35rem);opacity:0.95;font-weight:400}

  /* ===== NUCLEAR ===== */
  .nuclear{background:#FFFFFF;text-align:center}
  .nuclear-head{max-width:900px;margin:0 auto 3rem}
  .nuclear-head h2{font-weight:400;margin-bottom:1.25rem}
  .nuclear-head p{font-size:1.05rem;color:#333}
  .nuclear-stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:0;max-width:1000px;margin:0 auto 3rem;
    padding:2.5rem 1.5rem;
    background:#F8FBFE;border-radius:14px;
    border:1px solid #E8F4FC;
  }
  .nuc-stat{padding:0.5rem 1rem;border-right:1px solid #E8F4FC;text-align:center}
  .nuc-stat:last-child{border-right:none}
  .nuc-stat-value{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;color:#00A3E0;line-height:1;letter-spacing:-0.02em;margin-bottom:0.6rem}
  .nuc-stat-label{font-size:0.9rem;color:#111111;font-weight:500}
  .nuclear-points{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:1.25rem;max-width:1000px;margin:0 auto;text-align:left;
  }
  .nuc-point{
    background:#FFFFFF;border:1.5px solid #00A3E0;border-radius:12px;
    padding:1.5rem 1.5rem;font-size:0.95rem;color:#111111;font-weight:500;line-height:1.5;
  }

  /* ===== FINAL CTA ===== */
  .cta-band{background:#000000;color:#FFFFFF;text-align:center;padding:5rem 0}
  .cta-band h2{color:#FFFFFF;font-weight:400;margin-bottom:2rem;font-size:clamp(1.75rem,3vw,2.5rem)}
  .cta-band-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

  @media (max-width:960px){
    .nuclear-stats,.nuclear-points{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:640px){
    .nuclear-stats,.nuclear-points{grid-template-columns:1fr}
    .nuc-stat{border-right:none;border-bottom:1px solid #E8F4FC;padding-bottom:1.25rem}
    .nuc-stat:last-child{border-bottom:none;padding-bottom:0}
    .project-hero{min-height:auto;padding:7rem 1.25rem 4rem}
  }

/* ── extracted 2026-08-07T18:22:03.255Z ── */
/* ===== OPPORTUNITY HERO ===== */
  .opp-hero{
    position:relative;
    min-height:70vh;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/opportunity-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;overflow:hidden;
  }
  .opp-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .opp-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .opp-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
  .opp-hero-tagline{color:#FFFFFF;font-size:clamp(1.05rem,1.6vw,1.35rem);opacity:0.95;font-weight:400}

  /* ===== MARKET PROBLEM (slide4) ===== */
  .market{background:#FFFFFF;padding:5.5rem 0 0}
  .market-head{
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:3rem;
    align-items:start;margin-bottom:3.25rem;text-align:left;
  }
  .market-head-left .pill{margin-bottom:1.1rem}
  .market-head-left h2{
    font-weight:400;font-size:clamp(1.75rem,3vw,2.45rem);
    line-height:1.18;color:#111;margin:0;letter-spacing:-0.02em;
  }
  .market-head-right{
    font-size:1.02rem;line-height:1.65;color:#333;
    margin:0;padding-top:2.6rem;
  }

  .market-grid{
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:2.75rem;
    margin:0 auto 2.75rem;text-align:left;
  }
  .col-title{
    font-size:1.15rem;font-weight:500;color:#111;
    margin-bottom:1.35rem;letter-spacing:-0.01em;
  }
  .demand-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
  .demand-card{
    background:#FFFFFF;border:1.5px solid #047bf5;border-radius:14px;
    padding:1.35rem 1.35rem 1.45rem;
    transition:transform 0.25s ease,box-shadow 0.25s ease;
  }
  .demand-card:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(4,123,245,0.14)}
  .demand-meta{
    font-size:0.68rem;font-weight:600;color:#047bf5;
    letter-spacing:0.08em;text-transform:uppercase;
    margin-bottom:0.65rem;line-height:1.3;
  }
  .demand-value{
    font-size:clamp(1.85rem,2.8vw,2.35rem);font-weight:700;color:#111;
    line-height:1;letter-spacing:-0.03em;margin-bottom:0.7rem;
  }
  .demand-value span{font-size:0.55em;font-weight:600;letter-spacing:0;margin-left:0.1em}
  .demand-desc{font-size:0.86rem;color:#444;line-height:1.5;margin:0}

  .grid-cards{display:flex;flex-direction:column;gap:1.15rem}
  .grid-card{
    background:#FFFFFF;
    border-left:5px solid #047bf5;
    padding:1.25rem 0 1.25rem 1.5rem;
    transition:transform 0.25s ease;
  }
  .grid-card:hover{transform:translateX(4px)}
  .grid-value{
    font-size:clamp(1.85rem,2.8vw,2.35rem);font-weight:700;color:#111;
    line-height:1;letter-spacing:-0.03em;margin-bottom:0.45rem;
  }
  .grid-value span{font-size:0.45em;font-weight:600;letter-spacing:0.02em;margin-left:0.15em}
  .grid-desc{font-size:0.95rem;color:#333;line-height:1.55;margin:0}

  .market-close{
    background:#E8F4FC;text-align:center;
    padding:1.5rem 2rem;
    font-size:clamp(1.05rem,1.5vw,1.2rem);
    color:#111;font-weight:500;
    border-radius:0;
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    box-sizing:border-box;
  }

  /* ===== NATIONAL SECURITY (slide16) ===== */
  .natsec{background:#FFFFFF;padding:5.5rem 0}
  .natsec-head{text-align:left;max-width:1100px;margin:0 0 3rem}
  .natsec-head .pill{margin-bottom:1.1rem}
  .natsec-head h2{
    font-weight:400;font-size:clamp(1.75rem,3vw,2.45rem);
    line-height:1.18;margin-bottom:1rem;letter-spacing:-0.02em;
  }
  .natsec-sub{
    font-size:clamp(1.05rem,1.5vw,1.2rem);color:#047bf5;
    font-weight:500;margin:0;line-height:1.45;
  }

  .natsec-layout{
    display:grid;grid-template-columns:1.2fr 0.8fr;gap:2.5rem;
    align-items:start;text-align:left;
  }
  .natsec-left{display:flex;flex-direction:column;gap:1.35rem}
  .natsec-card{
    background:#FFFFFF;border:1.5px solid #047bf5;border-radius:14px;
    overflow:hidden;
  }
  .natsec-card-header{
    background:#047bf5;color:#FFFFFF;
    font-size:0.78rem;font-weight:600;letter-spacing:0.1em;
    text-transform:uppercase;padding:0.7rem 1.35rem;
  }
  .natsec-why .natsec-card-header{background:#D6E9FC;color:#0B1C3D}
  .natsec-card-body{padding:1.5rem 1.5rem 1.6rem}
  .natsec-card-body ul{list-style:none;padding:0;margin:0}
  .natsec-card-body li{
    position:relative;padding-left:1.15rem;margin-bottom:0.95rem;
    font-size:0.95rem;color:#333;line-height:1.6;
  }
  .natsec-card-body li:last-child{margin-bottom:0}
  .natsec-card-body li::before{
    content:"";position:absolute;left:0;top:0.6rem;
    width:5px;height:5px;border-radius:50%;background:#047bf5;
  }
  .natsec-card-body p{font-size:0.95rem;color:#333;line-height:1.65;margin:0 0 1.1rem}
  .natsec-tags{
    display:block;font-size:0.9rem;font-weight:600;color:#111;
    letter-spacing:0.02em;padding:0.85rem 0;margin-bottom:1.1rem;
    border-top:1px solid #E0EEF9;border-bottom:1px solid #E0EEF9;
  }
  .natsec-why-footer{font-size:0.92rem !important;color:#444 !important;margin:0 !important}

  /* Dependency Chain */
  .dep-chain-title{
    font-size:0.78rem;font-weight:600;letter-spacing:0.12em;
    text-transform:uppercase;color:#0B1C3D;margin-bottom:1.25rem;
    text-align:center;
  }
  .dep-chain{
    display:flex;flex-direction:column;align-items:center;gap:0;
  }
  .dep-node{
    width:100%;max-width:280px;
    background:#FFFFFF;border:1.5px solid #D0DCE8;border-radius:10px;
    padding:1rem 1.25rem;text-align:center;
    font-size:0.98rem;font-weight:500;color:#111;
    line-height:1.4;
  }
  .dep-node-highlight{
    background:#047bf5;border-color:#047bf5;color:#FFFFFF;
    font-weight:600;padding:1.15rem 1.25rem;
  }
  .dep-node-final{
    background:#0B1C3D;border-color:#0B1C3D;color:#FFFFFF;
    font-size:0.92rem;font-weight:500;line-height:1.55;
    padding:1.25rem 1.35rem;
  }
  .dep-arrow{
    width:2px;height:22px;background:#047bf5;position:relative;
  }
  .dep-arrow::after{
    content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);
    border-left:5px solid transparent;border-right:5px solid transparent;
    border-top:7px solid #047bf5;
  }

  /* ===== NUCLEAR COMPARISON TABLE (slide19) ===== */
  .comp-nuclear{background:#F8FBFE;padding:5.5rem 0;text-align:center}
  .comp-head{max-width:1100px;margin:0 auto 2.75rem;text-align:left}
  .comp-head .pill{margin-bottom:1.1rem}
  .comp-head h2{
    font-weight:400;font-size:clamp(1.75rem,3vw,2.45rem);
    line-height:1.18;letter-spacing:-0.02em;margin:0;
  }

  .nuc-table-wrap{
    overflow-x:auto;margin-bottom:2.5rem;
    border-radius:12px;border:1px solid #D6E4F0;background:#FFFFFF;
  }
  .nuc-table{
    width:100%;border-collapse:collapse;min-width:820px;
    font-size:0.9rem;text-align:left;
  }
  .nuc-table thead{background:#FFFFFF}
  .nuc-table th{
    padding:1.25rem 1.15rem 1.1rem;
    border-bottom:2px solid #047bf5;
    vertical-align:bottom;
  }
  .nuc-table th:first-child{width:18%;border-bottom-color:transparent}
  .nuc-th-name{font-size:1.15rem;font-weight:600;color:#111;margin-bottom:0.25rem}
  .nuc-th-ticker{font-size:0.72rem;font-weight:500;color:#666;letter-spacing:0.04em}
  .nuc-th-gridai .nuc-th-name{color:#047bf5}
  .nuc-th-gridai .nuc-th-ticker{color:#047bf5}

  .nuc-table td{
    padding:1.05rem 1.15rem;border-bottom:1px solid #E8F0F7;
    color:#333;line-height:1.5;vertical-align:top;
  }
  .nuc-table tr:last-child td{border-bottom:none}
  .nuc-row-label{
    font-weight:600;color:#111;font-size:0.88rem;
    white-space:nowrap;background:#F8FBFE;
  }
  .nuc-gridai-cell{background:#F0F7FE;color:#0B1C3D;font-weight:500}
  .nuc-value-highlight{
    font-size:1.15rem;font-weight:700;color:#047bf5 !important;
  }

  .nuc-close{
    max-width:920px;margin:0 auto;font-size:clamp(1.05rem,1.5vw,1.2rem);
    color:#111;font-weight:500;line-height:1.55;text-align:center;
  }
  .nuc-close strong{font-weight:700}
  .highlight-blue{color:#047bf5}

  /* ===== BROADER COMPARISON TABLE (slide20) ===== */
  .comp-broad{background:#FFFFFF;padding:5.5rem 0}
  .comp-broad .container{max-width:1280px}
  .comp-head-broad{text-align:left;max-width:1100px;margin:0 0 2.75rem}
  .comp-head-broad .pill{margin-bottom:1.1rem}
  .comp-head-broad h2{
    font-weight:400;font-size:clamp(1.75rem,3vw,2.45rem);
    line-height:1.18;letter-spacing:-0.02em;margin:0;
  }

  .comp-table-wrap{
    overflow-x:auto;margin-bottom:2.5rem;
    border-radius:12px;border:1px solid #D6E4F0;
  }
  .comp-table{
    width:100%;border-collapse:collapse;background:#FFFFFF;
    font-size:0.88rem;min-width:900px;
  }
  .comp-table thead{background:#FFFFFF}
  .comp-table th{
    padding:1.1rem 1rem;text-align:left;
    font-size:0.75rem;font-weight:600;letter-spacing:0.08em;
    text-transform:uppercase;white-space:nowrap;
    color:#111;border-bottom:2px solid #047bf5;
  }
  .comp-table td{
    padding:1rem 1rem;border-bottom:1px solid #E8F0F7;
    color:#333;line-height:1.5;vertical-align:top;
  }
  .comp-table tr:last-child td{border-bottom:none}
  .comp-table td:first-child{font-weight:600;color:#111;white-space:nowrap}
  .comp-table .val-note{font-size:0.78rem;color:#666;font-weight:400}

  .comp-table tr.gridai-row{
    background:#F0F7FE;
    box-shadow:inset 0 0 0 2px #047bf5;
  }
  .comp-table tr.gridai-row td{
    color:#0B1C3D;font-weight:500;border-bottom:none;
    padding-top:1.15rem;padding-bottom:1.15rem;
  }
  .comp-table tr.gridai-row td:first-child{color:#047bf5;font-weight:700}
  .comp-table .gridai-value{
    font-size:1.15rem;font-weight:700;color:#047bf5;
  }

  .comp-close{
    text-align:center;max-width:980px;margin:0 auto;
    font-size:clamp(1.05rem,1.5vw,1.2rem);color:#111;font-weight:500;
    line-height:1.55;
  }

  /* ===== FINAL CTA ===== */
  .cta-band{background:#000000;color:#FFFFFF;text-align:center;padding:5rem 0}
  .cta-band h2{color:#FFFFFF;font-weight:400;margin-bottom:2rem;font-size:clamp(1.75rem,3vw,2.5rem)}
  .cta-band-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

  @media (max-width:960px){
    .market-head,.market-grid,.natsec-layout{grid-template-columns:1fr;gap:1.75rem}
    .market-head-right{padding-top:0}
    .demand-cards{grid-template-columns:1fr 1fr}
    .dep-node{max-width:100%}
  }
  @media (max-width:600px){
    .demand-cards{grid-template-columns:1fr}
    .opp-hero{min-height:auto;padding:7rem 1.25rem 4rem}
  }

/* ── extracted 2026-08-07T18:24:34.371Z ── */
/* ===== INVESTORS HERO ===== */
  .inv-hero{
    position:relative;
    min-height:62vh;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/investors-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;overflow:hidden;
  }
  .inv-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .inv-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .inv-hero-eyebrow{
    display:block;font-size:0.85rem;font-weight:500;
    letter-spacing:0.18em;text-transform:uppercase;
    color:#FFFFFF;opacity:0.95;margin-bottom:1.1rem;
  }
  .inv-hero-eyebrow::after{
    content:"";display:block;width:48px;height:2px;
    background:#047bf5;margin:0.85rem auto 0;
  }
  .inv-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:0;font-size:clamp(2.4rem,5vw,3.8rem)}

  /* ===== TICKER + CHART ===== */
  .inv-chart-section{background:#FFFFFF;padding:4.5rem 0 3rem}
  .chart-split{
    display:grid;grid-template-columns:0.9fr 1.6fr;gap:2.5rem;
    align-items:stretch;min-height:480px;
  }
  .ticker-block{
    display:flex;flex-direction:column;justify-content:center;
    padding:1.5rem 0.5rem 1.5rem 0;
  }
  .ticker-label{
    font-size:0.72rem;font-weight:600;letter-spacing:0.14em;
    text-transform:uppercase;color:#0B1C3D;opacity:0.7;margin-bottom:0.75rem;
  }
  .ticker-value{
    font-size:clamp(1.9rem,3vw,2.6rem);font-weight:700;color:#047bf5;
    letter-spacing:-0.02em;line-height:1.1;margin-bottom:1.25rem;
  }
  .ticker-meta{
    font-size:1rem;line-height:1.65;color:#333;margin:0;max-width:340px;
  }
  .chart-container{
    border:1px solid #E8F0F7;border-radius:12px;overflow:hidden;
    background:#FFFFFF;min-height:460px;height:480px;
  }
  .tradingview-widget-container{height:100% !important}
  .tradingview-widget-container__widget{height:calc(100% - 28px) !important}

  /* ===== NEWS + MATERIALS ===== */
  .inv-news-section{background:#FFFFFF;padding:1rem 0 5.5rem;border-top:1px solid #E8F0F7}
  .news-split{
    display:grid;grid-template-columns:1.35fr 0.9fr;gap:3rem;
    align-items:start;padding-top:4rem;
  }
  .news-block{text-align:left}
  .news-block .pill{margin-bottom:1rem}
  .news-block h2{font-weight:400;margin-bottom:0.9rem;font-size:clamp(1.7rem,2.8vw,2.3rem)}
  .news-block .section-sub{font-size:1rem;color:#444;margin-bottom:2.25rem;}
  .news-list{list-style:none;padding:0;margin:0}
  .news-item{
    padding:1.6rem 0;
    border-bottom:1px solid #E8F0F7;
  }
  .news-item:first-child{padding-top:0}
  .news-item:last-child{border-bottom:none}
  .news-date{
    display:block;font-size:0.75rem;font-weight:600;color:#047bf5;
    letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.55rem;
  }
  .news-title{
    font-size:1.15rem;font-weight:500;color:#111;
    line-height:1.35;margin:0 0 0.55rem;
  }
  .news-summary{font-size:0.95rem;color:#444;line-height:1.6;margin:0 0 0.7rem}
  .news-link{
    color:#047bf5;font-weight:600;font-size:0.9rem;
  }
  .news-link:hover{text-decoration:underline}
  .news-more{
    display:inline-flex;margin-top:1.75rem;
  }


  .materials-bento{display:flex;flex-direction:column;gap:1.35rem;position:sticky;top:6rem}
  .bento-card{
    background:#F8FBFE;border:1.5px solid #E0EEF9;border-radius:14px;
    padding:2rem 1.85rem;
  }
  .bento-icon{font-size:1.75rem;margin-bottom:1rem;line-height:1}
  .bento-title{
    font-size:1.2rem;font-weight:600;color:#111;margin:0 0 0.7rem;
  }
  .bento-desc{
    font-size:0.95rem;color:#444;line-height:1.6;margin:0 0 1.4rem;
  }
  .bento-card .btn{width:100%}

  @media (max-width:960px){
    .chart-split,.news-split{grid-template-columns:1fr;gap:2rem}
    .chart-container{min-height:380px;height:400px}
    .materials-bento{position:static}
    .ticker-meta{max-width:none}
  }
  @media (max-width:600px){
    .inv-hero{min-height:auto;padding:7rem 1.25rem 4rem}
    .chart-container{min-height:320px;height:340px}
  }



/* ===== NEWS PAGE ===== */
  .news-hero{
    position:relative;
    min-height:58vh;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/investors-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;overflow:hidden;
  }
  .news-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .news-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .news-hero-eyebrow{
    display:block;font-size:0.85rem;font-weight:500;
    letter-spacing:0.18em;text-transform:uppercase;
    color:#FFFFFF;opacity:0.95;margin-bottom:1.1rem;
  }
  .news-hero-eyebrow::after{
    content:"";display:block;width:48px;height:2px;
    background:#047bf5;margin:0.85rem auto 0;
  }
  .news-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:0;font-size:clamp(2.2rem,4.5vw,3.5rem)}

  /* Featured article */
  .featured-article{background:#FFFFFF;padding:5rem 0 3.5rem}
  .featured-split{
    display:grid;grid-template-columns:1.35fr 0.9fr;gap:2.75rem;
    align-items:stretch;
  }
  .featured-card{
    background:#F8FBFE;border:1.5px solid #E0EEF9;border-radius:16px;
    padding:2.5rem 2.25rem;
    display:flex;flex-direction:column;
  }
  .featured-label{
    display:inline-block;background:#047bf5;color:#FFFFFF;
    font-size:0.68rem;font-weight:600;letter-spacing:0.12em;
    text-transform:uppercase;padding:0.4rem 0.85rem;border-radius:999px;
    margin-bottom:1.25rem;align-self:flex-start;
  }
  .featured-card .news-date{
    display:block;font-size:0.78rem;font-weight:600;color:#047bf5;
    letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.85rem;
  }
  .featured-card h2{
    font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:500;color:#111;
    line-height:1.3;margin:0 0 1rem;letter-spacing:-0.015em;
  }
  .featured-card p{
    font-size:1.02rem;color:#444;line-height:1.65;margin:0 0 1.5rem;flex:1;
  }
  .featured-card .news-link{
    color:#047bf5;font-weight:600;font-size:0.95rem;align-self:flex-start;
  }
  .featured-card .news-link:hover{text-decoration:underline}

  .featured-meta{
    background:#0B1C3D;color:#FFFFFF;border-radius:16px;
    padding:2.5rem 2.25rem;
    display:flex;flex-direction:column;justify-content:center;
  }
  .featured-meta-eyebrow{
    display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.14em;
    text-transform:uppercase;color:#7FB8F5;margin-bottom:1rem;
  }
  .featured-meta h3{
    color:#FFFFFF;font-weight:500;font-size:clamp(1.25rem,2vw,1.5rem);
    margin:0 0 1rem;line-height:1.3;
  }
  .featured-meta p{
    color:#C8D8EC;font-size:0.98rem;line-height:1.65;margin:0 0 1.75rem;
  }
  .featured-meta .btn{align-self:flex-start}

  /* News grid */
  .news-grid-section{background:#FFFFFF;padding:2rem 0 5.5rem;border-top:1px solid #E8F0F7}
  .news-grid-header{text-align:left;max-width:800px;margin:0 0 2.75rem;padding-top:3rem}
  .news-grid-header .pill{margin-bottom:1rem}
  .news-grid-header h2{
    font-weight:400;font-size:clamp(1.7rem,2.8vw,2.3rem);margin:0 0 0.85rem;
  }
  .news-grid-header .section-sub{margin:0;max-width:560px;text-align:left}

  .news-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  }
  .news-card{
    background:#FFFFFF;border:1.5px solid #E8F0F7;border-radius:14px;
    padding:1.75rem 1.6rem 1.85rem;
    display:flex;flex-direction:column;
    transition:transform 0.25s ease,box-shadow 0.25s ease;
  }
  .news-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(11,28,61,0.08)}
  .news-card .news-date{
    display:block;font-size:0.72rem;font-weight:600;color:#047bf5;
    letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.55rem;
  }
  .news-category{
    display:inline-block;font-size:0.68rem;font-weight:600;
    letter-spacing:0.08em;text-transform:uppercase;
    color:#0B1C3D;background:#E8F4FC;padding:0.3rem 0.65rem;
    border-radius:4px;margin-bottom:0.9rem;align-self:flex-start;
  }
  .news-card h3{
    font-size:1.1rem;font-weight:500;color:#111;line-height:1.35;
    margin:0 0 0.7rem;
  }
  .news-card p{
    font-size:0.92rem;color:#444;line-height:1.6;margin:0 0 1.15rem;flex:1;
  }
  .news-card .news-link{
    color:#047bf5;font-weight:600;font-size:0.88rem;align-self:flex-start;
  }
  .news-card .news-link:hover{text-decoration:underline}

  @media (max-width:960px){
    .featured-split{grid-template-columns:1fr;gap:1.75rem}
    .news-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:600px){
    .news-hero{min-height:auto;padding:7rem 1.25rem 4rem}
    .news-grid{grid-template-columns:1fr}
    .featured-card,.featured-meta{padding:1.85rem 1.5rem}
  }


/* ── extracted 2026-08-07T18:29:05.393Z ── */
/* ===== INVESTMENT HERO ===== */
  .inv-case-hero{
    position:relative;min-height:65vh;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/investment-case-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;overflow:hidden;
  }
  .inv-case-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .inv-case-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .inv-case-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
  .inv-case-hero-tagline{color:#FFFFFF;font-size:clamp(1.05rem,1.6vw,1.35rem);opacity:0.95;font-weight:400}

  /* ===== SHARED SECTION HEAD ===== */
  .sec-head{text-align:center;max-width:960px;margin:0 auto 3.5rem}
  .sec-head h2{font-weight:400;margin-bottom:1.25rem}
  .sec-head p{font-size:1.05rem;color:#333}

  /* ===== VALUE PROGRESSION ===== */
  .value-prog{background:#FFFFFF;text-align:center}
  .prog-chart{
    display:grid;grid-template-columns:repeat(7,1fr);
    gap:1rem;align-items:end;
    max-width:1200px;margin:0 auto 3rem;
    padding:2rem 1rem 0;
    min-height:460px;
  }
  .prog-step{
    display:flex;flex-direction:column;align-items:center;
    height:100%;justify-content:flex-end;
  }
  .prog-bar{
    width:100%;background:linear-gradient(180deg,#00A3E0 0%,#0089bd 100%);
    border-radius:8px 8px 0 0;
    display:flex;align-items:flex-start;justify-content:center;
    padding-top:0.9rem;
    color:#FFFFFF;font-weight:700;font-size:clamp(0.85rem,1.2vw,1.05rem);
    letter-spacing:-0.01em;
    box-shadow:0 4px 20px rgba(0,163,224,0.25);
    transition:transform 0.3s ease;
    position:relative;
  }
  .prog-bar:hover{transform:translateY(-4px)}
  .prog-step:nth-child(1) .prog-bar{height:8%;background:linear-gradient(180deg,#8dcae6 0%,#5eb3d9 100%)}
  .prog-step:nth-child(2) .prog-bar{height:22%}
  .prog-step:nth-child(3) .prog-bar{height:30%}
  .prog-step:nth-child(4) .prog-bar{height:45%}
  .prog-step:nth-child(5) .prog-bar{height:70%}
  .prog-step:nth-child(6) .prog-bar{height:92%;background:linear-gradient(180deg,#0B1C3D 0%,#0B1C3D 100%)}
  .prog-step:nth-child(7) .prog-bar{height:100%;background:linear-gradient(180deg,#0B1C3D 0%,#0B1C3D 100%)}
  .prog-step:nth-child(1) .prog-bar-value{color:#0B1C3D}
  .prog-label{
    margin-top:1rem;font-size:0.82rem;color:#111111;font-weight:500;
    line-height:1.35;text-align:center;padding:0 0.25rem;
    min-height:3.5rem;
  }
  .prog-close{
    max-width:960px;margin:0 auto;
    font-size:clamp(1.05rem,1.6vw,1.25rem);
    color:#0B1C3D;font-weight:500;text-align:center;
    background:#E8F4FC;padding:1.5rem 2rem;border-radius:10px;
  }

  /* ===== VALUATION GAP ===== */
  .val-gap{background:#F8FBFE}
  .val-gap-grid{
    display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;
    max-width:1250px;margin:0 auto 2.5rem;align-items:start;
  }
  .comp-bars{
    background:#FFFFFF;border:1px solid #E8F4FC;border-radius:14px;
    padding:2rem 2rem;display:flex;flex-direction:column;gap:1rem;
  }
  .comp-bar-row{display:grid;grid-template-columns:180px 1fr auto;gap:1rem;align-items:center}
  .comp-bar-label{font-size:0.9rem;font-weight:500;color:#111111}
  .comp-bar-track{background:#F8FBFE;border-radius:6px;height:26px;position:relative;overflow:hidden}
  .comp-bar-fill{
    height:100%;background:linear-gradient(90deg,#0B1C3D 0%,#1a3a6e 100%);
    border-radius:6px;transition:width 0.4s ease;
  }
  .comp-bar-fill.gridai{background:linear-gradient(90deg,#00A3E0 0%,#0089bd 100%);box-shadow:0 2px 12px rgba(0,163,224,0.35)}
  .comp-bar-value{font-size:0.9rem;font-weight:700;color:#0B1C3D;min-width:80px;text-align:right}
  .comp-bar-row.gridai .comp-bar-label{color:#00A3E0;font-weight:700}
  .comp-bar-row.gridai .comp-bar-value{color:#00A3E0}

  .callout-box{
    background:#0B1C3D;color:#FFFFFF;border-radius:14px;
    padding:2rem 1.75rem;
    border:2px solid #00A3E0;
  }
  .callout-box .pill{margin-bottom:1rem}
  .callout-box h3{color:#FFFFFF;font-weight:500;font-size:1.15rem;margin-bottom:1.25rem;letter-spacing:0.02em}
  .callout-box ul{list-style:none;padding:0;margin:0}
  .callout-box li{
    position:relative;padding-left:1.4rem;margin-bottom:0.85rem;
    font-size:0.92rem;color:#E8F4FC;line-height:1.55;
  }
  .callout-box li:last-child{margin-bottom:0}
  .callout-box li::before{
    content:"";position:absolute;left:0;top:0.55rem;
    width:6px;height:6px;border-radius:50%;background:#00A3E0;
  }
  .val-gap-close{
    max-width:1000px;margin:0 auto;text-align:center;
    font-size:clamp(1.05rem,1.6vw,1.2rem);color:#0B1C3D;font-weight:500;
  }

  /* ===== SCORECARD ===== */
  .scorecard{background:#FFFFFF}
  .score-table-wrap{overflow-x:auto;margin-bottom:2.5rem;border-radius:12px;border:1px solid #E8F4FC;max-width:1250px;margin-left:auto;margin-right:auto}
  .score-table{width:100%;border-collapse:collapse;background:#FFFFFF;font-size:0.92rem}
  .score-table thead{background:#0B1C3D;color:#FFFFFF}
  .score-table th{
    padding:1.1rem 1rem;text-align:center;
    font-size:0.78rem;font-weight:600;letter-spacing:0.08em;
    text-transform:uppercase;
  }
  .score-table th:first-child{text-align:left}
  .score-table th.gridai-col{background:#00A3E0;color:#FFFFFF}
  .score-table td{
    padding:1rem;border-bottom:1px solid #E8F4FC;
    text-align:center;color:#333;
  }
  .score-table td:first-child{text-align:left;font-weight:600;color:#111111}
  .score-table tr:last-child td{border-bottom:none}
  .score-table td.gridai-col{background:#E8F4FC;font-weight:600;color:#0B1C3D}
  .score-table tr.mktcap-row td{background:#F8FBFE;font-weight:700;color:#0B1C3D;font-size:0.95rem}
  .score-table tr.mktcap-row td.gridai-col{background:#00A3E0;color:#FFFFFF}
  .check{color:#00A3E0;font-size:1.3rem;font-weight:700}
  .check-half{color:#8dcae6;font-size:1.3rem;font-weight:700}
  .check-none{color:#ccc;font-size:1.3rem;font-weight:700}
  .score-close{
    text-align:center;max-width:1000px;margin:0 auto;
    font-size:clamp(1.1rem,1.7vw,1.3rem);color:#0B1C3D;font-weight:500;
  }

  /* ===== PER-SHARE ===== */
  .per-share{background:#F8FBFE}
  .ps-top{
    display:grid;grid-template-columns:1fr 1fr;gap:2rem;
    max-width:1000px;margin:0 auto 2rem;
  }
  .ps-card{
    background:#FFFFFF;border-radius:14px;padding:2.5rem 2rem;
    text-align:center;border:1.5px solid #E8F4FC;
  }
  .ps-card.highlight{border:2px solid #00A3E0;background:#0B1C3D;color:#FFFFFF}
  .ps-value{
    font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#00A3E0;
    line-height:1;letter-spacing:-0.03em;margin-bottom:0.75rem;
  }
  .ps-card.highlight .ps-value{color:#00A3E0}
  .ps-label{font-size:0.9rem;color:#111111;font-weight:500;line-height:1.4}
  .ps-card.highlight .ps-label{color:#E8F4FC}

  .ps-implied{
    background:#00A3E0;color:#FFFFFF;text-align:center;
    padding:1.75rem 2rem;border-radius:12px;
    max-width:1000px;margin:0 auto 2.5rem;
    font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:700;
    letter-spacing:0.02em;
    box-shadow:0 10px 30px rgba(0,163,224,0.28);
  }

  .ps-method{
    background:#FFFFFF;border:1.5px solid #E8F4FC;border-radius:14px;
    padding:2rem 2.25rem;max-width:1000px;margin:0 auto 2.5rem;
  }
  .ps-method h3{font-size:0.85rem;font-weight:600;color:#0B1C3D;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.25rem}
  .ps-method ul{list-style:none;padding:0;margin:0}
  .ps-method li{
    position:relative;padding-left:1.4rem;margin-bottom:0.75rem;
    font-size:0.95rem;color:#333;line-height:1.55;
  }
  .ps-method li:last-child{margin-bottom:0}
  .ps-method li::before{
    content:"";position:absolute;left:0;top:0.6rem;
    width:6px;height:6px;border-radius:50%;background:#00A3E0;
  }

  .ps-bars{
    background:#FFFFFF;border:1px solid #E8F4FC;border-radius:14px;
    padding:2rem;max-width:1000px;margin:0 auto 2.5rem;
    display:flex;flex-direction:column;gap:0.9rem;
  }
  .ps-bar-row{display:grid;grid-template-columns:180px 1fr auto;gap:1rem;align-items:center}
  .ps-bar-label{font-size:0.9rem;font-weight:500;color:#111111}
  .ps-bar-track{background:#F8FBFE;border-radius:6px;height:24px;overflow:hidden}
  .ps-bar-fill{height:100%;background:linear-gradient(90deg,#0B1C3D 0%,#1a3a6e 100%);border-radius:6px}
  .ps-bar-fill.gridai{background:linear-gradient(90deg,#00A3E0 0%,#0089bd 100%)}
  .ps-bar-value{font-size:0.9rem;font-weight:700;color:#0B1C3D;min-width:90px;text-align:right}
  .ps-bar-row.gridai .ps-bar-label,.ps-bar-row.gridai .ps-bar-value{color:#00A3E0}

  .ps-close{
    text-align:center;max-width:1000px;margin:0 auto;
    font-size:clamp(1.05rem,1.6vw,1.2rem);color:#0B1C3D;font-weight:500;
  }

  @media (max-width:960px){
    .val-gap-grid{grid-template-columns:1fr}
    .prog-chart{grid-template-columns:repeat(4,1fr);min-height:auto}
    .prog-step{margin-bottom:1.5rem}
    .ps-top{grid-template-columns:1fr}
    .comp-bar-row,.ps-bar-row{grid-template-columns:130px 1fr auto;gap:0.5rem}
    .comp-bar-label,.ps-bar-label{font-size:0.8rem}
  }
  @media (max-width:600px){
    .prog-chart{grid-template-columns:repeat(2,1fr)}
    .inv-case-hero{min-height:auto;padding:7rem 1.25rem 4rem}
    .prog-label{min-height:auto}
  }

/* ── extracted 2026-08-07T18:32:34.831Z ── */
/* ===== CONTACT HERO ===== */
  .contact-hero{
    position:relative;min-height:60vh;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
    background:linear-gradient(135deg,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.55) 100%),url('../images/contact-hero.jpg') center/cover no-repeat;
    color:#FFFFFF;overflow:hidden;
  }
  .contact-hero::after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,0.22) 0%,transparent 60%);
    pointer-events:none;
  }
  .contact-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
  .contact-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:1rem}
  .contact-hero-tagline{color:#FFFFFF;font-size:clamp(1.05rem,1.6vw,1.35rem);opacity:0.95;font-weight:400}

  /* ===== CONTACT SECTION ===== */
  .contact-section{background:#FFFFFF}
  .contact-grid{
    display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;
    max-width:1200px;margin:0 auto;align-items:start;
  }
  .contact-info h2{margin-bottom:1.25rem;font-weight:400}
  .contact-info p{color:#333;margin-bottom:1.5rem}
  .contact-note{
    margin-top:1.5rem;padding:1.15rem 1.25rem;
    background:#F8FBFE;border-left:4px solid #00A3E0;border-radius:8px;
    font-size:0.92rem;color:#0B1C3D;
  }

  .contact-form{
    background:#FFFFFF;border:1.5px solid #E8F4FC;border-radius:14px;
    padding:2.25rem;
    box-shadow:0 6px 24px rgba(11,28,61,0.05);
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.1rem}
  .form-field{display:flex;flex-direction:column;margin-bottom:1.1rem}
  .form-field label{
    font-size:0.78rem;font-weight:600;color:#0B1C3D;
    letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.5rem;
  }
  .form-field input,
  .form-field select,
  .form-field textarea{
    font-family:'Poppins',sans-serif;font-size:0.95rem;color:#111111;
    padding:0.85rem 1rem;border:1.5px solid #E8F4FC;border-radius:6px;
    background:#FFFFFF;transition:border-color 0.2s ease,box-shadow 0.2s ease;
    width:100%;
  }
  .form-field input:focus,
  .form-field select:focus,
  .form-field textarea:focus{
    outline:none;border-color:#00A3E0;
    box-shadow:0 0 0 3px rgba(0,163,224,0.15);
  }
  .form-field textarea{resize:vertical;min-height:140px}
  .form-submit{width:100%;margin-top:0.5rem}
  .form-msg{
    display:none;margin-top:1rem;padding:0.9rem 1rem;border-radius:6px;
    background:#E8F4FC;color:#0B1C3D;font-size:0.9rem;font-weight:500;
  }
  .form-msg.visible{display:block}

  /* ===== LOCATION SECTION ===== */
  .locations{background:#FFFFFF;text-align:center}
  .locations-head{max-width:900px;margin:0 auto 3.5rem}
  .locations-head h2{font-weight:400}
  .locations-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;
    max-width:860px;margin:0 auto;text-align:left;
  }
  .location-card{
    background:#FFFFFF;border:1.5px solid #E8F4FC;border-radius:14px;
    overflow:hidden;display:flex;flex-direction:column;
    transition:transform 0.25s ease,box-shadow 0.25s ease;
  }
  .location-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(11,28,61,0.1)}
  .location-body{padding:1.75rem 1.75rem 1.25rem}
  .location-city{
    font-size:1.15rem;font-weight:600;color:#0B1C3D;
    margin-bottom:0.75rem;letter-spacing:-0.01em;
  }
  .location-address{font-size:0.95rem;color:#333;line-height:1.6;margin:0}
  .location-map{
    width:100%;height:220px;border:0;display:block;
    border-top:1px solid #E8F4FC;
  }

  @media (max-width:960px){
    .contact-grid{grid-template-columns:1fr;gap:2.5rem}
    .locations-grid{grid-template-columns:1fr}
  }
  @media (max-width:600px){
    .contact-hero{min-height:auto;padding:7rem 1.25rem 4rem}
    .form-row{grid-template-columns:1fr;gap:0;margin-bottom:0}
    .contact-form{padding:1.75rem 1.5rem}
  }

/* ═══════════════════════════════════════════════════════════════
   PROJECT PAGE — slide-derived sections
   slide21 = Why Wyoming · slide6 = Nuclear Edge
   slide7  = Combined Solution · slide8 = First EAGL-1 Deployment
   ═══════════════════════════════════════════════════════════════ */

.pj{
  --pj-blue:#377AEC;
  --pj-navy:#182940;
  --pj-ink:#1B2C41;
  --pj-fill:#D0E4FA;
  --pj-fill-soft:#E7EFFD;
}

/* ── Shared head: pill + title left, intro paragraph right ── */
.pj-head{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:start;text-align:left;margin-bottom:3.5rem}
.pj-head .pill{grid-column:1;grid-row:1;justify-self:start;background:var(--pj-blue);font-weight:700;margin-bottom:0.9rem}
.pj-title{grid-column:1;grid-row:2;margin:0;font-size:clamp(1.8rem,2.7vw,2.25rem);font-weight:400;line-height:1.18;color:#000000;letter-spacing:-0.02em}
.pj-head > p{grid-column:2;grid-row:2;margin-top:0.35rem;font-size:1.05rem;line-height:1.55;color:var(--pj-ink)}
.pj-head--light .pj-title,.pj-head--light > p{color:#FFFFFF}
/* Slide-accurate line breaks; collapse to natural wrapping on narrow screens */
.pj-br{display:inline}
@media (max-width:860px){.pj-br{display:none}}

/* ══ WHY WYOMING (slide21) ══════════════════════════════════ */
.pj-wyoming{
  position:relative;padding:6rem 0 4.5rem;
  background:linear-gradient(180deg,rgba(20,32,50,0.55) 0%,rgba(20,32,50,0.22) 30%,rgba(255,255,255,0.10) 100%),
             url('../images/infrastructure-bg.jpg') center/cover no-repeat;
  color:#FFFFFF;
}
.pj-wyoming .container{position:relative;z-index:2}
.pj-wyoming .pj-head{grid-template-columns:1.36fr 1fr}
.pj-wyoming .pj-title{font-size:clamp(1.7rem,2.35vw,2.05rem)}
.pj-wyoming .pj-title{text-shadow:0 2px 18px rgba(10,18,30,0.45)}
.pj-wyoming .pj-head > p{text-shadow:0 2px 14px rgba(10,18,30,0.45)}

.wy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.wy-card{
  position:relative;
  background:rgba(255,255,255,0.86);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:14px;overflow:hidden;
  padding:1.9rem 1.9rem 2rem 2.4rem;
  transition:transform 0.25s ease,background 0.25s ease;
}
.wy-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--pj-blue)}
.wy-card:hover{transform:translateY(-4px);background:rgba(255,255,255,0.93)}
.wy-num{font-size:3.4rem;font-weight:700;color:var(--pj-blue);line-height:1;letter-spacing:-0.04em;margin-bottom:0.5rem}
.wy-card h3{font-size:1.35rem;font-weight:400;color:#111111;line-height:1.25;margin-bottom:1rem;letter-spacing:-0.01em}
.wy-card h3 sup{font-size:0.55em;top:-0.6em}
.wy-card ul{list-style:none;padding:0;margin:0}
.wy-card li{position:relative;padding-left:1.15rem;margin-bottom:0.5rem;font-size:0.95rem;line-height:1.5;color:var(--pj-ink)}
.wy-card li:last-child{margin-bottom:0}
.wy-card li::before{content:"•";position:absolute;left:0.1rem;top:-0.05rem;color:var(--pj-ink);font-weight:700}
.wy-card li strong{font-weight:700;color:#111111}
.wy-footnote{margin-top:1.6rem;font-size:0.85rem;color:#FFFFFF;opacity:0.92;text-shadow:0 1px 10px rgba(10,18,30,0.5)}

/* ══ THE NUCLEAR EDGE (slide6) ══════════════════════════════ */
.pj-nuclear{background:#FFFFFF}
.ne-grid{display:grid;grid-template-columns:0.82fr 1fr;gap:1.75rem;align-items:start}

/* Left — dark reactor card */
.ne-reactor{background:var(--pj-navy);color:#FFFFFF;border-radius:20px;padding:2.5rem 2.25rem 2.25rem;display:flex;flex-direction:column;height:100%}
.ne-eyebrow{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:#7FA9F5;margin-bottom:1.4rem}
.ne-reactor-title{color:#FFFFFF;font-weight:400;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.1;margin:0 0 0.9rem;letter-spacing:-0.02em}
.ne-reactor-title strong{font-weight:700}
.ne-reactor-sub{color:#C7D5E8;font-size:1.02rem;margin-bottom:2.4rem}
.ne-stats{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2rem;margin-bottom:2.2rem}
.ne-stat-value{font-size:clamp(1.5rem,2.4vw,2.05rem);font-weight:700;color:#7FA9F5;line-height:1.05;letter-spacing:-0.02em;margin-bottom:0.6rem}
.ne-stat-label{font-size:0.95rem;line-height:1.5;color:#D5DFEE}
.ne-reactor-note{font-size:0.98rem;line-height:1.6;color:#D5DFEE;margin-bottom:1.75rem}
.ne-alliance{margin-top:auto;background:var(--pj-blue);color:#FFFFFF;text-align:center;border-radius:10px;padding:1.05rem 1.5rem;font-size:1.02rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase}

/* Right — four proof points */
.ne-points{display:flex;flex-direction:column;gap:1.1rem;height:100%}
.ne-point{
  position:relative;flex:1;
  display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;align-items:center;
  background:#FFFFFF;border:1.5px solid var(--pj-blue);border-radius:16px;
  padding:1.6rem 1.9rem;
  transition:transform 0.25s ease,box-shadow 0.25s ease;
}
.ne-point:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(55,122,236,0.16)}
.ne-point-icon{width:78px;height:78px;border-radius:50%;background:var(--pj-fill);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ne-point-icon img{width:78px;height:78px;object-fit:contain;border-radius:50%}
.ne-point-body h3{font-size:1.45rem;font-weight:400;color:#111111;margin:0 0 0.6rem;line-height:1.2;letter-spacing:-0.01em;padding-right:8rem}
.ne-point-body p{font-size:0.97rem;line-height:1.55;color:var(--pj-ink);margin:0}
.ne-badge{
  position:absolute;top:1.5rem;right:1.6rem;
  background:var(--pj-fill);color:var(--pj-blue);
  font-size:0.72rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;
  padding:0.45rem 0.95rem;border-radius:6px;white-space:nowrap;
}

/* ══ THE COMBINED SOLUTION (slide7) ═════════════════════════ */
.pj-combined{background:#FFFFFF;padding-bottom:0}
.cs-head{display:grid;grid-template-columns:1fr 1.15fr;column-gap:3.5rem;align-items:center;margin-bottom:3.25rem}
.cs-title{font-size:clamp(1.4rem,1.9vw,1.7rem);font-weight:700;line-height:1.2;color:#111111;margin:0;letter-spacing:-0.02em}
.cs-head-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cs-stat{border-left:6px solid var(--pj-blue);padding-left:1.15rem}
.cs-stat-value{white-space:nowrap;font-size:clamp(1.6rem,2.6vw,2.45rem);font-weight:700;color:#111111;line-height:1.05;letter-spacing:-0.03em;margin-bottom:0.55rem}
.cs-stat-label{font-size:0.88rem;color:var(--pj-ink);line-height:1.35}

.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-bottom:4rem}
.cs-card{border:1.5px solid var(--pj-blue);border-radius:16px;overflow:hidden;background:#FFFFFF;display:flex;flex-direction:column;transition:transform 0.25s ease,box-shadow 0.25s ease}
.cs-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(55,122,236,0.16)}
.cs-card--accent{background:linear-gradient(180deg,#FFFFFF 0%,#DCE9FB 100%)}
.cs-card-title{font-size:clamp(1.35rem,2vw,1.75rem);font-weight:400;color:#111111;text-transform:uppercase;letter-spacing:-0.01em;line-height:1.1;margin:0;padding:1.6rem 1.75rem 1.2rem}
.cs-card-band{background:var(--pj-fill);color:var(--pj-ink);text-align:center;font-size:1rem;padding:0.85rem 1.25rem;line-height:1.35}
.cs-card--accent .cs-card-band{background:transparent}
.cs-list{list-style:none;margin:0;padding:1.9rem 1.75rem 2.25rem}
.cs-list li{margin-bottom:1.5rem}
.cs-list li:last-child{margin-bottom:0}
.cs-val{display:block;font-size:1.5rem;font-weight:700;color:var(--pj-blue);line-height:1.15;letter-spacing:-0.02em;margin-bottom:0.25rem}
.cs-desc{display:block;font-size:0.97rem;line-height:1.5;color:var(--pj-ink)}
.cs-closer{background:var(--pj-fill);color:var(--pj-ink);text-align:center;padding:2.4rem 2rem;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.4}

/* ══ FIRST EAGL-1 DEPLOYMENT (slide8) ═══════════════════════ */
.pj-deploy{background:#FFFFFF}
.dp-label{display:block;font-size:0.95rem;font-weight:400;letter-spacing:0.06em;text-transform:uppercase;color:#111111;margin-bottom:0.7rem}
.dp-rule{display:block;height:7px;background:var(--pj-blue);border-radius:2px;margin-bottom:1.5rem}
.dp-rule--full{width:100%}

/* Deployment path row */
.dp-block{display:grid;grid-template-columns:1.12fr 0.88fr;column-gap:1.75rem;align-items:end;margin-bottom:3rem}
.dp-phases{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;column-gap:1rem}
.dp-phase{border-radius:12px;padding:1.5rem 1.6rem;color:#FFFFFF;display:flex;flex-direction:column;justify-content:center}
.dp-phase--now{background:var(--pj-blue)}
.dp-phase--next{background:var(--pj-navy)}
.dp-phase-tag{display:block;font-size:0.78rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:0.7rem}
.dp-phase h3{color:#FFFFFF;font-weight:400;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.15;margin:0 0 0.6rem;letter-spacing:-0.01em}
.dp-phase p{font-size:0.95rem;color:rgba(255,255,255,0.88);margin:0}
.dp-arrow{align-self:center;width:44px;height:14px;background:var(--pj-blue);clip-path:polygon(0% 36%,70% 36%,70% 0%,100% 50%,70% 100%,70% 64%,0% 64%)}
.dp-partner{border:1.5px solid var(--pj-blue);border-radius:12px;padding:1.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:100%}
.dp-partner-label{font-size:0.85rem;color:var(--pj-blue);letter-spacing:0.02em;flex-shrink:0}
.dp-partner img{width:clamp(180px,20vw,300px);height:auto}

/* Pro forma metrics */
.dp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-bottom:3rem}
.dp-metric{border:1.5px solid var(--pj-blue);border-radius:10px;padding:1.3rem 1.5rem 1.5rem}
.dp-metric-label{display:block;font-size:0.8rem;letter-spacing:0.05em;text-transform:uppercase;color:#111111;margin-bottom:0.7rem}
.dp-metric-value{font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:700;color:#111111;line-height:1;letter-spacing:-0.03em;margin-bottom:0.7rem}
.dp-metric-value span{font-size:0.5em;font-weight:700;letter-spacing:-0.01em}
.dp-metric p{font-size:0.95rem;color:var(--pj-ink);margin:0}

/* Implied valuation */
.dp-valuation{
  display:grid;grid-template-columns:auto 0.9fr 1.85fr;align-items:center;column-gap:2rem;
  background:linear-gradient(100deg,#DCE9FB 0%,#EDF3FE 55%,#FFFFFF 100%);
  border-radius:12px;padding:1.9rem 2rem;
}
.dp-val-label{display:block;font-size:0.82rem;letter-spacing:0.05em;text-transform:uppercase;color:#111111;margin-bottom:0.6rem}
.dp-val-figure{font-size:clamp(2.4rem,4.6vw,4rem);font-weight:700;color:#111111;line-height:1;letter-spacing:-0.04em}
.dp-val-figure span{font-size:0.45em}
.dp-val-figure--sm{font-size:clamp(2rem,3.6vw,3.1rem)}
.dp-val-note{font-size:1rem;line-height:1.5;color:var(--pj-ink);margin:0}
.dp-val-card{background:#FFFFFF;border:1.5px solid var(--pj-blue);border-radius:10px;padding:1.4rem 1.6rem;display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;align-items:center}
.dp-val-card .dp-val-label{grid-column:1;margin-bottom:0.5rem}
.dp-val-card .dp-val-figure{grid-column:1}
.dp-val-card p{grid-column:2;grid-row:1 / span 2;font-size:0.95rem;line-height:1.5;color:var(--pj-ink);margin:0}

/* ══ RESPONSIVE ═════════════════════════════════════════════ */
@media (max-width:1100px){
  .wy-grid,.cs-grid,.dp-metrics{grid-template-columns:repeat(2,1fr)}
  .ne-grid{grid-template-columns:1fr}
  .ne-point-body h3{padding-right:0}
  .ne-badge{position:static;display:inline-block;margin-top:0.9rem;grid-column:2}
  .ne-point{grid-template-columns:auto 1fr;align-items:start}
  .dp-block{grid-template-columns:1fr;row-gap:2rem;align-items:stretch}
  .dp-valuation{grid-template-columns:1fr;row-gap:1.5rem}
  .dp-val-card{grid-template-columns:1fr}
  .dp-val-card p{grid-column:1;grid-row:auto;margin-top:0.7rem}
}
@media (max-width:860px){
  .pj-head,.cs-head{grid-template-columns:1fr;column-gap:0}
  .pj-head .pill,.pj-title,.pj-head > p{grid-column:1;grid-row:auto}
  .pj-title{margin-bottom:1.1rem}
  .pj-head > p{margin-top:0}
  .cs-head-stats{margin-top:2rem}
}
@media (max-width:680px){
  .wy-grid,.cs-grid,.dp-metrics,.cs-head-stats{grid-template-columns:1fr}
  .ne-stats{grid-template-columns:1fr;gap:1.5rem}
  .dp-phases{grid-template-columns:1fr;row-gap:1rem}
  .dp-arrow{transform:rotate(90deg);justify-self:center}
  .dp-partner{flex-direction:column;align-items:flex-start}
  .ne-reactor{padding:2rem 1.5rem}
  .wy-card{padding:1.6rem 1.4rem 1.75rem 1.9rem}
}


/* ===== PLATFORM PAGE ===== */
.platform-hero{
  position:relative;min-height:62vh;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:8rem clamp(1.5rem,5vw,4rem) 5rem;
  background:linear-gradient(135deg,rgba(11,28,61,0.78) 0%,rgba(11,28,61,0.58) 100%),url('../images/infrastructure-bg.jpg') center/cover no-repeat;
  color:#FFFFFF;overflow:hidden;
}
.platform-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%,rgba(0,163,224,0.22) 0%,transparent 60%);
  pointer-events:none;
}
.platform-hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
.platform-hero h1{color:#FFFFFF;font-weight:400;margin-bottom:1.25rem;font-size:clamp(2.2rem,4.5vw,3.6rem)}
.platform-hero-tagline{color:#FFFFFF;font-size:clamp(1.02rem,1.6vw,1.2rem);opacity:0.95;line-height:1.65;max-width:780px;margin:0 auto;font-weight:400}

.plat-about{background:#FFFFFF;padding:5.5rem 0}
.plat-about-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:3.5rem;align-items:center;
}
.plat-about-copy .pill{margin-bottom:1.1rem}
.plat-about-copy h2{
  font-weight:400;font-size:clamp(1.75rem,3vw,2.4rem);margin:0 0 1.25rem;line-height:1.2;
}
.plat-lead{font-size:1.08rem;color:#333;line-height:1.7;margin:0 0 1.35rem}
.plat-bullets{list-style:none;padding:0;margin:0 0 1.35rem}
.plat-bullets li{
  position:relative;padding-left:1.25rem;margin-bottom:0.9rem;
  font-size:0.98rem;color:#333;line-height:1.6;
}
.plat-bullets li::before{
  content:"";position:absolute;left:0;top:0.55rem;
  width:6px;height:6px;border-radius:50%;background:#047bf5;
}
.plat-quote{
  font-size:1.15rem;font-weight:500;color:#0B1C3D;
  border-left:4px solid #047bf5;padding:0.75rem 0 0.75rem 1.25rem;
  margin:1.5rem 0 0;line-height:1.5;
}
.plat-about-visual img{width:100%;height:auto}

.plat-challenge{background:#F8FBFE;padding:5.5rem 0}
.plat-section-head{max-width:800px;margin:0 0 2.75rem;text-align:left}
.plat-section-head .pill{margin-bottom:1rem}
.plat-section-head h2{
  font-weight:400;font-size:clamp(1.7rem,3vw,2.35rem);margin:0 0 0.85rem;line-height:1.2;
}
.plat-section-sub{font-size:1.05rem;color:#444;line-height:1.65;margin:0;max-width:640px}

.plat-card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;
}
.plat-card{
  background:#FFFFFF;border:1.5px solid #E0EEF9;border-radius:14px;
  padding:1.85rem 1.65rem;
  transition:transform 0.25s ease,box-shadow 0.25s ease;
}
.plat-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(11,28,61,0.08)}
.plat-card h3{
  font-size:1.2rem;font-weight:600;color:#111;margin:0 0 0.75rem;
}
.plat-card p{font-size:0.95rem;color:#444;line-height:1.6;margin:0}

.plat-callout{
  background:#E8F4FC;border-radius:12px;padding:1.5rem 1.75rem;
  font-size:1.05rem;color:#0B1C3D;font-weight:500;line-height:1.6;
}

.plat-solutions{background:#FFFFFF;padding:5.5rem 0}
.plat-solution-list{display:flex;flex-direction:column;gap:1.5rem}
.plat-solution{
  display:grid;grid-template-columns:80px 1fr;gap:1.5rem;
  border:1.5px solid #E0EEF9;border-radius:14px;padding:2rem 2rem;
  transition:border-color 0.25s ease,box-shadow 0.25s ease;
}
.plat-solution:hover{border-color:#047bf5;box-shadow:0 10px 28px rgba(4,123,245,0.1)}
.plat-solution-label{
  font-size:1.75rem;font-weight:700;color:#047bf5;line-height:1;letter-spacing:-0.02em;
}
.plat-solution-body h3{
  font-size:1.35rem;font-weight:600;color:#111;margin:0 0 0.75rem;
}
.plat-solution-body p{
  font-size:0.98rem;color:#444;line-height:1.65;margin:0 0 0.75rem;
}
.plat-solution-body p:last-child{margin-bottom:0}

.plat-tech{background:#F8FBFE;padding:5.5rem 0}
.plat-tech-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.plat-tech-card{
  background:#FFFFFF;border-left:5px solid #047bf5;border-radius:0 12px 12px 0;
  padding:1.75rem 1.6rem;
}
.plat-tech-card h3{
  font-size:1.15rem;font-weight:600;color:#111;margin:0 0 0.7rem;
}
.plat-tech-card p{font-size:0.95rem;color:#444;line-height:1.6;margin:0}

.plat-impact{background:#FFFFFF;padding:5.5rem 0}

@media (max-width:960px){
  .plat-about-grid,.plat-card-grid,.plat-tech-grid{grid-template-columns:1fr;gap:1.75rem}
  .plat-solution{grid-template-columns:1fr;gap:0.75rem}
  .plat-solution-label{font-size:1.35rem}
}
@media (max-width:600px){
  .platform-hero{min-height:auto;padding:7rem 1.25rem 4rem}
  .plat-solution{padding:1.5rem 1.25rem}
}


/* ===== SITE-WIDE PRELOADER + SCROLL-TOP + COOKIE (match platform page) ===== */
#preloader{
  position:fixed;inset:0;z-index:99999;
}
.ctn-preloader{
  align-items:center;
  display:flex;
  height:100%;
  justify-content:center;
  position:fixed;
  left:0;top:0;
  width:100%;
  z-index:100;
  background:#fff;
}
.ctn-preloader .animation-preloader{
  position:absolute;z-index:100;
}
.ctn-preloader .animation-preloader .spinner{
  animation:spinner 1s infinite linear;
  border-radius:50%;
  border:4px solid rgba(4,123,245,0.15);
  border-top-color:#047bf5;
  height:90px;
  margin:0 auto 45px auto;
  width:90px;
}
.ctn-preloader .animation-preloader .txt-loading{
  text-align:center;user-select:none;
}
.ctn-preloader .animation-preloader .txt-loading img{
  width:140px;height:auto;display:block;margin:0 auto;
}
.loaded .animation-preloader{
  opacity:0;transition:0.3s ease-out;
}
@keyframes spinner{
  to{transform:rotateZ(360deg)}
}
@media screen and (max-width:767px){
  .ctn-preloader .animation-preloader .spinner{height:7em;width:7em}
}
@media screen and (max-width:500px){
  .ctn-preloader .animation-preloader .spinner{height:6em;width:6em}
}

.scroll-top,
.scroll-top-home{
  width:45px;
  height:45px;
  position:fixed;
  bottom:30px;
  right:30px;
  z-index:99;
  text-align:center;
  color:#fff;
  font-size:22px;
  display:none;
  cursor:pointer;
  border-radius:50%;
  line-height:40px;
  padding:7px 12px;
  background:#111;
  border:none;
}
.scroll-top-home:before,
.scroll-top:before{
  content:url(../images/icon/icon-top.svg);
}
.scroll-top-home:hover,
.scroll-top:hover{
  background-color:#111;
}
.scroll-top-home:after,
.scroll-top:after{
  position:absolute;
  z-index:-1;
  content:"";
  top:100%;
  left:5%;
  height:10px;
  width:90%;
  opacity:1;
  background:radial-gradient(ellipse at center,rgba(0,0,0,0.25) 0,rgba(0,0,0,0) 80%);
}

/* Cookie alert (from platform) */
.cookiealert{
  position:fixed;
  bottom:0;left:0;width:100%;
  margin:0 !important;
  z-index:999;
  opacity:0;
  border-radius:0;
  transform:translateY(100%);
  transition:all 0.5s ease-out;
  color:#ecf0f1;
  padding:14px 5%;
  background:#212327;
  font-family:Poppins,sans-serif;
  font-size:0.9rem;
  line-height:1.5;
}
.cookiealert.show{
  opacity:1;
  transform:translateY(0);
  transition-delay:0.3s;
}
.cookiealert a{
  color:#7eb6ff;
  text-decoration:underline;
}
.cookiealert .cookies-text{
  max-width:1100px;
  margin:0 auto;
}
.cookiealert .acceptcookies,
.cookiealert .rejectcookies{
  margin-left:10px;
  vertical-align:baseline;
  background-color:#047bf5;
  border-color:#047bf5;
  border:none;
  border-radius:20px;
  padding:4px 12px;
  color:#fff;
  font-family:inherit;
  font-size:0.85rem;
  cursor:pointer;
}
.cookiealert .acceptcookies:hover,
.cookiealert .rejectcookies:hover{
  background-color:#0369d9;
}


/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE REWORK — 2026-08-20
   1. Hero (left-aligned variant)
   2. Pronghorn Power Campus
   3. GridAI Model relay animation
   5. About accordions
   +  Scroll animation primitives (typewriter / count-up)
   ═══════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────
   1. HERO — left aligned, no white stats panel
   ─────────────────────────────────────────────── */
/* The base .hero rule sets align-items:center (a hangover from the old
   centred layout) which shrink-wraps and centres both flex children.
   Stretch them instead so the left edge is honoured. */
.hero--left{
  align-items:stretch;
  padding-left:0;
  padding-right:0;
}

/* Hero copy and the stats row share the exact gutter of .container
   (max-width 1280 + 2rem padding) so the whole page has one left edge. */
.hero--left .hero-content,
.hero--left .stats-bar{
  width:100%;
  max-width:1920px;
  margin-left:auto;
  margin-right:auto;
}

/* Uses images/home-hero.jpg when present; falls back to the existing
   gridai-home-hero.jpg layer beneath it if that file is missing. */
.hero--left .hero-background{
  background:
    url('../images/home-hero.jpg') center/cover no-repeat,
    #0B1C3D url('../images/gridai-home-hero.jpg') center/cover no-repeat;
}

/* Bottom-up scrim replaces the old white panel so white text stays legible */
.hero--left .hero-background::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.hero--left .hero-content{
  text-align:left;
  padding:clamp(2rem,8vh,5rem) 2rem 0;
}

.hero--left .hero-title{
  max-width:16ch;
}

.hero--left .hero-actions{
  justify-content:flex-start;
}

/* Stats bar — transparent, white, left aligned */
.hero--left .stats-bar{
  justify-content:flex-start;
  flex-wrap:wrap;
  margin-bottom:clamp(1.5rem,4vh,3rem);
  padding:clamp(1.25rem,2.5vw,1.75rem) 2rem 0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-radius:0;
  border-top:0;
  box-shadow:none;
}

/* Hairline sits inside the gutter so it lines up with the copy above it */
.hero--left .stats-bar::before{
  content:"";
  position:absolute;
  top:0;
  left:2rem;
  right:2rem;
  height:1px;
  background:rgba(255,255,255,0.3);
}

.hero--left .stat-item{
  align-items:flex-start;
  text-align:left;
  padding:0 clamp(1.25rem,3vw,2.75rem);
}

.hero--left .stat-item:first-child{
  padding-left:0;
}

.hero--left .stat-label{
  color:#FFFFFF;
  opacity:0.72;
  text-shadow:0 1px 12px rgba(6,17,38,0.55);
}

.hero--left .stat-value{
  color:#FFFFFF;
  text-shadow:0 2px 16px rgba(6,17,38,0.55);
}

.hero--left .stat-value-group{
  align-items:flex-start;
}

.hero--left .stat-divider{
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,0.55) 22%,rgba(255,255,255,0.55) 78%,transparent 100%);
  opacity:1;
}

@media (max-width:900px){
  .hero--left .stats-bar{
    gap:1.25rem 0;
    padding-top:1.25rem;
  }
  .hero--left .stat-item{
    align-items:flex-start;
    padding-left:0;
  }
  .hero--left .stat-value-group{
    align-items:flex-start;
  }
}

@media (max-width:600px){
  .hero--left .hero-content{padding-left:1.25rem;padding-right:1.25rem}
  .hero--left .stats-bar{padding-left:1.25rem;padding-right:1.25rem}
  .hero--left .stats-bar::before{left:1.25rem;right:1.25rem}
}

@media (max-width:480px){
  .hero--left .stat-item,
  .hero--left .stat-item--wide{
    padding-left:0;
    padding-right:0;
  }
  .hero--left .stat-value-group{
    flex-direction:column;
    gap:0.25rem;
  }
}


/* ───────────────────────────────────────────────
   2. PRONGHORN POWER CAMPUS
   ─────────────────────────────────────────────── */
.pronghorn{
  background:#FFFFFF;
  text-align:left;
  --gm-blue:#3779EC;
  --gm-navy:#182840;
  --gm-ink:#1B2C41;
}

.pronghorn .pp-head{
  margin:0 0 3rem;
}

/* Stat row */
.pp-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.75rem;
  margin-bottom:3rem;
}

.pp-stat{
  border-left:6px solid var(--gm-blue);
  padding-left:1.15rem;
}

.pp-stat-value{
  display:block;
  white-space:nowrap;
  font-size:clamp(1.55rem,2.6vw,2.45rem);
  font-weight:700;
  color:#111111;
  line-height:1.05;
  letter-spacing:-0.03em;
  margin-bottom:0.55rem;
}

.pp-stat-label{
  display:block;
  font-size:0.9rem;
  line-height:1.4;
  color:var(--gm-ink);
}

/* Supporting points */
.pp-points{
  list-style:none;
  margin:0 0 2.5rem;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.25rem;
}

.pp-point{
  position:relative;
  border:1.5px solid var(--gm-blue);
  border-radius:14px;
  background:#FFFFFF;
  padding:1.4rem 1.6rem 1.4rem 3.1rem;
  font-size:0.98rem;
  line-height:1.55;
  color:var(--gm-ink);
  transition:transform 0.25s ease,box-shadow 0.25s ease;
}

.pp-point:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 40px rgba(55,121,236,0.16);
}

.pp-point::before{
  content:"";
  position:absolute;
  left:1.4rem;
  top:1.75rem;
  width:14px;
  height:10px;
  background:var(--gm-blue);
  clip-path:polygon(0% 26%,55% 26%,55% 0%,100% 50%,55% 100%,55% 74%,0% 74%);
}

.pp-cta{
  margin-top:0.5rem;
}

@media (max-width:960px){
  .pp-stats{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .pp-points{grid-template-columns:1fr}
}

@media (max-width:600px){
  .pp-stats{grid-template-columns:1fr;gap:1.25rem}
  .pp-stat-value{white-space:normal}
}


/* ───────────────────────────────────────────────
   5. ABOUT — accordions
   ─────────────────────────────────────────────── */
.about-content > p{
  margin-bottom:1.75rem;
}

.acc{
  border-top:1px solid #E1E9F2;
  margin-bottom:2rem;
}

.acc-item{
  border-bottom:1px solid #E1E9F2;
}

.acc-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  list-style:none;
  padding:1.1rem 0;
  font-family:'Poppins',sans-serif;
  font-size:1.05rem;
  font-weight:600;
  color:#111111;
  line-height:1.3;
  transition:color 0.2s ease;
}

.acc-head::-webkit-details-marker{display:none}

.acc-head:hover{color:#047bf5}

.acc-head:focus-visible{
  outline:2px solid #047bf5;
  outline-offset:3px;
  border-radius:4px;
}

/* Plus / minus toggle */
.acc-icon{
  position:relative;
  flex:0 0 auto;
  width:22px;
  height:22px;
  border-radius:50%;
  border:1.5px solid rgba(4,123,245,0.35);
  transition:border-color 0.25s ease,background 0.25s ease;
}

.acc-icon::before,
.acc-icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:2px;
  border-radius:2px;
  background:#047bf5;
  transform:translate(-50%,-50%);
  transition:transform 0.3s ease,background 0.25s ease;
}

/* Vertical stroke of the plus — collapses to nothing when open */
.acc-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.acc-head:hover .acc-icon{border-color:#047bf5;background:rgba(4,123,245,0.08)}

.acc-item[open] > .acc-head{color:#047bf5}

.acc-item[open] > .acc-head .acc-icon{
  border-color:#047bf5;
  background:rgba(4,123,245,0.1);
}

.acc-item[open] > .acc-head .acc-icon::after{
  transform:translate(-50%,-50%) rotate(90deg) scaleX(0);
}

.acc-body{
  overflow:hidden;
  padding:0 0 1.25rem;
}

.acc-body p{
  margin:0;
  font-size:0.98rem;
  line-height:1.65;
  color:#333333;
}

.acc-item[open] > .acc-body{
  animation:accReveal 0.32s ease both;
}

@keyframes accReveal{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}

.about-actions .btn{
  margin-right:0.75rem;
  margin-top:0.5rem;
}


/* ───────────────────────────────────────────────
   SCROLL ANIMATION PRIMITIVES
   All initial "hidden" states are gated behind html.js-anim so the
   page renders fully if JS is unavailable or fails.
   ─────────────────────────────────────────────── */

/* Typewriter */
html.js-anim [data-typewriter]{visibility:hidden}
html.js-anim [data-typewriter].tw-init{visibility:visible}

/* Generic count-up numbers (Pronghorn stats, inline stat mentions —
   anything without its own hero/relay reveal sequence) start hidden
   at the CSS level, synced with html.js-anim rather than any JS
   timing. Some of these sit in blocks with their own separate
   .fade-in reveal that isn't gated the same way anim.js is, so it
   can beat the counter's own observer and flash the real number —
   hiding here removes that race entirely. Fades in, THEN counts. */
html.js-anim .cnt-generic{opacity:0}
html.js-anim .cnt-generic.cnt-in{opacity:1;transition:opacity 0.2s ease}
.tw-w{white-space:nowrap}
.tw-c{visibility:hidden;position:relative}
.tw-c.on{visibility:visible}

@keyframes twBlink{0%,49%{opacity:0.85}50%,100%{opacity:0}}

/* Count-up */
.cnt-run{font-variant-numeric:tabular-nums}

/* ───────────────────────────────────────────────
   3. GRIDAI MODEL — sequential relay
   ─────────────────────────────────────────────── */

/* Arrows must sit behind the cards so they can slide out from underneath */
.platform .step-card{z-index:1}
.platform .step-arrow{z-index:0}

html.js-anim .gm-el{
  opacity:0;
  transform:translateY(10px);
  transition:opacity 0.32s ease,transform 0.32s ease;
}
html.js-anim .gm-el.on{opacity:1;transform:none}

html.js-anim .gm-step{
  opacity:0;
  transform:scale(0.94);
  transition:opacity 0.32s ease,transform 0.32s cubic-bezier(0.2,0.72,0.3,1);
}
html.js-anim .gm-step.on{opacity:1;transform:none}

/* Hover lift is re-enabled only once the card has landed */
html.js-anim .step-card:hover{transform:none;box-shadow:none}
html.js-anim .gm-step.on:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 40px rgba(55,121,236,0.18);
}

html.js-anim .gm-arrow{
  transform:translateY(-50%) translateX(-72px);
  transition:transform 0.3s cubic-bezier(0.25,0.8,0.35,1);
}
html.js-anim .gm-arrow.on{transform:translateY(-50%) translateX(0)}

/* Connector lines below each card */
html.js-anim .steps .step-card::after{
  transform-origin:top center;
  transform:translateX(-50%) scaleY(0);
  transition:transform 0.25s ease;
}
html.js-anim .steps.gm-lines .step-card::after{
  transform:translateX(-50%) scaleY(1);
}

/* Failsafe / reduced motion — reveal everything, no animation */
html.anim-off [data-typewriter],
html.anim-off .gm-el,
html.anim-off .gm-step,
html.anim-off .cnt-generic,
html.anim-off .fade-in{
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
}
html.anim-off .tw-c{visibility:visible !important}
html.anim-off .tw-c.tw-cursor::after{display:none}
html.anim-off .gm-arrow{transform:translateY(-50%) !important}
html.anim-off .steps .step-card::after{transform:translateX(-50%) scaleY(1) !important}
html.anim-off .gm-step:hover{transform:translateY(-4px) !important;box-shadow:0 14px 40px rgba(55,121,236,0.18) !important}


/* ───────────────────────────────────────────────
   HERO — staggered top-down entrance
   Elements drop in from slightly above, in reading order.
   ─────────────────────────────────────────────── */
html.js-anim .hero--left .hero-badge,
html.js-anim .hero--left .hero-eyebrow,
html.js-anim .hero--left .hero-title,
html.js-anim .hero--left .hero-subtitle,
html.js-anim .hero--left .hero-actions,
html.js-anim .hero--left .stat-item{
  opacity:0;
  transform:translateY(-14px);
  /* Quick entrance: the hero should feel loaded, not staged. */
  transition:opacity 0.5s ease,transform 0.5s cubic-bezier(0.16,0.7,0.25,1);
}

html.js-anim .hero--left .hero-badge.on,
html.js-anim .hero--left .hero-eyebrow.on,
html.js-anim .hero--left .hero-title.on,
html.js-anim .hero--left .hero-subtitle.on,
html.js-anim .hero--left .hero-actions.on,
html.js-anim .hero--left .stat-item.on{
  opacity:1;
  transform:none;
}

/* The hairline draws itself out from the left as the stats row arrives */
html.js-anim .hero--left .stats-bar::before{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 0.6s cubic-bezier(0.25,0.8,0.35,1);
}
html.js-anim .hero--left .stats-bar.on::before{
  transform:scaleX(1);
}

html.js-anim .hero--left .stat-divider{
  opacity:0;
  transition:opacity 0.4s ease 0.15s;
}
html.js-anim .hero--left .stats-bar.on .stat-divider{
  opacity:1;
}


/* ───────────────────────────────────────────────
   SOFT MOTION (prefers-reduced-motion)
   Same choreography, faster. Large translations are dropped; the
   typewriter, the count-ups and the pill flip still run — they're
   small, self-contained and finish quickly. The site-wide reduced-
   motion reset kills all
   transitions with *{transition:none!important}, so these
   selectors have to reinstate the fade at higher specificity.
   ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  html.anim-soft .hero--left .hero-badge,
  html.anim-soft .hero--left .hero-eyebrow,
  html.anim-soft .hero--left .hero-title,
  html.anim-soft .hero--left .hero-subtitle,
  html.anim-soft .hero--left .hero-actions,
  html.anim-soft .hero--left .stat-item,
  html.anim-soft .hero--left .stat-divider,
  html.anim-soft .gm-el:not(.pill-flip),
  html.anim-soft .gm-step,
  html.anim-soft .gm-arrow,
  html.anim-soft .fade-in{
    transform:none !important;
    transition:opacity 0.45s ease !important;
  }

  /* Arrows can't slide out from behind a card without movement,
     so they simply fade in place. */
  html.anim-soft .gm-arrow{
    opacity:0;
  }
  html.anim-soft .gm-arrow.on{
    opacity:1;
  }

  html.anim-soft .hero--left .stats-bar::before{
    transform:none !important;
    opacity:0;
    transition:opacity 0.45s ease !important;
  }
  html.anim-soft .hero--left .stats-bar.on::before{
    opacity:1;
  }

  /* Connector lines appear rather than growing. */
  html.anim-soft .steps .step-card::after{
    transform:translateX(-50%) !important;
    opacity:0;
    transition:opacity 0.4s ease !important;
  }
  html.anim-soft .steps.gm-lines .step-card::after{
    opacity:1;
  }

  html.anim-soft .gm-step.on:hover{
    transform:none !important;
  }
}


/* Failsafe additions for the hero sequence */
html.anim-off .hero--left .hero-badge,
html.anim-off .hero--left .hero-eyebrow,
html.anim-off .hero--left .hero-title,
html.anim-off .hero--left .hero-subtitle,
html.anim-off .hero--left .hero-actions,
html.anim-off .hero--left .stat-item,
html.anim-off .hero--left .stat-divider{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}
html.anim-off .hero--left .stats-bar::before{
  transform:scaleX(1) !important;
  opacity:1 !important;
}


/* ───────────────────────────────────────────────
   5b. ABOUT — split layout + image slider
   Copy on the left, accordion-driven image slider on the right,
   on a white ground.
   ─────────────────────────────────────────────── */
.about--split{
  background:#FFFFFF;
  padding-top:6rem;
  padding-bottom:6rem;
}

.about--split .about-grid{
  grid-template-columns:1fr 1fr;
  gap:4.5rem;
  align-items:start;
}

.about--split .about-content{
  max-width:38rem;
}

.about--split .section-title{
  margin-bottom:1.25rem;
}

.about--split .acc{
  border-top:1px solid #E1E9F2;
  margin-bottom:2.25rem;
}

/* Slider ------------------------------------------------------- */
.about-slider{
  position:relative;
}

.about-slides{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:20px;
  overflow:hidden;
  background:#0B1A2E;
  box-shadow:0 24px 60px rgba(11,26,46,0.18);
}

/* Older Safari fallback for aspect-ratio */
@supports not (aspect-ratio: 1 / 1){
  .about-slides{height:0;padding-bottom:100%}
}

.about-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transform:scale(1.04);
  transition:opacity 0.6s ease,transform 0.9s ease;
  pointer-events:none;
}

.about-slide.is-active{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.about-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.about-dots{
  display:flex;
  gap:0.6rem;
  justify-content:center;
  margin-top:1.25rem;
}

.about-dot{
  width:34px;
  height:5px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#D7E2EF;
  cursor:pointer;
  transition:background 0.25s ease,width 0.25s ease;
}

.about-dot:hover{background:#A9C2DE}

.about-dot.is-active{
  background:#047bf5;
  width:52px;
}

.about-dot:focus-visible{
  outline:2px solid #047bf5;
  outline-offset:3px;
}

@media (max-width:960px){
  .about--split .about-grid{
    grid-template-columns:1fr;
    gap:2.75rem;
  }
  .about--split .about-content{max-width:none}
  .about--split{padding-top:4.5rem;padding-bottom:4.5rem}
}


/* ───────────────────────────────────────────────
   PILLS — flip down into place on scroll
   Hinged at the top edge, like a card dropping open.
   ─────────────────────────────────────────────── */
html.js-anim .pill-flip{
  opacity:0;
  transform-origin:top center;
  transform:perspective(700px) rotateX(-92deg);
  transition:opacity 0.25s ease,transform 0.4s cubic-bezier(0.22,0.9,0.28,1.06);
  backface-visibility:hidden;
}

html.js-anim .pill-flip.on{
  opacity:1;
  transform:perspective(700px) rotateX(0deg);
}

/* The GridAI Model pill is also a .gm-el; the flip wins. */
html.js-anim .gm-el.pill-flip{transform:perspective(700px) rotateX(-92deg)}
html.js-anim .gm-el.pill-flip.on{transform:perspective(700px) rotateX(0deg)}

/* Reduced motion keeps the flip — it's a short, contained hinge, not
   parallax or drifting — but plays it faster. The site-wide reduced-
   motion reset kills every transition, so it has to be reinstated here. */
@media (prefers-reduced-motion: reduce){
  html.anim-soft .pill-flip,
  html.anim-soft .gm-el.pill-flip{
    transition:opacity 0.22s ease,transform 0.4s cubic-bezier(0.22,0.9,0.28,1.06) !important;
  }
  html.anim-soft .pill-flip.on,
  html.anim-soft .gm-el.pill-flip.on{
    opacity:1;
    transform:perspective(700px) rotateX(0deg) !important;
  }
}

html.anim-off .pill-flip,
html.anim-off .gm-el.pill-flip{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}


/* The typing cursor still blinks in soft mode — the global reduced-motion
   reset would otherwise strip its animation. */
@media (prefers-reduced-motion: reduce){
  html.anim-soft .tw-c.tw-cursor::after{
    animation:twBlink 0.85s steps(1,end) infinite !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   HEROES — left aligned site-wide  (2026-08-27)
   ═══════════════════════════════════════════════════════════════════
   Every page hero was justify-content:center / text-align:center with
   an auto-centred max-width:900px block. They're now left aligned, so
   the headline sits on the same left edge as the content below it.

   The padding-left max() reproduces .container's gutter without
   nesting a second one: (100% - 1440px)/2 is where .container starts,
   + 2rem of its own padding. Below 1440px that goes negative and the
   2rem floor takes over.

   .hero--left (the homepage) is excluded — it's deliberately
   full-bleed and manages its own gutter on .hero-content/.stats-bar.
   .phr .hero (the campus overview) opts out in css/campus.css for the
   same reason: its .wrap already supplies the gutter.
   ═══════════════════════════════════════════════════════════════════ */
.hero:not(.hero--left),
.about-hero,
.project-hero,
.opp-hero,
.inv-hero,
.news-hero,
.inv-case-hero,
.contact-hero,
.platform-hero{
  justify-content:flex-start;
  text-align:left;
  padding-left:max(2rem,calc((100% - 1440px) / 2 + 2rem));
  padding-right:2rem;
}

.hero:not(.hero--left) .hero-content,
.about-hero-content,
.project-hero-content,
.opp-hero-content,
.inv-hero-content,
.news-hero-content,
.inv-case-hero-content,
.contact-hero-content,
.platform-hero-content{
  margin-left:0;
  margin-right:auto;
}

/* These were centred along with the block they sat in. */
.hero:not(.hero--left) .hero-ctas{justify-content:flex-start}
.platform-hero-tagline{margin-left:0;margin-right:0}

@media (max-width:600px){
  .hero:not(.hero--left),
  .about-hero,
  .project-hero,
  .opp-hero,
  .inv-hero,
  .news-hero,
  .inv-case-hero,
  .contact-hero,
  .platform-hero{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }
}

/* home "Latest Updates & Resources": two cards side by side now that the press list is gone */
.bento.bento--two{grid-template-columns:1fr 1fr;grid-template-rows:auto}
@media (max-width:960px){.bento.bento--two{grid-template-columns:1fr}}


/* ═══════════════════════════════════════════════════════════════════
   HOME HERO v3 — full-bleed under a transparent nav, cinematic scrim,
   gradient headline accent, capability chips, glass stats panel.
   Scoped to body.home / .hero--left so no other page changes.
   ═══════════════════════════════════════════════════════════════════ */

/* Nav floats over the hero until the page scrolls */
body.home #site-nav{position:fixed;top:0;left:0;right:0}
body.home #site-nav:not(.scrolled) .nav-logo-img{filter:brightness(0) invert(1)}
body.home #site-nav:not(.scrolled) .nav-link{color:rgba(255,255,255,.88)}
body.home #site-nav:not(.scrolled) .nav-link:hover,
body.home #site-nav:not(.scrolled) .nav-item.active > .nav-link{color:#fff}
body.home #site-nav:not(.scrolled) .hamburger:not(.open) span{background:#fff}
body.home #site-nav:not(.scrolled) .nav-cta-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body.home #site-nav:not(.scrolled) .nav-cta-btn:hover{background:#fff;color:#0B1C3D;opacity:1}

.hero--left{min-height:100vh;min-height:100svh;padding-top:0;padding-bottom:0;background:#070E1D;isolation:isolate}
.hero--left .hero-background{background:#070E1D url('../images/gridai-home-hero.jpg') center 62%/cover no-repeat;transform-origin:70% 70%;animation:heroDrift 32s ease-in-out infinite alternate}
@keyframes heroDrift{from{transform:scale(1.02)}to{transform:scale(1.12) translate3d(-1.2%,-.8%,0)}}
.hero--left .hero-background::after{background:
  linear-gradient(90deg,rgba(7,14,29,.90) 0%,rgba(7,14,29,.66) 34%,rgba(7,14,29,.16) 66%,rgba(7,14,29,0) 100%),
  linear-gradient(180deg,rgba(7,14,29,.62) 0%,rgba(7,14,29,0) 24%,rgba(7,14,29,0) 56%,rgba(7,14,29,.88) 100%)}
/* faint blue bloom behind the copy */
.hero--left::before{content:"";position:absolute;z-index:1;left:-12%;top:18%;width:60%;height:70%;pointer-events:none;background:radial-gradient(closest-side,rgba(55,122,236,.26),rgba(55,122,236,0))}

.hero--left .hero-content{padding:clamp(6.25rem,17vh,11rem) 2rem 0}

.hero--left .hero-badge{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.5rem 1rem .5rem .85rem;font-size:.72rem;letter-spacing:.18em;margin-bottom:clamp(.9rem,2.4vh,1.6rem)}
.hero--left .hero-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:heroPulse 2.4s ease-out infinite}
@keyframes heroPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.65)}70%,100%{box-shadow:0 0 0 10px rgba(74,222,128,0)}}

.hero--left .hero-eyebrow{display:flex;align-items:center;gap:.9rem;color:#9CC0FF;font-size:clamp(.68rem,.95vw,.82rem);font-weight:600;letter-spacing:.24em;margin-bottom:1.1rem;text-shadow:none}
.hero--left .hero-eyebrow::before{content:"";flex:0 0 38px;height:1px;background:#9CC0FF}
/* phones: the label wraps to several lines, which left the rule floating beside the middle of the
   block and pushed the text in. Drop the rule so the label lines up with the headline. */
@media (max-width:640px){
  .hero--left .hero-eyebrow{display:block;letter-spacing:.2em;line-height:1.7}
  .hero--left .hero-eyebrow::before{content:none}
}

.hero--left .hero-title{font-size:clamp(2.4rem,min(6.4vw,10.5vh),5.75rem);font-weight:700;letter-spacing:-.035em;line-height:1.02;max-width:13ch;margin-bottom:clamp(1rem,2.4vh,1.6rem);text-shadow:0 10px 50px rgba(0,0,0,.45)}
/* "Hyperscale AI" (the last two words the typewriter emits) */
.hero--left .hero-title .tw-w:nth-last-child(-n+3){background:linear-gradient(92deg,#6FA8FF 0%,#C9DEFF 55%,#FFD3A3 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}

.hero--left .hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;padding:0;margin:0 0 clamp(1.2rem,3vh,2.2rem);text-shadow:none}
.hero--left .hero-chips li{font-size:clamp(.78rem,1vw,.92rem);font-weight:500;letter-spacing:.04em;color:#EAF1FF;padding:.5rem .95rem;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero--left .hero-chips li:last-child{border-color:rgba(255,196,138,.6);color:#FFE2C2}

.hero--left .hero-actions{gap:.9rem}
.hero--left .btn{display:inline-flex;align-items:center;gap:.6rem;padding:1.05rem 1.7rem;border-radius:10px;font-size:.98rem;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.hero--left .btn-primary{background:linear-gradient(180deg,#5B95F5,#2F6FE4);border:1px solid rgba(255,255,255,.22);box-shadow:0 14px 40px rgba(47,111,228,.5),inset 0 1px 0 rgba(255,255,255,.3)}
.hero--left .btn-primary:hover{background:linear-gradient(180deg,#6EA3FA,#3B7AEB);transform:translateY(-2px);box-shadow:0 20px 50px rgba(47,111,228,.65),inset 0 1px 0 rgba(255,255,255,.3)}
.hero--left .btn-arrow{display:inline-block;transition:transform .2s ease}
.hero--left .btn-primary:hover .btn-arrow{transform:translateX(4px)}
.hero--left .btn-secondary{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero--left .btn-secondary:hover{background:#fff;color:#0B1C3D;transform:translateY(-2px)}

/* Stats: one glass panel pinned to the bottom of the hero */
.hero--left .stats-bar{width:auto;max-width:none;align-self:flex-start;margin:clamp(1.5rem,4.5vh,4rem) 2rem clamp(1.25rem,3.5vh,3rem);padding:clamp(1rem,2.2vh,1.5rem) clamp(1rem,1.4vw,1.75rem);flex-wrap:nowrap;
  background:linear-gradient(180deg,rgba(13,24,48,.62),rgba(9,17,35,.5));-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.1)}
.hero--left .stats-bar::before{left:1.5rem;right:auto;top:-1px;width:120px;height:2px;background:linear-gradient(90deg,#6FA8FF,rgba(111,168,255,0));transform-origin:0 50%}
.hero--left .stat-item{padding:0 clamp(.6rem,.85vw,1.2rem);gap:.35rem}
.hero--left .stat-label{color:#9CC0FF;opacity:1;font-size:clamp(.58rem,.72vw,.68rem);font-weight:600;letter-spacing:.18em;text-shadow:none}
.hero--left .stat-value{font-size:clamp(.85rem,1vw,1.15rem);font-weight:500;letter-spacing:0;color:#D6E2F7;text-shadow:none}
.hero--left .stat-value-num{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.35rem,min(1.8vw,5.2vh),2.4rem);font-weight:600;letter-spacing:-.03em;color:#fff;margin-right:.15em}
.hero--left .stat-value-group{gap:clamp(.7rem,1vw,1.4rem)}
.hero--left .stat-divider{width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.28) 25%,rgba(255,255,255,.28) 75%,transparent)}

@media (max-width:900px){
  .hero--left .hero-background::after{background:linear-gradient(180deg,rgba(7,14,29,.82) 0%,rgba(7,14,29,.55) 45%,rgba(7,14,29,.9) 100%)}
  .hero--left .stats-bar{flex-wrap:wrap;align-self:stretch;gap:1.1rem 0;margin-left:1.25rem;margin-right:1.25rem;padding:1.25rem}
  .hero--left .stat-divider{display:none}
  .hero--left .stat-item,.hero--left .stat-item--wide{flex:1 1 100%;padding:0}
  .hero--left .stat-item + .stat-divider + .stat-item{padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.12)}
  .hero--left .hero-title{max-width:none}
}
@media (max-width:600px){
  .hero--left .hero-content{padding-top:6.5rem}
  .hero--left .hero-actions .btn{flex:1 1 auto;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .hero--left .hero-background,.hero--left .hero-badge::before{animation:none}
}

/* Cookie notice: a compact card bottom-left instead of a full-width bar,
   so it no longer covers the hero stats or sits under the chat button. */
body .cookiealert{left:auto;right:1.25rem;top:5.25rem;bottom:auto;width:min(380px,calc(100% - 2.5rem));padding:1rem 1.15rem;border-radius:14px;background:rgba(13,22,42,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(0,0,0,.4);font-size:.8rem;transform:translateY(-1rem)}
body .cookiealert .cookies-text{max-width:none;text-align:left}
body .cookiealert .cookie-actions{display:flex;gap:.5rem;margin-top:.8rem}
body .cookiealert .acceptcookies,body .cookiealert .rejectcookies{margin:0;padding:.45rem 1.1rem;border-radius:999px}
body .cookiealert .rejectcookies{background:transparent;border:1px solid rgba(255,255,255,.35)}
body .cookiealert .rejectcookies:hover{background:rgba(255,255,255,.12)}
@media (max-width:600px){body .cookiealert{left:.75rem;right:auto;top:auto;bottom:5.25rem;width:calc(100% - 1.5rem);transform:translateY(1rem)}}


/* ═══════════════════════════════════════════════════════════════════
   HOME — section rhythm. Every section used to be white, so one ran
   into the next with ~190px of blank page between them. Alternate a
   soft tint so each section reads as its own band.
   ═══════════════════════════════════════════════════════════════════ */
body.home .platform,
body.home .about--split{background:#F2F6FC;border-top:1px solid #E3EAF5;border-bottom:1px solid #E3EAF5}
body.home .platform .step-card{background:#FFFFFF}
body.home section.pronghorn,body.home section.platform,body.home section.dual-cta,body.home section.about--split,body.home section.investors{padding-top:clamp(3.5rem,7vw,5.5rem);padding-bottom:clamp(3.5rem,7vw,5.5rem)}
body.home .investors h2{margin-bottom:2rem}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE POLISH
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width:480px){
  /* the logo was wide enough to push the menu button past the screen edge */
  body .nav-container{padding-left:1.25rem;padding-right:1rem;gap:.75rem}
  body .nav-logo-img{height:28px}
}
@media (max-width:640px){
  /* chat launcher: one slim row instead of a label plus a tall bar, so it covers less of the page */
  body .aiirg-dock:not(.open) .aiirg-cta{display:none}
  body .aiirg-dock:not(.open) .aiirg-bar{padding:4px 4px 4px 16px;box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06)}
  body .aiirg-dock:not(.open) .aiirg-bar input{font-size:16px;padding:6px 0}
  body .aiirg-dock:not(.open) .aiirg-ic{width:36px;height:36px}
  /* keep the last footer line clear of the launcher */
  #site-footer{padding-bottom:76px}
}


/* three-up variants (a stat and a team member were removed) */
.pp-stats.pp-stats--three{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.pp-stats.pp-stats--three{grid-template-columns:1fr;gap:1.25rem}}
@media (min-width:1025px){.team-grid.team-grid--three{grid-template-columns:repeat(3,1fr);max-width:1100px;margin-left:auto;margin-right:auto}}


/* Privacy / legal page */
.legal{background:#FFFFFF;padding:clamp(3rem,6vw,5rem) 0}
.legal-wrap{max-width:820px}
.legal-lead{font-size:1.08rem;color:#1B2C41;line-height:1.75;margin-bottom:2.25rem}
.legal h2{font-size:1.3rem;font-weight:600;letter-spacing:-0.01em;color:#0B1C3D;margin:2.25rem 0 .75rem}
.legal p,.legal li{font-size:.98rem;line-height:1.75;color:#333}
.legal p{margin-bottom:1rem}
.legal ul{margin:0 0 1rem 1.2rem;padding:0}
.legal li{margin-bottom:.45rem}
.legal a{color:#047bf5;text-decoration:underline}

/* five stats in the hero panel: keep the row clear of the chat launcher (bottom right, ~300px wide) */
@media (min-width:901px){.hero--left .stats-bar{margin-right:340px}}


/* Press release pages */
.pr-title{font-size:clamp(1.6rem,3.4vw,2.6rem) !important;line-height:1.2 !important;max-width:22ch;max-width:min(100%,34ch)}
.pr-back{margin-bottom:1.75rem !important;font-size:.9rem}
.pr-source{margin-top:2.5rem !important;padding-top:1.25rem;border-top:1px solid #E3EAF5;font-size:.88rem !important;color:#5A6B75 !important}

/* the back-to-top button sits above the Ari chat bar on phones, not underneath it */
@media (max-width:640px){ .scroll-top-home{bottom:calc(88px + env(safe-area-inset-bottom)) !important} }

/* Home hero on phones. A wide 16:9 photo cropped to a tall screen showed only empty sky, with the campus
   pushed below the fold. Here the photo fills just the first screen, is framed on the campus buildings,
   and the scrim is dark behind the headline and clear over the buildings, then fades into the page. */
@media (max-width:700px){
  .hero--left .hero-background{
    inset:0 0 auto 0;height:100vh;height:100svh;
    background-size:auto 116%;background-position:57% 0;
    animation:none;transform:none;
  }
  .hero--left .hero-background::after{background:linear-gradient(180deg,
    rgba(7,14,29,.90) 0%,rgba(7,14,29,.80) 34%,rgba(7,14,29,.42) 58%,rgba(7,14,29,.18) 76%,rgba(7,14,29,.30) 90%,#070E1D 100%)}
}

/* ═══════════════════════════════════════════════════════════════════
   Core partners. Files are in images/partners.

   Home (.partners-band): the logos drift past in one slow, continuous
   line directly under the hero, fading out at both edges. Hovering
   pauses it. The list is in the page twice so the loop has no seam,
   and the track moves exactly half its own width. With "reduce motion"
   on, it stands still and wraps instead.

   About (.partners): the same logos as still tiles, because About keeps
   to one moving thing (the counting figures).

   Logos have very different shapes, so each one sets its own size:
   --h (height) in the moving line, --w (share of the tile) on About.
   ═══════════════════════════════════════════════════════════════════ */
.partners-band{background:#F5F7FA;border-bottom:1px solid #E3E8EF;padding:2.4rem 0}
.partners-run{display:flex;align-items:center;gap:2.5rem}
.partners-band h2{flex:none;margin:0;padding-right:2.5rem;border-right:1px solid #CBD3DF;font-size:.95rem;font-weight:600;line-height:1.35;letter-spacing:0;color:#111C2B;max-width:6.5em;text-align:left}
.partners-marquee{flex:1;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.partners-track{list-style:none;margin:0;padding:0;display:flex;align-items:center;width:max-content;animation:partnersRun 48s linear infinite}
.partners-marquee:hover .partners-track{animation-play-state:paused}
.partners-track li{flex:none;margin:0;padding:0 2.6rem;display:flex;align-items:center;height:72px}
.partners-track img{display:block;height:var(--h,36px);width:auto;max-width:none}
@keyframes partnersRun{to{transform:translateX(-50%)}}

@media (max-width:820px){
  .partners-band{padding:1.75rem 0 2rem}
  .partners-run{display:block}
  .partners-band .container{padding-left:0;padding-right:0}
  .partners-band h2{max-width:none;border-right:0;padding:0 1.25rem;margin-bottom:1rem;font-size:.9rem}
  .partners-track{animation-duration:36s}
  .partners-track li{padding:0 1.6rem;height:60px}
  .partners-track img{height:calc(var(--h,36px) * .82)}
}
@media (prefers-reduced-motion:reduce){
  .partners-marquee{-webkit-mask-image:none;mask-image:none}
  .partners-track{animation:none;width:auto;flex-wrap:wrap;justify-content:flex-start;row-gap:.5rem}
  .partners-track .is-dup{display:none}
}

.partners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.partners li{display:flex;align-items:center;justify-content:center;aspect-ratio:5/3;margin:0;padding:0;background:#FFFFFF;border:1px solid #D5DCE6;border-radius:6px}
.partners img{display:block;width:var(--w,70%);height:auto;max-height:52%;object-fit:contain}
@media (max-width:640px){
  .partners{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

/* ═══════════════════════════════════════════════════════════════════
   Contact (contact.html) — in the home hero's language.
   The dusk photo runs behind everything; the form is a frosted-glass
   card; "what is this about" is four pills like the hero chips; the
   offices are dark cards with night-tinted maps. The page uses
   <body class="home"> only to get the see-through navigation bar.
   ═══════════════════════════════════════════════════════════════════ */
.cx{background:#070E1D;color:#fff}
.cx-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(7.5rem,17vh,11rem) 0 clamp(3.5rem,8vh,6rem)}
.cx-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:#070E1D url('../images/contact-hero.jpg') center 60%/cover no-repeat}
.cx-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(7,14,29,.7) 0%,rgba(7,14,29,.18) 26%,rgba(7,14,29,.1) 60%,rgba(7,14,29,.75) 88%,#070E1D 100%),
  linear-gradient(95deg,rgba(7,14,29,.82) 0%,rgba(7,14,29,.45) 44%,rgba(7,14,29,.08) 100%)}
.cx-grid,.cx-wrap{max-width:1280px;margin:0 auto;padding:0 2rem}
.cx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}

.cx-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.cx-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#4ADE80;animation:heroPulse 2.4s ease-out infinite}
.cx-title{margin:1.4rem 0 1.2rem;font-size:clamp(2.8rem,6.2vw,5.4rem);font-weight:700;line-height:1;letter-spacing:-.035em;color:#fff;text-shadow:0 10px 50px rgba(0,0,0,.45)}
.cx-title span{background:linear-gradient(92deg,#6FA8FF 0%,#C9DEFF 55%,#FFD3A3 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}
.cx-lead{max-width:44ch;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.65;color:#D3DEEF;margin:0}
.cx-now{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:2rem 0 0}
.cx-now li{margin:0}
.cx-now a{display:flex;align-items:baseline;gap:.7rem;padding:.6rem 1rem;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#EAF1FF;font-size:.88rem;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.cx-now a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
.cx-now b{font-weight:500}
.cx-now span{color:#FFE2C2;font-variant-numeric:tabular-nums}
.cx-now span:empty{display:none}

.cx-card{margin:0;padding:clamp(1.4rem,2.6vw,2.2rem);border-radius:22px;background:rgba(11,20,38,.58);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12)}
.cx-topic{border:0;margin:0 0 1.4rem;padding:0;min-width:0;display:flex;flex-wrap:wrap;gap:.5rem}
.cx-topic legend,.cx-field label{display:block;padding:0;margin-bottom:.55rem;font-size:.82rem;font-weight:500;letter-spacing:.01em;color:#B4C4DC}
.cx-topic legend{width:100%;float:left}
.cx-topic label{cursor:pointer;margin:0}
.cx-topic input{position:absolute;opacity:0;width:1px;height:1px}
.cx-topic span{display:block;padding:.55rem 1.05rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#EAF1FF;font-size:.9rem;font-weight:500;transition:background .18s ease,border-color .18s ease,color .18s ease}
.cx-topic label:hover span{background:rgba(255,255,255,.13)}
.cx-topic input:checked + span{background:#047bf5;border-color:#047bf5;color:#fff;box-shadow:0 8px 24px rgba(4,123,245,.4)}
.cx-topic input:focus-visible + span{outline:2px solid #9CC0FF;outline-offset:2px}

.cx-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.cx-field{margin-bottom:1.1rem}
.cx-opt{color:#7F90AB;font-weight:400;margin-left:.3em}
.cx-field input,.cx-field textarea{display:block;width:100%;padding:.85rem 1rem;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;font-family:inherit;font-size:1rem;line-height:1.5;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.cx-field textarea{resize:vertical;min-height:120px}
.cx-field ::placeholder{color:rgba(255,255,255,.32)}
.cx-field input:hover,.cx-field textarea:hover{border-color:rgba(255,255,255,.32)}
.cx-field input:focus,.cx-field textarea:focus{outline:0;border-color:#6FA8FF;background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(111,168,255,.22)}
.cx-field .is-bad{border-color:#FF7A6B;box-shadow:0 0 0 4px rgba(255,122,107,.16)}
.cx-field input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 60px #17233B inset;caret-color:#fff}
.cx-send{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;margin-top:.4rem;padding:1.05rem 1.5rem;border:0;border-radius:12px;background:#047bf5;color:#fff;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 12px 30px rgba(4,123,245,.4);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.cx-send:hover{background:#2A8FFF;transform:translateY(-2px);box-shadow:0 16px 38px rgba(4,123,245,.5)}
.cx-send:disabled{opacity:.6;cursor:default;transform:none}
.cx-send:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cx-card .form-msg{margin-top:1rem;padding:.9rem 1rem;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.92rem;font-weight:500}
.cx-note{margin:1rem 0 0;font-size:.8rem;line-height:1.5;color:#8FA1BD;text-align:center}
.cx-note a{color:#C9DEFF;text-underline-offset:3px}

.cx-offices{scroll-margin-top:5.5rem;padding:clamp(2rem,5vw,4rem) 0 clamp(4rem,8vw,6.5rem)}
.cx-offices h2{margin:0 0 1.6rem;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.02em;color:#fff;text-align:left}
.cx-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.cx-office{overflow:hidden;border-radius:22px;background:#0D1830;border:1px solid rgba(255,255,255,.12)}
/* turns Google's light map into a night map so it sits in the dark page */
.cx-office iframe{display:block;width:100%;height:clamp(220px,26vw,320px);border:0;background:#0D1830;filter:invert(.92) hue-rotate(180deg) saturate(.7) brightness(.95) contrast(.95)}
.cx-office-body{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:1.5rem 1.6rem 1.6rem;border-top:1px solid rgba(255,255,255,.1)}
.cx-office h3{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:#fff}
.cx-office p{margin:0;font-size:.95rem;line-height:1.6;color:#B4C4DC}
.cx-office .cx-clock{flex:none;text-align:right;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:300;line-height:1.1;letter-spacing:-.02em;color:#FFE2C2;font-variant-numeric:tabular-nums}
.cx-clock small{display:block;margin-top:.35rem;font-size:.78rem;font-weight:400;letter-spacing:0;color:#8FA1BD}
.cx-clock span:empty,.cx-clock span:empty + small{display:none}

@media (max-width:980px){
  .cx-grid{grid-template-columns:minmax(0,1fr);gap:2.25rem}
  .cx-hero{padding-top:7rem}
  .cx-office-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .cx-grid,.cx-wrap{padding:0 1.25rem}
  .cx-pair{grid-template-columns:minmax(0,1fr)}
  .cx-card{border-radius:18px}
  .cx-office-body{flex-direction:column;align-items:flex-start;gap:1rem}
  .cx-office .cx-clock{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .cx-badge::before{animation:none}
  .cx-send:hover{transform:none}
}

/* Home hero announcement: a glass pill above the ticker badge that links to the newest press release */
.hero--left .hero-news{display:flex;width:fit-content;max-width:100%;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.4rem 1rem .4rem .4rem;border-radius:999px;background:rgba(255,196,138,.12);border:1px solid rgba(255,196,138,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:.9rem;font-weight:500;line-height:1.35;text-decoration:none;text-shadow:none;transition:background .2s ease,border-color .2s ease}
.hero--left .hero-news:hover{background:rgba(255,196,138,.22);border-color:#FFD3A3}
.hero--left .hero-news b{flex:none;padding:.28rem .7rem;border-radius:999px;background:#FFD3A3;color:#1A1206;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero--left .hero-news i{flex:none;font-style:normal;transition:transform .2s ease}
.hero--left .hero-news:hover i{transform:translateX(3px)}
.hero--left .hero-news:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:640px){.hero--left .hero-news{font-size:.82rem;border-radius:16px;padding-right:.8rem}}

/* Press release pages: long headlines, and the summary points at the top of a release */
.pr-title--long{font-size:clamp(1.35rem,2.5vw,2rem) !important;max-width:min(100%,46ch) !important}
.legal .pr-highlights{list-style:none;margin:0 0 2rem;padding:1.4rem 1.5rem;border-left:3px solid #047bf5;background:#F2F6FC;border-radius:0 10px 10px 0}
.legal .pr-highlights li{margin-bottom:.8rem}
.legal .pr-highlights li:last-child{margin-bottom:0}
