/* LMC Academy standalone site shell
   Keeps the existing Academy/R2 learning engine intact while separating
   the learner-facing brand from the parent Career Intelligence Platform. */

:root {
  --lmc-ink: #0a1733;
  --lmc-navy: #071b3d;
  --lmc-blue: #1f5cff;
  --lmc-mint: #73e7bd;
  --lmc-cream: #f5f0e6;
  --lmc-paper: #f7f9fc;
  --lmc-line: rgba(10, 23, 51, .11);
  --lmc-muted: #667087;
  --lmc-shadow: 0 24px 70px rgba(8, 26, 63, .14);
}

html { scroll-behavior: smooth; }
body.academy-page {
  margin: 0;
  color: var(--lmc-ink);
  background:
    radial-gradient(circle at 12% -6%, rgba(31, 92, 255, .08), transparent 28%),
    linear-gradient(180deg, #f9fbff 0%, #edf3fa 100%);
}
body.academy-page * { box-sizing: border-box; }

.lmc-site-shell { min-height: 100vh; }
.lmc-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(10, 23, 51, .08);
  background: rgba(249, 251, 255, .88);
  backdrop-filter: blur(18px) saturate(140%);
}
.lmc-site-header-inner {
  width: min(1180px, calc(100% - 40px));
  min-height: 76px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  gap: 26px;
  align-items: center;
}
.lmc-site-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--lmc-ink);
  text-decoration: none;
}
.lmc-site-mark {
  width: 34px;
  height: 34px;
  border-radius: 10px 10px 10px 3px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.2), transparent 42%),
    linear-gradient(145deg, var(--lmc-blue), var(--lmc-navy) 72%);
  box-shadow: 0 10px 22px rgba(31, 92, 255, .24);
  transform: rotate(-3deg);
}
.lmc-site-brand-copy { display: grid; gap: 3px; line-height: 1; }
.lmc-site-brand-copy strong {
  font-size: 17px;
  font-weight: 930;
  letter-spacing: -.035em;
}
.lmc-site-brand-copy small {
  color: var(--lmc-muted);
  font-size: 9px;
  font-weight: 780;
  letter-spacing: .09em;
}
.lmc-site-nav { display: flex; align-items: center; gap: 22px; }
.lmc-site-nav a {
  color: #4f5a70;
  text-decoration: none;
  font-size: 12px;
  font-weight: 820;
}
.lmc-site-nav a:hover,
.lmc-site-nav a:focus-visible { color: var(--lmc-blue); }
.lmc-site-entry {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border-radius: 999px;
  color: #fff;
  background: var(--lmc-navy);
  box-shadow: 0 10px 24px rgba(7, 27, 61, .14);
  text-decoration: none;
  font-size: 11px;
  font-weight: 880;
}
.lmc-site-entry:hover,
.lmc-site-entry:focus-visible { background: var(--lmc-blue); }

/* Break visual dependence on the parent platform shell without changing its data styles. */
.lmc-site-shell .academy-main { padding: 26px 0 30px; }
.lmc-site-shell .academy-viewport {
  border-color: rgba(10, 23, 51, .08);
  border-radius: 32px;
  box-shadow: var(--lmc-shadow);
}
.lmc-site-shell .academy-breadcrumb { color: #6a7489; }
.lmc-site-shell .academy-breadcrumb a { color: var(--lmc-blue); }
.lmc-site-shell .academy-footer {
  margin-top: 72px;
  padding-top: 24px;
  border-top: 1px solid var(--lmc-line);
}
.lmc-site-shell .academy-footer span { color: #697387; }

/* Standalone landing page additions */
.academy-home-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
  gap: 26px;
  padding-top: 20px;
}
.academy-home-statement {
  min-height: 250px;
  padding: 34px;
  border-radius: 26px;
  color: #f8fbff;
  background:
    radial-gradient(circle at 85% 18%, rgba(115, 231, 189, .22), transparent 25%),
    linear-gradient(145deg, #071b3d, #12346e);
}
.academy-home-statement span,
.enroll-panel span,
.academy-proof-card span {
  display: block;
  margin-bottom: 14px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.academy-home-statement h2 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(31px, 4vw, 52px);
  line-height: 1.08;
  letter-spacing: -.055em;
}
.academy-home-statement p {
  max-width: 640px;
  margin: 22px 0 0;
  color: rgba(248, 251, 255, .72);
  font-size: 14px;
  line-height: 1.8;
}
.academy-proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.academy-proof-card {
  min-height: 118px;
  padding: 20px;
  border: 1px solid var(--lmc-line);
  border-radius: 20px;
  background: rgba(255,255,255,.82);
}
.academy-proof-card span { margin-bottom: 9px; color: #788196; }
.academy-proof-card strong {
  display: block;
  color: var(--lmc-ink);
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.04em;
}
.academy-proof-card p { margin: 8px 0 0; color: var(--lmc-muted); font-size: 11px; line-height: 1.55; }

.academy-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.academy-flow-step {
  position: relative;
  min-height: 185px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--lmc-line);
  border-radius: 22px;
  background: #fff;
}
.academy-flow-step::after {
  content: attr(data-step);
  position: absolute;
  right: 13px;
  bottom: -14px;
  color: rgba(31, 92, 255, .08);
  font-size: 82px;
  font-weight: 950;
  letter-spacing: -.08em;
}
.academy-flow-step span {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--lmc-blue);
  background: rgba(31, 92, 255, .08);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.academy-flow-step strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 20px;
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: -.035em;
}
.academy-flow-step p {
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  color: var(--lmc-muted);
  font-size: 12px;
  line-height: 1.65;
}

.enroll-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto;
  gap: 30px;
  align-items: center;
  padding: 34px;
  border-radius: 26px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 40%, rgba(115, 231, 189, .22), transparent 30%),
    linear-gradient(120deg, #0a204a 0%, #071b3d 62%, #0d3268 100%);
  box-shadow: 0 20px 46px rgba(7, 27, 61, .18);
}
.enroll-panel span { color: var(--lmc-mint); }
.enroll-panel h2 {
  margin: 0;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.1;
  letter-spacing: -.05em;
}
.enroll-panel p { max-width: 720px; margin: 15px 0 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.7; }
.enroll-actions { display: grid; gap: 10px; min-width: 190px; }
.enroll-actions a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 14px;
  text-decoration: none;
  font-size: 11px;
  font-weight: 900;
}
.enroll-actions .buy { color: var(--lmc-navy); background: var(--lmc-mint); }
.enroll-actions .enter { color: #fff; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); }

.academy-note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.academy-note-card {
  padding: 24px;
  border: 1px solid var(--lmc-line);
  border-radius: 20px;
  background: rgba(255,255,255,.78);
}
.academy-note-card strong { display: block; margin-bottom: 9px; font-size: 16px; letter-spacing: -.025em; }
.academy-note-card p { margin: 0; color: var(--lmc-muted); font-size: 12px; line-height: 1.7; }

/* Entry/course/lesson header context */
.academy-entry-page .entry-main { padding-top: 44px; }
.lmc-page-context {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #7b8496;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
}
.lmc-page-context::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--lmc-mint);
}

@media (max-width: 900px) {
  .lmc-site-header-inner {
    grid-template-columns: 1fr auto;
    width: min(100% - 28px, 1180px);
    min-height: 68px;
    gap: 12px;
  }
  .lmc-site-nav { display: none; }
  .lmc-site-brand-copy small { display: none; }
  .lmc-site-shell .academy-main { padding-top: 14px; }
  .academy-home-intro { grid-template-columns: 1fr; }
  .academy-flow { grid-template-columns: 1fr 1fr; }
  .enroll-panel { grid-template-columns: 1fr; }
  .enroll-actions { grid-template-columns: 1fr 1fr; }
  .academy-note-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .lmc-site-header-inner { width: calc(100% - 22px); }
  .lmc-site-mark { width: 30px; height: 30px; }
  .lmc-site-brand-copy strong { font-size: 15px; }
  .lmc-site-entry { min-height: 38px; padding: 0 13px; font-size: 10px; }
  .lmc-site-shell .academy-viewport { border-radius: 22px; }
  .academy-home-statement { min-height: 0; padding: 25px 22px; border-radius: 20px; }
  .academy-proof-grid,
  .academy-flow { grid-template-columns: 1fr; }
  .academy-flow-step { min-height: 150px; }
  .enroll-panel { padding: 25px 22px; border-radius: 21px; }
  .enroll-actions { grid-template-columns: 1fr; }
}
