.download-hero {
  padding: 3.5rem 0 2.5rem;
  background: radial-gradient(circle at 88% 12%, rgba(76, 175, 80, .16), transparent 30%), linear-gradient(180deg, #f8fcf9 0%, #fff 100%);
}

.download-hero h1 {
  max-width: 12ch;
  margin: 1rem 0;
  color: var(--lb-navy);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.02;
}

.download-lead { max-width: 43rem; margin: 0; color: #52615d; font-size: 1.12rem; line-height: 1.75; }
.download-direct-note { padding: 1.6rem; background: #fff; border: 1px solid #dfe9e2; border-left: .3rem solid var(--lb-green); border-radius: 1rem; box-shadow: 0 .8rem 2rem rgba(38, 50, 56, .08); }
.download-direct-note strong { color: var(--lb-navy); font-size: 1.05rem; }
.download-direct-note p { margin: .45rem 0 0; color: #60706b; line-height: 1.6; }

.download-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.download-steps li { display: flex; gap: .8rem; align-items: center; padding: 1rem; color: #71807b; background: rgba(255,255,255,.72); border: 1px solid #e0e8e3; border-radius: .9rem; }
.download-steps li > span { display: grid; flex: 0 0 2.2rem; place-items: center; width: 2.2rem; height: 2.2rem; color: #61706c; background: #edf2ef; border-radius: 50%; font-weight: 800; }
.download-steps strong, .download-steps small { display: block; }
.download-steps strong { color: var(--lb-navy); font-size: .9rem; }
.download-steps small { margin-top: .15rem; font-size: .74rem; }
.download-steps .is-current { background: #fff; border-color: rgba(var(--bs-success-rgb), .45); box-shadow: 0 .5rem 1.2rem rgba(38,50,56,.06); }
.download-steps .is-current > span, .download-steps .is-complete > span { color: #fff; background: var(--lb-green-dark); }
.download-steps .is-complete > span { font-size: 0; }
.download-steps .is-complete > span::after { font-size: .9rem; content: "✓"; }

.download-search-wrap { max-width: 40rem; margin: 0 auto 1.5rem; }
.download-search-wrap label { display: block; margin-bottom: .45rem; color: var(--lb-navy); font-size: .8rem; font-weight: 800; }
.download-search { display: flex; align-items: center; background: #fff; border: 1px solid #d6e1da; border-radius: .8rem; box-shadow: 0 .3rem 1rem rgba(38,50,56,.05); }
.download-search > span { padding-left: 1rem; color: var(--lb-green-dark); font-size: 1.35rem; }
.download-search input { width: 100%; padding: .9rem 1rem .9rem .65rem; color: var(--lb-navy); background: transparent; border: 0; outline: 0; }
.download-search:focus-within { border-color: var(--lb-green); box-shadow: 0 0 0 .2rem rgba(var(--bs-success-rgb), .12); }

.download-language-grid { max-width: 64rem; margin-right: auto; margin-left: auto; }
.download-language-card { display: flex; gap: .9rem; align-items: center; height: 100%; padding: 1rem; color: var(--lb-navy); background: #fff; border: 1px solid #dfe7e2; border-radius: .9rem; box-shadow: 0 .3rem 1.1rem rgba(38,50,56,.05); text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.download-language-card:hover { color: var(--lb-navy); border-color: rgba(var(--bs-success-rgb), .55); box-shadow: 0 .7rem 1.5rem rgba(38,50,56,.09); transform: translateY(-2px); }
.download-language-card > span:nth-child(2) { min-width: 0; flex: 1; }
.download-language-card strong, .download-language-card small { display: block; }
.download-language-card small { margin-top: .15rem; color: #73807c; font-size: .76rem; }
.download-language-card > b { color: var(--lb-green-dark); font-size: 1.2rem; }
.download-language-initials { display: grid; flex: 0 0 2.6rem; place-items: center; width: 2.6rem; height: 2.6rem; color: #fff; background: linear-gradient(135deg, var(--lb-green-dark), var(--lb-green)); border-radius: .75rem; font-size: .75rem; font-weight: 900; }
.download-empty { max-width: 40rem; margin: 1.5rem auto 0; padding: 1rem; color: #66746f; background: #f5f8f6; border-radius: .75rem; text-align: center; }
[data-filter-item][hidden] { display: none !important; }

.download-library-heading { display: flex; gap: 1.5rem; align-items: end; justify-content: space-between; margin-bottom: 2rem; }
.download-library-heading h2 { margin: .35rem 0; color: var(--lb-navy); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -.035em; }
.download-library-heading p { margin: 0; color: #65736f; }
.download-pdf-grid { max-width: 66rem; margin-right: auto; margin-left: auto; }
.download-pdf-card { display: flex; flex-direction: column; padding: 1.5rem; background: #fff; border: 1px solid #dce6e0; border-radius: 1rem; box-shadow: 0 .5rem 1.5rem rgba(38,50,56,.06); }
.download-pdf-icon { display: grid; place-items: center; width: 4.1rem; height: 5rem; margin-bottom: 1.25rem; color: #fff; background: linear-gradient(145deg, var(--lb-green-dark), var(--lb-green)); border-radius: .55rem .55rem .55rem .15rem; box-shadow: .3rem .4rem 0 #dceadf; }
.download-pdf-icon span { font-size: .8rem; font-weight: 900; letter-spacing: .08em; }
.download-pdf-kicker { color: var(--lb-green-dark); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.download-pdf-card h3 { margin: .4rem 0 .65rem; color: var(--lb-navy); font-size: 1.2rem; font-weight: 800; }
.download-pdf-card p { flex: 1; margin-bottom: 1.25rem; color: #66746f; line-height: 1.6; }
.download-pdf-card .btn { width: 100%; }
.download-volume-help { max-width: 66rem; margin: 1.5rem auto 0; padding: 1rem 1.15rem; color: #5e6d68; background: #f3f8f4; border: 1px solid #dce9df; border-radius: .8rem; }
.download-volume-help strong { color: var(--lb-navy); }
.download-volume-help p { margin: .3rem 0 0; }

.download-help { padding: 2.5rem 0; color: #fff; background: var(--lb-navy); border-top: .25rem solid var(--lb-green); }
.download-help .container { display: flex; gap: 2rem; align-items: center; justify-content: space-between; }
.download-help h2 { margin: .35rem 0; font-weight: 800; }
.download-help p { max-width: 46rem; margin: 0; color: rgba(255,255,255,.72); }
.download-help .course-section-kicker { color: #8bd48e; }

@media (max-width: 767.98px) {
  .download-hero { padding-top: 2rem; }
  .download-steps { grid-template-columns: 1fr; }
  .download-library-heading, .download-help .container { align-items: stretch; flex-direction: column; }
}
