:root {
  --gs-accent:#71d9ff;
  --gs-accent2:#d4ff64;
  --gs-panel:rgba(9,17,24,.84);
  --gs-border:rgba(255,255,255,.16);
}
.eyebrow {
  font-size:.68rem;
  letter-spacing:.22rem;
  opacity:.75;
  margin-bottom:.75rem;
}
.status-strip {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:1.4rem;
}
.status-strip span,.pill,.tag-cloud span {
  font-size:.62rem;
  letter-spacing:.1rem;
  border:1px solid var(--gs-border);
  padding:.4rem .62rem;
  background:rgba(255,255,255,.04);
}
#header nav ul {
  flex-wrap:wrap;
}
.hero-crop img {
  max-height:310px;
  object-fit:cover;
}
.company-grid,.support-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:1.5rem 0;
}
.info-card,.project-stack section {
  border:1px solid var(--gs-border);
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  padding:1.2rem;
}
.info-card h3 {
  margin:.2rem 0 .55rem;
}
.card-kicker {
  font-size:.65rem;
  letter-spacing:.16rem;
  color:var(--gs-accent);
}
.tag-cloud {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:1rem 0;
}
.tag-cloud span {
  border-color:rgba(113,217,255,.28);
}
.project-stack {
  display:grid;
  gap:.85rem;
  margin:1.4rem 0;
}
.project-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.project-head h3 {
  margin:0;
}
.pill {
  white-space:nowrap;
  color:var(--gs-accent);
}
.project-stack section p {
  margin:.65rem 0;
}
.project-stack a {
  font-size:.78rem;
  letter-spacing:.06rem;
}
.support-card {
  display:flex;
  gap:1rem;
  align-items:center;
  border:1px solid var(--gs-border);
  padding:1rem;
  text-decoration:none!important;
  background:rgba(255,255,255,.045);
  transition:.2s ease;
}
.support-card:hover {
  transform:translateY(-2px);
  background:rgba(255,255,255,.085);
}
.support-mark {
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  font-weight:800;
}
.support-card strong,.support-card small {
  display:block;
}
.support-card small {
  opacity:.65;
  margin-top:.15rem;
}
.fineprint {
  font-size:.72rem;
  opacity:.65;
  border-top:1px solid var(--gs-border);
  padding-top:1rem;
}
@media(max-width:736px) {
  .company-grid,.support-grid {
    grid-template-columns:1fr;
  }
  .project-head {
    align-items:flex-start;
    flex-direction:column;
  }
  .status-strip {
    display:none;
  }
}
/* v2.1 compact viewport pass ------------------------------------------------ */ @media (min-width:737px) {
  #wrapper {
    min-height:100svh;
    height:100svh;
    padding:1.15rem 1.5rem .75rem;
    overflow:hidden;
  }
  #wrapper:before {
    display:none;
  }
  #header {
    max-height:calc(100svh - 3.75rem);
    justify-content:center;
  }
  #header > * {
    margin-top:.85rem;
  }
  #header .logo {
    width:4.75rem;
    height:4.75rem;
    line-height:4.75rem;
  }
  #header .logo img.logo {
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }
  #header .content .inner {
    padding:1.05rem 1.5rem;
    max-height:none;
  }
  #header .content h1 {
    font-size:clamp(2rem,4.2vw,3.25rem);
    margin:0 0 .45rem;
  }
  #header .content p {
    font-size:.78rem;
    line-height:1.45;
    letter-spacing:.12rem;
    margin:0 auto;
    max-width:56rem;
  }
  .eyebrow {
    font-size:.58rem;
    letter-spacing:.16rem;
    margin-bottom:.35rem!important;
  }
  .status-strip {
    margin-top:.65rem;
    gap:.35rem;
  }
  .status-strip span {
    font-size:.54rem;
    padding:.28rem .48rem;
    letter-spacing:.075rem;
  }
  #header nav {
    margin-top:.85rem;
  }
  #header nav ul {
    flex-wrap:nowrap;
  }
  #header nav ul li a {
    min-width:auto;
    height:2.25rem;
    line-height:2.25rem;
    padding:0 .72rem 0 .82rem;
    font-size:.66rem;
    letter-spacing:.105rem;
  }
  #footer {
    margin-top:.45rem;
  }
  #footer .copyright {
    margin:0;
    font-size:.55rem;
    letter-spacing:.12rem;
  }
  /* Articles behave like compact desktop panels; scroll only when content requires it. */ #main article {
    width:min(58rem,94vw);
    max-height:calc(100svh - 3rem);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:3.35rem 2rem 1.25rem;
  }
  #main article .image.main {
    margin:0 0 1rem;
  }
  #main article .hero-crop img {
    max-height:190px;
  }
  #main article p {
    margin:0 0 .8rem;
    line-height:1.55;
  }
  #main article h2.major {
    margin-bottom:1rem;
  }
  #main article h3 {
    margin:.85rem 0 .45rem;
  }
  .company-grid,.support-grid {
    gap:.65rem;
    margin:.9rem 0;
  }
  .info-card,.project-stack section {
    padding:.8rem;
  }
  .info-card p,.project-stack section p {
    font-size:.86rem;
  }
  .project-stack {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.6rem;
    margin:.85rem 0;
  }
  .project-stack section p {
    margin:.4rem 0;
  }
  .tag-cloud {
    margin:.65rem 0;
    gap:.35rem;
  }
  .tag-cloud span {
    font-size:.55rem;
    padding:.27rem .45rem;
  }
  .support-card {
    padding:.7rem;
    gap:.7rem;
  }
  .support-mark {
    width:2.35rem;
    height:2.35rem;
  }
}
@media (min-width:737px) and (max-height:760px) {
  #wrapper {
    padding:.65rem 1rem .45rem;
  }
  #header > * {
    margin-top:.55rem;
  }
  #header .logo {
    width:3.9rem;
    height:3.9rem;
    line-height:3.9rem;
  }
  #header .content .inner {
    padding:.65rem 1.1rem;
  }
  #header .content h1 {
    font-size:2.35rem;
    margin-bottom:.25rem;
  }
  #header .content p {
    font-size:.68rem;
    line-height:1.35;
  }
  .status-strip {
    margin-top:.4rem;
  }
  #header nav {
    margin-top:.55rem;
  }
  #header nav ul li a {
    height:2rem;
    line-height:2rem;
    font-size:.6rem;
    padding:0 .58rem 0 .68rem;
  }
  #footer {
    margin-top:.25rem;
  }
}
/* v2.3 unified Groundstate environment */ #bg:before {
  background-image:linear-gradient(to top,rgba(10,12,16,.28),rgba(10,12,16,.28)),url('/images/bg.png')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:none!important;
}
#bg:after {
  background-image:linear-gradient(rgba(113,217,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(113,217,255,.018) 1px,transparent 1px)!important;
  background-size:36px 36px!important;
  opacity:.55!important;
}
#header .content,#header nav {
  background:rgba(8,11,16,.20);
  backdrop-filter:blur(4px);
}
/* v1.0.3 broader R&D work portfolio --------------------------------------- */ .work-domain-strip {
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:.7rem 0 .9rem;
}
.work-domain-strip span {
  border:1px solid rgba(113,217,255,.22);
  background:rgba(8,18,24,.36);
  color:rgba(177,229,248,.82);
  padding:.28rem .45rem;
  font-size:.52rem;
  line-height:1;
  letter-spacing:.105rem;
}
.work-stack .work-feature {
  border-color:rgba(113,217,255,.28);
  background:linear-gradient(135deg,rgba(17,33,42,.28),rgba(7,10,14,.42));
}
.work-foot {
  display:flex;
  justify-content:space-between;
  gap:.65rem;
  padding-top:.45rem;
  border-top:1px solid rgba(113,217,255,.10);
  color:rgba(193,216,225,.58);
  font-size:.58rem;
  letter-spacing:.045rem;
}
.work-links {
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:.45rem;
}
.work-note {
  border-left:2px solid rgba(113,217,255,.55);
  padding:.55rem .75rem;
  background:rgba(5,12,17,.34);
  font-size:.74rem;
  opacity:.9;
}
@media (min-width:737px) {
  #work .project-stack {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #work .project-stack section {
    min-height:0;
  }
  #work .project-stack section p {
    font-size:.78rem;
    line-height:1.42;
  }
  #work .project-head h3 {
    font-size:.92rem;
    line-height:1.2;
  }
  #work .pill {
    font-size:.48rem;
    letter-spacing:.07rem;
  }
  #work .actions {
    margin-top:.65rem;
  }
}
@media (max-width:736px) {
  .work-foot {
    flex-direction:column;
    gap:.2rem;
  }
}
