:root{
  --ink:#0b0c10;
  --ink-2:#15171d;
  --paper:#f4f2ed;
  --paper-2:#ece9e2;
  --white:#fbfaf7;
  --text:#15171d;
  --muted:#6e727b;
  --muted-dark:#989ca6;
  --line:#d7d3cb;
  --line-dark:#2b2e37;
  --accent:#7c6cff;
  --accent-soft:#c7c0ff;
  --container:1380px;
  --font:"Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:var(--paper);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit}
.container{width:min(calc(100% - 72px),var(--container));margin-inline:auto}
.section{padding:136px 0}
.skip-link{
  position:fixed;left:16px;top:12px;z-index:1000;
  background:#fff;color:#000;padding:10px 14px;border-radius:8px;
  transform:translateY(-160%)
}
.skip-link:focus{transform:none}

/* Brand + navigation */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,12,16,.9);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#fff
}
.nav{height:82px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.brand-symbol{width:42px;height:31px;color:#fff}
.brand-wordmark{font-size:18px;font-weight:700;letter-spacing:-.03em}
.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}
.desktop-nav a{
  color:#a8acb6;
  font-size:13px;font-weight:600;
  transition:color .2s ease
}
.desktop-nav a:hover{color:#fff}
.nav-cta{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:10px 15px;
  font-size:12px;font-weight:700;
  transition:background .2s ease,color .2s ease
}
.nav-cta:hover{background:#fff;color:var(--ink)}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;width:40px;height:40px;padding:10px}
.menu-toggle span{display:block;height:1px;background:#fff;margin:6px 0}
.mobile-nav{background:#0b0c10;padding:8px 28px 22px;border-top:1px solid rgba(255,255,255,.08)}
.mobile-nav a{display:block;padding:14px 0;color:#d7d9df;border-bottom:1px solid rgba(255,255,255,.07);font-size:15px}

/* Hero */
.hero{
  background:var(--ink);
  color:#fff;
  padding:90px 0 0;
  overflow:hidden
}
.hero-layout{
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);
  gap:80px;
  align-items:center
}
.kicker,.section-index{
  margin:0;
  font-family:var(--mono);
  font-size:11px;
  line-height:1.4;
  letter-spacing:.07em;
  font-weight:500;
  text-transform:uppercase
}
.kicker{color:#8b8f99;margin-bottom:26px}
.hero h1{
  margin:0;
  max-width:900px;
  font-size:clamp(68px,7.2vw,112px);
  line-height:.96;
  font-weight:600;
  letter-spacing:-.057em
}
.hero h1 em{
  font-style:normal;
  color:var(--accent-soft)
}
.hero-lead{
  max-width:690px;
  margin:32px 0 0;
  color:#b0b4bd;
  font-size:18px;
  line-height:1.72
}
.hero-actions{display:flex;gap:12px;margin-top:38px;flex-wrap:wrap}
.button{
  min-height:54px;
  padding:0 20px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font-size:13px;font-weight:700;
  transition:transform .2s ease,background .2s ease,color .2s ease
}
.button:hover{transform:translateY(-2px)}
.button-primary{background:#fff;color:#0b0c10}
.button-primary:hover{background:var(--accent-soft)}
.button-secondary{border:1px solid rgba(255,255,255,.18);color:#fff}
.button-secondary:hover{background:rgba(255,255,255,.07)}
.hero-art{position:relative}
.hero-art:before{
  content:"";position:absolute;inset:8% 2% 8% 12%;
  background:radial-gradient(circle at 52% 46%,rgba(124,108,255,.18),transparent 55%);
  filter:blur(16px)
}
.hero-art img{position:relative;width:100%;height:auto}
.hero-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.11);
  color:#a5a9b2;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.1em;
  padding:21px 0 24px
}
.hero-meta span+span{border-left:1px solid rgba(255,255,255,.08);padding-left:24px}

/* Shared headings */
.section-index{color:#555960;margin-bottom:24px}
.section-index.light{color:#adb0bb}
.section-head{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:80px;
  align-items:end;
  margin-bottom:66px
}
.section-head h2,.statement h2,.product-copy h2,.company h2,.contact h2{
  margin:0;
  font-size:clamp(48px,5.2vw,78px);
  line-height:1.03;
  letter-spacing:-.048em;
  font-weight:600
}
.section-head h2 span,.statement h2 span,.company h2 span{color:#8a8d92}
.section-head>p{
  margin:0;
  max-width:500px;
  justify-self:end;
  color:#686d75;
  line-height:1.8
}

/* Overview */
.statement{background:var(--white);border-bottom:1px solid var(--line)}
.statement-grid{display:grid;grid-template-columns:220px 1fr;gap:76px}
.statement h2{max-width:1050px}
.statement-copy{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:48px;
  max-width:950px
}
.statement-copy p{margin:0;color:#5f646c;font-size:17px;line-height:1.8}

/* Services */
.services{background:var(--paper)}
/* Services — clear scope and deliverables, without decorative UI mockups */
.service-list{border-top:1px solid var(--line)}
.service-row{
  display:grid;
  grid-template-columns:56px minmax(0,1.45fr) minmax(270px,.72fr);
  gap:46px;align-items:start;padding:48px 0 54px;
  border-bottom:1px solid var(--line)
}
.service-number{
  padding-top:7px;font-family:var(--mono);color:#646970;
  font-size:12px;letter-spacing:.05em
}
.service-copy h3{
  margin:0 0 18px;font-size:clamp(29px,3.1vw,43px);
  line-height:1.15;letter-spacing:-.035em;font-weight:600
}
.service-copy p{
  margin:0;max-width:710px;color:#5c626b;
  font-size:16px;line-height:1.8
}
.service-scope{padding-left:34px;border-left:1px solid var(--line)}
.service-scope>span{
  display:block;margin-bottom:21px;font-family:var(--mono);
  font-size:11px;letter-spacing:.03em;color:#5f646c;text-transform:uppercase
}
.service-scope ul{list-style:none;margin:0;padding:0}
.service-scope li{
  padding:11px 0;border-top:1px solid var(--line);
  font-size:13px;line-height:1.5;color:#4d535c
}
.service-scope li:first-child{border-top:0;padding-top:0}

/* Product lab */
.products{background:#111319;color:#fff}
.product-grid{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:100px;
  align-items:center
}
.product-copy h2 span{color:var(--accent-soft)}
.product-copy>p:not(.section-index){
  max-width:680px;
  margin:30px 0;
  color:#a9adb7;
  font-size:17px;
  line-height:1.8
}
.inline-link{
  display:inline-flex;
  align-items:center;gap:10px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.32);
  font-size:13px;
  font-weight:700
}
.inline-link:hover{color:var(--accent-soft)}
/* Product Lab — editorial composition instead of a fictitious progress board */
.lab-feature{
  min-height:510px;padding:32px 34px 28px;display:flex;
  flex-direction:column;justify-content:space-between;
  background:#1a1b23;border:1px solid #343541
}
.lab-feature-label,.lab-feature-foot{
  font-family:var(--mono);color:#bec0ca;letter-spacing:.06em;font-size:11px
}
.lab-feature-label{padding-bottom:20px;border-bottom:1px solid #393945}
.lab-feature-body{padding:40px 0}
.lab-feature-body h3{
  margin:0;font-size:clamp(50px,5vw,77px);font-weight:600;
  letter-spacing:-.055em;line-height:1.05
}
.lab-feature-body h3 em{font-style:normal;color:var(--accent-soft)}
.lab-feature-body p{
  max-width:410px;color:#c8cad3;font-size:15px;
  line-height:1.8;margin:24px 0 0
}
.lab-feature-foot{padding-top:20px;border-top:1px solid #393945}

/* R&D */
.rd{background:var(--white)}
.rd-list{border-top:1px solid var(--line)}
.rd-list article{
  display:grid;
  grid-template-columns:130px 1.1fr 1fr 260px;
  gap:32px;
  align-items:center;
  padding:31px 0;
  border-bottom:1px solid var(--line)
}
.rd-id,.rd-field{
  font-family:var(--mono);
  font-size:11px;
  line-height:1.7;
  letter-spacing:.08em;
  color:#686d75
}
.rd-list h3{
  margin:0;
  font-size:25px;
  line-height:1.2;
  letter-spacing:-.025em;
  font-weight:600
}
.rd-list p{margin:0;color:#696e76;line-height:1.7}
.rd-field{text-align:right}

/* Process */
.process{
  background:var(--paper-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.process-line{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #cbc7bf;
  border-bottom:1px solid #cbc7bf
}
.process-line article{padding:28px 26px 34px;min-height:270px}
.process-line article+article{border-left:1px solid #cbc7bf}
.process-line article>span{
  font-family:var(--mono);
  font-size:11px;
  color:#646a73;
  letter-spacing:.1em
}
.process-line h3{
  margin:82px 0 13px;
  font-size:27px;
  letter-spacing:-.03em;
  font-weight:600
}
.process-line p{margin:0;color:#686d74;font-size:14px;line-height:1.72}

/* Company */
.company{background:var(--white)}
.company-grid{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:110px;
  align-items:start
}
.company-copy{padding-top:54px}
.company-lead{
  margin:0 0 25px;
  font-size:23px;
  line-height:1.55;
  color:#25282f
}
.company-copy>p:not(.company-lead){
  margin:0;
  color:#686d74;
  line-height:1.8
}
.company-rule{height:1px;background:var(--line);margin:34px 0 22px}
.company-details{display:grid;gap:16px}
.company-details>div{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:24px
}
.company-details span{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.04em;
  color:#656a72
}
.company-details strong{font-size:13px;font-weight:600;color:#454950}

/* Contact */
.contact{background:#0b0c10;color:#fff}
.contact-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:90px;
  align-items:start
}
.contact h2 span{color:var(--accent-soft)}
.contact-intro{
  margin:28px 0 0;
  max-width:620px;
  color:#9ea3ad;
  line-height:1.8
}
.contact-panel{border-top:1px solid rgba(255,255,255,.13)}
.contact-entry{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid rgba(255,255,255,.11)
}
.contact-entry span{
  display:block;
  margin-bottom:8px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.06em;
  color:#adb1bc
}
.contact-entry strong{
  font-size:clamp(20px,2.1vw,31px);
  font-weight:500;
  letter-spacing:-.025em
}
.contact-entry a:hover strong{color:var(--accent-soft)}
.copy-button{
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:transparent;
  color:#c5c9d1;
  padding:11px 14px;
  min-height:44px;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.08em;
  cursor:pointer
}
.copy-button:hover{background:#fff;color:#0b0c10}
.contact-cta{
  margin-top:28px;
  min-height:64px;
  border-radius:16px;
  background:#fff;
  color:#0b0c10;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 20px;
  font-size:14px;
  font-weight:700
}
.contact-cta:hover{background:var(--accent-soft)}

/* Footer */
.site-footer{background:#07080b;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.footer-main{
  padding:46px 0 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}
.footer-brand .brand-symbol{width:39px}
.footer-nav{display:flex;gap:26px;color:#8e929b;font-size:12px}
.footer-nav a:hover{color:#fff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:18px 0 23px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.04em;
  color:#a2a5b0
}

@media(max-width:1120px){
  .hero-layout{grid-template-columns:1fr;gap:30px;min-height:auto;padding-top:36px}
  .hero-copy{max-width:940px}
  .hero-art{max-width:780px;width:100%;justify-self:center}
  .statement-grid{grid-template-columns:1fr;gap:24px}
  .section-head{grid-template-columns:1fr;gap:28px}
  .section-head>p{justify-self:start}
  .service-row{grid-template-columns:48px minmax(0,1fr) minmax(250px,.65fr);gap:25px}
  .product-grid,.company-grid,.contact-grid{grid-template-columns:1fr;gap:60px}
  .company-copy{padding-top:0}
  .rd-list article{grid-template-columns:110px 1fr 1fr}
  .rd-field{grid-column:2/4;text-align:left}
}
@media(max-width:820px){
  .container{width:min(calc(100% - 40px),var(--container))}
  .section{padding:96px 0}
  .nav{height:72px}
  .desktop-nav,.nav-cta{display:none}
  .menu-toggle{display:block}
  .hero{padding-top:36px}
  .hero h1{font-size:clamp(56px,12vw,84px)}
  .hero-lead{font-size:16px}
  .hero-meta{grid-template-columns:1fr 1fr}
  .hero-meta span{padding:10px 0}
  .hero-meta span+span{padding-left:0;border-left:0}
  .hero-meta span:nth-child(even){text-align:right}
  .statement-copy{grid-template-columns:1fr}
  .service-row{grid-template-columns:38px 1fr;gap:16px}
  .service-copy{grid-column:2}
  .service-scope{grid-column:2;padding-left:0;border-left:0;padding-top:10px}
  .service-scope ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .rd-list article{grid-template-columns:1fr;gap:10px}
  .rd-field{grid-column:1}
  .process-line{grid-template-columns:1fr 1fr}
  .process-line article:nth-child(3){border-left:0;border-top:1px solid #cbc7bf}
  .process-line article:nth-child(4){border-top:1px solid #cbc7bf}
  .footer-main{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .hero{padding-top:22px}
  .hero-layout{padding-top:34px}
  .hero h1{font-size:clamp(50px,13.6vw,70px);letter-spacing:-.05em}
  .hero-actions{flex-direction:column}
  .button{width:100%}
  .section-head h2,.statement h2,.product-copy h2,.company h2,.contact h2{
    font-size:clamp(40px,11.6vw,58px)
  }
  .service-row{grid-template-columns:1fr;gap:18px;padding:36px 0}
  .service-number,.service-copy,.service-scope{grid-column:1}
  .service-scope ul{grid-template-columns:1fr}
  .service-copy h3{font-size:28px}
  .lab-feature{min-height:450px;padding:24px}
  .lab-feature-body h3{font-size:56px}
  .process-line{grid-template-columns:1fr}
  .process-line article+article,.process-line article:nth-child(3),.process-line article:nth-child(4){
    border-left:0;border-top:1px solid #cbc7bf
  }
  .process-line article{min-height:0}
  .process-line h3{margin-top:48px}
  .company-details>div{grid-template-columns:1fr;gap:4px}
  .contact-entry{grid-template-columns:1fr}
  .copy-button{justify-self:start}
  .footer-nav{flex-wrap:wrap}
  .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}

/* Accessibility baseline — visible keyboard navigation on light and dark surfaces */
:focus-visible{outline:3px solid #7665ff;outline-offset:4px;box-shadow:0 0 0 6px rgba(255,255,255,.5)}
button:focus-visible,a:focus-visible{border-radius:4px}
.mobile-nav[hidden]{display:none!important}
img{height:auto}
@media(max-width:390px){
  .hero h1{font-size:clamp(42px,12vw,50px)}
  .hero-meta{font-size:10px}
  .contact-entry strong{overflow-wrap:anywhere}
}
