/* Reset & base */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:Georgia,serif;line-height:1.7;color:#2c2c2c;background:#fff8f2;}
a{text-decoration:none;color:#8A2BE2;}
.btn-primary, .btn-secondary, .btn-tertiary {
  display:inline-block;padding:0.8em 1.2em;margin-top:1em;border-radius:8px;font-weight:bold;transition:0.3s ease;
}
.btn-primary{background:#8A2BE2;color:#fff;}
.btn-secondary{background:#f0e7ff;color:#5e2d92;}
.btn-tertiary{background:#f4f4f4;color:#333;}
.btn-primary:hover, .btn-secondary:hover, .btn-tertiary:hover {
  transform:scale(1.05);
  box-shadow:0 4px 12px rgba(0,0,0,0.1);
}
.hero{background:#efe3ff;padding:4em 1em;text-align:center;}
.hero h1{font-size:2.5em;margin-bottom:0.5em;}
.hero p{font-size:1.2em;margin-bottom:1em;}
.grid {
  display:grid;
  gap:2em;
  padding:3em 2em;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.grid article {
  background:#fff;
  border-radius:12px;
  padding:2em;
  box-shadow:0 2px 10px rgba(0,0,0,0.05);
  transition:box-shadow 0.3s ease;
}
.grid article:hover {
  box-shadow:0 8px 20px rgba(0,0,0,0.1);
}
.grid article h2 {
  margin-bottom:0.5em;
  font-size:1.2em;
  color:#5e2d92;
}
.grid article p {
  font-size:0.95em;
  color:#444;
}
.longform {
  padding:2em;
  max-width:900px;
  margin:auto;
  background:#fff;
}
.longform h2 {
  color:#5e2d92;
  margin-bottom:1em;
}
.longform h3 {
  margin-top:1.5em;
  color:#6b3285;
}
footer{text-align:center;padding:1em;background:#faf2ff;margin-top:2em;font-size:0.9em;}
