:root { --bg:#03070d; --panel:#080e18; --ink:#f5f8ff; --muted:#8d9aad; --line:rgba(163,190,229,.18); --blue:#75b7ff; --cyan:#75ecff; color-scheme:dark; }
body { background:var(--bg); color:var(--ink); }
.scroll-progress { color:var(--cyan); }
.site-header { position:fixed; z-index:100; inset:0 0 auto; height:var(--header-h); color:#fff; transition:background .35s ease,border .35s ease,backdrop-filter .35s ease; }
.site-header.is-scrolled { background:rgba(3,7,13,.82); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { width:244px; height:49px; display:flex; align-items:center; }
.brand img { height:46px; width:auto; }
.site-nav { display:flex; align-items:center; gap:30px; font-size:14px; color:#b7c1d0; }
.site-nav a { position:relative; padding:12px 0; transition:color .25s ease; }
.site-nav a::after { content:""; position:absolute; inset:auto 0 4px; height:1px; background:var(--cyan); transform:scaleX(0); transform-origin:right; transition:transform .3s ease; }
.site-nav a:hover,.site-nav a.is-active { color:#fff; }
.site-nav a:hover::after,.site-nav a.is-active::after { transform:scaleX(1); transform-origin:left; }
.site-nav .nav-cta { padding:10px 18px; border:1px solid rgba(255,255,255,.42); border-radius:999px; color:#fff; }
.site-nav .nav-cta::after { display:none; }
.site-nav .nav-cta:hover { border-color:var(--cyan); background:rgba(117,236,255,.08); }

.hero { padding:calc(var(--header-h) + 18px) 0 32px; min-height:100svh; display:flex; flex-direction:column; justify-content:center; }
.hero-frame { position:relative; min-height:min(760px,calc(100svh - 140px)); overflow:hidden; border:1px solid var(--line); border-radius:clamp(26px,4vw,60px); isolation:isolate; }
.hero-image { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; transform:scale(1.015); animation:hero-breathe 12s ease-in-out infinite alternate; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,5,11,.97) 0%,rgba(1,5,11,.78) 37%,rgba(2,6,12,.12) 72%),linear-gradient(0deg,rgba(2,5,10,.82),transparent 38%); }
.hero-copy { position:relative; z-index:2; width:min(680px,67%); padding:clamp(78px,10vw,145px) 0 88px clamp(34px,6vw,88px); }
.hero-overline { display:flex; gap:18px; align-items:center; color:#9cb0c8; font-size:11px; letter-spacing:.16em; }
.hero-overline span { color:var(--cyan); }
.hero-overline b { font-weight:500; }
.hero h1 { margin-top:32px; font-size:clamp(48px,6.4vw,98px); line-height:.98; letter-spacing:-.05em; }
.hero h1 em { display:block; margin-top:.16em; color:#eaf4ff; font-style:normal; text-shadow:0 0 36px rgba(83,151,255,.18); }
.hero-lede { max-width:610px; margin-top:28px; color:#bdc8d8; font-size:clamp(16px,1.35vw,20px); line-height:1.85; }
.hero-actions { display:flex; gap:14px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:52px; padding:0 22px; border-radius:999px; font-size:14px; font-weight:700; transition:transform .25s ease,border .25s ease,background .25s ease; }
.button:hover { transform:translateY(-3px); }
.button-primary { background:#edf5ff; color:#06101d; }
.button-primary span { color:#276fff; }
.button-ghost { border:1px solid rgba(255,255,255,.32); }
.button-ghost:hover { border-color:var(--cyan); background:rgba(117,236,255,.08); }
.hero-side { position:absolute; z-index:2; right:clamp(26px,4vw,62px); top:28%; width:122px; color:#dae4f1; }
.hero-side > span { font-size:9px; letter-spacing:.22em; color:var(--cyan); }
.hero-side strong { display:block; margin-top:16px; font-size:14px; font-weight:500; line-height:2; }
.hero-side i { display:block; width:1px; height:72px; margin:20px 0; background:linear-gradient(var(--cyan),transparent); }
.hero-side small { color:#8c9aab; font-size:9px; letter-spacing:.16em; }
.hero-index { position:absolute; z-index:2; right:clamp(26px,4vw,62px); bottom:34px; display:flex; align-items:center; gap:10px; font:11px ui-monospace,monospace; color:#8493a7; }
.hero-index i { width:66px; height:1px; background:var(--cyan); }
.hero-scroll { display:flex; align-items:center; gap:20px; margin-top:22px; color:#77869a; font-size:10px; letter-spacing:.16em; }
.hero-scroll i { width:80px; height:1px; background:linear-gradient(90deg,var(--blue),transparent); }
.hero-scroll span:last-child { letter-spacing:.08em; }
@keyframes hero-breathe { to { transform:scale(1.045) translate3d(7px,-4px,0); } }

.section { padding:var(--section-space) 0; }
.position { background:linear-gradient(180deg,var(--bg),#050a12); }
.position-grid { display:grid; grid-template-columns:110px minmax(0,1.35fr) minmax(320px,.75fr); gap:42px; }
.section-index { color:#65768d; font-family:ui-monospace,monospace; }
.section-index span { display:block; color:var(--cyan); font-size:18px; }
.section-index small { display:block; margin-top:8px; font-size:10px; letter-spacing:.16em; }
.position-title h2,.section-row h2,.pipeline-heading h2,.works-heading h2,.license-head h2,.contact h2 { font-size:clamp(38px,4.3vw,68px); line-height:1.12; letter-spacing:-.045em; }
.position-title h2 { margin-top:26px; }
.position-title h2 span { color:var(--blue); }
.position-copy { padding-top:46px; color:#b6c1d0; font-size:17px; line-height:1.9; }
.position-copy p + p { margin-top:20px; }
.position-ledger { grid-column:2/4; display:grid; grid-template-columns:repeat(4,1fr); margin-top:40px; border-block:1px solid var(--line); }
.position-ledger div { padding:22px 20px; border-right:1px solid var(--line); }
.position-ledger div:last-child { border-right:0; }
.position-ledger dt { color:#708096; font-size:12px; }
.position-ledger dd { margin-top:12px; font-size:15px; font-weight:700; }

.pipeline { background:#050a12; }
.pipeline-heading { display:grid; grid-template-columns:150px minmax(0,1fr) 360px; align-items:end; gap:34px; margin-bottom:68px; }
.pipeline-heading > div span { color:var(--cyan); font:18px ui-monospace,monospace; }
.pipeline-heading > div small { display:block; margin-top:8px; color:#65758b; font:9px ui-monospace,monospace; letter-spacing:.15em; }
.pipeline-heading p { color:#9eacbf; font-size:16px; line-height:1.8; }
.pipeline-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pipeline-grid li { position:relative; overflow:hidden; min-height:480px; border:1px solid var(--line); border-radius:24px; background:#080f1a; transition:transform .5s var(--ease),border .5s ease,box-shadow .5s ease; }
.pipeline-grid li:nth-child(even) { margin-top:38px; }
.pipeline-grid li.is-active,.pipeline-grid li:hover { transform:translateY(-8px); border-color:rgba(117,236,255,.42); box-shadow:0 24px 80px rgba(0,62,128,.18); }
.pipeline-grid figure { position:relative; height:270px; overflow:hidden; background:linear-gradient(145deg,#101a2b,#05080e); }
.pipeline-grid figure::after { content:""; position:absolute; inset:auto 0 0; height:55%; background:linear-gradient(transparent,#080f1a); }
.pipeline-grid figure img { height:100%; object-fit:cover; filter:saturate(.72) brightness(.76); transition:transform .8s var(--ease); }
.pipeline-grid li:hover figure img { transform:scale(1.06); }
.pipeline-grid figure > span { position:absolute; z-index:2; top:18px; left:18px; font:34px ui-monospace,monospace; color:#d7eaff; }
.pipeline-grid figure > b { position:absolute; inset:0; display:grid; place-items:center; color:#b8c9dd; font:600 26px/1.35 ui-monospace,monospace; letter-spacing:.18em; text-align:center; }
.pipeline-grid li > div { padding:4px 25px 28px; }
.pipeline-grid small,.works-grid small,.license-grid small { color:var(--cyan); font:10px ui-monospace,monospace; letter-spacing:.15em; }
.pipeline-grid h3 { margin-top:10px; font-size:25px; }
.pipeline-grid p { margin-top:13px; color:#91a0b3; font-size:15px; line-height:1.75; }

.technology { position:relative; overflow:hidden; background:radial-gradient(circle at 78% 40%,rgba(31,101,189,.25),transparent 35%),#02060b; }
.technology::before { content:""; position:absolute; width:600px; height:600px; border:1px solid rgba(117,236,255,.12); border-radius:50%; right:-180px; top:-180px; box-shadow:0 0 0 80px rgba(117,236,255,.02),0 0 0 180px rgba(117,236,255,.015); }
.tech-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(48px,8vw,120px); }
.tech-copy h2 { margin-top:28px; font-size:clamp(42px,5vw,76px); line-height:1.08; letter-spacing:-.05em; }
.tech-copy > p:not(.section-kicker) { margin-top:28px; color:#9faec0; font-size:17px; line-height:1.9; }
.text-link { display:inline-flex; gap:26px; margin-top:32px; padding-bottom:9px; border-bottom:1px solid var(--cyan); color:#dff8ff; font-size:14px; font-weight:700; }
.tech-window { overflow:hidden; border:1px solid rgba(130,177,233,.28); border-radius:24px; background:rgba(6,12,22,.82); box-shadow:0 36px 100px rgba(0,61,125,.26); backdrop-filter:blur(18px); }
.tech-window > header { display:flex; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); color:#7e8da2; font:10px ui-monospace,monospace; letter-spacing:.12em; }
.tech-window > header b { color:var(--cyan); }
.tech-preview { display:grid; grid-template-columns:.72fr 1fr; gap:16px; padding:18px; }
.tech-video { position:relative; overflow:hidden; min-height:330px; border-radius:14px; }
.tech-video img { height:100%; object-fit:cover; filter:brightness(.66) saturate(.75); }
.tech-video > span { position:absolute; left:12px; bottom:12px; padding:5px 8px; border-radius:6px; background:rgba(0,0,0,.68); font:10px ui-monospace,monospace; }
.tech-track { display:flex; flex-direction:column; justify-content:center; gap:12px; }
.tech-track p { padding:15px; border:1px solid var(--line); border-radius:12px; background:#0a1320; color:#b7c6d9; font-size:13px; line-height:1.6; }
.tech-track b { display:block; margin-bottom:6px; color:var(--cyan); font:10px ui-monospace,monospace; }
.tech-window > footer { display:flex; align-items:center; justify-content:center; gap:12px; padding:15px; border-top:1px solid var(--line); color:#8d9eb4; font-size:11px; }
.tech-window > footer i { width:28px; height:1px; background:#2f668f; }

.advantages { background:#070c14; }
.section-row { display:flex; align-items:end; justify-content:space-between; gap:48px; }
.section-row h2 { max-width:780px; text-align:right; }
.advantage-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:62px; border-top:1px solid var(--line); }
.advantage-grid article { min-height:330px; padding:28px; border-right:1px solid var(--line); transition:background .3s ease; }
.advantage-grid article:last-child { border-right:0; }
.advantage-grid article:hover { background:rgba(84,152,230,.07); }
.advantage-grid span { color:var(--cyan); font:13px ui-monospace,monospace; }
.advantage-grid h3 { margin-top:92px; font-size:27px; }
.advantage-grid p { margin-top:18px; color:#929fb1; line-height:1.8; }

.works { background:#02050a; }
.works-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; }
.works-heading h2 { margin-top:24px; }
.works-heading > p { max-width:360px; color:#8593a6; font-size:14px; line-height:1.8; }
.works-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:58px; }
.works-grid figure { position:relative; aspect-ratio:2/3; overflow:hidden; border-radius:22px; background:#0b111a; }
.works-grid figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6)); }
.works-grid figure img { height:100%; object-fit:cover; transition:transform .8s var(--ease),filter .8s ease; }
.works-grid article:hover img { transform:scale(1.045); filter:saturate(1.12); }
.works-grid figure span { position:absolute; z-index:2; right:16px; bottom:14px; font:26px ui-monospace,monospace; }
.works-grid small { display:block; margin-top:22px; }
.works-grid h3 { margin-top:8px; font-size:24px; }
.works-grid p { margin-top:10px; color:#8e9bad; }

.cooperation { background:#070c14; }
.coop-list { margin-top:58px; border-top:1px solid var(--line); }
.coop-list article { display:grid; grid-template-columns:100px 1fr 140px; align-items:center; gap:28px; padding:28px 12px; border-bottom:1px solid var(--line); transition:padding .3s ease,background .3s ease; }
.coop-list article:hover { padding-left:26px; background:linear-gradient(90deg,rgba(82,159,255,.08),transparent); }
.coop-list > article > span { color:var(--cyan); font:18px ui-monospace,monospace; }
.coop-list h3 { font-size:25px; }
.coop-list p { margin-top:8px; color:#8c99aa; }
.coop-list b { color:#68788d; font:10px ui-monospace,monospace; letter-spacing:.16em; text-align:right; }

.licensing { background:#02050a; }
.license-head { display:grid; grid-template-columns:1fr 390px; align-items:end; gap:60px; }
.license-head h2 { margin-top:24px; }
.license-head > p { color:#8f9caf; line-height:1.8; }
.license-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:54px; background:var(--line); border:1px solid var(--line); }
.license-grid article { min-height:250px; padding:30px; background:#060b12; transition:background .3s ease; }
.license-grid article:hover { background:#0a1421; }
.license-grid > article > span { color:#66768d; font:11px ui-monospace,monospace; }
.license-grid h3 { margin-top:36px; font-size:28px; }
.license-grid small { display:block; margin-top:6px; }
.license-grid p { max-width:480px; margin-top:20px; color:#8d9aad; line-height:1.75; }
.license-note { display:flex; justify-content:space-between; gap:30px; margin-top:18px; color:#7f8da0; font-size:13px; line-height:1.7; }
.license-note b { max-width:600px; color:#aeb9c8; font-weight:500; text-align:right; }

.contact { position:relative; min-height:740px; display:flex; align-items:center; overflow:hidden; background:#000; }
.contact-image { position:absolute; inset:0; }
.contact-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.6) 55%,rgba(0,0,0,.25)),linear-gradient(0deg,#000,transparent 45%); }
.contact-image img { height:100%; object-fit:cover; object-position:center; filter:saturate(.55) brightness(.66); }
.contact-inner { position:relative; z-index:2; display:grid; grid-template-columns:1fr 400px; align-items:end; gap:80px; }
.contact h2 { margin-top:28px; max-width:850px; }
.contact-info { padding:28px; border:1px solid rgba(255,255,255,.22); border-radius:20px; background:rgba(3,8,14,.66); backdrop-filter:blur(16px); }
.contact-info h3 { margin-bottom:22px; font-size:18px; line-height:1.6; }
.contact-info p { padding:11px 0; border-top:1px solid rgba(255,255,255,.1); color:#9daabc; font-size:14px; }
.contact-info a { display:flex; justify-content:space-between; margin-top:18px; color:var(--cyan); font-weight:700; }

.site-footer { padding:34px 0 96px; border-top:1px solid var(--line); background:#000; }
.site-footer .shell { display:grid; grid-template-columns:230px 1fr auto; align-items:center; gap:30px; color:#687689; font-size:12px; }
.site-footer img { width:220px; }
.site-footer p { text-align:center; }
.theme-jump { border:1px solid rgba(159,190,229,.24); background:rgba(3,7,13,.82); color:#9badc4; }
.theme-jump a { color:#c4d3e6; }
.theme-jump a:hover { background:rgba(117,236,255,.12); }
.theme-jump a[aria-current="page"] { background:#eaf6ff; color:#07101b; }

@media (max-width:1100px) {
  .site-nav { gap:18px; font-size:13px; }
  .position-grid { grid-template-columns:80px 1fr 1fr; }
  .pipeline-heading { grid-template-columns:100px 1fr 300px; }
  .pipeline-grid { grid-template-columns:repeat(2,1fr); }
  .pipeline-grid li:nth-child(even) { margin-top:0; }
  .contact-inner { grid-template-columns:1fr 360px; gap:45px; }
}
@media (max-width:920px) {
  .brand { width:210px; }
  .brand img { height:42px; }
  [data-nav] { background:rgba(5,10,17,.96); border:1px solid var(--line); box-shadow:0 24px 70px rgba(0,0,0,.5); }
  [data-nav] a:hover { background:rgba(117,236,255,.06); }
  .hero-frame { min-height:720px; }
  .hero-image { object-position:60% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(1,5,11,.96),rgba(1,5,11,.74) 55%,rgba(2,6,12,.22)),linear-gradient(0deg,rgba(2,5,10,.8),transparent); }
  .hero-copy { width:78%; }
  .hero-side { display:none; }
  .position-grid { grid-template-columns:70px 1fr; }
  .position-copy { grid-column:2; padding-top:0; }
  .position-ledger { grid-column:2; grid-template-columns:repeat(2,1fr); }
  .position-ledger div:nth-child(2) { border-right:0; }
  .position-ledger div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .pipeline-heading { grid-template-columns:1fr; }
  .pipeline-heading > div { display:none; }
  .tech-grid { grid-template-columns:1fr; }
  .section-row { display:block; }
  .section-row h2 { margin-top:26px; text-align:left; }
  .advantage-grid { grid-template-columns:1fr; }
  .advantage-grid article { min-height:240px; border-right:0; border-bottom:1px solid var(--line); }
  .advantage-grid h3 { margin-top:55px; }
  .works-heading { display:block; }
  .works-heading > p { margin-top:24px; }
  .license-head { grid-template-columns:1fr; }
  .contact { min-height:850px; }
  .contact-inner { grid-template-columns:1fr; }
  .site-footer .shell { grid-template-columns:1fr; text-align:center; }
  .site-footer img { margin:auto; }
}
@media (max-width:640px) {
  .hero { min-height:auto; }
  .hero-frame { min-height:690px; border-radius:24px; }
  .hero-image { object-position:64% center; }
  .hero-shade { background:linear-gradient(180deg,rgba(2,6,12,.16),rgba(2,6,12,.62) 44%,rgba(2,6,12,.98) 78%); }
  .hero-copy { position:absolute; inset:auto 0 0; width:100%; padding:30px 24px 42px; }
  .hero-overline b { display:none; }
  .hero h1 { font-size:46px; }
  .hero-lede { font-size:15px; line-height:1.7; }
  .hero-actions { flex-wrap:wrap; margin-top:26px; }
  .button { min-height:48px; }
  .hero-index { top:24px; right:22px; bottom:auto; }
  .hero-scroll { display:none; }
  .position-grid { display:block; }
  .section-index { display:none; }
  .position-copy { margin-top:32px; }
  .position-ledger { display:grid; grid-template-columns:1fr; margin-top:32px; }
  .position-ledger div { border-right:0; border-bottom:1px solid var(--line); }
  .pipeline-grid { grid-template-columns:1fr; }
  .pipeline-grid li { min-height:auto; }
  .pipeline-grid figure { height:240px; }
  .tech-preview { grid-template-columns:1fr; }
  .tech-video { min-height:320px; }
  .tech-window > footer { gap:8px; }
  .tech-window > footer i { width:14px; }
  .works-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:18px; }
  .works-grid article { min-width:83vw; scroll-snap-align:start; }
  .coop-list article { grid-template-columns:48px 1fr; gap:14px; padding-inline:0; }
  .coop-list b { display:none; }
  .license-grid { grid-template-columns:1fr; }
  .license-note { display:block; }
  .license-note b { display:block; margin-top:12px; text-align:left; }
  .contact { min-height:780px; align-items:end; padding-bottom:80px; }
  .contact-inner { gap:38px; }
  .contact-info { padding:20px; }
}
