
.alp-hero { margin: .4rem 0 1.4rem; padding: 1.5rem 1.6rem; border: 1px solid var(--md-default-fg-color--lightest); border-radius: .85rem; background: linear-gradient(135deg, color-mix(in srgb, var(--md-primary-fg-color) 10%, var(--md-default-bg-color)), var(--md-default-bg-color)); }
.alp-hero h2 { margin-top: 0; }
.alp-hero p { max-width: 58rem; }
.alp-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:1rem 0 1.6rem; }
.alp-stats div { padding:.9rem 1rem; border:1px solid var(--md-default-fg-color--lightest); border-radius:.65rem; background:var(--md-default-bg-color); }
.alp-stats strong { display:block; font-size:1.45rem; line-height:1.1; }
.alp-stats span { display:block; margin-top:.25rem; color:var(--md-default-fg-color--light); font-size:.78rem; }
.alp-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1rem 0 1.4rem; }
.alp-flow div { padding:.9rem; border-left:.22rem solid var(--md-primary-fg-color); background:color-mix(in srgb, var(--md-primary-fg-color) 5%, var(--md-default-bg-color)); border-radius:.35rem; }
.alp-flow b,.alp-flow span { display:block; }
.alp-flow span { margin-top:.35rem; font-size:.78rem; line-height:1.45; color:var(--md-default-fg-color--light); }
.alp-section-head { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; margin:1.5rem 0 .55rem; padding-bottom:.35rem; border-bottom:1px solid var(--md-default-fg-color--lightest); }
.alp-section-head span { font-size:.75rem; color:var(--md-default-fg-color--light); }
.alp-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
a.alp-item { display:grid; grid-template-columns:2.65rem 1fr; gap:.7rem; align-items:start; padding:.72rem .78rem; border:1px solid var(--md-default-fg-color--lightest); border-radius:.55rem; color:var(--md-default-fg-color); text-decoration:none; background:var(--md-default-bg-color); transition:border-color .15s ease, transform .15s ease; }
a.alp-item:hover { border-color:var(--md-primary-fg-color); transform:translateY(-1px); }
.alp-item__num { display:inline-flex; min-height:2rem; align-items:center; justify-content:center; padding:.12rem .3rem; border-radius:.4rem; background:color-mix(in srgb, var(--md-primary-fg-color) 11%, transparent); color:var(--md-primary-fg-color); font-size:.73rem; font-weight:700; }
.alp-item strong { display:block; line-height:1.3; }
.alp-item small { display:block; margin-top:.28rem; color:var(--md-default-fg-color--light); line-height:1.4; }
.alp-route table { font-size:.82rem; }
@media (max-width: 850px) { .alp-stats,.alp-flow { grid-template-columns:repeat(2,minmax(0,1fr)); } .alp-catalog { grid-template-columns:1fr; } }
@media (max-width: 520px) { .alp-stats,.alp-flow { grid-template-columns:1fr; } .alp-hero { padding:1rem; } }

/* Unified learning sequence. */
.alp-catalog--sequence { grid-template-columns: 1fr; }
.alp-catalog--sequence .alp-item { grid-template-columns: 3.35rem 1fr; padding: .82rem .9rem; }
.alp-catalog--sequence .alp-item--r { border-left: .22rem solid var(--md-primary-fg-color); }
.alp-catalog--sequence .alp-item--l { border-left: .22rem solid var(--md-default-fg-color--lightest); }
.alp-catalog--sequence .alp-item small b { color: var(--md-default-fg-color); }

/* Module landing pages. */
.alp-module-hero { margin-bottom: 1rem; }
.alp-module-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:1rem 0 1.5rem; }
.alp-module-outcomes div { padding:.8rem .9rem; border:1px solid var(--md-default-fg-color--lightest); border-radius:.55rem; background:color-mix(in srgb, var(--md-primary-fg-color) 4%, var(--md-default-bg-color)); line-height:1.45; }
.alp-module-sequence { margin:.7rem 0 1.6rem; }
.md-typeset .alp-module-sequence + h3 { margin-top:1.8rem; }
@media (max-width: 720px) { .alp-module-outcomes { grid-template-columns:1fr; } }
