:root{
  --bg:#071019;
  --bg-2:#0a1520;
  --panel:#0d1a26;
  --panel-2:#101f2c;
  --line:#1e3342;
  --line-soft:#142734;
  --text:#f1f5f8;
  --muted:#9dafbb;
  --muted-2:#738693;
  --blue:#26a9ea;
  --blue-2:#6ecbff;
  --cyan:#79d9ff;
  --max:1640px;
  --radius:5px;
  --shadow:0 24px 60px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 75% 8%, rgba(38,169,234,.09), transparent 28rem),
    var(--bg);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:min(calc(100% - 8vw),var(--max));margin-inline:auto}
.skip{
  position:absolute;left:-9999px;top:auto;
}
.skip:focus{
  left:1rem;top:1rem;z-index:1000;
  padding:.7rem 1rem;background:#fff;color:#000;border-radius:4px;
}
.eyebrow{
  margin:0 0 1rem;
  color:var(--blue-2);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.27em;
  text-transform:uppercase;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(3rem,5.5vw,6.6rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin-bottom:1.4rem;
}
h1 span,h2 span,.accent{color:var(--blue)}
h2{
  font-size:clamp(2.2rem,3.7vw,4.6rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:1.2rem;
}
h3{
  font-size:1.45rem;
  line-height:1.15;
  letter-spacing:-.02em;
}
.lead{
  max-width:760px;
  font-size:clamp(1.06rem,1.3vw,1.28rem);
  line-height:1.7;
  color:#d1dae0;
}
.intro{
  max-width:860px;
  color:var(--muted);
  font-size:1.04rem;
}
.section{padding:7rem 0}
.section.tight{padding:5rem 0}
.section-dark{background:rgba(255,255,255,.018);border-block:1px solid var(--line-soft)}
.section-head{margin-bottom:3rem}
.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.button{
  display:inline-flex;align-items:center;gap:.65rem;
  min-height:48px;padding:.8rem 1.2rem;
  border:1px solid var(--blue);
  border-radius:3px;color:#dff5ff;
  font-size:.82rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;
  transition:.18s ease;
}
.button:hover{background:var(--blue);color:#03101a;transform:translateY(-1px)}
.button.secondary{border-color:#314653;color:#c6d2d9}
.button.secondary:hover{background:#152a38;color:#fff}
.text-link{display:inline-flex;gap:.45rem;color:var(--blue-2);font-weight:700}
.text-link:hover{color:#fff}

.hero-shell{min-height:860px;border-bottom:1px solid var(--line-soft)}
.site-nav{
  min-height:190px;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.site-nav .brand{
  display:block;width:min(640px,43vw);flex:0 0 auto;
}
.site-nav .brand img{display:block;width:100%;height:auto}
.nav-links{
  display:flex;align-items:center;gap:1.5rem;
  color:#aebdc6;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
}
.nav-links>a:hover,.language-switch a:hover{color:#fff}
.language-switch{display:inline-flex;gap:.5rem;align-items:center}
.language-switch [aria-current="page"]{color:var(--blue-2)}
.menu-toggle{
  display:none;background:transparent;color:#fff;border:1px solid var(--line);
  width:44px;height:44px;border-radius:3px;cursor:pointer;
}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{
  content:"";display:block;width:20px;height:1px;background:currentColor;margin:5px auto;
}

.hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:3.5rem;
  align-items:center;
  min-height:590px;
  padding:1.2rem 0 5rem;
}
.hero-copy{max-width:850px}
.hero h1{max-width:900px}
.hero .signature{
  color:#dce7ed;font-size:1rem;font-weight:650;letter-spacing:.02em;
  margin:0 0 1rem;
}
.hero .specialties{
  color:#9bc5da;
  font-size:.9rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.hero-visual{margin:0;transform:translateX(-1.2rem)}
.hero-visual img{
  width:100%;display:block;aspect-ratio:3/2;object-fit:cover;
  border:1px solid #203848;box-shadow:var(--shadow);
}
.hero-visual figcaption{
  margin-top:.55rem;color:var(--muted-2);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;text-align:right;
}

.problem-grid{
  display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;align-items:start;
}
.problem-points{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);
}
.problem-point{background:var(--panel);padding:1.35rem}
.problem-point strong{display:block;color:#fff;margin-bottom:.25rem}
.problem-point span{color:var(--muted);font-size:.9rem}

.pillar-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;
}
.pillar{
  position:relative;overflow:hidden;
  border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#0a141d);
  min-height:610px;
}
.pillar img{
  width:100%;height:245px;object-fit:cover;display:block;
  filter:saturate(.9) contrast(1.03);
}
.pillar-body{padding:1.7rem}
.pillar-index{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  color:var(--blue-2);font-size:.72rem;font-weight:750;letter-spacing:.18em;
  text-transform:uppercase;margin-bottom:1.4rem;
}
.status{
  display:inline-flex;align-items:center;
  border:1px solid #315063;background:#0a1822;color:#9bdcff;
  border-radius:999px;padding:.32rem .62rem;
  font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  white-space:nowrap;
}
.status.research{color:#c2ccd2;border-color:#34444f;background:#111a20}
.status.experimental{color:#7fddff;border-color:#1f6782;background:#08202b}
.status.development{color:#8fc8ff;border-color:#295884;background:#0a1a2b}
.status.validation{color:#d9efff;border-color:#4d7c98;background:#102431}
.pillar p{color:var(--muted)}
.pillar .text-link{margin-top:.7rem}

.research-board{border-top:1px solid var(--line)}
.research-row{
  display:grid;grid-template-columns:1.2fr auto 1.6fr;
  gap:2rem;align-items:center;
  padding:1.5rem 0;border-bottom:1px solid var(--line);
}
.research-row h3{font-size:1rem;margin:0;text-transform:uppercase;letter-spacing:.07em}
.research-row p{margin:0;color:var(--muted);font-size:.92rem}

.stack{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border:1px solid var(--line);background:var(--line);gap:1px;
  margin-top:3rem;
}
.stack-step{
  position:relative;background:var(--panel);padding:1.4rem;min-height:180px;
}
.stack-step::after{
  content:"→";position:absolute;right:-.7rem;top:50%;transform:translateY(-50%);
  z-index:2;color:var(--blue);font-size:1.4rem;
}
.stack-step:last-child::after{display:none}
.stack-step small{
  display:block;color:var(--blue-2);font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;margin-bottom:.9rem;
}
.stack-step strong{display:block;margin-bottom:.5rem}
.stack-step p{font-size:.82rem;color:var(--muted);line-height:1.55}

.approach-layout{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:start;
}
.process{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);
}
.process-step{background:var(--panel);padding:1.25rem;min-height:115px}
.process-step span{
  display:block;color:var(--blue-2);font-size:.67rem;letter-spacing:.16em;
  font-weight:800;margin-bottom:.5rem;
}
.process-step strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.07em}

.collab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3rem}
.collab-card{border:1px solid var(--line);background:var(--panel);padding:1.8rem}
.collab-card p{color:var(--muted)}

.contact{
  text-align:center;padding:8rem 0;
}
.contact h2{max-width:980px;margin-inline:auto}
.contact .intro{margin-inline:auto}
.contact-meta{margin-top:2rem;color:#a9bac4}

footer{border-top:1px solid var(--line);padding:3rem 0 2rem}
.footer-top{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding-bottom:2rem;border-bottom:1px solid var(--line);
}
.footer-brand{display:block;width:320px}
.footer-brand img{width:100%;display:block}
.footer-tag{max-width:520px;text-align:right;color:var(--muted)}
.footer-nav{
  display:flex;gap:1rem;flex-wrap:wrap;
  padding:1.4rem 0;color:#91a4af;font-size:.82rem
}
.footer-bottom{
  display:flex;justify-content:space-between;gap:1rem;
  color:#71838f;font-size:.8rem;
}

.project-hero{
  padding:3rem 0 6rem;
  display:grid;grid-template-columns:1fr .8fr;gap:4rem;align-items:center;
}
.project-hero h1{font-size:clamp(3rem,5vw,5.8rem)}
.project-hero img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow)
}
.project-kicker{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:1.2rem}
.project-body{
  width:min(calc(100% - 8vw),1180px);margin-inline:auto;padding:1rem 0 7rem;
}
.project-body section{padding:3rem 0;border-top:1px solid var(--line)}
.project-body h2{font-size:clamp(1.8rem,2.7vw,3rem)}
.project-body p{color:#b0bec7;max-width:880px}
.focus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.focus-card{border:1px solid var(--line);background:var(--panel);padding:1.4rem}
.focus-card h3{font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
.focus-card p{font-size:.92rem;margin-bottom:0}
.milestone{
  border-left:3px solid var(--blue);padding:1.6rem 1.8rem;background:var(--panel);
}
.project-stack{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.project-stack span{
  border:1px solid var(--line);padding:.65rem .85rem;background:var(--panel);
  font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;
}
.project-stack b{color:var(--blue)}

.legal{
  width:min(calc(100% - 8vw),1180px);margin-inline:auto;padding:4rem 0 7rem;
}
.legal h1{font-size:clamp(3rem,5vw,5.2rem)}
.legal h2{font-size:1.6rem;margin-top:3.4rem;padding-top:2rem;border-top:1px solid var(--line)}
.legal p,.legal dd{color:#b4c0c7}
.legal dl{display:grid;grid-template-columns:310px 1fr;gap:.7rem 1.5rem}
.legal dt{font-weight:750}
.legal dd{margin:0}
.legal a{color:var(--blue-2)}

@media(max-width:1250px){
  .site-nav .brand{width:min(520px,40vw)}
  .nav-links{gap:1rem;font-size:.74rem}
  .hero{grid-template-columns:1fr 1fr}
  .stack{grid-template-columns:repeat(3,1fr)}
  .stack-step:nth-child(3)::after{display:none}
}
@media(max-width:980px){
  .wrap{width:min(calc(100% - 2.2rem),var(--max))}
  .site-nav{min-height:120px;position:relative}
  .site-nav .brand{width:330px;max-width:70vw}
  .menu-toggle{display:block}
  .nav-links{
    position:absolute;z-index:20;left:0;right:0;top:100%;
    display:none;flex-direction:column;align-items:stretch;gap:0;
    background:#08131c;border:1px solid var(--line);box-shadow:var(--shadow);
    padding:.7rem;
  }
  .nav-links.is-open{display:flex}
  .nav-links>a,.language-switch{padding:.8rem}
  .language-switch{justify-content:center}
  .hero-shell{min-height:auto}
  .hero,.problem-grid,.approach-layout,.project-hero{grid-template-columns:1fr}
  .hero{min-height:auto;padding:2rem 0 5rem}
  .hero-visual{transform:none}
  .pillar-grid,.collab-grid{grid-template-columns:1fr}
  .pillar{min-height:auto}
  .pillar img{height:auto;aspect-ratio:16/8;object-fit:cover}
  .research-row{grid-template-columns:1fr;gap:.7rem}
  .stack{grid-template-columns:repeat(2,1fr)}
  .stack-step:nth-child(3)::after{display:block}
  .stack-step:nth-child(even)::after{display:none}
  .process{grid-template-columns:repeat(2,1fr)}
  .footer-top{align-items:flex-start;flex-direction:column}
  .footer-tag{text-align:left}
}
@media(max-width:640px){
  .section{padding:5rem 0}
  .site-nav .brand{width:300px}
  h1{font-size:clamp(2.8rem,13vw,4.3rem)}
  h2{font-size:clamp(2rem,9vw,3.1rem)}
  .problem-points,.focus-grid{grid-template-columns:1fr}
  .stack{grid-template-columns:1fr}
  .stack-step::after{content:"↓";right:auto;left:50%;top:auto;bottom:-1.05rem;transform:translateX(-50%)}
  .stack-step:nth-child(even)::after,.stack-step:nth-child(3)::after{display:block}
  .stack-step:last-child::after{display:none}
  .process{grid-template-columns:1fr}
  .footer-brand{width:260px}
  .footer-bottom{flex-direction:column}
  .legal dl{grid-template-columns:1fr}
}

/* R&D status legend, project visuals and production refinements */
.status-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:2.3rem;border:1px solid var(--line);background:var(--line)}
.status-legend-item{background:var(--panel);padding:1.25rem}.status-legend-item p{margin:.85rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}
.project-visual{margin:0}.project-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow);display:block}.project-visual figcaption{margin-top:.55rem;color:var(--muted-2);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;text-align:right}
.error-page{min-height:100vh;display:grid;place-items:center;padding:4rem 6vw}.error-inner{width:min(900px,100%)}.error-inner .footer-brand{margin-bottom:4rem}
@media(max-width:980px){.status-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.status-legend{grid-template-columns:1fr}}


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