:root {
  --academy-ink:#0b272b;
  --academy-ink-soft:#17393d;
  --academy-teal:#0b6f69;
  --academy-teal-dark:#07534f;
  --academy-gold:#c5973f;
  --academy-paper:#ffffff;
  --academy-canvas:#f4f6f5;
  --academy-panel:#eef2f1;
  --academy-border:#d8e1df;
  --academy-muted:#607174;
  --academy-shadow:0 18px 45px rgba(9,39,43,.08);
}

body {
  background:var(--academy-canvas);
  color:var(--academy-ink);
}

.primary,
.ghost,
.link-button {
  min-height:44px;
  border-radius:10px;
  font-weight:800;
  box-shadow:none;
}

.primary {
  background:var(--academy-teal);
  color:#fff;
}

.primary:hover {
  background:var(--academy-teal-dark);
}

.ghost {
  background:#fff;
  border:1px solid var(--academy-border);
  color:var(--academy-ink);
}

.academy-nav {
  min-height:74px;
  padding-top:8px;
  padding-bottom:8px;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--academy-border);
  box-shadow:0 1px 0 rgba(9,39,43,.03);
  backdrop-filter:blur(12px);
}

.academy-brand {
  gap:12px;
  color:var(--academy-ink);
}

.academy-brand img {
  width:44px;
  height:44px;
  border-radius:10px;
  box-shadow:none;
}

.academy-brand small {
  color:var(--academy-teal);
  letter-spacing:1.7px;
}

.academy-nav nav {
  gap:6px;
  color:#456064;
}

.academy-nav nav a {
  padding:10px 14px;
  border-radius:9px;
}

.academy-nav nav a:hover,
.academy-nav nav a[aria-current="page"] {
  color:var(--academy-ink);
  background:#edf2f1;
}

.academy-actions {
  min-height:44px;
}

.academy-user-chip,
.academy-session-loading {
  border-color:var(--academy-border);
  border-radius:10px;
  box-shadow:none;
}

.academy-avatar {
  border-radius:8px;
  background:var(--academy-ink);
}

.academy-hero,
.page-hero {
  width:min(calc(100% - 40px),1240px);
  padding:76px 0 64px;
  gap:54px;
}

.academy-hero h1,
.page-hero h1 {
  max-width:780px;
  margin:22px 0 24px;
  font-size:clamp(48px,6.3vw,76px);
  line-height:1.01;
  letter-spacing:-3px;
}

.academy-hero h1 em,
.page-hero h1 em {
  color:var(--academy-gold);
  background:none;
  -webkit-text-fill-color:currentColor;
}

.academy-hero p,
.page-hero > div > p,
.dashboard-hero p {
  max-width:690px;
  color:var(--academy-muted);
  font-size:18px;
  line-height:1.72;
}

.eyebrow {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--academy-teal-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:1.35px;
  text-transform:uppercase;
}

.academy-search {
  max-width:680px;
  padding:7px;
  border:1px solid #ccd8d6;
  border-radius:12px;
  box-shadow:none;
}

.academy-search input {
  min-height:46px;
  padding:0 14px;
}

.academy-search button {
  min-height:46px;
  padding:0 22px;
  border-radius:8px;
  background:var(--academy-ink);
}

.hero-meta {
  gap:24px;
  margin-top:18px;
  color:#5b6e71;
  font-size:12px;
  letter-spacing:.2px;
}

.hero-card {
  padding:38px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  background:var(--academy-ink);
  box-shadow:var(--academy-shadow);
}

.hero-card::after {
  display:none;
}

.hero-card h2 {
  max-width:480px;
  margin:16px 0 28px;
  font-size:34px;
  line-height:1.12;
  letter-spacing:-1px;
}

.card-label {
  color:#b9c9c7;
  font-size:11px;
  letter-spacing:1.4px;
}

.metric-grid {
  gap:0;
  border-top:1px solid rgba(255,255,255,.14);
  border-left:1px solid rgba(255,255,255,.14);
}

.metric-grid div {
  min-height:112px;
  padding:20px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
}

.metric-grid strong {
  font-size:15px;
}

.metric-grid span {
  margin-top:7px;
  color:#b9c9c7;
  line-height:1.5;
}

.academy-section {
  width:min(calc(100% - 40px),1240px);
  padding:72px 0;
}

.academy-section#courses {
  padding-top:56px;
}

.section-head {
  margin-bottom:34px;
  padding-bottom:22px;
  border-bottom:1px solid var(--academy-border);
}

.section-head h2,
.form-layout h2 {
  margin-top:10px;
  font-size:clamp(34px,4vw,48px);
  letter-spacing:-1.5px;
}

.academy-section.soft {
  padding-top:76px;
  padding-bottom:76px;
  background:#fff;
  border-top:1px solid var(--academy-border);
  border-bottom:1px solid var(--academy-border);
}

.steps {
  gap:18px;
}

.steps article {
  position:relative;
  padding:30px;
  border:1px solid var(--academy-border);
  border-radius:14px;
  box-shadow:none;
}

.steps article::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--academy-gold);
}

.steps b {
  width:auto;
  height:auto;
  display:inline;
  border-radius:0;
  background:transparent;
  color:var(--academy-gold);
  font-size:12px;
  letter-spacing:1.2px;
}

.steps h3 {
  margin:14px 0 10px;
  font-size:21px;
}

.steps p {
  line-height:1.65;
}

.instructor-callout {
  margin-top:72px;
  margin-bottom:72px;
  padding:42px 46px;
  border-radius:20px;
  background:var(--academy-ink);
  color:#fff;
}

.instructor-callout .eyebrow {
  color:#d7b66d;
}

.instructor-callout h2 {
  margin:10px 0 12px;
  font-size:40px;
  letter-spacing:-1.4px;
}

.instructor-callout p {
  color:#c0cecc;
}

.instructor-callout .primary,
.instructor-callout .link-button {
  background:#fff;
  color:var(--academy-ink);
}

.dashboard-hero {
  width:min(calc(100% - 40px),1240px);
  padding:60px 0 34px;
  border-bottom:1px solid var(--academy-border);
}

.dashboard-hero h1 {
  font-size:clamp(40px,5vw,60px);
  letter-spacing:-2px;
}

.dashboard-grid {
  padding-top:42px;
}

.dashboard-side,
.learning-card,
.content-panel,
.academy-form,
.studio-panel,
.studio-kpis article {
  border-color:var(--academy-border);
  border-radius:14px;
  box-shadow:none;
}

.dashboard-side {
  padding:24px;
}

.account-card {
  border-radius:10px;
  background:var(--academy-panel);
}

.dashboard-side nav a {
  border-radius:8px;
}

.dashboard-side nav a.active,
.dashboard-side nav a:hover {
  background:#e5ecea;
  color:var(--academy-ink);
}

.form-layout {
  gap:58px;
}

.academy-form {
  padding:30px;
}

.academy-form input,
.academy-form select,
.academy-form textarea {
  border-color:#ccd7d5;
  border-radius:9px;
  background:#fff;
}

footer {
  min-height:92px;
  padding:26px max(20px,calc((100% - 1240px)/2));
  background:var(--academy-ink);
  color:#c6d1d0;
  border-top:0;
}

footer a {
  color:#fff;
}

@media (max-width:900px) {
  .academy-hero,
  .page-hero {
    padding:52px 0 44px;
    gap:34px;
  }

  .hero-card {
    padding:30px;
  }

  .academy-nav nav {
    border-color:var(--academy-border);
    border-radius:12px;
    box-shadow:var(--academy-shadow);
  }

  .instructor-callout {
    padding:34px;
  }
}

@media (max-width:620px) {
  .academy-hero,
  .page-hero,
  .academy-section,
  .dashboard-hero {
    width:min(calc(100% - 28px),1240px);
  }

  .academy-hero h1,
  .page-hero h1 {
    font-size:clamp(42px,13vw,58px);
    letter-spacing:-2px;
  }

  .metric-grid {
    grid-template-columns:1fr;
  }

  .metric-grid div {
    min-height:auto;
  }

  .section-head {
    align-items:flex-start;
  }

  .instructor-callout {
    margin-top:48px;
    margin-bottom:48px;
    padding:30px 24px;
    align-items:flex-start;
  }
}
