:root{
  --paper:#F4F5F7;
  --surface:#FFFFFF;
  --ink:#0B1220;
  --ink-soft:#4B5565;
  --line:#E1E5EC;
  --cobalt:#3D5AFE;
  --cobalt-ink:#2B44D9;
  --on-cobalt:#FFFFFF;
  --night:#0A0F1C;
  --night-2:#121A2C;
  --night-line:#1E2840;
  --on-night:#E9EDF5;
  --on-night-soft:#8E9AB0;
  --go:#2BD07F;
  --nogo:#FF5C5C;
  --warn:#FFB547;
  --r-xl:32px; --r-lg:24px; --r-md:16px;
  --display:"Funnel Display", system-ui, sans-serif;
  --body:"Funnel Sans", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, monospace;
}
:root:not([data-theme="light"]){color-scheme:light dark}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#070B15; --surface:#0E1424; --ink:#E9EDF5; --ink-soft:#97A2B6; --line:#1C2539;
    --cobalt:#7C8FFF; --cobalt-ink:#9AAAFF; --on-cobalt:#070B15; --night:#0E1424; --night-2:#141C30; --night-line:#232E48;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.skip{position:absolute;left:16px;top:-60px;z-index:30;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:999px;text-decoration:none;font-size:14px}
.skip:focus{top:12px}

/* header */
.top{position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);background:color-mix(in srgb,var(--paper) 80%,transparent)}
.top nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em;white-space:nowrap}
.brand svg{width:28px;height:28px;flex:none}
.links{display:flex;align-items:center;gap:28px;font-size:15px}
.links a{text-decoration:none;color:var(--ink-soft);transition:color .15s}
.links a:hover{color:var(--ink)}
.lang{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:5px 10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:600;border-radius:999px;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-sm{padding:10px 18px;background:var(--ink);color:var(--paper)!important;font-size:14px}
.btn-lg{padding:16px 26px;font-size:16px}
.btn-primary{background:var(--cobalt);color:var(--on-cobalt)}
.btn-primary:hover{background:var(--cobalt-ink)}
.btn-line{border:1px solid var(--night-line);color:var(--on-night)}
.btn-line:hover{border-color:var(--on-night-soft)}
.arrow::after{content:"→";display:inline-block;margin-left:10px;font-family:var(--mono);transition:transform .15s}
.btn:hover .arrow::after,.arrow:hover::after{transform:translateX(3px)}

/* hero */
.hero{padding:8px 16px 0}
.hero-panel{max-width:1300px;margin:0 auto;background:var(--night);color:var(--on-night);border-radius:var(--r-xl);position:relative;overflow:hidden;border:1px solid var(--night-line)}
.hero-panel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--night-line) 1px,transparent 1px),linear-gradient(90deg,var(--night-line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 75% 40%,#000 0%,transparent 60%);-webkit-mask-image:radial-gradient(ellipse at 75% 40%,#000 0%,transparent 60%);opacity:.7;pointer-events:none}
.hero-panel::after{content:"";position:absolute;right:-10%;top:-30%;width:70%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,#3D5AFE 38%,transparent),transparent);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:96px 64px 104px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--on-night-soft)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--go);box-shadow:0 0 0 4px color-mix(in srgb,var(--go) 22%,transparent)}
h1{font-family:var(--display);font-weight:700;font-size:clamp(42px,5.4vw,78px);line-height:.98;letter-spacing:-.035em;margin-top:24px}
h1 span{display:block;color:var(--on-night-soft);font-weight:500}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--on-night-soft);max-width:520px;margin-top:28px;line-height:1.55}
.lead strong{color:var(--on-night);font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}

/* terminal: the one moment */
.term{background:#060A14;border:1px solid var(--night-line);border-radius:20px;box-shadow:0 50px 100px -40px rgba(61,90,254,.55);font-family:var(--mono);font-size:13.5px;line-height:1.5;color:#C9D1E0;overflow:hidden}
.term-bar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--night-line);color:var(--on-night-soft);font-size:12px}
.term-bar i{width:10px;height:10px;border-radius:50%;background:var(--night-line)}
.term-bar span{margin-left:10px}
.term-body{padding:20px 22px 22px;display:grid;gap:10px}
.row{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:baseline}
.row b{font-weight:500}
.row em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.ok b{color:var(--go)} .ok em{color:var(--go);background:color-mix(in srgb,var(--go) 14%,transparent)}
.bad b{color:var(--nogo)} .bad em{color:var(--nogo);background:color-mix(in srgb,var(--nogo) 14%,transparent)}
.warn b{color:var(--warn)} .warn em{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.scan{color:var(--on-night-soft)}
.verdict{margin-top:8px;padding-top:16px;border-top:1px dashed var(--night-line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.verdict strong{font-size:12px;color:var(--on-night-soft);font-weight:500;letter-spacing:.06em}
.chip{font-weight:700;font-size:12px;padding:6px 12px;border-radius:8px;background:#3D5AFE;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.none b,.none span{color:var(--on-night-soft)} .none em{color:var(--on-night-soft);background:color-mix(in srgb,var(--on-night-soft) 14%,transparent)}
.verdict small{color:var(--on-night-soft);font-size:12px}
.term-note{margin-top:14px;color:var(--on-night-soft);font-size:12px;text-align:right}
@media (prefers-reduced-motion: no-preference){
  .term-body > *{opacity:0;transform:translateY(6px);animation:in .45s ease-out forwards}
  .term-body > *:nth-child(1){animation-delay:.3s}
  .term-body > *:nth-child(2){animation-delay:.8s}
  .term-body > *:nth-child(3){animation-delay:1.2s}
  .term-body > *:nth-child(4){animation-delay:1.6s}
  .term-body > *:nth-child(5){animation-delay:2s}
  .term-body > *:nth-child(6){animation-delay:2.4s}
  .term-body > *:nth-child(7){animation-delay:3s}
  .chip{animation:pulse 1.6s ease-out 3.4s 2}
  @keyframes in{to{opacity:1;transform:none}}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,90,254,.6)}100%{box-shadow:0 0 0 14px transparent}}
}

/* sections */
section{padding:128px 0}
.head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:56px}
.head .mono{color:var(--cobalt);display:block;margin-bottom:16px}
h2{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.4vw,56px);line-height:1.02;letter-spacing:-.03em}
.head p{color:var(--ink-soft);max-width:460px}

/* services */
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .2s}
.card:hover{border-color:color-mix(in srgb,var(--cobalt) 45%,var(--line));transform:translateY(-2px)}
.card .mono{color:var(--ink-soft)}
.card h3{font-family:var(--display);font-weight:700;font-size:clamp(23px,2.2vw,28px);letter-spacing:-.02em;line-height:1.1}
.card p{color:var(--ink-soft)}
.card.lead-card{background:var(--cobalt);border-color:var(--cobalt);color:var(--on-cobalt)}
.card.lead-card .mono,.card.lead-card p{color:color-mix(in srgb,var(--on-cobalt) 82%,transparent)}
.also{margin-top:28px;color:var(--ink-soft);font-size:15.5px}
.also strong{color:var(--ink);font-weight:600}

/* camelhive */
.ch{padding-top:0}
.ch-panel{display:grid;grid-template-columns:1fr 1fr;gap:64px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:64px;align-items:center}
.ch-panel .mono{color:var(--cobalt);display:block;margin-bottom:16px}
.ch-panel h2 span{color:var(--ink-soft);font-weight:500}
.ch-panel p{color:var(--ink-soft);margin-top:22px;max-width:480px}
.ch-panel .btn{margin-top:36px}
.checks{list-style:none;display:grid;gap:10px}
.checks li{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:baseline;padding:18px 20px;border-radius:var(--r-md);background:var(--paper)}
.checks .mono{margin:0;color:var(--ink);font-weight:600}
.checks span{color:var(--ink-soft)}
.checks li:last-child{background:var(--night);color:var(--on-night)}
.checks li:last-child .mono{color:var(--go)}
.checks li:last-child span{color:var(--on-night-soft)}

/* process */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.step{padding:28px 28px 0 0;position:relative}
.step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--cobalt)}
.step .mono{color:var(--cobalt)}
.step h3{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:14px 0 8px}
.step p{color:var(--ink-soft);font-size:15.5px;max-width:250px}

/* faq */
.faq{padding-top:0}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-family:var(--display);font-weight:600;font-size:clamp(18px,1.8vw,21px);letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-family:var(--mono);font-size:16px;color:var(--cobalt);transition:transform .2s}
.qa details[open] summary::after{transform:rotate(45deg)}
.qa details p{color:var(--ink-soft);max-width:640px;padding:0 0 26px}

/* contact */
.contact{padding-bottom:128px}
.cta{background:var(--night);color:var(--on-night);border-radius:var(--r-xl);padding:88px 64px;position:relative;overflow:hidden;border:1px solid var(--night-line)}
.cta::after{content:"";position:absolute;left:-15%;bottom:-60%;width:70%;height:140%;background:radial-gradient(closest-side,color-mix(in srgb,#3D5AFE 40%,transparent),transparent);pointer-events:none}
.cta h2{max-width:760px;position:relative;z-index:1}
.cta h2 span{color:var(--on-night-soft);font-weight:500}
.cta p{margin-top:20px;max-width:480px;color:var(--on-night-soft);position:relative;z-index:1}
.mail{display:inline-flex;align-items:center;gap:14px;margin-top:44px;font-family:var(--display);font-weight:600;font-size:clamp(22px,3.4vw,40px);letter-spacing:-.02em;text-decoration:none;border-bottom:2px solid var(--cobalt);padding-bottom:6px;position:relative;z-index:1;word-break:break-all}

footer{padding:0 0 48px;font-size:14px;color:var(--ink-soft)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}
footer a{text-decoration:none}
footer a:hover{color:var(--ink)}
footer nav{display:flex;gap:20px;flex-wrap:wrap}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding:72px 40px 80px;gap:56px}
  .head,.ch-panel,.faq-grid{grid-template-columns:1fr}
  .head{gap:20px;margin-bottom:40px}
  .ch-panel{gap:40px;padding:44px}
  .steps{grid-template-columns:1fr 1fr;row-gap:40px}
  .faq-grid{gap:32px}
}
@media (max-width:720px){
  .links a:not(.btn):not(.lang){display:none}
  .links{gap:12px}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .hero{padding:4px 8px 0}
  .hero-grid{padding:56px 20px 64px}
  .term{font-size:12px}
  .term-body{padding:16px}
  .row{grid-template-columns:14px 1fr;row-gap:2px}
  .row em{grid-column:2;justify-self:start}
  section{padding:88px 0}
  .grid4{grid-template-columns:1fr}
  .card{padding:28px}
  .ch-panel{padding:28px 20px}
  .checks li{grid-template-columns:1fr;gap:4px}
  .steps{grid-template-columns:1fr}
  .step{padding-right:0}
  .cta{padding:56px 24px}
  .contact{padding-bottom:88px}
}
