:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --border:#e5e7eb;
  --shadow:0 10px 25px rgba(0,0,0,.06);
  --radius:18px;
  --accent:#2563eb;      /* tab underline */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;
  background:var(--bg);
  color:var(--text);
}

.page{max-width:1100px;margin:28px auto;padding:0 18px}

/* Top header card */
.header{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.header-inner{
  display:flex;
  gap:18px;
  align-items:center;
  padding:22px;
}

.subtitle-muted{
  color: var(--muted);
  font-weight: 400;
  margin-left: 6px;
  white-space: nowrap;
}

.avatar{
  width:92px;height:92px;border-radius:999px;
  object-fit:cover;
  border:4px solid #fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.header-meta h1{margin:0;font-size:32px;line-height:1.15}
.subtitle{margin:6px 0 10px;color:var(--muted);font-size:16px}

.meta-list{
  display:flex; flex-wrap:wrap; gap:10px;
  color:var(--muted); font-size:14px;
}
.meta-item{display:flex; align-items:center; gap:8px}
.meta-dot{opacity:.5}

.links{
  margin-top:10px;
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  color:var(--muted); font-size:14px;
}
.links a{
  color:#111827;
  text-decoration:none;
  border-bottom:1px solid rgba(17,24,39,.22);
}
.links a:hover{border-bottom-color:rgba(17,24,39,.55)}

.header-actions{margin-left:auto;display:flex;gap:10px;align-self:flex-start}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px;
  border:1px solid var(--border);
  background:#fff; color:#111827;
  text-decoration:none; font-weight:600; font-size:14px;
}
.btn.primary{
  background:#111827; color:#fff; border-color:#111827;
}
.btn:hover{opacity:.92}

/* Tabs row */
.tabs{
  display:flex; gap:22px;
  padding:12px 22px;
  border-top:1px solid var(--border);
  background:#fff;
}
.tab{
  background:transparent;
  border:0;
  padding:10px 2px;
  cursor:pointer;
  font-weight:600;
  font-size:15px;
  color:#111827;
  border-bottom:3px solid transparent;
}
.tab.active{
  color:var(--accent);
  border-bottom-color:var(--accent);
}

.content{margin-top:18px}
.panel{display:none}
.panel.active{display:block}

.section-title{
  text-align:center;
  margin:6px 0 16px;
}
.section-title h2{
  margin:0;
  font-size:32px;
  letter-spacing:-0.02em;
}
.section-title p{
  margin:6px 0 0;
  color:var(--muted);
  font-style:italic;
}

/* Cards row */
.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
  margin-top:14px;
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 420px;
}

.card img{
  width:100%;
  height:210px;
  object-fit:cover;       /* looks like mockup */
  object-position:center; /* center faces */
  display:block;
}

.card-body{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.card-body h3{margin:0;font-size:18px}
.card-body p{margin:0;color:var(--muted);line-height:1.35}

.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tag{
  font-size:12px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#f9fafb;
  color:#374151;
}

/* This ensures “View case study” sits bottom-left on ALL cards */
.case-link{
  margin-top:auto;          /* pushes to bottom */
  font-size:13px;
  font-weight:500;
  color:#111827;
  text-decoration:underline;
  display:inline-block;
  align-self:flex-start;    /* bottom-left */
  cursor:pointer;
}
.case-link:hover{opacity:.75}

/* Key Achievements + Testimonials */
.panel-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  margin-top:18px;
}

.center-title{
  text-align:center;
  font-size:26px;
  margin:0 0 12px;
}

.achievements{
  display:grid;
  gap:14px;
  max-width:760px;
  margin:0 auto;
}
.ach-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#111827;
}
.ach-icon{width:22px;opacity:.85}
.ach-text{color:#111827}
.ach-text em{color:#111827}

.testimonials{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  margin-top:14px;
}
.quote{
  background:#f9fafb;
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  position:relative;
}
.quote:after{
  content:"";
  position:absolute;
  bottom:-10px;
  left:34px;
  width:20px;height:20px;
  background:#f9fafb;
  border-left:1px solid var(--border);
  border-bottom:1px solid var(--border);
  transform:rotate(45deg);
}
.quote p{margin:0;color:#374151;line-height:1.45}
.quote .by{margin-top:10px;color:var(--muted);font-style:italic;font-size:13px}

/* Footer */
.footer{
  margin:18px 0 30px;
  text-align:center;
  color:var(--muted);
  font-size:13px;
}

/* Responsive */
@media (max-width: 700px){
  .cards{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}
  .header-inner{flex-direction:column;align-items:flex-start}
  .header-actions{margin-left:0}
}
/* ===== Charts: side-by-side layout ===== */
.grid.two{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: start;
}

/* Stack charts only on small screens */
@media (max-width: 700px){
  .grid.two{
    grid-template-columns: 1fr;
  }
}

/* Ensure images don't cause weird spacing */
.chart{
  width: 100%;
  height: auto;
  display: block;
}
/* ===== Platforms & Systems Experience (icon + grid styling) ===== */

.systems-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  margin-top:14px;
}

@media (max-width: 700px){
  .systems-grid{ grid-template-columns: 1fr; }
}

.system-card{
  background:#f9fafb;                 /* matches testimonial tone */
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
}

.system-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.system-card h4{
  margin:0;
  font-size:16px;
  color:var(--text);
}

/* The fix: force icons to be small + outline (not filled blobs) */
.system-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:block;

  fill:none;                 /* IMPORTANT: no fill */
  stroke:#111827;            /* outline color */
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:0.9;
}

/* Tighten bullet spacing for a cleaner look */
.system-card ul{
  margin:0;
  padding-left:18px;
  color:#374151;
  line-height:1.5;
}

.system-card li{
  margin:6px 0;
}
