:root{
  --bg:#070b12; --surface:#0d131d; --surface-2:#121a26; --line:rgba(226,236,248,.09);
  --text:#e9eef5; --muted:#98a3b3;
  --accent:oklch(0.82 0.13 185); --accent-2:oklch(0.82 0.13 285);
  --ink-on-accent:#04141a;
  --f-display:"Sora",system-ui,sans-serif; --f-body:"IBM Plex Sans",system-ui,sans-serif; --f-mono:"IBM Plex Mono",ui-monospace,monospace;
  --r:14px; --wrap:1200px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font:16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--text)}
h1,h2,h3{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;line-height:1.1;margin:0;text-wrap:balance}
h1{font-size:clamp(40px,6vw,76px)}
h2{font-size:clamp(28px,3.4vw,44px)}
h3{font-size:19px;font-weight:500}
p{margin:0;text-wrap:pretty}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.mono{font-family:var(--f-mono);font-size:13px;letter-spacing:.02em}
.small{font-size:12px}
.muted{color:var(--muted)}
.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(7,11,18,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:32px;height:68px}
.menu{display:flex;gap:26px;margin-left:auto;flex-wrap:wrap}
.menu a{color:var(--muted);font-size:14px}
.menu a:hover,.menu a.active{color:var(--text)}
.logo{display:flex;align-items:center;gap:10px;color:var(--text);font:600 18px var(--f-display);letter-spacing:-.01em}
.logo:hover{color:var(--text)}
.logo-sub{color:var(--muted);font-weight:400}
.logo-mark{width:22px;height:22px;border-radius:50%;background:conic-gradient(from 200deg,var(--accent),var(--accent-2),var(--accent));box-shadow:0 0 18px color-mix(in oklch,var(--accent) 50%,transparent)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink-on-accent);padding:13px 22px;border-radius:999px;font-weight:600;font-size:15px}
.btn:hover{color:var(--ink-on-accent);filter:brightness(1.08)}
.btn-sm{padding:9px 16px;font-size:14px}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{color:var(--text);border-color:var(--muted)}
.hero{padding:110px 0 90px;border-bottom:1px solid var(--line);background:radial-gradient(60% 80% at 85% 20%,color-mix(in oklch,var(--accent) 12%,transparent),transparent 70%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.lede{font-size:19px;color:var(--muted);max-width:56ch;margin-top:24px}
.lede p{margin:0}
.actions{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.ph{border:1px solid var(--line);border-radius:var(--r);background:repeating-linear-gradient(135deg,var(--surface) 0 10px,var(--surface-2) 10px 20px);display:flex;align-items:flex-end;padding:14px}
.ph span{font:12px var(--f-mono);color:var(--muted)}
.ph-hero{aspect-ratio:4/5}
.img{display:block;width:100%;object-fit:cover;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.img-hero{aspect-ratio:4/5}
.img-sm{aspect-ratio:16/10;margin:16px 0 20px}
.img-wide{aspect-ratio:16/8;margin-bottom:32px}
.ph-sm{aspect-ratio:16/10;margin:16px 0 20px}
.ph-wide{aspect-ratio:16/8;margin-bottom:32px}
.section{padding:100px 0}
.band{background:var(--surface);border-block:1px solid var(--line)}
.section-head{margin-bottom:44px}
.section-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.grid-2,.grid-3,.grid-4{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr))}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;color:var(--text);display:flex;flex-direction:column}
a.card:hover{border-color:color-mix(in oklch,var(--accent) 50%,transparent);color:var(--text)}
.card-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}
.product p{margin:10px 0 20px;flex:1}
.pill{font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in oklch,var(--accent-2) 45%,transparent);color:var(--accent-2)}
.link-arrow{color:var(--accent);font-size:14px;font-weight:500}
.loop{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:0}
.loop-step{background:var(--surface);padding:32px 28px;display:flex;flex-direction:column;gap:40px}
.loop-step .mono{color:var(--accent)}
.loop-step h3{font-size:28px}
.avatar{width:64px;height:64px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--surface-2),var(--surface));border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;font:500 16px var(--f-mono);color:var(--accent)}
.avatar img{width:100%;height:100%;object-fit:cover}
.mini-person{display:flex;flex-direction:column;gap:8px}
.mini-person .avatar{width:100%;height:auto;aspect-ratio:1;border-radius:var(--r);font-size:28px;margin-bottom:10px}
.mini-person p{font-size:14px}
.person{display:flex;gap:20px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.person .role{color:var(--accent);font-size:14px;margin:4px 0 8px}
.person .bio{font-size:15px;margin:10px 0}
.news-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.news-item{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line);color:var(--text)}
.news-item:hover{color:var(--accent)}
.news-item time{color:var(--muted);padding-top:3px}
.page-head{padding:100px 0 60px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(36px,5vw,64px);max-width:20ch}
.prose{max-width:720px;font-size:17px}
.prose h2{font-size:28px;margin:48px 0 16px}
.prose p,.prose ul{margin:0 0 18px;color:#c8d0dc}
.prose strong{color:var(--text)}
.sub{font-size:28px;margin-bottom:32px}
.product-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.spec{position:sticky;top:96px;gap:8px}
.spec dl{margin:0 0 24px}
.spec dt{font:12px var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding-top:14px;border-top:1px solid var(--line)}
.spec dd{margin:4px 0 14px}
.jobs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.job{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);color:var(--text)}
.job:hover{color:var(--accent)}
.office h3{margin-bottom:8px}
.office .mono{margin-top:16px}
.site-footer{border-top:1px solid var(--line);padding:72px 0 28px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1fr;gap:40px}
.footer-grid>div{display:flex;flex-direction:column;gap:10px;font-size:14px}
.footer-grid a{color:var(--text)}
.footer-grid a:hover{color:var(--accent)}
.footer-grid p{max-width:36ch;margin-top:8px}
.footer-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:64px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}
@media (max-width:860px){
  .hero-grid,.product-grid,.footer-grid{grid-template-columns:1fr}
  .news-item,.job{grid-template-columns:1fr;gap:8px}
  .menu{display:none}
  .spec{position:static}
}
