﻿:root{
  --bg:#061018;
  --bg-soft:#0a1722;
  --panel:#0c1c29;
  --panel-2:#112535;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --text:#ecf3fa;
  --muted:#9fb2c4;
  --soft:#c6d3de;
  --accent:#6fe0ff;
  --accent-2:#4da3ff;
  --glow:rgba(111,224,255,.38);
  --white:#ffffff;
  --max:1240px;
  --radius:24px;
  --shadow:0 30px 90px rgba(0,0,0,.42);
  --shadow-soft:0 18px 50px rgba(0,0,0,.24);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overscroll-behavior:none}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 20% 0%, rgba(77,163,255,.10), transparent 35%),
    radial-gradient(circle at 80% 10%, rgba(111,224,255,.07), transparent 30%),
    linear-gradient(180deg,#040b11 0%,#07111a 50%,#09131c 100%);
  color:var(--text);
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at center, black 35%, transparent 85%);
  opacity:.12;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.site-shell{min-height:100vh}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  backdrop-filter:blur(18px);
  background:rgba(5,12,18,.66);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:96px;
  gap:28px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-weight:700;
  letter-spacing:-.02em;
}
/* ════════════════════════════════
   BRAND / LOGO SYSTEM
   ════════════════════════════════ */

/* Stacked layout: icon centred above wordmark */
.brand {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
  text-decoration: none !important;
}

.brand-logo-img {
  display: block !important;
  height: 70px !important;
  width: auto !important;
  /* Silver metallic icon reads on light header background */
  filter: drop-shadow(0 1px 4px rgba(0,0,0,0.14)) !important;
  flex-shrink: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: opacity .22s ease !important;
}

.brand:hover .brand-logo-img {
  opacity: 0.82 !important;
}

/* Wordmark below icon */
.brand-text {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* Legacy CSS orb — hidden everywhere (replaced by logo image) */
.brand-mark,
.brand-core,
.brand-ring { display: none !important; }

/* Footer logo treatment */
.footer-logo-img {
  display: block !important;
  height: 38px !important;
  width: auto !important;
  margin-bottom: 10px !important;
  /* On dark footer, push brightness slightly so silver reads */
  filter: brightness(1.25) drop-shadow(0 0 6px rgba(255,255,255,.10)) !important;
  opacity: 0.88 !important;
}

.nav{
  display:flex;
  gap:24px;
}
.nav a{
  color:var(--muted);
  font-size:.95rem;
  position:relative;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--accent), transparent);
  transition:width .28s ease;
}
.nav a:hover{
  color:var(--white);
}
.nav a:hover::after{
  width:100%;
}

.nav-toggle{
  display:none;
  width:46px;
  height:46px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:12px;
  padding:0;
}
.nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  margin:5px auto;
  background:#fff;
  border-radius:2px;
}

.hero{
  position:relative;
  overflow:hidden;
  padding:54px 0 32px;
}
.hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
}
#hero-orb{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.hero-gradient{
  background:
    radial-gradient(circle at 68% 28%, rgba(111,224,255,.10), transparent 20%),
    radial-gradient(circle at 74% 44%, rgba(77,163,255,.08), transparent 30%),
    linear-gradient(180deg, rgba(3,8,13,.10), rgba(3,8,13,.72));
}
.hero-vignette{
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 240px rgba(0,0,0,.52);
}
.hero-noise{
  position:absolute;
  inset:0;
  opacity:.04;
  background-image:
    linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
  background-size:4px 4px,4px 4px;
  mix-blend-mode:soft-light;
}

.hero-content{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.62fr);
  gap:36px;
  align-items:end;
  min-height:640px;
}
.hero-content-wide{
  grid-template-columns:1fr;
  align-items:center;
  min-height:680px;
}
.hero-content-wide .hero-copy{
  max-width:920px;
}
.eyebrow,
.section-kicker,
.panel-label,
.feature-topline{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.73rem;
  font-weight:700;
  color:#9edfff;
}
.hero-copy h1{
  margin:18px 0 18px;
  font-size:clamp(2.8rem,6vw,5.55rem);
  line-height:.94;
  letter-spacing:-.05em;
  max-width:11.5ch;
}
.hero-content-wide .hero-copy h1{
  max-width:12.5ch;
}
.accent-line{
  display:block;
  color:#a9d8ff;
}
.lead{
  max-width:760px;
  font-size:1.08rem;
  line-height:1.75;
  color:var(--soft);
}
.hero-actions{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 20px;
  border-radius:999px;
  font-weight:700;
  transition:.25s ease;
}
.button-primary{
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  color:#061018;
  box-shadow:0 12px 40px rgba(77,163,255,.25);
}
.button-primary:hover{transform:translateY(-1px)}
.button-secondary,
.button-outline{
  border:1px solid rgba(255,255,255,.16);
  color:var(--white);
  background:rgba(255,255,255,.03);
}
.button-secondary:hover,
.button-outline:hover{
  background:rgba(255,255,255,.07);
}

.section{
  position:relative;
  padding:96px 0;
}
.section-grid::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent, rgba(111,224,255,.03), transparent),
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size:100% 100%, 60px 60px, 60px 60px;
  mask-image:linear-gradient(180deg, transparent, black 18%, black 82%, transparent);
}
.section-light{background:transparent}
.section-dark{
  background:linear-gradient(180deg, rgba(7,15,24,.90), rgba(5,10,16,.98));
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.section-head{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:34px;
}
/* Focus Areas section-head: text left, moon right */
.solutions-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 48px !important;
  margin-bottom: 40px !important;
}
.solutions-head-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 0;
  min-width: 0;
}
.solutions-head-text h2 {
  margin: 0;
}
@media (max-width: 768px) {
  .solutions-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .hero-moon-wrap {
    width: 220px !important;
    height: 220px !important;
    align-self: center !important;
  }
}
.section-head h2,
.intro-grid h2,
.final-grid h2,
.machine-grid h2{
  margin:0;
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:16ch;
}

.intro-grid,
.final-grid,
.holdings-grid,
.machine-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:start;
}
.intro-grid p,
.final-grid p,
.holdings-copy p,
.machine-grid p{
  color:var(--soft);
  line-height:1.8;
  font-size:1.02rem;
}

.solutions-grid,
.thesis-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
}
.projects-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}

.solution-card,
.thesis-card,
.holding-feature,
.project-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow-soft);
  transform-style:preserve-3d;
  will-change:transform;
}
.solution-card::before,
.thesis-card::before,
.project-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(111,224,255,.08), rgba(255,255,255,.03));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  opacity:.9;
  pointer-events:none;
}
.solution-card::after,
.thesis-card::after,
.project-card::after{
  content:"";
  position:absolute;
  top:-30%;
  left:-60%;
  width:50%;
  height:160%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
  transform:rotate(18deg);
  transition:left .8s ease;
  pointer-events:none;
}
.solution-card:hover::after,
.thesis-card:hover::after,
.project-card:hover::after{
  left:120%;
}
.project-card-featured{
  background:linear-gradient(180deg, rgba(111,224,255,.075), rgba(255,255,255,.02));
  border:1px solid rgba(111,224,255,.18);
  box-shadow:0 26px 64px rgba(0,0,0,.34), 0 0 0 1px rgba(111,224,255,.06) inset;
}

.solution-icon,
.card-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(111,224,255,.25);
  color:#aee8ff;
  font-size:.82rem;
  font-weight:800;
  margin-bottom:18px;
  box-shadow:0 0 24px rgba(111,224,255,.08);
}
.solution-card h3,
.thesis-card h3,
.holding-feature h3,
.project-card h3{
  margin:0 0 12px;
  font-size:1.22rem;
  letter-spacing:-.03em;
}
.solution-card p,
.thesis-card p,
.holding-feature p,
.project-card p{
  margin:0;
  color:var(--soft);
  line-height:1.74;
}
.text-link{
  display:inline-flex;
  margin-top:12px;
  color:#9edfff;
  font-weight:700;
}
.text-link:hover{
  color:#d6f4ff;
}
.feature-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.feature-meta span{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  color:#cfe8ff;
  font-size:.82rem;
  background:rgba(255,255,255,.02);
}

.trust-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:18px;
}

.site-footer{
  border-top:1px solid rgba(255,255,255,.06);
  padding:36px 0 26px;
  background:rgba(3,8,13,.82);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:26px;
  align-items:start;
}
.footer-brand{
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:-.03em;
}
.footer-copy,
.footer-bottom p{
  color:var(--muted);
  line-height:1.7;
}
.footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
}
.footer-links a{
  color:var(--soft);
}
.footer-bottom{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.06);
  display:grid;
  gap:8px;
}

.page-hero{
  padding:110px 0 48px;
}
.page-hero h1{
  margin:0 0 16px;
  font-size:clamp(2.6rem,5vw,4.7rem);
  letter-spacing:-.05em;
}
.page-hero p{
  max-width:820px;
  color:var(--soft);
  line-height:1.8;
  font-size:1.05rem;
}
.content-panel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-radius:26px;
  padding:28px;
  box-shadow:var(--shadow-soft);
}
.content-panel h2{
  margin:0 0 14px;
  font-size:1.45rem;
  letter-spacing:-.035em;
}
.content-panel p,
.content-panel li{
  color:var(--soft);
  line-height:1.78;
}
.content-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.content-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.list-clean{
  margin:0;
  padding-left:18px;
}
.list-clean li + li{
  margin-top:10px;
}

@media (max-width: 1080px){
  .hero-content,
  .intro-grid,
  .final-grid,
  .holdings-grid,
  .machine-grid,
  .solutions-grid,
  .thesis-grid,
  .footer-grid,
  .content-grid-3{
    grid-template-columns:1fr 1fr;
  }
  .projects-grid,
  .content-grid-2{
    grid-template-columns:1fr;
  }
  .solutions-grid,
  .thesis-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 780px){
  .nav{display:none}
  .nav-toggle{display:inline-block}
  .hero-content,
  .intro-grid,
  .final-grid,
  .holdings-grid,
  .machine-grid,
  .solutions-grid,
  .thesis-grid,
  .projects-grid,
  .footer-grid,
  .content-grid-2,
  .content-grid-3{
    grid-template-columns:1fr;
  }
  .hero{
    padding-top:56px;
  }
  .hero-content{
    min-height:auto;
  }
  .hero-copy h1{
    max-width:none;
  }
  .section{
    padding:72px 0;
  }
}

.hero::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:180px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(4,10,16,.55));
  z-index:1;
}

.hero-copy{
  position:relative;
  z-index:3;
}

#hero-orb{
  filter:saturate(1.02) contrast(1.01);
}

.hero-gradient{
  background:
    radial-gradient(circle at 68% 28%, rgba(111,224,255,.10), transparent 20%),
    radial-gradient(circle at 74% 44%, rgba(77,163,255,.08), transparent 30%),
    linear-gradient(180deg, rgba(3,8,13,.10), rgba(3,8,13,.72));
}



/* ===== TYPOGRAPHY UPGRADE ===== */
:root {
  --font-ui: "Manrope", "Inter", "Segoe UI", Arial, sans-serif;
  --font-body: "Inter", "Segoe UI", Arial, sans-serif;
}

html, body {
  font-family: var(--font-body);
  font-feature-settings: "ss01" 1, "cv01" 1, "cv02" 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.brand,
.nav a,
.button,
.section-kicker,
.eyebrow,
h1, h2, h3, h4, h5, h6,
.brand-text,
.footer-brand {
  font-family: var(--font-ui);
}

h1 {
  letter-spacing: -0.035em;
  font-weight: 800;
}

h2 {
  letter-spacing: -0.03em;
  font-weight: 700;
}

h3 {
  letter-spacing: -0.02em;
  font-weight: 700;
}

.brand-text {
  letter-spacing: -0.02em;
  font-weight: 700;
}

.nav a {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.button {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.lead {
  font-family: var(--font-body);
  font-weight: 500;
}

.section-kicker,
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
}

/* ===== Subtle hero word glitch ===== */
.glitch-word {
  position: relative;
  display: inline-block;
  color: #9fd3ff;
  will-change: opacity, transform, filter;
}

.glitch-word.is-glitching {
  animation: digitalGlitchFade 950ms ease;
}

.glitch-word.glitch-ghost::before,
.glitch-word.glitch-ghost::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
}

.glitch-word.glitch-ghost::before {
  transform: translate(-1px, 0);
}

.glitch-word.glitch-ghost::after {
  transform: translate(1px, 0);
}

.glitch-word.is-glitching.glitch-ghost::before {
  opacity: 0.22;
  animation: digitalGhostA 950ms ease;
}

.glitch-word.is-glitching.glitch-ghost::after {
  opacity: 0.16;
  animation: digitalGhostB 950ms ease;
}

@keyframes digitalGlitchFade {
  0%   { opacity: 1; transform: translateX(0); filter: blur(0); }
  10%  { opacity: 0.72; }
  18%  { opacity: 0.92; transform: translateX(-0.5px); }
  28%  { opacity: 0.48; filter: blur(0.35px); }
  40%  { opacity: 0.88; transform: translateX(0.6px); }
  54%  { opacity: 0.60; }
  72%  { opacity: 0.95; filter: blur(0); }
  100% { opacity: 1; transform: translateX(0); filter: blur(0); }
}

@keyframes digitalGhostA {
  0%   { opacity: 0; transform: translate(-1px, 0); }
  18%  { opacity: 0.18; }
  32%  { opacity: 0.05; transform: translate(-2px, -0.4px); }
  54%  { opacity: 0.22; transform: translate(-1px, 0.4px); }
  100% { opacity: 0; transform: translate(0, 0); }
}

@keyframes digitalGhostB {
  0%   { opacity: 0; transform: translate(1px, 0); }
  22%  { opacity: 0.10; }
  36%  { opacity: 0.16; transform: translate(2px, 0.4px); }
  60%  { opacity: 0.08; transform: translate(1px, -0.4px); }
  100% { opacity: 0; transform: translate(0, 0); }
}

/* ===== Fixed-width glitch word ===== */
.glitch-word {
  position: relative;
  display: inline-block;
  width: 7ch;
  min-width: 7ch;
  max-width: 7ch;
  white-space: nowrap;
  vertical-align: baseline;
}

.glitch-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.glitch-layer {
  position: absolute;
  inset: 0;
  display: inline-block;
  color: #9fd3ff;
  will-change: opacity, transform, filter;
}

.glitch-layer.is-glitching {
  animation: digitalGlitchFade 950ms ease;
}

.glitch-layer.glitch-ghost::before,
.glitch-layer.glitch-ghost::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
}

.glitch-layer.glitch-ghost::before {
  transform: translate(-1px, 0);
}

.glitch-layer.glitch-ghost::after {
  transform: translate(1px, 0);
}

.glitch-layer.is-glitching.glitch-ghost::before {
  opacity: 0.22;
  animation: digitalGhostA 950ms ease;
}

.glitch-layer.is-glitching.glitch-ghost::after {
  opacity: 0.16;
  animation: digitalGhostB 950ms ease;
}

/* ===== Keep digital world together ===== */
.headline-phrase {
  display: inline-block;
  white-space: nowrap;
}

.hero-copy h1 {
  max-width: 8.5ch;
  line-height: 0.94;
}

/* improve glitch word spacing */
.glitch-word {
  margin-right: 0.14em;
  width: 7ch;
  min-width: 7ch;
  max-width: 7ch;
}

/* ===== Typography system ===== */
.hero-copy h1 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.92;
  max-width: 11ch;
}

.headline-phrase {
  display: inline;
  white-space: normal;
}

.glitch-word,
.glitch-layer {
  font-family: var(--font-accent);
}

.eyebrow,
.section-kicker,
.feature-topline,
.card-index,
.solution-icon,
.lead-smallcaps {
  font-family: var(--font-accent);
  font-weight: 700;
  letter-spacing: 0.16em;
}

body,
p,
li,
a,
button,
.nav a,
.button,
.lead,
.footer-copy,
.footer-links,
.text-link,
input,
textarea,
select,
label {
  font-family: var(--font-ui);
}

h1, h2, h3, h4, h5, h6,
.brand,
.brand-text,
.footer-brand {
  font-family: var(--font-display);
}

h1 {
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.92;
}

h2 {
  font-weight: 700;
  letter-spacing: -0.025em;
}

h3, h4, h5, h6 {
  font-weight: 700;
  letter-spacing: -0.015em;
}

.eyebrow,
.section-kicker,
.feature-topline {
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.brand-text,
.footer-brand,
.nav a,
.button {
  letter-spacing: 0.02em;
}

/* ===== Light scheme test ===== */
:root {
  --bg: #f7f8fa;
  --bg-soft: #ffffff;
  --bg-panel: #eef2f6;
  --text: #111418;
  --text-soft: #59636e;
  --line: rgba(17,20,24,0.10);
  --accent: #3d6df2;
  --accent-soft: #dfe8ff;
  --accent-dark: #254ec7;
}

html, body {
  background: var(--bg) !important;
  color: var(--text) !important;
}

.site-header {
  background: rgba(247,248,250,0.88) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line) !important;
}

.brand-text,
.nav a {
  color: var(--text) !important;
}

.nav a:hover {
  color: var(--accent) !important;
}

.hero.hero-dark,
.hero-bg,
.section-dark,
.section-light,
.site-footer {
  background: var(--bg) !important;
  color: var(--text) !important;
}

.hero-gradient,
.hero-vignette,
.hero-noise {
  opacity: 0.08 !important;
}

.hero-copy h1,
h1, h2, h3, h4, h5, h6 {
  color: var(--text) !important;
}

.lead,
p,
li {
  color: var(--text-soft) !important;
}

.solution-card,
.project-card,
.thesis-card {
  background: var(--bg-soft) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 8px 24px rgba(17,20,24,0.04) !important;
}

.button-primary {
  background: var(--text) !important;
  color: #ffffff !important;
  border: 1px solid var(--text) !important;
}

.button-primary:hover {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
}

.button-secondary,
.button-outline {
  background: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
}

.button-secondary:hover,
.button-outline:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.eyebrow,
.section-kicker,
.feature-topline,
.solution-icon,
.card-index,
.glitch-word,
.glitch-layer,
.text-link {
  color: var(--accent) !important;
}

#hero-orb {
  opacity: 0.10 !important;
  filter: saturate(0.7) brightness(1.15);
}

.footer-links a,
.footer-brand {
  color: var(--text) !important;
}

/* ===== Blue planet on light background ===== */
.hero.hero-dark,
.hero-bg {
  background:
    radial-gradient(circle at 72% 30%, rgba(88, 149, 255, 0.18), transparent 18%),
    radial-gradient(circle at 74% 32%, rgba(128, 197, 255, 0.12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
}

.hero-gradient,
.hero-vignette,
.hero-noise {
  opacity: 0 !important;
}

#hero-orb {
  opacity: 1 !important;
  filter:
    drop-shadow(0 0 18px rgba(74, 144, 255, 0.22))
    drop-shadow(0 0 36px rgba(116, 192, 255, 0.16))
    saturate(1.25)
    contrast(1.08)
    brightness(1.02);
  mix-blend-mode: normal !important;
}

/* optional faint halo behind the orb */
.hero-bg::after {
  content: "";
  position: absolute;
  top: 12%;
  right: 8%;
  width: min(42vw, 620px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(85, 160, 255, 0.12) 0%, rgba(85, 160, 255, 0.08) 22%, rgba(85, 160, 255, 0.03) 44%, transparent 68%);
  pointer-events: none;
  z-index: 0;
}

.hero-bg canvas,
.hero-bg #hero-orb {
  position: relative;
  z-index: 1;
}

/* ===== Hero lead small caps test ===== */
.lead-smallcaps {
  font-variant: small-caps;
  text-transform: lowercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* ===== Hero lead small caps test ===== */
.lead-smallcaps {
  font-variant: small-caps;
  text-transform: lowercase;
  letter-spacing: 0.06em;
  font-weight: 500;
  opacity: 0.92;
}

/* ===== Force visible small-caps look on hero lead ===== */
.hero-copy .lead.lead-smallcaps {
  font-family: "Inter", "Manrope", sans-serif !important;
  font-variant: normal !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.82em !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  opacity: 0.92 !important;
}

/* ===== Site-wide body text treatment ===== */
body,
p,
li,
td,
th,
label,
input,
textarea,
select,
blockquote,
.footer-copy,
.footer-bottom p,
.project-card p,
.solution-card p,
.thesis-card p,
.lead,
.machine-grid p,
.intro-grid p,
.final-grid p,
.section-light p,
.section-dark p {
  font-family: "Inter", "Manrope", sans-serif !important;
  font-variant: normal !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.82em !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  opacity: 0.94 !important;
}

/* keep hero lead slightly more refined */
.hero-copy .lead {
  font-size: 0.84em !important;
  line-height: 1.5 !important;
}

/* explicitly preserve display/headline typography */
h1, h2, h3, h4, h5, h6,
.brand,
.brand-text,
.nav a,
.button,
.eyebrow,
.section-kicker,
.feature-topline,
.solution-icon,
.card-index,
.footer-brand {
  text-transform: none !important;
}

/* ===== Hero Earth image + Three orb composition ===== */
.hero {
  position: relative;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-earth {
  position: absolute;
  left: 50%;
  bottom: 22%;
  transform: translateX(-50%);
  width: min(1650px, 125vw);
  max-width: none;
  height: auto;
  opacity: 1;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

#hero-orb {
  position: absolute !important;
  right: 5%;
  top: 14%;
  width: min(34vw, 480px) !important;
  height: min(34vw, 480px) !important;
  opacity: 1 !important;
  z-index: 2;
  filter:
    drop-shadow(0 0 24px rgba(86, 170, 255, 0.22))
    drop-shadow(0 0 48px rgba(126, 206, 255, 0.16));
}

.hero-gradient,
.hero-vignette,
.hero-noise {
  display: none !important;
}

.hero-content {
  position: relative;
  z-index: 3;
}

/* subtle white fade so the earth blends into the page */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(247,248,250,0.96) 0%,
      rgba(247,248,250,0.82) 20%,
      rgba(247,248,250,0.18) 46%,
      rgba(247,248,250,0) 62%
    );
}

/* keep copy readable above the earth */
.hero-copy {
  position: relative;
  z-index: 4;
}

/* responsive adjustment */
@media (max-width: 1100px) {
  .hero-earth {
    width: min(1500px, 155vw);
    bottom: 18%;
  }

  #hero-orb {
    right: 2%;
    top: 10%;
    width: min(30vw, 320px) !important;
    height: min(30vw, 320px) !important;
  }
}

@media (max-width: 780px) {
  .hero-earth {
    width: 180vw;
    bottom: 14%;
  }

  #hero-orb {
    right: -6%;
    top: 8%;
    width: 220px !important;
    height: 220px !important;
    opacity: 0.72 !important;
  }
}

/* ===== HERO COMPOSITION RESET ===== */
.hero {
  position: relative;
  overflow: hidden;
  min-height: 860px;
  background: linear-gradient(180deg, #f7f8fa 0%, #f7f8fa 100%) !important;
}

.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.hero-content,
.hero-copy {
  position: relative;
  z-index: 5;
}

/* large static earth */
.hero-earth {
  position: absolute;
  right: -18%;
  bottom: -14%;
  width: min(1350px, 92vw);
  max-width: none;
  height: auto;
  opacity: 1;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  filter: saturate(1.02) contrast(1.02);
}

/* smaller technical orb */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}

#hero-orb {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter:
    drop-shadow(0 0 24px rgba(84, 164, 255, 0.20))
    drop-shadow(0 0 50px rgba(128, 206, 255, 0.16));
}

/* remove old atmospheric overlays */
.hero-gradient,
.hero-vignette,
.hero-noise {
  display: none !important;
}

/* light fade so sky stays clean */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(247,248,250,0.96) 0%,
      rgba(247,248,250,0.78) 28%,
      rgba(247,248,250,0.18) 52%,
      rgba(247,248,250,0) 70%
    );
}

/* headline area */
.hero-copy h1 {
  max-width: 11ch;
  position: relative;
  z-index: 6;
}

.hero-copy .lead {
  position: relative;
  z-index: 6;
}

.hero-actions {
  position: relative;
  z-index: 6;
}

/* stop the right-side art colliding with text */
@media (max-width: 1280px) {
  .hero-earth {
    right: -24%;
    width: min(1200px, 98vw);
  }

  .hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}
}

@media (max-width: 980px) {
  .hero {
    min-height: 780px;
  }

  .hero-earth {
    right: -42%;
    bottom: -8%;
    width: 130vw;
  }

  .hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}
}

/* ===== HERO RIGHT-SIDE PLANET COMPOSITION ===== */
.hero {
  position: relative;
  overflow: hidden;
  min-height: 860px;
  background: linear-gradient(180deg, #f7f8fa 0%, #f7f8fa 100%) !important;
}

.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

/* keep old orb canvas alive but invisible so legacy JS does not break */
.hero-orb-legacy {
  position: absolute;
  inset: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.hero-orb-legacy #hero-orb {
  width: 1px !important;
  height: 1px !important;
  display: block;
}

/* large static earth image */
.hero-earth {
  position: absolute;
  right: -18%;
  bottom: -14%;
  width: min(1400px, 96vw);
  max-width: none;
  height: auto;
  opacity: 1;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  filter: saturate(1.02) contrast(1.02);
}

/* smaller live technical orb */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}

#hero-orb-three {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter: saturate(1.02) brightness(1.01) !important;
}

/* remove older decorative layers */
.hero-gradient,
.hero-vignette,
.hero-noise {
  display: none !important;
}

/* soft fade so upper sky stays clean */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(247,248,250,0.96) 0%,
      rgba(247,248,250,0.80) 26%,
      rgba(247,248,250,0.20) 50%,
      rgba(247,248,250,0.00) 70%
    );
}

.hero-content,
.hero-copy,
.hero-copy h1,
.hero-copy .lead,
.hero-actions {
  position: relative;
  z-index: 5;
}

.hero-copy h1 {
  max-width: 11ch;
}

/* responsive */
@media (max-width: 1280px) {
  .hero-earth {
    right: -24%;
    width: min(1240px, 98vw);
  }

  .hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}
}

@media (max-width: 980px) {
  .hero {
    min-height: 780px;
  }

  .hero-earth {
    right: -42%;
    bottom: -8%;
    width: 132vw;
  }

  .hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}
}


/* ===== Hero orb final placement override ===== */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}

/* ===== Orb polish override ===== */
#hero-orb-three {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter: saturate(1.02) brightness(1.01) !important;
}

.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}

/* ===== Final orb position tuning ===== */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}

#hero-orb-three {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter: saturate(1.02) brightness(1.01) !important;
}

@media (max-width: 1280px) {
  .hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}
}

/* ===== Orb reposition + resize ===== */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}

#hero-orb-three {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter: saturate(1.02) brightness(1.01) !important;
}

@media (max-width: 1280px) {
  .hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}
}

/* ===== Final approved orb position ===== */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}


/* ===== Refined Earth activity twinkles ===== */
.hero-earth-lights {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 1 !important;
  mix-blend-mode: screen;
}

.earth-light {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(170, 230, 255, 0.95);
  box-shadow:
    0 0 6px rgba(170, 230, 255, 0.42),
    0 0 14px rgba(170, 230, 255, 0.20);
  opacity: 0.22;
  animation: earthTwinkleSoft 6.2s ease-in-out infinite;
}

.earth-light:nth-child(odd) {
  background: rgba(255, 225, 165, 0.92);
  box-shadow:
    0 0 6px rgba(255, 225, 165, 0.34),
    0 0 14px rgba(255, 225, 165, 0.16);
}

@keyframes earthTwinkleSoft {
  0%, 100% { opacity: 0.10; transform: scale(0.95); }
  20% { opacity: 0.18; transform: scale(1.02); }
  50% { opacity: 0.34; transform: scale(1.18); }
  72% { opacity: 0.14; transform: scale(0.98); }
}

/* positioned over the visible right-hand Earth */
.hero-earth-lights .l1  { left: 55%; top: 73%; animation-delay: 0.2s; }
.hero-earth-lights .l2  { left: 59%; top: 71%; animation-delay: 1.4s; }
.hero-earth-lights .l3  { left: 62%; top: 75%; animation-delay: 2.6s; }
.hero-earth-lights .l4  { left: 66%; top: 72%; animation-delay: 0.7s; }
.hero-earth-lights .l5  { left: 69%; top: 69%; animation-delay: 3.4s; }
.hero-earth-lights .l6  { left: 72%; top: 74%; animation-delay: 2.0s; }
.hero-earth-lights .l7  { left: 75%; top: 71%; animation-delay: 1.1s; }
.hero-earth-lights .l8  { left: 78%; top: 75%; animation-delay: 4.1s; }
.hero-earth-lights .l9  { left: 81%; top: 70%; animation-delay: 2.8s; }
.hero-earth-lights .l10 { left: 84%; top: 73%; animation-delay: 1.8s; }
.hero-earth-lights .l11 { left: 87%; top: 71%; animation-delay: 3.7s; }
.hero-earth-lights .l12 { left: 90%; top: 75%; animation-delay: 4.6s; }/* ===== FINAL ORB LOCK ===== */
.hero-orb-wrap {
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  opacity: 1 !important;
}


/* ===== Earth light visibility boost ===== */
.hero-earth-lights {
  opacity: 0.95 !important;
}

/* ===== ABSOLUTE FINAL ORB LOCK ===== */
.hero-orb-wrap {
  position: absolute !important;
  right: 12.3% !important;
  top: 41.9% !important;
  width: 308px !important;
  height: 308px !important;
  z-index: 3 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}


/* extra subtle Earth activity lights */
.hero-earth-lights .l13 { left: 58%; top: 77%; animation-delay: 0.9s; }
.hero-earth-lights .l14 { left: 64%; top: 78%; animation-delay: 2.2s; }
.hero-earth-lights .l15 { left: 71%; top: 77%; animation-delay: 3.1s; }
.hero-earth-lights .l16 { left: 77%; top: 78%; animation-delay: 1.7s; }
.hero-earth-lights .l17 { left: 83%; top: 77%; animation-delay: 2.9s; }
.hero-earth-lights .l18 { left: 88%; top: 78%; animation-delay: 4.3s; }

/* ===== Earth activity canvas ===== */
.hero-earth-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  pointer-events: none;
  opacity: 1 !important;
}

/* retire old CSS-dot lights */
.hero-earth-lights,
.earth-light {
  display: none !important;
}

/* ===== Earth activity visibility boost ===== */
.hero-earth-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 6 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  display: block !important;
  mix-blend-mode: screen;
}

/* ===== Small orb visibility boost ===== */
#hero-orb-three {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter: saturate(1.02) brightness(1.01) !important;
}

/* ===== Earth activity visibility lock ===== */
.hero-earth-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 7 !important;
  display: block !important;
  opacity: 1 !important;
  pointer-events: none !important;
  mix-blend-mode: screen;
}

.hero-earth {
  z-index: 1 !important;
}

/* ===== Final Earth activity layer ===== */
.hero-earth-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 7 !important;
  display: block !important;
  opacity: 1 !important;
  pointer-events: none !important;
  mix-blend-mode: screen;
}

/* ===== Refined small orb clarity ===== */
#hero-orb-three {
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 1 !important;
  filter: saturate(1.02) brightness(1.01) !important;
}

/* ===== Hero vertical tightening ===== */
.hero {
  min-height: 820px !important;
}

.hero-copy {
  padding-top: 92px !important;
}

.hero-earth {
  bottom: -2% !important;
}

.hero-orb-wrap {
  top: 37.8% !important;
}

@media (max-width: 1280px) {
  .hero {
    min-height: 760px !important;
  }

  .hero-copy {
    padding-top: 78px !important;
  }

  .hero-earth {
    bottom: -2% !important;
  }
}

/* ===== Hero lift adjustments ===== */
.hero {
  min-height: 790px !important;
}

.hero-copy {
  padding-top: 58px !important;
}

.hero-orb-wrap {
  top: 35.9% !important;
}

@media (max-width: 1280px) {
  .hero-copy {
    padding-top: 52px !important;
  }

  .hero-orb-wrap {
    top: 36.8% !important;
  }
}

/* ===== Hero top alignment ===== */
.hero {
  min-height: 760px !important;
}

.hero-copy {
  padding-top: 10px !important;
}

.hero-content.hero-content-wide {
  padding-top: 0 !important;
  align-items: flex-start !important;
}

.hero-orb-wrap {
  top: 31.8% !important;
}

@media (max-width: 1280px) {
  .hero {
    min-height: 720px !important;
  }

  .hero-copy {
    padding-top: 6px !important;
  }

  .hero-orb-wrap {
    top: 33.2% !important;
  }
}

/* ===== Final approved small orb position ===== */
.hero-orb-wrap {
  right: 21.3% !important;
  top: 26.3% !important;
  width: 308px !important;
  height: 308px !important;
}







/* ===== NASA photoreal moon — Focus Areas section ===== */
.hero-moon-wrap {
  position: relative !important;
  width: 320px !important;
  height: 320px !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Override the blanket ".hero-bg canvas { position:relative }" rule */
#hero-moon-canvas {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}


/* ═══════════════════════════════════════════════════════════════════
   PREMIUM METALLIC PANEL SYSTEM
   Brushed-aluminium card faces · Prismatic gradient rims · Bevel depth
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Brushed-aluminium card base ── */
.solution-card,
.thesis-card,
.project-card {
  background:
    repeating-linear-gradient(
      108deg,
      transparent 0px,
      rgba(0,0,0,.0065) 1px,
      transparent 2px,
      transparent 7px
    ),
    linear-gradient(155deg, #ffffff 0%, #f8fafc 58%, #f1f4f8 100%) !important;
  border: 1px solid rgba(188,200,216,.40) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(160,175,196,.14),
    0 1px 2px rgba(0,0,0,.04),
    0 6px 20px rgba(0,0,0,.052),
    0 22px 55px rgba(0,0,0,.030) !important;
  transition: box-shadow .38s ease, transform .38s ease !important;
}

/* ── 2. Prismatic gradient rim (replaces old border mask) ── */
.solution-card::before,
.thesis-card::before,
.project-card::before {
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.88) 0%,
    rgba(208,220,238,.55) 22%,
    rgba(178,194,216,.28) 46%,
    rgba(206,218,236,.50) 78%,
    rgba(255,255,255,.76) 100%
  ) !important;
  opacity: 1 !important;
}

/* ── 3. Metallic shimmer sweep ── */
.solution-card::after,
.thesis-card::after,
.project-card::after {
  background: linear-gradient(
    108deg,
    transparent 25%,
    rgba(255,255,255,.04) 40%,
    rgba(255,255,255,.26) 50%,
    rgba(255,255,255,.04) 60%,
    transparent 75%
  ) !important;
}

/* ── 4. Hover lift ── */
.solution-card:hover,
.thesis-card:hover,
.project-card:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(160,175,196,.20),
    0 2px 4px rgba(0,0,0,.05),
    0 14px 40px rgba(0,0,0,.095),
    0 38px 90px rgba(0,0,0,.050) !important;
}

/* ── 5. Featured project — cool blue-silver tint ── */
.project-card-featured {
  background:
    repeating-linear-gradient(
      108deg,
      transparent 0px,
      rgba(0,0,0,.006) 1px,
      transparent 2px,
      transparent 7px
    ),
    linear-gradient(155deg, #f7fbff 0%, #eef5ff 58%, #e6f0fc 100%) !important;
  border: 1px solid rgba(98,148,228,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(98,148,228,.14),
    0 2px 8px rgba(58,108,200,.045),
    0 10px 32px rgba(58,108,200,.068),
    0 28px 72px rgba(0,0,0,.040) !important;
}

.project-card-featured::before {
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.88) 0%,
    rgba(152,198,255,.42) 22%,
    rgba(118,174,255,.18) 50%,
    rgba(152,198,255,.38) 78%,
    rgba(255,255,255,.74) 100%
  ) !important;
}

/* ── 6. Metallic number / index badges ── */
.solution-icon,
.card-index {
  background: linear-gradient(142deg, #f0f4f9 0%, #e3eaf3 55%, #ecf0f7 100%) !important;
  border: 1px solid rgba(168,184,206,.46) !important;
  color: #3c4e68 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 1px 4px rgba(0,0,0,.07) !important;
  text-shadow: none !important;
}

/* ── 7. Section-kicker diamond accent ── */
.section-kicker,
.eyebrow,
.feature-topline {
  padding-left: 18px !important;
  position: relative;
}
.section-kicker::before,
.eyebrow::before,
.feature-topline::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 5px;
  border: 1.5px solid currentColor;
  opacity: 0.62;
}

/* ── 8. Column dividers in two-col text sections ── */
@media (min-width: 781px) {
  .intro-grid,
  .machine-grid,
  .final-grid {
    position: relative;
  }
  .intro-grid::after,
  .machine-grid::after,
  .final-grid::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 8%;
    height: 84%;
    width: 1px;
    background: linear-gradient(
      180deg,
      transparent 0%,
      rgba(0,0,0,.07) 20%,
      rgba(0,0,0,.08) 50%,
      rgba(0,0,0,.07) 80%,
      transparent 100%
    );
    pointer-events: none;
  }
}

/* ── Hex constellation background canvases ── */
#solutions-hex-bg,
#machine-hex-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  z-index: 0 !important;
  display: block !important;
}
.solutions-band,
.machine-band {
  position: relative !important;
  overflow: hidden !important;
}
.solutions-band .container,
.machine-band .container {
  position: relative !important;
  z-index: 1 !important;
}

/* ── Meet the Team ── */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 8px;
}
.team-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 22px 28px;
  border-radius: 20px;
  background:
    repeating-linear-gradient(108deg, transparent 0px, rgba(0,0,0,.006) 1px, transparent 2px, transparent 7px),
    linear-gradient(155deg, #ffffff 0%, #f8fafc 60%, #f1f4f8 100%);
  border: 1px solid rgba(188,200,216,.38);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 2px 6px rgba(0,0,0,.04),
    0 8px 24px rgba(0,0,0,.048);
  transition: transform .34s ease, box-shadow .34s ease;
}
.team-card:hover {
  transform: translateY(-5px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 4px 14px rgba(0,0,0,.06),
    0 18px 44px rgba(0,0,0,.072);
}
.team-avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 18px;
  background: linear-gradient(135deg, #e8edf5 0%, #d4dce9 100%);
  border: 2.5px solid rgba(188,200,216,.50);
  box-shadow: 0 3px 12px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.8);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.team-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.team-name {
  font-size: 1.02rem;
  font-weight: 700;
  margin: 0;
  color: #1a2332;
  letter-spacing: 0.01em;
}
.team-role {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #7a90a8;
  margin: 0 0 8px;
}
.team-bio {
  font-size: 0.82rem;
  line-height: 1.65;
  color: #4a5a6e;
  margin: 0;
  text-align: left;
}
@media (max-width: 900px) {
  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}

/* ── 9. Aspen bark micro-texture on section backgrounds ── */
.solutions-band,
.thesis-band,
.holdings-preview,
.machine-band {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='90'%3E%3Cline x1='0' y1='28' x2='120' y2='26' stroke='%23000' stroke-width='0.5' opacity='0.04'/%3E%3Cline x1='0' y1='56' x2='120' y2='58' stroke='%23000' stroke-width='0.35' opacity='0.032'/%3E%3Cline x1='0' y1='76' x2='120' y2='74' stroke='%23000' stroke-width='0.5' opacity='0.036'/%3E%3Cellipse cx='24' cy='14' rx='8' ry='2.8' stroke='%23000' stroke-width='0.5' fill='none' opacity='0.046'/%3E%3Cellipse cx='82' cy='42' rx='6.5' ry='2.2' stroke='%23000' stroke-width='0.4' fill='none' opacity='0.038'/%3E%3Cellipse cx='44' cy='68' rx='9' ry='3' stroke='%23000' stroke-width='0.5' fill='none' opacity='0.042'/%3E%3Cellipse cx='98' cy='82' rx='5.5' ry='1.8' stroke='%23000' stroke-width='0.4' fill='none' opacity='0.036'/%3E%3C/svg%3E") !important;
  background-size: 120px 90px !important;
}

/* ── 10. Ensure cards sit above section texture ── */
.solution-card,
.thesis-card,
.project-card {
  position: relative;
  z-index: 1;
}

/* ── 11. Card entrance animation classes (set by JS observer) ── */
.card-animate-in {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .58s cubic-bezier(.22,.68,0,1.2), transform .58s cubic-bezier(.22,.68,0,1.2);
}
.card-animate-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── 12. Feature-meta tags — metallic pill style ── */
.feature-meta span {
  background: linear-gradient(135deg, rgba(255,255,255,.7), rgba(236,242,250,.6)) !important;
  border: 1px solid rgba(168,184,206,.40) !important;
  color: #3c4e68 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65) !important;
}

/* ── 13. Intro / final band h2 — refined weight ── */
.intro-band h2,
.machine-band h2,
.final-band h2 {
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
}

/* ── 14. Section divider line between major sections ── */
.section-light + .section-dark,
.section-dark + .section-light {
  position: relative;
}
.section-light + .section-dark::before,
.section-dark + .section-light::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  width: 80%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0,0,0,.09) 25%,
    rgba(0,0,0,.13) 50%,
    rgba(0,0,0,.09) 75%,
    transparent
  );
}
