:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;

  /* Accent colors */
  --primary:#7c6cf6;     /* light purple */
  --secondary:#4f46e5;   /* soft blue */
  --soft:#eef2ff;        /* very light purple bg */

  --border:#e6e8f0;
}


*{box-sizing:border-box}

html, body{
  height:100%;
}

body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(900px 500px at 10% 10%, rgba(124,108,246,.15) 0%, transparent 55%),
    radial-gradient(900px 500px at 90% 5%, rgba(79,70,229,.12) 0%, transparent 55%),
    var(--bg);
  color: var(--text);
}


.page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.container{
  max-width:980px;
  margin:0 auto;
  padding:24px;
  flex:1;
}

/* NAV */
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  background: var(--card);
  border:1px solid var(--border);
  border-radius:12px;
}

.brand{
  font-weight:700;
}
.brand span{
  color:var(--primary);
}

.menu{
  display:flex;
  gap:14px;
}
.menu a{
  color:var(--muted);
  text-decoration:none;
  padding:8px 10px;
  border-radius:8px;
}
.menu a:hover{
  background:var(--soft);
  color:var(--primary);
}
.menu a.active{
  color:var(--secondary);
  font-weight:600;
}

/* HERO */
.hero{
  margin-top:20px;
  padding:32px;
  background: linear-gradient(
    135deg,
    rgba(124,108,246,.10),
    rgba(79,70,229,.08)
  );
  border:1px solid var(--border);
  border-radius:18px;
}

h1{
  margin:0 0 10px;
  font-size:34px;
}

p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}

/* BUTTONS */
.btn-row{
  margin-top:18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.btn{
  padding:10px 18px;
  border-radius:10px;
  border:1px solid var(--border);
  text-decoration:none;
  color:var(--text);
  background:#fff;
  font-weight:600;
}

.btn:hover{
  background:var(--soft);
}

.btn.primary{
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  color:#fff;
  border:none;
}

.btn.primary:hover{
  opacity:.9;
}


/* GRID */
.grid{
  margin-top:22px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}

.card{
  padding:20px;
  background: linear-gradient(
    180deg,
    #ffffff,
    #fafbff
  );
  border:1px solid var(--border);
  border-radius:16px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.card h3{
  margin:0 0 6px;
  font-size:16px;
}
.card p{
  margin:0;
  font-size:14px;
}
.card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(79,70,229,.12);
}

/* FOOTER */

.page{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.container{
  flex: 1;
}

footer{
  text-align: center;
  padding: 16px;
  font-size: 13px;
  color: var(--muted);
  border-top: 1px solid var(--border);
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(8px);
}

/* Certificates page */
.hero--compact { margin-top: 18px; }
.hero--compact .hero-card { padding: 26px; }

.cert-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.cert-card h3{ margin:0; font-size:16px; }
.cert-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.chip{
  font-size:12px;
  padding:6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.55);
}

.small-note{ margin-top: 14px; text-align:center; }

@media (max-width: 980px){
  .cert-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px){
  .cert-grid{ grid-template-columns: 1fr; }
}

