/* Prep Medica – Home page (converted from Figma "dev-pages-design", frame "Home page" 1920px) */
:root {
  --primary: #4b2696;
  --primary-dark: #5a189a;
  --lime: #c0d72f;
  --lavender: #ece7ff;
  --ink: #0f172a;
  --ink-2: #0d0d1a;
  --muted: #6b6b8a;
  --slate: #64748b;
  --border: #ece7ff;
  --shadow-purple: 0 50px 50px -25px rgba(110, 56, 247, 0.08);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: "Manrope", system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  min-width: 1920px;
  overflow-x: hidden;
}
img { display: block; max-width: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; border: 0; background: none; cursor: pointer; color: inherit; }
ul { list-style: none; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; border-radius: 8px; font-weight: 600; white-space: nowrap; }
.btn--primary { background: var(--primary); color: #fff; }
.section-title { font-weight: 700; font-size: 44px; letter-spacing: -1.2px; color: var(--ink-2); text-align: center; }

/* ---------- Header ---------- */
.header { position: relative; z-index: 5; height: 93px; background: #fff; }
.header__logo { position: absolute; left: 151px; top: 28px; width: 48.355px; height: 52px; }
.header__brand { position: absolute; left: 208px; top: 33px; font-weight: 700; font-size: 20px; line-height: 27px; letter-spacing: -0.45px; color: var(--primary-dark); }
.header__programs { position: absolute; left: 386px; top: 24px; width: 130px; height: 44px; padding: 8px 16px; gap: 8px; background: #f9f9ff; border-radius: 5px; color: #4b2696; font-weight: 700; font-size: 16px; line-height: 20px; display: flex; align-items: center; justify-content: center; }
.header__programs img { width: 20px; height: 20px; }
.header__search { position: absolute; left: 1145px; top: 24px; width: 345px; height: 44px; background: #f9f9ff; border-radius: 5px; }
.header__search img { position: absolute; left: 18.5px; top: 10px; width: 24px; height: 24px; }
.header__search span { position: absolute; left: 50.5px; top: 14px; font-weight: 600; font-size: 20px; line-height: 16px; color: #4c4b4c; }
.header__login, .header__signup { position: absolute; top: 24px; width: 120px; height: 44px; border-radius: 8px; font-weight: 600; font-size: 20px; line-height: 16px; display: flex; align-items: center; justify-content: center; }
.header__login { left: 1510px; border: 2px solid var(--primary); color: var(--primary); }
.header__signup { left: 1650px; background: var(--primary); border: 1px solid var(--primary); color: #fff; }

/* ---------- Footer ---------- */
.footer { position: relative; width: 1920px; height: 739px; background: #fff; }
.footer__in { position: absolute; left: 176px; bottom: 0.4px; width: 1568px; height: 764.6px; }
.footer__grid { position: absolute; left: 25.9px; right: 25.9px; top: 0; height: 693px; }
.brand { position: absolute; left: 0; top: 60.5px; width: 269px; }
.brand__logo { display: flex; align-items: center; gap: 10.8px; }
.brand__logo img { width: 35px; height: 37.6px; }
.brand__logo b { font-weight: 800; font-size: 22.46px; line-height: 35.9px; letter-spacing: -0.45px; color: var(--primary-dark); white-space: nowrap; }
.brand > p { margin-top: 16.4px; font-size: 16.4px; line-height: 26.3px; color: #475569; }
.contact { position: absolute; left: 0; top: 189px; width: 259.4px; padding-top: 26.3px; }
.contact small { display: block; font-weight: 600; font-size: 15.8px; line-height: 21px; color: var(--primary); }
.contact a { display: block; padding-top: 2.6px; height: 28.9px; font-size: 18.4px; line-height: 26.3px; color: #475569; white-space: nowrap; }
.contact__row { display: flex; align-items: center; gap: 13.1px; height: 57.8px; padding-top: 15.8px; }
.contact__row span { font-size: 26.3px; line-height: 26.3px; color: var(--ink); }
.contact__row b { display: block; font-weight: 500; font-size: 15.8px; line-height: 21px; color: var(--ink); }
.contact__row small { color: #64748b; font-weight: 400; }
.fnav { position: absolute; top: 60.5px; display: flex; flex-direction: column; gap: 19.4px; }
.fnav h4 { padding-bottom: 11.9px; border-bottom: 1.08px solid rgba(0, 0, 0, 0.14); font-weight: 700; font-size: 14.04px; line-height: 20.7px; letter-spacing: 2.07px; text-transform: uppercase; color: var(--primary); white-space: nowrap; }
.fnav ul { display: flex; flex-direction: column; gap: 10.8px; }
.fnav li { padding: 0.54px 0 1.18px; font-size: 16.79px; line-height: 26.8px; color: #000; }
.fnav--mcat { left: 593.9px; width: 220.6px; }
.fnav--usmle { left: 847.7px; width: 197px; }
.fnav--board { left: 1078.8px; width: 217.6px; }
.fnav--about { left: 1317.5px; width: 191.4px; }
.fnav--board li { display: flex; flex-wrap: wrap; gap: 0 4.3px; align-items: baseline; }
.fnav--board li sup { font-size: 12.6px; line-height: 20.2px; opacity: 0.85; vertical-align: baseline; }
.fnav .semi { font-weight: 600; }
.footer__bar { position: absolute; left: 25.9px; right: 25.9px; top: 693px; height: 71.9px; border-top: 1.08px solid rgba(246, 249, 249, 0.14); }
.footer__copy { position: absolute; left: 0; top: 24.5px; font-size: 11.88px; line-height: 19px; letter-spacing: 1.19px; text-transform: uppercase; color: #93a7ba; white-space: nowrap; }
.footer__legal { position: absolute; left: 1268.7px; top: 24.5px; display: flex; gap: 19.4px; }
.footer__legal a { font-size: 12.83px; line-height: 20.5px; letter-spacing: 1.19px; text-transform: uppercase; color: #93a7ba; }

