/* ---------- Home hero ---------- */
.hero {
  background: linear-gradient(135deg, var(--lbr-mint) 0%, var(--lbr-peach) 100%);
  border-radius: var(--lbr-radius-lg);
  padding: var(--lbr-space-16) var(--lbr-space-8);
  display: grid; gap: var(--lbr-space-8);
  align-items: center;
  position: relative;
  overflow: hidden;
}
.hero__title { font-size: clamp(2rem, 5vw, var(--lbr-step-6)); }
.hero__intro { font-size: var(--lbr-step-1); color: var(--lbr-ink); max-width: 56ch; }
.hero__cta { display: inline-flex; margin-top: var(--lbr-space-4); }
.hero__portrait img { border-radius: var(--lbr-radius-lg); box-shadow: var(--lbr-shadow-md); }

@media (min-width: 768px) {
  .hero { grid-template-columns: 1.4fr 1fr; }
}

/* ---------- About 3 columns ---------- */
.about-cols { display: grid; gap: var(--lbr-space-8); }
@media (min-width: 768px) { .about-cols { grid-template-columns: repeat(3, 1fr); } }
.about-col__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--lbr-mint); display: grid; place-items: center; margin-bottom: var(--lbr-space-4); }

/* ---------- CV ---------- */
.cv-tabs { display: inline-flex; gap: var(--lbr-space-2); margin-bottom: var(--lbr-space-8); background: white; padding: 4px; border-radius: var(--lbr-radius-sm); box-shadow: var(--lbr-shadow-sm); }
.cv-tab { padding: var(--lbr-space-2) var(--lbr-space-6); border-radius: var(--lbr-radius-sm); }
.cv-tab.is-active { background: var(--lbr-coral-deep); color: white; }
.cv-section { background: white; border-radius: var(--lbr-radius-md); padding: var(--lbr-space-8); box-shadow: var(--lbr-shadow-sm); margin-bottom: var(--lbr-space-6); }
.cv-section__title { font-family: var(--lbr-font-display); margin-bottom: var(--lbr-space-3); }

/* ---------- Research single ---------- */
.project-hero { display: grid; gap: var(--lbr-space-6); margin-bottom: var(--lbr-space-12); }
@media (min-width: 768px) { .project-hero { grid-template-columns: 1fr 1fr; align-items: center; } }
.project-hero__image img { border-radius: var(--lbr-radius-lg); }
.publications { background: var(--lbr-cream); border-left: 4px solid var(--lbr-coral); padding: var(--lbr-space-6); border-radius: var(--lbr-radius-sm); }
.publications__item { margin-block: var(--lbr-space-3); }

/* ---------- Diary article ---------- */
.diary-article { max-width: 720px; margin-inline: auto; }
.diary-article h1 { font-size: clamp(2rem, 4vw, var(--lbr-step-5)); }
.diary-article blockquote {
  border-left: 4px solid var(--lbr-coral);
  background: var(--lbr-peach);
  padding: var(--lbr-space-6) var(--lbr-space-8);
  margin-block: var(--lbr-space-8);
  font-family: var(--lbr-font-display);
  font-style: italic;
  font-size: var(--lbr-step-2);
  border-radius: var(--lbr-radius-sm);
}

/* ---------- Participate form ---------- */
.lbr-form { background: white; padding: var(--lbr-space-8); border-radius: var(--lbr-radius-md); box-shadow: var(--lbr-shadow-sm); max-width: 640px; margin-inline: auto; }
.lbr-form .field { margin-block: var(--lbr-space-4); }
.lbr-form label { display: block; font-weight: 500; margin-bottom: 4px; }
.lbr-form input[type="text"],
.lbr-form input[type="email"],
.lbr-form input[type="number"],
.lbr-form select {
  width: 100%; padding: var(--lbr-space-3); border: 1.5px solid var(--lbr-line); border-radius: var(--lbr-radius-sm); background: var(--lbr-cream);
}
.lbr-form input:focus, .lbr-form select:focus { outline: none; border-color: var(--lbr-coral); }
.lbr-form .error { color: var(--lbr-coral); font-size: var(--lbr-step--1); margin-top: 4px; min-height: 1.2em; }
.lbr-form .honeypot { position: absolute; left: -9999px; }
.lbr-form__success {
  background: var(--lbr-mint);
  padding: var(--lbr-space-8);
  border-radius: var(--lbr-radius-md);
  text-align: center;
}
