:root{
  color-scheme: light dark;
  --bg:#ffffff; --bg-alt:#f8fafc;
  --ink:#0f172a; --muted:#475569; --line:#e2e8f0;
  --card:#ffffff; --card-line:#e2e8f0;
  --accent:#2563eb; --accent-ink:#1d4ed8;
  --btn-bg:#1d4ed8; --btn-fg:#ffffff; --btn-bg-hover:#1e40af;
  --danger:#b91c1c; --focus:#2563eb;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b1120; --bg-alt:#111827;
    --ink:#f1f5f9; --muted:#94a3b8; --line:#1e293b;
    --card:#111827; --card-line:#1e293b;
    --accent:#60a5fa; --accent-ink:#93c5fd;
    --btn-bg:#60a5fa; --btn-fg:#0b1120; --btn-bg-hover:#93c5fd;
    --danger:#f87171; --focus:#60a5fa;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  font-size:1.0625rem; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:64rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--focus);outline-offset:2px;border-radius:4px;
}

/* Header */
header{padding:1.5rem 0}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand svg{width:2.5rem;height:2.5rem;flex:none}
.brand .word{font-size:1.45rem;font-weight:700;letter-spacing:-0.015em}
.brand .word b{font-weight:800}
.header-cta{font-weight:650;white-space:nowrap}

/* Hero */
.hero{padding:clamp(3rem,8vw,5.5rem) 0 clamp(2.75rem,6vw,4.5rem)}
.hero h1{
  font-weight:800;font-size:clamp(2.15rem,5.5vw,3.4rem);line-height:1.12;
  letter-spacing:-0.025em;max-width:20ch;text-wrap:balance;
}
.hero .sub{margin-top:1.5rem;font-size:clamp(1.1rem,2.4vw,1.3rem);color:var(--muted);max-width:36rem}
.hero-actions{margin-top:2.25rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.btn{
  display:inline-block;background:var(--btn-bg);color:var(--btn-fg);
  border:0;border-radius:10px;font:inherit;font-weight:700;font-size:1.05rem;
  padding:.85rem 1.75rem;cursor:pointer;text-decoration:none;
}
.btn:hover{background:var(--btn-bg-hover);text-decoration:none}
.btn-secondary{background:transparent;color:var(--accent-ink);border:1px solid var(--line)}
.btn-secondary:hover{background:transparent;border-color:var(--accent-ink)}

/* Sections */
section{padding:clamp(2.5rem,6vw,3.75rem) 0;border-top:1px solid var(--line)}
h2{
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  color:var(--accent-ink);margin-bottom:1.75rem;
}

/* Services */
.services{list-style:none;counter-reset:svc;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}
.services li{
  counter-increment:svc;background:var(--card);border:1px solid var(--card-line);
  border-radius:12px;padding:1.5rem 1.5rem 1.65rem;
}
.services li::before{
  content:counter(svc,decimal-leading-zero);
  display:block;font-size:.85rem;font-weight:800;letter-spacing:.08em;
  color:var(--accent-ink);margin-bottom:.85rem;
}
.services li p{font-size:1.1rem;font-weight:600;line-height:1.45}

/* Proof */
.proof{list-style:none;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
.proof li{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:1.5rem 1.6rem}
.proof strong{display:block;font-size:1.25rem;font-weight:700;line-height:1.35;letter-spacing:-0.01em}
.proof span{display:block;margin-top:.45rem;color:var(--muted);font-size:1.05rem}

/* About */
.about p{max-width:42rem;font-size:1.1rem}
.about p + p{margin-top:1rem}

/* Contact */
.contact-card{
  background:var(--card);border:1px solid var(--card-line);border-radius:14px;
  padding:clamp(1.5rem,4vw,2.25rem);max-width:38rem;
}
form label{display:block;font-size:.85rem;font-weight:700;letter-spacing:.01em;margin:1.25rem 0 .4rem}
form label:first-of-type{margin-top:0}
form input,form textarea{
  width:100%;background:var(--bg);color:var(--ink);
  border:1px solid var(--line);border-radius:10px;
  font:inherit;font-size:1rem;padding:.75rem .9rem;
}
form input:focus-visible,form textarea:focus-visible{border-color:var(--focus)}
form textarea{min-height:9rem;resize:vertical}
form .submit-btn{
  margin-top:1.75rem;background:var(--btn-bg);color:var(--btn-fg);
  border:0;border-radius:10px;font:inherit;font-weight:700;font-size:1.05rem;
  padding:.85rem 1.9rem;cursor:pointer;
}
form .submit-btn:hover{background:var(--btn-bg-hover)}
[data-fs-error]{display:block;color:var(--danger);font-size:.85rem;margin-top:.35rem}
.fs-success{
  display:none;background:var(--bg-alt);color:var(--ink);
  border:1px solid var(--accent-ink);border-radius:10px;
  padding:.95rem 1.15rem;margin-bottom:1.25rem;font-weight:600;
}

/* Footer */
footer{border-top:1px solid var(--line);padding:2.5rem 0 3.25rem;font-size:.875rem;color:var(--muted)}
footer p + p{margin-top:.5rem}
footer a{color:var(--muted)}

@media (max-width: 720px){
  .services,.proof{grid-template-columns:1fr}
  .hero h1{max-width:none}
  .header-cta{display:none}
}
