
:root{--bg:#0f1320;--card:#12182a;--ink:#e9eef7;--muted:#a8b3c7;--line:#1f2740;--accent:#20c997}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}
header{border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.brand{display:flex;gap:12px;align-items:center}
nav a{margin-left:16px;font-weight:600}
.btn{display:inline-block;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:#0b1220;color:var(--ink);font-weight:700}
.btn.primary{background:var(--accent);color:#03261f;border-color:transparent}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding:36px 0;background:#0b1220;border-radius:14px;border:1px solid var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.small{font-size:14px;color:var(--muted)}
input,textarea,select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#0b1220;color:var(--ink)}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
footer{border-top:1px solid var(--line);margin-top:28px}
.footer{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:24px 0}
@media (max-width:900px){.hero{grid-template-columns:1fr}.footer{flex-direction:column}}
/* === Image sizing & layout fixes (LARGER HERO) === */
.hero, .banner {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  min-height: 600px;           /* larger hero */
  border-radius: 12px;
  overflow: hidden;
}

/* About/Contact banners can be a touch shorter if you prefer */
.banner { min-height: 500px; }

/* Portfolio / card images */
.card img.resp {
  width: 100%;
  height: 280px;               /* consistent card height for neat grid */
  object-fit: cover;           /* crop without distortion */
  border-radius: 12px;
  display: block;
  margin-bottom: 10px;
  border: 1px solid var(--line);
}

/* Mobile adjustments */
@media (max-width: 900px) {
  .hero, .banner { min-height: 420px; }
  .card img.resp { height: 220px; }
}
