:root {
  --bg:      #f4f3ef;
  --bg-2:    #ffffff;
  --bg-3:    #eae9e3;
  --brand:   #1b2a4a;
  --accent:  #1a7a4a;
  --ink:     #15141a;
  --ink-2:   #5c5b62;
  --ink-3:   #9e9da4;
  --border:  #e2e1dd;
  --r:       12px;
  --r-sm:    8px;
  --shadow:  0 2px 16px rgba(21,20,26,0.08);
  --font:    'Plus Jakarta Sans', sans-serif;
  --mono:    'DM Mono', monospace;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { scroll-behavior:smooth; }
body { background:var(--bg); font-family:var(--font); color:var(--ink); min-height:100vh; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }

/*  Nav  */
nav {
  position:sticky; top:0; z-index:100;
  background:rgba(244,243,239,0.95);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding:0 20px;
}
.nav-inner {
  max-width:1100px; margin:0 auto;
  height:60px; display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.nav-logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo-mark { width:32px; height:32px; background:var(--brand); border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.logo-text { font-size:19px; font-weight:800; color:var(--brand); letter-spacing:-0.5px; }
.nav-links { display:flex; align-items:center; gap:4px; }
.nav-link { font-size:14px; font-weight:600; color:var(--ink-2); padding:8px 12px; border-radius:var(--r-sm); transition:color 0.15s,background 0.15s; white-space:nowrap; }
.nav-link:hover { color:var(--ink); background:var(--bg-3); }
.btn-nav {
  font-family:var(--font); font-size:13px; font-weight:700; color:var(--brand);
  background:transparent; border:1.5px solid rgba(21,20,26,0.16); cursor:pointer;
  padding:8px 16px; border-radius:var(--r-sm); transition:background 0.15s; white-space:nowrap;
  min-height:38px; text-decoration:none; display:inline-flex; align-items:center;
}
.btn-nav:hover { background:var(--bg-3); }
@media(max-width:640px) { .nav-link { display:none; } }

/*  Hero  */
.page-hero {
  background:var(--bg); padding:56px 20px 48px;
  border-bottom:1px solid var(--border);
  text-align:center;
}
.page-hero h1 { font-size:clamp(28px,4vw,42px); font-weight:800; color:var(--brand); letter-spacing:-0.5px; margin-bottom:10px; }
.page-hero p { font-size:16px; color:var(--ink-2); line-height:1.6; }

/*  Contact info strip  */
.contact-strip {
  background:var(--brand); padding:16px 20px;
  display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap;
}
.strip-item { font-size:13px; color:rgba(255,255,255,0.85); display:flex; align-items:center; gap:6px; }
.strip-item a { color:rgba(255,255,255,0.85); }
.strip-item a:hover { color:#fff; }

/*  Main  */
.main-wrap { max-width:680px; margin:0 auto; padding:48px 20px 64px; }

/*  Form card  */
.form-card { background:var(--bg-2); border:1px solid var(--border); border-radius:var(--r); padding:32px; box-shadow:var(--shadow); }
.form-card h2 { font-size:20px; font-weight:800; color:var(--brand); margin-bottom:6px; }
.form-card .form-intro { font-size:14px; color:var(--ink-2); margin-bottom:28px; line-height:1.55; }

.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.form-label { font-size:12.5px; font-weight:700; color:var(--ink-2); }
.form-input, .form-select, .form-textarea {
  width:100%; border:1.5px solid var(--border); border-radius:var(--r-sm);
  background:var(--bg); font-family:var(--font); font-size:14px; color:var(--ink);
  padding:0 14px; outline:none; transition:border-color 0.15s; appearance:none;
}
.form-input { height:48px; }
.form-select { height:48px; }
.form-textarea { padding:14px; min-height:120px; resize:vertical; line-height:1.6; }
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--accent); background:#fff; }
.form-input::placeholder, .form-textarea::placeholder { color:var(--ink-3); }

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:480px) { .form-row { grid-template-columns:1fr; } }

.btn-submit {
  width:100%; height:52px; background:var(--accent); color:#fff; border:none;
  border-radius:var(--r-sm); font-family:var(--font); font-size:16px; font-weight:700;
  cursor:pointer; transition:background 0.15s; display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:8px;
}
.btn-submit:hover:not(:disabled) { background:#15613b; }
.btn-submit:disabled { opacity:0.6; cursor:not-allowed; }

/*  Toast/status  */
.form-status { display:none; padding:14px 16px; border-radius:var(--r-sm); font-size:14px; font-weight:600; margin-top:12px; }
.form-status--success { background:rgba(26,122,74,0.08); border:1px solid rgba(26,122,74,0.2); color:var(--accent); display:block; }
.form-status--error { background:rgba(220,38,38,0.06); border:1px solid rgba(220,38,38,0.15); color:#dc2626; display:block; }

/*  Success state  */
#success-state { display:none; text-align:center; padding:40px 24px; }
.success-icon { font-size:52px; margin-bottom:16px; }
.success-title { font-size:22px; font-weight:800; color:var(--brand); margin-bottom:8px; }
.success-body { font-size:15px; color:var(--ink-2); line-height:1.6; }

/*  Footer  */
footer { background:var(--bg-2); border-top:1px solid var(--border); padding:32px 20px 24px; }
.footer-inner { max-width:1100px; margin:0 auto; text-align:center; }
.footer-inner p { font-size:13px; color:var(--ink-3); margin-bottom:8px; }
.footer-inner a { color:var(--ink-2); }
.footer-inner a:hover { color:var(--ink); }

@keyframes spin { to { transform:rotate(360deg); } }

@media (max-width: 720px) {
  footer > div > div:first-child { grid-template-columns: 1fr !important; gap: 18px !important; }
  footer > div > div:last-child { flex-direction: column !important; align-items: flex-start !important; text-align: left !important; }
}
