@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#f5f4ef;--ink:#202722;--muted:#687069;--line:#d8dcd3;--orange:#e65c32;--green:#24493b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}.wrap{max-width:1320px;margin:auto;padding:0 56px}header{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Space Grotesk',sans-serif;letter-spacing:-1px;font-weight:700;font-size:23px;display:flex;align-items:center;gap:12px}.mark{display:block;width:40px;height:40px;flex-shrink:0}nav{display:flex;gap:32px;align-items:center;font-size:13px}nav a:hover{color:var(--orange)}.nav-cta{border:1px solid var(--ink);padding:12px 17px}.eyebrow{font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:1.8px;font-size:11px;display:flex;gap:10px;align-items:center}.dot{width:6px;height:6px;background:var(--orange);border-radius:50%;display:inline-block}.hero{padding:77px 0 65px;display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center}h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:500}h1{font-size:clamp(52px,5.8vw,80px);line-height:1.04;letter-spacing:-4px;margin:27px 0 25px}h1 em{font-style:normal;color:var(--orange)}.lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:440px}.actions{display:flex;gap:25px;align-items:center;margin-top:32px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:white;padding:17px 21px;border:0}.btn:hover{background:var(--green)}.text-link{border-bottom:1px solid #a6aca3;padding:9px 0}.micro{font-size:11px;color:var(--muted);margin-top:28px}.system{position:relative;border:1px solid var(--line);padding:25px;background-color:#eeefe8;background-image:radial-gradient(#cbd0c5 1px,transparent 1px);background-size:16px 16px;min-height:405px}.sys-head{display:flex;justify-content:space-between;font-family:monospace;font-size:10px;color:var(--muted)}.live{color:var(--green)}.diagram{padding:39px 10px 25px;display:grid;grid-template-columns:1fr 38px 1.15fr;align-items:center}.sources{display:grid;gap:13px}.node{background:var(--paper);border:1px solid #cbd0c5;padding:15px 11px;font-size:12px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 0 #dfe2d9}.node span{color:var(--muted);font-family:monospace}.connector{text-align:center;color:var(--orange);font-size:26px}.core{background:var(--green);color:#fff;padding:26px 18px;text-align:center;box-shadow:6px 6px 0 #d8ddcf}.core b{font-family:'Space Grotesk';font-size:20px;font-weight:500}.core small{display:block;line-height:1.6;color:#c8d9ca;margin-top:11px;font-size:11px}.output{margin-left:auto;width:52%;padding:13px;background:#e3e8dc;border:1px solid #b9c5ae;font-size:11px;text-align:center}.output:before{content:'↓';display:block;margin-top:-33px;margin-bottom:17px;color:var(--green);font-size:18px}.sys-foot{display:flex;justify-content:space-between;margin-top:30px;font:10px monospace;color:var(--muted)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px}.strip span{color:var(--muted)}.strip b{font-weight:500}.section{padding:85px 0}h2{font-size:45px;line-height:1.1;letter-spacing:-1.8px;margin:19px 0 23px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}.section-head p{max-width:350px;color:var(--muted);font-size:14px;line-height:1.7}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:30px 27px 15px 0}.service+.service{border-left:1px solid var(--line);padding-left:27px}.number{font:12px monospace;color:var(--orange)}h3{font-size:24px;letter-spacing:-.6px;margin:24px 0 14px}p{line-height:1.7}.service p{font-size:14px;color:var(--muted)}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.tag{border:1px solid var(--line);padding:6px 8px;font-size:10px}.context{background:var(--green);color:#f5f4ef;padding:65px 50px;display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.context .eyebrow{color:#b7c9b8}.context h2{font-size:40px}.context-intro{color:#c5d1c7;font-size:14px}.contexts article{padding:19px 0;border-bottom:1px solid #52705f}.contexts article:first-child{padding-top:0}.contexts h3{font-size:20px;margin:0 0 8px}.contexts p{font-size:13px;margin:0;color:#c5d1c7}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.process article{border-top:1px solid var(--ink);padding-top:20px}.process h3{font-size:19px;margin:23px 0 12px}.process p{font-size:13px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about h2{font-size:38px}.about p{color:var(--muted);font-size:14px}.tech{font:11px 'Space Grotesk';line-height:2.4;color:var(--ink)}.languages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.languages b{font-size:14px;font-weight:500;display:block}.languages span{font-size:11px;color:var(--muted)}.contact{padding:80px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:52px}.contact p{color:var(--muted);font-size:14px}.form{display:grid;gap:17px}label{font-size:12px;display:grid;gap:8px}select,textarea{width:100%;background:transparent;border:1px solid #bec5b9;padding:12px;color:var(--ink);border-radius:0}textarea{resize:vertical;min-height:105px}.form small{color:var(--muted);font-size:10px;line-height:1.6}.form .btn{width:100%}footer{border-top:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.foot-brand{color:var(--ink);font-weight:700;letter-spacing:1px}#status{font-size:12px;color:var(--green);margin:0}@media(min-width:1450px){.hero{padding-top:95px;padding-bottom:90px}}@media(max-width:900px){.wrap{padding:0 28px}nav{gap:18px}.hero{gap:25px}h1{font-size:57px}.system{padding:18px}.diagram{padding-left:0;padding-right:0}.context,.about,.contact{gap:35px}.context{padding:40px 30px}.strip{font-size:10px}}@media(max-width:680px){.wrap{padding:0 22px}header{height:76px}.brand{font-size:19px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px;padding:10px}.hero{grid-template-columns:1fr;padding:48px 0 35px;gap:35px}h1{font-size:61px;letter-spacing:-3px}.lead{font-size:16px}.system{min-height:365px}.strip{flex-wrap:wrap;gap:14px 25px}.section{padding:55px 0}.section-head{display:block;margin-bottom:28px}h2{font-size:36px}.services{grid-template-columns:1fr}.service,.service+.service{border-left:0;border-bottom:1px solid var(--line);padding:25px 0}.service h3{margin-top:13px}.context,.about,.contact{grid-template-columns:1fr;gap:28px}.context{padding:33px 24px}.context h2{font-size:34px}.process{grid-template-columns:1fr 1fr;gap:25px}.about{padding:42px 0}.contact{padding:55px 0}.contact h2{font-size:42px}footer{gap:20px;flex-wrap:wrap}.languages{gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.language-switch {
  display: flex;
  align-items: center;
  padding-left: 12px;
  border-left: 1px solid var(--line);
  font: 700 11px 'Space Grotesk', sans-serif;
}

.language-switch a {
  display: grid;
  min-width: 32px;
  min-height: 32px;
  place-items: center;
  color: var(--muted);
}

.language-switch [aria-current="page"] {
  background: var(--green);
  color: white;
}

.language-switch [aria-current="page"]:hover {
  color: white;
}

.cursor-trail {
  position: fixed;
  z-index: 10;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.cursor-particle {
  position: absolute;
  width: var(--particle-size);
  height: var(--particle-size);
  border-radius: 50%;
  background: var(--orange);
  animation: cursor-particle-fade 360ms ease-out both;
}

@keyframes cursor-particle-fade {
  from {
    opacity: 0.8;
    transform: translate(-50%, -50%);
  }

  to {
    opacity: 0;
    transform: translate(calc(-50% + var(--drift-x)), calc(-50% + 7px)) scale(0.35);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cursor-trail {
    display: none;
  }
}

@media (max-width: 680px) {
  header {
    height: auto;
    min-height: 76px;
    padding: 12px 0;
    gap: 8px 16px;
    flex-wrap: wrap;
  }

  header nav {
    gap: 10px;
  }

  h1 {
    font-size: clamp(38px, 9vw, 61px);
    letter-spacing: -0.045em;
  }
}

@media (max-width: 400px) {
  .system {
    padding: 14px;
  }

  .diagram {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  }

  .node {
    gap: 5px;
    padding-inline: 6px;
  }

  .core {
    padding-inline: 7px;
  }

  .sys-foot {
    gap: 8px;
  }
}
