
:root {
  --bg:#020617;
  --panel:#0f172a;
  --card:#111827;
  --border:#1f2937;
  --accent:#2563eb;
  --accent-light:#38bdf8;
  --highlight:#facc15;
  --text:#f8fafc;
  --muted:#94a3b8;
}

* { box-sizing:border-box }

body {
  margin:0;
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
}

/* NAV */
nav {
  position:fixed;
  width:100%;
  background:rgba(2,6,23,.98);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 4%;
  border-bottom:2px solid var(--highlight);
  z-index:1000;
}


.logo-wrap { display:flex; align-items:center; gap:15px; }
.logo-wrap {
  display:flex;
  align-items:center;
  gap:15px;
  margin-left:0;
}
.logo-photo { width:45px; height:45px; border-radius:50%; border:2px solid var(--highlight); }
.logo-text { font-weight:800; color:var(--highlight); }

nav a {
  color:var(--text);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  margin-left:25px;
}

/* HERO */
.executive-intro{
  padding:180px 20px 80px 20px;
}

.executive-title {
  font-weight:800;
  font-size:18px;
  letter-spacing:2px;
  color:var(--accent-light);
  margin-bottom:25px;
}

.main-heading {
  font-weight:800;
  font-size:52px;
  color:var(--highlight);
  margin-bottom:30px;
}

.intro-lead {
  font-size:20px;
  max-width:850px;
  margin:0 auto 25px auto;
}

.primary-cta {
  display:inline-block;
  padding:16px 36px;
  font-weight:800;
  background:var(--highlight);
  color:#000;
  text-decoration:none;
  border-radius:6px;
}

/* WHEEL */
.wheel-section {
  height:800px;
  display:flex;
  justify-content:center;
  align-items:center;
  background:radial-gradient(circle,#1e293b 0%,#020617 100%);
}

.wheel-wrapper {
  position:relative;
  width:600px;
  height:600px;
}

.wheel {
  position:absolute;
  width:600px;
  height:600px;
  border-radius:50%;
  border:1px dashed var(--accent-light);
  animation:spin 200s linear infinite;
}

@keyframes spin {
  from { transform:rotate(0deg); }
  to { transform:rotate(360deg); }
}

.node {
  position:absolute;
  left:50%;
  top:50%;
  font-size:12px;
  font-weight:700;
  background:var(--card);
  border:1px solid var(--accent-light);
  padding:6px 12px;
  border-radius:4px;
  white-space:nowrap;
}

.wheel-center {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:220px;
  height:220px;
  border-radius:50%;
  background:var(--card);
  border:3px solid var(--highlight);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:var(--highlight);
}

/* EXPERTISE */
.expertise-section {
  padding:100px 8%;
  text-align:center;
}

.section-title {
  font-size:36px;
  color:var(--highlight);
  margin-bottom:60px;
}

.expertise-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}

.expertise-card {
  background:#1e3a8a;
  padding:35px;
  border-radius:10px;
}

/* REVIEWS */
.reviews {
  padding:100px 8%;
}

.review-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(350px,1fr));
  gap:30px;
}

.card {
  background:var(--card);
  padding:30px;
  border-radius:14px;
}

.card-text {
  margin-bottom:20px;
  color:#cbd5e1;
}

.card-author {
  font-weight:700;
  color:var(--highlight);
}

/* MOBILE */
@media(max-width:900px){

nav{
  flex-direction:column;
  align-items:center;
  padding:15px 20px;
}

nav div:last-child{
  display:flex;
  gap:25px;
  margin-top:10px;
}

  .executive-intro{
    padding:120px 20px 80px 20px;
  }

  .main-heading{
    font-size:30px;
  }

  .wheel-section{
    height:auto;
    padding:60px 0;
  }

  .wheel-wrapper{
    width:320px;
    height:320px;
  }

  .wheel{
    width:320px;
    height:320px;
  }

  .wheel-center{
    width:140px;
    height:140px;
    font-size:14px;
  }

  .node{
    font-size:10px;
  }

  .review-grid{
    grid-template-columns:1fr;
  }

nav{
  position:relative;
}
}

/* TOP AUTHORITY MESSAGE */

.top-authority-message {
  font-family:'Montserrat', sans-serif;
  font-size:20px;
  font-weight:800;
  letter-spacing:0.5px;
  color:var(--accent-light);
  text-align:center;
  flex:1;
  margin:0 30px;
}

/* EXECUTIVE INTRO */

.executive-intro {
  padding:160px 8% 100px 8%;
  background:linear-gradient(180deg,#020617 0%,#0f172a 100%);
  text-align:center;
}

.executive-title {
  font-family:'Montserrat';
  font-weight:800;
  font-size:18px;
  letter-spacing:2px;
  color:var(--accent-light);
  margin-bottom:25px;
}

.intro-lead {
  font-size:20px;
  color:#e5e7eb;
  max-width:850px;
  margin:0 auto 25px auto;
}

.intro-highlight {
  font-size:22px;
  font-weight:700;
  margin-bottom:40px;
}

.mobile-tech-grid{
  display:none;
}

@media(max-width:900px){

  .wheel-section{
    display:none;
  }

  .mobile-tech-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:40px 20px;
  }

  .mobile-tech-item{
    background:var(--card);
    border:1px solid var(--accent-light);
    padding:12px;
    text-align:center;
    font-weight:600;
    border-radius:6px;
    font-size:14px;
  }

}

.mobile-tech-group{
  margin-bottom:25px;
}

.mobile-tech-group-title{
  font-weight:800;
  color:var(--highlight);
  margin-bottom:10px;
  font-size:16px;
}

.mobile-tech-item{
  background:var(--card);
  border:1px solid var(--accent-light);
  padding:10px;
  border-radius:6px;
  margin-bottom:8px;
  font-size:14px;
}