:root{
  color-scheme:dark;
  --black:#1A1A1A; --ink:#111111; --paper:#F7F7F6; --line:#2C2C2C; --line-light:#1A1A1A;
  --grey:#B8B8B8; --grey-dark:#5C5C5C;
  --lime:#CFFF3A; --orange:#FF9F1C; --blue:#3D5AFE; --pink:#FF4D8D; --purple:#8A3FFC; --sky:#3FD6FF;
  --head:"Inter Tight","Inter","Helvetica Neue",Arial,sans-serif;
  --body:"Inter","Helvetica Neue",Arial,sans-serif;
  --pad:clamp(16px,4vw,56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--black);color:#fff;font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);margin:0;letter-spacing:-.03em;text-wrap:balance}
h1{font-size:clamp(2.8rem,6.6vw,5.6rem);line-height:.98;font-weight:700;text-wrap:wrap}
h2{font-size:clamp(2.6rem,5.6vw,4.9rem);line-height:1;font-weight:700}
h3{font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.15;font-weight:700;letter-spacing:-.02em}
p{margin:0}
.arrow::after{content:"→";font-weight:500;margin-left:.6em}
.btn{display:inline-flex;align-items:center;font:600 .98rem/1 var(--body);padding:15px 20px;border-radius:12px;text-decoration:none;border:1px solid transparent;cursor:pointer;background:none;color:#fff;transition:filter .15s}
.btn:hover{filter:brightness(1.06)}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-orange{background:var(--orange);color:var(--ink)}
.btn-outline{border-color:currentColor}
.btn-outline-dark{border-color:var(--ink);color:var(--ink)}
.pill-label{display:inline-flex;align-items:center;font:500 .95rem/1 var(--body);padding:13px 18px;border-radius:12px 12px 12px 4px;border:1px solid #fff}

/* ---------- nav ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--black)}
.nav-in{display:flex;align-items:center;height:76px;padding-inline:12px 0;gap:24px}
.logo{display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font:700 1.35rem/1 var(--head);letter-spacing:-.02em;padding:0 22px;height:56px;border-radius:0 0 16px 0;align-self:flex-start}
.logo svg{flex:none}
.nav-links{display:flex;gap:30px;margin:0 auto;font:500 .98rem/1 var(--body)}
.nav-links a{text-decoration:none;color:#fff}
.nav-links a:hover{color:var(--grey)}
.nav-cta{background:var(--ink);padding:10px 12px 10px 14px;border-radius:16px 0 0 16px;align-self:flex-start;margin-top:0}
.nav-cta .btn{padding:14px 18px}
.lang{display:flex;gap:4px;background:#2A2A2A;border-radius:12px;padding:4px;flex:none}
.lang button{display:flex;align-items:center;gap:7px;background:none;border:0;color:#B8B8B8;font:600 .82rem/1 var(--body);padding:7px 9px;border-radius:9px;cursor:pointer}
.lang button svg{width:22px;height:15px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.lang button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.lang button:not([aria-pressed="true"]) svg{filter:saturate(.6);opacity:.8}
.nav-cta{display:flex;align-items:center;gap:10px}
@media (max-width:980px){.nav-links{display:none}.nav-cta{margin-left:0}}
html,body{overflow-x:clip}
.foot-grid>div{min-width:0}.foot-grid a{overflow-wrap:anywhere}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
@media (max-width:560px){.lang button span{display:none}.nav-cta .btn{display:none}.nav-cta{padding:10px 12px}.logo{padding:0 14px}
  .hero{padding-top:72px;padding-bottom:140px}.lead-form{flex-direction:column}.lead-form input{padding:14px}.lead-form .btn{justify-content:center}
  .hero .sub{font-size:1.05rem}.hero-note{overflow-wrap:anywhere}
  .blob-a{width:260px;height:110px;left:-110px;bottom:-30px}.blob-b{width:200px;height:120px;right:-60px;bottom:-70px}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:120px var(--pad) 180px;text-align:center;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:70px 70px;background-position:center top}
.hero-in{max-width:860px;margin-inline:auto;display:grid;gap:34px;justify-items:center;position:relative;z-index:1}
.hero .sub{font-size:1.2rem;color:#E6E6E6;max-width:600px;line-height:1.5}
.lead-form{display:flex;gap:6px;background:#2A2A2A;border-radius:14px;padding:6px;width:min(100%,500px);box-shadow:0 0 0 6px rgba(255,255,255,.06)}
.lead-form input{flex:1;min-width:0;background:transparent;border:0;color:#fff;font:400 1rem/1 var(--body);padding:0 14px}
.lead-form input::placeholder{color:#9A9A9A}
.lead-form input:focus{outline:none}
.lead-form .btn{padding:16px 20px;flex:none}
.hero-note{font-size:.88rem;color:#9A9A9A}
.hero-note.err{color:var(--pink)}
.blob{position:absolute;pointer-events:none}
.blob-a{left:-140px;bottom:-40px;width:520px;height:230px;border-radius:260px 260px 0 0;background:linear-gradient(90deg,var(--pink),var(--orange));transform:rotate(-8deg)}
.blob-b{right:-60px;bottom:-140px;width:420px;height:260px;border-radius:0 0 0 260px;background:var(--sky)}

/* ---------- logo strip ---------- */
.strip{overflow:hidden;padding:0 0 12px;margin-top:-8px;position:relative;z-index:2;background:var(--black)}
.track{display:flex;gap:14px;width:max-content;animation:scroll 42s linear infinite}
.track:hover{animation-play-state:paused}
.tech{background:var(--paper);color:var(--ink);font:700 1.25rem/1 var(--head);letter-spacing:-.02em;padding:0 46px;height:120px;display:flex;align-items:center;gap:12px;border-radius:14px;white-space:nowrap}
.tech:nth-child(4n+1){border-radius:14px 60px 14px 14px}
.tech:nth-child(4n+2){border-radius:60px}
.tech:nth-child(4n+3){border-radius:14px 14px 60px 14px}
.tech svg{width:26px;height:26px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- panels ---------- */
.panel{background:var(--paper);color:var(--ink);border-radius:28px;margin:12px;padding:clamp(48px,6vw,90px) var(--pad)}
.panel-dark{background:var(--ink);color:#fff;border-radius:28px;margin:12px;padding:clamp(48px,6vw,90px) var(--pad)}

/* services list */
.svc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(32px,6vw,110px);align-items:start}
.svc-left{position:sticky;top:110px;display:grid;gap:30px}
.svc-left h2{color:var(--ink)}
.nums{display:flex;flex-wrap:wrap;gap:6px}
.num{width:50px;height:50px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font:500 .9rem/1 var(--body);color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}
.num:nth-child(4n+1){border-radius:8px}
.num:nth-child(4n+3){border-radius:50% 50% 8px 8px}
.num.on{background:var(--lime);border-color:var(--lime)}
.svc-item{display:grid;gap:22px;padding:0 0 96px}
.svc-item:last-child{padding-bottom:0}
.svc-head{display:flex;align-items:center;gap:14px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:22px 0}
.svc-head .ic{width:38px;height:38px;border-radius:9px;flex:none;border:1px solid var(--ink);display:grid;place-items:center}
.svc-head .ic svg{width:18px;height:18px}
.svc-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.svc-copy{display:grid;gap:18px;justify-items:start}
.svc-copy p{color:#3A3A3A;font-size:.98rem;line-height:1.55;max-width:34ch}
.svc-copy ul{margin:0;padding:0 0 0 18px;color:#3A3A3A;font-size:.93rem;line-height:1.55;display:grid;gap:5px}
.shot{border-radius:16px;min-height:290px;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-end;padding:34px 0 0 44px;
  background-image:linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.08) 1px,transparent 1px);background-size:80px 80px}
.shot::before{content:"";position:absolute;inset:0;z-index:-1}
.ui{background:var(--ink);color:#fff;border-radius:14px 0 0 0;padding:22px 24px;width:100%;display:grid;gap:12px;font:400 .92rem/1.3 var(--body);min-height:210px;align-content:start}
.ui h4{font:500 1.35rem/1.2 var(--body);letter-spacing:-.01em}
.ui .row{display:flex;align-items:center;gap:10px;background:#2A2A2A;border-radius:8px;padding:13px 14px;color:#DADADA}
.ui .row b{font-weight:500;color:#fff}
.ui .row .r{margin-left:auto;font-variant-numeric:tabular-nums}
.ui .ok{color:var(--lime)}
.ui .warn{color:var(--orange)}
.ui .bar{height:8px;border-radius:4px;background:#333;overflow:hidden}
.ui .bar i{display:block;height:100%;background:var(--lime);border-radius:4px}
.ui .sw{width:34px;height:20px;border-radius:10px;background:var(--lime);position:relative;flex:none}
.ui .sw::after{content:"";position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:var(--ink)}
.ui .tag{font-size:.78rem;padding:3px 8px;border-radius:5px;background:#333;color:#fff}
.deco{position:absolute;top:22px;right:26px;width:60px;height:60px;color:#fff}
@media (max-width:980px){.svc{grid-template-columns:1fr}.svc-left{position:static}.svc-body{grid-template-columns:1fr}}

/* ---------- big statement ---------- */
.statement{text-align:center;padding:clamp(80px,12vw,180px) var(--pad) clamp(80px,10vw,150px);display:grid;gap:30px;justify-items:center}
.statement h2{font-size:clamp(3rem,7vw,6.2rem);max-width:15ch}
.statement .sub{color:var(--grey);font-size:1.15rem;max-width:56ch}

/* ---------- control panels ---------- */
.ctrl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:36px;align-items:stretch}
.ctrl.flip{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.ctrl.flip .card-dark{order:2}
.card-dark{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(28px,4vw,40px) clamp(24px,3vw,32px);display:grid;grid-template-rows:auto 1fr auto auto;gap:24px;min-height:560px}
.card-dark h2{font-size:clamp(2.6rem,4.6vw,4.2rem)}
.card-dark .o{color:var(--orange)}
.card-dark .b{color:#6E86FF}
.card-dark p{color:var(--grey);max-width:30ch;font-size:.98rem}
.card-dark .btn{justify-self:start}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:space-between}
.feat span{border:1px solid var(--ink);color:var(--ink);font:500 1.05rem/1.2 var(--body);padding:28px 20px;border-radius:12px;text-align:center;display:grid;place-items:center}
.feat span:nth-child(1){border-radius:12px 12px 12px 48px}
.feat span:nth-child(4){border-radius:12px 12px 48px 12px}
.feat.right span:nth-child(1){border-radius:48px 12px 12px 12px}
.feat.right span:nth-child(4){border-radius:12px 48px 12px 12px}
@media (max-width:900px){.ctrl,.ctrl.flip{grid-template-columns:1fr}.ctrl.flip .card-dark{order:0}.card-dark{min-height:0}.feat span{padding:22px 14px}}

/* ---------- how we work ---------- */
.how{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px);align-items:start}
.how-left{display:grid;gap:20px;position:sticky;top:110px}
.how-left .eyebrow{font-size:.95rem;color:var(--grey)}
.how-left p{color:var(--grey);max-width:34ch}
.steps{list-style:none;margin:0;padding:0;counter-reset:st;display:grid}
.steps li{counter-increment:st;display:grid;grid-template-columns:64px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{content:"0" counter(st);font:700 2.6rem/1 var(--head);letter-spacing:-.04em;color:var(--lime)}
.steps li:nth-child(2)::before{color:var(--orange)}
.steps li:nth-child(3)::before{color:var(--pink)}
.steps li:nth-child(4)::before{color:var(--sky)}
.steps h3{margin-bottom:8px}
.steps p{color:var(--grey);max-width:52ch}
.steps .when{display:block;font-size:.85rem;color:var(--grey-dark);color:#8A8A8A;margin-top:10px}
@media (max-width:900px){.how{grid-template-columns:1fr}.how-left{position:static}}

/* ---------- built for ---------- */
.built{text-align:center;display:grid;gap:56px}
.built h2{max-width:14ch;margin-inline:auto}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}
.gcard{border:1px solid var(--line);border-radius:22px;padding:30px;display:grid;gap:14px;align-content:start;min-height:340px;position:relative}
.gcard p{color:var(--grey);max-width:42ch}
.gcard .btn{position:absolute;right:22px;bottom:22px}
.gcard.wide{grid-column:1/-1;min-height:0;padding-bottom:30px}
.copybox{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:6px 6px 6px 20px;margin-top:40px;flex-wrap:wrap}
.copybox span{flex:1;min-width:220px;color:var(--grey);font-size:.95rem}
.copybox span b{color:var(--pink);font-weight:500}
.copybox .btn{border-color:#fff}
@media (max-width:820px){.grid2{grid-template-columns:1fr}.gcard{min-height:0;padding-bottom:88px}.gcard.wide{padding-bottom:30px}}

/* ---------- devsecops chain ---------- */
.dso{display:grid;gap:48px}
.dso-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end}
.dso-head p{color:var(--grey);max-width:46ch}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.role{border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:8px}
.role b{font:700 1.3rem/1 var(--head);letter-spacing:-.02em}
.role p{color:var(--grey);font-size:.93rem}
.role .dot{width:12px;height:12px;border-radius:4px}
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:g}
.chain li{counter-increment:g;background:#242424;border-radius:14px;padding:20px;display:grid;gap:8px;align-content:start;min-height:190px}
.chain li::before{content:counter(g,decimal-leading-zero);font:600 .85rem/1 var(--body);color:#8A8A8A}
.chain h4{font:700 1.1rem/1.2 var(--head);letter-spacing:-.01em}
.chain p{color:var(--grey);font-size:.88rem;line-height:1.5}
.chain .t{justify-self:start;font:600 .78rem/1 var(--body);padding:5px 9px;border-radius:6px;color:var(--ink)}
.t-gate{background:var(--lime)}.t-pager{background:var(--orange)}.t-mem{background:var(--sky)}
@media (max-width:1100px){.chain{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.dso-head{grid-template-columns:1fr}.roles{grid-template-columns:1fr}.chain{grid-template-columns:1fr 1fr}.chain li{min-height:0}}
@media (max-width:480px){.chain{grid-template-columns:1fr}}

/* ---------- resources ---------- */
.res{display:grid;gap:40px}
.res h2{font-size:clamp(2rem,3.6vw,2.9rem)}
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rcard{background:#242424;border-radius:16px;padding:22px;display:grid;gap:8px;align-content:start;text-decoration:none;min-height:260px;position:relative}
.rcard .go{justify-self:end;background:#3A3A3A;border-radius:20px;padding:8px 42px;font-size:1.1rem;margin-bottom:24px}
.rcard h3{font-size:1.35rem}
.rcard .cat{color:var(--grey-dark);color:#8A8A8A;font-size:.92rem}
.rcard p{color:var(--grey);font-size:.93rem;margin-top:10px}
@media (max-width:980px){.res-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.res-grid{grid-template-columns:1fr}.rcard{min-height:0}}

/* ---------- footer ---------- */
footer{margin-top:12px;background:linear-gradient(160deg,#8FEE8A 0%,#C6F53A 40%,#D6F76B 100%);color:var(--ink);padding:clamp(120px,22vw,340px) var(--pad) 40px;position:relative;overflow:hidden}
.foot-top{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:end}
.big-arrow{width:150px;height:150px}
.cta-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cta-card{background:var(--ink);color:#fff;border-radius:14px;height:150px;position:relative;overflow:hidden;text-decoration:none;padding:14px 16px;display:flex;justify-content:space-between;align-items:flex-start;font:600 1.05rem/1 var(--body)}
.cta-card .ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--ink);font-size:.95rem;font-weight:700}
.cta-card .wave{position:absolute;left:0;right:0;bottom:0;height:60%}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-top:48px;font-size:.92rem}
.foot-grid h4{font:700 .82rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{text-decoration:underline}
.foot-news h4{text-transform:none;letter-spacing:0;font-size:1.05rem;margin-bottom:14px}
.foot-news p{color:#2E3A12;max-width:38ch;font-size:.9rem}
.fine{border-top:1px solid rgba(0,0,0,.18);margin-top:40px;padding-top:24px;display:flex;justify-content:flex-end;gap:28px;font-size:.85rem;flex-wrap:wrap}
@media (max-width:980px){.foot-top{grid-template-columns:1fr}.big-arrow{display:none}.cta-cards{grid-template-columns:1fr 1fr}.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cta-cards{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track{animation:none}}

/* ---------- multi-page additions ---------- */
.sub-hero{padding:96px var(--pad) 160px}
.sub-hero h1{font-size:clamp(2.6rem,6vw,5.2rem)}
.crumb{font-size:.95rem;color:var(--grey)}
.crumb a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.for{font-size:.92rem;color:#555;max-width:40ch}
.for b{color:var(--ink);font-weight:600}
.get{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.get-copy{display:grid;gap:28px;align-content:start}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:14px;font-size:1.08rem;line-height:1.45;color:var(--ink)}
.checks li::before{content:"✓";width:28px;height:28px;border-radius:8px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:.85rem}
.get .shot{min-height:340px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:500 .82rem/1 var(--body);padding:8px 11px;border-radius:8px;border:1px solid var(--ink);color:var(--ink)}
.others .res-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.others .rcard{min-height:220px}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline time{font:700 1.4rem/1.1 var(--head);letter-spacing:-.02em;color:var(--lime);font-variant-numeric:tabular-nums}
.timeline h4{font:700 1.15rem/1.2 var(--head);margin-bottom:6px}
.timeline p{color:var(--grey);max-width:60ch}
@media (max-width:900px){.get{grid-template-columns:1fr}}
@media (max-width:560px){.sub-hero{padding:64px var(--pad) 130px}.timeline li{grid-template-columns:1fr;gap:6px}}
