@import url("students.css");
@import url("businesses.css");
@import url("programs.css");
@import url("jobs.css");

:root {
  --bg: #080808;
  --bg-mid: #0f0f0f;
  --bg-alt: var(--bg-mid);
  --bg-2: var(--bg-mid);
  --card: #151515;
  --panel: var(--card);
  --panel-soft: #171717;
  --card-featured: #1b1800;
  --line: #282828;
  --line-strong: #303030;
  --text: #f7f7f5;
  --muted: #b3b3b3;
  --muted-2: #8e8e8e;
  --yellow: #ffd326;
  --yellow-deep: #d9b600;
  --yellow-dark: #2a250d;
  --yellow-dark-2: #211d0c;
  --max: 1200px;
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.container {
  width: min(calc(100% - 48px), var(--max));
  margin-inline: auto;
}
.narrow {
  width: min(calc(100% - 48px), 780px);
  margin-inline: auto;
}
.content-center { text-align: center; }

.privacy-page {
  background: var(--bg-mid);
  border-bottom: 1px solid #222;
}

.privacy-hero {
  width: min(calc(100% - 48px), 780px);
  margin-inline: auto;
  padding: 104px 0 68px;
  text-align: center;
}
.privacy-hero h1 {
  margin: 0;
  font-size: clamp(42px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 850;
}
.privacy-hero > p:last-child {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

.privacy-document {
  width: min(calc(100% - 48px), 1000px);
  margin-inline: auto;
  padding-bottom: 112px;
}
.privacy-document__frame {
  height: min(900px, 78vh);
  overflow: hidden;
  border: 1px solid #303030;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}
.privacy-document iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.privacy-footer { background: var(--bg); }

.section-dark { background: var(--bg); }
.section-mid { background: var(--bg-mid); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(8, 8, 8, 0.92);
  border-bottom: 1px solid #202020;
  backdrop-filter: blur(14px);
}
.nav-shell {
  width: min(calc(100% - 48px), 1960px);
  margin-inline: auto;
  min-height: 84px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}

.brand {
  position: relative;
  width: fit-content;
  color: var(--yellow);
  font-weight: 800;
  letter-spacing: .04em;
}
.brand__bubble {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 34px;
  padding: 0 10px;
  border: 2px solid var(--yellow);
  border-radius: 999px;
  font-size: 18px;
  line-height: 1;
}
.brand__tag {
  position: absolute;
  right: -15px;
  top: -11px;
  padding: 4px 8px;
  background: var(--yellow);
  color: #0b0b0b;
  border-radius: 10px 10px 10px 0;
  font-size: 7px;
  line-height: 1;
  letter-spacing: 0;
}

.nav {
  display: flex;
  align-items: center;
  gap: 38px;
  color: #aaa;
  font-size: 14px;
  font-weight: 600;
}
.nav a { transition: color .2s ease; }
.nav a:hover, .nav a:focus-visible { color: #fff; }
.nav-cta { justify-self: end; }
.nav-toggle { display: none; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--yellow);
  color: #111;
  font-weight: 800;
  font-size: 15px;
  transition: transform .2s ease, filter .2s ease;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); filter: brightness(1.04); }
.button--small { min-height: 42px; padding-inline: 24px; font-size: 14px; }

.hero {
  position: relative;
  min-height: 825px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid #1d1d1d;
  isolation: isolate;
}

.hero__mesh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: block;
  pointer-events: none;
  opacity: 1;
}

.hero__fade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(8,8,8,.98) 0%,
      rgba(8,8,8,.82) 22%,
      rgba(8,8,8,.38) 39%,
      rgba(8,8,8,.04) 55%,
      transparent 66%
    );
}

.hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-18px);
}
.hero h1 {
  margin: 0 0 54px;
  max-width: 760px;
  text-align: center;
  font-size: clamp(44px, 4.5vw, 68px);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 850;
}

.hero-logo {
  position: relative;
  width: min(540px, 70vw);
  height: 300px;
}
.hero-logo__body {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 84%;
  height: 72%;
  display: grid;
  place-items: center;
  border: 14px solid var(--yellow);
  border-radius: 120px;
  background: #202020;
  color: var(--yellow);
  font-size: clamp(78px, 8vw, 126px);
  line-height: 1;
  letter-spacing: .045em;
  font-weight: 500;
}
.hero-logo__tag {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  width: 48%;
  height: 42%;
  display: grid;
  place-items: center;
  background: var(--yellow);
  color: #1a1a1a;
  border-radius: 75px 75px 75px 0;
  font-size: clamp(32px, 3vw, 44px);
  font-weight: 900;
  letter-spacing: -.04em;
}
.hero-logo__tag::after {
  content: "";
  position: absolute;
  width: 63%;
  height: 2px;
  background: #474100;
  bottom: 36px;
}

.eyebrow {
  margin: 0 0 24px;
  color: var(--yellow);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .03em;
}

h2 {
  margin: 0;
  font-size: clamp(34px, 3.3vw, 48px);
  line-height: 1.04;
  letter-spacing: -.045em;
  font-weight: 850;
}

.vision {
  min-height: 660px;
  display: grid;
  place-items: center;
  border-bottom: 1px solid #222;
  padding: 96px 0;
}
.vision__copy {
  margin-top: 36px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
}
.vision__copy p { margin: 0; }
.vision__copy p + p { margin-top: 29px; }
.vision__copy strong { font-weight: 500; }

.roles {
  min-height: 760px;
  border-bottom: 1px solid #222;
  padding: 110px 0 130px;
}
.roles__heading { margin-bottom: 66px; }
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.info-card {
  min-height: 300px;
  padding: 32px 32px 36px;
  background: var(--card);
  border: 1px solid #303030;
  border-radius: var(--radius);
}
.icon-box {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 12px;
  background: #35300d;
  color: var(--yellow);
}
.icon-box svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.info-card h3,
.price-card h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -.03em;
  font-weight: 820;
}
.info-card p {
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.52;
}

.programs {
  min-height: 900px;
  border-bottom: 1px solid #222;
  padding: 100px 0 106px;
}
.programs__heading { margin-bottom: 54px; }
.lead {
  max-width: 770px;
  margin: 26px auto 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.price-card {
  min-height: 275px;
  display: flex;
  flex-direction: column;
  padding: 31px 30px 28px;
  background: var(--card);
  border: 1px solid #313131;
  border-radius: var(--radius);
}
.price-card--featured {
  background: var(--card-featured);
  border-color: var(--yellow-deep);
  box-shadow: inset 0 0 0 1px rgba(255, 211, 38, .08);
}
.price-card__eyebrow { margin-bottom: 18px; }
.price-card__desc {
  min-height: 56px;
  margin: 20px 0 24px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}
.price-row {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #2d2d2d;
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.price-card--featured .price-row { border-top-color: #383209; }
.price-row > div { display: flex; flex-direction: column; gap: 2px; }
.price-row__right { text-align: right; }
.price-label { color: var(--muted-2); font-size: 11px; }
.price-row strong { font-size: 17px; }
.program-link-wrap { display: grid; place-items: center; margin-top: 46px; }
.round-link {
  width: 120px;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid #474747;
  border-radius: 999px;
  background: #191919;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.1;
  transition: border-color .2s ease, transform .2s ease;
}
.round-link:hover, .round-link:focus-visible { border-color: var(--yellow); transform: translateY(-2px); }
.round-link span { font-size: 18px; }

.closing {
  min-height: 760px;
  padding-top: 92px;
}
.closing__top { padding-bottom: 105px; }
.closing .button { margin-top: 28px; }
.footer {
  border-top: 1px solid #202020;
  padding-top: 64px;
}
.footer__main {
  min-height: 170px;
  display: flex;
  justify-content: space-between;
  gap: 48px;
}
.footer-brand {
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -.02em;
}
.footer__main p {
  margin: 12px 0 0;
  color: var(--muted-2);
  font-size: 14px;
}
.footer__links {
  min-width: 320px;
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: 55px;
}
.footer__links h3 {
  margin: 0 0 12px;
  font-size: 13px;
}
.footer__links a {
  display: block;
  margin-top: 12px;
  color: var(--muted-2);
  font-size: 14px;
}
.footer__links a:hover { color: var(--text); }
.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  border-top: 1px solid #202020;
  padding: 24px 0 34px;
  color: #666;
  font-size: 13px;
}
.footer__bottom nav {
  display: flex;
  gap: 20px;
}
.footer__bottom a:hover,
.footer__bottom a:focus-visible { color: var(--text); }

@media (max-width: 960px) {
  .nav-shell { grid-template-columns: auto 1fr auto; }
  .nav { gap: 22px; }
  .card-grid, .pricing-grid { grid-template-columns: 1fr; max-width: 720px; margin-inline: auto; }
  .info-card, .price-card { min-height: auto; }
  .hero { min-height: 700px; }
  .roles, .programs { min-height: auto; }
  .hero-logo { width: min(520px, 82vw); }
}

@media (max-width: 720px) {
  .container, .narrow, .nav-shell { width: min(calc(100% - 32px), var(--max)); }
  .site-header { position: sticky; }
  .nav-shell { min-height: 72px; grid-template-columns: auto 1fr auto; }
  .nav-toggle {
    justify-self: end;
    display: inline-flex;
    width: 42px;
    height: 42px;
    padding: 9px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
  }
  .nav-toggle span { width: 100%; height: 2px; background: #eee; border-radius: 2px; }
  .nav {
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px 16px 18px;
    background: #0a0a0a;
    border-bottom: 1px solid #262626;
  }
  .nav.is-open { display: flex; }
  .nav a { padding: 14px 8px; }
  .nav-cta { display: none; }
  .brand__bubble { min-width: 66px; height: 32px; font-size: 16px; }

  .hero { min-height: 650px; padding: 70px 0 80px; }
  .hero__content { transform: none; }
  .hero h1 { margin-bottom: 42px; font-size: clamp(38px, 11vw, 56px); }
  .hero-logo { width: min(430px, 88vw); height: 230px; }
  .hero-logo__body { border-width: 10px; font-size: clamp(64px, 20vw, 92px); }
  .hero-logo__tag { font-size: clamp(26px, 8vw, 36px); }
  .hero-logo__tag::after { bottom: 26px; }

  .vision, .roles, .programs, .closing { padding-top: 78px; }
  .vision { min-height: auto; padding-bottom: 82px; }
  .vision__copy { font-size: 16px; }
  .roles { padding-bottom: 92px; }
  .roles__heading { margin-bottom: 42px; }
  .programs { padding-bottom: 84px; }
  .programs__heading { margin-bottom: 42px; }
  .info-card, .price-card { padding: 28px 24px; }
  .price-card__desc { min-height: auto; }
  .closing { min-height: auto; }
  .closing__top { padding-bottom: 78px; }
  .desktop-break { display: none; }

  .footer { padding-top: 44px; }
  .footer__main { flex-direction: column; min-height: 0; padding-bottom: 46px; }
  .footer__links { min-width: 0; width: 100%; gap: 24px; }

  .privacy-hero { width: min(calc(100% - 32px), 780px); padding: 78px 0 48px; }
  .privacy-document { width: min(calc(100% - 32px), 1000px); padding-bottom: 78px; }
  .privacy-document__frame { height: 75vh; border-radius: 16px; }
}

@media (max-width: 430px) {
  .hero { min-height: 590px; }
  .hero-logo { height: 205px; }
  .hero-logo__body { width: 86%; border-radius: 90px; }
  .hero-logo__tag { width: 50%; height: 40%; border-radius: 58px 58px 58px 0; }
  h2 { font-size: 34px; }
  .price-row { flex-direction: column; }
  .price-row__right { text-align: left; }
  .footer__links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
