/* ==========================================================================
   Starrgu Ltd — Institutional Modern
   Cleaned + Neon Blue Text Effects
   ========================================================================== */

:root,
[data-theme="light"] {
  --ink: #0B0B0C;
  --paper: #F6F4EF;
  --paper-2: #EDEAE3;
  --graphite: #2A2A2E;
  --muted: #5C5C60;
  --muted-d: #6E6E73;
  --accent: #0222F1;
  --accent-d: #0222F1;
  --line: rgba(11,11,12,.10);
  --line-d: rgba(11,11,12,.10);
  --card-bg: #FFFDF9;
  --card-shadow:
    0 1px 2px rgba(11,11,12,.03),
    0 14px 30px -20px rgba(11,11,12,.16);

  --serif: "Zodiak","Iowan Old Style","Palatino Linotype","Times New Roman",serif;
  --sans: "Switzer",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono: "JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

  --gutter: clamp(24px,6vw,96px);
  --maxw: 1200px;
  --sect-y: clamp(88px,13vh,168px);
  --label-col: clamp(110px,12vw,168px);

  /* Neon blue */
  --neon: #1E5BFF;
  --neon-bright: #4D7CFF;
  --neon-soft: rgba(30,91,255,.45);
  --neon-faint: rgba(30,91,255,.12);
}

[data-theme="dark"] {
  --ink: #F6F4EF;
  --paper: #0B0B0C;
  --paper-2: #161617;
  --graphite: #EDEAE3;
  --muted: #9A9AA1;
  --muted-d: #9A9AA1;
  --accent: #5A6DFF;
  --accent-d: #5A6DFF;
  --line: rgba(255,255,255,.12);
  --line-d: rgba(255,255,255,.12);
  --card-bg: #121213;
  --card-shadow:
    0 1px 3px rgba(0,0,0,.5),
    0 16px 40px -20px rgba(0,0,0,.8);

  --neon: #5A6DFF;
  --neon-bright: #8A9AFF;
  --neon-soft: rgba(90,109,255,.6);
  --neon-faint: rgba(90,109,255,.15);
}

.page-company .pagehead{
  background-image:url(/img/company.jpeg);
}
.page-careers .pagehead{
  background-image:url(/img/portfolio.png);
}
.page-portfolio .pagehead{
  background-image:url(/img/portfolio.png);
}


/* ==========================================================================
   Base
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 17px/1.55 var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background-color .4s ease,color .4s ease;
}

@media (min-width:800px) {
  body { font-size:18px; }
}

img,
svg {
  max-width:100%;
}


/* ==========================================================================
   Typography
   ========================================================================== */

h1,
h2,
h3,
h4 {
  margin:0;
  font-family:var(--serif);
  font-weight:400;
}

h1 {
  max-width:16ch;
  font-size:clamp(3rem,7vw,6.5rem);
  line-height:.98;
  letter-spacing:-.02em;
}

h2 {
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.05;
  letter-spacing:-.015em;
}

h3 {
  font-size:clamp(1.4rem,2.2vw,1.9rem);
  line-height:1.15;
  letter-spacing:-.01em;
}

p {
  max-width:62ch;
  margin:0 0 1em;
}

p:last-child {
  margin-bottom:0;
}

.lead {
  max-width:46ch;
  font-size:clamp(1.125rem,1.6vw,1.375rem);
  line-height:1.4;
  color:var(--ink);

}

.muted { color:var(--muted); }

.small {
  font-size:.875rem;
  line-height:1.6;
}

.tiny {
  color:var(--muted);
  font-size:.8125rem;
  line-height:1.6;
}

.label,
.eyebrow {
  color:var(--muted);
  font:400 11px/1.4 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}


.label {
  margin:0;
}

.eyebrow {
  margin:0 0 clamp(20px,3vw,34px);
}


/* ==========================================================================
   Neon Typography
   ========================================================================== */

.neon-text {
  color:var(--neon-bright);
  text-shadow:
    0 0 4px var(--neon-soft),
    0 0 10px var(--neon-soft),
    0 0 22px rgba(30,91,255,.3);
}

.neon-text--strong {
  color:var(--neon-bright);
  text-shadow:
    0 0 4px rgba(255,255,255,.25),
    0 0 8px var(--neon-soft),
    0 0 18px var(--neon-soft),
    0 0 36px rgba(30,91,255,.35);
}

.neon-text--subtle {
  text-shadow:
    0 0 8px rgba(30,91,255,.25),
    0 0 18px rgba(30,91,255,.15);
}

h1 em.accent {
  color:var(--accent);
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:normal;
  text-shadow:none;
  filter:drop-shadow(0 0 10px rgba(30,91,255,.25));
}

[data-theme="dark"] h1 em.accent {
  background:linear-gradient(135deg,#7C8DFF,#B8C2FF);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 14px rgba(90,109,255,.45));
}

.step__n,
.fact__n,
.arg__n {
  color:var(--accent);
  text-shadow:
    0 0 5px var(--neon-soft),
    0 0 16px rgba(30,91,255,.2);
}

[data-theme="dark"] .step__n,
[data-theme="dark"] .fact__n,
[data-theme="dark"] .arg__n {
  color:var(--accent);
  text-shadow:
    0 0 5px rgba(90,109,255,.7),
    0 0 20px rgba(90,109,255,.3);
}


/* ==========================================================================
   Layout
   ========================================================================== */

.wrap {
  width:100%;
  max-width:calc(var(--maxw) + 2 * var(--gutter));
  margin:0 auto;
  padding-inline:var(--gutter);
}

.section {
  padding-block: var(--sect-y);
}

.section + .section {
  border-top:1px solid var(--line);
}

.section-grid {
  display:grid;
  gap:clamp(28px,4vw,48px);
}

@media (min-width:900px) {
  .section-grid {
    grid-template-columns:var(--label-col) minmax(0,1fr);
    gap:clamp(32px,5vw,64px);
  }

  .section-grid > .label {
    padding-top:.75rem;
  }
}

.rule {
  margin:0;
  border:0;
  border-top:1px solid var(--line);
}

.dark .rule,
.band-dark .rule {
  border-top-color:var(--line-d);
}


/* ==========================================================================
   Accessibility / Focus
   ========================================================================== */

.skip {
  position:absolute;
  top:0;
  left:-9999px;
  z-index:200;
  padding:12px 18px;
  background:var(--ink);
  color:var(--paper);
  font:12px var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
}

.skip:focus {
  top:12px;
  left:12px;
}

:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:1px;
}

.band-dark :focus-visible,
.siteheader--dark :focus-visible {
  outline-color:var(--accent-d);
}

[hidden] {
  display:none !important;
}


/* ==========================================================================
   Links
   ========================================================================== */

a {
  color:inherit;
}

.link {
  position:relative;
  display:inline-block;
  color:var(--accent);
  font-weight:500;
  text-decoration:none;
  transition:color .2s ease,transform .25s cubic-bezier(.22,1,.36,1);
}

.link::after,
.nav a::after,
.sitefooter a::after {
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:1px;
  content:"";
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease-out;
}

.link:hover::after,
.link:focus-visible::after,
.nav a:hover::after,
.nav a:focus-visible::after,
.sitefooter a:hover::after,
.sitefooter a:focus-visible::after {
  transform:scaleX(1);
}

.link:hover {
  transform:translateX(4px);
  text-shadow:0 0 12px var(--neon-soft);
}

.band-dark .link {
  color:var(--accent-d);
}

.link--ink {
  color:var(--ink);
}

.band-dark .link--ink {
  color:var(--paper);
}

.arrow {
  font-family:var(--sans);
}

.ext {
  margin-left:.25em;
  font-size:.85em;
  vertical-align:baseline;
}


/* ==========================================================================
   Buttons
   ========================================================================== */

.btn {
  display:inline-block;
  padding:14px 26px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--paper);
  font:500 .9375rem var(--sans);
  letter-spacing:.005em;
  text-decoration:none;
  cursor:pointer;
  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.btn:hover {
  background:transparent;
  color:var(--ink);
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(0,0,0,.12);
}

.btn:active {
  transform:translateY(0);
  box-shadow:none;
}

.btn--outline {
  background:transparent;
  color:var(--ink);
}

.btn--outline:hover {
  background:var(--ink);
  color:var(--paper);
}

.band-dark .btn {
  border-color:var(--paper);
  background:var(--paper);
  color:var(--ink);
}

.band-dark .btn:hover {
  background:transparent;
  color:var(--paper);
}

.btn-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:clamp(20px,3vw,36px);
  margin-top:clamp(32px,5vw,52px);
}


/* ==========================================================================
   Header
   ========================================================================== */

.siteheader {
  position:fixed;
  top:8px;
  right:0;
  left:0;
  z-index:100;
  width:min(calc(100% - 16px),calc(var(--maxw) + 2 * var(--gutter)));
  max-width:calc(var(--maxw) + 2 * var(--gutter));
  margin:8px auto 0;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper) 90%,transparent);
  box-shadow:0 8px 24px -18px rgba(11,11,12,.3);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.siteheader--dark {
  border-color:var(--line-d);
  background:color-mix(in srgb,var(--ink) 88%,transparent);
  color:var(--paper);
  box-shadow:0 20px 40px -24px rgba(0,0,0,.6);
}

.siteheader__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  max-width:var(--maxw);
  margin:0 auto;
  padding:2px clamp(8px,1.2vw,10px);
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
}

.brand__mark {
  flex:none;
}

.brand__word {
  display:block;
  width:auto;
  height:14px;
}

.nav {
  display:none;
  align-items:center;
  gap:clamp(16px,2vw,28px);
  margin-left:auto;
}

@media (min-width:900px) {
  .nav {
    display:flex;
  }
}

.nav a {
  position:relative;
  padding-block:2px;
  color:inherit;
  font-size:.75rem;
  text-decoration:none;
}

.nav a::after {
  bottom:0;
}

.nav a[aria-current="page"]::after {
  background:var(--accent);
  transform:scaleX(1);
}

.siteheader--dark .nav a[aria-current="page"]::after {
  background:var(--accent-d);
}

.nav__cta-wrap {
  display:none;
}

@media (min-width:900px) {
  .nav__cta-wrap {
    display:flex;
  }
}

.nav__cta {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#4F5AFF,#7B6FFF 50%,#A78BFA);
  color:#fff;
  font:500 .8125rem var(--sans);
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}

.nav__cta:hover {
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(79,90,255,.4);
  filter:brightness(1.1);
}

.nav__cta:active {
  transform:translateY(0);
  box-shadow:none;
}

.nav__cta span {
  font-size:.9em;
}

.navtoggle {
  margin-left:16px;
  padding:6px 10px;
  border:1px solid rgba(11,11,12,.28);
  background:none;
  color:inherit;
  font:10px var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
}

.siteheader--dark .navtoggle {
  border-color:rgba(255,255,255,.32);
}

@media (min-width:900px) {
  .navtoggle {
    display:none;
  }
}


/* ==========================================================================
   Mobile Navigation
   ========================================================================== */

.navoverlay {
  position:fixed;
  inset:0;
  z-index:150;
  display:flex;
  flex-direction:column;
  padding:18px var(--gutter) 48px;
  background:var(--paper);
}

.navoverlay__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.navoverlay nav {
  display:flex;
  flex:1;
  align-items:center;
}

.navoverlay__list {
  display:flex;
  flex-direction:column;
  gap:clamp(14px,4vh,26px);
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}

.navoverlay__list a {
  font-family:var(--serif);
  font-size:clamp(2rem,11vw,3rem);
  line-height:1;
  letter-spacing:-.02em;
  text-decoration:none;
}

.navoverlay__list a[aria-current="page"] {
  color:var(--accent);
  text-shadow:0 0 18px var(--neon-soft);
}

body[data-navopen="true"] {
  overflow:hidden;
}


/* ==========================================================================
   Hero
   ========================================================================== */

.hero {
  position:relative;
  overflow:hidden;
  margin-top:0;
  padding-block:clamp(100px,15vh,160px) clamp(120px,18vh,200px);
  background:#0B0B0C;
  color:#F6F4EF;
}

.hero .eyebrow {
  color:#9A9AA1;
}

.hero h1 {
  max-width:16ch;
}

.hero .lead {
  max-width:44ch;
  margin-top:clamp(28px,4vw,44px);
  color:#9A9AA1;
  text-align:justify;
}

.hero em.accent {
  color:#5A6DFF;
  font-style:normal;
  text-shadow:
    0 0 8px rgba(90,109,255,.6),
    0 0 24px rgba(90,109,255,.35);
}

.hero .btn {
  border-color:#F6F4EF;
  background:#F6F4EF;
  color:#0B0B0C;
}

.hero .btn:hover {
  background:transparent;
  color:#F6F4EF;
}

.hero .link {
  color:#5A6DFF;
}

.hero__video-bg-wrap {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
}

.hero__video-bg {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.35;
}

.hero__video-overlay {
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    to bottom,
    rgba(11,11,12,.4),
    rgba(11,11,12,.85)
  );
}

.hero__content {
  position:relative;
  z-index:3;
}

.sectorstrip {
  padding-block:22px;
  border-top:1px solid rgba(255,255,255,.12);
  background:#0B0B0C;
  color:#9A9AA1;
}

.sectorstrip p {
  max-width:none;
  margin:0;
  font:11px var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
}


/* ==========================================================================
   Page Head / Bands
   ========================================================================== */

.pagehead {
  padding-block:clamp(72px,12vh,148px) clamp(48px,7vh,88px);
  text-align: left;
}

.pagehead h1 {
  max-width:14ch;
}

.pagehead .lead {
  margin-top:clamp(14px,2vw,22px);
  color:var(--muted);
  text-align: left;
}

.band-dark {
  background:var(--ink);
  color:var(--paper);
}

.band-dark .label,
.band-dark .eyebrow,
.band-dark .muted,
.band-dark .tiny,
.band-dark .lead {
  color:var(--muted-d);
}

.band-2 {
  background:var(--paper-2);
}

.section.band-dark + .section,
.section + .section.band-dark {
  border-top:0;
}

.section + .brand-showcase,
.brand-showcase + .section {
  border-top:0;
}


/* ==========================================================================
   Steps
   ========================================================================== */

.steps {
  display:grid;
  gap:1px;
  background:var(--line);
}

@media (min-width:760px) {
  .steps {
    grid-template-columns:repeat(3,1fr);
  }
}

.band-dark .steps {
  background:var(--line-d);
}

.step {
  padding:clamp(24px,3vw,34px) clamp(20px,2.4vw,30px);
  background:var(--paper);
}

.band-dark .step {
  background:var(--ink);
}

.step__n {
  display:block;
  margin-bottom:18px;
  font:11px var(--mono);
  letter-spacing:.14em;
}

.step h3 {
  margin-bottom:10px;
}

.step p {
  max-width:34ch;
  color:var(--muted);
  font-size:.9375rem;
}

.band-dark .step p {
  color:var(--muted-d);
}

.closing {
  max-width:26ch;
  margin:clamp(28px,4vw,48px) 0 0;
  font:clamp(1.5rem,3vw,2.4rem)/1.15 var(--serif);
  letter-spacing:-.015em;
}


/* ==========================================================================
   Cards
   ========================================================================== */

.cards {
  display:grid;
  gap:clamp(18px,2.4vw,28px);
}
.model-t{
  font-size: 0.875rem;
  color: var(--muted);
  margin-top: 1rem;
}

@media (min-width:820px) {
  .cards {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:auto auto 1fr auto;
  }

  .card {
    grid-row:span 4;
    grid-template-rows:subgrid;
  }
}

.card {
  display:grid;
  align-content:start;
  gap:16px;
  width: 100%;
  height: 100%;
  padding:clamp(22px,2.6vw,30px);
  border:1px solid var(--line);
  background:var(--card-bg);
  box-shadow:var(--card-shadow);
  transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s ease;
}

.product-logo {
  display:block;
  width:100%;
  max-width:140px;
  aspect-ratio:1;
  object-fit:cover;
  border:1px solid var(--line);
  border-radius:3px;
}

.card:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 40px -15px rgba(0,0,0,.15);
}

[data-theme="dark"] .card:hover {
  box-shadow:0 20px 40px -15px rgba(0,0,0,.5);
}

.card__name {
  padding-top:4px;
  font:clamp(1.5rem,2.2vw,1.9rem)/1 var(--serif);
  letter-spacing:-.02em;
}

.card__meta {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font:10.5px var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.card__meta .status {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ink);
  white-space:nowrap;
}

.dot {
  display:inline-block;
  flex:none;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  animation:pulse-dot 2s ease-in-out infinite;
  box-shadow:0 0 8px var(--neon-soft);
}

.card p {
  max-width:none;
  margin:0;
  color:var(--muted);
  font-size:.9375rem;
}

.card__foot {
  align-self:end;
  padding-top:6px;
  font-size:.9375rem;
}

.card__foot .plain {
  color:var(--muted);
  font:11px var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

@keyframes pulse-dot {
  0%,100% { opacity:1;transform:scale(1); }
  50% { opacity:.5;transform:scale(1.4); }
}


/* ==========================================================================
   Rows / Pills
   ========================================================================== */

.rows {
  border-top:1px solid var(--line);
}

.band-dark .rows {
  border-top-color:var(--line-d);
}

.row {
  display:grid;
  gap:6px 24px;
  align-items:baseline;
  padding-block:clamp(20px,2.6vw,28px);
  border-bottom:1px solid var(--line);
}

.band-dark .row {
  border-bottom-color:var(--line-d);
}

@media (min-width:760px) {
  .row {
    grid-template-columns:minmax(0,5fr) minmax(0,7fr) auto;
  }
}

.row__name {
  font:clamp(1.25rem,1.8vw,1.5rem)/1.1 var(--serif);
  letter-spacing:-.015em;
}

.row p {
  max-width:48ch;
  margin:0;
  color:var(--muted);
  font-size:.9375rem;
}

.pill,
.chips li {
  color:var(--muted);
  border:1px solid var(--line);
  font:10.5px var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pill {
  justify-self:start;
  padding:5px 10px;
  white-space:nowrap;
}

.band-dark .pill {
  border-color:var(--line-d);
}


/* ==========================================================================
   Facts
   ========================================================================== */

.factsband {
  padding-block:clamp(60px,9vh,104px);
}

.facts {
  display:grid;
  gap:0;
}

.fact {
  padding-block:clamp(20px,2.4vw,26px);
  border-top:1px solid var(--line-d);
}

.fact:first-child {
  padding-top:0;
  border-top:0;
}

.fact:last-child {
  padding-bottom:0;
}

@media (min-width:700px) {
  .facts {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .fact {
    padding:0 clamp(18px,2.2vw,30px);
    border-top:0;
    border-left:1px solid var(--line-d);
  }

  .fact:first-child {
    padding-left:0;
    border-left:0;
  }

  .fact:last-child {
    padding-right:0;
  }
}

.fact__n {
  display:block;
  margin-bottom:18px;
  font:clamp(2.6rem,4.6vw,3.6rem)/1 var(--serif);
  letter-spacing:-.025em;
}

.fact p {
  max-width:26ch;
  margin:0;
  color:var(--muted-d);
  font-size:.875rem;
}


/* ==========================================================================
   Arguments
   ========================================================================== */

.args {
  display:grid;
  gap:clamp(32px,4.5vw,56px);
}

.arg h3 {
  max-width:22ch;
  margin-bottom:12px;
}

.arg p {
  max-width:54ch;
  color:var(--muted);
}

.arg__n {
  display:block;
  margin-bottom:14px;
  font:11px var(--mono);
  letter-spacing:.14em;
}

@media (min-width:900px) {
  .args--two {
    grid-template-columns:repeat(2,1fr);
    column-gap:clamp(40px,5vw,72px);
  }
}

.page-company .arg,
.page-investors .arg,
.page-careers .arg {
  position:relative;
  padding:22px 24px;
  border:1px solid transparent;
  border-radius:4px;
  transition:
    transform 450ms cubic-bezier(.22,1,.36,1),
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 450ms ease;
}

.page-company .arg:hover,
.page-investors .arg:hover,
.page-careers .arg:hover {
  transform:translateY(-7px);
  background:var(--card-bg);
  border-color:var(--line);
  box-shadow:var(--card-shadow);
}

.page-company .arg h3,
.page-investors .arg h3,
.page-careers .arg h3,
.page-company .arg p,
.page-investors .arg p,
.page-careers .arg p {
  transition:
    transform 400ms cubic-bezier(.22,1,.36,1),
    color 250ms ease;
}

.page-company .arg:hover h3,
.page-investors .arg:hover h3,
.page-careers .arg:hover h3,
.page-company .arg:hover p,
.page-investors .arg:hover p,
.page-careers .arg:hover p {
  transform:translateX(5px);
}

.page-company .arg:hover h3,
.page-investors .arg:hover h3,
.page-careers .arg:hover h3 {
  color:var(--accent);
  text-shadow:0 0 12px var(--neon-faint);
}


/* ==========================================================================
   Definition Table
   ========================================================================== */

.dtable {
  width:100%;
  max-width:640px;
  border-top:1px solid var(--line);
}

.dtable div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  padding-block:16px;
  border-bottom:1px solid var(--line);
}

.dtable dt {
  max-width:26ch;
  margin:0;
  color:var(--muted);
  font-size:.9375rem;
}

.dtable dd {
  margin:0;
  font: .9375rem var(--mono);
  letter-spacing:.04em;
  text-align:right;
  transition:transform .3s cubic-bezier(.22,1,.36,1),color .25s ease;
}

.page-company .dtable div,
.page-investors .dtable div {
  transition:
    background-color .3s ease,
    padding-inline .3s cubic-bezier(.22,1,.36,1),
    border-color .25s ease;
}

.page-company .dtable div:hover,
.page-investors .dtable div:hover {
  padding-inline:12px;
  background:color-mix(in srgb,var(--accent) 4%,transparent);
}

.page-company .dtable div:hover dd,
.page-investors .dtable div:hover dd {
  transform:translateX(-5px);
  color:var(--accent);
  text-shadow:0 0 12px var(--neon-soft);
}


/* ==========================================================================
   Lines
   ========================================================================== */

.lines {
  display:grid;
  gap:14px;
  max-width:58ch;
  margin:0;
  padding:0;
  list-style:none;
}

.lines li {
  display:grid;
  grid-template-columns:22px 1fr;
  gap:4px;
  font-size:1rem;
}

.lines li span:first-child {
  color:var(--muted);
}

.page-investors .lines li,
.page-careers .lines li {
  transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s ease;
}

.page-investors .lines li:hover,
.page-careers .lines li:hover {
  transform:translateX(7px);
}

.page-investors .lines li:hover span:first-child,
.page-careers .lines li:hover span:first-child {
  color:var(--accent);
  text-shadow:0 0 12px var(--neon-soft);
}


/* ==========================================================================
   Prose
   ========================================================================== */

.prose h3 {
  margin-top:clamp(40px,5vw,64px);
  margin-bottom:14px;
}

.prose h3:first-child {
  margin-top:0;
}

.prose p,
.prose ul {
  color:var(--muted);
}

.prose p strong {
  color:var(--ink);
  font-weight:500;
}

.prose ul {
  max-width:62ch;
  padding-left:1.1em;
}

.prose li {
  margin-bottom:8px;
}


/* ==========================================================================
   Forms
   ========================================================================== */

.form {
  max-width:560px;
}

.field {
  position:relative;
  margin-bottom:22px;
}

.field label {
  display:block;
  margin-bottom:9px;
  color:var(--muted);
  font:11px var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .25s ease,transform .3s cubic-bezier(.22,1,.36,1);
}

.field input,
.field textarea {
  width:100%;
  padding:10px 0;
  border:0;
  border-bottom:1px solid rgba(11,11,12,.25);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font:1rem var(--sans);
  transition:
    border-color .3s ease,
    box-shadow .3s ease,
    padding-left .3s cubic-bezier(.22,1,.36,1);
}

.field textarea {
  min-height:96px;
  resize:vertical;
}

.field input:focus,
.field textarea:focus {
  outline:none;
  border-bottom-color:var(--accent);
}

.field input:focus-visible,
.field textarea:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px;
}

.formfoot {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:24px;
  margin-top:30px;
}

.formsuccess {
  max-width:560px;
  padding:20px 0 20px 22px;
  border-left:2px solid var(--accent);
}

.formsuccess h3 {
  margin-bottom:10px;
  font-size:clamp(1.25rem,2vw,1.6rem);
}

.formsuccess p {
  color:var(--muted);
  font-size:.9375rem;
}

.band-dark .field label {
  color:var(--muted-d);
}

.band-dark .field input,
.band-dark .field textarea {
  border-bottom-color:rgba(246,244,239,.28);
  color:var(--paper);
}

.band-dark .field input::placeholder,
.band-dark .field textarea::placeholder {
  color:rgba(246,244,239,.4);
}

.band-dark .field input:focus,
.band-dark .field textarea:focus {
  border-bottom-color:var(--paper);
}

.band-dark .field input:focus-visible,
.band-dark .field textarea:focus-visible {
  outline-color:var(--paper);
}

.band-dark .field input:-webkit-autofill {
  -webkit-text-fill-color:var(--paper);
  -webkit-box-shadow:0 0 0 1000px var(--ink) inset;
}

.band-dark .formsuccess {
  border-left-color:var(--paper);
}

.band-dark .formsuccess p {
  color:var(--muted-d);
}

.page-investors .field:focus-within label {
  color:var(--accent-d);
  transform:translateX(4px);
}

.page-investors .field input:focus,
.page-investors .field textarea:focus {
  padding-left:8px;
  box-shadow:0 4px 20px -14px var(--accent-d);
}


/* ==========================================================================
   Contact Routes
   ========================================================================== */

.routes {
  display:grid;
  gap:1px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--line);
}

@media (min-width:700px) {
  .routes {
    grid-template-columns:repeat(2,1fr);
  }
}

.route {
  padding:clamp(24px,3vw,36px) clamp(20px,2.4vw,32px);
  background:var(--paper);
}

.route h3 {
  margin-bottom:8px;
  font-size:clamp(1.2rem,1.7vw,1.45rem);
}

.route p {
  margin:0 0 14px;
  color:var(--muted);
  font-size:.9375rem;
}


/* ==========================================================================
   Editorial Images
   ========================================================================== */

.figure {
  margin:0;
}

.figure img {
  display:block;
  width:100%;
  height:auto;
}

.figure--full {
  overflow:hidden;
}

.figure--full img {
  height:clamp(280px,34vw,560px);
  object-fit:cover;
  object-position:center;
}

.figure figcaption {
  margin-top:12px;
  color:var(--muted);
  font:10.5px var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}



/* ==========================================================================
   Statement / Big Head
   ========================================================================== */

.statement {
  max-width:34ch;
  margin-bottom:1.4em;
  color:var(--ink);
  font:clamp(1.375rem,2.4vw,1.9rem)/1.22 var(--serif);
  letter-spacing:-.015em;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    color .3s ease,
    letter-spacing .45s cubic-bezier(.22,1,.36,1);
}

.band-dark .statement {
  color:var(--paper);
}

.page-company .statement:hover,
.page-investors .statement:hover,
.page-careers .statement:hover {
  transform:translateX(7px);
  color:var(--accent);
  text-shadow:0 0 18px var(--neon-faint);
}

.bighead {
  font:clamp(1.75rem,3.4vw,2.75rem)/1.06 var(--serif);
  letter-spacing:-.02em;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    letter-spacing .45s cubic-bezier(.22,1,.36,1);
}

.page-investors .bighead:hover,
.page-careers .bighead:hover {
  transform:translateX(7px);
  letter-spacing:-.01em;
  text-shadow:0 0 18px var(--neon-faint);
}

.smallprint {
  padding-block:clamp(40px,6vh,72px);
}


/* ==========================================================================
   Footer
   ========================================================================== */

.sitefooter {
  padding-block:clamp(56px,8vh,96px) 36px;
  background:var(--ink);
  color:var(--paper);
  border-top:4px solid var(--accent);
}

.sitefooter__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(32px,4vw,48px);
  padding-bottom:clamp(40px,6vw,64px);
}

@media (min-width:760px) {
  .sitefooter__grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

.sitefooter h2 {
  margin:0 0 18px;
  color:var(--muted-d);
  font:400 11px/1 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}

.sitefooter ul {
  display:grid;
  gap:11px;
  margin:0;
  padding:0;
  list-style:none;
}

.sitefooter a {
  position:relative;
  color:var(--paper);
  font-size:.9375rem;
  text-decoration:none;
}

.sitefooter li.plainitem {
  color:var(--muted-d);
  font-size:.9375rem;
}

.sitefooter__brand .brand {
  margin-bottom:16px;
}

.sitefooter__brand p {
  max-width:30ch;
  color:var(--muted-d);
  font-size:.9375rem;
}

.sitefooter__base {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 32px;
  padding-top:28px;
  border-top:1px solid var(--line-d);
}

.sitefooter__base p {
  max-width:none;
  margin:0;
  color:var(--muted-d);
  font-size:.8125rem;
}


/* ==========================================================================
   Reveal
   ========================================================================== */

.reveal-on .reveal {
  opacity:0;
  transform:translateY(12px);
  transition:opacity .5s ease-out,transform .5s ease-out;
}

.reveal-on .reveal.is-in {
  opacity:1;
  transform:none;
}

.page-company .reveal,
.page-portfolio .letter {
  will-change:transform,opacity,filter;
}


/* ==========================================================================
   Product Rows
   ========================================================================== */

.prodrow {
  display:grid;
  row-gap:18px;
  padding-block:clamp(38px,5.5vw,68px);
  border-top:1px solid var(--line);
}

.prodrow:first-child {
  padding-top:0;
  border-top:0;
}

.prodrow__name {
  margin:0 0 12px;
  font-size:clamp(1.85rem,3.4vw,2.75rem);
  line-height:1.02;
  letter-spacing:-.02em;
}

.prodrow__top .product-logo {
  margin-bottom:20px;
}

.prodrow__meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin:0;
  color:var(--muted);
  font:10.5px var(--mono);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.prodrow__meta .status {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ink);
  white-space:nowrap;
}

.prodrow > p {
  max-width:54ch;
  margin:0;
  color:var(--ink);
}

.prodrows--muted .prodrow > p {
  color:var(--muted);
}

.prodrows--muted .prodrow__name {
  color:var(--ink);
}

.prodrow__link {
  font-size:.9375rem;
}

.prodrow__link .plain {
  color:var(--muted);
  font-size:.9375rem;
}

.chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.chips li {
  padding:6px 11px;
  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    border-color .25s ease,
    color .25s ease,
    background-color .25s ease;
}

@media (min-width:840px) {
  .prodrow {
    grid-template-columns:minmax(0,4fr) minmax(0,8fr);
    column-gap:clamp(32px,4vw,64px);
  }

  .prodrow__top {
    grid-column:1;
    grid-row:1 / span 4;
  }

  .prodrow > :not(.prodrow__top) {
    grid-column:2;
  }
}


/* ==========================================================================
   Portfolio Interactions
   ========================================================================== */

.page-portfolio .prodrow {
  position:relative;
  margin-inline:calc(clamp(12px,2vw,24px) * -1);
  padding-inline:clamp(12px,2vw,24px);
  border-radius:4px;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .45s ease;
}

.page-portfolio .prodrow:hover {
  transform:translateY(-5px);
  background:var(--card-bg);
  box-shadow:var(--card-shadow);
}

.page-portfolio .prodrow__name {
  position:relative;
  display:inline-block;
  transition:
    transform .4s cubic-bezier(.22,1,.36,1),
    color .3s ease,
    letter-spacing .4s ease;
}

.page-portfolio .prodrow:hover .prodrow__name {
  transform:translateX(6px);
  color:var(--accent);
  letter-spacing:-.01em;
  text-shadow:0 0 18px var(--neon-faint);
}

.page-portfolio .prodrow > p,
.page-portfolio .prodrow__meta,
.page-portfolio .prodrow__link {
  transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s ease;
}

.page-portfolio .prodrow:hover > p,
.page-portfolio .prodrow:hover .prodrow__meta,
.page-portfolio .prodrow:hover .prodrow__link {
  transform:translateX(4px);
}

.page-portfolio .prodrow:hover .chips li {
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
}

.page-portfolio .chips li:hover {
  transform:translateY(-3px);
  color:var(--accent);
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 5%,transparent);
  box-shadow:0 0 14px var(--neon-faint);
}

.page-portfolio .row {
  transition:
    transform .4s cubic-bezier(.22,1,.36,1),
    background-color .3s ease,
    padding-inline .35s cubic-bezier(.22,1,.36,1);
}

.page-portfolio .row:hover {
  transform:translateX(6px);
  padding-inline:12px;
  background:color-mix(in srgb,var(--paper-2) 55%,transparent);
}

.page-portfolio .row__name {
  transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s ease;
}

.page-portfolio .row:hover .row__name {
  transform:translateX(4px);
  color:var(--accent);
  text-shadow:0 0 12px var(--neon-faint);
}

.page-portfolio .pill {
  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    color .25s ease,
    border-color .25s ease;
}

.page-portfolio .row:hover .pill {
  transform:translateX(-4px);
  color:var(--accent);
  border-color:var(--accent);
}

.page-portfolio .section h2 {
  transition:transform .45s cubic-bezier(.22,1,.36,1),color .3s ease;
}

.page-portfolio .section:hover h2 {
  transform:translateX(4px);
  text-shadow:0 0 14px var(--neon-faint);
}


/* ==========================================================================
   Portfolio Letter Reveal
   ========================================================================== */

.page-portfolio .letter {
  display:inline-block;
  opacity:0;
  filter:blur(10px);
  transform:translateY(18px);
  animation:portfolioLetterReveal .7s cubic-bezier(.22,1,.36,1) forwards;
}

@keyframes portfolioLetterReveal {
  0% {
    opacity:0;
    filter:blur(10px);
    transform:translateY(18px);
  }

  55% {
    opacity:.75;
    filter:blur(3px);
  }

  100% {
    opacity:1;
    filter:blur(0);
    transform:translateY(0);
  }
}

.page-portfolio .prodrow__name:hover {
  text-shadow:
    0 0 8px var(--neon-soft),
    0 0 24px color-mix(in srgb,var(--accent) 22%,transparent);
}


/* ==========================================================================
   Brand Identity Slideshow
   ========================================================================== */

/* ── Dark band wrapper ── */
.brand-showcase {
  position:relative;
  background:#0B0B0C;
  color:#F6F4EF;
  border-top:0 !important;
  padding-block:clamp(72px,10vh,140px);
  overflow:hidden;
}

.brand-showcase::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,rgba(90,109,255,.08),transparent 70%),
    radial-gradient(ellipse 60% 50% at 80% 100%,rgba(90,109,255,.05),transparent 60%);
  pointer-events:none;
}

.brand-showcase .label {
  color:#9A9AA1;
}

.brand-showcase .lead {
  color:#9A9AA1;
}

.brand-showcase h2 {
  color:#F6F4EF;
}

/* ── Slideshow container ── */
.slideshow {
  position:relative;
  display:grid;
  width:100%;
  max-width:880px;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:center;
  margin:clamp(32px,5vw,56px) 0 0;
}

/* ── Glassmorphic frame ── */
.slideshow__frame {
  position:relative;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  padding:10px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:
    0 2px 8px rgba(0,0,0,.3),
    0 24px 48px -20px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:box-shadow .5s ease,transform .5s cubic-bezier(.22,1,.36,1);
}

.slideshow__frame:hover {
  box-shadow:
    0 2px 8px rgba(0,0,0,.3),
    0 32px 64px -24px rgba(0,0,0,.6),
    0 0 0 1px rgba(90,109,255,.15),
    inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateY(-4px);
}

.slideshow__image {
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  aspect-ratio:16 / 9;
  padding:0;
  border:0;
  border-radius:8px;
  background:#161617;
  cursor:zoom-in;
}

.slideshow__image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}

.slideshow__image:hover img {
  transform:scale(1.02);
}

.slideshow__image::after {
  position:absolute;
  inset:auto 0 0;
  height:40%;
  content:"";
  background:linear-gradient(transparent,rgba(0,0,0,.55));
  pointer-events:none;
  border-radius:0 0 8px 8px;
}

.slideshow__image-label {
  position:absolute;
  z-index:1;
  right:20px;
  bottom:18px;
  color:rgba(255,255,255,.85);
  font:10px var(--mono);
  letter-spacing:.14em;
  opacity:0;
  text-transform:uppercase;
  transform:translateY(6px);
  transition:opacity .25s ease,transform .25s ease;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}

.slideshow__image:hover .slideshow__image-label {
  opacity:1;
  transform:none;
}

/* ── Footer: counter + dots ── */
.slideshow__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:20px;
  padding-inline:4px;
  color:#9A9AA1;
  font:11px var(--mono);
  letter-spacing:.12em;
}

.slideshow__footer > span {
  font-variant-numeric:tabular-nums;
}

.slideshow__dots {
  display:flex;
  gap:6px;
}

.slideshow__dots button {
  width:28px;
  height:3px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  cursor:pointer;
  overflow:hidden;
  transition:background-color .25s ease,width .3s cubic-bezier(.22,1,.36,1);
}

.slideshow__dots button:hover {
  background:rgba(255,255,255,.25);
}

.slideshow__dots button.is-active {
  width:40px;
  background:rgba(90,109,255,.35);
}

.slideshow__dots button span {
  display:block;
  width:100%;
  height:100%;
  background:#5A6DFF;
  border-radius:999px;
  transform:translateX(-100%);
}

.slideshow__dots button.is-active span {
  animation:slide-progress 5s linear both;
}

@keyframes slide-progress {
  to { transform:translateX(0); }
}

/* ── Prev/Next navigation arrows ── */
.slideshow__nav {
  display:flex;
  align-items:center;
  gap:8px;
}

.slideshow__nav button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  background:rgba(255,255,255,.04);
  color:#9A9AA1;
  font-size:14px;
  cursor:pointer;
  transition:all .25s ease;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.slideshow__nav button:hover {
  background:rgba(255,255,255,.1);
  border-color:rgba(90,109,255,.4);
  color:#fff;
  box-shadow:0 0 16px rgba(90,109,255,.15);
}

/* ── Light theme overrides ── */
[data-theme="light"] .brand-showcase {
  background:#0B0B0C;
  color:#F6F4EF;
}

/* ── Responsive ── */
@media (max-width:560px) {
  .slideshow {
    width:100%;
    max-width:100%;
  }

  .slideshow__frame {
    padding:6px;
    border-radius:10px;
  }

  .slideshow__image {
    aspect-ratio:4 / 3;
    border-radius:6px;
  }

  .slideshow__image::after {
    border-radius:0 0 6px 6px;
  }

  .slideshow__dots button {
    width:20px;
  }

  .slideshow__dots button.is-active {
    width:30px;
  }

  .slideshow__nav button {
    width:30px;
    height:30px;
    font-size:12px;
  }
}


/* ==========================================================================
   Lightbox
   ========================================================================== */

.lightbox {
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  background:rgba(11,11,12,.95);
}

.lightbox__close {
  position:absolute;
  top:30px;
  right:30px;
  border:0;
  background:none;
  color:#fff;
  font:14px var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:opacity .2s ease,text-shadow .2s ease;
}

.lightbox__close:hover {
  opacity:.8;
  text-shadow:0 0 14px #5A6DFF;
}
.lightbox__img {
  max-width:100%;
  max-height:90vh;
  border-radius:4px;
  object-fit:contain;
  box-shadow:0 20px 50px rgba(0,0,0,.8);
}


/* ==========================================================================
   Company Page
   ========================================================================== */

.page-company .prose > p:not(.statement),
.page-company .section-grid > .label,
.page-company .link {
  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    color .25s ease;
}

.page-company .prose > p:not(.statement):hover {
  transform:translateX(4px);
}

.page-company .section:hover > .wrap .section-grid > .label {
  transform:translateX(4px);
  color:var(--accent);
  text-shadow:0 0 12px var(--neon-soft);
}

.page-company .section {
  transition:background-color .4s ease,border-color .3s ease;
}

.page-company .reveal {
  transition:
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
}


/* ==========================================================================
   Company Title — Ice / Neon Reveal
   ========================================================================== */

.page-company .pagehead h1,
.page-investors .pagehead h1,
.page-careers .pagehead h1 {
  animation:pageIceReveal 1.15s cubic-bezier(.22,1,.36,1) both;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    letter-spacing .45s cubic-bezier(.22,1,.36,1),
    text-shadow .45s ease;
}

.page-company .pagehead h1:hover,
.page-investors .pagehead h1:hover,
.page-careers .pagehead h1:hover {
  transform:translateY(-3px);
  letter-spacing:-.01em;
  text-shadow:
    0 0 6px var(--neon-soft),
    0 0 20px rgba(30,91,255,.2);
}

@keyframes pageIceReveal {
  0% {
    opacity:0;
    filter:blur(16px);
    transform:translateY(22px);
    letter-spacing:.06em;
  }

  45% {
    opacity:.7;
    filter:blur(6px);
  }

  100% {
    opacity:1;
    filter:blur(0);
    transform:translateY(0);
    letter-spacing:-.02em;
  }
}


/* ==========================================================================
   Investors / Careers Lead Reveal
   ========================================================================== */

.page-investors .pagehead .lead,
.page-careers .pagehead .lead {
  animation:leadReveal 1s 180ms cubic-bezier(.22,1,.36,1) both;
}

@keyframes leadReveal {
  from {
    opacity:0;
    transform:translateY(12px);
    filter:blur(5px);
  }

  to {
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}


/* ==========================================================================
   Investors
   ========================================================================== */

.page-investors .arg__n {
  transition:
    transform .4s cubic-bezier(.22,1,.36,1),
    letter-spacing .4s ease,
    text-shadow .4s ease;
}

.page-investors .arg:hover .arg__n {
  transform:translateX(5px);
  letter-spacing:.2em;
  text-shadow:
    0 0 8px var(--neon-soft),
    0 0 18px rgba(30,91,255,.25);
}

.page-investors .form .btn {
  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    background-color .25s ease,
    color .25s ease,
    box-shadow .35s ease;
}

.page-investors .form .btn:hover {
  transform:translateY(-4px);
  box-shadow:
    0 10px 28px -14px var(--accent-d),
    0 0 18px rgba(30,91,255,.2);
}

.page-investors .formsuccess {
  animation:investorSuccess .6s cubic-bezier(.22,1,.36,1) both;
}

@keyframes investorSuccess {
  from {
    opacity:0;
    transform:translateX(-15px);
    filter:blur(5px);
  }

  to {
    opacity:1;
    transform:translateX(0);
    filter:blur(0);
  }
}


/* ==========================================================================
   Careers
   ========================================================================== */

.page-careers .arg h3 {
  transition:
    transform .4s cubic-bezier(.22,1,.36,1),
    color .25s ease,
    letter-spacing .4s ease;
}

.page-careers .arg:hover h3 {
  color:var(--accent);
  letter-spacing:-.005em;
  text-shadow:0 0 12px var(--neon-faint);
}

.page-careers .band-dark .lead {
  transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s ease;
}

.page-careers .band-dark .lead:hover {
  transform:translateX(5px);
}

.page-careers .band-dark .link {
  font-size:clamp(1.1rem,1.8vw,1.35rem);
  transition:
    color .25s ease,
    transform .35s cubic-bezier(.22,1,.36,1),
    letter-spacing .35s ease;
}

.page-careers .band-dark .link:hover {
  transform:translateX(6px);
  letter-spacing:.01em;
  text-shadow:0 0 16px var(--neon-soft);
}

.page-careers .section-grid > .label {
  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    color .25s ease;
}

.page-careers .section:hover .section-grid > .label {
  transform:translateX(4px);
  color:var(--accent);
  text-shadow:0 0 12px var(--neon-soft);
}


/* ==========================================================================
   Legal
   ========================================================================== */

.page-legal .section {
  padding-block:clamp(48px,6vh,72px);
}

.page-legal .section-grid > .label {
  line-height:1.5;
}

.page-legal .prose p + p {
  margin-top:.9em;
}

.page-legal .lines {
  margin-top:clamp(20px,3vw,28px);
}

@media (min-width:900px) {
  .page-legal .section-grid {
    grid-template-columns:190px minmax(0,1fr);
  }
}


/* ==========================================================================
   Theme Toggle
   ========================================================================== */

.theme-toggle {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:none;
  color:var(--ink);
  cursor:pointer;
  white-space:nowrap;
  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

.theme-toggle:hover {
  transform:scale(1.03);
  background:var(--paper-2);
  border-color:var(--accent);
  box-shadow:0 0 14px var(--neon-faint);
}

.theme-toggle__icon {
  flex:none;
  width:16px;
  height:16px;
}

.theme-toggle__label {
  font:500 .75rem var(--sans);
  letter-spacing:.02em;
}


/* ==========================================================================
   Interior Helpers
   ========================================================================== */

.pagehead + .figure {
  margin-top:0;
}


/* ==========================================================================
   Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior:auto !important;
  }

  .reveal-on .reveal,
  .reveal-on .reveal.is-in,
  .page-company .reveal,
  .page-portfolio .letter {
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
    animation:none !important;
  }

  .link::after,
  .nav a::after,
  .sitefooter a::after {
    transition:none;
  }

  .page-company .arg,
  .page-company .arg h3,
  .page-company .arg p,
  .page-company .dtable div,
  .page-company .dtable dd,
  .page-company .statement,
  .page-company .prose > p,
  .page-company .section-grid > .label,
  .page-company .link,
  .page-company .section,

  .page-portfolio .prodrow,
  .page-portfolio .prodrow__name,
  .page-portfolio .prodrow > p,
  .page-portfolio .prodrow__meta,
  .page-portfolio .chips li,
  .page-portfolio .prodrow__link,
  .page-portfolio .row,
  .page-portfolio .row__name,
  .page-portfolio .pill,
  .page-portfolio .slideshow__image,
  .page-portfolio .section h2,

  .page-investors .pagehead h1,
  .page-investors .pagehead .lead,
  .page-investors .figure--full img,
  .page-investors .statement,
  .page-investors .arg,
  .page-investors .arg__n,
  .page-investors .arg h3,
  .page-investors .arg p,
  .page-investors .dtable div,
  .page-investors .dtable dd,
  .page-investors .lines li,
  .page-investors .lines li span:first-child,
  .page-investors .bighead,
  .page-investors .field label,
  .page-investors .field input,
  .page-investors .field textarea,
  .page-investors .form .btn,
  .page-investors .formsuccess,
  .page-investors .link,

  .page-careers .pagehead h1,
  .page-careers .pagehead .lead,
  .page-careers .arg,
  .page-careers .arg h3,
  .page-careers .arg p,
  .page-careers .statement,
  .page-careers .lines li,
  .page-careers .lines li span:first-child,
  .page-careers .lines li span:last-child,
  .page-careers .bighead,
  .page-careers .band-dark .lead,
  .page-careers .band-dark .link,
  .page-careers .section-grid > .label {
    transition:none !important;
    animation:none !important;
    transform:none !important;
    filter:none !important;
  }
}
.sectorstrip { width: 100%; 
  overflow: hidden; } 

.sector-marquee { display: flex; 
  width: max-content; 
  white-space: nowrap; } 

.sector-track { flex-shrink: 0; 
  width: 100vw;
  padding-right: 12rem; }

.sector-track__spacer{
  display: inline-block;
  width: 300px;
  }


/* Section Layout */

.section {
  padding: clamp(40px, 8vw, 100px) 0;
}

.wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 60px);
}

.section-grid {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: clamp(30px, 5vw, 80px);
  align-items: start;
}

.label {
  font-size: clamp(12px, 1.2vw, 16px);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 500;
  position: sticky;
  top: 40px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 2.5vw, 32px);
}

.card {
  border-radius: 16px;
  padding: clamp(24px, 2.5vw, 36px);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid;
  position: relative;
  overflow: hidden;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px;
  border-color: transparent;
}

.product-logo {
  width: 100%;
  max-width: 140px;
  height: auto;
  margin-bottom: 20px;
  object-fit: contain;
  align-self: flex-start;
}

.card__name {
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.2;
}

.card__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: clamp(12px, 0.9vw, 14px);
  margin-bottom: 14px;
  line-height: 1.4;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  width: fit-content;
}

.status .dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  animation: pulse-dot 2s infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.card p:not(.card__meta):not(.card__foot) {
  font-size: clamp(13px, 0.95vw, 15px);
  line-height: 1.7;
  margin-bottom: 18px;
  flex: 1;
}

.card__foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid;
}

.link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: gap 0.2s ease;
}

.link:hover {
  gap: 10px;
}

.link .ext,
.link .arrow {
  display: inline-block;
  transition: transform 0.2s ease;
}

.link:hover .ext,
.link:hover .arrow {
  transform: translate(2px, -2px);
}

.plain {
  font-size: 14px;
}

@media (max-width: 1800px) {
  .section-grid {
    grid-template-columns: 140px 1fr;
    gap: 40px;
  }
  
  .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 992px) {
  .section-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .label {
    position: static;
    margin-bottom: 8px;
  }
  
  .cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .section {
    padding: 40px 0;
  }
  
  .wrap {
    padding: 0 20px;
  }
  
  .cards {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  
  .card {
    padding: 20px;
  }
  
  .product-logo {
    max-width: 100px;
  }
}

@media (max-width: 480px) {
  .cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .card {
    padding: 18px;
  }
  
  .product-logo {
    max-width: 120px;
  }
}



* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.page-content {
  flex: 1;
  padding: 40px 20px;
  text-align: center;
}

.page-content h1 {
  font-size: 32px;
  margin-top: 60px;
}

.sitefooter {
  padding: 60px 0 30px;
  border-top: 1px solid;
  margin-top: auto;
}

.wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

.sitefooter__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr ;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid;
}

.sitefooter__brand {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sitefooter__brand .brand {
  display: inline-block;
  width: fit-content;
  text-decoration: none;
}

.sitefooter__brand .brand img {
  max-height: 120px;
  width: auto;
  display: block;
}

.sitefooter__brand p {
  font-size: 15px;
  line-height: 1.6;
  max-width: 300px;
  margin: 0;
}

.sitefooter__grid h2 {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 16px 0;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 13px;
  opacity: 0.7;
}

.sitefooter__grid ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sitefooter__grid ul li {
  font-size: 14px;
  line-height: 1.4;
}

.sitefooter__grid ul li a {
  text-decoration: none;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.plainitem {
  cursor: default;
}

.ext {
  display: inline-block;
  font-size: 11px;
  transition: transform 0.2s ease;
}

.sitefooter__grid > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sitefooter__grid > div:last-child h2:not(:first-child) {
  margin-top: 10px;
}

.sitefooter__base {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  font-size: 13px;
  flex-wrap: wrap;
  gap: 10px;
}

.sitefooter__base p {
  margin: 0;
}

@media (max-width: 1200px) {
  .sitefooter__grid {
    gap: 30px;
  }
}

@media (max-width: 992px) {
  .sitefooter__grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 30px;
  }
  
  .sitefooter__grid > div:last-child {
    flex-direction: row;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    padding-top: 20px;
    border-top: 1px solid;
    margin-top: 10px;
  }

  .sitefooter__grid > div:last-child > div {
    flex: 1;
    min-width: 150px;
  }
}

@media (max-width: 768px) {
  .wrap {
    padding: 0 24px;
  }

  .sitefooter {
    padding: 40px 0 24px;
  }

  .sitefooter__grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 40px;
  }
  
  .sitefooter__brand {
    grid-column: 1 / -1;
  }
  
  .sitefooter__brand p {
    max-width: 100%;
  }

  .sitefooter__grid > div:last-child {
    grid-column: 1 / -1;
    flex-direction: column;
    gap: 20px;
    padding-top: 0;
    border-top: none;
    margin-top: 0;
  }

  .sitefooter__grid > div:last-child > div {
    flex: 1;
    min-width: 100%;
  }

  .sitefooter__base {
    flex-direction: column;
    text-align: center;
    gap: 6px;
  }
}

@media (max-width: 480px) {
  .wrap {
    padding: 0 16px;
  }

  .sitefooter__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .sitefooter__brand {
    grid-column: 1;
  }
  
  .sitefooter__brand .brand img {
    max-height: 35px;
  }

  .sitefooter__grid h2 {
    font-size: 12px;
  }

  .sitefooter__grid ul li {
    font-size: 13px;
  }
}


/* Add this at the end of your Base section or as a new rule */

/* ==========================================================================
   Text Justification
   ========================================================================== */

/* Justify all text divs and text-containing elements */
div,
p,
.lead,
.small,
.tiny,
.card p,
.prose p,
.prose ul,
.prose li,
.route p,
.sitefooter__brand p,
.sitefooter p,
.step p,
.arg p,
.row p,
.fact p,
.lines li,
.dtable dt,
.field label,
.formsuccess p,
.statement,
.bighead,
.closing,
.sectorstrip p,
.slideshow__footer,
.slideshow__image-label,
.nav a,
.sitefooter a,
.route h3,
.card__meta,
.card__name,
.card__foot,
.prodrow > p,
.prodrow__meta,
.prodrow__link,
.chips li,
.pill,
.model-t {
  text-align: justify;
  text-justify: inter-word;
}

/* Keep headings and labels left-aligned or centered where appropriate */
h1, h2, h3, h4,
.label,
.eyebrow,
.hero h1,
.pagehead h1,
.step__n,
.fact__n,
.arg__n,
.card__name,
.prodrow__name,
.row__name,
.slideshow__dots button,
.navtoggle,
.btn,
.brand,
.theme-toggle,
.status,
.plain,
.tiny,
.small,
.nav a,
.nav__cta,
.sitefooter h2,
.hero .btn,
.hero .link,
.link,
.slideshow__nav button,
.lightbox__close,
.skip,
.model-t {
  text-align: left;
}

/* Center alignment for specific elements */
.brand-showcase h2,
.brand-showcase .lead,
.formsuccess,
.form,
.page-content h1,
.page-content {
  text-align: center;
}

/* Keep inline elements as-is */
.card__meta .status,
.card__foot .plain,
.pill,
.chips li {
  text-align: left;
}

/* Justify but maintain proper spacing for justified text */
.text-justify {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
}

/* For better justified text appearance */
p, div:not(.hero):not(.siteheader):not(.navoverlay):not(.slide):not(.sectorstrip):not(.brand-showcase) {
  text-align: justify;
  text-justify: inter-word;
}

/* Exceptions - elements that should NOT be justified */

.brand-showcase, .brand-showcase *,
.siteheader, .siteheader *,
.navoverlay, .navoverlay *,
.sectorstrip, .sectorstrip *,
.slideshow, .slideshow *,
.nav, .nav *,
.sector-marquee, .sector-marquee *,
.sector-track, .sector-track *,
.lightbox, .lightbox * {
  text-align: inherit;
}

/* For cards - keep consistent justified text */
.card {
  text-align: justify;
}

.card__name,
.card__meta,
.card__foot,
.card .status,
.card .plain {
  text-align: left;
}

.card p {
  text-align: justify;
}

/* For footer - justify body text only */
.sitefooter {
  text-align: justify;
}

.sitefooter h2,
.sitefooter .brand,
.sitefooter ul li a,
.sitefooter .plainitem,
.sitefooter__base p {
  text-align: left;
}

/* For responsive adjustments */
@media (max-width: 768px) {
  p, div:not(.hero):not(.siteheader):not(.navoverlay):not(.slide):not(.sectorstrip):not(.brand-showcase) {
    text-align: left;
  }
  
  .card p,
  .route p,
  .step p,
  .arg p,
  .row p,
  .fact p,
  .prose p,
  .prose ul,
  .prose li,
  .statement,
  .closing,
  .lead,
  .sitefooter__brand p {
    text-align: justify;
  }
}

/* ==========================================================================
   Home — Technology-inspired section treatment
   ========================================================================== */

.page-index {
  --home-indigo: #6366f1;
  --home-violet: #a855f7;
  --home-glow: rgba(99, 102, 241, .16);
  --home-card-border: rgba(99, 102, 241, .18);
  --home-card-surface: rgba(255, 255, 255, .82);
}

[data-theme="dark"] .page-index {
  --home-glow: rgba(129, 140, 248, .2);
  --home-card-border: rgba(167, 139, 250, .26);
  --home-card-surface: rgba(22, 22, 27, .86);
}

.page-index .home-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.page-index .home-section::before {
  position: absolute;
  z-index: -1;
  top: -280px;
  right: -180px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, var(--home-glow) 0%, transparent 68%);
  pointer-events: none;
}

.page-index .home-section--engine {
  background: linear-gradient(135deg, rgba(99, 102, 241, .035), transparent 42%);
}

[data-theme="dark"] .page-index .home-section--engine {
  background: linear-gradient(135deg, rgba(99, 102, 241, .11), transparent 45%);
}

.page-index .home-section--portfolio::before {
  top: auto;
  right: auto;
  bottom: -340px;
  left: -190px;
}

.page-index .home-section .wrap {
  position: relative;
  z-index: 1;
}

.page-index .home-section .label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: clamp(20px, 3vw, 30px);
  padding: 7px 13px;
  border: 1px solid var(--home-card-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--home-card-surface) 82%, transparent);
  color: var(--home-indigo);
  font-weight: 600;
  box-shadow: 0 0 18px rgba(99, 102, 241, .08);
}

.page-index .home-section h2 {
  text-shadow: 0 0 18px rgba(99, 102, 241, .1);
}

.page-index .home-section .steps {
  gap: 24px;
  background: transparent;
}

.page-index .home-section .step,
.page-index .home-section .card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--home-card-border);
  border-radius: 20px;
  background: var(--home-card-surface);
  box-shadow: 0 12px 32px -26px rgba(27, 24, 72, .55);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), border-color .3s ease, box-shadow .3s ease, background .3s ease;
}

.page-index .home-section .step::before,
.page-index .home-section .card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, var(--home-indigo), var(--home-violet));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}

.page-index .home-section .step:hover,
.page-index .home-section .card:hover {
  border-color: var(--home-indigo);
  background: color-mix(in srgb, var(--home-card-surface) 92%, #eef2ff);
  box-shadow: 0 20px 40px -18px rgba(67, 56, 202, .28), 0 0 30px var(--home-glow);
  transform: translateY(-8px);
}

.page-index .home-section .step:hover::before,
.page-index .home-section .card:hover::before {
  transform: scaleX(1);
}

.page-index .home-section .step__n {
  color: var(--home-indigo);
  text-shadow: 0 0 10px rgba(99, 102, 241, .28);
}

.page-index .home-section .card__meta {
  border-top-color: var(--home-card-border);
}

.page-index .home-section .product-logo {
  border-color: var(--home-card-border);
  border-radius: 12px;
}

.page-index .home-section .card__foot {
  border-top-color: var(--home-card-border);
}

@media (max-width: 768px) {
  .page-index .home-section::before {
    top: -340px;
    right: -330px;
  }

  .page-index .home-section--portfolio::before {
    right: auto;
    bottom: -390px;
    left: -350px;
  }

  .page-index .home-section .steps {
    gap: 16px;
  }

  .page-index .home-section .step,
  .page-index .home-section .card {
    border-radius: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-index .home-section .step,
  .page-index .home-section .card,
  .page-index .home-section .step::before,
  .page-index .home-section .card::before {
    transition: none;
  }
}


 .emerging-tech {
    background: white;
    border-radius: 24px;
    padding: 60px;
    margin-top: 40px;
    border: 1px solid #e5e5e5;
    position: relative;
    overflow: hidden;
}

.emerging-tech::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.05) 0%, transparent 70%);
    border-radius: 50%;
}

.emerging-tech-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1;
}

 .emerging-tech-label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 16px;
    color: #6366f1;
    text-shadow: 0 0 10px rgba(99, 102, 241, 0.3);
}

 .emerging-tech h3 {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 24px;
    color: #0a0a0a;
}

 .emerging-tech p {
    line-height: 1.6;
    margin: 0 0 16px;
    font-size: 16px;
    color: #666666;
}

[data-theme="dark"]  {
    background: #101116;
}

[data-theme="dark"] .tech-section-heading h2,
[data-theme="dark"]  .platform-card h3,
[data-theme="dark"]  .emerging-tech h3 {
    color: #f5f5f7;
}

[data-theme="dark"]  .platform-card,
[data-theme="dark"]  .emerging-tech,
[data-theme="dark"]  .modal-content {
    background: #1a1b22;
    border-color: #30313b;
}

[data-theme="dark"]  .platform-card p,
[data-theme="dark"] .emerging-tech p,
[data-theme="dark"] .modal-body > p {
    color: #bcbec9;
}

[data-theme="dark"] .platform-tag,
[data-theme="dark"] .modal-focus span {
    background: #282a35;
    color: #d4d6e0;
}

[data-theme="dark"] .platform-card:hover {
    border-color: #818cf8;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.32), 0 0 30px rgba(129, 140, 248, 0.16);
}

[data-theme="dark"] .platform-card:hover .platform-tag {
    background: #2d3150;
    color: #c7d2fe;
}

[data-theme="dark"]  .modal-body h2,
[data-theme="dark"]  .modal-close {
    color: #f5f5f7;
}

[data-theme="dark"] .modal-close {
    background: #282a35;
}

[data-theme="dark"] .modal-image::after {
    background: linear-gradient(to top, #1a1b22 0%, transparent 100%);
}

[data-theme="dark"]  .modal-content::-webkit-scrollbar-track {
    background: #282a35;
}

[data-theme="dark"] .modal-content::-webkit-scrollbar-thumb {
    background: #565968;
}



/* ============ COMPANY PAGE - SCOPED STYLES ============ */
.section-heading { max-width: 720px; margin: 0 0 48px; text-align: left; padding-top: 30px;
}

.eyebrow {
  margin: 0 0 16px; color: #6366f1; font-size: 14px; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase;
}

.section-heading h2 {
  margin: 0; color: #0a0a0a; font-size: clamp(32px, 4vw, 48px);
  font-weight: 700; letter-spacing: -1px; line-height: 1.15;
}
.section-heading h2 em { display: inline; }

.copy-card {
  position: relative; overflow: hidden; padding: clamp(32px, 5vw, 60px);
  border: 1px solid #e5e5e5; border-radius: 24px; background: #fff;
}

.copy-card::before {
  position: absolute; top: 0; right: 0; width: 300px; height: 300px;
  border-radius: 50%; background: radial-gradient(circle, rgba(99, 102, 241, .07), transparent 70%); content: '';
}

.copy-card p {
  position: relative; max-width: 850px; margin: 0; color: #666; font-size: 17px; line-height: 1.7;
}
.copy-card p + p { margin-top: 20px; }
.copy-card--accent { border-color: #d9dcff; background: linear-gradient(135deg, #fff, #f7f7ff); }

@media (max-width: 480px) {
  .section-heading { margin-bottom: 32px; }
  .section-heading h2 { font-size: 28px; }
  .copy-card { padding: 24px; }
}

/* ============ DARK THEME ============ */
[data-theme="dark"] .section-heading h2 { color: #f5f5f7; }
[data-theme="dark"] .copy-card { border-color: #30313b; background: #1a1b22; }
[data-theme="dark"] .copy-card--accent { border-color: #3a3b58; background: linear-gradient(135deg, #1a1b22, #202132); }
[data-theme="dark"] .copy-card p { color: #bcbec9; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* resposive for mid div home */

  @media (max-width: 768px) {
   .emerging-tech {
        padding: 32px;
    }
    
     .emerging-tech-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
  }

      @media (max-width: 480px) { 
    .technology-page .emerging-tech {
        padding: 24px;
    }
    
    .technology-page .tech-section-heading h2 {
        font-size: 28px;
    }
    
    .technology-page .emerging-tech h3 {
        font-size: 24px;
    }
}
    

/* Social Icons Styles -  */
/* Social Icons Styles - Stroke Version */
.sitefooter__brand .social-icons {
  display: flex;
  gap: 16px;
  margin-top: 20px;
  align-items: center;
}

.sitefooter__brand .social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  
  background: transparent;
}

/* Light Mode - Each social icon with stroke only */
.sitefooter__brand .social-icons a[aria-label="Instagram"] {
  color: #e4405f;
}

.sitefooter__brand .social-icons a[aria-label="Instagram"]:hover {
  transform: translateY(-3px) scale(1.05);
  color: #bc1888;
  background: rgba(225, 48, 108, 0.05);
}

.sitefooter__brand .social-icons a[aria-label="Facebook"] {
  color: #1877f2;
}

.sitefooter__brand .social-icons a[aria-label="Facebook"]:hover {
  transform: translateY(-3px) scale(1.05);
  color: #0d65d9;
  background: rgba(24, 119, 242, 0.05);
}

.sitefooter__brand .social-icons a[aria-label="Twitter / X"] {
  color: #000000;
}

.sitefooter__brand .social-icons a[aria-label="Twitter / X"]:hover {
  transform: translateY(-3px) scale(1.05);
  color: #333333;
  background: rgba(0, 0, 0, 0.05);
}

.sitefooter__brand .social-icons a[aria-label="LinkedIn"] {
  color: #0a66c2;
}

.sitefooter__brand .social-icons a[aria-label="LinkedIn"]:hover {
  transform: translateY(-3px) scale(1.05);
  color: #004182;
  background: rgba(10, 102, 194, 0.05);
}

.sitefooter__brand .social-icons a[aria-label="WhatsApp"] {
  color: #25d366;
}

.sitefooter__brand .social-icons a[aria-label="WhatsApp"]:hover {
  transform: translateY(-3px) scale(1.05);
  color: #128C7E;
  background: rgba(37, 211, 102, 0.05);
}

.sitefooter__brand .social-icons a svg {
  width: 20px;
  height: 20px;
  stroke: blue;
  fill: none;
  stroke-width: 2;
}

/* Dark Mode - Lighter stroke colors for better visibility */
[data-theme="dark"] .sitefooter__brand .social-icons a {
  border-color: white;
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="Instagram"] {
  color: #f777a1;
}


[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="Instagram"]:hover {
  color: #e4405f;
  background: rgba(225, 48, 108, 0.1);
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="Facebook"] {
  color: #5890ff;
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="Facebook"]:hover {
  color: #1877f2;
  background: rgba(24, 119, 242, 0.1);
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="Twitter / X"] {
  color: #ffffff;
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="Twitter / X"]:hover {
  color: #cccccc;
  background: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="LinkedIn"] {
  color: #4c9aff;
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="LinkedIn"]:hover {
  color: #0a66c2;
  background: rgba(10, 102, 194, 0.1);
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="WhatsApp"] {
  color: #6dda8a;
}

[data-theme="dark"] .sitefooter__brand .social-icons a[aria-label="WhatsApp"]:hover {
  color: #25d366;
  background: rgba(37, 211, 102, 0.1);
}

/* Responsive */
@media (max-width: 768px) {
  .sitefooter__brand .social-icons {
    gap: 12px;
  }
  
  .sitefooter__brand .social-icons a {
    width: 40px;
    height: 40px;
    border-width: 1.5px;
  }
  
  .sitefooter__brand .social-icons a svg {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 480px) {
  .sitefooter__brand .social-icons {
    gap: 10px;
  }
  
  .sitefooter__brand .social-icons a {
    width: 36px;
    height: 36px;
    border-width: 1.5px;
  }
  
  .sitefooter__brand .social-icons a svg {
    width: 16px;
    height: 16px;
  }
}