/* assets/css/sections/education.css — Section styles and local responsive rules. */
/* Education */
.education-section {
  position: relative;
  display: flex;
  min-height: calc(100vh - var(--header-height));
  padding-block: 1.3rem;
  align-items: center;
  overflow: hidden;
}
.education-container { display: flex; flex-direction: column; justify-content: center; }
.education-heading { display: block; width: 100%; max-width: none; margin-bottom: 1.35rem; }
.education-heading h2 { width: max-content; max-width: none; white-space: nowrap; }
.education-heading h2 span { color: var(--color-primary); text-shadow: 0 0 28px rgba(255, 90, 0, 0.1); }
.education-heading p:last-child { width: max-content; max-width: none; white-space: nowrap; }
.education-timeline { position: relative; display: grid; gap: 0.85rem; }
.education-timeline::before {
  position: absolute;
  top: 34px;
  bottom: 34px;
  left: 25px;
  width: 2px;
  content: "";
  background: linear-gradient(
    180deg,
    rgba(255, 90, 0, 0.85),
    var(--color-border-primary-default)
  );
  border-radius: 999px;
  opacity: 0.6;
}
.education-card {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: radial-gradient(circle at 92% 8%, rgba(255, 90, 0, 0.12), transparent 38%),
    linear-gradient(145deg, var(--surface-inset-soft), transparent 55%),
    var(--surface-card);
  border: 1px solid var(--color-border-primary-emphasis);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 var(--surface-inset);
}
.education-card::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(var(--surface-inset) 1px, transparent 1px),
    linear-gradient(90deg, var(--surface-inset) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.08;
  pointer-events: none;
}
/* Navigation */
.education-card__header {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  min-height: 82px;
  padding: 0.95rem 1.1rem;
  grid-template-columns: 110px minmax(0, 1fr) auto 34px;
  gap: 1rem;
  align-items: center;
  color: var(--color-text);
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}
/* Education */
.education-card__year {
  display: inline-flex;
  min-height: 38px;
  padding: 0.45rem 0.7rem;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
  background: rgba(255, 90, 0, 0.5);
  border: 1px solid rgba(255, 90, 0, 0.5);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.education-card__main { display: grid; min-width: 0; }
.education-card__main strong { color: var(--color-text); font-size: 1.12rem; font-weight: 900; line-height: 1.1; }
.education-card__main small { margin-top: 0.28rem; color: var(--color-text-muted); font-size: 0.78rem; font-weight: 750; line-height: 1.35; }
.education-card__badge {
  display: inline-flex;
  min-height: 32px;
  padding: 0.38rem 0.65rem;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  background: var(--color-primary-faint);
  border: 1px solid var(--color-border-primary-medium);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}
.education-card__toggle {
  display: flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  background: var(--color-primary-faint);
  border: 1px solid var(--color-border-primary-emphasis);
  border-radius: 999px;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1;
  transition: transform 200ms ease,
    background-color 200ms ease;
}
.education-card.is-open .education-card__toggle { transform: rotate(45deg); background: var(--color-border-primary-default); }
.education-card__body {
  position: relative;
  z-index: 1;
  max-height: 0;
  padding: 0 1.1rem;
  overflow: hidden;
  transition: max-height 320ms ease,
    padding 320ms ease;
}
.education-card__intro {
  padding: 0.9rem 1rem;
  background: rgba(255, 255, 255, 0.024);
  border: 1px solid var(--color-border-primary-soft);
  border-radius: 16px;
}
.education-card__intro p { margin: 0; color: var(--color-text-soft); font-size: 0.84rem; font-weight: 600; line-height: 1.55; }
.education-card__grid { display: grid; grid-template-columns: minmax(220px, 0.35fr) minmax(0, 0.65fr); gap: 0.9rem; margin-top: 0.9rem; }
.education-card__grid--single { grid-template-columns: 1fr; }
.education-card__block {
  min-height: 112px;
  padding: 0.95rem;
  background: rgba(255, 255, 255, 0.024);
  border: 1px solid var(--color-border-primary-soft);
  border-radius: 16px;
}
.education-card__label {
  margin: 0 0 0.7rem;
  color: var(--color-primary);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.education-chip-list { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.education-chip-list span {
  display: inline-flex;
  min-height: 28px;
  padding: 0.35rem 0.62rem;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
  background: rgba(255, 90, 0, 0.5);
  border: 1px solid rgba(255, 90, 0, 0.5);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
}
/* Navigation */
.education-card--has-website .education-card__header { grid-template-columns: 110px minmax(0, 1fr); padding-right: 15.8rem; }
/* Education */
.education-card--has-website .education-card__badge { position: absolute; top: 50%; right: 4.9rem; transform: translateY(-50%); }
.education-card--has-website .education-card__toggle { position: absolute; top: 50%; right: 1.1rem; transform: translateY(-50%); }
.education-card__website {
  position: absolute;
  top: 41px;
  right: 10.5rem;
  z-index: 4;
  display: inline-flex;
  min-height: 32px;
  padding: 0.38rem 0.65rem;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  background: var(--color-primary-faint);
  border: 1px solid var(--color-border-primary-medium);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transform: translateY(-50%);
  transition: color 160ms ease,
    background 160ms ease,
    border-color 160ms ease;
}
.education-card__website:hover { color: var(--color-text-dark); background: var(--color-primary); border-color: var(--color-primary); }
.education-card__grid.education-card__grid--single { grid-template-columns: minmax(0, 1fr); }
.education-card__grid.education-card__grid--cycles { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: stretch; }
.education-card__block { min-width: 0; }
.education-chip-list span { max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
.education-heading h2, .education-heading p:last-child { width: auto; max-width: 100%; white-space: normal; }
.education-card .education-card__body {
  display: grid;
  grid-template-rows: 0fr;
  max-height: none;
  padding: 0 1.1rem;
  overflow: hidden;
  visibility: hidden;
  transition: grid-template-rows 320ms ease,
    padding 320ms ease,
    visibility 0s linear 320ms;
}
.education-card .education-card__content { min-height: 0; overflow: hidden; }
.education-card.is-open .education-card__body {
  grid-template-rows: 1fr;
  max-height: none;
  padding: 0 1.1rem 1.1rem;
  visibility: visible;
  transition: grid-template-rows 320ms ease,
    padding 320ms ease,
    visibility 0s;
}
@media (prefers-reduced-motion: reduce) {
  /* Education */
  .education-card .education-card__body { transition: none; }
}
