:root{
  --bg:#07090b;--bg2:#0b0e12;--panel:#0d1116;--panel2:#10151b;--line:#2a3037;
  --text:#f2f4f6;--muted:#9aa3ad;--muted2:#69727d;--accent:#c7d2ff;--max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 700px at 70% -10%,#151b22 0%,transparent 50%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
.skip-link{position:absolute;left:12px;top:-48px;z-index:100;padding:8px 12px;background:#f2f4f6;color:#07090b;border-radius:6px}
.skip-link:focus{top:12px}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}

/* Header */
.topbar{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{font-weight:800;letter-spacing:.08em;font-size:24px}
.nav{display:flex;gap:34px;font-size:14px}
.nav a{color:#c8cdd3}
.nav a:hover{color:#fff}
.contact{text-align:right;font-size:14px;color:#c8cdd3}

/* Hero */
.hero{padding:92px 0 66px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,.6fr);gap:80px;align-items:end}
.eyebrow,.micro{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted2)}
h1{font-size:clamp(58px,7vw,112px);line-height:.94;letter-spacing:-.055em;margin:20px 0 24px;max-width:1050px}
h2{font-size:clamp(36px,4.6vw,72px);line-height:1;letter-spacing:-.045em;margin:0}
.lead{font-size:clamp(20px,2vw,30px);color:#aeb5bd;max-width:900px}
.signal{border-left:1px solid var(--line);padding-left:28px;padding-bottom:10px}
.signal div{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8b949e}

/* Project cards */
.projects{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 72px}
.card{min-height:520px;border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative;background:var(--panel);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(160px,.95fr);grid-template-areas:"copy visual"}
.card-wide{grid-column:1/-1;grid-template-columns:minmax(280px,1.25fr) minmax(220px,380px);min-height:540px}
.card-inner{padding:34px;display:flex;flex-direction:column;position:relative;width:100%;grid-area:copy;z-index:1;min-width:0}
.card .num{font-size:12px;color:#7c8793;letter-spacing:.1em}
.card-title{font-size:48px;letter-spacing:-.04em;margin:64px 0 22px}
.card-sub{font-size:28px;line-height:1.06;letter-spacing:-.03em;max-width:420px}
.card-copy{color:#a9b1b9;max-width:390px;margin-top:24px;font-size:17px}
.cta{margin-top:auto;display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid #66717c;padding-bottom:4px;width:max-content}
.tags{display:flex;gap:26px;border-top:1px solid var(--line);padding-top:18px;margin-top:44px;color:#8f98a2;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.card-visual{grid-area:visual;position:relative;overflow:hidden;display:flex;align-items:stretch;justify-content:flex-end;padding:48px 0 0;pointer-events:none}
.card-visual img{display:block;width:112%;max-width:none;height:100%;object-fit:cover;object-position:top left;border-radius:12px 0 0 0;border:1px solid rgba(255,255,255,.08);border-right:0;box-shadow:-16px 20px 48px rgba(0,0,0,.4)}
.card-visual.is-phone{align-items:center;justify-content:center;padding:36px 40px 32px 8px}
.card-visual.is-phone img{width:min(228px,100%);height:auto;object-fit:contain;border-radius:28px;border:7px solid #10141a;outline:1px solid #3c4450;box-shadow:0 28px 64px rgba(0,0,0,.5)}
.card:has(.card-visual.is-overlay){grid-template-columns:1fr;grid-template-areas:"copy"}
.card:has(.card-visual.is-overlay)::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(105deg,#0b0f14 0%,#0b0f14 22%,rgba(8,10,13,.88) 38%,rgba(8,10,13,.42) 58%,transparent 76%),
    linear-gradient(180deg,rgba(8,10,13,.7) 0%,rgba(8,10,13,.28) 36%,transparent 58%);
}
.card:has(.card-visual.is-overlay) .card-inner{z-index:2}
.card-visual.is-overlay{position:absolute;inset:0;padding:0;align-items:center;justify-content:center;z-index:0}
.card-visual.is-overlay img{width:100%;height:100%;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none;mix-blend-mode:lighten}

.news-card{background:radial-gradient(700px 500px at 70% 65%,rgba(120,151,255,.14),transparent 55%),linear-gradient(180deg,#0b0f14,#080a0d)}
.noovu-card{background:radial-gradient(700px 500px at 82% 34%,rgba(97,119,170,.15),transparent 58%),linear-gradient(150deg,#0f1318,#080a0d 72%)}
.news-card:after,.noovu-card:after{content:attr(data-tag);position:absolute;right:32px;top:32px;z-index:3;font-size:10px;letter-spacing:.18em;color:#56616d;writing-mode:vertical-rl}

.noovu-lockup{display:flex;align-items:center;gap:14px;margin:64px 0 22px}
.noovu-lockup .card-title{margin:0}
.noovu-title{color:#e8ecf4}

/* Systems / capabilities */
.systems{padding:0 0 72px}
.systems .section-title{margin-bottom:14px}
.systems h2{margin-bottom:20px}
.systems .lead{margin-bottom:40px}

/* Shared feature list (home + project pages) */
.feature-list{display:grid;gap:12px}
.feature{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--panel)}
.feature h3{margin:0 0 6px;font-size:20px}
.feature p{margin:0;font-size:15px;color:#929ca6}

/* About */
.about{display:grid;grid-template-columns:70px 1.5fr .7fr;gap:28px;padding:36px 0 82px}
.about p{font-size:19px;color:#abb3bc;max-width:720px}
.about-side{border-left:1px solid var(--line);padding-left:38px}
.about-side .micro{line-height:1.7}

/* Footer */
.footer{border-top:1px solid var(--line);padding:28px 0 36px;display:flex;justify-content:space-between;color:#838d97;font-size:13px}
.footer-brand{color:#eef1f3;letter-spacing:.08em}

/* Project pages */
.project-hero{padding:86px 0 56px;border-bottom:1px solid var(--line)}
.project-hero h1{max-width:1000px;margin-top:24px}
.back{font-size:14px;color:#9aa3ad}
.project-kicker{display:flex;gap:18px;flex-wrap:wrap;color:#808a95;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:54px}
.noovu-project-lockup{display:flex;align-items:center;gap:18px;margin-top:52px;font-size:clamp(32px,4vw,58px);font-weight:650;letter-spacing:-.04em}

.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:56px 0}
.project-grid p{font-size:20px;color:#aeb6bf}

.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid #47515d;border-radius:999px;padding:12px 18px;font-size:14px}
.btn:hover{border-color:#76818d}

.muted-section{padding:56px 0 90px}
.section-title{font-size:14px;color:#7f8994;text-transform:uppercase;letter-spacing:.14em;margin-bottom:28px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fact{border-top:1px solid var(--line);padding-top:16px;color:#9ea7b0}
.fact strong{display:block;color:#edf0f3;font-size:26px;margin-bottom:6px}

@media(max-width:900px){
  .wrap{width:min(100% - 28px,var(--max))}
  .topbar{grid-template-columns:1fr auto}
  .nav{display:none}
  .hero{grid-template-columns:1fr;gap:36px;padding-top:66px}
  .signal{max-width:280px}
  .projects{grid-template-columns:1fr}
  .card,.card-wide{grid-template-columns:1fr;grid-template-areas:"copy" "visual";grid-column:auto;min-height:0}
  .card-visual{min-height:220px;padding:0 20px 24px;align-items:stretch}
  .card-visual img{width:100%;height:220px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
  .card-visual.is-phone{min-height:0;padding:4px 24px 28px;align-items:center;justify-content:center}
  .card-visual.is-phone img{width:min(200px,68%);height:auto}
  .card:has(.card-visual.is-overlay){min-height:520px}
  .card:has(.card-visual.is-overlay)::before{
    background:
      linear-gradient(180deg,#0b0f14 0%,rgba(11,15,20,.92) 42%,rgba(8,10,13,.5) 62%,transparent 82%),
      linear-gradient(90deg,#0b0f14 0%,rgba(8,10,13,.55) 48%,transparent 78%);
  }
  .card-visual.is-overlay{min-height:0;padding:0}
  .card-visual.is-overlay img{width:100%;height:100%;object-fit:contain;border:0;box-shadow:none}
  .about{grid-template-columns:40px 1fr}
  .about-side{grid-column:2}
  .project-grid{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .footer{gap:20px;flex-direction:column}
}
@media(max-width:600px){
  h1{font-size:54px}
  .lead{font-size:20px}
  .card-inner{padding:24px}
  .card-title{font-size:40px;margin-top:46px}
  .card-sub{font-size:25px}
  .about{grid-template-columns:1fr}
  .about>.num,.about-side{grid-column:1}
  .about-side{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:24px}
  .contact{font-size:12px}
  .brand{font-size:21px}
  .news-card:after,.noovu-card:after{display:none}
}
