:root{
  --bg:#080d12;
  --bg-alt:#0b1219;
  --card:#0e161e;
  --card-border:rgba(255,255,255,0.07);
  --line:rgba(255,255,255,0.09);
  --text:#eef2f5;
  --muted:#93a1ad;
  --muted-2:#5c6b78;
  --green:#22d98a;
  --green-dim:#16a36a;
  --blue:#3d8bd4;
  --violet:#7464f3;
  --red:#e5586a;
  --grad: linear-gradient(100deg, var(--green) 0%, var(--blue) 55%, var(--violet) 100%);
  --radius:18px;
  --maxw:1240px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', -apple-system, sans-serif;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--green); color:#04120c;}

h1,h2,h3,.display{
  font-family:'Space Grotesk', 'Inter', sans-serif;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.05;
}

a{color:inherit; text-decoration:none;}
ul{list-style:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
section{position:relative;}

/* Skip link */
.skip-link{
  position:absolute; left:12px; top:-60px; z-index:2000;
  background:var(--green); color:#04170f; padding:12px 18px; border-radius:8px;
  font-weight:700; transition:top .2s ease;
}
.skip-link:focus{top:12px;}

.eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:'JetBrains Mono', monospace;
  font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--green); font-weight:500; margin-bottom:20px;
}
.eyebrow .rule{width:28px; height:1px; background:var(--green); opacity:0.6;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 26px; border-radius:999px;
  font-weight:600; font-size:15px; white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  cursor:pointer; border:none; font-family:inherit;
}
.btn-primary{
  background:var(--green); color:#04170f;
  box-shadow:0 0 0 0 rgba(34,217,138,0.5);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 30px -8px rgba(34,217,138,0.55);}
.btn-primary svg{transition:transform .25s ease;}
.btn-primary:hover svg{transform:translateX(3px);}
.btn-ghost{color:var(--muted); font-weight:500; font-size:15px; padding:14px 6px; display:inline-flex; align-items:center; gap:6px; background:none;}
.btn-ghost:hover{color:var(--text);}
.btn-outline{
  border:1px solid var(--line); color:var(--text); background:transparent;
  padding:13px 24px; border-radius:999px; font-weight:600; font-size:15px;
}
.btn-outline:hover{border-color:var(--green); color:var(--green);}
.btn-sm{padding:10px 18px; font-size:13.5px;}

header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(8,13,18,0.55);
  backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, background .3s ease;
}
header.scrolled{border-color:var(--line); background:rgba(8,13,18,0.86);}
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 40px; max-width:var(--maxw); margin:0 auto;
}
.logo{display:flex; align-items:center; gap:12px; position:relative;}
.logo img{height:38px; width:auto; display:block;}
.logo .brand-text{display:flex; flex-direction:column; line-height:1.05;}
.logo .brand-text b{font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; color:#fff; letter-spacing:-0.01em;}
.logo .brand-text small{font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:0.1em; color:var(--muted-2); text-transform:uppercase;}
footer .logo img{height:34px;}
.nav-links{display:flex; align-items:center; gap:30px;}
.nav-links a{color:var(--muted); font-size:14.5px; font-weight:500; transition:color .2s ease; position:relative;}
.nav-links a:hover, .nav-links a.active{color:var(--text);}
.nav-right{display:flex; align-items:center; gap:22px;}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.burger span{width:22px; height:2px; background:#fff; border-radius:2px;}

/* ---- Homepage hero ---- */
.hero{
  min-height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding-top:140px; padding-bottom:90px;
  position:relative;
  background-image:
    linear-gradient(rgba(8,13,18,0.78), rgba(8,13,18,0.78)),
    url('../images/hero/hero-workers.png');
  background-size:cover, cover;
  background-position:center, center 30%;
  background-repeat:no-repeat, no-repeat;
  overflow:hidden;
}
.hero .wrap{position:relative; z-index:1;}
.badge{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--line); border-radius:999px;
  padding:9px 18px; font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--muted); margin-bottom:36px; width:fit-content;
  background:rgba(255,255,255,0.02);
}
.badge .pulse{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(34,217,138,0.6); animation:pulse 2s infinite;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(34,217,138,0.55);}
  70%{box-shadow:0 0 0 8px rgba(34,217,138,0);}
  100%{box-shadow:0 0 0 0 rgba(34,217,138,0);}
}
.hero h1{font-size:clamp(40px, 6vw, 72px); max-width:920px; color:#f4f6f8;}
.hero h1 .grad{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero p.lead{max-width:600px; color:var(--muted); font-size:17px; margin-top:28px;}
.hero-actions{display:flex; align-items:center; gap:8px; margin-top:42px; flex-wrap:wrap;}
.credibility-strip{
  margin-top:60px; padding-top:28px; border-top:1px solid var(--line);
  font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.08em;
  color:var(--muted-2); text-transform:uppercase; display:flex; flex-wrap:wrap; gap:10px 14px;
}
.credibility-strip b{color:var(--muted);}

/* ---- Interior page hero (smaller) ---- */
.page-hero{
  padding:150px 0 70px; border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse 900px 400px at 50% -10%, rgba(34,217,138,0.08), transparent 70%);
}
.breadcrumb{
  display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted-2);
  font-family:'JetBrains Mono', monospace; margin-bottom:26px; flex-wrap:wrap;
}
.breadcrumb a{color:var(--muted-2); transition:color .2s ease;}
.breadcrumb a:hover{color:var(--green);}
.page-hero h1{font-size:clamp(34px,5vw,54px); max-width:820px;}
.page-hero p.lead{max-width:640px; color:var(--muted); font-size:16.5px; margin-top:20px;}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}
.reveal-delay-5{transition-delay:.40s;}

/* ---- About / general two-col content ---- */
.about{padding:110px 0; border-top:1px solid var(--line);}
.about-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:start;}
.about h2{font-size:clamp(30px,3.6vw,44px); max-width:640px;}
.about p{color:var(--muted); font-size:16.5px; max-width:560px; margin-top:22px;}
.about p + p{margin-top:16px;}
.stat-grid{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.stat-cell{padding:32px 30px; border-bottom:1px solid var(--line);}
.stat-cell:nth-child(odd){border-right:1px solid var(--line);}
.stat-cell:nth-child(3), .stat-cell:nth-child(4){border-bottom:none;}
.stat-num{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:28px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat-label{color:var(--muted-2); font-size:13.5px; margin-top:10px; line-height:1.4;}

/* ---- Evidence / credentials bar ---- */
.evidence-bar{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:56px 0;}
.evidence-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:22px;}
.evidence-cell{text-align:center;}
.evidence-num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:30px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.evidence-label{color:var(--muted-2); font-size:12.5px; margin-top:8px; line-height:1.4;}
.evidence-note{color:var(--muted-2); font-size:12.5px; margin-top:30px; text-align:center;}

/* ---- Facts block (about) ---- */
.facts-block{border:1px solid var(--line); border-radius:var(--radius); padding:8px 0; margin-top:50px;}
.facts-row{display:grid; grid-template-columns:260px 1fr; gap:20px; padding:20px 32px; border-top:1px solid var(--line);}
.facts-block .facts-row:first-child{border-top:none;}
.facts-row dt{font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted-2);}
.facts-row dd{color:var(--text); font-size:15px;}

.mission-vision{border-top:1px solid var(--line); padding:0;}
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; padding:100px 0;}
.mv-card{border:1px solid var(--line); border-radius:var(--radius); padding:44px 40px; background:rgba(255,255,255,0.015); position:relative; overflow:hidden;}
.mv-card.glow::after{content:''; position:absolute; left:8%; right:8%; bottom:0; height:1px; background:var(--grad); box-shadow:0 0 24px 2px rgba(34,217,138,0.5);}
.mv-card .tag{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:20px; display:block;}
.mv-card h3{font-size:23px; line-height:1.35; font-weight:600; font-family:'Space Grotesk';}

.why{border-top:1px solid var(--line); padding-bottom:110px;}
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.why-card{border:1px solid var(--line); border-radius:var(--radius); padding:36px 34px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease;}
.why-card:hover{border-color:rgba(34,217,138,0.35); transform:translateY(-4px);}
.why-card h3{font-size:18.5px; margin:22px 0 12px; font-family:'Space Grotesk'; line-height:1.3;}
.why-card p{color:var(--muted); font-size:14.5px; line-height:1.55;}

.services{border-top:1px solid var(--line);}
.service-grid{display:grid; grid-template-columns:repeat(4,1fr);}
.service-card{padding:44px 34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .3s ease; position:relative; overflow:hidden;}
.service-card:nth-child(4n){border-right:none;}
.service-card::before{content:''; position:absolute; inset:0; opacity:0; background:linear-gradient(160deg, rgba(34,217,138,0.08), rgba(123,108,240,0.05) 60%, transparent); transition:opacity .35s ease;}
.service-card:hover::before{opacity:1;}
.service-card:hover{background:rgba(255,255,255,0.015);}
.icon-box{width:52px; height:52px; border-radius:13px; border:1px solid var(--line); background:rgba(255,255,255,0.02); display:flex; align-items:center; justify-content:center; margin-bottom:26px; position:relative; z-index:1;}
.icon-box svg{width:24px; height:24px;}

.illus-box{
  position:relative; width:100%; height:150px; border-radius:16px; overflow:hidden;
  margin-bottom:26px; border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), inset 0 0 40px rgba(0,0,0,0.25);
  background:
    radial-gradient(ellipse 240px 150px at var(--gx,26%) var(--gy,20%), var(--gc,rgba(34,217,138,0.14)), transparent 70%),
    radial-gradient(ellipse 200px 130px at var(--gx2,88%) var(--gy2,92%), var(--gc2,rgba(123,108,240,0.09)), transparent 72%),
    repeating-linear-gradient(to right, rgba(255,255,255,0.022) 0 1px, transparent 1px 30px),
    repeating-linear-gradient(to bottom, rgba(255,255,255,0.022) 0 1px, transparent 1px 30px),
    linear-gradient(160deg, #0d151d 0%, #0a121a 100%);
  transition:filter .4s ease, border-color .4s ease;
  display:flex; align-items:center; justify-content:center; padding:10px;
}
.illus-box img{position:relative; z-index:1; max-width:82%; max-height:82%; object-fit:contain; filter:drop-shadow(0 10px 26px rgba(0,0,0,0.4));}
.illus-box.sm{height:118px; margin-bottom:22px;}
.why-card .illus-box{margin-top:2px;}
.service-card .illus-box{margin-top:0;}
.why-card:hover .illus-box, .service-card:hover .illus-box{filter:brightness(1.12); border-color:rgba(255,255,255,0.12);}
.service-card h3{font-size:18px; margin-bottom:10px; position:relative; z-index:1;}
.service-card p{color:var(--muted); font-size:14px; line-height:1.5; position:relative; z-index:1; max-width:280px;}
.service-card .tags{position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:6px; margin-top:14px;}
.service-card .tags span{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.04em; color:var(--muted-2); border:1px solid var(--line); border-radius:6px; padding:3px 7px;}
.service-card .arrow{position:absolute; top:36px; right:30px; color:var(--muted-2); opacity:0; transform:translate(-4px,4px); transition:all .3s ease;}
.service-card:hover .arrow{opacity:1; transform:translate(0,0); color:var(--green);}
.service-card a.card-link{position:absolute; inset:0; z-index:2;}

.platforms{padding:110px 0; border-top:1px solid var(--line);}
.platforms h2{font-size:clamp(30px,4vw,46px); max-width:680px; margin-bottom:20px;}
.platform-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:40px;}
.platform-card{border:1px solid var(--line); border-radius:var(--radius); padding:34px 30px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease; display:flex; flex-direction:column; justify-content:space-between; min-height:200px;}
.platform-card:hover{border-color:rgba(34,217,138,0.4); transform:translateY(-4px);}
.plat-tag{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:30px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:auto;}
.platform-card .p-title{font-weight:600; font-size:15px; margin-bottom:8px; margin-top:22px;}
.platform-card .p-desc{color:var(--muted); font-size:14px;}

/* Protocol/tech chip grid */
.protocol-strip{border-top:1px solid var(--line); padding:90px 0;}
.protocol-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px;}
.protocol-chip{border:1px solid var(--line); border-radius:12px; padding:18px 20px; background:rgba(255,255,255,0.015);}
.protocol-chip b{font-family:'Space Grotesk'; font-size:15px; display:block; margin-bottom:6px;}
.protocol-chip span{color:var(--muted-2); font-size:13px; line-height:1.4; display:block;}

.team{padding:110px 0; border-top:1px solid var(--line);}
.team h2{font-size:clamp(30px,4vw,46px); max-width:680px; margin-bottom:14px;}
.team > .wrap > p{color:var(--muted); font-size:16.5px; max-width:640px; margin-bottom:60px;}
.team-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;}
.team-card{border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease; text-align:center;}
.team-card:hover{border-color:rgba(34,217,138,0.4); transform:translateY(-4px);}
.team-avatar{width:76px; height:76px; border-radius:50%; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; background:var(--grad); font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:22px; color:#04170f; overflow:hidden;}
.team-avatar img{width:100%; height:100%; object-fit:cover; border-radius:50%;}
.team-card h3{font-size:16.5px; margin-bottom:4px;}
.team-role{color:var(--green); font-size:13px; font-weight:600; margin-bottom:14px;}
.team-card p{color:var(--muted); font-size:13.5px; line-height:1.55; text-align:left;}
.team-linkedin{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; margin-top:18px; border:1px solid var(--line); color:var(--muted-2); transition:all .2s ease;}
.team-linkedin:hover{border-color:var(--green); color:var(--green);}

.careers{padding:110px 0; border-top:1px solid var(--line);}
.careers h2{font-size:clamp(30px,4vw,46px); max-width:680px; margin-bottom:14px;}
.careers > .wrap > p{color:var(--muted); font-size:16.5px; max-width:640px; margin-bottom:60px;}
.career-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px;}
.career-card{border:1px solid var(--line); border-radius:var(--radius); padding:34px 30px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease;}
.career-card:hover{border-color:rgba(33, 204, 130, 0.4); transform:translateY(-4px);}
.career-card h3{font-size:19px; margin-bottom:6px;}
.career-id{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted-2); margin-bottom:10px;}
.career-meta{font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.02em; color:var(--green); margin-bottom:6px;}
.career-deadline{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--muted-2); margin-bottom:20px;}
.career-card .role-label{font-family:'JetBrains Mono', monospace; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted-2); margin-bottom:10px;}
.career-card ul{margin-bottom:26px;}
.career-card li{color:var(--muted); font-size:14.5px; line-height:1.6; padding-left:18px; position:relative; margin-bottom:6px;}
.career-card li::before{content:''; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--green);}
.career-actions{display:flex; align-items:center; gap:16px;}

.marquee-section{padding:60px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden;}
.marquee-track{display:flex; white-space:nowrap; animation:scroll 26s linear infinite; width:max-content;}
.marquee-track span{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:52px; color:var(--muted-2); opacity:0.35; margin:0 40px;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

.featured{padding:110px 0; border-top:1px solid var(--line);}
.feat-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.feat-visual{border-radius:var(--radius); overflow:hidden; height:360px; border:1px solid var(--line);}
.desc{color:var(--muted); font-size:16.5px; margin-top:18px; max-width:520px;}
.feat-stats{display:flex; gap:36px; margin-top:34px;}
.feat-stat b{display:block; font-family:'Space Grotesk'; font-size:26px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.feat-stat span{color:var(--muted-2); font-size:12.5px;}

.approach-card{border:1px solid var(--line); border-radius:var(--radius); padding:44px 40px; background:rgba(255,255,255,0.015); position:relative; overflow:hidden;}
.approach-card.glow::after{content:''; position:absolute; left:8%; right:8%; bottom:0; height:1px; background:var(--grad); box-shadow:0 0 24px 2px rgba(34,217,138,0.5);}
.approach-card .tag{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:18px; display:block;}
.approach-card h3{font-size:24px; line-height:1.25; font-weight:600; font-family:'Inter';}
.approach-card p{color:var(--muted); margin-top:16px; font-size:15px;}

.values{padding:110px 0;}
.values h2{font-size:clamp(30px,4vw,46px); max-width:640px; margin-bottom:70px;}
.value-row{display:grid; grid-template-columns:70px 1fr 1fr; gap:30px; align-items:center; padding:34px 0; border-top:1px solid var(--line); cursor:default; transition:background .3s ease;}
.values .value-row:last-child{border-bottom:1px solid var(--line);}
.value-row:hover{background:rgba(255,255,255,0.015);}
.value-row .num{font-family:'JetBrains Mono',monospace; color:var(--green); font-size:14px;}
.value-row h3{font-size:24px; font-weight:600; font-family:'Space Grotesk';}
.value-row p{color:var(--muted); font-size:15.5px;}

/* ---- Lifecycle / process steps ---- */
.lifecycle{border-top:1px solid var(--line); padding:110px 0;}
.lifecycle-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:50px;}
.lifecycle-step{border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; background:rgba(255,255,255,0.015);}
.lifecycle-step .num{font-family:'JetBrains Mono',monospace; color:var(--green); font-size:13px; margin-bottom:14px; display:block;}
.lifecycle-step h3{font-size:15.5px; margin-bottom:8px; font-family:'Space Grotesk';}
.lifecycle-step p{color:var(--muted); font-size:13px; line-height:1.5;}

/* ---- Industries ---- */
.industry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px;}
.industry-card{border:1px solid var(--line); border-radius:var(--radius); padding:36px 32px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease;}
.industry-card:hover{border-color:rgba(34,217,138,0.35); transform:translateY(-4px);}
.industry-card .tag-mono{font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:14px; display:block;}
.industry-card h3{font-size:19px; margin-bottom:10px;}
.industry-card p{color:var(--muted); font-size:14.5px; line-height:1.55;}

/* ---- Case study / project cards ---- */
.project-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:40px;}
.project-card{border:1px solid var(--line); border-radius:var(--radius); padding:38px 34px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease; display:flex; flex-direction:column;}
.project-card:hover{border-color:rgba(34,217,138,0.35); transform:translateY(-4px);}
.project-card .status{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--green); margin-bottom:16px;}
.project-card h3{font-size:20px; margin-bottom:10px;}
.project-card p{color:var(--muted); font-size:14.5px; line-height:1.55; flex-grow:1;}
.project-card .stats-row{display:flex; gap:26px; margin:20px 0;}
.project-card .stats-row b{display:block; font-family:'Space Grotesk'; font-size:20px; color:var(--text);}
.project-card .stats-row span{color:var(--muted-2); font-size:11.5px;}

.case-block{padding:70px 0; border-top:1px solid var(--line);}
.case-block h2{font-size:clamp(24px,3vw,32px); margin-bottom:20px;}
.case-block p{color:var(--muted); font-size:16px; line-height:1.7; max-width:820px; margin-bottom:16px;}
.case-block ul{margin:18px 0; max-width:820px;}
.case-block li{color:var(--muted); font-size:15.5px; line-height:1.6; padding-left:22px; position:relative; margin-bottom:10px;}
.case-block li::before{content:''; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--green);}
.quote-block{border-left:3px solid var(--green); padding:6px 0 6px 26px; margin:30px 0; max-width:760px;}
.quote-block p{font-family:'Space Grotesk'; font-size:19px; font-weight:500; color:var(--text); font-style:normal; line-height:1.5;}
.quote-block cite{display:block; margin-top:12px; color:var(--muted-2); font-size:13.5px; font-style:normal;}

/* ---- Insights / resources ---- */
.insight-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px;}
.insight-card{border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px; background:rgba(255,255,255,0.015); transition:border-color .3s ease, transform .3s ease;}
.insight-card:hover{border-color:rgba(34,217,138,0.35); transform:translateY(-4px);}
.insight-card .tag-mono{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted-2); margin-bottom:14px; display:block;}
.insight-card h3{font-size:17px; margin-bottom:10px; line-height:1.35;}
.insight-card p{color:var(--muted); font-size:13.5px; line-height:1.55;}

/* ---- Forms (contact / enquiry) ---- */
.form-card{border:1px solid var(--line); border-radius:var(--radius); padding:40px; background:rgba(255,255,255,0.015);}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{margin-bottom:18px;}
.field.full{grid-column:1/-1;}
.field label{display:block; font-size:13.5px; margin-bottom:8px; color:var(--muted); font-weight:500;}
.field label .req{color:var(--red); margin-left:2px;}
.field input, .field select, .field textarea{
  width:100%; background:rgba(255,255,255,0.02); border:1px solid var(--line); border-radius:10px;
  color:var(--text); font-family:'Inter', sans-serif; font-size:14.5px; padding:12px 14px;
  outline:none; transition:border-color .2s ease;
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--green);}
.field select{appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393a1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px;}
.field-check{display:flex; align-items:flex-start; gap:10px; margin-bottom:22px;}
.field-check input{width:auto; margin-top:3px;}
.field-check label{font-size:13px; color:var(--muted-2); margin-bottom:0;}
.form-status{font-size:14px; margin-top:14px; display:none;}
.form-status.show{display:block;}
.form-status.success{color:var(--green);}
.form-status.error{color:var(--red);}

.contact-page-grid{display:grid; grid-template-columns:1fr 1.3fr; gap:60px; align-items:start;}
.contact-info-card{border:1px solid var(--line); border-radius:var(--radius); padding:30px; background:rgba(255,255,255,0.015); margin-bottom:20px;}
.contact-info-card h4{font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:14px;}
.contact-info-card a, .contact-info-card p{color:var(--text); font-size:15px; line-height:1.6;}
.contact-info-card a{color:var(--green);}

.cta-banner{
  margin:0 40px 110px; border-radius:28px; padding:80px 60px; text-align:center;
  background:
    radial-gradient(ellipse 700px 300px at 50% 0%, rgba(34,217,138,0.18), transparent 70%),
    linear-gradient(180deg,#0d1620,#080d12);
  border:1px solid var(--line);
  max-width:calc(var(--maxw) - 80px); margin-left:auto; margin-right:auto;
}
.cta-banner h2{font-size:clamp(28px,4vw,42px); max-width:640px; margin:0 auto 20px;}
.cta-banner p{color:var(--muted); max-width:520px; margin:0 auto 36px;}
.cta-banner .cta-links{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* ---- Legal / plain content pages ---- */
.legal-content{padding:90px 0 130px;}
.legal-content h2{font-size:24px; margin:44px 0 14px;}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{color:var(--muted); font-size:15.5px; line-height:1.7; margin-bottom:14px; max-width:820px;}
.legal-content ul{margin:14px 0 14px 4px; max-width:820px;}
.legal-content li{color:var(--muted); font-size:15.5px; line-height:1.65; padding-left:20px; position:relative; margin-bottom:8px;}
.legal-content li::before{content:''; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--green);}
.legal-updated{color:var(--muted-2); font-size:13px; margin-bottom:40px; font-family:'JetBrains Mono',monospace;}

footer{border-top:1px solid var(--line); padding:80px 0 30px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:60px;}
.foot-brand p{color:var(--muted-2); font-size:14.5px; margin-top:18px; max-width:280px;}
.foot-col h4{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted-2); margin-bottom:20px;}
.foot-col a{display:block; color:var(--muted); font-size:14.5px; margin-bottom:14px; transition:color .2s ease; width:fit-content;}
.foot-col a:hover{color:var(--green);}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:28px; color:var(--muted-2); font-size:13.5px; flex-wrap:wrap; gap:12px;}
.foot-bottom .foot-legal{display:flex; gap:18px; flex-wrap:wrap;}
.foot-bottom .foot-legal a{color:var(--muted-2); transition:color .2s ease;}
.foot-bottom .foot-legal a:hover{color:var(--green);}
.foot-social{display:flex; gap:16px;}
.foot-social a{width:36px; height:36px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:border-color .2s ease, color .2s ease; color:var(--muted);}
.foot-social a:hover{border-color:var(--green); color:var(--green);}

@media (max-width:980px){
  .about-grid, .feat-grid, .contact-page-grid{grid-template-columns:1fr;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .service-card:nth-child(4n){border-right:1px solid var(--line);}
  .service-card:nth-child(2n){border-right:none;}
  .platform-grid, .industry-grid, .project-grid, .insight-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .career-grid{grid-template-columns:1fr;}
  .approach-grid, .mv-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
  .evidence-grid{grid-template-columns:repeat(3,1fr); row-gap:26px;}
  .protocol-grid{grid-template-columns:repeat(2,1fr);}
  .lifecycle-grid{grid-template-columns:repeat(2,1fr); row-gap:18px;}
  .facts-row{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .wrap{padding:0 22px;}
  nav{padding:18px 22px;}
  .nav-links{display:none;}
  .burger{display:flex;}
  .hero{padding-top:120px;}
  .page-hero{padding:120px 0 50px;}
  .service-grid{grid-template-columns:1fr;}
  .service-card{border-right:none !important;}
  .platform-grid, .industry-grid, .project-grid, .insight-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr;}
  .stat-cell:nth-child(odd){border-right:none;}
  .stat-cell{border-bottom:1px solid var(--line) !important;}
  .value-row{grid-template-columns:40px 1fr; row-gap:8px;}
  .value-row p{grid-column:2/3;}
  .foot-grid{grid-template-columns:1fr; row-gap:36px;}
  .cta-banner{margin:0 18px 90px; padding:60px 26px;}
  .evidence-grid{grid-template-columns:repeat(2,1fr);}
  .protocol-grid{grid-template-columns:1fr;}
  .lifecycle-grid{grid-template-columns:1fr;}
}

/* ---- Apply / enquiry modal (careers) ---- */
.apply-overlay{
  position:fixed; inset:0; z-index:1000;
  background:rgba(5,8,11,0.72); backdrop-filter:blur(6px);
  display:none; align-items:flex-start; justify-content:center;
  padding:60px 20px; overflow-y:auto;
}
.apply-overlay.open{display:flex;}
.apply-modal{width:100%; max-width:560px; background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; position:relative; margin:auto 0; box-shadow:0 30px 80px -20px rgba(0,0,0,0.6);}
.apply-modal-topbar{height:6px; background:var(--grad);}
.apply-modal-head{padding:26px 30px 20px; border-bottom:1px solid var(--line); position:relative;}
.apply-modal-head h3{font-size:21px; margin-bottom:6px;}
.apply-modal-head p{color:var(--muted); font-size:14px;}
.apply-close{position:absolute; top:22px; right:24px; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--muted); border:1px solid var(--line); background:transparent; cursor:pointer; transition:all .2s ease;}
.apply-close:hover{border-color:var(--green); color:var(--green);}
.apply-modal-body{padding:24px 30px 30px; max-height:70vh; overflow-y:auto;}
.apply-actions{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px;}
.apply-note{color:var(--muted-2); font-size:12px; margin-top:14px;}
.apply-success-view{text-align:center; padding:20px 0;}
.apply-success-view .icon-box{margin:0 auto 18px;}
.apply-success-view h3{font-size:19px; margin-bottom:8px;}
.apply-success-view p{color:var(--muted); font-size:14.5px;}
