:root{
  --bg:#070b0f;
  --bg-2:#0b1117;
  --panel:#0d141b;
  --panel-2:#111922;
  --line:#1d2a35;
  --text:#f4f7fb;
  --muted:#9aa8b5;
  --blue:#1e9bff;
  --blue-2:#55b7ff;
  --blue-soft:#0f5f9d;
  --max:1220px;
  --radius:20px;
  --shadow:0 30px 90px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img,svg{max-width:100%;display:block}

.skip-link{
  position:fixed;
  z-index:1000;
  left:16px;
  top:-60px;
  background:#fff;
  color:#000;
  padding:10px 14px;
  border-radius:8px;
  transition:.2s ease;
}
.skip-link:focus{top:16px}

.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}

.site-header{
  position:fixed;
  z-index:100;
  inset:0 0 auto;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 max(28px,calc((100vw - var(--max))/2));
  border-bottom:1px solid transparent;
  transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;
}
.site-header.scrolled{
  background:rgba(7,11,15,.84);
  border-color:rgba(255,255,255,.07);
  backdrop-filter:blur(16px);
}
.brand{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  font-weight:800;
  font-size:28px;
  letter-spacing:.02em;
}
.brand strong{color:var(--blue);font-weight:800}

.site-nav{display:flex;align-items:center;gap:34px;font-size:14px;color:#d6dde4}
.site-nav>a{opacity:.82;transition:.2s ease}
.site-nav>a:hover{opacity:1;color:#fff}
.nav-contact{
  border:1px solid rgba(30,155,255,.65);
  padding:11px 16px;
  border-radius:999px;
}
.nav-contact span{margin-left:8px;color:var(--blue)}
.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px;position:relative;cursor:pointer}
.nav-toggle span{position:absolute;width:22px;height:1px;background:#fff;left:10px;transition:.2s ease}
.nav-toggle span:first-child{top:15px}.nav-toggle span:last-child{top:25px}
.nav-toggle.open span:first-child{transform:translateY(5px) rotate(45deg)}
.nav-toggle.open span:last-child{transform:translateY(-5px) rotate(-45deg)}

.hero{
  min-height:760px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
  background:#05080b;
}
.hero-art{
  position:absolute;
  inset:0;
  background:url('assets/hero-gate.svg') center/cover no-repeat;
  opacity:.98;
}
.hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,7,10,.98) 0%,rgba(4,7,10,.90) 31%,rgba(4,7,10,.50) 57%,rgba(4,7,10,.13) 100%),
    linear-gradient(180deg,rgba(2,4,6,.35),rgba(2,4,6,.1) 55%,rgba(2,4,6,.55));
}
.hero-content{position:relative;z-index:2;padding-top:94px}
.kicker{
  margin:0 0 22px;
  color:#9fb3c4;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-weight:700;
}
.kicker:before{content:"";display:inline-block;width:24px;height:2px;background:var(--blue);margin-right:14px;vertical-align:middle}
.hero h1{
  max-width:700px;
  font-size:clamp(54px,6vw,92px);
  line-height:.98;
  letter-spacing:-.055em;
  margin:0 0 28px;
  font-weight:730;
}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero-copy{
  max-width:600px;
  color:#c1cad3;
  font-size:19px;
  margin:0 0 34px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:8px;
  font-weight:700;
  font-size:14px;
  letter-spacing:.01em;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 34px rgba(30,155,255,.2)}
.btn-primary:hover{background:var(--blue-2)}
.btn-primary span{margin-left:10px}
.btn-secondary{border:1px solid #52616e;background:rgba(6,9,12,.45)}
.btn-secondary:hover{border-color:#8da1b2}
.hero-note{
  position:absolute;
  z-index:2;
  right:max(28px,calc((100vw - var(--max))/2));
  bottom:52px;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:10px;
  color:#8fa2b3;
  line-height:1.7;
}
.hero-note:after{content:"";display:block;width:28px;height:2px;background:var(--blue);margin-top:12px}

.principles{border-bottom:1px solid var(--line);background:#081017}
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.principle{padding:44px 34px 42px 0;position:relative}
.principle:not(:first-child){padding-left:34px}
.principle:not(:first-child):before{content:"";position:absolute;left:0;top:36px;bottom:36px;width:1px;background:var(--line)}
.principle h2{font-size:18px;margin:16px 0 6px}
.principle p{margin:0;color:var(--muted);font-size:14px;max-width:220px}
.icon{width:34px;height:34px;display:block;position:relative;color:var(--blue)}
.icon:before,.icon:after{content:"";position:absolute}
.icon-people:before{width:11px;height:11px;border:2px solid currentColor;border-radius:50%;left:10px;top:1px}
.icon-people:after{width:26px;height:15px;border:2px solid currentColor;border-radius:12px 12px 5px 5px;left:2px;bottom:1px}
.icon-target{border:2px solid currentColor;border-radius:50%}.icon-target:before{inset:7px;border:2px solid currentColor;border-radius:50%}.icon-target:after{width:4px;height:4px;background:currentColor;border-radius:50%;left:13px;top:13px}
.icon-bars:before{left:4px;bottom:3px;width:4px;height:10px;border:2px solid currentColor}.icon-bars:after{left:14px;bottom:3px;width:4px;height:20px;border:2px solid currentColor;box-shadow:10px -8px 0 -2px var(--bg),10px -8px 0 0 currentColor}
.icon-rings:before{width:18px;height:18px;border:2px solid currentColor;border-radius:50%;left:1px;top:8px;box-shadow:12px 0 0 -2px var(--bg),12px 0 0 0 currentColor}.icon-rings:after{width:18px;height:18px;border:2px solid currentColor;border-radius:50%;left:7px;top:0}

.build-section{padding:92px 0 96px;background:linear-gradient(180deg,#080d12,#090f15)}
.build-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:48px}
.build-intro h2,.about-copy h2,.approach-section h2,.contact-section h2{
  margin:0;
  font-size:clamp(40px,4.4vw,68px);
  line-height:1.03;
  letter-spacing:-.045em;
}
.build-intro h2 span,.about-copy h2 span,.approach-section h2 span,.contact-section h2 span{color:var(--blue)}
.build-intro>p{margin:0;color:var(--muted);font-size:17px;max-width:560px}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.area-card{
  min-height:300px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#0c131a,#090e13);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.area-card:after{content:"";position:absolute;inset:auto -30% -50% 10%;height:160px;background:radial-gradient(circle,rgba(30,155,255,.16),transparent 68%);opacity:0;transition:.25s ease}
.area-card:hover{transform:translateY(-4px);border-color:#31536c;background:linear-gradient(180deg,#0e171f,#0a1016)}
.area-card:hover:after{opacity:1}
.area-number{position:absolute;right:22px;top:18px;color:#52616e;font-size:11px;letter-spacing:.18em}
.area-symbol{width:58px;height:58px;margin:34px 0 30px;position:relative;color:var(--blue)}
.symbol-screen{border:2px solid currentColor;border-radius:5px}.symbol-screen:before{content:"";position:absolute;left:14px;right:14px;bottom:-8px;height:2px;background:currentColor}.symbol-screen:after{content:"";position:absolute;width:18px;height:2px;background:currentColor;left:18px;bottom:-14px}
.symbol-tool:before{content:"";position:absolute;width:40px;height:10px;border:2px solid currentColor;border-radius:10px;transform:rotate(-40deg);left:8px;top:23px}.symbol-tool:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-radius:50%;left:4px;top:6px;box-shadow:33px 33px 0 -4px var(--panel),33px 33px 0 -2px currentColor}
.symbol-cube:before{content:"";position:absolute;width:34px;height:34px;border:2px solid currentColor;left:12px;top:11px;transform:rotate(30deg) skew(-5deg,-5deg)}
.symbol-leaf:before{content:"";position:absolute;width:38px;height:50px;border:2px solid currentColor;border-radius:38px 2px 38px 2px;left:10px;top:4px;transform:rotate(20deg)}.symbol-leaf:after{content:"";position:absolute;width:36px;height:2px;background:currentColor;left:13px;top:31px;transform:rotate(-42deg)}
.area-card h3{font-size:22px;margin:0 0 10px;position:relative;z-index:2}
.area-card p{margin:0;color:var(--muted);font-size:14px;position:relative;z-index:2}

.about-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#080d12}
.about-visual{background:url('assets/workbench.svg') center/cover no-repeat;min-height:520px}
.about-copy{padding:88px max(32px,calc((100vw - var(--max))/2)) 76px 76px;display:flex;flex-direction:column;justify-content:center}
.about-copy p:not(.kicker){color:var(--muted);font-size:17px;max-width:590px;margin:28px 0 34px}
.about-points{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:24px;gap:18px}
.about-points span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#b7c4cf}

.approach-section{padding:100px 0;background:#070c11}
.approach-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.steps>li>span{color:var(--blue);font-size:12px;letter-spacing:.14em;padding-top:4px}
.steps h3{margin:0 0 5px;font-size:18px}
.steps p{margin:0;color:var(--muted);font-size:14px}

.contact-section{padding:82px 0;background:linear-gradient(180deg,#0a1117,#070b0f);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr auto;gap:52px;align-items:end}
.contact-grid>p{margin:0;color:var(--muted);max-width:460px}
.contact-grid .btn{white-space:nowrap}

.site-footer{border-top:1px solid var(--line);padding:34px 0 38px;background:#060a0e}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:54px;align-items:center}
.footer-brand{font-size:24px}
.footer-grid>div>p{margin:6px 0 0;color:#70808d;font-size:12px}
.site-footer nav{display:flex;gap:26px;font-size:12px;color:#93a1ad}
.copyright{margin:0;color:#657582;font-size:11px;line-height:1.7;text-align:right}

@media (max-width:1050px){
  .hero{min-height:700px}
  .principle-grid{grid-template-columns:repeat(2,1fr)}
  .principle:nth-child(3):before{display:none}
  .area-grid{grid-template-columns:repeat(2,1fr)}
  .build-intro{gap:42px}
  .about-section{grid-template-columns:1fr}
  .about-visual{min-height:420px}
  .about-copy{padding:70px 48px}
  .approach-grid{gap:52px}
  .contact-grid{grid-template-columns:1fr 1fr}.contact-grid .btn{grid-column:2;justify-self:start}
}

@media (max-width:760px){
  .wrap{width:min(calc(100% - 32px),var(--max))}
  .site-header{height:66px;padding:0 16px}
  .brand{font-size:24px}
  .nav-toggle{display:block;z-index:102}
  .site-nav{
    position:fixed;inset:0;background:rgba(5,9,12,.98);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px 28px;gap:24px;font-size:26px;transform:translateY(-100%);transition:.25s ease;z-index:101
  }
  .site-nav.open{transform:translateY(0)}
  .nav-contact{font-size:18px;margin-top:10px}
  .hero{min-height:690px;align-items:flex-end;padding-bottom:56px}
  .hero-shade{background:linear-gradient(180deg,rgba(4,7,10,.35),rgba(4,7,10,.65) 40%,rgba(4,7,10,.98) 80%)}
  .hero-content{padding-top:100px}
  .hero h1{font-size:54px;max-width:560px}
  .hero-copy{font-size:16px;max-width:520px}
  .hero-note{display:none}
  .principle-grid{grid-template-columns:1fr}
  .principle{padding:28px 0!important}
  .principle:before{display:none!important}
  .principle:not(:last-child){border-bottom:1px solid var(--line)}
  .build-section{padding:68px 0}
  .build-intro{grid-template-columns:1fr;gap:26px;margin-bottom:34px}
  .build-intro h2,.about-copy h2,.approach-section h2,.contact-section h2{font-size:42px}
  .area-grid{grid-template-columns:1fr}
  .area-card{min-height:240px}
  .about-visual{min-height:320px}
  .about-copy{padding:58px 20px}
  .about-points{grid-template-columns:1fr;gap:12px}
  .approach-section{padding:70px 0}
  .approach-grid{grid-template-columns:1fr;gap:42px}
  .contact-grid{grid-template-columns:1fr;gap:28px}.contact-grid .btn{grid-column:auto}
  .footer-grid{grid-template-columns:1fr;gap:28px}.site-footer nav{flex-wrap:wrap}.copyright{text-align:left}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
