/* --- Base --- */
:root{
  --bg: #0b0f13;
  --panel: #121820;
  --text: #e6eaf0;
  --muted: #9aa7b5;
  --accent: #5cc1ff;
  --accent-2: #4aa3e0;
  --ring: rgba(92,193,255,.35);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 80% -10%, rgba(92,193,255,.09), transparent 60%) no-repeat, var(--bg);
  line-height:1.6;
}

.container{width:min(1100px, 92vw); margin-inline:auto;}

.site-header{
  position:sticky; top:0; z-index:50;
  background: linear-gradient(180deg, rgba(11,15,19,.95), rgba(11,15,19,.7) 70%, transparent);
  backdrop-filter:saturate(1.2) blur(6px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); font-weight:700; letter-spacing:.4px}
.brand-logo{width:42px; height:42px; object-fit:contain; border-radius:10px; box-shadow:var(--shadow)}
.brand-text{display:none}
@media (min-width:700px){ .brand-text{display:inline-block} }

.nav-links{display:flex; gap:18px; align-items:center}
.nav-links a{color:var(--muted); text-decoration:none; font-weight:600}
.nav-links a:hover{color:var(--text)}

.theme-toggle{
  margin-left:14px; background:var(--panel); border:1px solid rgba(255,255,255,.08);
  color:var(--text); border-radius:12px; padding:8px 10px; cursor:pointer;
  box-shadow:var(--shadow)
}

/* --- Hero --- */
.hero{display:grid; grid-template-columns: 1.1fr .9fr; gap:40px; align-items:center; padding:64px 0 40px;}
.hero-left h1{font-family:Poppins, Inter, sans-serif; font-size:clamp(36px,5vw,56px); margin:0 0 8px}
.subtitle{color:var(--muted); margin:0 0 24px}
.accent{background: linear-gradient(90deg, var(--accent), var(--accent-2)); -webkit-background-clip:text; background-clip:text; color:transparent}

.cta{display:flex; gap:12px; margin-bottom:18px}
.btn{display:inline-block; padding:12px 16px; border-radius:12px; text-decoration:none; font-weight:700; border:1px solid transparent}
.btn--primary{background: linear-gradient(180deg, var(--accent), var(--accent-2)); color:#021019; box-shadow: 0 8px 16px var(--ring)}
.btn--primary:hover{filter:brightness(1.05)}
.btn--ghost{background:transparent; border-color:rgba(255,255,255,.14); color:var(--text)}
.btn--ghost:hover{border-color:rgba(255,255,255,.28)}

.badges{display:flex; gap:10px; list-style:none; padding:0; margin:18px 0 0}
.badges li{padding:6px 10px; background:var(--panel); border:1px solid rgba(255,255,255,.06); border-radius:999px; color:var(--muted); font-size:14px}

.logo-frame{border-radius:22px; background: radial-gradient(600px 300px at 70% 0%, rgba(92,193,255,.22), transparent 60%),
            linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
            border:1px solid rgba(255,255,255,.08); padding:18px; box-shadow: var(--shadow)}
.logo-frame img{width:100%; display:block; border-radius:16px}

.section{padding:40px 0}
.section h2{font-family:Poppins, Inter, sans-serif; font-size:clamp(28px,4vw,40px); margin-bottom:10px}
.section-lead{color:var(--muted); margin-top:0}

.grid{display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:18px; margin-top:20px}
.card{margin:0; background:var(--panel); border:1px solid rgba(255,255,255,.06); border-radius:16px; overflow:hidden; box-shadow:var(--shadow)}
.card img{display:block; width:100%; height:180px; object-fit:cover}
.card figcaption{padding:10px 12px; color:var(--muted)}

.services{display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:16px}
.svc{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.06); padding:18px; border-radius:16px}
.svc h3{margin:6px 0 8px}

.contact-form{display:grid; gap:12px; background:var(--panel); padding:18px; border-radius:16px; border:1px solid rgba(255,255,255,.08)}
.form-row{display:flex; gap:12px}
.form-row > *{flex:1}
input, textarea{
  width:100%; padding:12px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:#0b1016; color:var(--text);
  outline:none; box-shadow:none;
}
input:focus, textarea:focus{border-color:var(--accent); box-shadow: 0 0 0 4px var(--ring)}
label{display:block; font-weight:600; color:var(--text); font-size:14px; gap:6px}
.checkbox{display:flex; align-items:center; gap:8px; font-weight:600; color:var(--muted)}
.budget{max-width:200px}
.hidden{display:none !important}
.status{margin:0; color:var(--muted)}

.site-footer{border-top:1px solid rgba(255,255,255,.06); padding:26px 0; color:var(--muted)}

@media (max-width:860px){ .hero{grid-template-columns:1fr; padding-top:34px} }
