:root {
  color-scheme: light;
  --ink: #101820;
  --muted: #596a73;
  --line: #d7e0e4;
  --paper: #f4f7f8;
  --accent: #086f83;
  --accent-2: #9a6a00;
  --focus: #174ea6;
  --success: #147142;
  --warning: #9a6a00;
  --danger: #a33a2b;
  --white: #ffffff;
  --shadow: 0 20px 48px rgba(16, 24, 32, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    linear-gradient(180deg, #ffffff 0, var(--paper) 360px),
    var(--paper);
  color: var(--ink);
  font: 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a,
button,
input,
select,
textarea {
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(23, 78, 166, 0.24);
  outline-offset: 3px;
  border-color: var(--focus);
}

.skip-link {
  position: absolute;
  left: 16px;
  top: 12px;
  z-index: 20;
  padding: 9px 12px;
  border-radius: 6px;
  background: var(--ink);
  color: var(--white);
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 48px 0;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 28px;
  align-items: stretch;
  padding: 36px 0 28px;
  border-bottom: 1px solid var(--line);
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 0.84rem;
  font-weight: 700;
  text-transform: uppercase;
}

h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.lead {
  max-width: 720px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 1.1rem;
}

.status-panel {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 180px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.status-panel span:last-child {
  color: var(--muted);
}

.status-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(15, 118, 110, 0.14);
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.tile {
  min-height: 104px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: inherit;
  text-decoration: none;
}

.tile span {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 0.9rem;
}

.tile strong {
  font-size: 1.35rem;
}

.modules {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
}

.modules span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--muted);
  font-size: 0.9rem;
}

@media (max-width: 760px) {
  .shell {
    width: min(100% - 24px, 1120px);
    padding: 28px 0;
  }

  .hero,
  .grid {
    grid-template-columns: 1fr;
  }
}

.directory-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 56px;
}

.directory-shell.narrow {
  width: min(760px, calc(100% - 32px));
}

.directory-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 4;
  background: rgba(244, 247, 248, 0.94);
  backdrop-filter: blur(10px);
}

.brand-link,
.directory-topbar a {
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
}

.directory-topbar nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.directory-topbar nav a {
  color: var(--muted);
  font-size: 0.94rem;
}

.directory-topbar nav a:hover,
.brand-link:hover,
.provider-card h2 a:hover,
.dashboard-grid a:hover,
.profile-facts a:hover {
  color: var(--accent);
}

.directory-search,
.provider-profile,
.dashboard-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: 28px;
  align-items: start;
  padding: 34px 0;
}

.search-form,
.stacked-form {
  display: grid;
  gap: 12px;
}

.search-form {
  grid-template-columns: minmax(0, 1.4fr) minmax(150px, 0.7fr) minmax(120px, 0.7fr) auto;
  align-items: end;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.search-form.expanded {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.search-form .search-wide {
  grid-column: 1 / -1;
}

.search-form.expanded button {
  align-self: end;
  grid-column: 1 / -1;
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 650;
}

input,
select,
textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

textarea {
  min-height: 136px;
  resize: vertical;
}

button {
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid #0b5c56;
  border-radius: 6px;
  background: var(--accent);
  color: var(--white);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

button:hover,
.button-link:hover {
  background: #07596a;
  box-shadow: 0 10px 24px rgba(8, 111, 131, 0.16);
}

.result-count {
  margin: 0 0 14px;
  color: var(--muted);
  font-weight: 700;
}

.breadcrumb,
.filter-chips,
.insight-bar,
.mini-facts,
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.breadcrumb {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 700;
}

.breadcrumb a {
  color: var(--accent);
  text-decoration: none;
}

.breadcrumb a::after {
  content: "/";
  margin-left: 8px;
  color: var(--muted);
}

.insight-bar {
  margin-top: 16px;
}

.insight-bar span,
.filter-chips span,
.mini-facts span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 750;
}

.filter-chips {
  margin: -10px 0 22px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.filter-chips strong {
  margin-right: 2px;
}

.filter-chips a,
.card-actions a {
  color: var(--accent);
  font-weight: 800;
  text-decoration: none;
}

.pagination-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin: 22px 0 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.pagination-nav a,
.pagination-nav span,
.pagination-nav strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 6px;
  font-weight: 800;
}

.pagination-nav a {
  border: 1px solid #0b5c56;
  background: var(--accent);
  color: var(--white);
  text-decoration: none;
}

.pagination-nav a:hover {
  background: #07596a;
}

.pagination-nav span {
  border: 1px solid var(--line);
  color: var(--muted);
}

.directory-results,
.dashboard-grid,
.profile-grid {
  display: grid;
  gap: 14px;
}

.directory-results {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.provider-card,
.profile-grid article,
.dashboard-grid article,
.submission-band {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.03);
}

.provider-card {
  display: grid;
  gap: 14px;
  min-height: 210px;
  padding: 18px;
  align-content: space-between;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.provider-card:hover {
  border-color: #9fc8d2;
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

.provider-card h2,
.profile-grid h2,
.submission-band h2,
.dashboard-grid h2 {
  margin: 8px 0 10px;
  font-size: 1.25rem;
  line-height: 1.2;
}

.provider-card h2 a {
  color: inherit;
  text-decoration: none;
}

.provider-card p,
.profile-grid p,
.dashboard-grid p {
  color: var(--muted);
}

.card-actions {
  justify-content: space-between;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}

.provider-meta,
.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.provider-meta span,
.tag-row span {
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7fbfb;
  color: var(--muted);
  font-size: 0.88rem;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f6fafb;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
}

.status-green {
  background: #dff5e6;
  color: var(--success);
}

.status-yellow {
  background: #fff4cf;
  color: var(--warning);
}

.status-red {
  background: #ffe3df;
  color: var(--danger);
}

.profile-facts {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.profile-facts div {
  display: grid;
  grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
  gap: 16px;
}

.profile-facts dt {
  color: var(--muted);
  font-weight: 750;
}

.profile-facts dd {
  margin: 0;
}

.profile-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.78fr);
}

.profile-grid article,
.dashboard-grid article,
.submission-band {
  padding: 20px;
}

.private-review {
  border-color: #9fc8c2;
}

.trust-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.trust-band article {
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.03);
}

.trust-label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
}

.trust-band strong {
  display: block;
  font-size: 1.35rem;
}

.trust-band p {
  margin: 8px 0 0;
  color: var(--muted);
}

.rating-meter {
  height: 10px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f4;
}

.rating-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0d7c66, #d49a17);
}

.review-list {
  display: grid;
  gap: 12px;
}

.review-card {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.review-card:last-child {
  border-bottom: 0;
}

.review-card p {
  margin: 8px 0;
}

.review-card small {
  color: var(--muted);
}

.star-row,
.rating-choice ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.star-row span {
  color: #c7d0d4;
  font-size: 1.18rem;
}

.star-row span.active {
  color: #d49a17;
}

.rating-choice {
  margin: 0;
  padding: 0;
  border: 0;
}

.rating-choice legend {
  margin-bottom: 8px;
  color: var(--muted);
  font-weight: 750;
}

.rating-choice ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rating-choice li {
  min-width: 104px;
}

.rating-choice label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfdfd;
  color: var(--ink);
}

.rating-choice input {
  width: 16px;
  min-height: 16px;
}

.criteria-detail {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.criteria-detail:last-child {
  border-bottom: 0;
}

.criteria-detail summary {
  cursor: pointer;
  font-weight: 800;
}

.criteria-detail ul,
.work-list {
  margin: 10px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.work-list li {
  margin: 6px 0;
}

.completion-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.completion-list span {
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfdfd;
  color: var(--muted);
  font-size: 0.9rem;
}

.notice {
  padding: 12px;
  border-left: 4px solid var(--accent);
  background: #edf7f5;
}

.status-advice,
.form-helper {
  margin: 14px 0 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--muted);
  font-weight: 650;
}

.status-advice-green {
  border-color: #a8d8bd;
  background: #f0fbf4;
  color: #146c35;
}

.status-advice-yellow {
  border-color: #e4c36d;
  background: #fffaf0;
  color: #7a5200;
}

.status-advice-red {
  border-color: #e3aaa3;
  background: #fff5f3;
  color: #8d2d20;
}

.mini-facts {
  margin-top: 12px;
}

.submission-band {
  margin-top: 18px;
}

.form-errors {
  padding: 10px 12px;
  border: 1px solid #e2a49b;
  border-radius: 6px;
  background: #fff3f1;
  color: #8d2d20;
}

.message-stack p {
  padding: 10px 12px;
  border: 1px solid #b9dccb;
  border-radius: 6px;
  background: #f0faf4;
  color: #146c35;
}

.dashboard-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.status-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.inline-summary {
  justify-content: flex-start;
  margin-top: 18px;
}

.role-rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}

.role-card {
  display: grid;
  gap: 6px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.03);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.role-card:hover {
  border-color: #9fc8d2;
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

.role-card span,
.role-card small {
  color: var(--muted);
}

.role-card span {
  font-size: 0.82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.role-card strong {
  font-size: 1.08rem;
  line-height: 1.2;
}

.compact-metrics {
  margin-bottom: 18px;
}

.compact-metrics article {
  min-height: 82px;
}

.empty-state {
  color: var(--muted);
}

.workflow-panel {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.workflow-panel span {
  color: var(--muted);
}

.workflow-form {
  display: grid;
  gap: 16px;
}

.workflow-section {
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.workflow-section h2 {
  margin: 0 0 4px;
  font-size: 1.2rem;
}

.form-grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.checkbox-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.checkbox-list label,
.workflow-section label:has(input[type="checkbox"]) {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfdfd;
  color: var(--ink);
}

input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  margin-top: 2px;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.button-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #0b5c56;
  border-radius: 6px;
  background: var(--accent);
  color: var(--white);
  font-weight: 750;
  text-decoration: none;
}

.button-link.secondary {
  border-color: var(--line);
  background: var(--white);
  color: var(--ink);
}

.button-link.secondary:hover,
.button-quiet:hover,
.text-button:hover,
.secondary-button:hover {
  border-color: #9fc8d2;
  background: #eef8f9;
  color: var(--ink);
  box-shadow: none;
}

.content-panel-grid,
.workflow-strip {
  display: grid;
  gap: 14px;
  margin: 0 0 22px;
}

.content-panel-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.content-panel-grid article,
.workflow-step,
.empty-state-card,
.form-assist {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.content-panel-grid article,
.workflow-step {
  min-height: 138px;
  padding: 16px;
}

.content-panel-grid span,
.workflow-step span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e7f3f5;
  color: var(--accent);
  font-size: 0.86rem;
  font-weight: 900;
}

.content-panel-grid h2 {
  margin: 0 0 8px;
  font-size: 1.04rem;
  line-height: 1.25;
}

.content-panel-grid p,
.workflow-step small,
.form-assist p,
.empty-state-card p {
  margin: 0;
  color: var(--muted);
}

.workflow-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-step {
  display: grid;
  align-content: start;
  gap: 4px;
}

.workflow-step strong {
  font-size: 1.02rem;
  line-height: 1.2;
}

.workflow-step.urgent {
  border-color: #e4c36d;
  background: #fffaf0;
}

.completion-status-band {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.completion-status-band div {
  display: grid;
  gap: 8px;
}

.completion-status-band strong {
  font-size: 1.2rem;
}

.completion-status-band small {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-weight: 700;
}

.completion-table td:nth-child(3) {
  min-width: 280px;
}

.completion-table td:nth-child(3) span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.paper-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.paper-grid div {
  min-height: 64px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfdfd;
}

.paper-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
}

.paper-grid strong {
  display: block;
  min-height: 28px;
  margin-top: 6px;
  overflow-wrap: anywhere;
}

.blank-lines strong:empty {
  border-bottom: 1px solid var(--ink);
}

.signature-box p {
  color: var(--muted);
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.profile-actions {
  margin-top: -4px;
}

@media print {
  body {
    background: #ffffff;
  }

  .directory-topbar,
  .message-stack,
  .print-sheet .section-head button {
    display: none;
  }

  .directory-shell {
    width: 100%;
    padding: 0;
  }

  .workflow-section,
  .paper-grid div {
    box-shadow: none;
    break-inside: avoid;
  }
}

.marketing-body {
  background: #f6f9fa;
}

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  width: 100%;
  height: 3px;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

.marketing-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  min-height: 74px;
  padding: 12px max(24px, calc((100% - 1180px) / 2));
  border-bottom: 1px solid rgba(215, 224, 228, 0.78);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
}

.marketing-header.is-scrolled {
  box-shadow: 0 14px 34px rgba(16, 24, 32, 0.08);
}

.marketing-brand {
  display: grid;
  gap: 0;
  color: var(--ink);
  text-decoration: none;
}

.marketing-brand span {
  font-size: 1.28rem;
  font-weight: 900;
  line-height: 1;
}

.marketing-brand small {
  color: var(--accent);
  font-weight: 800;
}

.marketing-header nav,
.marketing-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  justify-content: center;
}

.marketing-header nav a,
.marketing-footer nav a {
  color: #30434b;
  font-weight: 760;
  text-decoration: none;
}

.marketing-header nav a:hover,
.marketing-footer nav a:hover,
.marketing-header nav a.is-active {
  color: var(--accent);
}

.marketing-login,
.marketing-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-weight: 850;
  text-decoration: none;
}

.marketing-login {
  background: #101820;
  color: #ffffff;
}

.marketing-login:hover {
  background: #24323a;
}

.marketing-button.primary {
  border-color: #07596a;
  background: var(--accent);
  color: #ffffff;
  box-shadow: 0 18px 36px rgba(8, 111, 131, 0.22);
}

.marketing-button.primary:hover {
  background: #07596a;
  transform: translateY(-2px);
}

.marketing-button.light {
  background: rgba(255, 255, 255, 0.9);
  color: var(--ink);
}

.marketing-button.light:hover {
  border-color: #9fc8d2;
  background: #ffffff;
  transform: translateY(-2px);
}

.marketing-hero,
.marketing-subhero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  overflow: hidden;
  background-image:
    linear-gradient(90deg, rgba(7, 31, 38, 0.96) 0%, rgba(7, 31, 38, 0.86) 42%, rgba(7, 31, 38, 0.36) 75%, rgba(7, 31, 38, 0.08) 100%),
    var(--hero-image);
  background-position: center;
  background-position-y: calc(50% + var(--hero-shift, 0px));
  background-size: cover;
  color: #ffffff;
}

.marketing-hero {
  grid-template-columns: minmax(0, 0.94fr) minmax(300px, 390px);
  gap: 48px;
  min-height: 78svh;
  padding: 82px max(24px, calc((100% - 1180px) / 2)) 76px;
}

.marketing-subhero {
  min-height: 560px;
  padding: 72px max(24px, calc((100% - 1180px) / 2));
}

.marketing-hero::after,
.marketing-subhero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 36%;
  background: linear-gradient(0deg, rgba(246, 249, 250, 0.08), transparent);
}

.marketing-hero-content,
.marketing-subhero-content {
  max-width: 760px;
  animation: marketingReveal 700ms ease both;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.36);
}

.marketing-hero-panel {
  display: grid;
  gap: 18px;
  align-self: center;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(10, 34, 42, 0.22));
  color: #ffffff;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px);
}

.marketing-hero-panel > span {
  color: #a8ebdc;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.marketing-hero-panel strong {
  font-size: 1.38rem;
  line-height: 1.22;
}

.marketing-hero-panel dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.marketing-hero-panel div {
  display: grid;
  grid-template-columns: 0.85fr 1fr;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(16, 24, 32, 0.26);
}

.marketing-hero-panel dt {
  color: rgba(255, 255, 255, 0.72);
  font-weight: 800;
}

.marketing-hero-panel dd {
  margin: 0;
  font-weight: 900;
}

.marketing-kicker {
  margin: 0 0 14px;
  color: #a8ebdc;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.marketing-hero h1,
.marketing-subhero h1,
.marketing-final h2 {
  margin: 0;
  max-width: 820px;
  font-size: 4.8rem;
  line-height: 0.98;
  letter-spacing: 0;
}

.marketing-subhero h1,
.marketing-final h2 {
  font-size: 4rem;
}

.marketing-lead {
  max-width: 710px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.22rem;
  line-height: 1.65;
}

.marketing-hero-promise {
  max-width: 690px;
  margin: 20px 0 0;
  padding: 14px 16px;
  border-left: 4px solid #a8ebdc;
  background: rgba(255, 255, 255, 0.11);
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 830;
}

.marketing-actions,
.marketing-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.marketing-actions {
  margin-top: 30px;
}

.marketing-proof {
  margin-top: 34px;
}

.marketing-proof span,
.proof-band strong {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-weight: 820;
}

.marketing-band {
  padding: 74px max(24px, calc((100% - 1180px) / 2));
}

.marketing-metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 0 max(24px, calc((100% - 1180px) / 2));
  background: #d7e0e4;
}

.marketing-metric-strip article {
  display: grid;
  gap: 7px;
  min-height: 168px;
  padding: 24px;
  background: #ffffff;
}

.marketing-metric-strip strong {
  color: var(--accent);
  font-size: 2.4rem;
  line-height: 1;
}

.marketing-metric-strip span {
  color: var(--ink);
  font-weight: 900;
}

.marketing-metric-strip p {
  margin: 0;
  color: var(--muted);
}

.conversion-band,
.audience-signal-band,
.capability-band {
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.06)),
    #ffffff;
}

.conversion-grid,
.signal-grid,
.capability-grid {
  display: grid;
  gap: 16px;
}

.conversion-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.signal-grid,
.capability-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.conversion-grid article,
.signal-grid article,
.capability-grid article {
  position: relative;
  display: grid;
  gap: 12px;
  min-height: 196px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 40px rgba(16, 24, 32, 0.06);
}

.conversion-grid span,
.signal-grid span,
.capability-grid span {
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.conversion-grid h3,
.signal-grid h3 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.18;
}

.conversion-grid p,
.signal-grid p {
  margin: 0;
  color: var(--muted);
}

.capability-grid strong {
  font-size: 1.22rem;
  line-height: 1.34;
}

.marketing-section-head {
  max-width: 820px;
  margin-bottom: 30px;
}

.marketing-section-head.compact {
  margin-bottom: 0;
}

.marketing-section-head .marketing-kicker {
  color: var(--accent);
}

.marketing-section-head h2 {
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.05;
  letter-spacing: 0;
}

.marketing-section-head p {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 1.08rem;
}

.audience-band,
.feature-detail-band,
.premium-band,
.trust-band-marketing,
.faq-marketing-band {
  background: #ffffff;
}

.audience-grid,
.campaign-grid,
.message-grid,
.feature-detail-grid,
.feature-river,
.benefit-list,
.journey-steps,
.premium-grid,
.moment-grid,
.process-track,
.trust-grid-marketing,
.outcome-grid,
.offer-area-grid,
.decision-grid,
.faq-marketing-grid {
  display: grid;
  gap: 16px;
}

.premium-grid,
.trust-grid-marketing,
.decision-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.premium-grid article,
.moment-grid article,
.process-track article,
.trust-grid-marketing article,
.outcome-grid article,
.offer-area-grid article,
.decision-grid article,
.faq-marketing-grid article {
  position: relative;
  overflow: hidden;
  min-height: 190px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.premium-grid article::before,
.trust-grid-marketing article::before,
.decision-grid article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
}

.premium-grid h3,
.moment-grid h3,
.process-track h3,
.trust-grid-marketing h3,
.outcome-grid h3,
.offer-area-grid h3,
.decision-grid h3,
.faq-marketing-grid h3 {
  margin: 0 0 12px;
  font-size: 1.24rem;
  line-height: 1.18;
}

.premium-grid p,
.moment-grid p,
.process-track p,
.trust-grid-marketing p,
.outcome-grid p,
.offer-area-grid p,
.decision-grid p,
.faq-marketing-grid p {
  margin: 0;
  color: var(--muted);
}

.trust-signal-band {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  background: #101820;
}

.trust-signal-band strong {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.trust-detail-band {
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.05)),
    #ffffff;
}

.trust-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.trust-detail-grid article {
  display: grid;
  gap: 12px;
  min-height: 218px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 40px rgba(16, 24, 32, 0.06);
}

.trust-detail-grid span {
  color: var(--accent);
  font-weight: 900;
}

.trust-detail-grid h3 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.18;
}

.trust-detail-grid p {
  margin: 0;
  color: var(--muted);
}

.outcome-band {
  background: #f9fbfb;
}

.outcome-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.outcome-grid article {
  min-height: 210px;
  background:
    linear-gradient(180deg, rgba(8, 111, 131, 0.05), rgba(255, 255, 255, 0) 52%),
    #ffffff;
}

.outcome-grid article::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background: var(--accent);
}

.offer-band {
  background: #edf5f6;
}

.offer-area-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.offer-area-grid article {
  min-height: 176px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.05)),
    #ffffff;
}

.decision-band {
  background: #ffffff;
}

.decision-grid article {
  min-height: 180px;
}

.faq-marketing-band {
  border-top: 1px solid var(--line);
}

.faq-marketing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.faq-marketing-grid article {
  min-height: 160px;
}

.product-proof-band {
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(196, 143, 39, 0.05)),
    #ffffff;
}

.product-proof-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(0, 0.95fr);
  gap: 22px;
  align-items: start;
}

.product-screenshot-frame {
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(16, 24, 32, 0.12);
}

.product-screenshot-frame img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.product-screenshot-frame figcaption {
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.92rem;
}

.product-proof-list {
  display: grid;
  gap: 12px;
}

.product-proof-list article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.product-proof-list span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  margin-bottom: 10px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e7f3f6;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-proof-list h3 {
  margin: 0 0 8px;
  font-size: 1.12rem;
}

.product-proof-list p {
  margin: 0;
  color: var(--muted);
}

.product-proof-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.product-proof-list li {
  padding: 5px 9px;
  border-radius: 999px;
  background: #f3f7f8;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 800;
}

.transparency-proof-band {
  margin-top: 24px;
}

.transparency-status-grid article span {
  width: fit-content;
}

.transparency-next-steps {
  margin-top: 26px;
}

.moment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.moment-grid span,
.process-track span {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  place-items: center;
  border-radius: 50%;
  background: #dff5e6;
  color: var(--success);
  font-weight: 900;
}

.audience-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.audience-card,
.campaign-card,
.feature-river article,
.benefit-list article,
.journey-steps article,
.message-grid article,
.feature-detail-grid article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.audience-card,
.campaign-card {
  display: grid;
  align-content: space-between;
  min-height: 182px;
  padding: 22px;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.audience-card:hover,
.campaign-card:hover {
  border-color: #9fc8d2;
  box-shadow: var(--shadow);
  transform: translateY(-4px);
}

.audience-card span,
.campaign-card span,
.feature-river span,
.journey-steps span {
  color: var(--accent);
  font-weight: 900;
}

.audience-card strong,
.campaign-card strong {
  font-size: 1.18rem;
  line-height: 1.28;
}

.feature-preview,
.journey-band {
  background: #edf5f6;
}

.feature-river {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-river article {
  min-height: 230px;
  padding: 22px;
  animation: marketingFloat 6s ease-in-out infinite;
}

.feature-river article:nth-child(2),
.feature-river article:nth-child(4) {
  animation-delay: 900ms;
}

.feature-river h3,
.benefit-list h3,
.message-grid h3,
.feature-detail-grid h3 {
  margin: 12px 0 10px;
  font-size: 1.22rem;
  line-height: 1.18;
}

.feature-river p,
.benefit-list p,
.message-grid p,
.feature-detail-grid p {
  margin: 0;
  color: var(--muted);
}

.feature-river small {
  display: block;
  margin-top: 16px;
  color: var(--accent);
  font-weight: 850;
  line-height: 1.4;
}

.center-action {
  margin-top: 28px;
  text-align: center;
}

.campaign-band {
  background: #f9fbfb;
}

.process-band {
  background:
    linear-gradient(180deg, rgba(237, 245, 246, 0.92), rgba(255, 255, 255, 0.98)),
    #edf5f6;
}

.process-track {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.process-track::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 45px;
  height: 2px;
  background: linear-gradient(90deg, rgba(8, 111, 131, 0.18), rgba(154, 106, 0, 0.28));
}

.process-track article {
  z-index: 1;
}

.campaign-grid,
.message-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.campaign-card {
  min-height: 170px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(154, 106, 0, 0.08)),
    #ffffff;
}

.marketing-final {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 70px max(24px, calc((100% - 1180px) / 2));
  background: #101820;
  color: #ffffff;
}

.marketing-final p {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.78);
}

.proof-band {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding-top: 26px;
  padding-bottom: 26px;
  background: #101820;
}

.assurance-band {
  background: #101820;
  color: #ffffff;
}

.assurance-band .marketing-section-head .marketing-kicker {
  color: #a8ebdc;
}

.assurance-band .marketing-section-head p {
  color: rgba(255, 255, 255, 0.74);
}

.assurance-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.assurance-list strong {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.split-band {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  gap: 42px;
  align-items: start;
  background: #ffffff;
}

.benefit-list {
  grid-template-columns: 1fr;
}

.benefit-list article,
.message-grid article,
.feature-detail-grid article {
  padding: 22px;
}

.journey-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.journey-steps article {
  display: grid;
  gap: 16px;
  min-height: 150px;
  padding: 22px;
}

.journey-steps span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #dff5e6;
}

.feature-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-detail-grid ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.feature-detail-grid li {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f6fafb;
  color: var(--accent);
  font-weight: 820;
}

.feature-detail-grid article > strong {
  display: block;
  margin-top: 16px;
  color: var(--accent);
  line-height: 1.42;
}

.message-band {
  background: #ffffff;
}

.marketing-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 34px max(24px, calc((100% - 1180px) / 2));
  border-top: 1px solid var(--line);
  background: #ffffff;
}

.marketing-footer p {
  max-width: 620px;
  margin: 8px 0 0;
  color: var(--muted);
}

@keyframes marketingReveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes marketingFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

.reveal-enabled [data-reveal] {
  transform: translateY(22px);
  transition: transform 620ms ease var(--reveal-delay, 0ms), box-shadow 220ms ease;
}

.reveal-enabled [data-reveal].is-visible {
  transform: translateY(0);
}

@media (max-width: 980px) {
  .marketing-header {
    grid-template-columns: 1fr auto;
  }

  .marketing-header nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .marketing-hero h1,
  .marketing-subhero h1,
  .marketing-final h2 {
    font-size: 3.2rem;
  }

  .audience-grid,
  .feature-river,
  .campaign-grid,
  .conversion-grid,
  .signal-grid,
  .capability-grid,
  .trust-detail-grid,
  .message-grid,
  .feature-detail-grid,
  .journey-steps,
  .premium-grid,
  .moment-grid,
  .process-track,
  .trust-grid-marketing,
  .outcome-grid,
  .offer-area-grid,
  .decision-grid,
  .faq-marketing-grid,
  .marketing-metric-strip,
  .product-proof-layout,
  .split-band,
  .marketing-final,
  .marketing-hero {
    grid-template-columns: 1fr;
  }

  .process-track::before {
    display: none;
  }

  .marketing-final .marketing-actions {
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .marketing-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px 16px;
  }

  .marketing-header nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    flex-wrap: nowrap;
    gap: 8px 16px;
    padding: 2px 0 6px;
    scrollbar-width: thin;
  }

  .marketing-header nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.94rem;
  }

  .marketing-login {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    min-height: 38px;
    padding: 8px 12px;
  }

  .marketing-hero,
  .marketing-subhero {
    align-items: start;
    min-height: auto;
    padding: 42px 18px 56px;
    background-image:
      linear-gradient(180deg, rgba(7, 31, 38, 0.98) 0%, rgba(7, 31, 38, 0.94) 64%, rgba(7, 31, 38, 0.86) 100%),
      var(--hero-image);
    background-position: 64% center;
  }

  .marketing-hero h1,
  .marketing-subhero h1,
  .marketing-final h2 {
    font-size: 2.32rem;
  }

  .marketing-lead {
    font-size: 1rem;
    line-height: 1.55;
  }

  .marketing-proof {
    margin-top: 22px;
  }

  .marketing-hero-panel {
    padding: 18px;
  }

  .marketing-metric-strip {
    padding: 0;
  }

  .marketing-metric-strip article {
    min-height: auto;
    padding: 20px 18px;
  }

  .marketing-band,
  .marketing-final,
  .marketing-footer {
    padding-right: 18px;
    padding-left: 18px;
  }

  .marketing-section-head h2 {
    font-size: 2rem;
  }

  .marketing-actions .marketing-button {
    width: 100%;
  }

  .marketing-footer {
    grid-template-columns: 1fr;
  }

  .marketing-footer nav {
    justify-content: flex-start;
  }
}

.empty-state-card {
  display: grid;
  gap: 10px;
  grid-column: 1 / -1;
  padding: 20px;
}

.empty-state-card h2 {
  margin: 0;
  font-size: 1.2rem;
}

.form-assist {
  display: grid;
  gap: 4px;
  margin: 12px 0 18px;
  padding: 14px;
  background: #f6fafb;
}

.form-assist strong {
  color: var(--accent);
}

.faq-section {
  display: grid;
  gap: 16px;
  padding: 34px 0 0;
}

.section-kicker h2 {
  margin: 0;
  font-size: clamp(1.6rem, 2vw, 2.1rem);
  line-height: 1.12;
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.faq-grid article {
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.faq-grid h3 {
  margin: 0 0 8px;
  font-size: 1.04rem;
}

.faq-grid p {
  margin: 0;
  color: var(--muted);
}

.moderation-item {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.moderation-item:last-child {
  border-bottom: 0;
}

.moderation-item p {
  flex: 1 1 100%;
  margin: 0 0 2px;
}

.inline-action-form {
  display: inline-flex;
}

.button-quiet {
  min-height: 32px;
  padding: 5px 9px;
  border-color: var(--line);
  background: var(--white);
  color: var(--ink);
  font-size: 0.88rem;
}

.button-quiet.danger {
  border-color: #e2a49b;
  color: #8d2d20;
}

.portal-shell {
  padding-top: 20px;
}

.portal-body {
  background:
    linear-gradient(180deg, #ffffff 0, #eef6f7 420px, #f6f9fa 100%),
    #f6f9fa;
}

.portal-topbar {
  position: sticky;
  top: 0;
  z-index: 3;
  background: rgba(247, 249, 250, 0.96);
  backdrop-filter: blur(8px);
}

.portal-user {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: var(--muted);
  font-size: 0.9rem;
}

.portal-user form {
  margin: 0;
}

.text-button,
.secondary-button,
.danger-button {
  min-height: 38px;
}

.text-button,
.secondary-button {
  border-color: var(--line);
  background: var(--white);
  color: var(--ink);
}

.danger-button {
  border-color: #8d2d20;
  background: #b42318;
}

.portal-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
  gap: 28px;
  align-items: start;
  padding: 42px 0 30px;
}

.portal-hero > div:first-child {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 18px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(154, 106, 0, 0.06)),
    #ffffff;
  box-shadow: var(--shadow);
}

.portal-hero .lead {
  margin-top: 0;
}

.portal-hero-points,
.search-assist-band {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.portal-hero-points span,
.search-assist-band span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--accent);
  font-weight: 820;
}

.portal-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.portal-card {
  display: grid;
  gap: 10px;
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: inherit;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.portal-card:hover {
  border-color: #9fc8d2;
  box-shadow: var(--shadow);
  transform: translateY(-3px);
}

.portal-card span {
  color: var(--muted);
  font-weight: 750;
}

.portal-card strong {
  font-size: 1.16rem;
  line-height: 1.25;
}

.portal-section {
  display: grid;
  gap: 22px;
  padding: 30px 0 56px;
}

.portal-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding-bottom: 54px;
}

.portal-value-grid article {
  min-height: 150px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.portal-value-grid h2 {
  margin: 0 0 10px;
  font-size: 1.22rem;
}

.portal-value-grid p {
  margin: 0;
  color: var(--muted);
}

.portal-trust-band {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: -6px 0 34px;
}

.portal-trust-band span {
  display: grid;
  min-height: 82px;
  align-content: center;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.04)),
    #ffffff;
  color: var(--ink);
  font-weight: 900;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.portal-decision-section,
.portal-login-support,
.portal-access-guide {
  display: grid;
  gap: 18px;
  padding: 0 0 54px;
}

.portal-decision-grid,
.login-route-grid,
.search-confidence-panel,
.access-guide-grid,
.quality-score-grid,
.audit-proof-grid {
  display: grid;
  gap: 14px;
}

.portal-decision-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.login-route-grid,
.search-confidence-panel,
.access-guide-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.quality-score-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.audit-proof-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.portal-decision-grid a,
.login-route-grid article,
.search-confidence-panel article,
.access-guide-grid article,
.quality-score-grid article,
.audit-proof-grid article {
  display: grid;
  gap: 10px;
  min-height: 168px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.portal-decision-grid a {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.portal-decision-grid a:hover {
  border-color: #9fc8d2;
  box-shadow: var(--shadow);
  transform: translateY(-3px);
}

.portal-decision-grid span,
.login-route-grid span,
.search-confidence-panel span,
.access-guide-grid span,
.quality-score-grid span,
.audit-proof-grid span {
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.portal-decision-grid strong,
.login-route-grid strong,
.search-confidence-panel strong,
.access-guide-grid strong,
.quality-score-grid strong {
  font-size: 1.08rem;
  line-height: 1.32;
}

.access-guide-grid p,
.quality-score-grid p,
.audit-proof-grid p {
  margin: 0;
  color: var(--muted);
}

.access-guide-grid a {
  align-self: end;
  color: var(--accent);
  font-weight: 850;
}

.quality-score-grid strong {
  color: var(--ink);
  font-size: 1.45rem;
}

.audit-proof-grid h3 {
  margin: 0;
  font-size: 1.12rem;
}

.portal-decision-grid small {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.portal-flow-section {
  display: grid;
  gap: 18px;
  padding: 0 0 60px;
}

.portal-flow-grid,
.search-category-grid {
  display: grid;
  gap: 14px;
}

.portal-flow-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-flow-grid article,
.search-category-grid article {
  min-height: 146px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.04);
}

.portal-flow-grid span {
  color: var(--accent);
  font-weight: 900;
}

.portal-flow-grid h3 {
  margin: 12px 0 8px;
  font-size: 1.2rem;
}

.portal-flow-grid p,
.search-category-grid span {
  margin: 0;
  color: var(--muted);
}

.search-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.search-category-grid article {
  min-height: 110px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.05)),
    #ffffff;
}

.search-category-grid strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 6px;
}

.section-head h1,
.login-panel h1,
.login-panel h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.08;
}

.portal-login-stage {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 520px);
  gap: 22px;
  align-items: stretch;
  padding: 42px 0 64px;
}

.login-copy {
  display: grid;
  align-content: center;
  gap: 18px;
  min-height: 420px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.09), rgba(154, 106, 0, 0.07)),
    #ffffff;
  box-shadow: var(--shadow);
}

.login-copy .lead {
  margin-top: 0;
}

.portal-login-stage .login-panel {
  margin: 0;
  align-content: center;
  padding: 30px;
  box-shadow: var(--shadow);
}

.login-assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.login-assurance-grid span {
  min-height: 74px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 850;
}

.search-assist-band {
  margin-top: -8px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.metric-grid article {
  display: grid;
  gap: 8px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.metric-grid span {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 750;
}

.metric-grid strong {
  font-size: 1.45rem;
  line-height: 1.1;
}

.launch-readiness {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 18px;
  margin: 14px 0 22px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.03);
}

.launch-readiness h2 {
  margin: 0 0 8px;
  font-size: 1.35rem;
}

.launch-readiness p {
  margin: 0;
  color: var(--muted);
}

.launch-readiness strong {
  display: block;
  margin-bottom: 8px;
}

.launch-readiness.status-green {
  border-color: #afd9c0;
  background: #f3fbf6;
}

.launch-readiness.status-yellow {
  border-color: #ead792;
  background: #fffaf0;
}

.launch-readiness.status-red {
  border-color: #e0b0a9;
  background: #fff6f4;
}

.portal-workbench {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.portal-workbench.two-column,
.booking-layout {
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr);
}

.link-list,
.dense-list {
  display: grid;
  gap: 10px;
}

.link-list a {
  display: block;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfdfd;
  color: var(--ink);
  font-weight: 750;
  text-decoration: none;
}

.dense-list div {
  display: grid;
  gap: 3px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.dense-list div:last-child {
  border-bottom: 0;
}

.dense-list span {
  color: var(--muted);
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

th,
td {
  padding: 10px 9px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

td {
  font-size: 0.94rem;
}

.field-error {
  color: #a03222;
}

.login-panel {
  max-width: 520px;
  margin: 38px auto 0;
}

.booking-layout {
  display: grid;
  gap: 14px;
  align-items: start;
}

.scanner-panel {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.scanner-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101820;
}

.scanner-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scan-line {
  position: absolute;
  left: 10%;
  right: 10%;
  top: 50%;
  height: 2px;
  background: #5eead4;
  box-shadow: 0 0 0 1px rgba(94, 234, 212, 0.18);
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.inline-actions input {
  width: min(220px, 100%);
}

.funding-instruction {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.directory-results.single-column {
  grid-template-columns: 1fr;
}

.provider-card.compact {
  min-height: auto;
}

.portal-search {
  grid-template-columns: minmax(180px, 1.2fr) minmax(140px, 0.8fr) minmax(150px, 0.8fr) minmax(120px, 0.8fr) auto;
}

.portal-service-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding: 24px 0 34px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.portal-service-footer strong {
  color: var(--ink);
}

.portal-service-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.portal-service-footer a {
  color: var(--muted);
  font-weight: 780;
  text-decoration: none;
}

.portal-service-footer a:hover {
  color: var(--accent);
}

.platform-status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  justify-content: center;
  padding: 10px max(18px, calc((100% - 1180px) / 2));
  border-bottom: 1px solid var(--line);
  background: #fffaf0;
  color: #684600;
  font-size: 0.93rem;
}

.platform-status-strip strong {
  color: #4d3400;
}

.platform-status-strip span {
  max-width: 850px;
}

.platform-status-strip a {
  color: #684600;
  font-weight: 850;
}

.legal-footer {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  gap: 18px;
  align-items: center;
  margin-top: 34px;
  padding: 24px 0 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.legal-footer strong {
  display: block;
  color: var(--ink);
}

.legal-footer p {
  max-width: 650px;
  margin: 6px 0 0;
}

.legal-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 14px;
  justify-content: flex-end;
}

.legal-footer a {
  color: var(--muted);
  font-weight: 800;
  text-decoration: none;
}

.legal-footer a:hover {
  color: var(--accent);
}

.legal-page-shell,
.info-page-shell {
  padding-bottom: 42px;
}

.legal-hero {
  padding: 42px 0 28px;
  border-bottom: 1px solid var(--line);
}

.trust-microcopy {
  display: inline-flex;
  width: fit-content;
  margin: 12px 0 0;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 800;
}

.legal-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 0;
}

.legal-summary-grid article {
  display: grid;
  gap: 8px;
  min-height: 152px;
  padding: 20px;
  border: 1px solid rgba(8, 111, 131, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(196, 151, 48, 0.08)),
    #ffffff;
  box-shadow: 0 18px 42px rgba(16, 24, 32, 0.07);
}

.legal-summary-grid span,
.legal-source-band span {
  color: var(--accent);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.legal-summary-grid strong {
  color: var(--ink);
  font-size: 1.18rem;
  line-height: 1.22;
}

.legal-summary-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.legal-grid,
.info-grid,
.criteria-public-grid {
  display: grid;
  gap: 14px;
  margin: 22px 0 0;
}

.legal-grid,
.info-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.criteria-public-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.legal-grid article,
.info-grid article,
.criteria-card,
.demo-disclaimer,
.login-help-box,
.public-gate {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 1px 0 rgba(16, 24, 32, 0.03);
}

.legal-grid article,
.info-grid article,
.criteria-card {
  padding: 20px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.legal-grid h2,
.info-grid h2,
.criteria-card h2 {
  margin: 0 0 10px;
  font-size: 1.16rem;
}

.legal-grid ul,
.info-grid ul,
.criteria-method ul {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
}

.legal-grid li,
.info-grid li,
.criteria-method li {
  margin: 8px 0;
}

.support-route-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.support-route-band a {
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: inherit;
  text-decoration: none;
}

.support-route-band span,
.register-quality-grid span,
.function-status-grid span {
  color: var(--accent);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.support-route-band strong {
  font-size: 1.1rem;
  line-height: 1.2;
}

.legal-source-band {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid rgba(8, 111, 131, 0.2);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(16, 24, 32, 0.05);
}

.legal-source-band div {
  display: grid;
  gap: 6px;
}

.legal-source-band strong {
  color: var(--ink);
  font-size: 1.12rem;
  line-height: 1.2;
}

.legal-source-band nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.legal-source-band a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f6f9fa;
  color: var(--ink);
  font-weight: 850;
  text-decoration: none;
}

.legal-source-band a:hover {
  border-color: rgba(8, 111, 131, 0.5);
  color: var(--accent);
}

.criteria-card {
  display: grid;
  gap: 8px;
  min-height: 210px;
}

.criteria-card span {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 900;
}

.criteria-card p {
  margin: 0;
  color: var(--muted);
}

.criteria-card-green span {
  background: #dff5e6;
  color: var(--success);
}

.criteria-card-yellow span {
  background: #fff4cf;
  color: var(--warning);
}

.criteria-card-red span {
  background: #ffe3df;
  color: var(--danger);
}

.profile-facts-flat {
  box-shadow: none;
  padding: 0;
  border: 0;
  background: transparent;
}

.profile-facts-flat div {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.profile-facts-flat div:last-child {
  border-bottom: 0;
}

.profile-facts-flat small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.35;
}

.public-gate-list {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
}

.public-gate {
  display: grid;
  grid-template-columns: minmax(140px, 0.5fr) minmax(86px, auto) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
}

.public-gate strong {
  color: var(--ink);
}

.public-gate span {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef5f6;
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 900;
}

.public-gate p {
  margin: 0;
  color: var(--muted);
}

.public-gate-erfüllt span,
.public-gate-erfullt span,
.public-gate-vollständig span,
.public-gate-vollstandig span {
  background: #dff5e6;
  color: var(--success);
}

.public-gate-kritisch span {
  background: #ffe3df;
  color: var(--danger);
}

.public-gate-offen span,
.public-gate-teilweise span {
  background: #fff4cf;
  color: var(--warning);
}

.provider-timeline,
.process-list,
.data-flow-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.provider-timeline li,
.process-list li,
.data-flow-list li {
  position: relative;
  padding: 14px 0 14px 24px;
  border-left: 2px solid var(--line);
}

.provider-timeline li::before,
.process-list li::before,
.data-flow-list li::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 20px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
}

.provider-timeline time {
  display: block;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.provider-timeline strong,
.data-flow-list strong {
  display: block;
  margin-top: 2px;
}

.provider-timeline p,
.data-flow-list p {
  margin: 4px 0 0;
  color: var(--muted);
}

.risk-row-list {
  display: grid;
  gap: 10px;
}

.risk-row-list div,
.register-quality-grid article,
.function-status-grid article {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.risk-row-list strong,
.risk-row-list span {
  display: block;
}

.risk-row-list span {
  margin-top: 4px;
  color: var(--accent);
  font-weight: 900;
}

.risk-row-list p {
  margin: 6px 0 0;
  color: var(--muted);
}

.register-quality-band,
.criteria-method {
  display: grid;
  gap: 16px;
  margin: 0 0 22px;
}

.register-quality-grid,
.function-status-grid,
.criteria-method-grid {
  display: grid;
  gap: 14px;
}

.register-quality-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.function-status-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.criteria-method-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.register-quality-grid strong {
  display: block;
  margin-top: 8px;
  font-size: 1.8rem;
}

.register-quality-grid p,
.function-status-grid p,
.criteria-method p {
  margin: 8px 0 0;
  color: var(--muted);
}

.criteria-method article,
.risk-layout article {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.criteria-method h3,
.risk-layout h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.risk-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

.risk-class-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.risk-class-list div {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.risk-class-list div:last-child {
  border-bottom: 0;
}

.risk-class-list dt {
  color: var(--ink);
  font-weight: 900;
}

.risk-class-list dd {
  margin: 4px 0 0;
  color: var(--muted);
}

.role-access-table {
  display: grid;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--white);
}

.role-access-table > div {
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) repeat(3, minmax(0, 1fr));
  gap: 0;
  border-bottom: 1px solid var(--line);
}

.role-access-table > div:last-child {
  border-bottom: 0;
}

.role-access-table span,
.role-access-table strong {
  padding: 12px;
  border-right: 1px solid var(--line);
}

.role-access-table span:last-child,
.role-access-table strong:last-child {
  border-right: 0;
}

.role-access-head {
  background: #edf7f5;
  color: var(--accent);
  font-weight: 900;
}

.data-flow-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.data-flow-list li {
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: var(--white);
}

.data-flow-list li::before {
  display: none;
}

.demo-disclaimer,
.login-help-box {
  padding: 14px;
  background: #fffaf0;
  color: #684600;
}

.demo-disclaimer {
  margin: 16px 0;
}

.demo-disclaimer strong,
.login-help-box strong {
  color: #4d3400;
}

.demo-disclaimer p,
.login-help-box p {
  margin: 6px 0 0;
}

.login-help-box a,
.demo-disclaimer a {
  color: #684600;
  font-weight: 850;
}

.login-help-actions,
.demo-disclaimer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.login-help-actions a,
.demo-disclaimer-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(104, 70, 0, 0.25);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  text-decoration: none;
}

.offer-card-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.demo-offer-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid rgba(154, 106, 0, 0.3);
  border-radius: 999px;
  background: #fff7e1;
  color: #684600;
  font-size: 0.78rem;
  font-weight: 900;
}

.offer-card-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.public-search-next-steps {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.04)),
    #ffffff;
}

.public-search-next-steps h2 {
  margin: 0;
  font-size: 1.6rem;
}

.public-search-next-steps ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-search-next-steps li {
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--muted);
  font-weight: 720;
}

.bzew-home-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.bzew-home-assurance {
  display: grid;
  gap: 18px;
  margin-top: 28px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(154, 106, 0, 0.05)),
    #ffffff;
}

.bzew-home-section-head h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.08;
}

.bzew-home-assurance-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.bzew-home-assurance-grid article {
  min-height: 174px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.bzew-home-assurance-grid span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bzew-home-assurance-grid strong {
  display: block;
  margin-top: 8px;
  font-size: 1.08rem;
}

.bzew-home-assurance-grid p {
  margin: 8px 0 0;
  color: var(--muted);
}

.bzew-home-readiness {
  display: grid;
  gap: 18px;
  margin-top: 28px;
  padding: 26px;
  border: 1px solid rgba(9, 35, 48, 0.12);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(9, 35, 48, 0.05), rgba(244, 247, 250, 0.9)),
    #ffffff;
}

.bzew-home-readiness .bzew-home-section-head p:last-child {
  max-width: 860px;
  color: var(--muted);
}

.bzew-home-readiness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.bzew-home-readiness-card {
  min-height: 236px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(9, 35, 48, 0.06);
}

.bzew-home-readiness-card span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(8, 111, 131, 0.1);
  color: #064f5e;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bzew-home-readiness-card strong {
  display: block;
  margin-top: 14px;
  font-size: 1.12rem;
  line-height: 1.22;
}

.bzew-home-readiness-card p {
  margin: 9px 0 0;
  color: var(--muted);
}

.bzew-home-readiness-card small {
  display: block;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: #46525a;
  font-size: 0.86rem;
  font-weight: 760;
  line-height: 1.45;
}

.bzew-home-readiness-card--protected span {
  background: rgba(154, 106, 0, 0.13);
  color: #684600;
}

.bzew-home-readiness-card--admin span {
  background: rgba(41, 82, 125, 0.12);
  color: #123f68;
}

.bzew-home-readiness-card--gates span {
  background: rgba(112, 41, 77, 0.12);
  color: #683050;
}

.bzew-home-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.bzew-home-trust article {
  min-height: 162px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.05), rgba(154, 106, 0, 0.04)),
    var(--white);
}

.bzew-home-trust span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bzew-home-trust strong {
  display: block;
  margin-top: 8px;
  font-size: 1.14rem;
}

.bzew-home-trust p {
  margin: 8px 0 0;
  color: var(--muted);
}

@media (max-width: 900px) {
  .directory-search,
  .provider-profile,
  .dashboard-head,
  .profile-grid,
  .dashboard-grid,
  .trust-band,
  .role-rail,
  .content-panel-grid,
  .workflow-strip,
  .faq-grid,
  .metric-grid,
  .directory-results,
  .search-form,
  .search-form.expanded,
  .form-grid-two,
  .checkbox-list,
  .portal-hero,
  .portal-quick-grid,
  .portal-value-grid,
  .portal-flow-grid,
  .portal-decision-grid,
  .login-route-grid,
  .search-confidence-panel,
  .trust-detail-grid,
  .search-category-grid,
  .legal-summary-grid,
  .legal-source-band,
  .criteria-public-grid,
  .criteria-method-grid,
  .support-route-band,
  .register-quality-grid,
  .risk-layout,
  .role-access-table > div,
  .data-flow-list,
  .legal-footer,
  .public-gate,
  .bzew-home-trust,
  .bzew-home-assurance-grid,
  .bzew-home-readiness-grid,
  .portal-trust-band,
  .login-assurance-grid,
  .portal-login-stage,
  .public-search-next-steps ol,
  .metric-grid,
  .portal-workbench,
  .portal-workbench.two-column,
  .booking-layout,
  .launch-readiness,
  .portal-search {
    grid-template-columns: 1fr;
  }

  .search-form .search-wide {
    grid-column: auto;
  }

  .status-summary {
    justify-content: flex-start;
  }

  .legal-source-band nav {
    justify-content: flex-start;
  }

  .portal-hero > div:first-child {
    position: static;
  }
}

@media (max-width: 560px) {
  .directory-shell,
  .directory-shell.narrow {
    width: min(100% - 24px, 1180px);
  }

  .profile-facts div,
  .section-head {
    grid-template-columns: 1fr;
  }

  .section-head {
    display: grid;
  }

  .directory-topbar {
    gap: 10px;
    padding: 12px 0;
  }

  .directory-topbar .brand-link {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .directory-topbar nav {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-start;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 0 6px;
    scrollbar-width: thin;
  }

  .directory-topbar nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .button-link,
  button {
    width: 100%;
    justify-content: center;
  }

  .profile-facts div {
    gap: 4px;
  }

  .content-panel-grid article,
  .workflow-step,
  .role-card,
  .provider-card {
    min-height: auto;
  }

  .portal-user {
    justify-content: flex-start;
  }

  .portal-hero > div:first-child,
  .login-copy,
  .portal-login-stage .login-panel {
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.bzew-home-page {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(244, 247, 248, 0.92) 58%),
    var(--paper);
}

.bzew-home-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
  padding: 18px 0;
  border-bottom: 1px solid rgba(215, 224, 228, 0.86);
  background: rgba(244, 247, 248, 0.94);
  backdrop-filter: blur(12px);
}

.bzew-home-brand {
  display: inline-grid;
  gap: 2px;
  color: var(--ink);
  text-decoration: none;
}

.bzew-home-brand span,
.bzew-home-kicker,
.bzew-home-proofline span,
.bzew-home-role-card span,
.bzew-home-journey-grid span,
.bzew-home-tile span,
.bzew-home-status span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bzew-home-brand strong {
  font-size: 1rem;
  letter-spacing: 0;
}

.bzew-home-topbar nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.bzew-home-topbar nav a {
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 750;
  text-decoration: none;
}

.bzew-home-topbar nav a:hover {
  border-color: var(--line);
  background: var(--white);
  color: var(--ink);
}

.bzew-home-shell {
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
  padding: 56px 0 72px;
}

.bzew-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 28px;
  align-items: stretch;
  padding: 34px 0 38px;
}

.bzew-home-hero h1 {
  max-width: 780px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.35rem, 5vw, 4.8rem);
  line-height: 1;
  letter-spacing: 0;
}

.bzew-home-lead {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 1.12rem;
}

.bzew-home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.bzew-home-status {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.bzew-home-status strong {
  font-size: 1.2rem;
  line-height: 1.2;
}

.bzew-home-status p {
  margin: 0;
  color: var(--muted);
}

.bzew-home-proofline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 28px;
}

.bzew-home-proofline article {
  min-height: 148px;
  padding: 20px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.bzew-home-proofline strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 2.4rem;
  line-height: 1;
}

.bzew-home-proofline p,
.bzew-home-decision-card p,
.bzew-home-role-card p,
.bzew-home-section-head p,
.bzew-home-journey-grid p,
.bzew-home-capability-grid p,
.bzew-home-capability-grid li {
  margin: 0;
  color: var(--muted);
}

.bzew-home-compass,
.bzew-home-decision,
.bzew-home-startcheck,
.bzew-home-journey,
.bzew-home-capabilities {
  display: grid;
  gap: 18px;
  margin-top: 28px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.bzew-home-decision {
  margin-top: 28px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.05), rgba(47, 125, 116, 0.05)),
    #ffffff;
}

.bzew-home-startcheck {
  margin-top: 28px;
  background:
    linear-gradient(135deg, rgba(16, 35, 63, 0.04), rgba(47, 125, 116, 0.06)),
    #ffffff;
}

.bzew-home-section-head {
  display: grid;
  gap: 8px;
  max-width: 820px;
}

.bzew-home-section-head--standalone {
  margin-top: 30px;
}

.bzew-home-compass-grid,
.bzew-home-decision-grid,
.bzew-home-startcheck-grid,
.bzew-home-journey-grid,
.bzew-home-capability-grid {
  display: grid;
  gap: 14px;
}

.bzew-home-decision-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bzew-home-compass-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bzew-home-startcheck-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bzew-home-startcheck-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 220px;
  padding: 20px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #fbfdfe;
  color: inherit;
  text-decoration: none;
}

.bzew-home-startcheck-card span {
  color: #2f7d74;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bzew-home-startcheck-card strong {
  color: var(--ink);
  font-size: 1.12rem;
  line-height: 1.2;
}

.bzew-home-startcheck-card p {
  margin: 0;
  color: var(--muted);
}

.bzew-home-startcheck-card em {
  align-self: end;
  color: var(--accent);
  font-style: normal;
  font-weight: 900;
}

.bzew-home-startcheck-card:hover {
  transform: translateY(-2px);
  border-color: #b8c8ce;
  box-shadow: 0 14px 34px rgba(16, 24, 32, 0.08);
}

.bzew-home-decision-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 232px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #fbfdfe;
  color: inherit;
  text-decoration: none;
}

.bzew-home-decision-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--accent);
}

.bzew-home-decision-card--learning::before {
  background: #7a4d9f;
}

.bzew-home-decision-card--academy::before,
.bzew-home-decision-card--seminar::before {
  background: #235b92;
}

.bzew-home-decision-card--compare::before {
  background: #2f7d74;
}

.bzew-home-decision-card--authority::before {
  background: var(--focus);
}

.bzew-home-decision-card--login::before {
  background: #5b6670;
}

.bzew-home-decision-card span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bzew-home-decision-card strong {
  color: var(--ink);
  font-size: 1.18rem;
  line-height: 1.18;
}

.bzew-home-decision-card em {
  align-self: end;
  color: var(--muted);
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 800;
}

.bzew-home-decision-card b {
  color: var(--accent);
  font-size: 0.94rem;
}

.bzew-home-role-card,
.bzew-home-journey-grid a {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 194px;
  padding: 20px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #fbfdfe;
  color: inherit;
  text-decoration: none;
}

.bzew-home-role-card strong,
.bzew-home-journey-grid strong {
  font-size: 1.16rem;
  line-height: 1.18;
}

.bzew-home-role-card em {
  align-self: end;
  color: var(--accent);
  font-style: normal;
  font-weight: 850;
}

.bzew-home-role-card:hover,
.bzew-home-decision-card:hover,
.bzew-home-journey-grid a:hover {
  transform: translateY(-2px);
  border-color: #b8c8ce;
  box-shadow: 0 14px 34px rgba(16, 24, 32, 0.08);
}

.bzew-home-journey {
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.06), rgba(35, 91, 146, 0.05)),
    #ffffff;
}

.bzew-home-journey-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bzew-home-capability-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bzew-home-capability-grid article {
  min-height: 260px;
  padding: 22px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #fbfdfe;
}

.bzew-home-capability-grid h3 {
  margin: 0 0 10px;
  font-size: 1.22rem;
  line-height: 1.18;
}

.bzew-home-capability-grid ul {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding-left: 20px;
}

.bzew-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding-top: 8px;
}

.bzew-home-tile {
  position: relative;
  display: grid;
  min-height: 190px;
  align-content: start;
  gap: 12px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.bzew-home-tile::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--accent);
}

.bzew-home-tile--authority::before {
  background: var(--focus);
}

.bzew-home-tile--provider::before {
  background: var(--success);
}

.bzew-home-tile--academy::before {
  background: #235b92;
}

.bzew-home-tile--learning::before {
  background: #7a4d9f;
}

.bzew-home-tile--butpay::before {
  background: var(--accent-2);
}

.bzew-home-tile--status::before {
  background: #2f7d74;
}

.bzew-home-tile--login::before {
  background: #5b6670;
}

.bzew-home-tile--master::before {
  background: var(--danger);
}

.bzew-home-tile strong {
  display: block;
  font-size: 1.35rem;
  line-height: 1.16;
}

.bzew-home-tile p {
  margin: 0;
  color: var(--muted);
}

.bzew-home-tile:hover {
  transform: translateY(-2px);
  border-color: #b8c8ce;
  box-shadow: var(--shadow);
}

@media (max-width: 920px) {
  .bzew-home-hero,
  .bzew-home-grid,
  .bzew-home-proofline,
  .bzew-home-decision-grid,
  .bzew-home-startcheck-grid,
  .bzew-home-compass-grid,
  .bzew-home-journey-grid,
  .bzew-home-capability-grid {
    grid-template-columns: 1fr 1fr;
  }

  .bzew-home-hero > div:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bzew-home-topbar {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    width: min(100% - 24px, 1160px);
    padding: 12px 0;
  }

  .bzew-home-brand {
    flex: 1 1 100%;
  }

  .bzew-home-topbar nav {
    flex: 1 1 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 0 6px;
    scrollbar-width: thin;
  }

  .bzew-home-topbar nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .bzew-home-shell {
    width: min(100% - 24px, 1160px);
    padding: 30px 0 48px;
  }

  .bzew-home-hero,
  .bzew-home-grid,
  .bzew-home-proofline,
  .bzew-home-decision-grid,
  .bzew-home-startcheck-grid,
  .bzew-home-compass-grid,
  .bzew-home-journey-grid,
  .bzew-home-capability-grid {
    grid-template-columns: 1fr;
  }

  .bzew-home-compass,
  .bzew-home-decision,
  .bzew-home-startcheck,
  .bzew-home-journey,
  .bzew-home-capabilities {
    padding: 18px;
  }

  .bzew-home-tile,
  .bzew-home-proofline article,
  .bzew-home-decision-card,
  .bzew-home-startcheck-card,
  .bzew-home-role-card,
  .bzew-home-journey-grid a,
  .bzew-home-capability-grid article {
    min-height: auto;
  }
}

.academy-body {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 247, 248, 0.94) 520px),
    var(--paper);
}

.academy-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 64px;
}

.academy-topbar {
  position: sticky;
  top: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 20px;
  border-bottom: 1px solid rgba(215, 224, 228, 0.86);
  background: rgba(244, 247, 248, 0.94);
  backdrop-filter: blur(12px);
}

.academy-brand {
  display: inline-grid;
  gap: 2px;
  color: var(--ink);
  text-decoration: none;
}

.academy-brand span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-brand strong {
  font-size: 1rem;
  line-height: 1.1;
}

.academy-topbar nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.academy-topbar nav a {
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
}

.academy-topbar nav a:hover {
  border-color: var(--line);
  background: var(--white);
  color: var(--ink);
}

.academy-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 28px;
  align-items: stretch;
  padding: 46px 0 34px;
}

.academy-hero h1 {
  max-width: 860px;
  font-size: clamp(2.2rem, 5vw, 4.35rem);
  line-height: 1.02;
}

.academy-hero--lesson h1 {
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.academy-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.academy-status-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 210px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.academy-status-panel span,
.academy-course-card > span,
.academy-module span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-status-panel strong {
  font-size: 1.3rem;
  line-height: 1.2;
}

.academy-status-panel p {
  margin: 0;
  color: var(--muted);
}

.academy-profile-card,
.academy-profile-intro,
.academy-profile-principles,
.academy-profile-workflows,
.academy-profile-routes {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.academy-profile-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 230px;
  padding: 24px;
}

.academy-profile-card span,
.academy-profile-signals span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-profile-card strong {
  font-size: 1.24rem;
  line-height: 1.18;
}

.academy-profile-card p,
.academy-profile-intro p,
.academy-profile-signals p,
.academy-profile-principle-grid p,
.academy-profile-workflow-grid li {
  margin: 0;
  color: var(--muted);
}

.academy-profile-card a {
  color: var(--accent);
  font-weight: 850;
  overflow-wrap: anywhere;
}

.academy-profile-intro,
.academy-profile-principles,
.academy-profile-workflows,
.academy-profile-routes {
  display: grid;
  gap: 18px;
  margin: 16px 0 28px;
  padding: clamp(20px, 4vw, 30px);
}

.academy-profile-intro {
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
  align-items: start;
}

.academy-profile-intro h2 {
  margin: 0 0 10px;
  line-height: 1.15;
}

.academy-profile-signals,
.academy-profile-principle-grid,
.academy-profile-workflow-grid {
  display: grid;
  gap: 14px;
}

.academy-profile-signals {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-profile-signals article,
.academy-profile-principle-grid article,
.academy-profile-workflow-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfe;
}

.academy-profile-signals strong,
.academy-profile-principle-grid strong,
.academy-profile-workflow-grid h3 {
  margin: 0;
  color: var(--ink);
  line-height: 1.18;
}

.academy-profile-principle-grid,
.academy-profile-workflow-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-profile-workflow-grid ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
}

.academy-card-grid,
.academy-course-grid,
.academy-info-grid,
.academy-course-facts {
  display: grid;
  gap: 14px;
}

.academy-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 10px 0 28px;
}

.academy-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 188px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: inherit;
  text-decoration: none;
}

.academy-card span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-card strong {
  font-size: 1.22rem;
  line-height: 1.18;
}

.academy-card p,
.academy-course-card p,
.academy-section-head p,
.academy-text-band p,
.academy-module p,
.academy-empty-state p,
.academy-decision-panel p,
.academy-prefill-note p,
.academy-enquiry p {
  margin: 0;
  color: var(--muted);
}

.academy-decision-panel {
  display: grid;
  gap: 18px;
  margin: 10px 0 30px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fafb 100%);
  box-shadow: var(--shadow);
}

.academy-decision-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 20px;
  align-items: start;
}

.academy-decision-head h2,
.academy-prefill-note h2 {
  margin: 0;
  line-height: 1.14;
}

.academy-decision-head > div:first-child,
.academy-prefill-note > div:first-child {
  display: grid;
  gap: 8px;
}

.academy-decision-metrics,
.academy-decision-routes,
.academy-decision-steps {
  display: grid;
  gap: 12px;
}

.academy-catalog-guide {
  display: grid;
  gap: 18px;
  margin: 8px 0 26px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.academy-catalog-guide-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-catalog-guide-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 268px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-catalog-guide-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--accent);
}

.academy-catalog-guide-card--learning::before {
  background: #6f4ca0;
}

.academy-catalog-guide-card--seminar::before,
.academy-catalog-guide-card--academy::before {
  background: #235b92;
}

.academy-catalog-guide-card--authority::before {
  background: var(--focus);
}

.academy-catalog-guide-card span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-catalog-guide-card strong {
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.2;
}

.academy-catalog-guide-card p {
  margin: 0;
  color: var(--muted);
}

.academy-catalog-guide-card div {
  align-self: end;
  display: grid;
  gap: 8px;
  margin-top: 4px;
}

.academy-catalog-guide-card .button-link {
  justify-content: center;
  min-height: 40px;
  width: 100%;
}

.academy-decision-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-decision-metrics article {
  min-height: 128px;
  padding: 16px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #ffffff;
}

.academy-decision-metrics strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
}

.academy-decision-metrics span,
.academy-decision-route span,
.academy-decision-steps span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-decision-routes {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-decision-route {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 170px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
}

.academy-decision-route:hover {
  transform: translateY(-2px);
  border-color: #b8c8ce;
  box-shadow: 0 14px 34px rgba(16, 24, 32, 0.08);
}

.academy-decision-route strong,
.academy-decision-steps strong {
  font-size: 1.05rem;
  line-height: 1.18;
}

.academy-decision-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: academyDecision;
}

.academy-decision-steps li {
  display: grid;
  gap: 8px;
  min-height: 142px;
  padding: 18px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #fbfdfe;
}

.academy-prefill-note {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
  gap: 18px;
  align-items: start;
  margin: 0 0 22px;
  padding: 20px;
  border: 1px solid #c9d9df;
  border-radius: 8px;
  background: #f7fafb;
}

.academy-prefill-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.academy-prefill-chips span {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid #d8e3e7;
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font-size: 0.9rem;
}

.academy-prefill-chips strong {
  color: var(--ink);
}

.academy-prefill-note dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.academy-prefill-note dl div {
  padding: 12px;
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #ffffff;
}

.academy-prefill-note dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-prefill-note dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-offer-config,
.academy-offer-package {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #cbd9de;
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 18px 44px rgba(16, 24, 32, 0.07);
}

.academy-offer-config {
  grid-template-columns: minmax(260px, 0.32fr) minmax(0, 0.68fr);
  align-items: start;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(255, 255, 255, 0.96)),
    var(--white);
}

.academy-offer-config__intro,
.academy-offer-package__head > div:first-child,
.academy-offer-workflow article {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.academy-offer-config h2,
.academy-offer-package h2,
.academy-offer-workflow h3 {
  margin: 0;
  line-height: 1.14;
  letter-spacing: 0;
}

.academy-offer-config p,
.academy-offer-package p,
.academy-offer-checklist li,
.academy-offer-profile small {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.academy-offer-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.academy-offer-form label {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-weight: 850;
}

.academy-offer-form select,
.academy-offer-form input {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #cbd9de;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}

.academy-offer-form button {
  min-height: 48px;
  align-self: end;
  border: 0;
  border-radius: 8px;
  background: var(--ink);
  color: var(--white);
  font-weight: 900;
  cursor: pointer;
}

.academy-offer-form button:hover {
  background: #1f3249;
}

.academy-offer-package {
  border-left: 6px solid var(--accent);
}

.academy-offer-package--green {
  border-left-color: var(--success);
  background: #f7fcfa;
}

.academy-offer-package--amber {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.academy-offer-package--blue {
  border-left-color: var(--accent);
  background: #f5f9ff;
}

.academy-offer-package__head,
.academy-offer-workflow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
  gap: 18px;
  align-items: start;
}

.academy-offer-package__privacy {
  max-width: 760px;
  padding: 10px 12px;
  border: 1px solid #b9d8ce;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--success) !important;
  font-weight: 850;
}

.academy-offer-readiness {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(16, 24, 32, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.academy-offer-readiness span,
.academy-offer-profile span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-offer-readiness strong {
  color: var(--ink);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

.academy-offer-profile {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.academy-offer-profile article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(16, 24, 32, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.academy-offer-profile strong {
  color: var(--ink);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.academy-offer-actions,
.academy-offer-machine-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.academy-offer-workflow article {
  padding: 18px;
  border: 1px solid rgba(16, 24, 32, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.academy-offer-checklist {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
}

.academy-offer-machine-links a {
  padding: 8px 10px;
  border: 1px solid #cbd9de;
  border-radius: 999px;
  background: #ffffff;
  color: var(--accent);
  font-size: 0.86rem;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 980px) {
  .academy-offer-config,
  .academy-offer-package__head,
  .academy-offer-workflow {
    grid-template-columns: 1fr;
  }

  .academy-offer-profile {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .academy-offer-config,
  .academy-offer-package {
    padding: 16px;
  }

  .academy-offer-form,
  .academy-offer-profile {
    grid-template-columns: 1fr;
  }

  .academy-offer-actions .button-link {
    width: 100%;
  }
}

.academy-card:hover,
.academy-course-card:hover {
  transform: translateY(-2px);
  border-color: #b8c8ce;
  box-shadow: var(--shadow);
}

.academy-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 28px 0;
}

.academy-inquiry-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 0;
}

.academy-inquiry-steps article {
  display: grid;
  gap: 8px;
  min-height: 144px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-inquiry-steps span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-inquiry-steps p {
  margin: 0;
  color: var(--muted);
}

.academy-info-grid article,
.academy-text-band,
.academy-empty-state,
.academy-module,
.academy-enquiry {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-info-grid h2,
.academy-text-band h2,
.academy-module h3,
.academy-section-head h2,
.academy-enquiry h2 {
  margin: 0;
  line-height: 1.16;
}

.academy-info-grid ul {
  display: grid;
  gap: 9px;
  margin: 14px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.academy-service-assurance {
  display: grid;
  gap: 18px;
  margin: 28px 0 34px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #cfdce1;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 251, 0.98)),
    linear-gradient(90deg, rgba(28, 97, 133, 0.1), rgba(31, 123, 111, 0.1));
  box-shadow: 0 18px 46px rgba(16, 24, 32, 0.07);
}

.academy-service-fit-grid,
.academy-service-trust {
  display: grid;
  gap: 14px;
}

.academy-service-fit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-service-fit-grid article,
.academy-service-trust article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 154px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-service-fit-grid span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-service-fit-grid strong,
.academy-service-trust h3,
.academy-service-faq summary {
  color: var(--ink);
  line-height: 1.18;
}

.academy-service-fit-grid p,
.academy-service-faq p {
  margin: 0;
  color: var(--muted);
}

.academy-service-trust {
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
}

.academy-service-trust h3 {
  margin: 0;
  font-size: 1.2rem;
}

.academy-service-trust ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
}

.academy-service-faq {
  display: grid;
  gap: 10px;
}

.academy-service-faq details {
  border: 1px solid #d8e3e7;
  border-radius: 8px;
  background: #fbfdfe;
}

.academy-service-faq summary {
  cursor: pointer;
  min-height: 48px;
  padding: 14px 16px;
  font-weight: 850;
}

.academy-service-faq details[open] summary {
  border-bottom: 1px solid #d8e3e7;
}

.academy-service-faq p {
  padding: 14px 16px 16px;
}

.academy-service-inquiry {
  display: grid;
  gap: 18px;
  margin: 28px 0 34px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #bcd5dd;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 249, 0.98)),
    linear-gradient(90deg, rgba(31, 123, 111, 0.12), rgba(9, 70, 87, 0.08));
  box-shadow: 0 18px 46px rgba(16, 24, 32, 0.07);
}

.academy-service-inquiry-grid,
.academy-service-inquiry-check {
  display: grid;
  gap: 14px;
}

.academy-service-inquiry-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-service-inquiry-grid article,
.academy-service-inquiry-check {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-service-inquiry-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 154px;
}

.academy-service-inquiry-grid span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-service-inquiry-grid strong,
.academy-service-inquiry-check strong {
  color: var(--ink);
  line-height: 1.18;
}

.academy-service-inquiry-grid p {
  margin: 0;
  color: var(--muted);
}

.academy-service-inquiry-check {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.academy-service-inquiry-check ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.academy-service-choice {
  display: grid;
  gap: 18px;
  margin: 28px 0 34px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #c7d9e3;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 252, 0.98)),
    linear-gradient(90deg, rgba(28, 97, 133, 0.1), rgba(31, 123, 111, 0.1));
  box-shadow: 0 18px 46px rgba(16, 24, 32, 0.07);
}

.academy-service-choice__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
  gap: 18px;
  align-items: start;
}

.academy-service-choice__head p:not(.eyebrow) {
  max-width: 780px;
}

.academy-service-choice__facts,
.academy-service-choice__grid {
  display: grid;
  gap: 12px;
}

.academy-service-choice__facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-service-choice__facts article,
.academy-service-choice__card,
.academy-service-choice__hint {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-service-choice__facts article {
  display: grid;
  gap: 6px;
  min-height: 110px;
  padding: 14px;
}

.academy-service-choice__facts span,
.academy-service-choice__card span {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.academy-service-choice__facts strong {
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1.1;
}

.academy-service-choice__facts p,
.academy-service-choice__card p,
.academy-service-choice__hint p {
  margin: 0;
  color: var(--muted);
}

.academy-service-choice__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-service-choice__card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 286px;
  padding: 18px;
  position: relative;
}

.academy-service-choice__card--primary {
  border-color: #a7d3cc;
  background: linear-gradient(180deg, #ffffff 0%, #f3fbf9 100%);
}

.academy-service-choice__card--seminar {
  border-top: 4px solid #1c6185;
}

.academy-service-choice__card--learning {
  border-top: 4px solid #1f7b6f;
}

.academy-service-choice__card--academy {
  border-top: 4px solid #4e6f9e;
}

.academy-service-choice__card--exam {
  border-top: 4px solid #9d6b2f;
}

.academy-service-choice__card h3,
.academy-service-choice__card strong,
.academy-service-choice__hint strong {
  margin: 0;
  color: var(--ink);
  line-height: 1.18;
}

.academy-service-choice__card small {
  color: var(--muted);
  font-weight: 760;
  line-height: 1.45;
}

.academy-service-choice__card .button-link {
  align-self: end;
  justify-self: start;
}

.academy-service-choice__hint {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 16px;
  background: #f8fbfd;
}

.academy-quality-standard-metrics,
.academy-quality-principle-grid,
.academy-quality-evidence-grid,
.academy-quality-role-grid,
.academy-quality-limits-grid {
  display: grid;
  gap: 14px;
}

.academy-quality-standard-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 30px;
}

.academy-quality-standard-metrics article,
.academy-quality-principle-grid article,
.academy-quality-evidence-grid a,
.academy-quality-role-grid article,
.academy-quality-limits-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-quality-standard-metrics article {
  min-height: 150px;
  padding: 20px;
}

.academy-quality-standard-metrics strong {
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
}

.academy-quality-standard-metrics span,
.academy-quality-principle-grid span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-quality-standard-metrics p,
.academy-quality-principle-grid p,
.academy-quality-evidence-grid p,
.academy-quality-role-grid p,
.academy-quality-limits-grid p,
.academy-quality-limits-grid li {
  color: var(--muted);
  margin: 0;
}

.academy-quality-principles,
.academy-quality-workflow,
.academy-quality-evidence,
.academy-quality-roles,
.academy-quality-limits {
  display: grid;
  gap: 18px;
  margin: 28px 0 34px;
}

.academy-quality-principle-grid,
.academy-quality-evidence-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-quality-principle-grid article,
.academy-quality-evidence-grid a,
.academy-quality-role-grid article,
.academy-quality-limits-grid article {
  padding: 20px;
}

.academy-quality-principle-grid strong,
.academy-quality-evidence-grid strong,
.academy-quality-role-grid strong,
.academy-quality-limits-grid h3 {
  color: var(--ink);
  line-height: 1.18;
  margin: 0;
}

.academy-quality-evidence-grid a {
  color: inherit;
  min-height: 170px;
  text-decoration: none;
}

.academy-quality-evidence-grid a:hover {
  border-color: var(--accent);
  box-shadow: 0 14px 32px rgba(9, 70, 87, 0.1);
}

.academy-quality-workflow {
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #c7d9df;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(31, 123, 111, 0.1)),
    #ffffff;
}

.academy-quality-workflow-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.academy-quality-workflow-list li {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  list-style: none;
}

.academy-quality-workflow-list li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: var(--accent);
  color: var(--white);
  font-weight: 900;
}

.academy-quality-workflow-list strong {
  color: var(--ink);
}

.academy-quality-workflow-list p {
  margin: 6px 0 0;
  color: var(--muted);
}

.academy-quality-roles {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid #cfdce1;
  border-radius: 8px;
  background: #f8fbfc;
}

.academy-quality-roles h2 {
  margin: 0;
}

.academy-quality-roles p {
  color: var(--muted);
}

.academy-quality-role-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-quality-limits-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
}

.academy-quality-limits-grid ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
}

.academy-course-strip {
  margin: 34px 0 0;
}

.academy-section-head {
  display: grid;
  gap: 8px;
  max-width: 760px;
  margin-bottom: 16px;
}

.academy-course-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-learning-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-dashboard-cockpit {
  display: grid;
  gap: 18px;
  margin: 0 0 26px;
  padding: 24px;
  border: 1px solid #c7d9df;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(154, 106, 0, 0.08)),
    var(--white);
  box-shadow: 0 18px 44px rgba(16, 24, 32, 0.08);
}

.academy-dashboard-cockpit--green {
  border-color: #b9d8ce;
}

.academy-dashboard-cockpit--amber {
  border-color: #dcc790;
}

.academy-dashboard-cockpit--red {
  border-color: #ddb0a8;
}

.academy-dashboard-cockpit__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 18px;
  align-items: start;
}

.academy-dashboard-cockpit__head h2 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(1.55rem, 2.2vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.academy-dashboard-cockpit__head p:not(.eyebrow) {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
}

.academy-dashboard-cockpit__actions {
  display: grid;
  gap: 10px;
}

.academy-dashboard-cockpit__metrics,
.academy-dashboard-cockpit__focus {
  display: grid;
  gap: 12px;
}

.academy-dashboard-cockpit__metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-dashboard-cockpit__metrics article,
.academy-dashboard-cockpit__card {
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.academy-dashboard-cockpit__metrics article {
  padding: 15px;
}

.academy-dashboard-cockpit__metrics span,
.academy-dashboard-cockpit__card span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-dashboard-cockpit__metrics strong {
  color: var(--ink);
  font-size: 1.65rem;
  line-height: 1;
}

.academy-dashboard-cockpit__metrics p,
.academy-dashboard-cockpit__card p {
  margin: 0;
  color: var(--muted);
}

.academy-dashboard-cockpit__focus {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-dashboard-cockpit__card {
  align-content: start;
  padding: 16px;
}

.academy-dashboard-cockpit__card--green {
  border-color: #b9d8ce;
  background: #f4fbf7;
}

.academy-dashboard-cockpit__card--amber {
  border-color: #dcc790;
  background: #fffaf0;
}

.academy-dashboard-cockpit__card--red {
  border-color: #ddb0a8;
  background: #fff6f4;
}

.academy-dashboard-cockpit__card--blue {
  border-color: #bdd3e5;
  background: #f5f9fc;
}

.academy-dashboard-cockpit__card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}

.academy-dashboard-cockpit__card a {
  align-self: end;
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-dashboard-cockpit__card a:hover {
  color: var(--ink);
}

.academy-today-plan {
  display: grid;
  gap: 16px;
  margin: 0 0 26px;
  padding: 22px;
  border: 1px solid #c7d9df;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(10, 95, 110, 0.08), rgba(230, 181, 73, 0.08)),
    #ffffff;
}

.academy-today-plan--green {
  border-color: #b9d8ce;
}

.academy-today-plan--amber {
  border-color: #dcc790;
}

.academy-today-plan--red {
  border-color: #ddb0a8;
}

.academy-today-plan__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 250px);
  gap: 18px;
  align-items: start;
}

.academy-today-plan__head h2 {
  margin: 0;
  font-size: clamp(1.4rem, 1.9vw, 2rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.academy-today-plan__head p:not(.eyebrow) {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--muted);
}

.academy-today-plan__metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-today-plan__metrics article {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.academy-today-plan__metrics span,
.academy-today-plan__item > span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-today-plan__metrics strong {
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
}

.academy-today-plan__metrics p {
  margin: 0;
  color: var(--muted);
}

.academy-today-plan__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-today-plan__item {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) minmax(130px, max-content);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 5px solid #bdd3e5;
  border-radius: 8px;
  background: #ffffff;
}

.academy-today-plan__item--green {
  border-left-color: #4f9f79;
}

.academy-today-plan__item--amber {
  border-left-color: #b88412;
}

.academy-today-plan__item--red {
  border-left-color: #bd5b4c;
}

.academy-today-plan__item strong {
  display: block;
  color: var(--ink);
  line-height: 1.18;
}

.academy-today-plan__item p,
.academy-today-plan__item small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
}

.academy-today-plan__item a {
  justify-self: end;
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-today-plan__item a:hover {
  color: var(--ink);
}

.academy-week-plan {
  display: grid;
  gap: 16px;
  margin: 0 0 30px;
  padding: 22px;
  border: 1px solid #c6d8de;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 250, 0.96)),
    #ffffff;
  box-shadow: 0 14px 40px rgba(16, 24, 32, 0.055);
}

.academy-week-plan--green {
  border-color: #b9d8ce;
}

.academy-week-plan--amber {
  border-color: #dcc790;
}

.academy-week-plan--red {
  border-color: #ddb0a8;
}

.academy-week-plan__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 250px);
  gap: 18px;
  align-items: start;
}

.academy-week-plan__head h2 {
  margin: 0;
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.academy-week-plan__head p:not(.eyebrow) {
  max-width: 780px;
  margin: 8px 0 0;
  color: var(--muted);
}

.academy-week-plan__metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-week-plan__metrics article {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-week-plan__metrics span,
.academy-week-plan__item time {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-week-plan__metrics strong {
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
}

.academy-week-plan__metrics p {
  margin: 0;
  color: var(--muted);
}

.academy-week-plan__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-week-plan__item {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) minmax(130px, max-content);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 5px solid #bdd3e5;
  border-radius: 8px;
  background: #ffffff;
}

.academy-week-plan__item--green {
  border-left-color: #4f9f79;
}

.academy-week-plan__item--amber {
  border-left-color: #b88412;
}

.academy-week-plan__item--red {
  border-left-color: #bd5b4c;
}

.academy-week-plan__item strong {
  display: block;
  color: var(--ink);
  line-height: 1.18;
}

.academy-week-plan__item p,
.academy-week-plan__item small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
}

.academy-week-plan__item a {
  justify-self: end;
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-week-plan__item a:hover {
  color: var(--ink);
}

.academy-achievement-log {
  display: grid;
  gap: 16px;
  margin: 0 0 30px;
  padding: 22px;
  border: 1px solid #c4d5d8;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(9, 55, 68, 0.055), rgba(230, 181, 73, 0.075)),
    #ffffff;
  box-shadow: 0 16px 42px rgba(16, 24, 32, 0.06);
}

.academy-achievement-log--green {
  border-color: #b9d8ce;
}

.academy-achievement-log--amber {
  border-color: #dcc790;
}

.academy-achievement-log--red {
  border-color: #ddb0a8;
}

.academy-achievement-log__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
  gap: 18px;
  align-items: start;
}

.academy-achievement-log__head h2 {
  margin: 0;
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.academy-achievement-log__head p:not(.eyebrow) {
  max-width: 820px;
  margin: 8px 0 0;
  color: var(--muted);
}

.academy-achievement-log__metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-achievement-log__metrics article {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.academy-achievement-log__metrics span,
.academy-achievement-log__item time,
.academy-achievement-log__item div > span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-achievement-log__metrics strong {
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
}

.academy-achievement-log__metrics p {
  margin: 0;
  color: var(--muted);
}

.academy-achievement-log__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-achievement-log__item {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) minmax(130px, max-content);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 5px solid #bdd3e5;
  border-radius: 8px;
  background: #ffffff;
}

.academy-achievement-log__item--green {
  border-left-color: #4f9f79;
}

.academy-achievement-log__item--amber {
  border-left-color: #b88412;
}

.academy-achievement-log__item--red {
  border-left-color: #bd5b4c;
}

.academy-achievement-log__item--blue {
  border-left-color: #4b7fa8;
}

.academy-achievement-log__item strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  line-height: 1.18;
}

.academy-achievement-log__item p,
.academy-achievement-log__item small {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
}

.academy-achievement-log__item a {
  justify-self: end;
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-achievement-log__item a:hover {
  color: var(--ink);
}

button.button-link {
  cursor: pointer;
  font: inherit;
}

.academy-progress-report,
.academy-progress-report-panel {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 24px;
  border: 1px solid #c7d9df;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(16, 24, 32, 0.06);
}

.academy-progress-report {
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.08), rgba(230, 181, 73, 0.08)),
    #ffffff;
}

.academy-progress-report--green {
  border-color: #b9d8ce;
}

.academy-progress-report--amber {
  border-color: #dcc790;
}

.academy-progress-report--red {
  border-color: #ddb0a8;
}

.academy-progress-report__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 18px;
  align-items: start;
}

.academy-progress-report__head h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(1.65rem, 2.4vw, 2.45rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.academy-progress-report__meta {
  margin: 12px 0 0;
  color: var(--muted);
  font-weight: 800;
}

.academy-progress-report__actions {
  display: grid;
  gap: 10px;
}

.academy-progress-report__actions .button-link {
  justify-content: center;
}

.academy-progress-report__metrics,
.academy-progress-report-actions,
.academy-progress-report-milestones {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-progress-report__metrics article,
.academy-progress-report-action,
.academy-progress-report-course,
.academy-progress-report-milestone {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.academy-progress-report__metrics article {
  display: grid;
  gap: 8px;
  padding: 15px;
}

.academy-progress-report__metrics span,
.academy-progress-report-action span,
.academy-progress-report-course__main span,
.academy-progress-report-milestone span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-progress-report__metrics strong {
  color: var(--ink);
  font-size: 1.55rem;
  line-height: 1;
}

.academy-progress-report__metrics p,
.academy-progress-report-action p,
.academy-progress-report-milestone p {
  margin: 0;
  color: var(--muted);
}

.academy-progress-report-action {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px;
}

.academy-progress-report-action--green,
.academy-progress-report-course--green,
.academy-progress-report-milestone--green {
  border-color: #b9d8ce;
  background: #f4fbf7;
}

.academy-progress-report-action--amber,
.academy-progress-report-course--amber,
.academy-progress-report-milestone--amber {
  border-color: #dcc790;
  background: #fffaf0;
}

.academy-progress-report-action--red,
.academy-progress-report-course--red,
.academy-progress-report-milestone--red {
  border-color: #ddb0a8;
  background: #fff6f4;
}

.academy-progress-report-action--blue,
.academy-progress-report-course--blue,
.academy-progress-report-milestone--blue {
  border-color: #bdd3e5;
  background: #f5f9fc;
}

.academy-progress-report-action h3,
.academy-progress-report-course h3 {
  margin: 0;
  color: var(--ink);
  line-height: 1.18;
}

.academy-progress-report-action a,
.academy-progress-report-course h3 a,
.academy-progress-report-today__item a {
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-progress-report-action a:hover,
.academy-progress-report-course h3 a:hover,
.academy-progress-report-today__item a:hover {
  color: var(--ink);
}

.academy-progress-report-today,
.academy-progress-report-course-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-progress-report-today__item {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) minmax(128px, max-content);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 5px solid #bdd3e5;
  border-radius: 8px;
  background: #ffffff;
}

.academy-progress-report-today__item--green {
  border-left-color: #4f9f79;
}

.academy-progress-report-today__item--amber {
  border-left-color: #b88412;
}

.academy-progress-report-today__item--red {
  border-left-color: #bd5b4c;
}

.academy-progress-report-today__item > span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-progress-report-today__item strong {
  color: var(--ink);
}

.academy-progress-report-today__item p {
  margin: 4px 0 0;
  color: var(--muted);
}

.academy-progress-report-today__item a {
  justify-self: end;
}

.academy-progress-report-course {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.academy-progress-report-course__main {
  display: grid;
  gap: 8px;
}

.academy-progress-report-course__main p {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.academy-progress-report-course__status dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.academy-progress-report-course__status div {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.academy-progress-report-course__status dt {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-progress-report-course__status dd {
  margin: 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-progress-report-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-progress-report-flags li {
  padding: 7px 10px;
  border: 1px solid rgba(16, 24, 32, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 850;
}

.academy-progress-report-milestone {
  display: grid;
  gap: 6px;
  padding: 12px;
}

.academy-progress-report-milestone strong {
  color: var(--ink);
}

@media print {
  .academy-topbar,
  .legal-footer,
  .academy-progress-report__actions,
  .academy-hero-actions {
    display: none !important;
  }

  .academy-shell {
    width: 100%;
    padding: 0;
  }

  .academy-progress-report,
  .academy-progress-report-panel,
  .academy-progress-report-course {
    box-shadow: none;
    break-inside: avoid;
  }
}

.academy-course-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 280px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-course-card h3 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.18;
}

.academy-course-card h3 a {
  color: inherit;
  text-decoration: none;
}

.academy-course-card h3 a:hover {
  color: var(--accent);
}

.academy-recommendation-grid {
  display: grid;
  gap: 14px;
}

.academy-finder-decision {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid var(--line);
  border-left: 6px solid var(--accent);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 16px 44px rgba(16, 24, 32, 0.07);
}

.academy-finder-decision--green {
  border-left-color: var(--success);
  background: #f6fcf9;
}

.academy-finder-decision--amber {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.academy-finder-decision--blue {
  border-left-color: var(--accent);
  background: #f5f9ff;
}

.academy-finder-decision__head,
.academy-finder-decision__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 18px;
  align-items: start;
}

.academy-finder-decision h3,
.academy-finder-decision h4,
.academy-finder-decision p {
  margin: 0;
}

.academy-finder-decision h3 {
  max-width: 780px;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.12;
}

.academy-finder-decision h4 {
  font-size: 1rem;
  line-height: 1.2;
}

.academy-finder-decision p {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.academy-finder-decision__head > div:first-child {
  display: grid;
  gap: 8px;
}

.academy-finder-decision__actions {
  display: grid;
  gap: 10px;
  align-content: start;
}

.academy-finder-decision__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.academy-finder-decision__metrics article,
.academy-finder-decision__signal {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.academy-finder-decision__metrics span,
.academy-finder-decision__signal span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.academy-finder-decision__metrics strong,
.academy-finder-decision__signal strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.academy-finder-decision__metrics small {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.academy-finder-decision__body > div {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.academy-finder-decision__steps {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-finder-decision__steps li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-finder-decision__steps li > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--ink);
  color: var(--white);
  font-size: 0.88rem;
  font-weight: 900;
}

.academy-finder-decision__steps li > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.academy-finder-decision__steps strong {
  color: var(--ink);
  line-height: 1.2;
}

.academy-finder-decision__steps a {
  width: max-content;
  max-width: 100%;
  color: var(--accent);
  font-weight: 850;
  overflow-wrap: anywhere;
}

.academy-finder-decision__signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.academy-finder-decision__signal {
  border-left: 4px solid var(--accent);
}

.academy-finder-decision__signal--green {
  border-left-color: var(--success);
}

.academy-finder-decision__signal--amber {
  border-left-color: #b7791f;
}

.academy-finder-decision__signal--blue {
  border-left-color: var(--accent);
}

@media (max-width: 980px) {
  .academy-finder-decision__head,
  .academy-finder-decision__body {
    grid-template-columns: 1fr;
  }

  .academy-finder-decision__actions,
  .academy-finder-decision__metrics,
  .academy-finder-decision__signals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .academy-finder-decision {
    padding: 16px;
  }

  .academy-finder-decision__actions,
  .academy-finder-decision__metrics,
  .academy-finder-decision__signals,
  .academy-finder-decision__steps li {
    grid-template-columns: 1fr;
  }

  .academy-finder-decision__steps li > span {
    width: 30px;
    height: 30px;
  }
}

.academy-recommendation-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.46fr) minmax(180px, 0.2fr);
  gap: 18px;
  align-items: start;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-recommendation-card__head,
.academy-recommendation-card__body,
.academy-recommendation-card__actions {
  display: grid;
  gap: 12px;
}

.academy-recommendation-card__head span {
  width: max-content;
  max-width: 100%;
  padding: 7px 9px;
  border: 1px solid #b9d8ce;
  border-radius: 999px;
  background: #f0faf6;
  color: var(--success);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-recommendation-card h3,
.academy-recommendation-card h4 {
  margin: 0;
  line-height: 1.18;
}

.academy-recommendation-card h3 a {
  color: inherit;
  text-decoration: none;
}

.academy-recommendation-card h3 a:hover {
  color: var(--accent);
}

.academy-recommendation-card p,
.academy-recommendation-card li {
  margin: 0;
  color: var(--muted);
}

.academy-recommendation-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.academy-recommendation-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-recommendation-card dl div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-recommendation-card dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-recommendation-card dd {
  margin: 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-recommendation-card__actions {
  align-content: start;
}

.academy-course-card dl,
.academy-course-facts {
  margin: 0;
}

.academy-course-card dl {
  display: grid;
  gap: 8px;
  padding-top: 6px;
}

.academy-course-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.academy-course-card-actions a {
  background: #f0faf6;
  border: 1px solid #b9d8ce;
  border-radius: 999px;
  color: var(--success);
  font-size: 0.84rem;
  font-weight: 850;
  padding: 7px 10px;
  text-decoration: none;
}

.academy-course-card-actions a:hover {
  background: #e3f5ee;
  color: var(--ink);
}

.academy-course-card dl div,
.academy-course-facts article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-course-card dt,
.academy-course-facts span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-course-card dd,
.academy-course-facts strong {
  margin: 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-learning-card,
.academy-progress-panel {
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-learning-card span,
.academy-progress-panel span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-learning-card h3 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.18;
}

.academy-learning-card h3 a {
  color: inherit;
  text-decoration: none;
}

.academy-learning-card h3 a:hover {
  color: var(--accent);
}

.academy-learning-card > strong,
.academy-progress-panel strong {
  color: var(--ink);
  font-size: 1.25rem;
  line-height: 1.15;
}

.academy-learning-alert,
.academy-learning-note {
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 800;
}

.academy-learning-alert {
  border: 1px solid #e1b4aa;
  background: #fff4f1;
  color: var(--danger);
}

.academy-learning-note {
  border: 1px solid #d7c48a;
  background: #fffaf0;
  color: var(--warning);
}

.academy-progress-panel {
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 0.65fr);
  align-items: center;
  margin: 0 0 28px;
}

.academy-progress-track {
  height: 12px;
  overflow: hidden;
  border: 1px solid #cbd8de;
  border-radius: 999px;
  background: #edf3f5;
}

.academy-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), #235b92);
}

.academy-exam-readiness {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-exam-readiness--green {
  border-color: #b9d8ce;
  background: #f4fbf8;
}

.academy-exam-readiness--amber {
  border-color: #e7cf9d;
  background: #fffaf0;
}

.academy-exam-readiness--red {
  border-color: #e1b4aa;
  background: #fff6f4;
}

.academy-exam-readiness__head {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.academy-exam-readiness__head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.45rem, 2.6vw, 2.1rem);
  line-height: 1.12;
}

.academy-exam-readiness__head p:not(.eyebrow) {
  margin: 8px 0 0;
  color: var(--muted);
  font-weight: 800;
}

.academy-exam-readiness__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.academy-exam-readiness__item {
  display: grid;
  gap: 6px;
  min-height: 116px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.academy-exam-readiness__item span,
.academy-exam-readiness-mini__item span {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-exam-readiness__item strong,
.academy-exam-readiness-mini strong {
  color: var(--ink);
  line-height: 1.18;
}

.academy-exam-readiness__item p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 750;
}

.academy-exam-readiness__item--green,
.academy-exam-readiness-mini__item--green {
  border-color: #b9d8ce;
}

.academy-exam-readiness__item--amber,
.academy-exam-readiness-mini__item--amber {
  border-color: #e7cf9d;
}

.academy-exam-readiness__item--red,
.academy-exam-readiness-mini__item--red {
  border-color: #e1b4aa;
}

.academy-exam-readiness__item--blue,
.academy-exam-readiness-mini__item--blue {
  border-color: #c5d6ea;
}

.academy-exam-readiness-mini {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.academy-exam-readiness-mini > div:first-child {
  display: grid;
  gap: 4px;
}

.academy-exam-readiness-mini > div:first-child span,
.academy-exam-readiness-mini a {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.academy-exam-readiness-mini ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-exam-readiness-mini__item {
  display: grid;
  grid-template-columns: minmax(94px, 0.42fr) minmax(0, 0.58fr);
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid rgba(16, 24, 32, 0.08);
}

.academy-exam-readiness-mini__item:first-child {
  border-top: 0;
}

.academy-exam-readiness-mini a {
  color: var(--accent);
  text-decoration: none;
}

.academy-exam-readiness-mini a:hover {
  color: var(--ink);
}

.academy-learning-coach {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-learning-coach--green,
.academy-learning-coach-mini--green {
  border-color: #b9d8ce;
  background: linear-gradient(180deg, #ffffff 0%, #f3fbf7 100%);
}

.academy-learning-coach--amber,
.academy-learning-coach-mini--amber {
  border-color: #e7cf9d;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-learning-coach--red,
.academy-learning-coach-mini--red {
  border-color: #e1b4aa;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-learning-coach__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.18fr);
  gap: 16px;
  align-items: center;
}

.academy-learning-coach__head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.55rem, 2.8vw, 2.3rem);
  line-height: 1.12;
}

.academy-learning-coach__head p:not(.eyebrow),
.academy-learning-coach__focus,
.academy-learning-coach__item p,
.academy-learning-coach-mini p {
  margin: 8px 0 0;
  color: var(--muted);
  font-weight: 750;
}

.academy-learning-coach__score {
  min-height: 110px;
  padding: 14px;
  border: 1px solid rgba(215, 224, 228, 0.88);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.academy-learning-coach__score span,
.academy-learning-coach__item span,
.academy-learning-coach__weak span,
.academy-learning-coach-mini span,
.academy-learning-coach-mini__item span {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-learning-coach__score strong {
  display: block;
  margin-top: 10px;
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
}

.academy-learning-coach__focus {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(215, 224, 228, 0.9);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.academy-learning-coach__focus strong {
  color: var(--ink);
  font-size: 1.12rem;
}

.academy-learning-coach__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.academy-learning-coach__item {
  display: grid;
  gap: 8px;
  min-height: 168px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.academy-learning-coach__item--green {
  border-color: #b9d8ce;
}

.academy-learning-coach__item--amber {
  border-color: #e7cf9d;
}

.academy-learning-coach__item--red {
  border-color: #e1b4aa;
}

.academy-learning-coach__item--blue {
  border-color: #c5d6ea;
}

.academy-learning-coach__item strong {
  color: var(--ink);
  line-height: 1.18;
}

.academy-learning-coach__item a,
.academy-learning-coach__weak a,
.academy-learning-coach-mini a {
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-learning-coach__item a:hover,
.academy-learning-coach__weak a:hover,
.academy-learning-coach-mini a:hover {
  color: var(--ink);
}

.academy-learning-coach__weak {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.academy-learning-coach-mini {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-learning-coach-mini > div:first-child {
  display: grid;
  gap: 4px;
}

.academy-learning-coach-mini strong {
  color: var(--ink);
}

.academy-learning-coach-mini ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-learning-coach-mini__item {
  display: grid;
  grid-template-columns: minmax(92px, 0.36fr) minmax(0, 0.64fr);
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid rgba(16, 24, 32, 0.08);
}

.academy-learning-coach-mini__item:first-child {
  border-top: 0;
}

.academy-exam-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.44fr) auto;
  gap: 16px;
  align-items: center;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-exam-summary--green,
.academy-exam-summary-mini--green {
  border-color: #b9d8ce;
  background: linear-gradient(180deg, #ffffff 0%, #f3fbf7 100%);
}

.academy-exam-summary--amber,
.academy-exam-summary-mini--amber {
  border-color: #e7cf9d;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-exam-summary--red,
.academy-exam-summary-mini--red {
  border-color: #e1b4aa;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-exam-summary--blue,
.academy-exam-summary-mini--blue {
  border-color: #b8d7dd;
  background: linear-gradient(180deg, #ffffff 0%, #f1fafc 100%);
}

.academy-exam-summary h2,
.academy-exam-simulation h2,
.academy-exam-review h2,
.academy-exam-history h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  line-height: 1.14;
}

.academy-exam-summary p,
.academy-exam-summary-mini p {
  margin: 8px 0 0;
  color: var(--muted);
  font-weight: 750;
}

.academy-exam-summary dl,
.academy-exam-summary-mini dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-exam-summary dl div,
.academy-exam-summary-mini dl div {
  min-height: 72px;
  padding: 10px;
  border: 1px solid rgba(215, 224, 228, 0.88);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.academy-exam-summary dt,
.academy-exam-summary-mini dt,
.academy-exam-question > span,
.academy-exam-review-item > span,
.academy-exam-history-list span {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-exam-summary dd,
.academy-exam-summary-mini dd {
  margin: 3px 0 0;
  color: var(--ink);
  font-weight: 950;
}

.academy-exam-summary-mini {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-exam-summary-mini > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  justify-content: space-between;
}

.academy-exam-summary-mini strong {
  color: var(--ink);
}

.academy-exam-summary-mini > div:first-child span,
.academy-exam-summary-mini a {
  color: var(--accent);
  font-size: 0.86rem;
  font-weight: 900;
  text-decoration: none;
}

.academy-exam-summary-mini a:hover {
  color: var(--ink);
}

.academy-exam-simulation,
.academy-exam-review,
.academy-exam-history {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-exam-form {
  display: grid;
  gap: 14px;
}

.academy-exam-question {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbfc;
}

.academy-exam-question h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.28;
}

.academy-exam-field ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-exam-field label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid rgba(215, 224, 228, 0.9);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 800;
}

.academy-exam-field input[type="radio"],
.academy-exam-field input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 4px;
}

.academy-exam-field textarea {
  width: 100%;
  min-height: 130px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  resize: vertical;
}

.academy-exam-form button {
  justify-self: start;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--ink);
  color: var(--white);
  font-weight: 950;
  cursor: pointer;
}

.academy-exam-form button:hover {
  background: var(--accent);
}

.academy-exam-review-grid,
.academy-exam-history-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.academy-exam-review-item,
.academy-exam-history-list article {
  display: grid;
  gap: 8px;
  min-height: 130px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbfc;
}

.academy-exam-review-item--green {
  border-color: #b9d8ce;
  background: #f4fbf8;
}

.academy-exam-review-item--amber {
  border-color: #e7cf9d;
  background: #fffaf0;
}

.academy-exam-review-item strong,
.academy-exam-history-list strong {
  color: var(--ink);
  line-height: 1.2;
}

.academy-exam-review-item p,
.academy-exam-history-list p {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.academy-exam-review-item em {
  color: var(--ink);
  font-style: normal;
  font-weight: 950;
}

.academy-journal-fieldset > p {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.academy-journal-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(180px, 0.42fr);
  gap: 12px;
}

.academy-journal-bookmark {
  align-self: end;
}

.academy-journal-mini {
  display: grid;
  gap: 12px;
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-journal-mini--green {
  border-color: #b9d8ce;
  background: #f4fbf8;
}

.academy-journal-mini--amber {
  border-color: #e7cf9d;
  background: #fffaf0;
}

.academy-journal-mini--blue {
  border-color: #c5d6ea;
  background: #f5f9ff;
}

.academy-journal-mini > div:first-child {
  display: grid;
  gap: 4px;
}

.academy-journal-mini > div:first-child strong {
  color: var(--ink);
  font-size: 1.02rem;
}

.academy-journal-mini > div:first-child span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.academy-journal-mini dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-journal-mini dl div {
  padding: 10px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.academy-journal-mini dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-journal-mini dd {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 1.25rem;
  font-weight: 950;
}

.academy-journal-mini ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-journal-mini li {
  display: grid;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(16, 24, 32, 0.08);
}

.academy-journal-mini li:first-child {
  border-top: 0;
  padding-top: 0;
}

.academy-journal-mini a {
  color: var(--ink);
  font-weight: 900;
  text-decoration: none;
}

.academy-journal-mini a:hover {
  color: var(--accent);
}

.academy-journal-mini li span,
.academy-journal-mini small {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
}

.academy-feedback-mini {
  display: grid;
  gap: 12px;
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid #b9d8ce;
  border-radius: 8px;
  background: #f4fbf8;
}

.academy-feedback-mini > div:first-child {
  display: grid;
  gap: 4px;
}

.academy-feedback-mini > div:first-child strong {
  color: var(--ink);
  font-size: 1.02rem;
}

.academy-feedback-mini > div:first-child span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.academy-feedback-mini details {
  display: grid;
  gap: 12px;
}

.academy-feedback-mini summary {
  cursor: pointer;
  color: var(--accent);
  font-weight: 900;
}

.academy-feedback-form {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.academy-feedback-form__ratings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.academy-feedback-form label {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 850;
}

.academy-feedback-form select,
.academy-feedback-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

.academy-feedback-form select {
  min-height: 42px;
  padding: 9px 10px;
}

.academy-feedback-form textarea {
  resize: vertical;
  padding: 10px;
}

.academy-feedback-form small {
  color: var(--muted);
  font-weight: 750;
}

.academy-feedback-form__consent {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px !important;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.academy-feedback-form__consent input {
  margin-top: 3px;
}

.academy-feedback-form__consent .form-error {
  grid-column: 1 / -1;
}

.academy-quality-panel {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid #c5d6ea;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-quality-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.academy-quality-grid article {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-quality-grid span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-quality-grid strong {
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1.12;
}

.academy-quality-grid p {
  margin: 0;
  color: var(--muted);
  font-weight: 760;
}

.academy-quality-meter {
  height: 10px;
  overflow: hidden;
  border: 1px solid #cbd8de;
  border-radius: 999px;
  background: #edf3f5;
}

.academy-quality-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--success), var(--accent));
}

.academy-quality-quotes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.academy-quality-quotes blockquote {
  display: grid;
  gap: 10px;
  margin: 0;
  min-height: 150px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.academy-quality-quotes p {
  margin: 0;
  color: var(--ink);
  font-weight: 760;
  line-height: 1.55;
}

.academy-quality-quotes footer {
  align-self: end;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.academy-support-panel {
  display: grid;
  gap: 18px;
  margin: 28px 0;
  padding: 22px;
  border: 1px solid #c5d6ea;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-support-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(260px, 0.42fr);
  gap: 14px;
  align-items: start;
}

.academy-support-thread,
.academy-support-form {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-support-thread h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.12rem;
  line-height: 1.2;
}

.academy-support-thread ul,
.academy-support-mini ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-support-thread__item,
.academy-support-thread li {
  display: grid;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(16, 24, 32, 0.08);
}

.academy-support-thread__item:first-child,
.academy-support-thread li:first-child {
  padding-top: 0;
  border-top: 0;
}

.academy-support-thread__item div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: baseline;
  justify-content: space-between;
}

.academy-support-thread strong,
.academy-support-mini strong,
.academy-support-thread__item strong {
  color: var(--ink);
  line-height: 1.2;
}

.academy-support-thread span,
.academy-support-mini span {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 820;
}

.academy-support-thread p,
.academy-support-thread blockquote {
  margin: 0;
  color: var(--muted);
}

.academy-support-thread blockquote {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-left: 4px solid var(--success);
  border-radius: 8px;
  background: #f4fbf8;
}

.academy-support-thread footer {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.academy-support-thread__item--open strong {
  color: var(--warning);
}

.academy-support-thread__item--answered strong {
  color: var(--success);
}

.academy-support-form label {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 850;
}

.academy-support-form input,
.academy-support-form textarea {
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
  color: var(--ink);
  font: inherit;
}

.academy-support-form textarea {
  resize: vertical;
}

.academy-support-mini {
  display: grid;
  gap: 12px;
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-support-mini--amber {
  border-color: #e7cf9d;
  background: #fffaf0;
}

.academy-support-mini--green {
  border-color: #b9d8ce;
  background: #f4fbf8;
}

.academy-support-mini--blue {
  border-color: #c5d6ea;
  background: #f5f9ff;
}

.academy-support-mini > div:first-child {
  display: grid;
  gap: 4px;
}

.academy-support-mini dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-support-mini dl div {
  padding: 10px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.academy-support-mini dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-support-mini dd {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 1.25rem;
  font-weight: 950;
}

.academy-support-mini li {
  display: grid;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(16, 24, 32, 0.08);
}

.academy-support-mini li:first-child {
  padding-top: 0;
  border-top: 0;
}

.academy-support-mini a {
  color: var(--ink);
  font-weight: 900;
  text-decoration: none;
}

.academy-support-mini a:hover {
  color: var(--accent);
}

.academy-study-goal,
.academy-study-goal-mini {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-study-goal {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-study-goal--green,
.academy-study-goal-mini--green {
  border-color: #b9d8ce;
  background: linear-gradient(180deg, #ffffff 0%, #f3fbf7 100%);
}

.academy-study-goal--amber,
.academy-study-goal-mini--amber {
  border-color: #e7cf9d;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-study-goal--red,
.academy-study-goal-mini--red {
  border-color: #e1b4aa;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-study-goal--blue,
.academy-study-goal-mini--blue {
  border-color: #b8d7dd;
  background: linear-gradient(180deg, #ffffff 0%, #f1fafc 100%);
}

.academy-study-goal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.academy-study-goal-grid article {
  display: grid;
  gap: 7px;
  min-height: 112px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
}

.academy-study-goal-grid span,
.academy-study-goal-mini span,
.academy-study-goal-form small {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-study-goal-grid strong {
  color: var(--ink);
  font-size: 1.06rem;
  line-height: 1.2;
}

.academy-study-goal-grid p,
.academy-study-goal-intro,
.academy-study-goal-mini p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.academy-study-goal details,
.academy-study-goal-mini details {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.academy-study-goal summary,
.academy-study-goal-mini summary {
  cursor: pointer;
  color: var(--ink);
  font-weight: 900;
}

.academy-study-goal-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.academy-study-goal-form label {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 900;
}

.academy-study-goal-form input,
.academy-study-goal-form select {
  width: 100%;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}

.academy-study-goal-form button {
  align-self: end;
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  background: var(--ink);
  color: var(--white);
  font-weight: 900;
  cursor: pointer;
}

.academy-study-goal-form button:hover {
  background: var(--accent);
}

.academy-study-goal-mini {
  display: grid;
  gap: 12px;
  margin: 14px 0 0;
  padding: 14px;
}

.academy-study-goal-mini > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  justify-content: space-between;
}

.academy-study-goal-mini strong {
  color: var(--ink);
  font-size: 0.96rem;
}

.academy-study-goal-mini dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-study-goal-mini dl div {
  padding: 10px;
  border: 1px solid rgba(215, 224, 228, 0.86);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.academy-study-goal-mini dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-study-goal-mini dd {
  margin: 2px 0 0;
  color: var(--ink);
  font-weight: 900;
}

.academy-study-goal-mini .academy-study-goal-form {
  grid-template-columns: 1fr;
}

.academy-diagnostic-hero .academy-status-panel {
  border-color: #b8d7dd;
  background: linear-gradient(180deg, #ffffff 0%, #f1fafc 100%);
}

.academy-diagnostic-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(280px, 0.32fr);
  gap: 18px;
  align-items: start;
  margin: 0 0 28px;
}

.academy-diagnostic-form,
.academy-diagnostic-context,
.academy-diagnostic-result {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-diagnostic-form {
  display: grid;
  gap: 16px;
  padding: 22px;
}

.academy-diagnostic-field {
  display: grid;
  gap: 9px;
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-diagnostic-field legend {
  padding: 0 6px;
  color: var(--ink);
  font-weight: 900;
}

.academy-diagnostic-field ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-diagnostic-field li {
  min-width: 0;
}

.academy-diagnostic-field label {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.35;
}

.academy-diagnostic-field input[type="radio"],
.academy-diagnostic-field input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: var(--accent);
}

.academy-diagnostic-field input[type="date"],
.academy-diagnostic-field input[type="number"] {
  width: 100%;
  min-height: 44px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}

.academy-diagnostic-field small {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 750;
}

.academy-diagnostic-form button,
.academy-diagnostic-actions button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--ink);
  color: var(--white);
  font-weight: 900;
  cursor: pointer;
}

.academy-diagnostic-form button:hover,
.academy-diagnostic-actions button:hover {
  background: var(--accent);
}

.academy-diagnostic-context {
  display: grid;
  gap: 12px;
  padding: 20px;
  position: sticky;
  top: 18px;
}

.academy-diagnostic-context span,
.academy-diagnostic-result-grid span,
.academy-diagnostic-score span,
.academy-diagnostic-plan span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.academy-diagnostic-context strong {
  color: var(--ink);
  font-size: 1.2rem;
  line-height: 1.15;
}

.academy-diagnostic-context p {
  margin: 0;
  color: var(--muted);
}

.academy-diagnostic-context dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.academy-diagnostic-context dl div {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}

.academy-diagnostic-context dt {
  color: var(--muted);
  font-weight: 800;
}

.academy-diagnostic-context dd {
  margin: 0;
  color: var(--ink);
  font-weight: 900;
}

.academy-diagnostic-result {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
}

.academy-diagnostic-result--green {
  border-color: #b9d8ce;
  background: linear-gradient(180deg, #ffffff 0%, #f3fbf7 100%);
}

.academy-diagnostic-result--amber {
  border-color: #e7cf9d;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-diagnostic-result--red {
  border-color: #e1b4aa;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-diagnostic-result__head {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.academy-diagnostic-result__head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.55rem, 2.8vw, 2.2rem);
  line-height: 1.1;
}

.academy-diagnostic-result__head p:not(.eyebrow) {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--muted);
  font-weight: 800;
}

.academy-diagnostic-score {
  display: grid;
  gap: 2px;
  min-width: 128px;
  padding: 16px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  text-align: center;
}

.academy-diagnostic-score strong {
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
}

.academy-diagnostic-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.academy-diagnostic-result-grid article {
  display: grid;
  gap: 7px;
  min-height: 118px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.academy-diagnostic-result-grid strong {
  color: var(--ink);
  line-height: 1.18;
}

.academy-diagnostic-result-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 750;
}

.academy-diagnostic-plan {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-diagnostic-plan li {
  display: grid;
  grid-template-columns: minmax(88px, 0.2fr) minmax(0, 0.8fr);
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.academy-diagnostic-plan strong a {
  color: var(--ink);
  text-decoration: none;
}

.academy-diagnostic-plan strong a:hover {
  color: var(--accent);
}

.academy-diagnostic-plan small,
.academy-diagnostic-plan p {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 750;
}

.academy-diagnostic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.academy-diagnostic-actions form {
  margin: 0;
}

.academy-diagnostic-actions button {
  padding: 0 16px;
}

.academy-study-plan {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-study-plan-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.academy-study-plan-summary article {
  display: grid;
  gap: 6px;
  min-height: 96px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-study-plan-summary span,
.academy-study-plan-item > span,
.academy-study-plan-mini span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-study-plan-summary strong {
  color: var(--ink);
  font-size: 1.02rem;
  line-height: 1.25;
}

.academy-study-plan-summary--green {
  border-color: #b9d8ce !important;
  background: #f0faf6 !important;
}

.academy-study-plan-summary--amber {
  border-color: #e7cf9d !important;
  background: #fffaf0 !important;
}

.academy-study-plan-summary--red {
  border-color: #e1b4aa !important;
  background: #fff4f1 !important;
}

.academy-study-plan-list,
.academy-study-plan-mini ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-study-plan-item {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.academy-study-plan-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.academy-study-plan-item div {
  display: grid;
  gap: 5px;
}

.academy-study-plan-item strong,
.academy-study-plan-item a {
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.2;
  text-decoration: none;
}

.academy-study-plan-item a:hover {
  color: var(--accent);
}

.academy-study-plan-item small,
.academy-study-plan-mini em,
.academy-study-plan-mini p {
  color: var(--muted);
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 800;
}

.academy-study-plan-item--green > span,
.academy-study-plan-mini__item--green > span {
  color: var(--success);
}

.academy-study-plan-item--amber > span,
.academy-study-plan-mini__item--amber > span {
  color: var(--warning);
}

.academy-study-plan-item--blue > span,
.academy-study-plan-mini__item--blue > span {
  color: var(--accent);
}

.academy-study-plan-complete {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.academy-study-plan-mini {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.academy-study-plan-mini > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  justify-content: space-between;
}

.academy-study-plan-mini strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.academy-study-plan-mini__item {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.academy-study-plan-mini__item a {
  color: var(--ink);
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
}

.academy-study-plan-mini__item a:hover {
  color: var(--accent);
}

.academy-study-plan-mini__item em {
  grid-column: 2;
}

.academy-filter-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-filter-form--catalog {
  grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(150px, 1fr));
}

.academy-filter-form--compare {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.academy-filter-form--compare button,
.academy-filter-form--compare .button-link {
  align-self: end;
  justify-content: center;
  min-height: 42px;
  text-align: center;
}

.academy-filter-search {
  grid-column: span 2;
}

.academy-filter-form--catalog button,
.academy-filter-form--catalog .button-link {
  align-self: end;
  justify-content: center;
  min-height: 42px;
  text-align: center;
}

.academy-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 0 4px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-filter-summary strong {
  color: var(--ink);
  font-size: 1.02rem;
}

.academy-filter-summary p {
  margin: 0;
  color: var(--muted);
  font-weight: 650;
}

.academy-filter-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.academy-filter-chips span,
.academy-filter-chips em {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--muted);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 850;
}

.academy-filter-chips em {
  border-color: #b8c8ce;
  color: var(--ink);
}

.academy-compare-summary {
  display: grid;
  gap: 16px;
  margin: 28px 0 0;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.academy-compare-summary-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-compare-summary-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 252px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-compare-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--accent);
}

.academy-compare-summary-card--green::before {
  background: var(--success);
}

.academy-compare-summary-card--amber::before {
  background: #b7791f;
}

.academy-compare-summary-card--red::before {
  background: #b42318;
}

.academy-compare-summary-card span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-compare-summary-card strong {
  color: var(--ink);
  font-size: 1.02rem;
  line-height: 1.2;
}

.academy-compare-summary-card em {
  display: inline-flex;
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid #cfe0e5;
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 900;
}

.academy-compare-summary-card p {
  margin: 0;
  color: var(--muted);
}

.academy-compare-summary-card a {
  align-self: end;
  color: var(--ink);
  font-weight: 900;
  text-decoration: none;
}

.academy-compare-summary-card a:hover {
  color: var(--accent);
}

.academy-compare-guides {
  margin: 34px 0 0;
}

.academy-compare-guide-grid,
.academy-compare-grid {
  display: grid;
  gap: 14px;
}

.academy-compare-guide-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-compare-guide,
.academy-compare-card {
  display: grid;
  align-content: start;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-compare-guide {
  min-height: 188px;
  padding: 18px;
}

.academy-compare-guide span,
.academy-compare-card header span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-compare-guide p,
.academy-compare-card p,
.academy-compare-table small {
  margin: 0;
  color: var(--muted);
}

.academy-compare-guide a {
  color: var(--ink);
  font-weight: 900;
  text-decoration: none;
}

.academy-compare-guide a:hover,
.academy-compare-card h3 a:hover,
.academy-compare-table a:hover {
  color: var(--accent);
}

.academy-compare-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-compare-card {
  min-height: 100%;
  padding: 22px;
  position: relative;
}

.academy-compare-card::before {
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 5px;
  border-radius: 999px;
  background: var(--accent);
  content: "";
}

.academy-compare-card--green::before {
  background: var(--success);
}

.academy-compare-card--amber::before {
  background: var(--warning);
}

.academy-compare-card--red::before {
  background: var(--danger);
}

.academy-compare-card header {
  display: grid;
  gap: 6px;
}

.academy-compare-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1.18;
}

.academy-compare-card h3 a,
.academy-compare-table a {
  color: inherit;
  text-decoration: none;
}

.academy-compare-facts,
.academy-compare-signals {
  display: grid;
  gap: 10px;
}

.academy-compare-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.academy-compare-facts div,
.academy-compare-signal {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-compare-facts div {
  padding: 12px;
}

.academy-compare-facts dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-compare-facts dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-compare-signals {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-compare-signal {
  display: grid;
  gap: 6px;
  padding: 10px;
}

.academy-compare-signal span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-compare-signal strong {
  color: var(--ink);
  font-size: 1rem;
}

.academy-compare-signal em {
  display: block;
  height: 7px;
  overflow: hidden;
  position: relative;
  border-radius: 999px;
  background: #e7eef1;
}

.academy-compare-signal em::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--compare-score);
  border-radius: inherit;
  background: var(--accent);
  content: "";
}

.academy-compare-signal--green em::before {
  background: var(--success);
}

.academy-compare-signal--amber em::before {
  background: var(--warning);
}

.academy-compare-signal--red em::before {
  background: var(--danger);
}

.academy-compare-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-compare-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

.academy-compare-table th,
.academy-compare-table td {
  padding: 14px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-align: left;
  vertical-align: top;
}

.academy-compare-table thead th {
  background: #fbfdfd;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-compare-table tbody tr:last-child th,
.academy-compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.academy-session-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.academy-session-metrics article {
  min-height: 132px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.045);
}

.academy-session-metrics span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-session-metrics strong {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1.1;
}

.academy-session-metrics p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.academy-session-quick {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.academy-session-quick a {
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
  color: var(--ink);
  text-decoration: none;
}

.academy-session-quick a[aria-current="page"] {
  border-color: rgba(36, 99, 235, 0.42);
  background: #eef6ff;
}

.academy-session-quick a:hover {
  transform: translateY(-1px);
  border-color: rgba(12, 74, 110, 0.24);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
}

.academy-session-quick strong {
  font-size: 0.96rem;
}

.academy-session-quick span {
  color: var(--muted);
  font-size: 0.84rem;
}

.academy-filter-form--sessions {
  grid-template-columns: minmax(220px, 1.2fr) auto auto auto;
}

.academy-session-workflow {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
  gap: 18px;
  margin: 0 0 28px;
  padding: 20px;
  border: 1px solid rgba(12, 74, 110, 0.16);
  border-radius: 8px;
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 56%, #f4f8f5 100%);
}

.academy-session-workflow h2 {
  margin: 0;
  color: var(--ink);
  font-size: 1.45rem;
}

.academy-session-workflow p {
  margin: 10px 0 0;
  color: var(--muted);
}

.academy-session-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.academy-session-route-grid a {
  display: grid;
  gap: 7px;
  min-height: 128px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
}

.academy-session-route-grid a:hover {
  border-color: rgba(12, 74, 110, 0.24);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.academy-session-route-grid span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-session-route-grid strong {
  font-size: 1rem;
}

.academy-session-route-grid small {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.academy-session-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.academy-session-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.academy-session-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.academy-session-card > div:first-child span {
  color: var(--success);
  font-weight: 900;
  text-transform: uppercase;
}

.academy-session-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.3rem;
}

.academy-session-card h3 a {
  color: inherit;
  text-decoration: none;
}

.academy-session-card h3 a:hover {
  color: var(--accent);
}

.academy-session-card p {
  color: var(--muted);
}

.academy-session-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-session-card dl div {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-session-card dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-session-card dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-hero--session {
  background: linear-gradient(135deg, #f7fbff 0%, #ffffff 58%, #f5faf7 100%);
}

.academy-session-detail-status {
  display: grid;
  gap: 10px;
  min-height: 180px;
  padding: 18px;
  border: 1px solid #bdd3e5;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.academy-session-detail-status--green {
  border-color: #b9d8ce;
  background: #f4fbf7;
}

.academy-session-detail-status--amber {
  border-color: #dcc790;
  background: #fffaf0;
}

.academy-session-detail-status--red {
  border-color: #ddb0a8;
  background: #fff6f4;
}

.academy-session-detail-status span,
.academy-session-detail-facts span,
.academy-session-detail-card span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-session-detail-status strong {
  color: var(--ink);
  font-size: 1.45rem;
  line-height: 1.12;
}

.academy-session-detail-status p {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.academy-session-detail-facts,
.academy-session-detail-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 28px;
}

.academy-session-detail-facts article,
.academy-session-detail-card {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.academy-session-detail-facts strong {
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.15;
}

.academy-session-detail-facts p,
.academy-session-detail-card p,
.academy-session-detail-split p,
.academy-session-detail-timeline p {
  margin: 0;
  color: var(--muted);
}

.academy-session-detail-decision,
.academy-session-detail-split {
  margin: 0 0 28px;
}

.academy-session-detail-card--green {
  border-color: #b9d8ce;
  background: #f4fbf7;
}

.academy-session-detail-card--amber {
  border-color: #dcc790;
  background: #fffaf0;
}

.academy-session-detail-card--red {
  border-color: #ddb0a8;
  background: #fff6f4;
}

.academy-session-detail-card--blue {
  border-color: #bdd3e5;
  background: #f5f9fc;
}

.academy-session-detail-card h3,
.academy-session-detail-split h2 {
  margin: 0;
  color: var(--ink);
  line-height: 1.18;
}

.academy-session-detail-card a {
  align-self: end;
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.academy-session-detail-card a:hover {
  color: var(--ink);
}

.academy-session-detail-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}

.academy-session-detail-split > article {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.academy-session-detail-split dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.academy-session-detail-split dl div {
  padding: 12px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-session-detail-split dt {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-session-detail-split dd {
  margin: 5px 0 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-session-detail-timeline {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-session-detail-timeline li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(16, 24, 32, 0.08);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-session-detail-timeline li > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--white);
  font-weight: 900;
}

.academy-session-detail-timeline strong {
  color: var(--ink);
}

.academy-material-center {
  display: grid;
  gap: 16px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-material-summary,
.academy-material-grid {
  display: grid;
  gap: 12px;
}

.academy-material-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-material-summary article,
.academy-material-card,
.academy-material-lock {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-material-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-material-card {
  min-height: 100%;
  background: var(--white);
}

.academy-material-summary span,
.academy-material-card span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-material-summary strong {
  color: var(--ink);
  font-size: 1.28rem;
}

.academy-material-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.06rem;
  line-height: 1.2;
}

.academy-material-summary p,
.academy-material-card p,
.academy-material-lock p {
  margin: 0;
  color: var(--muted);
}

.academy-material-navigator-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 22px;
}

.academy-material-navigator-summary article,
.academy-material-meta div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 10px 26px rgba(16, 24, 32, 0.04);
}

.academy-material-navigator-summary span,
.academy-material-meta dt {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-material-navigator-summary strong {
  color: var(--ink);
  font-size: clamp(1.5rem, 2.4vw, 2.2rem);
  line-height: 1;
}

.academy-material-navigator-summary p,
.academy-material-meta dd {
  margin: 0;
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.academy-material-grid--navigator {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-material-card--navigator {
  gap: 12px;
}

.academy-material-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.academy-material-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.academy-material-flag {
  padding: 7px 9px;
  border: 1px solid #cbd9de;
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 850;
}

.academy-material-flag--green {
  border-color: #b9d8ce;
  background: #f0faf6;
  color: var(--success);
}

.academy-material-flag--amber {
  border-color: #dcc790;
  background: #fffaf0;
  color: #8a5a13;
}

.academy-material-flag--blue {
  border-color: #bdd7e3;
  background: #f5f9ff;
  color: var(--accent);
}

.academy-material-lock {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  background: #f6f9fd;
}

.academy-material-lock strong {
  color: var(--ink);
}

.academy-course-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 28px;
}

.academy-hero--decision {
  align-items: stretch;
}

.academy-decision-score,
.academy-decision-compass,
.academy-decision-brief-panel,
.academy-decision-audience,
.academy-decision-evidence,
.academy-decision-workflow,
.academy-decision-recommendation,
.academy-decision-faq,
.academy-decision-split article,
.academy-decision-final {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 14px 38px rgba(16, 24, 32, 0.06);
}

.academy-decision-score {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 220px;
  padding: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #eef8f5 100%);
}

.academy-decision-score--amber {
  background: linear-gradient(180deg, #ffffff 0%, #fff8e8 100%);
}

.academy-decision-score--red {
  background: linear-gradient(180deg, #ffffff 0%, #fff0ec 100%);
}

.academy-decision-score span,
.academy-decision-compass span,
.academy-decision-matrix span,
.academy-decision-route-grid span,
.academy-decision-evidence-item span,
.academy-decision-recommendation-card span,
.academy-decision-risk-list span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-decision-score strong {
  color: var(--ink);
  font-size: clamp(2.5rem, 8vw, 4.8rem);
  line-height: 0.95;
}

.academy-decision-score p {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.academy-decision-compass,
.academy-decision-brief-panel,
.academy-decision-audience,
.academy-decision-evidence,
.academy-decision-workflow,
.academy-decision-recommendation,
.academy-decision-faq,
.academy-decision-final {
  display: grid;
  gap: 16px;
  margin: 0 0 28px;
  padding: 22px;
}

.academy-decision-compass {
  border-color: #b8d8d5;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbfa 100%);
}

.academy-decision-compass--amber {
  border-color: #ecd7a8;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-decision-compass--red {
  border-color: #efc4bb;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-decision-compass__head,
.academy-decision-final {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.academy-decision-compass__head p,
.academy-decision-final p {
  max-width: 780px;
}

.academy-decision-compass__grid,
.academy-decision-matrix,
.academy-decision-route-grid,
.academy-decision-evidence-grid,
.academy-decision-recommendation-grid,
.academy-decision-faq-list,
.academy-decision-split {
  display: grid;
  gap: 12px;
}

.academy-decision-compass__grid,
.academy-decision-matrix {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-decision-route-grid,
.academy-decision-evidence-grid,
.academy-decision-recommendation-grid,
.academy-decision-faq-list,
.academy-decision-split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-decision-compass__grid article,
.academy-decision-matrix article,
.academy-decision-route-grid article,
.academy-decision-evidence-item,
.academy-decision-recommendation-card,
.academy-decision-faq-list article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 154px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-decision-compass__grid strong,
.academy-decision-matrix strong,
.academy-decision-route-grid h3,
.academy-decision-evidence-item strong,
.academy-decision-recommendation-card strong,
.academy-decision-risk-list strong,
.academy-decision-faq-list h3,
.academy-decision-split h2,
.academy-decision-workflow-list strong {
  margin: 0;
  color: var(--ink);
  line-height: 1.2;
}

.academy-decision-compass__grid p,
.academy-decision-matrix p,
.academy-decision-route-grid p,
.academy-decision-evidence-item p,
.academy-decision-recommendation-card p,
.academy-decision-risk-list p,
.academy-decision-faq-list p,
.academy-decision-split li,
.academy-decision-workflow-list p {
  margin: 0;
  color: var(--muted);
}

.academy-decision-compass__proof {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #c5d6ea;
  border-radius: 8px;
  background: #f6f9fd;
}

.academy-decision-compass__proof strong {
  color: var(--success);
}

.academy-decision-compass__proof span {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
}

.academy-decision-evidence-item--green {
  border-color: #b9dec9;
  background: #f4fbf6;
}

.academy-decision-evidence-item--amber {
  border-color: #ead7aa;
  background: #fffaf0;
}

.academy-quality-evidence-panel {
  display: grid;
  gap: 16px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid #b8d8d5;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbfa 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-quality-evidence-panel--amber {
  border-color: #ecd7a8;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-quality-evidence-panel--red {
  border-color: #efc4bb;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-quality-evidence-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.academy-quality-evidence-head p:not(.eyebrow) {
  max-width: 820px;
}

.academy-quality-evidence-score {
  display: grid;
  gap: 4px;
  min-width: 118px;
  padding: 14px;
  border: 1px solid rgba(21, 80, 72, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
}

.academy-quality-evidence-score span,
.academy-quality-evidence-metrics span,
.academy-quality-evidence-item span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.academy-quality-evidence-score strong {
  color: var(--ink);
  font-size: 2.1rem;
  line-height: 1;
}

.academy-quality-evidence-metrics,
.academy-quality-evidence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.academy-quality-evidence-metrics article,
.academy-quality-evidence-item {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 148px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-quality-evidence-metrics strong,
.academy-quality-evidence-item strong,
.academy-quality-evidence-item b {
  color: var(--ink);
  line-height: 1.2;
}

.academy-quality-evidence-metrics strong {
  font-size: 1.35rem;
}

.academy-quality-evidence-item b {
  font-size: 0.96rem;
}

.academy-quality-evidence-metrics p,
.academy-quality-evidence-item p {
  margin: 0;
  color: var(--muted);
  font-weight: 760;
}

.academy-quality-evidence-item--green {
  border-color: #b9dec9;
  background: #f4fbf6;
}

.academy-quality-evidence-item--amber {
  border-color: #ead7aa;
  background: #fffaf0;
}

.academy-quality-evidence-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.academy-decision-recommendation {
  border-color: #b8d8d5;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbfa 100%);
}

.academy-decision-recommendation--amber {
  border-color: #ecd7a8;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.academy-decision-recommendation--red {
  border-color: #efc4bb;
  background: linear-gradient(180deg, #ffffff 0%, #fff4f1 100%);
}

.academy-decision-recommendation-card {
  min-height: 142px;
  border-left: 4px solid #b9dec9;
}

.academy-decision-recommendation-card--amber {
  border-left-color: #e2bd69;
  background: #fffaf0;
}

.academy-decision-recommendation-card--red {
  border-left-color: #d76750;
  background: #fff4f1;
}

.academy-decision-risk-list {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #c5d6ea;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.academy-decision-risk-list ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-decision-risk-list li {
  display: grid;
  grid-template-columns: minmax(150px, 0.36fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-decision-faq-list article {
  min-height: 118px;
  background: #fbfdfd;
}

.academy-decision-faq-list h3 {
  font-size: 1.02rem;
}

.academy-decision-workflow-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-decision-workflow-list li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-decision-workflow-list li > span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: var(--ink);
  color: var(--white);
  font-weight: 900;
}

.academy-decision-split {
  margin: 0 0 28px;
}

.academy-decision-split article {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 22px;
}

.academy-decision-split ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.academy-learning-path--brief {
  margin-top: 0;
}

.academy-course-preview {
  display: grid;
  gap: 16px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-preview-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.academy-preview-metrics article {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 126px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-preview-metrics span,
.academy-preview-path h3 {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-preview-metrics strong {
  color: var(--ink);
  font-size: 1.24rem;
  line-height: 1.16;
}

.academy-preview-metrics p,
.academy-preview-path li,
.academy-preview-path span {
  color: var(--muted);
}

.academy-preview-metrics p {
  margin: 0;
}

.academy-preview-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

.academy-preview-path {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-preview-path--locked {
  background: #f6f9fd;
}

.academy-preview-path h3 {
  margin: 0;
}

.academy-preview-path ol,
.academy-preview-path ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 22px;
}

.academy-preview-path a:not(.button-link) {
  color: var(--ink);
  font-weight: 850;
  text-decoration: none;
}

.academy-preview-path a:not(.button-link):hover {
  color: var(--accent);
}

.academy-preview-path span {
  display: block;
  margin-top: 2px;
  font-size: 0.86rem;
  font-weight: 750;
}

.academy-learning-path {
  display: grid;
  gap: 16px;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid #c5d6ea;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  box-shadow: 0 12px 34px rgba(16, 24, 32, 0.05);
}

.academy-learning-path-metrics,
.academy-learning-path-grid,
.academy-learning-path-next {
  display: grid;
  gap: 12px;
}

.academy-learning-path-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-learning-path-metrics article,
.academy-learning-path-step,
.academy-learning-path-next a {
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.academy-learning-path-metrics article {
  min-height: 126px;
  padding: 16px;
}

.academy-learning-path-metrics span,
.academy-learning-path-step > span,
.academy-learning-path-step dt {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-learning-path-metrics strong {
  color: var(--ink);
  font-size: 1.24rem;
  line-height: 1.16;
}

.academy-learning-path-metrics p,
.academy-learning-path-step p,
.academy-learning-path-step dd {
  margin: 0;
  color: var(--muted);
}

.academy-learning-path-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.academy-learning-path-chips span {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 6px;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid #cfe0e5;
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.academy-learning-path-chips strong {
  color: var(--ink);
  font-size: 0.76rem;
  text-transform: uppercase;
}

.academy-learning-path-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-learning-path-step {
  min-height: 100%;
  padding: 18px;
}

.academy-learning-path-step h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.2rem;
  line-height: 1.18;
}

.academy-learning-path-step dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 6px 0 0;
}

.academy-learning-path-step dl div {
  display: grid;
  gap: 4px;
  min-height: 76px;
  padding: 10px;
  border: 1px solid rgba(215, 224, 228, 0.9);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-learning-path-step dd {
  font-weight: 820;
  line-height: 1.32;
}

.academy-learning-path-step .button-link {
  align-self: end;
  justify-content: center;
}

.academy-learning-path-next {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-learning-path-next a {
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  min-height: 70px;
  padding: 14px;
  color: var(--ink);
  text-decoration: none;
}

.academy-learning-path-next a:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.academy-learning-path-next span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--ink);
  color: var(--white);
  font-size: 0.84rem;
  font-weight: 900;
}

.academy-learning-path-next strong {
  line-height: 1.18;
}

.academy-text-band {
  display: grid;
  gap: 12px;
  margin: 0 0 28px;
}

.academy-module-list {
  display: grid;
  gap: 14px;
  margin: 34px 0 0;
}

.academy-competency-map {
  display: grid;
  gap: 18px;
  margin: 34px 0 0;
}

.academy-competency-mini {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.academy-competency-mini > strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.academy-competency-mini > div {
  display: grid;
  gap: 6px;
}

.academy-competency-mini span,
.academy-competency-mini em {
  color: var(--muted);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 850;
}

.academy-competency-mini em {
  color: var(--accent);
}

.academy-competency-radar {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
}

.academy-competency-radar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.academy-competency-radar-item {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 100%;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.academy-competency-radar-item--green {
  border-color: #b9d8ce;
  background: #f0faf6;
}

.academy-competency-radar-item--amber {
  border-color: #e7cf9d;
  background: #fffaf0;
}

.academy-competency-radar-item--blue {
  border-color: #c5d6ea;
  background: #f6f9fd;
}

.academy-competency-radar-item div:first-child {
  display: grid;
  gap: 5px;
}

.academy-competency-radar-item span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-competency-radar-item strong {
  color: var(--ink);
  font-size: 1.02rem;
}

.academy-competency-radar-item small {
  color: var(--muted);
  font-weight: 800;
}

.academy-competency-radar-item a,
.academy-radar-complete {
  color: var(--ink);
  font-weight: 900;
  text-decoration: none;
}

.academy-competency-radar-item a:hover {
  color: var(--accent);
}

.academy-competency-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.academy-competency-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 100%;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.academy-competency-card > span,
.academy-lesson-competencies li span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-competency-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.15rem;
}

.academy-competency-card p,
.academy-competency-card li {
  color: var(--muted);
}

.academy-competency-card ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.academy-competency-card a {
  color: var(--ink);
  font-weight: 850;
  text-decoration: none;
}

.academy-competency-card a:hover {
  color: var(--accent);
}

.academy-lesson-competencies {
  display: grid;
  grid-template-columns: minmax(220px, 0.32fr) minmax(0, 0.68fr);
  gap: 18px;
  align-items: start;
  margin: 0 0 28px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-lesson-competencies h2 {
  margin: 0;
  color: var(--ink);
}

.academy-lesson-competencies ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-lesson-competencies li {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-lesson-competencies li strong {
  color: var(--ink);
}

.academy-module {
  display: grid;
  grid-template-columns: minmax(260px, 0.45fr) minmax(0, 0.55fr);
  gap: 18px;
}

.academy-module ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 22px;
}

.academy-module li {
  position: relative;
  color: var(--muted);
}

.academy-module li.academy-lesson-current {
  padding: 10px 12px;
  border: 1px solid #b9d8ce;
  border-radius: 8px;
  background: #f0faf6;
  color: var(--ink);
}

.academy-module li a {
  color: var(--ink);
  font-weight: 850;
  text-decoration: none;
}

.academy-module li a:hover {
  color: var(--accent);
}

.academy-module li small,
.academy-module li span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 750;
}

.academy-module-progress {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.academy-module-progress strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.academy-enquiry {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.58fr);
  gap: 22px;
  margin: 34px 0 0;
}

.academy-enquiry--inquiry {
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 0.66fr);
}

.academy-enquiry--inquiry ul {
  margin: 14px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.academy-inquiry-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-inquiry-form label:nth-last-of-type(-n + 3),
.academy-inquiry-form .academy-checkbox-label,
.academy-inquiry-form button {
  grid-column: 1 / -1;
}

.academy-enquiry--compact {
  margin-top: 28px;
}

.academy-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
  color: var(--ink);
}

.academy-checkbox-label input {
  flex: 0 0 auto;
  width: 18px;
  min-height: 18px;
  margin-top: 2px;
}

.academy-result-note {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid #b9d8ce;
  border-radius: 8px;
  background: #f0faf6;
  color: var(--success);
  font-weight: 800;
}

.academy-assessment-fieldset {
  display: grid;
  gap: 14px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.academy-assessment-fieldset legend {
  margin-bottom: 4px;
  color: var(--ink);
  font-size: 1.15rem;
  font-weight: 900;
}

.academy-assessment-question {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-assessment-question > span {
  color: var(--success);
  font-size: 0.88rem;
  font-weight: 850;
}

.academy-assessment-question p {
  margin: 0;
  color: var(--muted);
}

.academy-choice-list {
  display: grid;
  gap: 8px;
}

.academy-choice-list label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: var(--ink);
}

.academy-choice-list input {
  width: 18px;
  min-height: 18px;
  margin-top: 2px;
}

.academy-certificate {
  display: grid;
  gap: 22px;
  max-width: 920px;
  margin: 46px auto 0;
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 111, 131, 0.07), rgba(255, 255, 255, 0) 42%),
    var(--white);
  box-shadow: var(--shadow);
}

.academy-certificate h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
}

.academy-certificate dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.academy-certificate dl div {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-certificate dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-certificate dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-certificate > p:last-of-type {
  margin: 0;
  color: var(--muted);
}

.academy-certificate-dossier,
.academy-public-dossier {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-public-dossier {
  margin-top: 12px;
}

.academy-dossier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.academy-dossier-card {
  min-height: 128px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-dossier-card span,
.academy-dossier-list span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-dossier-card strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 1.45rem;
  font-weight: 950;
}

.academy-dossier-card p {
  margin: 8px 0 0;
  color: var(--muted);
}

.academy-dossier-card--green {
  border-color: rgba(44, 122, 72, 0.3);
  box-shadow: inset 0 4px 0 #2c7a48;
}

.academy-dossier-card--amber {
  border-color: rgba(161, 98, 7, 0.3);
  box-shadow: inset 0 4px 0 #a16207;
}

.academy-dossier-card--red {
  border-color: rgba(185, 28, 28, 0.3);
  box-shadow: inset 0 4px 0 #b91c1c;
}

.academy-dossier-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.academy-dossier-columns article,
.academy-dossier-practice {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-dossier-columns h3,
.academy-dossier-practice h3,
.academy-public-dossier h3 {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 1.1rem;
}

.academy-dossier-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.academy-dossier-list li {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-dossier-list strong {
  color: var(--ink);
  font-weight: 900;
}

.academy-dossier-list small {
  color: var(--muted);
  font-weight: 750;
}

.academy-verification-result {
  display: grid;
  gap: 14px;
  max-width: 920px;
  margin: 28px auto 0;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.academy-verification-result h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.academy-verification-result dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.academy-verification-result dl div {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}

.academy-verification-result dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.academy-verification-result dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-weight: 850;
}

.academy-verification-result p:last-child {
  margin: 0;
  color: var(--muted);
}

.form-error {
  color: var(--danger);
  font-size: 0.9rem;
  font-weight: 800;
}

.academy-lesson-body {
  max-width: 820px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.academy-rich-text {
  display: grid;
  gap: 12px;
}

.academy-rich-text p {
  margin: 0;
}

@media (max-width: 980px) {
  .academy-filter-form--catalog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-filter-form--compare {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-filter-search {
    grid-column: 1 / -1;
  }

  .academy-filter-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .academy-filter-chips {
    justify-content: flex-start;
  }

  .academy-card-grid,
  .academy-course-grid,
	  .academy-learning-grid,
		  .academy-dashboard-cockpit__metrics,
		  .academy-today-plan__metrics,
		  .academy-week-plan__metrics,
		  .academy-achievement-log__metrics,
		  .academy-dashboard-cockpit__focus,
  .academy-inquiry-steps,
  .academy-session-metrics,
  .academy-session-quick,
  .academy-session-route-grid,
  .academy-decision-metrics,
  .academy-decision-routes,
  .academy-decision-steps,
  .academy-service-fit-grid,
  .academy-service-inquiry-grid,
  .academy-service-trust,
  .academy-service-choice__facts,
  .academy-service-choice__grid,
  .academy-material-navigator-summary,
  .academy-material-grid--navigator,
  .academy-material-meta,
  .academy-quality-standard-metrics,
  .academy-quality-principle-grid,
  .academy-quality-evidence-grid,
  .academy-quality-role-grid,
  .academy-quality-limits-grid,
  .academy-profile-intro,
  .academy-profile-signals,
  .academy-profile-principle-grid,
  .academy-profile-workflow-grid,
  .academy-prefill-note,
  .academy-catalog-guide-grid,
  .academy-compare-summary-grid,
  .academy-compare-guide-grid,
  .academy-compare-grid,
	  .academy-competency-grid,
	  .academy-competency-radar-grid,
	  .academy-learning-coach__grid,
	  .academy-exam-readiness__grid,
	  .academy-exam-summary,
	  .academy-exam-review-grid,
	  .academy-exam-history-list,
	  .academy-study-goal-grid,
  .academy-progress-report__metrics,
  .academy-progress-report-actions,
  .academy-progress-report-milestones,
  .academy-progress-report-course__status dl,
  .academy-session-detail-facts,
  .academy-session-detail-card-grid,
  .academy-session-detail-split dl,
	  .academy-diagnostic-result-grid,
  .academy-study-plan-summary,
  .academy-session-grid,
  .academy-certificate dl,
  .academy-verification-result dl,
  .academy-dossier-columns,
  .academy-info-grid,
  .academy-decision-compass__grid,
  .academy-decision-matrix,
  .academy-decision-route-grid,
  .academy-decision-evidence-grid,
  .academy-decision-recommendation-grid,
  .academy-decision-faq-list,
  .academy-decision-split,
  .academy-quality-evidence-metrics,
  .academy-quality-evidence-grid,
  .academy-preview-metrics,
  .academy-preview-split,
  .academy-learning-path-metrics,
  .academy-learning-path-grid,
  .academy-learning-path-next,
  .academy-recommendation-card,
  .academy-material-summary,
  .academy-material-grid,
  .academy-quality-grid,
  .academy-quality-quotes,
  .academy-support-grid,
  .academy-course-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-recommendation-card__actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

	  .academy-hero,
		  .academy-dashboard-cockpit__head,
		  .academy-today-plan__head,
		  .academy-week-plan__head,
		  .academy-achievement-log__head,
		  .academy-progress-report__head,
  .academy-decision-compass__head,
  .academy-quality-evidence-head,
  .academy-service-choice__head,
  .academy-service-choice__hint,
  .academy-decision-final,
  .academy-decision-head,
  .academy-session-workflow,
  .academy-session-detail-split,
	  .academy-quality-roles,
	  .academy-module,
	  .academy-enquiry,
	  .academy-lesson-competencies,
	  .academy-learning-coach__head,
  .academy-diagnostic-layout,
	  .academy-progress-panel {
    grid-template-columns: 1fr;
  }

  .academy-diagnostic-context {
    position: static;
  }
}

@media (max-width: 700px) {
  .academy-shell {
    width: min(100% - 24px, 1180px);
    padding: 20px 0 48px;
  }

  .academy-topbar {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 12px;
  }

  .academy-brand {
    flex: 1 1 auto;
  }

  .academy-topbar .button-link {
    width: auto;
    min-height: 38px;
    padding: 8px 12px;
  }

  .academy-topbar nav {
    order: 3;
    flex: 1 1 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 0 6px;
    scrollbar-width: thin;
  }

  .academy-topbar nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .academy-card-grid,
  .academy-course-grid,
	  .academy-learning-grid,
		  .academy-dashboard-cockpit__metrics,
		  .academy-today-plan__metrics,
		  .academy-week-plan__metrics,
		  .academy-achievement-log__metrics,
		  .academy-dashboard-cockpit__focus,
		  .academy-dashboard-cockpit__head,
		  .academy-today-plan__head,
		  .academy-week-plan__head,
		  .academy-achievement-log__head,
  .academy-inquiry-steps,
  .academy-session-metrics,
  .academy-session-quick,
  .academy-session-route-grid,
  .academy-decision-head,
  .academy-decision-metrics,
  .academy-decision-routes,
  .academy-decision-steps,
  .academy-service-fit-grid,
  .academy-service-inquiry-grid,
  .academy-service-inquiry-check,
  .academy-service-trust,
  .academy-service-choice__head,
  .academy-service-choice__facts,
  .academy-service-choice__grid,
  .academy-service-choice__hint,
  .academy-material-navigator-summary,
  .academy-material-grid--navigator,
  .academy-material-meta,
  .academy-quality-standard-metrics,
  .academy-quality-principle-grid,
  .academy-quality-evidence-grid,
  .academy-quality-role-grid,
  .academy-quality-limits-grid,
  .academy-quality-roles,
  .academy-profile-intro,
  .academy-profile-signals,
  .academy-profile-principle-grid,
  .academy-profile-workflow-grid,
  .academy-prefill-note,
  .academy-catalog-guide-grid,
  .academy-info-grid,
  .academy-decision-compass__grid,
  .academy-decision-matrix,
  .academy-decision-route-grid,
  .academy-decision-evidence-grid,
  .academy-decision-recommendation-grid,
  .academy-decision-faq-list,
  .academy-decision-split,
  .academy-decision-compass__head,
  .academy-decision-compass__proof,
  .academy-quality-evidence-head,
  .academy-quality-evidence-metrics,
  .academy-quality-evidence-grid,
  .academy-quality-evidence-actions,
  .academy-decision-risk-list li,
  .academy-decision-final,
	  .academy-competency-grid,
	  .academy-competency-radar-grid,
	  .academy-learning-coach__grid,
	  .academy-learning-coach__head,
	  .academy-exam-readiness__grid,
	  .academy-exam-summary,
	  .academy-exam-summary dl,
	  .academy-exam-summary-mini dl,
	  .academy-exam-review-grid,
	  .academy-exam-history-list,
		  .academy-study-goal-grid,
  .academy-progress-report__metrics,
  .academy-progress-report-actions,
  .academy-progress-report-milestones,
  .academy-progress-report-course__status dl,
  .academy-session-detail-facts,
  .academy-session-detail-card-grid,
  .academy-session-detail-split,
  .academy-session-detail-split dl,
	  .academy-diagnostic-result-grid,
  .academy-study-plan-summary,
  .academy-session-grid,
  .academy-lesson-competencies ul,
  .academy-session-card dl,
  .academy-session-workflow,
  .academy-filter-form,
  .academy-inquiry-form,
  .academy-certificate dl,
  .academy-verification-result dl,
  .academy-dossier-columns,
  .academy-journal-grid,
  .academy-journal-mini dl,
  .academy-preview-metrics,
  .academy-preview-split,
  .academy-learning-path-metrics,
  .academy-learning-path-grid,
  .academy-learning-path-next,
  .academy-learning-path-step dl,
  .academy-decision-workflow-list li,
  .academy-compare-summary-grid,
  .academy-compare-guide-grid,
  .academy-compare-grid,
  .academy-compare-facts,
  .academy-compare-signals,
  .academy-recommendation-card,
  .academy-recommendation-card dl,
  .academy-recommendation-card__actions,
  .academy-material-summary,
  .academy-material-grid,
  .academy-material-lock,
  .academy-quality-grid,
  .academy-quality-quotes,
  .academy-support-grid,
  .academy-support-mini dl,
  .academy-study-goal-mini dl,
  .academy-study-goal-form,
  .academy-diagnostic-layout,
  .academy-feedback-form__ratings,
  .academy-prefill-note dl,
  .academy-course-facts {
    grid-template-columns: 1fr;
  }

  .academy-recommendation-card__actions {
    grid-column: auto;
  }

  .academy-hero {
    padding-top: 30px;
  }

			  .academy-study-plan-item,
			  .academy-quality-workflow-list li,
			  .academy-today-plan__item,
			  .academy-week-plan__item,
			  .academy-achievement-log__item,
		  .academy-progress-report-today__item,
  .academy-session-detail-timeline li,
	  .academy-diagnostic-plan li,
	  .academy-study-plan-mini__item,
	  .academy-learning-coach-mini__item,
	  .academy-exam-readiness-mini__item {
    grid-template-columns: 1fr;
  }

  .academy-study-plan-mini__item em {
    grid-column: auto;
  }

  .academy-learning-path-chips span {
    grid-auto-flow: row;
    justify-items: start;
  }

  .academy-filter-search {
    grid-column: auto;
  }

  .academy-inquiry-form label:nth-last-of-type(-n + 3),
  .academy-inquiry-form .academy-checkbox-label,
  .academy-inquiry-form button {
    grid-column: auto;
  }
}

.academy-competency-hero {
  align-items: stretch;
}

.academy-competency-status {
  min-height: 100%;
}

.academy-filter-form--competency {
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto;
}

.academy-competency-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0;
}

.academy-competency-metrics article {
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(19, 36, 54, 0.08);
  padding: 18px;
}

.academy-competency-metrics strong {
  color: #12344d;
  display: block;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1;
}

.academy-competency-metrics span {
  color: #0f6a67;
  display: block;
  font-weight: 800;
  margin-top: 8px;
}

.academy-competency-metrics p {
  color: #536779;
  margin: 8px 0 0;
}

.academy-competency-map {
  margin-top: 30px;
}

.academy-competency-level-grid {
  display: grid;
  gap: 20px;
}

.academy-competency-level {
  background: linear-gradient(180deg, #ffffff, #f7fbfb);
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  box-shadow: 0 22px 56px rgba(18, 52, 77, 0.08);
  padding: 18px;
}

.academy-competency-level > header {
  align-items: center;
  border-bottom: 1px solid rgba(17, 49, 70, 0.1);
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 14px;
}

.academy-competency-level > header span {
  color: #0f6a67;
  display: block;
  font-size: 0.85rem;
  font-weight: 800;
  text-transform: uppercase;
}

.academy-competency-level > header h3 {
  color: #12344d;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  margin: 4px 0 0;
}

.academy-competency-card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-competency-card {
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  grid-template-rows: auto auto auto 1fr auto;
  min-width: 0;
  padding: 18px;
}

.academy-competency-card--green {
  border-top: 5px solid #118264;
}

.academy-competency-card--amber {
  border-top: 5px solid #b7791f;
}

.academy-competency-card--red {
  border-top: 5px solid #b91c1c;
}

.academy-competency-card--blue {
  border-top: 5px solid #2563eb;
}

.academy-competency-card header span {
  background: rgba(15, 106, 103, 0.1);
  border-radius: 999px;
  color: #0f6a67;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 10px;
  padding: 5px 9px;
}

.academy-competency-card h4 {
  color: #12344d;
  font-size: 1.15rem;
  line-height: 1.25;
  margin: 0;
}

.academy-competency-card p {
  color: #4c5f70;
  margin: 8px 0 0;
}

.academy-competency-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.academy-competency-facts div {
  background: #f5f8fa;
  border: 1px solid rgba(17, 49, 70, 0.08);
  border-radius: 8px;
  padding: 10px;
}

.academy-competency-facts dt {
  color: #68798a;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.academy-competency-facts dd {
  color: #12344d;
  font-weight: 800;
  margin: 4px 0 0;
}

.academy-competency-evidence {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-signal {
  border-radius: 8px;
  display: grid;
  gap: 2px;
  padding: 10px;
}

.academy-signal strong {
  display: block;
}

.academy-signal--green {
  background: rgba(17, 130, 100, 0.11);
  color: #0b644b;
}

.academy-signal--amber {
  background: rgba(183, 121, 31, 0.12);
  color: #7a4b10;
}

.academy-signal--red {
  background: rgba(185, 28, 28, 0.1);
  color: #8d1818;
}

.academy-competency-lessons {
  border-top: 1px solid rgba(17, 49, 70, 0.1);
  padding-top: 14px;
}

.academy-competency-lessons > strong {
  color: #12344d;
  display: block;
  margin-bottom: 10px;
}

.academy-competency-lessons ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.academy-competency-lessons li {
  background: #f7fafb;
  border: 1px solid rgba(17, 49, 70, 0.08);
  border-radius: 8px;
  display: grid;
  gap: 3px;
  padding: 10px;
}

.academy-competency-lessons span,
.academy-competency-lessons small {
  color: #68798a;
}

.academy-competency-lessons a,
.academy-competency-lessons em {
  color: #12344d;
  font-style: normal;
  font-weight: 800;
}

.academy-competency-actions,
.academy-competency-data-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.academy-competency-data {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 28px;
  padding: 22px;
}

.academy-competency-data h2 {
  color: #12344d;
  margin: 4px 0 0;
}

.academy-competency-data p {
  color: #536779;
  margin: 8px 0 0;
}

@media (max-width: 900px) {
  .academy-filter-form--competency,
  .academy-competency-card-grid,
  .academy-competency-data {
    grid-template-columns: 1fr;
  }

  .academy-competency-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .academy-competency-metrics,
  .academy-competency-facts,
  .academy-competency-evidence {
    grid-template-columns: 1fr;
  }

  .academy-competency-actions .button-link,
  .academy-competency-data-actions .button-link {
    justify-content: center;
    width: 100%;
  }
}

.academy-syllabus-hero {
  align-items: stretch;
}

.academy-syllabus-metrics {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 22px 0;
}

.academy-syllabus-metrics article {
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(19, 36, 54, 0.08);
  padding: 16px;
}

.academy-syllabus-metrics span,
.academy-syllabus-module > header span,
.academy-syllabus-gate span {
  color: #0f6a67;
  display: block;
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
}

.academy-syllabus-metrics strong {
  color: #12344d;
  display: block;
  font-size: clamp(1.35rem, 2.5vw, 2.1rem);
  line-height: 1.05;
  margin-top: 8px;
}

.academy-syllabus-metrics p {
  color: #536779;
  margin: 8px 0 0;
}

.academy-syllabus-gates,
.academy-syllabus-map,
.academy-syllabus-data,
.academy-syllabus-next {
  margin-top: 28px;
}

.academy-syllabus-gate-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-syllabus-gate {
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  padding: 16px;
}

.academy-syllabus-gate--green {
  border-left: 5px solid #118264;
}

.academy-syllabus-gate--amber {
  border-left: 5px solid #b7791f;
}

.academy-syllabus-gate strong,
.academy-syllabus-gate b {
  color: #12344d;
  display: block;
  margin-top: 7px;
}

.academy-syllabus-gate p {
  color: #536779;
  margin: 8px 0 0;
}

.academy-syllabus-module-list {
  display: grid;
  gap: 18px;
}

.academy-syllabus-module {
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  box-shadow: 0 22px 56px rgba(18, 52, 77, 0.08);
  padding: 18px;
}

.academy-syllabus-module > header {
  align-items: start;
  border-bottom: 1px solid rgba(17, 49, 70, 0.1);
  display: grid;
  gap: 16px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding-bottom: 16px;
}

.academy-syllabus-module h3,
.academy-syllabus-lesson h4,
.academy-syllabus-data h2 {
  color: #12344d;
  margin: 0;
}

.academy-syllabus-module p,
.academy-syllabus-lesson p,
.academy-syllabus-data p {
  color: #536779;
  margin: 6px 0 0;
}

.academy-syllabus-module > header > strong {
  background: #f5f8fa;
  border-radius: 999px;
  color: #12344d;
  padding: 8px 10px;
  white-space: nowrap;
}

.academy-syllabus-module-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.academy-syllabus-module-facts span,
.academy-syllabus-lesson-tags em,
.academy-syllabus-competencies small {
  background: #f5f8fa;
  border: 1px solid rgba(17, 49, 70, 0.08);
  border-radius: 999px;
  color: #12344d;
  font-style: normal;
  font-weight: 700;
  padding: 6px 9px;
}

.academy-syllabus-lesson-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.academy-syllabus-lesson {
  align-items: start;
  background: #f9fbfc;
  border: 1px solid rgba(17, 49, 70, 0.1);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  padding: 14px;
}

.academy-syllabus-lesson--green {
  border-left: 5px solid #118264;
}

.academy-syllabus-lesson--amber {
  border-left: 5px solid #b7791f;
}

.academy-syllabus-lesson > span {
  align-items: center;
  background: #12344d;
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.academy-syllabus-lesson-tags,
.academy-syllabus-competencies {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.academy-syllabus-competencies small {
  background: rgba(15, 106, 103, 0.1);
  color: #0f6a67;
}

.academy-syllabus-lesson > strong {
  color: #7a4b10;
  white-space: nowrap;
}

.academy-syllabus-data {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(17, 49, 70, 0.12);
  border-radius: 8px;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 22px;
}

.academy-syllabus-data-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

@media (max-width: 1000px) {
  .academy-syllabus-metrics,
  .academy-syllabus-gate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-syllabus-data,
  .academy-syllabus-module > header,
  .academy-syllabus-lesson {
    grid-template-columns: 1fr;
  }

  .academy-syllabus-data-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  .academy-syllabus-metrics,
  .academy-syllabus-gate-grid {
    grid-template-columns: 1fr;
  }

  .academy-syllabus-lesson > span {
    border-radius: 999px;
    height: auto;
    min-height: 36px;
    width: max-content;
  }

  .academy-syllabus-data-actions .button-link,
  .academy-syllabus-lesson .button-link {
    justify-content: center;
    width: 100%;
  }
}

@media print {
  body {
    background: #ffffff;
  }

  .directory-shell {
    width: 100%;
    padding: 0;
  }

  .directory-topbar nav,
  .action-row,
  .submission-band {
    display: none;
  }

  .provider-profile,
  .dashboard-grid,
  .profile-grid {
    grid-template-columns: 1fr;
    break-inside: avoid;
  }

  .provider-card,
  .profile-grid article,
  .dashboard-grid article,
  .submission-band,
  .profile-facts {
    border-color: #b9c4c8;
    box-shadow: none;
  }
}
