:root{
  --bg:#0b0f17;
  --card:#111827;
  --alt:#0f1624;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --line:#22304a;
  --accent:#7c3aed;
  --accent2:#22c55e;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; color:var(--text); background:var(--bg); }
a{ color:inherit; text-decoration:none; }
p{ line-height:1.7; margin:0; }
h1,h2,h3{ margin:0; }
img{ max-width:100%; display:block; }

.stickybar{
  position:sticky; top:0; z-index:50;
  background:rgba(2,6,23,.82);
  border-bottom:1px solid rgba(34,48,74,.9);
  backdrop-filter: blur(10px);
}
.stickybar-inner{
  max-width:1100px; margin:0 auto; padding:10px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.sticky-left{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.dot{ width:10px; height:10px; border-radius:999px; background:var(--accent2); box-shadow:0 0 18px rgba(34,197,94,.35); }
.stickylink{ text-decoration:underline; font-weight:900; }
.sticky-right{ display:flex; gap:10px; flex-wrap:wrap; }

.header{
  padding:24px 18px 36px;
  background:
    radial-gradient(900px 420px at 18% 0%, rgba(124,58,237,.35), transparent 60%),
    radial-gradient(800px 420px at 82% 20%, rgba(34,197,94,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 70%);
  border-bottom:1px solid var(--line);
}

.nav{
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
}
.logo{ font-weight:950; letter-spacing:.14em; }
.logo.small{ letter-spacing:.22em; font-size:14px; }

.navlinks{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.navlinks a{ color:var(--muted); font-weight:800; }
.navlinks a:hover{ color:var(--text); }

.badge{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  padding:8px 10px; border-radius:999px;
  color:var(--text);
  font-weight:900;
  font-size:12px;
  margin-bottom:12px;
}

.hero{
  max-width:1100px; margin:28px auto 0;
  display:grid; grid-template-columns: 1.2fr .9fr; gap:18px;
}
@media (max-width: 900px){ .hero{ grid-template-columns:1fr; } }

.hero-left h1{ font-size:44px; line-height:1.05; margin-bottom:10px; }
@media (max-width: 520px){ .hero-left h1{ font-size:36px; } }

.hero-left p{ color:var(--muted); margin-bottom:18px; }

.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }

.trust{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; margin-top:8px; }
@media (max-width: 520px){ .trust{ grid-template-columns: 1fr; } }

.trust-item{
  padding:12px; border:1px solid var(--line); border-radius:12px;
  background:rgba(255,255,255,.03);
}
.trust-item strong{ display:block; }
.trust-item span{ color:var(--muted); font-size:13px; }

.social-row{ margin-top:14px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.social{ text-decoration:underline; font-weight:900; }

.main{ max-width:1100px; margin:0 auto; padding:28px 18px 90px; }
.section{ padding:36px 0; }
.section.alt{
  background:var(--alt);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:0 -18px; padding-left:18px; padding-right:18px;
}

.section-head{ margin-bottom:16px; display:grid; gap:6px; }
.section-head h2{ font-size:28px; }
.muted{ color:var(--muted); }
.micro{ font-size:12px; }

.grid-3{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px; }
.grid-2{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:14px; }
@media (max-width: 900px){ .grid-3,.grid-2{ grid-template-columns:1fr; } }

.card{
  border:1px solid var(--line);
  background:rgba(17,24,39,.72);
  border-radius:16px;
  padding:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  display:grid; gap:10px;
}

.list{ margin:0; padding-left:18px; color:var(--muted); }
.list li{ margin:6px 0; }

.form{ display:grid; gap:10px; margin-top:12px; }
.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
@media (max-width: 520px){ .grid2{ grid-template-columns: 1fr; } }

label{ display:grid; gap:6px; font-weight:900; font-size:13px; }
input, select, textarea{
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(34,48,74,.95);
  background:rgba(2,6,23,.55);
  color:var(--text);
  outline:none;
}
input:focus, select:focus, textarea:focus{ border-color: rgba(124,58,237,.85); }

.btn{
  display:inline-flex; justify-content:center; align-items:center;
  padding:12px 14px; border-radius:12px;
  font-weight:950;
  border:1px solid rgba(124,58,237,.55);
  background: linear-gradient(180deg, rgba(124,58,237,.95), rgba(124,58,237,.58));
  cursor:pointer;
}
.btn:hover{ filter:brightness(1.06); }
.btn-sm{ padding:10px 12px; font-size:14px; border-radius:12px; }
.btn-ghost{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
}
.status{ min-height:18px; margin:0; font-size:13px; color:var(--accent2); }

.contact-mini{ margin-top:12px; display:grid; gap:6px; font-size:13px; }
.contact-mini a{ text-decoration:underline; }

.mini-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.mini{
  font-size:12px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  font-weight:950;
}

.center{ display:flex; justify-content:center; margin-top:16px; }

.cta-slab{
  margin-top:14px;
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  border-color: rgba(34,197,94,.22);
}
.cta-title{ margin:0; }
.cta-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.about-contacts{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }

.gallery2{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 900px){ .gallery2{ grid-template-columns: 1fr; } }

.gcard{
  margin:0;
  border:1px solid rgba(34,48,74,.95);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
}
.gcard img{
  width:100%;
  height:220px;
  object-fit:cover;
}
.gcard figcaption{
  padding:10px 12px;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
}

.footer{ border-top:1px solid var(--line); padding:26px 18px; }
.footer-inner{
  max-width:1100px; margin:0 auto;
  display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
}
.footer-links{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; color:var(--muted); font-weight:900; }
.footer-links a:hover{ color:var(--text); }

.bottombar{
  position:fixed; bottom:0; left:0; right:0; z-index:60;
  background:rgba(2,6,23,.92);
  border-top:1px solid rgba(34,48,74,.95);
  display:none;
}
@media (max-width: 900px){
  .bottombar{ display:flex; }
  .main{ padding-bottom:120px; }
}
.bb{
  flex:1; text-align:center; padding:14px 10px;
  font-weight:950; color:var(--text);
  border-right:1px solid rgba(34,48,74,.95);
}
.bb:last-child{ border-right:none; }
.bb-primary{
  background:linear-gradient(180deg, rgba(124,58,237,.95), rgba(124,58,237,.58));
}

.social-icons, .footer-social{
  display:flex;
  gap:12px;
  align-items:center;
}
.icon{
  width:22px;
  height:22px;
  color:#e5e7eb;
  opacity:.85;
}
.icon:hover{ opacity:1; }

/* Google icon uses same styling as other social icons */

.rating-badge{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  font-weight:900;
}
.stars{
  color:#fbbf24;
  letter-spacing:2px;
  font-size:18px;
}
.rating-text{
  color:#e5e7eb;
}
.rating-link{
  color:#9ca3af;
  text-decoration:underline;
  font-size:13px;
}

.logo-img img{
  height:48px;
  width:auto;
}
.logo-img.small img{
  height:36px;
}
.brand-social{ display:flex; gap:14px; align-items:center; }
.brand-link{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; }
.brand-icon{ width:24px; height:24px; display:block; }
/* Footer left side should match the dark (not white) */
.footer{ position:relative; overflow:hidden; }
.footer::after{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:52%;
  background:#0b0b0f;
  pointer-events:none;
  z-index:0;
}
.footer *{ position:relative; z-index:1; }
/* --- Uniform social icons (crisp + consistent) --- */
.brand-link{
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.brand-icon{
  width: 24px !important;
  height: 24px !important;
  object-fit: contain;
  display: block;
}
/* --- Footer socials: match top socials exactly --- */
.footer .brand-link{
  width: 40px;
  height: 40px;
}
.footer .brand-icon{
  width: 28px !important;
  height: 28px !important;
  object-fit: contain;
  image-rendering: auto;
}
