
:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --light:#f8fafc;
  --dark:#020617;
  --blue:#172554;
  --blue2:#1e3a8a;
  --border:#e2e8f0;
  --max:1100px;
  --success-bg:#ecfdf5;
  --success-border:#a7f3d0;
  --success-text:#065f46;
  --error-bg:#fef2f2;
  --error-border:#fecaca;
  --error-text:#991b1b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
header{background:var(--dark);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-wrap{display:flex;align-items:center;gap:16px}
.logo-box{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:16px;border:2px solid rgba(255,255,255,.80);
  background:transparent;color:#fff;font-size:14px;font-weight:600;letter-spacing:.12em;
}
.brand{font-weight:600;font-size:28px;letter-spacing:-0.02em}
.nav-links{display:flex;gap:32px;align-items:center;font-size:16px;color:#cbd5e1}
.nav-links a:hover{color:#fff}
.hero{background:linear-gradient(180deg,#020617 0%,#172554 100%);color:#fff}
.hero-inner{padding:96px 24px}
.hero h1{max-width:768px;margin:0;font-size:48px;line-height:1.05;letter-spacing:-0.02em;font-weight:600}
.hero p{max-width:672px;margin:24px 0 0;font-size:18px;color:#cbd5e1;line-height:1.7}
.hero .email{display:inline-block;margin-top:32px;font-size:16px;text-decoration:underline;text-underline-offset:4px;font-weight:500}
section{padding:80px 0}
.section-light{background:var(--light)}
h2{margin:0;font-size:30px;line-height:1.2;font-weight:600}
h3{margin:0;font-size:18px;line-height:1.3;font-weight:600}
.text{font-size:18px;color:var(--muted);max-width:768px;line-height:1.7}
.lead{font-size:18px;color:var(--muted);max-width:768px;line-height:1.7}
.eyebrow{color:var(--blue2);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.service-list{margin:16px 0 0;padding-left:20px;color:var(--muted);font-size:16px}
.service-list li{margin:6px 0}
.band{background:#172554;color:#fff}
.band p{color:#dbeafe}
.two-col{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:start}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{border:1px solid var(--border);border-radius:16px;padding:18px;font-size:15px;color:var(--muted);background:#fff}
.form-wrap{max-width:720px;margin:0 auto}
.form-card{border:1px solid var(--border);border-radius:24px;padding:32px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.field{margin-bottom:18px}
label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#334155}
input,textarea{width:100%;border:1px solid #cbd5e1;border-radius:16px;padding:14px 16px;font:inherit;color:var(--text);background:#fff}
textarea{min-height:140px;resize:vertical}
button{display:inline-block;border:none;border-radius:16px;padding:14px 20px;background:#020617;color:#fff;font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.help{margin-top:10px;color:var(--muted);font-size:14px}
.banner{display:none;margin:0 0 22px;border-radius:18px;padding:14px 16px;font-size:14px;font-weight:500}
.banner.show{display:block}
.banner.success{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text)}
.banner.error{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text)}
.contact-link{
  display:inline-block;margin-top:24px;color:#fff;
  font-size:16px;font-weight:500;text-decoration:underline;text-underline-offset:4px;
}
@media (max-width: 900px){
  .hero h1{font-size:40px}
  .grid-3,.two-col,.card-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .brand{font-size:22px}
  .logo-box{width:44px;height:44px;font-size:12px}
  .nav{flex-direction:column;align-items:flex-start;padding:14px 0}
  .nav-links{gap:16px;flex-wrap:wrap;font-size:15px}
  .hero-inner{padding:72px 24px}
  section{padding:56px 0}
  .form-card{padding:22px}
  .hero h1{font-size:38px}
  h2{font-size:26px}
}
