/* The Implant Academy: its own look for every student-facing page (academy, courses, course, sign-up, my courses, verify).
   Night-navy classroom header, blueprint grid paper behind the content, exercise-book cards. */
body.academy {
  --ac-night: #0E1A3A;
  --ac-grid: rgba(40, 93, 205, .075);
  background-color: var(--paper);
  background-image:
    linear-gradient(var(--ac-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--ac-grid) 1px, transparent 1px);
  background-size: 28px 28px;
}

/* header: the academy logo on night navy */
.academy .strip { background: #0A1430; }
.academy .nav:not(.minimal) { background: var(--ac-night); border-bottom-color: rgba(255, 255, 255, .08); }
.academy .nav:not(.minimal) ul { color: #C9D3EA; }
.academy .nav:not(.minimal) ul a:hover, .academy .nav:not(.minimal) ul a.on { color: #fff; }
.academy .nav:not(.minimal) ul a.on { box-shadow: inset 0 -2px 0 var(--sky); padding-bottom: 6px; }
.academy .nav:not(.minimal) .signin { color: #fff; }
.academy .nav:not(.minimal) .menu-btn { color: #fff; border-color: rgba(255, 255, 255, .25); }
.academy .nav.scrolled { box-shadow: 0 12px 30px -16px rgba(5, 12, 30, .6); }
.academy .nav.minimal { background: rgba(249, 241, 230, .92); }

/* hero: a blueprint board */
.ac-hero { position: relative; overflow: hidden; background: var(--ac-night); color: #fff; padding: 88px 0 104px; }
.ac-grid-bg { position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(169, 194, 245, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169, 194, 245, .07) 1px, transparent 1px),
    linear-gradient(rgba(169, 194, 245, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169, 194, 245, .12) 1px, transparent 1px);
  background-size: 28px 28px, 28px 28px, 140px 140px, 140px 140px;
  -webkit-mask-image: radial-gradient(120% 90% at 70% 40%, #000 35%, transparent 85%);
  mask-image: radial-gradient(120% 90% at 70% 40%, #000 35%, transparent 85%); }
.ac-mark { position: absolute; width: 520px; inset-inline-end: -90px; bottom: -150px; opacity: .06; }
.ac-hero .wrap { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.ac-hero .eyebrow { color: var(--sky); }
.ac-hero h1 { margin-top: 18px; font: 600 clamp(42px, 5.2vw, 74px)/1.02 var(--serif); font-variation-settings: "opsz" 72; letter-spacing: -.015em; color: #fff; max-width: 14ch; }
.ac-hero .lede { margin-top: 22px; max-width: 560px; color: #C9D3EA; font-size: 18px; }
.ac-hero .ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.btn-line { border: 1.5px solid rgba(255, 255, 255, .35); color: #fff; }
.btn-line:hover { background: #fff; color: var(--navy); border-color: #fff; }
.ac-tracks { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 12px 26px; margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .12); color: #DCE4F5; font-size: 15px; }
.ac-tracks li { display: flex; gap: 10px; align-items: center; }
.ac-tracks .ico { width: 20px; height: 20px; color: var(--sky); flex: none; }

/* the exercise book on the right */
.ac-notebook { position: relative; background: var(--paper); color: var(--navy); border-radius: 18px; padding: 24px 24px 24px 46px; transform: rotate(-2deg);
  box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);
  background-image: repeating-linear-gradient(transparent 0 31px, rgba(40, 93, 205, .16) 31px 32px);
  background-position: 0 70px; }
.ac-notebook::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: 30px; width: 2px; background: rgba(40, 93, 205, .35); }
[dir="rtl"] .ac-notebook { padding: 24px 46px 24px 24px; transform: rotate(2deg); }
.ac-nb-head { display: flex; gap: 12px; align-items: center; font: 500 13px/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--brand); }
.ac-nb-head img { width: 44px; height: 44px; }
[dir="rtl"] .ac-nb-head { letter-spacing: 0; text-transform: none; font-family: var(--kufi); }
.ac-nb-lines { display: grid; gap: 10px; margin: 22px 0 18px; }
.ac-nb-lines i { display: block; height: 7px; border-radius: 4px; background: rgba(20, 36, 75, .1); }
.ac-nb-lines i:nth-child(1) { width: 82%; } .ac-nb-lines i:nth-child(2) { width: 64%; } .ac-nb-lines i:nth-child(3) { width: 74%; }
.ac-nb-lines i:nth-child(4) { width: 40%; } .ac-nb-lines i:nth-child(5) { width: 56%; }
.ac-notebook .next-chip { position: static; display: block; width: auto; margin-top: 6px; transform: rotate(2deg); }
[dir="rtl"] .ac-notebook .next-chip { transform: rotate(-2deg); }
.ac-teacher-chip { display: flex; gap: 12px; align-items: center; margin-top: 18px; }
.ac-teacher-chip img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 50%; border: 2px solid #fff; }
.ac-teacher-chip b { display: block; font-weight: 600; font-size: 15px; }
.ac-teacher-chip span { font-size: 13px; color: var(--muted); }

/* smaller board for the courses page */
.ac-hero-sm { padding: 30px 0 76px; }
.ac-hero-sm .wrap { display: block; }
.ac-hero-sm .crumbs { padding-top: 0; color: #9FB0D6; }
.ac-hero-sm .crumbs a { color: #fff; }
.ac-hero-sm .eyebrow { margin-top: 42px; }
.ac-hero-sm h1 { max-width: none; }

/* sections */
.ac-upcoming { padding: 100px 0 90px; }
.ac-upcoming .head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
.ac-upcoming .h2 { margin-top: 14px; }
.ac-sub { margin-top: 12px; color: var(--muted); max-width: 520px; }
.ac-list { padding: 28px 0 100px; }
.ac-list .filters { margin-top: 0; }
.academy .card { box-shadow: 0 1px 0 rgba(20, 36, 75, .04); }
.academy .card .top { background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 22px 22px; }
.ac-how { background: rgba(255, 255, 255, .86); border-block: 1px solid var(--line); }
.ac-instructor { padding: 96px 0 40px; }
.ac-instructor .inst { max-width: 820px; grid-template-columns: 150px 1fr; padding: 26px; border-radius: 26px; margin-top: 18px; }
.ac-instructor .inst img { width: 150px; height: 150px; }
.ac-more { display: inline-flex; gap: 8px; align-items: center; margin-top: 18px; font-weight: 500; color: var(--brand); }
.ac-more .ico { width: 18px; height: 18px; }
.ac-qa { padding: 40px 0 30px; }
.ac-qa .qa-col { max-width: 820px; background: #fff; border: 1px solid var(--line); }
.ac-verify { padding: 60px 0 110px; }
.ac-vb { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; background: var(--brand); color: #fff; border-radius: 26px; padding: 30px 34px;
  background-image: linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px); background-size: 28px 28px; }
.ac-vb .ic { width: 58px; height: 58px; border-radius: 16px; background: rgba(255, 255, 255, .14); display: grid; place-items: center; }
.ac-vb .ic .ico { width: 28px; height: 28px; }
.ac-vb h2 { font: 600 28px/1.15 var(--serif); }
.ac-vb p { margin-top: 6px; color: #DCE4F5; }

/* the clinic previews a draft or archived course */
.preview-bar { margin-top: 22px; padding: 14px 18px; border-radius: 12px; background: var(--warn-bg); color: var(--warn); font-weight: 500; border: 1px solid rgba(169, 103, 11, .25); }

/* Kurdish and Arabic */
[dir="rtl"] .ac-hero h1, [dir="rtl"] .ac-vb h2 { font-family: var(--kufi); letter-spacing: 0; line-height: 1.3; }
[dir="rtl"] .ac-hero h1 { font-size: clamp(34px, 4.2vw, 56px); max-width: 18ch; }
[dir="rtl"] .ac-hero .eyebrow { letter-spacing: 0; }

@media (max-width: 960px) {
  .ac-hero { padding: 56px 0 72px; }
  .ac-hero .wrap { grid-template-columns: 1fr; gap: 44px; }
  .ac-hero-side { max-width: 460px; }
  .ac-upcoming .head { flex-direction: column; align-items: start; }
  .ac-vb { grid-template-columns: 1fr; text-align: start; }
  .ac-instructor .inst { grid-template-columns: 90px 1fr; }
  .ac-instructor .inst img { width: 90px; height: 90px; }
}
@media (max-width: 560px) {
  .ac-tracks { grid-template-columns: 1fr 1fr; gap: 10px 14px; font-size: 14px; }
  .ac-notebook { transform: none; }
  [dir="rtl"] .ac-notebook { transform: none; }
  .ac-upcoming, .ac-instructor { padding-top: 64px; }
  .ac-verify { padding-bottom: 72px; }
}

/* four ways to learn: long-term, short-term, seminar, workshop */
.ac-ways-sec { padding: 100px 0 10px; }
.ac-ways-sec .h2 { margin-top: 14px; }
.ac-ways { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 36px; }
.ac-way { position: relative; display: flex; flex-direction: column; min-height: 320px; padding: 24px 24px 22px; border-radius: 24px; color: #fff; overflow: hidden;
  background-image: linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px); background-size: 24px 24px; }
.ac-way.t-long { background-color: var(--navy); }
.ac-way.t-short { background-color: var(--brand); }
.ac-way.t-seminar { background-color: #3B3486; }
.ac-way.t-workshop { background-color: #0F6E7A; }
.ac-way-n { position: absolute; top: 14px; inset-inline-end: 20px; font: 300 64px/1 var(--serif); color: rgba(255, 255, 255, .16); }
.ac-way-ic { width: 54px; height: 54px; border-radius: 16px; background: rgba(255, 255, 255, .14); display: grid; place-items: center; }
.ac-way-ic .ico { width: 28px; height: 28px; }
.ac-way h3 { margin-top: 64px; font: 600 25px/1.15 var(--serif); font-variation-settings: "opsz" 72; }
.ac-way p { margin: 10px 0 22px; font-size: 14.5px; line-height: 1.55; color: rgba(255, 255, 255, .8); }
.ac-way-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .16); }
.ac-way-count { font-size: 13px; font-weight: 500; color: rgba(255, 255, 255, .7); }
.ac-way-count.on { color: #fff; }
.ac-way-count.on::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #7CE0A8; margin-inline-end: 8px; box-shadow: 0 0 0 4px rgba(124, 224, 168, .2); }
.ac-way-foot .ico { width: 20px; height: 20px; transition: transform .3s; }
.ac-way:hover .ac-way-foot .ico { transform: translateX(4px); }
[dir="rtl"] .ac-way:hover .ac-way-foot .ico { transform: translateX(-4px) scaleX(-1); }
[dir="rtl"] .ac-way h3 { font-family: var(--kufi); font-size: 21px; line-height: 1.4; }
[dir="rtl"] .ac-way-n { font-family: var(--kufi); font-weight: 300; }
@media (max-width: 1080px) { .ac-ways { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ac-ways { grid-template-columns: 1fr; } .ac-way { min-height: 0; } .ac-ways-sec { padding-top: 64px; } }
