
* { box-sizing: border-box; }
:root {
  --navy: #0b2c6b;
  --green: #0c6b3c;
  --red: #a10d17;
  --text: #2b2b2b;
  --muted: #6b7280;
  --bg: #f7f9fc;
  --card: #ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.07);
  --radius: 18px;
}
html, body { margin:0; padding:0; font-family: 'Inter', system-ui, sans-serif; color:var(--text); background:var(--bg); }
.container { width:min(1120px,92%); margin:0 auto; }
.site-header { background:#fff; position:sticky; top:0; z-index:50; box-shadow:0 4px 18px rgba(0,0,0,.06); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.brand { display:flex; align-items:center; gap:12px; }
.logo { height:48px; width:auto; display:block; }
.tagline { font-weight:700; color:var(--navy); letter-spacing:.02em; }
.nav a { margin-left:18px; text-decoration:none; color:var(--text); font-weight:700; }
.nav a:hover { color: var(--red); }
.ticker { background: var(--navy); color:#fff; padding:8px 0; font-weight:700; text-align:center; }
.ticker a { color:#fff; text-decoration:underline; }
.hero { background: radial-gradient(1200px 600px at 70% -10%, rgba(11,44,107,.15), transparent 60%), linear-gradient(0deg, #ffffff 0%, #f7f9fc 100%); padding:56px 0 24px; }
.hero-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center; }
.hero-text h1 { font-size: clamp(28px, 4vw, 48px); line-height:1.1; margin:0 0 12px; color:var(--navy); }
.hero-text p { color:var(--muted); font-size:1.05rem; }
.hero-media img { width:100%; border-radius:var(--radius); box-shadow:var(--shadow); }
.cta-group { display:flex; gap:12px; margin-top:18px; }
.btn { display:inline-block; padding:12px 18px; border-radius:999px; text-decoration:none; font-weight:800; border:2px solid transparent; transition:transform .15s ease, filter .2s ease; }
.btn.primary { background: var(--green); color:#fff; }
.btn.primary:hover { filter:brightness(.95); transform: translateY(-1px); }
.btn.outline { border-color: var(--navy); color:var(--navy); background:transparent; }
.btn.outline:hover { border-color: var(--red); color: var(--red); }
.about { padding:48px 0; }
.about h2, .projects h2, .contact h2, .map h2 { color:var(--navy); margin-top:0; }
.features { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature-card { background:var(--card); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow); border-top:4px solid var(--green); }
.feat-title { font-weight:800; color:var(--navy); margin-bottom:6px; }
.projects { padding:42px 0; }
.projects .grid { display:grid; grid-template-columns: repeat(2,1fr); gap:18px; }
.projects .card { background:var(--card); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.projects .card img { width:100%; display:block; }
.projects figcaption { padding:10px 14px; color:var(--muted); font-weight:600; border-left:3px solid var(--red); }
.contact { padding:48px 0; }
.contact-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; }
.contact-form { background:var(--card); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); display:grid; gap:10px; }
.contact-form input { width:100%; padding:12px 14px; border:1px solid #e5e7eb; border-radius:12px; font-size:15px; }
.contact-form button { cursor:pointer; }
.address, .phone, .uttara { color:var(--muted); }
.map .map-frame { margin:0 auto 32px; width:min(1120px,92%); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.site-footer { background:#0b0f1a; color:#d1d5db; padding-top:20px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.site-footer img { height:26px; width:auto; filter: brightness(3); }
.copyright { text-align:center; padding:10px 0 16px; color:#9ca3af; font-size:.9rem; }
@media (max-width: 920px) {
  .hero-inner, .contact-inner { grid-template-columns:1fr; }
  .projects .grid { grid-template-columns:1fr; }
  .features { grid-template-columns:1fr; }
}
