.home-hero {
  min-height: min(760px, calc(100vh - 92px));
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 8rem);
  padding: clamp(4rem, 9vw, 8rem) 0;
}

.home-hero h1 { margin-bottom: 1.6rem; }
.home-hero h1 em { color: var(--terracotta); font-weight: 400; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }

.release-card {
  position: relative;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--paper-deep) 88%, transparent), color-mix(in srgb, var(--paper) 70%, transparent));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.release-card::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -105px;
  bottom: -125px;
  border: 1px solid color-mix(in srgb, var(--terracotta) 40%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 28px color-mix(in srgb, var(--terracotta) 7%, transparent), 0 0 0 58px color-mix(in srgb, var(--purple) 5%, transparent);
}
.release-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.release-id { color: var(--ink-faint); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; }
.release-domain { margin: 2.7rem 0 0.35rem; color: var(--terracotta-text); font-size: 0.76rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.release-card h2 { margin-bottom: 1rem; font-size: clamp(2rem, 4vw, 3.2rem); }
.release-card > p:not(.release-domain) { color: var(--ink-soft); }
.release-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin: 2rem 0; padding: 1rem 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.release-meta span { color: var(--ink-faint); font-size: 0.7rem; line-height: 1.3; }
.release-meta b { display: block; color: var(--ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.release-card > a { position: relative; z-index: 1; font-size: 0.82rem; font-weight: 600; }

.lens-section,
.curriculum-section,
.mastery-section { padding: clamp(4rem, 9vw, 8rem) 0; }

.lens-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--rule); background: var(--rule); }
.lens-card { min-height: 260px; padding: 1.5rem; background: var(--paper); }
.lens-index { color: var(--ink-faint); font-family: var(--serif); font-size: 1.15rem; }
.lens-short { margin: 3rem 0 0.4rem; color: var(--terracotta-text); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.lens-card h3 { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.lens-card > p:last-child { color: var(--ink-soft); font-size: 0.91rem; }
.lens-im { box-shadow: inset 0 3px 0 var(--moss); }
.lens-icu { box-shadow: inset 0 3px 0 var(--purple); }
.lens-ed { box-shadow: inset 0 3px 0 var(--terracotta); }
.lens-md { box-shadow: inset 0 3px 0 var(--ink-soft); }

.method-band {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4rem);
  border-radius: var(--radius-lg);
  color: var(--paper);
  background: var(--ink);
}
:root[data-theme="dark"] .method-band { color: #1c1815; background: #ece4d2; }
.method-band h2 { margin-bottom: 0; }
.method-band .section-kicker { color: var(--terracotta); }
.method-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.method-steps li { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 0 1rem; border-left: 1px solid currentColor; opacity: 0.9; }
.method-steps li > span { font-family: var(--serif); font-size: 1.2rem; opacity: 0.55; }
.method-steps b, .method-steps small { display: block; }
.method-steps b { font-size: 0.86rem; }
.method-steps small { margin-top: 0.25rem; font-size: 0.68rem; line-height: 1.35; opacity: 0.7; }

.domain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.domain-card { min-height: 260px; display: flex; flex-direction: column; padding: 1.4rem; border: 1px solid var(--rule); border-radius: var(--radius); background: color-mix(in srgb, var(--paper-deep) 38%, transparent); }
a.domain-card { color: var(--ink); text-decoration: none; }
a.domain-card:hover { border-color: var(--terracotta); box-shadow: var(--shadow); transform: translateY(-2px); }
.domain-card.active { background: linear-gradient(150deg, var(--paper-deep), color-mix(in srgb, var(--terracotta) 7%, var(--paper))); }
.domain-top { display: flex; justify-content: space-between; align-items: center; color: var(--ink-faint); font-family: var(--serif); }
.domain-card h3 { margin: 3rem 0 0.65rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.domain-card p { color: var(--ink-soft); font-size: 0.87rem; }
.domain-module { margin-top: auto; color: var(--terracotta-text); font-size: 0.74rem; font-weight: 600; }

.mastery-section { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.mastery-copy p:last-child { color: var(--ink-soft); }
.mastery-track { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--rule-strong); }
.mastery-track > div { position: relative; padding: 1.4rem 0.5rem 0; }
.mastery-track > div::before { content: ""; position: absolute; width: 9px; height: 9px; top: -5px; left: 0.5rem; border-radius: 50%; background: var(--terracotta); }
.mastery-track b, .mastery-track span { display: block; }
.mastery-track b { font-size: 0.82rem; }
.mastery-track span { color: var(--ink-faint); font-size: 0.68rem; }

@media (max-width: 1000px) {
  .home-hero { grid-template-columns: 1fr; min-height: auto; }
  .release-card { max-width: 620px; }
  .lens-grid { grid-template-columns: repeat(2, 1fr); }
  .method-band, .mastery-section { grid-template-columns: 1fr; }
  .domain-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .home-hero { padding-top: 3rem; }
  .lens-grid, .domain-grid { grid-template-columns: 1fr; }
  .method-band { margin-inline: calc(var(--gutter) * -0.5); padding-inline: 1.5rem; }
  .method-steps { grid-template-columns: 1fr; }
  .method-steps li { min-height: 0; flex-direction: row; justify-content: flex-start; padding: 0.85rem 0 0.85rem 1rem; border-left: 0; border-top: 1px solid currentColor; }
  .mastery-track { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid var(--rule-strong); }
  .mastery-track > div { padding: 0 0 1.2rem 1.2rem; }
  .mastery-track > div::before { top: 0.4rem; left: -5px; }
}
