.p2t-academy-links { margin: 24px 0; padding: 22px; border: 1px solid #dbe3ee; border-radius: 12px; background: #f5f8ff; }
.p2t-academy-links h2 { font-size: 20px; margin: 0 0 16px; }
.p2t-academy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px; }
.p2t-academy-callout { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid #dbe3ee; border-radius: 8px; background: #fff; color: #172b4d; text-decoration: none; }
.p2t-academy-callout:hover, .p2t-academy-callout:focus-visible { border-color: #2563eb; background: #eef4ff; }
.p2t-academy-callout span { font-size: 14px; line-height: 1.5; }
.p2t-academy-languages { display: flex; gap: 16px; margin: 16px 0; }
.p2t-academy-languages [aria-current=page] { font-weight: 700; text-decoration: underline; }
.academy-toc { padding: 20px 24px; margin: 24px 0; border: 1px solid #dbe3ee; border-radius: 8px; }
.academy-toc h2 { font-size: 18px; }
.academy-toc li { margin: 7px 0; }
.academy-review-status { font-size: 14px; color: #475569; line-height: 1.6; margin: 16px 0; }
.academy-ingredient-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 12px; padding: 0; }
.academy-ingredient-grid li { list-style: none; padding: 14px; border: 1px solid #dbe3ee; border-radius: 8px; }
.academy-policy { max-width: 800px; margin: auto; line-height: 1.7; }
.atlas-header nav { display: flex; gap: 18px; flex-wrap: wrap; }
.atlas-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; flex-wrap: wrap; }
.p2t-academy-links a:focus-visible, .p2t-academy-languages a:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.academy-body { font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word; }
.academy-body h2, .academy-body h3 { scroll-margin-top: 5rem; }
.academy-body h2 { margin-top: 2rem; }
.academy-tldr { padding: 1.5rem; background: #f1f5f9; border-radius: .5rem; margin: 2rem 0; }
.academy-tldr h2 { font-size: 1.2rem; }
.academy-disclaimer { margin-top: 2rem; padding: 1.5rem; background: #fffbeb; border-left: 3px solid #d97706; }
.academy-author { display: flex; gap: 1rem; padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: .5rem; }
.academy-author img { border-radius: 50%; object-fit: cover; }
.academy-author p { margin: .3rem 0; }
@media (max-width: 480px) { .p2t-academy-links { padding: 16px; } .academy-author { flex-wrap: wrap; } }
