@font-face {
  font-family: Estedad;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/estedad-arabic-variable.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: Estedad;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/estedad-latin-variable.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Shared navy and yellow academy identity. Functional page layouts stay intact. */
:root:has(body.premium-site.reference-site),
html body.premium-site.reference-site {
  color-scheme: light;
  --paper: #f7f7fa;
  --surface: #ffffff;
  --ink: #191b31;
  --body: #30334d;
  --muted: #4b4e6c;
  --line: #e2e3ea;
  --control-line: #8b8fa7;
  --teal: #171943;
  --teal-dark: #2b3061;
  --sage: #eef0f6;
  --lime: #ffda3e;
  --coral: #171943;
  --coral-soft: #eef0f6;
  --gold: #ffda3e;
  --iris: #aeb4cc;
  --accent: #ffda3e;
  --accent-hover: #ffe36c;
  --accent-ink: #171943;
  --on-accent: #ffffff;
  --navy: #171943;
  --radius: 20px;
  --radius-card: 20px;
  --shadow: 0 10px 30px rgb(23 25 67 / 5%);
  --font: Estedad, IRANSansX, Tahoma, sans-serif;
  --success-text: #165934;
  --success-surface: #edf8f0;
  --warning-text: #744204;
  --warning-surface: #fff5df;
  --error-text: #8b2536;
  --error-surface: #fff0f2;
}
/* The reference opens in its light appearance, including on dark OS settings. */
:root[data-theme="dark"]:has(body.premium-site.reference-site),
html[data-theme="dark"] body.premium-site.reference-site {
  color-scheme: dark;
  --paper: #141735;
  --surface: #20264c;
  --ink: #ffffff;
  --body: #e5e8f5;
  --muted: #c1c7e1;
  --line: #424d78;
  --control-line: #91a0cc;
  --teal: #ffda3e;
  --teal-dark: #ffe879;
  --sage: #262d55;
  --coral: #ffda3e;
  --coral-soft: #262d55;
  --iris: #91a0cc;
  --on-accent: #171943;
  --success-text: #b5f0c9;
  --success-surface: #163a2a;
  --warning-text: #ffe0a1;
  --warning-surface: #3d331b;
  --error-text: #ffd7d9;
  --error-surface: #482126;
  --shadow: 0 10px 30px rgb(0 0 0 / 12%);
}
html:has(body.reference-site) { scroll-padding-top: 96px; }
body.premium-site.reference-site {
  background: var(--paper);
  color: var(--body);
  font-family: var(--font);
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
}
body.premium-site.reference-site ::selection { background: var(--accent); color: var(--accent-ink); }
body.premium-site.reference-site .container { width: min(1280px, calc(100% - 80px)); }
body.premium-site.reference-site :is(h1, h2, h3, h4) { color: var(--ink); font-weight: 800; letter-spacing: 0; }
body.premium-site.reference-site :is(button, input, select, textarea) { font-family: var(--font); }
body.premium-site.reference-site :is(a, button, summary, input, select, textarea, audio):focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 4px;
}
body.premium-site.reference-site :is(.button, .learning-card-cta) {
  border-radius: 12px;
  min-height: 48px;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
  box-shadow: none;
}
body.premium-site.reference-site :is(.button-primary, .button-lime, .learning-enrollment .learning-enrollment-cta,
  .account-continue .continue-button, .auth-submit[aria-busy="true"]) {
  background: var(--accent);
  color: var(--accent-ink);
  border-color: var(--accent);
}
body.premium-site.reference-site :is(.button-primary, .button-lime, .learning-enrollment .learning-enrollment-cta,
  .account-continue .continue-button, .auth-submit[aria-busy="true"]):hover {
  background: var(--accent-hover);
  color: var(--accent-ink);
  border-color: var(--accent-hover);
  box-shadow: none;
}
body.premium-site.reference-site :is(.button-outline, .button-secondary, .button-ghost, .learning-card-cta) {
  background: var(--surface);
  color: var(--teal);
  border-color: var(--control-line);
}
body.premium-site.reference-site :is(.button-outline, .button-secondary, .button-ghost, .learning-card-cta):hover {
  background: var(--sage);
  color: var(--ink);
  border-color: var(--teal);
}
body.premium-site.reference-site :is(.text-link, .editorial-inline-link) { color: var(--teal); font-weight: 700; }
body.premium-site.reference-site .icon-button { border-radius: 10px; }
body.premium-site.reference-site :is(.learning-filters a, .editorial-filters a, .folder-nav a) { border-radius: 10px; }

/* Familiar, compact navigation with one clear course action. */
body.premium-site.reference-site .site-header { background: var(--surface); border-bottom: 1px solid var(--line); color: var(--ink); }
body.premium-site.reference-site .header-inner { min-height: 76px; gap: 22px; }
body.premium-site.reference-site .brand { gap: 10px; color: var(--ink); }
body.premium-site.reference-site .brand-logo { width: 39px; height: auto; opacity: 1; filter: none; color: var(--teal); }
body.premium-site.reference-site .brand strong { font-size: 19px; font-weight: 800; color: var(--ink); line-height: 1.7; }
body.premium-site.reference-site .brand small { color: var(--muted); font-size: 10px; font-weight: 500; }
body.premium-site.reference-site .desktop-nav { display: flex; align-items: center; align-self: stretch; gap: 25px; }
body.premium-site.reference-site .desktop-nav a { color: var(--ink); font-size: 15px; font-weight: 500; padding-block: 22px; }
body.premium-site.reference-site .desktop-nav a:hover,
body.premium-site.reference-site .desktop-nav a[aria-current] { color: var(--teal); font-weight: 700; }
body.premium-site.reference-site .desktop-nav a::after { inset: auto 0 13px; height: 2px; background: var(--teal); }
body.premium-site.reference-site .header-actions { gap: 15px; }
body.premium-site.reference-site .header-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  gap: 7px;
  color: var(--ink);
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
body.premium-site.reference-site .header-login svg { width: 20px; height: 20px; }
body.premium-site.reference-site .header-actions > .header-course-cta { min-height: 44px; border-radius: 10px; padding: 10px 17px; font-size: 14px; white-space: nowrap; }
body.premium-site.reference-site .header-search {
  display: inline-flex;
  width: 44px;
  min-width: 44px;
  height: 44px;
  color: var(--ink);
  background: transparent;
  border: 0;
}
body.premium-site.reference-site .header-search:hover { background: var(--sage); }
body.premium-site.reference-site .menu-toggle { display: none; width: 44px; min-width: 44px; min-height: 44px; border: 1px solid var(--line); color: var(--ink); }
body.premium-site.reference-site .mobile-menu { background: var(--surface); border-color: var(--line); }
body.premium-site.reference-site .mobile-menu a { color: var(--ink); font-size: 15px; }
body.premium-site.reference-site .mobile-menu a:hover,
body.premium-site.reference-site .mobile-menu a[aria-current] { background: var(--sage); color: var(--teal); }
body.premium-site.reference-site .mobile-menu[hidden] { display: none !important; }
body.premium-site.reference-site.reference-home .site-header { background: var(--navy); border-color: transparent; color: #ffffff; }
body.premium-site.reference-site.reference-home .site-header :is(.brand, .brand strong, .desktop-nav a, .header-login, .header-search) { color: #ffffff; }
body.premium-site.reference-site.reference-home .site-header .brand-logo { color: var(--accent); }
body.premium-site.reference-site.reference-home .site-header .brand small { color: #d9dcec; }
body.premium-site.reference-site.reference-home .desktop-nav a:hover,
body.premium-site.reference-site.reference-home .desktop-nav a[aria-current] { color: var(--accent); }
body.premium-site.reference-site.reference-home .desktop-nav a::after { background: var(--accent); }
body.premium-site.reference-site.reference-home .menu-toggle { color: #ffffff; border-color: #ffffff40; }
body.premium-site.reference-site.reference-home .menu-toggle:hover { background: #ffffff12; }
body.premium-site.reference-site.reference-home .header-search:hover { background: #ffffff12; }
body.premium-site.reference-site.reference-home .mobile-menu { background: var(--navy); border-color: #ffffff25; }
body.premium-site.reference-site.reference-home .mobile-menu a { color: #ffffff; }
body.premium-site.reference-site.reference-home .mobile-menu a:hover,
body.premium-site.reference-site.reference-home .mobile-menu a[aria-current] { background: #ffffff12; color: var(--accent); }
body.premium-site.reference-site.reference-home .site-header :is(a, button):focus-visible { outline-color: var(--accent); }
body.premium-site.reference-site.reference-home .site-header.is-scrolled {
  background: #ffffff;
  color: #171943;
  border-color: #e2e3ea;
  box-shadow: 0 4px 22px rgb(23 25 67 / 6%);
}
body.premium-site.reference-site.reference-home .site-header.is-scrolled :is(.brand, .brand strong, .brand-logo, .desktop-nav a, .header-login, .header-search) { color: #171943; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .brand small { color: #4b4e6c; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .menu-toggle { color: #171943; border-color: #e2e3ea; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .menu-toggle:hover { background: #eef0f6; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .header-search:hover { background: #eef0f6; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .mobile-menu { background: #ffffff; border-color: #e2e3ea; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .mobile-menu a { color: #171943; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled .mobile-menu a:hover,
body.premium-site.reference-site.reference-home .site-header.is-scrolled .mobile-menu a[aria-current] { background: #eef0f6; color: #171943; }
body.premium-site.reference-site.reference-home .site-header.is-scrolled :is(a, button):focus-visible { outline-color: #171943; }

/* Course and editorial content use quiet white surfaces. */
body.premium-site.reference-site .course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
body.premium-site.reference-site .account-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.premium-site.reference-site :is(.learning-card, .account-learning-card) { border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }
body.premium-site.reference-site :is(.learning-card, .account-learning-card):hover { border-color: var(--iris); box-shadow: 0 13px 32px rgb(23 25 67 / 8%); }
body.premium-site.reference-site .learning-card .learning-card-image { padding: 10px 10px 0; }
body.premium-site.reference-site .learning-card .learning-card-image img { border-radius: 13px; background: var(--sage); }
body.premium-site.reference-site .learning-card .learning-card-body { padding: 22px; }
body.premium-site.reference-site .learning-card h3 { font-size: 21px; font-weight: 800; }
body.premium-site.reference-site .learning-card .learning-card-price strong { font-size: 22px; color: var(--ink); font-weight: 800; }
body.premium-site.reference-site .learning-card-cta { min-width: 88px; min-height: 44px; padding: 8px 12px; font-size: 14px; }
body.premium-site.reference-site .learning-card-badge { border-radius: 8px; color: var(--teal); background: var(--sage); }
body.premium-site.reference-site .learning-card-badge-owned { background: var(--teal); color: var(--on-accent); }
body.premium-site.reference-site :is(.learning-start-card, .listening-feature, .listening-quiet-art) { border-radius: 20px; background: var(--surface); border-color: var(--line); box-shadow: var(--shadow); }
body.premium-site.reference-site :is(.journal-card .journal-card-image, .article-cover, .media-cover) { border-radius: 16px; }
body.premium-site.reference-site .learning-search { border-radius: 14px; }
body.premium-site.reference-site :is(.learning-enrollment, .panel, .auth-card, .landing-card, .account-navigation) { border-radius: 20px; }
body.premium-site.reference-site :is(input:not([type="hidden"]), select, textarea) { border-radius: 10px; background: var(--surface); color: var(--ink); border-color: var(--control-line); }
body.premium-site.reference-site :is(input, select, textarea):focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(23 25 67 / 9%); }
body.premium-site.reference-site :is(input, textarea)::placeholder { color: var(--muted); }
body.premium-site.reference-site .learning-search input { border: 0; background: transparent; border-radius: 0; }
body.premium-site.reference-site .learning-search input:focus { box-shadow: none; }
body.premium-site.reference-site .course-player__stage { background: var(--navy); }
body.premium-site.reference-site .course-player__stage video { background: #0c1028; }
body.premium-site.reference-site .course-player__audio-art { color: #ffffff; }
body.premium-site.reference-site .course-player__audio-art > p { color: #d9dcec; }
body.premium-site.reference-site :is(.course-player__audio-icon, .course-player__sound-bars) { color: var(--accent); }
body.premium-site.reference-site .course-player__audio-icon,
body.premium-site.reference-site .course-player__audio-art::before,
body.premium-site.reference-site .course-player__audio-art::after { border-color: #ffda3e40; }
body.premium-site.reference-site .course-player__play { background: var(--accent); color: var(--accent-ink); }
body.premium-site.reference-site .course-player__play:hover { background: var(--accent-hover); color: var(--accent-ink); }

/* The footer and the mobile shortcuts keep a stable, readable identity. */
body.premium-site.reference-site .site-footer {
  --paper: #171943;
  --surface: #20254f;
  --ink: #ffffff;
  --body: #dbdef0;
  --muted: #c1c6df;
  --teal: #ffda3e;
  --line: #3a416b;
  --sage: #262c54;
  --on-accent: #171943;
  background: #171943;
  color: var(--body);
  border: 0;
}
body.premium-site.reference-site .footer-manifesto { padding-block: 38px; margin-bottom: 35px; }
body.premium-site.reference-site .footer-manifesto > span { color: #ffffff; font-size: clamp(25px, 2.7vw, 37px); font-weight: 800; }
body.premium-site.reference-site .footer-manifesto .icon-button { border-color: var(--line); color: var(--accent); }
body.premium-site.reference-site .footer-main { gap: 38px; padding-bottom: 35px; }
body.premium-site.reference-site .footer-brand { color: #ffffff; font-weight: 800; }
body.premium-site.reference-site .footer-main h2 { color: #ffffff; font-size: 16px; font-weight: 700; }
body.premium-site.reference-site .footer-main > div > a:not(.footer-brand) { color: var(--body); font-size: 14px; }
body.premium-site.reference-site .footer-main > div > a:hover { color: var(--accent); }
body.premium-site.reference-site .footer-note .eyebrow { color: var(--accent); }
body.premium-site.reference-site .footer-explore > span { color: #ffffff; }
body.premium-site.reference-site .footer-explore > a { color: var(--body); }
body.premium-site.reference-site .footer-explore > a:hover { color: var(--accent); }
body.premium-site.reference-site .footer-bottom { color: var(--muted); font-size: 13px; }
body.premium-site.reference-site .site-footer :is(a, button):focus-visible { outline-color: var(--accent); }
body.premium-site.reference-site .bottom-nav { background: #ffffff; border-color: #e2e3ea; box-shadow: 0 -5px 24px rgb(23 25 67 / 5%); }
body.premium-site.reference-site .bottom-nav a { color: #4b4e6c; }
body.premium-site.reference-site .bottom-nav a[aria-current] { background: #fff5c5; color: #171943; border-radius: 10px; }
body.premium-site.reference-site .bottom-nav a:focus-visible { outline-color: #171943; }

@media (max-width: 1250px) {
  body.premium-site.reference-site .header-inner { gap: 17px; }
  body.premium-site.reference-site .desktop-nav { gap: 18px; }
  body.premium-site.reference-site .desktop-nav a { font-size: 14px; }
  body.premium-site.reference-site .brand strong { font-size: 17px; }
  body.premium-site.reference-site .brand-logo { width: 33px; }
  body.premium-site.reference-site .header-actions { gap: 10px; }
  body.premium-site.reference-site .header-actions > .header-course-cta { padding-inline: 13px; font-size: 13px; }
}
@media (max-width: 1180px) {
  body.premium-site.reference-site .desktop-nav { display: none; }
  body.premium-site.reference-site .menu-toggle { display: inline-flex; }
  body.premium-site.reference-site .mobile-menu:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 16px 40px 24px; border-top: 1px solid var(--line); }
  body.premium-site.reference-site .header-actions { margin-inline-start: auto; }
}
@media (max-width: 1100px) {
  body.premium-site.reference-site .footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
}
@media (max-width: 850px) {
  body.premium-site.reference-site .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 767px) {
  body.premium-site.reference-site .container { width: calc(100% - 40px); }
  body.premium-site.reference-site .header-inner { min-height: 72px; gap: 12px; }
  body.premium-site.reference-site .brand strong { font-size: 16px; }
  body.premium-site.reference-site .brand small { font-size: 9px; }
  body.premium-site.reference-site .brand-logo { width: 32px; }
  body.premium-site.reference-site .header-login { font-size: 13px; }
  body.premium-site.reference-site .header-actions { gap: 10px; }
  body.premium-site.reference-site .mobile-menu:not([hidden]) { padding-inline: 20px; }
  body.premium-site.reference-site .footer-main { grid-template-columns: 1fr 1fr; gap: 28px; }
  body.premium-site.reference-site .footer-intro { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body.premium-site.reference-site .header-actions > .header-course-cta { display: none; }
  body.premium-site.reference-site .header-login { display: none; }
  body.premium-site.reference-site .site-header .menu-toggle { border: 0; }
  body.premium-site.reference-site .course-grid { grid-template-columns: 1fr; }
  body.premium-site.reference-site .account-course-grid { grid-template-columns: 1fr; }
  body.premium-site.reference-site .learning-card .learning-card-body { padding: 21px; }
  body.premium-site.reference-site .footer-manifesto { padding-block: 28px; gap: 18px; }
  body.premium-site.reference-site .footer-manifesto > span { font-size: 25px; }
  body.premium-site.reference-site .footer-bottom { font-size: 12px; }
}
@media (max-width: 420px) {
  body.premium-site.reference-site .container { width: calc(100% - 32px); }
  body.premium-site.reference-site .header-inner { gap: 8px; }
  body.premium-site.reference-site .brand { gap: 7px; }
  body.premium-site.reference-site .brand strong { font-size: 15px; }
  body.premium-site.reference-site .brand-logo { width: 29px; }
  body.premium-site.reference-site .header-actions { gap: 8px; }
  body.premium-site.reference-site .header-login { font-size: 12px; gap: 5px; }
  body.premium-site.reference-site .mobile-menu:not([hidden]) { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.reference-site) { scroll-behavior: auto; }
  body.premium-site.reference-site *, body.premium-site.reference-site *::before,
  body.premium-site.reference-site *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
