
:root{
  --bg:#ffffff;
  --fg:#0f172a;        /* near-black slate */
  --muted:#4b5563;     /* gray-600 */
  --brand:#0a2540;     /* professional dark blue */
  --accent:#0a2540;    /* buttons/links */
  --card:#f8fafc;      /* light card background */
  --ring:#e5e7eb;      /* borders */
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, Noto Sans, "Helvetica Neue";color:var(--fg);background:var(--bg);line-height:1.5}
.container{max-width:1100px;margin:0 auto;padding:24px}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--ring);position:sticky;top:0;background:var(--bg);backdrop-filter:saturate(180%) blur(6px);}
.logo{font-weight:700;letter-spacing:.2px}
.logo a{text-decoration:none;color:var(--fg)}
.menu a{margin-left:18px;text-decoration:none;color:var(--muted);font-weight:600}
.menu a.active, .menu a:hover{color:var(--brand)}
.hero{padding:64px 24px;background:linear-gradient(180deg,#f8fafc, #fff);border-bottom:1px solid var(--ring)}
.hero.hero-img{
  background-image: linear-gradient( to bottom, rgba(10,37,64,0.35), rgba(255,255,255,0.0) ),
                    url('assets/hero-buildings.jpg');
  background-size: cover;
  background-position: center;
  color: #111827;
}
.hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 8px 0}
.hero p{max-width:780px;color:var(--muted);font-size:18px;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:32px 0}
.card{background:var(--card);border:1px solid var(--ring);padding:20px;border-radius:16px;box-shadow:0 2px 12px rgba(2,6,23,.04)}
.card h3{margin:0 0 6px 0}
.card img{width:100%;height:168px;object-fit:cover;border-radius:12px;margin-bottom:10px;border:1px solid var(--ring)}
.footer{padding:32px 24px;border-top:1px solid var(--ring);color:var(--muted);font-size:14px}
.button{display:inline-block;padding:12px 16px;border-radius:12px;border:1px solid var(--accent);text-decoration:none;color:#fff;background:var(--accent)}
.button.secondary{background:transparent;color:var(--accent)}
.section{padding:40px 24px}
.kicker{color:var(--brand);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.list{padding-left:18px}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#e5e7eb;color:#0a2540;font-weight:600;font-size:12px}
.form{max-width:720px;margin-top:8px}
input, textarea{width:100%;padding:12px 14px;border:1px solid var(--ring);border-radius:12px;font-size:16px}
label{font-weight:600;margin-top:12px;display:block;margin-bottom:6px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form .actions{margin-top:16px;display:flex;gap:12px;align-items:center}
small.help{color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:24px 0}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:16px;border:1px solid var(--ring)}
