:root{
  /* Colors */
  --bg: #0b1220;            /* deep navy */
  --bg-2: #0e1a32;
  --card: rgba(255,255,255,0.06);
  --card-border: rgba(255,255,255,0.12);
  --text: #e6eefc;
  --muted:#b8c3d9;
  --primary:#e8f2ff;
  --accent:#6fe2ff;         /* electric cyan */
  --accent-2:#ffd54d;       /* electric amber */
  --shadow: 0 12px 40px rgba(0,0,0,.35);
  --radius: 16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 800px at 20% -10%, #12213d 0%, transparent 60%),
              radial-gradient(900px 700px at 120% 10%, #142a4e 0%, transparent 50%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Subtle grid background */
.bg-grid{
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image: linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse at center, rgba(255,255,255,.4), transparent 70%);
}

/* Hero */
.hero{
  max-width:860px; margin: 24px auto 8px; padding: 20px 18px;
  text-align:center;
}
.avatar{
  width:120px;height:120px;border-radius:50%;
  object-fit:cover; display:block; margin:0 auto 12px;
  border:4px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.5), 0 0 0 6px rgba(111,226,255,.12);
}
.hero h1{
  font-size:2rem; margin:.25rem 0;
  letter-spacing:.2px;
}
.subtitle{
  margin:0; color:var(--muted); font-weight:500;
}
.chips{
  display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap;
  margin-top:.8rem;
}
.chip{
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid var(--card-border);
  padding:.38rem .7rem; border-radius:999px; font-size:.86rem; color:var(--primary);
}
.chip i{ color: var(--accent-2); }

/* CTA row */
.cta-row{
  display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;
  margin-top:1rem;
}
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  text-decoration:none; font-weight:700; letter-spacing:.2px;
  padding:.8rem 1rem; border-radius:14px; border:1px solid var(--card-border);
  transition: transform .05s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}
.btn.primary{
  background: linear-gradient(90deg, var(--accent), #9ae8ff);
  color:#00121a; border-color: transparent;
}
.btn.ghost{
  background: rgba(255,255,255,.06);
  color: var(--primary);
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }

/* Cards */
.card{
  max-width:860px; width:calc(100% - 3rem);
  margin: 14px auto;
  padding: 14px 14px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid var(--card-border);
  box-shadow: var(--shadow);
  backdrop-filter: blur(6px);
}
h3{
  margin:0 0 .8rem;
  font-size:1.1rem;
  display:flex; align-items:center; gap:.6rem;
  color:var(--primary);
}
h3 i{ color: var(--accent-2); }
p, li{ color:var(--muted); font-weight:400; font-size:1rem; }
a.link{ color:var(--accent); text-decoration:none; }
a.link:hover{ text-decoration:underline; }

/* Link list (link-in-bio style) */
.linklist .link-item{
  display:flex; align-items:center; gap:.8rem;
  border:1px solid var(--card-border);
  border-radius:12px; padding:.9rem 1rem; margin:.55rem 0;
  text-decoration:none; color:var(--primary);
  background: rgba(255,255,255,.05);
  transition: background .2s ease, transform .05s ease;
}
.linklist .link-item i{ opacity:.9; }
.linklist .link-item .end{ margin-left:auto; opacity:.7; }
.linklist .link-item:hover{ background: rgba(255,255,255,.08); transform: translateY(-1px); }

/* Services grid */
.services .service-grid{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px;
}
.services .service-grid li{
  display:flex; align-items:flex-start; gap:.6rem;
  background: rgba(255,255,255,.05);
  border:1px solid var(--card-border);
  border-radius:12px; padding:.7rem .75rem;
}
.services .service-grid i{ color: var(--accent-2); margin-top:.05rem; }
.services .service-grid span{ color: var(--primary); }

/* Articles */
.articles article{
  margin-bottom:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--card-border);
}
.articles article:last-child{ border-bottom:none; }
.articles h4{ margin:.1rem 0 0; font-size:1.05rem; color:var(--primary); }
.articles p{ margin:.35rem 0 0; font-size:.92rem; color:var(--muted); }
.articles a{ text-decoration:none; }
.articles a:hover h4{ text-decoration:underline; }
.see-all{ text-align:right; margin-top:.6rem; }
.see-all a{ color:var(--accent); font-weight:600; text-decoration:none; }
.see-all a:hover{ text-decoration:underline; }

/* Testimonials */
.testimonials blockquote{
  margin: .4rem 0 1rem; padding-left:.9rem; border-left:3px solid var(--accent);
}
.testimonials cite{ color:#cdd8ee; display:block; margin-top:.25rem; font-style:normal; }

/* Map */
.map-container{
  position:relative; width:100%; padding-top:56.25%;
  border-radius:12px; overflow:hidden; border:1px solid var(--card-border);
  background:#0c1526;
}
.map-container iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* Footer */
.footer{
  text-align:center; color:#9fb2d3; font-size:.9rem;
  padding: 20px 0 30px;
  opacity:.9;
}

/* Responsive */
@media (min-width: 980px){
  .hero h1{ font-size:2.2rem; }
  .card{ width:calc(100% - 6rem); }
}
@media (max-width: 420px){
  .avatar{ width:108px; height:108px; }
  .chip{ font-size:.8rem; }
  .services .service-grid{ grid-template-columns: 1fr; }
}
