/* Homepage density: preserve content, reduce vertical travel. */
.home-page .actions { margin-top: 20px; }
.home-page .section { padding-top: 42px; padding-bottom: 42px; }
.home-page .section-title { margin-bottom: 22px; }
.home-page .section-title > p:last-child:not(.eyebrow) { margin-top: 10px; }
.home-page .eyebrow { margin-bottom: 12px; }
.home-page h2 { font-size: clamp(27px,2.6vw,34px); }
.home-page .role-card { padding: 22px; }
.home-page .card-top { margin-bottom: 18px; }
.home-page .role-card h3 { min-height: 0; margin-bottom: 10px; }
.home-page .tags { margin: 15px 0; }
.home-page .role-card .text-link { margin-top: 18px; padding-top: 14px; }
.home-page .product-feature { padding: 18px 0 28px; gap: 44px; }
.home-page .product-feature + .product-feature { padding-top: 28px; }
.home-page .product-visual { padding: 16px; }
.home-page .product-visual img { max-height: 240px; }
.home-page .product-copy h3 { font-size: 36px; }
.home-page .product-copy > p:not(.eyebrow) { margin-top: 14px; }
.home-page .skills-layout { padding: 22px 0; gap: 48px; }
.home-page .learning-card { padding: 26px; }
.home-page .learning-card h3 { margin-bottom: 12px; }
.home-page .about-block { gap: 44px; }
.home-page .founder-monogram { padding: 28px; }
.home-page .contact-band { padding-top: 36px; padding-bottom: 36px; }
@media(max-width:700px) {
  .home-page .section { padding-top: 30px; padding-bottom: 30px; }
  .home-page .product-feature { gap: 22px; }
  .home-page .skills-layout { gap: 22px; }
  .home-page .about-block { gap: 24px; }
}

/* One shared gap between skills and learning instead of stacked section padding. */
.home-page #skills { padding-bottom: 0; }
.home-page #skills .skills-layout { padding-bottom: 12px; }
.home-page #learning { padding-top: 28px; }
@media(max-width:700px) {
  .home-page #learning { padding-top: 24px; }
}

/* Warm paper surfaces carry the first screen's emerald accents into the page. */
.home-page {
  --home-paper: #fbfaf5;
  --home-line: #d7e1d9;
  --home-shadow: 0 16px 36px -25px #123e30a0;
  --home-emerald: radial-gradient(ellipse at 90% 0%, #237958, transparent 58%),
    linear-gradient(145deg, #105b47, #0a392e);
}
.home-page .role-card,
.home-page .learning-card,
.home-page .home-lecturer,
.home-page .product-visual,
.home-page .floating-skill-card {
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: var(--home-paper);
  box-shadow: var(--home-shadow);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.home-page .floating-skill-card {
  background: linear-gradient(140deg, #f5f8ef, #e6efe6);
  box-shadow: none;
}
.home-page .product-section,
.home-page .news-section {
  background: linear-gradient(165deg, #eef2e9, #f7f7f3 72%);
}
.home-page .learning-card.star,
.home-page .founder-monogram,
.home-page .contact-band {
  background: var(--home-emerald);
  border-color: transparent;
  color: #f7f7f3;
}
.home-page .learning-card.star > p,
.home-page .learning-card.star .text-link,
.home-page .founder-monogram > span {
  color: #c1f0d8;
}
.home-page .contact-band .button {
  background: linear-gradient(120deg, #a7edcb, #5fe0b0);
  border-color: transparent;
}
.home-page .news-row {
  padding-inline: 14px;
  border-radius: 12px;
  transition: background .2s;
}
.home-page .news-row:hover,
.home-page .news-row:focus-visible { background: #e5eee5; }
.home-page .ltcc-header {
  background: #08201af5;
  backdrop-filter: blur(16px);
}
.home-page .ltcc-dropdown > div {
  border-color: #a7edcb48;
  border-radius: 18px;
  background: linear-gradient(145deg, #173e33, #102a23);
  box-shadow: 0 18px 36px #08201a55;
}
.home-page .ltcc-dropdown a:hover,
.home-page .ltcc-dropdown a:focus-visible { background: #a7edcb16; }
@media (hover: hover) {
  .home-page :is(.role-card, .learning-card, .home-lecturer, .product-visual):hover {
    border-color: #4b9277;
    box-shadow: 0 20px 36px -23px #123e30a0;
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .home-page :is(.role-card, .learning-card, .home-lecturer, .product-visual):hover {
    transform: translateY(-3px);
  }
}

.home-page .role-card {
  position: relative;
  display: block;
  color: inherit;
}
.home-page .role-card-arrow {
  position: absolute;
  right: 22px;
  bottom: 16px;
  color: #0b7465;
}
.home-page .role-card .tags { padding-right: 22px; }
.home-page .learning-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.home-page .learning-card .button { margin-top: auto; }
@media (min-width: 901px) {
  .home-page .learning-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.home-page .course-cover-card {
  align-self: start;
  overflow: hidden;
  padding: 0;
}
.home-page .course-cover-card img {
  display: block;
  width: 100%;
  height: auto;
}

.home-page .open-class-cover {
  justify-content: center;
  gap: 0.35em;
  aspect-ratio: 750 / 422;
  padding: 6% 8%;
  border: 0;
  background: linear-gradient(135deg, #071728, #064d47);
  color: #f7f7f3;
}
.home-page .open-class-cover h3 {
  margin: 0;
  font-size: clamp(34px, 4vw, 58px);
  color: inherit;
}
.open-class-cover-label {
  font-size: 14px;
  font-weight: 700;
  color: #a7edcb;
}
.open-class-cover-note {
  font-size: 13px;
  color: #e1f6ed;
}
