:root{ --bg:#000; --panel:#0f0f0f; --border:#1a1a1a; --text:#fff; --muted:#bdbdbd; }
*{box-sizing:border-box}
html,body{height:100%}

/* smooth scrolling */
html { scroll-behavior: smooth; }

body{ margin:0; font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;
  background:var(--bg); color:var(--text); line-height:1.65; }
a{color:#fff;text-decoration:none}
a:hover{text-decoration:underline}
.btn{ display:inline-block;background:#fff;color:#000;padding:10px 16px;border-radius:6px;font-weight:700;border:1px solid #fff }
.btn:hover{background:#e6e6e6}
.btn-outline{ background:transparent;color:#fff;border:1px solid #3a3a3a }
.btn-outline:hover{ border-color:#fff }

.container{max-width:1100px;margin:0 auto;padding:24px}
.section{padding:72px 0}
.section.soft{background:var(--panel)}
.section-sub{color:var(--muted)}
 
.site-header{ position:sticky;top:0;z-index:50;background:#000;border-bottom:1px solid var(--border) }
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-weight:800;color:#fff}
.nav-links{display:flex;gap:18px;align-items:center}
.nav-toggle{display:none;background:transparent;border:0;color:#fff;font-size:22px}

/* nav animation */
.nav-links a {
  position: relative;
  color: #fff;
  text-decoration: none;
  padding: 4px 8px;
  transition: color 0.3s ease, opacity 0.3s ease;
  opacity: 0.85;
}
.nav-links a:hover { opacity: 1; }
.nav-links a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: #fff;
  transition: width 0.3s ease;
}
.nav-links a:hover::after { width: 100%; }

.hero{padding:80px 0}
.hero-inner{display:grid;grid-template-columns:1fr;gap:24px}
.hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 12px}
.lead{color:var(--muted);margin:6px 0 18px}
.cta .link{margin-left:12px}

.grid{display:grid;gap:18px}
.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{ background:#101010;border:1px solid var(--border);border-radius:10px;padding:18px }
.card h3{margin:0 0 6px}
.bullets{padding-left:18px;margin:10px 0 0}
.bullets li{margin:4px 0}

.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pricing-card{ background:#101010;border:1px solid var(--border);border-radius:10px;padding:18px;text-align:center }
.price{font-size:26px;font-weight:800;margin:4px 0 8px}
.muted{color:var(--muted)}
.footnote{margin-top:12px}

.about-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:24px;align-items:start}
.about-main h2{margin:0 0 8px}
.about-main .strong{font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px}
.chip{ display:inline-block;padding:6px 10px;border-radius:999px;background:#0f0f0f;border:1px solid #262626;color:#f1f1f1;font-size:.9rem }
.cta-line{margin-top:8px}
.about-stats{display:grid;gap:14px}
.stat-card{ background:#101010;border:1px solid var(--border);border-radius:10px;padding:18px;text-align:center }
.stat-num{font-weight:800;font-size:20px}
.stat-label{color:var(--muted);font-size:.95rem}

.site-footer{border-top:1px solid var(--border);background:#000}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-footer a{color:#bdbdbd}
.site-footer a:hover{color:#fff}

/* contact info + map */
.contact-alt-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin-top:10px }
.contact-info-card .contact-list{list-style:none;padding:0;margin:0 0 10px}
.contact-info-card .contact-list li{margin:6px 0}
.contact-map{margin-top:18px;padding:0}


.map-embed{ background:#0b0b0b;border:1px solid var(--border);border-radius:10px;overflow:hidden;position:relative }
.map-embed iframe{width:100%;height:auto;border:0;aspect-ratio:16/9}
.map-fallback{ display:flex;justify-content:center;align-items:center;padding:8px;border-top:1px solid var(--border) }
.map-fallback a{color:var(--muted)}
.map-fallback a:hover{color:#fff}

/* responsive */
@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-grid{grid-template-columns:1fr}
  .contact-alt-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .nav.open .nav-links{
    display:flex;position:absolute;top:60px;right:16px;flex-direction:column;gap:10px;
    background:#0b0b0b;border:1px solid #2a2a2a;border-radius:10px;padding:12px
  }
  .cards{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
}
